@ekolabs/eko-gallery-react 4.0.19-devops-1279787.0 → 4.0.19-devops-1329787.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -11,4 +11,4 @@
|
|
|
11
11
|
object-assign
|
|
12
12
|
(c) Sindre Sorhus
|
|
13
13
|
@license MIT
|
|
14
|
-
*/var ut=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},n=0;n<10;n++)e["_"+String.fromCharCode(n)]=n;var i=Object.getOwnPropertyNames(e).map((function(t){return e[t]}));if("0123456789"!==i.join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(t){r[t]=t})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var n,i,r=function(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}(t),o=1;o<arguments.length;o++){for(var s in n=Object(arguments[o]))lt.call(n,s)&&(r[s]=n[s]);if(at){i=at(n);for(var a=0;a<i.length;a++)ct.call(n,i[a])&&(r[i[a]]=n[i[a]])}}return r},dt="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",ht=Function.call.bind(Object.prototype.hasOwnProperty),ft=function(){};if("production"!==process.env.NODE_ENV){var pt=dt,mt={},vt=ht;ft=function(t){var e="Warning: "+t;"undefined"!=typeof console&&console.error(e);try{throw new Error(e)}catch(t){}}}function gt(t,e,n,i,r){if("production"!==process.env.NODE_ENV)for(var o in t)if(vt(t,o)){var s;try{if("function"!=typeof t[o]){var a=Error((i||"React class")+": "+n+" type `"+o+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof t[o]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw a.name="Invariant Violation",a}s=t[o](e,o,i,n,null,pt)}catch(t){s=t}if(!s||s instanceof Error||ft((i||"React class")+": type specification of "+n+" `"+o+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof s+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),s instanceof Error&&!(s.message in mt)){mt[s.message]=!0;var l=r?r():"";ft("Failed "+n+" type: "+s.message+(null!=l?l:""))}}}gt.resetWarningCache=function(){"production"!==process.env.NODE_ENV&&(mt={})};var yt=gt,bt=function(){};function kt(){return null}"production"!==process.env.NODE_ENV&&(bt=function(t){var e="Warning: "+t;"undefined"!=typeof console&&console.error(e);try{throw new Error(e)}catch(t){}});var wt=function(t,e){var n="function"==typeof Symbol&&Symbol.iterator,i="@@iterator";var r="<<anonymous>>",o={array:c("array"),bigint:c("bigint"),bool:c("boolean"),func:c("function"),number:c("number"),object:c("object"),string:c("string"),symbol:c("symbol"),any:l(kt),arrayOf:function(t){return l((function(e,n,i,r,o){if("function"!=typeof t)return new a("Property `"+o+"` of component `"+i+"` has invalid PropType notation inside arrayOf.");var s=e[n];if(!Array.isArray(s))return new a("Invalid "+r+" `"+o+"` of type `"+h(s)+"` supplied to `"+i+"`, expected an array.");for(var l=0;l<s.length;l++){var c=t(s,l,i,r,o+"["+l+"]",dt);if(c instanceof Error)return c}return null}))},element:l((function(e,n,i,r,o){var s=e[n];return t(s)?null:new a("Invalid "+r+" `"+o+"` of type `"+h(s)+"` supplied to `"+i+"`, expected a single ReactElement.")})),elementType:l((function(t,e,n,i,r){var o=t[e];return st.isValidElementType(o)?null:new a("Invalid "+i+" `"+r+"` of type `"+h(o)+"` supplied to `"+n+"`, expected a single ReactElement type.")})),instanceOf:function(t){return l((function(e,n,i,o,s){if(!(e[n]instanceof t)){var l=t.name||r;return new a("Invalid "+o+" `"+s+"` of type `"+(((c=e[n]).constructor&&c.constructor.name?c.constructor.name:r)+"` supplied to `")+i+"`, expected instance of `"+l+"`.")}var c;return null}))},node:l((function(t,e,n,i,r){return d(t[e])?null:new a("Invalid "+i+" `"+r+"` supplied to `"+n+"`, expected a ReactNode.")})),objectOf:function(t){return l((function(e,n,i,r,o){if("function"!=typeof t)return new a("Property `"+o+"` of component `"+i+"` has invalid PropType notation inside objectOf.");var s=e[n],l=h(s);if("object"!==l)return new a("Invalid "+r+" `"+o+"` of type `"+l+"` supplied to `"+i+"`, expected an object.");for(var c in s)if(ht(s,c)){var u=t(s,c,i,r,o+"."+c,dt);if(u instanceof Error)return u}return null}))},oneOf:function(t){if(!Array.isArray(t))return"production"!==process.env.NODE_ENV&&bt(arguments.length>1?"Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).":"Invalid argument supplied to oneOf, expected an array."),kt;return l((function(e,n,i,r,o){for(var l=e[n],c=0;c<t.length;c++)if(s(l,t[c]))return null;var u=JSON.stringify(t,(function(t,e){return"symbol"===f(e)?String(e):e}));return new a("Invalid "+r+" `"+o+"` of value `"+String(l)+"` supplied to `"+i+"`, expected one of "+u+".")}))},oneOfType:function(t){if(!Array.isArray(t))return"production"!==process.env.NODE_ENV&&bt("Invalid argument supplied to oneOfType, expected an instance of array."),kt;for(var e=0;e<t.length;e++){var n=t[e];if("function"!=typeof n)return bt("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+p(n)+" at index "+e+"."),kt}return l((function(e,n,i,r,o){for(var s=[],l=0;l<t.length;l++){var c=(0,t[l])(e,n,i,r,o,dt);if(null==c)return null;c.data&&ht(c.data,"expectedType")&&s.push(c.data.expectedType)}return new a("Invalid "+r+" `"+o+"` supplied to `"+i+"`"+(s.length>0?", expected one of type ["+s.join(", ")+"]":"")+".")}))},shape:function(t){return l((function(e,n,i,r,o){var s=e[n],l=h(s);if("object"!==l)return new a("Invalid "+r+" `"+o+"` of type `"+l+"` supplied to `"+i+"`, expected `object`.");for(var c in t){var d=t[c];if("function"!=typeof d)return u(i,r,o,c,f(d));var p=d(s,c,i,r,o+"."+c,dt);if(p)return p}return null}))},exact:function(t){return l((function(e,n,i,r,o){var s=e[n],l=h(s);if("object"!==l)return new a("Invalid "+r+" `"+o+"` of type `"+l+"` supplied to `"+i+"`, expected `object`.");var c=ut({},e[n],t);for(var d in c){var p=t[d];if(ht(t,d)&&"function"!=typeof p)return u(i,r,o,d,f(p));if(!p)return new a("Invalid "+r+" `"+o+"` key `"+d+"` supplied to `"+i+"`.\nBad object: "+JSON.stringify(e[n],null," ")+"\nValid keys: "+JSON.stringify(Object.keys(t),null," "));var m=p(s,d,i,r,o+"."+d,dt);if(m)return m}return null}))}};function s(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}function a(t,e){this.message=t,this.data=e&&"object"==typeof e?e:{},this.stack=""}function l(t){if("production"!==process.env.NODE_ENV)var n={},i=0;function o(o,s,l,c,u,d,h){if(c=c||r,d=d||l,h!==dt){if(e){var f=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw f.name="Invariant Violation",f}if("production"!==process.env.NODE_ENV&&"undefined"!=typeof console){var p=c+":"+l;!n[p]&&i<3&&(bt("You are manually calling a React.PropTypes validation function for the `"+d+"` prop on `"+c+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),n[p]=!0,i++)}}return null==s[l]?o?null===s[l]?new a("The "+u+" `"+d+"` is marked as required in `"+c+"`, but its value is `null`."):new a("The "+u+" `"+d+"` is marked as required in `"+c+"`, but its value is `undefined`."):null:t(s,l,c,u,d)}var s=o.bind(null,!1);return s.isRequired=o.bind(null,!0),s}function c(t){return l((function(e,n,i,r,o,s){var l=e[n];return h(l)!==t?new a("Invalid "+r+" `"+o+"` of type `"+f(l)+"` supplied to `"+i+"`, expected `"+t+"`.",{expectedType:t}):null}))}function u(t,e,n,i,r){return new a((t||"React class")+": "+e+" type `"+n+"."+i+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+r+"`.")}function d(e){switch(typeof e){case"number":case"string":case"undefined":return!0;case"boolean":return!e;case"object":if(Array.isArray(e))return e.every(d);if(null===e||t(e))return!0;var r=function(t){var e=t&&(n&&t[n]||t[i]);if("function"==typeof e)return e}(e);if(!r)return!1;var o,s=r.call(e);if(r!==e.entries){for(;!(o=s.next()).done;)if(!d(o.value))return!1}else for(;!(o=s.next()).done;){var a=o.value;if(a&&!d(a[1]))return!1}return!0;default:return!1}}function h(t){var e=typeof t;return Array.isArray(t)?"array":t instanceof RegExp?"object":function(t,e){return"symbol"===t||!!e&&("Symbol"===e["@@toStringTag"]||"function"==typeof Symbol&&e instanceof Symbol)}(e,t)?"symbol":e}function f(t){if(null==t)return""+t;var e=h(t);if("object"===e){if(t instanceof Date)return"date";if(t instanceof RegExp)return"regexp"}return e}function p(t){var e=f(t);switch(e){case"array":case"object":return"an "+e;case"boolean":case"date":case"regexp":return"a "+e;default:return e}}return a.prototype=Error.prototype,o.checkPropTypes=yt,o.resetWarningCache=yt.resetWarningCache,o.PropTypes=o,o};function xt(){}function _t(){}_t.resetWarningCache=xt;var It=D((function(t){if("production"!==process.env.NODE_ENV){var e=st;t.exports=wt(e.isElement,!0)}else t.exports=function(){function t(t,e,n,i,r,o){if(o!==dt){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function e(){return t}t.isRequired=t;var n={array:t,bigint:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,elementType:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e,checkPropTypes:_t,resetWarningCache:xt};return n.PropTypes=n,n}()}));const Tt=/https?:\/\/(.*?\.)?eko.com/,Et={"eko.project.interaction":"interaction","eko.project.swipe":"swipe"};let St=null,Mt=null,At=[];function Nt(t){return e=>{var n;if(!Tt.test(e.origin)||"eko.embedapi"!==(null===(n=e.data)||void 0===n?void 0:n.source))return;const i=e.data,r=Et[i.type];r&&(t?t(r,i.data):At.push({type:r,data:i.data}))}}"undefined"!=typeof window&&(Mt=Nt(null),window.addEventListener("message",Mt));var Ct={subscribe:function(t){"function"==typeof t?St?console.warn("[eko-gallery-react] Ignoring events subscribe since already subscribed"):(St=t,Mt=Nt(t),window.addEventListener("message",Mt),function(t){At.forEach((e=>{t(e.type,e.data)})),At=[]}(t)):console.warn("[eko-gallery-react] Ignoring events subscribe since a callback function was not provided as argument")},unsubscribe:function(){Mt?(window.removeEventListener("message",Mt),Mt=null,St=null,At=[]):console.warn("[eko-gallery-react] Ignoring events unsubscribe since not subscribed")},send:function(t,e){St?St(t,e):At.push({type:t,data:e})}};const Ft=({index:t,activeIndex:n,setActiveIndex:i,item:r,src:o,navItemRefs:s,itemIcon:a})=>{var l,c;const u=null==r||null===(l=r.media)||void 0===l?void 0:l.srcset,d=null==r||null===(c=r.media)||void 0===c?void 0:c.sizes,h=!o&&(null==r?void 0:r.label),f=u?o:function(t,e=200){if(!t)return null;try{let n=t;t.includes("assets.eko.com")&&t.includes("/raw/")&&(n=t.replace("/raw/","/image/"));const i=new URL(n);return i.searchParams.set("width",e),i.href}catch(e){return t}}(o,150);let p=["addons-container",h?"full-thumb-label":""].join(" ").trim();return e.createElement("li",{className:"eko-nav-item","aria-current":n===t,onClick:function(){i(t),function(t){S.track("gallery.interaction",{elementid:`thumbnail-${t}`,interactiontype:"click"}),Ct.send("interaction",{elementid:`thumbnail-${t}`,interactiontype:"click"})}(t)},ref:s.current[t]},e.createElement("button",{type:"button","aria-label":`Go to item ${t}`},!h&&e.createElement("img",{src:f,srcSet:u,sizes:d,alt:null==r?void 0:r.name,loading:"eager",fetchPriority:"high"}),e.createElement("div",{className:p},(null==r?void 0:r.stepsIndication)&&e.createElement("div",{className:"step-indicator"},e.createElement("span",null),e.createElement("span",null),e.createElement("span",null)),(null==r?void 0:r.label)&&e.createElement("div",{className:"thumb-label"},null==r?void 0:r.label)),a&&e.createElement("div",{className:"item-icon"},e.createElement("span",{style:{backgroundImage:`url(${a})`}}))))};Ft.propTypes={index:It.number,activeIndex:It.number,setActiveIndex:It.func.isRequired,item:It.object.isRequired,src:It.string,navItemRefs:It.object.isRequired,itemIcon:It.string};const Ot=({layout:t,nav:n,isVerticalNav:i,showPrevArrow:r,showNextArrow:o})=>{var s,a,l,c,u;const d=e.useRef(null),h=e.useRef(null),f="arrows"===(null==t||null===(s=t.mobile)||void 0===s||null===(s=s.config)||void 0===s||null===(s=s.navPagination)||void 0===s?void 0:s.type)?"eko-mobile-arrows":"",p="arrows"===(null!==(a=null==t||null===(l=t.desktop)||void 0===l||null===(l=l.config)||void 0===l||null===(l=l.navPagination)||void 0===l?void 0:l.type)&&void 0!==a?a:"arrows")?"eko-desktop-arrows":"",m=f||p,v=i?null==n||null===(c=n.current)||void 0===c?void 0:c.scrollHeight:null==n||null===(u=n.current)||void 0===u?void 0:u.scrollWidth;function g(t){const e=i?n.current.clientHeight:n.current.clientWidth,r=function(t,e){const n=i?e.scrollTop:e.scrollLeft;return Math.max(-n,Math.min(v-t-n,t))}("next"===t?e:-e,n.current);return{top:i?r:0,left:i?0:r,behavior:"smooth"}}function y(t){var e,i,r;const o=g(t),s="next"===t?null==h||null===(e=h.current)||void 0===e?void 0:e.id:null==d||null===(i=d.current)||void 0===i?void 0:i.id;var a,l;window.EkoAnalytics("track","gallery.interaction",{elementid:s,interactiontype:"click"}),null==n||null===(r=n.current)||void 0===r||r.scrollBy(o),a=s,l="click",S.track("gallery.interaction",{elementId:a,interactiontype:l}),Ct.send("interaction",{elementId:a,interactiontype:l})}return e.createElement(e.Fragment,null,m&&e.createElement(e.Fragment,null,e.createElement("button",R({type:"button","aria-label":"Go to previous item","aria-hidden":r?"false":"true",onClick:()=>y("prev"),ref:d,id:"eko-nav-prev-arrow",className:`eko-nav-arrow eko-prev-nav-button ${f} ${p} ${r?"":"eko-hidden-nav-button"}`},r?{}:{tabIndex:"-1"}),e.createElement("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("path",{d:"M5.56127 9.52817C5.28966 9.22635 5.28966 8.77361 5.56127 8.502L10.39 3.67331C10.6918 3.37157 11.1445 3.37157 11.4161 3.67331C11.7179 3.94492 11.7179 4.39766 11.4161 4.66927L7.10044 8.98487L11.4161 13.3307C11.7179 13.6023 11.7179 14.055 11.4161 14.3266C11.1445 14.6285 10.6918 14.6285 10.4202 14.3266L5.56127 9.52817Z",fill:"black"}))),e.createElement("button",R({type:"button","aria-label":"Go to next item","aria-hidden":o?"false":"true",onClick:()=>y("next"),ref:h,className:`eko-nav-arrow eko-next-nav-button ${f} ${p} ${o?"":"eko-hidden-nav-button"}`,id:"eko-nav-next-arrow"},o?{}:{tabIndex:"-1"}),e.createElement("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("path",{d:"M12.4387 8.47185C12.7103 8.77367 12.7103 9.22641 12.4387 9.49802L7.61003 14.3267C7.30821 14.6284 6.85547 14.6284 6.58386 14.3267C6.28212 14.0551 6.28212 13.6024 6.58386 13.3308L10.8996 9.01515L6.58386 4.66933C6.28212 4.39772 6.28212 3.94499 6.58386 3.67338C6.85547 3.37155 7.30821 3.37155 7.57982 3.67338L12.4387 8.47185Z",fill:"black"})))))};function Pt(t,e,n){let i;return function(){const n=this,r=arguments;clearTimeout(i),i=setTimeout((function(){i=null,t.apply(n,r)}),e)}}Ot.propTypes={layout:It.object.isRequired,nav:It.object.isRequired,isVerticalNav:It.bool.isRequired,showPrevArrow:It.bool.isRequired,showNextArrow:It.bool.isRequired};const Rt=({items:t,setActiveIndex:n,activeIndex:i,layout:r,carouselMounted:o,forceMobile:s})=>{const l=e.useRef(null),c=e.useRef(null),u=e.useRef([]),d=3,[h,f]=e.useState(null),[p,m]=e.useState(!1),[v,g]=e.useState(0),[y,b]=e.useState(!1),[k,w]=e.useState(!1);function x(){var t;const e=s||window.innerWidth<768?"mobile":"desktop",n=(null==r||null===(t=r[e])||void 0===t||null===(t=t.config)||void 0===t?void 0:t.orientation)||("desktop"===e?"left":"bottom");m("left"===n||"right"===n);const i=c.current.parentNode,a=o?".eko-smart-gallery-container iframe":".eko-carousel",l=i.querySelector(a);setTimeout((()=>{g(l.clientHeight)}),0)}function _(){var t,e;const n=s||a()?"mobile":"desktop",i=null!==(t=null==r||null===(e=r[n])||void 0===e||null===(e=e.config)||void 0===e||null===(e=e.navPagination)||void 0===e?void 0:e.scrollThreshold)&&void 0!==t?t:d;!function(t=d){var e,n;const i=l.current;if(!i)return;const o="none"!==(null==r||null===(e=r.desktop)||void 0===e||null===(e=e.config)||void 0===e||null===(e=e.navPagination)||void 0===e?void 0:e.type),c=(u=null==r||null===(n=r.mobile)||void 0===n||null===(n=n.config)||void 0===n||null===(n=n.navPagination)||void 0===n?void 0:n.type,"mask"===u||"arrows"===u);var u;if((s||a())&&!c)return void i.style.setProperty("-webkit-mask","none");if(!a()&&!o)return void i.style.setProperty("-webkit-mask","none");const h=i.scrollHeight-i.clientHeight,f=i.scrollTop>t?"85%":"100%",m=i.scrollTop<=h-t?"15%":"0%",v=i.scrollWidth-i.clientWidth,g=i.scrollLeft>t?"15%":"0%",y=i.scrollLeft<=v-t?"85%":"100%";p?i.style.setProperty("-webkit-mask",`linear-gradient(0deg,#0000,#000 ${m} ${f},#0000)`):i.style.setProperty("-webkit-mask",`linear-gradient(90deg,#0000,#000 ${g} ${y},#0000)`)}(i),function(t=d){var e,n,i,r,o,s;const a=p?null==l||null===(e=l.current)||void 0===e?void 0:e.scrollTop:null==l||null===(n=l.current)||void 0===n?void 0:n.scrollLeft,c=p?null==l||null===(i=l.current)||void 0===i?void 0:i.clientHeight:null==l||null===(r=l.current)||void 0===r?void 0:r.clientWidth,u=p?null==l||null===(o=l.current)||void 0===o?void 0:o.scrollHeight:null==l||null===(s=l.current)||void 0===s?void 0:s.scrollWidth;u-t<c?(b(!1),w(!1)):a<=t?(b(!1),w(!0)):a+c>u-t?(b(!0),w(!1)):a+t>0&&a<u-t&&(b(!0),w(!0))}(i)}u.current=null==t?void 0:t.map(((t,n)=>{var i,r;return null!==(i=null==u||null===(r=u.current)||void 0===r?void 0:r[n])&&void 0!==i?i:e.createRef()}));const I=Pt((t=>{var e;e=t,S.track("gallery.interaction",{elementid:"nav",interactiontype:e}),Ct.send("interaction",{elementid:"nav",interactiontype:e})}),200);const T=e.useCallback((t=>{n({index:t,step:0,source:"nav"})}),[]);return e.useEffect((()=>{var t;f(null===(t=u.current)||void 0===t?void 0:t[i])}),[i]),e.useEffect((()=>{if(null!=h&&h.current&&null!=l&&l.current){const t=h.current,e=l.current.clientWidth/2,n=t.clientWidth/2,i=l.current.clientHeight/2,r=t.clientHeight/2;l.current.scrollTo({left:t.offsetLeft-e+n,top:t.offsetTop-i+r,behavior:"smooth"})}}),[h]),e.useEffect((()=>{x()}),[]),e.useEffect((()=>(window.addEventListener("resize",x),()=>{window.removeEventListener("resize",x)})),[c,o,s]),e.useEffect((()=>{g(0),x()}),[t,c,o,s]),e.useEffect((()=>{_();const t=new ResizeObserver(_);return t.observe(l.current),()=>{t.disconnect()}}),[t,s,p]),e.createElement("div",{className:"eko-nav-container",ref:c,style:{opacity:v>0?1:0,height:""+(v&&p?v+"px":"auto")}},e.createElement(Ot,{layout:r,nav:l,isVerticalNav:p,showPrevArrow:y,showNextArrow:k}),e.createElement("ul",{className:`eko-nav eko-mobile-nav-selected-${null!==(E=null==r||null===(M=r.mobile)||void 0===M||null===(M=M.config)||void 0===M?void 0:M.navItemsSelectedType)&&void 0!==E?E:"underline"} eko-desktop-nav-selected-${null!==(A=null==r||null===(N=r.desktop)||void 0===N||null===(N=N.config)||void 0===N?void 0:N.navItemsSelectedType)&&void 0!==A?A:"underline"}`,ref:l,onScroll:function(){_()},onWheel:function(){I("wheel")},onTouchMove:function(){I("swipe")}},null==t?void 0:t.map(((t,n)=>{var r;const o=(null==t||null===(r=t.media)||void 0===r?void 0:r.url)||(null==t?void 0:t.media)||"";return e.createElement(Ft,{key:o+n,index:n,activeIndex:i,setActiveIndex:T,item:t,src:o,navItemRefs:u,itemIcon:null==t?void 0:t.icon})}))));var E,M,A,N};Rt.propTypes={items:It.array.isRequired,activeIndex:It.number,setActiveIndex:It.func.isRequired,layout:It.object,carouselMounted:It.bool,forceMobile:It.bool};function Dt(){S.track("gallery.cover.displayed"),Ct.send("gallerycoverdisplayed")}function Bt(t){if(!t)return t;try{const e=new URL(t);return e.host.includes("assets.eko.com")&&e.pathname.startsWith("/image")&&!e.searchParams.has("width")?(e.pathname.endsWith(".png")&&(e.pathname=e.pathname.replace(/\.png$/,".webp")),e.searchParams.set("width",1920),e.toString()):t}catch(e){return t}}const Lt=({item:t,src:n,srcset:i,sizes:r,isCoverElement:o})=>{const s=e.useRef(null);return e.useEffect((()=>{var t;if(o){if(null===(t=s.current)||void 0===t||!t.complete)return s.current.addEventListener("load",Dt,{once:!0}),()=>{var t;null===(t=s.current)||void 0===t||t.removeEventListener("load",Dt,{once:!0})};Dt()}}),[]),e.createElement("img",{ref:s,src:Bt(n),srcSet:i,sizes:r,alt:t.name,fetchPriority:o?"high":"auto",loading:o?"eager":"lazy",style:{width:"100%",height:"100%"}})};Lt.propTypes={item:It.object.isRequired,src:It.string,srcset:It.string,sizes:It.string,isCoverElement:It.bool};const zt=Pt((t=>{var e;e=t,S.track("gallery.interaction",{elementid:"carousel",interactiontype:e}),Ct.send("interaction",{elementid:"carousel",interactiontype:e})}),200);function Wt(){zt("wheel")}const jt=e.forwardRef((({items:t,setActiveIndex:n,activeIndex:i,showSmartLoaders:r},o)=>{const s=e.useRef(null),a=e.useRef([]);a.current=null==t?void 0:t.map(((t,n)=>{var i,r;return null!==(i=null==a||null===(r=a.current)||void 0===r?void 0:r[n])&&void 0!==i?i:e.createRef()}));const[l,c]=e.useState(),[u,d]=e.useState(),h=e.useRef(i),f=e.useRef(!1);function p(){const e=function(t){const e=t.scrollLeft,n=t.scrollWidth-t.clientWidth;return 0===e?0:e>n?100:e/n*100}(s.current)*(null==t?void 0:t.length)/100,i=Math.min(Math.trunc(e),(null==t?void 0:t.length)-1),r=h.current;"nav"!==r.source&&"external-nav"!==r.source?(f.current&&i!==r.index&&(f.current=!1),f.current||(i>(null==t?void 0:t.length)-1?n({index:(null==t?void 0:t.length)-1,source:"carousel"}):n({index:i,source:"carousel"}))):i===r.index?f.current=!0:f.current&&i!==r.index&&(f.current=!1,n({index:i,source:"carousel"}))}return e.useImperativeHandle(o,(()=>({prev:()=>{n({index:Math.max(0,h.current.index-1),source:"carousel"})},next:()=>{n({index:Math.min((null==t?void 0:t.length)-1,h.current.index+1),source:"carousel"})}}))),e.useEffect((()=>{const t=s.current;if(t)return t.addEventListener("scroll",p),()=>{t.removeEventListener("scroll",p)}}),[t]),e.useEffect((()=>{var t;let e=null===(t=a.current)||void 0===t?void 0:t[i.index];if(e&&("nav"===i.source||"external-nav"===i.source)){const t=e.current,n=s.current.clientWidth/2,i=(null==t?void 0:t.clientWidth)/2,r=(null==t?void 0:t.offsetLeft)-n+i;s.current.scrollTo({left:r,behavior:"smooth"})}}),[i]),e.useEffect((()=>{h.current=i,"nav"!==i.source&&"external-nav"!==i.source||(f.current=!1)}),[i]),e.createElement("ul",{className:"eko-carousel",ref:s,onScroll:p,onWheel:Wt,onTouchMove:function(t){d(t.targetTouches[0].clientX)},onTouchStart:function(t){c(t.targetTouches[0].clientX),d(null)},onTouchEnd:function(){u&&l&&(l-u>75||l-u<-75)&&zt("swipe")}},null==t?void 0:t.map(((t,n)=>{const i=(null==t?void 0:t.cover)||(null==t?void 0:t.media),o=(null==i?void 0:i.url)||i;return e.createElement("li",{className:"eko-carousel-item",key:o+n,ref:a.current[n]},e.createElement(Lt,{item:t,src:o,srcset:null==i?void 0:i.srcset,sizes:null==i?void 0:i.sizes,isCoverElement:0===n}),r&&"image"!==t.type&&e.createElement("div",{className:"eko-smart-loading"},e.createElement("div",null),e.createElement("p",null,"Loading video experience")))})))}));function $t(t){var e;return function(t){var e;return"eko.block.event"===(null==t||null===(e=t.data)||void 0===e?void 0:e.type)}(t)&&"GalleryBlock"===(null==t||null===(e=t.data)||void 0===e||null===(e=e.data)||void 0===e?void 0:e.blockType)}jt.propTypes={items:It.array.isRequired,setActiveIndex:It.func.isRequired,activeIndex:It.object,showSmartLoaders:It.bool},jt.displayName="CarouselLoop";const Ut="eko.project.invoke",qt="eko.block.invoke";function Vt(t,e,n){var i;null!=t&&t.contentWindow&&(null==t||null===(i=t.contentWindow)||void 0===i||i.postMessage({target:"eko.embedapi",type:e,data:n},"*"))}function Gt(t){return`#variantId=${encodeURIComponent(t)}`}const Ht=e.forwardRef((({config:t,instanceId:n,setActiveItem:i,activeItem:r,variantId:o,smartGalleryLoaded:s,onLoad:l,forceMobile:c},u)=>{var d,h,f;const p=null!==(d=null===(h=t.options)||void 0===h?void 0:h.galleryEnv)&&void 0!==d?d:"",m=null===(f=t.__autoGenerated)||void 0===f||null===(f=f.publishItem)||void 0===f?void 0:f.id,v=function(t={}){let e="";return Object.entries(t).forEach((([t,n])=>{e+=`&${t}=${n}`})),e}(null==t?void 0:t.qp),g=function(t,e,n){return`https://${t}play.eko.com/embed?${n?`id=${n}`:`piid=${e}`}&nocover=true&galleryBlockMode=gallery&eko_pixel=true`}(p,m,n),y=e.useRef(null),b=e.useRef(null),k=e.useRef(!1),[w,x]=e.useState(Gt(o||"ekonovar")),[_,I]=e.useState(g+v+w);let T;function E(){S.track("gallery.project.display"),l(),Ct.send("galleryloaded")}return e.useImperativeHandle(u,(()=>({prev:()=>{Vt(null==b?void 0:b.current,qt,{action:"onPrevModule"})},next:()=>{Vt(null==b?void 0:b.current,qt,{action:"onNextModule"})}}))),e.useEffect((()=>{k.current?Vt(null==b?void 0:b.current,Ut,{action:"updateVariant",args:{id:o}}):x(Gt(o))}),[o]),e.useEffect((()=>{Vt(null==b?void 0:b.current,qt,{action:"updateActiveModule",args:{activeItemIndex:null==r?void 0:r.index,activeModuleIndex:null==r?void 0:r.step}})}),[r]),e.useEffect((()=>{function t(t){if((function(t){var e;return"eko.project.blockstart"===(null==t||null===(e=t.data)||void 0===e?void 0:e.type)}(t)||function(t){var e,n;return"eko.project.started"===(null==t||null===(e=t.data)||void 0===e?void 0:e.type)&&(null==t||null===(n=t.data)||void 0===n||null===(n=n.data)||void 0===n?void 0:n.started)}(t))&&!k.current)return e=t.data.data.blockType,k.current=!0,void("GalleryBlock"===e?Vt(null==b?void 0:b.current,qt,{action:"updateActiveModule",args:{activeItemIndex:null==r?void 0:r.index,activeModuleIndex:null==r?void 0:r.step}}):E());var e;if(k.current){if(function(t){var e;return $t(t)&&"activeModuleChanged"===(null==t||null===(e=t.data)||void 0===e||null===(e=e.data)||void 0===e?void 0:e.name)}(t))return void function(t){const e=t.data.data.data.activeItemIndex,n=t.data.data.data.activeModuleIndex;e===(null==r?void 0:r.index)&&n===(null==r?void 0:r.step)||i({index:e,step:n,source:"carousel"})}(t);(function(t){var e;return $t(t)&&"activeModuleChangeDone"===(null==t||null===(e=t.data)||void 0===e||null===(e=e.data)||void 0===e?void 0:e.name)})(t)&&!s&&E()}}return T=c||a()?"mobile":"desktop",function(t,e={}){window.addEventListener("message",t,e)}(t),()=>{!function(t,e={}){window.removeEventListener("message",t,e)}(t)}}),[r]),e.useEffect((()=>{k.current||Vt(null==b?void 0:b.current,Ut,{action:"queryProjectStarted"})}),[r,s]),e.useEffect((()=>{k.current=!1}),[t]),e.useEffect((()=>{I(g+v+w)}),[w]),e.createElement("div",{className:"eko-smart-gallery-container "+(s?"":"eko-project-not-ready"),ref:y,"data-type":"smart-gallery","data-qp":v,"data-variant":o,"data-device":T},e.createElement("iframe",{allow:"autoplay; fullscreen",title:"eko gallery",src:_,style:{border:0},ref:b}))}));Ht.propTypes={config:It.object.isRequired,instanceId:It.string,setActiveItem:It.func.isRequired,activeItem:It.object.isRequired,variantId:It.string,smartGalleryLoaded:It.bool,onLoad:It.func,forceMobile:It.bool},Ht.displayName="SmartGallery";const Kt=()=>e.createElement("style",{suppressHydrationWarning:!0},'.eko-gallery {\n --accentColorEko: #000;\n --primaryColorEko: #000;\n --backgroundColorEko: #25D7A2;\n --navItemsBackgroundColorEko: transparent;\n --navItemsBannerBackgroundColorEko: #EEEEEE;\n --carouselItemsBackgroundColorEko: transparent;\n --carouselInteractiveCoverBackgroundColorEko: transparent;\n --galleryGapEkoMobile: 12px;\n --galleryGapEkoDesktop: 12px;\n --galleryPaddingEkoMobile: 0;\n --galleryPaddingEkoDesktop: 0;\n --galleryMaxWidthEkoMobile: 100%;\n --galleryMaxWidthEkoDesktop: 900px;\n --galleryTransition: .8s cubic-bezier(.35, 0, 0, 1) 1.5s;\n --navBarPaddingEkoMobile: 0 0 0 20px;\n --navBarPaddingEkoDesktop: 0;\n --navItemsWidthEkoMobile: 80px;\n --navItemsWidthEkoDesktop: 80px;\n --navItemsHeightEkoMobile: 80px;\n --navItemsHeightEkoDesktop: 80px;\n --navItemsGapEkoMobile: 14px;\n --navItemsGapEkoDesktop: 14px;\n --navItemsRadiusEkoMobile: 8px;\n --navItemsRadiusEkoDesktop: 8px;\n --navItemsSelectedMarginEkoMobile: 3px;\n --navItemsSelectedMarginEkoDesktop: 3px;\n --navItemsSelectedThicknessEkoMobile: 3px;\n --navItemsSelectedThicknessEkoDesktop: 3px;\n --navItemsSelectedUnderlineRadiusEkoMobile: 100px;\n --navItemsSelectedUnderlineRadiusEkoDesktop: 100px;\n --navItemsObjectFitEkoMobile: cover;\n --navItemsObjectFitEkoDesktop: cover;\n --navMediaBadgeSizeEkoMobile: 22px;\n --navMediaBadgeSizeEkoDesktop: 22px;\n --navMediaBadgeMarginTopEkoMobile: 4px;\n --navMediaBadgeMarginTopEkoDesktop: 4px;\n --navMediaBadgeMarginRightEkoMobile: 4px;\n --navMediaBadgeMarginRightEkoDesktop: 4px;\n --carouselItemsAspectRatioEkoMobile: 1 / 1;\n --carouselItemsAspectRatioEkoDesktop: 1 / 1;\n --carouselItemsRadiusEkoMobile: 0px;\n --carouselItemsRadiusEkoDesktop: 12px;\n --carouselItemsObjectFitEkoMobile: cover;\n --carouselItemsObjectFitEkoDesktop: cover;\n --navBannerFontSizeEkoMobile: 12px;\n --navBannerFontSizeEkoDesktop: 12px;\n --navBannerFontLineHeightEkoMobile: 120%;\n --navBannerFontLineHeightEkoDesktop: 120%;\n --navBannerFontFamilyEkoMobile: inherit;\n --navBannerFontFamilyEkoDesktop: inherit;\n --navBannerFontWeightEkoMobile: 400;\n --navBannerFontWeightEkoDesktop: 400;\n --outerWidth: 0\n}\n\n.eko-gallery * {\n box-sizing: border-box\n}\n\n.eko-gallery ul,\n.eko-gallery li {\n padding: 0;\n text-indent: 0;\n list-style-type: none;\n font-size: 0;\n margin: 0\n}\n\n.eko-gallery button {\n border: none;\n padding: 0\n}\n\n.eko-gallery .eko-hidden {\n display: none !important\n}\n\n.eko-gallery .eko-not-visible {\n visibility: hidden !important\n}\n\n.eko-hidden-variant {\n display: none !important\n}\n\n.eko-sr-only {\n width: 1px;\n height: 1px;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n margin: -1px;\n padding: 0;\n position: absolute;\n overflow: hidden\n}\n\n.eko-sticky-top {\n position: sticky;\n top: 0\n}\n\n.eko-gallery .eko-nav {\n height: 100%;\n display: flex;\n align-items: start;\n align-self: start;\n flex-shrink: 0;\n scrollbar-width: none;\n -ms-overflow-style: none\n}\n\n.eko-gallery .eko-nav li {\n font-size: 0;\n position: relative;\n display: flex;\n flex-shrink: 0;\n justify-content: center;\n -webkit-box-pack: center;\n cursor: pointer\n}\n\n.eko-gallery .eko-nav li button {\n position: relative;\n background-color: transparent;\n border-radius: 0;\n line-height: 0;\n overflow: hidden;\n cursor: pointer\n}\n\n.eko-gallery .eko-nav li button img {\n background-color: var(--navItemsBackgroundColorEko);\n pointer-events: none\n}\n\n.eko-gallery .eko-nav li button .item-icon {\n position: absolute;\n top: 0;\n right: 0;\n width: 32px;\n height: 32px;\n transform: scale(.25);\n transform-origin: top right\n}\n\n.eko-gallery .eko-nav li button .item-icon span {\n display: block;\n width: 400%;\n height: 400%;\n position: absolute;\n top: 0;\n right: 0;\n background-position: top right;\n background-repeat: no-repeat;\n background-size: contain\n}\n\n.eko-gallery .eko-nav li .addons-container {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n display: flex;\n flex-direction: column;\n font-size: 10px;\n line-height: 100%\n}\n\n.eko-gallery .eko-nav li .addons-container .thumb-label {\n width: 100%;\n background: var(--navItemsBannerBackgroundColorEko);\n padding: 4px;\n text-align: center;\n text-wrap: balance;\n color: var(--primaryColorEko)\n}\n\n.eko-gallery .eko-nav li .addons-container .step-indicator {\n width: 100%;\n display: flex;\n flex-direction: row;\n justify-content: center;\n gap: 5px;\n padding: 6px\n}\n\n.eko-gallery .eko-nav li .addons-container .step-indicator span {\n width: 5px;\n height: 5px;\n border-radius: 100px;\n background: #fff;\n box-shadow: 0 0 3px #00000094\n}\n\n.eko-gallery .eko-nav li .addons-container.full-thumb-label {\n position: relative\n}\n\n.eko-gallery .eko-nav li .addons-container.full-thumb-label .step-indicator {\n position: absolute;\n bottom: 0\n}\n\n.eko-gallery .eko-nav li .addons-container.full-thumb-label .thumb-label {\n align-content: center\n}\n\n.eko-gallery .eko-nav::-webkit-scrollbar {\n display: none\n}\n\n.eko-nav-container {\n display: flex\n}\n\n.eko-nav-container:has(.eko-nav.eko-not-visible) .eko-nav-arrow {\n display: none\n}\n\n.eko-nav-container {\n position: relative;\n opacity: 0;\n transition: opacity .15s ease-in\n}\n\n.eko-nav-container .eko-nav-arrow {\n width: 28px;\n height: 28px;\n position: absolute;\n display: none;\n justify-content: center;\n align-items: center;\n border-radius: 28px;\n background-color: #fff;\n box-shadow: 0 0 6px #0000001f;\n z-index: 1;\n bottom: 50%;\n opacity: 1;\n transition: opacity .15s ease-in;\n transform: translateY(50%);\n cursor: pointer\n}\n\n.eko-nav-container .eko-nav-arrow.eko-prev-nav-button svg,\n.eko-nav-container .eko-nav-arrow.eko-next-nav-button svg {\n padding: 1px\n}\n\n.eko-nav-container .eko-nav-arrow.eko-prev-nav-button {\n left: 8px\n}\n\n.eko-nav-container .eko-nav-arrow.eko-next-nav-button {\n right: 8px\n}\n\n.eko-nav-container .eko-nav-arrow.eko-hidden-nav-button {\n opacity: 0;\n pointer-events: none\n}\n\n.eko-gallery .eko-nav {\n gap: var(--navItemsGapEkoMobile);\n padding: var(--navBarPaddingEkoMobile)\n}\n\n.eko-gallery .eko-nav li button img {\n width: var(--navItemsWidthEkoMobile);\n height: var(--navItemsHeightEkoMobile);\n object-fit: var(--navItemsObjectFitEkoMobile)\n}\n\n.eko-gallery .eko-nav li .addons-container .thumb-label {\n font-family: var(--navBannerFontFamilyEkoMobile);\n font-size: var(--navBannerFontSizeEkoMobile);\n line-height: var(--navBannerFontLineHeightEkoMobile);\n font-weight: var(--navBannerFontWeightEkoMobile)\n}\n\n.eko-gallery .eko-nav li .addons-container.full-thumb-label .thumb-label {\n width: var(--navItemsWidthEkoMobile);\n height: var(--navItemsHeightEkoMobile)\n}\n\n.eko-gallery .eko-nav.eko-mobile-nav-selected-underline li {\n padding-bottom: calc(var(--navItemsSelectedThicknessEkoMobile) + var(--navItemsSelectedMarginEkoMobile))\n}\n\n.eko-gallery .eko-nav.eko-mobile-nav-selected-underline li button {\n border-radius: var(--navItemsRadiusEkoMobile)\n}\n\n.eko-gallery .eko-nav.eko-mobile-nav-selected-underline li[aria-current=true]:after {\n content: "";\n width: 100%;\n height: var(--navItemsSelectedThicknessEkoMobile);\n border-radius: var(--navItemsSelectedUnderlineRadiusEkoMobile);\n background-color: var(--accentColorEko);\n display: block;\n position: absolute;\n bottom: 0;\n left: 0\n}\n\n.eko-gallery .eko-nav.eko-mobile-nav-selected-outline li {\n padding: var(--navItemsSelectedMarginEkoMobile)\n}\n\n.eko-gallery .eko-nav.eko-mobile-nav-selected-outline li button {\n border-radius: var(--navItemsRadiusEkoMobile)\n}\n\n.eko-gallery .eko-nav.eko-mobile-nav-selected-outline li[aria-current=true] {\n border-radius: calc(var(--navItemsRadiusEkoMobile) + var(--navItemsSelectedMarginEkoMobile));\n box-shadow: 0 0 0 var(--navItemsSelectedThicknessEkoMobile) var(--accentColorEko)\n}\n\n@media screen and (min-width: 768px) {\n .eko-gallery.eko-liquid-gallery .eko-nav {\n gap: var(--navItemsGapEkoDesktop);\n padding: var(--navBarPaddingEkoDesktop)\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav li {\n border-radius: var(--navItemsRadiusEkoDesktop)\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav li button img {\n width: var(--navItemsWidthEkoDesktop);\n height: var(--navItemsHeightEkoDesktop);\n object-fit: var(--navItemsObjectFitEkoDesktop)\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav li .addons-container .thumb-label {\n font-family: var(--navBannerFontFamilyEkoDesktop);\n font-size: var(--navBannerFontSizeEkoDesktop);\n line-height: var(--navBannerFontLineHeightEkoDesktop);\n font-weight: var(--navBannerFontWeightEkoDesktop)\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav li .addons-container.full-thumb-label .thumb-label {\n width: var(--navItemsWidthEkoDesktop);\n height: var(--navItemsHeightEkoDesktop)\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav.eko-desktop-nav-selected-underline li {\n border-radius: 0;\n padding: 0;\n padding-bottom: calc(var(--navItemsSelectedThicknessEkoDesktop) + var(--navItemsSelectedMarginEkoDesktop))\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav.eko-desktop-nav-selected-underline li button {\n border-radius: var(--navItemsRadiusEkoDesktop)\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav.eko-desktop-nav-selected-underline li[aria-current=true] {\n box-shadow: none\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav.eko-desktop-nav-selected-underline li[aria-current=true]:after {\n content: "";\n width: 100%;\n height: var(--navItemsSelectedThicknessEkoDesktop);\n border-radius: var(--navItemsSelectedUnderlineRadiusEkoDesktop);\n background-color: var(--accentColorEko);\n display: block;\n position: absolute;\n bottom: 0;\n left: 0\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav.eko-desktop-nav-selected-outline li {\n padding: var(--navItemsSelectedMarginEkoDesktop)\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav.eko-desktop-nav-selected-outline li button {\n border-radius: var(--navItemsRadiusEkoDesktop)\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav.eko-desktop-nav-selected-outline li[aria-current=true] {\n border-radius: calc(var(--navItemsRadiusEkoDesktop) + var(--navItemsSelectedMarginEkoDesktop));\n box-shadow: 0 0 0 var(--navItemsSelectedThicknessEkoDesktop) var(--accentColorEko)\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav.eko-desktop-nav-selected-outline li[aria-current=true]:after {\n content: none\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav-container .eko-nav-arrow {\n width: 30px;\n height: 30px\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav-container .eko-nav-arrow.eko-desktop-arrows {\n display: flex\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav-container:has(.eko-desktop-nav-selected-underline) .eko-nav-arrow.eko-desktop-arrows {\n transform: translateY(calc(50% - (var(--navItemsSelectedThicknessEkoDesktop) + var(--navItemsSelectedMarginEkoDesktop)) / 2))\n }\n}\n\n@media screen and (max-width: 767px) {\n .eko-gallery.eko-liquid-gallery .eko-nav-arrow.eko-mobile-arrows {\n display: flex\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav-container:has(.eko-mobile-nav-selected-underline) .eko-nav-arrow.eko-mobile-arrows {\n transform: translateY(calc(50% - (var(--navItemsSelectedThicknessEkoMobile) + var(--navItemsSelectedMarginEkoMobile)) / 2))\n }\n}\n\n@media screen and (min-width: 768px) {\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav {\n gap: var(--navItemsGapEkoDesktop);\n padding: var(--navBarPaddingEkoDesktop)\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav li {\n border-radius: var(--navItemsRadiusEkoDesktop)\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav li button img {\n width: var(--navItemsWidthEkoDesktop);\n height: var(--navItemsHeightEkoDesktop);\n object-fit: var(--navItemsObjectFitEkoDesktop)\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav li .addons-container .thumb-label {\n font-family: var(--navBannerFontFamilyEkoDesktop);\n font-size: var(--navBannerFontSizeEkoDesktop);\n line-height: var(--navBannerFontLineHeightEkoDesktop);\n font-weight: var(--navBannerFontWeightEkoDesktop)\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav li .addons-container.full-thumb-label .thumb-label {\n width: var(--navItemsWidthEkoDesktop);\n height: var(--navItemsHeightEkoDesktop)\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav.eko-desktop-nav-selected-underline li {\n border-radius: 0;\n padding: 0;\n padding-bottom: calc(var(--navItemsSelectedThicknessEkoDesktop) + var(--navItemsSelectedMarginEkoDesktop))\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav.eko-desktop-nav-selected-underline li button {\n border-radius: var(--navItemsRadiusEkoDesktop)\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav.eko-desktop-nav-selected-underline li[aria-current=true] {\n box-shadow: none\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav.eko-desktop-nav-selected-underline li[aria-current=true]:after {\n content: "";\n width: 100%;\n height: var(--navItemsSelectedThicknessEkoDesktop);\n border-radius: var(--navItemsSelectedUnderlineRadiusEkoDesktop);\n background-color: var(--accentColorEko);\n display: block;\n position: absolute;\n bottom: 0;\n left: 0\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav.eko-desktop-nav-selected-outline li {\n padding: var(--navItemsSelectedMarginEkoDesktop)\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav.eko-desktop-nav-selected-outline li button {\n border-radius: var(--navItemsRadiusEkoDesktop)\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav.eko-desktop-nav-selected-outline li[aria-current=true] {\n border-radius: calc(var(--navItemsRadiusEkoDesktop) + var(--navItemsSelectedMarginEkoDesktop));\n box-shadow: 0 0 0 var(--navItemsSelectedThicknessEkoDesktop) var(--accentColorEko)\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav.eko-desktop-nav-selected-outline li[aria-current=true]:after {\n content: none\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav-container .eko-nav-arrow {\n width: 30px;\n height: 30px\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav-container .eko-nav-arrow.eko-desktop-arrows {\n display: flex\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav-container:has(.eko-desktop-nav-selected-underline) .eko-nav-arrow.eko-desktop-arrows {\n transform: translateY(calc(50% - (var(--navItemsSelectedThicknessEkoDesktop) + var(--navItemsSelectedMarginEkoDesktop)) / 2))\n }\n}\n\n@media screen and (max-width: 767px) {\n .eko-gallery.eko-react-gallery.eko-mobile .eko-nav-arrow.eko-mobile-arrows {\n display: flex\n }\n\n .eko-gallery.eko-react-gallery.eko-mobile .eko-nav-container:has(.eko-mobile-nav-selected-underline) .eko-nav-arrow.eko-mobile-arrows {\n transform: translateY(calc(50% - (var(--navItemsSelectedThicknessEkoMobile) + var(--navItemsSelectedMarginEkoMobile)) / 2))\n }\n}\n\n.eko-media-badge {\n display: none;\n width: var(--navMediaBadgeSizeEkoMobile);\n height: var(--navMediaBadgeSizeEkoMobile);\n background: #fff;\n align-items: center;\n justify-content: center;\n border-radius: 100%;\n box-shadow: 0 0 4px #00000014;\n place-content: center;\n position: absolute;\n top: var(--navMediaBadgeMarginTopEkoMobile);\n right: var(--navMediaBadgeMarginRightEkoMobile)\n}\n\n.eko-media-badge svg {\n width: 100%;\n height: 100%\n}\n\n.eko-media-badge svg path {\n fill: #000\n}\n\n.eko-nav li .eko-media-badge-mobile {\n display: flex\n}\n\nsvg.interactiveThumb {\n position: absolute;\n top: 3px;\n right: -2.5px;\n width: 100%;\n height: 100%\n}\n\nsvg.interactiveThumb.hand {\n animation: handAnim 2.5s linear infinite\n}\n\nsvg.interactiveThumb.beam {\n animation: beamAnim 2.5s linear infinite;\n transform-origin: 26% 40%;\n top: 0\n}\n\n@keyframes handAnim {\n 0% {\n transform: translateY(0)\n }\n\n 3% {\n transform: translateY(-4px)\n }\n\n 15% {\n transform: translateY(0)\n }\n\n to {\n transform: translateY(0)\n }\n}\n\n@keyframes beamAnim {\n 0% {\n transform: scale(1);\n opacity: 0\n }\n\n 5% {\n transform: scale(1.1);\n opacity: 1\n }\n\n 30% {\n transform: scale(1.4);\n opacity: 0\n }\n\n to {\n transform: scale(1.4);\n opacity: 0\n }\n}\n\n@media screen and (min-width: 768px) {\n .eko-gallery.eko-liquid-gallery .eko-media-badge {\n width: var(--navMediaBadgeSizeEkoDesktop);\n height: var(--navMediaBadgeSizeEkoDesktop);\n top: var(--navMediaBadgeMarginTopEkoDesktop);\n right: var(--navMediaBadgeMarginRightEkoDesktop)\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav li .eko-media-badge-mobile {\n display: none\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav li .eko-media-badge-desktop {\n display: flex\n }\n}\n\n@media screen and (min-width: 768px) {\n .eko-gallery.eko-react-gallery.eko-desktop .eko-media-badge {\n width: var(--navMediaBadgeSizeEkoDesktop);\n height: var(--navMediaBadgeSizeEkoDesktop);\n top: var(--navMediaBadgeMarginTopEkoDesktop);\n right: var(--navMediaBadgeMarginRightEkoDesktop)\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav li .eko-media-badge-mobile {\n display: none\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav li .eko-media-badge-desktop {\n display: flex\n }\n}\n\n.eko-loading-animation {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n overflow: hidden;\n pointer-events: none\n}\n\n.eko-loading-animation.eko-show-loading-animation .eko-animated-bar {\n opacity: .6\n}\n\n.eko-loading-animation.eko-show-loading-animation .eko-animated-bar .eko-animated-bar-inner {\n animation: eko-loading-bar-inner-animation 2s infinite\n}\n\n.eko-loading-animation.eko-show-loading-text .eko-loading-text {\n opacity: 1\n}\n\n.eko-loading-animation .eko-animated-bar {\n width: 100%;\n height: 4px;\n background-color: #e8e8e8b2;\n opacity: 0;\n transition: opacity .5s;\n position: relative\n}\n\n.eko-loading-animation .eko-animated-bar .eko-animated-bar-inner {\n width: 150px;\n height: 100%;\n transform: translate(-150px);\n background-color: var(--accentColorEko, #4d484b);\n display: block;\n position: absolute\n}\n\n.eko-loading-animation .eko-loading-text {\n position: absolute;\n top: 10px;\n left: 50%;\n transform: translate(-50%);\n color: #656565;\n font-size: 12px;\n font-family: Bogle-Medium, sans-serif;\n font-weight: 500;\n opacity: 0;\n align-items: center;\n display: flex;\n gap: 2px;\n transition: opacity .5s\n}\n\n.eko-loading-animation .eko-loading-text-icon {\n opacity: 60%\n}\n\n.eko-loading-animation .eko-loading-text-icon svg {\n transform: translate(2px, 2px)\n}\n\n.eko-loading-animation .eko-loading-text-icon path {\n fill: var(--accentColorEko, #4d484b)\n}\n\n.eko-loading-animation.eko-hide-icon .eko-loading-text-icon {\n display: none\n}\n\n@keyframes eko-loading-bar-inner-animation {\n 0% {\n left: -350px\n }\n\n to {\n left: calc(100% + 350px)\n }\n}\n\n.eko-smart-loading {\n position: absolute;\n top: 8px;\n left: 50%;\n transform: translate(-50%);\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px\n}\n\n.eko-smart-loading div {\n position: relative;\n width: 158px;\n height: 3px;\n background-color: #dcdcdc;\n overflow: hidden;\n opacity: 0;\n animation: eko-smart-loading-show-animation .2s linear forwards 1s\n}\n\n.eko-smart-loading div:after {\n content: "";\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n background-color: #878787;\n animation: eko-smart-loading-animation 2.5s ease-in-out infinite\n}\n\n.eko-smart-loading p {\n font-size: 11px;\n line-height: 120%;\n font-weight: 500;\n color: #6b6b6b;\n text-shadow: 0 0 2px white;\n opacity: 0;\n animation: eko-smart-loading-show-animation .2s linear forwards 3s\n}\n\n@keyframes eko-smart-loading-animation {\n 0% {\n transform: translate(-100%)\n }\n\n to {\n transform: translate(100%)\n }\n}\n\n@keyframes eko-smart-loading-show-animation {\n 0% {\n opacity: 0\n }\n\n to {\n opacity: 100%\n }\n}\n\n@media screen and (min-width: 450px) {\n .eko-gallery.eko-liquid-gallery .eko-loading-animation .eko-animated-bar {\n height: 6px\n }\n\n .eko-gallery.eko-liquid-gallery .eko-loading-animation .eko-loading-text {\n font-size: 16px;\n top: 12px\n }\n\n .eko-gallery.eko-liquid-gallery .eko-loading-animation .eko-loading-text-icon {\n transform: rotate(180deg)\n }\n}\n\n@media screen and (min-width: 450px) {\n .eko-gallery.eko-react-gallery.eko-desktop .eko-loading-animation .eko-animated-bar {\n height: 6px\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-loading-animation .eko-loading-text {\n font-size: 16px;\n top: 12px\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-loading-animation .eko-loading-text-icon {\n transform: rotate(180deg)\n }\n}\n\n.eko-carousel {\n width: 100%;\n white-space: nowrap;\n overflow-x: auto;\n overflow-y: hidden;\n scroll-snap-type: x mandatory;\n overscroll-behavior-x: contain;\n align-self: start;\n align-items: start;\n display: flex;\n gap: 10px;\n scrollbar-width: none;\n -ms-overflow-style: none\n}\n\n.eko-carousel li {\n width: 100%;\n display: inline-block;\n position: relative;\n align-items: start;\n overflow: hidden;\n scroll-snap-align: center;\n scroll-snap-stop: always;\n flex-shrink: 0\n}\n\n.eko-carousel li img.eko-cover-image {\n position: relative;\n pointer-events: none;\n transition: opacity .5s;\n z-index: 1;\n width: 100%;\n height: 100%;\n background-color: var(--carouselInteractiveCoverBackgroundColorEko)\n}\n\n.eko-carousel li iframe {\n position: absolute;\n border: none;\n top: 0;\n left: 0\n}\n\n.eko-carousel li img,\n.eko-carousel li video {\n width: 100%;\n height: 100%;\n max-width: 100%;\n max-height: 100%;\n min-width: 0;\n background-color: var(--carouselItemsBackgroundColorEko)\n}\n\n.eko-carousel li[data-type=videoembed],\n.eko-carousel li[data-type=video] {\n cursor: pointer\n}\n\n.eko-carousel::-webkit-scrollbar {\n display: none\n}\n\n.eko-carousel:has(.zoomed) {\n overflow: hidden\n}\n\n.eko-carousel li {\n border-radius: var(--carouselItemsRadiusEkoMobile)\n}\n\n.eko-carousel li img.eko-desktop-cover-image {\n display: none\n}\n\n.eko-carousel li img.eko-mobile-cover-image {\n display: inline\n}\n\n.eko-carousel li img,\n.eko-carousel li video {\n aspect-ratio: var(--carouselItemsAspectRatioEkoMobile);\n object-fit: var(--carouselItemsObjectFitEkoMobile)\n}\n\n@media screen and (min-width: 768px) {\n .eko-gallery.eko-liquid-gallery .eko-carousel li {\n border-radius: var(--carouselItemsRadiusEkoDesktop)\n }\n\n .eko-gallery.eko-liquid-gallery .eko-carousel li img,\n .eko-gallery.eko-liquid-gallery .eko-carousel li video {\n aspect-ratio: var(--carouselItemsAspectRatioEkoDesktop);\n object-fit: var(--carouselItemsObjectFitEkoDesktop)\n }\n}\n\n@media screen and (min-width: 768px) {\n .eko-gallery.eko-react-gallery.eko-desktop .eko-carousel li {\n border-radius: var(--carouselItemsRadiusEkoDesktop)\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-carousel li img,\n .eko-gallery.eko-react-gallery.eko-desktop .eko-carousel li video {\n aspect-ratio: var(--carouselItemsAspectRatioEkoDesktop);\n object-fit: var(--carouselItemsObjectFitEkoDesktop)\n }\n}\n\n.eko-gallery.eko-mobile-embed-layout .eko-nav-container {\n display: none\n}\n\n.eko-gallery.eko-mobile-embed-layout .eko-carousel {\n overflow-x: hidden\n}\n\n.eko-gallery.eko-mobile-embed-layout .eko-mobile-carousel-scroll {\n overflow-x: auto\n}\n\n@media screen and (min-width: 768px) {\n .eko-gallery.eko-liquid-gallery.eko-desktop-embed-layout .eko-nav-container {\n display: none\n }\n\n .eko-gallery.eko-liquid-gallery.eko-desktop-embed-layout .eko-carousel {\n overflow-x: hidden\n }\n\n .eko-gallery.eko-liquid-gallery.eko-desktop-embed-layout .eko-carousel.eko-desktop-carousel-scroll {\n overflow-x: auto\n }\n\n .eko-gallery.eko-liquid-gallery.eko-mobile-embed-layout.eko-desktop-nav-layout .eko-nav-container {\n display: flex\n }\n}\n\n@media screen and (min-width: 768px) {\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-embed-layout .eko-nav-container {\n display: none\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-embed-layout .eko-carousel {\n overflow-x: hidden\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-embed-layout .eko-carousel.eko-desktop-carousel-scroll {\n overflow-x: auto\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop.eko-mobile-embed-layout.eko-desktop-nav-layout .eko-nav-container {\n display: flex\n }\n}\n\n.eko-gallery.eko-mobile-nav-layout.eko-mobile-nav-bottom .eko-nav,\n.eko-gallery.eko-desktop-nav-layout.eko-desktop-nav-bottom .eko-nav,\n.eko-gallery.eko-mobile-nav-layout.eko-mobile-nav-top .eko-nav,\n.eko-gallery.eko-desktop-nav-layout.eko-desktop-nav-top .eko-nav {\n flex-direction: row;\n overflow-x: auto;\n overflow-y: hidden;\n max-width: 100%;\n margin: auto\n}\n\n.eko-gallery.eko-mobile-nav-layout.eko-mobile-nav-bottom {\n flex-direction: column-reverse\n}\n\n.eko-gallery.eko-mobile-nav-layout.eko-mobile-nav-top {\n flex-direction: column\n}\n\n@media screen and (min-width: 768px) {\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-bottom {\n flex-direction: column-reverse\n }\n\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-top {\n flex-direction: column\n }\n}\n\n@media screen and (min-width: 768px) {\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-bottom {\n flex-direction: column-reverse\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-top {\n flex-direction: column\n }\n}\n\n@media screen and (min-width: 768px) {\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-right {\n flex-direction: row-reverse\n }\n\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-left {\n flex-direction: row\n }\n\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav,\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav {\n display: flex;\n flex-direction: column;\n justify-content: start;\n overflow-x: hidden;\n overflow-y: auto;\n gap: var(--navItemsGapEkoDesktop)\n }\n\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container,\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container {\n display: flex;\n flex-shrink: 0\n }\n\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button,\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button {\n top: 4px;\n left: auto\n }\n\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-next-nav-button,\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-next-nav-button {\n bottom: 4px\n }\n\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button,\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-next-nav-button,\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button,\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-next-nav-button {\n right: 50%;\n transform: translate(50%)\n }\n\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button svg,\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-next-nav-button svg,\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button svg,\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-next-nav-button svg {\n transform: rotate(90deg)\n }\n\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout .eko-carousel {\n align-self: start\n }\n}\n\n@media screen and (min-width: 768px) {\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-right {\n flex-direction: row-reverse\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-left {\n flex-direction: row\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav,\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav {\n display: flex;\n flex-direction: column;\n justify-content: start;\n overflow-x: hidden;\n overflow-y: auto;\n gap: var(--navItemsGapEkoDesktop)\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container,\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container {\n display: flex;\n flex-shrink: 0\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button,\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button {\n top: 4px;\n left: auto\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-next-nav-button,\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-next-nav-button {\n bottom: 4px\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button,\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-next-nav-button,\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button,\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-next-nav-button {\n right: 50%;\n transform: translate(50%)\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button svg,\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-next-nav-button svg,\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button svg,\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-next-nav-button svg {\n transform: rotate(90deg)\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout .eko-carousel {\n align-self: start\n }\n}\n\n.eko-gallery .eko-introButton {\n cursor: pointer;\n white-space: nowrap;\n pointer-events: auto;\n position: absolute;\n bottom: 100px;\n left: 50%;\n transform: translate(-50%);\n padding: 15px 20px\n}\n\n.eko-gallery .eko-introButton .eko-handContainer {\n display: none\n}\n\n.eko-gallery {\n position: relative;\n overflow: hidden;\n display: flex;\n flex-direction: row;\n justify-content: start;\n margin-inline-start: calc(-1 * var(--outerWidth));\n margin-inline-end: calc(-1 * var(--outerWidth));\n padding: var(--galleryPaddingEkoMobile);\n margin: auto;\n max-width: var(--galleryMaxWidthEkoMobile);\n transition: height var(--galleryTransition, .8s cubic-bezier(.35, 0, 0, 1) 1.5s), padding 0s;\n gap: var(--galleryGapEkoMobile)\n}\n\n.eko-gallery .eko-smart-gallery-container {\n border-radius: var(--carouselItemsRadiusEkoMobile);\n overflow: hidden;\n flex: 1;\n display: flex;\n height: fit-content\n}\n\n.eko-gallery .eko-smart-gallery-container iframe {\n width: 100%;\n aspect-ratio: var(--carouselItemsAspectRatioEkoMobile)\n}\n\n.eko-gallery .eko-smart-gallery-container.eko-project-not-ready {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n opacity: 0;\n pointer-events: none;\n touch-action: none\n}\n\n.eko-gallery .eko-smart-gallery-container.eko-project-not-ready iframe {\n pointer-events: none;\n touch-action: none\n}\n\n@media screen and (min-width: 768px) {\n .eko-gallery.eko-liquid-gallery {\n max-width: var(--galleryMaxWidthEkoDesktop);\n gap: var(--galleryGapEkoDesktop);\n padding: var(--galleryPaddingEkoDesktop)\n }\n\n .eko-gallery.eko-liquid-gallery .eko-smart-gallery-container {\n border-radius: var(--carouselItemsRadiusEkoDesktop)\n }\n\n .eko-gallery.eko-liquid-gallery .eko-smart-gallery-container iframe {\n aspect-ratio: var(--carouselItemsAspectRatioEkoDesktop)\n }\n}\n\n@media screen and (min-width: 768px) {\n .eko-gallery.eko-react-gallery.eko-desktop {\n max-width: var(--galleryMaxWidthEkoDesktop);\n gap: var(--galleryGapEkoDesktop);\n padding: var(--galleryPaddingEkoDesktop)\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-smart-gallery-container {\n border-radius: var(--carouselItemsRadiusEkoDesktop)\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-smart-gallery-container iframe {\n aspect-ratio: var(--carouselItemsAspectRatioEkoDesktop)\n }\n}'),Xt=({layout:t,style:n})=>{let i={};return function(t={}){Object.keys(t).forEach((e=>{i[`--${e}Eko`]=t[e]}))}(n),function(t){var e,n;const r=(null==t||null===(e=t.desktop)||void 0===e?void 0:e.config)||{},o=(null==t||null===(n=t.mobile)||void 0===n?void 0:n.config)||{};Object.keys(r).forEach((t=>{"string"==typeof r[t]&&(i[`--${t}EkoDesktop`]=r[t])})),Object.keys(o).forEach((t=>{"string"==typeof o[t]&&(i[`--${t}EkoMobile`]=o[t])}))}(t),e.createElement("style",{key:{layout:t,style:n}},`.eko-gallery {${Object.keys(i).map((t=>`${t}: ${i[t]};`)).join("\n")}}`)};Xt.propTypes={layout:It.object,style:It.object},u("experiment");const Yt=({activeVariantId:t,activeElementId:n,hasInteractive:i,experiments:r,publishItem:o})=>{const s="gallery",a=e.useRef(t),l=e.useRef(n),c=e.useRef(i),u=e.useRef(r),d=e.useRef(o);e.useEffect((()=>{a.current=t,l.current=n,c.current=i,u.current=r,d.current=o}),[t,n,i,r,o]);const h={publishItemPacker:{tag:s,schema:"iglu:com.helloeko/publishitem/jsonschema/1-0-0",match:/.*/,getData:function(){const t=d.current;if(t){const e={};return null!=t&&t.id&&(e.id=t.id),null!=t&&t.productId&&(e.productid=t.productId),t.salesChannelId&&(e.saleschannelid=t.salesChannelId),null!=t&&t.salesChannelName&&(e.saleschannelname=t.salesChannelName),t.salesChannelType&&(e.saleschanneltype=t.salesChannelType),e.id?e:void 0}}},galleryInteractionPacker:{tag:s,schema:"iglu:com.helloeko/gallery_interaction/jsonschema/1-0-0",match:"gallery.interaction",getData:function({elementid:t,interactiontype:e}){return{elementid:String(t),interactiontype:e}}},galleryPacker:{tag:s,schema:"iglu:com.helloeko/gallery/jsonschema/1-0-2",match:/^gallery.*/,getData:function(){var t;return{activeitemid:l.current.toString(),activevariantid:a.current,hasinteractive:c.current,version:(null===(t=window.eko)||void 0===t||null===(t=t.gallery)||void 0===t?void 0:t.version)||""}}},activeVariantIdPacker:{tag:s,schema:"iglu:com.helloeko/variant/jsonschema/1-0-1",match:/.*/,getData:function(){if(a.current)return{id:a.current}}},experimentPacker:{tag:s,schema:"iglu:com.helloeko/experiment/jsonschema/1-0-3",match:/.*/,getData:function(){var t;let e=function(t){let e=null;if(t){const n=Math.floor(Date.now()/1e3);for(const i of t){if("deliverable"!==i.type)return;const t=Math.floor(new Date(i.startDate).getTime()/1e3),r=Math.floor(new Date(i.endDate).getTime()/1e3);!0===i.active&&n>t&&n<r&&(e=i)}}return e}(u.current);if(!e)return;let n={experimentid:e.id||"",experimentvariant:e.chosen||"pending decision",experimenttype:e.type||""},i=null===(t=e.targetDevice)||void 0===t?void 0:t.toLowerCase();return"mobile"!==i&&"notmobile"!==i||(n.experimenttargeting={device:i}),n}}};return e.useEffect((()=>(Object.values(h).forEach((t=>{window.EkoAnalytics("registerContextPacker",t)})),()=>{window.EkoAnalytics("reset",s)})),[]),null};Yt.propTypes={activeVariantId:It.string,activeElementId:It.number,hasInteractive:It.bool,experiments:It.array,publishItem:It.object};const Qt=({variantId:t,activeItem:n,hasInteractive:i,activeIndex:r,experiments:o,publishItem:s})=>{const a=e.useRef(!0);return e.useEffect((()=>{a.current||t&&S.track("gallery.variant.change")}),[t]),e.useEffect((()=>{a.current||S.track("gallery.element.change",{activeIndex:r})}),[r]),e.useEffect((()=>{a.current||n&&null!=s&&s.id&&S.track("gallery.asset.view",{publishitemid:s.id,type:n.type,name:n.name})}),[n]),e.useEffect((()=>{a.current=!1}),[]),e.createElement(Yt,{activeVariantId:t||"ekonovar",activeElementId:r,hasInteractive:i,experiments:o,publishItem:s})};Qt.propTypes={variantId:It.string,activeItem:It.object,hasInteractive:It.bool,activeIndex:It.number,experiments:It.array,publishItem:It.object};const Jt="eko-gallery-react";function Zt(t,e){var n,i,r;const o=(null==t||null===(n=t.variantMap)||void 0===n?void 0:n[e])||"ekonovar";return(null==t||null===(i=t.items)||void 0===i?void 0:i.find((t=>(null==t?void 0:t.variantId)===o)))||(null==t||null===(r=t.items)||void 0===r?void 0:r[0])}"undefined"!=typeof window&&(window.EkoAnalytics||(console.log("EkoAnalytics is not defined, initializing a no-op function..."),window.EkoAnalytics=()=>{}));const te=e.forwardRef((({className:t,config:n,instanceId:i,variantId:r,activeItem:o={index:0,step:0},onEvent:s,forceMobile:a},l)=>{var c,u,d,h,f,p;const m=null!==(c=null===(u=n.options)||void 0===u?void 0:u.loadingTimeout)&&void 0!==c?c:12,v=null===(d=null===(h=n.options)||void 0===h?void 0:h.showCoverLoadAnimation)||void 0===d||d,[g,y]=e.useState(Zt(n,r)),[b,k]=e.useState({index:o.index,step:o.step,source:"external-nav"}),[w,x]=e.useState(!1),[_,I]=e.useState(!1),[T,E]=e.useState("eko-desktop"),M=e.useRef(!1),A=e.useRef(!1),N=e.useRef(o),C=e.useRef(null),F=e.useRef(r);function O(){const t=a||window.innerWidth<768?"eko-mobile":"eko-desktop";E(t)}return A.current||(Ct.send("galleryinit"),A.current=!0),e.useEffect((()=>{const t=F.current!==r;F.current=r,y(Zt(n,r)),t&&!M.current&&k({index:0,step:0,source:"external-nav"})}),[n,r]),e.useEffect((()=>{if(s)return Ct.subscribe(s),()=>{Ct.unsubscribe()}}),[s]),e.useEffect((()=>{M.current=_}),[_]),e.useEffect((()=>{x(!1),I(!1);const t=setTimeout((()=>{M.current||(x(!0),S.track("gallery.load.timeout"))}),1e3*m);return()=>{clearTimeout(t)}}),[n]),e.useEffect((()=>{O()}),[a]),e.useEffect((()=>(window.addEventListener("resize",O),O(),()=>{window.removeEventListener("resize",O)})),[a]),e.useEffect((()=>(window.EkoAnalytics("trackElementVisibility",C.current,Jt),()=>{window.EkoAnalytics("stopTrackingElementVisibility",Jt)})),[]),e.useEffect((()=>{!("carousel"===(null==b?void 0:b.source)||"nav"===(null==b?void 0:b.source))||(null==b?void 0:b.index)===o.index&&(null==b?void 0:b.step)===o.step||Ct.send("activeitemchanged",{index:null==b?void 0:b.index,step:null==b?void 0:b.step})}),[b,o]),e.useEffect((()=>{N.current.index===o.index&&N.current.step===o.step||(N.current=o,k({index:o.index,step:o.step,source:"external-nav"}))}),[o]),e.createElement(e.Fragment,null,e.createElement(Kt,null),e.createElement(Xt,{layout:n.layout,style:n.style,forceMobile:a}),e.createElement(Qt,{variantId:r,activeItem:null==g||null===(f=g.items)||void 0===f?void 0:f[b.index],activeIndex:b.index,hasInteractive:_,experiments:n.experiments,publishItem:null==n||null===(p=n.__autoGenerated)||void 0===p?void 0:p.publishItem}),e.createElement("section",{className:`${`eko-gallery eko-react-gallery ${function(t){let e="";return["mobile","desktop"].forEach((n=>{var i,r;const o=null!==(i=null==t||null===(r=t[n])||void 0===r?void 0:r.type)&&void 0!==i?i:"nav";if(e+=`eko-${n}-${o}-layout `,"nav"===o){var s;const i="desktop"===n,r=(null==t||null===(s=t[n])||void 0===s||null===(s=s.config)||void 0===s?void 0:s.orientation)||(i?"left":"bottom");e+=`eko-${n}-nav-${r} `}})),e}(n.layout)} ${null!=t?t:""}`.trim()} ${T}`,"aria-controls":"main-content",ref:C},e.createElement(Rt,{items:(null==g?void 0:g.items)||[],setActiveIndex:k,activeIndex:b.index,layout:n.layout,carouselMounted:_,forceMobile:a}),!_&&e.createElement(jt,{ref:l,items:(null==g?void 0:g.items)||[],setActiveIndex:k,activeIndex:{index:b.index,source:null==b?void 0:b.source},showSmartLoaders:!w&&v}),!w&&e.createElement(Ht,{ref:l,config:n,instanceId:i,activeItem:b,setActiveItem:k,variantId:null==g?void 0:g.variantId,smartGalleryLoaded:_,forceMobile:a,onLoad:function(){I(!0)}})))}));te.propTypes={className:It.string,config:It.object.isRequired,instanceId:It.string,variantId:It.string,activeItem:It.object,onEvent:It.func,forceMobile:It.bool,onPrev:It.func,onNext:It.func},te.displayName="EkoGallery";var ee=e.memo(te);const ne=u("gallery-react");const ie=e.forwardRef(((t,n)=>{var i;e.useEffect((()=>(ne.setDataStorage("gallery-react",{config:t.config}),window.eko=window.eko||{},window.eko.config=t.config,window.eko.gallery={version:"devops/4.0.18"},()=>{window.eko.config=void 0})),[t.config]);const{children:r,...o}=t;return void 0!==t.config?e.createElement(ee,R({ref:n},o,{key:null===(i=t.config.__autoGenerated)||void 0===i||null===(i=i.publishItem)||void 0===i?void 0:i.id})):r}));ie.propTypes={className:It.string,config:It.object,variantId:It.string,onEvent:It.func,instanceId:It.string,children:It.node},ie.displayName="EkoGalleryWrapper";var re,oe,se,ae,le,ce,ue,de,he,fe,pe,me,ve,ge,ye,be,ke,we,xe,_e,Ie,Te,Ee,Se,Me,Ae,Ne,Ce,Fe,Oe,Pe,Re,De,Be,Le,ze,We,je,$e,Ue,qe,Ve,Ge,He,Ke,Xe,Ye,Qe,Je,Ze,tn,en=e.memo(ie);const nn=1,rn=2,on=4,sn=8,an=16,ln=1,cn=4,un=8,dn=16,hn=4,fn="[",pn="[!",mn="]",vn={},gn=Symbol(),yn=Symbol("filename"),bn="http://www.w3.org/1999/xhtml",kn="@attach",wn=!0;var xn=Array.isArray,_n=Array.prototype.indexOf,In=Array.from,Tn=Object.defineProperty,En=Object.getOwnPropertyDescriptor,Sn=Object.getOwnPropertyDescriptors,Mn=Object.prototype,An=Array.prototype,Nn=Object.getPrototypeOf,Cn=Object.isExtensible;const Fn=()=>{};function On(){var t,e;return{promise:new Promise(((n,i)=>{t=n,e=i})),resolve:t,reject:e}}const Pn=2,Rn=4,Dn=8,Bn=1<<24,Ln=16,zn=32,Wn=64,jn=128,$n=512,Un=1024,qn=2048,Vn=4096,Gn=8192,Hn=16384,Kn=32768,Xn=65536,Yn=1<<17,Qn=1<<18,Jn=1<<19,Zn=1<<20,ti=1<<25,ei=32768,ni=1<<21,ii=1<<22,ri=1<<23,oi=Symbol("$state"),si=Symbol("legacy props"),ai=Symbol(""),li=Symbol("proxy path"),ci=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"},ui=3,di=8;function hi(t){{const e=new Error(`lifecycle_outside_component\n\`${t}(...)\` can only be used during component initialisation\nhttps://svelte.dev/e/lifecycle_outside_component`);throw e.name="Svelte error",e}}var fi="font-weight: bold",pi="font-weight: normal";function mi(t){console.warn("%c[svelte] hydration_mismatch\n%cHydration failed because the initial UI does not match what was rendered on the server\nhttps://svelte.dev/e/hydration_mismatch",fi,pi)}function vi(t){console.warn(`%c[svelte] state_proxy_equality_mismatch\n%cReactive \`$state(...)\` proxies and the values they proxy have different identities. Because of this, comparisons with \`${t}\` will produce unexpected results\nhttps://svelte.dev/e/state_proxy_equality_mismatch`,fi,pi)}let gi,yi=!1;function bi(t){yi=t}function ki(t){if(null===t)throw mi(),vn;return gi=t}function wi(){return ki(Do(gi))}function xi(t){if(yi){if(null!==Do(gi))throw mi(),vn;gi=t}}function _i(t=!0){for(var e=0,n=gi;;){if(n.nodeType===di){var i=n.data;if(i===mn){if(0===e)return n;e-=1}else i!==fn&&i!==pn||(e+=1)}var r=Do(n);t&&n.remove(),n=r}}function Ii(t){if(!t||t.nodeType!==di)throw mi(),vn;return t.data}function Ti(t){return t===this.v}function Ei(t){return e=t,n=this.v,!(e!=e?n==n:e!==n||null!==e&&"object"==typeof e||"function"==typeof e);var e,n}let Si=!1;function Mi(t,e){return t.label=e,Ai(t.v,e),t}function Ai(t,e){var n;return null==t||null===(n=t[li])||void 0===n||n.call(t,e),t}function Ni(t){const e=new Error,n=function(){const t=Error.stackTraceLimit;Error.stackTraceLimit=1/0;const e=(new Error).stack;if(Error.stackTraceLimit=t,!e)return[];const n=e.split("\n"),i=[];for(let t=0;t<n.length;t++){const e=n[t],r=e.replaceAll("\\","/");if("Error"!==e.trim()){if(e.includes("validate_each_keys"))return[];r.includes("svelte/src/internal")||r.includes("node_modules/.vite")||i.push(e)}}return i}();return 0===n.length?null:(n.unshift("\n"),Tn(e,"stack",{value:n.join("\n")}),Tn(e,"name",{value:t}),e)}let Ci=null;function Fi(t){Ci=t}let Oi=null;function Pi(t){Oi=t}let Ri=null;function Di(t){Ri=t}function Bi(t){return Wi("getContext").get(t)}function Li(t,e=!1,n){Ci={p:Ci,i:!1,c:null,e:null,s:t,x:null,l:null},Ci.function=n,Ri=n}function zi(t){var e,n,i=Ci,r=i.e;if(null!==r)for(var o of(i.e=null,r))Xo(o);return i.i=!0,Ci=i.p,Ri=null!==(e=null===(n=Ci)||void 0===n?void 0:n.function)&&void 0!==e?e:null,{}}function Wi(t){var e,n;return null===Ci&&hi(t),null!==(n=(e=Ci).c)&&void 0!==n?n:e.c=new Map(function(t){let e=t.p;for(;null!==e;){const t=e.c;if(null!==t)return t;e=e.p}return null}(Ci)||void 0)}let ji=[];function $i(){var t=ji;ji=[],function(t){for(var e=0;e<t.length;e++)t[e]()}(t)}function Ui(t){if(0===ji.length&&!sr){var e=ji;queueMicrotask((()=>{e===ji&&$i()}))}ji.push(t)}function qi(){for(;ji.length>0;)$i()}const Vi=new WeakMap;function Gi(t){var e=ys;if(null===e)return ms.f|=ri,t;if(t instanceof Error&&!Vi.has(t)&&Vi.set(t,function(t,e){var n,i;const r=En(t,"message");if(r&&!r.configurable)return;var o=No?" ":"\t",s=`\n${o}in ${(null===(n=e.fn)||void 0===n?void 0:n.name)||"<unknown>"}`,a=e.ctx;for(;null!==a;){var l;s+=`\n${o}in ${null===(l=a.function)||void 0===l?void 0:l[yn].split("/").pop()}`,a=a.p}return{message:t.message+`\n${s}\n`,stack:null===(i=t.stack)||void 0===i?void 0:i.split("\n").filter((t=>!t.includes("svelte/src/internal"))).join("\n")}}(t,e)),e.f&Kn)Hi(t,e);else{if(!(e.f&jn))throw!e.parent&&t instanceof Error&&Ki(t),t;e.b.error(t)}}function Hi(t,e){for(;null!==e;){if(e.f&jn)try{return void e.b.error(t)}catch(e){t=e}e=e.parent}throw t instanceof Error&&Ki(t),t}function Ki(t){const e=Vi.get(t);e&&(Tn(t,"message",{value:e.message}),Tn(t,"stack",{value:e.stack}))}const Xi=-7169;function Yi(t,e){t.f=t.f&Xi|e}function Qi(t){t.f&$n||null===t.deps?Yi(t,Un):Yi(t,Vn)}function Ji(t){if(null!==t)for(const e of t)e.f&Pn&&e.f&ei&&(e.f^=ei,Ji(e.deps))}function Zi(t,e,n){t.f&qn?e.add(t):t.f&Vn&&n.add(t),Ji(t.deps),Yi(t,Un)}const tr=new Set;let er=null,nr=null,ir=[],rr=null,or=!1,sr=!1;var ar=new WeakMap,lr=new WeakMap,cr=new WeakMap,ur=new WeakMap,dr=new WeakMap,hr=new WeakMap,fr=new WeakMap,pr=new WeakSet;class mr{constructor(){O(this,pr),P(this,"committed",!1),P(this,"current",new Map),P(this,"previous",new Map),C(this,ar,new Set),C(this,lr,new Set),C(this,cr,0),C(this,ur,0),C(this,dr,null),C(this,hr,new Set),C(this,fr,new Set),P(this,"skipped_effects",new Set),P(this,"is_fork",!1)}is_deferred(){return this.is_fork||N(ur,this)>0}process(t){ir=[],this.apply();var e,n=[],i=[];for(const e of t)M(pr,this,vr).call(this,e,n,i);(this.is_fork||M(pr,this,yr).call(this),this.is_deferred())?(M(pr,this,gr).call(this,i),M(pr,this,gr).call(this,n)):(er=null,_r(i),_r(n),null===(e=N(dr,this))||void 0===e||e.resolve());nr=null}capture(t,e){var n;(e===gn||this.previous.has(t)||this.previous.set(t,e),t.f&ri)||(this.current.set(t,t.v),null===(n=nr)||void 0===n||n.set(t,t.v))}activate(){er=this,this.apply()}deactivate(){er===this&&(er=null,nr=null)}flush(){if(this.activate(),ir.length>0){if(kr(),null!==er&&er!==this)return}else 0===N(cr,this)&&this.process([]);this.deactivate()}discard(){for(const t of N(lr,this))t(this);N(lr,this).clear()}increment(t){F(cr,this,N(cr,this)+1),t&&F(ur,this,N(ur,this)+1)}decrement(t){F(cr,this,N(cr,this)-1),t&&F(ur,this,N(ur,this)-1),this.revive()}revive(){for(const t of N(hr,this))N(fr,this).delete(t),Yi(t,qn),Er(t);for(const t of N(fr,this))Yi(t,Vn),Er(t);this.flush()}oncommit(t){N(ar,this).add(t)}ondiscard(t){N(lr,this).add(t)}settled(){var t;return(null!==(t=N(dr,this))&&void 0!==t?t:F(dr,this,On())).promise}static ensure(){if(null===er){const t=er=new mr;tr.add(er),sr||mr.enqueue((()=>{er===t&&t.flush()}))}return er}static enqueue(t){Ui(t)}apply(){}}function vr(t,e,n){t.f^=Un;for(var i=t.first,r=null;null!==i;){var o=i.f,s=!!(o&(zn|Wn));if(!(s&&!!(o&Un)||!!(o&Gn)||this.skipped_effects.has(i))&&null!==i.fn){s?i.f^=Un:null!==r&&o&(Rn|Dn|Bn)?r.b.defer_effect(i):o&Rn?e.push(i):Ns(i)&&(o&Ln&&N(hr,this).add(i),Rs(i));var a=i.first;if(null!==a){i=a;continue}}var l=i.parent;for(i=i.next;null===i&&null!==l;)l===r&&(r=null),i=l.next,l=l.parent}}function gr(t){for(var e=0;e<t.length;e+=1)Zi(t[e],N(hr,this),N(fr,this))}function yr(){if(0===N(ur,this)){for(const t of N(ar,this))t();N(ar,this).clear()}0===N(cr,this)&&M(pr,this,br).call(this)}function br(){if(tr.size>1){this.previous.clear();var t=nr,e=!0;for(const t of tr){if(t===this){e=!1;continue}const i=[];for(const[n,r]of this.current){if(t.current.has(n)){if(!e||r===t.current.get(n))continue;t.current.set(n,r)}i.push(n)}if(0===i.length)continue;const r=[...t.current.keys()].filter((t=>!this.current.has(t)));if(r.length>0){var n=ir;ir=[];const e=new Set,o=new Map;for(const t of i)Ir(t,r,e,o);if(ir.length>0){er=t,t.apply();for(const e of ir)M(pr,t,vr).call(t,e,[],[]);t.deactivate()}ir=n}}er=null,nr=t}this.committed=!0,tr.delete(this)}function kr(){var t=ds;or=!0;var e=new Set;try{var n=0;for(hs(!0);ir.length>0;){var i=mr.ensure();if(n++>1e3){if(wn){var r=new Map;for(const t of i.current.keys())for(const[e,n]of null!==(o=t.updated)&&void 0!==o?o:[]){var o,s=r.get(e);s||(s={error:n.error,count:0},r.set(e,s)),s.count+=n.count}for(const t of r.values())t.error&&console.error(t.error)}wr()}if(i.process(ir),ho.clear(),wn)for(const t of i.current.keys())e.add(t)}}finally{or=!1,hs(t),rr=null;for(const t of e)t.updated=null}}function wr(){try{!function(){{const t=new Error("effect_update_depth_exceeded\nMaximum update depth exceeded. This typically indicates that an effect reads and writes the same piece of state\nhttps://svelte.dev/e/effect_update_depth_exceeded");throw t.name="Svelte error",t}}()}catch(t){Tn(t,"stack",{value:""}),Hi(t,rr)}}let xr=null;function _r(t){var e=t.length;if(0!==e){for(var n=0;n<e;){var i,r=t[n++];if(!(r.f&(Hn|Gn))&&Ns(r))if(xr=new Set,Rs(r),null===r.deps&&null===r.first&&null===r.nodes&&(null===r.teardown&&null===r.ac?os(r):r.fn=null),(null===(i=xr)||void 0===i?void 0:i.size)>0){ho.clear();for(const t of xr){if(t.f&(Hn|Gn))continue;const e=[t];let n=t.parent;for(;null!==n;)xr.has(n)&&(xr.delete(n),e.push(n)),n=n.parent;for(let t=e.length-1;t>=0;t--){const n=e[t];n.f&(Hn|Gn)||Rs(n)}}xr.clear()}}xr=null}}function Ir(t,e,n,i){if(!n.has(t)&&(n.add(t),null!==t.reactions))for(const r of t.reactions){const t=r.f;t&Pn?Ir(r,e,n,i):t&(ii|Ln)&&!(t&qn)&&Tr(r,e,i)&&(Yi(r,qn),Er(r))}}function Tr(t,e,n){const i=n.get(t);if(void 0!==i)return i;if(null!==t.deps)for(const i of t.deps){if(e.includes(i))return!0;if(i.f&Pn&&Tr(i,e,n))return n.set(i,!0),!0}return n.set(t,!1),!1}function Er(t){for(var e=rr=t;null!==e.parent;){var n=(e=e.parent).f;if(or&&e===ys&&n&Ln&&!(n&Qn))return;if(n&(Wn|zn)){if(!(n&Un))return;e.f^=Un}}ir.push(e)}var Sr=Xn|Jn|jn;var Mr=new WeakMap,Ar=new WeakMap,Nr=new WeakMap,Cr=new WeakMap,Fr=new WeakMap,Or=new WeakMap,Pr=new WeakMap,Rr=new WeakMap,Dr=new WeakMap,Br=new WeakMap,Lr=new WeakMap,zr=new WeakMap,Wr=new WeakMap,jr=new WeakMap,$r=new WeakMap,Ur=new WeakMap,qr=new WeakMap,Vr=new WeakSet;class Gr{constructor(t,e,n){O(this,Vr),P(this,"parent",void 0),P(this,"is_pending",!1),C(this,Mr,void 0),C(this,Ar,yi?gi:null),C(this,Nr,void 0),C(this,Cr,void 0),C(this,Fr,void 0),C(this,Or,null),C(this,Pr,null),C(this,Rr,null),C(this,Dr,null),C(this,Br,null),C(this,Lr,0),C(this,zr,0),C(this,Wr,!1),C(this,jr,new Set),C(this,$r,new Set),C(this,Ur,null),C(this,qr,function(t){let e,n=0,i=mo(0);return Mi(i,"createSubscriber version"),()=>{Go()&&(Bs(i),Qo((()=>(0===n&&(e=Ws((()=>t((()=>wo(i)))))),n+=1,()=>{Ui((()=>{var t;n-=1,0===n&&(null===(t=e)||void 0===t||t(),e=void 0,wo(i))}))}))))}}((()=>(F(Ur,this,mo(N(Lr,this))),Mi(N(Ur,this),"$effect.pending()"),()=>{F(Ur,this,null)})))),F(Mr,this,t),F(Nr,this,e),F(Cr,this,n),this.parent=ys.b,this.is_pending=!!N(Nr,this).pending,F(Fr,this,Zo((()=>{if(ys.b=this,yi){const t=N(Ar,this);wi();t.nodeType===di&&t.data===pn?M(Vr,this,Kr).call(this):(M(Vr,this,Hr).call(this),0===N(zr,this)&&(this.is_pending=!1))}else{var t=M(Vr,this,Xr).call(this);try{F(Or,this,es((()=>n(t))))}catch(t){this.error(t)}N(zr,this)>0?M(Vr,this,Qr).call(this):this.is_pending=!1}return()=>{var t;null===(t=N(Br,this))||void 0===t||t.remove()}}),Sr)),yi&&F(Mr,this,gi)}defer_effect(t){Zi(t,N(jr,this),N($r,this))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!N(Nr,this).pending}update_pending_count(t){M(Vr,this,Jr).call(this,t),F(Lr,this,N(Lr,this)+t),N(Ur,this)&&bo(N(Ur,this),N(Lr,this))}get_effect_pending(){return N(qr,this).call(this),Bs(N(Ur,this))}error(t){var e=N(Nr,this).onerror;let n=N(Nr,this).failed;if(N(Wr,this)||!e&&!n)throw t;N(Or,this)&&(rs(N(Or,this)),F(Or,this,null)),N(Pr,this)&&(rs(N(Pr,this)),F(Pr,this,null)),N(Rr,this)&&(rs(N(Rr,this)),F(Rr,this,null)),yi&&(ki(N(Ar,this)),function(t=1){if(yi){for(var e=t,n=gi;e--;)n=Do(n);gi=n}}(),ki(_i()));var i=!1,r=!1;const o=()=>{i?console.warn("%c[svelte] svelte_boundary_reset_noop\n%cA `<svelte:boundary>` `reset` function only resets the boundary the first time it is called\nhttps://svelte.dev/e/svelte_boundary_reset_noop",fi,pi):(i=!0,r&&function(){{const t=new Error("svelte_boundary_reset_onerror\nA `<svelte:boundary>` `reset` function cannot be called while an error is still being handled\nhttps://svelte.dev/e/svelte_boundary_reset_onerror");throw t.name="Svelte error",t}}(),mr.ensure(),F(Lr,this,0),null!==N(Rr,this)&&ss(N(Rr,this),(()=>{F(Rr,this,null)})),this.is_pending=this.has_pending_snippet(),F(Or,this,M(Vr,this,Yr).call(this,(()=>(F(Wr,this,!1),es((()=>N(Cr,this).call(this,N(Mr,this)))))))),N(zr,this)>0?M(Vr,this,Qr).call(this):this.is_pending=!1)};var s=ms;try{gs(null),r=!0,null==e||e(t,o),r=!1}catch(t){Hi(t,N(Fr,this)&&N(Fr,this).parent)}finally{gs(s)}n&&Ui((()=>{F(Rr,this,M(Vr,this,Yr).call(this,(()=>{mr.ensure(),F(Wr,this,!0);try{return es((()=>{n(N(Mr,this),(()=>t),(()=>o))}))}catch(t){return Hi(t,N(Fr,this).parent),null}finally{F(Wr,this,!1)}})))}))}}function Hr(){try{F(Or,this,es((()=>N(Cr,this).call(this,N(Mr,this)))))}catch(t){this.error(t)}}function Kr(){const t=N(Nr,this).pending;t&&(F(Pr,this,es((()=>t(N(Mr,this))))),mr.enqueue((()=>{var t=M(Vr,this,Xr).call(this);F(Or,this,M(Vr,this,Yr).call(this,(()=>(mr.ensure(),es((()=>N(Cr,this).call(this,t))))))),N(zr,this)>0?M(Vr,this,Qr).call(this):(ss(N(Pr,this),(()=>{F(Pr,this,null)})),this.is_pending=!1)})))}function Xr(){var t=N(Mr,this);return this.is_pending&&(F(Br,this,Po()),N(Mr,this).before(N(Br,this)),t=N(Br,this)),t}function Yr(t){var e=ys,n=ms,i=Ci;bs(N(Fr,this)),gs(N(Fr,this)),Fi(N(Fr,this).ctx);try{return t()}catch(t){return Gi(t),null}finally{bs(e),gs(n),Fi(i)}}function Qr(){const t=N(Nr,this).pending;null!==N(Or,this)&&(F(Dr,this,document.createDocumentFragment()),N(Dr,this).append(N(Br,this)),us(N(Or,this),N(Dr,this))),null===N(Pr,this)&&F(Pr,this,es((()=>t(N(Mr,this)))))}function Jr(t){var e;if(this.has_pending_snippet()){if(F(zr,this,N(zr,this)+t),0===N(zr,this)){this.is_pending=!1;for(const t of N(jr,this))Yi(t,qn),Er(t);for(const t of N($r,this))Yi(t,Vn),Er(t);N(jr,this).clear(),N($r,this).clear(),N(Pr,this)&&ss(N(Pr,this),(()=>{F(Pr,this,null)})),N(Dr,this)&&(N(Mr,this).before(N(Dr,this)),F(Dr,this,null))}}else this.parent&&M(Vr,e=this.parent,Jr).call(e,t)}function Zr(t,e,n,i){const r=no;if(0!==n.length||0!==t.length){var o,s,a,l,c,u=er,d=ys,h=(o=ys,s=ms,a=Ci,l=er,c=Oi,function(t=!0){bs(o),gs(s),Fi(a),t&&(null==l||l.activate()),Pi(c)});t.length>0?Promise.all(t).then((()=>{h();try{return f()}finally{null==u||u.deactivate(),to()}})):f()}else i(e.map(r));function f(){Promise.all(n.map((t=>io(t)))).then((t=>{h();try{i([...e.map(r),...t])}catch(t){d.f&Hn||Hi(t,d)}null==u||u.deactivate(),to()})).catch((t=>{Hi(t,d)}))}}function to(){bs(null),gs(null),Fi(null),Pi(null)}const eo=new Set;function no(t){var e=Pn|qn,n=null!==ms&&ms.f&Pn?ms:null;null!==ys&&(ys.f|=Jn);return{ctx:Ci,deps:null,effects:null,equals:Ti,f:e,fn:t,reactions:null,rv:0,v:gn,wv:0,parent:null!=n?n:ys,ac:null}}function io(t,e,n){let i=ys;null===i&&function(){{const t=new Error("async_derived_orphan\nCannot create a `$derived(...)` with an `await` expression outside of an effect tree\nhttps://svelte.dev/e/async_derived_orphan");throw t.name="Svelte error",t}}();var r=i.b,o=void 0,s=mo(gn);s.label=e;var a=!ms,l=new Map;return function(t){Vo(ii|Jn,t,!0)}((()=>{var e=On();o=e.promise;try{Promise.resolve(t()).then(e.resolve,e.reject).then((()=>{n===er&&n.committed&&n.deactivate(),to()}))}catch(t){e.reject(t),to()}var n=er;if(a){var i,c=r.is_rendered();r.update_pending_count(1),n.increment(c),null===(i=l.get(n))||void 0===i||i.reject(ci),l.delete(n),l.set(n,e)}const u=(t,e=void 0)=>{if(n.activate(),e)e!==ci&&(s.f|=ri,bo(s,e));else{s.f&ri&&(s.f^=ri),bo(s,t);for(const[t,e]of l){if(l.delete(t),t===n)break;e.reject(ci)}}a&&(r.update_pending_count(-1),n.decrement(c))};e.promise.then(u,(t=>u(null,t||"unknown")))})),Ho((()=>{for(const t of l.values())t.reject(ci)})),s.f|=ii,new Promise((t=>{!function e(n){function i(){n===o?t(s):e(o)}n.then(i,i)}(o)}))}function ro(t){const e=no(t);return ws(e),e}function oo(t){const e=no(t);return e.equals=Ei,e}function so(t){var e=t.effects;if(null!==e){t.effects=null;for(var n=0;n<e.length;n+=1)rs(e[n])}}let ao=[];function lo(t){var e,n=ys;bs(function(t){for(var e=t.parent;null!==e;){if(!(e.f&Pn))return e.f&Hn?null:e;e=e.parent}return null}(t));{let i=uo;fo(new Set);try{ao.includes(t)&&function(){{const t=new Error("derived_references_self\nA derived value cannot reference itself recursively\nhttps://svelte.dev/e/derived_references_self");throw t.name="Svelte error",t}}(),ao.push(t),t.f&=~ei,so(t),e=Fs(t)}finally{bs(n),fo(i),ao.pop()}}return e}function co(t){var e,n,i=lo(t);if(!t.equals(i)&&(t.wv=As(),(null===(e=er)||void 0===e||!e.is_fork||null===t.deps)&&(t.v=i,null===t.deps)))return void Yi(t,Un);fs||(null!==nr?(Go()||null!==(n=er)&&void 0!==n&&n.is_fork)&&nr.set(t,i):Qi(t))}let uo=new Set;const ho=new Map;function fo(t){uo=t}let po=!1;function mo(t,e){return{f:0,v:t,reactions:null,equals:Ti,rv:0,wv:0}}function vo(t,e){const n=mo(t);return ws(n),n}function go(t,e=!1,n=!0){const i=mo(t);return e||(i.equals=Ei),i}function yo(t,e,n=!1){var i;null!==ms&&(!vs||ms.f&Yn)&&ms.f&(Pn|Ln|ii|Yn)&&(null===(i=ks)||void 0===i||!i.includes(t))&&function(){{const t=new Error("state_unsafe_mutation\nUpdating state inside `$derived(...)`, `$inspect(...)` or a template expression is forbidden. If the value should not be reactive, declare it without `$state`\nhttps://svelte.dev/e/state_unsafe_mutation");throw t.name="Svelte error",t}}();let r=n?Io(e):e;return Ai(r,t.label),bo(t,r)}function bo(t,e){if(!t.equals(e)){var n=t.v;fs?ho.set(t,e):ho.set(t,n),t.v=e;var i=mr.ensure();if(i.capture(t,n),null!==ys){var r,o,s;null!==(r=t.updated)&&void 0!==r||(t.updated=new Map);const e=(null!==(o=null===(s=t.updated.get(""))||void 0===s?void 0:s.count)&&void 0!==o?o:0)+1;if(t.updated.set("",{error:null,count:e}),e>5){const e=Ni("updated at");if(null!==e){let n=t.updated.get(e.stack);n||(n={error:e,count:0},t.updated.set(e.stack,n)),n.count++}}}if(null!==ys&&(t.set_during_effect=!0),t.f&Pn){const e=t;t.f&qn&&lo(e),Qi(e)}t.wv=As(),xo(t,qn),null!==ys&&ys.f&Un&&!(ys.f&(zn|Wn))&&(null===Is?function(t){Is=t}([t]):Is.push(t)),!i.is_fork&&uo.size>0&&!po&&ko()}return e}function ko(){po=!1;var t=ds;hs(!0);const e=Array.from(uo);try{for(const t of e)t.f&Un&&Yi(t,Vn),Ns(t)&&Rs(t)}finally{hs(t)}uo.clear()}function wo(t){yo(t,t.v+1)}function xo(t,e){var n=t.reactions;if(null!==n)for(var i=n.length,r=0;r<i;r++){var o=n[r],s=o.f;if(s&Yn)uo.add(o);else{var a=!(s&qn);if(a&&Yi(o,e),s&Pn){var l,c=o;null===(l=nr)||void 0===l||l.delete(c),s&ei||(s&$n&&(o.f|=ei),xo(c,Vn))}else a&&(s&Ln&&null!==xr&&xr.add(o),Er(o))}}}const _o=/^[a-zA-Z_$][a-zA-Z_$0-9]*$/;function Io(t){if("object"!=typeof t||null===t||oi in t)return t;const e=Nn(t);if(e!==Mn&&e!==An)return t;var n=new Map,i=xn(t),r=vo(0),o=Ss,s=t=>{if(Ss===o)return t();var e=ms,n=Ss;gs(null),Ms(o);var i=t();return gs(e),Ms(n),i};i&&(n.set("length",vo(t.length)),t=new Proxy(t,{get(t,e,n){var i=Reflect.get(t,e,n);return So.has(e)?function(...t){po=!0;var e=i.apply(this,t);return ko(),e}:i}}));var a="";let l=!1;function c(t){if(!l){l=!0,Mi(r,`${a=t} version`);for(const[t,e]of n)Mi(e,To(a,t));l=!1}}return new Proxy(t,{defineProperty(t,e,i){"value"in i&&!1!==i.configurable&&!1!==i.enumerable&&!1!==i.writable||function(){{const t=new Error("state_descriptors_fixed\nProperty descriptors defined on `$state` objects must contain `value` and always be `enumerable`, `configurable` and `writable`.\nhttps://svelte.dev/e/state_descriptors_fixed");throw t.name="Svelte error",t}}();var r=n.get(e);return void 0===r?r=s((()=>{var t=vo(i.value);return n.set(e,t),"string"==typeof e&&Mi(t,To(a,e)),t})):yo(r,i.value,!0),!0},deleteProperty(t,e){var i=n.get(e);if(void 0===i){if(e in t){const t=s((()=>vo(gn)));n.set(e,t),wo(r),Mi(t,To(a,e))}}else yo(i,gn),wo(r);return!0},get(e,i,r){var o;if(i===oi)return t;if(i===li)return c;var l=n.get(i),u=i in e;if(void 0===l&&(!u||null!==(o=En(e,i))&&void 0!==o&&o.writable)&&(l=s((()=>{var t=vo(Io(u?e[i]:gn));return Mi(t,To(a,i)),t})),n.set(i,l)),void 0!==l){var d=Bs(l);return d===gn?void 0:d}return Reflect.get(e,i,r)},getOwnPropertyDescriptor(t,e){var i=Reflect.getOwnPropertyDescriptor(t,e);if(i&&"value"in i){var r=n.get(e);r&&(i.value=Bs(r))}else if(void 0===i){var o=n.get(e),s=null==o?void 0:o.v;if(void 0!==o&&s!==gn)return{enumerable:!0,configurable:!0,value:s,writable:!0}}return i},has(t,e){var i;if(e===oi)return!0;var r=n.get(e),o=void 0!==r&&r.v!==gn||Reflect.has(t,e);if((void 0!==r||null!==ys&&(!o||null!==(i=En(t,e))&&void 0!==i&&i.writable))&&(void 0===r&&(r=s((()=>{var n=vo(o?Io(t[e]):gn);return Mi(n,To(a,e)),n})),n.set(e,r)),Bs(r)===gn))return!1;return o},set(t,e,o,l){var c,u=n.get(e),d=e in t;if(i&&"length"===e)for(var h=o;h<u.v;h+=1){var f=n.get(h+"");void 0!==f?yo(f,gn):h in t&&(f=s((()=>vo(gn))),n.set(h+"",f),Mi(f,To(a,h)))}void 0===u?(!d||null!==(c=En(t,e))&&void 0!==c&&c.writable)&&(Mi(u=s((()=>vo(void 0))),To(a,e)),yo(u,Io(o)),n.set(e,u)):(d=u.v!==gn,yo(u,s((()=>Io(o)))));var p=Reflect.getOwnPropertyDescriptor(t,e);if(null!=p&&p.set&&p.set.call(l,o),!d){if(i&&"string"==typeof e){var m=n.get("length"),v=Number(e);Number.isInteger(v)&&v>=m.v&&yo(m,v+1)}wo(r)}return!0},ownKeys(t){Bs(r);var e=Reflect.ownKeys(t).filter((t=>{var e=n.get(t);return void 0===e||e.v!==gn}));for(var[i,o]of n)o.v===gn||i in t||e.push(i);return e},setPrototypeOf(){!function(){{const t=new Error("state_prototype_fixed\nCannot set prototype of `$state` object\nhttps://svelte.dev/e/state_prototype_fixed");throw t.name="Svelte error",t}}()}})}function To(t,e){var n;return"symbol"==typeof e?`${t}[Symbol(${null!==(n=e.description)&&void 0!==n?n:""})]`:_o.test(e)?`${t}.${e}`:/^\d+$/.test(e)?`${t}[${e}]`:`${t}['${e}']`}function Eo(t){try{if(null!==t&&"object"==typeof t&&oi in t)return t[oi]}catch{}return t}const So=new Set(["copyWithin","fill","pop","push","reverse","shift","sort","splice","unshift"]);function Mo(t,e,n=!0){try{t===e!=(Eo(t)===Eo(e))&&vi(n?"===":"!==")}catch{}return t===e===n}var Ao,No,Co,Fo;function Oo(){if(void 0===Ao){Ao=window,No=/Firefox/.test(navigator.userAgent);var t=Element.prototype,e=Node.prototype,n=Text.prototype;Co=En(e,"firstChild").get,Fo=En(e,"nextSibling").get,Cn(t)&&(t.__click=void 0,t.__className=void 0,t.__attributes=null,t.__style=void 0,t.__e=void 0),Cn(n)&&(n.__t=void 0),t.__svelte_meta=null,function(){const t=Array.prototype,e=Array.__svelte_cleanup;e&&e();const{indexOf:n,lastIndexOf:i,includes:r}=t;t.indexOf=function(t,e){const i=n.call(this,t,e);if(-1===i)for(let n=null!=e?e:0;n<this.length;n+=1)if(Eo(this[n])===t){vi("array.indexOf(...)");break}return i},t.lastIndexOf=function(t,e){const n=i.call(this,t,null!=e?e:this.length-1);if(-1===n)for(let n=0;n<=(null!=e?e:this.length-1);n+=1)if(Eo(this[n])===t){vi("array.lastIndexOf(...)");break}return n},t.includes=function(t,e){const n=r.call(this,t,e);if(!n)for(let e=0;e<this.length;e+=1)if(Eo(this[e])===t){vi("array.includes(...)");break}return n},Array.__svelte_cleanup=()=>{t.indexOf=n,t.lastIndexOf=i,t.includes=r}}()}}function Po(t=""){return document.createTextNode(t)}function Ro(t){return Co.call(t)}function Do(t){return Fo.call(t)}function Bo(t,e){if(!yi)return Ro(t);var n=Ro(gi);if(null===n)n=gi.appendChild(Po());else if(e&&n.nodeType!==ui){var i,r=Po();return null===(i=n)||void 0===i||i.before(r),ki(r),r}return ki(n),n}function Lo(t,e=!1){var n;if(!yi){var i=Ro(t);return i instanceof Comment&&""===i.data?Do(i):i}if(e&&(null===(n=gi)||void 0===n?void 0:n.nodeType)!==ui){var r,o=Po();return null===(r=gi)||void 0===r||r.before(o),ki(o),o}return gi}function zo(t,e=1,n=!1){var i;let r=yi?gi:t;for(var o;e--;)o=r,r=Do(r);if(!yi)return r;if(n&&(null===(i=r)||void 0===i?void 0:i.nodeType)!==ui){var s,a=Po();if(null===r)null===(s=o)||void 0===s||s.after(a);else r.before(a);return ki(a),a}return ki(r),r}function Wo(t){t.textContent=""}function jo(t,e){if(e){const e=document.body;t.autofocus=!0,Ui((()=>{document.activeElement===e&&t.focus()}))}}let $o=!1;function Uo(t){var e=ms,n=ys;gs(null),bs(null);try{return t()}finally{gs(e),bs(n)}}function qo(t){null===ys&&(null===ms&&function(t){{const e=new Error(`effect_orphan\n\`${t}\` can only be used inside an effect (e.g. during component initialisation)\nhttps://svelte.dev/e/effect_orphan`);throw e.name="Svelte error",e}}(t),function(){{const t=new Error("effect_in_unowned_derived\nEffect cannot be created inside a `$derived` value that was not itself created inside an effect\nhttps://svelte.dev/e/effect_in_unowned_derived");throw t.name="Svelte error",t}}()),fs&&function(t){{const e=new Error(`effect_in_teardown\n\`${t}\` cannot be used inside an effect cleanup function\nhttps://svelte.dev/e/effect_in_teardown`);throw e.name="Svelte error",e}}(t)}function Vo(t,e,n){for(var i=ys;null!==i&&i.f&Yn;)i=i.parent;null!==i&&i.f&Gn&&(t|=Gn);var r={ctx:Ci,deps:null,nodes:null,f:t|qn|$n,first:null,fn:e,last:null,next:null,parent:i,b:i&&i.b,prev:null,teardown:null,wv:0,ac:null};if(r.component_function=Ri,n)try{Rs(r),r.f|=Kn}catch(t){throw rs(r),t}else null!==e&&Er(r);var o=r;if(!n||null!==o.deps||null!==o.teardown||null!==o.nodes||o.first!==o.last||o.f&Jn||(o=o.first,t&Ln&&t&Xn&&null!==o&&(o.f|=Xn)),null!==o&&(o.parent=i,null!==i&&function(t,e){var n=e.last;null===n?e.last=e.first=t:(n.next=t,t.prev=n,e.last=t)}(o,i),null!==ms&&ms.f&Pn&&!(t&Wn))){var s,a=ms;(null!==(s=a.effects)&&void 0!==s?s:a.effects=[]).push(o)}return r}function Go(){return null!==ms&&!vs}function Ho(t){const e=Vo(Dn,null,!1);return Yi(e,Un),e.teardown=t,e}function Ko(t){qo("$effect"),Tn(t,"name",{value:"$effect"});var e=ys.f;if(!!(ms||!(e&zn)||e&Kn))return Xo(t);var n,i=Ci;(null!==(n=i.e)&&void 0!==n?n:i.e=[]).push(t)}function Xo(t){return Vo(Rn|Zn,t,!1)}function Yo(t){return Vo(Rn,t,!1)}function Qo(t,e=0){return Vo(Dn|e,t,!0)}function Jo(t,e=[],n=[],i=[]){Zr(i,e,n,(e=>{Vo(Dn,(()=>t(...e.map(Bs))),!0)}))}function Zo(t,e=0){var n=Vo(Ln|e,t,!0);return n.dev_stack=Oi,n}function ts(t,e=0){var n=Vo(Bn|e,t,!0);return n.dev_stack=Oi,n}function es(t){return Vo(zn|Jn,t,!0)}function ns(t){var e=t.teardown;if(null!==e){const t=fs,n=ms;ps(!0),gs(null);try{e.call(null)}finally{ps(t),gs(n)}}}function is(t,e=!1){var n=t.first;for(t.first=t.last=null;null!==n;){const t=n.ac;null!==t&&Uo((()=>{t.abort(ci)}));var i=n.next;n.f&Wn?n.parent=null:rs(n,e),n=i}}function rs(t,e=!0){var n=!1;(e||t.f&Qn)&&null!==t.nodes&&null!==t.nodes.end&&(!function(t,e){for(;null!==t;){var n=t===e?null:Do(t);t.remove(),t=n}}(t.nodes.start,t.nodes.end),n=!0),is(t,e&&!n),Ps(t,0),Yi(t,Hn);var i=t.nodes&&t.nodes.t;if(null!==i)for(const t of i)t.stop();ns(t);var r=t.parent;null!==r&&null!==r.first&&os(t),t.component_function=null,t.next=t.prev=t.teardown=t.ctx=t.deps=t.fn=t.nodes=t.ac=null}function os(t){var e=t.parent,n=t.prev,i=t.next;null!==n&&(n.next=i),null!==i&&(i.prev=n),null!==e&&(e.first===t&&(e.first=i),e.last===t&&(e.last=n))}function ss(t,e,n=!0){var i=[];as(t,i,!0);var r=()=>{n&&rs(t),e&&e()},o=i.length;if(o>0){var s=()=>--o||r();for(var a of i)a.out(s)}else r()}function as(t,e,n){if(!(t.f&Gn)){t.f^=Gn;var i=t.nodes&&t.nodes.t;if(null!==i)for(const t of i)(t.is_global||n)&&e.push(t);for(var r=t.first;null!==r;){var o=r.next;as(r,e,!!(!!(r.f&Xn)||!!(r.f&zn)&&!!(t.f&Ln))&&n),r=o}}}function ls(t){cs(t,!0)}function cs(t,e){if(t.f&Gn){t.f^=Gn,t.f&Un||(Yi(t,qn),Er(t));for(var n=t.first;null!==n;){var i=n.next;cs(n,!!(!!(n.f&Xn)||!!(n.f&zn))&&e),n=i}var r=t.nodes&&t.nodes.t;if(null!==r)for(const t of r)(t.is_global||e)&&t.in()}}function us(t,e){if(t.nodes)for(var n=t.nodes.start,i=t.nodes.end;null!==n;){var r=n===i?null:Do(n);e.append(n),n=r}}let ds=!1;function hs(t){ds=t}let fs=!1;function ps(t){fs=t}let ms=null,vs=!1;function gs(t){ms=t}let ys=null;function bs(t){ys=t}let ks=null;function ws(t){null!==ms&&(null===ks?ks=[t]:ks.push(t))}let xs=null,_s=0,Is=null;let Ts=1,Es=0,Ss=Es;function Ms(t){Ss=t}function As(){return++Ts}function Ns(t){var e=t.f;if(e&qn)return!0;if(e&Pn&&(t.f&=~ei),e&Vn){for(var n=t.deps,i=n.length,r=0;r<i;r++){var o=n[r];if(Ns(o)&&co(o),o.wv>t.wv)return!0}e&$n&&null===nr&&Yi(t,Un)}return!1}function Cs(t,e,n=!0){var i,r=t.reactions;if(null!==r&&(null===(i=ks)||void 0===i||!i.includes(t)))for(var o=0;o<r.length;o++){var s=r[o];s.f&Pn?Cs(s,e,!1):e===s&&(n?Yi(s,qn):s.f&Un&&Yi(s,Vn),Er(s))}}function Fs(t){var e=xs,n=_s,i=Is,r=ms,o=ks,s=Ci,a=vs,l=Ss,c=t.f;xs=null,_s=0,Is=null,ms=c&(zn|Wn)?null:t,ks=null,Fi(t.ctx),vs=!1,Ss=++Es,null!==t.ac&&(Uo((()=>{t.ac.abort(ci)})),t.ac=null);try{t.f|=ni;var u=(0,t.fn)(),d=t.deps;if(null!==xs){var h;if(Ps(t,_s),null!==d&&_s>0)for(d.length=_s+xs.length,h=0;h<xs.length;h++)d[_s+h]=xs[h];else t.deps=d=xs;if(Go()&&t.f&$n)for(h=_s;h<d.length;h++){var f,p;(null!==(p=(f=d[h]).reactions)&&void 0!==p?p:f.reactions=[]).push(t)}}else null!==d&&_s<d.length&&(Ps(t,_s),d.length=_s);if(!(null===Is||vs||null===d||t.f&(Pn|Vn|qn)))for(h=0;h<Is.length;h++)Cs(Is[h],t);return null!==r&&r!==t&&(Es++,null!==Is&&(null===i?i=Is:i.push(...Is))),t.f&ri&&(t.f^=ri),u}catch(t){return Gi(t)}finally{t.f^=ni,xs=e,_s=n,Is=i,ms=r,ks=o,Fi(s),vs=a,Ss=l}}function Os(t,e){let n=e.reactions;if(null!==n){var i=_n.call(n,t);if(-1!==i){var r=n.length-1;0===r?n=e.reactions=null:(n[i]=n[r],n.pop())}}if(null===n&&e.f&Pn&&(null===xs||!xs.includes(e))){var o=e;o.f&$n&&(o.f^=$n,o.f&=~ei),Qi(o),so(o),Ps(o,0)}}function Ps(t,e){var n=t.deps;if(null!==n)for(var i=e;i<n.length;i++)Os(t,n[i])}function Rs(t){var e=t.f;if(!(e&Hn)){Yi(t,Un);var n=ys,i=ds;ys=t,ds=!0;var r,o=Ri;Di(t.component_function);var s=Oi;Pi(null!==(r=t.dev_stack)&&void 0!==r?r:Oi);try{e&(Ln|Bn)?function(t){for(var e=t.first;null!==e;){var n=e.next;e.f&zn||rs(e),e=n}}(t):is(t),ns(t);var a=Fs(t);t.teardown="function"==typeof a?a:null,t.wv=Ts,wn&&Si&&t.f&qn&&t.deps}finally{ds=i,ys=n,Di(o),Pi(s)}}}async function Ds(){await Promise.resolve(),function(){var t=sr;sr=!0;try{for(;;){var e;if(qi(),0===ir.length&&(null===(e=er)||void 0===e||e.flush(),0===ir.length))return void(rr=null);kr()}}finally{sr=t}}()}function Bs(t){var e,n,i=!!(t.f&Pn);if(null!==ms&&!vs&&!(null!==ys&&!!(ys.f&Hn)||null!==(n=ks)&&void 0!==n&&n.includes(t))){var r=ms.deps;if(ms.f&ni)t.rv<Es&&(t.rv=Es,null===xs&&null!==r&&r[_s]===t?_s++:null===xs?xs=[t]:xs.includes(t)||xs.push(t));else{var o,s;(null!==(s=(o=ms).deps)&&void 0!==s?s:o.deps=[]).push(t);var a=t.reactions;null===a?t.reactions=[ms]:a.includes(ms)||a.push(ms)}}if(eo.delete(t),fs&&ho.has(t))return ho.get(t);if(i){var l=t;if(fs){var c=l.v;return(l.f&Un||null===l.reactions)&&!zs(l)||(c=lo(l)),ho.set(l,c),c}var u=!(l.f&$n)&&!vs&&null!==ms&&(ds||!!(ms.f&$n)),d=null===l.deps;Ns(l)&&(u&&(l.f|=$n),co(l)),u&&!d&&Ls(l)}if(null!==(e=nr)&&void 0!==e&&e.has(t))return nr.get(t);if(t.f&ri)throw t.v;return t.v}function Ls(t){if(null!==t.deps){t.f|=$n;for(const n of t.deps){var e;(null!==(e=n.reactions)&&void 0!==e?e:n.reactions=[]).push(t),n.f&Pn&&!(n.f&$n)&&Ls(n)}}}function zs(t){if(t.v===gn)return!0;if(null===t.deps)return!1;for(const e of t.deps){if(ho.has(e))return!0;if(e.f&Pn&&zs(e))return!0}return!1}function Ws(t){var e=vs;try{return vs=!0,t()}finally{vs=e}}const js=new Set,$s=new Set;function Us(t,e,n,i={}){function r(t){if(i.capture||Hs.call(e,t),!t.cancelBubble)return Uo((()=>null==n?void 0:n.call(this,t)))}return t.startsWith("pointer")||t.startsWith("touch")||"wheel"===t?Ui((()=>{e.addEventListener(t,r,i)})):e.addEventListener(t,r,i),r}function qs(t,e,n,i,r){var o={capture:i,passive:r},s=Us(t,e,n,o);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&Ho((()=>{e.removeEventListener(t,s,o)}))}function Vs(t){for(var e=0;e<t.length;e++)js.add(t[e]);for(var n of $s)n(t)}let Gs=null;function Hs(t){var e,n=this,i=n.ownerDocument,r=t.type,o=(null===(e=t.composedPath)||void 0===e?void 0:e.call(t))||[],s=o[0]||t.target;Gs=t;var a=0,l=Gs===t&&t.__root;if(l){var c=o.indexOf(l);if(-1!==c&&(n===document||n===window))return void(t.__root=n);var u=o.indexOf(n);if(-1===u)return;c<=u&&(a=c)}if((s=o[a]||t.target)!==n){Tn(t,"currentTarget",{configurable:!0,get:()=>s||i});var d=ms,h=ys;gs(null),bs(null);try{for(var f,p=[];null!==s;){var m=s.assignedSlot||s.parentNode||s.host||null;try{var v=s["__"+r];null==v||s.disabled&&t.target!==s||v.call(s,t)}catch(t){f?p.push(t):f=t}if(t.cancelBubble||m===n||null===m)break;s=m}if(f){for(let t of p)queueMicrotask((()=>{throw t}));throw f}}finally{t.__root=n,delete t.currentTarget,gs(d),bs(h)}}}function Ks(t){var e=document.createElement("template");return e.innerHTML=t.replaceAll("<!>","\x3c!----\x3e"),e.content}function Xs(t,e){var n=ys;null===n.nodes&&(n.nodes={start:t,end:e,a:null,t:null})}function Ys(t,e){var n,i=!!(1&e),r=!!(2&e),o=!t.startsWith("<!>");return()=>{if(yi)return Xs(gi,null),gi;void 0===n&&(n=Ks(o?t:"<!>"+t),i||(n=Ro(n)));var e=r||No?document.importNode(n,!0):n.cloneNode(!0);i?Xs(Ro(e),e.lastChild):Xs(e,e);return e}}function Qs(t,e,n="svg"){var i,r=`<${n}>${!t.startsWith("<!>")?t:"<!>"+t}</${n}>`;return()=>{if(yi)return Xs(gi,null),gi;if(!i){var t=Ks(r);i=Ro(Ro(t))}var e=i.cloneNode(!0);return Xs(e,e),e}}function Js(t,e){return Qs(t,0,"svg")}function Zs(){if(yi)return Xs(gi,null),gi;var t=document.createDocumentFragment(),e=document.createComment(""),n=Po();return t.append(e,n),Xs(e,n),t}function ta(t,e){if(yi){var n=ys;return n.f&Kn&&null!==n.nodes.end||(n.nodes.end=gi),void wi()}null!==t&&t.before(e)}function ea(t){return t.endsWith("capture")&&"gotpointercapture"!==t&&"lostpointercapture"!==t}const na=["beforeinput","click","change","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"];function ia(t){return na.includes(t)}const ra={formnovalidate:"formNoValidate",ismap:"isMap",nomodule:"noModule",playsinline:"playsInline",readonly:"readOnly",defaultvalue:"defaultValue",defaultchecked:"defaultChecked",srcobject:"srcObject",novalidate:"noValidate",allowfullscreen:"allowFullscreen",disablepictureinpicture:"disablePictureInPicture",disableremoteplayback:"disableRemotePlayback"};function oa(t){var e;return t=t.toLowerCase(),null!==(e=ra[t])&&void 0!==e?e:t}const sa=["touchstart","touchmove"];let aa=!0;function la(t,e){var n,i=null==e?"":"object"==typeof e?e+"":e;i!==(null!==(n=t.__t)&&void 0!==n?n:t.__t=t.nodeValue)&&(t.__t=i,t.nodeValue=i+"")}function ca(t,e){return ha(t,e)}function ua(t,e){var n;Oo(),e.intro=null!==(n=e.intro)&&void 0!==n&&n;const i=e.target,r=yi,o=gi;try{for(var s=Ro(i);s&&(s.nodeType!==di||s.data!==fn);)s=Do(s);if(!s)throw vn;bi(!0),ki(s);const n=ha(t,{...e,anchor:s});return bi(!1),n}catch(n){if(n instanceof Error&&n.message.split("\n").some((t=>t.startsWith("https://svelte.dev/e/"))))throw n;return n!==vn&&console.warn("Failed to hydrate: ",n),!1===e.recover&&function(){{const t=new Error("hydration_failed\nFailed to hydrate the application\nhttps://svelte.dev/e/hydration_failed");throw t.name="Svelte error",t}}(),Oo(),Wo(i),bi(!1),ca(t,e)}finally{bi(r),ki(o)}}const da=new Map;function ha(t,{target:e,anchor:n,props:i={},events:r,context:o,intro:s=!0}){Oo();var a=new Set,l=t=>{for(var n=0;n<t.length;n++){var i=t[n];if(!a.has(i)){a.add(i);var r=(s=i,sa.includes(s));e.addEventListener(i,Hs,{passive:r});var o=da.get(i);void 0===o?(document.addEventListener(i,Hs,{passive:r}),da.set(i,1)):da.set(i,o+1)}}var s};l(In(js)),$s.add(l);var c=void 0,u=function(t){mr.ensure();const e=Vo(Wn|Jn,t,!0);return(t={})=>new Promise((n=>{t.outro?ss(e,(()=>{rs(e),n(void 0)})):(rs(e),n(void 0))}))}((()=>{var u=null!=n?n:e.appendChild(Po());return function(t,e,n){new Gr(t,e,n)}(u,{pending:()=>{}},(e=>{o&&(Li({}),Ci.c=o);if(r&&(i.$$events=r),yi&&Xs(e,null),aa=s,c=t(e,i)||{},aa=!0,yi&&(ys.nodes.end=gi,null===gi||gi.nodeType!==di||gi.data!==mn))throw mi(),vn;o&&zi()})),()=>{for(var t of a){e.removeEventListener(t,Hs);var i=da.get(t);0==--i?(document.removeEventListener(t,Hs),da.delete(t)):da.set(t,i)}var r;($s.delete(l),u!==n)&&(null===(r=u.parentNode)||void 0===r||r.removeChild(u))}}));return fa.set(c,u),c}let fa=new WeakMap;function pa(t,e){const n=fa.get(t);return n?(fa.delete(t),n(e)):(oi in t?console.warn("%c[svelte] state_proxy_unmount\n%cTried to unmount a state proxy, rather than a component\nhttps://svelte.dev/e/state_proxy_unmount",fi,pi):console.warn("%c[svelte] lifecycle_double_unmount\n%cTried to unmount a component that was not mounted\nhttps://svelte.dev/e/lifecycle_double_unmount",fi,pi),Promise.resolve())}class ma{anchor;#t=new Map;#e=new Map;#n=new Map;#i=new Set;#r=!0;constructor(t,e=!0){this.anchor=t,this.#r=e}#o=()=>{var t=er;if(this.#t.has(t)){var e=this.#t.get(t),n=this.#e.get(e);if(n)ls(n),this.#i.delete(e);else{var i=this.#n.get(e);i&&(this.#e.set(e,i.effect),this.#n.delete(e),i.fragment.lastChild.remove(),this.anchor.before(i.fragment),n=i.effect)}for(const[e,n]of this.#t){if(this.#t.delete(e),e===t)break;const i=this.#n.get(n);i&&(rs(i.effect),this.#n.delete(n))}for(const[t,i]of this.#e){if(t===e||this.#i.has(t))continue;const r=()=>{if(Array.from(this.#t.values()).includes(t)){var e=document.createDocumentFragment();us(i,e),e.append(Po()),this.#n.set(t,{effect:i,fragment:e})}else rs(i);this.#i.delete(t),this.#e.delete(t)};this.#r||!n?(this.#i.add(t),ss(i,r,!1)):r()}}};#s=t=>{this.#t.delete(t);const e=Array.from(this.#t.values());for(const[t,n]of this.#n)e.includes(t)||(rs(n.effect),this.#n.delete(t))};ensure(t,e){var n=er;!e||this.#e.has(t)||this.#n.has(t)||this.#e.set(t,es((()=>e(this.anchor)))),this.#t.set(n,t),yi&&(this.anchor=gi),this.#o()}}{let t=function(t){if(!(t in globalThis)){let e;Object.defineProperty(globalThis,t,{configurable:!0,get:()=>{if(void 0!==e)return e;!function(t){{const e=new Error(`rune_outside_svelte\nThe \`${t}\` rune is only available inside \`.svelte\` and \`.svelte.js/ts\` files\nhttps://svelte.dev/e/rune_outside_svelte`);throw e.name="Svelte error",e}}(t)},set:t=>{e=t}})}};t("$state"),t("$effect"),t("$derived"),t("$inspect"),t("$props"),t("$bindable")}function va(t){null===Ci&&hi("onMount"),Ko((()=>{const e=Ws(t);if("function"==typeof e)return e}))}var ga,ya=new Map;function ba(t,e,n=!1){yi&&wi();var i=new ma(t);function r(e,n){if(yi){if(e===(Ii(t)===pn)){var r=_i();return ki(r),i.anchor=r,bi(!1),i.ensure(e,n),void bi(!0)}}i.ensure(e,n)}Zo((()=>{var t=!1;e(((e,n=!0)=>{t=!0,r(n,e)})),t||r(!1,null)}),n?Xn:0)}function ka(t,e){return e}function wa(t,e=!0){for(var n=0;n<t.length;n++)rs(t[n],e)}function xa(t,e,n,i,r,o=null){var s=t,a=new Map;if(!!(e&on)){var l=t;s=yi?ki(Ro(l)):l.appendChild(Po())}yi&&wi();var c,u=null,d=oo((()=>{var t=n();return xn(t)?t:null==t?[]:In(t)})),h=!0;function f(){m.fallback=u,function(t,e,n,i,r){var o,s,a,l,c,u=!!(i&sn),d=e.length,h=t.items,f=t.effect.first,p=null,m=[],v=[];if(u)for(c=0;c<d;c+=1){var g,y;if(a=r(e[c],c),!((l=h.get(a).e).f&ti))null===(g=l.nodes)||void 0===g||null===(g=g.a)||void 0===g||g.measure(),(null!==(y=s)&&void 0!==y?y:s=new Set).add(l)}for(c=0;c<d;c+=1){if(a=r(e[c],c),l=h.get(a).e,null!==t.outrogroups)for(const e of t.outrogroups)e.pending.delete(l),e.done.delete(l);if(l.f&ti){if(l.f^=ti,l!==f){var b=p?p.next:f;l===t.effect.last&&(t.effect.last=l.prev),l.prev&&(l.prev.next=l.next),l.next&&(l.next.prev=l.prev),Ta(t,p,l),Ta(t,l,b),Ia(l,b,n),m=[],v=[],f=(p=l).next;continue}Ia(l,null,n)}var k,w;if(l.f&Gn)if(ls(l),u)null===(k=l.nodes)||void 0===k||null===(k=k.a)||void 0===k||k.unfix(),(null!==(w=s)&&void 0!==w?w:s=new Set).delete(l);if(l!==f){if(void 0!==o&&o.has(l)){if(m.length<v.length){var x,_=v[0];p=_.prev;var I=m[0],T=m[m.length-1];for(x=0;x<m.length;x+=1)Ia(m[x],_,n);for(x=0;x<v.length;x+=1)o.delete(v[x]);Ta(t,I.prev,T.next),Ta(t,p,I),Ta(t,T,_),f=_,p=T,c-=1,m=[],v=[]}else o.delete(l),Ia(l,f,n),Ta(t,l.prev,l.next),Ta(t,l,null===p?t.effect.first:p.next),Ta(t,p,l),p=l;continue}for(m=[],v=[];null!==f&&f!==l;){var E;(null!==(E=o)&&void 0!==E?E:o=new Set).add(f),v.push(f),f=f.next}if(null===f)continue}l.f&ti||m.push(l),p=l,f=l.next}if(null!==t.outrogroups){for(const e of t.outrogroups){var S;if(0===e.pending.size)wa(In(e.done)),null===(S=t.outrogroups)||void 0===S||S.delete(e)}0===t.outrogroups.size&&(t.outrogroups=null)}if(null!==f||void 0!==o){var M=[];if(void 0!==o)for(l of o)l.f&Gn||M.push(l);for(;null!==f;)f.f&Gn||f===t.fallback||M.push(f),f=f.next;var A=M.length;if(A>0){var N=i&on&&0===d?n:null;if(u){for(c=0;c<A;c+=1){var C;null===(C=M[c].nodes)||void 0===C||null===(C=C.a)||void 0===C||C.measure()}for(c=0;c<A;c+=1){var F;null===(F=M[c].nodes)||void 0===F||null===(F=F.a)||void 0===F||F.fix()}}!function(t,e,n){for(var i,r=e.length,o=e.length,s=0;s<r;s++){let n=e[s];ss(n,(()=>{if(i){if(i.pending.delete(n),i.done.add(n),0===i.pending.size){var e=t.outrogroups;wa(In(i.done)),e.delete(i),0===e.size&&(t.outrogroups=null)}}else o-=1}),!1)}if(0===o){var a=null!==n;if(a){var l=n,c=l.parentNode;Wo(c),c.append(l),t.items.clear()}wa(e,!a)}else{var u;i={pending:new Set(e),done:new Set},(null!==(u=t.outrogroups)&&void 0!==u?u:t.outrogroups=new Set).add(i)}}(t,M,N)}}u&&Ui((()=>{if(void 0!==s)for(l of s){var t;null===(t=l.nodes)||void 0===t||null===(t=t.a)||void 0===t||t.apply()}}))}(m,c,s,e,i),null!==u&&(0===c.length?u.f&ti?(u.f^=ti,Ia(u,null,s)):ls(u):ss(u,(()=>{u=null})))}var p=Zo((()=>{var t=(c=Bs(d)).length;let l=!1;yi&&(Ii(s)===pn!==(0===t)&&(ki(s=_i()),bi(!1),l=!0));for(var p=new Set,m=0;m<t;m+=1){yi&&gi.nodeType===di&&gi.data===mn&&(s=gi,l=!0,bi(!1));var v,g=c[m],y=i(g,m),b=h?null:a.get(y);if(b)b.v&&bo(b.v,g),b.i&&bo(b.i,m);else b=_a(a,h?s:null!==(v=ga)&&void 0!==v?v:ga=Po(),g,y,m,r,e,n),h||(b.e.f|=ti),a.set(y,b);p.add(y)}0===t&&o&&!u&&(h?u=es((()=>o(s))):(u=es((()=>{var t;return o(null!==(t=ga)&&void 0!==t?t:ga=Po())}))).f|=ti),yi&&t>0&&ki(_i()),h||f(),l&&bi(!0),Bs(d)})),m={effect:p,items:a,outrogroups:null,fallback:u};h=!1,yi&&(s=gi)}function _a(t,e,n,i,r,o,s,a){var l=s&nn?s&an?mo(n):go(n,!1,!1):null,c=s&rn?mo(r):null;return l&&(l.trace=()=>{var t;a()[null!==(t=null==c?void 0:c.v)&&void 0!==t?t:r]}),{v:l,i:c,e:es((()=>(o(e,null!=l?l:n,null!=c?c:r,a),()=>{t.delete(i)})))}}function Ia(t,e,n){if(t.nodes)for(var i=t.nodes.start,r=t.nodes.end,o=!e||e.f&ti?n:e.nodes.start;null!==i;){var s=Do(i);if(o.before(i),i===r)return;i=s}}function Ta(t,e,n){null===e?t.effect.first=n:e.next=n,null===n?t.effect.last=e:n.prev=e}const Ea={tick:t=>requestAnimationFrame(t),now:()=>performance.now(),tasks:new Set};function Sa(){const t=Ea.now();Ea.tasks.forEach((e=>{e.c(t)||(Ea.tasks.delete(e),e.f())})),0!==Ea.tasks.size&&Ea.tick(Sa)}function Ma(t,e){Uo((()=>{t.dispatchEvent(new CustomEvent(e))}))}function Aa(t){if("float"===t)return"cssFloat";if("offset"===t)return"cssOffset";if(t.startsWith("--"))return t;const e=t.split("-");return 1===e.length?e[0]:e[0]+e.slice(1).map((t=>t[0].toUpperCase()+t.slice(1))).join("")}function Na(t){const e={},n=t.split(";");for(const t of n){const[n,i]=t.split(":");if(!n||void 0===i)break;e[Aa(n.trim())]=i.trim()}return e}const Ca=t=>t;function Fa(t,e,n,i){var r,o,s,a,l,c=!!(t&hn),u=e.inert,d=e.style.overflow;function h(){return Uo((()=>{var t,r;return null!==(t=s)&&void 0!==t?t:s=n()(e,null!==(r=null==i?void 0:i())&&void 0!==r?r:{},{direction:"both"})}))}var f={is_global:c,in(){e.inert=u,Ma(e,"introstart"),a=Oa(e,h(),l,1,(()=>{var t;Ma(e,"introend"),null===(t=a)||void 0===t||t.abort(),a=s=void 0,e.style.overflow=d}))},out(t){e.inert=!0,Ma(e,"outrostart"),l=Oa(e,h(),a,0,(()=>{Ma(e,"outroend"),null==t||t()}))},stop:()=>{var t,e;null===(t=a)||void 0===t||t.abort(),null===(e=l)||void 0===e||e.abort()}},p=ys;if((null!==(o=(r=p.nodes).t)&&void 0!==o?o:r.t=[]).push(f),aa){var m=c;if(!m){for(var v=p.parent;v&&v.f&Xn;)for(;(v=v.parent)&&!(v.f&Ln););m=!v||!!(v.f&Kn)}m&&Yo((()=>{Ws((()=>f.in()))}))}}function Oa(t,e,n,i,r){var o=1===i;if("function"==typeof e){var s,a=!1;return Ui((()=>{if(!a){var l=e({direction:o?"in":"out"});s=Oa(t,l,n,i,r)}})),{abort:()=>{var t;a=!0,null===(t=s)||void 0===t||t.abort()},deactivate:()=>s.deactivate(),reset:()=>s.reset(),t:()=>s.t()}}if(null==n||n.deactivate(),null==e||!e.duration)return r(),{abort:Fn,deactivate:Fn,reset:Fn,t:()=>i};const{delay:l=0,css:c,tick:u,easing:d=Ca}=e;var h=[];if(o&&void 0===n&&(u&&u(0,1),c)){var f=Na(c(0,1));h.push(f,f)}var p=()=>1-i,m=t.animate(h,{duration:l,fill:"forwards"});return m.onfinish=()=>{var o;m.cancel();var s=null!==(o=null==n?void 0:n.t())&&void 0!==o?o:1-i;null==n||n.abort();var a=i-s,l=e.duration*Math.abs(a),h=[];if(l>0){var f=!1;if(c)for(var v=Math.ceil(l/(1e3/60)),g=0;g<=v;g+=1){var y=s+a*d(g/v),b=Na(c(y,1-y));h.push(b),f||(f="hidden"===b.overflow)}f&&(t.style.overflow="hidden"),p=()=>{var t=m.currentTime;return s+a*d(t/l)},u&&function(t){let e;0===Ea.tasks.size&&Ea.tick(Sa),new Promise((n=>{Ea.tasks.add(e={c:t,f:n})}))}((()=>{if("running"!==m.playState)return!1;var t=p();return u(t,1-t),!0}))}(m=t.animate(h,{duration:l,fill:"forwards"})).onfinish=()=>{p=()=>i,null==u||u(i,1-i),r()}},{abort:()=>{m&&(m.cancel(),m.effect=null,m.onfinish=Fn)},deactivate:()=>{r=Fn},reset:()=>{0===i&&(null==u||u(1,0))},t:()=>p()}}function Pa(t,e){Yo((()=>{var n,i=t.getRootNode(),r=i.host?i:null!==(n=i.head)&&void 0!==n?n:i.ownerDocument.head;if(!r.querySelector("#"+e.hash)){const t=document.createElement("style");t.id=e.hash,t.textContent=e.code,r.appendChild(t),function(t,e){var n=ya.get(t);n||(n=new Set,ya.set(t,n)),n.add(e)}(e.hash,t)}}))}function Ra(t,e){var n,i=void 0;ts((()=>{i!==(i=e())&&(n&&(rs(n),n=null),i&&(n=es((()=>{Yo((()=>i(t)))}))))}))}function Da(t){var e,n,i="";if("string"==typeof t||"number"==typeof t)i+=t;else if("object"==typeof t)if(Array.isArray(t)){var r=t.length;for(e=0;e<r;e++)t[e]&&(n=Da(t[e]))&&(i&&(i+=" "),i+=n)}else for(n in t)t[n]&&(i&&(i+=" "),i+=n);return i}function Ba(t){return"object"==typeof t?function(){for(var t,e,n=0,i="",r=arguments.length;n<r;n++)(t=arguments[n])&&(e=Da(t))&&(i&&(i+=" "),i+=e);return i}(t):null!=t?t:""}const La=[..." \t\n\r\f \v\ufeff"];function za(t,e=!1){var n=e?" !important;":";",i="";for(var r in t){var o=t[r];null!=o&&""!==o&&(i+=" "+r+": "+o+n)}return i}function Wa(t){return"-"!==t[0]||"-"!==t[1]?t.toLowerCase():t}function ja(t,e,n,i,r,o){var s=t.__className;if(yi||s!==n||void 0===s){var a=function(t,e,n){var i=null==t?"":""+t;if(e&&(i=i?i+" "+e:e),n)for(var r in n)if(n[r])i=i?i+" "+r:r;else if(i.length)for(var o=r.length,s=0;(s=i.indexOf(r,s))>=0;){var a=s+o;0!==s&&!La.includes(i[s-1])||a!==i.length&&!La.includes(i[a])?s=a:i=(0===s?"":i.substring(0,s))+i.substring(a+1)}return""===i?null:i}(n,i,o);yi&&a===t.getAttribute("class")||(null==a?t.removeAttribute("class"):e?t.className=a:t.setAttribute("class",a)),t.__className=n}else if(o&&r!==o)for(var l in o){var c=!!o[l];null!=r&&c===!!r[l]||t.classList.toggle(l,c)}return o}function $a(t,e={},n,i){for(var r in n){var o=n[r];e[r]!==o&&(null==n[r]?t.style.removeProperty(r):t.style.setProperty(r,o,i))}}function Ua(t,e,n,i){var r=t.__style;if(yi||r!==e){var o=function(t,e){if(e){var n,i,r="";if(Array.isArray(e)?(n=e[0],i=e[1]):n=e,t){t=String(t).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var o=!1,s=0,a=!1,l=[];n&&l.push(...Object.keys(n).map(Wa)),i&&l.push(...Object.keys(i).map(Wa));var c=0,u=-1;const e=t.length;for(var d=0;d<e;d++){var h=t[d];if(a?"/"===h&&"*"===t[d-1]&&(a=!1):o?o===h&&(o=!1):"/"===h&&"*"===t[d+1]?a=!0:'"'===h||"'"===h?o=h:"("===h?s++:")"===h&&s--,!a&&!1===o&&0===s)if(":"===h&&-1===u)u=d;else if(";"===h||d===e-1){if(-1!==u){var f=Wa(t.substring(c,u).trim());l.includes(f)||(";"!==h&&d++,r+=" "+t.substring(c,d).trim()+";")}c=d+1,u=-1}}}return n&&(r+=za(n)),i&&(r+=za(i,!0)),""===(r=r.trim())?null:r}return null==t?null:String(t)}(e,i);yi&&o===t.getAttribute("style")||(null==o?t.removeAttribute("style"):t.style.cssText=o),t.__style=e}else i&&(Array.isArray(i)?($a(t,null==n?void 0:n[0],i[0]),$a(t,null==n?void 0:n[1],i[1],"important")):$a(t,n,i));return i}function qa(t,e,n=!1){if(t.multiple){if(null==e)return;if(!xn(e))return void console.warn("%c[svelte] select_multiple_invalid_value\n%cThe `value` property of a `<select multiple>` element should be an array, but it received a non-array value. The selection will be kept as is.\nhttps://svelte.dev/e/select_multiple_invalid_value",fi,pi);for(var i of t.options)i.selected=e.includes(Va(i))}else{for(i of t.options){var r=Va(i);if(o=r,s=e,Object.is(Eo(o),Eo(s)))return void(i.selected=!0)}var o,s;n&&void 0===e||(t.selectedIndex=-1)}}function Va(t){return"__value"in t?t.__value:t.value}const Ga=Symbol("class"),Ha=Symbol("style"),Ka=Symbol("is custom element"),Xa=Symbol("is html");function Ya(t){if(yi){var e=!1,n=()=>{if(!e){if(e=!0,t.hasAttribute("value")){var n=t.value;Ja(t,"value",null),t.value=n}if(t.hasAttribute("checked")){var i=t.checked;Ja(t,"checked",null),t.checked=i}}};t.__on_r=n,Ui(n),$o||($o=!0,document.addEventListener("reset",(t=>{Promise.resolve().then((()=>{if(!t.defaultPrevented)for(const n of t.target.elements){var e;null===(e=n.__on_r)||void 0===e||e.call(n)}}))}),{capture:!0}))}}function Qa(t,e){e?t.hasAttribute("selected")||t.setAttribute("selected",""):t.removeAttribute("selected")}function Ja(t,e,n,i){var r=tl(t);yi&&(r[e]=t.getAttribute(e),"src"===e||"srcset"===e||"href"===e&&"LINK"===t.nodeName)?i||function(t,e,n){var i;if("srcset"===e&&function(t,e){var n=rl(t.srcset),i=rl(e);return i.length===n.length&&i.every((([t,e],i)=>e===n[i][1]&&(il(n[i][0],t)||il(t,n[i][0]))))}(t,n))return;if(il(null!==(i=t.getAttribute(e))&&void 0!==i?i:"",n))return;!function(t,e,n){console.warn(`%c[svelte] hydration_attribute_changed\n%cThe \`${t}\` attribute on \`${e}\` changed its value between server and client renders. The client value, \`${n}\`, will be ignored in favour of the server value\nhttps://svelte.dev/e/hydration_attribute_changed`,fi,pi)}(e,t.outerHTML.replace(t.innerHTML,t.innerHTML&&"..."),String(n))}(t,e,null!=n?n:""):r[e]!==(r[e]=n)&&("loading"===e&&(t[ai]=n),null==n?t.removeAttribute(e):"string"!=typeof n&&nl(t).includes(e)?t[e]=n:t.setAttribute(e,n))}function Za(t,e,n=[],i=[],r=[],o,s=!1,a=!1){Zr(r,n,i,(n=>{var i=void 0,r={},l="SELECT"===t.nodeName,c=!1;if(ts((()=>{var u=e(...n.map(Bs)),d=function(t,e,n,i,r=!1,o=!1){if(yi&&r&&"INPUT"===t.tagName){var s=t;("checkbox"===s.type?"defaultChecked":"defaultValue")in n||Ya(s)}var a=tl(t),l=a[Ka],c=!a[Xa];let u=yi&&l;u&&bi(!1);var d,h=e||{},f="OPTION"===t.tagName;for(var p in e)p in n||(n[p]=null);n.class?n.class=Ba(n.class):n.class=null,n[Ha]&&(null!==(d=n.style)&&void 0!==d||(n.style=null));var m=nl(t);for(const r in n){let s=n[r];if(f&&"value"===r&&null==s)t.value=t.__value="",h[r]=s;else if("class"!==r)if("style"!==r){var v=h[r];if(s!==v||void 0===s&&t.hasAttribute(r)){h[r]=s;var g=r[0]+r[1];if("$$"!==g)if("on"===g){const e={},n="$$"+r;let i=r.slice(2);var y=ia(i);if(ea(i)&&(i=i.slice(0,-7),e.capture=!0),!y&&v){if(null!=s)continue;t.removeEventListener(i,h[n],e),h[n]=null}if(null!=s)if(y)t[`__${i}`]=s,Vs([i]);else{let o=function(t){h[r].call(this,t)};h[n]=Us(i,t,o,e)}else y&&(t[`__${i}`]=void 0)}else if("style"===r)Ja(t,r,s);else if("autofocus"===r)jo(t,Boolean(s));else if(l||"__value"!==r&&("value"!==r||null==s))if("selected"===r&&f)Qa(t,s);else{var b=r;c||(b=oa(b));var k="defaultValue"===b||"defaultChecked"===b;if(null!=s||l||k)k||m.includes(b)&&(l||"string"!=typeof s)?(t[b]=s,b in a&&(a[b]=gn)):"function"!=typeof s&&Ja(t,b,s,o);else if(a[r]=null,"value"===b||"checked"===b){let n=t;const i=void 0===e;if("value"===b){let t=n.defaultValue;n.removeAttribute(b),n.defaultValue=t,n.value=n.__value=i?t:null}else{let t=n.defaultChecked;n.removeAttribute(b),n.defaultChecked=t,n.checked=!!i&&t}}else t.removeAttribute(r)}else t.value=t.__value=s}}else Ua(t,s,null==e?void 0:e[Ha],n[Ha]),h[r]=s,h[Ha]=n[Ha];else ja(t,"http://www.w3.org/1999/xhtml"===t.namespaceURI,s,i,null==e?void 0:e[Ga],n[Ga]),h[r]=s,h[Ga]=n[Ga]}return u&&bi(!0),h}(t,i,u,o,s,a);c&&l&&"value"in u&&qa(t,u.value);for(let t of Object.getOwnPropertySymbols(r))u[t]||rs(r[t]);for(let e of Object.getOwnPropertySymbols(u)){var h=u[e];e.description!==kn||i&&h===i[e]||(r[e]&&rs(r[e]),r[e]=es((()=>Ra(t,(()=>h))))),d[e]=h}i=d})),l){var u=t;Yo((()=>{qa(u,i.value,!0),function(t){var e=new MutationObserver((()=>{qa(t,t.__value)}));e.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Ho((()=>{e.disconnect()}))}(u)}))}c=!0}))}function tl(t){var e;return null!==(e=t.__attributes)&&void 0!==e?e:t.__attributes={[Ka]:t.nodeName.includes("-"),[Xa]:t.namespaceURI===bn}}var el=new Map;function nl(t){var e,n=t.getAttribute("is")||t.nodeName,i=el.get(n);if(i)return i;el.set(n,i=[]);for(var r=t,o=Element.prototype;o!==r;){for(var s in e=Sn(r))e[s].set&&i.push(s);r=Nn(r)}return i}function il(t,e){return t===e||new URL(t,document.baseURI).href===new URL(e,document.baseURI).href}function rl(t){return t.split(",").map((t=>t.trim().split(" ").filter(Boolean)))}function ol(t,e){return t===e||(null==t?void 0:t[oi])===e}function sl(t={},e,n,i){return Yo((()=>{var i,r;return Qo((()=>{i=r,r=[],Ws((()=>{t!==n(...r)&&(e(t,...r),i&&ol(n(...i),t)&&e(null,...i))}))})),()=>{Ui((()=>{r&&ol(n(...r),t)&&e(null,...r)}))}})),t}let al=!1;function ll(t,e,n,i){var r,o,s=!!(n&un),a=!!(n&dn),l=i,c=!0,u=()=>(c&&(c=!1,l=a?Ws(i):i),l);if(s){var d,h,f=oi in t||si in t;r=null!==(d=null===(h=En(t,e))||void 0===h?void 0:h.set)&&void 0!==d?d:f&&e in t?n=>t[e]=n:void 0}var p,m=!1;if(s?[o,m]=function(t){var e=al;try{return al=!1,[t(),al]}finally{al=e}}((()=>t[e])):o=t[e],void 0===o&&void 0!==i&&(o=u(),r&&(!function(t){{const e=new Error(`props_invalid_value\nCannot do \`bind:${t}={undefined}\` when \`${t}\` has a fallback value\nhttps://svelte.dev/e/props_invalid_value`);throw e.name="Svelte error",e}}(e),r(o))),p=()=>{var n=t[e];return void 0===n?u():(c=!0,n)},!(n&cn))return p;if(r){var v=t.$$legacy;return function(t,e){return arguments.length>0?((!e||v||m)&&r(e?p():t),t):p()}}var g=!1,y=(n&ln?no:oo)((()=>(g=!1,p())));y.label=e,s&&Bs(y);var b=ys;return function(t,e){if(arguments.length>0){const n=e?Bs(y):s?Io(t):t;return yo(y,n),g=!0,void 0!==l&&(l=n),t}return fs&&g||b.f&Hn?y.v:Bs(y)}}var cl,ul,dl,hl;"undefined"!=typeof window&&(null!==(ul=(cl=null!==(hl=(dl=window).__svelte)&&void 0!==hl?hl:dl.__svelte={}).v)&&void 0!==ul?ul:cl.v=new Set).add("5");function fl(t,{include:e,exclude:n}={}){const i=t=>{const i=e=>"string"==typeof e?t===e:e.test(t);return e?e.some(i):!n||!n.some(i)};for(const[e,n]of(t=>{const e=new Set;do{for(const n of Reflect.ownKeys(t))e.add([t,n])}while((t=Reflect.getPrototypeOf(t))&&t!==Object.prototype);return e})(t.constructor.prototype)){if("constructor"===n||!i(n))continue;const r=Reflect.getOwnPropertyDescriptor(e,n);r&&"function"==typeof r.value&&(t[n]=t[n].bind(t))}return t}function pl(t,e){t.getNodesAtTime(0)[0].once("nodestart",e)}class ml{constructor({position:t,gallery:e,config:n}){this.config=n,this.position=t,this.gallery=e,this.name=n.name;const{variantId:i,itemIndex:r,moduleIndex:o}=t;this.id=`${n.itemType}_${i}_${r}_${o}`,fl(this)}#a=Mi(vo(Io({})),"BaseModule.#state");#l=Mi(vo(null),"BaseModule.#cover");#c=Mi(vo(!1),"BaseModule.#showCover");#u=Mi(vo(null),"BaseModule.#Component");id;player;position;config;timeline;moduleEndListener;hasDuration=!1;coverAssets=[];get state(){return Bs(this.#a)}set state(t){yo(this.#a,t,!0)}get cover(){return Bs(this.#l)}set cover(t){yo(this.#l,t)}get showCover(){return Bs(this.#c)}set showCover(t){yo(this.#c,t,!0)}get Component(){return Bs(this.#u)}set Component(t){yo(this.#u,t)}emitModuleEnd(){var t;null===(t=this.moduleEndListener)||void 0===t||t.call(this)}start(t){this.player=t}setPosition(){this.gallery.state.playingModulePosition=this.position}play(){this.gallery.track("moduleview"),this.timeline?(pl(this.timeline,(()=>{this.setPosition()})),this.player.switchTimeline(this.timeline)):this.setPosition()}get duration(){return this.hasDuration&&this.timeline?this.timeline.placements.reduce(((t,e)=>t+this.player.getNode(e.nodeId).duration),0):0}}const vl="cmaf:";function gl(t,e,n){var i,r,o;const s=(null==e||null===(i=e.entity)||void 0===i?void 0:i.entityId)||(null==e?void 0:e.assetId),a=null!==(r=null==e||null===(o=e.entity)||void 0===o?void 0:o.entityRevision)&&void 0!==r?r:null==e?void 0:e.assetRevision,l=function(t){return t&&t.find((t=>t.startsWith(vl)))?t.filter((t=>t.startsWith(vl))):t}(null==e?void 0:e.availableEncodeProfiles);return n.addNode({id:t,manifestRef:{type:"assets-delivery-service",assetId:s,assetRevision:a,availableEncodeProfiles:l}})}function yl(t){const e=t-1;return e*e*e+1}var bl=!1;function kl(t,{delay:e=0,duration:n=400,easing:i=yl,axis:r="y"}={}){const o=getComputedStyle(t);var s;!bl&&/(contents|inline|table)/.test(o.display)&&(bl=!0,Promise.resolve().then((()=>bl=!1)),s=o.display,console.warn(`%c[svelte] transition_slide_display\n%cThe \`slide\` transition does not work correctly for elements with \`display: ${s}\`\nhttps://svelte.dev/e/transition_slide_display`,fi,pi));const a=+o.opacity,l="y"===r?"height":"width",c=parseFloat(o[l]),u="y"===r?["top","bottom"]:["left","right"],d=u.map((t=>`${t[0].toUpperCase()}${t.slice(1)}`)),h=parseFloat(o[`padding${d[0]}`]),f=parseFloat(o[`padding${d[1]}`]),p=parseFloat(o[`margin${d[0]}`]),m=parseFloat(o[`margin${d[1]}`]),v=parseFloat(o[`border${d[0]}Width`]),g=parseFloat(o[`border${d[1]}Width`]);return{delay:e,duration:n,easing:i,css:t=>`overflow: hidden;opacity: ${Math.min(20*t,1)*a};${l}: ${t*c}px;padding-${u[0]}: ${t*h}px;padding-${u[1]}: ${t*f}px;margin-${u[0]}: ${t*p}px;margin-${u[1]}: ${t*m}px;border-${u[0]}-width: ${t*v}px;border-${u[1]}-width: ${t*g}px;min-${l}: 0`}}function wl(t){const e=t-1;return e*e*e+1}var xl=Ys('<h3 class="text-box-title desktop-title svelte-wejicf"> </h3>'),_l=Ys('<h3 class="text-box-title svelte-wejicf"> </h3>'),Il=Ys('<div class="expanded-text-content svelte-wejicf"><!> <p class="text-box-description svelte-wejicf"> </p></div>'),Tl=Ys('<span class="text-box-title svelte-wejicf"> </span>'),El=Ys('<span class="text-box-description minimized-description svelte-wejicf"> </span>'),Sl=Ys('<span class="read-more-cta svelte-wejicf" aria-hidden="true">Read more</span>'),Ml=Ys('<button class="expand-description-button svelte-wejicf" aria-expanded="false" aria-controls="expanded-text-content" aria-label="Expand feature description"><!> <!></button>'),Al=Ys('<button class="collapse-description-button svelte-wejicf" aria-expanded="true" aria-label="Collapse feature description" data-elementid="textbox-expand" data-elementtype="textbox" data-elementname="Read less" data-interactiontype="module-ui">Read less</button>'),Nl=Ys('<section aria-label="Feature description" aria-live="polite"><div class="text-wrapper svelte-wejicf"><!> <!> <!></div> <!></section>');const Cl={hash:"svelte-wejicf",code:".eko-gallery-app {--textBox_bg: linear-gradient(\n rgba(255, 255, 255, 0) 0%,\n rgba(255, 255, 255, 0.9) 27.79%,\n rgba(255, 255, 255, 0.95) 100%\n );--textBox_border: 0;--textBox_borderRadius: 0;--textBox_maxWidth: 100%;--textBox_margin: 0;--textBox_padding: 16px 16px 64px 16px;--textBox_padding_mobile: 8px 16px;--textBox_gap: 8px;--textBox_expandedContent_gap: 8px;--textBox_expandButton_gap: 6px;--textBox_button_color: #014FD3;--textBox_button_fontSize: 12px;--textBox_button_fontWeight: 500;--textBox_button_lineHeight: 18px;--textBox_button_lineHeight_mobile: 12px;--textBox_button_letterSpacing: 0;--textBox_collapse_marginBottom: 8px;}.step-description-container.svelte-wejicf {width:100%;max-width:var(--textBox_maxWidth);margin:var(--textBox_margin);position:absolute;bottom:0;display:flex;justify-content:space-between;gap:var(--textBox_gap);box-sizing:border-box;padding:var(--textBox_padding);font-family:var(--textBox_fontFamily, var(--fontName));font-size:var(--textBox_fontSize, 12px);font-weight:var(--textBox_fontWeight, 400);font-style:var(--textBox_fontStyle, normal);line-height:var(--textBox_lineHeight, 18px);letter-spacing:var(--textBox_letterSpacing, 0);color:var(--textBox_color, #030303);overflow:hidden;pointer-events:none;background:var(--textBox_bg);border:var(--textBox_border);border-radius:var(--textBox_borderRadius);}.step-description-container.mobile.svelte-wejicf {padding:var(--textBox_padding_mobile);line-height:var(--textBox_lineHeight_mobile, 16px);}.step-description-container.expanded.svelte-wejicf {flex-direction:column;justify-content:flex-start;gap:0;}.expanded-text-content.svelte-wejicf:not([hidden]) {display:flex;flex-direction:column;gap:var(--textBox_expandedContent_gap);}button.svelte-wejicf {background:none;border:none;padding:0;cursor:pointer;font-family:var(--textBox_fontFamily, var(--fontName));font-size:var(--textBox_button_fontSize, 12px);font-weight:var(--textBox_button_fontWeight, 500);line-height:var(--textBox_button_lineHeight, 18px);letter-spacing:var(--textBox_button_letterSpacing, 0);color:var(--textBox_button_color, #014FD3);gap:var(--textBox_expandButton_gap, 6px);flex-shrink:0;text-align:left;pointer-events:auto;}.step-description-container.mobile.svelte-wejicf button:where(.svelte-wejicf) {line-height:var(--textBox_button_lineHeight_mobile);}.collapse-description-button.svelte-wejicf {margin-top:var(--textBox_gap);margin-bottom:var(--textBox_collapse_marginBottom);}.step-description-container.mobile.svelte-wejicf .collapse-description-button:where(.svelte-wejicf) {margin-bottom:0;}.text-wrapper.svelte-wejicf {width:100%;display:flex;flex-direction:column;}.text-box-title.svelte-wejicf {margin:0;font-family:var(--textBox_title_fontFamily, var(--textBox_fontFamily, var(--fontName)));font-size:var(--textBox_title_fontSize, var(--textBox_fontSize, 12px));font-weight:var(--textBox_title_fontWeight, 500);color:var(--textBox_title_color, var(--textBox_color, #030303));}.text-box-title.desktop-title.svelte-wejicf {display:var(--textBox_desktop_title_display, none);margin-bottom:var(--textBox_expandedContent_gap);}.text-box-description.svelte-wejicf {margin:0;font-family:var(--textBox_description_fontFamily, var(--textBox_fontFamily, var(--fontName)));font-size:var(--textBox_description_fontSize, var(--textBox_fontSize, 12px));font-weight:var(--textBox_description_fontWeight, var(--textBox_fontWeight, 400));color:var(--textBox_description_color, var(--textBox_color, #030303));text-align:var(--textBox_description_textAlign, left);}.minimized-description.svelte-wejicf {overflow:hidden;line-clamp:1;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;font-weight:var(--textBox_description_fontWeight, var(--textBox_fontWeight, 400));}.expand-description-button.svelte-wejicf {width:100%;display:flex;justify-content:space-between;gap:var(--textBox_expandButton_gap);flex-wrap:nowrap;}.expand-description-button.svelte-wejicf .read-more-cta:where(.svelte-wejicf) {color:var(--textBox_button_color, #014FD3);flex-shrink:0;}"};function Fl(t,e){Li(e,!0),Pa(t,Cl);let n=ll(e,"textBox",3,null),i=ll(e,"isMobile",3,!1);const r={duration:300,easing:wl};let o=vo(!1),s=vo(null),a=vo(null),l=vo(!1),c=vo(!1),u=ro((()=>{var t;return(null===(t=n())||void 0===t?void 0:t.title)||""})),d=ro((()=>{var t;return(null===(t=n())||void 0===t?void 0:t.description)||""})),h=ro((()=>{var t,e;return[(null===(t=n())||void 0===t?void 0:t.textColor)&&`--textBox_textColor: ${n().textColor}`,(null===(e=n())||void 0===e?void 0:e.bgColor)&&`--textBox_bgColor: ${n().bgColor}`].filter(Boolean).join("; ")}));function f(){Bs(s)&&yo(l,Bs(s).scrollWidth>Bs(s).clientWidth||Bs(s).scrollHeight>Bs(s).clientHeight,!0)}Ko((()=>{var t;Bs(s)&&(f(),"undefined"!=typeof document&&null!==(t=document.fonts)&&void 0!==t&&t.ready&&document.fonts.ready.then(f))})),Ko((()=>{if(Bs(a)){const t=getComputedStyle(Bs(a)).getPropertyValue("--textBox_forceCollapse").trim();yo(c,"1"===t||"true"===t,!0)}}));var p=Zs();qs("resize",Ao,f);var m=Lo(p),v=t=>{var n=Nl();let f;var p=Bo(n),m=Bo(p),v=t=>{var e=xl(),n=Bo(e,!0);xi(e),Jo((()=>la(n,Bs(u)))),ta(t,e)};ba(m,(t=>{Bs(u)&&!i()&&t(v)}));var g=zo(m,2),y=t=>{var e=Il(),n=Bo(e),o=t=>{var e=_l(),n=Bo(e,!0);xi(e),Jo((()=>la(n,Bs(u)))),ta(t,e)};ba(n,(t=>{Bs(u)&&i()&&t(o)}));var s=zo(n,2),a=Bo(s,!0);xi(s),xi(e),Jo((()=>la(a,Bs(d)))),Fa(3,e,(()=>kl),(()=>r)),ta(t,e)};ba(g,(t=>{Bs(o)&&t(y)}));var b=zo(g,2),k=t=>{var n=Ml(),a=ro((()=>e.gallery.interaction((()=>yo(o,!0)),{elementid:"textbox-expand",elementtype:"textbox",elementname:"Read more",interactiontype:"module-ui"})));n.__click=function(...t){var e;null===(e=Bs(a))||void 0===e||e.apply(this,t)};var h=Bo(n),f=t=>{var e=Tl(),n=Bo(e,!0);xi(e),Jo((()=>la(n,Bs(u)))),ta(t,e)},p=t=>{var e=El(),n=Bo(e,!0);xi(e),sl(e,(t=>yo(s,t)),(()=>Bs(s))),Jo((()=>la(n,Bs(d)))),ta(t,e)};ba(h,(t=>{i()&&Bs(u)?t(f):t(p,!1)}));var m=zo(h,2),v=t=>{ta(t,Sl())};ba(m,(t=>{(i()||Bs(l)||Bs(c))&&t(v)})),xi(n),Fa(3,n,(()=>kl),(()=>r)),ta(t,n)};ba(b,(t=>{Bs(o)||t(k)})),xi(p);var w=zo(p,2),x=t=>{var n=Al(),i=ro((()=>e.gallery.interaction((()=>yo(o,!1)))));n.__click=function(...t){var e;null===(e=Bs(i))||void 0===e||e.apply(this,t)},Fa(3,n,(()=>kl),(()=>r)),ta(t,n)};ba(w,(t=>{Bs(o)&&t(x)})),xi(n),sl(n,(t=>yo(a,t)),(()=>Bs(a))),Jo((()=>{f=ja(n,1,"step-description-container svelte-wejicf",null,f,{mobile:i(),expanded:Bs(o)}),Ua(n,Bs(h))})),ta(t,n)};ba(m,(t=>{(Bs(u)||Bs(d))&&t(v)})),ta(t,p),zi()}function Ol(t,e){const n=ro((()=>e.state.textBox));Fl(t,{get textBox(){return Bs(n)},get isMobile(){return e.isMobile},get gallery(){return e.gallery}})}Vs(["click"]);const Pl=new Set;function Rl(t){if("undefined"!=typeof window)for(const e of t)if(!Pl.has(e)){const t=new Image;t.src=e,window[e]=t,Pl.add(e)}}var Dl=new WeakSet;class Bl extends ml{constructor({config:t,...e}){super({...e,config:t}),O(this,Dl),this.synced=t.sync,this.startOnLoop=t.startOnLoop,this.switchTo=()=>{},fl(this);const n=t[this.constructor.itemsKey];this.coverAssets=n.flatMap((t=>[t.intro,t.video])).filter(Boolean),this.itemsCovers=n.map((t=>({intro:t.intro||t.video,loop:t.video}))),this.cover=this.getCorrectCover(this.itemsCovers[0]),this.state={items:n.map((t=>this.mapItem(t))),currentIndex:0,onItemClicked:M(Dl,this,Ll).bind(this),textBox:n[0].textBox}}getCorrectCover(t){return this.synced||this.startOnLoop?t.loop:t.intro}mapItem(t){return t}start(t){super.start(t);const e=this.config[this.constructor.itemsKey],{nodePrefix:n}=this.constructor;this.synced?(this.timeline=t.createTimeline(),e.forEach(((e,i)=>{this.timeline.placeOnTimeline(gl(`${this.id}_${n}_${i}`,e.video,t),0,{loop:!0})})),this.timeline.placeRenderNodeOnTimeline("switch",0,1/0,{params:{switchCrossfadeSeconds:.25,initSwitching:({switchTo:t})=>{this.switchTo=t,t(this.state.currentIndex,{crossfadeSeconds:0})}}})):(this.timelines=e.map(((e,i)=>{const r=t.createTimeline(),o=t.createTimeline(),s=gl(`${this.id}_${n}_${i}`,e.video,t);return e.intro&&r.placeOnTimeline(gl(`${this.id}_${n}_${i}_intro`,e.intro,t)),r.placeOnTimeline(s,"end",{loop:!0}),o.placeOnTimeline(s,0,{loop:!0}),{withIntro:r,justLoop:o}})),this.timeline=this.timelines[this.state.currentIndex][this.startOnLoop?"justLoop":"withIntro"])}play(){if(super.play(),!this.synced){Rl(this.coverAssets.filter((t=>Mo(t,this.cover,!1))).map((t=>this.gallery.getCoverUrl(t,1920))))}}}function Ll(t){if(Mo(t,this.state.currentIndex))return;const e=this.config[this.constructor.itemsKey];var n,i;(this.state.currentIndex=t,this.state.textBox=e[t].textBox,this.synced)?(this.cover=this.itemsCovers[t].loop,this.switchTo(t)):(this.cover=this.itemsCovers[t].intro,this.timeline=null===(n=this.timelines)||void 0===n?void 0:n[t].withIntro,this.showCover=!0,pl(this.timeline,(()=>{var e;(this.showCover=!1,this.startOnLoop)&&(this.cover=this.itemsCovers[t].loop,this.timeline=null===(e=this.timelines)||void 0===e?void 0:e[t].justLoop)})),null===(i=this.player)||void 0===i||i.switchTimeline(this.timeline))}P(Bl,"itemsKey","items"),P(Bl,"nodePrefix","item");var zl=Ys('<div class="toggle-option-container svelte-16pmvvn"><button data-elementtype="toggle" data-interactiontype="module-ui"> </button></div>'),Wl=Ys('<div class="toggle-container svelte-16pmvvn"><div></div></div> <!>',1);const jl={hash:"svelte-16pmvvn",code:".eko-gallery-app {--toggleModule_gap: 8px;--toggleModule_padding: 10px 58px 0 0;--toggleModule_alignItems: center;--toggleModule_justifyContent: end;--toggleModule_options_padding: 0;--toggleModule_options_height: auto;--toggleModule_options_width: 100%;--toggleModule_options_maxWidth: 100%;--toggleModule_options_gap: 8px;--toggleModule_options_bgColor: transparent;--toggleModule_options_border: 0;--toggleModule_options_borderRadius: 0;--toggleModule_options_boxShadow: none;--toggleModule_options_alignItems: stretch;--toggleModule_button_padding: 8px 12px;--toggleModule_button_border: #E4E5E8 solid 1px;--toggleModule_button_borderRadius: 100px;--toggleModule_button_bgColor: #FBFBFB;--toggleModule_button_bgColor_hover: #F3F4F6;--toggleModule_button_bgColor_active: #E4E5E8;--toggleModule_button_boxShadow: 0px 2px 8px 2px rgba(0, 0, 0, 0.07);--toggleModule_button_text_fontFamily: var(--fontName);--toggleModule_button_text_fontSize: 12px;--toggleModule_button_text_fontWeight: 400;--toggleModule_button_text_fontStyle: normal;--toggleModule_button_text_lineHeight: 16px;--toggleModule_button_text_letterSpacing: -0.2px;--toggleModule_button_text_color: #000;--toggleModule_button_selected_bgColor: #014FD3;--toggleModule_button_selected_borderColor: #014FD3;--toggleModule_button_selected_boxShadow: none;--toggleModule_button_selected_text_color: #FFFFFF;--toggleModule_button_selected_text_fontWeight: var(--toggleModule_button_text_fontWeight);--toggleModule_title_fontFamily: var(--fontName);--toggleModule_title_fontSize: 13px;--toggleModule_title_fontWeight: 400;--toggleModule_title_fontStyle: normal;--toggleModule_title_lineHeight: 120%;--toggleModule_title_letterSpacing: 0;--toggleModule_title_color: #666;--toggleModule_title_textAlignment: center;--toggleModule_note_fontFamily: var(--fontName);--toggleModule_note_fontSize: 12px;--toggleModule_note_fontWeight: 400;--toggleModule_note_fontStyle: normal;--toggleModule_note_lineHeight: 120%;--toggleModule_note_letterSpacing: 0;--toggleModule_note_color: #888;--toggleModule_note_topMargin: 4px;}.toggle-container.svelte-16pmvvn {position:absolute;top:0;padding:var(--toggleModule_padding);width:100%;display:flex;flex-direction:column;align-items:var(--toggleModule_alignItems);gap:var(--toggleModule_gap);pointer-events:auto;box-sizing:border-box;}.toggle-options.svelte-16pmvvn {width:var(--toggleModule_options_width);max-width:var(--toggleModule_options_maxWidth);height:var(--toggleModule_options_height);padding:var(--toggleModule_options_padding);gap:var(--toggleModule_options_gap);background-color:var(--toggleModule_options_bgColor);border:var(--toggleModule_options_border);border-radius:var(--toggleModule_options_borderRadius);box-shadow:var(--toggleModule_options_boxShadow);display:flex;justify-content:var(--toggleModule_justifyContent);align-items:var(--toggleModule_options_alignItems);margin:0;}.toggle-option-container.svelte-16pmvvn {position:relative;min-width:0;}.toggle-option-button.svelte-16pmvvn {min-width:24px;min-height:24px;border-radius:var(--toggleModule_button_borderRadius);font-family:var(--toggleModule_button_text_fontFamily);font-size:var(--toggleModule_button_text_fontSize);font-weight:var(--toggleModule_button_text_fontWeight);font-style:var(--toggleModule_button_text_fontStyle);line-height:var(--toggleModule_button_text_lineHeight);letter-spacing:var(--toggleModule_button_text_letterSpacing);color:var(--toggleModule_button_text_color);padding:var(--toggleModule_button_padding);border:var(--toggleModule_button_border);background:var(--toggleModule_button_bgColor);box-shadow:var(--toggleModule_button_boxShadow);display:flex;width:100%;height:100%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;cursor:pointer;position:relative;transition:all 0.3s ease-in-out;animation-duration:0.5s;animation-timing-function:cubic-bezier(0.36, 0, 0, 1);animation-fill-mode:both;animation-delay:calc(var(--button-index) * 90ms);\n animation-name: svelte-16pmvvn-button-back-appear-anim;transform-origin:bottom center;}.toggle-option-button.selected.svelte-16pmvvn {background:var(--toggleModule_button_selected_bgColor);border-color:var(--toggleModule_button_selected_borderColor);box-shadow:var(--toggleModule_button_selected_boxShadow);color:var(--toggleModule_button_selected_text_color);font-weight:var(--toggleModule_button_selected_text_fontWeight);}.toggle-option-button.svelte-16pmvvn:hover:not(.selected) {background:var(--toggleModule_button_bgColor_hover);}.toggle-option-button.svelte-16pmvvn:active:not(.selected) {background:var(--toggleModule_button_bgColor_active);}.toggle-option-button.svelte-16pmvvn:focus {outline-offset:4px;outline-width:2px;}\n\n@keyframes svelte-16pmvvn-button-back-appear-anim {\n from {\n transform: scale(0);\n }\n to {\n transform: scale(1);\n }\n}\n@keyframes svelte-16pmvvn-optionNoteIn {\n 0% {\n opacity: 0;\n translate: -50% -5px;\n }\n 100% {\n opacity: 1;\n translate: -50% var(--toggleModule_note_topMargin);\n }\n}"};function $l(t,e){Li(e,!0),Pa(t,jl);const n=ro((()=>e.state.items)),i=ro((()=>e.state.currentIndex)),r=ro((()=>e.state.onItemClicked)),o=ro((()=>e.state.textBox));var s=Wl(),a=Lo(s),l=Bo(a);xa(l,21,(()=>Bs(n)),ka,((t,n,o)=>{var s=zl();Ua(s,`--button-index: ${o};`);var a=Bo(s);let l;var c=ro((()=>e.gallery.interaction((()=>Bs(r)(o)))));a.__click=function(...t){var e;null===(e=Bs(c))||void 0===e||e.apply(this,t)},Ja(a,"data-elementid",`${o+1}`);var u=Bo(a,!0);xi(a),xi(s),Jo((()=>{l=ja(a,1,"toggle-option-button svelte-16pmvvn",null,l,{selected:Bs(i)===o}),Ja(a,"aria-pressed",Bs(i)===o),Ja(a,"data-elementname",Bs(n).label),la(u,Bs(n).label)})),ta(t,s)})),xi(l),xi(a);var c=zo(a,2),u=t=>{Fl(t,{get textBox(){return Bs(o)},get isMobile(){return e.isMobile},get gallery(){return e.gallery}})};ba(c,(t=>{Bs(o)&&t(u)})),Jo((()=>{var t;return ja(l,1,`toggle-options selected-${null!==(t=Bs(i))&&void 0!==t?t:""}`,"svelte-16pmvvn")})),ta(t,s),zi()}Vs(["click"]);var Ul=Ys('<div class="mode-title svelte-1650wj7"> </div>'),ql=Ys('<div class="mode-description svelte-1650wj7"> </div>'),Vl=Ys('<button data-elementtype="mode" data-interactiontype="module-ui"><img class="svelte-1650wj7"/> <div class="svelte-1650wj7"><!> <!></div></button>'),Gl=Ys('<div class="modes-container svelte-1650wj7"></div> <!>',1);const Hl={hash:"svelte-1650wj7",code:".eko-gallery-app {--modesModule_gap: 16px;--modesModule_width: 100%;--modesModule_top: unset;--modesModule_left: 0;--modesModule_right: unset;--modesModule_bottom: 0;--modesModule_flexDirection: row;--modesModule_alignItems: flex-start;--modesModule_justifyContent: center;--modesModule_padding: 0 0 32px 0;--modesModule_paddingWithSteps: 0 0 48px 0;--modesModule_paddingWithTextBox: 28px 0 0 0;--modesModule_background: none;--modesModule_border: none;--modesModule_borderRadius: 0;--modesModule_transform: none;--modesModule_mode_width: 64px;--modesModule_mode_titleGap: 6px;--modesModule_mode_title_fontFamily: var(--fontName);--modesModule_mode_title_fontSize: 12px;--modesModule_mode_title_fontWeight: 500;--modesModule_mode_title_lineHeight: 120%;--modesModule_mode_title_letterSpacing: -0.2px;--modesModule_mode_title_textAlign: center;--modesModule_mode_description_fontFamily: var(--fontName);--modesModule_mode_description_fontSize: 11px;--modesModule_mode_description_fontWeight: 400;--modesModule_mode_description_lineHeight: 120%;--modesModule_mode_description_letterSpacing: -0.2px;--modesModule_mode_description_textAlign: center;--modesModule_mode_image_strokeSize: 2px;}.modes-container.svelte-1650wj7 {position:absolute;top:var(--modesModule_top);left:var(--modesModule_left);right:var(--modesModule_right);bottom:var(--modesModule_bottom);width:var(--modesModule_width);display:flex;flex-direction:var(--modesModule_flexDirection);align-items:var(--modesModule_alignItems);justify-content:var(--modesModule_justifyContent);gap:var(--modesModule_gap);flex-wrap:wrap;padding:var(--modesModule_padding);background:var(--modesModule_background);border:var(--modesModule_border);border-radius:var(--modesModule_borderRadius);transform:var(--modesModule_transform);}.mode-button.svelte-1650wj7 {display:flex;flex-direction:column;align-items:center;width:var(--modesModule_mode_width);background:none;border:none;padding:0;pointer-events:auto;cursor:pointer;color:rgba(var(--unselectedColor, 111, 111, 111), 1);gap:var(--modesModule_mode_titleGap);flex-shrink:0;}.mode-button.svelte-1650wj7 .mode-title:where(.svelte-1650wj7) {font-family:var(--modesModule_mode_title_fontFamily);font-size:var(--modesModule_mode_title_fontSize);font-weight:var(--modesModule_mode_title_fontWeight);line-height:var(--modesModule_mode_title_lineHeight);letter-spacing:var(--modesModule_mode_title_letterSpacing);text-align:var(--modesModule_mode_title_textAlign);}.mode-button.svelte-1650wj7 .mode-description:where(.svelte-1650wj7) {font-family:var(--modesModule_mode_description_fontFamily);font-size:var(--modesModule_mode_description_fontSize);font-weight:var(--modesModule_mode_description_fontWeight);line-height:var(--modesModule_mode_description_lineHeight);letter-spacing:var(--modesModule_mode_description_letterSpacing);text-align:var(--modesModule_mode_description_textAlign);}.mode-button.svelte-1650wj7 div:where(.svelte-1650wj7) {width:100%;}.mode-button.svelte-1650wj7 img:where(.svelte-1650wj7) {width:100%;aspect-ratio:1;object-fit:cover;border-radius:100%;box-shadow:0 0 0 var(--modesModule_mode_image_strokeSize) rgba(var(--unselectedColor, 111, 111, 111), 0.15);background-color:rgba(var(--unselectedColor, 111, 111, 111), 0.15);pointer-events:none;}.mode-button.selected.svelte-1650wj7 {color:var(--selectedColor, #000000);}.mode-button.selected.svelte-1650wj7 img:where(.svelte-1650wj7) {background-color:var(--selectedColor, #000000);box-shadow:0 0 0 var(--modesModule_mode_image_strokeSize) var(--selectedColor, #000000);}"};function Kl(t,e){Li(e,!0),Pa(t,Hl);const n=ro((()=>e.state.items)),i=ro((()=>e.state.currentIndex)),r=ro((()=>e.state.onItemClicked)),o=ro((()=>e.state.textBox));var s=Gl(),a=Lo(s);xa(a,21,(()=>Bs(n)),ka,((t,n,o)=>{var s=Vl();let a;var l=ro((()=>e.gallery.interaction((()=>Bs(r)(o)))));s.__click=function(...t){var e;null===(e=Bs(l))||void 0===e||e.apply(this,t)},Ja(s,"data-elementid",`${o+1}`);var c=Bo(s);Ja(c,"alt",`Mode ${o+1}`);var u=zo(c,2),d=Bo(u),h=t=>{var e=Ul(),i=Bo(e,!0);xi(e),Jo((()=>la(i,Bs(n).title))),ta(t,e)};ba(d,(t=>{Bs(n).title&&t(h)}));var f=zo(d,2),p=t=>{var e=ql(),i=Bo(e,!0);xi(e),Jo((()=>la(i,Bs(n).description))),ta(t,e)};ba(f,(t=>{Bs(n).description&&t(p)})),xi(u),xi(s),Jo((t=>{a=ja(s,1,"mode-button svelte-1650wj7",null,a,{selected:Bs(i)===o}),Ja(s,"aria-pressed",Bs(i)===o),Ja(s,"data-elementname",Bs(n).title||`mode-${o+1}`),Ja(c,"src",t)}),[()=>e.gallery.getCoverUrl(Bs(n).image,375)]),ta(t,s)})),xi(a);var l=zo(a,2),c=t=>{Fl(t,{get textBox(){return Bs(o)},get isMobile(){return e.isMobile},get gallery(){return e.gallery}})};ba(l,(t=>{Bs(o)&&t(c)})),ta(t,s),zi()}Vs(["click"]);const Xl=(t,e,n)=>n>e?e:n<t?t:n;function Yl(t,e){return e?`${t}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${e}`:t}let Ql=()=>{},Jl=()=>{};function Zl(t){let e;return()=>(void 0===e&&(e=t()),e)}"undefined"!=typeof process&&"production"!==(null===(re=process.env)||void 0===re?void 0:re.NODE_ENV)&&(Ql=(t,e,n)=>{t||"undefined"==typeof console||console.warn(Yl(e,n))},Jl=(t,e,n)=>{if(!t)throw new Error(Yl(e,n))});const tc=t=>t,ec=t=>1e3*t,nc=t=>t/1e3;const ic=t=>Array.isArray(t)&&"number"==typeof t[0],rc=(t,e,n=10)=>{let i="";const r=Math.max(Math.round(e/n),2);for(let e=0;e<r;e++)i+=Math.round(1e4*t(e/(r-1)))/1e4+", ";return`linear(${i.substring(0,i.length-2)})`},oc=2e4;function sc(t){let e=0;let n=t.next(e);for(;!n.done&&e<oc;)e+=50,n=t.next(e);return e>=oc?1/0:e}const ac=5;const lc={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1},cc=.001;function uc({duration:t=lc.duration,bounce:e=lc.bounce,velocity:n=lc.velocity,mass:i=lc.mass}){let r,o;Ql(t<=ec(lc.maxDuration),"Spring duration must be 10 seconds or less","spring-duration-limit");let s=1-e;s=Xl(lc.minDamping,lc.maxDamping,s),t=Xl(lc.minDuration,lc.maxDuration,nc(t)),s<1?(r=e=>{const i=e*s,r=i*t,o=i-n,a=hc(e,s),l=Math.exp(-r);return cc-o/a*l},o=e=>{const i=e*s*t,o=i*n+n,a=Math.pow(s,2)*Math.pow(e,2)*t,l=Math.exp(-i),c=hc(Math.pow(e,2),s);return(-r(e)+cc>0?-1:1)*((o-a)*l)/c}):(r=e=>Math.exp(-e*t)*((e-n)*t+1)-cc,o=e=>Math.exp(-e*t)*(t*t*(n-e)));const a=function(t,e,n){let i=n;for(let n=1;n<dc;n++)i-=t(i)/e(i);return i}(r,o,5/t);if(t=ec(t),isNaN(a))return{stiffness:lc.stiffness,damping:lc.damping,duration:t};{const e=Math.pow(a,2)*i;return{stiffness:e,damping:2*s*Math.sqrt(i*e),duration:t}}}const dc=12;function hc(t,e){return t*Math.sqrt(1-e*e)}const fc=["duration","bounce"],pc=["stiffness","damping","mass"];function mc(t,e){return e.some((e=>void 0!==t[e]))}function vc(t=lc.visualDuration,e=lc.bounce){const n="object"!=typeof t?{visualDuration:t,keyframes:[0,1],bounce:e}:t;let{restSpeed:i,restDelta:r}=n;const o=n.keyframes[0],s=n.keyframes[n.keyframes.length-1],a={done:!1,value:o},{stiffness:l,damping:c,mass:u,duration:d,velocity:h,isResolvedFromDuration:f}=function(t){let e={velocity:lc.velocity,stiffness:lc.stiffness,damping:lc.damping,mass:lc.mass,isResolvedFromDuration:!1,...t};if(!mc(t,pc)&&mc(t,fc))if(t.visualDuration){const n=t.visualDuration,i=2*Math.PI/(1.2*n),r=i*i,o=2*Xl(.05,1,1-(t.bounce||0))*Math.sqrt(r);e={...e,mass:lc.mass,stiffness:r,damping:o}}else{const n=uc(t);e={...e,...n,mass:lc.mass},e.isResolvedFromDuration=!0}return e}({...n,velocity:-nc(n.velocity||0)}),p=h||0,m=c/(2*Math.sqrt(l*u)),v=s-o,g=nc(Math.sqrt(l/u)),y=Math.abs(v)<5;let b;if(i||(i=y?lc.restSpeed.granular:lc.restSpeed.default),r||(r=y?lc.restDelta.granular:lc.restDelta.default),m<1){const t=hc(g,m);b=e=>{const n=Math.exp(-m*g*e);return s-n*((p+m*g*v)/t*Math.sin(t*e)+v*Math.cos(t*e))}}else if(1===m)b=t=>s-Math.exp(-g*t)*(v+(p+g*v)*t);else{const t=g*Math.sqrt(m*m-1);b=e=>{const n=Math.exp(-m*g*e),i=Math.min(t*e,300);return s-n*((p+m*g*v)*Math.sinh(i)+t*v*Math.cosh(i))/t}}const k={calculatedDuration:f&&d||null,next:t=>{const e=b(t);if(f)a.done=t>=d;else{let n=0===t?p:0;m<1&&(n=0===t?ec(p):function(t,e,n){const i=Math.max(e-ac,0);return r=n-t(i),(o=e-i)?r*(1e3/o):0;var r,o}(b,t,e));const o=Math.abs(n)<=i,l=Math.abs(s-e)<=r;a.done=o&&l}return a.value=a.done?s:e,a},toString:()=>{const t=Math.min(sc(k),oc),e=rc((e=>k.next(t*e).value),t,30);return t+"ms "+e},toTransition:()=>{}};return k}vc.applyToOptions=t=>{const e=function(t,e=100,n){const i=n({...t,keyframes:[0,e]}),r=Math.min(sc(i),oc);return{type:"keyframes",ease:t=>i.next(r*t).value/e,duration:nc(r)}}(t,100,vc);return t.ease=e.ease,t.duration=ec(e.duration),t.type="keyframes",t};const gc=t=>null!==t;class yc{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise((t=>{this.resolve=t}))}notifyFinished(){this.resolve()}then(t,e){return this.finished.then(t,e)}}function bc(t){for(let n=1;n<t.length;n++){var e;null!==(e=t[n])&&void 0!==e||(t[n]=t[n-1])}}const kc=t=>t.startsWith("--");const wc=Zl((()=>void 0!==window.ScrollTimeline)),xc={};function _c(t,e){const n=Zl(t);return()=>{var t;return null!==(t=xc[e])&&void 0!==t?t:n()}}const Ic=_c((()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch(t){return!1}return!0}),"linearEasing"),Tc=([t,e,n,i])=>`cubic-bezier(${t}, ${e}, ${n}, ${i})`,Ec={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:Tc([0,.65,.55,1]),circOut:Tc([.55,0,1,.45]),backIn:Tc([.31,.01,.66,-.59]),backOut:Tc([.33,1.53,.69,.99])};function Sc(t,e){return t?"function"==typeof t?Ic()?rc(t,e):"ease-out":ic(t)?Tc(t):Array.isArray(t)?t.map((t=>Sc(t,e)||Ec.easeOut)):Ec[t]:void 0}function Mc(t,e,n,{delay:i=0,duration:r=300,repeat:o=0,repeatType:s="loop",ease:a="easeOut",times:l}={},c=void 0){const u={[e]:n};l&&(u.offset=l);const d=Sc(a,r);Array.isArray(d)&&(u.easing=d);const h={delay:i,duration:r,easing:Array.isArray(d)?"linear":d,fill:"both",iterations:o+1,direction:"reverse"===s?"alternate":"normal"};c&&(h.pseudoElement=c);return t.animate(u,h)}class Ac extends yc{constructor(t){if(super(),this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!t)return;const{element:e,name:n,keyframes:i,pseudoElement:r,allowFlatten:o=!1,finalKeyframe:s,onComplete:a}=t;this.isPseudoElement=Boolean(r),this.allowFlatten=o,this.options=t,Jl("string"!=typeof t.type,'Mini animate() doesn\'t support "type" as a string.',"mini-spring");const l=function({type:t,...e}){return function(t){return"function"==typeof t&&"applyToOptions"in t}(t)&&Ic()?t.applyToOptions(e):(null!==(n=e.duration)&&void 0!==n||(e.duration=300),null!==(i=e.ease)&&void 0!==i||(e.ease="easeOut"),e);var n,i}(t);this.animation=Mc(e,n,i,l,r),!1===l.autoplay&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!r){const t=function(t,{repeat:e,repeatType:n="loop"},i,r=1){const o=t.filter(gc),s=r<0||e&&"loop"!==n&&e%2==1?0:o.length-1;return s&&void 0!==i?i:o[s]}(i,this.options,s,this.speed);this.updateMotionValue?this.updateMotionValue(t):function(t,e,n){kc(e)?t.style.setProperty(e,n):t.style[e]=n}(e,n,t),this.animation.cancel()}null==a||a(),this.notifyFinished()}}play(){this.isStopped||(this.manualStartTime=null,this.animation.play(),"finished"===this.state&&this.updateFinished())}pause(){this.animation.pause()}complete(){var t,e;null===(t=(e=this.animation).finish)||void 0===t||t.call(e)}cancel(){try{this.animation.cancel()}catch(t){}}stop(){if(this.isStopped)return;this.isStopped=!0;const{state:t}=this;"idle"!==t&&"finished"!==t&&(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){var t,e;this.isPseudoElement||(null===(t=(e=this.animation).commitStyles)||void 0===t||t.call(e))}get duration(){var t,e;const n=(null===(t=this.animation.effect)||void 0===t||null===(e=t.getComputedTiming)||void 0===e?void 0:e.call(t).duration)||0;return nc(Number(n))}get iterationDuration(){const{delay:t=0}=this.options||{};return this.duration+nc(t)}get time(){return nc(Number(this.animation.currentTime)||0)}set time(t){this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=ec(t)}get speed(){return this.animation.playbackRate}set speed(t){t<0&&(this.finishedTime=null),this.animation.playbackRate=t}get state(){return null!==this.finishedTime?"finished":this.animation.playState}get startTime(){var t;return null!==(t=this.manualStartTime)&&void 0!==t?t:Number(this.animation.startTime)}set startTime(t){this.manualStartTime=this.animation.startTime=t}attachTimeline({timeline:t,observe:e}){var n;this.allowFlatten&&(null===(n=this.animation.effect)||void 0===n||n.updateTiming({easing:"linear"}));return this.animation.onfinish=null,t&&wc()?(this.animation.timeline=t,tc):e(this)}}class Nc{constructor(t){this.stop=()=>this.runAll("stop"),this.animations=t.filter(Boolean)}get finished(){return Promise.all(this.animations.map((t=>t.finished)))}getAll(t){return this.animations[0][t]}setAll(t,e){for(let n=0;n<this.animations.length;n++)this.animations[n][t]=e}attachTimeline(t){const e=this.animations.map((e=>e.attachTimeline(t)));return()=>{e.forEach(((t,e)=>{t&&t(),this.animations[e].stop()}))}}get time(){return this.getAll("time")}set time(t){this.setAll("time",t)}get speed(){return this.getAll("speed")}set speed(t){this.setAll("speed",t)}get state(){return this.getAll("state")}get startTime(){return this.getAll("startTime")}get duration(){return Cc(this.animations,"duration")}get iterationDuration(){return Cc(this.animations,"iterationDuration")}runAll(t){this.animations.forEach((e=>e[t]()))}play(){this.runAll("play")}pause(){this.runAll("pause")}cancel(){this.runAll("cancel")}complete(){this.runAll("complete")}}function Cc(t,e){let n=0;for(let i=0;i<t.length;i++){const r=t[i][e];null!==r&&r>n&&(n=r)}return n}class Fc extends Nc{then(t,e){return this.finished.finally(t).then((()=>{}))}}const Oc=new WeakMap,Pc=(t,e="")=>`${t}:${e}`;function Rc(t){const e=Oc.get(t)||new Map;return Oc.set(t,e),e}function Dc(t,e){var n,i;return null!==(n=null!==(i=null==t?void 0:t[e])&&void 0!==i?i:null==t?void 0:t.default)&&void 0!==n?n:t}const Bc=new Set(["borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","width","maxWidth","height","maxHeight","top","right","bottom","left","inset","insetBlock","insetBlockStart","insetBlockEnd","insetInline","insetInlineStart","insetInlineEnd","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingBlock","paddingBlockStart","paddingBlockEnd","paddingInline","paddingInlineStart","paddingInlineEnd","margin","marginTop","marginRight","marginBottom","marginLeft","marginBlock","marginBlockStart","marginBlockEnd","marginInline","marginInlineStart","marginInlineEnd","fontSize","backgroundPositionX","backgroundPositionY"]);function Lc(t,e){for(let n=0;n<t.length;n++)"number"==typeof t[n]&&Bc.has(e)&&(t[n]=t[n]+"px")}function zc(t,e){const n=window.getComputedStyle(t);return kc(e)?n.getPropertyValue(e):n[e]}function Wc(t,e,n,i){if(null==t)return[];const r=function(t){if(null==t)return[];if(t instanceof EventTarget)return[t];if("string"==typeof t){const e=document.querySelectorAll(t);return e?Array.from(e):[]}return Array.from(t).filter((t=>null!=t))}(t),o=r.length;Jl(Boolean(o),"No valid elements provided.","no-valid-elements");const s=[];for(let t=0;t<o;t++){const i=r[t],a={...n};"function"==typeof a.delay&&(a.delay=a.delay(t,o));for(const t in e){let n=e[t];Array.isArray(n)||(n=[n]);const r={...Dc(a,t)};r.duration&&(r.duration=ec(r.duration)),r.delay&&(r.delay=ec(r.delay));const o=Rc(i),l=Pc(t,r.pseudoElement||""),c=o.get(l);c&&c.stop(),s.push({map:o,key:l,unresolvedKeyframes:n,options:{...r,element:i,name:t,allowFlatten:!a.type&&!a.ease}})}}for(let t=0;t<s.length;t++){const{unresolvedKeyframes:e,options:n}=s[t],{element:i,name:r,pseudoElement:o}=n;o||null!==e[0]||(e[0]=zc(i,r)),bc(e),Lc(e,r),!o&&e.length<2&&e.unshift(zc(i,r)),n.keyframes=e}const a=[];for(let t=0;t<s.length;t++){const{map:e,key:n,options:i}=s[t],r=new Ac(i);e.set(n,r),r.finished.finally((()=>e.delete(n))),a.push(r)}return a}const jc=(()=>function(t,e,n){return new Fc(Wc(t,e,n))})();var $c=Ys('<button data-elementid="start_cta" data-elementtype="button" data-interactiontype="start" class="svelte-16kucsb"><div class="cta-text svelte-16kucsb"> </div></button>'),Uc=Ys('<div class="tryIt-container svelte-16kucsb"><!></div>');const qc={hash:"svelte-16kucsb",code:".eko-gallery-app {--tryItModule_justifyContent: center;--tryItModule_alignItems: flex-end;--tryItModule_padding: 16px 20px 48px 20px;--tryItModule_button_padding: 16px 32px;--tryItModule_button_textAlign: center;--tryItModule_button_borderRadius: 100px;--tryItModule_button_border: 0;--tryItModule_button_boxShadow: 0 4px 24px 2px rgba(0, 0, 0, 0.12);--tryItModule_button_background: #FFFFFF;--tryItModule_button_text_fontFamily: var(--fontName);--tryItModule_button_text_fontSize: 18px;--tryItModule_button_text_color: #222;--tryItModule_button_text_weight: 500;--tryItModule_button_text_lineHeight: 120%;--tryItModule_button_text_letterSpacing: -0.1px;}.tryIt-container.svelte-16kucsb {position:relative;padding:var(--tryItModule_padding);width:100%;height:100%;box-sizing:border-box;display:flex;justify-content:var(--tryItModule_justifyContent);align-items:var(--tryItModule_alignItems);}.tryIt-container.svelte-16kucsb button:where(.svelte-16kucsb) {position:relative;padding:var(--tryItModule_button_padding);text-align:var(--tryItModule_button_textAlign);border-radius:var(--tryItModule_button_borderRadius);border:var(--tryItModule_button_border);background:var(--tryItModule_button_background);box-shadow:var(--tryItModule_button_boxShadow);font-family:var(--tryItModule_button_text_fontFamily);font-size:var(--tryItModule_button_text_fontSize);color:var(--tryItModule_button_text_color);font-weight:var(--tryItModule_button_text_weight);line-height:var(--tryItModule_button_text_lineHeight);letter-spacing:var(--tryItModule_button_text_letterSpacing);cursor:pointer;opacity:0;}.tryIt-container.svelte-16kucsb button:where(.svelte-16kucsb) .cta-text:where(.svelte-16kucsb) {opacity:0;}"};function Vc(t,e){Li(e,!0),Pa(t,qc);const n=ro((()=>e.state.ctaText)),i=ro((()=>e.state.animationConfig)),r=ro((()=>e.state.showCta)),o=ro((()=>e.state.onCtaClick));let s=vo(null),a=vo(null),l=vo(!1),c=!1;function u(){var t,e;return!0===(null===(t=(e=window).matchMedia)||void 0===t?void 0:t.call(e,"(prefers-reduced-motion: reduce)").matches)}function d(){c&&!u()&&jc(Bs(s),{transform:"scale(1.05)"},{type:vc,mass:1.5,stiffness:400,damping:30})}function h(){c&&!u()&&jc(Bs(s),{transform:"scale(1)"},{type:vc,mass:1.5,stiffness:400,damping:30})}function f(){c&&!u()&&jc(Bs(s),{transform:"scale(0.95)"},{type:vc,mass:1,stiffness:600,damping:30})}Ko((()=>{const{mass:t,stiffness:e,damping:n,delay:o}=Bs(i);let d,h=!1;if(yo(l,!1),c=!1,Bs(r)&&Bs(s)&&Bs(a))return u()?(Bs(s).style.opacity="1",Bs(s).style.transform="none",Bs(a).style.opacity="1",Bs(a).style.transform="none",yo(l,!0),void(c=!0)):(d=setTimeout((async()=>{d=null,await Promise.all([jc(Bs(s),{transform:["translateY(40px) scale(0, 0.2)","translateY(0) scale(1, 1)"],opacity:1},{type:vc,mass:t,stiffness:e,damping:n}),jc(Bs(a),{transform:["translateY(20px) scale(0.8)","translateY(0) scale(1)"],opacity:1},{type:vc,mass:t,stiffness:e,damping:n,delay:.15})]),h||(yo(l,!0),c=!0)}),o),()=>{h=!0,d&&clearTimeout(d)})}));var p=Uc(),m=Bo(p),v=t=>{var i=$c();i.__mousedown=f,i.__touchstart=f;var r=ro((()=>e.gallery.interaction(Bs(o))));i.__click=function(...t){var e;null===(e=Bs(r))||void 0===e||e.apply(this,t)};var c=Bo(i),u=Bo(c,!0);xi(c),sl(c,(t=>yo(a,t)),(()=>Bs(a))),xi(i),sl(i,(t=>yo(s,t)),(()=>Bs(s))),Jo((()=>{i.disabled=!Bs(l),i.inert=!Bs(l),Ja(i,"aria-hidden",!Bs(l)),Ja(i,"data-elementname",Bs(n)),la(u,Bs(n))})),qs("mouseenter",i,d),qs("mouseleave",i,h),ta(t,i)};ba(m,(t=>{Bs(r)&&t(v)})),xi(p),ta(t,p),zi()}Vs(["mousedown","touchstart","click"]);var Gc=new WeakSet;function Hc(){this.mainTimeline?this.player.switchTimeline(this.mainTimeline):this.emitModuleEnd(),this.state.showCta=!1}function Kc(t,e){const n=ro((()=>e.state.textBox));Fl(t,{get textBox(){return Bs(n)},get isMobile(){return e.isMobile},get gallery(){return e.gallery}})}var Xc=Ys('<div class="ripple svelte-1jfcowt"></div>'),Yc=Ys('<div class="hand-anim svelte-1jfcowt" aria-hidden="true"><svg viewBox="0 0 518 658" xmlns="http://www.w3.org/2000/svg" class="svelte-1jfcowt"><path class="hand-fill svelte-1jfcowt" d="M139.234 341.909V67.9226C139.234 53.292 145.203 40.0053 154.838 30.3866C175.516 9.69329 209.234 9.70929 229.912 30.3866C239.547 40.0064 245.516 53.288 245.516 67.9226V148.699C254.536 141.662 265.854 137.454 278.13 137.454C292.745 137.454 306.048 143.443 315.666 153.058C325.302 162.693 331.27 175.979 331.27 190.61V194.146C340.291 187.11 351.609 182.901 363.885 182.901C378.499 182.901 391.802 188.891 401.421 198.505C409.785 206.87 415.38 217.984 416.728 230.333C425.785 223.146 437.238 218.844 449.623 218.844C464.254 218.844 477.541 224.833 487.175 234.448C496.795 244.083 502.779 257.369 502.779 272V412.373C502.779 438.608 503.92 455.092 498.212 481.513C493.831 501.664 487.134 519.816 479.54 537.461C462.846 576.289 432.461 604.503 395.878 622.055C367.378 635.732 335.086 642.883 302.638 643.461C270.174 644.039 237.502 638.07 208.258 625.477C169.898 608.972 137.285 581.128 118.425 541.8C105.477 514.816 90.6385 488.097 75.9878 461.753C55.6131 425.06 35.5918 389.018 20.8838 352.665C15.8316 340.165 13.6234 326.692 15.889 314.4C20.6598 288.373 45.5823 272.597 71.217 277.296C83.6806 279.598 95.4463 286.598 103.925 297.301L139.234 341.909Z"></path><path class="hand-stroke svelte-1jfcowt" d="M244.917 166V269M330.917 201V305M419.917 246V326M139.234 341.909V67.9226C139.234 53.292 145.203 40.0053 154.838 30.3866C175.516 9.69329 209.234 9.70929 229.912 30.3866C239.547 40.0064 245.516 53.288 245.516 67.9226V148.699C254.536 141.662 265.854 137.454 278.13 137.454C292.745 137.454 306.048 143.443 315.666 153.058C325.302 162.693 331.27 175.979 331.27 190.61V194.146C340.291 187.11 351.609 182.901 363.885 182.901C378.499 182.901 391.802 188.891 401.421 198.505C409.785 206.87 415.38 217.984 416.728 230.333C425.785 223.146 437.238 218.844 449.623 218.844C464.254 218.844 477.541 224.833 487.175 234.448C496.795 244.083 502.779 257.369 502.779 272V412.373C502.779 438.608 503.92 455.092 498.212 481.513C493.831 501.664 487.134 519.816 479.54 537.461C462.846 576.289 432.461 604.503 395.878 622.055C367.378 635.732 335.086 642.883 302.638 643.461C270.174 644.039 237.502 638.07 208.258 625.477C169.898 608.972 137.285 581.128 118.425 541.8C105.477 514.816 90.6385 488.097 75.9878 461.753C55.6131 425.06 35.5918 389.018 20.8838 352.665C15.8316 340.165 13.6234 326.692 15.889 314.4C20.6598 288.373 45.5823 272.597 71.217 277.296C83.6806 279.598 95.4463 286.598 103.925 297.301L139.234 341.909Z"></path></svg></div>'),Qc=Ys('<div class="tryIt-container svelte-1jfcowt"><div class="cta-wrapper svelte-1jfcowt"><button data-elementid="start_cta" data-elementtype="button" data-interactiontype="start"><div class="cta-text svelte-1jfcowt"> </div> <!></button> <!></div></div>');const Jc={hash:"svelte-1jfcowt",code:".eko-gallery-app {--tryItModule_justifyContent: center;--tryItModule_alignItems: flex-end;--tryItModule_padding: 16px 20px 48px 20px;--tryItModule_button_padding: 16px 32px;--tryItModule_button_textAlign: center;--tryItModule_button_borderRadius: 100px;--tryItModule_button_border: 0;--tryItModule_button_boxShadow: 0 4px 24px 2px rgba(0, 0, 0, 0.12);--tryItModule_button_background: #FFFFFF;--introModule_button_text_fontFamily: var(--fontName);--introModule_button_text_fontSize: 18px;--introModule_button_text_color: #222;--introModule_button_text_weight: 500;--introModule_button_text_lineHeight: 120%;--introModule_button_text_letterSpacing: -0.1px;--introModule_ripple_color: #FFFFFF;--introModule_ripple_borderWidth: 4px;--introModule_ripple_inset_top: -42px;--introModule_ripple_inset_right: -45px;--introModule_ripple_inset_bottom: -30px;--introModule_ripple_inset_left: -57px;--introModule_hand_fill: #FFFFFF;--introModule_hand_stroke: #000000;--introModule_hand_strokeWidth: 29;--introModule_hand_boxWidth: 75px;--introModule_hand_boxHeight: 95px;--introModule_hand_svgWidth: 60px;--introModule_hand_svgHeight: 75px;--introModule_hand_top: 24px;--introModule_hand_right: -79px;}.tryIt-container.svelte-1jfcowt {position:relative;padding:var(--tryItModule_padding);width:100%;height:100%;box-sizing:border-box;display:flex;justify-content:var(--tryItModule_justifyContent);align-items:var(--tryItModule_alignItems);}.tryIt-container.svelte-1jfcowt .cta-wrapper:where(.svelte-1jfcowt) {position:relative;width:fit-content;}.tryIt-container.svelte-1jfcowt button:where(.svelte-1jfcowt) {position:relative;padding:var(--tryItModule_button_padding);text-align:var(--tryItModule_button_textAlign);border-radius:var(--tryItModule_button_borderRadius);border:var(--tryItModule_button_border);background:var(--tryItModule_button_background);box-shadow:var(--tryItModule_button_boxShadow);font-family:var(--introModule_button_text_fontFamily);font-size:var(--introModule_button_text_fontSize);color:var(--introModule_button_text_color);font-weight:var(--introModule_button_text_weight);line-height:var(--introModule_button_text_lineHeight);letter-spacing:var(--introModule_button_text_letterSpacing);cursor:pointer;opacity:0;overflow:visible;pointer-events:auto;}.tryIt-container.svelte-1jfcowt button.has-hand-anim:where(.svelte-1jfcowt) {\n animation: svelte-1jfcowt-intro-bump 2s ease-out infinite;}.tryIt-container.svelte-1jfcowt button:where(.svelte-1jfcowt) .cta-text:where(.svelte-1jfcowt) {opacity:0;}.tryIt-container.svelte-1jfcowt button:where(.svelte-1jfcowt) .ripple:where(.svelte-1jfcowt) {position:absolute;inset:0;border-radius:inherit;border:var(--introModule_ripple_borderWidth) solid var(--introModule_ripple_color);pointer-events:none;box-sizing:border-box;\n animation: svelte-1jfcowt-intro-ripple-grow 2s cubic-bezier(0.32, 0.33, 0.08, 1) infinite, svelte-1jfcowt-intro-ripple-fade 2s linear infinite;}.tryIt-container.svelte-1jfcowt .hand-anim:where(.svelte-1jfcowt) {position:absolute;top:var(--introModule_hand_top);right:var(--introModule_hand_right);width:var(--introModule_hand_boxWidth);height:var(--introModule_hand_boxHeight);pointer-events:none;transform-origin:86.4% 98%;\n animation: svelte-1jfcowt-intro-hand-tap 2s cubic-bezier(0.32, 0.33, 0.08, 1) infinite;}.tryIt-container.svelte-1jfcowt .hand-anim:where(.svelte-1jfcowt) svg:where(.svelte-1jfcowt) {width:var(--introModule_hand_svgWidth);height:var(--introModule_hand_svgHeight);display:block;}.tryIt-container.svelte-1jfcowt .hand-anim:where(.svelte-1jfcowt) .hand-fill:where(.svelte-1jfcowt) {fill:var(--introModule_hand_fill);}.tryIt-container.svelte-1jfcowt .hand-anim:where(.svelte-1jfcowt) .hand-stroke:where(.svelte-1jfcowt) {fill:none;stroke:var(--introModule_hand_stroke);stroke-width:var(--introModule_hand_strokeWidth);stroke-linecap:round;}\n\n@keyframes svelte-1jfcowt-intro-ripple-grow {\n 0% {\n inset: 0;\n }\n 60% {\n inset: var(--introModule_ripple_inset_top) var(--introModule_ripple_inset_right) var(--introModule_ripple_inset_bottom) var(--introModule_ripple_inset_left);\n }\n 100% {\n inset: var(--introModule_ripple_inset_top) var(--introModule_ripple_inset_right) var(--introModule_ripple_inset_bottom) var(--introModule_ripple_inset_left);\n }\n}\n@keyframes svelte-1jfcowt-intro-ripple-fade {\n 0% {\n opacity: 1;\n }\n 20% {\n opacity: 1;\n }\n 60% {\n opacity: 0;\n }\n 100% {\n opacity: 0;\n }\n}\n@keyframes svelte-1jfcowt-intro-hand-tap {\n 0% {\n transform: translateX(0) translateY(0) rotate(0) scale(1);\n }\n 10% {\n transform: translateX(-10px) translateY(-20px) rotate(-40deg) scale(0.9);\n }\n 35% {\n transform: translateX(0) translateY(0) rotate(15deg) scale(1);\n }\n 100% {\n transform: translateX(0) translateY(0) rotate(0) scale(1);\n }\n}\n@keyframes svelte-1jfcowt-intro-bump {\n 0% {\n transform: scale(1);\n }\n 5% {\n transform: scale(1);\n }\n 10% {\n transform: scale(0.8);\n }\n 20% {\n transform: scale(1);\n }\n 100% {\n transform: scale(1);\n }\n}"};function Zc(t,e){Li(e,!0),Pa(t,Jc);const n=ro((()=>e.state.buttonText)),i=ro((()=>e.state.animateHand)),r=ro((()=>e.state.onCtaClick));let o=null,s=null;va((async()=>{var t,e;if(null!==(t=(e=window).matchMedia)&&void 0!==t&&t.call(e,"(prefers-reduced-motion: reduce)").matches)return o.style.opacity="1",void(s.style.opacity="1");jc(o,{opacity:1},{duration:.35,ease:"easeOut"}),await jc(s,{opacity:1},{duration:.35,ease:"easeOut",delay:.05})}));var a=Qc(),l=Bo(a),c=Bo(l),u=ro((()=>e.gallery.interaction(Bs(r))));let d;c.__click=function(...t){var e;null===(e=Bs(u))||void 0===e||e.apply(this,t)};var h=Bo(c),f=Bo(h,!0);xi(h),sl(h,(t=>s=t),(()=>s));var p=zo(h,2),m=t=>{ta(t,Xc())};ba(p,(t=>{Bs(i)&&t(m)})),xi(c),sl(c,(t=>o=t),(()=>o));var v=zo(c,2),g=t=>{ta(t,Yc())};ba(v,(t=>{Bs(i)&&t(g)})),xi(l),xi(a),Jo((()=>{Ja(c,"data-elementname",Bs(n)),d=ja(c,1,"svelte-1jfcowt",null,d,{"has-hand-anim":Bs(i)}),la(f,Bs(n))})),ta(t,a),zi()}Vs(["click"]);var tu=new WeakSet;function eu(){this.emitModuleEnd()}const nu={videoModule:class extends ml{constructor({config:t,...e}){var n;super({...e,config:t}),this.Component=Ol,this.hasDuration=!t.loop,fl(this),this.coverAssets.push(null!==(n=t.intro)&&void 0!==n?n:t.video),this.cover=this.coverAssets[0],this.state={textBox:t.textBox}}start(t){super.start(t),this.timeline=t.createTimeline();const e=this.config;e.intro&&this.timeline.placeOnTimeline(gl(`${this.id}_intro`,e.intro,t),"end");const n=gl(this.id,e.video,t);this.timeline.placeOnTimeline(n,"end",{loop:e.loop}),e.loop||n.on("nodeend",this.emitModuleEnd)}},toggleModule:class extends Bl{static itemsKey="options";static nodePrefix="option";constructor(t){super(t),this.Component=$l}mapItem(t){return{label:t.label,note:t.note}}},modesModule:class extends Bl{static itemsKey="modes";static nodePrefix="mode";constructor(t){super(t),this.Component=Kl}mapItem(t){return{title:t.title,description:t.description,image:t.image}}},tryItModule:class extends ml{constructor({config:t,...e}){var n;super({...e,config:t}),O(this,Gc),fl(this);const{introVideo:i}=t;this.coverAssets.push(null!==(n=i.intro)&&void 0!==n?n:i.loop),this.cover=this.coverAssets[0],this.state={ctaText:t.ctaText,animationConfig:t.animationConfig,showCta:!0,onCtaClick:M(Gc,this,Hc).bind(this)}}start(t){super.start(t),this.Component=Vc,this.timeline=t.createTimeline();const{introVideo:e,mainVideo:n}=this.config;if(e.intro&&this.timeline.placeOnTimeline(gl(`${this.id}_intro_intro`,e.intro,t)),this.timeline.placeOnTimeline(gl(`${this.id}_intro_loop`,e.loop,t),"end",{loop:!0}),n){this.mainTimeline=t.createTimeline(),n.intro&&this.mainTimeline.placeOnTimeline(gl(`${this.id}_main_intro`,n.intro,t));const e=gl(`${this.id}_main_loop`,n.loop,t);this.mainTimeline.placeOnTimeline(e,"end",{loop:!0})}}play(){this.state.showCta=!0,super.play()}},imageModule:class extends ml{constructor({config:t,...e}){super({...e,config:t}),this.Component=Kc,fl(this),this.coverAssets.push(t.image),this.cover=this.coverAssets[0],this.showCover=!0,this.state={textBox:t.textBox}}start(t){super.start(t),this.timeline=t.createTimeline();const e=gl(this.id,this.config.image,t);delete e.manifestRef.availableEncodeProfiles,e.manifestRef.assetType="image",this.timeline.placeOnTimeline(e,0,{loop:!0})}},introModule:class extends ml{constructor({config:t,...e}){var n,i,r;super({...e,config:t}),O(this,tu),fl(this),this.coverAssets.push(null!==(n=t.intro)&&void 0!==n?n:t.video),this.cover=this.coverAssets[0],this.state={buttonText:t.buttonText,animateHand:null===(i=null!==(r=t.animateHand)&&void 0!==r?r:t.animatedHand)||void 0===i||i,onCtaClick:M(tu,this,eu).bind(this)}}start(t){super.start(t),this.Component=Zc,this.timeline=t.createTimeline();const e=this.config;e.intro&&this.timeline.placeOnTimeline(gl(`${this.id}_intro`,e.intro,t)),this.timeline.placeOnTimeline(gl(`${this.id}_loop`,e.video,t),"end",{loop:!0})}play(){this.timeline?this.player.switchTimeline(this.timeline):this.setPosition()}}};class iu{#d=Mi(vo(null),"GalleryState.#introModule");#h=Mi(vo(!1),"GalleryState.#introModulePlayed");#f=Mi(vo({}),"GalleryState.#variants");#p=Mi(vo("ekonovar"),"GalleryState.#activeVariant");#m=Mi(vo(0),"GalleryState.#activeItemIndex");#v=Mi(vo(0),"GalleryState.#activeModuleIndex");#g=Mi(vo(Io({variantId:Bs(this.#p),itemIndex:0,moduleIndex:0})),"GalleryState.#playingModulePosition");#y=Mi(ro((()=>{var t;return null===(t=Bs(this.#f))||void 0===t?void 0:t[Bs(this.#p)]})),"GalleryState.#currentItemsList");#b=Mi(ro((()=>{var t;return null===(t=Bs(this.#y))||void 0===t?void 0:t[Bs(this.#m)]})),"GalleryState.#currentItem");#k=Mi(ro((()=>{var t,e;return Bs(this.#w)?null===(e=Bs(this.#y))||void 0===e||null===(e=e[Bs(this.#g).itemIndex])||void 0===e?void 0:e.modules[Bs(this.#g).moduleIndex]:null===(t=Bs(this.#b))||void 0===t?void 0:t.modules[Bs(this.#v)]})),"GalleryState.#currentModule");#x=Mi(ro((()=>{var t;return(null===(t=Bs(this.#y))||void 0===t?void 0:t.flatMap((t=>t.modules)))||[]})),"GalleryState.#currentModulesList");#_=Mi(vo(!1),"GalleryState.#playerLoaded");#I=Mi(vo(!1),"GalleryState.#paused");#w=Mi(vo(!1),"GalleryState.#startedPlaying");#T=Mi(ro((()=>!(Mo(Bs(this.#g).itemIndex,this.activeItemIndex)&&Mo(Bs(this.#g).moduleIndex,this.activeModuleIndex)))),"GalleryState.#seeking");#E=Mi(vo(!1),"GalleryState.#themeLoaded");set introModule(t){yo(this.#d,t)}set introModulePlayed(t){yo(this.#h,t,!0)}set variants(t){yo(this.#f,t)}set activeVariant(t){yo(this.#p,t,!0)}set activeItemIndex(t){yo(this.#m,t,!0)}set activeModuleIndex(t){yo(this.#v,t,!0)}set playingModulePosition(t){yo(this.#g,t,!0)}set playerLoaded(t){yo(this.#_,t,!0)}set paused(t){yo(this.#I,t,!0)}set startedPlaying(t){yo(this.#w,t,!0)}set themeLoaded(t){yo(this.#E,t,!0)}get introModule(){return Bs(this.#d)}get introModulePlayed(){return Bs(this.#h)}get variants(){return Bs(this.#f)}get activeVariant(){return Bs(this.#p)}get availableVariants(){return Object.keys(Bs(this.#f))}get activeItemIndex(){return Bs(this.#m)}get activeModuleIndex(){return Bs(this.#v)}get playingModulePosition(){return Bs(this.#g)}get currentItemsList(){return Bs(this.#y)}get currentItem(){return Bs(this.#b)}get currentModule(){return Bs(this.#k)}get playerLoaded(){return Bs(this.#_)}get paused(){return Bs(this.#I)}get startedPlaying(){return Bs(this.#w)}get seeking(){return Bs(this.#T)}get currentModulesList(){return Bs(this.#x)}get themeLoaded(){return Bs(this.#E)}}const ru={assetsDeliveryBase:"https://{{env}}assets.eko.com",galleryAppDelivery:"https://{{env}}play.eko.com/video-apps/eko-gallery-app"};function ou(t,...e){function n(t){return"[object Object]"===Object.prototype.toString.call(t)}function i(t,e){if(Array.isArray(e)){Array.isArray(t)||(t=Array.isArray(t)?t.slice():[]);const r=Math.max(t.length,e.length);for(let o=0;o<r;o++){const r=t[o],s=e[o];null!==s&&(void 0!==s&&(n(r)&&n(s)?t[o]=i({...r},s):Array.isArray(r)&&Array.isArray(s)?t[o]=i(r.slice(),s):n(s)?t[o]=i({},s):Array.isArray(s)?t[o]=i([],s):t[o]=s))}return t}if(n(e)){n(t)||(t={});for(const r of Object.keys(e)){const o=t[r],s=e[r];n(o)&&n(s)?t[r]=i({...o},s):Array.isArray(o)&&Array.isArray(s)?t[r]=i(o.slice(),s):n(s)?t[r]=i({},s):Array.isArray(s)?t[r]=i([],s):void 0!==s&&(t[r]=s)}return t}return e}for(const n of e)null!==n&&i(t,n);return t}const su=["elementid","elementtype","elementname","interactiontype"];const au="ekonovar",lu=2,cu=5,uu=10,du=(t,e)=>{let n=t.findIndex((t=>t.variantAware&&t.id===e.id));return-1===n&&(n=t.findIndex((t=>t.variantAware))),-1===n?0:n};var hu=new WeakMap,fu=new WeakMap,pu=new WeakMap,mu=new WeakMap,vu=new WeakMap,gu=new WeakMap,yu=new WeakSet;class bu{constructor(t){var e,n,i,r,o;O(this,yu),C(this,hu,void 0),C(this,fu,void 0),C(this,pu,void 0),C(this,mu,void 0),C(this,vu,void 0),C(this,gu,void 0),P(this,"version","0.0.24"),fl(this),F(hu,this,(null===(e=crypto)||void 0===e||null===(n=e.randomUUID)||void 0===n?void 0:n.call(e))||`eko-gallery-${Date.now()}`),F(mu,this,t),F(gu,this,(null==t?void 0:t.onEvent)||(()=>{})),F(fu,this,new iu),F(vu,this,((t="")=>("production"===t&&(t=""),Object.fromEntries(Object.entries(ru).map((([e,n])=>[e,n.replaceAll("{{env}}",t)])))))(null==t||null===(i=t.options)||void 0===i?void 0:i.galleryEnv)),F(pu,this,[]);const s=null==t||null===(r=t.instance)||void 0===r||null===(r=r.data)||void 0===r||null===(r=r.blocks)||void 0===r||null===(r=r.blocksArr)||void 0===r||null===(r=r.find((t=>"GalleryBlock"===t.blockType)))||void 0===r?void 0:r.config;s?(M(yu,this,ku).call(this,s.items),M(yu,this,wu).call(this,s.items),function(t,e){function n(e){window.EkoAnalytics("registerContextPacker",{tag:t,...e})}function i(e){return function(...n){return n.pop()!==t?null:e(...n)}}"undefined"!=typeof window&&window.EkoAnalytics&&(n({schema:"iglu:com.helloeko/gallery-app/jsonschema/1-0-0",match:/.*/,getData:i((()=>{var t,n,i,r,o;const s=null===(t=e.currentItem)||void 0===t?void 0:t.modules[e.activeModuleIndex];return{itemid:(null===(n=e.currentItem)||void 0===n?void 0:n.id)||"",itemindex:e.activeItemIndex,totalitems:(null===(i=e.currentItemsList)||void 0===i?void 0:i.length)||0,itemname:(null===(r=e.currentItem)||void 0===r?void 0:r.name)||"",moduleid:(null==s?void 0:s.id)||"",modulename:(null==s?void 0:s.name)||"",moduletype:(null==s?void 0:s.config.itemType)||"",moduleindex:e.activeModuleIndex,totalmodules:(null===(o=e.currentItem)||void 0===o?void 0:o.modules.length)||0,version:"0.0.24"}}))}),n({schema:"iglu:com.helloeko/implementation_interactions/jsonschema/1-0-6",match:"interaction",getData:i((t=>t))}))}(N(hu,this),N(fu,this))):console.warn("[eko-gallery-app] Gallery initiated without an instance, results will be empty");const a=null==t||null===(o=t.instance)||void 0===o||null===(o=o.data)||void 0===o||null===(o=o.blocks)||void 0===o||null===(o=o.blocksArr)||void 0===o||null===(o=o.find((t=>"FullScreenIntro"===t.blockType)))||void 0===o?void 0:o.config;a&&(N(fu,this).introModule=new nu.introModule({position:{variantId:"intro",itemIndex:0,moduleIndex:0},config:{itemType:"introModule",...a},gallery:this}))}dispose(){var t,e;"undefined"!=typeof window&&(null===(t=(e=window).EkoAnalytics)||void 0===t||t.call(e,"reset",N(hu,this)),function(){if("undefined"!=typeof window){for(const t of Pl)delete window[t];Pl.clear()}}())}start(t){N(fu,this).playerLoaded=!0,N(pu,this).forEach((e=>{e.start(t)})),F(pu,this,null),M(yu,this,xu).call(this,t),N(fu,this).introModule?(N(fu,this).introModule.start(t),N(fu,this).introModule.moduleEndListener=()=>{N(fu,this).introModulePlayed=!0,N(fu,this).currentModule.play()},N(fu,this).introModule.play()):N(fu,this).currentModule.play()}selectVariant(t){const{variants:e,currentItem:n,activeItemIndex:i,activeModuleIndex:r}=N(fu,this);if(e[t]){const i=du(e[t],n);N(fu,this).activeVariant=t,N(fu,this).activeItemIndex=i,N(fu,this).activeModuleIndex=0}else N(fu,this).activeVariant=au,N(fu,this).activeItemIndex=0,N(fu,this).activeModuleIndex=0;i===N(fu,this).activeItemIndex&&r===N(fu,this).activeModuleIndex&&N(fu,this).currentModule.play()}selectItem(t){M(yu,this,Iu).call(this);const e=N(fu,this);t!==e.activeItemIndex&&(e.activeItemIndex=t,e.activeModuleIndex=0)}selectItemAndStep(t,e){M(yu,this,Iu).call(this);const n=N(fu,this);t===n.activeItemIndex&&e===n.activeModuleIndex||(n.activeItemIndex=t,n.activeModuleIndex=e)}next(){M(yu,this,Iu).call(this)||M(yu,this,Tu).call(this)}prev(){if(M(yu,this,Iu).call(this))return;const t=N(fu,this);if(t.activeModuleIndex=t.activeModuleIndex-1,!t.currentItem.modules[t.activeModuleIndex])if(t.currentItemsList[t.activeItemIndex-1]){t.activeItemIndex=t.activeItemIndex-1;const e=t.currentItemsList[t.activeItemIndex];t.activeModuleIndex=e.modules.length-1}else t.activeModuleIndex=t.activeModuleIndex+1}getCoverUrl(t,e){var n,i,r,o;const s=(null==t||null===(n=t.entity)||void 0===n?void 0:n.entityId)||(null==t?void 0:t.assetId),a=null!==(i=null==t||null===(r=t.entity)||void 0===r?void 0:r.entityRevision)&&void 0!==i?i:null==t?void 0:t.assetRevision;if(!s)throw new Error(`[getCoverUrl] No assetId found in assetConfig: ${JSON.stringify(t||{},null,2)}`);if(!a&&0!==a)throw new Error(`[getCoverUrl] No assetRevision found for asset ${s}.`);let l;return null!==(o=N(mu,this))&&void 0!==o&&null!==(o=o.coverAssetsMap)&&void 0!==o&&o[s]?(l=new URL(N(mu,this).coverAssetsMap[s]),/^[a-z0-9]*assets.eko.com$/.test(l.host)&&e&&(l.pathname=l.pathname.replace(".png",".webp"))):(l=new URL(`${N(vu,this).assetsDeliveryBase}/image/${s}/${a}?startOffset=0`),l.pathname+=e?".webp":".png"),e&&l.searchParams.set("width",e),l.href}track(t,...e){var n,i;"undefined"!=typeof window&&(null===(n=(i=window).EkoAnalytics)||void 0===n||n.call(i,"track",t,...e,N(hu,this)))}interaction(t,e){const n=N(hu,this);return i=>{if("undefined"!=typeof window){var r,o;const t=function(t,e={}){var n,i,r,o;const s=null==t||null===(n=t.currentTarget)||void 0===n?void 0:n.dataset,a=null==t||null===(i=t.target)||void 0===i?void 0:i.dataset,l=Object.fromEntries(su.map((t=>{const n=(null==s?void 0:s[t])||(null==a?void 0:a[t])||(null==e?void 0:e[t])||"";return[t,String(n)]})));return"left"===(null==t||null===(r=t.detail)||void 0===r?void 0:r.direction)?l.interactiontype="swipe_next":"right"===(null==t||null===(o=t.detail)||void 0===o?void 0:o.direction)&&(l.interactiontype="swipe_prev"),l}(i,e);null===(r=(o=window).EkoAnalytics)||void 0===r||r.call(o,"track","interaction",t,n),N(gu,this).call(this,"interaction",t)}t(i)}}preloadVariantsCovers(t,e){const{activeVariant:n,variants:i}=N(fu,this);Rl(Object.entries(i).filter((([t])=>t!==n)).map((([,n])=>{const i=du(n,t);return this.getCoverUrl(n[i].modules[0].cover,e)})))}get uuid(){return N(hu,this)}get state(){return N(fu,this)}get urls(){return N(vu,this)}}function ku(t){const e={};for(let n of t)for(let t of Object.keys(n.variants||{}))e[t]=[];e[au]=[],N(fu,this).variants=e}function wu(t){const e=(t=[],e)=>{const n=[];for(let[i,r]of t.entries()){if(!nu[r.itemType])throw new Error(`Unknown module type ${r.itemType}`);const t=new nu[r.itemType]({position:{...e,moduleIndex:i},config:r,gallery:this});t.moduleEndListener=M(yu,this,_u).bind(this),n.push(t)}return n},n=Object.entries(N(fu,this).variants);for(const e of t)if("galleryItemV2"===e.itemType){const{variants:t,...i}=e;for(const[r,o]of n){const n=null==t?void 0:t[r];if(!n&&e.variantSpecific)continue;let s={...i};n&&(s=ou({},i,n)),o.push({...s,variantAware:!!n})}}for(const[t,i]of n)if(0!==i.length)for(const[n,r]of i.entries())r.modules=e(r.modules,{variantId:t,itemIndex:n}),F(pu,this,[...N(pu,this),...r.modules]);else delete N(fu,this).variants[t]}function xu(t){const e=Object.entries(N(fu,this).variants);for(const[n,i]of e){const r=e.filter((([t])=>t!==n));for(const[e,n]of i.entries()){const o=n.modules,s=i.filter((t=>t!==n)).map((t=>t.modules[0])),a=r.map((([,t])=>({nodeId:t[du(t,n)].modules[0].timeline.getNodesAtTime(0)[0].id,weight:uu})));for(const[n,r]of o.entries()){let l=o[n+1];l||(l=i[(e+1)%i.length].modules[0]);const c=l.timeline.getNodesAtTime(0)[0],u=s.filter((t=>t!==l)).map((t=>t.timeline.getNodesAtTime(0)[0])),d=[{nodeId:c.id,weight:lu},...u.map((t=>({nodeId:t.id,weight:cu}))),...a];for(const e of r.timeline.placements){t.getNode(e.nodeId).setChildren(d)}}}}}function _u(){const t=N(fu,this),e=t.currentItem.modules;e.length>1&&t.activeModuleIndex===e.length-1?t.activeModuleIndex=0:M(yu,this,Tu).call(this)}function Iu(){const{introModule:t,introModulePlayed:e}=N(fu,this);return!(!t||e)&&(N(fu,this).introModulePlayed=!0,!0)}function Tu(){const t=N(fu,this);t.activeModuleIndex=t.activeModuleIndex+1,t.currentItem.modules[t.activeModuleIndex]||(t.currentItemsList[t.activeItemIndex+1]?(t.activeItemIndex=t.activeItemIndex+1,t.activeModuleIndex=0):t.activeModuleIndex=t.activeModuleIndex-1)}const Eu=["activeVariant","activeItemIndex","activeModuleIndex","paused","startedPlaying","availableVariants"],Su=t=>Eu.reduce(((e,n)=>(e[n]=t[n],e)),{});function Mu(t){return{version:t.version,state:Su(t.state),selectItem:t.selectItem,selectItemAndStep:t.selectItemAndStep,next:t.next,prev:t.prev,subscribe:e=>function(t){mr.ensure();const e=Vo(Wn|Jn,t,!0);return()=>{rs(e)}}((()=>{Ko((()=>{e(Su(t.state))}))}))}}var Au=Ys('<img class="nav-button-icon svelte-er27y2" alt="" aria-hidden="true"/>'),Nu=Ys('<button data-elementtype="gallery item" data-interactiontype="navigation"><!> <span class="svelte-er27y2"> </span></button>'),Cu=Ys('<div><div class="nav-buttons svelte-er27y2"></div></div>');const Fu={hash:"svelte-er27y2",code:".eko-gallery-app {--nav_gap: 10px;--nav_padding: 12px 16px;--nav_bgColor: #FFFFFF;--nav_justifyContent: center;--nav_tray_margin: 0;--nav_tray_padding: 2px;--nav_tray_width: fit-content;--nav_tray_maxWidth: 100%;--nav_tray_bgColor: transparent;--nav_tray_border: 0;--nav_tray_borderRadius: 0;--nav_tray_boxShadow: none;--nav_tray_overflow: auto;--nav_button_width: fit-content;--nav_button_bgColor: #FFFFFF;--nav_button_borderRadius: 100px;--nav_button_paddingTop: 8px;--nav_button_paddingBottom: var(--nav_button_paddingTop);--nav_button_paddingLeft: 12px;--nav_button_paddingRight: var(--nav_button_paddingLeft);--nav_button_boxShadow: 0 0 0 1px #E7E7E7;--nav_button_gap: 2px;--nav_button_selected_boxShadow: 0 0 0 1px #000000;--nav_button_selected_bgColor: var(--nav_button_bgColor);--nav_button_text_color: #000000;--nav_button_text_fontSize: 14px;--nav_button_text_fontWeight: 500;--nav_button_text_fontFamily: var(--fontName);--nav_button_text_lineHeight: 120%;--nav_button_text_letterSpacing: 0px;--nav_button_text_align: center;--nav_button_selected_text_color: var(--nav_button_text_color);--nav_button_selected_text_fontWeight: var(--nav_button_text_fontWeight);--nav_button_image_borderRadius: calc(var(--nav_button_borderRadius) - var(--nav_button_paddingTop));--nav_button_icon_size: 20px;--nav_button_icon_filter: none;--nav_button_selected_icon_filter: none;--nav_arrow_color: var(--secondaryColor);--nav_arrow_bgColor: transparent;--nav_arrow_borderRadius: 100%;--nav_arrow_padding: 9px;--nav_arrow_size: 30px;--nav_arrow_boxShadow: none;--nav_arrow_iconOpacity: 0.6;--nav_arrow_bgColor_hover: #FFFFFF;--nav_arrow_boxShadow_hover: 0 0 8px 0 rgba(0, 0, 0, 0.12);}.nav-buttons-container.svelte-er27y2 {width:100%;background-color:var(--nav_bgColor);display:flex;box-sizing:border-box;text-align:center;justify-content:var(--nav_justifyContent);align-items:center;position:relative;flex-shrink:0;opacity:0;transition:opacity 0.2s ease-in-out;}.nav-buttons-container.theme-loaded.svelte-er27y2 {opacity:1;}.nav-buttons-container.svelte-er27y2 :where(.svelte-er27y2) {touch-action:auto;}.nav-buttons.svelte-er27y2 {display:flex;margin:var(--nav_tray_margin);gap:var(--nav_gap);height:100%;align-items:center;padding:var(--nav_tray_padding, var(--nav_padding));background-color:var(--nav_tray_bgColor);border:var(--nav_tray_border);border-radius:var(--nav_tray_borderRadius);box-shadow:var(--nav_tray_boxShadow);box-sizing:border-box;overflow-x:var(--nav_tray_overflow);scrollbar-width:none;max-width:var(--nav_tray_maxWidth);width:var(--nav_tray_width);overflow-y:hidden;overscroll-behavior-y:none;}.nav-button.svelte-er27y2 {display:flex;outline:none;flex-shrink:0;height:100%;width:var(--nav_button_width);border:none;cursor:pointer;outline-color:#3191fc;align-items:center;gap:var(--nav_button_gap);background-color:var(--nav_button_bgColor);border-radius:var(--nav_button_borderRadius);\n /* eslint-disable-next-line max-len */padding:var(--nav_button_paddingTop) var(--nav_button_paddingRight) var(--nav_button_paddingBottom) var(--nav_button_paddingLeft);box-shadow:var(--nav_button_boxShadow);}.nav-button.svelte-er27y2 .nav-button-icon:where(.svelte-er27y2) {width:var(--nav_button_icon_size);height:var(--nav_button_icon_size);flex:0 0 auto;object-fit:contain;filter:var(--nav_button_icon_filter);pointer-events:none;display:block;}.nav-button.svelte-er27y2 span:where(.svelte-er27y2) {flex:1 0 0;transition:color 0.2s ease-in-out;color:var(--nav_button_text_color);font-weight:var(--nav_button_text_fontWeight);font-size:var(--nav_button_text_fontSize);font-family:var(--nav_button_text_fontFamily);line-height:var(--nav_button_text_lineHeight);letter-spacing:var(--nav_button_text_letterSpacing);text-align:var(--nav_button_text_align);}.nav-button.selected.svelte-er27y2 {background-color:var(--nav_button_selected_bgColor);box-shadow:var(--nav_button_selected_boxShadow);}.nav-button.selected.svelte-er27y2 .nav-button-icon:where(.svelte-er27y2) {filter:var(--nav_button_selected_icon_filter);}.nav-button.selected.svelte-er27y2 span:where(.svelte-er27y2) {color:var(--nav_button_selected_text_color);font-weight:var(--nav_button_selected_text_fontWeight);}.nav-button.svelte-er27y2:focus-visible {outline-offset:2px;outline-style:solid;outline-width:2px;}"};function Ou(t,e){Li(e,!0),Pa(t,Fu);let n=ll(e,"onNavItemClick",3,(()=>{}));const i=Bi("state");var r=Cu();let o;var s=Bo(r);xa(s,23,(()=>i().currentItemsList),((t,e)=>`${i().activeVariant}_${t.id}_${e}`),((t,r,o)=>{const s=ro((()=>function(t){var n;if(!t)return null;if("string"==typeof t)return t;if(null!=(null===(n=t.entity)||void 0===n?void 0:n.entityId))try{return e.gallery.getCoverUrl(t,40)}catch{return null}return null}(Bs(r).icon))),a=ro((()=>String(Bs(r).name||`Gallery item ${Bs(o)+1}`)));var l=Nu();let c;var u=ro((()=>{var t;return e.gallery.interaction((()=>n()(Bs(o))),{elementid:String(null!==(t=Bs(r).id)&&void 0!==t?t:Bs(o)+1),elementtype:"gallery item",elementname:Bs(a),interactiontype:"navigation"})}));l.__click=function(...t){var e;null===(e=Bs(u))||void 0===e||e.apply(this,t)};var d=Bo(l),h=t=>{var e=Au();Jo((()=>Ja(e,"src",Bs(s)))),ta(t,e)};ba(d,(t=>{Bs(s)&&t(h)}));var f=zo(d,2),p=Bo(f,!0);xi(f),xi(l),Jo(((t,e,n,i)=>{c=ja(l,1,"nav-button svelte-er27y2",null,c,t),Ja(l,"data-item-name",e),Ja(l,"data-elementid",n),Ja(l,"data-elementname",Bs(a)),Ja(l,"aria-label",Bs(a)),Ja(l,"aria-current",i),la(p,Bs(r).name)}),[()=>({selected:Bs(o)===i().activeItemIndex}),()=>{var t,e;return null!==(t=null===(e=Bs(r).name)||void 0===e?void 0:e.toLowerCase())&&void 0!==t?t:""},()=>{var t;return String(null!==(t=Bs(r).id)&&void 0!==t?t:Bs(o)+1)},()=>Bs(o)===i().activeItemIndex?"true":void 0]),ta(t,l)})),xi(s),xi(r),Jo((t=>o=ja(r,1,"nav-buttons-container svelte-er27y2",null,o,t)),[()=>({"theme-loaded":i().themeLoaded})]),ta(t,r),zi()}Vs(["click"]);const Pu="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20320%20512'%3e%3cpath%20d='M310.6%20233.4c12.5%2012.5%2012.5%2032.8%200%2045.3l-192%20192c-12.5%2012.5-32.8%2012.5-45.3%200s-12.5-32.8%200-45.3L242.7%20256%2073.4%2086.6c-12.5-12.5-12.5-32.8%200-45.3s32.8-12.5%2045.3%200l192%20192z'/%3e%3c/svg%3e";var Ru=Ys('<button data-elementtype="button" data-interactiontype="navigation"><img alt="" aria-hidden="true" class="svelte-1al44kl"/></button>');const Du={hash:"svelte-1al44kl",code:'.nav-button.svelte-1al44kl {height:var(--nav_arrow_size, 30px);width:var(--nav_arrow_size, 30px);border-radius:var(--nav_arrow_borderRadius, 100%);background-color:var(--nav_arrow_bgColor, transparent);padding:var(--nav_arrow_padding, 9px);box-shadow:var(--nav_arrow_boxShadow, none);box-sizing:border-box;display:flex;align-items:center;justify-content:center;pointer-events:auto;border:0;opacity:100%;cursor:pointer;transition:background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, opacity 0.2s ease-in-out;position:relative;}.nav-button.prev.svelte-1al44kl {transform:rotate(180deg);}.nav-button.hidden.svelte-1al44kl {opacity:0;pointer-events:none;}.nav-button.svelte-1al44kl::before {content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;}.nav-button.svelte-1al44kl img:where(.svelte-1al44kl) {height:100%;opacity:var(--nav_arrow_iconOpacity, 1);}'};function Bu(t,e){Li(e,!0),Pa(t,Du);const n=ll(e,"hidden",3,!1),i=ro((()=>"prev"===e.type?"Previous item":"Next item"));var r=Ru();let o;var s=ro((()=>e.gallery.interaction(e.onClick,{elementid:`gallery_${e.type}`,elementtype:"button",elementname:Bs(i),interactiontype:"navigation"})));r.__click=function(...t){var e;null===(e=Bs(s))||void 0===e||e.apply(this,t)};var a=Bo(r);xi(r),Jo((()=>{var t,s;o=ja(r,1,`nav-button ${null!==(t=e.type)&&void 0!==t?t:""}`,"svelte-1al44kl",o,{hidden:n()}),Ja(r,"aria-label",Bs(i)),Ja(r,"data-elementid",`gallery_${null!==(s=e.type)&&void 0!==s?s:""}`),Ja(r,"data-elementname",Bs(i)),Ja(a,"src",Pu)})),ta(t,r),zi()}Vs(["click"]);var Lu=Ys('<button data-elementtype="step-indicator" data-interactiontype="navigation"><span class="svelte-1mxltt0"> </span></button>'),zu=Ys('<div><button aria-label="Scroll to previous steps"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="svelte-1mxltt0"><path d="M12.8333 16.6668C12.68 16.6668 12.5266 16.5935 12.4266 16.4601L9.42663 12.2935C9.36482 12.2081 9.33154 12.1055 9.33154 12.0001C9.33154 11.8948 9.36482 11.7921 9.42663 11.7068L12.4266 7.54012C12.4651 7.48671 12.5138 7.44142 12.5698 7.40682C12.6259 7.37222 12.6882 7.349 12.7532 7.33848C12.8182 7.32795 12.8846 7.33033 12.9487 7.34549C13.0128 7.36064 13.0732 7.38826 13.1266 7.42678C13.18 7.46531 13.2253 7.51397 13.2599 7.56999C13.2945 7.62602 13.3177 7.68831 13.3283 7.75331C13.3388 7.81831 13.3364 7.88475 13.3213 7.94883C13.3061 8.01291 13.2785 8.07338 13.24 8.12678L10.4466 12.0001L13.2333 15.8735C13.2864 15.9479 13.3181 16.0355 13.3251 16.1267C13.332 16.2179 13.314 16.3092 13.2728 16.3909C13.2316 16.4725 13.1689 16.5414 13.0915 16.59C13.014 16.6386 12.9247 16.6652 12.8333 16.6668Z" fill="#030303" class="svelte-1mxltt0"></path></svg></button> <div role="group" aria-roledescription="Sequence navigation buttons"></div> <button aria-label="Scroll to next steps"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="svelte-1mxltt0"><path d="M11.1668 16.6666C11.0668 16.6666 10.9601 16.6333 10.8734 16.5733C10.8199 16.5348 10.7746 16.4862 10.7399 16.4302C10.7053 16.3741 10.682 16.3118 10.6715 16.2468C10.6609 16.1818 10.6634 16.1153 10.6786 16.0512C10.6938 15.9871 10.7215 15.9266 10.7601 15.8733L13.5534 11.9999L10.7601 8.12661C10.6001 7.89994 10.6468 7.59328 10.8734 7.42661C11.1001 7.26661 11.4068 7.31994 11.5734 7.53994L14.5734 11.7066C14.7001 11.8799 14.7001 12.1133 14.5734 12.2933L11.5734 16.4599C11.4734 16.5933 11.3201 16.6666 11.1668 16.6666Z" fill="#030303" class="svelte-1mxltt0"></path></svg></button></div>');const Wu={hash:"svelte-1mxltt0",code:'.eko-gallery-app {--stepsIndicator_container_bottom: 12px;--stepsIndicator_container_left: 8px;--stepsIndicator_container_right: auto;--stepsIndicator_container_width: calc(100% - 16px);--stepsIndicator_padding: 4px 4px;--stepsIndicator_margin: 0 16px;--stepsIndicator_gap: 8px;--stepsIndicator_justifyContent: flex-start;--stepsIndicator_mask_left: linear-gradient(to left, black calc(100% - 20px), transparent);--stepsIndicator_mask_right: linear-gradient(to right, black calc(100% - 20px), transparent);\n /* stylelint-disable-next-line max-line-length */--stepsIndicator_mask_both: linear-gradient(\n to right,\n transparent,\n black 20px,\n black calc(100% - 20px),\n transparent\n );--stepsIndicator_button_padding: 8px 12px;--stepsIndicator_button_border: #E4E5E8 solid 1px;--stepsIndicator_button_borderRadius: 100px;--stepsIndicator_button_bgColor: #FBFBFB;--stepsIndicator_button_bgColor_hover: #F3F4F6;--stepsIndicator_button_bgColor_active: #E4E5E8;--stepsIndicator_button_boxShadow: none;--stepsIndicator_button_color: #030303;--stepsIndicator_button_fontSize: 12px;--stepsIndicator_button_fontWeight: 500;--stepsIndicator_button_lineHeight: 16px;--stepsIndicator_button_active_bgColor: #014FD3;--stepsIndicator_button_active_borderColor: #014FD3;--stepsIndicator_button_active_boxShadow: none;--stepsIndicator_button_active_color: #FFFFFF;--stepsIndicator_span_display: block;--stepsIndicator_span_width: auto;--stepsIndicator_span_height: auto;--stepsIndicator_span_borderRadius: 0;--stepsIndicator_span_bgColor: transparent;--stepsIndicator_span_border: 0;--stepsIndicator_span_boxShadow: none;--stepsIndicator_span_fontSize: inherit;--stepsIndicator_span_color: inherit;--stepsIndicator_span_active_width: var(--stepsIndicator_span_width);--stepsIndicator_span_active_height: var(--stepsIndicator_span_height);--stepsIndicator_span_active_bgColor: var(--stepsIndicator_span_bgColor);--stepsIndicator_span_active_border: var(--stepsIndicator_span_border);--stepsIndicator_span_active_boxShadow: var(--stepsIndicator_span_boxShadow);--stepsIndicator_arrow_display: flex;}.steps-indicator-container.svelte-1mxltt0 {width:var(--stepsIndicator_container_width);position:absolute;bottom:var(--stepsIndicator_container_bottom);left:var(--stepsIndicator_container_left);right:var(--stepsIndicator_container_right);animation-duration:0.75s;animation-timing-function:cubic-bezier(0.36, 0, 0, 1);animation-fill-mode:both;animation-delay:0.15s;\n animation-name: svelte-1mxltt0-gallery-steps-appear-anim;}.steps-indicator-container.mobile-indicators.svelte-1mxltt0 {display:var(--stepsIndicator_mobile_display, none);}.steps-indicator.svelte-1mxltt0 {--stepSize: 6px;--stepPadding: 7px;padding:var(--stepsIndicator_padding);margin:var(--stepsIndicator_margin);display:flex;gap:var(--stepsIndicator_gap);align-items:center;justify-content:var(--stepsIndicator_justifyContent);overflow-x:auto;pointer-events:all;scrollbar-width:none;}.steps-indicator.fade-right.svelte-1mxltt0 {mask-image:var(--stepsIndicator_mask_right);}.steps-indicator.fade-left.svelte-1mxltt0 {mask-image:var(--stepsIndicator_mask_left);}.steps-indicator.fade-left.fade-right.svelte-1mxltt0 {mask-image:var(--stepsIndicator_mask_both);}.steps-indicator.with-duration.svelte-1mxltt0 .step-button:where(.svelte-1mxltt0) span:where(.svelte-1mxltt0) {position:relative;overflow:hidden;}.steps-indicator.with-duration.svelte-1mxltt0 .step-button:where(.svelte-1mxltt0) span:where(.svelte-1mxltt0):after {transition:0.3s ease-in-out;transition-property:opacity, width;}.step-button.svelte-1mxltt0 {min-width:24px;min-height:24px;padding:var(--stepsIndicator_button_padding);border:var(--stepsIndicator_button_border);background-color:var(--stepsIndicator_button_bgColor);box-shadow:var(--stepsIndicator_button_boxShadow);border-radius:var(--stepsIndicator_button_borderRadius);font-size:var(--stepsIndicator_button_fontSize);font-weight:var(--stepsIndicator_button_fontWeight);line-height:var(--stepsIndicator_button_lineHeight);color:var(--stepsIndicator_button_color);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:all;flex-shrink:0;transition:all 0.3s ease-in-out;outline-color:#3191fc;}.step-button.active.svelte-1mxltt0 {background-color:var(--stepsIndicator_button_active_bgColor);color:var(--stepsIndicator_button_active_color);box-shadow:var(--stepsIndicator_button_active_boxShadow);border-color:var(--stepsIndicator_button_active_borderColor);}.step-button.active.svelte-1mxltt0:after {opacity:100%;\n animation: svelte-1mxltt0-stepDurationAnimation var(--stepDuration) linear forwards;animation-play-state:running;}.step-button.svelte-1mxltt0:hover:not(.active) {background:var(--stepsIndicator_button_bgColor_hover);}.step-button.svelte-1mxltt0:active:not(.active) {background:var(--stepsIndicator_button_bgColor_active);}.step-button.svelte-1mxltt0:focus {outline-offset:4px;outline-width:2px;}.step-button.svelte-1mxltt0 span:where(.svelte-1mxltt0) {display:var(--stepsIndicator_span_display);width:var(--stepsIndicator_span_width);height:var(--stepsIndicator_span_height);border-radius:var(--stepsIndicator_span_borderRadius);background-color:var(--stepsIndicator_span_bgColor);border:var(--stepsIndicator_span_border);box-shadow:var(--stepsIndicator_span_boxShadow);font-size:var(--stepsIndicator_span_fontSize);color:var(--stepsIndicator_span_color);box-sizing:border-box;pointer-events:none;white-space:nowrap;}.step-button.svelte-1mxltt0 span:where(.svelte-1mxltt0):after {content:"";background-color:rgba(0, 0, 0, 0.6);position:absolute;border-radius:var(--stepSize);width:0;height:100%;top:0;left:-100%;opacity:0;transform:translateX(0);animation-play-state:paused;}.step-button.active.svelte-1mxltt0 span:where(.svelte-1mxltt0) {width:var(--stepsIndicator_span_active_width);height:var(--stepsIndicator_span_active_height);background-color:var(--stepsIndicator_span_active_bgColor);border:var(--stepsIndicator_span_active_border);box-shadow:var(--stepsIndicator_span_active_boxShadow);}.step-arrow.svelte-1mxltt0 {display:var(--stepsIndicator_arrow_display);width:34px;height:34px;position:absolute;z-index:10;bottom:4px;border:1px solid #C4C8CF;border-radius:50%;background-color:#FFFFFF;box-shadow:0 2px 3px 0 rgba(0, 0, 0, 0.05);box-sizing:border-box;align-items:center;justify-content:center;pointer-events:none;cursor:pointer;opacity:0;}.step-arrow.svelte-1mxltt0:hover {background:#F6F6F7;}.step-arrow.svelte-1mxltt0:active {background:#E4E5E8;}.step-arrow-prev.svelte-1mxltt0 {left:3px;transform:translateX(-100%);\n animation: svelte-1mxltt0-arrow-left-disappear 0.3s cubic-bezier(0.36, 0, 0, 1) both;}.step-arrow-prev.visible.svelte-1mxltt0 {pointer-events:auto;\n animation: svelte-1mxltt0-arrow-left-appear 0.3s cubic-bezier(0.36, 0, 0, 1) both;}.step-arrow-next.svelte-1mxltt0 {right:3px;transform:translateX(100%);\n animation: svelte-1mxltt0-arrow-right-disappear 0.3s cubic-bezier(0.36, 0, 0, 1) both;}.step-arrow-next.visible.svelte-1mxltt0 {pointer-events:auto;\n animation: svelte-1mxltt0-arrow-right-appear 0.3s cubic-bezier(0.36, 0, 0, 1) both;}\n\n@keyframes svelte-1mxltt0-gallery-steps-appear-anim {\n from {\n opacity: 0;\n transform: translate(0, 10px);\n }\n to {\n opacity: 1;\n transform: translate(0, 0);\n }\n}\n@keyframes svelte-1mxltt0-gallery-steps-disappear-anim {\n from {\n opacity: 1;\n transform: translate(0, 0);\n }\n to {\n opacity: 0;\n transform: translate(0, 10px);\n }\n}\n@keyframes svelte-1mxltt0-arrow-left-appear {\n from {\n opacity: 0;\n transform: translateX(-100%);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n@keyframes svelte-1mxltt0-arrow-left-disappear {\n from {\n opacity: 1;\n transform: translateX(0);\n }\n to {\n opacity: 0;\n transform: translateX(-100%);\n }\n}\n@keyframes svelte-1mxltt0-arrow-right-appear {\n from {\n opacity: 0;\n transform: translateX(100%);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n@keyframes svelte-1mxltt0-arrow-right-disappear {\n from {\n opacity: 1;\n transform: translateX(0);\n }\n to {\n opacity: 0;\n transform: translateX(100%);\n }\n}\n@keyframes svelte-1mxltt0-stepDurationAnimation {\n 0% {\n transform: translateX(0);\n }\n 100% {\n transform: translateX(100%);\n }\n}'};function ju(t,e){Li(e,!0),Pa(t,Wu);const n=16,i=32;let r=ll(e,"gallery",7),o=vo(null),s=vo(null),a=vo(!1),l=vo(!1);const c=ro((()=>{let t=[];return t=r().state.currentItem.modules.map(((t,e)=>({index:e,type:e===r().state.activeModuleIndex?"active":"",name:t.name}))),t}));function u(){Bs(o)&&(yo(a,Bs(o).scrollLeft>0),yo(l,Bs(o).scrollLeft+Bs(o).clientWidth<Bs(o).scrollWidth-0))}function d(t){var e,n;const i="undefined"!=typeof window&&(null===(e=(n=window).matchMedia)||void 0===e?void 0:e.call(n,"(prefers-reduced-motion: reduce)").matches);Bs(o).scrollBy({left:t,behavior:i?"auto":"smooth"})}function h(t,e){const r=t.getBoundingClientRect(),o=e.getBoundingClientRect(),s=n+i;o.left<r.left+i?d(o.left-r.left-s):o.right>r.right-i&&d(o.right-r.right+s)}function f(){const t=Array.from(Bs(o).querySelectorAll(".step-button")).find((t=>{const e=t.getBoundingClientRect(),n=Bs(o).getBoundingClientRect();return e.left>n.left+i}));if(t){const e=t.previousElementSibling;e&&h(Bs(o),e)}}function p(){const t=Array.from(Bs(o).querySelectorAll(".step-button")).reverse().find((t=>{const e=t.getBoundingClientRect(),n=Bs(o).getBoundingClientRect();return e.right<n.right-i}));if(t){const e=t.nextElementSibling;e&&h(Bs(o),e)}}Ko((()=>{if(Bs(o)){u();const t=Bs(o).querySelector(".step-button.active");t&&yo(s,t,!0);const e=new MutationObserver((()=>{const t=Bs(o).querySelector(".step-button.active");t&&yo(s,t,!0)}));e.observe(Bs(o),{attributes:!0,attributeFilter:["class"],subtree:!0});const n=new ResizeObserver((()=>{u()}));return n.observe(Bs(o)),()=>{e.disconnect(),n.disconnect()}}})),Ko((()=>{Bs(c),Bs(o)&&Ds().then(u)})),Ko((()=>{Bs(s)&&Bs(o)&&h(Bs(o),Bs(s))}));var m=Zs();qs("resize",Ao,u),function(t,e,n){yi&&wi();var i=new ma(t);Zo((()=>{var t=e();i.ensure(t,n)}))}(Lo(m),(()=>r().state.activeItemIndex),(t=>{var n=zu();let i;var s=Bo(n);let d;s.__click=f;var m=zo(s,2);let v;xa(m,21,(()=>Bs(c)),ka,((t,e)=>{var n=Lu();let i;var s=ro((()=>r().interaction((t=>{return n=t.currentTarget,i=Bs(e).index,r().state.activeModuleIndex=i,void h(Bs(o),n);var n,i}))));n.__click=function(...t){var e;null===(e=Bs(s))||void 0===e||e.apply(this,t)};var a=Bo(n),l=Bo(a,!0);xi(a),xi(n),Jo((()=>{i=ja(n,1,"step-button svelte-1mxltt0",null,i,{active:"active"===Bs(e).type}),Ja(n,"aria-current","active"===Bs(e).type?"step":void 0),Ja(n,"aria-label",Bs(e).name?`Go to step ${Bs(e).index+1}: ${Bs(e).name}`:`Go to step ${Bs(e).index+1}`),Ja(n,"data-elementid",`${Bs(e).index+1}`),Ja(n,"data-elementname",Bs(e).name||`Step ${Bs(e).index+1}`),la(l,Bs(e).name)})),ta(t,n)})),xi(m),sl(m,(t=>yo(o,t)),(()=>Bs(o)));var g=zo(m,2);let y;g.__click=p,xi(n),Jo((()=>{var t,o,c;i=ja(n,1,"steps-indicator-container svelte-1mxltt0",null,i,{"mobile-indicators":e.isMobile}),d=ja(s,1,"step-arrow step-arrow-prev svelte-1mxltt0",null,d,{visible:Bs(a)}),s.disabled=!Bs(a),v=ja(m,1,"steps-indicator svelte-1mxltt0",null,v,{"with-duration":null===(t=r().state.currentModule)||void 0===t?void 0:t.hasDuration,paused:r().state.paused,"fade-left":Bs(a),"fade-right":Bs(l)}),Ua(m,`--stepDuration: ${null!==(o=null===(c=r().state.currentModule)||void 0===c?void 0:c.duration)&&void 0!==o?o:""}s`),y=ja(g,1,"step-arrow step-arrow-next svelte-1mxltt0",null,y,{visible:Bs(l)}),g.disabled=!Bs(l)})),qs("scroll",m,u),ta(t,n)})),ta(t,m),zi()}Vs(["click"]);var $u=Js('<svg class="pause-button-icon pause-button-icon--play svelte-a3r6re" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M5.23 3.75c0-1.11 1.19-1.82 2.17-1.28l15 8.25a1.46 1.46 0 0 1 0 2.56l-15 8.25a1.46 1.46 0 0 1-2.17-1.28V3.75z"></path></svg>'),Uu=Js('<svg class="pause-button-icon pause-button-icon--pause svelte-a3r6re" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><line class="pause-bar pause-bar--left svelte-a3r6re" x1="8" y1="3.5" x2="8" y2="20.5"></line><line class="pause-bar pause-bar--right svelte-a3r6re" x1="16" y1="3.5" x2="16" y2="20.5"></line></svg>'),qu=Ys('<button class="pause-button svelte-a3r6re" data-elementid="play_pause" data-elementtype="button"><!></button>');const Vu={hash:"svelte-a3r6re",code:".eko-gallery-app {--pauseButton_top: 10px;--pauseButton_right: 10px;--pauseButton_bottom: auto;--pauseButton_left: auto;--pauseButton_size: 32px;--pauseButton_borderRadius: 100%;--pauseButton_border: 1px solid #C4C8CF;--pauseButton_boxShadow: none;--pauseButton_backdropFilter: none;--pauseButton_bgColor: #FFFFFF;--pauseButton_bgColor_hover: #F6F6F7;--pauseButton_bgColor_active: #E4E5E8;--pauseButton_iconSize: 16px;--pauseButton_iconColor: #030303;--pauseButton_playIconFill: none;--pauseButton_playIconStroke: currentColor;--pauseButton_playIconStrokeWidth: 1.5;--pauseButton_pauseIconStrokeWidth: 1.5;--pauseButton_pauseIconStrokeLinecap: butt;--pauseButton_pauseIconScaleY: 1;--pauseButton_pauseIconBarSpread: 0px;}.pause-button.svelte-a3r6re {position:absolute;top:var(--pauseButton_top);right:var(--pauseButton_right);bottom:var(--pauseButton_bottom);left:var(--pauseButton_left);width:var(--pauseButton_size);height:var(--pauseButton_size);padding:0;background:var(--pauseButton_bgColor);border:var(--pauseButton_border);border-radius:var(--pauseButton_borderRadius);box-shadow:var(--pauseButton_boxShadow);backdrop-filter:var(--pauseButton_backdropFilter);-webkit-backdrop-filter:var(--pauseButton_backdropFilter);color:var(--pauseButton_iconColor);display:flex;justify-content:center;align-items:center;pointer-events:auto;transition:background 0.2s ease-in-out;cursor:pointer;outline-color:#3191fc;}.pause-button.svelte-a3r6re:hover {background:var(--pauseButton_bgColor_hover);}.pause-button.svelte-a3r6re:active {background:var(--pauseButton_bgColor_active);}.pause-button.svelte-a3r6re:focus {outline-offset:8px;outline-width:2px;}.pause-button.svelte-a3r6re .pause-button-icon:where(.svelte-a3r6re) {width:var(--pauseButton_iconSize);height:var(--pauseButton_iconSize);pointer-events:none;display:block;}.pause-button.svelte-a3r6re .pause-button-icon--pause:where(.svelte-a3r6re) {fill:none;stroke:currentColor;stroke-width:var(--pauseButton_pauseIconStrokeWidth, 1.5);stroke-linecap:var(--pauseButton_pauseIconStrokeLinecap, butt);transform:scaleY(var(--pauseButton_pauseIconScaleY, 1));transform-origin:center;overflow:visible;}.pause-button.svelte-a3r6re .pause-button-icon--pause:where(.svelte-a3r6re) .pause-bar--left:where(.svelte-a3r6re) {transform:translateX(calc(-1 * var(--pauseButton_pauseIconBarSpread, 0px)));}.pause-button.svelte-a3r6re .pause-button-icon--pause:where(.svelte-a3r6re) .pause-bar--right:where(.svelte-a3r6re) {transform:translateX(var(--pauseButton_pauseIconBarSpread, 0px));}.pause-button.svelte-a3r6re .pause-button-icon--play:where(.svelte-a3r6re) {fill:var(--pauseButton_playIconFill, none);stroke:var(--pauseButton_playIconStroke, currentColor);stroke-width:var(--pauseButton_playIconStrokeWidth, 1.5);stroke-linejoin:round;stroke-linecap:round;}"};Vs(["click"]);const Gu=300,Hu=60,Ku="none";function Xu(t,e,n){return t.addEventListener(e,n),()=>t.removeEventListener(e,n)}function Yu(t,e,n){const{x:i,y:r}=function(t,e){const n=t.getBoundingClientRect();return{x:Math.round(e.clientX-n.left),y:Math.round(e.clientY-n.top)}}(t,e);return{event:e,pointersCount:n.length,target:e.target,x:i,y:r,attachmentNode:t}}function Qu(t,e,n,i,r){const o=Yu(t,n,i);return t.dispatchEvent(new CustomEvent(`${e}${r}`,{detail:o})),o}function Ju(){let t=[],e=()=>{},n=[];return{setPointerControls:(i,r,o,s,a,l=Ku,c=[])=>{var u;if(r.style.touchAction=(u=l,Array.isArray(u)?u:[u]).join(" "),n=c,n.forEach((e=>{var n;null===(n=e.onInit)||void 0===n||n.call(e,t)})),!t.length){let l=function(e){t.push(e);const l=Qu(r,i,e,t,"down");function c(e){const o=t.length;t=function(t,e){return e.filter((e=>Mo(t.pointerId,e.pointerId,!1)))}(e,t);if(o>t.length){t.length||(u(),d(),h(),f());const o=Qu(r,i,e,t,"up");null==a||a(t,e),setTimeout((()=>{n.forEach((e=>{var n;null===(n=e.onUp)||void 0===n||n.call(e,o,t)}))}))}}null==s||s(t,e),setTimeout((()=>{n.forEach((e=>{var n;null===(n=e.onDown)||void 0===n||n.call(e,l,t)}))}));const u=Xu(r,"pointermove",(e=>{t=t.map((t=>Mo(e.pointerId,t.pointerId)?e:t));const s=Qu(r,i,e,t,"move");null==o||o(t,e),n.forEach((e=>{var n;null===(n=e.onMove)||void 0===n||n.call(e,s,t)}))})),d=Xu(r,"lostpointercapture",(t=>{c(t)})),h=Xu(r,"pointerup",(t=>{c(t)})),f=Xu(r,"pointerleave",(t=>{c(t)}))};e=Xu(r,"pointerdown",l)}return{destroy:()=>{t.length||(e(),n.forEach((t=>{var e;null===(e=t.onDestroy)||void 0===e||e.call(t)})))}}}}}const Zu="@attach";function td(){return Symbol(Zu)}const ed="swipe";function nd(t,e,n,i=!1){const{setPointerControls:r}=Ju(),o=i?ed:td();return{...n,[`on${ed}`]:t,[o]:t=>{const{onDown:n,onUp:i,parameters:o}=function(t,e){const n={timeframe:Gu,minSwipeDistance:Hu,touchAction:Ku,composed:!1,...e};let i,r,o,s;function a(t,e){r=e.clientX,o=e.clientY,i=Date.now(),Mo(t.length,1)&&(s=e.target)}function l(e,a){if(Mo(a.type,"pointerup")&&Mo(e.length,0)&&Date.now()-i<n.timeframe){const e=a.clientX-r,i=a.clientY-o,l=Math.abs(e),c=Math.abs(i);let u=null;l>=2*c&&l>n.minSwipeDistance?u=e>0?"right":"left":c>=2*l&&c>n.minSwipeDistance&&(u=i>0?"bottom":"top"),u&&t.dispatchEvent(new CustomEvent(ed,{detail:{direction:u,target:s,pointerType:a.pointerType}}))}}return{onDown:a,onUp:l,parameters:n}}(t,null==e?void 0:e());return r(ed,t,null,n,i,o.touchAction,o.plugins).destroy}}}const id="tap";function rd(t,e,n,i=!1){const{setPointerControls:r}=Ju(),o=i?id:td();return{...n,[`on${id}`]:t,[o]:t=>{const{onDown:n,onUp:i,parameters:o}=function(t,e){const n={timeframe:Gu,composed:!1,touchAction:"auto",...e};let i,r,o;function s(e,s){if(Math.abs(s.clientX-r)<4&&Math.abs(s.clientY-o)<4&&Date.now()-i<n.timeframe){const e=t.getBoundingClientRect(),n=Math.round(s.clientX-e.left),i=Math.round(s.clientY-e.top);t.dispatchEvent(new CustomEvent(id,{detail:{x:n,y:i,target:s.target,pointerType:s.pointerType}}))}}function a(t,e){r=e.clientX,o=e.clientY,i=Date.now()}return{onDown:a,onUp:s,parameters:n}}(t,null==e?void 0:e());return r(id,t,null,n,i,o.touchAction,o.plugins).destroy}}}const od=t=>{const e="#00ff00",n=1e6,i=4;let r,o,s,a=null,l=!1,c=Date.now();const u={x:void 0,y:void 0};function d(){const e=t.fadeTime,n=Date.now(),i=n-c;i>e/20&&(a&&o&&s&&r&&(s.drawImage(r,0,0),a.clearRect(0,0,r.width,r.height),a.globalAlpha=1-3*i/e,a.drawImage(o,0,0),a.globalAlpha=1,s.clearRect(0,0,r.width,r.height)),c=n),l&&requestAnimationFrame(d)}function h(t){u.x=t.x,u.y=t.y}function f(){a&&o&&r&&(a.canvas.width=window.innerWidth,a.canvas.height=window.innerHeight,o.width=r.width,o.height=r.height)}function p(e){var i;m(),r=window.document.createElement("canvas"),r.id="svelte-gestures-highlight-plugin",a=r.getContext("2d"),r.style.cssText=`\ndisplay: block; \nwidth: 100dvw;\nheight: 100dvh;\ntop: 0;\nleft: 0;\nposition: fixed;\npointer-events: none;\nz-index: ${null!==(i=t.zIndex)&&void 0!==i?i:n};\n`,window.document.body.appendChild(r),window.addEventListener("resize",f),e&&h(e.event),o=document.createElement("canvas"),f(),s=o.getContext("2d"),l=!0,d()}function m(){var t;l=!1,null===(t=window.document.getElementById("svelte-gestures-highlight-plugin"))||void 0===t||t.remove(),window.removeEventListener("resize",f)}return{onMove:n=>{var r,o,s;r=n.event,a&&(a.beginPath(),a.lineWidth=null!==(o=t.lineWidth)&&void 0!==o?o:i,a.lineCap="round",a.strokeStyle=null!==(s=t.color)&&void 0!==s?s:e,Mo(u.x,void 0,!1)&&Mo(u.y,void 0,!1)?(a.moveTo(u.x,u.y),h(r),a.lineTo(u.x,u.y)):h(r),a.stroke())},onDown:t=>{p(t)},onUp:(t,e)=>{Mo(e.length,0)&&m()},onDestroy:m,onInit:t=>{t.length&&(u.x=void 0,u.y=void 0,p())}}};var sd=Ys("<div></div>"),ad=Ys("<div></div>");const ld={hash:"svelte-1fv6njc",code:".swiper.svelte-1fv6njc {position:absolute;top:0;left:0;pointer-events:auto;width:100%;height:100%;}"};var cd=Ys("<img/>"),ud=Ys('<div class="ui-container svelte-1rvgxfc"><!></div>'),dd=Ys('<div class="cover-container svelte-1rvgxfc"><!> <!> <!></div>'),hd=Ys('<div class="covers-container svelte-1rvgxfc" style="scroll-behavior: auto;"><!></div>');const fd={hash:"svelte-1rvgxfc",code:".covers-container.svelte-1rvgxfc {position:absolute;top:0;left:0;bottom:0;right:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;display:flex;gap:0.5px;}.covers-container.svelte-1rvgxfc::-webkit-scrollbar {display:none;}.cover-container.svelte-1rvgxfc {position:relative;display:flex;width:100%;height:100%;flex-shrink:0;scroll-snap-align:center;user-select:none;justify-content:center;align-items:center;}.cover-image.svelte-1rvgxfc {width:var(--videoWidth);height:var(--videoHeight);aspect-ratio:var(--videoAspect);object-fit:cover;pointer-events:none;background:#ffffff;}.cover-image.content-playing.svelte-1rvgxfc {opacity:0;}.cover-image.content-playing.force-show.svelte-1rvgxfc {opacity:1;background:transparent;transition:opacity 0s 0.2s;}.ui-container.svelte-1rvgxfc {position:absolute;top:0;left:0;bottom:0;right:0;pointer-events:none;}"};function pd(t,e){Li(e,!0),Pa(t,fd);const n=(t,n=Fn,i=Fn,r=Fn,l=Fn)=>{var c=dd(),u=Bo(c),d=t=>{var e=cd();let o;Jo((t=>{o=ja(e,1,"cover-image svelte-1rvgxfc",null,o,{"content-playing":n(),"force-show":i().showCover}),Ja(e,"src",t),Ja(e,"alt",i().name),Ja(e,"fetchpriority",r())}),[()=>s().getCoverUrl(i().cover,a)]),qs("load",e,(function(...t){var e;null===(e=l())||void 0===e||e.apply(this,t)})),function(t){if(!yi)return;t.removeAttribute("onload"),t.removeAttribute("onerror");const e=t.__e;void 0!==e&&(t.__e=void 0,queueMicrotask((()=>{t.isConnected&&t.dispatchEvent(e)})))}(e),ta(t,e)};ba(u,(t=>{t(d)}));var h=zo(u,2);!function(t,e){Li(e,!0),Pa(t,ld);const n={color:"#e3e3e3",fadeTime:300,lineWidth:8},i=nd(e.gallery.interaction((t=>{const{direction:n}=t.detail;var i;if("left"===n)null===(i=e.gallery)||void 0===i||i.next(),e.onEvent("swipe",[-1,0]);else if("right"===n){var r;null===(r=e.gallery)||void 0===r||r.prev(),e.onEvent("swipe",[1,0])}}),{elementid:"swiper"}),(()=>({touchAction:"pan-y",plugins:e.debug?[od(n)]:[]}))),r=rd((function(t){const{x:n,y:i}=t.detail;e.onEvent("click",{x:n,y:i})}),(()=>({touchAction:"pan-y"})));var o=Zs(),s=Lo(o),a=t=>{var e=sd();Za(e,(()=>({...i,...r,class:"swiper"})),void 0,void 0,void 0,"svelte-1fv6njc"),ta(t,e)},l=t=>{var e=ad();Za(e,(()=>({...r,class:"swiper"})),void 0,void 0,void 0,"svelte-1fv6njc"),ta(t,e)};ba(s,(t=>{e.swipeEnabled?t(a):t(l,!1)})),ta(t,o),zi()}(h,{get gallery(){return s()},get debug(){return e.debug},get swipeEnabled(){return e.swipeEnabled},get onEvent(){return e.onEvent}});var f=zo(h,2),p=t=>{var e=ud();!function(t,e,n){yi&&wi();var i=new ma(t);Zo((()=>{var t,r=null!==(t=e())&&void 0!==t?t:null;i.ensure(r,r&&(t=>n(t,r)))}),Xn)}(Bo(e),(()=>i().Component),((t,e)=>{e(t,{get state(){return i().state},get gallery(){return s()},get isMobile(){return o()}})})),xi(e),ta(t,e)};ba(f,(t=>{var e;s().state.themeLoaded&&null!==(e=i())&&void 0!==e&&e.Component&&t(p)})),xi(c),ta(t,c)};let i,r=ll(e,"scrollOffset",15),o=ll(e,"isMobile",3,!1),s=ll(e,"gallery",7),a=1920,l=s().state.playingModulePosition,c=0,u=null,d=null,h=ro((()=>!s().state.introModulePlayed&&s().state.introModule)),f=ro((()=>s().state.startedPlaying)),p=ro((()=>s().state.currentModulesList)),m=ro((()=>Bs(p).findIndex((t=>g(s().state.playingModulePosition,t.position))))),v=!1;function g(t,e){return t.itemIndex===e.itemIndex&&t.moduleIndex===e.moduleIndex}function y(t){const e=t.scrollLeft,n=t.scrollWidth-t.clientWidth;return 0===e?0:e>n?100:e/n*100}function b(t){var e,n;u=(null===(e=Bs(p)[t])||void 0===e?void 0:e.position)||null;const r=null===(n=i)||void 0===n||null===(n=n.children)||void 0===n?void 0:n[t];if(!i||!r)return;const o=i.getBoundingClientRect(),s=r.getBoundingClientRect();let a=i.scrollLeft+(s.left-o.left);const l=Math.max(0,i.scrollWidth-i.clientWidth);a=Math.max(0,Math.min(l,a)),i.scrollTo({left:a,behavior:"auto"})}function k(t){var e;if(Bs(h))return;o()&&t.preventDefault();const{target:n}=t,a=y(n),f=(null===(e=Bs(p))||void 0===e?void 0:e.length)||1,v=100/(f-1||1),b=Math.round(a/v);c=Math.min(b,f-1);const k=Bs(p)[c],w={itemIndex:s().state.activeItemIndex,moduleIndex:s().state.activeModuleIndex};if(!u){const t=i.children[Bs(m)],e=i.getBoundingClientRect(),n=t.getBoundingClientRect();r(n.x-e.x)}d&&clearTimeout(d),d=setTimeout((()=>{const t=y(n);Math.abs(t-b*v)<.25&&async function(){s().state.seeking&&(s().state.playerLoaded?s().state.currentItemsList[s().state.activeItemIndex].modules[s().state.activeModuleIndex].play():s().state.playingModulePosition=l,r(0))}()}),u?0:150),null!==u||g(k.position,w)?null!==u&&g(k.position,u)&&(u=null):(s().state.activeItemIndex=k.position.itemIndex,s().state.activeModuleIndex=k.position.moduleIndex),l=k.position}function w(){v||(s().track("coverdisplay"),v=!0)}Ko((()=>{const{activeItemIndex:t,activeModuleIndex:e}=s().state;t===l.itemIndex&&e===l.moduleIndex||Ws((()=>{b(Bs(p).findIndex((n=>{const{itemIndex:i,moduleIndex:r}=n.position;return t===i&&e===r})))}))})),Ko((()=>{Bs(m)>-1&&!u&&c!==Bs(m)&&Ws((()=>b(Bs(m))))})),Ko((()=>{const{seeking:t,startedPlaying:e,currentItem:n}=s().state;!t&&e&&Ws((()=>{s().preloadVariantsCovers(n,a)}))})),Ko((()=>{Bs(f)&&Ws((()=>{s().track("projectstartedplaying")}))}));var x=Zs(),_=Lo(x),I=t=>{var e=hd(),r=Bo(e),o=t=>{n(t,(()=>Bs(f)),(()=>Bs(h)),(()=>"high"),(()=>w))},a=t=>{var e=Zs();xa(Lo(e),19,(()=>Bs(p)),(t=>t.id),((t,e,i)=>{n(t,(()=>Bs(f)&&Bs(i)===Bs(m)),(()=>Bs(e)),(()=>0===Bs(i)?"high":"auto"),(()=>0!==Bs(i)||s().state.introModule?()=>{}:w))})),ta(t,e)};ba(r,(t=>{Bs(h)?t(o):t(a,!1)})),xi(e),sl(e,(t=>i=t),(()=>i)),qs("scroll",e,k),ta(t,e)};ba(_,(t=>{Bs(p)&&t(I)})),ta(t,x),zi()}const md="undefined"!=typeof self&&self||"undefined"!=typeof window&&window||"undefined"!=typeof global&&global||{};let vd;function gd(){const t=md&&md.navigator&&(md.navigator.userAgent||md.navigator.platform||md.navigator.vendor)||"";if(vd&&vd.ua===t)return vd;const e=t.toLowerCase(),n=e.includes("android"),i=e.includes("iphone")||e.includes("ipad")||e.includes("ipod")||e.includes("ios"),r=n||i||e.includes("mobile");return vd={ua:t,isMobile:r},vd}const yd=(t,e,n)=>{const i=t[e];return i?"function"==typeof i?i():Promise.resolve(i):new Promise(((t,i)=>{("function"==typeof queueMicrotask?queueMicrotask:setTimeout)(i.bind(null,new Error("Unknown variable dynamic import: "+e+(e.split("/").length!==n?". Note that variables only represent file names one level deep.":""))))}))},bd=3e3,kd=new Set;const wd="https://storage.eko.com/efu/ekoanalytics/master/latest/EkoAnalyticsPlatform.min.gz.js";function xd(t){var e,n;if("undefined"==typeof window||null!==(e=window.EkoAnalytics)&&void 0!==e&&e.cb||null!==(n=window.EkoAnalytics)&&void 0!==n&&n.configure)return;if(function(t){let e,n;"undefined"==typeof window||(e=window,n="EkoAnalytics",e[n]=function(){e[n].f?(e[n].q.push(arguments),e[n].ts.push(Date.now())):e[n].apply(e,arguments)},e[n].f=!0,e[n].q=e[n].q||[],e[n].ts=e[n].ts||[],e[n].t=Number(new Date),e[n].sa=[],e[n].cb=[],e[n].init=function(t){e[n].id=t},e[n].childRequestIdsCallback=function(t){t.data&&"ea-ids-request"===t.data.type&&e[n].sa.push(t.source)},e.addEventListener("message",e[n].childRequestIdsCallback)),window.EkoAnalytics.cb.push((()=>{let t=(t,e,n="")=>{let i=window.location.hostname,r=i,o=i.split(".");o.length>2&&(r=o.slice(-2).join(".")),window.document.cookie=`${t}=${e}; domain=.${r}; path=/; secure; samesite=lax; ${n}`};t("easid",encodeURIComponent(window.EkoAnalytics("getSid"))),t("eauid",encodeURIComponent(window.EkoAnalytics("getUid")),"max-age=2147483647")})),window.EkoAnalytics("configure",{snowplow:{options:{appId:"ekoGalleryApp"}},ekoEnv:t?"production":"development",env:"website"})}(!t||"production"===t),!window.EkoAnalytics)return void console.warn("Failed to load LUDA script.");if(0===document.querySelectorAll(`script[src="${wd}"]`).length){const t=document.createElement("script");t.type="text/javascript",t.async=!0,t.src=wd,document.head.appendChild(t)}}function _d(t,e){if(!t)return{};const n={},i=t.qoe;Number.isFinite(null==i?void 0:i.browserFps)&&(n.FPS=i.browserFps),Number.isFinite(null==i?void 0:i.score)&&(n.QOE=i.score);try{var r;const i=Number(t.currentTime),o=t.getNodesAtTime(i),s=o.find((t=>(null==e?void 0:e.nodeId)&&(null==t?void 0:t.id)===e.nodeId))||o[0],a=((null==s?void 0:s.tracks)||[]).find((t=>"video"===(null==t?void 0:t.type))),l=Number(null==e?void 0:e.offset),c=Number(null==e?void 0:e.nodeOffsetOverride),u=Math.max(0,i-(Number.isFinite(l)?l:0)+(Number.isFinite(c)?c:0)),d=Number(null==a?void 0:a.offset),h=function(t,e){var n;return"function"==typeof(null==t?void 0:t.getMediaSegmentAtTime)?t.getMediaSegmentAtTime(e,{preferRepresentationTime:!0}):null==t||null===(n=t.segments)||void 0===n?void 0:n.find((t=>{const n=Number(null==t?void 0:t.offset),i=Number(null==t?void 0:t.duration);return!(null!=t&&t.isInit)&&Number.isFinite(n)&&Number.isFinite(i)&&i>0&&e>=n&&e<n+i}))}(a,Math.max(0,u-(Number.isFinite(d)?d:0))),f=null==h?void 0:h.chosenRepresentation,p=function(t){if(Number.isFinite(t))return`${Math.round(t/1e3).toLocaleString("en-US")} kbps`}(null==f?void 0:f.bandwidth),m=(null==f?void 0:f.label)||(null!=f&&f.width&&null!=f&&f.height?`${f.width}x${f.height}`:void 0),v=Number.isFinite(null==h||null===(r=h.abrDecision)||void 0===r?void 0:r.measuredDownloadSpeedKbps)?`${Math.round(h.abrDecision.measuredDownloadSpeedKbps).toLocaleString("en-US")} kbps`:void 0;p&&(n.chosenBitrate=p),m&&(n.chosenResolution=m),v&&(n.measuredBandwidth=v)}catch{return n}return n}var Id,Td;"undefined"!=typeof window&&(window.addEventListener("pageshow",(function(t){t.persisted&&setTimeout((function(){window.location.reload()}),10)}),!1),null===(Id=(Td=window).EkoAnalytics)||void 0===Id||Id.call(Td,"track","init"));function Ed(t,e){var n,i;return null!==(n=null===(i=e.variantMap)||void 0===i?void 0:i[t])&&void 0!==n?n:t}function Sd(t,e,n){const i=Ed(t,e);return n.variants[i]?i:n.availableVariants[0]}let Md=!1;var Ad=Ys('<div class="paging-buttons svelte-1n46o8q"><!> <!></div>'),Nd=Ys("<!> <!> <!>",1),Cd=Ys('<div style="position: absolute; top: 0; left: 0; width: 100%;"></div>'),Fd=Ys('<div class="player-container svelte-1n46o8q"><div class="player-div swipable svelte-1n46o8q"></div> <!> <!> <!></div> <!>',1),Od=Ys("<div><!></div>");const Pd={hash:"svelte-1n46o8q",code:'.eko-gallery-app.svelte-1n46o8q {position:relative;width:100%;height:100%;display:flex;flex-direction:column;box-sizing:border-box;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;}.eko-gallery-app.svelte-1n46o8q:hover .paging-buttons:where(.svelte-1n46o8q) .nav-button {background-color:var(--nav_arrow_bgColor_hover, #FFFFFF);box-shadow:var(--nav_arrow_boxShadow_hover, 0 0 8px 0 rgba(0, 0, 0, 0.12));}.eko-gallery-app.svelte-1n46o8q * {box-sizing:border-box;touch-action:pan-y;font-family:var(--fontName, "Human BBY Digital"), sans-serif;}.player-container.svelte-1n46o8q {position:relative;flex:1;width:100%;pointer-events:none;overflow:hidden;border-radius:var(--playerContainer_borderRadius, 16px);display:flex;align-items:center;justify-content:center;}.player-container.svelte-1n46o8q .pause-button {opacity:var(--pauseButton_opacity, 1);}.player-container.svelte-1n46o8q:hover .pause-button {opacity:var(--pauseButton_opacity_hover, 1);}.player-container.svelte-1n46o8q:focus-within .pause-button,\n.player-container.svelte-1n46o8q .pause-button:focus-visible {opacity:var(--pauseButton_opacity_hover, 1);}\n\n@media (hover: none), (pointer: coarse) {.player-container.svelte-1n46o8q .pause-button {opacity:1;}\n}.player-div.svelte-1n46o8q {position:absolute;width:var(--videoWidth);height:var(--videoHeight);aspect-ratio:var(--videoAspect);}.swipable.svelte-1n46o8q {will-change:transform;transform:translate3d(var(--uiTranformX, 0), 0, 0);}.paging-buttons.svelte-1n46o8q {position:absolute;top:0;left:0;bottom:0;right:0;display:flex;justify-content:space-between;align-items:center;pointer-events:none;padding:0 12px;}.paging-buttons.svelte-1n46o8q .nav-button {transition:0.2s ease-in-out;box-shadow:none;}.paging-buttons.svelte-1n46o8q .nav-button img {opacity:0.6;}\n\n@media (prefers-reduced-motion: reduce) {.eko-gallery-app.svelte-1n46o8q * {animation-duration:0.01ms !important;animation-iteration-count:1 !important;scroll-behavior:auto !important;transition-delay:0ms !important;transition-duration:0.01ms !important;}\n}'};function Rd(t,e){Li(e,!0),Pa(t,Pd);let n=ll(e,"config",19,(()=>({}))),i=ll(e,"variant",7),r=ll(e,"forceMobile",3,!1),o=ll(e,"videoAspectRatio",3,"unset"),s=ll(e,"loadAnalytics",3,!0),a=ll(e,"onGalleryReady",3,(()=>{})),l=ll(e,"onEvent",3,(()=>{}));var c;!Md&&s()&&(xd(null===(c=n())||void 0===c||null===(c=c.options)||void 0===c?void 0:c.galleryEnv),Md=!0);let u,d,h=!1,f=vo(Io(new bu({...n(),onEvent:l()}))),p=vo(null),m=ro((()=>r()||gd().isMobile)),v=ro((()=>{var t;return e.theme||(null===(t=n())||void 0===t||null===(t=t.options)||void 0===t?void 0:t.theme)})),g=ro((()=>{var t;return Bs(m)&&!(null!==(t=n())&&void 0!==t&&null!==(t=t.options)&&void 0!==t&&t.disableSwipes)})),y=ro((()=>{var t,e;return Bs(m)?null===(t=n())||void 0===t||null===(t=t.layout)||void 0===t?void 0:t.mobile:null===(e=n())||void 0===e||null===(e=e.layout)||void 0===e?void 0:e.desktop})),b=ro((()=>{var t;return null===(t=Bs(y))||void 0===t?void 0:t.hideNav})),k=vo(0),w=vo(void 0),x=vo(!0),_=vo(Io({width:"100%",height:"100%"}));const I=function(){let t=Object.create(null);return{clear(){t=Object.create(null)},set(e,n,i){t[e]={reset:!0===i,stepIndex:n}},take(e){const n=t[e];if(n)return n.reset&&delete t[e],n.stepIndex}}}();var T,E;function S(t){var e,n;return null!==(e=null===(n=Bs(f).state.currentItemsList)||void 0===n?void 0:n.findIndex((e=>{var n;return e.id===t||(null===(n=e.modules)||void 0===n?void 0:n.some((e=>e.id===t)))})))&&void 0!==e?e:-1}function M(t,e,n=""){return{elementid:t||"",elementtype:e,elementname:n,interactiontype:"parent-command"}}function A(){return{play(){var t;return!(null===(t=Bs(p))||void 0===t||!t.play)&&(Bs(p).play(),!0)},pause(){var t;return!(null===(t=Bs(p))||void 0===t||!t.pause)&&(Bs(p).pause(),!0)},setMuted:t=>!!Bs(p)&&(Bs(p).muted=t,!0),setVolume:t=>!!Bs(p)&&(Bs(p).volume=t,!0),isStarted:()=>Bs(f).state.startedPlaying,updateVariant(t){var e;const i=Ed(t,n());return!(null===(e=Bs(f).state.variants)||void 0===e||!e[i])&&(Bs(f).selectVariant(i),{handled:!0,interaction:M(t,"variant")})},setNextBlock(t,e){const n=S(t);if(!e||n<0)return!1;const i=I.take(t);"number"==typeof i?Bs(f).selectItemAndStep(n,i):Bs(f).selectItem(n);const r=Bs(f).state.currentItemsList[n];return{handled:!0,interaction:M(t,"gallery item",(null==r?void 0:r.name)||"")}},endBlock(t){var e;const n=Bs(f).state.currentItem;return!(t&&(null==n?void 0:n.id)!==t&&!(null==n||null===(e=n.modules)||void 0===e?void 0:e.some((e=>e.id===t))))&&(Bs(f).next(),{handled:!0,interaction:M(t,"next button")})},selectOption(t,e){var n;if(S(t)!==Bs(f).state.activeItemIndex)return!1;const i=Bs(f).state.currentModule,r=null==i||null===(n=i.state)||void 0===n||null===(n=n.items)||void 0===n?void 0:n[e];return!(!r||"function"!=typeof i.state.onItemClicked)&&(i.state.onItemClicked(e),{handled:!0,interaction:{elementid:String(e+1),elementtype:"toggle",elementname:r.label||"",interactiontype:"module-ui"}})},setInitialStep(t,e,n){var i;const r=S(t),o=e>0?e-1:0,s=null===(i=Bs(f).state.currentItemsList)||void 0===i||null===(i=i[r])||void 0===i?void 0:i.modules;return!(r<0||null==s||!s[o])&&(I.set(t,o,n),!0)},jumpToStep(t,e){var n;const i=S(t);if(i<0)return!1;if("next"===e||"prev"===e)return i===Bs(f).state.activeItemIndex&&(Bs(f)[e](),{handled:!0,interaction:M(t,"next"===e?"next button":"previous button")});const r=e>0?e-1:0;return!(null===(n=Bs(f).state.currentItemsList)||void 0===n||null===(n=n[i])||void 0===n||null===(n=n.modules)||void 0===n||!n[r])&&(Bs(f).selectItemAndStep(i,r),{handled:!0,interaction:M(t,"gallery step",String(e))})},getPerformance:()=>_d(Bs(p),d)}}function N(){d=void 0;const t={AssetsDeliveryService:{assetsDeliveryServiceUrl:Bs(f).urls.assetsDeliveryBase},Tracker:{tag:Bs(f).uuid}};yo(p,new e.EkoPlayer(u,function(t,...e){function n(t){return"[object Object]"===Object.prototype.toString.call(t)}function i(t,e){if(Array.isArray(e)){Array.isArray(t)||(t=Array.isArray(t)?t.slice():[]);const r=Math.max(t.length,e.length);for(let o=0;o<r;o++){const r=t[o],s=e[o];null!=s&&(n(r)&&n(s)?t[o]=i({...r},s):Array.isArray(r)&&Array.isArray(s)?t[o]=i(r.slice(),s):n(s)?t[o]=i({},s):Array.isArray(s)?t[o]=i([],s):t[o]=s)}return t}if(n(e)){n(t)||(t={});for(const r of Object.keys(e)){const o=t[r],s=e[r];n(o)&&n(s)?t[r]=i({...o},s):Array.isArray(o)&&Array.isArray(s)?t[r]=i(o.slice(),s):n(s)?t[r]=i({},s):Array.isArray(s)?t[r]=i([],s):void 0!==s&&(t[r]=s)}return t}return e}for(const n of e)null!==n&&i(t,n);return t}({},e.playerOptions,t))),Bs(p).on("canplay",(t=>{l()("canplay",t)})),Bs(p).on("nodestart",(t=>{null!=t&&t.nodeId&&Number.isFinite(null==t?void 0:t.time)&&(d={nodeId:t.nodeId,nodeOffsetOverride:Number.isFinite(t.nodeOffsetOverride)?t.nodeOffsetOverride:0,offset:t.time}),l()("nodestart",t)})),Bs(p).on("playing",(t=>{Bs(f).state.paused=!1,Bs(f).state.startedPlaying||(Bs(f).state.startedPlaying=!0,l()("galleryloaded")),l()("playing",t)})),Bs(p).on("pause",(t=>{Bs(f).state.paused=!0,l()("pause",t)}))}function C(t){var e;null===(e=Bs(f))||void 0===e||e.selectItem(t)}function F(){var t;null===(t=Bs(f))||void 0===t||t.next()}function O(){var t;null===(t=Bs(f))||void 0===t||t.prev()}function P(){Bs(p).paused?(Bs(p).play(),l()("userplay")):(Bs(p).pause(),l()("userpause"))}function R(){return`--uiTranformX: ${Bs(k)}px;--videoAspect: ${o()};--videoWidth: ${Bs(_).width};--videoHeight: ${Bs(_).height};`}T="state",E=()=>Bs(f).state,Wi("setContext").set(T,E),Bs(f).state.activeVariant=Sd(i(),n(),Bs(f).state),va((()=>{try{n()&&e.EkoPlayer&&(N(),Bs(f).start(Bs(p))),a()(Mu(Bs(f)),A())}catch{var t;null===(t=e.onGalleryError)||void 0===t||t.call(e,"gallery-initialization-failure")}return()=>{var t;null===(t=Bs(p))||void 0===t||t.dispose(),Bs(f).dispose()}})),Ko((()=>{var t;n()&&e.EkoPlayer&&(h?(null===(t=e.onGalleryReinitializing)||void 0===t||t.call(e),Ws((()=>{yo(x,!1),Ds().then((()=>{var t;return Bs(f).dispose(),yo(f,new bu({...n(),onEvent:l()}),!0),I.clear(),Bs(f).state.activeVariant=Sd(i(),n(),Bs(f).state),null===(t=Bs(p))||void 0===t||t.dispose(),yo(x,!0),Ds()})).then((()=>{N(),Bs(f).start(Bs(p)),a()(Mu(Bs(f)),A())})).catch((()=>{var t;return null===(t=e.onGalleryError)||void 0===t?void 0:t.call(e,"gallery-reinitialization-failure")}))}))):h=!0)})),Ko((()=>{!Md&&s()&&(xd(Ws((()=>{var t;return null===(t=n())||void 0===t||null===(t=t.options)||void 0===t?void 0:t.galleryEnv}))),Md=!0)})),Ko((()=>{const t=Ed(i(),Ws((()=>n())));t&&t!==Ws((()=>Bs(f).state.activeVariant))&&Bs(f).selectVariant(t)})),Ko((()=>{const t=Ws((()=>Ed(i(),n())));Bs(f).state.activeVariant!==t&&Ws((()=>{i(Bs(f).state.activeVariant)}))})),Ko((()=>{Bs(w)&&Bs(p)&&Bs(p).loadDebugOverlay({containerElement:Bs(w)})})),Ko((()=>{if("unset"!==o()&&o().includes("/")){const[t,e]=o().split("/").map((t=>Number(t)));isNaN(t)||isNaN(e)||yo(_,t>e?{width:"100%",height:"auto"}:{width:"auto",height:"100%"},!0)}else yo(_,{width:"100%",height:"100%"},!0)})),Ko((()=>{!async function(t,e){if(t&&!kd.has(t)){e.state.themeLoaded=!1;try{let n;try{n=await yd(Object.assign({"../themes/smg.scss":()=>Promise.resolve({}),"../themes/walmart.scss":()=>Promise.resolve({}),"../themes/wayfair.scss":()=>Promise.resolve({})}),`../themes/${t}.scss`,3)}catch{console.warn("[eko-gallery-app] theme-module-import-failure")}if(!n||"Module"!==n[Symbol.toStringTag]){const n=`${e.urls.galleryAppDelivery}/${e.version}/${t}.css`,i=document.createElement("link");i.rel="stylesheet",i.href=n;const r=new Promise(((t,e)=>{const n=setTimeout((()=>{e("timeout")}),bd);i.onload=()=>{t(),clearTimeout(n)}}));document.head.appendChild(i),await r}kd.add(t)}catch{console.warn("[eko-gallery-app] theme-load-failure")}e.state.themeLoaded=!0}else e.state.themeLoaded=!0}(Bs(v),Bs(f))}));let D=null;Ko((()=>{const t=Bs(f),e=t.state.activeItemIndex,n=t.state.activeModuleIndex;if(D!==t)return D=t,()=>{};const i=setTimeout((()=>{var i,r;const o=null===(i=t.state.currentItemsList)||void 0===i?void 0:i[e],s=null==o||null===(r=o.modules)||void 0===r?void 0:r[n];l()("itemchanged",{itemIndex:e,moduleIndex:n,itemId:null==o?void 0:o.id,moduleId:null==s?void 0:s.id})}),150);return()=>clearTimeout(i)}));var B=Od(),L=Bo(B),z=t=>{const n=ro((()=>Bs(f).state.introModule));var i=Fd(),r=Lo(i),o=Bo(r);sl(o,(t=>u=t),(()=>u));var s=zo(o,2);pd(s,{get isMobile(){return Bs(m)},get gallery(){return Bs(f)},get debug(){return e.debug},get swipeEnabled(){return Bs(g)},get onEvent(){return l()},get scrollOffset(){return Bs(k)},set scrollOffset(t){yo(k,t,!0)}});var a=zo(s,2),c=t=>{var e=Nd(),n=Lo(e),i=t=>{var e=Ad(),n=Bo(e);Bu(n,{type:"prev",onClick:O,get gallery(){return Bs(f)}}),Bu(zo(n,2),{type:"next",onClick:F,get gallery(){return Bs(f)}}),xi(e),ta(t,e)};ba(n,(t=>{Bs(g)||Bs(b)||t(i)}));var r=zo(n,2),o=t=>{ju(t,{get gallery(){return Bs(f)},get isMobile(){return Bs(m)}})};ba(r,(t=>{var e;(null===(e=Bs(f).state.currentItem)||void 0===e?void 0:e.modules.length)>1&&t(o)}));var s=zo(r,2),a=t=>{!function(t,e){Li(e,!0),Pa(t,Vu);const n=Bi("state");let i=ro((()=>n().paused));var r=qu(),o=ro((()=>e.gallery.interaction(e.onPauseClick)));r.__click=function(...t){var e;null===(e=Bs(o))||void 0===e||e.apply(this,t)};var s=Bo(r),a=t=>{ta(t,$u())},l=t=>{ta(t,Uu())};ba(s,(t=>{Bs(i)?t(a):t(l,!1)})),xi(r),Jo((()=>{Ja(r,"aria-label",Bs(i)?"Play":"Pause"),Ja(r,"data-elementname",Bs(i)?"Play":"Pause"),Ja(r,"data-interactiontype",Bs(i)?"play":"pause")})),ta(t,r),zi()}(t,{onPauseClick:P,get gallery(){return Bs(f)}})};ba(s,(t=>{Bs(f).state.startedPlaying&&t(a)})),ta(t,e)};ba(a,(t=>{Bs(n)&&!Bs(f).state.introModulePlayed||!Bs(f).state.themeLoaded||t(c)}));var d=zo(a,2),h=t=>{var n=Zs(),i=Lo(n),r=t=>{var e=Cd();sl(e,(t=>yo(w,t)),(()=>Bs(w))),ta(t,e)};ba(i,(t=>{e.debug&&t(r)})),ta(t,n)};ba(d,(t=>{Bs(f).state.startedPlaying&&t(h)})),xi(r);var p=zo(r,2),v=t=>{Ou(t,{onNavItemClick:C,get gallery(){return Bs(f)}})};ba(p,(t=>{Bs(b)||Bs(n)&&!Bs(f).state.introModulePlayed||t(v)})),Jo((t=>Ua(r,t)),[R]),ta(t,i)};ba(L,(t=>{n()&&Bs(x)&&t(z)})),xi(B),Jo((()=>ja(B,1,"eko-gallery-app "+(Bs(v)?`theme-${Bs(v)}`:""),"svelte-1n46o8q"))),ta(t,B),zi()}function Dd(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Bd,Ld,zd,Wd,jd={exports:{}},$d=Dd((Bd||(Bd=1,zd=jd.exports,Wd=function(){var t=function(){},e="undefined",n=typeof window!==e&&typeof window.navigator!==e&&/Trident\/|MSIE /.test(window.navigator.userAgent),i=["trace","debug","info","warn","error"],r={},o=null;function s(t,e){var n=t[e];if("function"==typeof n.bind)return n.bind(t);try{return Function.prototype.bind.call(n,t)}catch(e){return function(){return Function.prototype.apply.apply(n,[t,arguments])}}}function a(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function l(){for(var n=this.getLevel(),r=0;r<i.length;r++){var o=i[r];this[o]=r<n?t:this.methodFactory(o,n,this.name)}if(this.log=this.debug,typeof console===e&&n<this.levels.SILENT)return"No console available for logging"}function c(t){return function(){typeof console!==e&&(l.call(this),this[t].apply(this,arguments))}}function u(i,r,o){return"debug"===(l=i)&&(l="log"),typeof console!==e&&("trace"===l&&n?a:void 0!==console[l]?s(console,l):void 0!==console.log?s(console,"log"):t)||c.apply(this,arguments);var l}function d(t,n){var s,a,c,d=this,h="loglevel";function f(){var t;if(typeof window!==e&&h){try{t=window.localStorage[h]}catch(t){}if(typeof t===e)try{var n=window.document.cookie,i=encodeURIComponent(h),r=n.indexOf(i+"=");-1!==r&&(t=/^([^;]+)/.exec(n.slice(r+i.length+1))[1])}catch(t){}return void 0===d.levels[t]&&(t=void 0),t}}function p(t){var e=t;if("string"==typeof e&&void 0!==d.levels[e.toUpperCase()]&&(e=d.levels[e.toUpperCase()]),"number"==typeof e&&e>=0&&e<=d.levels.SILENT)return e;throw new TypeError("log.setLevel() called with invalid level: "+t)}"string"==typeof t?h+=":"+t:"symbol"==typeof t&&(h=void 0),d.name=t,d.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},d.methodFactory=n||u,d.getLevel=function(){return null!=c?c:null!=a?a:s},d.setLevel=function(t,n){return c=p(t),!1!==n&&function(t){var n=(i[t]||"silent").toUpperCase();if(typeof window!==e&&h){try{return void(window.localStorage[h]=n)}catch(t){}try{window.document.cookie=encodeURIComponent(h)+"="+n+";"}catch(t){}}}(c),l.call(d)},d.setDefaultLevel=function(t){a=p(t),f()||d.setLevel(t,!1)},d.resetLevel=function(){c=null,function(){if(typeof window!==e&&h){try{window.localStorage.removeItem(h)}catch(t){}try{window.document.cookie=encodeURIComponent(h)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(t){}}}(),l.call(d)},d.enableAll=function(t){d.setLevel(d.levels.TRACE,t)},d.disableAll=function(t){d.setLevel(d.levels.SILENT,t)},d.rebuild=function(){if(o!==d&&(s=p(o.getLevel())),l.call(d),o===d)for(var t in r)r[t].rebuild()},s=p(o?o.getLevel():"WARN");var m=f();null!=m&&(c=p(m)),l.call(d)}(o=new d).getLogger=function(t){if("symbol"!=typeof t&&"string"!=typeof t||""===t)throw new TypeError("You must supply a name when creating a logger.");var e=r[t];return e||(e=r[t]=new d(t,o.methodFactory)),e};var h=typeof window!==e?window.log:void 0;return o.noConflict=function(){return typeof window!==e&&window.log===o&&(window.log=h),o},o.getLoggers=function(){return r},o.default=o,o},(Ld=jd).exports?Ld.exports=Wd():zd.log=Wd()),jd.exports));const Ud=()=>{},qd=["trace","log","debug","info","warn","error","getLevel","setLevel"],Vd=["trace","debug","info","warn","error","silent"],Gd={TRACE:"color: white; background-color: magenta;",DEBUG:"color: black; background-color: turquoise;",INFO:"color: white; background-color: green;",WARN:"color: black; background-color: yellow;",ERROR:"color: white; background-color: red;"},Hd="undefined"!=typeof self&&self||"undefined"!=typeof window&&window||"undefined"!=typeof global&&global;let Kd={level:"trace",appName:""},Xd=[];const Yd="object"==typeof Hd&&Hd.performance&&"function"==typeof Hd.performance.now?Hd.performance.now.bind(Hd.performance):Date.now.bind(Date),Qd=t=>t&&"string"==typeof t?t.toLowerCase().trim():"",Jd=(()=>{try{const t=new URLSearchParams(document.location.search),e=[].concat(t.getAll("log")).concat(t.getAll("ekolog")).concat(t.getAll("ekologger")).join(",").split(",");if(0===e.length)return{};let n={};return e.forEach((t=>{const[e,i]=t.split(":");n[Qd(e)]=Qd(i)||"trace"})),n}catch(t){return{}}})(),Zd=(t,e="")=>{const n=Qd(t),i=$d.getLogger(n);if(i.__ekologger)return i.__ekologger;e||Jd[n]||Jd["*"]||(i.__noExplicitLevel=!0);const r=i.methodFactory;i.methodFactory=(e,n,i)=>{const o=r(e,n,i),s=e.toUpperCase();return(...e)=>{o(`[${((t,e=3)=>(Yd()/1e3).toFixed(e))()}] %c[${s}] ${Kd.appName?`[${Kd.appName}] `:""}[${t}]`,Gd[s],...e)}},e=Jd[n]||Jd["*"]||e||Kd.level,i.setLevel(e,!1);const o=(...t)=>i.log(...t);return qd.forEach((t=>{o[t]=(...e)=>(Xd.forEach((n=>{n[t](...e)})),i[t](...e))})),i.__ekologger=o,o};Zd.setDefaults=({appName:t="",level:e})=>{t&&"string"==typeof t&&(Kd.appName=t),(e=Qd(e))&&Vd.includes(e)&&(Kd.level=e,Object.values($d.getLoggers()).filter((t=>t.__noExplicitLevel)).forEach((t=>t.setLevel(Kd.level,!1))))},Zd.installDriver=t=>{const e={...qd.reduce(((e,n)=>(e[n]="function"==typeof(null==t?void 0:t[n])?t[n]:Ud,e)),{})};Xd.push(e)};let th=class{#S=new Map;on(t,e){if("function"!=typeof e)return this;const n=this.#S.get(t)||new Set;return n.add(e),this.#S.set(t,n),this}once(t,e){if("function"!=typeof e)return this;const n=(...i)=>(this.off(t,n),e(...i));return this.on(t,n)}off(t,e){if(!t)return this.#S.clear(),this;const n=this.#S.get(t);return n?e?(n.delete(e),0===n.size&&this.#S.delete(t),this):(this.#S.delete(t),this):this}trigger(t,...e){const n=this.#S.get(t);return n?(n.forEach((t=>t(...e))),this):this}};function eh(t){return"[object Object]"===Object.prototype.toString.call(t)}function nh(t,...e){const n=eh(t)?{...t}:{};return e.forEach((t=>{eh(t)&&Object.keys(t).forEach((e=>{const i=t[e],r=n[e];eh(i)&&eh(r)?n[e]=nh(r,i):Array.isArray(i)?n[e]=i.slice():n[e]=i}))})),n}function ih(t){if("string"==typeof t)return`'${t}'`;if(Array.isArray(t))return`[${t.map((t=>ih(t))).join(", ")}]`;if(eh(t))try{return JSON.stringify(t)}catch(t){return"[object Object]"}return null===t?"null":void 0===t?"undefined":String(t)}function rh(t){return Array.from(t).map((t=>ih(t))).join(", ")}var oh=new WeakSet;let sh=class extends th{constructor(...t){super(),O(this,oh);const e=t.length?t[t.length-1]:void 0,n=this.name;if(!n||"string"!=typeof n)throw new Error("Extending classes must implement get name() returning a string.");this.log=Zd(n,this.loglevel);const i=eh(this.defaults)?this.defaults:{},r=eh(e)&&eh(e[n])?e[n]:{};this.settings=nh({},i,r),M(oh,this,ah).call(this),M(oh,this,lh).call(this)}get name(){throw new Error("BaseModuleClass requires a name getter.")}get loglevel(){return"warn"}get defaults(){return{}}get methodsExcludedFromAutoLog(){return new Set(["constructor","on","off","once","trigger","#wrapMethodsForLogging"])}dispose(){this._disposed||(this._disposed=!0,"function"==typeof this._lifecycleCleanup&&(this._lifecycleCleanup(),this._lifecycleCleanup=null),"function"==typeof this.onDispose&&this.onDispose())}onDispose(){}};function ah(){const t=new Set,e=this.methodsExcludedFromAutoLog;let n=Object.getPrototypeOf(this);for(;n&&n!==Object.prototype;){const i=Object.getOwnPropertyNames(n);for(let r=0;r<i.length;r+=1){const o=i[r];if("constructor"===o||o.startsWith("#"))continue;if(t.has(o))continue;const s=Object.getOwnPropertyDescriptor(n,o);if(!s||"function"!=typeof s.value)continue;const a=s.value.bind(this),l=!e.has(o);this[o]=l?(...t)=>(this.log&&"function"==typeof this.log.debug&&this.log.debug(`${this.name}.${o}(${rh(t)})`),a(...t)):a,t.add(o)}n=Object.getPrototypeOf(n)}}function lh(){if("undefined"==typeof window||"function"!=typeof window.addEventListener)return;const t=()=>{try{"function"==typeof this.dispose&&this.dispose()}catch(t){this.log&&"function"==typeof this.log.error&&this.log.error("dispose failed",t)}};window.addEventListener("pagehide",t),window.addEventListener("beforeunload",t),this._lifecycleCleanup=()=>{window.removeEventListener("pagehide",t),window.removeEventListener("beforeunload",t)}}const ch="undefined"!=typeof self&&self||"undefined"!=typeof window&&window||"undefined"!=typeof global&&global||{};function uh(t){return Boolean(t)&&"object"==typeof t&&1===t.nodeType&&"function"==typeof t.appendChild}const dh=Object.freeze({NODE_ADD:"node:add",NODE_CHILDREN_CHANGED:"node:childrenchanged",NODE_LOADED:"node:loaded",NODE_LOAD_ERROR:"node:loaderror",PLACEMENT_ADDED:"placement:added",RENDER_PLACEMENT_ADDED:"renderplacement:added",TIMELINE_TIME_UPDATE:"timeline:timeupdate",TIMELINE_STATE_CHANGE:"statechange",TIMELINE_SEEKING:"seeking",TIMELINE_SEEKED:"seeked",TIMELINE_RESET:"timeline:reset",TIMELINE_PLAYER_STATE:"player:state",TIMELINE_CUEPOINT:"cuepoint",VISUAL_FRAMES_AVAILABLE:"visualframesavailable",TRACK_BUFFER_UPDATE:"track:bufferupdate",TRACK_READY:"track:ready",TRACK_UNDERFLOW:"track:underflow",CLOCK_TICK:"tick",DECODE_READY:"decode:ready",DECODE_ERROR:"decode:error",DECODER_AUDIO:"decoder:audio",DECODER_FRAME:"decoder:frame",DECODER_INIT:"decoder:init",DECODER_ERROR:"decoder:error",QOE_SCORE:"qoescore",QOE_STATUS:"qoestatus",CONTAINER_RESIZE:"containerresize",CANVAS_WEBGL_CONTEXT_LOST:"canvas.webglcontextlost",CANVAS_WEBGL_CONTEXT_RESTORED:"canvas.webglcontextrestored"});function hh(t,e){const n={};return Number.isFinite(t)&&(n.time=t),"string"==typeof e&&(n.source=e),n}function fh({placementId:t,nodeId:e,trackId:n,segmentId:i,trackType:r,pts:o,duration:s,frame:a,audioBuffer:l}={}){const c={};return t&&(c.placementId=t),e&&(c.nodeId=e),n&&(c.trackId=n),i&&(c.segmentId=i),r&&(c.trackType=r),Number.isFinite(o)&&(c.pts=o),Number.isFinite(s)&&(c.duration=s),a&&(c.frame=a),l&&(c.audioBuffer=l),c}function ph({placementId:t,nodeId:e,trackId:n,segmentId:i,trackType:r,error:o}={}){const s={};return t&&(s.placementId=t),e&&(s.nodeId=e),n&&(s.trackId=n),i&&(s.segmentId=i),r&&(s.trackType=r),o&&(s.error=o),s}var mh=new WeakMap,vh=new WeakMap,gh=new WeakMap,yh=new WeakMap,bh=new WeakMap,kh=new WeakMap,wh=new WeakMap,xh=new WeakSet;let _h=class extends sh{get defaults(){return{style:{width:"100%",height:"100%"},contextAttributes:{alpha:!1,depth:!1,stencil:!1,antialias:!1,preserveDrawingBuffer:!1,powerPreference:"low-power"}}}constructor(...t){var e,n;super(...t),O(this,xh),C(this,mh,void 0),C(this,vh,void 0),C(this,gh,void 0),C(this,yh,void 0),C(this,bh,void 0),C(this,kh,void 0),C(this,wh,void 0);const[i,r=null]=t;F(kh,this,r);const o=function(t,e=(null==ch?void 0:ch.document)){if(uh(t))return t;const n="string"==typeof t?t:null;if(!n||!e||"function"!=typeof e.querySelector)return null;const i=e.querySelector(n);return uh(i)?i:null}(i);if(!o)throw new Error("Canvas requires a valid mount target (HTMLElement or selector string).");F(mh,this,o);const s=null==ch?void 0:ch.document;if(!s||"function"!=typeof s.createElement)throw new Error("Canvas requires document.createElement.");var a,l;F(vh,this,s.createElement("canvas")),a=N(vh,this),l=null===(e=this.settings)||void 0===e?void 0:e.style,a&&l&&"object"==typeof l&&!Array.isArray(l)&&Object.keys(l).forEach((t=>{const e=l[t];null!=e&&(a.style[t]=String(e))})),N(mh,this).appendChild(N(vh,this));const c=null===(n=this.settings)||void 0===n?void 0:n.contextAttributes,u=c&&"object"==typeof c&&!Array.isArray(c)?c:void 0;if(F(wh,this,u),F(gh,this,N(vh,this).getContext("webgl2",u)),!N(gh,this))throw new Error("Canvas WebGL2 context is not available.");M(xh,this,Th).call(this)}get name(){return"Canvas"}get element(){return N(vh,this)}get gl(){return N(gh,this)}onDispose(){M(xh,this,Eh).call(this),N(vh,this)&&N(vh,this).parentNode&&N(vh,this).parentNode.removeChild(N(vh,this)),F(gh,this,null),F(vh,this,null),F(mh,this,null),F(kh,this,null),F(wh,this,null),F(yh,this,null),F(bh,this,null)}};function Ih(t,e){var n,i;this.trigger(t,e),null===(n=N(kh,this))||void 0===n||null===(i=n.trigger)||void 0===i||i.call(n,t,e)}function Th(){N(vh,this)&&(F(yh,this,(t=>{"function"==typeof(null==t?void 0:t.preventDefault)&&t.preventDefault(),this.log.error("WebGL context lost",t),M(xh,this,Ih).call(this,dh.CANVAS_WEBGL_CONTEXT_LOST,t)})),F(bh,this,(t=>{var e;F(gh,this,(null===(e=N(vh,this))||void 0===e?void 0:e.getContext("webgl2",N(wh,this)))||null),N(gh,this)?M(xh,this,Ih).call(this,dh.CANVAS_WEBGL_CONTEXT_RESTORED,t):this.log.error("WebGL context restored event fired but WebGL2 context is still unavailable.",t)})),N(vh,this).addEventListener("webglcontextlost",N(yh,this)),N(vh,this).addEventListener("webglcontextrestored",N(bh,this)))}function Eh(){N(vh,this)&&(N(vh,this).removeEventListener("webglcontextlost",N(yh,this)),N(vh,this).removeEventListener("webglcontextrestored",N(bh,this)))}var Sh=new WeakMap,Mh=new WeakMap,Ah=new WeakMap,Nh=new WeakMap,Ch=new WeakMap,Fh=new WeakMap,Oh=new WeakSet;let Ph=class extends sh{get name(){return"ContainerSize"}get containerWidth(){return N(Mh,this)}get containerHeight(){return N(Ah,this)}get width(){return N(Mh,this)}get height(){return N(Ah,this)}constructor(...t){super(...t),O(this,Oh),C(this,Sh,void 0),C(this,Mh,0),C(this,Ah,0),C(this,Nh,null),C(this,Ch,null),C(this,Fh,null);const[e]=t;var n;F(Sh,this,(n=e)&&n.element&&uh(n.element)?n.element:uh(n)?n:null),N(Sh,this)&&(M(Oh,this,Dh).call(this,!0),M(Oh,this,Rh).call(this))}onDispose(){N(Nh,this)&&"function"==typeof N(Nh,this).disconnect&&N(Nh,this).disconnect(),F(Nh,this,null),N(Fh,this)&&"function"==typeof(null==ch?void 0:ch.removeEventListener)&&ch.removeEventListener("resize",N(Fh,this)),F(Fh,this,null),N(Ch,this)&&((null==ch?void 0:ch.clearInterval)||clearInterval)(N(Ch,this)),F(Ch,this,null),F(Sh,this,null)}};function Rh(){if(!N(Sh,this))return;const t=null==ch?void 0:ch.ResizeObserver;if("function"==typeof t)return F(Nh,this,new t((()=>M(Oh,this,Dh).call(this)))),void N(Nh,this).observe(N(Sh,this));F(Fh,this,(()=>M(Oh,this,Dh).call(this))),"function"==typeof(null==ch?void 0:ch.addEventListener)&&ch.addEventListener("resize",N(Fh,this));const e=(null==ch?void 0:ch.setInterval)||setInterval;F(Ch,this,e((()=>M(Oh,this,Dh).call(this)),250))}function Dh(t=!1){if(!N(Sh,this))return;const{width:e,height:n}=function(t){const e=Number(null==t?void 0:t.clientWidth),n=Number(null==t?void 0:t.clientHeight);return{width:Number.isFinite(e)&&e>0?Math.round(e):0,height:Number.isFinite(n)&&n>0?Math.round(n):0}}(N(Sh,this));(t||e!==N(Mh,this)||n!==N(Ah,this))&&(F(Mh,this,e),F(Ah,this,n),this.trigger("containerresize",{width:e,height:n}))}var Bh={VIDEO_SOURCE_PREFIX:"__SRC_VID:",TEXTURE_SOURCE_PREFIX:"__SRC_TEXTURE:",PREVIOUS_OUTPUT_PREFIX:"__PREVIOUS:",SAVED_FRAME_PREFIX:"__SAVED_FRAME:",SYSTEM_NODES:{FILTERS:{RENDER_TO_CANVAS:"__default"},TAGS:{ATOM:"atom",FILTER:"filter",COMPOSITE_FILTER:"composite",TRANSITION_FILTER:"transition"}},MESSAGES:{UPDATE_OPTIONS:"update_options"}};let Lh=class{constructor(t,e){this.canvasSource=t,this.startRendering=e,this.gl=null,this.glOptions=null}init(t,e,n){this.glOptions=n||{};const i=this.initCanvas(this.canvasSource,t,e);return this.initWebgl(i,this.glOptions)}initCanvas(){throw new Error("implement on concrete class")}getContextConfig(t={}){if(!t||"object"!=typeof t)return{contextType:"webgl",contextAttributes:void 0};const{contextType:e,contextAttributes:n,__shaderGraph:i,...r}=t,o=Object.prototype.hasOwnProperty.call(t,"contextAttributes");let s=o?n:r;return o||!s||"object"!=typeof s||Array.isArray(s)||0!==Object.keys(s).length||(s=void 0),{contextType:e||"webgl",contextAttributes:s}}initWebgl(t,e={}){const{contextType:n,contextAttributes:i}=this.getContextConfig(e),r=t.getContext(n,i);if(!r)throw new Error(`Browser doesn't support ${n}`);return r.enable(r.BLEND),r.disable(r.DEPTH_TEST),r.clearColor(0,0,0,0),r.clear(r.COLOR_BUFFER_BIT),r}isStartRendering(){return this.startRendering}};var zh,Wh={exports:{}},jh=(zh||(zh=1,function(t){var e=Object.prototype.hasOwnProperty,n="~";function i(){}function r(t,e,n){this.fn=t,this.context=e,this.once=n||!1}function o(t,e,i,o,s){if("function"!=typeof i)throw new TypeError("The listener must be a function");var a=new r(i,o||t,s),l=n?n+e:e;return t._events[l]?t._events[l].fn?t._events[l]=[t._events[l],a]:t._events[l].push(a):(t._events[l]=a,t._eventsCount++),t}function s(t,e){0==--t._eventsCount?t._events=new i:delete t._events[e]}function a(){this._events=new i,this._eventsCount=0}Object.create&&(i.prototype=Object.create(null),(new i).__proto__||(n=!1)),a.prototype.eventNames=function(){var t,i,r=[];if(0===this._eventsCount)return r;for(i in t=this._events)e.call(t,i)&&r.push(n?i.slice(1):i);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(t)):r},a.prototype.listeners=function(t){var e=n?n+t:t,i=this._events[e];if(!i)return[];if(i.fn)return[i.fn];for(var r=0,o=i.length,s=new Array(o);r<o;r++)s[r]=i[r].fn;return s},a.prototype.listenerCount=function(t){var e=n?n+t:t,i=this._events[e];return i?i.fn?1:i.length:0},a.prototype.emit=function(t,e,i,r,o,s){var a=n?n+t:t;if(!this._events[a])return!1;var l,c,u=this._events[a],d=arguments.length;if(u.fn){switch(u.once&&this.removeListener(t,u.fn,void 0,!0),d){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,e),!0;case 3:return u.fn.call(u.context,e,i),!0;case 4:return u.fn.call(u.context,e,i,r),!0;case 5:return u.fn.call(u.context,e,i,r,o),!0;case 6:return u.fn.call(u.context,e,i,r,o,s),!0}for(c=1,l=new Array(d-1);c<d;c++)l[c-1]=arguments[c];u.fn.apply(u.context,l)}else{var h,f=u.length;for(c=0;c<f;c++)switch(u[c].once&&this.removeListener(t,u[c].fn,void 0,!0),d){case 1:u[c].fn.call(u[c].context);break;case 2:u[c].fn.call(u[c].context,e);break;case 3:u[c].fn.call(u[c].context,e,i);break;case 4:u[c].fn.call(u[c].context,e,i,r);break;default:if(!l)for(h=1,l=new Array(d-1);h<d;h++)l[h-1]=arguments[h];u[c].fn.apply(u[c].context,l)}}return!0},a.prototype.on=function(t,e,n){return o(this,t,e,n,!1)},a.prototype.once=function(t,e,n){return o(this,t,e,n,!0)},a.prototype.removeListener=function(t,e,i,r){var o=n?n+t:t;if(!this._events[o])return this;if(!e)return s(this,o),this;var a=this._events[o];if(a.fn)a.fn!==e||r&&!a.once||i&&a.context!==i||s(this,o);else{for(var l=0,c=[],u=a.length;l<u;l++)(a[l].fn!==e||r&&!a[l].once||i&&a[l].context!==i)&&c.push(a[l]);c.length?this._events[o]=1===c.length?c[0]:c:s(this,o)}return this},a.prototype.removeAllListeners=function(t){var e;return t?(e=n?n+t:t,this._events[e]&&s(this,e)):(this._events=new i,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=n,a.EventEmitter=a,t.exports=a}(Wh)),Wh.exports),$h=Dd(jh);let Uh=class extends Lh{constructor(t){super(t,!0),this.setSrcVidTracksFn=null,this.shouldUpdateTexture=!0,this.onPlayerSeeking=this.onPlayerSeeking.bind(this),this.onPlayerSeeked=this.onPlayerSeeked.bind(this),this.onPlayerNodeStart=this.onPlayerNodeStart.bind(this),this.oncePlayerPlaying=this.oncePlayerPlaying.bind(this);const e=new $h;this.on=e.on.bind(e),this.off=e.off.bind(e),this.once=e.once.bind(e),this.trigger=e.emit.bind(e)}onPlayerSeeking(){this.shouldUpdateTexture=!1}onPlayerSeeked(){this.shouldUpdateTexture=!0}onPlayerNodeStart(){this.shouldUpdateTexture=!0,"function"==typeof this.player.canvas.drawFrame&&this.player.canvas.drawFrame(),this.trigger("forcerender")}oncePlayerPlaying(){this.onPlayerNodeStart()}addPlayerListeners(){this.player&&(this.player.on("seeking",this.onPlayerSeeking),this.player.on("seeked",this.onPlayerSeeked),this.player.on("nodestart",this.onPlayerNodeStart),this.player.once("playing",this.oncePlayerPlaying))}removePlayerListeners(){this.player&&(this.player.off("seeking",this.onPlayerSeeking),this.player.off("seeked",this.onPlayerSeeked),this.player.off("nodestart",this.onPlayerNodeStart),this.player.off("playing",this.oncePlayerPlaying))}initCanvas(t,e,n){var i;this.player=t,this.setSrcVidTracksFn=e;const{contextType:r,contextAttributes:o}=this.getContextConfig(this.glOptions),s=!1!==(null===(i=this.glOptions)||void 0===i||null===(i=i.__shaderGraph)||void 0===i?void 0:i.forwardContextAttributes)&&null!=(a=o)&&"object"==typeof a&&!Array.isArray(a)&&Object.keys(a).length>0;var a;const l={contextType:r};s&&(l.contextAttributes=o),t.initPlugin("canvas",l);const c={drawFrame:this.canvasDrawFrameFn.bind(this),resize:n,contextType:r,offscreenVideoCanvasEnabled:!1,viewportModeEnabled:!0,fps:0};return s&&(c.contextAttributes=o),t.canvas.init(c),t.paused&&0===t.currentTime&&(this.shouldUpdateTexture=!1),this.addPlayerListeners(),t.canvas.canvas}canvasDrawFrameFn(t,e,n){var i;this.setSrcVidTracksFn&&this.shouldUpdateTexture&&t&&e&&n&&(n.videoWidth||n.displayWidth)&&(n.videoHeight||n.displayHeight)&&(!(i=n)||"boolean"!=typeof i.isDataLoaded||i&&i.isDataLoaded&&(void 0===i.isFrameTextureReady||i.isFrameTextureReady))&&this.setSrcVidTracksFn(n)}async recover(){if(this.player&&this.player.paused)return new Promise((t=>{this.player.once("seeked",(()=>{this.shouldUpdateTexture=!0,t()})),this.player.currentTime=this.player.currentTime}))}dispose(){this.player&&(this.player.canvas&&"function"==typeof this.player.canvas.dispose&&this.player.canvas.dispose(),this.removePlayerListeners(),this.player=null)}},qh=class extends Lh{constructor(t){super(t,!1)}initCanvas(t,e){const n=function(){const t=document.querySelector("video");t&&t.videoHeight&&e(t),requestAnimationFrame(n)};return requestAnimationFrame(n),document.getElementById(t)}},Vh=class extends Lh{constructor(t){super(t,!1)}initCanvas({src:t,dest:e},n,i){const r="string"==typeof e?document.querySelector(e):e,o="undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement,s=()=>{this.isDisposed||(t&&t.videoHeight&&n(t),requestAnimationFrame(s))};return o?requestAnimationFrame(s):"function"==typeof t?t(n,i):n(t),r}dispose(){this.isDisposed=!0}};var Gh=function(t){let e;return e="string"==typeof t?new qh(t):t&&t.src&&t.dest?new Vh(t):new Uh(t),e};function Hh(t){return Array.isArray(t)||(t=[t]),t}let Kh=class{constructor(t){this.store=t?{...t.get()}:{}}reset(){this.store={}}get(t){if(!t)return this.store;const e=(t=Hh(t)).reduce(((t,e)=>{const n=this.store[e];return t.push(n),t}),[]);return 1===e.length?e[0]:e}set(t,e){if(t=Hh(t),e=Hh(e),t.length!==e.length)throw new Error(`cant set values ${e} to keys ${t}, length did not match`);t.forEach(((t,n)=>{this.store[t]=e[n]}))}},Xh=class{constructor(t,e,n,i){this.gl=i.gl,this.unit=t,this.bindPoint=e,this.height=1080,this.width=1920,this.textureObject=n.object,this.textureObjectInfo=n,this.isStatic=!1,n.needRefresh&&this.setParameters()}getUnit(){return this.unit}getObject(){return this.textureObject}bind(){this.gl.bindTexture(this.bindPoint,this.textureObject)}fill(){throw new Error("impl in concrete class")}setParameters(){this.bind(),this.gl.texParameteri(this.bindPoint,this.gl.TEXTURE_WRAP_S,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.bindPoint,this.gl.TEXTURE_WRAP_T,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.bindPoint,this.gl.TEXTURE_MIN_FILTER,this.gl.LINEAR),this.gl.texParameteri(this.bindPoint,this.gl.TEXTURE_MAG_FILTER,this.gl.LINEAR)}active(){this.gl.activeTexture(this.gl.TEXTURE0+this.getUnit())}beforeUse(){this.active(),this.bind()}dispose(){this.gl.deleteTexture(this.textureObject)}setHeight(t){this.height=t}setWidth(t){this.width=t}getHeight(){if(!this.height)throw new Error(`texture ${this.unit} no height init `);return this.height}getWidth(){if(!this.width)throw new Error(`texture ${this.unit} no width init `);return this.width}};const Yh=Zd("frame","warn");let Qh=!1;if("undefined"!=typeof window&&window.InterludePlayer){let t=window.InterludePlayer.environment,e=t.isAffectedBySafari17SeekBug,n=t.ua.includes("WMT1H")&&t.ua.includes("iOS/17");Qh=e||n}function Jh(t,e){const n=t.gl;var i;n.texImage2D(t.bindPoint,0,n.RGBA,n.RGBA,n.UNSIGNED_BYTE,e),t.__hasAllocated=!0,i=t,Number.isFinite(i.width)&&Number.isFinite(i.height)&&(i.actualWidth=i.width,i.actualHeight=i.height,i.textureObjectInfo&&(i.textureObjectInfo.allocatedWidth=i.width,i.textureObjectInfo.allocatedHeight=i.height))}let Zh=class extends Xh{fill(t){if(Qh&&(t.paused||"undefined"!=typeof document&&"hidden"===document.visibilityState))return;if(t.__closed)return;this.bind();const e=function(t,e){let n=!t.__hasAllocated;return e?(e.width===t.width&&e.height===t.height||(n=!0),t.width=e.width,t.height=e.height,n):n}(this,function(t){if(!t)return;const e=[[t.displayWidth,t.displayHeight],[t.codedWidth,t.codedHeight],[t.videoWidth,t.videoHeight],[t.naturalWidth,t.naturalHeight],[t.width,t.height]];for(let t=0;t<e.length;t+=1){const[n,i]=e[t],r=Number(n),o=Number(i);if(Number.isFinite(r)&&Number.isFinite(o)&&r>0&&o>0)return{width:r,height:o}}}(t)),n=performance.now();!function(t,e,n){const i=t.gl,r=function(t){if("undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement)return!0;const e="object"==typeof window?window:"object"==typeof self?self:null,n=e&&e.VideoFrame;return"function"==typeof n&&t instanceof n}(e);r&&(t.__useSubImage=!1),n||!1===t.__useSubImage||r?Jh(t,e):(i.texSubImage2D(t.bindPoint,0,0,0,i.RGBA,i.UNSIGNED_BYTE,e),void 0===t.__useSubImage&&(i.getError()!==i.NO_ERROR?(t.__useSubImage=!1,Jh(t,e)):t.__useSubImage=!0))}(this,t,e);const i=(performance.now()-n)/1e3;i>=.1&&Yh.warn(`[fill] texImage2D() took ${i.toFixed(3)} seconds to execute.`),"function"==typeof t.close&&!0!==t.__keepOpen&&(t.close(),t.__closed=!0)}},tf=class extends Xh{constructor(t,e,n){super(...arguments),n.needRefresh&&(this.fill(null),n.needRefresh=!1)}fill(t){if(this.bind(),t&&t.tagName&&"IMG"===t.tagName){const e=Number(t.naturalWidth||t.width),n=Number(t.naturalHeight||t.height);this.gl.texImage2D(this.bindPoint,0,this.gl.RGBA,this.gl.RGBA,this.gl.UNSIGNED_BYTE,t),Number.isFinite(e)&&Number.isFinite(n)&&(this.actualWidth=e,this.actualHeight=n,this.textureObjectInfo&&(this.textureObjectInfo.allocatedWidth=e,this.textureObjectInfo.allocatedHeight=n))}else{const e=this.gl.canvas.width,n=this.gl.canvas.height;this.gl.texImage2D(this.bindPoint,0,this.gl.RGBA,e,n,0,this.gl.RGBA,this.gl.UNSIGNED_BYTE,t),Number.isFinite(e)&&Number.isFinite(n)&&(this.actualWidth=e,this.actualHeight=n,this.textureObjectInfo&&(this.textureObjectInfo.allocatedWidth=e,this.textureObjectInfo.allocatedHeight=n))}}};var ef=function(t,e,n,i,r){let o;switch(t){case"frame":o=new Zh(e,n,i,r);break;case"pixel":o=new tf(e,n,i,r);break;default:throw new Error(`cant recognize type ${t}`)}return o};let nf=class{constructor(t){this.gl=t.gl;const e=this.gl.getParameter(this.gl.MAX_TEXTURE_IMAGE_UNITS)||20;return this.maxTextures=Math.min(20,e),this.textureObjectPool=[],this.textureUnitsPool=new Set(Array(this.maxTextures).keys()),this.activeTextures=t.activeTextures instanceof Set?t.activeTextures:new Set,{createTexture:this.createTexture.bind(this),releaseTexture:this.releaseTexture.bind(this),refreshTextureObjects:this.refreshTextureObjects.bind(this),refreshActiveTextures:this.refreshActiveTextures.bind(this)}}getTextureObject(){return this.textureObjectPool.pop()||{object:this.gl.createTexture(),needRefresh:!0}}getTextureUnit(){const t=this.textureUnitsPool.values(),e=Math.min.apply(null,[...t]);return this.textureUnitsPool.delete(e),e}createTexture(t){const e=t&&t.type||{},n=this.gl.TEXTURE_2D,i=this.getTextureUnit(),r=this.getTextureObject(),o=ef(e,i,n,r,{gl:this.gl});return this.activeTextures.add(o),o}releaseTexture(t){this.textureUnitsPool.has(t.getUnit())||(this.textureObjectPool.push({object:t.getObject(),needRefresh:!1}),this.textureUnitsPool.add(t.getUnit())),this.activeTextures.delete(t)}refreshTextureObjects(){this.textureObjectPool.forEach((t=>{t.needRefresh=!0}))}refreshActiveTextures(){const t=new Set;this.activeTextures.forEach((e=>{if(!e||"function"!=typeof e.getUnit)return;t.add(e.getUnit());const n={object:this.gl.createTexture(),needRefresh:!0};e.gl=this.gl,e.textureObjectInfo=n,e.textureObject=n.object,e.__hasAllocated=!1,e.__useSubImage=void 0,e.actualWidth=null,e.actualHeight=null,"function"==typeof e.setParameters&&e.setParameters()})),this.textureObjectPool=[],this.textureUnitsPool=new Set(Array(this.maxTextures).keys()),t.forEach((t=>{this.textureUnitsPool.delete(t)}))}};const rf=Bh.VIDEO_SOURCE_PREFIX,of=Bh.TEXTURE_SOURCE_PREFIX,sf=Bh.PREVIOUS_OUTPUT_PREFIX,af=Bh.SAVED_FRAME_PREFIX;function lf(t,e,n){t.set(`${rf}${n}`,e)}function cf(t,e,n){t.set(`${sf}${n}`,e)}function uf(t,e,n){t.set(`${af}${n}`,e)}let df=class{constructor(t){return this.gl=t.gl,this.glSource=t.glSource,this.textureManager=t.textureManager,this.capturedFramesManager=t.capturedFramesManager,{setVideoSources:this.setVideoSources.bind(this),setTextureSource:this.setTextureSource.bind(this),getInput:this.getInput.bind(this),getPrevOutput:this.getPrevOutput.bind(this),setOutputs:this.setOutputs.bind(this),disposeTextures:this.disposeTextures.bind(this),disposeAllStore:this.disposeAllStore.bind(this)}}setVideoSources(t){for(const[e,n]of Object.entries(this.capturedFramesManager.getCurrentFrames()))lf(t,n,e),cf(t,n,e);for(const[e,n]of Object.entries(this.capturedFramesManager.getSavedFrames()))uf(t,n,e)}setTextureSource(t,e,n){t.set(`${of}${n}`,e)}getInput(t,e){return t.get(e)}getPrevOutput(t,e){return e=Number.isInteger(e)?e:0,t.get(`${sf}${e}`)}setOutputs(t,e=[],n=[]){if(Array.isArray(n)||(n=[n]),e.length>n.length)throw new Error(`output ids ${e.length} is bigger then supplied outputs ${n.length}`);n.forEach(((e,n)=>{cf(t,e,n)})),e.forEach(((e,i)=>{t.set(e,n[i])}))}disposeTextures(t,e){const n=e.getUnit();t.forEach((t=>{const e=t.getUnit();this.capturedFramesManager.isReservedUnit(e)||n===e||this.textureManager.releaseTexture(t)}))}disposeAllStore(t){const e=new Set;Object.values(t.get()).forEach((t=>{const n=t.getUnit();this.capturedFramesManager.isReservedUnit(n)||e.has(n)||t.isStatic||(this.textureManager.releaseTexture(t),e.add(n))}))}},hf=class{constructor(t){this.context=t}bind(){throw new Error("impl in concrete")}},ff=100,pf=100;function mf(t,e){ff=t,pf=e}let vf=class extends hf{bind(t){var e,n;this.context.gl.bindFramebuffer(this.context.gl.FRAMEBUFFER,null);const i=null===(e=this.context.gl)||void 0===e||null===(e=e.canvas)||void 0===e?void 0:e.width,r=null===(n=this.context.gl)||void 0===n||null===(n=n.canvas)||void 0===n?void 0:n.height;return Number.isFinite(i)&&Number.isFinite(r)&&i>0&&r>0&&(this.context.gl.viewport(0,0,i,r),mf(i,r)),t}},gf=class extends hf{bind(t){Array.isArray(t)||(t=[t]),this.context.gl.bindFramebuffer(this.context.gl.FRAMEBUFFER,this.context.frameBufferObject);const e=this.context.textureManager.createTexture({type:"pixel"}),n=this.context.gl.COLOR_ATTACHMENT0;if(this.context.gl.framebufferTexture2D(this.context.gl.FRAMEBUFFER,n,this.context.gl.TEXTURE_2D,e.textureObject,0),this.context.gl.clear(this.context.gl.COLOR_BUFFER_BIT),!0===this.context.useCanvasSizedFilterTargets){var i,r;const t=null===(i=this.context.gl)||void 0===i||null===(i=i.canvas)||void 0===i?void 0:i.width,n=null===(r=this.context.gl)||void 0===r||null===(r=r.canvas)||void 0===r?void 0:r.height;Number.isFinite(t)&&t>0&&e.setWidth(t),Number.isFinite(n)&&n>0&&e.setHeight(n);const o=e.textureObjectInfo,s=null==o?void 0:o.allocatedWidth,a=null==o?void 0:o.allocatedHeight;Number.isFinite(t)&&Number.isFinite(n)&&(s!==t||a!==n)&&"function"==typeof e.fill&&e.fill(null)}else t[0]&&(e.setHeight(t[0].getHeight()),e.setWidth(t[0].getWidth()));return e}},yf=class{constructor(t){this.gl=t.gl,this.textureManager=t.textureManager,this.useCanvasSizedFilterTargets=t.useCanvasSizedFilterTargets,this.bufferIndex=0,this.frameBufferObjectsPool=[this.gl.createFramebuffer(),this.gl.createFramebuffer(),this.gl.createFramebuffer()]}getFrameBufferObject(){const t=this.frameBufferObjectsPool[this.bufferIndex];return this.bufferIndex=this.bufferIndex++%this.frameBufferObjectsPool.length,t}create(t){let e;return e=t===Bh.SYSTEM_NODES.FILTERS.RENDER_TO_CANVAS?new vf({gl:this.gl}):new gf({gl:this.gl,textureManager:this.textureManager,frameBufferObject:this.getFrameBufferObject(),useCanvasSizedFilterTargets:this.useCanvasSizedFilterTargets}),e}};function bf(t,e,n){const i=e===t.VERTEX_SHADER?"vertex":"fragment";var r;r=t,Boolean(r)&&("undefined"!=typeof WebGL2RenderingContext&&r instanceof WebGL2RenderingContext||"function"==typeof r.createVertexArray)&&(n=function(t="",e){if("string"!=typeof t||!t||function(t=""){return"string"==typeof t&&t.includes("#version 300 es")}(t))return t;let n=t;if("vertex"===e&&(n=n.replace(/\battribute\b/g,"in"),n=n.replace(/\bvarying\b/g,"out")),"fragment"===e&&(n=n.replace(/\bvarying\b/g,"in"),n=n.replace(/\bgl_FragColor\b/g,"fragColor")),n=n.replace(/\btexture2D\b/g,"texture"),n=`#version 300 es\n${n}`,"fragment"===e&&n.includes("fragColor")&&!/\bout\s+vec4\s+fragColor\s*;/.test(n)){const t=n.split("\n");let e=1;for(let n=1;n<t.length;n+=1)if(t[n].trim().startsWith("precision ")){e=n+1;break}t.splice(e,0,"out vec4 fragColor;"),n=t.join("\n")}return n}(n,i));const o=t.createShader(e);if(!o)throw new Error(`Failed to create ${i} shader`);if(t.shaderSource(o,n),t.compileShader(o),t.getShaderParameter(o,t.COMPILE_STATUS))return o;const s=t.getShaderInfoLog(o);throw t.deleteShader(o),new Error(s)}var kf=function(t,e){return bf(t,t.VERTEX_SHADER,e)},wf=function(t,e){return bf(t,t.FRAGMENT_SHADER,e)};const xf={position_3d:0,texture_coordinate_2d:1};var _f=function(t,e,n){const i=t.createProgram();if(t.attachShader(i,e),t.attachShader(i,n),Object.entries(xf).forEach((([e,n])=>{t.bindAttribLocation(i,n,e)})),t.linkProgram(i),t.getProgramParameter(i,t.LINK_STATUS))return i;const r=t.getProgramInfoLog(i);throw t.deleteProgram(i),new Error(r)},If=[-1,-1,1,1,-1,1,-1,1,1,1,1,1],Tf=[0,1,2,2,1,3],Ef=[0,0,1,0,0,1,1,1];const Sf=96,Mf=[new Float32Array(new ArrayBuffer(Sf)),new Float32Array(new ArrayBuffer(Sf)),new Float32Array(new ArrayBuffer(Sf)),new Float32Array(new ArrayBuffer(Sf)),new Float32Array(new ArrayBuffer(Sf)),new Float32Array(new ArrayBuffer(Sf))],Af=[new Int16Array(6),new Int16Array(6),new Int16Array(6)];let Nf=class{constructor(t,e,n){return this.gl=n.gl,this.program=n.program,this.bindPoint=e,this.location=this.gl.getAttribLocation(this.program,t),this.buffer=this.gl.createBuffer(),this.floatBufferCounter=0,this.unit16BufferCounter=0,{fillBuffer:this.fillBuffer.bind(this),bindBuffer:this.bindBuffer.bind(this),setPointer:this.setPointer.bind(this),dispose:this.dispose.bind(this)}}enable(){this.gl.enableVertexAttribArray(this.location)}bindBuffer(){this.gl.bindBuffer(this.bindPoint,this.buffer)}getBuffer(){let t;switch(this.bindPoint){case this.gl.ARRAY_BUFFER:t=Mf[this.floatBufferCounter],this.floatBufferCounter=this.floatBufferCounter++%Mf.length;break;case this.gl.ELEMENT_ARRAY_BUFFER:t=Af[this.unit16BufferCounter],this.unit16BufferCounter=this.unit16BufferCounter++%Af.length;break;default:throw new Error("cant get buffer for this bind point: ",this.bindPoint)}return t}fillBuffer(t){this.bindBuffer();const e=this.getBuffer();e.set(t,0),this.gl.bufferData(this.bindPoint,e,this.gl.STATIC_DRAW)}getPointerData(){throw new Error("you should impl this function")}setPointer(){this.bindBuffer(),this.enable();const t=this.getPointerData();this.gl.vertexAttribPointer(this.location,t.size,t.type,t.normalize,t.stride,t.offset)}dispose(){this.gl.deleteBuffer(this.buffer)}};const Cf={position_3d:class extends Nf{getPointerData(){return{size:3,type:this.gl.FLOAT,normalize:!1,stride:0,offset:0}}},position_indexes:class extends Nf{setPointer(){}getPointerData(){}enable(){}},texture_coordinate_2d:class extends Nf{getPointerData(){return{size:2,type:this.gl.FLOAT,normalize:!0,stride:0,offset:0}}}};var Ff=function(t,e,n){const i=Cf[t];if(!i)throw new Error(`${t} is not a attribute name,choose from list: ${Object.keys(Cf)}`);return new i(t,e,n)};let Of=class{constructor(t,e){this.gl=e.gl,this.program=e.program,this.location=this.gl.getUniformLocation(this.program,t)}compute(){return this}set(){return this}},Pf=class extends Of{set(t){this.gl.uniform1fv(this.location,t)}},Rf=class extends Of{set(t){t&&(t.beforeUse(),this.gl.uniform1i(this.location,t.getUnit()))}};const Df="first_texture_dimensions",Bf="viewport_dimensions",Lf="time",zf={RUNTIME_OPTIONS:"runtimeOptions[0]",STATIC_OPTIONS:"staticOptions[0]",FIRST_TEXTURE:"first_texture",SECOND_TEXTURE:"second_texture",FIRST_MATRIX:"first_mat4"},Wf={[zf.FIRST_TEXTURE]:Rf,[zf.SECOND_TEXTURE]:Rf,[zf.FIRST_MATRIX]:class extends Of{set(t){this.gl.uniformMatrix4fv(this.location,!1,t)}},[zf.STATIC_OPTIONS]:Pf,[zf.RUNTIME_OPTIONS]:Pf};var jf=function(t,e){const n=Wf[t];if(!n)throw new Error(`${t} is not a attribute name,choose from list: ${Object.keys(Wf)}`);return new n(t,e)},$f=function(t,e){let n=(Date.now()-t||0)/(e||1);return n=Number.parseFloat(n).toFixed(7),n=Math.min(1,n),n};const Uf="position_3d",qf="position_indexes",Vf="texture_coordinate_2d";class Gf{constructor(t,e,n,i){this.type=t,this.gl=i.gl,this.frameBuffer=i.frameBufferFactory.create(t),this.rebindAttributesOnProgramSwitch=!1!==i.rebindAttributesOnProgramSwitch,this.vertexShader=kf(this.gl,e.vertex),this.fragmentShader=wf(this.gl,e.fragment),this.program=_f(this.gl,this.vertexShader,this.fragmentShader);const r={gl:this.gl,program:this.program};this.attributes=function(t,e){const n={};return t=t||[],(t=[{id:Uf,bindPoint:e.gl.ARRAY_BUFFER},{id:qf,bindPoint:e.gl.ELEMENT_ARRAY_BUFFER},{id:Vf,bindPoint:e.gl.ARRAY_BUFFER}].concat(t)).forEach((t=>{const i=t.id;n[i]=Ff(i,t.bindPoint,e)})),n}(n.attributes,r),this.uniforms=function(t,e){const n={};return(t=t||[]).forEach((t=>{const i=t.id;n[i]=jf(i,e)})),n}(n.uniforms,r),this.gl.useProgram(this.program),i.__handleAttributesInitedOnce||(this.handleAttributes(),i.__handleAttributesInitedOnce=!0),this.handleStaticUniforms(i.options)}static getFilterType(){throw new Error("impl in concrete class")}static getInputsCount(){throw new Error(`impl in concrete class ${this.getFilterType()}`)}static getInitialOptions(){throw new Error(`impl in concrete class ${this.getFilterType()}`)}static getUniformInfo(t){let e=[{id:zf.RUNTIME_OPTIONS},{id:zf.STATIC_OPTIONS}];return(t.getUniformList||Gf.getUniformList)().forEach((t=>{Object.values(zf).includes(t)&&e.push({id:t})})),e}handleRuntimeUniforms(t,e){const{inputTextures:n,viewportDimensions:i}=t;let r=Array.isArray(n)?n:[n],o=[];(this.constructor.getUniformList||Gf.getUniformList)().forEach((t=>{switch(t){case zf.FIRST_TEXTURE:this.uniforms[zf.FIRST_TEXTURE].set(r[0]);break;case zf.SECOND_TEXTURE:this.uniforms[zf.SECOND_TEXTURE].set(r[1]);break;case Df:o=[...o,r[0].getWidth(),r[0].getHeight()];break;case Bf:o=[...o,i.width,i.height];break;case Lf:{const t=$f(e.startTime,e.duration);o=[...o,t];break}}})),o.length>0&&this.uniforms[zf.RUNTIME_OPTIONS].set(o)}static getUniformList(){return[zf.FIRST_TEXTURE]}getOptionsDisplay(){return[]}handleStaticUniforms(){}handleAttributes(){this.attributes[Uf].fillBuffer(If),this.attributes[Uf].setPointer(),this.attributes[qf].fillBuffer(Tf),this.attributes[Vf].fillBuffer(Ef),this.attributes[Vf].setPointer()}disposeAttributes(){Object.values(this.attributes).forEach((t=>{t.dispose()}))}render(t,e){const n=this.frameBuffer.bind(t);let i={width:ff,height:pf};return this.gl.useProgram(this.program),this.rebindAttributesOnProgramSwitch&&this.gl.__shaderGraphLastProgram!==this.program&&(this.handleAttributes(),this.gl.__shaderGraphLastProgram=this.program),this.handleRuntimeUniforms({inputTextures:t,viewportDimensions:i},e),this.draw(),n}draw(){const t=this.gl.TRIANGLES,e=this.gl.UNSIGNED_SHORT;this.gl.drawElements(t,6,e,0)}updateStaticUniforms(t){this.gl.useProgram(this.program),this.handleStaticUniforms(t)}dispose(){this.gl.detachShader(this.program,this.vertexShader),this.gl.deleteShader(this.vertexShader),this.gl.detachShader(this.program,this.fragmentShader),this.gl.deleteShader(this.fragmentShader),this.gl.deleteProgram(this.program)}}var Hf,Kf="undefined"!=typeof Float32Array?Float32Array:Array;function Xf(){var t=new Kf(3);return Kf!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t}function Yf(t,e,n){var i=new Kf(3);return i[0]=t,i[1]=e,i[2]=n,i}function Qf(){var t=new Kf(4);return Kf!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t[3]=1,t}Xf(),function(){var t;t=new Kf(4),Kf!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0)}(),Xf(),Yf(1,0,0),Yf(0,1,0),Qf(),Qf(),Hf=new Kf(9),Kf!=Float32Array&&(Hf[1]=0,Hf[2]=0,Hf[3]=0,Hf[5]=0,Hf[6]=0,Hf[7]=0),Hf[0]=1,Hf[4]=1,Hf[8]=1;class Jf extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(Jf)};super(Jf.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nuniform mat4 first_mat4;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xy, 1, 1);\n\n gl_Position = first_mat4 * normalize_poistion;\n\n current_texture_coordinate_2d = texture_coordinate_2d;\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n gl_FragColor = texture2D(first_texture, current_texture_coordinate_2d);\n // gl_FragColor = vec4(256,0,0,1);\n}"},e,t)}static getFilterType(){return"transform"}static getInputsCount(){return 1}static getInitialOptions(){return{translate:{x:0,y:0},scale:{x:1,y:1},rotate:0}}getOptionsDisplay(){return[{properties:["translate","x"],type:"slider",minValue:-2,maxValue:2,step:.001,initialValue:Jf.getInitialOptions().translate.x},{properties:["translate","y"],type:"slider",minValue:-2,maxValue:2,step:.001,initialValue:Jf.getInitialOptions().translate.y},{properties:["scale","x"],type:"slider",minValue:-10,maxValue:10,step:.001,initialValue:Jf.getInitialOptions().scale.x},{properties:["scale","y"],type:"slider",minValue:-10,maxValue:10,step:.001,initialValue:Jf.getInitialOptions().scale.y},{properties:["rotate"],type:"slider",minValue:-360,maxValue:360,step:1,initialValue:Jf.getInitialOptions().rotate}]}static getUniformList(){return[zf.FIRST_TEXTURE,zf.FIRST_MATRIX]}handleStaticUniforms(t){if(!t||!t.translate||!t.scale)throw new Error(`bad options object for Transform filter, check ${t}`);const e=Number.parseFloat(t.translate.x).toFixed(7),n=-1*Number.parseFloat(t.translate.y).toFixed(7),i=Number.parseFloat(t.scale.x).toFixed(7),r=Number.parseFloat(t.scale.y).toFixed(7),o=t.rotate||0;var s;this.transformMatrix=function(t,e,n,i){var r=e[0],o=e[1],s=e[2],a=e[3],l=r+r,c=o+o,u=s+s,d=r*l,h=r*c,f=r*u,p=o*c,m=o*u,v=s*u,g=a*l,y=a*c,b=a*u,k=i[0],w=i[1],x=i[2];return t[0]=(1-(p+v))*k,t[1]=(h+b)*k,t[2]=(f-y)*k,t[3]=0,t[4]=(h-b)*w,t[5]=(1-(d+v))*w,t[6]=(m+g)*w,t[7]=0,t[8]=(f+y)*x,t[9]=(m-g)*x,t[10]=(1-(d+p))*x,t[11]=0,t[12]=n[0],t[13]=n[1],t[14]=n[2],t[15]=1,t}((s=new Kf(16),Kf!=Float32Array&&(s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[11]=0,s[12]=0,s[13]=0,s[14]=0),s[0]=1,s[5]=1,s[10]=1,s[15]=1,s),function(t,e,n,i){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"zyx",o=Math.PI/360;e*=o,i*=o,n*=o;var s=Math.sin(e),a=Math.cos(e),l=Math.sin(n),c=Math.cos(n),u=Math.sin(i),d=Math.cos(i);switch(r){case"xyz":t[0]=s*c*d+a*l*u,t[1]=a*l*d-s*c*u,t[2]=a*c*u+s*l*d,t[3]=a*c*d-s*l*u;break;case"xzy":t[0]=s*c*d-a*l*u,t[1]=a*l*d-s*c*u,t[2]=a*c*u+s*l*d,t[3]=a*c*d+s*l*u;break;case"yxz":t[0]=s*c*d+a*l*u,t[1]=a*l*d-s*c*u,t[2]=a*c*u-s*l*d,t[3]=a*c*d+s*l*u;break;case"yzx":t[0]=s*c*d+a*l*u,t[1]=a*l*d+s*c*u,t[2]=a*c*u-s*l*d,t[3]=a*c*d-s*l*u;break;case"zxy":t[0]=s*c*d-a*l*u,t[1]=a*l*d+s*c*u,t[2]=a*c*u+s*l*d,t[3]=a*c*d-s*l*u;break;case"zyx":t[0]=s*c*d-a*l*u,t[1]=a*l*d+s*c*u,t[2]=a*c*u-s*l*d,t[3]=a*c*d+s*l*u;break;default:throw new Error("Unknown angle order "+r)}return t}(Qf(),0,0,o),Yf(e,n,0),Yf(i,r,1)),this.uniforms[zf.FIRST_MATRIX].set(this.transformMatrix)}}class Zf extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(Zf)};super(Zf.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nuniform float runtimeOptions[2];\n\nvarying vec2 blur_texture_coordinate_2d[11];\n\n\nvoid main() {\n vec2 normalize_poistion = vec2(position_3d.xy);\n gl_Position = vec4(normalize_poistion, 1, 1);\n\n float texture_width = runtimeOptions[0];\n float pixel_width = 1.0 / texture_width;\n\n \n for(int i=-5; i<5; ++i){\n float current_i = float(i);\n blur_texture_coordinate_2d[i+5] = texture_coordinate_2d + vec2(pixel_width * current_i, 0.0); \n }\n}\n",fragment:"\nprecision lowp float;\n\nuniform sampler2D first_texture;\n\nvarying vec2 blur_texture_coordinate_2d[11];\n\nvoid main() {\n vec4 out_colour = vec4(0.0);\n\tout_colour += texture2D(first_texture, blur_texture_coordinate_2d[0]) * 0.0093;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[1]) * 0.028002;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[2]) * 0.065984;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[3]) * 0.121703;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[4]) * 0.175713;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[5]) * 0.198596;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[6]) * 0.175713;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[7]) * 0.121703;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[8]) * 0.065984;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[9]) * 0.028002;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[10]) * 0.0093;\n \n \n gl_FragColor = out_colour;\n}"},e,t)}static getFilterType(){return"horizontalBlur"}static getInputsCount(){return 1}static getInitialOptions(){return{}}static getUniformList(){return[zf.FIRST_TEXTURE,Df]}}class tp extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(tp)};super(tp.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nuniform float runtimeOptions[2];\n\nvarying vec2 blur_texture_coordinate_2d[11];\n\n\nvoid main() {\n vec2 normalize_poistion = vec2(position_3d.xy);\n gl_Position = vec4(normalize_poistion, 1, 1);\n\n float texture_width = runtimeOptions[1];\n float pixel_height = 1.0 / texture_width;\n\n for(int i=-5; i<5; ++i){\n float current_i = float(i);\n blur_texture_coordinate_2d[i+5] = texture_coordinate_2d + vec2( 0.0, pixel_height * current_i);\n }\n}\n",fragment:"\nprecision lowp float;\n\nuniform sampler2D first_texture;\n\nvarying vec2 blur_texture_coordinate_2d[11];\n\nvoid main() {\n vec4 out_colour = vec4(0.0);\n\tout_colour += texture2D(first_texture, blur_texture_coordinate_2d[0]) * 0.0093;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[1]) * 0.028002;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[2]) * 0.065984;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[3]) * 0.121703;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[4]) * 0.175713;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[5]) * 0.198596;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[6]) * 0.175713;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[7]) * 0.121703;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[8]) * 0.065984;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[9]) * 0.028002;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[10]) * 0.0093;\n \n \n gl_FragColor = out_colour;\n}"},e,t)}static getFilterType(){return"verticalBlur"}static getInputsCount(){return 1}static getInitialOptions(){return{}}static getUniformList(){return[zf.FIRST_TEXTURE,Df]}}class ep extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(ep)};super(ep.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n\n current_texture_coordinate_2d = texture_coordinate_2d;\n current_position_coordinate_2d = normalize_poistion.xy;\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\n\nuniform float staticOptions[3];\nuniform float runtimeOptions[4];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\nconst float Depth = 3.;\nconst float Samples = 8.;\nfloat OffsetDist = staticOptions[0];\n\nvec2 srcDims = vec2(runtimeOptions[0], runtimeOptions[1]);\nvec2 vpDims = vec2(runtimeOptions[2], runtimeOptions[3]);\nvec2 iResolution = vpDims;\n\n\n#define TAU 6.28318530718\n\nvec4 RadialBlur(vec2 fragCoord, float radius) {\n if (radius <= 0.) {\n return texture2D(first_texture, fragCoord/iResolution.xy);\n }\n\n vec2 offset;\n float angle = 0.;\n vec4 color = vec4(0.);\n\n for(float angle = 0.; angle < TAU; angle += (TAU/Samples)) {\n offset = vec2(cos(angle), sin(angle)) * radius;\n color += texture2D(first_texture, (fragCoord + offset)/iResolution.xy);\n }\n\n return color/Samples;\n\n}\n\nvec4 FastBlur(vec2 fragCoord) {\n\n vec4 color;\n vec2 offset;\n float fib = 2.;\n float fibTotal = 0.;\n\n for(float i = 1.; i <= Depth; ++i) {\n fib += i;\n color += RadialBlur(fragCoord, i * OffsetDist)/ fib;\n fibTotal += 1./fib;\n }\n\n return color/fibTotal;\n\n}\n\n// based on https://www.shadertoy.com/view/3ljBDd\nvoid main() {\n// vec2 fragCoords = (vec2(current_texture_coordinate_2d) + 1.0) / 2.0 * vpDims;\n vec2 fragCoords = vec2(current_texture_coordinate_2d) * vpDims;\n gl_FragColor = FastBlur(fragCoords);\n}"},e,t)}static getFilterType(){return"fastBlur"}static getInputsCount(){return 1}static getInitialOptions(){return{}}static getUniformList(){return[zf.FIRST_TEXTURE,Df,Bf]}handleStaticUniforms(t){var e;const n=(null!==(e=Number.parseFloat(t.offsetDist))&&void 0!==e?e:4).toFixed(3);this.uniforms[zf.STATIC_OPTIONS].set([n])}}class np extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(np)};super(np.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n\n current_texture_coordinate_2d = texture_coordinate_2d;\n current_position_coordinate_2d = normalize_poistion.xy;\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\n\nuniform float staticOptions[2];\nuniform float runtimeOptions[4];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\nvec2 vpDims = vec2(runtimeOptions[2], runtimeOptions[3]);\n\n// A simple directional blur that doesn't brighten the image, based on https://www.shadertoy.com/view/WdSXWD\n// and https://www.shadertoy.com/view/NltSD4\n\nvec4 dirBlur() {\n float angle = staticOptions[0];\n float strength = staticOptions[1];\n if (strength == 0.0){\n return texture2D(first_texture, current_texture_coordinate_2d);\n }\n\n vec2 uv = current_texture_coordinate_2d;\n\n float r = radians(angle);\n vec2 direction = vec2(sin(r), cos(r));\n\n vec2 strengthDirection = strength * direction;\n vec3 acc = vec3(0);\n for(float i = -1.0; i <= 1.0; i += (2.0 / 50.0)) {\n acc += texture2D(first_texture, uv - vec2(strengthDirection.x * i, strengthDirection.y * i)).rgb * (2.0 / 50.0) * .5;\n }\n\n return vec4(acc, 1.0);\n\n}\n\nvoid main() {\n gl_FragColor = dirBlur();\n}"},e,t)}static getFilterType(){return"directionalBlur"}static getInputsCount(){return 1}static getInitialOptions(){return{}}static getUniformList(){return[zf.FIRST_TEXTURE,Df,Bf]}handleStaticUniforms(t){var e,n;const i=(null!==(e=Number.parseFloat(t.angle))&&void 0!==e?e:90).toFixed(3),r=(null!==(n=Number.parseFloat(t.strength))&&void 0!==n?n:.1).toFixed(3);this.uniforms[zf.STATIC_OPTIONS].set([i,r])}}class ip extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(ip)};super(ip.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n \n current_texture_coordinate_2d = texture_coordinate_2d;\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nuniform float staticOptions[1];\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n vec4 texture = texture2D(first_texture, current_texture_coordinate_2d);\n float opacity = texture.w - (1.0 - staticOptions[0]);\n gl_FragColor = vec4((texture.xyz) , opacity);\n}"},e,t)}static getFilterType(){return"opacity"}static getInputsCount(){return 1}static getInitialOptions(){return{power:1}}getOptionsDisplay(){return[{properties:["power"],type:"slider",minValue:0,maxValue:1,step:.001}]}handleStaticUniforms(t){const e=Number.parseFloat(t.power).toFixed(7);this.uniforms[zf.STATIC_OPTIONS].set([e])}}class rp extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(rp)};super(rp.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n\n current_texture_coordinate_2d = texture_coordinate_2d;\n current_position_coordinate_2d = normalize_poistion.xy;\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nuniform sampler2D second_texture;\n\nuniform float staticOptions[7];\nuniform float runtimeOptions[2];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\n\nfloat roundedBoxSDF(vec2 point, vec2 center, vec2 area, float radius) {\n return length(max(abs(point - center) - area + radius, 0.0)) - radius;\n}\n\nfloat boxSDF(vec2 point, vec2 center, vec2 area){\n vec2 d = abs(point - center) - area;\n return length(max(d,vec2(0)));\n}\n\n\nvoid main() {\n float type = staticOptions[0];\n vec2 aspectRatio = vec2(runtimeOptions[0]/runtimeOptions[1], 1.0);\n\n\n vec2 center = vec2(staticOptions[1], staticOptions[2]) * aspectRatio;\n vec2 area = max(vec2(staticOptions[3], staticOptions[4]) * aspectRatio, 0.0); \n float radius = staticOptions[5];\n\n vec2 SDF_PositionCoordinate2d = vec2(\n current_position_coordinate_2d.x,\n current_position_coordinate_2d.y * -1.0\n ) * aspectRatio;\n\n vec4 color1 = texture2D(first_texture, current_texture_coordinate_2d);\n vec4 color2 = texture2D(second_texture, current_texture_coordinate_2d);\n\n float dist;\n vec4 color;\n if(type == 0.0){\n dist = boxSDF(SDF_PositionCoordinate2d, center, area);\n color = (dist > 0.0) ? color2: color1;\n } else {\n dist = roundedBoxSDF(SDF_PositionCoordinate2d, center, area, radius);\n color = (dist > 0.0) ? color2: color1;\n color = mix( color, color2, 1.0-smoothstep(0.0,0.0025,abs(dist)));\n }\n \n gl_FragColor = color;\n}"},e,t)}static getFilterType(){return"shapeCompositeMask"}static getInputsCount(){return 2}static getInitialOptions(){return{type:"box",center:{x:0,y:0},area:{width:0,height:0},radius:.01,edgeSoftness:0}}getOptionsDisplay(){return[{properties:["center","x"],type:"slider",minValue:-1,maxValue:1,step:.001},{properties:["center","y"],type:"slider",minValue:-1,maxValue:1,step:.001},{properties:["area","width"],type:"slider",minValue:-2,maxValue:2,step:.001},{properties:["area","height"],type:"slider",minValue:-2,maxValue:2,step:.001},{properties:["radius"],type:"slider",minValue:-2,maxValue:2,step:.001},{properties:["edgeSoftness"],type:"slider",minValue:-2,maxValue:2,step:.001}]}static getUniformList(){return[zf.FIRST_TEXTURE,Df,zf.SECOND_TEXTURE]}handleStaticUniforms(t){let e;switch(t.type){case"box":e=0;break;case"rounded":e=1;break;default:throw new Error("cant recognize shape composite mask type")}const n=Number.parseFloat(t.center.x).toFixed(7);let i=Number.parseFloat(t.center.y).toFixed(7);i+=0;const r=Number.parseFloat(t.area.width).toFixed(7),o=Number.parseFloat(t.area.height).toFixed(7),s=Number.parseFloat(t.radius).toFixed(7),a=Number.parseFloat(t.edgeSoftness).toFixed(7);this.uniforms[zf.STATIC_OPTIONS].set([e,n,i,r,o,s,a])}}class op extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(op)};super(op.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n\n current_texture_coordinate_2d = texture_coordinate_2d;\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nuniform sampler2D second_texture;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n vec4 fgColor = texture2D(first_texture, current_texture_coordinate_2d);\n vec4 bgColor = texture2D(second_texture, current_texture_coordinate_2d);\n gl_FragColor = vec4(\n mix(bgColor.xyz, fgColor.xyz, fgColor.w),\n 1.0\n );\n // vec4 fgColor = texture2D(textures[1], current_texture_coordinate_2d);\n // if(fgColor.w > 0.0){\n // gl_FragColor = vec4(1.0,0,0,1);\n // }else{\n // gl_FragColor = vec4(1.0,1.0,0,1);\n // }\n \n \n}"},e,t)}static getFilterType(){return"shapeComposite"}static getInputsCount(){return 2}static getInitialOptions(){return{}}static getUniformList(){return[zf.FIRST_TEXTURE,zf.SECOND_TEXTURE]}}class sp extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(sp)};super(sp.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n\n current_texture_coordinate_2d = texture_coordinate_2d;\n}\n",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nuniform sampler2D second_texture;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n // Look it up in the LUT\n vec4 textureColor = texture2D(first_texture, current_texture_coordinate_2d);\n\n mediump float blueColor = textureColor.b * 63.0;\n\n mediump vec2 quad1;\n quad1.y = floor(floor(blueColor) / 8.0);\n quad1.x = floor(blueColor) - (quad1.y * 8.0);\n\n mediump vec2 quad2;\n quad2.y = floor(ceil(blueColor) / 8.0);\n quad2.x = ceil(blueColor) - (quad2.y * 8.0);\n\n highp vec2 texPos1;\n texPos1.x = (quad1.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * textureColor.r);\n texPos1.y = (quad1.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * textureColor.g);\n\n\n highp vec2 texPos2;\n texPos2.x = (quad2.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * textureColor.r);\n texPos2.y = (quad2.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * textureColor.g);\n\n lowp vec4 newColor1 = texture2D(second_texture, texPos1);\n lowp vec4 newColor2 = texture2D(second_texture, texPos2);\n\n lowp vec4 color = mix(newColor1, newColor2, fract(blueColor));\n\n gl_FragColor = color;\n\n // debug\n// if (current_texture_coordinate_2d.x < 0.5) {\n// // Left half: show original\n// gl_FragColor = textureColor;\n// } else {\n// gl_FragColor = color;\n// }\n}\n"},e,t)}static getFilterType(){return"lut"}static getInputsCount(){return 2}static getInitialOptions(){return{}}static getUniformList(){return[zf.FIRST_TEXTURE,zf.SECOND_TEXTURE]}getOptionsDisplay(){return[]}handleStaticUniforms(t){const e=Number.parseFloat(t.lutSize).toFixed(1);this.uniforms[zf.STATIC_OPTIONS].set([e])}}var ap="attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n\n current_texture_coordinate_2d = texture_coordinate_2d;\n}\n",lp='precision lowp float;\n\nuniform sampler2D first_texture;\nvarying vec2 current_texture_coordinate_2d;\n\n// a 256 * 4 length array with values for the master, r, g and b curve respectively\n// Temporarily changed length to 256 to avoid the following error on some machines:\n// "Implementation limit of 4096 (e.g., number of built-in plus user defined active uniforms components) exceeded, fragment shader uses 4100 total uniforms."\nuniform float staticOptions[256];\n\n\n// implementation of round (doesn\'t exist in webgl)\nint round(float val){\n return int(floor(val + 0.5));\n}\n\n// no dynamic array indexes in webgl\n// see https://stackoverflow.com/questions/30585265/what-can-i-use-as-an-array-index-in-glsl-in-webgl\nfloat getCurveValue(float pixelValue){\n float v;\n for (int k = 0; k < 256; k++) {\n if (k == round(pixelValue * 255.0)){\n v = float(staticOptions[k]) / 255.0;\n }\n }\n return v;\n}\n\nvec3 masterCurve(vec4 color){\n float r = getCurveValue(color.r);\n float g = getCurveValue(color.g);\n float b = getCurveValue(color.b);\n// for (int k = 0; k < 256; ++k) {\n// if (k == int(color.g) * 256){\n// g = float(staticOptions[k]) / 256.0;\n// }\n// }\n// for (int k = 0; k < 256; ++k) {\n// if (k == int(color.b) * 256){\n// b = float(staticOptions[k]) / 256.0;\n// }\n// }\n return vec3(r,g,b);\n}\n\n//vec3 redCurve(vec3 color){\n// int offset = 256;\n// return vec3(staticOptions[int(int(color.r) + offset)], color.g, color.b);\n//}\n//\n//vec3 greenCurve(vec3 color){\n// int offset = 256 * 2;\n// return vec3(color.r, staticOptions[int(int(color.g) + offset)], color.b);\n//}\n//\n//vec3 blueCurve(vec3 color){\n// int offset = 256 * 3;\n// return vec3(color.r, color.g, staticOptions[int(int(color.b) + offset)]);\n//}\n\nvoid main() {\n// vec4 textureColor = texture2D(first_texture, current_texture_coordinate_2d);\n// vec3 afterMaster = masterCurve(textureColor);\n// vec3 afterRed = redCurve(afterMaster);\n// vec3 afterGreen = greenCurve(afterRed);\n// vec3 afterBlue = blueCurve(afterGreen);\n// vec4 finalColor = vec4(afterBlue, textureColor.a);\n\n vec4 textureColor = texture2D(first_texture, current_texture_coordinate_2d);\n vec3 afterMaster = masterCurve(textureColor);\n vec4 finalColor = vec4(afterMaster, textureColor.a);\n\n gl_FragColor = finalColor;\n}\n';const{abs:cp,cos:up,sin:dp,acos:hp,atan2:fp,sqrt:pp,pow:mp}=Math;function vp(t){return t<0?-mp(-t,1/3):mp(t,1/3)}const gp=Math.PI,yp=2*gp,bp=gp/2,kp=Number.MAX_SAFE_INTEGER||9007199254740991,wp=Number.MIN_SAFE_INTEGER||-9007199254740991,xp={x:0,y:0,z:0},_p={Tvalues:[-.06405689286260563,.06405689286260563,-.1911188674736163,.1911188674736163,-.3150426796961634,.3150426796961634,-.4337935076260451,.4337935076260451,-.5454214713888396,.5454214713888396,-.6480936519369755,.6480936519369755,-.7401241915785544,.7401241915785544,-.820001985973903,.820001985973903,-.8864155270044011,.8864155270044011,-.9382745520027328,.9382745520027328,-.9747285559713095,.9747285559713095,-.9951872199970213,.9951872199970213],Cvalues:[.12793819534675216,.12793819534675216,.1258374563468283,.1258374563468283,.12167047292780339,.12167047292780339,.1155056680537256,.1155056680537256,.10744427011596563,.10744427011596563,.09761865210411388,.09761865210411388,.08619016153195327,.08619016153195327,.0733464814110803,.0733464814110803,.05929858491543678,.05929858491543678,.04427743881741981,.04427743881741981,.028531388628933663,.028531388628933663,.0123412297999872,.0123412297999872],arcfn:function(t,e){const n=e(t);let i=n.x*n.x+n.y*n.y;return void 0!==n.z&&(i+=n.z*n.z),pp(i)},compute:function(t,e,n){if(0===t)return e[0].t=0,e[0];const i=e.length-1;if(1===t)return e[i].t=1,e[i];const r=1-t;let o=e;if(0===i)return e[0].t=t,e[0];if(1===i){const e={x:r*o[0].x+t*o[1].x,y:r*o[0].y+t*o[1].y,t:t};return n&&(e.z=r*o[0].z+t*o[1].z),e}if(i<4){let e,s,a,l=r*r,c=t*t,u=0;2===i?(o=[o[0],o[1],o[2],xp],e=l,s=r*t*2,a=c):3===i&&(e=l*r,s=l*t*3,a=r*c*3,u=t*c);const d={x:e*o[0].x+s*o[1].x+a*o[2].x+u*o[3].x,y:e*o[0].y+s*o[1].y+a*o[2].y+u*o[3].y,t:t};return n&&(d.z=e*o[0].z+s*o[1].z+a*o[2].z+u*o[3].z),d}const s=JSON.parse(JSON.stringify(e));for(;s.length>1;){for(let e=0;e<s.length-1;e++)s[e]={x:s[e].x+(s[e+1].x-s[e].x)*t,y:s[e].y+(s[e+1].y-s[e].y)*t},void 0!==s[e].z&&(s[e].z=s[e].z+(s[e+1].z-s[e].z)*t);s.splice(s.length-1,1)}return s[0].t=t,s[0]},computeWithRatios:function(t,e,n,i){const r=1-t,o=n,s=e;let a,l=o[0],c=o[1],u=o[2],d=o[3];return l*=r,c*=t,2===s.length?(a=l+c,{x:(l*s[0].x+c*s[1].x)/a,y:(l*s[0].y+c*s[1].y)/a,z:!!i&&(l*s[0].z+c*s[1].z)/a,t:t}):(l*=r,c*=2*r,u*=t*t,3===s.length?(a=l+c+u,{x:(l*s[0].x+c*s[1].x+u*s[2].x)/a,y:(l*s[0].y+c*s[1].y+u*s[2].y)/a,z:!!i&&(l*s[0].z+c*s[1].z+u*s[2].z)/a,t:t}):(l*=r,c*=1.5*r,u*=3*r,d*=t*t*t,4===s.length?(a=l+c+u+d,{x:(l*s[0].x+c*s[1].x+u*s[2].x+d*s[3].x)/a,y:(l*s[0].y+c*s[1].y+u*s[2].y+d*s[3].y)/a,z:!!i&&(l*s[0].z+c*s[1].z+u*s[2].z+d*s[3].z)/a,t:t}):void 0))},derive:function(t,e){const n=[];for(let i=t,r=i.length,o=r-1;r>1;r--,o--){const t=[];for(let n,r=0;r<o;r++)n={x:o*(i[r+1].x-i[r].x),y:o*(i[r+1].y-i[r].y)},e&&(n.z=o*(i[r+1].z-i[r].z)),t.push(n);n.push(t),i=t}return n},between:function(t,e,n){return e<=t&&t<=n||_p.approximately(t,e)||_p.approximately(t,n)},approximately:function(t,e,n){return cp(t-e)<=(n||1e-6)},length:function(t){const e=_p.Tvalues.length;let n=0;for(let i,r=0;r<e;r++)i=.5*_p.Tvalues[r]+.5,n+=_p.Cvalues[r]*_p.arcfn(i,t);return.5*n},map:function(t,e,n,i,r){return i+(t-e)/(n-e)*(r-i)},lerp:function(t,e,n){const i={x:e.x+t*(n.x-e.x),y:e.y+t*(n.y-e.y)};return void 0!==e.z&&void 0!==n.z&&(i.z=e.z+t*(n.z-e.z)),i},pointToString:function(t){let e=t.x+"/"+t.y;return void 0!==t.z&&(e+="/"+t.z),e},pointsToString:function(t){return"["+t.map(_p.pointToString).join(", ")+"]"},copy:function(t){return JSON.parse(JSON.stringify(t))},angle:function(t,e,n){const i=e.x-t.x,r=e.y-t.y,o=n.x-t.x,s=n.y-t.y;return fp(i*s-r*o,i*o+r*s)},round:function(t,e){const n=""+t,i=n.indexOf(".");return parseFloat(n.substring(0,i+1+e))},dist:function(t,e){const n=t.x-e.x,i=t.y-e.y;return pp(n*n+i*i)},closest:function(t,e){let n,i,r=mp(2,63);return t.forEach((function(t,o){i=_p.dist(e,t),i<r&&(r=i,n=o)})),{mdist:r,mpos:n}},abcratio:function(t,e){if(2!==e&&3!==e)return!1;if(void 0===t)t=.5;else if(0===t||1===t)return t;const n=mp(t,e)+mp(1-t,e);return cp((n-1)/n)},projectionratio:function(t,e){if(2!==e&&3!==e)return!1;if(void 0===t)t=.5;else if(0===t||1===t)return t;const n=mp(1-t,e);return n/(mp(t,e)+n)},lli8:function(t,e,n,i,r,o,s,a){const l=(t-n)*(o-a)-(e-i)*(r-s);return 0!=l&&{x:((t*i-e*n)*(r-s)-(t-n)*(r*a-o*s))/l,y:((t*i-e*n)*(o-a)-(e-i)*(r*a-o*s))/l}},lli4:function(t,e,n,i){const r=t.x,o=t.y,s=e.x,a=e.y,l=n.x,c=n.y,u=i.x,d=i.y;return _p.lli8(r,o,s,a,l,c,u,d)},lli:function(t,e){return _p.lli4(t,t.c,e,e.c)},makeline:function(t,e){return new Op(t.x,t.y,(t.x+e.x)/2,(t.y+e.y)/2,e.x,e.y)},findbbox:function(t){let e=kp,n=kp,i=wp,r=wp;return t.forEach((function(t){const o=t.bbox();e>o.x.min&&(e=o.x.min),n>o.y.min&&(n=o.y.min),i<o.x.max&&(i=o.x.max),r<o.y.max&&(r=o.y.max)})),{x:{min:e,mid:(e+i)/2,max:i,size:i-e},y:{min:n,mid:(n+r)/2,max:r,size:r-n}}},shapeintersections:function(t,e,n,i,r){if(!_p.bboxoverlap(e,i))return[];const o=[],s=[t.startcap,t.forward,t.back,t.endcap],a=[n.startcap,n.forward,n.back,n.endcap];return s.forEach((function(e){e.virtual||a.forEach((function(i){if(i.virtual)return;const s=e.intersects(i,r);s.length>0&&(s.c1=e,s.c2=i,s.s1=t,s.s2=n,o.push(s))}))})),o},makeshape:function(t,e,n){const i=e.points.length,r=t.points.length,o=_p.makeline(e.points[i-1],t.points[0]),s=_p.makeline(t.points[r-1],e.points[0]),a={startcap:o,forward:t,back:e,endcap:s,bbox:_p.findbbox([o,t,e,s]),intersections:function(t){return _p.shapeintersections(a,a.bbox,t,t.bbox,n)}};return a},getminmax:function(t,e,n){if(!n)return{min:0,max:0};let i,r,o=kp,s=wp;-1===n.indexOf(0)&&(n=[0].concat(n)),-1===n.indexOf(1)&&n.push(1);for(let a=0,l=n.length;a<l;a++)i=n[a],r=t.get(i),r[e]<o&&(o=r[e]),r[e]>s&&(s=r[e]);return{min:o,mid:(o+s)/2,max:s,size:s-o}},align:function(t,e){const n=e.p1.x,i=e.p1.y,r=-fp(e.p2.y-i,e.p2.x-n);return t.map((function(t){return{x:(t.x-n)*up(r)-(t.y-i)*dp(r),y:(t.x-n)*dp(r)+(t.y-i)*up(r)}}))},roots:function(t,e){e=e||{p1:{x:0,y:0},p2:{x:1,y:0}};const n=t.length-1,i=_p.align(t,e),r=function(t){return 0<=t&&t<=1};if(2===n){const t=i[0].y,e=i[1].y,n=i[2].y,o=t-2*e+n;if(0!==o){const i=-pp(e*e-t*n),s=-t+e;return[-(i+s)/o,-(-i+s)/o].filter(r)}return e!==n&&0===o?[(2*e-n)/(2*e-2*n)].filter(r):[]}const o=i[0].y,s=i[1].y,a=i[2].y;let l=3*s-o-3*a+i[3].y,c=3*o-6*s+3*a,u=-3*o+3*s,d=o;if(_p.approximately(l,0)){if(_p.approximately(c,0))return _p.approximately(u,0)?[]:[-d/u].filter(r);const t=pp(u*u-4*c*d),e=2*c;return[(t-u)/e,(-u-t)/e].filter(r)}c/=l,u/=l,d/=l;const h=(3*u-c*c)/3,f=h/3,p=(2*c*c*c-9*c*u+27*d)/27,m=p/2,v=m*m+f*f*f;let g,y,b,k,w;if(v<0){const t=-h/3,e=pp(t*t*t),n=-p/(2*e),i=hp(n<-1?-1:n>1?1:n),o=2*vp(e);return b=o*up(i/3)-c/3,k=o*up((i+yp)/3)-c/3,w=o*up((i+2*yp)/3)-c/3,[b,k,w].filter(r)}if(0===v)return g=m<0?vp(-m):-vp(m),b=2*g-c/3,k=-g-c/3,[b,k].filter(r);{const t=pp(v);return g=vp(-m+t),y=vp(m+t),[g-y-c/3].filter(r)}},droots:function(t){if(3===t.length){const e=t[0],n=t[1],i=t[2],r=e-2*n+i;if(0!==r){const t=-pp(n*n-e*i),o=-e+n;return[-(t+o)/r,-(-t+o)/r]}return n!==i&&0===r?[(2*n-i)/(2*(n-i))]:[]}if(2===t.length){const e=t[0],n=t[1];return e!==n?[e/(e-n)]:[]}return[]},curvature:function(t,e,n,i,r){let o,s,a,l,c=0,u=0;const d=_p.compute(t,e),h=_p.compute(t,n),f=d.x*d.x+d.y*d.y;if(i?(o=pp(mp(d.y*h.z-h.y*d.z,2)+mp(d.z*h.x-h.z*d.x,2)+mp(d.x*h.y-h.x*d.y,2)),s=mp(f+d.z*d.z,1.5)):(o=d.x*h.y-d.y*h.x,s=mp(f,1.5)),0===o||0===s)return{k:0,r:0};if(c=o/s,u=s/o,!r){const r=_p.curvature(t-.001,e,n,i,!0).k,o=_p.curvature(t+.001,e,n,i,!0).k;l=(o-c+(c-r))/2,a=(cp(o-c)+cp(c-r))/2}return{k:c,r:u,dk:l,adk:a}},inflections:function(t){if(t.length<4)return[];const e=_p.align(t,{p1:t[0],p2:t.slice(-1)[0]}),n=e[2].x*e[1].y,i=e[3].x*e[1].y,r=e[1].x*e[2].y,o=18*(-3*n+2*i+3*r-e[3].x*e[2].y),s=18*(3*n-i-3*r),a=18*(r-n);if(_p.approximately(o,0)){if(!_p.approximately(s,0)){let t=-a/s;if(0<=t&&t<=1)return[t]}return[]}const l=2*o;if(_p.approximately(l,0))return[];const c=s*s-4*o*a;if(c<0)return[];const u=Math.sqrt(c);return[(u-s)/l,-(s+u)/l].filter((function(t){return 0<=t&&t<=1}))},bboxoverlap:function(t,e){const n=["x","y"],i=n.length;for(let r,o,s,a,l=0;l<i;l++)if(r=n[l],o=t[r].mid,s=e[r].mid,a=(t[r].size+e[r].size)/2,cp(o-s)>=a)return!1;return!0},expandbox:function(t,e){e.x.min<t.x.min&&(t.x.min=e.x.min),e.y.min<t.y.min&&(t.y.min=e.y.min),e.z&&e.z.min<t.z.min&&(t.z.min=e.z.min),e.x.max>t.x.max&&(t.x.max=e.x.max),e.y.max>t.y.max&&(t.y.max=e.y.max),e.z&&e.z.max>t.z.max&&(t.z.max=e.z.max),t.x.mid=(t.x.min+t.x.max)/2,t.y.mid=(t.y.min+t.y.max)/2,t.z&&(t.z.mid=(t.z.min+t.z.max)/2),t.x.size=t.x.max-t.x.min,t.y.size=t.y.max-t.y.min,t.z&&(t.z.size=t.z.max-t.z.min)},pairiteration:function(t,e,n){const i=t.bbox(),r=e.bbox(),o=1e5,s=n||.5;if(i.x.size+i.y.size<s&&r.x.size+r.y.size<s)return[(o*(t._t1+t._t2)/2|0)/o+"/"+(o*(e._t1+e._t2)/2|0)/o];let a=t.split(.5),l=e.split(.5),c=[{left:a.left,right:l.left},{left:a.left,right:l.right},{left:a.right,right:l.right},{left:a.right,right:l.left}];c=c.filter((function(t){return _p.bboxoverlap(t.left.bbox(),t.right.bbox())}));let u=[];return 0===c.length||(c.forEach((function(t){u=u.concat(_p.pairiteration(t.left,t.right,s))})),u=u.filter((function(t,e){return u.indexOf(t)===e}))),u},getccenter:function(t,e,n){const i=e.x-t.x,r=e.y-t.y,o=n.x-e.x,s=n.y-e.y,a=i*up(bp)-r*dp(bp),l=i*dp(bp)+r*up(bp),c=o*up(bp)-s*dp(bp),u=o*dp(bp)+s*up(bp),d=(t.x+e.x)/2,h=(t.y+e.y)/2,f=(e.x+n.x)/2,p=(e.y+n.y)/2,m=d+a,v=h+l,g=f+c,y=p+u,b=_p.lli8(d,h,m,v,f,p,g,y),k=_p.dist(b,t);let w,x=fp(t.y-b.y,t.x-b.x),_=fp(e.y-b.y,e.x-b.x),I=fp(n.y-b.y,n.x-b.x);return x<I?((x>_||_>I)&&(x+=yp),x>I&&(w=I,I=x,x=w)):I<_&&_<x?(w=I,I=x,x=w):I+=yp,b.s=x,b.e=I,b.r=k,b},numberSort:function(t,e){return t-e}};class Ip{constructor(t){this.curves=[],this._3d=!1,t&&(this.curves=t,this._3d=this.curves[0]._3d)}valueOf(){return this.toString()}toString(){return"["+this.curves.map((function(t){return _p.pointsToString(t.points)})).join(", ")+"]"}addCurve(t){this.curves.push(t),this._3d=this._3d||t._3d}length(){return this.curves.map((function(t){return t.length()})).reduce((function(t,e){return t+e}))}curve(t){return this.curves[t]}bbox(){const t=this.curves;for(var e=t[0].bbox(),n=1;n<t.length;n++)_p.expandbox(e,t[n].bbox());return e}offset(t){const e=[];return this.curves.forEach((function(n){e.push(...n.offset(t))})),new Ip(e)}}const{abs:Tp,min:Ep,max:Sp,cos:Mp,sin:Ap,acos:Np,sqrt:Cp}=Math,Fp=Math.PI;let Op=class e{constructor(t){let e=t&&t.forEach?t:Array.from(arguments).slice(),n=!1;if("object"==typeof e[0]){n=e.length;const t=[];e.forEach((function(e){["x","y","z"].forEach((function(n){void 0!==e[n]&&t.push(e[n])}))})),e=t}let i=!1;const r=e.length;if(n){if(n>4){if(1!==arguments.length)throw new Error("Only new Bezier(point[]) is accepted for 4th and higher order curves");i=!0}}else if(6!==r&&8!==r&&9!==r&&12!==r&&1!==arguments.length)throw new Error("Only new Bezier(point[]) is accepted for 4th and higher order curves");const o=this._3d=!i&&(9===r||12===r)||t&&t[0]&&void 0!==t[0].z,s=this.points=[];for(let t=0,n=o?3:2;t<r;t+=n){var a={x:e[t],y:e[t+1]};o&&(a.z=e[t+2]),s.push(a)}const l=this.order=s.length-1,c=this.dims=["x","y"];o&&c.push("z"),this.dimlen=c.length;const u=_p.align(s,{p1:s[0],p2:s[l]}),d=_p.dist(s[0],s[l]);this._linear=u.reduce(((t,e)=>t+Tp(e.y)),0)<d/50,this._lut=[],this._t1=0,this._t2=1,this.update()}static quadraticFromPoints(t,n,i,r){if(void 0===r&&(r=.5),0===r)return new e(n,n,i);if(1===r)return new e(t,n,n);const o=e.getABC(2,t,n,i,r);return new e(t,o.A,i)}static cubicFromPoints(t,n,i,r,o){void 0===r&&(r=.5);const s=e.getABC(3,t,n,i,r);void 0===o&&(o=_p.dist(n,s.C));const a=o*(1-r)/r,l=_p.dist(t,i),c=(i.x-t.x)/l,u=(i.y-t.y)/l,d=o*c,h=o*u,f=a*c,p=a*u,m=n.x-d,v=n.y-h,g=n.x+f,y=n.y+p,b=s.A,k=b.x+(m-b.x)/(1-r),w=b.y+(v-b.y)/(1-r),x=b.x+(g-b.x)/r,_=b.y+(y-b.y)/r,I={x:t.x+(k-t.x)/r,y:t.y+(w-t.y)/r},T={x:i.x+(x-i.x)/(1-r),y:i.y+(_-i.y)/(1-r)};return new e(t,I,T,i)}static getUtils(){return _p}getUtils(){return e.getUtils()}static get PolyBezier(){return Ip}valueOf(){return this.toString()}toString(){return _p.pointsToString(this.points)}toSVG(){if(this._3d)return!1;const t=this.points,e=["M",t[0].x,t[0].y,2===this.order?"Q":"C"];for(let n=1,i=t.length;n<i;n++)e.push(t[n].x),e.push(t[n].y);return e.join(" ")}setRatios(t){if(t.length!==this.points.length)throw new Error("incorrect number of ratio values");this.ratios=t,this._lut=[]}verify(){const t=this.coordDigest();t!==this._print&&(this._print=t,this.update())}coordDigest(){return this.points.map((function(t,e){return""+e+t.x+t.y+(t.z?t.z:0)})).join("")}update(){this._lut=[],this.dpoints=_p.derive(this.points,this._3d),this.computedirection()}computedirection(){const t=this.points,e=_p.angle(t[0],t[this.order],t[1]);this.clockwise=e>0}length(){return _p.length(this.derivative.bind(this))}static getABC(t=2,e,n,i,r=.5){const o=_p.projectionratio(r,t),s=1-o,a={x:o*e.x+s*i.x,y:o*e.y+s*i.y},l=_p.abcratio(r,t);return{A:{x:n.x+(n.x-a.x)/l,y:n.y+(n.y-a.y)/l},B:n,C:a,S:e,E:i}}getABC(t,n){n=n||this.get(t);let i=this.points[0],r=this.points[this.order];return e.getABC(this.order,i,n,r,t)}getLUT(t){if(this.verify(),t=t||100,this._lut.length===t+1)return this._lut;this._lut=[],t++,this._lut=[];for(let e,n,i=0;i<t;i++)n=i/(t-1),e=this.compute(n),e.t=n,this._lut.push(e);return this._lut}on(e,n){n=n||5;const i=this.getLUT(),r=[];for(let t,o=0,s=0;o<i.length;o++)t=i[o],_p.dist(t,e)<n&&(r.push(t),s+=o/i.length);return!!r.length&&(t/=r.length)}project(t){const e=this.getLUT(),n=e.length-1,i=_p.closest(e,t),r=i.mpos,o=(r-1)/n,s=(r+1)/n,a=.1/n;let l,c=i.mdist,u=o,d=u;c+=1;for(let e;u<s+a;u+=a)l=this.compute(u),e=_p.dist(t,l),e<c&&(c=e,d=u);return d=d<0?0:d>1?1:d,l=this.compute(d),l.t=d,l.d=c,l}get(t){return this.compute(t)}point(t){return this.points[t]}compute(t){return this.ratios?_p.computeWithRatios(t,this.points,this.ratios,this._3d):_p.compute(t,this.points,this._3d,this.ratios)}raise(){const t=this.points,n=[t[0]],i=t.length;for(let e,r,o=1;o<i;o++)e=t[o],r=t[o-1],n[o]={x:(i-o)/i*e.x+o/i*r.x,y:(i-o)/i*e.y+o/i*r.y};return n[i]=t[i-1],new e(n)}derivative(t){return _p.compute(t,this.dpoints[0],this._3d)}dderivative(t){return _p.compute(t,this.dpoints[1],this._3d)}align(){let t=this.points;return new e(_p.align(t,{p1:t[0],p2:t[t.length-1]}))}curvature(t){return _p.curvature(t,this.dpoints[0],this.dpoints[1],this._3d)}inflections(){return _p.inflections(this.points)}normal(t){return this._3d?this.__normal3(t):this.__normal2(t)}__normal2(t){const e=this.derivative(t),n=Cp(e.x*e.x+e.y*e.y);return{t:t,x:-e.y/n,y:e.x/n}}__normal3(t){const e=this.derivative(t),n=this.derivative(t+.01),i=Cp(e.x*e.x+e.y*e.y+e.z*e.z),r=Cp(n.x*n.x+n.y*n.y+n.z*n.z);e.x/=i,e.y/=i,e.z/=i,n.x/=r,n.y/=r,n.z/=r;const o={x:n.y*e.z-n.z*e.y,y:n.z*e.x-n.x*e.z,z:n.x*e.y-n.y*e.x},s=Cp(o.x*o.x+o.y*o.y+o.z*o.z);o.x/=s,o.y/=s,o.z/=s;const a=[o.x*o.x,o.x*o.y-o.z,o.x*o.z+o.y,o.x*o.y+o.z,o.y*o.y,o.y*o.z-o.x,o.x*o.z-o.y,o.y*o.z+o.x,o.z*o.z];return{t:t,x:a[0]*e.x+a[1]*e.y+a[2]*e.z,y:a[3]*e.x+a[4]*e.y+a[5]*e.z,z:a[6]*e.x+a[7]*e.y+a[8]*e.z}}hull(t){let e=this.points,n=[],i=[],r=0;for(i[r++]=e[0],i[r++]=e[1],i[r++]=e[2],3===this.order&&(i[r++]=e[3]);e.length>1;){n=[];for(let o,s=0,a=e.length-1;s<a;s++)o=_p.lerp(t,e[s],e[s+1]),i[r++]=o,n.push(o);e=n}return i}split(t,n){if(0===t&&n)return this.split(n).left;if(1===n)return this.split(t).right;const i=this.hull(t),r={left:2===this.order?new e([i[0],i[3],i[5]]):new e([i[0],i[4],i[7],i[9]]),right:2===this.order?new e([i[5],i[4],i[2]]):new e([i[9],i[8],i[6],i[3]]),span:i};return r.left._t1=_p.map(0,0,1,this._t1,this._t2),r.left._t2=_p.map(t,0,1,this._t1,this._t2),r.right._t1=_p.map(t,0,1,this._t1,this._t2),r.right._t2=_p.map(1,0,1,this._t1,this._t2),n?(n=_p.map(n,t,1,0,1),r.right.split(n).left):r}extrema(){const t={};let e=[];return this.dims.forEach(function(n){let i=function(t){return t[n]},r=this.dpoints[0].map(i);t[n]=_p.droots(r),3===this.order&&(r=this.dpoints[1].map(i),t[n]=t[n].concat(_p.droots(r))),t[n]=t[n].filter((function(t){return t>=0&&t<=1})),e=e.concat(t[n].sort(_p.numberSort))}.bind(this)),t.values=e.sort(_p.numberSort).filter((function(t,n){return e.indexOf(t)===n})),t}bbox(){const t=this.extrema(),e={};return this.dims.forEach(function(n){e[n]=_p.getminmax(this,n,t[n])}.bind(this)),e}overlaps(t){const e=this.bbox(),n=t.bbox();return _p.bboxoverlap(e,n)}offset(t,n){if(void 0!==n){const e=this.get(t),i=this.normal(t),r={c:e,n:i,x:e.x+i.x*n,y:e.y+i.y*n};return this._3d&&(r.z=e.z+i.z*n),r}if(this._linear){const n=this.normal(0),i=this.points.map((function(e){const i={x:e.x+t*n.x,y:e.y+t*n.y};return e.z&&n.z&&(i.z=e.z+t*n.z),i}));return[new e(i)]}return this.reduce().map((function(e){return e._linear?e.offset(t)[0]:e.scale(t)}))}simple(){if(3===this.order){const t=_p.angle(this.points[0],this.points[3],this.points[1]),e=_p.angle(this.points[0],this.points[3],this.points[2]);if(t>0&&e<0||t<0&&e>0)return!1}const t=this.normal(0),e=this.normal(1);let n=t.x*e.x+t.y*e.y;return this._3d&&(n+=t.z*e.z),Tp(Np(n))<Fp/3}reduce(){let t,e,n=0,i=0,r=.01,o=[],s=[],a=this.extrema().values;for(-1===a.indexOf(0)&&(a=[0].concat(a)),-1===a.indexOf(1)&&a.push(1),n=a[0],t=1;t<a.length;t++)i=a[t],e=this.split(n,i),e._t1=n,e._t2=i,o.push(e),n=i;return o.forEach((function(t){for(n=0,i=0;i<=1;)for(i=n+r;i<=1.01;i+=r)if(e=t.split(n,i),!e.simple()){if(i-=r,Tp(n-i)<r)return[];e=t.split(n,i),e._t1=_p.map(n,0,1,t._t1,t._t2),e._t2=_p.map(i,0,1,t._t1,t._t2),s.push(e),n=i;break}n<1&&(e=t.split(n,1),e._t1=_p.map(n,0,1,t._t1,t._t2),e._t2=t._t2,s.push(e))})),s}translate(t,n,i){i="number"==typeof i?i:n;const r=this.order;let o=this.points.map(((t,e)=>(1-e/r)*n+e/r*i));return new e(this.points.map(((e,n)=>({x:e.x+t.x*o[n],y:e.y+t.y*o[n]}))))}scale(t){const n=this.order;let i=!1;if("function"==typeof t&&(i=t),i&&2===n)return this.raise().scale(i);const r=this.clockwise,o=this.points;if(this._linear)return this.translate(this.normal(0),i?i(0):t,i?i(1):t);const s=i?i(0):t,a=i?i(1):t,l=[this.offset(0,10),this.offset(1,10)],c=[],u=_p.lli4(l[0],l[0].c,l[1],l[1].c);if(!u)throw new Error("cannot scale this curve. Try reducing it first.");return[0,1].forEach((function(t){const e=c[t*n]=_p.copy(o[t*n]);e.x+=(t?a:s)*l[t].n.x,e.y+=(t?a:s)*l[t].n.y})),i?([0,1].forEach((function(e){if(2!==n||!e){var s=o[e+1],a={x:s.x-u.x,y:s.y-u.y},l=i?i((e+1)/n):t;i&&!r&&(l=-l);var d=Cp(a.x*a.x+a.y*a.y);a.x/=d,a.y/=d,c[e+1]={x:s.x+l*a.x,y:s.y+l*a.y}}})),new e(c)):([0,1].forEach((t=>{if(2===n&&t)return;const e=c[t*n],i=this.derivative(t),r={x:e.x+i.x,y:e.y+i.y};c[t+1]=_p.lli4(e,r,u,o[t+1])})),new e(c))}outline(t,n,i,r){if(n=void 0===n?t:n,this._linear){const o=this.normal(0),s=this.points[0],a=this.points[this.points.length-1];let l,c,u;void 0===i&&(i=t,r=n),l={x:s.x+o.x*t,y:s.y+o.y*t},u={x:a.x+o.x*i,y:a.y+o.y*i},c={x:(l.x+u.x)/2,y:(l.y+u.y)/2};const d=[l,c,u];l={x:s.x-o.x*n,y:s.y-o.y*n},u={x:a.x-o.x*r,y:a.y-o.y*r},c={x:(l.x+u.x)/2,y:(l.y+u.y)/2};const h=[u,c,l],f=_p.makeline(h[2],d[0]),p=_p.makeline(d[2],h[0]),m=[f,new e(d),p,new e(h)];return new Ip(m)}const o=this.reduce(),s=o.length,a=[];let l,c=[],u=0,d=this.length();const h=void 0!==i&&void 0!==r;function f(t,e,n,i,r){return function(o){const s=i/n,a=(i+r)/n,l=e-t;return _p.map(o,0,1,t+s*l,t+a*l)}}o.forEach((function(e){const o=e.length();h?(a.push(e.scale(f(t,i,d,u,o))),c.push(e.scale(f(-n,-r,d,u,o)))):(a.push(e.scale(t)),c.push(e.scale(-n))),u+=o})),c=c.map((function(t){return l=t.points,l[3]?t.points=[l[3],l[2],l[1],l[0]]:t.points=[l[2],l[1],l[0]],t})).reverse();const p=a[0].points[0],m=a[s-1].points[a[s-1].points.length-1],v=c[s-1].points[c[s-1].points.length-1],g=c[0].points[0],y=_p.makeline(v,p),b=_p.makeline(m,g),k=[y].concat(a).concat([b]).concat(c);return new Ip(k)}outlineshapes(t,e,n){e=e||t;const i=this.outline(t,e).curves,r=[];for(let t=1,e=i.length;t<e/2;t++){const o=_p.makeshape(i[t],i[e-t],n);o.startcap.virtual=t>1,o.endcap.virtual=t<e/2-1,r.push(o)}return r}intersects(t,n){return t?t.p1&&t.p2?this.lineIntersects(t):(t instanceof e&&(t=t.reduce()),this.curveintersects(this.reduce(),t,n)):this.selfintersects(n)}lineIntersects(t){const e=Ep(t.p1.x,t.p2.x),n=Ep(t.p1.y,t.p2.y),i=Sp(t.p1.x,t.p2.x),r=Sp(t.p1.y,t.p2.y);return _p.roots(this.points,t).filter((t=>{var o=this.get(t);return _p.between(o.x,e,i)&&_p.between(o.y,n,r)}))}selfintersects(t){const e=this.reduce(),n=e.length-2,i=[];for(let r,o,s,a=0;a<n;a++)o=e.slice(a,a+1),s=e.slice(a+2),r=this.curveintersects(o,s,t),i.push(...r);return i}curveintersects(t,e,n){const i=[];t.forEach((function(t){e.forEach((function(e){t.overlaps(e)&&i.push({left:t,right:e})}))}));let r=[];return i.forEach((function(t){const e=_p.pairiteration(t.left,t.right,n);e.length>0&&(r=r.concat(e))})),r}arcs(t){return t=t||.5,this._iterate(t,[])}_error(t,e,n,i){const r=(i-n)/4,o=this.get(n+r),s=this.get(i-r),a=_p.dist(t,e),l=_p.dist(t,o),c=_p.dist(t,s);return Tp(l-a)+Tp(c-a)}_iterate(t,e){let n,i=0,r=1;do{n=0,r=1;let o,s,a,l,c,u=this.get(i),d=!1,h=!1,f=r,p=1;do{if(h=d,l=a,f=(i+r)/2,o=this.get(f),s=this.get(r),a=_p.getccenter(u,o,s),a.interval={start:i,end:r},d=this._error(a,u,i,r)<=t,c=h&&!d,c||(p=r),d){if(r>=1){if(a.interval.end=p=1,l=a,r>1){let t={x:a.x+a.r*Mp(a.e),y:a.y+a.r*Ap(a.e)};a.e+=_p.angle({x:a.x,y:a.y},t,this.get(1))}break}r+=(r-i)/2}else r=f}while(!c&&n++<100);if(n>=100)break;l=l||a,e.push(l),i=p}while(r<1);return e}};var Pp={pointsToCurve:function(t,e){let n=1/e;if(0===t.length){let t=[];for(let i=0;i<e;i++){let e=i*n;t.push({x:e,y:.5})}return t}if(1===t.length){let i=t[0].y,r=[{x:0,y:i}];for(let t=0;t<e;t++){let e=t*n+n;r.push({x:e,y:i})}return r}let i=[],r=t[0],o=t[t.length-1],s=new Op({x:o.x-1,y:o.y},{x:o.x-1+(r.x-(o.x-1))/2,y:o.y},{x:r.x-(r.x-(o.x-1))/2,y:r.y},r),a=new Op(o,{x:o.x+(r.x+1-o.x)/2,y:o.y},{x:r.x+1-(r.x+1-o.x)/2,y:r.y},{x:r.x+1,y:r.y});for(let e=0;e<t.length-1;e++){let n=t[e],r=t[e+1],o={x:n.x+(r.x-n.x)/2,y:n.y},s={x:r.x-(r.x-n.x)/2,y:r.y},a=new Op(n,o,s,r);i.push(a)}i.unshift(s),i.push(a);let l=[s.get(s.intersects({p1:{x:0,y:0},p2:{x:0,y:1}})[0])];for(let t=0;t<e;t++){let e,r=t*n+n;i.every((t=>{let n=t.intersects({p1:{x:r,y:0},p2:{x:r,y:1}});return!(n.length>0&&(e=t.get(n[0]),l.push(e),1))}))}return l}};class Rp{constructor(t,e){this.xs=t,this.ys=e,this.ks=this.getNaturalKs(new Float64Array(this.xs.length))}getNaturalKs(t){const e=this.xs.length-1,n=function(t,e){const n=[];for(let i=0;i<t;i++)n.push(new Float64Array(e));return n}(e+1,e+2);for(let t=1;t<e;t++)n[t][t-1]=1/(this.xs[t]-this.xs[t-1]),n[t][t]=2*(1/(this.xs[t]-this.xs[t-1])+1/(this.xs[t+1]-this.xs[t])),n[t][t+1]=1/(this.xs[t+1]-this.xs[t]),n[t][e+1]=3*((this.ys[t]-this.ys[t-1])/((this.xs[t]-this.xs[t-1])*(this.xs[t]-this.xs[t-1]))+(this.ys[t+1]-this.ys[t])/((this.xs[t+1]-this.xs[t])*(this.xs[t+1]-this.xs[t])));return n[0][0]=2/(this.xs[1]-this.xs[0]),n[0][1]=1/(this.xs[1]-this.xs[0]),n[0][e+1]=3*(this.ys[1]-this.ys[0])/((this.xs[1]-this.xs[0])*(this.xs[1]-this.xs[0])),n[e][e-1]=1/(this.xs[e]-this.xs[e-1]),n[e][e]=2/(this.xs[e]-this.xs[e-1]),n[e][e+1]=3*(this.ys[e]-this.ys[e-1])/((this.xs[e]-this.xs[e-1])*(this.xs[e]-this.xs[e-1])),function(t,e){const n=t.length;let i=0,r=0;for(;i<n&&r<=n;){let e=0,o=-1/0;for(let s=i;s<n;s++){const n=Math.abs(t[s][r]);n>o&&(e=s,o=n)}if(0===t[e][r])r++;else{Dp(t,i,e);for(let e=i+1;e<n;e++){const o=t[e][r]/t[i][r];t[e][r]=0;for(let s=r+1;s<=n;s++)t[e][s]-=t[i][s]*o}i++,r++}}for(let i=n-1;i>=0;i--){var o=0;t[i][i]&&(o=t[i][n]/t[i][i]),e[i]=o;for(let e=i-1;e>=0;e--)t[e][n]-=t[e][i]*o,t[e][i]=0}return e}(n,t)}getIndexBefore(t){let e=0,n=this.xs.length,i=0;for(;e<n;)i=Math.floor((e+n)/2),this.xs[i]<t&&i!==e?e=i:n=this.xs[i]>=t&&i!==n?i:e;return e===this.xs.length-1?this.xs.length-1:e+1}at(t){let e=this.getIndexBefore(t);const n=(t-this.xs[e-1])/(this.xs[e]-this.xs[e-1]),i=this.ks[e-1]*(this.xs[e]-this.xs[e-1])-(this.ys[e]-this.ys[e-1]),r=-this.ks[e]*(this.xs[e]-this.xs[e-1])+(this.ys[e]-this.ys[e-1]);return(1-n)*this.ys[e-1]+n*this.ys[e]+n*(1-n)*(i*(1-n)+r*n)}}function Dp(t,e,n){let i=t[e];t[e]=t[n],t[n]=i}function Bp(t,e,n){const i=n[0],r=n[n.length-1];if(t<i.x)return i.y;if(t>r.x)return r.y;const o=e.at(t);return Math.max(0,Math.min(o,1))}var Lp={pointsToCurve:function(t,e){if(!Array.isArray(t)||!t.every((t=>"object"==typeof t&&"number"==typeof t.x&&"number"==typeof t.y&&t.x>=0&&t.x<=1&&t.y>=0&&t.y<=1)))throw new Error("[pointsToCurve] Invalid points. Expected array of objects with x and y in [0, 1] range.");if(!("number"==typeof e&&e>=1))throw new Error(`[pointsToCurve] Invalid resolution: ${e}. Expected integer >= 1.`);const n=t.map((t=>t.x)),i=t.map((t=>t.y)),r=new Rp(n,i);let o=[];for(let n=0;n<e;n++)o.push(Bp(n/(e-1),r,t));return o}};function zp(t,e=256,n={}){return"bezier"===n.type?Pp.pointsToCurve(t,e,n):Lp.pointsToCurve(t,e)}const Wp=[];for(let t=0;t<256;t++)Wp[t]=t;class jp extends Gf{constructor(t){const e={vertex:ap,fragment:lp},n={uniforms:Gf.getUniformInfo(jp)};super(jp.getFilterType(),e,n,t)}static getFilterType(){return"curves"}static getInputsCount(){return 1}static getInitialOptions(){return{}}getOptionsDisplay(){return[]}handleStaticUniforms(t){let e=[];var n;e=[...t.master||t.points||t.masterPoints?t.master||(n=t.points||t.masterPoints,zp(n,256).map((t=>255*t))):Wp],this.uniforms[zf.STATIC_OPTIONS].set(e)}}function $p(t,e,n){if("number"!=typeof t||t<0||t>255)throw new Error(`[levels] Invalid black point: ${t}. Expected integer between 0 and 255`);if("number"!=typeof e||e<0||e>255)throw new Error(`[levels] Invalid white point: ${e}. Expected integer between 0 and 255`);if("number"!=typeof n||n<.01||n>9.99)throw new Error(`[levels] Invalid gamma: ${n}. Expected float between 0.01 and 9.99`);if(t>e)throw new Error(`[levels] Invalid black and white points: ${t}, ${e}. Expected black <= white`);let i=[];for(let r=0;r<256;r++){let o;o=r<=t?0:r>=e?255:255*Math.pow((r-t)/(e-t),1/n),i[r]=o}return i}class Up extends Gf{constructor(t){const e={vertex:ap,fragment:lp},n={uniforms:Gf.getUniformInfo(Up)};super(Up.getFilterType(),e,n,t)}static getFilterType(){return"levels"}static getInputsCount(){return 1}static getInitialOptions(){return{}}getOptionsDisplay(){return[]}handleStaticUniforms(t){let e=[...$p(t.black,t.white,t.gamma)];this.uniforms[zf.STATIC_OPTIONS].set(e)}}const qp=360,Vp=[];for(let t=0;t<qp;t++)Vp[t]=t;class Gp extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(Gp)};super(Gp.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n\n current_texture_coordinate_2d = texture_coordinate_2d;\n}\n",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nvarying vec2 current_texture_coordinate_2d;\n\n// a 360 length array with values for the hue curve\n// this represents a lookup table from a hue value to another hue value\nuniform float staticOptions[360];\n\n// implementation of round (doesn't exist in webgl)\nint round(float val){\n return int(floor(val + 0.5));\n}\n\n// glsl mod doesn't work with negative numbers so\n// this is a safer version that lets us play with negatives > -1.0\nfloat safeMod(float val){\n return mod(val + 1.0, 1.0);\n}\n\n// no dynamic array indexes in webgl\n// see https://stackoverflow.com/questions/30585265/what-can-i-use-as-an-array-index-in-glsl-in-webgl\nfloat getCurveValue(float pixelValue){\n float v;\n for (int k = 0; k < 360; k++) {\n if (k == round(pixelValue * 359.0)){\n v = float(staticOptions[k]) / 359.0;\n }\n }\n return v;\n}\n\n// function source https://www.shadertoy.com/view/4dKcWK\nconst float EPSILON = 1e-10;\n\nvec3 HUEtoRGB(in float hue) {\n // Hue [0..1] to RGB [0..1]\n // See http://www.chilliant.com/rgb2hsv.html\n vec3 rgb = abs(hue * 6. - vec3(3, 2, 4)) * vec3(1, -1, -1) + vec3(-1, 2, 2);\n return clamp(rgb, 0., 1.);\n}\n\nvec3 RGBtoHCV(in vec3 rgb) {\n // RGB [0..1] to Hue-Chroma-Value [0..1]\n // Based on work by Sam Hocevar and Emil Persson\n vec4 p = (rgb.g < rgb.b) ? vec4(rgb.bg, -1., 2. / 3.) : vec4(rgb.gb, 0., -1. / 3.);\n vec4 q = (rgb.r < p.x) ? vec4(p.xyw, rgb.r) : vec4(rgb.r, p.yzx);\n float c = q.x - min(q.w, q.y);\n float h = abs((q.w - q.y) / (6. * c + EPSILON) + q.z);\n return vec3(h, c, q.x);\n}\n\nvec3 HSVtoRGB(in vec3 hsv) {\n // Hue-Saturation-Value [0..1] to RGB [0..1]\n vec3 rgb = HUEtoRGB(hsv.x);\n return ((rgb - 1.) * hsv.y + 1.) * hsv.z;\n}\n\nvec3 HSLtoRGB(in vec3 hsl) {\n // Hue-Saturation-Lightness [0..1] to RGB [0..1]\n vec3 rgb = HUEtoRGB(hsl.x);\n float c = (1. - abs(2. * hsl.z - 1.)) * hsl.y;\n return (rgb - 0.5) * c + hsl.z;\n}\n\nvec3 RGBtoHSV(in vec3 rgb) {\n // RGB [0..1] to Hue-Saturation-Value [0..1]\n vec3 hcv = RGBtoHCV(rgb);\n float s = hcv.y / (hcv.z + EPSILON);\n return vec3(hcv.x, s, hcv.z);\n}\n\nvec3 RGBtoHSL(in vec3 rgb) {\n // RGB [0..1] to Hue-Saturation-Lightness [0..1]\n vec3 hcv = RGBtoHCV(rgb);\n float z = hcv.z - hcv.y * 0.5;\n float s = hcv.y / (1. - abs(z * 2. - 1.) + EPSILON);\n return vec3(hcv.x, s, z);\n}\n\nvoid main() {\n vec4 textureColor = texture2D(first_texture, current_texture_coordinate_2d);\n vec3 inHSL = RGBtoHSL(textureColor.rgb);\n // in the UI hue 0 is cyan and 180 is red\n float shiftedHue = getCurveValue(mod(inHSL.x + 0.5, 1.0));\n vec3 inRGB = HSLtoRGB(vec3(shiftedHue, inHSL.y, inHSL.z));\n\n vec4 finalColor = vec4(inRGB, textureColor.a);\n\n // During the rgb-to-hsl-to-rgb conversion total whites gets clipped on OSX for some reason\n // make sure to retain absolute white (since it has no chroma component)\n if (textureColor.r == 1.0 && textureColor.g == 1.0 && textureColor.b == 1.0){\n finalColor.rgb = vec3(1.0, 1.0, 1.0);\n }\n\n gl_FragColor = finalColor;\n}\n"},e,t)}static getFilterType(){return"hue"}static getInputsCount(){return 1}static getInitialOptions(){return{}}getOptionsDisplay(){return[]}handleStaticUniforms(t){let e=t.points&&function(t){return zp(t,qp,{type:"bezier"}).map((t=>{return e=t,((Math.round(e.x*qp)+180)%qp+(1-e.y-.5)*qp+qp)%qp;var e}))}(t.points)||Vp;this.uniforms[zf.STATIC_OPTIONS].set(e)}}class Hp extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(Hp)};super(Hp.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n\n current_texture_coordinate_2d = texture_coordinate_2d;\n}\n",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nvarying vec2 current_texture_coordinate_2d;\nuniform float staticOptions[2];\n\n//CIE L*a*b* (CIELAB, L* for lightness, a* from green to red, b* from blue to yellow)\n//Source: https://gist.github.com/mattatz/44f081cac87e2f7c8980 (HLSL)\nvec3 rgb2xyz(vec3 c){\n vec3 tmp=vec3(\n (c.r>.04045)?pow((c.r+.055)/1.055,2.4):c.r/12.92,\n (c.g>.04045)?pow((c.g+.055)/1.055,2.4):c.g/12.92,\n (c.b>.04045)?pow((c.b+.055)/1.055,2.4):c.b/12.92\n );\n mat3 mat=mat3(\n .4124,.3576,.1805,\n .2126,.7152,.0722,\n .0193,.1192,.9505\n );\n return 100.*(tmp*mat);\n}\nvec3 xyz2lab(vec3 c){\n vec3 n=c/vec3(95.047,100.,108.883),\n v=vec3(\n (n.x>.008856)?pow(n.x,1./3.):(7.787*n.x)+(16./116.),\n (n.y>.008856)?pow(n.y,1./3.):(7.787*n.y)+(16./116.),\n (n.z>.008856)?pow(n.z,1./3.):(7.787*n.z)+(16./116.)\n );\n return vec3((116.*v.y)-16.,500.*(v.x-v.y),200.*(v.y-v.z));\n}\nvec3 rgb2lab(vec3 c){\n vec3 lab=xyz2lab(rgb2xyz(c));\n return vec3(lab.x/100.,.5+.5*(lab.y/127.),.5+.5*(lab.z/127.));\n}\nvec3 lab2xyz(vec3 c){\n float fy=(c.x+16.)/116.,\n fx=c.y/500.+fy,\n fz=fy-c.z/200.;\n return vec3(\n 95.047*((fx>.206897)?fx*fx*fx:(fx-16./116.)/7.787),\n 100. *((fy>.206897)?fy*fy*fy:(fy-16./116.)/7.787),\n 108.883*((fz>.206897)?fz*fz*fz:(fz-16./116.)/7.787)\n );\n}\nvec3 xyz2rgb(vec3 c){\n mat3 mat=mat3(\n 3.2406,-1.5372,-.4986,\n -.9689, 1.8758, .0415,\n .0557, -.2040,1.0570\n );\n vec3 v=(c/100.0)*mat,\n r=vec3(\n (v.r>.0031308)?((1.055*pow(v.r,(1./2.4)))-.055):12.92*v.r,\n (v.g>.0031308)?((1.055*pow(v.g,(1./2.4)))-.055):12.92*v.g,\n (v.b>.0031308)?((1.055*pow(v.b,(1./2.4)))-.055):12.92*v.b\n );\n return r;\n}\nvec3 lab2rgb(vec3 c){return xyz2rgb(lab2xyz(vec3(100.*c.x,2.*127.*(c.y-.5),2.*127.*(c.z-.5))));}\n\n\nfloat handleMix(float x){\n return pow(x * 2.0 - 1.0, 2.0);\n}\n\nvoid main() {\n vec3 inColor = texture2D(first_texture, current_texture_coordinate_2d).rgb;\n// inColor = vec3(148.0 / 255.0, 99.0 / 255.0, 95.0 / 255.0); // debug\n\n vec3 inLab = rgb2lab(inColor);\n vec3 inRGB ;\n\n// vec2 tempTint = vec2(staticOptions[1], -staticOptions[0]);\n\n// inLab.yz += (tempTint.xy); // * 0.3; // damping of effect\n\n // lab range is 0 to 1, input is -128 to 127\n // lab chromacity zero is 0.5, 0.5 so convert between the ranges\n // y is a, z is b\n inLab.y -= (-staticOptions[1] + 128.0) / 255.0 - 0.5;\n inLab.z -= (staticOptions[0] + 128.0) / 255.0 - 0.5;\n\n inRGB = lab2rgb(inLab);\n\n\n // vec3 mixed = mix(inRGB, inColor, handleMix(inLab.x)); // mid tones\n // vec3 mixed = mix(inRGB, inColor, inLab.x); // only high tones\n vec3 mixed = mix(inRGB, inColor, 0.0); // no mix\n\n gl_FragColor = vec4(mixed,1.0);\n}\n"},e,t)}static getFilterType(){return"whiteBalance"}static getInputsCount(){return 1}static getInitialOptions(){return{}}getOptionsDisplay(){return[]}handleStaticUniforms(t){let e=t.temperature?t.temperature:0,n=t.tint?t.tint:0;this.uniforms[zf.STATIC_OPTIONS].set([e,n])}}class Kp extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(Kp)};super(Kp.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n\n current_texture_coordinate_2d = texture_coordinate_2d;\n}\n",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nvarying vec2 current_texture_coordinate_2d;\nuniform float staticOptions[4];\n\n// algorithm from here\n// https://github.com/CeeJayDK/SweetFX/blob/master/Shaders/Vibrance.fx\n\nvoid main() {\n float percentAmount = staticOptions[0];\n float redBalance = staticOptions[1];\n float greenBalance = staticOptions[2];\n float blueBalance = staticOptions[3];\n\n vec3 color = texture2D(first_texture, current_texture_coordinate_2d).rgb;\n vec3 coefLuma = vec3(0.212656, 0.715158, 0.072186);\n\n float luma = dot(coefLuma, color);\n\n float max_color = max(color.r, max(color.g, color.b)); // Find the strongest color\n float min_color = min(color.r, min(color.g, color.b)); // Find the weakest color\n\n float color_saturation = max_color - min_color; // The difference between the two is the saturation\n\n // Extrapolate between luma and original by 1 + (1-saturation) - current\n vec3 coeffVibrance = vec3(redBalance, greenBalance, blueBalance) * percentAmount;\n\n color.r = mix(luma, color.r, 1.0 + (coeffVibrance.r * (1.0 - (sign(coeffVibrance.r) * color_saturation))));\n color.g = mix(luma, color.g, 1.0 + (coeffVibrance.g * (1.0 - (sign(coeffVibrance.g) * color_saturation))));\n color.b = mix(luma, color.b, 1.0 + (coeffVibrance.b * (1.0 - (sign(coeffVibrance.b) * color_saturation))));\n\n\n gl_FragColor = vec4(color, 1.0);\n\n}\n"},e,t)}static getFilterType(){return"vibrance"}static getInputsCount(){return 1}static getInitialOptions(){return{}}getOptionsDisplay(){return[]}handleStaticUniforms(t){let e=t.amount?t.amount/100*2:0,n=null===t.redBalance?1:t.redBalance,i=null===t.greenBalance?1:t.greenBalance,r=null===t.blueBalance?1:t.blueBalance;this.uniforms[zf.STATIC_OPTIONS].set([e,n,i,r])}}class Xp extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(Xp)};super(Xp.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n\n current_texture_coordinate_2d = texture_coordinate_2d;\n}\n",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nvarying vec2 current_texture_coordinate_2d;\nuniform float staticOptions[1];\n\n// algorithm from here\n// https://github.com/minus34/cesium1/blob/master/Cesium/Shaders/Builtin/Functions/saturation.glsl\n\n/**\n * Adjusts the saturation of a color.\n *\n * @name czm_saturation\n * @glslFunction\n *\n * @param {vec3} rgb The color.\n * @param {float} adjustment The amount to adjust the saturation of the color.\n *\n * @returns {float} The color with the saturation adjusted.\n *\n * @example\n * vec3 greyScale = czm_saturation(color, 0.0);\n * vec3 doubleSaturation = czm_saturation(color, 2.0);\n */\nvec3 czm_saturation(vec3 rgb, float adjustment)\n{\n // Algorithm from Chapter 16 of OpenGL Shading Language\n const vec3 W = vec3(0.2125, 0.7154, 0.0721);\n vec3 intensity = vec3(dot(rgb, W));\n return mix(intensity, rgb, adjustment);\n}\n\n\nvoid main() {\n float amount = staticOptions[0];\n vec3 color = texture2D(first_texture, current_texture_coordinate_2d).rgb;\n gl_FragColor = vec4(czm_saturation(color, amount), 1.0);\n}\n"},e,t)}static getFilterType(){return"saturation"}static getInputsCount(){return 1}static getInitialOptions(){return{}}getOptionsDisplay(){return[]}handleStaticUniforms(t){let e=null===t.amount?1:t.amount;this.uniforms[zf.STATIC_OPTIONS].set([e])}}class Yp extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(Yp)};super(Yp.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n\n current_texture_coordinate_2d = texture_coordinate_2d;\n current_position_coordinate_2d = normalize_poistion.xy;\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\n\nuniform float staticOptions[12];\nuniform float runtimeOptions[4];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\n\nfloat roundedBoxSDF(vec2 CenterPosition, vec2 Size, float Radius) {\n return length(max(abs(CenterPosition)-Size+Radius,0.0))-Radius;\n}\n\nvoid main() {\n vec2 srcAR = vec2(runtimeOptions[0]/runtimeOptions[1], 1.0);\n // custom aspect ratio (other than the default 1920/1080)\n // useful for example when doing crop on crop\n if (staticOptions[10] > 0.0) { //\n srcAR.x = staticOptions[10];\n }\n vec2 srcCenter = vec2(staticOptions[0], staticOptions[1]);\n vec2 srcDims = vec2(staticOptions[2], staticOptions[3]);\n vec2 srcTL = vec2(srcCenter.x - srcDims[0] / 2.0, srcCenter.y - srcDims[1] / 2.0); // top left point\n\n vec2 srcDims_AR = srcDims * srcAR;\n vec2 srcTL_AR = srcTL * srcAR;\n\n vec2 vpDims = vec2(runtimeOptions[2], runtimeOptions[3]);\n vec2 vpAR = vec2(vpDims[0]/vpDims[1], 1.0);\n\n vec2 tgtCenter = vec2(staticOptions[4], staticOptions[5]);\n vec2 tgtDims = vec2(staticOptions[6], staticOptions[7]);\n vec2 tgtTL = vec2(tgtCenter.x - tgtDims[0] / 2.0, tgtCenter.y - tgtDims[1] / 2.0);\n\n vec2 tgtDims_AR = tgtDims * vpAR;\n vec2 tgtTL_AR = tgtTL * vpAR;\n\n vec2 pos_AR = current_texture_coordinate_2d * vpAR;\n\n float ratioW = tgtDims_AR[0] / srcDims_AR[0];\n float ratioH = tgtDims_AR[1] / srcDims_AR[1];\n\n float ratio;\n\n // the type of crop fit. 0 - contain, 1 - fill, 3 - stretch\n float fitType = staticOptions[8];\n\n if (fitType == 0.0){\n ratio = ratioW > ratioH ? ratioW : ratioH;\n vec2 tgtDims_OLD_AR = tgtDims_AR;\n tgtDims_AR = srcDims_AR * ratio;\n tgtTL_AR = tgtTL_AR - (tgtDims_AR - tgtDims_OLD_AR) / 2.0;\n } else if (fitType == 1.0){\n ratio = ratioW < ratioH ? ratioW : ratioH;\n vec2 tgtDims_OLD_AR = tgtDims_AR;\n tgtDims_AR = srcDims_AR * ratio;\n tgtTL_AR = tgtTL_AR + (tgtDims_OLD_AR - tgtDims_AR) / 2.0;\n }\n\n vec2 final_pos_AR = (pos_AR - tgtTL_AR) / tgtDims_AR * srcDims_AR + srcTL_AR;\n\n // transform coords back from AR into 0 to 1 range\n vec2 pos = final_pos_AR / srcAR;\n\n // How soft the edges should be . Higher values could be used to simulate a drop shadow.\n float edgeSoftness = staticOptions[11];\n\n // The radius of the corners in pixels\n float radius = staticOptions[9];\n\n float tightDistance = roundedBoxSDF((current_texture_coordinate_2d - tgtCenter) , tgtDims_AR / vpAR / 2.0, 0.0);\n// float distance = roundedBoxSDF((current_texture_coordinate_2d - tgtCenter) * vpAR, tgtDims * vpAR / 2.0, 0.01);\n float distance = roundedBoxSDF((current_texture_coordinate_2d - tgtCenter) * vpDims, (tgtDims * vpDims) / 2.0, radius);\n\n // Smooth the result (free antialiasing).\n float smoothedAlpha = 1.0 - smoothstep(0.0, edgeSoftness * 2.0, distance);\n\n // Return the resultant shape.\n vec4 textureColor = texture2D(first_texture, pos);\n vec4 quadColor = vec4(textureColor.xyz, smoothedAlpha);\n\n // Apply a drop shadow effect.\n// float shadowSoftness = 0.0;\n// vec2 shadowOffset = vec2(0.0, 0.0);\n// float shadowDistance = roundedBoxSDF(pos + shadowOffset, tgtDims_AR / 2.0, radius);\n// float shadowAlpha = 1.0 - smoothstep(-shadowSoftness, shadowSoftness, shadowDistance);\n// vec4 shadowColor = vec4(0.4, 0.4, 0.4, 1.0);\n // gl_FragColor = mix(quadColor, shadowColor, shadowAlpha - smoothedAlpha);\n\n\n // pillarboxing\n if (tightDistance > 0.0 && distance <= 0.0){\n gl_FragColor = vec4(0, 0, 0, 1.0);\n } else {\n gl_FragColor = quadColor;\n }\n\n // debug\n // gl_FragColor = texture2D(first_texture, pos);\n\n}"},e,t)}static getFilterType(){return"crop"}static getInputsCount(){return 1}static getInitialOptions(){return{source:{center:{x:.5,y:.5},width:1,height:1},target:{center:{x:.5,y:.5},width:1,height:1},fitType:"fill",cornerRadius:10,edgeSoftness:0}}getOptionsDisplay(){return[]}static getUniformList(){return[zf.FIRST_TEXTURE,Df,Bf]}handleStaticUniforms(t){let e={...Yp.getInitialOptions(),...t};const n=Number.parseFloat(e.source.center.x).toFixed(5),i=Number.parseFloat(e.source.center.y).toFixed(5),r=Number.parseFloat(e.source.width).toFixed(5),o=Number.parseFloat(e.source.height).toFixed(5),s=Number.parseFloat(e.target.center.x).toFixed(5),a=Number.parseFloat(e.target.center.y).toFixed(5),l=Number.parseFloat(e.target.width).toFixed(5),c=Number.parseFloat(e.target.height).toFixed(5),u=Number.parseFloat(e.edgeSoftness).toFixed(5),d=e.source.aspectRatio?Number.parseFloat(e.source.aspectRatio).toFixed(5):0;let h;h="fill"===e.fitType?0:"contain"===e.fitType?1:2;const f=Number.parseFloat(e.cornerRadius).toFixed(5);this.uniforms[zf.STATIC_OPTIONS].set([n,i,r,o,s,a,l,c,h,f,d,u])}}class Qp extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(Qp)};super(Qp.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n\n current_texture_coordinate_2d = texture_coordinate_2d;\n current_position_coordinate_2d = normalize_poistion.xy;\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\n\nuniform float staticOptions[4];\nuniform float runtimeOptions[2];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\n\nvoid main() {\n // this is the the texture from the prev shader\n vec4 texture = texture2D(first_texture, current_texture_coordinate_2d);\n vec4 color = vec4(staticOptions[0], staticOptions[1], staticOptions[2], 1.0);\n vec4 blended = mix(texture, color, staticOptions[3]);\n gl_FragColor = blended;\n}"},e,t)}static getFilterType(){return"solid"}static getInputsCount(){return 1}static getInitialOptions(){return{color:{r:.33,g:.66,b:.99,a:1}}}getOptionsDisplay(){return[{properties:["color","r"],type:"slider",minValue:0,maxValue:1,step:.001},{properties:["color","g"],type:"slider",minValue:0,maxValue:1,step:.001},{properties:["color","b"],type:"slider",minValue:0,maxValue:1,step:.001}]}handleStaticUniforms(t){var e;const n=Number.parseFloat(t.color.r).toFixed(5),i=Number.parseFloat(t.color.g).toFixed(5),r=Number.parseFloat(t.color.b).toFixed(5),o=(null!==(e=Number.parseFloat(t.color.a))&&void 0!==e?e:1).toFixed(5);this.uniforms[zf.STATIC_OPTIONS].set([n,i,r,o])}}class Jp extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(Jp)};super(Jp.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n\n current_texture_coordinate_2d = texture_coordinate_2d;\n current_position_coordinate_2d = normalize_poistion.xy;\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\n\nuniform float runtimeOptions[1];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\n\nvoid main() {\n vec4 textureColor = texture2D(first_texture, current_texture_coordinate_2d);\n gl_FragColor = vec4(textureColor.rgb, 1.0);\n}\n"},e,t)}static getFilterType(){return"solidImage"}static getInputsCount(){return 1}static getInitialOptions(){return{}}getOptionsDisplay(){return[]}}class Zp extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(Zp)};super(Zp.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n vec4 normalize_position = vec4(position_3d.xyz, 1);\n gl_Position = normalize_position;\n\n current_texture_coordinate_2d = texture_coordinate_2d;\n}\n",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nvarying vec2 current_texture_coordinate_2d;\n\n//CIE L*a*b* (CIELAB, L* for lightness, a* from green to red, b* from blue to yellow)\n//Source: https://gist.github.com/mattatz/44f081cac87e2f7c8980 (HLSL)\nvec3 rgb2xyz(vec3 c){\n vec3 tmp=vec3(\n (c.r>.04045)?pow((c.r+.055)/1.055,2.4):c.r/12.92,\n (c.g>.04045)?pow((c.g+.055)/1.055,2.4):c.g/12.92,\n (c.b>.04045)?pow((c.b+.055)/1.055,2.4):c.b/12.92\n );\n mat3 mat=mat3(\n .4124,.3576,.1805,\n .2126,.7152,.0722,\n .0193,.1192,.9505\n );\n return 100.*(tmp*mat);\n}\nvec3 xyz2lab(vec3 c){\n vec3 n=c/vec3(95.047,100.,108.883),\n v=vec3(\n (n.x>.008856)?pow(n.x,1./3.):(7.787*n.x)+(16./116.),\n (n.y>.008856)?pow(n.y,1./3.):(7.787*n.y)+(16./116.),\n (n.z>.008856)?pow(n.z,1./3.):(7.787*n.z)+(16./116.)\n );\n return vec3((116.*v.y)-16.,500.*(v.x-v.y),200.*(v.y-v.z));\n}\nvec3 rgb2lab(vec3 c){\n vec3 lab=xyz2lab(rgb2xyz(c));\n return vec3(lab.x/100.,.5+.5*(lab.y/127.),.5+.5*(lab.z/127.));\n}\n\nvoid main() {\n vec3 inColor = texture2D(first_texture, current_texture_coordinate_2d).rgb;\n vec3 inLab = rgb2lab(inColor);\n gl_FragColor = vec4(inLab, 1.0);\n}\n"},e,t)}static getFilterType(){return"lab"}static getInputsCount(){return 1}static getInitialOptions(){return{}}getOptionsDisplay(){return[]}handleStaticUniforms(t){let e=t.temperature?t.temperature:0,n=t.tint?t.tint:0;this.uniforms[zf.STATIC_OPTIONS].set([e,n])}}class tm extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(tm)};super(tm.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n\n current_texture_coordinate_2d = texture_coordinate_2d;\n} ",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nvarying vec2 current_texture_coordinate_2d;\nuniform float staticOptions[1];\n\nvoid main() {\n float exposureStops = staticOptions[0];\n vec3 color = texture2D(first_texture, current_texture_coordinate_2d).rgb;\n \n // Convert exposure stops to multiplier: pow(2.0, stops)\n float multiplier = pow(2.0, exposureStops);\n \n // Apply exposure adjustment\n vec3 exposedColor = color * multiplier;\n \n gl_FragColor = vec4(exposedColor, 1.0);\n} "},e,t)}static getFilterType(){return"exposure"}static getInputsCount(){return 1}static getInitialOptions(){return{}}getOptionsDisplay(){return[]}handleStaticUniforms(t){let e=null===t.exposure?0:t.exposure;this.uniforms[zf.STATIC_OPTIONS].set([e])}}var em,nm,im,rm,om,sm,am,lm;function cm(){if(rm)return im;rm=1;const t=nm?em:(nm=1,em={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}),e={};for(const n of Object.keys(t))e[t[n]]=n;const n={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};im=n;for(const t of Object.keys(n)){if(!("channels"in n[t]))throw new Error("missing channels property: "+t);if(!("labels"in n[t]))throw new Error("missing channel labels property: "+t);if(n[t].labels.length!==n[t].channels)throw new Error("channel and label counts mismatch: "+t);const{channels:e,labels:i}=n[t];delete n[t].channels,delete n[t].labels,Object.defineProperty(n[t],"channels",{value:e}),Object.defineProperty(n[t],"labels",{value:i})}function i(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}return n.rgb.hsl=function(t){const e=t[0]/255,n=t[1]/255,i=t[2]/255,r=Math.min(e,n,i),o=Math.max(e,n,i),s=o-r;let a,l;o===r?a=0:e===o?a=(n-i)/s:n===o?a=2+(i-e)/s:i===o&&(a=4+(e-n)/s),a=Math.min(60*a,360),a<0&&(a+=360);const c=(r+o)/2;return l=o===r?0:c<=.5?s/(o+r):s/(2-o-r),[a,100*l,100*c]},n.rgb.hsv=function(t){let e,n,i,r,o;const s=t[0]/255,a=t[1]/255,l=t[2]/255,c=Math.max(s,a,l),u=c-Math.min(s,a,l),d=function(t){return(c-t)/6/u+.5};return 0===u?(r=0,o=0):(o=u/c,e=d(s),n=d(a),i=d(l),s===c?r=i-n:a===c?r=1/3+e-i:l===c&&(r=2/3+n-e),r<0?r+=1:r>1&&(r-=1)),[360*r,100*o,100*c]},n.rgb.hwb=function(t){const e=t[0],i=t[1];let r=t[2];const o=n.rgb.hsl(t)[0],s=1/255*Math.min(e,Math.min(i,r));return r=1-1/255*Math.max(e,Math.max(i,r)),[o,100*s,100*r]},n.rgb.cmyk=function(t){const e=t[0]/255,n=t[1]/255,i=t[2]/255,r=Math.min(1-e,1-n,1-i);return[100*((1-e-r)/(1-r)||0),100*((1-n-r)/(1-r)||0),100*((1-i-r)/(1-r)||0),100*r]},n.rgb.keyword=function(n){const r=e[n];if(r)return r;let o,s=1/0;for(const e of Object.keys(t)){const r=i(n,t[e]);r<s&&(s=r,o=e)}return o},n.keyword.rgb=function(e){return t[e]},n.rgb.xyz=function(t){let e=t[0]/255,n=t[1]/255,i=t[2]/255;return e=e>.04045?((e+.055)/1.055)**2.4:e/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92,[100*(.4124*e+.3576*n+.1805*i),100*(.2126*e+.7152*n+.0722*i),100*(.0193*e+.1192*n+.9505*i)]},n.rgb.lab=function(t){const e=n.rgb.xyz(t);let i=e[0],r=e[1],o=e[2];return i/=95.047,r/=100,o/=108.883,i=i>.008856?i**(1/3):7.787*i+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,o=o>.008856?o**(1/3):7.787*o+16/116,[116*r-16,500*(i-r),200*(r-o)]},n.hsl.rgb=function(t){const e=t[0]/360,n=t[1]/100,i=t[2]/100;let r,o,s;if(0===n)return s=255*i,[s,s,s];r=i<.5?i*(1+n):i+n-i*n;const a=2*i-r,l=[0,0,0];for(let t=0;t<3;t++)o=e+1/3*-(t-1),o<0&&o++,o>1&&o--,s=6*o<1?a+6*(r-a)*o:2*o<1?r:3*o<2?a+(r-a)*(2/3-o)*6:a,l[t]=255*s;return l},n.hsl.hsv=function(t){const e=t[0];let n=t[1]/100,i=t[2]/100,r=n;const o=Math.max(i,.01);return i*=2,n*=i<=1?i:2-i,r*=o<=1?o:2-o,[e,100*(0===i?2*r/(o+r):2*n/(i+n)),(i+n)/2*100]},n.hsv.rgb=function(t){const e=t[0]/60,n=t[1]/100;let i=t[2]/100;const r=Math.floor(e)%6,o=e-Math.floor(e),s=255*i*(1-n),a=255*i*(1-n*o),l=255*i*(1-n*(1-o));switch(i*=255,r){case 0:return[i,l,s];case 1:return[a,i,s];case 2:return[s,i,l];case 3:return[s,a,i];case 4:return[l,s,i];case 5:return[i,s,a]}},n.hsv.hsl=function(t){const e=t[0],n=t[1]/100,i=t[2]/100,r=Math.max(i,.01);let o,s;s=(2-n)*i;const a=(2-n)*r;return o=n*r,o/=a<=1?a:2-a,o=o||0,s/=2,[e,100*o,100*s]},n.hwb.rgb=function(t){const e=t[0]/360;let n=t[1]/100,i=t[2]/100;const r=n+i;let o;r>1&&(n/=r,i/=r);const s=Math.floor(6*e),a=1-i;o=6*e-s,1&s&&(o=1-o);const l=n+o*(a-n);let c,u,d;switch(s){default:case 6:case 0:c=a,u=l,d=n;break;case 1:c=l,u=a,d=n;break;case 2:c=n,u=a,d=l;break;case 3:c=n,u=l,d=a;break;case 4:c=l,u=n,d=a;break;case 5:c=a,u=n,d=l}return[255*c,255*u,255*d]},n.cmyk.rgb=function(t){const e=t[0]/100,n=t[1]/100,i=t[2]/100,r=t[3]/100;return[255*(1-Math.min(1,e*(1-r)+r)),255*(1-Math.min(1,n*(1-r)+r)),255*(1-Math.min(1,i*(1-r)+r))]},n.xyz.rgb=function(t){const e=t[0]/100,n=t[1]/100,i=t[2]/100;let r,o,s;return r=3.2406*e+-1.5372*n+-.4986*i,o=-.9689*e+1.8758*n+.0415*i,s=.0557*e+-.204*n+1.057*i,r=r>.0031308?1.055*r**(1/2.4)-.055:12.92*r,o=o>.0031308?1.055*o**(1/2.4)-.055:12.92*o,s=s>.0031308?1.055*s**(1/2.4)-.055:12.92*s,r=Math.min(Math.max(0,r),1),o=Math.min(Math.max(0,o),1),s=Math.min(Math.max(0,s),1),[255*r,255*o,255*s]},n.xyz.lab=function(t){let e=t[0],n=t[1],i=t[2];return e/=95.047,n/=100,i/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,[116*n-16,500*(e-n),200*(n-i)]},n.lab.xyz=function(t){let e,n,i;n=(t[0]+16)/116,e=t[1]/500+n,i=n-t[2]/200;const r=n**3,o=e**3,s=i**3;return n=r>.008856?r:(n-16/116)/7.787,e=o>.008856?o:(e-16/116)/7.787,i=s>.008856?s:(i-16/116)/7.787,e*=95.047,n*=100,i*=108.883,[e,n,i]},n.lab.lch=function(t){const e=t[0],n=t[1],i=t[2];let r;return r=360*Math.atan2(i,n)/2/Math.PI,r<0&&(r+=360),[e,Math.sqrt(n*n+i*i),r]},n.lch.lab=function(t){const e=t[0],n=t[1],i=t[2]/360*2*Math.PI;return[e,n*Math.cos(i),n*Math.sin(i)]},n.rgb.ansi16=function(t,e=null){const[i,r,o]=t;let s=null===e?n.rgb.hsv(t)[2]:e;if(s=Math.round(s/50),0===s)return 30;let a=30+(Math.round(o/255)<<2|Math.round(r/255)<<1|Math.round(i/255));return 2===s&&(a+=60),a},n.hsv.ansi16=function(t){return n.rgb.ansi16(n.hsv.rgb(t),t[2])},n.rgb.ansi256=function(t){const e=t[0],n=t[1],i=t[2];return e===n&&n===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(n/255*5)+Math.round(i/255*5)},n.ansi16.rgb=function(t){let e=t%10;if(0===e||7===e)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];const n=.5*(1+~~(t>50));return[(1&e)*n*255,(e>>1&1)*n*255,(e>>2&1)*n*255]},n.ansi256.rgb=function(t){if(t>=232){const e=10*(t-232)+8;return[e,e,e]}let e;return t-=16,[Math.floor(t/36)/5*255,Math.floor((e=t%36)/6)/5*255,e%6/5*255]},n.rgb.hex=function(t){const e=(((255&Math.round(t[0]))<<16)+((255&Math.round(t[1]))<<8)+(255&Math.round(t[2]))).toString(16).toUpperCase();return"000000".substring(e.length)+e},n.hex.rgb=function(t){const e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let n=e[0];3===e[0].length&&(n=n.split("").map((t=>t+t)).join(""));const i=parseInt(n,16);return[i>>16&255,i>>8&255,255&i]},n.rgb.hcg=function(t){const e=t[0]/255,n=t[1]/255,i=t[2]/255,r=Math.max(Math.max(e,n),i),o=Math.min(Math.min(e,n),i),s=r-o;let a,l;return a=s<1?o/(1-s):0,l=s<=0?0:r===e?(n-i)/s%6:r===n?2+(i-e)/s:4+(e-n)/s,l/=6,l%=1,[360*l,100*s,100*a]},n.hsl.hcg=function(t){const e=t[1]/100,n=t[2]/100,i=n<.5?2*e*n:2*e*(1-n);let r=0;return i<1&&(r=(n-.5*i)/(1-i)),[t[0],100*i,100*r]},n.hsv.hcg=function(t){const e=t[1]/100,n=t[2]/100,i=e*n;let r=0;return i<1&&(r=(n-i)/(1-i)),[t[0],100*i,100*r]},n.hcg.rgb=function(t){const e=t[0]/360,n=t[1]/100,i=t[2]/100;if(0===n)return[255*i,255*i,255*i];const r=[0,0,0],o=e%1*6,s=o%1,a=1-s;let l=0;switch(Math.floor(o)){case 0:r[0]=1,r[1]=s,r[2]=0;break;case 1:r[0]=a,r[1]=1,r[2]=0;break;case 2:r[0]=0,r[1]=1,r[2]=s;break;case 3:r[0]=0,r[1]=a,r[2]=1;break;case 4:r[0]=s,r[1]=0,r[2]=1;break;default:r[0]=1,r[1]=0,r[2]=a}return l=(1-n)*i,[255*(n*r[0]+l),255*(n*r[1]+l),255*(n*r[2]+l)]},n.hcg.hsv=function(t){const e=t[1]/100,n=e+t[2]/100*(1-e);let i=0;return n>0&&(i=e/n),[t[0],100*i,100*n]},n.hcg.hsl=function(t){const e=t[1]/100,n=t[2]/100*(1-e)+.5*e;let i=0;return n>0&&n<.5?i=e/(2*n):n>=.5&&n<1&&(i=e/(2*(1-n))),[t[0],100*i,100*n]},n.hcg.hwb=function(t){const e=t[1]/100,n=e+t[2]/100*(1-e);return[t[0],100*(n-e),100*(1-n)]},n.hwb.hcg=function(t){const e=t[1]/100,n=1-t[2]/100,i=n-e;let r=0;return i<1&&(r=(n-i)/(1-i)),[t[0],100*i,100*r]},n.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]},n.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]},n.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]},n.gray.hsl=function(t){return[0,0,t[0]]},n.gray.hsv=n.gray.hsl,n.gray.hwb=function(t){return[0,100,t[0]]},n.gray.cmyk=function(t){return[0,0,0,t[0]]},n.gray.lab=function(t){return[t[0],0,0]},n.gray.hex=function(t){const e=255&Math.round(t[0]/100*255),n=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(n.length)+n},n.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]},im}function um(){if(sm)return om;sm=1;const t=cm();function e(t,e){return function(n){return e(t(n))}}function n(n,i){const r=[i[n].parent,n];let o=t[i[n].parent][n],s=i[n].parent;for(;i[s].parent;)r.unshift(i[s].parent),o=e(t[i[s].parent][s],o),s=i[s].parent;return o.conversion=r,o}return om=function(e){const i=function(e){const n=function(){const e={},n=Object.keys(t);for(let t=n.length,i=0;i<t;i++)e[n[i]]={distance:-1,parent:null};return e}(),i=[e];for(n[e].distance=0;i.length;){const e=i.pop(),r=Object.keys(t[e]);for(let t=r.length,o=0;o<t;o++){const t=r[o],s=n[t];-1===s.distance&&(s.distance=n[e].distance+1,s.parent=e,i.unshift(t))}}return n}(e),r={},o=Object.keys(i);for(let t=o.length,e=0;e<t;e++){const t=o[e];null!==i[t].parent&&(r[t]=n(t,i))}return r}}var dm=function(){if(lm)return am;lm=1;const t=cm(),e=um(),n={};return Object.keys(t).forEach((i=>{n[i]={},Object.defineProperty(n[i],"channels",{value:t[i].channels}),Object.defineProperty(n[i],"labels",{value:t[i].labels});const r=e(i);Object.keys(r).forEach((t=>{const e=r[t];n[i][t]=function(t){const e=function(...e){const n=e[0];if(null==n)return n;n.length>1&&(e=n);const i=t(e);if("object"==typeof i)for(let t=i.length,e=0;e<t;e++)i[e]=Math.round(i[e]);return i};return"conversion"in t&&(e.conversion=t.conversion),e}(e),n[i][t].raw=function(t){const e=function(...e){const n=e[0];return null==n?n:(n.length>1&&(e=n),t(e))};return"conversion"in t&&(e.conversion=t.conversion),e}(e)}))})),am=n}(),hm=Dd(dm);class fm extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(fm)};super(fm.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n\n current_texture_coordinate_2d = texture_coordinate_2d;\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nuniform float staticOptions[3];\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n vec4 blend = texture2D(first_texture, current_texture_coordinate_2d);\n \n vec3 blendRGB = blend.rgb;\n vec3 baseRGB = vec3(staticOptions[0], staticOptions[1], staticOptions[2]);\n \n vec3 limit = step(0.5, blendRGB);\n vec3 mixedRGB = mix(2.0 * baseRGB * blendRGB, 1.0 - 2.0 * (1.0 - baseRGB) * (1.0 - blendRGB), limit);\n \n gl_FragColor = vec4((mixedRGB * blend.a) + ((1.0 - blend.a) * baseRGB), 1);\n}"},e,t)}static getFilterType(){return"hardLight"}static getInputsCount(){return 1}static getInitialOptions(){return{color:"4b0082"}}getOptionsDisplay(){return[{properties:["color"],type:"colorPicker"}]}handleStaticUniforms(t){const e=hm.hex.rgb(t.color).map((t=>t/255));this.uniforms[zf.STATIC_OPTIONS].set([e[0],e[1],e[2]])}}class pm extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(pm)};super(pm.getFilterType(),{vertex:"precision lowp float;\n\nattribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nuniform float runtimeOptions[1];\nuniform float staticOptions[6];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying float exposure_value;\n\n\nfloat getCurrentBeizerProgress(vec2 p1, vec2 p2, float t){\n vec2 p0 = vec2(0,0);\n vec2 p3 = vec2(1,1);\n \n vec2 E = mix(p0, p1, t);\n vec2 F = mix(p1, p2, t);\n vec2 G = mix(p2, p3, t);\n\n vec2 H = mix(E, F, t);\n vec2 I = mix(F, G, t);\n\n vec2 P = mix(H, I, t);\n\n return P.y;\n}\n\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n \n // transfrom logic // \n // normalized time range from 0 to 1\n float current_time = runtimeOptions[0];\n float current_power_progress = getCurrentBeizerProgress(\n vec2(staticOptions[2], staticOptions[3]),\n vec2(staticOptions[4], staticOptions[5]),\n current_time\n );\n \n current_texture_coordinate_2d = texture_coordinate_2d;\n exposure_value = mix(staticOptions[0], staticOptions[1], current_power_progress);\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\n\nvarying vec2 current_texture_coordinate_2d;\nvarying float exposure_value;\n\nvoid main() {\n vec4 texture = texture2D(first_texture, current_texture_coordinate_2d);\n gl_FragColor = vec4((texture.xyz) * (1.0 + exposure_value) , texture.w);\n}\n\n"},e,t)}static getFilterType(){return"exposureTransition"}static getInputsCount(){return 1}static getInitialOptions(){return{properties:{power:{form:0,to:0,ease:[0,0,1,1]}}}}handleStaticUniforms(t){const e=t.properties.power;this.uniforms[zf.STATIC_OPTIONS].set([e.from,e.to,...e.ease])}static getUniformList(){return[zf.FIRST_TEXTURE,Lf]}}class mm extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(mm)};super(mm.getFilterType(),{vertex:"precision lowp float;\n\nattribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nuniform float runtimeOptions[1];\nuniform float staticOptions[6];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying float dipToBlack_value;\n\n\nfloat getCurrentBeizerProgress(vec2 p1, vec2 p2, float t){\n vec2 p0 = vec2(0,0);\n vec2 p3 = vec2(1,1);\n \n vec2 E = mix(p0, p1, t);\n vec2 F = mix(p1, p2, t);\n vec2 G = mix(p2, p3, t);\n\n vec2 H = mix(E, F, t);\n vec2 I = mix(F, G, t);\n\n vec2 P = mix(H, I, t);\n\n return P.y;\n}\n\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n \n // transfrom logic // \n // normalized time range from 0 to 1\n float current_time = runtimeOptions[0];\n float current_power_progress = getCurrentBeizerProgress(\n vec2(staticOptions[2], staticOptions[3]),\n vec2(staticOptions[4], staticOptions[5]),\n current_time\n );\n \n current_texture_coordinate_2d = texture_coordinate_2d;\n dipToBlack_value = mix(staticOptions[0], staticOptions[1], current_power_progress);\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\n\nvarying vec2 current_texture_coordinate_2d;\nvarying float dipToBlack_value;\n\nvoid main() {\n vec4 texture = texture2D(first_texture, current_texture_coordinate_2d);\n gl_FragColor = vec4(texture.xyz - dipToBlack_value, texture.w);\n}"},e,t)}static getFilterType(){return"dipToBlackTransition"}static getInputsCount(){return 1}static getInitialOptions(){return{}}handleStaticUniforms(t){const e=t.properties.power;this.uniforms[zf.STATIC_OPTIONS].set([e.from,e.to,...e.ease])}static getUniformList(){return[zf.FIRST_TEXTURE,Lf]}}class vm extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(vm)};super(vm.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nuniform float runtimeOptions[1];\nuniform float staticOptions[16];\n\nvarying vec2 current_texture_coordinate_2d;\n\nfloat getCurrentBeizerProgress(vec2 p1, vec2 p2, float t){\n vec2 p0 = vec2(0,0);\n vec2 p3 = vec2(1,1);\n \n vec2 E = mix(p0, p1, t);\n vec2 F = mix(p1, p2, t);\n vec2 G = mix(p2, p3, t);\n\n vec2 H = mix(E, F, t);\n vec2 I = mix(F, G, t);\n\n vec2 P = mix(H, I, t);\n\n return P.y;\n}\n\n\nvoid main() {\n // time range from 0 to 1\n float current_time = runtimeOptions[0];\n\n // scale X\n float current_scale_x_progress = getCurrentBeizerProgress(\n vec2(staticOptions[4],staticOptions[5]),\n vec2(staticOptions[6],staticOptions[7]),\n current_time\n );\n float currnet_scale_x_value = mix(staticOptions[0], staticOptions[1], current_scale_x_progress);\n\n // scale Y\n float current_scale_y_progress = getCurrentBeizerProgress(\n vec2(staticOptions[4],staticOptions[5]),\n vec2(staticOptions[6],staticOptions[7]),\n current_time\n );\n float currnet_scale_y_value = mix(staticOptions[2], staticOptions[3], current_scale_y_progress);\n\n // translate x\n float current_translate_x_progress = getCurrentBeizerProgress(\n vec2(staticOptions[12],staticOptions[13]),\n vec2(staticOptions[14],staticOptions[15]),\n current_time\n );\n \n float currnet_translate_x_value = mix(staticOptions[8], staticOptions[9], current_translate_x_progress); \n\n // translate y\n float current_translate_y_progress = getCurrentBeizerProgress(\n vec2(staticOptions[12],staticOptions[13]),\n vec2(staticOptions[14],staticOptions[15]),\n current_time\n );\n float currnet_translate_y_value = mix(staticOptions[10], staticOptions[11], current_translate_y_progress); \n\n // See Default vertex shader, we normalize y axis to be -y\n // because of webgl texture coordinates\n currnet_translate_y_value = currnet_translate_y_value * -1.0;\n\n // create matries\n mat4 scaleMatrix;\n scaleMatrix[0] = vec4(currnet_scale_x_value, 0, 0, 0); \n scaleMatrix[1] = vec4(0, currnet_scale_y_value, 0, 0); \n scaleMatrix[2] = vec4(0, 0, 1, 0); \n scaleMatrix[3] = vec4(0, 0, 0, 1); \n\n mat4 translateMatrix;\n translateMatrix[0] = vec4(1, 0, 0, 0); \n translateMatrix[1] = vec4(0, 1, 0, 0); \n translateMatrix[2] = vec4(0, 0, 1, 0); \n translateMatrix[3] = vec4(currnet_translate_x_value, currnet_translate_y_value, 0, 1); \n\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = translateMatrix * scaleMatrix * normalize_poistion;\n // gl_Position = translateMatrix * scaleMatrix * normalize_poistion;\n \n \n current_texture_coordinate_2d = texture_coordinate_2d;\n \n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n gl_FragColor = texture2D(first_texture, current_texture_coordinate_2d);\n}"},e,t)}static getFilterType(){return"transformTransition"}static getInputsCount(){return 1}static getInitialOptions(){return{}}handleStaticUniforms(t){const e=t.properties.scale||{},n=t.properties.translate||{};e.ease=e.ease||[0,0,1,1],n.ease=n.ease||[0,0,1,1],this.uniforms[zf.STATIC_OPTIONS].set([e.from&&e.from.x||1,e.to&&e.to.x||1,e.from&&e.from.y||1,e.to&&e.to.y||1,...e.ease,n.from&&n.from.x||0,n.to&&n.to.x||0,n.from&&n.from.y||0,n.to&&n.to.y||0,...n.ease])}static getUniformList(){return[zf.FIRST_TEXTURE,Lf]}}class gm extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(gm)};super(gm.getFilterType(),{vertex:"precision lowp float;\n\nattribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nuniform float staticOptions[8];\nuniform float runtimeOptions[3];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying float current_power_value;\n\nfloat getCurrentBeizerProgress(vec2 p1, vec2 p2, float t){\n vec2 p0 = vec2(0,0);\n vec2 p3 = vec2(1,1);\n \n vec2 E = mix(p0, p1, t);\n vec2 F = mix(p1, p2, t);\n vec2 G = mix(p2, p3, t);\n\n vec2 H = mix(E, F, t);\n vec2 I = mix(F, G, t);\n\n vec2 P = mix(H, I, t);\n\n return P.y;\n}\n\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n\n float current_time = runtimeOptions[0];\n float current_power_progress = getCurrentBeizerProgress(\n vec2(staticOptions[2],staticOptions[3]),\n vec2(staticOptions[4],staticOptions[5]),\n current_time\n );\n \n // varing\n current_texture_coordinate_2d = texture_coordinate_2d;\n current_power_value = mix(staticOptions[0], staticOptions[1], current_power_progress);\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nuniform float staticOptions[8];\nuniform float runtimeOptions[3];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying float current_power_value;\n\nconst int samples = 12; //multiple of 2\n\nvoid main() {\n vec2 pixel = vec2(1.0/runtimeOptions[1], 1.0/runtimeOptions[2]);\n vec2 direction = vec2(staticOptions[6], staticOptions[7]);\n \n vec4 color = vec4(0.0); \n\n for (int i=1; i<=samples/2; i++) {\n vec2 motion = float(i) * current_power_value / float(samples / 2) * direction * pixel;\n \n color += texture2D(\n first_texture,\n current_texture_coordinate_2d + motion);\n\n color += texture2D(\n first_texture,\n current_texture_coordinate_2d - motion);\n }\n\t\n color = color/float(samples);\n\n \n gl_FragColor = color;\n // gl_FragColor = vec4(0,1,0,1);\n \n}"},e,t)}static getFilterType(){return"motionBlurTransition"}static getInputsCount(){return 1}static getInitialOptions(){return{}}handleStaticUniforms(t){const e=t.properties.power||{from:0,to:0},n=t.properties.direction||{x:0,y:0};e.ease=e.ease||[0,0,1,1],this.uniforms[zf.STATIC_OPTIONS].set([e.from,e.to,...e.ease,n.x,n.y])}static getUniformList(){return[zf.FIRST_TEXTURE,Lf,Df]}}class ym extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(ym)};super(ym.getFilterType(),{vertex:"precision lowp float;\n\nattribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nuniform float runtimeOptions[1];\nuniform float staticOptions[9];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying float current_power_value;\n\nfloat getCurrentBeizerProgress(vec2 p1, vec2 p2, float t){\n vec2 p0 = vec2(0,0);\n vec2 p3 = vec2(1,1);\n \n vec2 E = mix(p0, p1, t);\n vec2 F = mix(p1, p2, t);\n vec2 G = mix(p2, p3, t);\n\n vec2 H = mix(E, F, t);\n vec2 I = mix(F, G, t);\n\n vec2 P = mix(H, I, t);\n\n return P.y;\n}\n\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n\n float current_time = runtimeOptions[0];\n float current_power_progress = getCurrentBeizerProgress(\n vec2(staticOptions[2],staticOptions[3]),\n vec2(staticOptions[4],staticOptions[5]),\n current_time\n );\n \n // varing\n current_texture_coordinate_2d = texture_coordinate_2d;\n current_power_value = mix(staticOptions[0], staticOptions[1], current_power_progress);\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nuniform float staticOptions[9];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying float current_power_value;\n\nvoid main() {\n vec4 texture = texture2D(first_texture, current_texture_coordinate_2d);\n vec4 fadeColor = vec4(staticOptions[6], staticOptions[7], staticOptions[8], 1.0) ;\n gl_FragColor = mix(texture,fadeColor, current_power_value);\n}"},e,t)}static getFilterType(){return"fadeToColorTransition"}static getInputsCount(){return 1}static getInitialOptions(){return{properties:{power:{form:0,to:0,ease:[0,0,1,1]},color:"#FFFFFF"}}}handleStaticUniforms(t){const e=t.properties.power||{from:0,to:0};e.ease=e.ease||[0,0,1,1];const n=t.properties.color,i=hm.hex.rgb(n).map((t=>t/255));this.uniforms[zf.STATIC_OPTIONS].set([e.from,e.to,...e.ease,i[0],i[1],i[2]])}static getUniformList(){return[zf.FIRST_TEXTURE,Lf]}}var bm=Object.freeze({__proto__:null,Crop:Yp,Curves:jp,Default:class t extends Gf{constructor(e){const n={uniforms:Gf.getUniformInfo(t)};super(t.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n // we need to flip y poisiton bacause webgl display the canvas\n // with 0,0 being the bottom left corner \n // insted of the traditional top left\n float flip_y_position = position_3d.y * (-1.0);\n vec4 normalize_poistion = vec4(position_3d.x, flip_y_position, position_3d.z, 1);\n \n gl_Position = normalize_poistion;\n \n current_texture_coordinate_2d = texture_coordinate_2d;\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n gl_FragColor = texture2D(first_texture, current_texture_coordinate_2d);\n}"},n,e)}static getFilterType(){return"__default"}static getInputsCount(){return 1}static getInitialOptions(){return{}}},DipToBlackTransition:mm,DirectionalBlur:np,Exposure:tm,ExposureTransition:pm,FadeToColorTransition:ym,FastBlur:ep,HardLight:fm,HorizontalBlur:Zf,Hue:Gp,Lab:Zp,Levels:Up,Lut:sp,MotionBlurTransition:gm,Opacity:ip,Saturation:Xp,ShapeComposite:op,ShapeCompositeMask:rp,Solid:Qp,SolidImage:Jp,Transform:Jf,TransformTransition:vm,VerticalBlur:tp,Vibrance:Kp,WhiteBalance:Hp});const km=Object.values(bm).reduce(((t,e)=>(t[e.getFilterType()]=e,t)),{});class wm{constructor(t){this.context=t}static getFilterClass(t){return km[t]}getFilterIds(){return Object.keys(this.filterTypeToInstanceMap)}create(t,e){this.context={...this.context,options:e.options};const n=new km[t](this.context);if(!n)throw new Error(`${t} is not a atom filter, atomFilter list: `,this.getFilterIds());return n}}const xm=Bh.PREVIOUS_OUTPUT_PREFIX,_m=Object.values(bm).reduce(((t,e)=>(t[e.getFilterType()]={type:e.getFilterType(),options:e.getInitialOptions(),inputs:[...Array(e.getInputsCount())].map(((t,e)=>`${xm}${e}`)),outputs:[]},t)),{});var Im,Tm,Em=function(){if(Tm)return Im;Tm=1;var t=function(t){return function(t){return!!t&&"object"==typeof t}(t)&&(n=t,!("[object RegExp]"===(i=Object.prototype.toString.call(n))||"[object Date]"===i||n.$$typeof===e));var n,i},e="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function n(t,e){return!1!==e.clone&&e.isMergeableObject(t)?s((n=t,Array.isArray(n)?[]:{}),t,e):t;var n}function i(t,e,i){return t.concat(e).map((function(t){return n(t,i)}))}function r(t){return Object.keys(t).concat((e=t,Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return Object.propertyIsEnumerable.call(e,t)})):[]));var e}function o(t,e){try{return e in t}catch(t){return!1}}function s(e,a,l){(l=l||{}).arrayMerge=l.arrayMerge||i,l.isMergeableObject=l.isMergeableObject||t,l.cloneUnlessOtherwiseSpecified=n;var c=Array.isArray(a);return c===Array.isArray(e)?c?l.arrayMerge(e,a,l):function(t,e,i){var a={};return i.isMergeableObject(t)&&r(t).forEach((function(e){a[e]=n(t[e],i)})),r(e).forEach((function(r){var l,c;o(l=t,c=r)&&(!Object.hasOwnProperty.call(l,c)||!Object.propertyIsEnumerable.call(l,c))||(o(t,r)&&i.isMergeableObject(e[r])?a[r]=function(t,e){if(!e.customMerge)return s;var n=e.customMerge(t);return"function"==typeof n?n:s}(r,i)(t[r],e[r],i):a[r]=n(e[r],i))})),a}(e,a,l):n(a,l)}return s.all=function(t,e){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce((function(t,n){return s(t,n,e)}),{})},Im=s}(),Sm=Dd(Em),Mm=function(t,e){return Sm(t,e,{arrayMerge:(t,e)=>e})};const Am=Bh.MESSAGES.UPDATE_OPTIONS;let Nm=class{constructor(t,e){this.eventEmitter=new $h,this.type=t,this.inputs=e.inputs,this.outputs=e.outputs,this.options=e.options}render(){throw new Error("concrete class should implement")}_updateOptions(){throw new Error("concrete class should implement")}updateOptions(t){this._updateOptions(t),this.eventEmitter.emit(Am,this.options)}updateInputs(t){t&&(this.inputs.length===t.length&&this.inputs.every(((e,n)=>e===t[n]))||(this.inputs=[...t]))}getEventEmitter(){return this.eventEmitter}getType(){return this.type}getInputs(){return this.inputs}getOutputs(){return this.outputs}getOptions(){return this.options}getInfo(){return{inputs:this.inputs,outputs:this.outputs,options:this.options}}getOptionsDisplay(){return this.filter.getOptionsDisplay()}dispose(){throw new Error("concrete class should implement")}};class Cm extends Nm{constructor(t,e,n){super(...arguments),this.filter=n.filterFactory.create(this.type,{options:this.options})}render(t){const e=t.ioStore,n=t.graphIOManager,i=this.getInputs(),r=this.getOutputs(),o=e.get(i),s=this.filter.render(o,this.options);return n.setOutputs(e,r,s),s}_updateOptions(t){this.options=Mm(this.options,t),this.filter.updateStaticUniforms(this.options)}dispose(){this.filter.dispose()}}const Fm=Bh.MESSAGES.UPDATE_OPTIONS;class Om extends Cm{constructor(t,e,n){super(...arguments),this.baseNode=n.baseNode,this.registerListeners()}baseNodeUpdateOptions(t){this.options=Mm(this.options,t),this.filter.updateStaticUniforms(this.options)}registerListeners(){this.baseNode.getEventEmitter().on(Fm,this.baseNodeUpdateOptions,this)}dispose(){this.filter.dispose(),this.baseNode.getEventEmitter().off(Fm,this.baseNodeUpdateOptions,this)}}function Pm(t){return null!==t&&"object"==typeof t}function Rm(t){if(!Pm(t)||(e=t,Array.isArray(e)))return t;var e;const n=Object.keys(t).sort(),i={};return n.forEach((e=>{i[e]=Rm(t[e])})),i}function Dm(t,e){return null!=t&&t.id&&null!=e&&e.id?t.type===e.type&&t.id===e.id:t.type===e.type}function Bm(t,e){const n=[];t.forEach(((t,i)=>{const r=(o=t,e.findIndex((t=>function(t,e){const n=JSON.parse(JSON.stringify(t));return r=JSON.parse(JSON.stringify(e)),Pm(i=n)&&Pm(r)?JSON.stringify(Rm(i))===JSON.stringify(Rm(r)):!(!Number.isNaN(i)||!Number.isNaN(r))||i===r;var i,r}(o,t))));var o;if(-1!==r)return void n.push({type:"take",index:r});const s=(a=t,l=i,(c=e)&&c[l]&&Dm(a,c[l])?l:c.findIndex((t=>Dm(a,t))));var a,l,c;-1===s?n.push({type:"create",newGraphIndex:i}):n.push({type:"update",currentGraphIndex:s,newGraphIndex:i})}));const i=n.reduce(((t,e)=>("take"===e.type?t.push(e.index):"update"===e.type&&t.push(e.currentGraphIndex),t)),[]);return e.reduce(((t,e,n)=>(i.includes(n)||t.push(n),t)),[]).forEach((t=>{n.push({type:"dispose",currentGraphIndex:t})})),n}function Lm(t,e,n,i){const r=[];return t.forEach((t=>{switch(t.type){case"take":r.push(n[t.index]);break;case"update":const o=e[t.newGraphIndex].options,s=n[t.currentGraphIndex];s.updateInputs(e[t.newGraphIndex].inputs),s.updateOptions(o),r.push(s);break;case"create":const a=Ym.create(e[t.newGraphIndex],i);r.push(a);break;case"dispose":n[t.currentGraphIndex].dispose();break;default:throw new Error("cant apply action type: ",t.type)}})),r}var zm=function(t,e,n,i){const r=t.graph,o=e.graph;if(!(o&&r&&Array.isArray(o)&&Array.isArray(r)))throw new Error("cant apply new composite options",t);return Lm(Bm(r,o),r,n,i)};class Wm extends Nm{constructor(t,e,n){super(...arguments),this.context=n,this.nodes=this.createNodes(this.options)}createNodes(t){if(!t||!t.graph)throw new Error("cant create composite node, please supply info.options.graph");return t.graph.map((t=>Ym.create(t,this.context)))}render(t){const e=t.ioStore,n=t.graphIOManager;let i=n.getPrevOutput(e);const r=this.outputs;if(this.nodes.length){const t=new Kh(e),r="__PREVIOUS:0",o=[],s=new Set;this.nodes.forEach(((e,a)=>{const l={ioStore:t,graphIOManager:n},c=e.getOutputs?e.getOutputs():void 0,u=Array.isArray(c)?c:[],d={};u.forEach((e=>{d[e]=t.get(e)}));const h=t.get(r);i=e.render(l),a!==this.nodes.length-1&&o.push(i);const f=new Set;if(h&&h!==i&&f.add(h),u.forEach((t=>{const e=d[t];e&&e!==i&&f.add(e)})),f.size){const e=new Set(Object.values(t.get()));f.forEach((t=>{e.has(t)||(n.disposeTextures([t],i),s.add(t))}))}}));const a=o.filter((t=>!s.has(t)));n.disposeTextures(a,i)}return n.setOutputs(e,r,i),i}getOptionsDisplay(){return[]}_updateOptions(t){this.nodes=zm(t,this.options,this.nodes,this.context),this.options=t}dispose(){this.nodes.forEach((t=>{t.dispose()}))}}const jm=Bh.MESSAGES.UPDATE_OPTIONS;class $m extends Wm{constructor(t,e,n){super(...arguments),this.baseNode=n.baseNode,this.registerListeners()}registerListeners(){this.baseNode.getEventEmitter().on(jm,this.updateOptions,this)}dispose(){this.nodes.forEach((t=>{t.dispose()})),this.baseNode.getEventEmitter().off(jm,this.updateOptions,this)}}const Um=Bh.SYSTEM_NODES.TAGS.ATOM,qm=Bh.SYSTEM_NODES.TAGS.FILTER,Vm=Bh.SYSTEM_NODES.TAGS.COMPOSITE_FILTER,Gm=Bh.SYSTEM_NODES.TAGS.TRANSITION_FILTER,Hm=Bh.PREVIOUS_OUTPUT_PREFIX,Km=Object.keys(_m);function Xm(t,e){const n=(i=t.type,_m[i]);var i;return t=Mm(n,t),new Cm(t.type,t,e)}var Ym={create:function(t,e){let n;switch(function(t){let e;return n=t,e=Km.includes(n)?Um:t===Vm?Vm:t===Gm?Gm:qm,e;var n}((t=JSON.parse(JSON.stringify(t))).type)){case Um:n=Xm(t,e);break;case qm:n=function(t,e){const n=function(t,e){const n=e.get(t);if(!n)throw new Error(`no base node, cant resolve type: ${t}`);return n}(t.type,e.nodeStore),i=n.getType(),r=n.getInfo();let o;return t=Mm(r,t),e={...e,baseNode:n},o=i===Vm?new $m(i,t,e):new Om(i,t,e),o}(t,e);break;case Vm:n=function(t,e){const n=t.type;return t=Mm({inputs:[`${Hm}0`]},t),new Wm(n,t,e)}(t,e);break;case Gm:n=function(t,e){const n=t.options.filter;if(!n)throw new Error(`transition filter should supply base filter ${n}`);return t.type=`${n}Transition`,Xm(t,e)}(t,e);break;default:throw new Error("cant create node",t.type)}return n}};const Qm=Bh.SYSTEM_NODES.FILTERS.RENDER_TO_CANVAS;var Jm=function(t){const e={[Qm]:_m[Qm]};for(const[n,i]of Object.entries(e)){const e=Ym.create(i,t);t.nodeStore.set(n,e)}},Zm=function(t,e){for(const[n,i]of Object.entries(t)){const t=Ym.create(i,e);e.nodeStore.set(n,t)}};const tv=Bh.CAPTURED_FRAME_PREFIX;class ev{constructor(t){return this.textureManager=t.textureManager,this.currentFrameTextures={0:this.textureManager.createTexture({type:"frame"})},this.saveInNextFrameTextures=[],this.savedFramesTextures={},this.reservedUnits=new Set([this.currentFrameTextures[0].getUnit()]),{capture:this.capture.bind(this),createCaptureId:this.createCaptureId.bind(this),releaseCaptureId:this.releaseCaptureId.bind(this),getCurrentFrames:this.getCurrentFrames.bind(this),getSavedFrames:this.getSavedFrames.bind(this),isReservedUnit:this.isReservedUnit.bind(this)}}updateCurrentFrame(t,e){e=e||0,this.currentFrameTextures[e].fill(t)}saveFrame(t){0!==this.saveInNextFrameTextures.length&&(this.saveInNextFrameTextures.forEach((e=>{e.fill(t)})),this.saveInNextFrameTextures=[])}capture(t,e){(t.videoHeight>150||t.displayHeight>150)&&(this.updateCurrentFrame(t,e),this.saveFrame(t))}createCaptureId(){const t=this.textureManager.createTexture({type:"frame"});this.saveInNextFrameTextures.push(t);const e=t.getUnit(),n=`${tv}${e}`;return this.savedFramesTextures[n]=t,this.reservedUnits.add(e),n}releaseCaptureId(t){if("string"!=typeof t)throw new Error("capture id should be string");delete this.saveInNextFrameTextures[t];const e=t.split(":")[1];this.reservedUnits.delete(parseInt(e,10))}getCurrentFrames(){return this.currentFrameTextures}getSavedFrames(){return this.savedFramesTextures}isReservedUnit(t){return this.reservedUnits.has(t)}}const nv=Zd("ShaderGraphApplication","warn"),iv=Bh.SYSTEM_NODES.FILTERS.RENDER_TO_CANVAS,rv=Object.freeze({useCanvasSizedFilterTargets:!1,rebindAttributesOnProgramSwitch:!0,forwardContextAttributes:!0});function ov(t={}){const e=null==t?void 0:t.performanceToggles;return e&&"object"==typeof e?{...rv,...e}:{...rv}}class sv{constructor(t,e={}){return this.glSource=t,this.config=e,this.performanceToggles=ov(e),this.isContextLost=!1,this.isRecovering=!1,this.isDisposed=!1,this.pendingNodeOptionUpdates=new Map,this.doInit(t,e)}doInit(t,e){this.source=Gh(t),this.performanceToggles=ov(e),this.isDisposed=!1,this.resetViewportSyncState(),this.render=this.render.bind(this),this.resizeCanvasSize=this.resizeCanvasSize.bind(this),this.setSrcVidTracks=this.setSrcVidTracks.bind(this),this.onWebGLContextLost=this.onWebGLContextLost.bind(this),this.onForceRender=this.onForceRender.bind(this),this.resizeCanvasSize._shouldPreventDefault=!0;const n=function(t={},e=rv){const n=null!=t&&t.glOptions&&"object"==typeof t.glOptions?{...t.glOptions}:{},i=n.__shaderGraph&&"object"==typeof n.__shaderGraph?n.__shaderGraph:{};return{...n,__shaderGraph:{...i,forwardContextAttributes:!1!==e.forwardContextAttributes}}}(e,this.performanceToggles);return this.gl=this.source.init(this.setSrcVidTracks,this.resizeCanvasSize,n),this.addCanvasListeners(),this.addSourceListeners(),this.exposeDebugGlobalIfBrowser(),this.selectedRenderNode=null,this.setupRenderInfrastructure(t,e),e.userWillCallRender||(this.rafId=requestAnimationFrame(this.render)),this.dirtyCanvasSize=!0,{getNodes:this.getNodes.bind(this),addNodes:this.addClientNodes.bind(this),selectNode:this.selectNode.bind(this),addTexture:this.addTexture.bind(this),releaseTexture:this.releaseTexture.bind(this),captureTexture:this.captureTexture.bind(this),disposeTexture:this.disposeTexture.bind(this),updateOptions:this.updateOptions.bind(this),render:this.render,dispose:this.dispose.bind(this)}}exposeDebugGlobalIfBrowser(){"undefined"!=typeof window&&(window.ekoShaderGraph=this)}setupRenderInfrastructure(t,e){this.activeTextures=this.activeTextures||new Set,this.textureManager=new nf({gl:this.gl,activeTextures:this.activeTextures}),this.capturedFramesManager=new ev({textureManager:this.textureManager}),this.graphIOManager=new df({glSource:t,gl:this.gl,textureManager:this.textureManager,capturedFramesManager:this.capturedFramesManager}),this.frameBufferFactory=new yf({gl:this.gl,textureManager:this.textureManager,useCanvasSizedFilterTargets:this.performanceToggles.useCanvasSizedFilterTargets}),this.filterFactory=new wm({gl:this.gl,frameBufferFactory:this.frameBufferFactory,rebindAttributesOnProgramSwitch:this.performanceToggles.rebindAttributesOnProgramSwitch}),this.nodeStore=new Kh,this.ioStore=new Kh,Jm({nodeStore:this.nodeStore,filterFactory:this.filterFactory}),this.addClientNodes(e.nodes,this.isRecovering)}getNodes(){return nv.debug("[getNodes]"),this.nodeStore.get()}addClientNodes(t,e=!1){if(nv.debug("[addClientNodes]",t),t&&!e&&(this.addClientNodeInvocations=this.addClientNodeInvocations||[],this.addClientNodeInvocations.push(t)),!e&&this.isContextUnavailable())return;t=t||{};const n=JSON.parse(JSON.stringify(t));Zm(n,{nodeStore:this.nodeStore,filterFactory:this.filterFactory})}addTexture(t,e,n){if(nv.debug("[addTexture]",t,e,n),this.isContextUnavailable())return null;let i=this.textureManager.createTexture({type:e});return i.isStatic=!0,t&&i.fill(t),this.graphIOManager.setTextureSource(this.ioStore,i,n),i}releaseTexture(t){nv.debug("[releaseTexture]",t),this.isContextUnavailable()||this.textureManager.releaseTexture(t)}selectNode(t){if(nv.debug("[selectNode]",t),!this.isContextUnavailable())return this.nodeStore.get(t)||nv.warn("Missing render node",t),void(this.selectedRenderNodeId=t);this.selectedRenderNodeId=t}captureTexture(){return nv.debug("[captureTexture]"),this.isContextUnavailable()?null:this.capturedFramesManager.createCaptureId()}disposeTexture(t){return nv.debug("[disposeTexture]",t),this.isContextUnavailable()||"string"!=typeof t?null:this.capturedFramesManager.releaseCaptureId(t)}setSrcVidTracks(t){this.isContextUnavailable()||this.capturedFramesManager&&this.capturedFramesManager.capture(t)}resizeCanvasSize(t,e,n,i){this.dirtyCanvasSize={width:n,height:i}}resetViewportSyncState(){this._lastSyncedViewportCanvasWidth=null,this._lastSyncedViewportCanvasHeight=null}syncViewportToCanvasBackingStoreIfChanged(){var t,e;const n=null===(t=this.gl)||void 0===t||null===(t=t.canvas)||void 0===t?void 0:t.width,i=null===(e=this.gl)||void 0===e||null===(e=e.canvas)||void 0===e?void 0:e.height;!Number.isFinite(n)||!Number.isFinite(i)||n<=0||i<=0||n===this._lastSyncedViewportCanvasWidth&&i===this._lastSyncedViewportCanvasHeight||(mf(n,i),this.gl.viewport(0,0,n,i),this._lastSyncedViewportCanvasWidth=n,this._lastSyncedViewportCanvasHeight=i)}isContextUnavailable(){return!!this.isDisposed||!(!this.isRecovering&&!this.isContextLost)||!(!this.gl||"function"!=typeof this.gl.isContextLost)&&this.gl.isContextLost()}queueNodeOptionUpdate(t,e){t&&e&&"object"==typeof e&&(this.pendingNodeOptionUpdates||(this.pendingNodeOptionUpdates=new Map),this.pendingNodeOptionUpdates.set(t,e))}applyPendingNodeOptionUpdates(t=!1){if(!this.pendingNodeOptionUpdates||!this.pendingNodeOptionUpdates.size)return;const e=Array.from(this.pendingNodeOptionUpdates.entries());this.pendingNodeOptionUpdates.clear(),e.forEach((([e,n])=>{try{if(t){const t=this.nodeStore.get(e);if(!t||"function"!=typeof t.updateOptions)return void this.queueNodeOptionUpdate(e,n);try{t.updateOptions(n)}catch(t){nv.error("Failed to apply pending node options",e,t),this.queueNodeOptionUpdate(e,n)}return}this.updateOptions(e,n)}catch(t){nv.error("Failed to apply pending node options",e,t)}}))}render(t={}){const{noRaf:e=!1}=t;if(this.isContextUnavailable())return;if(this.dirtyCanvasSize){let{width:t=this.gl.canvas.width,height:e=this.gl.canvas.height}=this.dirtyCanvasSize;mf(t,e),this.gl.canvas.width=t,this.gl.canvas.height=e,this.textureManager.refreshTextureObjects(),this.gl.viewport(0,0,t,e),this.dirtyCanvasSize=!1,this._lastSyncedViewportCanvasWidth=t,this._lastSyncedViewportCanvasHeight=e}this.syncViewportToCanvasBackingStoreIfChanged(),this.graphIOManager.setVideoSources(this.ioStore);let n={ioStore:this.ioStore,graphIOManager:this.graphIOManager};this.renderSelectedNode(n),this.config.onPreRenderToScreen&&this.config.onPreRenderToScreen(),this.renderToCanvas(n),this.config.onPostRenderToScreen&&this.config.onPostRenderToScreen(),this.graphIOManager.disposeAllStore(this.ioStore),n=null,!e&&!this.config.userWillCallRender&&(this.rafId=requestAnimationFrame(this.render))}renderSelectedNode(t){if(!this.selectedRenderNodeId)return;const e=this.nodeStore.get(this.selectedRenderNodeId);e&&"function"==typeof e.render?e.render(t):(nv.warn("Missing selected render node",this.selectedRenderNodeId),this.selectedRenderNodeId=null)}renderToCanvas(t){const e=this.nodeStore.get(iv);e&&"function"==typeof e.render?e.render(t):nv.warn("Missing render-to-canvas node")}updateOptions(t,e){if(nv.debug("[updateOptions]",t,e),this.isContextUnavailable())return void this.queueNodeOptionUpdate(t,e);const n=this.nodeStore.get(t);if(n&&"function"==typeof n.updateOptions)try{n.updateOptions(e)}catch(n){nv.error("Failed to update node options",t,n),this.queueNodeOptionUpdate(t,e)}else this.queueNodeOptionUpdate(t,e)}addSourceListeners(){var t;"function"==typeof(null===(t=this.source)||void 0===t?void 0:t.on)&&this.source.on("forcerender",this.onForceRender)}removeSourceListeners(){var t;"function"==typeof(null===(t=this.source)||void 0===t?void 0:t.off)&&this.source.off("forcerender",this.onForceRender)}addCanvasListeners(){var t;(null==this||null===(t=this.gl)||void 0===t?void 0:t.canvas)&&(this.config.noWebGLContextLostRecovery||this.gl.canvas.addEventListener("webglcontextlost",this.onWebGLContextLost))}removeCanvasListeners(){var t;(null==this||null===(t=this.gl)||void 0===t?void 0:t.canvas)&&this.gl.canvas.removeEventListener("webglcontextlost",this.onWebGLContextLost)}getNodesOptions(){const t=this.getNodes();let e={};return Object.keys(t).filter((t=>"__default"!==t)).forEach((n=>{e[n]=t[n].options})),e}getDocumentVisibilityPromise(){return new Promise((t=>{"visible"===document.visibilityState&&t();const e=()=>{"visible"===document.visibilityState&&(document.removeEventListener("visibilitychange",e),t())};document.addEventListener("visibilitychange",e)}))}onForceRender(){nv.info("[onForceRender]"),this.render({noRaf:!0})}async onWebGLContextLost(t){if(t&&"function"==typeof t.preventDefault&&t.preventDefault(),this.isDisposed||this.isRecovering)return;this.isContextLost=!0,this.isRecovering=!0;const e=this.getNodesOptions(),n=this.addClientNodeInvocations,i=this.selectedRenderNodeId;cancelAnimationFrame(this.rafId),nv.warn("WebGL context lost - attempting to recover");const r=async()=>{if(this.isDisposed)this.isRecovering=!1;else try{var t;if(await this.getDocumentVisibilityPromise(),this.isDisposed)return void(this.isRecovering=!1);if(this.gl&&"function"==typeof this.gl.isContextLost&&this.gl.isContextLost())return void setTimeout(r,200);this.dispose(!1),this.doInit(this.glSource,this.config),this.textureManager&&"function"==typeof this.textureManager.refreshActiveTextures&&this.textureManager.refreshActiveTextures(),n&&n.length&&n.forEach((t=>{nv.debug("Re-adding client nodes",t),this.addClientNodes(t,!0)})),Object.entries(e).forEach((([t,e])=>{nv.debug("Re-applying node options",t,e);const n=this.nodeStore.get(t);n&&"function"==typeof n.updateOptions&&n.updateOptions(e)})),i&&(this.selectedRenderNodeId=i),this.applyPendingNodeOptionUpdates(!0);const o="function"==typeof(null===(t=this.source)||void 0===t?void 0:t.recover);o&&(nv.debug("Recovering glSource (i.e. seeking/resetting player)"),await this.source.recover()),this.isContextLost=!1,this.isRecovering=!1,o&&this.render()}catch(t){nv.error("Failed to recover WebGL context, retrying",t),setTimeout(r,200)}};await r()}dispose(t=!0){if(this.selectedRenderNode=null,t&&(this.isDisposed=!0,this.isRecovering=!1,this.isContextLost=!1),this.source&&(this.removeSourceListeners(),"function"==typeof this.source.dispose&&this.source.dispose()),this.gl){this.removeCanvasListeners();const e=this.gl.getParameter(this.gl.MAX_TEXTURE_IMAGE_UNITS);for(let t=0;t<e;++t)this.gl.activeTexture(this.gl.TEXTURE0+t),this.gl.bindTexture(this.gl.TEXTURE_2D,null),this.gl.bindTexture(this.gl.TEXTURE_CUBE_MAP,null);if(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,null),this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,null),this.gl.bindFramebuffer(this.gl.FRAMEBUFFER,null),this.gl.bindTexture(this.gl.TEXTURE_2D,null),this.gl.bindRenderbuffer(this.gl.RENDERBUFFER,null),t)try{this.gl.getExtension("WEBGL_lose_context").loseContext()}catch(t){console.error(t)}}this.selectedRenderNodeId=null,t&&delete this.addClientNodeInvocations}}class av{constructor(t={}){this.options=t}get type(){return"stage"}getSignature(){return this.type}build({inputs:t=[]}={}){return{graph:[],outputs:t,signature:this.getSignature()}}}function lv(t={}){const e={source:{center:{x:.5,y:.5},width:1,height:1},target:{center:{x:.5,y:.5},width:1,height:1},fitType:"fill",cornerRadius:0,edgeSoftness:0},n={...e.source,...t.source||{}},i={...e.target,...t.target||{}};return{...e,...t,source:n,target:i}}class cv extends av{get type(){return"retarget"}getSignature(){var t;const e=Array.isArray(null===(t=this.options)||void 0===t?void 0:t.frames)?this.options.frames:[];return`${this.type}:${e.length}`}build({inputs:t=[],stageIndex:e=0}={}){var n;const i=Array.isArray(null===(n=this.options)||void 0===n?void 0:n.frames)?this.options.frames:[];if(!i.length)return{graph:[],outputs:t,signature:this.getSignature()};const r=[],o=[];for(let n=0;n<t.length;n+=1){const s=t[n],a=i[n];if(!a){o.push(s);continue}const l=`retarget-${e}-${n}`;r.push({id:l,type:"crop",inputs:[s],outputs:[l],options:lv(a)}),o.push(l)}return{graph:r,outputs:o,signature:this.getSignature()}}}class uv{#M=new Map;constructor(){this.register("retarget",cv)}register(t,e){t&&"function"==typeof e&&this.#M.set(t,e)}create(t={}){const e="string"==typeof(null==t?void 0:t.type)?t.type:null;if(!e)return null;const n=this.#M.get(e);return n?new n((null==t?void 0:t.options)||{}):null}}class dv{constructor(t={}){this.params=t}static get panAndScanTarget(){return"pre"}static buildDefaultLayoutGraph(t=[]){const e=t[0]||"__SRC_TEXTURE:0";return{type:"default",signature:`default:${t.length}`,isDynamic:!1,graph:[{type:"opacity",inputs:[e],options:{power:1}}]}}static prepareRenderFrames({frames:t}={}){return Array.isArray(t)?t:[]}static getRenderTiming({timing:t}={}){return t&&"object"==typeof t?t:{}}static resetRenderState(t){}render(t){}}class hv extends dv{#A=null;#N=null;static get type(){return"default"}static get aliases(){return["DefaultRenderNode","default"]}static get requiresFrameCadence(){return!1}static buildLayoutGraph({inputs:t=[]}={}){return super.buildDefaultLayoutGraph(t)}static prepareRenderFrames({frames:t}={}){const e=Array.isArray(t)?t:[];if(e.length<=1)return e;const n=e[e.length-1];return n?[n]:e}render(t){var e;const n=(null==t||null===(e=t.visualFramesAvailable)||void 0===e?void 0:e.frames)||[];if(!n.length)return;const i=null==t?void 0:t.shaderGraph,r=null==t?void 0:t.shaderGraphNodeIds;if(!i||"function"!=typeof i.updateOptions||"function"!=typeof i.selectNode)return;const o=null==r?void 0:r.default;if(o)try{const t=n.map(((t,e)=>t?`__SRC_TEXTURE:${e}`:null)).filter(Boolean),e=hv.buildLayoutGraph({inputs:t}),r=e.signature;this.#A!==r&&(i.updateOptions(o,{graph:e.graph}),this.#A=r),this.#N!==o&&(i.selectNode(o),this.#N=o),i.render({noRaf:!0})}catch(t){}}}function fv(t){const e=Number(t);return Number.isFinite(e)?e<=0?0:e>=1?1:e:0}class pv extends dv{#A=null;#N=null;#C=null;static get type(){return"cross-fade"}static get aliases(){return["CrossFadeRenderNode","cross-fade","crossfade"]}static get requiresFrameCadence(){return!0}static get panAndScanTarget(){return"pre"}static buildLayoutGraph({inputs:t=[],normalizedTime:e}={}){if(t.length<2)return super.buildDefaultLayoutGraph(t);const n=fv(e),i=[{type:"opacity",inputs:[t[1]],options:{power:n}},{type:"shapeComposite",inputs:["__PREVIOUS:0",t[0]],options:{}}];return{type:pv.type,signature:`${pv.type}:${t.length}`,isDynamic:!0,graph:i}}static prepareRenderFrames({frames:t,timelineTime:e,active:n}={}){let i=(Array.isArray(t)?t:[]).slice(0,2);if(i.length<2)return i;const r=Number.isFinite(null==n?void 0:n.duration)&&n.duration>0?n.duration:void 0,o=Number.isFinite(null==n?void 0:n.offset)?n.offset:void 0;if(!Number.isFinite(e)||!Number.isFinite(r)||!Number.isFinite(o))return i;const s=fv((e-o)/r);return s<=0?[i[0]]:s>=1?[i[1]]:i}render(t){var e;const n=(null==t||null===(e=t.visualFramesAvailable)||void 0===e?void 0:e.frames)||[];if(!n.length)return;const i=null==t?void 0:t.shaderGraph,r=null==t?void 0:t.shaderGraphNodeIds;if(!i||"function"!=typeof i.updateOptions||"function"!=typeof i.selectNode)return;if(n.length<2){const t=null==r?void 0:r.default;if(!t)return;try{const e="default";if(this.#A!==e){const n=pv.buildLayoutGraph({inputs:["__SRC_TEXTURE:0"]});i.updateOptions(t,{graph:n.graph}),this.#A=e}this.#N!==t&&(i.selectNode(t),this.#N=t),i.render({noRaf:!0})}catch(t){}return}const o=null==r?void 0:r.crossFade;if(o)try{const e=["__SRC_TEXTURE:0","__SRC_TEXTURE:1"],n=pv.buildLayoutGraph({inputs:e,normalizedTime:null==t?void 0:t.renderNodeNormalizedTime}),r=n.signature,s=Number(null==t?void 0:t.renderNodeNormalizedTime),a=Number.isFinite(s)?s:0;this.#A===r&&this.#C===a||(i.updateOptions(o,{graph:n.graph}),this.#A=r,this.#C=a),this.#N!==o&&(i.selectNode(o),this.#N=o),i.render({noRaf:!0})}catch(t){}}}function mv(t,e,n={}){if("number"==typeof(null==t?void 0:t.nodeDurationOverride)&&Number.isFinite(t.nodeDurationOverride))return t.nodeDurationOverride;const i="function"==typeof(null==n?void 0:n.getNode)?n.getNode:e&&"function"==typeof e.get?t=>e.get(t):null;if(!i)return;const r=i(null==t?void 0:t.nodeId);if(!r)return;const o=r.duration;if("number"!=typeof o||Number.isNaN(o)||!Number.isFinite(o))return;const s="string"!=typeof r.state||"ready"===r.state;if(!0!==(null==n?void 0:n.allowUnready)&&!s)return;if(!(!0!==(null==n?void 0:n.allowUnready)||s||o>0))return;let a=0;"number"==typeof t.nodeOffsetOverride&&Number.isFinite(t.nodeOffsetOverride)&&(a=t.nodeOffsetOverride);const l=o-a;return l>0?l:0}function vv(t){return!(!t||!0===t.offsetPending)&&Number.isFinite(t.offset)}function gv(t){return vv(t)?t.offset:void 0}function yv(t,e,n,i={}){if(!t)return!1;const r=gv(t);if(!Number.isFinite(r))return!1;const o=mv(t,n,i);return Number.isFinite(o)?e>=r&&e<r+o:e>=r}function bv(t=[]){if(!Array.isArray(t))return t;const e=[],n=[];return t.forEach((t=>{vv(t)?e.push(t):n.push(t)})),e.sort(((t,e)=>t.offset-e.offset)),t.splice(0,t.length,...e,...n),t}function kv(t=[],e={}){if(!Array.isArray(t)||!t.length)return{updated:!1,resolvedPlacements:[]};const n="function"==typeof e.getPlacementDuration?e.getPlacementDuration:()=>{},i="function"==typeof e.snapPlacementOffset?e.snapPlacementOffset:t=>t,r="function"==typeof e.onResolvedPlacement?e.onResolvedPlacement:null,o=new Map,s=[];if(t.forEach((t=>{null!=t&&t.placementId&&o.set(t.placementId,t),!0===(null==t?void 0:t.offsetPending)&&s.push(t)})),!s.length)return{updated:!1,resolvedPlacements:[]};let a=!1;const l=[];let c=s,u=!0;for(;c.length&&u;){u=!1;const t=[];for(let e=0;e<c.length;e+=1){const s=c[e],d=null==s?void 0:s.offsetAnchorPlacementId;if(!d){t.push(s);continue}const h=o.get(d);if(!h||!0===h.offsetPending){t.push(s);continue}const f=gv(h);if(!Number.isFinite(f)){t.push(s);continue}let p;if("start"===s.offsetAnchorEdge)p=i(f,s);else{const e=n(h);if(!(e>0)){t.push(s);continue}const r=f+e-(Number.isFinite(s.offsetEndSeconds)?s.offsetEndSeconds:0);if(!Number.isFinite(r)){t.push(s);continue}const o=i(r,s);p=!0===s.offsetAnchorIsReference?Math.max(o,r):o}Number.isFinite(p)?(s.offset=p,s.offsetPending=!1,s.offsetAnchorPlacementId=void 0,s.offsetAnchorEdge=void 0,s.offsetAnchorIsReference=void 0,r&&r(s,h,p),l.push(s),a=!0,u=!0):t.push(s)}c=t}return a&&!1!==e.sortPlacements&&bv(t),{updated:a,resolvedPlacements:l}}function wv(t){const e=Number(t);return Number.isFinite(e)?e:0}function xv(t,e={}){const n=function(t){const e=Number(t);return Number.isFinite(e)&&e<0?Math.abs(e):0}(t),i=Number.isFinite(null==e?void 0:e.offsetEndSeconds)?e.offsetEndSeconds:n;var r;return{wantsEndOffset:"end"===(r=t)||null==r||n>0||!0===(null==e?void 0:e.offsetPending),endOffsetSeconds:i,endOffsetFromAtSeconds:n}}function _v(t){if("string"!=typeof t)return null;const e=t.trim();if(!e||"end"===e)return null;const n=Number(e);if(Number.isFinite(n))return null;const i=e.split("@"),r=i[0]?i[0].trim():"";if(!r)return null;if(1===i.length)return{placementId:r,anchor:"start"};if(2!==i.length)return null;const o=i[1]?i[1].trim().toLowerCase():"";return"start"!==o&&"end"!==o?null:{placementId:r,anchor:o}}function Iv(t=[],e,n,i){if(Array.isArray(t))for(let r=0;r<t.length;r+=1){const o=t[r],s="number"==typeof(null==o?void 0:o.offset)?o.offset:0;if(e<s+("number"==typeof(null==o?void 0:o.duration)&&Number.isFinite(o.duration)?o.duration:Number.POSITIVE_INFINITY)&&s<n)throw new Error(i)}}function Tv(t){const e=Number(t);return Number.isFinite(e)&&e>0?e:0}function Ev(t){return(null==t?void 0:t.id)||(null==t?void 0:t.nodeId)||null}function Sv(t,e){return Array.isArray(t)&&e?t.findIndex((t=>Ev(t)===e)):-1}function Mv(t,e,n){const i=function(t,e,n){if(!Array.isArray(e)||0===e.length)return null;const i=e.length;if(null==t||"next"===t){const t=Sv(e,n);return t>=0?(t+1)%i:0}if("prev"===t){const t=Sv(e,n);return t>=0?(t-1+i)%i:i-1}const r=Number(t);return Number.isInteger(r)&&r>=0&&r<i?r:null}(t,e,n);return Number.isInteger(i)?Ev(e[i]):null}function Av(t,e,n,i){const r=function(t,e){if(!Array.isArray(t)||t.length<=1)return t||[];const n=function(t){const e=[],n=new Set;return Array.isArray(t)?(t.forEach((t=>{const i=null==t?void 0:t.placementId;i&&!n.has(i)&&(n.add(i),e.push(i))})),e):e}(e);if(!n.length)return t;const i=new Map;t.forEach((t=>{const e=null==t?void 0:t.placementId;e&&!i.has(e)&&i.set(e,t)}));const r=[],o=new Set;return n.forEach((t=>{const e=i.get(t);e&&!o.has(t)&&(o.add(t),r.push(e))})),t.forEach((t=>{const e=null==t?void 0:t.placementId;e&&!o.has(e)&&(o.add(e),r.push(t))})),r}(function(t,e){const n=function(t){const e=Number(null==t?void 0:t.offset),n=Number(null==t?void 0:t.duration),i=n===Number.POSITIVE_INFINITY,r=Number.isFinite(n)&&n>0||i;return Number.isFinite(e)&&r?{start:e,end:i?Number.POSITIVE_INFINITY:e+n}:null}(e);if(!n||!t||!Array.isArray(t.placements))return[];const i=function(t,e){const n=Number(null==t||null===(e=t.settings)||void 0===e?void 0:e.snapToFps);return!Number.isFinite(n)||n<=0?0:.5/n}(t),r=t.placements.filter((e=>{const r=function(t,e){const n=gv(t);if(!Number.isFinite(n))return null;const i="function"==typeof(null==e?void 0:e.getPlacementDuration)?e.getPlacementDuration(t):void 0;return{start:n,end:Number.isFinite(i)&&i>=0?n+i:Number.POSITIVE_INFINITY}}(e,t);return!!r&&r.start<n.end&&r.end>n.start+i}));return r.sort(((t,e)=>gv(t)-gv(e))),r}(e,n),i),o=function(t,e){const n=[],i=new Set;return Array.isArray(t)?(t.forEach((t=>{const r=null==t?void 0:t.nodeId;if(!r||i.has(r))return;const o="function"==typeof(null==e?void 0:e.getNode)?e.getNode(r):null;if(o){const t="object"==typeof o&&null!==o?o.id||o.nodeId?o:{...o,id:r}:{id:r};n.push(t),i.add(r)}})),n):n}(r,e),s=function(t){const e=new Map;return t.forEach((t=>{const n=null==t?void 0:t.placementId,i=null==t?void 0:t.nodeId;n&&i&&(e.has(i)||e.set(i,[]),e.get(i).push(n))})),e}(r),a=Array.isArray(t.nodes)?t.nodes:[];return a.splice(0,a.length,...o),t.nodes=a,t.placements=r,t.nodePlacementMap=s,{nodes:a,placements:r,nodePlacementMap:s}}function Nv(t,e,n){if(!Array.isArray(t))return null;if(e){const n=t.find((t=>(null==t?void 0:t.placementId)===e));if(n)return n}return n&&t.find((t=>(null==t?void 0:t.nodeId)===n))||null}function Cv(t,e){if(!e||!Array.isArray(t))return null;const n=t.find((t=>(null==t?void 0:t.placementId)===e));return(null==n?void 0:n.nodeId)||null}function Fv(t,e,n){if(!t||!e)return null;const i=e.get(t);if(!Array.isArray(i)||!i.length)return null;for(let e=0;e<i.length;e+=1){const r=i[e];if(Nv(n,r,t))return r}return null}function Ov(t){t.initialized=!1,t.activeRenderPlacementId=null,t.nodes=[],t.placements=[],t.nodePlacementMap=null,t.selectedPlacementId=null,t.previousPlacementId=null,t.pendingSwitch=null,t.switchStartTime=null,t.switchDuration=0,t.switchNormalizedTime=void 0,t.switchTo=null,t.countOfConcurrentChannels=null}class Pv extends dv{static get type(){return"switching"}static get aliases(){return["SwitchingRenderNode","switching","switch"]}static get requiresFrameCadence(){return!0}static get panAndScanTarget(){return"pre"}static buildLayoutGraph({inputs:t=[],normalizedTime:e}={}){if(t.length<2)return super.buildDefaultLayoutGraph(t);const n=fv(e),i=[{type:"opacity",inputs:[t[1]],options:{power:n}},{type:"shapeComposite",inputs:["__PREVIOUS:0",t[0]],options:{}}];return{type:Pv.type,signature:`${Pv.type}:${t.length}`,isDynamic:!0,graph:i}}static getRenderTiming({timing:t,state:e}={}){const n=t&&"object"==typeof t?t:{},i=Number(null==e?void 0:e.switchNormalizedTime);return Number.isFinite(i)?{...n,normalizedTime:fv(i)}:n}static prepareRenderFrames({frames:t,timelineTime:e,timeline:n,active:i,renderNodeParams:r,state:o}={}){const s=Array.isArray(t)?t:[],a=o&&"object"==typeof o?o:{},l=null==i?void 0:i.renderPlacementId;l&&a.activeRenderPlacementId!==l&&(Ov(a),a.activeRenderPlacementId=l);const c=null==r?void 0:r.initSwitching,u=Av(a,n,i,s),d=(f=s,Array.isArray(f)?f.length:0),h=a.countOfConcurrentChannels;var f;if(a.countOfConcurrentChannels=d,"function"==typeof c&&(a.switchTo||(a.switchTo=(t,e)=>{const n=Cv(a.placements,a.selectedPlacementId),i=Mv(t,a.nodes,n);if(!i)return;const r={nodeId:i};e&&Object.prototype.hasOwnProperty.call(e,"crossfadeSeconds")&&void 0!==e.crossfadeSeconds&&(r.crossfadeSeconds=e.crossfadeSeconds),a.pendingSwitch=r}),!a.initialized||h!==d)){a.initialized=!0,a.countOfConcurrentChannels=d;try{c({nodes:u.nodes,countOfConcurrentChannels:d,switchTo:a.switchTo})}catch(f){}}if(!a.selectedPlacementId){const t=Number(null==r?void 0:r.initialChannelIndex),e=Mv(Number.isInteger(t)&&t>=0?t:0,a.nodes,null);let n=null;if(e&&(n=Fv(e,a.nodePlacementMap,s),!n&&a.nodePlacementMap)){const t=a.nodePlacementMap.get(e);Array.isArray(t)&&t.length&&(n=t[0])}a.selectedPlacementId=n||function(t,e){if(Array.isArray(e))for(let i=0;i<e.length;i+=1){var n;const r=null===(n=e[i])||void 0===n?void 0:n.placementId;if(r&&Nv(t,r))return r}const i=Array.isArray(t)?t.find((t=>null==t?void 0:t.placementId)):null;return i?i.placementId:null}(s,a.placements)}if(a.pendingSwitch&&Number.isFinite(e)){const t=Fv(a.pendingSwitch.nodeId,a.nodePlacementMap,s);if(t){const n=a.selectedPlacementId;a.previousPlacementId=n&&n!==t?n:null,a.selectedPlacementId=t;const i=Object.prototype.hasOwnProperty.call(a.pendingSwitch,"crossfadeSeconds"),o=Tv(a.pendingSwitch.crossfadeSeconds),s=Tv(null==r?void 0:r.switchCrossfadeSeconds),l=i?o:s;a.switchDuration=l,l>0?a.switchStartTime=e:(a.switchStartTime=null,a.previousPlacementId=null)}a.pendingSwitch=null}let p;if(Number.isFinite(a.switchStartTime)&&a.switchDuration>0&&Number.isFinite(e)){const t=e-a.switchStartTime;t>=a.switchDuration?(a.switchStartTime=null,a.switchDuration=0,a.previousPlacementId=null):t>=0&&(p=fv(t/a.switchDuration))}a.switchNormalizedTime=Number.isFinite(p)?p:void 0;const m=Cv(a.placements,a.selectedPlacementId),v=Nv(s,a.selectedPlacementId,m)||s[0];let g=null;if(Number.isFinite(a.switchNormalizedTime)&&a.previousPlacementId){const t=Cv(a.placements,a.previousPlacementId),e=Cv(a.placements,a.selectedPlacementId),n=Nv(s,a.previousPlacementId,t),i=Nv(s,a.selectedPlacementId,e);n&&i&&(g=[n,i])}return g||(g=v?[v]:s),g}static resetRenderState(t){t&&"object"==typeof t&&Ov(t)}}const Rv=.5,Dv="auto";function Bv(t){return"vertical"===t?"vertical":"horizontal"}function Lv(t){return void 0===t||t===Dv?Dv:"manual"}function zv(t){const e=Number(t);return Number.isFinite(e)&&e>=0?e:.004}function Wv(t,e){const n=Number(null==t?void 0:t.width),i=Number(null==t?void 0:t.height);return Number.isFinite(n)&&Number.isFinite(i)&&n>0&&i>0?i>n?"vertical":"horizontal":Bv(e)}function jv(t,e){const n=e&&"object"==typeof e&&e.runtimeParams&&"object"==typeof e.runtimeParams?e.runtimeParams:{},i=Object.prototype.hasOwnProperty.call(n,"orientationMode")?n.orientationMode:null==t?void 0:t.orientationMode,r=Object.prototype.hasOwnProperty.call(n,"orientation")?n.orientation:null==t?void 0:t.orientation,o=Object.prototype.hasOwnProperty.call(n,"gap")?n.gap:null==t?void 0:t.gap,s=Lv(i);return{orientationMode:s,orientation:s===Dv?Wv(null==e?void 0:e.viewportSize,r):Bv(r),gap:zv(o)}}function $v(t){t&&"object"==typeof t&&(t.activeRenderPlacementId=null,t.frames=null,t.gridInitialized=!1,t.runtimeParams=null,t.setGridParams=null)}class Uv extends dv{static get type(){return"grid"}static get aliases(){return["GridRenderNode","grid","SideBySideRenderNode","side-by-side","sidebyside"]}static get requiresFrameCadence(){return!1}static get panAndScanTarget(){return"skip"}static resolvePanAndScanTarget({frameCount:t}={}){return t<2?"pre":Uv.panAndScanTarget}static buildLayoutGraph({inputs:t=[],renderNodeParams:e,state:n}={}){const i=Array.isArray(t)?t.slice(0,12):[],r=i.length;if(r<2)return super.buildDefaultLayoutGraph(i);const{orientation:o,gap:s}=jv(e,n),{rows:a,cols:l}=(p=o,(f=r)<=3?"vertical"===p?{rows:f,cols:1}:{rows:1,cols:f}:4===f?{rows:2,cols:2}:f<=6?"vertical"===p?{rows:3,cols:2}:{rows:2,cols:3}:f<=8?"vertical"===p?{rows:4,cols:2}:{rows:2,cols:4}:9===f?{rows:3,cols:3}:"vertical"===p?{rows:4,cols:3}:{rows:3,cols:4}),c=1/a,u=Math.max(0,c-s),d=[],h="grid-slice";var f,p;function m(t){const e=Math.floor(t/l),n=function(t,e,n,i){const r=(e-1)*n;return t===e-1&&i>r?i-r:n}(e,a,l,r),i=n<l?t-e*l:t%l,o=1/n;return{row:e,cellWidth:o,cropWidth:Math.max(0,o-s),targetCenterX:(i+Rv)*o,targetCenterY:(e+Rv)*c}}function v(t,e,n){const i=m(t);return{id:`grid-crop-${t}`,type:"crop",inputs:[e],outputs:[n],options:{source:{center:{x:Rv,y:Rv},width:1,height:1},target:{center:{x:i.targetCenterX,y:i.targetCenterY},width:i.cropWidth,height:u},fitType:"fill",cornerRadius:0,edgeSoftness:0}}}function g(t){const e=m(t);return{id:`grid-mask-${t}`,type:"shapeCompositeMask",inputs:[h,"accum"],outputs:["accum"],options:{type:"box",center:{x:2*e.targetCenterX-1,y:1-2*e.targetCenterY},area:{width:e.cellWidth,height:c},radius:0,edgeSoftness:0}}}d.push(v(0,i[0],"accum"));for(let t=1;t<r;t+=1)d.push(v(t,i[t],h)),d.push(g(t));return{type:Uv.type,signature:`${Uv.type}:${r}:${a}x${l}:${o}:${s}`,isDynamic:!1,graph:d}}static prepareRenderFrames({frames:t,renderNodeParams:e,active:n,state:i}={}){const r=Array.isArray(t)?t.slice(0,12):[],o=i&&"object"==typeof i?i:{},s=null==n?void 0:n.renderPlacementId;s&&o.activeRenderPlacementId!==s&&($v(o),o.activeRenderPlacementId=s);const a=Array.isArray(o.frames)?o.frames:[],l=null==e?void 0:e.initGrid;if("function"==typeof l&&(o.setGridParams||(o.setGridParams=t=>{!function(t,e){if(!t||"object"!=typeof t||!e||"object"!=typeof e)return;const n=t.runtimeParams&&"object"==typeof t.runtimeParams?{...t.runtimeParams}:{};Object.prototype.hasOwnProperty.call(e,"orientationMode")&&(n.orientationMode=Lv(e.orientationMode)),Object.prototype.hasOwnProperty.call(e,"orientation")&&(n.orientation=Bv(e.orientation)),Object.prototype.hasOwnProperty.call(e,"gap")&&(n.gap=zv(e.gap)),t.runtimeParams=n}(o,t),"function"==typeof o.requestRender&&o.requestRender()}),!o.gridInitialized)){o.gridInitialized=!0;const t=jv(e,o);try{l({orientationMode:t.orientationMode,orientation:t.orientation,gap:t.gap,setGridParams:o.setGridParams})}catch(t){}}if(r.length<2){const t=function(t,e){if(!Array.isArray(e)||e.length<2)return t.length?[t[t.length-1]]:[];const n=Math.min(12,Math.max(t.length,e.length,2)),i=t[0]||e[0];return Array.from({length:n},((n,r)=>t[r]||e[r]||i))}(r,a);return o.frames=t,t}return o.frames=r,r}static resetRenderState(t){$v(t)}}const qv=[hv,pv,Pv,Uv],Vv=new Map;function Gv(t){if("string"!=typeof t)return null;const e=t.trim();return e?e.toLowerCase():null}function Hv(t){const e=Gv(t);return e&&Vv.get(e)||null}function Kv(t){return Hv(t)||hv}qv.forEach((t=>function(t){(function(t){const e=Array.isArray(t.aliases)?t.aliases:[],n=t.type;return(n?[n,...e]:e.slice()).filter((t=>"string"==typeof t&&t.trim().length))})(t).forEach((e=>{const n=Gv(e);n&&Vv.set(n,t)}))}(t)));class Xv{static get defaultType(){return hv.type||"default"}static getRenderNodeClass(t){return Hv(t)}static normalizeType(t){const e=Hv(t);return e?e.type:null}static doesRenderNodeTypeRequireFrameCadence(t){const e=Hv(t);return!!e&&!0===e.requiresFrameCadence}static buildLayoutGraph({type:t,inputs:e=[],normalizedTime:n,renderNodeParams:i,state:r}={}){const o=Kv(t);return o&&"function"==typeof o.buildLayoutGraph?o.buildLayoutGraph({inputs:e,normalizedTime:n,renderNodeParams:i,state:r}):hv.buildLayoutGraph({inputs:e,normalizedTime:n,renderNodeParams:i,state:r})}static getPanAndScanTarget(t,e={}){const n=Kv(t);return"post"===(i=n&&"function"==typeof n.resolvePanAndScanTarget?n.resolvePanAndScanTarget(e):null==n?void 0:n.panAndScanTarget)||"skip"===i?i:"pre";var i}static prepareRenderFrames({type:t,frames:e,timelineTime:n,timeline:i,active:r,renderNodeParams:o,state:s}={}){const a=Kv(t);if(a&&"function"==typeof a.prepareRenderFrames){const t=a.prepareRenderFrames({frames:e,timelineTime:n,timeline:i,active:r,renderNodeParams:o,state:s});if(Array.isArray(t))return t}return Array.isArray(e)?e:[]}static getRenderTiming({type:t,timing:e,timelineTime:n,active:i,renderNodeParams:r,state:o}={}){const s=Kv(t),a=e&&"object"==typeof e?e:{};if(s&&"function"==typeof s.getRenderTiming){const t=s.getRenderTiming({timing:a,timelineTime:n,active:i,renderNodeParams:r,state:o});if(t&&"object"==typeof t)return{...a,...t}}return a}static resetRenderState(t,e){const n=Kv(t);n&&"function"==typeof n.resetRenderState&&n.resetRenderState(e)}static resetAllRenderStates(t){t&&"function"==typeof t.forEach&&t.forEach(((t,e)=>{Xv.resetRenderState(e,t)}))}create(t,e){return t&&"function"==typeof t.render?t:new(Kv(t))(e)}}function Yv(t){return Array.isArray(t)?t.filter((t=>t&&"string"==typeof t.type)):[]}function Qv(t,e){return t&&"function"==typeof t.getSignature?t.getSignature():(null==e?void 0:e.type)||"stage"}class Jv{#F;constructor(t){this.#F=t||new uv}build(t={}){const e=(Array.isArray(null==t?void 0:t.frames)?t.frames:[]).length,n=Array.from({length:e},((t,e)=>`__SRC_TEXTURE:${e}`)),i=Xv.normalizeType(null==t?void 0:t.layoutType)||Xv.defaultType,r=null==t?void 0:t.normalizedTime,o=Yv(null==t?void 0:t.preStages),s=Yv(null==t?void 0:t.postStages),a=[],l=[`layout:${i}`,`inputs:${e}`];let c=n;o.forEach(((e,n)=>{const i=this.#F.create(e);if(!i)return;const r=i.build({inputs:c,stageIndex:n,context:t});Array.isArray(null==r?void 0:r.graph)&&r.graph.length&&a.push(...r.graph),Array.isArray(null==r?void 0:r.outputs)&&r.outputs.length&&(c=r.outputs),l.push(Qv(i,e))}));const u=Xv.buildLayoutGraph({type:i,inputs:c,normalizedTime:r,renderNodeParams:null==t?void 0:t.renderNodeParams,state:null==t?void 0:t.renderNodeState}),d=!(null==u||!u.isDynamic);Array.isArray(null==u?void 0:u.graph)&&u.graph.length&&a.push(...u.graph),l.push((null==u?void 0:u.signature)||`${i}:${c.length}`);let h="__PREVIOUS:0";return s.forEach(((e,n)=>{const i=this.#F.create(e);if(!i)return;const r=i.build({inputs:[h],stageIndex:n,context:t});Array.isArray(null==r?void 0:r.graph)&&r.graph.length&&a.push(...r.graph),h=Array.isArray(null==r?void 0:r.outputs)&&r.outputs.length?r.outputs[0]:"__PREVIOUS:0",l.push(Qv(i,e))})),{graph:a,signature:l.join("|"),isDynamic:d}}}const Zv=[0,0,1,1],tg="zoomInExposure",eg=["transform","exposure","fadeToColor","dipToBlack"],ng={zoomInExposure:{filters:{fadeToColor:{duration:150,ease:[1,0,1,0],power:{from:0,to:1},color:"#ffffff"},exposure:!1,transform:{duration:150,ease:[0,.5,.5,1],scale:{from:{x:1,y:1},to:{x:1.1,y:1.1}},translate:{from:{x:0,y:0},to:{x:0,y:0}}}},reverseFilters:{fadeToColor:{duration:700,ease:[0,1,0,1]},exposure:!1,transform:{duration:700,ease:[0,1,0,1]}}},dipToBlack:{filters:{transform:{duration:250,ease:[0,.5,.5,1],scale:{from:{x:1,y:1},to:{x:1.05,y:1.05}},translate:{from:{x:0,y:0},to:{x:0,y:0}}},dipToBlack:{duration:250,ease:[0,.5,.5,1],power:{from:0,to:1}}},reverseFilters:{dipToBlack:{duration:800,ease:[0,1,0,1]}}}};function ig(t,e=0){const n=Number(t);return Number.isFinite(n)?n:e}function rg(t,e=Zv){return Array.isArray(t)&&t.length>=4?t:e}function og(t){return"string"==typeof t&&t.trim()?t.trim():"#ffffff"}function sg(t,e){const n=null==t?void 0:t[e];return!1===n||null==n?null:eh(n)?n:{}}function ag(t={}){let e=0;return eg.forEach((n=>{const i=sg(t,n);if(!i)return;const r=ig(null==i?void 0:i.duration);r>e&&(e=r)})),e}function lg(t,e,n,i,r){const o=[];return eg.forEach((s=>{const a=sg(t,s);if(!a)return;const l=function(t,e,n){const i=ig(null==t?void 0:t.duration);return Number.isFinite(n)&&n>0?i>0&&e>0?i*e:n:i}(a,n,i),c=function(t,e,n,i,r){const o={type:"transition",inputs:["__PREVIOUS:0"],options:{filter:t,startTime:n,duration:i,properties:{}}};if("transform"===t){var s,a,l,c;const t=rg(null==e?void 0:e.ease),n=(null==e||null===(s=e.scale)||void 0===s?void 0:s.from)||{x:1,y:1},i=(null==e||null===(a=e.scale)||void 0===a?void 0:a.to)||{x:1,y:1},r=(null==e||null===(l=e.translate)||void 0===l?void 0:l.from)||{x:0,y:0},u=(null==e||null===(c=e.translate)||void 0===c?void 0:c.to)||{x:0,y:0};return o.options.properties.scale={from:n,to:i,ease:t},o.options.properties.translate={from:r,to:u,ease:t},o}if("fadeToColor"===t){const t=rg(null==e?void 0:e.ease),n=(null==e?void 0:e.power)||{from:0,to:1};return o.options.properties.power={from:ig(null==n?void 0:n.from,0),to:ig(null==n?void 0:n.to,1),ease:t},o.options.properties.color=og((null==e?void 0:e.color)||r),o}if("exposure"===t||"dipToBlack"===t){const t=rg(null==e?void 0:e.ease),n=(null==e?void 0:e.power)||{from:0,to:1};return o.options.properties.power={from:ig(null==n?void 0:n.from,0),to:ig(null==n?void 0:n.to,1),ease:t},o}return null}(s,a,e,l,r);c&&o.push(c)})),o}function cg(t=[]){const e=t.map((t=>{const e=JSON.parse(JSON.stringify(t));return null!=e&&e.options&&(e.options.startTime=0),e}));return JSON.stringify(e)}class ug{#O=null;start(t={}){const e=null==t?void 0:t.shaderGraph;if(!e||"function"!=typeof e.captureTexture)return null;const{baseFilters:n,reverseFilters:i}=function(t={}){const e=function(t={}){if(eh(null==t?void 0:t.transition))return t.transition;if("string"==typeof(null==t?void 0:t.transition))return ng[t.transition]||ng[tg];if(eh(null==t?void 0:t.filters)||eh(null==t?void 0:t.reverseFilters))return{filters:t.filters||{},reverseFilters:t.reverseFilters||{}};if("string"==typeof(null==t?void 0:t.filter)){const e=ig(t.duration)>0?1e3*t.duration:500;return{filters:{[t.filter]:{duration:e,power:{from:0,to:1}}},reverseFilters:{}}}return ng[tg]}(t),n=nh({},(null==e?void 0:e.filters)||{},eh(null==t?void 0:t.filters)?t.filters:{}),i=function(t={}){const e={};return Object.keys(t).forEach((n=>{const i=t[n];if(!1===i)return void(e[n]=!1);const r=JSON.parse(JSON.stringify(eh(i)?i:{}));Object.values(r).forEach((t=>function(t){if(t&&"object"==typeof t&&"from"in t&&"to"in t){const e=t.from;t.from=t.to,t.to=e}}(t))),e[n]=r})),e}(n),r=nh({},(null==e?void 0:e.reverseFilters)||{},eh(null==t?void 0:t.reverseFilters)?t.reverseFilters:{});return{baseFilters:n,reverseFilters:nh({},i,r)}}(t),r=ig(null==t?void 0:t.duration),o=r>0?1e3*r:null,s=ag(n),a=ag(i),l=o&&s>0?o/s:1,c=o&&a>0?o/a:1,u=o||s||500,d=o||a||u,h=og(null==t?void 0:t.color),f=e.captureTexture(),p=Date.now(),m=lg(n,p,l,o,h);return this.#O={phase:"out",startTime:p,outDurationMs:u,inDurationMs:d,color:h,captureId:f,baseFilters:n,reverseFilters:i,outScale:l,inScale:c,durationOverrideMs:o,outGraph:m,outSignature:cg(m),inGraph:null,inSignature:null},{captureId:f,outDurationMs:u,inDurationMs:d}}beginIncoming(){if(!this.#O)return;const t=Date.now(),e=lg(this.#O.reverseFilters,t,this.#O.inScale,this.#O.durationOverrideMs,this.#O.color);this.#O={...this.#O,phase:"in",startTime:t,inGraph:e,inSignature:cg(e)}}reset(t){var e;t&&"function"==typeof t.disposeTexture&&null!==(e=this.#O)&&void 0!==e&&e.captureId&&t.disposeTexture(this.#O.captureId),this.#O=null}getState(){return this.#O}buildOutgoingGraph(){const t=this.#O;return t&&"out"===t.phase&&Array.isArray(t.outGraph)&&t.outGraph.length?{signature:`transition:out:${t.outSignature||""}`,forceUpdate:!1,graph:t.outGraph}:null}buildIncomingGraph(){const t=this.#O;return t&&"in"===t.phase&&Array.isArray(t.inGraph)&&t.inGraph.length?{signature:`transition:in:${t.inSignature||""}`,forceUpdate:!1,graph:t.inGraph}:null}}let dg;const hg=[/firefox\/(\d+)/,/edg\/(\d+)/,/opr\/(\d+)/,/chrome\/(\d+)/];function fg(){const t=ch&&ch.navigator&&(ch.navigator.userAgent||ch.navigator.platform||ch.navigator.vendor)||"";if(dg&&dg.ua===t)return dg;const e=t.toLowerCase(),n=e.includes("android"),i=e.includes("iphone")||e.includes("ipad")||e.includes("ipod")||e.includes("ios"),r=n||i||e.includes("mobile"),o=!!t&&!r,s=e.includes("firefox/"),a=function(t=""){for(let e=0;e<hg.length;e+=1){const n=hg[e],i=t.match(n);if(!i)continue;const r=Number(i[1]);return Number.isFinite(r)?r:null}if(t.includes("safari/")&&t.includes("version/")){const e=t.match(/version\/(\d+)/);if(!e)return null;const n=Number(e[1]);return Number.isFinite(n)?n:null}return null}(e);return dg={ua:t,lowerUA:e,isAndroid:n,isiOS:i,isMobile:r,isDesktop:o,isFirefox:s,browserMajorVersion:a},dg}function pg(){return fg().ua}function mg(){return fg().isAndroid}function vg(){return fg().isiOS}function gg(){return fg().isMobile}function yg(){return fg().isDesktop}function bg(){return fg().isFirefox}function kg(){return fg().browserMajorVersion}var wg={getUserAgent:pg,isAndroid:mg,isiOS:vg,isMobile:gg,isDesktop:yg,isFirefox:bg,getBrowserMajorVersion:kg},xg=Object.freeze({__proto__:null,default:wg,getBrowserMajorVersion:kg,getUserAgent:pg,isAndroid:mg,isDesktop:yg,isFirefox:bg,isMobile:gg,isiOS:vg});const _g="Idle",Ig="Playing",Tg="FirstFramePending",Eg="Waiting",Sg="Paused",Mg="Seeking",Ag="Resetting";function Ng(t){return Array.isArray(t)?t.filter((t=>t&&"string"==typeof t.type)):[]}function Cg(t,e){return!!Array.isArray(t)&&t.some((t=>(null==t?void 0:t.type)===e))}function Fg(t){const e=Number(t);return!Number.isFinite(e)||e<=0?null:{type:"retarget",options:{frames:Array.from({length:e},(()=>({fitType:"fill"})))},meta:{source:"panAndScan"}}}function Og(t){return Array.isArray(t)?t.filter((t=>{return!("panAndScan"===(null==(e=t)||null===(n=e.meta)||void 0===n?void 0:n.source));var e,n})):[]}const Pg=2073600;function Rg(t,e){const n=Number(t);return Number.isFinite(n)&&n>0?n:e}function Dg(t,e){if(null==t)return e;const n=Number(t);return Number.isFinite(n)?n:e}var Bg=new WeakMap,Lg=new WeakMap,zg=new WeakMap,Wg=new WeakMap,jg=new WeakMap,$g=new WeakMap,Ug=new WeakMap,qg=new WeakMap,Vg=new WeakMap,Gg=new WeakMap,Hg=new WeakMap,Kg=new WeakMap,Xg=new WeakMap,Yg=new WeakMap,Qg=new WeakMap,Jg=new WeakMap,Zg=new WeakMap,ty=new WeakMap,ey=new WeakMap,ny=new WeakMap,iy=new WeakMap,ry=new WeakMap,oy=new WeakMap,sy=new WeakMap,ay=new WeakMap,ly=new WeakMap,cy=new WeakMap,uy=new WeakMap,dy=new WeakMap,hy=new WeakMap,fy=new WeakMap,py=new WeakMap,my=new WeakMap,vy=new WeakMap,gy=new WeakSet;class yy extends sh{static get pipelineNodeId(){return"ekoplayer-render-pipeline"}get defaults(){return{defaultRenderParams:void 0,resourceLimits:{enabled:!0,maxCanvasPixels:Pg,maxDevicePixelRatio:0,renderScale:1,transitionMinFrameIntervalMs:33}}}constructor(...t){super(...t),O(this,gy),C(this,Bg,void 0),C(this,Lg,void 0),C(this,zg,void 0),C(this,Wg,void 0),C(this,jg,void 0),C(this,$g,void 0),C(this,Ug,void 0),C(this,qg,void 0),C(this,Vg,void 0),C(this,Gg,void 0),C(this,Hg,void 0),C(this,Kg,void 0),C(this,Xg,null),C(this,Yg,null),C(this,Qg,void 0),C(this,Jg,void 0),C(this,Zg,void 0),C(this,ty,[]),C(this,ey,[]),C(this,ny,null),C(this,iy,null),C(this,ry,null),C(this,oy,null),C(this,sy,null),C(this,ay,null),C(this,ly,new Map),C(this,cy,null),C(this,uy,null),C(this,dy,!1),C(this,hy,!1),C(this,fy,!1),C(this,py,!1),C(this,my,[]),C(this,vy,null);const[e,n,i]=t;F(Bg,this,e),F(Lg,this,n),F(zg,this,i),N(Bg,this)&&"function"==typeof N(Bg,this).enableFirstFrameRenderedGate&&N(Bg,this).enableFirstFrameRenderedGate(),F(Kg,this,new Jv),F(Qg,this,new ug),F(Jg,this,null),F(Zg,this,null),F(ry,this,null),F(Wg,this,(t=>M(gy,this,ib).call(this,t))),N(Bg,this)&&"function"==typeof N(Bg,this).on&&(N(Bg,this).on(dh.VISUAL_FRAMES_AVAILABLE,N(Wg,this)),F(jg,this,(()=>{var t,e,n,i;M(gy,this,_y).call(this),M(gy,this,Jy).call(this,0),F(ey,this,[]),F(ny,this,null),F(Xg,this,null),F(Yg,this,null),M(gy,this,$y).call(this),F(cy,this,null);(null===(t=N(Qg,this))||void 0===t||null===(e=t.getState)||void 0===e?void 0:e.call(t))||null===(n=N(Qg,this))||void 0===n||null===(i=n.reset)||void 0===i||i.call(n,N(Jg,this))})),N(Bg,this).on(dh.TIMELINE_SEEKING,N(jg,this)),F($g,this,((t={})=>{"switch"===(null==t?void 0:t.reason)||"reset"===(null==t?void 0:t.reason)?M(gy,this,ky).call(this):M(gy,this,by).call(this),M(gy,this,Iy).call(this)})),N(Bg,this).on(dh.TIMELINE_RESET,N($g,this)),F(Vg,this,(()=>M(gy,this,Gy).call(this))),N(Bg,this).on(dh.TIMELINE_TIME_UPDATE,N(Vg,this)),F(Ug,this,(()=>{M(gy,this,rb).call(this)&&N(iy,this)&&M(gy,this,ib).call(this,N(iy,this))})),N(Bg,this).on(dh.TIMELINE_STATE_CHANGE,N(Ug,this))),N(Lg,this)&&"function"==typeof N(Lg,this).on&&(F(Gg,this,(()=>{const t=N(iy,this);F(py,this,!0),M(gy,this,by).call(this),F(iy,this,t)})),N(Lg,this).on(dh.CANVAS_WEBGL_CONTEXT_LOST,N(Gg,this)),F(Hg,this,(()=>{var t;const e=null===(t=N(Lg,this))||void 0===t?void 0:t.gl;if(!e||"function"==typeof e.isContextLost&&e.isContextLost())return void F(py,this,!0);const n=N(iy,this);F(py,this,!1),M(gy,this,by).call(this),F(iy,this,n),n&&M(gy,this,rb).call(this)&&M(gy,this,ib).call(this,n)})),N(Lg,this).on(dh.CANVAS_WEBGL_CONTEXT_RESTORED,N(Hg,this))),F(qg,this,(()=>{F(ny,this,null),N(iy,this)&&M(gy,this,rb).call(this)&&M(gy,this,ib).call(this,N(iy,this))})),N(zg,this)&&"function"==typeof N(zg,this).on&&N(zg,this).on(dh.CONTAINER_RESIZE,N(qg,this))}get name(){return"Renderer"}onDispose(){N(Bg,this)&&N(Wg,this)&&"function"==typeof N(Bg,this).off&&N(Bg,this).off(dh.VISUAL_FRAMES_AVAILABLE,N(Wg,this)),N(Bg,this)&&N(jg,this)&&"function"==typeof N(Bg,this).off&&N(Bg,this).off(dh.TIMELINE_SEEKING,N(jg,this)),N(Bg,this)&&N($g,this)&&"function"==typeof N(Bg,this).off&&N(Bg,this).off(dh.TIMELINE_RESET,N($g,this)),N(Bg,this)&&N(Vg,this)&&"function"==typeof N(Bg,this).off&&N(Bg,this).off(dh.TIMELINE_TIME_UPDATE,N(Vg,this)),N(Bg,this)&&N(Ug,this)&&"function"==typeof N(Bg,this).off&&N(Bg,this).off(dh.TIMELINE_STATE_CHANGE,N(Ug,this)),N(zg,this)&&N(qg,this)&&"function"==typeof N(zg,this).off&&N(zg,this).off(dh.CONTAINER_RESIZE,N(qg,this)),N(Lg,this)&&N(Gg,this)&&"function"==typeof N(Lg,this).off&&N(Lg,this).off(dh.CANVAS_WEBGL_CONTEXT_LOST,N(Gg,this)),N(Lg,this)&&N(Hg,this)&&"function"==typeof N(Lg,this).off&&N(Lg,this).off(dh.CANVAS_WEBGL_CONTEXT_RESTORED,N(Hg,this)),M(gy,this,by).call(this),F(Wg,this,null),F(jg,this,null),F($g,this,null),F(Vg,this,null),F(Ug,this,null),F(qg,this,null),F(Gg,this,null),F(Hg,this,null),F(Kg,this,null),F(Qg,this,null),F(ly,this,null),F(cy,this,null),F(Lg,this,null),F(zg,this,null),F(Bg,this,null)}startTransition(t={}){var e,n;const i=null===(e=N(Lg,this))||void 0===e?void 0:e.element,r=null===(n=N(Lg,this))||void 0===n?void 0:n.gl;if(!i||!r)return null;if(N(py,this)||"function"==typeof r.isContextLost&&r.isContextLost())return F(py,this,!0),null;if(M(gy,this,Ey).call(this,i),!N(Jg,this))return null;const o=N(Qg,this).start({shaderGraph:N(Jg,this),duration:null==t?void 0:t.duration,filter:null==t?void 0:t.filter,color:null==t?void 0:t.color,filters:null==t?void 0:t.filters,reverseFilters:null==t?void 0:t.reverseFilters,transition:null==t?void 0:t.transition});return F(ry,this,N(iy,this)||null),M(gy,this,tb).call(this),o}beginTransitionIn(t={}){var e,n;null!==(e=N(Qg,this))&&void 0!==e&&null!==(n=e.beginIncoming)&&void 0!==n&&n.call(e,t),F(ry,this,null),M(gy,this,tb).call(this)}resetTransition(){var t,e;null!==(t=N(Qg,this))&&void 0!==t&&null!==(e=t.reset)&&void 0!==e&&e.call(t,N(Jg,this)),F(ry,this,null),M(gy,this,eb).call(this)}}function by(){if(M(gy,this,_y).call(this),N(Qg,this)&&"function"==typeof N(Qg,this).reset&&N(Qg,this).reset(N(Jg,this)),M(gy,this,Jy).call(this,0),N(Jg,this)&&"function"==typeof N(Jg,this).dispose)try{N(Jg,this).dispose()}catch(t){}F(Jg,this,null),F(Zg,this,null),F(ty,this,[]),F(ey,this,[]),F(dy,this,!1),F(ny,this,null),F(Xg,this,null),F(Yg,this,null),F(iy,this,null),F(ry,this,null),M(gy,this,eb).call(this),M(gy,this,$y).call(this),F(cy,this,null)}function ky(){M(gy,this,_y).call(this),N(Qg,this)&&"function"==typeof N(Qg,this).reset&&N(Qg,this).reset(N(Jg,this)),M(gy,this,Jy).call(this,0),F(ty,this,[]),F(ey,this,[]),F(ny,this,null),F(Xg,this,null),F(Yg,this,null),F(iy,this,null),F(ry,this,null),M(gy,this,eb).call(this),M(gy,this,$y).call(this),F(cy,this,null),F(uy,this,null)}function wy(){const t="function"==typeof ch.requestAnimationFrame?ch.requestAnimationFrame.bind(ch):null,e="function"==typeof ch.cancelAnimationFrame?ch.cancelAnimationFrame.bind(ch):null;return t?{schedule:e=>t(e),cancel(t){"number"==typeof t&&e&&e(t)}}:null}function xy(t){F(my,this,N(my,this).filter((e=>e!==t))),N(my,this).length||F(vy,this,null)}function _y(){N(vy,this)&&N(my,this).forEach((t=>N(vy,this).call(this,t))),F(my,this,[]),F(vy,this,null),F(fy,this,!1)}function Iy(){M(gy,this,_y).call(this),F(hy,this,!1)}function Ty(){if(N(hy,this)||N(fy,this))return;const t=M(gy,this,wy).call(this);if(!t)return;const{schedule:e,cancel:n}=t;let i;F(vy,this,n),F(fy,this,!0),i=e((()=>{let t;M(gy,this,xy).call(this,i),t=e((()=>{M(gy,this,xy).call(this,t),F(fy,this,!1),N(hy,this)||(F(hy,this,!0),N(Bg,this)&&"function"==typeof N(Bg,this).notifyFirstFrameRendered&&N(Bg,this).notifyFirstFrameRendered())})),N(my,this).push(t)})),N(my,this).push(i)}function Ey(t){if(N(Jg,this)||!t)return;const e=this,n={dest:t,src:(t,n)=>{F(Zg,e,n)}};F(Jg,e,new sv(n,{userWillCallRender:!0,glOptions:{contextType:"webgl2"},performanceToggles:{useCanvasSizedFilterTargets:!0}})),N(Jg,e)&&"function"==typeof N(Jg,e).addNodes&&N(Jg,e).addNodes({[oe.pipelineNodeId]:{type:"composite",options:{graph:[]}}})}function Sy(t){var e;if("null"===(null==t?void 0:t.message))return!0;const n=null===(e=N(Lg,this))||void 0===e?void 0:e.gl;return!(!n||"function"!=typeof n.isContextLost||!n.isContextLost())}function My(t,e,n){const i=e||N(iy,this)||null;if(M(gy,this,by).call(this),F(iy,this,i),!n)return this.log.warn("Shader graph render failed; rebuilding graph once.",t),void M(gy,this,ib).call(this,i,!0);this.log.warn("Shader graph render is still unavailable after rebuild; deferring until the next render pass.",t)}function Ay(){var t;const e=null===(t=this.settings)||void 0===t?void 0:t.resourceLimits;return!e||"object"!=typeof e||Array.isArray(e)?{}:e}function Ny(){const t=M(gy,this,Ay).call(this).enabled;return!0===t||!1!==t&&vg()}function Cy(){if(!M(gy,this,Ny).call(this))return 0;const t=Dg(M(gy,this,Ay).call(this).transitionMinFrameIntervalMs,33);return Number.isFinite(t)&&t>0?t:0}function Fy(t,e,n={}){const i=!0===(null==n?void 0:n.useDevicePixelRatio),r=M(gy,this,Ny).call(this),o=i?Rg(null==ch?void 0:ch.devicePixelRatio,1):1;let s=o,a=0;if(r){const t=M(gy,this,Ay).call(this);a=Dg(t.maxCanvasPixels,Pg);const e=Dg(t.maxDevicePixelRatio,0);s=Rg(t.renderScale,1)*(e>0?Math.min(o,e):o)}let l=Math.max(1,Math.round(t*s)),c=Math.max(1,Math.round(e*s));if(r&&a>0){const t=l*c;if(t>a){const e=Math.sqrt(a/t);l=Math.max(1,Math.floor(l*e)),c=Math.max(1,Math.floor(c*e))}}return{width:l,height:c}}function Oy(t=[],e={}){var n;const i=null===(n=N(Lg,this))||void 0===n?void 0:n.element,r=N(Zg,this);if(!i||"function"!=typeof r)return!1;let o=0,s=0;const a=!0===(null==e?void 0:e.useViewportSize);if(a){var l,c,u,d,h,f;const t=Number(null!==(l=null===(c=N(zg,this))||void 0===c?void 0:c.containerWidth)&&void 0!==l?l:null===(u=N(zg,this))||void 0===u?void 0:u.width),e=Number(null!==(d=null===(h=N(zg,this))||void 0===h?void 0:h.containerHeight)&&void 0!==d?d:null===(f=N(zg,this))||void 0===f?void 0:f.height);if(Number.isFinite(t)&&Number.isFinite(e)&&t>0&&e>0)o=Math.round(t),s=Math.round(e);else{const t=Number(i.clientWidth),e=Number(i.clientHeight);Number.isFinite(t)&&Number.isFinite(e)&&t>0&&e>0&&(o=Math.round(t),s=Math.round(e))}}if(!(o>0&&s>0)){if(!Array.isArray(t)||!t.length)return;for(let e=0;e<t.length;e+=1){var p;const n=null===(p=t[e])||void 0===p?void 0:p.frame,i=Number((null==n?void 0:n.displayWidth)||(null==n?void 0:n.codedWidth)||(null==n?void 0:n.videoWidth)||(null==n?void 0:n.naturalWidth)||(null==n?void 0:n.width)),r=Number((null==n?void 0:n.displayHeight)||(null==n?void 0:n.codedHeight)||(null==n?void 0:n.videoHeight)||(null==n?void 0:n.naturalHeight)||(null==n?void 0:n.height));!Number.isFinite(i)||!Number.isFinite(r)||i<=0||r<=0||(i>o&&(o=i),r>s&&(s=r))}}if(!(o>0&&s>0))return!1;const m=M(gy,this,Fy).call(this,o,s,{useDevicePixelRatio:a}),v=m.width,g=m.height,y=N(ny,this);return!(y&&y.width===v&&y.height===g||(F(ny,this,{width:v,height:g}),r(null,null,v,g),0))}function Py(t){const e=null==t?void 0:t.nodeId,n=null==t?void 0:t.trackId,i=null==t?void 0:t.segmentId,r=null==t?void 0:t.presentationTime;return e&&n&&i&&Number.isFinite(r)?`${e}:${n}:${i}@${r}`:null}function Ry(t,e,n){const i=Number.isFinite(null==t?void 0:t.duration)&&t.duration>0?t.duration:void 0;let r;if(i&&Number.isFinite(null==t?void 0:t.offset)){const n=(e-t.offset)/i;r=n<0?0:n>1?1:n}const o=M(gy,this,Dy).call(this,t),s=M(gy,this,By).call(this,o);return Xv.getRenderTiming({type:o,timing:{duration:i,normalizedTime:r},timelineTime:e,active:t,renderNodeParams:n,state:s})}function Dy(t){return Xv.normalizeType(null==t?void 0:t.type)||Xv.defaultType}function By(t){if(!t||!N(ly,this))return null;let e=N(ly,this).get(t);return e||(e={},N(ly,this).set(t,e)),e}function Ly(){var t,e,n,i,r,o,s,a,l,c,u;const d=Number(null!==(t=null===(e=N(zg,this))||void 0===e?void 0:e.containerWidth)&&void 0!==t?t:null===(n=N(zg,this))||void 0===n?void 0:n.width),h=Number(null!==(i=null===(r=N(zg,this))||void 0===r?void 0:r.containerHeight)&&void 0!==i?i:null===(o=N(zg,this))||void 0===o?void 0:o.height);if(Number.isFinite(d)&&Number.isFinite(h)&&d>0&&h>0)return{width:Math.round(d),height:Math.round(h)};const f=null===(s=N(Lg,this))||void 0===s?void 0:s.element,p=Number(null==f?void 0:f.clientWidth),m=Number(null==f?void 0:f.clientHeight);if(Number.isFinite(p)&&Number.isFinite(m)&&p>0&&m>0)return{width:Math.round(p),height:Math.round(m)};const v=Number(null!==(a=null==f?void 0:f.width)&&void 0!==a?a:null===(l=N(ny,this))||void 0===l?void 0:l.width),g=Number(null!==(c=null==f?void 0:f.height)&&void 0!==c?c:null===(u=N(ny,this))||void 0===u?void 0:u.height);return Number.isFinite(v)&&Number.isFinite(g)&&v>0&&g>0?{width:Math.round(v),height:Math.round(g)}:null}function zy(t){const e=M(gy,this,By).call(this,t);return e&&"object"==typeof e&&(e.requestRender=()=>M(gy,this,Wy).call(this),e.viewportSize=M(gy,this,Ly).call(this)),e}function Wy(){N(dy,this)||(F(dy,this,!0),Promise.resolve().then((()=>{F(dy,this,!1),N(iy,this)&&M(gy,this,rb).call(this)&&M(gy,this,ib).call(this,N(iy,this))})))}function jy(t){if(!t||!N(ly,this))return;const e=N(ly,this).get(t);e&&Xv.resetRenderState(t,e),N(ly,this).delete(t)}function $y(){N(ly,this)&&(Xv.resetAllRenderStates(N(ly,this)),N(ly,this).clear())}function Uy(t,e,n,i){const r=M(gy,this,Dy).call(this,t);N(cy,this)&&N(cy,this)!==r&&M(gy,this,jy).call(this,N(cy,this)),F(cy,this,r);const o=M(gy,this,zy).call(this,r);return Xv.prepareRenderFrames({type:r,frames:e,timelineTime:n,timeline:N(Bg,this),active:t,renderNodeParams:i,state:o})}function qy(t){var e;return null!=t&&t.params&&"object"==typeof t.params?t.params:!t&&null!==(e=this.settings)&&void 0!==e&&e.defaultRenderParams&&"object"==typeof this.settings.defaultRenderParams?this.settings.defaultRenderParams:{}}function Vy(t){return t?String(t.renderPlacementId||t.type||"unknown"):"default"}function Gy(){if(!N(Bg,this)||!N(iy,this))return;const t=N(Bg,this).currentTime,e=N(Bg,this).getActiveRenderPlacement(t),n=M(gy,this,Vy).call(this,e);n!==N(uy,this)&&(F(uy,this,n),M(gy,this,ib).call(this,{...N(iy,this),time:t}))}function Hy(t){return!t||"object"!=typeof t||!Object.prototype.hasOwnProperty.call(t,"panAndScan")||!1!==t.panAndScan}function Ky(t,e){const n=M(gy,this,qy).call(this,t),i=null==n?void 0:n.stages;let r=Ng(null==i?void 0:i.pre),o=Ng(null==i?void 0:i.post);const s=M(gy,this,Hy).call(this,n),a=M(gy,this,Dy).call(this,t),l=Cg(r,"retarget")||Cg(o,"retarget");if(s&&!l){const i=Xv.getPanAndScanTarget(a,{frameCount:Array.isArray(e)?e.length:0,active:t,renderNodeParams:n});if("pre"===i){const t=Fg(Array.isArray(e)?e.length:0);t&&(r=[t,...r])}else if("post"===i){const t=Fg(1);t&&(o=[...o,t])}}else s||(r=Og(r),o=Og(o));return{preStages:r,postStages:o,renderNodeParams:n}}function Xy(t,e,n,i,r){const o=r||M(gy,this,Ry).call(this,t,n,i),s=M(gy,this,Ky).call(this,t,e),a=M(gy,this,Dy).call(this,t),l=M(gy,this,zy).call(this,a);return N(Kg,this).build({layoutType:null==t?void 0:t.type,frames:e,preStages:s.preStages,postStages:s.postStages,normalizedTime:o.normalizedTime,renderNodeDuration:o.duration,renderNodeParams:s.renderNodeParams,renderNodeState:l,timelineTime:n})}function Yy(){var t,e;const n=null===(t=N(Qg,this))||void 0===t||null===(e=t.getState)||void 0===e?void 0:e.call(t);return"out"===(null==n?void 0:n.phase)?N(Qg,this).buildOutgoingGraph():"in"===(null==n?void 0:n.phase)?N(Qg,this).buildIncomingGraph():null}function Qy(t,e,n,i){const r=n||e!==N(Xg,this),o=r||i;return r&&N(Jg,this)&&"function"==typeof N(Jg,this).updateOptions&&(N(Jg,this).updateOptions(oe.pipelineNodeId,{graph:t}),F(Xg,this,e)),N(Jg,this)&&"function"==typeof N(Jg,this).selectNode&&N(Yg,this)!==oe.pipelineNodeId&&(N(Jg,this).selectNode(oe.pipelineNodeId),F(Yg,this,oe.pipelineNodeId)),!(!o||!N(Jg,this)||"function"!=typeof N(Jg,this).render||(N(Jg,this).render({noRaf:!0}),0))}function Jy(t){if(!Array.isArray(N(ty,this))||!N(ty,this).length)return;const e=Number.isFinite(t)?Math.max(0,t):0;if(!(N(ty,this).length<=e)){for(let t=e;t<N(ty,this).length;t+=1){const e=N(ty,this)[t];if(e&&N(Jg,this)&&"function"==typeof N(Jg,this).releaseTexture)try{N(Jg,this).releaseTexture(e)}catch(t){}}N(ty,this).length=e,N(ey,this).length=e}}function Zy(t=[]){if(!N(Jg,this)||"function"!=typeof N(Jg,this).addTexture)return{didUpdate:!1,hasUploadFailure:!1,ready:!1};if("function"==typeof N(Jg,this).isContextUnavailable&&N(Jg,this).isContextUnavailable())return{didUpdate:!1,hasUploadFailure:!1,ready:!1};if(!Array.isArray(t)||!t.length)return M(gy,this,Jy).call(this,0),{didUpdate:!1,hasUploadFailure:!1,ready:!1};M(gy,this,Jy).call(this,t.length);let e=!1,n=!1,i=!0;for(let o=0;o<t.length;o+=1){var r;N(ty,this)[o]||"function"!=typeof N(Jg,this).addTexture||(N(ty,this)[o]=N(Jg,this).addTexture(null,"frame",o));const s=M(gy,this,Py).call(this,t[o]),a=null===(r=t[o])||void 0===r?void 0:r.frame;if(N(ty,this)[o]&&a){if(!s||s!==N(ey,this)[o])try{N(ty,this)[o].fill(a),N(ey,this)[o]=s,e=!0}catch(t){i=!1,n=!0,N(ey,this)[o]=null}}else i=!1}return{didUpdate:e,hasUploadFailure:n,ready:i}}function tb(){if(N(oy,this))return;const t="function"==typeof ch.requestAnimationFrame?t=>ch.requestAnimationFrame(t):t=>setTimeout(t,16),e="function"==typeof ch.cancelAnimationFrame?t=>ch.cancelAnimationFrame(t):clearTimeout;F(sy,this,e);const n=()=>{var e,i;if(null!==(e=N(Qg,this))&&void 0!==e&&null!==(i=e.getState)&&void 0!==i&&i.call(e)){if(N(iy,this)){const t=M(gy,this,Cy).call(this),e=Date.now();(!t||!N(ay,this)||e-N(ay,this)>=t)&&(F(ay,this,e),M(gy,this,ib).call(this,N(iy,this)))}F(oy,this,t(n))}else F(oy,this,null)};F(oy,this,t(n))}function eb(){N(oy,this)&&N(sy,this)&&N(sy,this).call(this,N(oy,this)),F(oy,this,null),F(sy,this,null),F(ay,this,null)}function nb(t){var e,n;const i=null===(e=N(Qg,this))||void 0===e||null===(n=e.getState)||void 0===n?void 0:n.call(e);return"out"===(null==i?void 0:i.phase)&&N(ry,this)?N(ry,this):t}function ib(t={},e=!1){try{var n,i;t&&F(iy,this,t);const e=null===(n=N(Lg,this))||void 0===n?void 0:n.element,r=null===(i=N(Lg,this))||void 0===i?void 0:i.gl;if(!e||!r)return;if(N(py,this)||"function"==typeof r.isContextLost&&r.isContextLost())return void F(py,this,!0);if(!M(gy,this,rb).call(this))return;const o=M(gy,this,nb).call(this,t),s=Number.isFinite(null==o?void 0:o.time)?o.time:void 0;if(!Number.isFinite(s))return;if(M(gy,this,Ey).call(this,e),!N(Jg,this))return;const a=N(Bg,this)&&"function"==typeof N(Bg,this).getActiveRenderPlacement?N(Bg,this).getActiveRenderPlacement(s):void 0,l=M(gy,this,Vy).call(this,a);l!==N(uy,this)&&F(uy,this,l);const c=Array.isArray(null==o?void 0:o.frames)?o.frames:[],u=M(gy,this,qy).call(this,a),d=M(gy,this,Hy).call(this,u),h=M(gy,this,Uy).call(this,a,c,s,u),f=M(gy,this,Ry).call(this,a,s,u),p=M(gy,this,Oy).call(this,h,{useViewportSize:d}),m=M(gy,this,Zy).call(this,h),v=m.didUpdate;if(h.length>0&&!m.ready)return void(m.hasUploadFailure&&this.log.warn("Skipping render because one or more input textures could not be uploaded."));const g=M(gy,this,Xy).call(this,a,h,s,u,f),y=M(gy,this,Yy).call(this);let b=g.graph,k=g.signature,w=!!g.isDynamic;y&&Array.isArray(y.graph)&&y.graph.length&&(b=b.concat(y.graph),k=`${k}|${y.signature||"transition"}`,w=w||!!y.forceUpdate);const x=p||v||w||y&&Array.isArray(y.graph)&&y.graph.length;M(gy,this,Qy).call(this,b,k,w,x)&&h.length>0&&M(gy,this,Ty).call(this)}catch(n){if(M(gy,this,Sy).call(this,n))return void M(gy,this,My).call(this,n,t,e);throw n}}function rb(){var t;const e=null===(t=N(Bg,this))||void 0===t?void 0:t.state;return e===_g||e===Tg||e===Ig||e===Sg}function ob(t){return"number"==typeof t&&Number.isFinite(t)&&t>0}function sb(t){return t&&"resource"===t.entryType&&t.transferSize>0&&t.duration>0&&t.responseEnd>=t.requestStart}function ab(t){return Array.isArray(t)&&0!==t.length?t.reduce(((t,e)=>t+e),0)/t.length:NaN}oe=yy;var lb=new WeakMap,cb=new WeakMap,ub=new WeakMap,db=new WeakMap,hb=new WeakSet;class fb extends sh{get name(){return"DownloadSpeedGuesstimator"}get defaults(){return{persistentStorage:{key:"ekoDownloadSpeedKbps",ttl:-1},priorities:[["resourceTiming","downlink","persistentValue"],["resourceTiming","downlink"],["resourceTiming","persistentValue","ua"],["resourceTiming","ua","defaultKbps"],["downlink","persistentValue"],["downlink"],["persistentValue"],["connectionType"],["ua"],["defaultKbps"]],defaultKbps:2500,connectionType:{"slow-2g":50,"2g":70,"3g":700,"4g":3500,bluetooth:750,cellular:750,ethernet:3500,wifi:2500,wimax:2500,none:0},ua:{desktop:2500,ios:2500,android:2500}}}constructor(...t){super(...t),O(this,hb),C(this,lb,void 0),C(this,cb,void 0),C(this,ub,void 0),C(this,db,void 0),F(lb,this,!!(ch&&ch.navigator&&ch.navigator.connection)),F(cb,this,!(!ch||!ch.performance||"function"!=typeof ch.performance.getEntriesByType)),F(ub,this,M(hb,this,mb).call(this)),F(db,this,M(hb,this,kb).call(this))}guesstimate(){const t=M(hb,this,xb).call(this);this.log.debug("[guesstimate] Data:",t);const e=M(hb,this,wb).call(this,t),n=ob(e)?e:t.defaultKbps;return M(hb,this,vb).call(this,n),this.log.info(`[guesstimate] Result: ${n} kbps`),n}update(t){ob(t)&&M(hb,this,vb).call(this,t)}onDispose(){F(ub,this,void 0),F(db,this,void 0)}}function pb(){return Math.round(Date.now()/1e3)}function mb(){try{if(!ch||!ch.localStorage||"function"!=typeof ch.localStorage.getItem)return}catch(t){return}const t=this.settings.persistentStorage.key,e=ch.localStorage.getItem(t);if(e)try{const t=JSON.parse(e),n=this.settings.persistentStorage.ttl,i=M(hb,this,pb).call(this)-t.timestamp;if("number"==typeof n&&n>=0&&i>n)return null;if(!ob(t.value))return;return t.value}catch(t){return}}function vb(t){if(!ob(t))return;try{if(!ch||!ch.localStorage||"function"!=typeof ch.localStorage.setItem)return}catch(t){return}const e=this.settings.persistentStorage.key,n=JSON.stringify({value:t,timestamp:M(hb,this,pb).call(this)});try{ch.localStorage.setItem(e,n),F(ub,this,t)}catch(t){}}function gb(){return ch&&ch.performance&&"function"==typeof ch.performance.getEntriesByType?ab(ch.performance.getEntriesByType("resource").filter(sb).map((t=>8*t.transferSize/t.duration))):NaN}function yb(){if(!ch||!ch.navigator||!ch.navigator.connection)return NaN;const t=ch.navigator.connection.downlink;return ob(t)?1e3*t:NaN}function bb(){if(!N(lb,this))return NaN;const t=ch.navigator.connection,e=t.effectiveType||t.type,n=this.settings.connectionType||{};return e&&Object.prototype.hasOwnProperty.call(n,e)?n[e]:NaN}function kb(){const t=this.settings.ua||{};return mg()?t.android:vg()?t.ios:t.desktop}function wb(t){const e=Array.isArray(this.settings.priorities)?this.settings.priorities:[];for(let n=0;n<e.length;n+=1){const i=e[n];if(!Array.isArray(i)||0===i.length)continue;const r=i.map((e=>t[e])).filter((t=>ob(t)));if(r.length===i.length)return this.log.debug("[#selectFromPriorities] Selected from priorities:",i,"with values:",r),ab(r)}return NaN}function xb(){const t=this.settings.testOverrides||{},e=ob(t.resourceTiming)?t.resourceTiming:M(hb,this,gb).call(this),n=ob(t.downlink)?t.downlink:M(hb,this,yb).call(this),i=ob(t.persistentValue)?t.persistentValue:N(ub,this),r=ob(t.connectionType)?t.connectionType:M(hb,this,bb).call(this),o=ob(t.ua)?t.ua:N(db,this);return{defaultKbps:this.settings.defaultKbps,resourceTiming:e,downlink:n,connectionType:r,persistentValue:i,ua:o}}const _b=new th;function Ib(t){return"string"!=typeof t||0===t.length?[]:t.split(".").filter((t=>t.length>0))}function Tb(t){if("string"!=typeof t)return!1;if(0===t.length)return!1;const e=Number(t);return Number.isInteger(e)&&String(e)===t}function Eb(t){return null!==t&&"object"==typeof t}function Sb(t,e,n){const i=Ib(e);if(0===i.length)return void 0===t?n:t;let r=t;for(let t=0;t<i.length;t+=1){if(null==r)return n;if(r=r[i[t]],void 0===r)return n}return void 0===r?n:r}function Mb(t,e,n){if(!Eb(t))return t;const i=Ib(e);if(0===i.length)return t;let r=t;for(let t=0;t<i.length;t+=1){const e=i[t];if(t===i.length-1){r[e]=n;break}Eb(r[e])||(r[e]=Tb(i[t+1])?[]:{}),r=r[e]}return t}const Ab={get:(t,e)=>ch&&ch.eko?Sb(ch.eko,t,e):e,set(t,e){if(ch)return ch.eko&&"object"==typeof ch.eko||(ch.eko={}),Mb(ch.eko,t,e),ch.eko}},Nb=ch&&ch.performance,Cb=Nb&&"function"==typeof Nb.now?()=>Nb.now():()=>Date.now();function Fb(){return"undefined"==typeof AbortController?null:new AbortController}function Ob(){const t=new Error("The operation was aborted");return t.name="AbortError",t.code="ABORT_ERR",t}function Pb(t,e){return!(!e||!e.aborted)||!!t&&("AbortError"===t.name||"ABORT_ERR"===t.code||20===t.code)}const Rb=2,Db=100,Bb=2,Lb="runtime.downloadSpeedSamples",zb=Zd("download","warn");function Wb(t){return new Promise((e=>{setTimeout(e,t)}))}function jb(t){return t>=500}function $b(t){if(!t||!t.headers||"function"!=typeof t.headers.get)return 0;const e=t.headers.get("content-length");if(!e)return 0;const n=Number(e);return Number.isNaN(n)||n<0?0:n}function Ub(t,e,n,i,r,o){const s={bytes:t,durationMs:e,kbps:e>0?8*t/e:0,startTime:n,endTime:i,url:o};try{let t=Ab.get(r);t||(t=[],Ab.set(r,t)),t.push(s)}catch(t){}return s}async function qb(t,e={}){const{method:n="GET",headers:i,body:r,retries:o=Rb,retryDelay:s=Db,backoffFactor:a=Bb,samplesTargetPath:l=Lb,fetch:c,loglevel:u="warn",cache:d,signal:h,onProgress:f,returnType:p="default"}=e;zb.setLevel(u);const m=function(t){if(t)return t;if(ch&&"function"==typeof ch.fetch)return ch.fetch.bind(ch);throw new Error("fetch is not available in this environment")}(c);let v=0,g=s;for(;;){if(h&&h.aborted)throw Ob();const e=Cb();try{const s=await m(t,{method:n,headers:i,body:r,cache:d,mode:"cors",signal:h});if(h&&h.aborted)throw Ob();if(!s.ok){if(v<o&&jb(s.status)){v+=1,zb.warn(`[${t}] Download attempt #${v} failed with status ${s.status}, retrying in ${g}ms...`),await Wb(g),g*=a;continue}zb.error(`[${t}] Download attempt #${v} failed with status ${s.status}, no more retries.`);const e=new Error(`Download failed with status ${s.status}`);throw e.status=s.status,e}let c=Cb();const u=$b(s),y="arrayBuffer"===p||"bytes"===p,b=y&&"function"==typeof f;let k,w,x,_,I,T=0;if(y&&s.body&&"function"==typeof s.body.getReader&&b){const t=s.body.getReader(),e=[];for(;;){if(h&&h.aborted)throw Ob();const{done:n,value:i}=await t.read();if(n)break;if(i&&i.length){const t=Cb();Number.isFinite(_)||(_=t),I=t,e.push(i),T+=i.length,f({loaded:T,total:u||void 0,chunk:i})}}k=new Uint8Array(T);let n=0;e.forEach((t=>{k.set(t,n),n+=t.length})),c=Cb()}else if(y){const t=await s.arrayBuffer();k=new Uint8Array(t),T=k.length,c=Cb()}else"text"===p?(w=await s.text(),c=Cb()):"json"===p&&(x=await s.json(),c=Cb());if(h&&h.aborted)throw Ob();const E=y?k?k.length:T:("text"===p&&"string"==typeof w?w.length:0)||("json"===p&&x?JSON.stringify(x).length:0),S=u||E||0;let M=e,A=c;Number.isFinite(_)&&(M=_,Number.isFinite(I)&&(A=Math.max(I,c))),(!Number.isFinite(M)||!Number.isFinite(A)||A<M)&&(M=e,A=c);const N=Math.max(0,A-M),C=Ub(S,N,M,A,l,t);try{_b.trigger("download:sample",C)}catch(t){}const F={response:s,bytes:S,durationMs:N,kbps:C.kbps,startTime:C.startTime,endTime:C.endTime};if("default"===p)return F;if("arrayBuffer"===p||"bytes"===p){const t=k||new Uint8Array(await s.arrayBuffer());return"arrayBuffer"===p?t.buffer:t}return"text"===p?w:"json"===p?x:F}catch(e){if(Pb(e,h))throw"AbortError"===e.name?e:Ob();if(!(v<o)||e.status&&!jb(e.status))throw zb.error(`[${t}] Download attempt #${v} failed with error ${e}, no more retries.`),e;v+=1,zb.warn(`[${t}] Download attempt #${v} failed with error ${e}, retrying in ${g}ms...`),await Wb(g),g*=a}}}const Vb={disabledTracks:{default:["audio"],targetPaths:["NodeRepository.disabledTracks"]},muted:{default:!1,targetPaths:["AudioPlaybackManager.muted"]},volume:{default:1,targetPaths:["AudioPlaybackManager.volume"]},encodeProfile:{default:null,targetPaths:["AssetsDeliveryService.profile"]},forceVideoCodec:{default:void 0,targetPaths:["NodeRepository.forceVideoCodec"]},forceImageFallback:{default:!1,targetPaths:["NodeRepository.forceImageFallback"]},mediaHostRewriteMap:{default:{"storageeko.s3.amazonaws.com":"https://storage.eko.com","studioz-post.s3.amazonaws.com":"https://studioz-post.eko.com"},targetPaths:["NodeRepository.mediaHostRewriteMap"]},playbackRate:{default:1,targetPaths:["PlaybackClock.playbackRate"]},initialKbps:{default:"auto",targetPaths:["DownloadSpeed.initialKbps"]},defaultRenderParams:{default:void 0,targetPaths:["Renderer.defaultRenderParams"]},maxBufferedVideoFrames:{default:24,targetPaths:["Timeline.maxBufferedVideoFrames"]},waitingBufferAheadSeconds:{default:3,targetPaths:["Timeline.waitingBufferAheadSeconds"]},abrStrategy:{default:"auto",targetPaths:["ABRSelector.abrStrategy"]},segmentEvictionEnabled:{default:!0,targetPaths:["SegmentEvictionCoordinator.enabled"]},segmentEvictionBufferBehindSeconds:{default:30,targetPaths:["SegmentEvictionCoordinator.bufferBehindSeconds"]},segmentEvictionBufferAheadSeconds:{default:30,targetPaths:["SegmentEvictionCoordinator.bufferAheadSeconds"]},segmentEvictionMaxRetainedBytes:{default:52428800,targetPaths:["SegmentEvictionCoordinator.maxRetainedBytes"]},autoplay:{default:!0,targetPaths:["Idle.autoplay"]},autoPauseOnVisibilityChange:{default:!0,targetPaths:["DocumentVisibility.autoPauseOnVisibilityChange"]},autoResumeOnVisibilityChange:{default:!0,targetPaths:["DocumentVisibility.autoResumeOnVisibilityChange"]},trackingEnabled:{default:!0,targetPaths:["Tracker.trackingEnabled"]}},Gb=Object.freeze(Object.entries(Vb).reduce(((t,[e,n])=>(Object.prototype.hasOwnProperty.call(n,"default")&&(t[e]=n.default),t)),{})),Hb=Zd("config","warn");function Kb(t){return Gb[t]}var Xb=new WeakMap,Yb=new WeakMap,Qb=new WeakMap,Jb=new WeakMap,Zb=new WeakMap,tk=new WeakSet;class ek extends sh{get name(){return"DownloadSpeed"}get defaults(){return{alpha:.3,maxSamples:30,minBytesPerSample:1024,minDurationMs:5,maxSampleKbpsCap:void 0,ignoreCacheHits:!0,samplesPath:"runtime.downloadSpeedSamples",initialKbps:Kb("initialKbps"),probeUrl:void 0,defaultKbps:2500}}constructor(...t){super(...t),O(this,tk),C(this,Xb,void 0),C(this,Yb,void 0),C(this,Qb,void 0),C(this,Jb,void 0),C(this,Zb,void 0),F(Qb,this,[]),F(Yb,this,0),F(Xb,this,M(tk,this,rk).call(this)),F(Zb,this,Fb()),F(Jb,this,(t=>{M(tk,this,uk).call(this,t,"event")})),M(tk,this,ok).call(this),_b.on("download:sample",N(Jb,this)),M(tk,this,sk).call(this),this.log.debug(`[#constructor] Initial estimate: ${N(Xb,this)} kbps`)}getKbps(){return N(Xb,this)}addSample(t){M(tk,this,uk).call(this,t,"manual")}reset(){F(Qb,this,[]),F(Yb,this,0),F(Xb,this,M(tk,this,rk).call(this))}onDispose(){N(Zb,this)&&N(Zb,this).abort(),F(Zb,this,null),_b.off("download:sample",N(Jb,this)),F(Qb,this,[]),F(Yb,this,0),F(Xb,this,void 0),F(Jb,this,null)}}function nk(t,e){return!!(this.settings.ignoreCacheHits&&(0===e||t&&"boolean"==typeof t.cached&&t.cached||t&&"number"==typeof t.transferSize&&"number"==typeof t.encodedBodySize&&t.transferSize<=t.encodedBodySize))}function ik(t){if(!t||"object"!=typeof t)return null;const e=Number(t.bytes),n=Number(t.durationMs);let i=ob(t.kbps)?Number(t.kbps):NaN;return!ob(i)&&n>0&&ob(e)&&(i=8*e/n),ob(i)?e<=this.settings.minBytesPerSample||n<=this.settings.minDurationMs||M(tk,this,nk).call(this,t,e)?null:(ob(this.settings.maxSampleKbpsCap)&&i>this.settings.maxSampleKbpsCap&&(i=this.settings.maxSampleKbpsCap),{...t,bytes:e,durationMs:n,kbps:i}):null}function rk(){const t=this.settings.initialKbps;if(ob(t))return t;if("auto"===t)try{const t=(new fb).guesstimate();if(ob(t))return t}catch(t){}return this.settings.defaultKbps}function ok(){const t=Ab.get(this.settings.samplesPath,[]);if(!Array.isArray(t)||0===t.length)return;const e=t.slice(-this.settings.maxSamples);for(let t=0;t<e.length;t+=1)M(tk,this,uk).call(this,e[t],"replay",{emit:!1})}async function sk(){if(!this.settings.probeUrl||N(Yb,this)>0)return;const t=N(Zb,this)?N(Zb,this).signal:void 0;if(!t||!t.aborted)try{await qb(this.settings.probeUrl,{cache:"no-store",samplesTargetPath:this.settings.samplesPath,signal:t})}catch(t){}}function ak(t){return"number"==typeof t.startTime&&"number"==typeof t.endTime&&Number.isFinite(t.startTime)&&Number.isFinite(t.endTime)&&t.startTime>=0&&t.endTime>t.startTime}function lk(t,e){if(!M(tk,this,ak).call(this,t)||!M(tk,this,ak).call(this,e))return 0;const n=Math.max(t.startTime,e.startTime);return Math.min(t.endTime,e.endTime)-n}function ck(t){if(!M(tk,this,ak).call(this,t))return t;const e=[];for(let n=0;n<N(Qb,this).length;n+=1){const i=N(Qb,this)[n];M(tk,this,ak).call(this,i)&&(M(tk,this,lk).call(this,t,i)>0&&e.push(i))}if(0===e.length)return t;F(Qb,this,N(Qb,this).filter((t=>!e.includes(t))));const n=[t,...e],i=n.reduce(((t,e)=>t+(e.bytes||0)),0),r=Math.min(...n.map((t=>t.startTime))),o=Math.max(...n.map((t=>t.endTime))),s=o-r;if(!ob(i)||s<=0)return t;const a={bytes:i,durationMs:s,kbps:8*i/s,startTime:r,endTime:o,url:t.url||e[e.length-1].url};return M(tk,this,ik).call(this,a)}function uk(t,e,{emit:n=!0}={}){const i=M(tk,this,ik).call(this,t);if(!i)return;const r=M(tk,this,ck).call(this,i);if(!r)return;F(Yb,this,N(Yb,this)+1),N(Qb,this).push(r),N(Qb,this).length>this.settings.maxSamples&&N(Qb,this).shift();const o=this.defaults.alpha,s="number"==typeof this.settings.alpha?this.settings.alpha:o,a=ob(N(Xb,this)),l=a?N(Xb,this):r.kbps,c=a||1!==N(Yb,this)?s*r.kbps+(1-s)*l:r.kbps;F(Xb,this,c),this.log.debug(`[#ingestSample] Next estimate: ${c} kbps`),n&&this.trigger("download:speed",{kbps:N(Xb,this),sample:r,source:e,samplesCount:N(Yb,this)})}function dk(t=""){if(t&&"string"==typeof t)return t.split(",")[0].trim()||void 0}function hk(t=""){const e=dk(t);if(!e)return;const n=e.match(/^[a-z0-9]+/i);return n?n[0].toLowerCase():void 0}var fk={getFirstCodec:dk,getBaseCodec:hk},pk=Object.freeze({__proto__:null,default:fk,getBaseCodec:hk,getFirstCodec:dk});class mk{constructor(t={}){const{id:e,url:n,uri:i,mime:r,codecs:o,bandwidth:s,timescale:a,sizeBytes:l,...c}=t;if(!e)throw new Error("Representation requires id");const u=n||i;if(!u)throw new Error("Representation requires url or uri");this.id=e,this.url=u,this.mime=r,this.codecs=o,this.baseCodec=hk(o),ob(s)&&(this.bandwidth=s),ob(a)&&(this.timescale=a),ob(l)&&(this.sizeBytes=l),Object.assign(this,c)}}class vk{#P=new Map;#R;#D;#B=0;#L;constructor(t={}){const{id:e,offset:n=0,duration:i=0,isInit:r=!1,representations:o=[]}=t;if(!e)throw new Error("Segment requires id");o.forEach((t=>{if(!t||!t.url&&!t.uri)throw new Error("Segment representation must include uri or url")})),this.id=e,this.offset=n,this.duration=i,this.isInit=!!r,this.originalRepresentations=o.map((t=>t instanceof mk?t:new mk(t))),this.representations=this.originalRepresentations.map((t=>t)),this.appliedFilters=[],this.loadAttempts=0,this.loadError=void 0}setRepresentationBuffer(t,e){t&&e&&this.#P.set(t,e)}setDownloadProgress(t,e){const n=Number(t);Number.isFinite(n)&&n>=0&&(this.#B=Math.max(this.#B,n));const i=Number(e);Number.isFinite(i)&&i>0&&(this.#L=i)}setChosenRepresentation(t){this.#R=t;const e=null==t?void 0:t.id;if(!(this.isInit||!e||this.#P.size<=1))for(const t of this.#P.keys())t!==e&&this.#P.delete(t)}setABRDecisionSnapshot(t){if(!t||"object"!=typeof t)return void(this.#D=void 0);const e={...t};Array.isArray(t.availableRepresentations)&&(e.availableRepresentations=t.availableRepresentations.map((t=>({...t})))),this.#D=e}markLoadAttempt(){const t=Number(this.loadAttempts);this.loadAttempts=Number.isFinite(t)&&t>0?t+1:1,this.loadError=void 0}setLoadError(t){this.loadError=t||new Error("Segment load failed")}getRepresentationBuffer(t){return this.#P.get(t)}get chosenRepresentation(){return this.#R}get abrDecision(){return this.#D}get arrayBuffer(){return this.#R?this.#P.get(this.#R.id):void 0}get retainedByteLength(){let t=0;for(const e of this.#P.values())e&&"number"==typeof e.byteLength&&(t+=e.byteLength);return t}get bufferedRatio(){var t;const e=ob(this.#L)?this.#L:null===(t=this.#R)||void 0===t?void 0:t.sizeBytes;return ob(e)?Math.min(1,Math.max(0,this.#B/e)):this.retainedByteLength>0?1:0}get isLoaded(){return this.retainedByteLength>0}evict(){this.#R=void 0,this.#D=void 0,this.#P.clear(),this.#B=0,this.#L=void 0}}let gk=class{constructor(t={}){const{timestamp:e,name:n,data:i,isSticky:r=!1}=t;this.timestamp="number"==typeof e?e:0,this.name="string"==typeof n?n:"",this.data=i,this.isSticky="boolean"==typeof r&&r}};function yk(t,e){const n=Number(null==t?void 0:t.offset),i=Number(null==t?void 0:t.duration);if(!e)return{offset:n,duration:i};const r=(null==t?void 0:t.chosenRepresentation)||(Array.isArray(null==t?void 0:t.representations)?t.representations[0]:void 0),o=Number(null==r?void 0:r.segStart),s=Number(null==r?void 0:r.segDuration);return Number.isFinite(o)&&Number.isFinite(s)&&s>0?{offset:o,duration:s}:{offset:n,duration:i}}function bk(t,e,n={}){if(!Array.isArray(t)||!t.length)return;const i=Number(e);if(!Number.isFinite(i))return;const r=!!n.preferRepresentationTime;let o,s,a=-1/0;for(let e=0;e<t.length;e+=1){const n=t[e];if(!n||n.isInit)continue;o||(o=n);const l=yk(n,r);if(!Number.isFinite(l.offset))continue;const c=Number(l.duration);if(Number.isFinite(c)&&c>0&&i>=l.offset&&i<l.offset+c)return n;l.offset<=i&&l.offset>a&&(a=l.offset,s=n)}return s||o}const kk=new Set(["video","audio","image","cue","data","bbox"]);class wk{constructor(t={}){const{id:e,type:n,offset:i=0,duration:r,source:o,segments:s=[],cues:a=[]}=t;if(!e)throw new Error("Track requires id");if(!kk.has(n))throw new Error(`Track type must be one of ${Array.from(kk).join("|")}`);this.id=e,this.type=n,this.offset=i,this.duration=ob(r)?r:void 0,this.source=o,"cue"===n?(this._cues=a.map((t=>t instanceof gk?t:new gk(t))),this._segments=[]):(this._segments=s.map((t=>t instanceof vk?t:new vk(t))),this._cues=void 0)}get segments(){return this._segments.slice()}get cues(){if("cue"===this.type)return this._cues.slice()}get endTime(){if(ob(this.duration))return this.offset+this.duration;if(!this._segments.length)return;const t=this._segments.reduce(((t,e)=>{const n=ob(e.duration)?e.duration:0;return Math.max(t,e.offset+n)}),this.offset);return t}get buffered(){const t=this._segments.map((t=>({duration:ob(null==t?void 0:t.duration)?t.duration:0,offset:ob(null==t?void 0:t.offset)?t.offset:0,ratio:t&&!t.isInit&&"number"==typeof t.bufferedRatio?t.bufferedRatio:0}))).filter((t=>t.duration>0&&t.ratio>0));if(!t.length)return;const e=t.reduce(((t,e)=>Math.min(t,e.offset)),1/0),n=t.reduce(((t,e)=>{const n=e.offset+e.duration*Math.min(1,e.ratio);return Math.max(t,n)}),0);return!Number.isFinite(e)||!Number.isFinite(n)||n<=e?void 0:{start:e,end:n}}getMediaSegmentAtTime(t,e={}){return bk(this._segments,t,e)}setSegments(t=[]){if("cue"===this.type)return;const e=Array.isArray(t)?t:[];this._segments=e.map((t=>t instanceof vk?t:new vk(t)))}}function xk(t){return"string"==typeof t?t:t&&"object"==typeof t?t.nodeId||t.nodeIdOrRef||t.id:void 0}function _k(t){const e=xk(t);let n=1;if(t&&"object"==typeof t&&ob(t.weight)&&(n=t.weight),!e)throw new Error("Child entry requires a nodeId");return{nodeId:e,weight:n}}function Ik(t){return(Array.isArray(t)?t:[]).map((t=>_k(t)))}function Tk(t,e=void 0){if("string"==typeof t){const e=t.match(/\d+\.?\d*/);if(e){const t=Number(e[0]);if(Number.isFinite(t))return t}}else if("number"==typeof t&&Number.isFinite(t))return t;return e}function Ek(t,e){if(t){if(t.includes("$Number%")){const n=t.match(/\$Number%0(\d+)d\$/);if(n){const i=Number(n[1]),r=String(e).padStart(i,"0");return t.replace(/\$Number%0\d+d\$/,r)}}return t.replace(/\$Number\$/g,String(e))}}function Sk(t,e){if(e)try{var n;return new URL(e,t||(null==ch||null===(n=ch.location)||void 0===n?void 0:n.href)||void 0).toString()}catch(t){return e}}const Mk=new Map;class Ak{static register(t,e){if(!t||"function"!=typeof e)throw new Error("ManifestFactory.register requires type and parser function");Mk.set(t,e)}static inferType(t={}){const{typeHint:e,url:n,mimeType:i,body:r}=t;return e||function(t=""){const e=function(t=""){return t&&"string"==typeof t?t.split("#")[0].split("?")[0].toLowerCase():""}(t);return e.endsWith(".mpd")?"dash":e.endsWith(".ivd")?"ivd":e.endsWith(".jpg")||e.endsWith(".jpeg")||e.endsWith(".png")||e.endsWith(".webp")||e.endsWith(".gif")||e.endsWith(".avif")?"image":void 0}(n||"")||function(t=""){const e=t.toLowerCase();return e.includes("dash")||e.includes("mpd")||e.includes("xml")?"dash":e.includes("ivd")||e.includes("json")?"ivd":e.includes("image/")?"image":void 0}(i||"")||function(t=""){const e="string"==typeof t?t.trim():"";if(e.startsWith("<")&&e.includes("<MPD"))return"dash";if(e.startsWith("{"))try{const t=JSON.parse(e);if(t&&"object"==typeof t)return"ivd"}catch(t){return}}(r||"")}static parse(t={}){const e=Ak.inferType(t);if(!e||!Mk.has(e))throw new Error("Unsupported manifest type");return Mk.get(e)(t)}}Ak.register("dash",(function(t={}){const{body:e,url:n}=t,i=function(){if(ch&&"function"==typeof ch.DOMParser)return new ch.DOMParser;throw new Error("DOMParser is not available in this environment")}().parseFromString(e||"","application/xml"),r=i.getElementsByTagName("MPD")[0];if(!r)throw new Error("Invalid MPD");const o=i.getElementsByTagName("Period")[0],s=o?Array.from(o.getElementsByTagName("AdaptationSet")):[],a=[];let l=Tk(r.getAttribute("mediaPresentationDuration"));l=Number.isFinite(l)?l:void 0,s.forEach(((t,e)=>{const i=t.getAttribute("mimeType")||"",r=function(t=""){const e=t.toLowerCase();return e.includes("video")?"video":e.includes("audio")?"audio":e.includes("image")?"image":"data"}(i),o=t.getAttribute("id")||`${r}-${e+1}`,s=t.getElementsByTagName("SegmentTemplate")[0],c=Array.from(t.getElementsByTagName("Representation")).map((t=>function(t,e,n){const i=t.getAttribute("id")||t.getAttribute("representationId")||"",r=Tk(t.getAttribute("bandwidth")),o=t.getAttribute("codecs"),s=t.getAttribute("mimeType")||e&&e.getAttribute("mimeType")||n,a=t.getElementsByTagName("SegmentTemplate")[0]||e;return{repId:i,bandwidth:r,codecs:o,mime:s,media:a?a.getAttribute("media"):void 0,initialization:a?a.getAttribute("initialization"):void 0,timescale:Tk(a&&a.getAttribute("timescale"))||Tk(e&&e.getAttribute("timescale"),1)||1,startNumber:Tk(a&&a.getAttribute("startNumber"))||Tk(e&&e.getAttribute("startNumber"),1)||1,timeline:function(t){const e=[],n=t.getElementsByTagName("SegmentTimeline")[0];if(!n)return e;const i=Array.from(n.getElementsByTagName("S"));let r=0;for(let t=0;t<i.length;t+=1){const n=i[t],o=Tk(n.getAttribute("t")),s=Tk(n.getAttribute("d")),a=Tk(n.getAttribute("r"),0);if(!ob(s))continue;ob(o)&&(r=o);const l=a>=0?a:0;for(let t=0;t<=l;t+=1)e.push({start:r,duration:s}),r+=s}return e}(a)}}(t,s,i))),u=c.map((t=>({id:t.repId,url:Sk(n,Ek(t.initialization,t.startNumber)),bandwidth:t.bandwidth,mime:t.mime,codecs:t.codecs,timescale:t.timescale}))).filter((t=>t.url)),d=c.reduce(((t,e)=>{const n=Array.isArray(null==t?void 0:t.timeline)?t.timeline.length:0;return(Array.isArray(null==e?void 0:e.timeline)?e.timeline.length:0)>n?e:t}),c[0]),h=Array.isArray(null==d?void 0:d.timeline)?d.timeline:[],f=h.length,p=[],m=(null==d?void 0:d.timescale)||1;u.length>0&&p.push({id:`init-${o}`,offset:0,duration:0,isInit:!0,representations:u});for(let t=0;t<f;t+=1){const e=h[t];if(!e)continue;const i=c.map((e=>{const i=e.startNumber+t,r=e.timescale||m,o=Array.isArray(e.timeline)?e.timeline[t]:void 0;if(!o)return null;const s=o.start,a=o.duration;return{id:e.repId,url:Sk(n,Ek(e.media,i)),bandwidth:e.bandwidth,mime:e.mime,codecs:e.codecs,timescale:e.timescale,segIndex:t,segStart:s/r,segDuration:a/r}})).filter(Boolean);i.length&&p.push({id:`${o}-seg-${t+1}`,offset:e.start/m,duration:e.duration/m,isInit:!1,representations:i})}a.push({id:o,type:r,offset:0,duration:l,segments:p})}));const c=a[0]?a[0].id:void 0;return{id:n||r.getAttribute("id")||"mpd",mainTrackId:c,tracks:a,duration:l}})),Ak.register("ivd",(function(t={}){var e;const{body:n,url:i}=t;let r;try{r="string"==typeof n?JSON.parse(n):n}catch(t){throw new Error("Invalid IVD manifest")}if(!r||"object"!=typeof r)throw new Error("Invalid IVD manifest");const o=Array.isArray(r.representations)?r.representations:[],s=new Map;o.forEach(((t,e)=>{const n=function(t){const e=(t.mimeType||"").toLowerCase();return e.includes("video")?"video":e.includes("audio")?"audio":"data"}(t),i=Number.isInteger(t.altIndex)?t.altIndex:0,r=`${n}-${i}`,o=(l=e,{id:`${(a=t).format||"unknownformat"}-${a.altIndex||0}-${a.label||l+1}`,url:a.url,mime:a.mimeType,codecs:a.codecs,bandwidth:a.bandwidth||a.audioBandwidth||a.videoBandwidth,sizeBytes:a.contentLength,duration:ob(a.duration)?a.duration:void 0,segIndex:Number.isInteger(a.segIndex)&&a.segIndex>=0?a.segIndex:0});var a,l;s.has(r)||s.set(r,{type:n,altIndex:i,reps:[]}),s.get(r).reps.push(o)}));const a=Array.from(s.values()).map(((t,e)=>{const n=new Map;t.reps.forEach((t=>{const e=Number.isInteger(t.segIndex)?t.segIndex:0;n.has(e)||n.set(e,[]),n.get(e).push(t)}));const i=Array.from(n.keys()).sort(((t,e)=>t-e));let o=0;const s=i.map((i=>{var r;const s=n.get(i)||[],a=(null===(r=s.find((t=>ob(t.duration))))||void 0===r?void 0:r.duration)||0,l={id:`${t.type}-${t.altIndex}-${e+1}-seg-${i+1}`,offset:o,duration:a,isInit:!1,representations:s.map((t=>{const{duration:e,segIndex:n,...i}=t;return i}))};return o+=a,l})),a=s.reduce(((t,e)=>t+(ob(e.duration)?e.duration:0)),0),l=ob(r.duration)?r.duration:a||void 0;return{id:`${t.type}-${t.altIndex}-${e+1}`,type:t.type,offset:0,duration:l,segments:s}})),l=r.mainTrackId||(null===(e=a.find((t=>"video"===t.type)))||void 0===e?void 0:e.id)||a[0]&&a[0].id,c=a.find((t=>t.id===l)),u=(null==c?void 0:c.duration)||void 0;return{id:r.id||i||"ivd",metadata:r.metadata||{},mainTrackId:l,tracks:a,duration:u}})),Ak.register("image",(function(t={}){const e=null==t?void 0:t.url;if(!e||"string"!=typeof e)throw new Error("ImageParser requires url");const n=ob(null==t?void 0:t.duration)?t.duration:30,i=ob(null==t?void 0:t.width)?t.width:void 0,r=ob(null==t?void 0:t.height)?t.height:void 0,o={id:"image-1",url:e,mime:"string"==typeof(null==t?void 0:t.mimeType)?t.mimeType:void 0};ob(i)&&ob(r)&&(o.width=i,o.height=r);const s="image-1";return{id:e,metadata:{},mainTrackId:s,tracks:[{id:s,type:"image",offset:0,duration:n,segments:[{id:"image-1-seg-1",offset:0,duration:n,isInit:!1,representations:[o]}]}],duration:n}}));const Nk=["video/mp4"];function Ck(t){return Nk.includes(t.mime)}var Fk={name:"containers",fn:function(t=[]){return t.filter(Ck)},isRelevantForTrack:function(t){return"video"===(null==t?void 0:t.type)}},Ok={name:"force-video-codec",fn:function(t=[],{node:e}={}){const n=hk(null==e?void 0:e.forceVideoCodec);if(!n)return t;const i=t.filter((t=>(null==t?void 0:t.baseCodec)===n));return i.length?i:t},isRelevantForTrack:function(t){return"video"===(null==t?void 0:t.type)}};function Pk(t=""){return t.toLowerCase().includes("video")}const Rk=new(se=new WeakMap,ae=new WeakSet,class extends sh{get name(){return"MediaCapabilities"}get defaults(){return{enabled:!0,smoothWeight:10,powerWeight:10,ignoreSmooth:!1,ignorePower:!0,codecBonus:{av01:.2,hvc1:.15,hev1:.15,vp09:.1,avc1:0}}}constructor(...t){super(...t),O(this,ae),C(this,se,void 0),F(se,this,new Map)}onDispose(){N(se,this)&&N(se,this).clear()}async sortRepsCodecs(t=[]){if(!Array.isArray(t)||0===t.length)return[];const e=[],n=new Set;let i=0;t.forEach((t=>{const r=null==t?void 0:t.baseCodec;r&&!n.has(r)&&(n.add(r),e.push({codec:r,rep:t,index:i}),i+=1)}));const r=(await Promise.all(e.map((async t=>{const{score:e}=await M(ae,this,Uk).call(this,t.rep);return{...t,score:e}})))).sort(((t,e)=>{const n=e.score-t.score;return 0!==n?n:t.index-e.index}));return this.log.info("[sortRepsCodecs] Sorted entries:",r),r.map((t=>t.codec))}});function Dk(){return!!(ch&&ch.navigator&&ch.navigator.mediaCapabilities&&"function"==typeof ch.navigator.mediaCapabilities.decodingInfo)}function Bk(t){if(!t||"object"!=typeof t)return void this.log.debug("[#buildConfig] Invalid representation:",t);const e=t.mime||t.mimeType||"",n=function(t="",e=""){const n=t||"",i=e||"";return i?`${n}; codecs="${i}"`:n}(e,t.codecs||"");return Pk(e)?(this.log.debug("[#buildConfig] Building video config for:",t),{type:"file",video:{contentType:n,width:t.width||1920,height:t.height||1080,bitrate:t.videoBandwidth||t.bandwidth||0,framerate:t.framerate||t.frameRate||24}}):function(t=""){return t.toLowerCase().includes("audio")}(e)?(this.log.debug("[#buildConfig] Building audio config for:",t),{type:"file",audio:{contentType:n,channels:t.channels||2,bitrate:t.audioBandwidth||t.bandwidth||0,samplerate:t.audioSamplingRate||48e3}}):void this.log.debug("[#buildConfig] Unknown mime type:",e)}function Lk(t){const e=dk(null==t?void 0:t.codecs);if(!e)return;const n={codec:e,codedWidth:t.codedWidth||t.width||1920,codedHeight:t.codedHeight||t.height||1080};return t.description&&(n.description=t.description),n}function zk(t){return t?JSON.stringify(t):"invalid"}function Wk(){return!(!ch||!ch.VideoDecoder||"function"!=typeof ch.VideoDecoder.isConfigSupported)}async function jk(t){if(!this.settings.enabled||!M(ae,this,Dk).call(this)||!t)return this.log.debug("[#queryCapabilities] Not supported, returning false",t),{supported:!1,smooth:!1,powerEfficient:!1};const e=M(ae,this,zk).call(this,t),n=N(se,this).get(e);if(n)return n;let i;try{i=await ch.navigator.mediaCapabilities.decodingInfo(t)}catch(t){i={supported:!1,smooth:!1,powerEfficient:!1}}return this.log.debug("[#queryCapabilities] Config:",t,"\nDecoding info result:",i),N(se,this).set(e,i),i}async function $k(t){if(!Pk((null==t?void 0:t.mime)||(null==t?void 0:t.mimeType)||""))return{supported:!0};if(!M(ae,this,Wk).call(this))return{supported:!0};const e=M(ae,this,Lk).call(this,t);if(!e)return{supported:!1};const n=`video-decoder:${M(ae,this,zk).call(this,e)}`,i=N(se,this).get(n);if(i)return i;let r;try{r=await ch.VideoDecoder.isConfigSupported(e)}catch(t){r={supported:!1}}return this.log.debug("[#queryVideoDecoderSupport] Config:",e,"\nSupport result:",r),N(se,this).set(n,r),r}async function Uk(t){const e=M(ae,this,Bk).call(this,t),[n,i]=await Promise.all([M(ae,this,jk).call(this,e),M(ae,this,$k).call(this,t)]),r=!!n.supported&&!!i.supported,o={supported:r,smooth:r&&!!n.smooth,powerEfficient:r&&!!n.powerEfficient},s=function(t="",e={}){const n=(t||"").toLowerCase();return Object.keys(e).reduce(((t,i)=>n.includes(i.toLowerCase())?e[i]:t),0)}(t.codecs||"",this.settings.codecBonus);let a=0;return o.supported&&(a+=1),!this.settings.ignoreSmooth&&o.smooth&&(a+=this.settings.smoothWeight),!this.settings.ignorePower&&o.powerEfficient&&(a+=this.settings.powerWeight),a+=s,{score:a,capability:o}}const qk=[],Vk=()=>!0;[Fk,Ok,{name:"media-capabilities",fn:async function(t=[],{track:e}){if(null==e||!e.preferredCodec){const n=await Rk.sortRepsCodecs(t);if(!Array.isArray(n)||0===n.length)return t;e.preferredCodec=n[0]}return t.filter((t=>(null==t?void 0:t.baseCodec)===e.preferredCodec))},isRelevantForTrack:function(t){return"video"===(null==t?void 0:t.type)}}].forEach((({name:t,fn:e,isRelevantForTrack:n})=>{!function(t,e,{isRelevantForTrack:n}={}){if(!t||"function"!=typeof e)throw new Error("registerRepresentationFilter requires a name and function");const i="function"==typeof n?n:Vk;qk.push({name:t,fn:e,isRelevantForTrack:i})}(t,e,{isRelevantForTrack:n})}));const Gk=Zd("Node","warn"),Hk={start:0,end:0},Kk=.001;function Xk(t){if(!Array.isArray(t)||!t.length)return;const e=t.map((t=>{const e=Number(null==t?void 0:t.segStart),n=Number(null==t?void 0:t.segDuration);return!Number.isFinite(e)||!Number.isFinite(n)||n<=0?null:{start:e,duration:n}}));if(e.some((t=>!t)))return;const n=e[0];return e.every((t=>Math.abs(t.start-n.start)<=Kk&&Math.abs(t.duration-n.duration)<=Kk))?{offset:n.start,duration:n.duration}:void 0}var Yk=new WeakMap,Qk=new WeakMap,Jk=new WeakMap,Zk=new WeakMap,tw=new WeakMap,ew=new WeakMap,nw=new WeakMap,iw=new WeakMap,rw=new WeakMap,ow=new WeakMap,sw=new WeakSet;class aw extends th{constructor(t={},e={}){super(),O(this,sw),C(this,Yk,void 0),C(this,Qk,void 0),C(this,Jk,void 0),C(this,Zk,void 0),C(this,tw,void 0),C(this,ew,void 0),C(this,nw,void 0),C(this,iw,void 0),C(this,rw,void 0),C(this,ow,[]);const{id:n,manifestRef:i,duration:r,width:o,height:s,metadata:a={},children:l=[]}=t;if(!n)throw new Error("Node requires id");if(!i)throw new Error("Node requires manifestRef");this.id=n,this.manifestRef=i,this.metadata=a,this.state="pending",this.error=void 0,this.tracks=[],this.mainTrackId=void 0,this.imageFallbackActive=!1,this.disabledTracks=[],this.disabledTrackTypes=Array.isArray(e.disabledTracks)?e.disabledTracks.filter((t=>"string"==typeof t)):[],this.enabledRepFilters=Array.isArray(e.enabledRepFilters)?e.enabledRepFilters:void 0,this.forceVideoCodec="string"==typeof e.forceVideoCodec&&e.forceVideoCodec.trim()?e.forceVideoCodec.trim():void 0,F(nw,this,!0===e.forceImageFallback),F(Yk,this,e.abrSelector),F(Qk,this,e.assetsDeliveryService),F(Zk,this,ob(r)?r:void 0),F(tw,this,ob(o)?o:void 0),F(ew,this,ob(s)?s:void 0),F(iw,this,e&&"object"==typeof e.mediaHostRewriteMap?e.mediaHostRewriteMap:void 0),F(rw,this,ob(e.maxManifestLoadAttempts)?e.maxManifestLoadAttempts:1/0),this.manifestLoadAttempts=0,this.manifestLoadError=void 0,F(ow,this,Ik(l))}setChildren(t){const e=Ik(t);return M(sw,this,Tw).call(this,e,{emit:!0})}addChild(t){const e=_k(t),n=N(ow,this).slice(),i=n.findIndex((t=>(null==t?void 0:t.nodeId)===e.nodeId));if(i>=0){var r;if((null===(r=n[i])||void 0===r?void 0:r.weight)===e.weight)return this.children;n[i]=e}else n.push(e);return M(sw,this,Tw).call(this,n,{emit:!0})}removeChild(t){const e=xk(t);if(!e)return this.children;const n=N(ow,this).filter((t=>(null==t?void 0:t.nodeId)!==e));return n.length===N(ow,this).length?this.children:M(sw,this,Tw).call(this,n,{emit:!0})}async load(t={}){const{loadingMode:e="full",signal:n}=t;Gk.info(`[load] [${this.id}] Loading node in '${e}' mode`);try{if(n&&n.aborted)throw Ob();"ready"!==this.state&&await this.resolve({signal:n});const t="partial"===e,i=[];this.tracks.forEach((e=>{const n=e.segments||[];if(t){const t=n.find((t=>t.isInit)),r=n.find((t=>!t.isInit));t&&Array.isArray(t.representations)&&!t.isLoaded&&i.push({track:e,segment:t}),r&&Array.isArray(r.representations)&&!r.isLoaded&&i.push({track:e,segment:r})}else n.forEach((t=>{Array.isArray(t.representations)&&!t.isLoaded&&i.push({track:e,segment:t})}))}));const r=i.filter((({segment:t})=>t.isInit)),o=i.filter((({segment:t})=>!t.isInit)),s=o.length?o[0]:void 0,a=r.map((({track:t,segment:e})=>M(sw,this,ww).call(this,t,e,n))),l=s?M(sw,this,xw).call(this,s.segment,s.track,n):Promise.resolve();await Promise.all([...a,l]);const c=s?o.slice(1):o;for(const t of c)await M(sw,this,xw).call(this,t.segment,t.track,n);if(n&&n.aborted)throw Ob();return this.trigger("node:loaded",{nodeId:this.id,node:this,loadingMode:e}),this}catch(t){if(Pb(t,n))throw t;throw this.trigger("node:loaderror",{nodeId:this.id,node:this,error:t,loadingMode:e}),t}}async loadMediaSegmentsAtOffset(t,e={}){const n=Number(t);if(Gk.info(`[loadMediaSegmentsAtOffset] [${this.id}] Loading media segments at offset ${n}`),!Number.isFinite(n))return;const{signal:i}=e;if(i&&i.aborted)throw Ob();if("ready"!==this.state&&await this.resolve({signal:i}),"ready"!==this.state)return;const r=[],o=[];if(this.tracks.forEach((t=>{const e=(null==t?void 0:t.segments)||[];if(!Array.isArray(e)||!e.length)return;const s=e.find((t=>(null==t?void 0:t.isInit)&&Array.isArray(null==t?void 0:t.representations)));s&&!s.isLoaded&&r.push(M(sw,this,ww).call(this,t,s,i)),e.forEach((e=>{if(!e||e.isInit||!Array.isArray(e.representations))return;const i=Number(e.offset);Number.isFinite(i)&&Math.abs(i-n)<=Kk&&!e.isLoaded&&o.push({segment:e,track:t})}))})),r.length||o.length){if(await Promise.all(r),o.length&&await Promise.all(o.map((({segment:t,track:e})=>M(sw,this,xw).call(this,t,e,i)))),i&&i.aborted)throw Ob();this.trigger("node:loaded",{nodeId:this.id,node:this,loadingMode:"segment-offset",offsetSeconds:n})}}async resolve(t={}){const{signal:e,manifestOverride:n}=t;let i=!0;for(;i;){if(i=!1,"ready"===this.state)return this;if("resolving"===this.state)try{return await N(Jk,this)}catch(t){if(!Pb(t)||e&&e.aborted)throw t;i=!0;continue}if(e&&e.aborted)throw Ob();if(this.hasExceededManifestLoadAttempts()){const t=this.manifestLoadError||new Error("Manifest load retry limit reached");throw this.state="failed",this.error=t,t}const t=M(sw,this,pw).call(this);return this.state="resolving",this.error=void 0,F(Jk,this,(async()=>{try{const t=await M(sw,this,_w).call(this,{signal:e,manifestOverride:n});if(e&&e.aborted)throw Ob();let i=Ak.parse(t);return i=M(sw,this,fw).call(this,i),this.tracks=(i.tracks||[]).map((t=>t instanceof wk?t:new wk(t))),this.mainTrackId=i.mainTrackId||this.mainTrackId,this.metadata=i.metadata||this.metadata,M(sw,this,Sw).call(this),M(sw,this,Ew).call(this),await M(sw,this,Iw).call(this),this.state="ready",this}catch(n){if(Pb(n,e))throw M(sw,this,mw).call(this,t),n;throw this.state="failed",this.error=n,n}})()),N(Jk,this)}return N(Jk,this)}evict(){this.tracks.forEach((t=>{(t.segments||[]).forEach((t=>{t.evict()}))}))}get children(){return N(ow,this).slice()}set children(t){this.setChildren(t)}get duration(){if(!this.mainTrackId)return 0;const t=this.tracks.find((t=>t.id===this.mainTrackId));return t?ob(t.duration)?t.duration:t.endTime:0}get retainedByteLength(){let t=0;return this.tracks.forEach((e=>{(Array.isArray(e.segments)?e.segments:[]).forEach((e=>{t+=ob(e.retainedByteLength)?e.retainedByteLength:0}))})),t}get buffered(){if("ready"!==this.state)return Hk;const t=Array.isArray(this.tracks)?this.tracks.find((t=>(null==t?void 0:t.id)===this.mainTrackId)):void 0,e=this.duration;if(!t||!ob(e))return Hk;const n=Array.isArray(this.tracks)?this.tracks.map((t=>{if(!t||void 0===t.buffered)return;const e=t.buffered;return e&&Number.isFinite(e.start)&&Number.isFinite(e.end)?{track:t,range:e}:void 0})).filter(Boolean):[];if(!n.length)return Hk;if(n.length===this.tracks.length&&n.every((({track:t,range:e})=>{const n=t.endTime,i=ob(t.offset)?t.offset:0;return Number.isFinite(n)&&e.start<=i&&e.end>=n})))return{start:0,end:e};const i=n.reduce(((t,{range:e})=>Math.min(t,e.end)),1/0);if(!Number.isFinite(i))return Hk;const r=Math.min(i,e);return r>0?{start:0,end:r}:Hk}get isLoaded(){return"ready"===this.state&&(Array.isArray(this.tracks)?this.tracks:[]).flatMap((t=>Array.isArray(null==t?void 0:t.segments)?t.segments:[])).every((t=>t.isLoaded))}hasExceededManifestLoadAttempts(){if(!Number.isFinite(N(rw,this))||N(rw,this)<=0)return!1;if(!this.manifestLoadError)return!1;const t=Number(this.manifestLoadAttempts);return Number.isFinite(t)&&t>=N(rw,this)}}function lw(t){return function(t,e){if(!t||"string"!=typeof t)return t;if(!e||"object"!=typeof e)return t;const n=ch&&"function"==typeof ch.URL?ch.URL:"function"==typeof URL?URL:null;if(!n)return t;let i;try{i=new n(t)}catch(e){return t}const r=function(t,e){const n=null==t?void 0:t.hostname,i=null==t?void 0:t.pathname;if("string"!=typeof n||"string"!=typeof i)return t;if(!/^s3(?:[.-][a-z0-9-]+)?\.amazonaws\.com$/i.test(n))return t;const r=i.split("/").filter(Boolean);if(r.length<2)return t;const o=r[0],s=new e(t.toString());return s.hostname=`${o}.${n}`,s.pathname=`/${r.slice(1).join("/")}`,s}(i,n),o=e[r.hostname]?r:i,s=e[o.hostname];if(!s||"string"!=typeof s)return t;let a;try{a=new n(s)}catch(e){return t}return a.protocol&&a.host?(o.protocol=a.protocol,o.host=a.host,o.toString()):t}(t,N(iw,this))}function cw(){return N(nw,this)||void 0===ch.VideoDecoder}function uw(){return this.manifestRef&&"object"==typeof this.manifestRef&&"assets-delivery-service"===this.manifestRef.type}function dw(t){if(!M(sw,this,uw).call(this))return!1;if(!M(sw,this,cw).call(this))return!1;const e=Array.isArray(null==t?void 0:t.tracks)?t.tracks:[],n=e.find((e=>(null==e?void 0:e.id)===(null==t?void 0:t.mainTrackId)))||e[0];return"image"!==(null==n?void 0:n.type)}function hw(t){const e=Array.isArray(null==t?void 0:t.tracks)?t.tracks:[],n=function(t){const e=Number(null==t?void 0:t.duration);if(Number.isFinite(e)&&e>0)return e;const n=Array.isArray(null==t?void 0:t.segments)?t.segments:[];let i=0;return n.forEach((t=>{if(null!=t&&t.isInit)return;const e=Number(null==t?void 0:t.offset),n=Number(null==t?void 0:t.duration);!Number.isFinite(e)||!Number.isFinite(n)||n<=0||(i=Math.max(i,e+n))})),i>0?i:void 0}(e.find((e=>(null==e?void 0:e.id)===(null==t?void 0:t.mainTrackId)))||e[0]);return ob(n)?n:ob(N(Zk,this))?N(Zk,this):void 0}function fw(t){if(this.imageFallbackActive=!1,!M(sw,this,dw).call(this,t))return t;if(!N(Qk,this)||"function"!=typeof N(Qk,this).resolveImageOne)return t;const e=N(Qk,this).resolveImageOne(this.manifestRef),n=M(sw,this,lw).call(this,null==e?void 0:e.url);if(!n)return t;const i={typeHint:"image",url:n,duration:M(sw,this,hw).call(this,t),width:N(tw,this),height:N(ew,this)},r=Ak.parse(i);return t&&"object"==typeof t.metadata&&!Array.isArray(t.metadata)&&(r.metadata=t.metadata),this.imageFallbackActive=!0,r}function pw(){return{state:this.state,error:this.error,tracks:this.tracks,mainTrackId:this.mainTrackId,metadata:this.metadata,imageFallbackActive:this.imageFallbackActive,disabledTracks:this.disabledTracks,manifestRef:this.manifestRef,manifestLoadAttempts:this.manifestLoadAttempts,manifestLoadError:this.manifestLoadError}}function mw(t){t&&(this.state=t.state,this.error=t.error,this.tracks=t.tracks,this.mainTrackId=t.mainTrackId,this.metadata=t.metadata,this.imageFallbackActive=t.imageFallbackActive,this.disabledTracks=t.disabledTracks,this.manifestRef=t.manifestRef,this.manifestLoadAttempts=t.manifestLoadAttempts,this.manifestLoadError=t.manifestLoadError)}function vw(){const t=Number(this.manifestLoadAttempts);this.manifestLoadAttempts=Number.isFinite(t)&&t>0?t+1:1,this.manifestLoadError=void 0}function gw(t){this.manifestLoadError=t||new Error("Manifest load failed")}function yw(t){if(!t)return null;const e={loadAttempts:Number(t.loadAttempts),loadError:t.loadError};if("function"==typeof t.markLoadAttempt)return t.markLoadAttempt(),e;const n=Number(t.loadAttempts);return t.loadAttempts=Number.isFinite(n)&&n>0?n+1:1,t.loadError=void 0,e}function bw(t,e){if(!t||!e)return;const n=Number(e.loadAttempts);t.loadAttempts=Number.isFinite(n)&&n>=0?n:0,t.loadError=e.loadError}function kw(t,e){t&&("function"!=typeof t.setLoadError?t.loadError=e||new Error("Segment load failed"):t.setLoadError(e))}async function ww(t,e,n){const i=M(sw,this,yw).call(this,e);try{const i=e.representations.map((async i=>{const r=M(sw,this,lw).call(this,i.url),o=await qb(r,{returnType:"arrayBuffer",signal:n,onProgress:({loaded:n,total:i,chunk:r})=>{e&&"function"==typeof e.setDownloadProgress&&e.setDownloadProgress(n,i),this.trigger("segment:chunk",{nodeId:this.id,trackId:null==t?void 0:t.id,trackType:null==t?void 0:t.type,segmentId:e.id,isInit:!0,loaded:n,total:i,chunk:r})}}),s=o instanceof ArrayBuffer?o:null==o?void 0:o.arrayBuffer;s&&e.setRepresentationBuffer(i.id,s)}));await Promise.all(i)}catch(t){if(Pb(t,n))throw M(sw,this,bw).call(this,e,i),t;throw M(sw,this,kw).call(this,e,t),t}}async function xw(t,e,n){const i=N(Yk,this),r={representations:t.representations,nodeId:this.id,trackId:null==e?void 0:e.id,segmentId:t.id},o=i&&"function"==typeof i.select?i.select(r):void 0,s=t.representations.find((t=>t.id===o))||t.representations[0];if(!s)return;t&&"function"==typeof t.setABRDecisionSnapshot&&t.setABRDecisionSnapshot(r.abrDecision),t.setChosenRepresentation(s);const a=M(sw,this,yw).call(this,t);try{const i=M(sw,this,lw).call(this,s.url),r=await qb(i,{returnType:"arrayBuffer",signal:n,onProgress:({loaded:n,total:i,chunk:r})=>{t&&"function"==typeof t.setDownloadProgress&&t.setDownloadProgress(n,i),this.trigger("segment:chunk",{nodeId:this.id,trackId:null==e?void 0:e.id,trackType:null==e?void 0:e.type,segmentId:t.id,isInit:!1,loaded:n,total:i,chunk:r})}}),o=r instanceof ArrayBuffer?r:null==r?void 0:r.arrayBuffer;o&&(t.setRepresentationBuffer(s.id,o),t.setChosenRepresentation(s))}catch(e){if(Pb(e,n))throw M(sw,this,bw).call(this,t,a),e;throw M(sw,this,kw).call(this,t,e),e}}async function _w(t={}){const{signal:e,manifestOverride:n}=t;if(e&&e.aborted)throw Ob();M(sw,this,vw).call(this);try{let t=this.manifestRef;if(n&&"object"==typeof n){if(M(sw,this,uw).call(this)&&"string"==typeof n.encodeProfile&&n.encodeProfile&&(this.manifestRef={...this.manifestRef,encodeProfile:n.encodeProfile},t=this.manifestRef),n.ivd)return{typeHint:"ivd",body:n.ivd};if(n.body){const t=M(sw,this,lw).call(this,n.url);return{typeHint:n.typeHint,url:t,mimeType:n.mimeType,body:n.body,duration:N(Zk,this),width:N(tw,this),height:N(ew,this)}}"string"==typeof n.url&&n.url&&(t=n)}if(t&&"object"==typeof t&&"assets-delivery-service"===t.type){if(!N(Qk,this)||"function"!=typeof N(Qk,this).resolveOne)throw new Error("AssetsDeliveryService is required for assets-delivery-service manifestRef");const n=await N(Qk,this).resolveOne(t,{signal:e});if(!n)throw new Error("AssetsDeliveryService returned empty result");if("string"==typeof n.encodeProfile&&n.encodeProfile&&(this.manifestRef={...t,encodeProfile:n.encodeProfile}),n.ivd)return{typeHint:"ivd",body:n.ivd};const i=n.typeHint,r=M(sw,this,lw).call(this,n.url),o=n.mimeType,s=n.body;if(r||s||o)return{typeHint:i,url:r,mimeType:o,body:s,duration:N(Zk,this),width:N(tw,this),height:N(ew,this)};throw new Error("AssetsDeliveryService returned unsupported manifest shape")}if(t&&"object"==typeof t){const e=M(sw,this,lw).call(this,t.url),n=t.mimeType;if(t.body)return{url:e,mimeType:n,body:"string"==typeof t.body?t.body:JSON.stringify(t.body)}}if("string"==typeof t||t&&"string"==typeof t.url){const n="string"==typeof t?t:t.url,i=M(sw,this,lw).call(this,n),r="object"==typeof t?t.typeHint:void 0,o="object"==typeof t?t.mimeType:void 0;if("image"===Ak.inferType({typeHint:r,url:i,mimeType:o})){const e="object"==typeof t&&ob(t.duration)?t.duration:N(Zk,this);return{typeHint:"image",url:i,mimeType:o,duration:e,width:"object"==typeof t&&ob(t.width)?t.width:N(tw,this),height:"object"==typeof t&&ob(t.height)?t.height:N(ew,this)}}const s=await qb(i,{returnType:"default",signal:e});return{url:i,body:s&&s.response&&"function"==typeof s.response.text?await s.response.text():void 0,mimeType:(s&&s.response&&s.response.headers&&"function"==typeof s.response.headers.get&&s.response.headers.get("content-type")?s.response.headers.get("content-type"):void 0)||o}}throw new Error("Node manifestRef is invalid or missing")}catch(t){if(Pb(t,e))throw t;throw M(sw,this,gw).call(this,t),t}}async function Iw(){const t=qk.slice().filter((t=>!this.enabledRepFilters||this.enabledRepFilters.includes(t.name)));if(t.length)for(let e=0;e<this.tracks.length;e+=1){const n=this.tracks[e],i=Array.isArray(n.segments)?n.segments:[],r=[];for(let e=0;e<i.length;e+=1){const o=i[e];if(!Array.isArray(o.representations)){r.push(o);continue}o.appliedFilters=o.appliedFilters||[];let s=o.representations;for(let e=0;e<t.length;e+=1){const{name:i,fn:r,isRelevantForTrack:a}=t[e];if(!a(n))continue;const l=await r(s,{segment:o,track:n,node:this});Array.isArray(l)&&(s=l),o.appliedFilters.push(i)}if(o.representations=s,o.representations.length){if(!o.isInit){const t=Xk(o.representations);t&&(o.offset=t.offset,o.duration=t.duration)}r.push(o)}}r.length!==i.length&&n&&"function"==typeof n.setSegments&&n.setSegments(r)}}function Tw(t,{emit:e=!1}={}){return function(t=[],e=[]){if(!Array.isArray(t)||!Array.isArray(e)||t.length!==e.length)return!1;for(let n=0;n<t.length;n+=1){const i=t[n],r=e[n];if((null==i?void 0:i.nodeId)!==(null==r?void 0:r.nodeId)||(null==i?void 0:i.weight)!==(null==r?void 0:r.weight))return!1}return!0}(N(ow,this),t)||(F(ow,this,t),e&&(n=this)&&"function"==typeof n.trigger&&n.trigger("node:childrenchanged",{nodeId:n.id,node:n,children:Array.isArray(n.children)?n.children:[]})),this.children;var n}function Ew(){var t;const e=Array.isArray(this.disabledTrackTypes)?this.disabledTrackTypes:[];if(!e.length||!Array.isArray(this.tracks)||!this.tracks.length)return void(this.disabledTracks=[]);const n=new Set(e),i=[],r=[];this.tracks.forEach((t=>{t&&n.has(t.type)?r.push(t):t&&i.push(t)})),this.tracks=i,this.disabledTracks=r,this.mainTrackId&&!i.some((t=>t.id===this.mainTrackId))&&(this.mainTrackId=null===(t=i[0])||void 0===t?void 0:t.id)}function Sw(){if(!Array.isArray(this.tracks)||!this.tracks.length)return;const t=this.duration;if(!ob(t))return;const e=[new gk({name:"nodestart",timestamp:0,data:{id:this.id},isSticky:!0}),new gk({name:"nodeend",timestamp:t,data:{id:this.id}})],n=new wk({id:`${this.id}-auto-cue`,type:"cue",cues:e,offset:0,duration:t});this.tracks.push(n)}var Mw=new WeakMap,Aw=new WeakMap,Nw=new WeakMap,Cw=new WeakMap,Fw=new WeakSet;class Ow extends sh{constructor(...t){super(...t),O(this,Fw),C(this,Mw,new Map),C(this,Aw,new Map),C(this,Nw,void 0),C(this,Cw,void 0);const[e,n]=t;F(Nw,this,e),F(Cw,this,n)}get name(){return"NodeRepository"}get defaults(){return{enabledRepFilters:["containers","force-video-codec","media-capabilities"],disabledTracks:Kb("disabledTracks"),forceVideoCodec:Kb("forceVideoCodec"),forceImageFallback:Kb("forceImageFallback"),mediaHostRewriteMap:Kb("mediaHostRewriteMap"),maxManifestLoadAttempts:3}}get methodsExcludedFromAutoLog(){return new Set([...super.methodsExcludedFromAutoLog,"get","list"])}onDispose(){N(Mw,this).forEach(((t,e)=>{const n=N(Aw,this).get(e);n&&t&&"function"==typeof t.off&&t.off(dh.NODE_CHILDREN_CHANGED,n)})),N(Aw,this).clear(),N(Mw,this).clear()}add(t){const e=t instanceof aw?t:new aw(t,{enabledRepFilters:this.settings.enabledRepFilters,disabledTracks:this.settings.disabledTracks,forceVideoCodec:this.settings.forceVideoCodec,forceImageFallback:this.settings.forceImageFallback,mediaHostRewriteMap:this.settings.mediaHostRewriteMap,maxManifestLoadAttempts:this.settings.maxManifestLoadAttempts,abrSelector:N(Nw,this),assetsDeliveryService:N(Cw,this)});if(!e.id)throw new Error("NodeRepository.add requires node with id");if(N(Mw,this).has(e.id))throw new Error(`NodeRepository.add: node with id ${e.id} already exists`);return N(Mw,this).set(e.id,e),M(Fw,this,Pw).call(this,e),this.trigger(dh.NODE_ADD,{node:e}),e}get(t){const e=(null==t?void 0:t.id)||t;if(!e)throw new Error("NodeRepository.get requires node or id");return N(Mw,this).get(e)}list(){return Array.from(N(Mw,this).values())}}function Pw(t){if(!t||"function"!=typeof t.on||!t.id)return;const e=t=>{this.trigger(dh.NODE_CHILDREN_CHANGED,t)};t.on(dh.NODE_CHILDREN_CHANGED,e),N(Aw,this).set(t.id,e)}var Rw=new WeakMap,Dw=new WeakMap,Bw=new WeakSet;class Lw extends sh{constructor(...t){super(...t),O(this,Bw),C(this,Rw,void 0),C(this,Dw,new Map);const[e]=t;F(Rw,this,e)}get name(){return"ABRSelector"}get defaults(){return{safetyMargin:.35,minBufferForUpgrade:5,minBufferCritical:1,hysteresisRatio:1.1,abrStrategy:Kb("abrStrategy")}}select(t={}){var e;const{representations:n=[],bufferSeconds:i}=t;if(!Array.isArray(n)||0===n.length)return;const r=N(Rw,this)&&"function"==typeof N(Rw,this).getKbps?N(Rw,this).getKbps():void 0,o=M(Bw,this,zw).call(this,n[0]),s=N(Dw,this).get(o),a=this.settings.abrStrategy||"auto";this.log.debug(`[select] strategy=${a}, bw=${r}, buffer=${i}, prev=${s}`);const l=n.slice().sort(((t,e)=>M(Bw,this,Ww).call(this,t.bandwidth)-M(Bw,this,Ww).call(this,e.bandwidth)));if("bottom"===a){const e=l[0];return M(Bw,this,Uw).call(this,e,t,{decisionReason:"strategy:bottom",trackType:o,previousRepresentationId:s,measuredDownloadSpeedKbps:r,safeBandwidthKbps:void 0,bufferSeconds:i}),null==e?void 0:e.id}if("top"===a){const e=l[l.length-1];return M(Bw,this,Uw).call(this,e,t,{decisionReason:"strategy:top",trackType:o,previousRepresentationId:s,measuredDownloadSpeedKbps:r,safeBandwidthKbps:void 0,bufferSeconds:i}),null==e?void 0:e.id}if("random"===a){const e=l[Math.floor(Math.random()*l.length)];return M(Bw,this,Uw).call(this,e,t,{decisionReason:"strategy:random",trackType:o,previousRepresentationId:s,measuredDownloadSpeedKbps:r,safeBandwidthKbps:void 0,bufferSeconds:i}),null==e?void 0:e.id}const c=Number.isFinite(i)?i:void 0,u=ob(r)?r*this.settings.safetyMargin:void 0;let d="auto:highest-available";if(s&&void 0!==c&&c<this.settings.minBufferCritical){const e=l[0];return this.log.debug("[select] critical buffer -> lowest",t),M(Bw,this,Uw).call(this,e,t,{decisionReason:"auto:critical-buffer",trackType:o,previousRepresentationId:s,measuredDownloadSpeedKbps:r,safeBandwidthKbps:u,bufferSeconds:c}),null==e?void 0:e.id}let h=l[l.length-1];if(void 0!==u){const e=l.filter((t=>M(Bw,this,Ww).call(this,t.bandwidth)<=u));e.length>0?(h=e[e.length-1],d="auto:highest-under-safe-bandwidth",this.log.debug("[select] under safe bandwidth ->",h.id,t)):(this.log.debug("[select] no rep under safe bandwidth, fallback lowest",t),h=l[0],d="auto:no-rep-under-safe-bandwidth")}if(s&&void 0!==c&&c<this.settings.minBufferForUpgrade){const e=n.find((t=>t.id===s));e&&ob(e.bandwidth)&&ob(h.bandwidth)&&h.bandwidth/e.bandwidth>this.settings.hysteresisRatio&&(h=n.filter((t=>t.bandwidth&&t.bandwidth<=e.bandwidth*this.settings.hysteresisRatio)).sort(((t,e)=>t.bandwidth-e.bandwidth)).pop()||e,d="auto:hysteresis-hold",this.log.debug("[select] hysteresis prevents upgrade; hold",h.id,t))}return M(Bw,this,Uw).call(this,h,t,{decisionReason:d,trackType:o,previousRepresentationId:s,measuredDownloadSpeedKbps:r,safeBandwidthKbps:u,bufferSeconds:c}),null===(e=h)||void 0===e?void 0:e.id}onDispose(){N(Dw,this).clear(),F(Rw,this,null)}}function zw(t){var e,n;return(null===(e=t.mime)||void 0===e||null===(n=e.split)||void 0===n||null===(n=n.call(e,"/"))||void 0===n?void 0:n[0])||"unknown"}function Ww(t){return ob(t)?t/1e3:0}function jw(t){return ob(t)?t/1e3:void 0}function $w(t,e,n={}){const i=Array.isArray(null==e?void 0:e.representations)?e.representations.map((t=>({id:null==t?void 0:t.id,bandwidthKbps:M(Bw,this,jw).call(this,null==t?void 0:t.bandwidth)}))):[];return{timeMs:Date.now(),strategy:this.settings.abrStrategy||"auto",decisionReason:n.decisionReason,nodeId:null==e?void 0:e.nodeId,trackId:null==e?void 0:e.trackId,segmentId:null==e?void 0:e.segmentId,trackType:n.trackType,measuredDownloadSpeedKbps:Number.isFinite(n.measuredDownloadSpeedKbps)?n.measuredDownloadSpeedKbps:void 0,safeBandwidthKbps:Number.isFinite(n.safeBandwidthKbps)?n.safeBandwidthKbps:void 0,bufferSeconds:Number.isFinite(n.bufferSeconds)?n.bufferSeconds:void 0,previousRepresentationId:n.previousRepresentationId,selectedRepresentationId:null==t?void 0:t.id,selectedRepresentationBandwidthKbps:M(Bw,this,jw).call(this,null==t?void 0:t.bandwidth),safetyMargin:Number(this.settings.safetyMargin),minBufferForUpgrade:Number(this.settings.minBufferForUpgrade),minBufferCritical:Number(this.settings.minBufferCritical),hysteresisRatio:Number(this.settings.hysteresisRatio),availableRepresentations:i}}function Uw(t,e,n={}){if(!t)return;const i=M(Bw,this,$w).call(this,t,e,n);e&&"object"==typeof e&&(e.abrDecision=i),this.log.info("[select] Chosen representation:",t,"context:",e,"decision:",i),this.trigger("abr:selection",{representation:t,context:e,strategy:this.settings.abrStrategy,decision:i});const r=M(Bw,this,zw).call(this,t);N(Dw,this).set(r,t.id)}var qw=new WeakMap,Vw=new WeakSet;class Gw extends sh{constructor(...t){super(...t),O(this,Vw),C(this,qw,void 0);const[e]=t;if(F(qw,this,e),!N(qw,this)||"function"!=typeof N(qw,this).list)throw new Error("NodePrioritizer requires a NodeRepository instance")}get name(){return"NodePrioritizer"}get defaults(){return{levelMultiplier:1,priorityMultiplier:.3}}get methodsExcludedFromAutoLog(){return new Set([...super.methodsExcludedFromAutoLog,"sortNodes"])}onDispose(){F(qw,this,null)}getPrioritizationSnapshot(t){const e=N(qw,this).list();if(!e.length)return{orderedIds:[],reachableIds:[]};const{levels:n,weights:i}=M(Vw,this,Hw).call(this,e,t);return{orderedIds:M(Vw,this,Kw).call(this,e,n,i),reachableIds:Array.from(n.keys())}}sortNodes(t){const{orderedIds:e}=this.getPrioritizationSnapshot(t);return e.length?(this.log.info(`[sortNodes(${t})] Sorted nodes: [${e.join(", ")}]`),e):[]}getReachableNodeIds(t){const{reachableIds:e}=this.getPrioritizationSnapshot(t);return e}}function Hw(t,e){const n=new Map;t.forEach((t=>{t&&t.id&&n.set(t.id,t)}));const i=new Map,r=new Map;if(!e||!n.has(e))return{levels:i,weights:r};const o=[{id:e,level:0,priority:1}];for(i.set(e,0),r.set(e,1);o.length;){const{id:t,level:e,priority:s}=o.shift(),a=n.get(t),l=Array.isArray(null==a?void 0:a.children)?a.children:[];for(let t=0;t<l.length;t+=1){const a=l[t],c=(null==a?void 0:a.nodeId)||(null==a?void 0:a.id);if(!c||!n.has(c)||i.has(c))continue;const u=ob(null==a?void 0:a.weight)?a.weight:1,d=Math.max(u,s);i.set(c,e+1),r.set(c,d),o.push({id:c,level:e+1,priority:d})}}return{levels:i,weights:r}}function Kw(t,e,n){const i=e.size>0,{levelMultiplier:r,priorityMultiplier:o}=this.settings,s=t.map((t=>{var s;const a=e.has(t.id)?e.get(t.id):i?Number.MAX_SAFE_INTEGER:0,l=Number.isFinite(a)?a:Number.MAX_SAFE_INTEGER,c=null!==(s=n.get(t.id))&&void 0!==s?s:1,u=(Number.isFinite(l)?r*l:Number.MAX_SAFE_INTEGER)+o*c;return{id:t.id,score:u,level:l,priorityWeight:c}}));return s.sort(((t,e)=>t.score!==e.score?t.score-e.score:t.level!==e.level?t.level-e.level:t.priorityWeight!==e.priorityWeight?t.priorityWeight-e.priorityWeight:t.id.localeCompare(e.id))),s.map((t=>t.id))}function Xw(t,e){return function(t,e){const n=Array.isArray(t)?t:[];return n.length?e&&n.includes(e)?e:n[0]:e||void 0}(null==t?void 0:t.availableEncodeProfiles,e)}function Yw(t,e){const n=t&&"object"==typeof t?{...t}:t;return n&&"object"==typeof n?("string"==typeof e&&e?n.encodeProfile=e:delete n.encodeProfile,n):n}function Qw(t){return"string"==typeof t&&t.startsWith("cmaf:")}function Jw(t){return"image"===(null==t?void 0:t.assetType)?"image":"ivd"}function Zw(t){if(!t||"object"!=typeof t)return t;if(Object.prototype.hasOwnProperty.call(t,"mpd")){const e="string"==typeof t.mpdUrl&&t.mpdUrl||"string"==typeof t.url&&t.url||void 0;return{typeHint:"dash",body:t.mpd,url:e}}return t.ivd||t.url||t.body||t.mimeType||t.typeHint?t:(e=t)&&"object"==typeof e&&Array.isArray(e.representations)?{ivd:t}:t;var e}var tx=new WeakMap,ex=new WeakMap,nx=new WeakSet;class ix extends sh{constructor(...t){super(...t),O(this,nx),C(this,tx,void 0),C(this,ex,void 0);const[,e={}]=t;F(tx,this,"function"==typeof e.fetchFn?e.fetchFn:void 0),F(ex,this,Fb())}get name(){return"AssetsDeliveryService"}get defaults(){return{assetsDeliveryServiceUrl:"https://assets.eko.com",profile:Kb("encodeProfile"),maxBatchSize:5,imageQueryParams:{startOffset:0,width:1024}}}async resolveOne(t,e={}){var n;const i=await this.resolve([t],e);if(!i.length)return;const r=i[0],o=null==r?void 0:r.manifest,s=null==r||null===(n=r.manifestRef)||void 0===n?void 0:n.encodeProfile;return o&&"object"==typeof o&&"string"==typeof s&&s?{...o,encodeProfile:s}:o}resolveImageOne(t){if(!M(nx,this,ox).call(this,t))return;const e=Xw(t,this.settings.profile),n=function(t,e,n){const i=function(t,e,n){const i=(t||"").replace(/\/$/,""),r=null==n?void 0:n.assetId,o=null==n?void 0:n.assetRevision;if(i&&e&&"string"==typeof r&&"number"==typeof o)return`${i}/${e}/${encodeURIComponent(r)}/${o}`}(t,"image",e);if(!i)return;const r=function(t){if(!t||"object"!=typeof t||Array.isArray(t))return"";const e=new URLSearchParams;return Object.keys(t).forEach((n=>{if("string"!=typeof n||!n)return;const i=t[n];null!=i&&("number"!=typeof i||Number.isFinite(i))&&("string"!=typeof i&&"number"!=typeof i&&"boolean"!=typeof i||e.set(n,String(i)))})),e.toString()}(n);return r?`${i}?${r}`:i}(this.settings.assetsDeliveryServiceUrl||"",t,this.settings.imageQueryParams);if(!n)return;const i={typeHint:"image",url:n};return"string"==typeof e&&e&&(i.encodeProfile=e),i}async resolve(t=[],e={}){const n=(Array.isArray(t)?t:[t]).filter((t=>M(nx,this,ox).call(this,t)));if(!n.length)return[];const i=M(nx,this,rx).call(this,e);if(i&&i.aborted)return[];const r=[],o=this.settings.profile;n.forEach((t=>{if("image"!==Jw(t))return;const e=this.resolveImageOne(t);e&&e.url&&r.push({manifestRef:Yw(t,e.encodeProfile),manifest:{typeHint:"image",url:e.url}})}));const s=n.filter((t=>"image"!==Jw(t))).map((t=>function(t,e){const n=Xw(t,e);return{ref:t,profile:n,route:Qw(n)?"dash":"ivd"}}(t,o))),a=M(nx,this,ax).call(this,s);for(const{refs:t,route:e}of a){if(i&&i.aborted)return r;const{url:n}=M(nx,this,lx).call(this,t,e),o=await M(nx,this,cx).call(this,n,{method:"GET",signal:i});o&&"object"==typeof o&&t.forEach((({ref:t,profile:e})=>{const n=`${t.assetId}:${t.assetRevision}`,i=o[n]||o[t.assetId]||o[t.assetId||n];i&&r.push({manifestRef:Yw(t,e),manifest:Zw(i)})}))}return r}onDispose(){N(ex,this)&&N(ex,this).abort(),F(ex,this,null),F(tx,this,null)}}function rx(t){return t&&t.signal?t.signal:N(ex,this)?N(ex,this).signal:void 0}function ox(t){const e="number"==typeof(null==t?void 0:t.assetRevision)&&Number.isFinite(t.assetRevision)&&t.assetRevision>=0;return t&&"assets-delivery-service"===t.type&&"string"==typeof t.assetId&&e}function sx(t,e){const n=Number.isFinite(e)&&e>0?e:t.length,i=[];for(let e=0;e<t.length;e+=n)i.push(t.slice(e,e+n));return i}function ax(t){if(!Array.isArray(t)||!t.length)return[];const e=[];t.forEach((t=>{const n=e[e.length-1];n&&n.route===t.route?n.refs.push(t):e.push({route:t.route,refs:[t]})}));const n=[];return e.forEach((t=>{M(nx,this,sx).call(this,t.refs,this.settings.maxBatchSize).forEach((e=>{n.push({route:t.route,refs:e})}))})),n}function lx(t,e="ivd"){const n=t.map((({ref:t,profile:e})=>function(t,e){const n=`${t.assetId}:${t.assetRevision}`;return e?`${n}:${e}`:n}(t,e))),i=new URLSearchParams({assets:n.join(","),type:"data"});return{url:`${(this.settings.assetsDeliveryServiceUrl||"").replace(/\/$/,"")}/${"dash"===e?"dash":"ivd"}?${i.toString()}`}}async function cx(t,e){return N(tx,this)?N(tx,this).call(this,t,e):await qb(t,{returnType:"json",method:(null==e?void 0:e.method)||"GET",signal:null==e?void 0:e.signal})}function ux({prioritizer:t,repository:e,startNodeId:n,prioritizedIds:i,pendingIds:r,allowedIds:o,filter:s,fallbackToRepository:a=!0}={}){const l=Array.isArray(i)?i:t&&"function"==typeof t.sortNodes?t.sortNodes(n):[],c=a?(f=e)&&"function"==typeof f.list?f.list().map((t=>null==t?void 0:t.id)).filter(Boolean):[]:[],u=l.length?l:c,d=r?new Set(r):null,h=o?new Set(o):null;var f;return u.filter((t=>{if(!t)return!1;if(d&&d.has(t))return!1;if(h&&!h.has(t))return!1;const n=function(t,e){if(t&&"function"==typeof t.get)return t.get(e)}(e,t);return!(!n||"function"==typeof s&&!s(n,t))}))}const dx=(ch.requestAnimationFrame||ch.mozRequestAnimationFrame||ch.webkitRequestAnimationFrame||ch.msRequestAnimationFrame||(t=>ch.setTimeout(t,1e3/60))).bind(ch),hx=(ch.cancelAnimationFrame||ch.mozCancelAnimationFrame||ch.webkitCancelAnimationFrame||ch.msCancelAnimationFrame||(t=>ch.clearTimeout(t))).bind(ch),fx=Zd("ticker","warn");let px,mx=[],vx=null,gx=Cb();function yx(){gx=Cb();const t=[];let e,n;for(n=mx.length-1;n>=0;--n)e=mx[n],gx>=e.lastTick+e.interval&&t.push(e);for(n=t.length-1;n>=0;--n)if(e=t[n],!e.stopped){e.lastTick=gx;try{e.callback()}catch(t){console&&"function"==typeof console.error?console.error(t):fx.error(t)}}px=dx(yx)}function bx(){Cb()-gx>=200&&(hx(px),yx())}function kx(t){let e=-1;for(let n=0;n<mx.length;n+=1)if(mx[n].callback===t){e=n;break}return e}function wx(t,e=0){if(!t||"function"!=typeof t||"number"!=typeof e||e<0)return void fx.error("[start] Invalid arguments given to start method.",arguments);const n=kx(t);return-1!==n?(fx.debug("[start] Callback already exists, overriding interval.",arguments),mx[n].interval=e,t):(mx.push({callback:t,interval:e,lastTick:Cb()}),1===mx.length&&(px=dx(yx),vx||(vx=ch.setInterval(bx,1e3))),t)}function xx(t){const e=kx(t);-1!==e?(mx[e].stopped=!0,mx.splice(e,1),mx.length||(hx(px),ch.clearInterval(vx),vx=null)):fx.debug("[stop] Callback not found, doing nothing.",arguments)}function _x(t){return-1!==kx(t)}function Ix(t,e,n){const i="number"==typeof n?n:(null==n?void 0:n.maxQueueSize)||Number.POSITIVE_INFINITY,r=null!=n&&n.immediatelyFlushFirst?"boolean"==typeof n.immediatelyFlushFirst?n.immediatelyFlushFirst?1:0:Number(n.immediatelyFlushFirst):0;let o=0;if("function"!=typeof t)return void fx.error("[createThrottler] Bad argument given to createThrottler, first argument must be a function.",arguments);fx.debug("[createThrottler] Creating a new throttler instance.",arguments);const s=[];function a(){fx.debug("[onThrottlerTick] Calling callback with "+s.length+" queued items.");const e=s.slice(0);s.length=0,xx(a),t(e)}const l={push:function(t){fx.debug("[push] Queuing argument:",t),0===s.length&&wx(a,e),s.push(t),o+=1,(o<=r||s.length>=i)&&a()},flush:function(){fx.debug("[flush] Flushing queue."),0!==s.length&&a()},dispose:function(){fx.debug("[dispose] Disposing of throttler.");const t=s.slice(0);return s.length=0,xx(a),t}};return Object.defineProperty(l,"interval",{enumerable:!0,get:function(){return e},set:function(t){"number"==typeof t&&(e=t)}}),l}function Tx(t,e){if(t&&"function"==typeof t)return t.__tickerThrottler||(t.__tickerThrottler=Ix((function(){t()}),e)),"number"==typeof e&&(t.__tickerThrottler.interval=e),t.__tickerThrottler.push(),t.__tickerThrottler;fx.error("[scheduleExecution] Bad argument given to scheduleExecution, first argument must be a function.",arguments)}var Ex=new WeakMap,Sx=new WeakMap,Mx=new WeakMap,Ax=new WeakMap,Nx=new WeakMap,Cx=new WeakMap,Fx=new WeakMap,Ox=new WeakMap,Px=new WeakMap,Rx=new WeakMap,Dx=new WeakMap,Bx=new WeakMap,Lx=new WeakMap,zx=new WeakMap,Wx=new WeakMap,jx=new WeakMap,$x=new WeakSet;class Ux extends sh{constructor(...t){super(...t),O(this,$x),C(this,Ex,void 0),C(this,Sx,void 0),C(this,Mx,void 0),C(this,Ax,void 0),C(this,Nx,[]),C(this,Cx,[]),C(this,Fx,new Set),C(this,Ox,new Set),C(this,Px,!1),C(this,Rx,void 0),C(this,Dx,void 0),C(this,Bx,void 0),C(this,Lx,void 0),C(this,zx,void 0),C(this,Wx,void 0),C(this,jx,void 0);const[e,n,i,r]=t;F(Ex,this,e),F(Sx,this,n),F(Mx,this,i),F(Ax,this,r),F(Rx,this,Fb());const o=t.length?t[t.length-1]:void 0,s=o&&"object"==typeof o&&Number.isFinite(o.maxConcurrent)?o.maxConcurrent:void 0;Number.isFinite(s)&&(this.settings.maxConcurrent=s),F(jx,this,(()=>M($x,this,t_).call(this))),M($x,this,Hx).call(this),M($x,this,Gx).call(this)}get name(){return"NodeResolver"}get defaults(){return{maxConcurrent:5}}onDispose(){var t;N(Rx,this)&&N(Rx,this).abort(),F(Rx,this,null),N(Ax,this)&&"function"==typeof N(Ax,this).off&&N(Bx,this)&&N(Ax,this).off(dh.PLACEMENT_ADDED,N(Bx,this)),N(Ax,this)&&"function"==typeof N(Ax,this).off&&N(Wx,this)&&N(Ax,this).off(dh.TIMELINE_RESET,N(Wx,this)),N(Ex,this)&&"function"==typeof N(Ex,this).off&&N(Lx,this)&&N(Ex,this).off(dh.NODE_ADD,N(Lx,this)),N(Ex,this)&&"function"==typeof N(Ex,this).off&&N(zx,this)&&N(Ex,this).off(dh.NODE_CHILDREN_CHANGED,N(zx,this)),F(Bx,this,null),F(Lx,this,null),F(zx,this,null),F(Wx,this,null),F(Nx,this,[]),F(Cx,this,[]),N(Fx,this).clear(),N(Ox,this).clear(),F(Px,this,!1),F(Dx,this,void 0),null!==(t=N(jx,this))&&void 0!==t&&t.__tickerThrottler&&N(jx,this).__tickerThrottler.dispose(),F(jx,this,null)}}function qx(){return N(Rx,this)?N(Rx,this).signal:void 0}function Vx(){return this._disposed||N(Rx,this)&&N(Rx,this).signal.aborted}function Gx(){N(Ax,this)&&"function"==typeof N(Ax,this).on&&(F(Bx,this,(t=>{M($x,this,Xx).call(this,null==t?void 0:t.nodeId)})),N(Ax,this).on(dh.PLACEMENT_ADDED,N(Bx,this)),F(Wx,this,(()=>M($x,this,Kx).call(this))),N(Ax,this).on(dh.TIMELINE_RESET,N(Wx,this))),N(Ex,this)&&"function"==typeof N(Ex,this).on&&(F(Lx,this,(({node:t})=>{(null==t?void 0:t.id)&&M($x,this,Xx).call(this,t.id,{fromRepoAdd:!0})})),N(Ex,this).on(dh.NODE_ADD,N(Lx,this)),F(zx,this,(()=>{Tx(N(jx,this),100)})),N(Ex,this).on(dh.NODE_CHILDREN_CHANGED,N(zx,this)))}function Hx(){const t=N(Ax,this)&&Array.isArray(N(Ax,this).placements)?N(Ax,this).placements:[];t.forEach((t=>M($x,this,Xx).call(this,t.nodeId)));const e=t.length?t[t.length-1]:void 0;e&&e.nodeId&&F(Dx,this,e.nodeId)}function Kx(){N(Rx,this)&&N(Rx,this).abort(),F(Rx,this,Fb()),F(Nx,this,[]),F(Cx,this,[]),N(Fx,this).clear(),F(Px,this,!1),F(Dx,this,void 0)}function Xx(t,{fromRepoAdd:e=!1}={}){M($x,this,Vx).call(this)||t&&(N(Ox,this).has(t)||N(Fx,this).has(t)||(N(Nx,this).push(t),N(Dx,this)||e||F(Dx,this,t),!N(Px,this)&&e||M($x,this,Yx).call(this)))}function Yx(){if(N(Px,this))return void M($x,this,Qx).call(this);if(0===N(Nx,this).length)return;F(Px,this,!0);const t=N(Nx,this).shift();M($x,this,e_).call(this,t).finally((()=>{M($x,this,Qx).call(this)}))}async function Qx(){if(!M($x,this,Vx).call(this))for(N(Nx,this).length||N(Cx,this).length||F(Cx,this,M($x,this,Jx).call(this));N(Fx,this).size<this.settings.maxConcurrent;){const t=this.settings.maxConcurrent-N(Fx,this).size;if(t<=0)break;const e=[];for(;e.length<t&&(N(Nx,this).length||N(Cx,this).length);){let t=N(Nx,this).shift();t||(t=N(Cx,this).shift()),t&&e.push(t)}if(!e.length)break;const n=M($x,this,n_).call(this,e);n.length&&N(Mx,this)&&"function"==typeof N(Mx,this).resolve&&M($x,this,i_).call(this,n).finally((()=>M($x,this,Qx).call(this))),e.filter((t=>!n.find((e=>e.nodeId===t)))).forEach((t=>{M($x,this,e_).call(this,t).finally((()=>M($x,this,Qx).call(this)))}))}}function Jx(){const t=new Set([...N(Ox,this),...N(Fx,this),...N(Nx,this)]);return M($x,this,Zx).call(this,t)}function Zx(t){const e=N(Ax,this)&&Array.isArray(N(Ax,this).placements)?N(Ax,this).placements:[],n=(e.length?e[e.length-1].nodeId:void 0)||N(Dx,this);return ux({prioritizer:N(Sx,this),repository:N(Ex,this),startNodeId:n,pendingIds:t,fallbackToRepository:!1})}function t_(){M($x,this,Vx).call(this)||(N(Px,this)||0!==N(Nx,this).length)&&(F(Cx,this,M($x,this,Jx).call(this)),N(Px,this)&&M($x,this,Qx).call(this))}async function e_(t,e){if(!t||N(Ox,this).has(t)||N(Fx,this).has(t))return;const n=M($x,this,qx).call(this);if(n&&n.aborted)return;const i=N(Ex,this)&&"function"==typeof N(Ex,this).get?N(Ex,this).get(t):void 0;if(i&&"function"==typeof i.resolve)if("function"==typeof i.hasExceededManifestLoadAttempts&&i.hasExceededManifestLoadAttempts())N(Ox,this).add(t);else{N(Fx,this).add(t);try{const r={signal:n};e&&(r.manifestOverride=e),await i.resolve(r),N(Ox,this).add(t)}catch(e){if(Pb(e,n))return;this.log.warn(`NodeResolver failed to resolve node ${t}: ${(null==e?void 0:e.message)||e}`),"function"==typeof i.hasExceededManifestLoadAttempts&&i.hasExceededManifestLoadAttempts()&&N(Ox,this).add(t)}finally{N(Fx,this).delete(t)}}}function n_(t){const e=[];return t.forEach((t=>{const n=N(Ex,this)&&"function"==typeof N(Ex,this).get?N(Ex,this).get(t):void 0;n&&n.manifestRef&&"assets-delivery-service"===n.manifestRef.type&&e.push({nodeId:t,ref:n.manifestRef})})),e}async function i_(t){const e=M($x,this,qx).call(this);if(!e||!e.aborted){t.forEach((({nodeId:t})=>N(Fx,this).add(t)));try{const n=t.map((t=>t.ref)),i=await N(Mx,this).resolve(n,{signal:e});t.forEach((({nodeId:t,ref:e})=>{var n;const r=N(Ex,this)&&"function"==typeof N(Ex,this).get?N(Ex,this).get(t):void 0;if(N(Fx,this).delete(t),!r||"function"!=typeof r.resolve)return;const o=Array.isArray(i)?i.find((t=>{const n=null==t?void 0:t.manifestRef;return n&&n.assetId===e.assetId&&n.assetRevision===e.assetRevision})):void 0,s="string"==typeof(null==o||null===(n=o.manifestRef)||void 0===n?void 0:n.encodeProfile)&&o.manifestRef.encodeProfile?o.manifestRef.encodeProfile:void 0,a=o?M($x,this,r_).call(this,o.manifest,s):void 0;M($x,this,e_).call(this,t,a)}))}catch(n){Pb(n,e)||this.log.warn(`NodeResolver ADS batch failed: ${(null==n?void 0:n.message)||n}`),t.forEach((({nodeId:t})=>N(Fx,this).delete(t)))}}}function r_(t,e){if(!t)return;const n="string"==typeof e&&e?e:void 0,i=t=>n&&t&&"object"==typeof t?{...t,encodeProfile:n}:t;return t.ivd?i({typeHint:"ivd",body:t.ivd}):t.url||t.body||t.mimeType?i({typeHint:t.typeHint,url:t.url,mimeType:t.mimeType,body:t.body}):i(t)}const o_=.001,s_="priority";function a_(t){const e=Number(t);return Number.isFinite(e)?e:0}var l_=new WeakMap,c_=new WeakMap,u_=new WeakMap,d_=new WeakMap,h_=new WeakMap,f_=new WeakMap,p_=new WeakMap,m_=new WeakMap,v_=new WeakMap,g_=new WeakMap,y_=new WeakMap,b_=new WeakMap,k_=new WeakMap,w_=new WeakMap,x_=new WeakMap,__=new WeakMap,I_=new WeakMap,T_=new WeakMap,E_=new WeakMap,S_=new WeakMap,M_=new WeakSet;class A_ extends sh{constructor(...t){super(...t),O(this,M_),C(this,l_,void 0),C(this,c_,void 0),C(this,u_,void 0),C(this,d_,new Map),C(this,h_,new Map),C(this,f_,[]),C(this,p_,new Set),C(this,m_,new Map),C(this,v_,!1),C(this,g_,void 0),C(this,y_,void 0),C(this,b_,void 0),C(this,k_,void 0),C(this,w_,void 0),C(this,x_,void 0),C(this,__,void 0),C(this,I_,void 0),C(this,T_,!1),C(this,E_,[]),C(this,S_,void 0);const[e,n,i]=t;F(l_,this,e),F(c_,this,n),F(u_,this,i),F(y_,this,Fb()),F(S_,this,(()=>M(M_,this,dI).call(this))),M(M_,this,q_).call(this)}get name(){return"SegmentLoadCoordinator"}get defaults(){return{maxConcurrentLoads:3,maxSegmentLoadAttempts:3}}onDispose(){var t;N(y_,this)&&N(y_,this).abort(),F(y_,this,null),N(m_,this).size&&N(m_,this).forEach((t=>{(null==t?void 0:t.controller)&&t.controller.abort()})),N(m_,this).clear(),N(u_,this)&&"function"==typeof N(u_,this).off&&(N(b_,this)&&N(u_,this).off(dh.PLACEMENT_ADDED,N(b_,this)),N(w_,this)&&N(u_,this).off(dh.TIMELINE_SEEKING,N(w_,this)),N(x_,this)&&N(u_,this).off(dh.TIMELINE_SEEKED,N(x_,this)),N(__,this)&&N(u_,this).off(dh.TIMELINE_RESET,N(__,this))),N(l_,this)&&"function"==typeof N(l_,this).off&&N(k_,this)&&N(l_,this).off(dh.NODE_CHILDREN_CHANGED,N(k_,this)),N(I_,this)&&"function"==typeof ch.removeEventListener&&ch.removeEventListener("online",N(I_,this)),F(b_,this,null),F(k_,this,null),F(w_,this,null),F(x_,this,null),F(__,this,null),F(I_,this,null),N(d_,this).clear(),N(h_,this).clear(),F(f_,this,[]),N(p_,this).clear(),N(m_,this).clear(),F(v_,this,!1),F(g_,this,void 0),F(T_,this,!1),F(E_,this,[]),null!==(t=N(S_,this))&&void 0!==t&&t.__tickerThrottler&&N(S_,this).__tickerThrottler.dispose(),F(S_,this,null)}}function N_(){return N(y_,this)?N(y_,this).signal:void 0}function C_(){return this._disposed||N(y_,this)&&N(y_,this).signal.aborted}function F_(){const t=Number(this.settings.maxSegmentLoadAttempts);return Number.isFinite(t)&&t>0?t:1/0}function O_(t){const e=M(M_,this,F_).call(this);if(!Number.isFinite(e)||e===1/0)return!1;if(null==t||!t.loadError)return!1;const n=Number(t.loadAttempts);return Number.isFinite(n)&&n>=e}function P_(t){return!!t&&(!!M(M_,this,O_).call(this,t)||M(M_,this,R_).call(this,t))}function R_(t){if(!t)return!1;if("boolean"==typeof t.isLoaded)return t.isLoaded;const e=Number(t.retainedByteLength);return Number.isFinite(e)&&e>0}function D_(t){if(!t||M(M_,this,R_).call(this,t))return;const e=Number(t.loadAttempts);(Number.isFinite(e)&&e>0||t.loadError)&&("function"==typeof t.evict&&t.evict(),t.loadAttempts=0,t.loadError=void 0)}function B_(t){t&&(t.manifestLoadError&&(t.manifestLoadAttempts=0,t.manifestLoadError=void 0,"failed"===t.state&&(t.state="pending",t.error=void 0)),(Array.isArray(t.tracks)?t.tracks:[]).forEach((t=>{(Array.isArray(null==t?void 0:t.segments)?t.segments:[]).forEach((t=>{M(M_,this,D_).call(this,t)}))})))}function L_(){(N(l_,this)&&"function"==typeof N(l_,this).list?N(l_,this).list():[]).forEach((t=>{M(M_,this,B_).call(this,t)}))}function z_(t,{allowSeekKeep:e=!1,segmentOffset:n}={}){const i=Fb(),r=i?i.signal:M(M_,this,N_).call(this);return t&&N(m_,this).set(t,{controller:i,allowSeekKeep:!!e,segmentOffset:n}),{signal:r,controller:i}}function W_(t,e,n={}){const i=N(m_,this).get(t);i&&i.controller===e&&(Object.prototype.hasOwnProperty.call(n,"allowSeekKeep")&&(i.allowSeekKeep=!!n.allowSeekKeep),Object.prototype.hasOwnProperty.call(n,"segmentOffset")&&(i.segmentOffset=n.segmentOffset))}function j_(t,e){const n=N(m_,this).get(t);n&&(e&&n.controller!==e||N(m_,this).delete(t))}function $_(t,e){const n=new Set;return(Array.isArray(t)?t:[]).forEach((t=>{const i=null==t?void 0:t.nodeId;if(!i)return;const r=N(l_,this)&&"function"==typeof N(l_,this).get?N(l_,this).get(i):void 0;if(!r)return;const o=M(M_,this,eI).call(this,r,t,e);Number.isFinite(o)&&n.add(`${i}:${o}`)})),n}function U_(t){N(m_,this).size&&N(m_,this).forEach(((e,n)=>{const i=null==e?void 0:e.segmentOffset,r=Number.isFinite(i)?`${n}:${i}`:"";!(null!=e&&e.allowSeekKeep&&r&&t&&t.has(r))&&(null==e?void 0:e.controller)&&e.controller.abort()}))}function q_(){N(u_,this)&&"function"==typeof N(u_,this).on&&(F(b_,this,(t=>{M(M_,this,Y_).call(this,t)})),N(u_,this).on(dh.PLACEMENT_ADDED,N(b_,this)),F(w_,this,(t=>M(M_,this,V_).call(this,t))),N(u_,this).on(dh.TIMELINE_SEEKING,N(w_,this)),F(x_,this,(t=>M(M_,this,G_).call(this,t))),N(u_,this).on(dh.TIMELINE_SEEKED,N(x_,this)),F(__,this,(()=>M(M_,this,X_).call(this))),N(u_,this).on(dh.TIMELINE_RESET,N(__,this))),N(l_,this)&&"function"==typeof N(l_,this).on&&(F(k_,this,(()=>{Tx(N(S_,this),100)})),N(l_,this).on(dh.NODE_CHILDREN_CHANGED,N(k_,this))),"function"==typeof ch.addEventListener&&(F(I_,this,(()=>M(M_,this,K_).call(this))),ch.addEventListener("online",N(I_,this)))}function V_(t={}){if(M(M_,this,C_).call(this))return;const e=Number(null==t?void 0:t.targetTime);if(!Number.isFinite(e))return;const n=Array.isArray(null==t?void 0:t.placements)?t.placements:[],i=M(M_,this,$_).call(this,n,e);M(M_,this,U_).call(this,i),F(T_,this,!0),F(E_,this,n.map((t=>{const n=null==t?void 0:t.nodeId;if(n)return{nodeId:n,placement:t,targetTime:e}})).filter(Boolean)),setTimeout((()=>M(M_,this,J_).call(this)),0)}function G_(t={}){var e;if(M(M_,this,C_).call(this))return;F(T_,this,!1),F(E_,this,[]);const n=Number.isFinite(null==t?void 0:t.targetTime)?Number(t.targetTime):Number(null===(e=N(u_,this))||void 0===e?void 0:e.currentTime);M(M_,this,H_).call(this,n),setTimeout((()=>M(M_,this,J_).call(this)),0)}function H_(t){var e;(Array.isArray(null===(e=N(u_,this))||void 0===e?void 0:e.placements)?N(u_,this).placements:[]).forEach((e=>{if(!e)return;const n=gv(e);if(Number.isFinite(n)){if(Number.isFinite(t)){if(n>=t)return void M(M_,this,Y_).call(this,e);const i=mv(e,N(l_,this));return Number.isFinite(i)?void(n+i>t&&M(M_,this,Y_).call(this,e)):void(n<=t&&M(M_,this,Y_).call(this,e))}M(M_,this,Y_).call(this,e)}}))}function K_(){var t;M(M_,this,C_).call(this)||(M(M_,this,L_).call(this),F(T_,this,!1),F(E_,this,[]),M(M_,this,H_).call(this,Number(null===(t=N(u_,this))||void 0===t?void 0:t.currentTime)),F(f_,this,M(M_,this,cI).call(this)),setTimeout((()=>M(M_,this,J_).call(this)),0))}function X_(){N(y_,this)&&N(y_,this).abort(),F(y_,this,Fb()),N(m_,this).size&&N(m_,this).forEach((t=>{(null==t?void 0:t.controller)&&t.controller.abort()})),N(m_,this).clear(),N(d_,this).clear(),N(h_,this).clear(),F(f_,this,[]),N(p_,this).clear(),F(v_,this,!1),F(g_,this,void 0),F(T_,this,!1),F(E_,this,[])}function Y_(t){if(M(M_,this,C_).call(this))return;const e=null==t?void 0:t.nodeId;if(!e)return;const n=N(d_,this).get(e);if(n){const i=gv(n),r=gv(t);Number.isFinite(i)?Number.isFinite(r)&&r<i&&N(d_,this).set(e,t):Number.isFinite(r)&&N(d_,this).set(e,t)}else N(d_,this).set(e,t);const i=N(g_,this);F(g_,this,e),i&&i!==e&&F(f_,this,[]),N(v_,this)?setTimeout((()=>M(M_,this,J_).call(this)),0):M(M_,this,Q_).call(this)}function Q_(){N(v_,this)||N(d_,this).size&&(F(v_,this,!0),M(M_,this,J_).call(this))}async function J_(){if(M(M_,this,C_).call(this))return;if(N(p_,this).size>=this.settings.maxConcurrentLoads)return;if(N(T_,this))return void(N(E_,this).length&&M(M_,this,Z_).call(this));const t=M(M_,this,rI).call(this);if(t.hasPending)M(M_,this,oI).call(this,t);else for(N(f_,this).length||F(f_,this,M(M_,this,cI).call(this));N(p_,this).size<this.settings.maxConcurrentLoads&&N(f_,this).length;){const t=N(f_,this).shift();M(M_,this,hI).call(this,t,"partial").finally((()=>{setTimeout((()=>M(M_,this,J_).call(this)),0)}))}}function Z_(){if(M(M_,this,C_).call(this))return;const t=Math.max(0,this.settings.maxConcurrentLoads-N(p_,this).size);if(!t||!N(E_,this).length)return;const e=[],n=[];for(let i=0;i<N(E_,this).length;i+=1){const r=N(E_,this)[i];(null==r?void 0:r.nodeId)&&(e.length<t&&!N(p_,this).has(r.nodeId)?e.push(r):n.push(r))}F(E_,this,n),e.forEach((t=>{M(M_,this,tI).call(this,t).finally((()=>{setTimeout((()=>M(M_,this,J_).call(this)),0)}))}))}async function tI(t={}){const e=null==t?void 0:t.nodeId,n=null==t?void 0:t.placement,i=Number(null==t?void 0:t.targetTime);if(!e||!n||!Number.isFinite(i))return;if(N(p_,this).has(e))return;const{signal:r,controller:o}=M(M_,this,z_).call(this,e);if(r&&r.aborted)M(M_,this,j_).call(this,e,o);else{N(p_,this).add(e);try{const t=N(l_,this)&&"function"==typeof N(l_,this).get?N(l_,this).get(e):void 0;if(!t)return;if("ready"!==t.state&&"function"==typeof t.resolve)try{await t.resolve({signal:r})}catch(t){return}if("ready"!==t.state)return;const s=M(M_,this,eI).call(this,t,n,i);if(!Number.isFinite(s)){const n=Array.isArray(null==t?void 0:t.tracks)?t.tracks.map((t=>null==t?void 0:t.type)).filter(Boolean):[];return void this.log.debug(`[#loadSeekWork] No seek segment offset for node [${e}] targetTime=${i} mainTrackId=${(null==t?void 0:t.mainTrackId)||"n/a"} trackTypes=[${n.join(",")}]`)}"function"==typeof t.loadMediaSegmentsAtOffset?(this.log.debug(`[#loadSeekWork] Loading seek segment for node [${e}] at offset=${s}`),M(M_,this,W_).call(this,e,o,{allowSeekKeep:!0,segmentOffset:s}),await t.loadMediaSegmentsAtOffset(s,{signal:r})):"function"==typeof t.load&&await t.load({loadingMode:"partial",signal:r})}catch(t){Pb(t,r)||this.log.warn(`[#loadSeekWork] SegmentLoadCoordinator failed to seek-load node ${e}: ${(null==t?void 0:t.message)||t}`)}finally{N(p_,this).delete(e),M(M_,this,j_).call(this,e,o)}}}function eI(t,e,n){var i;const r=gv(e);if(!Number.isFinite(r))return;const o=a_(null==e?void 0:e.nodeOffsetOverride),s=Math.max(0,n-r+o),a=Array.isArray(null==t?void 0:t.tracks)?t.tracks:[];let l;if(null!=t&&t.mainTrackId){const e=a.find((e=>(null==e?void 0:e.id)===t.mainTrackId));"video"!==(null==e?void 0:e.type)&&"image"!==(null==e?void 0:e.type)||(l=e)}if(l||(l=a.find((t=>"video"===(null==t?void 0:t.type)))||a.find((t=>"image"===(null==t?void 0:t.type)))),!l||!Array.isArray(l.segments))return;const c=l.segments.filter((t=>t&&!t.isInit&&Array.isArray(t.representations)));if(!c.length)return;const u=a_(null===(i=l)||void 0===i?void 0:i.offset),d=bk(c,Math.max(0,s-u),{preferRepresentationTime:!0}),h=Number(null==d?void 0:d.offset);return Number.isFinite(h)?h:void 0}function nI(t,e,n=(t=>null===(t=N(u_,this))||void 0===t?void 0:t.currentTime)()){var i;const r=(Array.isArray(null===(i=N(u_,this))||void 0===i?void 0:i.placements)?N(u_,this).placements:[]).filter((e=>(null==e?void 0:e.nodeId)===t&&Number.isFinite(gv(e)))).sort(((t,e)=>gv(t)-gv(e)));if(!r.length)return e;const o=Number(n);if(!Number.isFinite(o))return e||r[0];let s,a;for(let t=0;t<r.length;t+=1){const e=r[t],n=gv(e);if(!Number.isFinite(n))continue;const i=mv(e,N(l_,this)),l=Number.isFinite(i)&&i>=0;(!a&&n>=o-o_&&(a=e),l)?o+o_>=n&&o<n+i-o_&&(s=e):o+o_>=n&&(s=e)}return s||a||r[r.length-1]}function iI(t,e){var n;const i=Number(gv(e));if(!Number.isFinite(i))return;const r=mv(e,N(l_,this)),o=Number.isFinite(r)&&r>=0?i+r:void 0,s=(Array.isArray(null===(n=N(u_,this))||void 0===n?void 0:n.placements)?N(u_,this).placements:[]).filter((e=>(null==e?void 0:e.nodeId)===t&&Number.isFinite(gv(e)))).sort(((t,e)=>gv(t)-gv(e)));for(let t=0;t<s.length;t+=1){const e=s[t],n=Number(gv(e));if(Number.isFinite(n)&&!(n<=i+o_)){if(Number.isFinite(o)&&n>o+o_)return;return e}}}function rI(){const t=[];let e=!1,n=1/0;if(N(d_,this).forEach(((i,r)=>{if(!r||!i)return;const o=N(h_,this).get(r);if(o)return e=!0,void(n=Math.min(n,a_(o.timelineStart)));const s=M(M_,this,sI).call(this,r,i);s&&(e=!0,n=Math.min(n,a_(s.timelineStart)),t.push(s))})),!e||!Number.isFinite(n))return{hasPending:!1,waveTime:void 0,startable:[]};const i=t.filter((t=>a_(t.timelineStart)===n&&!N(p_,this).has(t.nodeId))).sort(((t,e)=>{const n=Number.isFinite(null==t?void 0:t.timelineStart)?t.timelineStart:Number.POSITIVE_INFINITY,i=Number.isFinite(null==e?void 0:e.timelineStart)?e.timelineStart:Number.POSITIVE_INFINITY;return n!==i?n-i:String(t.nodeId).localeCompare(String(e.nodeId))}));return{hasPending:!0,waveTime:n,startable:i}}function oI({waveTime:t,startable:e}){const n=Math.max(0,this.settings.maxConcurrentLoads-N(p_,this).size);n&&e.length&&e.slice(0,n).forEach((e=>{M(M_,this,lI).call(this,e,t).finally((()=>{setTimeout((()=>M(M_,this,J_).call(this)),0)}))}))}function sI(t,e){var n,i;const r=N(l_,this)&&"function"==typeof N(l_,this).get?N(l_,this).get(t):void 0;if(!r)return;if("function"==typeof r.hasExceededManifestLoadAttempts&&r.hasExceededManifestLoadAttempts())return void N(d_,this).delete(t);const o=M(M_,this,nI).call(this,t,e,null===(n=N(u_,this))||void 0===n?void 0:n.currentTime),s=Number(gv(o)),a=a_(null===(i=N(u_,this))||void 0===i?void 0:i.currentTime),l="function"==typeof r.loadMediaSegmentsAtOffset,c="function"==typeof r.load;if(!l&&!c)return void N(d_,this).delete(t);if(r.isLoaded)return void N(d_,this).delete(t);if("ready"!==r.state){if(!Number.isFinite(s))return;return{nodeId:t,segmentOffset:0,timelineStart:s}}if(!M(M_,this,fI).call(this,r))return void N(d_,this).delete(t);const u=Array.isArray(r.tracks)?r.tracks:[],d=u.some((t=>{const e=(Array.isArray(null==t?void 0:t.segments)?t.segments:[]).find((t=>(null==t?void 0:t.isInit)&&Array.isArray(null==t?void 0:t.representations)));return!!e&&!M(M_,this,P_).call(this,e)})),h=new Set;u.forEach((t=>{(Array.isArray(null==t?void 0:t.segments)?t.segments:[]).forEach((t=>{if(!t||t.isInit||!Array.isArray(t.representations))return;const e=Number(t.offset);if(Number.isFinite(e)){const t=Math.round(e/o_)*o_;h.add(t)}}))}));const f=Array.from(h).sort(((t,e)=>t-e)),p=e=>{const n=Number(gv(e));if(!Number.isFinite(n))return{status:"none"};const i=a_(null==e?void 0:e.nodeOffsetOverride),o=Math.max(0,a-n+i);let s=0;for(let t=0;t<f.length&&f[t]<=o+o_;t+=1)s=t;const l=f.slice(s);if(!l.some((t=>M(M_,this,aI).call(this,r,t))))return{status:f.slice(0,s).some((t=>M(M_,this,aI).call(this,r,t)))?"beforeOnly":"none"};const c=l.find((t=>M(M_,this,aI).call(this,r,t))),u=Math.max(0,a_(c)-i);return{status:"work",work:{nodeId:t,segmentOffset:c,timelineStart:n+u}}},m=p(o);if("work"===m.status)return m.work;if("beforeOnly"!==m.status){if(d&&Number.isFinite(s))return{nodeId:t,segmentOffset:0,timelineStart:s};N(d_,this).delete(t)}else{const e=M(M_,this,iI).call(this,t,o);if(e){const t=p(e);if("work"===t.status)return t.work}}}function aI(t,e){const n=Array.isArray(null==t?void 0:t.tracks)?t.tracks:[],i=a_(e);return n.some((t=>(Array.isArray(null==t?void 0:t.segments)?t.segments:[]).some((t=>{if(!t||t.isInit||!Array.isArray(t.representations))return!1;const e=Number(t.offset);return Number.isFinite(e)&&Math.abs(e-i)<=o_&&!M(M_,this,P_).call(this,t)}))))}async function lI(t,e){const n=null==t?void 0:t.nodeId,i=null==t?void 0:t.segmentOffset;if(this.log.debug(`[#loadP0Work] Loading ${s_} node [${n}] at segmentOffset=${i} wave=${e}`),!n)return;const r=N(l_,this)&&"function"==typeof N(l_,this).get?N(l_,this).get(n):void 0;if(!r)return void N(d_,this).delete(n);const o="function"==typeof r.loadMediaSegmentsAtOffset&&Number.isFinite(i),{signal:s,controller:a}=M(M_,this,z_).call(this,n,{allowSeekKeep:o,segmentOffset:i});if(s&&s.aborted)M(M_,this,j_).call(this,n,a);else{N(p_,this).add(n),N(h_,this).set(n,{timelineStart:e,segmentOffset:i});try{"function"==typeof r.loadMediaSegmentsAtOffset?await r.loadMediaSegmentsAtOffset(i,{signal:s}):"function"==typeof r.load&&await r.load({loadingMode:"full",signal:s})}catch(t){if(Pb(t,s))return;const e=`[#loadP0Work] SegmentLoadCoordinator failed to load ${s_} work for node ${n}: ${(null==t?void 0:t.message)||t}`;this.log.warn(e)}finally{this.log.debug(`[#loadP0Work] Finished ${s_} work for node [${n}]`),N(h_,this).delete(n),N(p_,this).delete(n),M(M_,this,j_).call(this,n,a)}}}function cI(){const t=new Set([...N(d_,this).keys(),...N(p_,this)]),e=M(M_,this,uI).call(this),n=Array.isArray(null==e?void 0:e.orderedIds)?e.orderedIds:null,i=Array.isArray(null==e?void 0:e.reachableIds)&&e.reachableIds.length?new Set(e.reachableIds):null,r=t=>!("function"==typeof t.hasExceededManifestLoadAttempts&&t.hasExceededManifestLoadAttempts()||t.isLoaded||"ready"===t.state&&M(M_,this,pI).call(this,t));if(i){const e=ux({prioritizer:N(c_,this),repository:N(l_,this),startNodeId:N(g_,this),prioritizedIds:n,pendingIds:t,allowedIds:i,filter:r});if(e.length)return e}return ux({prioritizer:N(c_,this),repository:N(l_,this),startNodeId:N(g_,this),prioritizedIds:n,pendingIds:t,filter:r})}function uI(){return N(c_,this)&&N(g_,this)?"function"==typeof N(c_,this).getPrioritizationSnapshot?N(c_,this).getPrioritizationSnapshot(N(g_,this)):{orderedIds:"function"==typeof N(c_,this).sortNodes?N(c_,this).sortNodes(N(g_,this)):[],reachableIds:"function"==typeof N(c_,this).getReachableNodeIds?N(c_,this).getReachableNodeIds(N(g_,this)):[]}:null}function dI(){M(M_,this,C_).call(this)||(N(v_,this)||N(d_,this).size)&&(F(f_,this,M(M_,this,cI).call(this)),N(v_,this)&&!N(T_,this)&&M(M_,this,J_).call(this))}async function hI(t,e){if(this.log.debug(`[#loadNode] Loading node [${t}] in '${e}' mode`),!t)return;const n=N(l_,this)&&"function"==typeof N(l_,this).get?N(l_,this).get(t):void 0;if(!n||"function"!=typeof n.load)return;if("function"==typeof n.hasExceededManifestLoadAttempts&&n.hasExceededManifestLoadAttempts())return;if(n.isLoaded)return void this.log.debug(`[#loadNode] Skipping load for ${t}: already loaded`);const{signal:i,controller:r}=M(M_,this,z_).call(this,t,{allowSeekKeep:!1});if(i&&i.aborted)M(M_,this,j_).call(this,t,r);else try{if("ready"!==n.state&&await n.resolve({signal:i}),"ready"!==n.state)return void this.log.debug(`[#loadNode] Skipping load for ${t}: not ready`);if("partial"===e&&M(M_,this,pI).call(this,n))return void this.log.debug(`[#loadNode] Skipping load for ${t}: partial already loaded`);if(!M(M_,this,fI).call(this,n))return void this.log.debug(`[#loadNode] Skipping load for ${t}: no loadable tracks`);N(p_,this).add(t),await n.load({loadingMode:e,signal:i})}catch(e){if(Pb(e,i))return;this.log.warn(`[#loadNode] SegmentLoadCoordinator failed to load node ${t}: ${(null==e?void 0:e.message)||e}`)}finally{this.log.debug(`[#loadNode] Finished loading node [${t}]`),N(p_,this).delete(t),M(M_,this,j_).call(this,t,r)}}function fI(t){return(Array.isArray(t.tracks)?t.tracks:[]).some((t=>{var e;return null==t||null===(e=t.segments)||void 0===e?void 0:e.length}))}function pI(t){const e=(Array.isArray(null==t?void 0:t.tracks)?t.tracks:[]).filter((t=>Array.isArray(null==t?void 0:t.segments)&&t.segments.length));return!e.length||e.every((t=>{const e=Array.isArray(null==t?void 0:t.segments)?t.segments:[];if(!e.length)return!0;const n=e.find((t=>null==t?void 0:t.isInit)),i=e.find((t=>t&&!t.isInit));return!(n&&!M(M_,this,P_).call(this,n)||i&&!M(M_,this,P_).call(this,i))}))}class mI extends sh{constructor(...t){super(...t),this.track=void 0,this.lastSegment=void 0}get name(){return"BaseDecoder"}configure(t){this.track=t}decode(t){this.lastSegment=t}decodeChunk(t,e){}onDispose(){this.track=void 0,this.lastSegment=void 0}}function vI(t){if(!t)throw new Error("Assertion failed.")}const gI=t=>t&&t[t.length-1],yI=t=>{let e=0;for(;0===t.readBits(1)&&e<32;)e++;if(e>=32)throw new Error("Invalid exponential-Golomb code.");return(1<<e)-1+t.readBits(e)},bI=t=>t.constructor===Uint8Array?t:ArrayBuffer.isView(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):new Uint8Array(t),kI=t=>t.constructor===DataView?t:ArrayBuffer.isView(t)?new DataView(t.buffer,t.byteOffset,t.byteLength):new DataView(t),wI=new TextDecoder,xI=t=>Object.fromEntries(Object.entries(t).map((([t,e])=>[e,t]))),_I={bt709:1,bt470bg:5,smpte170m:6,bt2020:9,smpte432:12},II=xI(_I),TI={bt709:1,smpte170m:6,linear:8,"iec61966-2-1":13,pq:16,hlg:18},EI=xI(TI),SI={rgb:0,bt709:1,bt470bg:5,smpte170m:6,"bt2020-ncl":9},MI=xI(SI),AI=t=>[...t].map((t=>t.toString(16).padStart(2,"0"))).join(""),NI=t=>(t=(t=(t=(t=(t=t>>1&1431655765|(1431655765&t)<<1)>>2&858993459|(858993459&t)<<2)>>4&252645135|(252645135&t)<<4)>>8&16711935|(16711935&t)<<8)>>16&65535|(65535&t)<<16)>>>0,CI=(t,e,n)=>{let i=0,r=t.length-1,o=-1;for(;i<=r;){const s=i+r>>1,a=n(t[s]);a===e?(o=s,r=s-1):a<e?i=s+1:r=s-1}return o},FI=(t,e,n)=>{let i=0,r=t.length-1,o=-1;for(;i<=r;){const s=i+(r-i+1)/2|0;n(t[s])<=e?(o=s,i=s+1):r=s-1}return o},OI=()=>{let t,e;return{promise:new Promise(((n,i)=>{t=n,e=i})),resolve:t,reject:e}},PI=(t,e,n)=>t.getUint8(e)<<16|t.getUint8(e+1)<<8|t.getUint8(e+2),RI=(t,e,n)=>Math.max(e,Math.min(n,t)),DI=/^[a-z]{3}$/,BI=1e6*(1+Number.EPSILON);let LI=null;let zI=null;const WI=()=>{if(null!==zI)return zI;if("undefined"==typeof navigator)return null;const t=/\bChrome\/(\d+)/.exec(navigator.userAgent);return t?zI=Number(t[1]):null},jI=t=>"number"==typeof t&&!Number.isNaN(t);class $I{constructor(t,e){if(this.data=t,this.mimeType=e,!(t instanceof Uint8Array))throw new TypeError("data must be a Uint8Array.");if("string"!=typeof e)throw new TypeError("mimeType must be a string.")}}const UI={default:!0,forced:!1,original:!1,commentary:!1,hearingImpaired:!1,visuallyImpaired:!1};class qI{constructor(t){this.bytes=t,this.pos=0}seekToByte(t){this.pos=8*t}readBit(){var t;const e=Math.floor(this.pos/8),n=null!==(t=this.bytes[e])&&void 0!==t?t:0,i=7-(7&this.pos),r=(n&1<<i)>>i;return this.pos++,r}readBits(t){if(1===t)return this.readBit();let e=0;for(let n=0;n<t;n++)e<<=1,e|=this.readBit();return e}writeBits(t,e){const n=this.pos+t;for(let t=this.pos;t<n;t++){const i=Math.floor(t/8);let r=this.bytes[i];const o=7-(7&t);r&=~(1<<o),r|=(e&1<<n-t-1)>>n-t-1<<o,this.bytes[i]=r}this.pos=n}readAlignedByte(){var t;if(this.pos%8!=0)throw new Error("Bitstream is not byte-aligned.");const e=this.pos/8,n=null!==(t=this.bytes[e])&&void 0!==t?t:0;return this.pos+=8,n}skipBits(t){this.pos+=t}getBitsLeft(){return 8*this.bytes.length-this.pos}clone(){const t=new qI(this.bytes);return t.pos=this.pos,t}}const VI=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350],GI=[-1,1,2,3,4,5,6,8],HI=t=>{if(!t||t.byteLength<2)throw new TypeError("AAC description must be at least 2 bytes long.");const e=new qI(t);let n=e.readBits(5);31===n&&(n=32+e.readBits(6));const i=e.readBits(4);let r=null;15===i?r=e.readBits(24):i<VI.length&&(r=VI[i]);const o=e.readBits(4);let s=null;return o>=1&&o<=7&&(s=GI[o]),{objectType:n,frequencyIndex:i,sampleRate:r,channelConfiguration:o,numberOfChannels:s}},KI=["pcm-s16","pcm-s16be","pcm-s24","pcm-s24be","pcm-s32","pcm-s32be","pcm-f32","pcm-f32be","pcm-f64","pcm-f64be","pcm-u8","pcm-s8","ulaw","alaw"],XI=[{maxPictureSize:36864,maxBitrate:2e5,level:10},{maxPictureSize:73728,maxBitrate:8e5,level:11},{maxPictureSize:122880,maxBitrate:18e5,level:20},{maxPictureSize:245760,maxBitrate:36e5,level:21},{maxPictureSize:552960,maxBitrate:72e5,level:30},{maxPictureSize:983040,maxBitrate:12e6,level:31},{maxPictureSize:2228224,maxBitrate:18e6,level:40},{maxPictureSize:2228224,maxBitrate:3e7,level:41},{maxPictureSize:8912896,maxBitrate:6e7,level:50},{maxPictureSize:8912896,maxBitrate:12e7,level:51},{maxPictureSize:8912896,maxBitrate:18e7,level:52},{maxPictureSize:35651584,maxBitrate:18e7,level:60},{maxPictureSize:35651584,maxBitrate:24e7,level:61},{maxPictureSize:35651584,maxBitrate:48e7,level:62}],YI=t=>{const{codec:e,codecDescription:n,colorSpace:i,avcCodecInfo:r,hevcCodecInfo:o,vp9CodecInfo:s,av1CodecInfo:a}=t;if("avc"===e){if(vI(null!==t.avcType),r){const e=new Uint8Array([r.avcProfileIndication,r.profileCompatibility,r.avcLevelIndication]);return`avc${t.avcType}.${AI(e)}`}if(!n||n.byteLength<4)throw new TypeError("AVC decoder description is not provided or is not at least 4 bytes long.");return`avc${t.avcType}.${AI(n.subarray(1,4))}`}if("hevc"===e){let t,e,i,r,s,a;if(o)t=o.generalProfileSpace,e=o.generalProfileIdc,i=NI(o.generalProfileCompatibilityFlags),r=o.generalTierFlag,s=o.generalLevelIdc,a=[...o.generalConstraintIndicatorFlags];else{if(!n||n.byteLength<23)throw new TypeError("HEVC decoder description is not provided or is not at least 23 bytes long.");const o=kI(n),l=o.getUint8(1);t=l>>6&3,e=31&l,i=NI(o.getUint32(2)),r=l>>5&1,s=o.getUint8(12),a=[];for(let t=0;t<6;t++)a.push(o.getUint8(6+t))}let l="hev1.";for(l+=["","A","B","C"][t]+e,l+=".",l+=i.toString(16).toUpperCase(),l+=".",l+=0===r?"L":"H",l+=s;a.length>0&&0===a[a.length-1];)a.pop();return a.length>0&&(l+=".",l+=a.map((t=>t.toString(16).toUpperCase())).join(".")),l}if("vp8"===e)return"vp8";if("vp9"===e){if(!s){const e=t.width*t.height;let n=gI(XI).level;for(const t of XI)if(e<=t.maxPictureSize){n=t.level;break}return`vp09.00.${n.toString().padStart(2,"0")}.08`}let e=`vp09.${s.profile.toString().padStart(2,"0")}.${s.level.toString().padStart(2,"0")}.${s.bitDepth.toString().padStart(2,"0")}.${s.chromaSubsampling.toString().padStart(2,"0")}`;return e+=`.${s.colourPrimaries.toString().padStart(2,"0")}.${s.transferCharacteristics.toString().padStart(2,"0")}.${s.matrixCoefficients.toString().padStart(2,"0")}.${s.videoFullRangeFlag.toString().padStart(2,"0")}`,e.endsWith(".01.01.01.01.00")&&(e=e.slice(0,-15)),e}if("av1"===e){if(!a){const e=t.width*t.height;let n=gI(XI).level;for(const t of XI)if(e<=t.maxPictureSize){n=t.level;break}return`av01.0.${n.toString().padStart(2,"0")}M.08`}const e=a.profile,n=a.level.toString().padStart(2,"0"),r=a.tier?"H":"M",o=a.bitDepth.toString().padStart(2,"0"),s=a.monochrome?"1":"0",l=100*a.chromaSubsamplingX+10*a.chromaSubsamplingY+1*(a.chromaSubsamplingX&&a.chromaSubsamplingY?a.chromaSamplePosition:0),c=null!=i&&i.primaries?_I[i.primaries]:1,u=null!=i&&i.transfer?TI[i.transfer]:1,d=null!=i&&i.matrix?SI[i.matrix]:1,h=null!=i&&i.fullRange?1:0;let f=`av01.${e}.${n}${r}.${o}`;return f+=`.${s}.${l.toString().padStart(3,"0")}`,f+=`.${c.toString().padStart(2,"0")}`,f+=`.${u.toString().padStart(2,"0")}`,f+=`.${d.toString().padStart(2,"0")}`,f+=`.${h}`,f.endsWith(".0.110.01.01.01.0")&&(f=f.slice(0,-17)),f}throw new TypeError(`Unhandled codec '${e}'.`)},QI=t=>{const{codec:e,codecDescription:n,aacCodecInfo:i}=t;if("aac"===e){if(!i)throw new TypeError("AAC codec info must be provided.");if(i.isMpeg2)return"mp4a.67";{let t;return t=null!==i.objectType?i.objectType:HI(n).objectType,`mp4a.40.${t}`}}if("mp3"===e)return"mp3";if("opus"===e)return"opus";if("vorbis"===e)return"vorbis";if("flac"===e)return"flac";if("ac3"===e)return"ac-3";if("eac3"===e)return"ec-3";if(e&&KI.includes(e))return e;throw new TypeError(`Unhandled codec '${e}'.`)},JI=/^pcm-([usf])(\d+)+(be)?$/,ZI=[48e3,44100,32e3],tT=[24e3,22050,16e3];var eT,nT;!function(t){t[t.NON_IDR_SLICE=1]="NON_IDR_SLICE",t[t.SLICE_DPA=2]="SLICE_DPA",t[t.SLICE_DPB=3]="SLICE_DPB",t[t.SLICE_DPC=4]="SLICE_DPC",t[t.IDR=5]="IDR",t[t.SEI=6]="SEI",t[t.SPS=7]="SPS",t[t.PPS=8]="PPS",t[t.AUD=9]="AUD",t[t.SPS_EXT=13]="SPS_EXT"}(eT||(eT={})),function(t){t[t.RASL_N=8]="RASL_N",t[t.RASL_R=9]="RASL_R",t[t.BLA_W_LP=16]="BLA_W_LP",t[t.RSV_IRAP_VCL23=23]="RSV_IRAP_VCL23",t[t.VPS_NUT=32]="VPS_NUT",t[t.SPS_NUT=33]="SPS_NUT",t[t.PPS_NUT=34]="PPS_NUT",t[t.AUD_NUT=35]="AUD_NUT",t[t.PREFIX_SEI_NUT=39]="PREFIX_SEI_NUT",t[t.SUFFIX_SEI_NUT=40]="SUFFIX_SEI_NUT"}(nT||(nT={}));const iT=function*(t){let e=0,n=-1;for(;e<t.length-2;){const i=t.indexOf(0,e);if(-1===i||i>=t.length-2)break;e=i;let r=0;e+3<t.length&&0===t[e+1]&&0===t[e+2]&&1===t[e+3]?r=4:0===t[e+1]&&1===t[e+2]&&(r=3),0!==r?(-1!==n&&e>n&&(yield{offset:n,length:e-n}),n=e+r,e=n):e++}-1!==n&&n<t.length&&(yield{offset:n,length:t.length-n})},rT=function*(t,e){let n=0;const i=new DataView(t.buffer,t.byteOffset,t.byteLength);for(;n+e<=t.length;){let t;1===e?t=i.getUint8(n):2===e?t=i.getUint16(n,!1):3===e?t=PI(i,n):(vI(4===e),t=i.getUint32(n,!1)),n+=e,yield{offset:n,length:t},n+=t}},oT=t=>31&t,sT=t=>{const e=[],n=t.length;for(let i=0;i<n;i++)i+2<n&&0===t[i]&&0===t[i+1]&&3===t[i+2]?(e.push(0,0),i+=2):e.push(t[i]);return new Uint8Array(e)},aT=t=>t>>1&63,lT=function*(t){const e=new qI(t),n=()=>{let t=0;for(let n=0;n<8;n++){const i=e.readAlignedByte();if(t|=(127&i)<<7*n,!(128&i))break;if(7===n&&128&i)return null}return t>=2**32-1?null:t};for(;e.getBitsLeft()>=8;){e.skipBits(1);const i=e.readBits(4),r=e.readBits(1),o=e.readBits(1);let s;if(e.skipBits(1),r&&e.skipBits(8),o){const t=n();if(null===t)return;s=t}else s=Math.floor(e.getBitsLeft()/8);vI(e.pos%8==0),yield{type:i,data:t.subarray(e.pos/8,e.pos/8+s)},e.skipBits(8*s)}};var cT;!function(t){t[t.STREAMINFO=0]="STREAMINFO",t[t.VORBIS_COMMENT=4]="VORBIS_COMMENT",t[t.PICTURE=6]="PICTURE"}(cT||(cT={}));const uT=[2,1,2,3,3,4,4,5];class dT{constructor(t){this.input=t}}const hT=[],fT=[],pT=new Uint8Array(0);class mT{constructor(t,e,n,i,r=-1,o,s){if(this.data=t,this.type=e,this.timestamp=n,this.duration=i,this.sequenceNumber=r,t===pT&&void 0===o)throw new Error("Internal error: byteLength must be explicitly provided when constructing metadata-only packets.");if(void 0===o&&(o=t.byteLength),!(t instanceof Uint8Array))throw new TypeError("data must be a Uint8Array.");if("key"!==e&&"delta"!==e)throw new TypeError('type must be either "key" or "delta".');if(!Number.isFinite(n))throw new TypeError("timestamp must be a number.");if(!Number.isFinite(i)||i<0)throw new TypeError("duration must be a non-negative number.");if(!Number.isFinite(r))throw new TypeError("sequenceNumber must be a number.");if(!Number.isInteger(o)||o<0)throw new TypeError("byteLength must be a non-negative integer.");if(void 0!==s&&("object"!=typeof s||!s))throw new TypeError("sideData, when provided, must be an object.");if(void 0!==(null==s?void 0:s.alpha)&&!(s.alpha instanceof Uint8Array))throw new TypeError("sideData.alpha, when provided, must be a Uint8Array.");if(void 0!==(null==s?void 0:s.alphaByteLength)&&(!Number.isInteger(s.alphaByteLength)||s.alphaByteLength<0))throw new TypeError("sideData.alphaByteLength, when provided, must be a non-negative integer.");this.byteLength=o,this.sideData=null!=s?s:{},this.sideData.alpha&&void 0===this.sideData.alphaByteLength&&(this.sideData.alphaByteLength=this.sideData.alpha.byteLength)}get isMetadataOnly(){return this.data===pT}get microsecondTimestamp(){return Math.trunc(BI*this.timestamp)}get microsecondDuration(){return Math.trunc(BI*this.duration)}toEncodedVideoChunk(){if(this.isMetadataOnly)throw new TypeError("Metadata-only packets cannot be converted to a video chunk.");if("undefined"==typeof EncodedVideoChunk)throw new Error("Your browser does not support EncodedVideoChunk.");return new EncodedVideoChunk({data:this.data,type:this.type,timestamp:this.microsecondTimestamp,duration:this.microsecondDuration})}alphaToEncodedVideoChunk(t=this.type){if(!this.sideData.alpha)throw new TypeError("This packet does not contain alpha side data.");if(this.isMetadataOnly)throw new TypeError("Metadata-only packets cannot be converted to a video chunk.");if("undefined"==typeof EncodedVideoChunk)throw new Error("Your browser does not support EncodedVideoChunk.");return new EncodedVideoChunk({data:this.sideData.alpha,type:t,timestamp:this.microsecondTimestamp,duration:this.microsecondDuration})}toEncodedAudioChunk(){if(this.isMetadataOnly)throw new TypeError("Metadata-only packets cannot be converted to an audio chunk.");if("undefined"==typeof EncodedAudioChunk)throw new Error("Your browser does not support EncodedAudioChunk.");return new EncodedAudioChunk({data:this.data,type:this.type,timestamp:this.microsecondTimestamp,duration:this.microsecondDuration})}static fromEncodedChunk(t,e){var n;if(!(t instanceof EncodedVideoChunk||t instanceof EncodedAudioChunk))throw new TypeError("chunk must be an EncodedVideoChunk or EncodedAudioChunk.");const i=new Uint8Array(t.byteLength);return t.copyTo(i),new mT(i,t.type,t.timestamp/1e6,(null!==(n=t.duration)&&void 0!==n?n:0)/1e6,void 0,void 0,e)}clone(t){var e,n,i,r,o,s;if(void 0!==t&&("object"!=typeof t||null===t))throw new TypeError("options, when provided, must be an object.");if(void 0!==(null==t?void 0:t.data)&&!(t.data instanceof Uint8Array))throw new TypeError("options.data, when provided, must be a Uint8Array.");if(void 0!==(null==t?void 0:t.type)&&"key"!==t.type&&"delta"!==t.type)throw new TypeError('options.type, when provided, must be either "key" or "delta".');if(void 0!==(null==t?void 0:t.timestamp)&&!Number.isFinite(t.timestamp))throw new TypeError("options.timestamp, when provided, must be a number.");if(void 0!==(null==t?void 0:t.duration)&&!Number.isFinite(t.duration))throw new TypeError("options.duration, when provided, must be a number.");if(void 0!==(null==t?void 0:t.sequenceNumber)&&!Number.isFinite(t.sequenceNumber))throw new TypeError("options.sequenceNumber, when provided, must be a number.");if(void 0!==(null==t?void 0:t.sideData)&&("object"!=typeof t.sideData||null===t.sideData))throw new TypeError("options.sideData, when provided, must be an object.");return new mT(null!==(e=null==t?void 0:t.data)&&void 0!==e?e:this.data,null!==(n=null==t?void 0:t.type)&&void 0!==n?n:this.type,null!==(i=null==t?void 0:t.timestamp)&&void 0!==i?i:this.timestamp,null!==(r=null==t?void 0:t.duration)&&void 0!==r?r:this.duration,null!==(o=null==t?void 0:t.sequenceNumber)&&void 0!==o?o:this.sequenceNumber,this.byteLength,null!==(s=null==t?void 0:t.sideData)&&void 0!==s?s:this.sideData)}}const vT=t=>{if(!t||"object"!=typeof t)throw new TypeError("options must be an object.");if(void 0!==t.metadataOnly&&"boolean"!=typeof t.metadataOnly)throw new TypeError("options.metadataOnly, when defined, must be a boolean.");if(void 0!==t.verifyKeyPackets&&"boolean"!=typeof t.verifyKeyPackets)throw new TypeError("options.verifyKeyPackets, when defined, must be a boolean.");if(t.verifyKeyPackets&&t.metadataOnly)throw new TypeError("options.verifyKeyPackets and options.metadataOnly cannot be enabled together.")},gT=t=>{if(!jI(t))throw new TypeError("timestamp must be a number.")},yT=(t,e,n)=>n.verifyKeyPackets?e.then((async e=>{if(!e||"delta"===e.type)return e;const n=await t.determinePacketType(e);return n&&(e.type=n),e})):e;class bT{constructor(t){if(!(t instanceof kT))throw new TypeError("track must be an InputTrack.");this._track=t}getFirstPacket(t={}){if(vT(t),this._track.input._disposed)throw new GT;return yT(this._track,this._track._backing.getFirstPacket(t),t)}async getFirstKeyPacket(t={}){vT(t);const e=await this.getFirstPacket(t);return e?"key"===e.type?e:this.getNextKeyPacket(e,t):null}getPacket(t,e={}){if(gT(t),vT(e),this._track.input._disposed)throw new GT;return yT(this._track,this._track._backing.getPacket(t,e),e)}getNextPacket(t,e={}){if(!(t instanceof mT))throw new TypeError("packet must be an EncodedPacket.");if(vT(e),this._track.input._disposed)throw new GT;return yT(this._track,this._track._backing.getNextPacket(t,e),e)}async getKeyPacket(t,e={}){if(gT(t),vT(e),this._track.input._disposed)throw new GT;if(!e.verifyKeyPackets)return this._track._backing.getKeyPacket(t,e);const n=await this._track._backing.getKeyPacket(t,e);return n?(vI("key"===n.type),"delta"===await this._track.determinePacketType(n)?this.getKeyPacket(n.timestamp-1/this._track.timeResolution,e):n):n}async getNextKeyPacket(t,e={}){if(!(t instanceof mT))throw new TypeError("packet must be an EncodedPacket.");if(vT(e),this._track.input._disposed)throw new GT;if(!e.verifyKeyPackets)return this._track._backing.getNextKeyPacket(t,e);const n=await this._track._backing.getNextKeyPacket(t,e);return n?(vI("key"===n.type),"delta"===await this._track.determinePacketType(n)?this.getNextKeyPacket(n,e):n):n}packets(t,e,n={}){if(void 0!==t&&!(t instanceof mT))throw new TypeError("startPacket must be an EncodedPacket.");if(void 0!==t&&t.isMetadataOnly&&(null==n||!n.metadataOnly))throw new TypeError("startPacket can only be metadata-only if options.metadataOnly is enabled.");if(void 0!==e&&!(e instanceof mT))throw new TypeError("endPacket must be an EncodedPacket.");if(vT(n),this._track.input._disposed)throw new GT;const i=[];let{promise:r,resolve:o}=OI(),{promise:s,resolve:a}=OI(),l=!1,c=!1,u=null;const d=[];(async()=>{let u=null!=t?t:await this.getFirstPacket(n);for(;u&&!c&&!this._track.input._disposed&&!(e&&u.sequenceNumber>=(null==e?void 0:e.sequenceNumber));)i.length>Math.max(2,d.length)?(({promise:s,resolve:a}=OI()),await s):(i.push(u),o(),({promise:r,resolve:o}=OI()),u=await this.getNextPacket(u,n));l=!0,o()})().catch((t=>{u||(u=t,o())}));const h=this._track;return{async next(){for(;;){if(h.input._disposed)throw new GT;if(c)return{value:void 0,done:!0};if(u)throw u;if(i.length>0){const t=i.shift(),e=performance.now();for(d.push(e);d.length>0&&e-d[0]>=1e3;)d.shift();return a(),{value:t,done:!1}}if(l)return{value:void 0,done:!0};await r}},return:async()=>(c=!0,a(),o(),{value:void 0,done:!0}),async throw(t){throw t},[Symbol.asyncIterator](){return this}}}}class kT{constructor(t,e){this.input=t,this._backing=e}isVideoTrack(){return this instanceof wT}isAudioTrack(){return this instanceof xT}get id(){return this._backing.getId()}get number(){return this._backing.getNumber()}get internalCodecId(){return this._backing.getInternalCodecId()}get languageCode(){return this._backing.getLanguageCode()}get name(){return this._backing.getName()}get timeResolution(){return this._backing.getTimeResolution()}get disposition(){return this._backing.getDisposition()}getFirstTimestamp(){return this._backing.getFirstTimestamp()}computeDuration(){return this._backing.computeDuration()}async computePacketStats(t=1/0){const e=new bT(this);let n=1/0,i=-1/0,r=0,o=0;for await(const s of e.packets(void 0,void 0,{metadataOnly:!0})){if(r>=t&&s.timestamp>=i)break;n=Math.min(n,s.timestamp),i=Math.max(i,s.timestamp+s.duration),r++,o+=s.byteLength}return{packetCount:r,averagePacketRate:r?Number((r/(i-n)).toPrecision(16)):0,averageBitrate:r?Number((8*o/(i-n)).toPrecision(16)):0}}}class wT extends kT{constructor(t,e){super(t,e),this._backing=e,this.pixelAspectRatio=(t=>{vI(0!==t.den);let e=Math.abs(t.num),n=Math.abs(t.den);for(;0!==n;){const t=e%n;e=n,n=t}const i=e||1;return{num:t.num/i,den:t.den/i}})({num:this._backing.getSquarePixelWidth()*this._backing.getCodedHeight(),den:this._backing.getSquarePixelHeight()*this._backing.getCodedWidth()})}get type(){return"video"}get codec(){return this._backing.getCodec()}get codedWidth(){return this._backing.getCodedWidth()}get codedHeight(){return this._backing.getCodedHeight()}get rotation(){return this._backing.getRotation()}get squarePixelWidth(){return this._backing.getSquarePixelWidth()}get squarePixelHeight(){return this._backing.getSquarePixelHeight()}get displayWidth(){return this._backing.getRotation()%180==0?this.squarePixelWidth:this.squarePixelHeight}get displayHeight(){return this._backing.getRotation()%180==0?this.squarePixelHeight:this.squarePixelWidth}getColorSpace(){return this._backing.getColorSpace()}async hasHighDynamicRange(){const t=await this._backing.getColorSpace();return"bt2020"===t.primaries||"smpte432"===t.primaries||"pg"===t.transfer||"hlg"===t.transfer||"bt2020-ncl"===t.matrix}canBeTransparent(){return this._backing.canBeTransparent()}getDecoderConfig(){return this._backing.getDecoderConfig()}async getCodecParameterString(){var t;const e=await this._backing.getDecoderConfig();return null!==(t=null==e?void 0:e.codec)&&void 0!==t?t:null}async canDecode(){try{const t=await this._backing.getDecoderConfig();if(!t)return!1;const e=this._backing.getCodec();return vI(null!==e),hT.some((n=>n.supports(e,t)))?!0:"undefined"!=typeof VideoDecoder&&!0===(await VideoDecoder.isConfigSupported(t)).supported}catch(t){return console.error("Error during decodability check:",t),!1}}async determinePacketType(t){if(!(t instanceof mT))throw new TypeError("packet must be an EncodedPacket.");if(t.isMetadataOnly)throw new TypeError("packet must not be metadata-only to determine its type.");if(null===this.codec)return null;const e=await this.getDecoderConfig();return vI(e),((t,e,n)=>{switch(t){case"avc":for(const t of((t,e)=>{if(e.description){const n=3&bI(e.description)[4];return rT(t,n+1)}return iT(t)})(n,e)){const e=n[t.offset],r=oT(e);if(r>=eT.NON_IDR_SLICE&&r<=eT.SLICE_DPC)return"delta";if(r===eT.IDR)return"key";if(r===eT.SEI&&(i=void 0,!(null!==LI?LI:LI=!("undefined"==typeof navigator||(null===(i=navigator.vendor)||void 0===i||!i.includes("Google Inc"))&&!/Chrome/.test(navigator.userAgent)))||WI()>=144)){const e=n.subarray(t.offset,t.offset+t.length),i=sT(e);let r=1;do{let t=0;for(;;){const e=i[r++];if(void 0===e)break;if(t+=e,e<255)break}let e=0;for(;;){const t=i[r++];if(void 0===t)break;if(e+=t,t<255)break}if(6===t){const t=new qI(i);t.pos=8*r;const e=yI(t),n=t.readBits(1);if(0===e&&1===n)return"key"}r+=e}while(r<i.length-1)}}return"delta";case"hevc":for(const t of((t,e)=>{if(e.description){const n=3&bI(e.description)[21];return rT(t,n+1)}return iT(t)})(n,e)){const e=aT(n[t.offset]);if(e<nT.BLA_W_LP)return"delta";if(e<=nT.RSV_IRAP_VCL23)return"key"}return"delta";case"vp8":return 1&n[0]?"delta":"key";case"vp9":{const t=new qI(n);if(2!==t.readBits(2))return null;const e=t.readBits(1);return 3===(t.readBits(1)<<1)+e&&t.skipBits(1),t.readBits(1)?null:0===t.readBits(1)?"key":"delta"}case"av1":{let t=!1;for(const{type:e,data:i}of lT(n))if(1===e){const e=new qI(i);e.skipBits(4),t=!!e.readBits(1)}else if(3===e||6===e||7===e){if(t)return"key";const e=new qI(i);return e.readBits(1)?null:0===e.readBits(2)?"key":"delta"}return null}default:(t=>{throw new Error(`Unexpected value: ${t}`)})(t),vI(!1)}var i})(this.codec,e,t.data)}}class xT extends kT{constructor(t,e){super(t,e),this._backing=e}get type(){return"audio"}get codec(){return this._backing.getCodec()}get numberOfChannels(){return this._backing.getNumberOfChannels()}get sampleRate(){return this._backing.getSampleRate()}getDecoderConfig(){return this._backing.getDecoderConfig()}async getCodecParameterString(){var t;const e=await this._backing.getDecoderConfig();return null!==(t=null==e?void 0:e.codec)&&void 0!==t?t:null}async canDecode(){try{const t=await this._backing.getDecoderConfig();if(!t)return!1;const e=this._backing.getCodec();return vI(null!==e),fT.some((n=>n.supports(e,t)))?!0:!!t.codec.startsWith("pcm-")||"undefined"!=typeof AudioDecoder&&!0===(await AudioDecoder.isConfigSupported(t)).supported}catch(t){return console.error("Error during decodability check:",t),!1}}async determinePacketType(t){if(!(t instanceof mT))throw new TypeError("packet must be an EncodedPacket.");return null===this.codec?null:"key"}}const _T=t=>{let e=eE(t);const n=sE(t,4);let i=8;1===e&&(e=iE(t),i=16);const r=e-i;return r<0?null:{name:n,totalSize:e,headerSize:i,contentSize:r}},IT=t=>nE(t)/65536,TT=t=>nE(t)/1073741824,ET=t=>{let e=0;for(let n=0;n<4;n++){e<<=7;const n=QT(t);if(e|=127&n,!(128&n))break}return e},ST=t=>{let e=JT(t);return t.skip(2),e=Math.min(e,t.remainingLength),wI.decode(YT(t,e))},MT=t=>{const e=_T(t);if(!e||"data"!==e.name)return null;if(t.remainingLength<8)return null;const n=eE(t);t.skip(4);const i=YT(t,e.contentSize-8);switch(n){case 1:return wI.decode(i);case 2:return new TextDecoder("utf-16be").decode(i);case 13:return new $I(i,"image/jpeg");case 14:return new $I(i,"image/png");case 27:return new $I(i,"image/bmp");default:return i}};class AT extends dT{constructor(t){super(t),this.moovSlice=null,this.currentTrack=null,this.tracks=[],this.metadataPromise=null,this.movieTimescale=-1,this.movieDurationInTimescale=-1,this.isQuickTime=!1,this.metadataTags={},this.currentMetadataKeys=null,this.isFragmented=!1,this.fragmentTrackDefaults=[],this.currentFragment=null,this.lastReadFragment=null,this.reader=t._reader}async computeDuration(){const t=await this.getTracks(),e=await Promise.all(t.map((t=>t.computeDuration())));return Math.max(0,...e)}async getTracks(){return await this.readMetadata(),this.tracks.map((t=>t.inputTrack))}async getMimeType(){await this.readMetadata();const t=await Promise.all(this.tracks.map((t=>t.inputTrack.getCodecParameterString())));return(t=>{let e=(t.hasVideo?"video/":t.hasAudio?"audio/":"application/")+(t.isQuickTime?"quicktime":"mp4");return t.codecStrings.length>0&&(e+=`; codecs="${[...new Set(t.codecStrings)].join(", ")}"`),e})({isQuickTime:this.isQuickTime,hasVideo:this.tracks.some((t=>{var e;return"video"===(null===(e=t.info)||void 0===e?void 0:e.type)})),hasAudio:this.tracks.some((t=>{var e;return"audio"===(null===(e=t.info)||void 0===e?void 0:e.type)})),codecStrings:t.filter(Boolean)})}async getMetadataTags(){return await this.readMetadata(),this.metadataTags}readMetadata(){var t;return null!==(t=this.metadataPromise)&&void 0!==t?t:this.metadataPromise=(async()=>{let t=0;for(;;){let e=this.reader.requestSliceRange(t,8,16);if(e instanceof Promise&&(e=await e),!e)break;const n=t,i=_T(e);if(!i)break;if("ftyp"===i.name){const t=sE(e,4);this.isQuickTime="qt "===t}else if("moov"===i.name){let t=this.reader.requestSlice(e.filePos,i.contentSize);if(t instanceof Promise&&(t=await t),!t)break;this.moovSlice=t,this.readContiguousBoxes(this.moovSlice),this.tracks.sort(((t,e)=>Number(e.disposition.default)-Number(t.disposition.default)));for(const t of this.tracks){const e=t.editListPreviousSegmentDurations/this.movieTimescale;t.editListOffset-=Math.round(e*t.timescale)}break}t=n+i.totalSize}if(this.isFragmented&&null!==this.reader.fileSize){let t=this.reader.requestSlice(this.reader.fileSize-4,4);t instanceof Promise&&(t=await t),vI(t);const e=eE(t),n=this.reader.fileSize-e;if(n>=0&&n<=this.reader.fileSize-16){let t=this.reader.requestSliceRange(n,8,16);if(t instanceof Promise&&(t=await t),t){const e=_T(t);if(e&&"mfra"===e.name){let n=this.reader.requestSlice(t.filePos,e.contentSize);n instanceof Promise&&(n=await n),n&&this.readContiguousBoxes(n)}}}}})()}getSampleTableForTrack(t){var e;if(t.sampleTable)return t.sampleTable;const n={sampleTimingEntries:[],sampleCompositionTimeOffsets:[],sampleSizes:[],keySampleIndices:null,chunkOffsets:[],sampleToChunk:[],presentationTimestamps:null,presentationTimestampIndexMap:null};t.sampleTable=n,vI(this.moovSlice);const i=this.moovSlice.slice(t.sampleTableByteOffset);if(this.currentTrack=t,this.traverseBox(i),this.currentTrack=null,"audio"===(null===(e=t.info)||void 0===e?void 0:e.type)&&t.info.codec&&KI.includes(t.info.codec)&&0===n.sampleCompositionTimeOffsets.length){var r;vI("audio"===(null===(r=t.info)||void 0===r?void 0:r.type));const e=(t=>{if(vI(KI.includes(t)),"ulaw"===t)return{dataType:"ulaw",sampleSize:1,littleEndian:!0,silentValue:255};if("alaw"===t)return{dataType:"alaw",sampleSize:1,littleEndian:!0,silentValue:213};const e=JI.exec(t);let n;return vI(e),n="u"===e[1]?"unsigned":"s"===e[1]?"signed":"float",{dataType:n,sampleSize:Number(e[2])/8,littleEndian:"be"!==e[3],silentValue:"pcm-u8"===t?128:0}})(t.info.codec),i=[],o=[];for(let r=0;r<n.sampleToChunk.length;r++){const s=n.sampleToChunk[r],a=n.sampleToChunk[r+1],l=(a?a.startChunkIndex:n.chunkOffsets.length)-s.startChunkIndex;for(let r=0;r<l;r++){const a=s.startSampleIndex+r*s.samplesPerChunk,l=a+s.samplesPerChunk,c=FI(n.sampleTimingEntries,a,(t=>t.startIndex)),u=n.sampleTimingEntries[c],d=FI(n.sampleTimingEntries,l,(t=>t.startIndex)),h=n.sampleTimingEntries[d],f=u.startDecodeTimestamp+(a-u.startIndex)*u.delta,p=h.startDecodeTimestamp+(l-h.startIndex)*h.delta-f,m=gI(i);m&&m.delta===p?m.count++:i.push({startIndex:s.startChunkIndex+r,startDecodeTimestamp:f,count:1,delta:p});const v=s.samplesPerChunk*e.sampleSize*t.info.numberOfChannels;o.push(v)}s.startSampleIndex=s.startChunkIndex,s.samplesPerChunk=1}n.sampleTimingEntries=i,n.sampleSizes=o}if(n.sampleCompositionTimeOffsets.length>0){n.presentationTimestamps=[];for(const t of n.sampleTimingEntries)for(let e=0;e<t.count;e++)n.presentationTimestamps.push({presentationTimestamp:t.startDecodeTimestamp+e*t.delta,sampleIndex:t.startIndex+e});for(const t of n.sampleCompositionTimeOffsets)for(let e=0;e<t.count;e++){const i=t.startIndex+e,r=n.presentationTimestamps[i];r&&(r.presentationTimestamp+=t.offset)}n.presentationTimestamps.sort(((t,e)=>t.presentationTimestamp-e.presentationTimestamp)),n.presentationTimestampIndexMap=Array(n.presentationTimestamps.length).fill(-1);for(let t=0;t<n.presentationTimestamps.length;t++)n.presentationTimestampIndexMap[n.presentationTimestamps[t].sampleIndex]=t}return n}async readFragment(t){var e;if((null===(e=this.lastReadFragment)||void 0===e?void 0:e.moofOffset)===t)return this.lastReadFragment;let n=this.reader.requestSliceRange(t,8,16);n instanceof Promise&&(n=await n),vI(n);const i=_T(n);vI("moof"===(null==i?void 0:i.name));let r=this.reader.requestSlice(t,i.totalSize);r instanceof Promise&&(r=await r),vI(r),this.traverseBox(r);const o=this.lastReadFragment;vI(o&&o.moofOffset===t);for(const[,t]of o.trackData){const e=t.track,{fragmentPositionCache:n}=e;if(!t.startTimestampIsFinal){const i=e.fragmentLookupTable.find((t=>t.moofOffset===o.moofOffset));if(i)BT(t,i.timestamp);else{const e=FI(n,o.moofOffset-1,(t=>t.moofOffset));if(-1!==e){const i=n[e];BT(t,i.endTimestamp)}}t.startTimestampIsFinal=!0}const i=FI(n,t.startTimestamp,(t=>t.startTimestamp));-1!==i&&n[i].moofOffset===o.moofOffset||n.splice(i+1,0,{moofOffset:o.moofOffset,startTimestamp:t.startTimestamp,endTimestamp:t.endTimestamp})}return o}readContiguousBoxes(t){const e=t.filePos;for(;t.filePos-e<=t.length-8&&this.traverseBox(t););}*iterateContiguousBoxes(t){const e=t.filePos;for(;t.filePos-e<=t.length-8;){const e=t.filePos,n=_T(t);if(!n)break;yield{boxInfo:n,slice:t},t.filePos=e+n.totalSize}}traverseBox(t){var e,n,i,r,o,s,a,l,c,u,d,h,f,p,m,v,g,y,b,k,w,x,_,I,T,E,S,M,A,N,C,F,O,P,R,D;const B=t.filePos,L=_T(t);if(!L)return!1;const z=t.filePos,W=B+L.totalSize;switch(L.name){case"mdia":case"minf":case"dinf":case"mfra":case"edts":case"wave":this.readContiguousBoxes(t.slice(z,L.contentSize));break;case"mvhd":{const e=QT(t);t.skip(3),1===e?(t.skip(16),this.movieTimescale=eE(t),this.movieDurationInTimescale=iE(t)):(t.skip(8),this.movieTimescale=eE(t),this.movieDurationInTimescale=eE(t))}break;case"trak":{const e={id:-1,demuxer:this,inputTrack:null,disposition:{...UI},info:null,timescale:-1,durationInMovieTimescale:-1,durationInMediaTimescale:-1,rotation:0,internalCodecId:null,name:null,languageCode:"und",sampleTableByteOffset:-1,sampleTable:null,fragmentLookupTable:[],currentFragmentState:null,fragmentPositionCache:[],editListPreviousSegmentDurations:0,editListOffset:0};if(this.currentTrack=e,this.readContiguousBoxes(t.slice(z,L.contentSize)),-1!==e.id&&-1!==e.timescale&&null!==e.info)if("video"===e.info.type&&-1!==e.info.width){const t=e;e.inputTrack=new wT(this.input,new CT(t)),this.tracks.push(e)}else if("audio"===e.info.type&&-1!==e.info.numberOfChannels){const t=e;e.inputTrack=new xT(this.input,new FT(t)),this.tracks.push(e)}this.currentTrack=null}break;case"tkhd":{const e=this.currentTrack;if(!e)break;const n=QT(t),i=!!(1&ZT(t));if(e.disposition.default=i,0===n)t.skip(8),e.id=eE(t),t.skip(4),e.durationInMovieTimescale=eE(t);else{if(1!==n)throw new Error(`Incorrect track header version ${n}.`);t.skip(16),e.id=eE(t),t.skip(4),e.durationInMovieTimescale=iE(t)}t.skip(16);const r=[IT(t),IT(t),TT(t),IT(t),IT(t),TT(t),IT(t),IT(t),TT(t)],o=(t=>{const e=(t%360+360)%360;if(0===e||90===e||180===e||270===e)return e;throw new Error(`Invalid rotation ${t}.`)})((Ft=LT(r),90*Math.round(Ft/90)));vI(0===o||90===o||180===o||270===o),e.rotation=o}break;case"elst":{const e=this.currentTrack;if(!e)break;const n=QT(t);t.skip(3);let i=!1,r=0;const o=eE(t);for(let s=0;s<o;s++){const o=1===n?iE(t):eE(t),s=1===n?rE(t):nE(t),a=IT(t);if(0!==o){if(i){console.warn("Unsupported edit list: multiple edits are not currently supported. Only using first edit.");break}if(-1!==s){if(1!==a){console.warn("Unsupported edit list entry: media rate must be 1.");break}e.editListPreviousSegmentDurations=r,e.editListOffset=s,i=!0}else r+=o}}}break;case"mdhd":{const e=this.currentTrack;if(!e)break;const n=QT(t);t.skip(3),0===n?(t.skip(8),e.timescale=eE(t),e.durationInMediaTimescale=eE(t)):1===n&&(t.skip(16),e.timescale=eE(t),e.durationInMediaTimescale=iE(t));let i=JT(t);if(i>0){e.languageCode="";for(let t=0;t<3;t++)e.languageCode=String.fromCharCode(96+(31&i))+e.languageCode,i>>=5;Ct=e.languageCode,DI.test(Ct)||(e.languageCode="und")}}break;case"hdlr":{const e=this.currentTrack;if(!e)break;t.skip(8);const n=sE(t,4);"vide"===n?e.info={type:"video",width:-1,height:-1,squarePixelWidth:-1,squarePixelHeight:-1,codec:null,codecDescription:null,colorSpace:null,avcType:null,avcCodecInfo:null,hevcCodecInfo:null,vp9CodecInfo:null,av1CodecInfo:null}:"soun"===n&&(e.info={type:"audio",numberOfChannels:-1,sampleRate:-1,codec:null,codecDescription:null,aacCodecInfo:null})}break;case"stbl":{const e=this.currentTrack;if(!e)break;e.sampleTableByteOffset=B,this.readContiguousBoxes(t.slice(z,L.contentSize))}break;case"stsd":{const e=this.currentTrack;if(!e)break;if(null===e.info||e.sampleTable)break;const n=QT(t);t.skip(3);const i=eE(t);for(let r=0;r<i;r++){const i=t.filePos,r=_T(t);if(!r)break;e.internalCodecId=r.name;const o=r.name.toLowerCase();if("video"===e.info.type)"avc1"===o||"avc3"===o?(e.info.codec="avc",e.info.avcType="avc1"===o?1:3):"hvc1"===o||"hev1"===o?e.info.codec="hevc":"vp08"===o?e.info.codec="vp8":"vp09"===o?e.info.codec="vp9":"av01"===o?e.info.codec="av1":console.warn(`Unsupported video codec (sample entry type '${r.name}').`),t.skip(24),e.info.width=JT(t),e.info.height=JT(t),e.info.squarePixelWidth=e.info.width,e.info.squarePixelHeight=e.info.height,t.skip(50),this.readContiguousBoxes(t.slice(t.filePos,i+r.totalSize-t.filePos));else{"mp4a"===o||("opus"===o?e.info.codec="opus":"flac"===o?e.info.codec="flac":"twos"===o||"sowt"===o||"raw "===o||"in24"===o||"in32"===o||"fl32"===o||"fl64"===o||"lpcm"===o||"ipcm"===o||"fpcm"===o||("ulaw"===o?e.info.codec="ulaw":"alaw"===o?e.info.codec="alaw":"ac-3"===o?e.info.codec="ac3":"ec-3"===o?e.info.codec="eac3":console.warn(`Unsupported audio codec (sample entry type '${r.name}').`))),t.skip(8);const s=JT(t);t.skip(6);let a=JT(t),l=JT(t);t.skip(4);let c=eE(t)/65536;if(0===n&&s>0)if(1===s)t.skip(4),l=8*eE(t),t.skip(8);else if(2===s){t.skip(4),c=oE(t),a=eE(t),t.skip(4),l=eE(t);const n=eE(t);if(t.skip(8),"lpcm"===o){const t=l+7>>3,i=Boolean(1&n),r=Boolean(2&n),o=4&n?-1:0;l>0&&l<=64&&(i?32===l&&(e.info.codec=r?"pcm-f32be":"pcm-f32"):o&1<<t-1?1===t?e.info.codec="pcm-s8":2===t?e.info.codec=r?"pcm-s16be":"pcm-s16":3===t?e.info.codec=r?"pcm-s24be":"pcm-s24":4===t&&(e.info.codec=r?"pcm-s32be":"pcm-s32"):1===t&&(e.info.codec="pcm-u8")),null===e.info.codec&&console.warn("Unsupported PCM format.")}}"opus"===e.info.codec&&(c=48e3),e.info.numberOfChannels=a,e.info.sampleRate=c,"twos"===o?8===l?e.info.codec="pcm-s8":16===l?e.info.codec="pcm-s16be":(console.warn(`Unsupported sample size ${l} for codec 'twos'.`),e.info.codec=null):"sowt"===o?8===l?e.info.codec="pcm-s8":16===l?e.info.codec="pcm-s16":(console.warn(`Unsupported sample size ${l} for codec 'sowt'.`),e.info.codec=null):"raw "===o?e.info.codec="pcm-u8":"in24"===o?e.info.codec="pcm-s24be":"in32"===o?e.info.codec="pcm-s32be":"fl32"===o?e.info.codec="pcm-f32be":"fl64"===o?e.info.codec="pcm-f64be":"ipcm"===o?e.info.codec="pcm-s16be":"fpcm"===o&&(e.info.codec="pcm-f32be"),this.readContiguousBoxes(t.slice(t.filePos,i+r.totalSize-t.filePos))}}}break;case"avcC":{const e=this.currentTrack;if(!e)break;vI(e.info),e.info.codecDescription=YT(t,L.contentSize)}break;case"hvcC":{const e=this.currentTrack;if(!e)break;vI(e.info),e.info.codecDescription=YT(t,L.contentSize)}break;case"vpcC":{var j;const e=this.currentTrack;if(!e)break;vI("video"===(null===(j=e.info)||void 0===j?void 0:j.type)),t.skip(4);const n=QT(t),i=QT(t),r=QT(t),o=r>>4,s=r>>1&7,a=1&r,l=QT(t),c=QT(t),u=QT(t);e.info.vp9CodecInfo={profile:n,level:i,bitDepth:o,chromaSubsampling:s,videoFullRangeFlag:a,colourPrimaries:l,transferCharacteristics:c,matrixCoefficients:u}}break;case"av1C":{var $;const e=this.currentTrack;if(!e)break;vI("video"===(null===($=e.info)||void 0===$?void 0:$.type)),t.skip(1);const n=QT(t),i=n>>5,r=31&n,o=QT(t),s=o>>7,a=o>>6&1,l=o>>4&1,c=o>>3&1,u=o>>2&1,d=3&o,h=2===i&&a?o>>5&1?12:10:a?10:8;e.info.av1CodecInfo={profile:i,level:r,tier:s,bitDepth:h,monochrome:l,chromaSubsamplingX:c,chromaSubsamplingY:u,chromaSamplePosition:d}}break;case"colr":{var U;const e=this.currentTrack;if(!e)break;if(vI("video"===(null===(U=e.info)||void 0===U?void 0:U.type)),"nclx"!==sE(t,4))break;const n=JT(t),i=JT(t),r=JT(t),o=Boolean(128&QT(t));e.info.colorSpace={primaries:II[n],transfer:EI[i],matrix:MI[r],fullRange:o}}break;case"pasp":{var q;const e=this.currentTrack;if(!e)break;vI("video"===(null===(q=e.info)||void 0===q?void 0:q.type));const n=eE(t),i=eE(t);n>i?e.info.squarePixelWidth=Math.round(e.info.width*n/i):e.info.squarePixelHeight=Math.round(e.info.height*i/n)}break;case"esds":{var V;const e=this.currentTrack;if(!e)break;vI("audio"===(null===(V=e.info)||void 0===V?void 0:V.type)),t.skip(4),vI(3===QT(t)),ET(t),t.skip(2);const n=QT(t),i=!!(64&n),r=!!(32&n);if(!!(128&n)&&t.skip(2),i){const e=QT(t);t.skip(e)}r&&t.skip(2),vI(4===QT(t));const o=ET(t),s=t.filePos,a=QT(t);if(64===a||103===a?(e.info.codec="aac",e.info.aacCodecInfo={isMpeg2:103===a,objectType:null}):105===a||107===a?e.info.codec="mp3":221===a?e.info.codec="vorbis":console.warn(`Unsupported audio codec (objectTypeIndication ${a}) - discarding track.`),t.skip(12),o>t.filePos-s){vI(5===QT(t));const n=ET(t);if(e.info.codecDescription=YT(t,n),"aac"===e.info.codec){const t=HI(e.info.codecDescription);null!==t.numberOfChannels&&(e.info.numberOfChannels=t.numberOfChannels),null!==t.sampleRate&&(e.info.sampleRate=t.sampleRate)}}}break;case"enda":{var G;const e=this.currentTrack;if(!e)break;vI("audio"===(null===(G=e.info)||void 0===G?void 0:G.type)),255&JT(t)&&("pcm-s16be"===e.info.codec?e.info.codec="pcm-s16":"pcm-s24be"===e.info.codec?e.info.codec="pcm-s24":"pcm-s32be"===e.info.codec?e.info.codec="pcm-s32":"pcm-f32be"===e.info.codec?e.info.codec="pcm-f32":"pcm-f64be"===e.info.codec&&(e.info.codec="pcm-f64"))}break;case"pcmC":{var H;const e=this.currentTrack;if(!e)break;vI("audio"===(null===(H=e.info)||void 0===H?void 0:H.type)),t.skip(4);const n=QT(t),i=Boolean(1&n),r=QT(t);"pcm-s16be"===e.info.codec?i?16===r?e.info.codec="pcm-s16":24===r?e.info.codec="pcm-s24":32===r?e.info.codec="pcm-s32":(console.warn(`Invalid ipcm sample size ${r}.`),e.info.codec=null):16===r?e.info.codec="pcm-s16be":24===r?e.info.codec="pcm-s24be":32===r?e.info.codec="pcm-s32be":(console.warn(`Invalid ipcm sample size ${r}.`),e.info.codec=null):"pcm-f32be"===e.info.codec&&(i?32===r?e.info.codec="pcm-f32":64===r?e.info.codec="pcm-f64":(console.warn(`Invalid fpcm sample size ${r}.`),e.info.codec=null):32===r?e.info.codec="pcm-f32be":64===r?e.info.codec="pcm-f64be":(console.warn(`Invalid fpcm sample size ${r}.`),e.info.codec=null));break}case"dOps":{var K;const e=this.currentTrack;if(!e)break;vI("audio"===(null===(K=e.info)||void 0===K?void 0:K.type)),t.skip(1);const n=QT(t),i=JT(t),r=eE(t),o=tE(t),s=QT(t);let a;a=0!==s?YT(t,2+n):new Uint8Array(0);const l=new Uint8Array(19+a.byteLength),c=new DataView(l.buffer);c.setUint32(0,1332770163,!1),c.setUint32(4,1214603620,!1),c.setUint8(8,1),c.setUint8(9,n),c.setUint16(10,i,!0),c.setUint32(12,r,!0),c.setInt16(16,o,!0),c.setUint8(18,s),l.set(a,19),e.info.codecDescription=l,e.info.numberOfChannels=n}break;case"dfLa":{var X;const e=this.currentTrack;if(!e)break;vI("audio"===(null===(X=e.info)||void 0===X?void 0:X.type)),t.skip(4);const n=127,i=128,r=t.filePos;for(;t.filePos<W;){const r=QT(t),o=ZT(t);if((r&n)===cT.STREAMINFO){t.skip(10);const n=eE(t),i=n>>>12,r=1+(n>>9&7);e.info.sampleRate=i,e.info.numberOfChannels=r,t.skip(20)}else t.skip(o);if(r&i)break}const o=t.filePos;t.filePos=r;const s=YT(t,o-r),a=new Uint8Array(4+s.byteLength);new DataView(a.buffer).setUint32(0,1716281667,!1),a.set(s,4),e.info.codecDescription=a}break;case"dac3":{var Y;const e=this.currentTrack;if(!e)break;vI("audio"===(null===(Y=e.info)||void 0===Y?void 0:Y.type));const n=YT(t,3),i=new qI(n),r=i.readBits(2);i.skipBits(8);const o=i.readBits(3),s=i.readBits(1);r<3&&(e.info.sampleRate=ZI[r]),e.info.numberOfChannels=uT[o]+s}break;case"dec3":{var Q;const e=this.currentTrack;if(!e)break;vI("audio"===(null===(Q=e.info)||void 0===Q?void 0:Q.type));const n=(t=>{if(t.length<2)return null;const e=new qI(t),n=e.readBits(13),i=e.readBits(3),r=[];for(let n=0;n<=i&&!(Math.ceil(e.pos/8)+3>t.length);n++){const t=e.readBits(2),n=e.readBits(5);e.skipBits(1),e.skipBits(1);const i=e.readBits(3),o=e.readBits(3),s=e.readBits(1);e.skipBits(3);const a=e.readBits(4);let l=0;a>0?l=e.readBits(9):e.skipBits(1),r.push({fscod:t,fscod2:null,bsid:n,bsmod:i,acmod:o,lfeon:s,numDepSub:a,chanLoc:l})}return 0===r.length?null:{dataRate:n,substreams:r}})(YT(t,L.contentSize));if(!n){console.warn("Invalid dec3 box contents, ignoring.");break}const i=(t=>{const e=t.substreams[0];return vI(e),e.fscod<3?ZI[e.fscod]:null!==e.fscod2&&e.fscod2<3?tT[e.fscod2]:null})(n);null!==i&&(e.info.sampleRate=i),e.info.numberOfChannels=(t=>{const e=t.substreams[0];vI(e);let n=uT[e.acmod]+e.lfeon;if(e.numDepSub>0){const t=[2,2,1,1,2,2,2,1,1];for(let i=0;i<9;i++)e.chanLoc&1<<8-i&&(n+=t[i])}return n})(n)}break;case"stts":{const e=this.currentTrack;if(!e)break;if(!e.sampleTable)break;t.skip(4);const n=eE(t);let i=0,r=0;for(let o=0;o<n;o++){const n=eE(t),o=eE(t);e.sampleTable.sampleTimingEntries.push({startIndex:i,startDecodeTimestamp:r,count:n,delta:o}),i+=n,r+=n*o}}break;case"ctts":{const e=this.currentTrack;if(!e)break;if(!e.sampleTable)break;t.skip(4);const n=eE(t);let i=0;for(let r=0;r<n;r++){const n=eE(t),r=nE(t);e.sampleTable.sampleCompositionTimeOffsets.push({startIndex:i,count:n,offset:r}),i+=n}}break;case"stsz":{const e=this.currentTrack;if(!e)break;if(!e.sampleTable)break;t.skip(4);const n=eE(t),i=eE(t);if(0===n)for(let n=0;n<i;n++){const n=eE(t);e.sampleTable.sampleSizes.push(n)}else e.sampleTable.sampleSizes.push(n)}break;case"stz2":{const e=this.currentTrack;if(!e)break;if(!e.sampleTable)break;t.skip(4),t.skip(3);const n=QT(t),i=eE(t),r=YT(t,Math.ceil(i*n/8)),o=new qI(r);for(let t=0;t<i;t++){const t=o.readBits(n);e.sampleTable.sampleSizes.push(t)}}break;case"stss":{const e=this.currentTrack;if(!e)break;if(!e.sampleTable)break;t.skip(4),e.sampleTable.keySampleIndices=[];const n=eE(t);for(let i=0;i<n;i++){const n=eE(t)-1;e.sampleTable.keySampleIndices.push(n)}0!==e.sampleTable.keySampleIndices[0]&&e.sampleTable.keySampleIndices.unshift(0)}break;case"stsc":{const e=this.currentTrack;if(!e)break;if(!e.sampleTable)break;t.skip(4);const n=eE(t);for(let i=0;i<n;i++){const n=eE(t)-1,i=eE(t),r=eE(t);e.sampleTable.sampleToChunk.push({startSampleIndex:-1,startChunkIndex:n,samplesPerChunk:i,sampleDescriptionIndex:r})}let i=0;for(let t=0;t<e.sampleTable.sampleToChunk.length;t++)e.sampleTable.sampleToChunk[t].startSampleIndex=i,t<e.sampleTable.sampleToChunk.length-1&&(i+=(e.sampleTable.sampleToChunk[t+1].startChunkIndex-e.sampleTable.sampleToChunk[t].startChunkIndex)*e.sampleTable.sampleToChunk[t].samplesPerChunk)}break;case"stco":{const e=this.currentTrack;if(!e)break;if(!e.sampleTable)break;t.skip(4);const n=eE(t);for(let i=0;i<n;i++){const n=eE(t);e.sampleTable.chunkOffsets.push(n)}}break;case"co64":{const e=this.currentTrack;if(!e)break;if(!e.sampleTable)break;t.skip(4);const n=eE(t);for(let i=0;i<n;i++){const n=iE(t);e.sampleTable.chunkOffsets.push(n)}}break;case"mvex":this.isFragmented=!0,this.readContiguousBoxes(t.slice(z,L.contentSize));break;case"mehd":{const e=QT(t);t.skip(3);const n=1===e?iE(t):eE(t);this.movieDurationInTimescale=n}break;case"trex":{t.skip(4);const e=eE(t),n=eE(t),i=eE(t),r=eE(t),o=eE(t);this.fragmentTrackDefaults.push({trackId:e,defaultSampleDescriptionIndex:n,defaultSampleDuration:i,defaultSampleSize:r,defaultSampleFlags:o})}break;case"tfra":{const e=QT(t);t.skip(3);const n=eE(t),i=this.tracks.find((t=>t.id===n));if(!i)break;const r=eE(t),o=(12&r)>>2,s=3&r,a=[QT,JT,ZT,eE],l=a[(48&r)>>4],c=a[o],u=a[s],d=eE(t);for(let n=0;n<d;n++){const n=1===e?iE(t):eE(t),r=1===e?iE(t):eE(t);l(t),c(t),u(t),i.fragmentLookupTable.push({timestamp:n,moofOffset:r})}i.fragmentLookupTable.sort(((t,e)=>t.timestamp-e.timestamp));for(let t=0;t<i.fragmentLookupTable.length-1;t++){const e=i.fragmentLookupTable[t],n=i.fragmentLookupTable[t+1];e.timestamp===n.timestamp&&(i.fragmentLookupTable.splice(t+1,1),t--)}}break;case"moof":this.currentFragment={moofOffset:B,moofSize:L.totalSize,implicitBaseDataOffset:B,trackData:new Map},this.readContiguousBoxes(t.slice(z,L.contentSize)),this.lastReadFragment=this.currentFragment,this.currentFragment=null;break;case"traf":if(vI(this.currentFragment),this.readContiguousBoxes(t.slice(z,L.contentSize)),this.currentTrack){const t=this.currentFragment.trackData.get(this.currentTrack.id);if(t){const{currentFragmentState:e}=this.currentTrack;vI(e),null!==e.startTimestamp&&(BT(t,e.startTimestamp),t.startTimestampIsFinal=!0)}this.currentTrack.currentFragmentState=null,this.currentTrack=null}break;case"tfhd":{var J,Z,tt,et;vI(this.currentFragment),t.skip(1);const e=ZT(t),n=Boolean(1&e),i=Boolean(2&e),r=Boolean(8&e),o=Boolean(16&e),s=Boolean(32&e),a=Boolean(65536&e),l=Boolean(131072&e),c=eE(t),u=this.tracks.find((t=>t.id===c));if(!u)break;const d=this.fragmentTrackDefaults.find((t=>t.trackId===c));this.currentTrack=u,u.currentFragmentState={baseDataOffset:this.currentFragment.implicitBaseDataOffset,sampleDescriptionIndex:null!==(J=null==d?void 0:d.defaultSampleDescriptionIndex)&&void 0!==J?J:null,defaultSampleDuration:null!==(Z=null==d?void 0:d.defaultSampleDuration)&&void 0!==Z?Z:null,defaultSampleSize:null!==(tt=null==d?void 0:d.defaultSampleSize)&&void 0!==tt?tt:null,defaultSampleFlags:null!==(et=null==d?void 0:d.defaultSampleFlags)&&void 0!==et?et:null,startTimestamp:null},n?u.currentFragmentState.baseDataOffset=iE(t):l&&(u.currentFragmentState.baseDataOffset=this.currentFragment.moofOffset),i&&(u.currentFragmentState.sampleDescriptionIndex=eE(t)),r&&(u.currentFragmentState.defaultSampleDuration=eE(t)),o&&(u.currentFragmentState.defaultSampleSize=eE(t)),s&&(u.currentFragmentState.defaultSampleFlags=eE(t)),a&&(u.currentFragmentState.defaultSampleDuration=0)}break;case"tfdt":{const e=this.currentTrack;if(!e)break;vI(e.currentFragmentState);const n=QT(t);t.skip(3);const i=0===n?eE(t):iE(t);e.currentFragmentState.startTimestamp=i}break;case"trun":{const e=this.currentTrack;if(!e)break;if(vI(this.currentFragment),vI(e.currentFragmentState),this.currentFragment.trackData.has(e.id)){console.warn("Can't have two trun boxes for the same track in one fragment. Ignoring...");break}const n=QT(t),i=ZT(t),r=Boolean(1&i),o=Boolean(4&i),s=Boolean(256&i),a=Boolean(512&i),l=Boolean(1024&i),c=Boolean(2048&i),u=eE(t);let d=e.currentFragmentState.baseDataOffset;r&&(d+=nE(t));let h=null;o&&(h=eE(t));let f=d;if(0===u){this.currentFragment.implicitBaseDataOffset=f;break}let p=0;const m={track:e,startTimestamp:0,endTimestamp:0,firstKeyFrameTimestamp:null,samples:[],presentationTimestamps:[],startTimestampIsFinal:!1};this.currentFragment.trackData.set(e.id,m);for(let i=0;i<u;i++){let r,o,u;s?r=eE(t):(vI(null!==e.currentFragmentState.defaultSampleDuration),r=e.currentFragmentState.defaultSampleDuration),a?o=eE(t):(vI(null!==e.currentFragmentState.defaultSampleSize),o=e.currentFragmentState.defaultSampleSize),l?u=eE(t):(vI(null!==e.currentFragmentState.defaultSampleFlags),u=e.currentFragmentState.defaultSampleFlags),0===i&&null!==h&&(u=h);let d=0;c&&(d=0===n?eE(t):nE(t));const v=!(65536&u);m.samples.push({presentationTimestamp:p+d,duration:r,byteOffset:f,byteSize:o,isKeyFrame:v}),f+=o,p+=r}m.presentationTimestamps=m.samples.map(((t,e)=>({presentationTimestamp:t.presentationTimestamp,sampleIndex:e}))).sort(((t,e)=>t.presentationTimestamp-e.presentationTimestamp));for(let t=0;t<m.presentationTimestamps.length;t++){const e=m.presentationTimestamps[t],n=m.samples[e.sampleIndex];if(null===m.firstKeyFrameTimestamp&&n.isKeyFrame&&(m.firstKeyFrameTimestamp=n.presentationTimestamp),t<m.presentationTimestamps.length-1){const i=m.presentationTimestamps[t+1];n.duration=i.presentationTimestamp-e.presentationTimestamp}}const v=m.samples[m.presentationTimestamps[0].sampleIndex],g=m.samples[gI(m.presentationTimestamps).sampleIndex];m.startTimestamp=v.presentationTimestamp,m.endTimestamp=g.presentationTimestamp+g.duration,this.currentFragment.implicitBaseDataOffset=f}break;case"udta":{const g=this.iterateContiguousBoxes(t.slice(z,L.contentSize));for(const{boxInfo:t,slice:y}of g){if("meta"!==t.name&&!this.currentTrack){var nt,it,rt,ot,st,at,lt,ct;const e=y.filePos;null!==(it=(nt=this.metadataTags).raw)&&void 0!==it||(nt.raw={}),"©"===t.name[0]?null!==(st=(rt=this.metadataTags.raw)[ot=t.name])&&void 0!==st||(rt[ot]=ST(y)):null!==(ct=(at=this.metadataTags.raw)[lt=t.name])&&void 0!==ct||(at[lt]=YT(y,t.contentSize)),y.filePos=e}switch(t.name){case"meta":y.skip(-t.headerSize),this.traverseBox(y);break;case"©nam":case"name":this.currentTrack?this.currentTrack.name=wI.decode(YT(y,t.contentSize)):null!==(n=(e=this.metadataTags).title)&&void 0!==n||(e.title=ST(y));break;case"©des":this.currentTrack||null!==(r=(i=this.metadataTags).description)&&void 0!==r||(i.description=ST(y));break;case"©ART":this.currentTrack||null!==(s=(o=this.metadataTags).artist)&&void 0!==s||(o.artist=ST(y));break;case"©alb":this.currentTrack||null!==(l=(a=this.metadataTags).album)&&void 0!==l||(a.album=ST(y));break;case"albr":this.currentTrack||null!==(u=(c=this.metadataTags).albumArtist)&&void 0!==u||(c.albumArtist=ST(y));break;case"©gen":this.currentTrack||null!==(h=(d=this.metadataTags).genre)&&void 0!==h||(d.genre=ST(y));break;case"©day":if(!this.currentTrack){var ut,dt;const t=new Date(ST(y));Number.isNaN(t.getTime())||null!==(dt=(ut=this.metadataTags).date)&&void 0!==dt||(ut.date=t)}break;case"©cmt":this.currentTrack||null!==(p=(f=this.metadataTags).comment)&&void 0!==p||(f.comment=ST(y));break;case"©lyr":this.currentTrack||null!==(v=(m=this.metadataTags).lyrics)&&void 0!==v||(m.lyrics=ST(y))}}}break;case"meta":{if(this.currentTrack)break;const e=0!==eE(t);this.currentMetadataKeys=new Map,e?this.readContiguousBoxes(t.slice(z,L.contentSize)):this.readContiguousBoxes(t.slice(z+4,L.contentSize-4)),this.currentMetadataKeys=null}break;case"keys":{if(!this.currentMetadataKeys)break;t.skip(4);const e=eE(t);for(let n=0;n<e;n++){const e=eE(t);t.skip(4);const i=wI.decode(YT(t,e-8));this.currentMetadataKeys.set(n+1,i)}}break;case"ilst":{if(!this.currentMetadataKeys)break;const e=this.iterateContiguousBoxes(t.slice(z,L.contentSize));for(const{boxInfo:t,slice:n}of e){var ht,ft,pt,mt,vt;let e=t.name;const i=(e.charCodeAt(0)<<24)+(e.charCodeAt(1)<<16)+(e.charCodeAt(2)<<8)+e.charCodeAt(3);this.currentMetadataKeys.has(i)&&(e=this.currentMetadataKeys.get(i));const r=MT(n);switch(null!==(ft=(ht=this.metadataTags).raw)&&void 0!==ft||(ht.raw={}),null!==(vt=(pt=this.metadataTags.raw)[mt=e])&&void 0!==vt||(pt[mt]=r),e){case"©nam":case"titl":case"com.apple.quicktime.title":case"title":"string"==typeof r&&(null!==(y=(g=this.metadataTags).title)&&void 0!==y||(g.title=r));break;case"©des":case"desc":case"dscp":case"com.apple.quicktime.description":case"description":"string"==typeof r&&(null!==(k=(b=this.metadataTags).description)&&void 0!==k||(b.description=r));break;case"©ART":case"com.apple.quicktime.artist":case"artist":"string"==typeof r&&(null!==(x=(w=this.metadataTags).artist)&&void 0!==x||(w.artist=r));break;case"©alb":case"albm":case"com.apple.quicktime.album":case"album":"string"==typeof r&&(null!==(I=(_=this.metadataTags).album)&&void 0!==I||(_.album=r));break;case"aART":case"album_artist":"string"==typeof r&&(null!==(E=(T=this.metadataTags).albumArtist)&&void 0!==E||(T.albumArtist=r));break;case"©cmt":case"com.apple.quicktime.comment":case"comment":"string"==typeof r&&(null!==(M=(S=this.metadataTags).comment)&&void 0!==M||(S.comment=r));break;case"©gen":case"gnre":case"com.apple.quicktime.genre":case"genre":"string"==typeof r&&(null!==(N=(A=this.metadataTags).genre)&&void 0!==N||(A.genre=r));break;case"©lyr":case"lyrics":"string"==typeof r&&(null!==(F=(C=this.metadataTags).lyrics)&&void 0!==F||(C.lyrics=r));break;case"©day":case"rldt":case"com.apple.quicktime.creationdate":case"date":if("string"==typeof r){var gt,yt;const t=new Date(r);Number.isNaN(t.getTime())||null!==(yt=(gt=this.metadataTags).date)&&void 0!==yt||(gt.date=t)}break;case"covr":case"com.apple.quicktime.artwork":r instanceof $I?(null!==(P=(O=this.metadataTags).images)&&void 0!==P||(O.images=[]),this.metadataTags.images.push({data:r.data,kind:"coverFront",mimeType:r.mimeType})):r instanceof Uint8Array&&(null!==(D=(R=this.metadataTags).images)&&void 0!==D||(R.images=[]),this.metadataTags.images.push({data:r,kind:"coverFront",mimeType:"image/*"}));break;case"track":if("string"==typeof r){var bt,kt,wt,xt;const t=r.split("/"),e=Number.parseInt(t[0],10),n=t[1]&&Number.parseInt(t[1],10);Number.isInteger(e)&&e>0&&(null!==(kt=(bt=this.metadataTags).trackNumber)&&void 0!==kt||(bt.trackNumber=e)),n&&Number.isInteger(n)&&n>0&&(null!==(xt=(wt=this.metadataTags).tracksTotal)&&void 0!==xt||(wt.tracksTotal=n))}break;case"trkn":if(r instanceof Uint8Array&&r.length>=6){var _t,It,Tt,Et;const t=kI(r),e=t.getUint16(2,!1),n=t.getUint16(4,!1);e>0&&(null!==(It=(_t=this.metadataTags).trackNumber)&&void 0!==It||(_t.trackNumber=e)),n>0&&(null!==(Et=(Tt=this.metadataTags).tracksTotal)&&void 0!==Et||(Tt.tracksTotal=n))}break;case"disc":case"disk":if(r instanceof Uint8Array&&r.length>=6){var St,Mt,At,Nt;const t=kI(r),e=t.getUint16(2,!1),n=t.getUint16(4,!1);e>0&&(null!==(Mt=(St=this.metadataTags).discNumber)&&void 0!==Mt||(St.discNumber=e)),n>0&&(null!==(Nt=(At=this.metadataTags).discsTotal)&&void 0!==Nt||(At.discsTotal=n))}}}}}var Ct,Ft;return t.filePos=W,!0}}class NT{constructor(t){this.internalTrack=t,this.packetToSampleIndex=new WeakMap,this.packetToFragmentLocation=new WeakMap}getId(){return this.internalTrack.id}getNumber(){const t=this.internalTrack.demuxer,e=this.internalTrack.inputTrack.type;let n=0;for(const i of t.tracks)if(i.inputTrack.type===e&&n++,i===this.internalTrack)break;return n}getCodec(){throw new Error("Not implemented on base class.")}getInternalCodecId(){return this.internalTrack.internalCodecId}getName(){return this.internalTrack.name}getLanguageCode(){return this.internalTrack.languageCode}getTimeResolution(){return this.internalTrack.timescale}getDisposition(){return this.internalTrack.disposition}async computeDuration(){var t,e;const n=await this.getPacket(1/0,{metadataOnly:!0});return(null!==(t=null==n?void 0:n.timestamp)&&void 0!==t?t:0)+(null!==(e=null==n?void 0:n.duration)&&void 0!==e?e:0)}async getFirstTimestamp(){var t;const e=await this.getFirstPacket({metadataOnly:!0});return null!==(t=null==e?void 0:e.timestamp)&&void 0!==t?t:0}async getFirstPacket(t){const e=await this.fetchPacketForSampleIndex(0,t);return e||!this.internalTrack.demuxer.isFragmented?e:this.performFragmentedLookup(null,(t=>t.trackData.get(this.internalTrack.id)?{sampleIndex:0,correctSampleFound:!0}:{sampleIndex:-1,correctSampleFound:!1}),-1/0,1/0,t)}mapTimestampIntoTimescale(t){return(t=>{const e=Math.round(t);return Math.abs(t/e-1)<10*Number.EPSILON?e:t})(t*this.internalTrack.timescale)+this.internalTrack.editListOffset}async getPacket(t,e){const n=this.mapTimestampIntoTimescale(t),i=this.internalTrack.demuxer.getSampleTableForTrack(this.internalTrack),r=OT(i,n),o=await this.fetchPacketForSampleIndex(r,e);return zT(i)&&this.internalTrack.demuxer.isFragmented?this.performFragmentedLookup(null,(t=>{const e=t.trackData.get(this.internalTrack.id);if(!e)return{sampleIndex:-1,correctSampleFound:!1};const i=FI(e.presentationTimestamps,n,(t=>t.presentationTimestamp));return{sampleIndex:-1!==i?e.presentationTimestamps[i].sampleIndex:-1,correctSampleFound:-1!==i&&n<e.endTimestamp}}),n,n,e):o}async getNextPacket(t,e){const n=this.packetToSampleIndex.get(t);if(void 0!==n)return this.fetchPacketForSampleIndex(n+1,e);const i=this.packetToFragmentLocation.get(t);if(void 0===i)throw new Error("Packet was not created from this track.");return this.performFragmentedLookup(i.fragment,(t=>{if(t===i.fragment){const e=t.trackData.get(this.internalTrack.id);if(i.sampleIndex+1<e.samples.length)return{sampleIndex:i.sampleIndex+1,correctSampleFound:!0}}else if(t.trackData.get(this.internalTrack.id))return{sampleIndex:0,correctSampleFound:!0};return{sampleIndex:-1,correctSampleFound:!1}}),-1/0,1/0,e)}async getKeyPacket(t,e){const n=this.mapTimestampIntoTimescale(t),i=this.internalTrack.demuxer.getSampleTableForTrack(this.internalTrack),r=PT(i,n),o=await this.fetchPacketForSampleIndex(r,e);return zT(i)&&this.internalTrack.demuxer.isFragmented?this.performFragmentedLookup(null,(t=>{const e=t.trackData.get(this.internalTrack.id);if(!e)return{sampleIndex:-1,correctSampleFound:!1};const i=((t,e)=>{for(let n=t.length-1;n>=0;n--)if(e(t[n]))return n;return-1})(e.presentationTimestamps,(t=>e.samples[t.sampleIndex].isKeyFrame&&t.presentationTimestamp<=n));return{sampleIndex:-1!==i?e.presentationTimestamps[i].sampleIndex:-1,correctSampleFound:-1!==i&&n<e.endTimestamp}}),n,n,e):o}async getNextKeyPacket(t,e){const n=this.packetToSampleIndex.get(t);if(void 0!==n){const t=this.internalTrack.demuxer.getSampleTableForTrack(this.internalTrack),i=DT(t,n);return this.fetchPacketForSampleIndex(i,e)}const i=this.packetToFragmentLocation.get(t);if(void 0===i)throw new Error("Packet was not created from this track.");return this.performFragmentedLookup(i.fragment,(t=>{if(t===i.fragment){const e=t.trackData.get(this.internalTrack.id).samples.findIndex(((t,e)=>t.isKeyFrame&&e>i.sampleIndex));if(-1!==e)return{sampleIndex:e,correctSampleFound:!0}}else{const e=t.trackData.get(this.internalTrack.id);if(e&&null!==e.firstKeyFrameTimestamp){const t=e.samples.findIndex((t=>t.isKeyFrame));return vI(-1!==t),{sampleIndex:t,correctSampleFound:!0}}}return{sampleIndex:-1,correctSampleFound:!1}}),-1/0,1/0,e)}async fetchPacketForSampleIndex(t,e){if(-1===t)return null;const n=this.internalTrack.demuxer.getSampleTableForTrack(this.internalTrack),i=RT(n,t);if(!i)return null;let r;if(e.metadataOnly)r=pT;else{let t=this.internalTrack.demuxer.reader.requestSlice(i.sampleOffset,i.sampleSize);t instanceof Promise&&(t=await t),vI(t),r=YT(t,i.sampleSize)}const o=(i.presentationTimestamp-this.internalTrack.editListOffset)/this.internalTrack.timescale,s=i.duration/this.internalTrack.timescale,a=new mT(r,i.isKeyFrame?"key":"delta",o,s,t,i.sampleSize);return this.packetToSampleIndex.set(a,t),a}async fetchPacketInFragment(t,e,n){if(-1===e)return null;const i=t.trackData.get(this.internalTrack.id).samples[e];let r;if(vI(i),n.metadataOnly)r=pT;else{let t=this.internalTrack.demuxer.reader.requestSlice(i.byteOffset,i.byteSize);t instanceof Promise&&(t=await t),vI(t),r=YT(t,i.byteSize)}const o=(i.presentationTimestamp-this.internalTrack.editListOffset)/this.internalTrack.timescale,s=i.duration/this.internalTrack.timescale,a=new mT(r,i.isKeyFrame?"key":"delta",o,s,t.moofOffset+e,i.byteSize);return this.packetToFragmentLocation.set(a,{fragment:t,sampleIndex:e}),a}async performFragmentedLookup(t,e,n,i,r){var o,s;const a=this.internalTrack.demuxer;let l=null,c=null,u=-1;if(t){const{sampleIndex:n,correctSampleFound:i}=e(t);if(i)return this.fetchPacketInFragment(t,n,r);-1!==n&&(c=t,u=n)}const d=FI(this.internalTrack.fragmentLookupTable,n,(t=>t.timestamp)),h=-1!==d?this.internalTrack.fragmentLookupTable[d]:null,f=FI(this.internalTrack.fragmentPositionCache,n,(t=>t.startTimestamp)),p=-1!==f?this.internalTrack.fragmentPositionCache[f]:null,m=Math.max(null!==(o=null==h?void 0:h.moofOffset)&&void 0!==o?o:0,null!==(s=null==p?void 0:p.moofOffset)&&void 0!==s?s:0)||null;let v;for(t?null===m||t.moofOffset>=m?(v=t.moofOffset+t.moofSize,l=t):v=m:v=null!=m?m:0;;){if(l){const t=l.trackData.get(this.internalTrack.id);if(t&&t.startTimestamp>i)break}let t=a.reader.requestSliceRange(v,8,16);if(t instanceof Promise&&(t=await t),!t)break;const n=v,o=_T(t);if(!o)break;if("moof"===o.name){l=await a.readFragment(n);const{sampleIndex:t,correctSampleFound:i}=e(l);if(i)return this.fetchPacketInFragment(l,t,r);-1!==t&&(c=l,u=t)}v=n+o.totalSize}if(h&&(!c||c.moofOffset<h.moofOffset)){var g;const t=this.internalTrack.fragmentLookupTable[d-1];vI(!t||t.timestamp<h.timestamp);const n=null!==(g=null==t?void 0:t.timestamp)&&void 0!==g?g:-1/0;return this.performFragmentedLookup(null,e,n,i,r)}return c?this.fetchPacketInFragment(c,u,r):null}}class CT extends NT{constructor(t){super(t),this.decoderConfigPromise=null,this.internalTrack=t}getCodec(){return this.internalTrack.info.codec}getCodedWidth(){return this.internalTrack.info.width}getCodedHeight(){return this.internalTrack.info.height}getSquarePixelWidth(){return this.internalTrack.info.squarePixelWidth}getSquarePixelHeight(){return this.internalTrack.info.squarePixelHeight}getRotation(){return this.internalTrack.rotation}async getColorSpace(){var t,e,n,i;return{primaries:null===(t=this.internalTrack.info.colorSpace)||void 0===t?void 0:t.primaries,transfer:null===(e=this.internalTrack.info.colorSpace)||void 0===e?void 0:e.transfer,matrix:null===(n=this.internalTrack.info.colorSpace)||void 0===n?void 0:n.matrix,fullRange:null===(i=this.internalTrack.info.colorSpace)||void 0===i?void 0:i.fullRange}}async canBeTransparent(){return!1}async getDecoderConfig(){var t;return this.internalTrack.info.codec?null!==(t=this.decoderConfigPromise)&&void 0!==t?t:this.decoderConfigPromise=(async(t,e)=>{if("vp9"!==this.internalTrack.info.codec||this.internalTrack.info.vp9CodecInfo){if("av1"===this.internalTrack.info.codec&&!this.internalTrack.info.av1CodecInfo){const t=await this.getFirstPacket({});this.internalTrack.info.av1CodecInfo=t&&(t=>{for(const{type:e,data:n}of lT(t)){if(1!==e)continue;const t=new qI(n),i=t.readBits(3);t.readBits(1);const r=t.readBits(1);let o=0,s=0,a=0;if(r)o=t.readBits(5);else{if(t.readBits(1)&&(t.skipBits(32),t.skipBits(32),t.readBits(1)))return null;const e=t.readBits(1);e&&(a=t.readBits(5),t.skipBits(32),t.skipBits(5),t.skipBits(5));const n=t.readBits(5);for(let i=0;i<=n;i++){t.skipBits(12);const n=t.readBits(5);if(0===i&&(o=n),n>7){const e=t.readBits(1);0===i&&(s=e)}if(e&&t.readBits(1)){const e=a+1;t.skipBits(e),t.skipBits(e),t.skipBits(1)}t.readBits(1)&&t.skipBits(4)}}const l=t.readBits(4),c=t.readBits(4),u=l+1;t.skipBits(u);const d=c+1;t.skipBits(d);let h=0;if(h=r?0:t.readBits(1),h&&(t.skipBits(4),t.skipBits(3)),t.skipBits(1),t.skipBits(1),t.skipBits(1),!r){t.skipBits(1),t.skipBits(1),t.skipBits(1),t.skipBits(1);const e=t.readBits(1);e&&(t.skipBits(1),t.skipBits(1));let n=0;n=t.readBits(1)?2:t.readBits(1),n>0&&(t.readBits(1)||t.skipBits(1)),e&&t.skipBits(3)}t.skipBits(1),t.skipBits(1),t.skipBits(1);const f=t.readBits(1);let p=8;2===i&&f?p=t.readBits(1)?12:10:i<=2&&(p=f?10:8);let m=0;1!==i&&(m=t.readBits(1));let v=1,g=1,y=0;return m||(0===i?(v=1,g=1):1===i?(v=0,g=0):12===p&&(v=t.readBits(1),v&&(g=t.readBits(1))),v&&g&&(y=t.readBits(2))),{profile:i,level:o,tier:s,bitDepth:p,monochrome:m,chromaSubsamplingX:v,chromaSubsamplingY:g,chromaSamplePosition:y}}return null})(t.data)}}else{const t=await this.getFirstPacket({});this.internalTrack.info.vp9CodecInfo=t&&(t=>{const e=new qI(t);if(2!==e.readBits(2))return null;const n=e.readBits(1),i=(e.readBits(1)<<1)+n;if(3===i&&e.skipBits(1),1===e.readBits(1))return null;if(0!==e.readBits(1))return null;if(e.skipBits(2),4817730!==e.readBits(24))return null;let r=8;i>=2&&(r=e.readBits(1)?12:10);const o=e.readBits(3);let s=0,a=0;if(7!==o)if(a=e.readBits(1),1===i||3===i){const t=e.readBits(1),n=e.readBits(1);s=t||n?t&&!n?2:1:3,e.skipBits(1)}else s=1;else s=3,a=1;const l=(e.readBits(16)+1)*(e.readBits(16)+1);let c=gI(XI).level;for(const t of XI)if(l<=t.maxPictureSize){c=t.level;break}return{profile:i,level:c,bitDepth:r,chromaSubsampling:s,videoFullRangeFlag:a,colourPrimaries:2===o?1:1===o?6:2,transferCharacteristics:2===o?1:1===o?6:2,matrixCoefficients:7===o?0:2===o?1:1===o?6:2}})(t.data)}return{codec:YI(this.internalTrack.info),codedWidth:this.internalTrack.info.width,codedHeight:this.internalTrack.info.height,displayAspectWidth:this.internalTrack.info.squarePixelWidth,displayAspectHeight:this.internalTrack.info.squarePixelHeight,description:null!==(t=this.internalTrack.info.codecDescription)&&void 0!==t?t:void 0,colorSpace:null!==(e=this.internalTrack.info.colorSpace)&&void 0!==e?e:void 0}})():null}}class FT extends NT{constructor(t){super(t),this.decoderConfig=null,this.internalTrack=t}getCodec(){return this.internalTrack.info.codec}getNumberOfChannels(){return this.internalTrack.info.numberOfChannels}getSampleRate(){return this.internalTrack.info.sampleRate}async getDecoderConfig(){var t,e;return this.internalTrack.info.codec?null!==(t=this.decoderConfig)&&void 0!==t?t:this.decoderConfig={codec:QI(this.internalTrack.info),numberOfChannels:this.internalTrack.info.numberOfChannels,sampleRate:this.internalTrack.info.sampleRate,description:null!==(e=this.internalTrack.info.codecDescription)&&void 0!==e?e:void 0}:null}}const OT=(t,e)=>{if(t.presentationTimestamps){const n=FI(t.presentationTimestamps,e,(t=>t.presentationTimestamp));return-1===n?-1:t.presentationTimestamps[n].sampleIndex}{const n=FI(t.sampleTimingEntries,e,(t=>t.startDecodeTimestamp));if(-1===n)return-1;const i=t.sampleTimingEntries[n];return i.startIndex+Math.min(Math.floor((e-i.startDecodeTimestamp)/i.delta),i.count-1)}},PT=(t,e)=>{if(!t.keySampleIndices)return OT(t,e);if(t.presentationTimestamps){const n=FI(t.presentationTimestamps,e,(t=>t.presentationTimestamp));if(-1===n)return-1;for(let e=n;e>=0;e--){const n=t.presentationTimestamps[e].sampleIndex;if(-1!==CI(t.keySampleIndices,n,(t=>t)))return n}return-1}{var n;const i=OT(t,e),r=FI(t.keySampleIndices,i,(t=>t));return null!==(n=t.keySampleIndices[r])&&void 0!==n?n:-1}},RT=(t,e)=>{const n=FI(t.sampleTimingEntries,e,(t=>t.startIndex)),i=t.sampleTimingEntries[n];if(!i||i.startIndex+i.count<=e)return null;let r=i.startDecodeTimestamp+(e-i.startIndex)*i.delta;const o=FI(t.sampleCompositionTimeOffsets,e,(t=>t.startIndex)),s=t.sampleCompositionTimeOffsets[o];s&&e-s.startIndex<s.count&&(r+=s.offset);const a=t.sampleSizes[Math.min(e,t.sampleSizes.length-1)],l=FI(t.sampleToChunk,e,(t=>t.startSampleIndex)),c=t.sampleToChunk[l];vI(c);const u=c.startChunkIndex+Math.floor((e-c.startSampleIndex)/c.samplesPerChunk),d=t.chunkOffsets[u],h=c.startSampleIndex+(u-c.startChunkIndex)*c.samplesPerChunk;let f=0,p=d;if(1===t.sampleSizes.length)p+=a*(e-h),f+=a*c.samplesPerChunk;else for(let n=h;n<h+c.samplesPerChunk;n++){const i=t.sampleSizes[n];n<e&&(p+=i),f+=i}let m=i.delta;if(t.presentationTimestamps){const n=t.presentationTimestampIndexMap[e];vI(void 0!==n),n<t.presentationTimestamps.length-1&&(m=t.presentationTimestamps[n+1].presentationTimestamp-r)}return{presentationTimestamp:r,duration:m,sampleOffset:p,sampleSize:a,chunkOffset:d,chunkSize:f,isKeyFrame:!t.keySampleIndices||-1!==CI(t.keySampleIndices,e,(t=>t))}},DT=(t,e)=>{var n;if(!t.keySampleIndices)return e+1;const i=FI(t.keySampleIndices,e,(t=>t));return null!==(n=t.keySampleIndices[i+1])&&void 0!==n?n:-1},BT=(t,e)=>{t.startTimestamp+=e,t.endTimestamp+=e;for(const n of t.samples)n.presentationTimestamp+=e;for(const n of t.presentationTimestamps)n.presentationTimestamp+=e},LT=t=>{const[e,,,n]=t,i=Math.hypot(e,n),r=e/i,o=n/i,s=-Math.atan2(o,r)*(180/Math.PI);return Number.isFinite(s)?s:0},zT=t=>0===t.sampleSizes.length;class WT{}class jT extends WT{async _getMajorBrand(t){let e=t._reader.requestSlice(0,12);return e instanceof Promise&&(e=await e),e?(e.skip(4),"ftyp"!==sE(e,4)?null:sE(e,4)):null}_createDemuxer(t){return new AT(t)}}const $T=new class extends jT{async _canReadInput(t){const e=await this._getMajorBrand(t);return!!e&&"qt "!==e}get name(){return"MP4"}get mimeType(){return"video/mp4"}};class UT{constructor(){this._disposed=!1,this._sizePromise=null,this.onread=null}async getSizeOrNull(){var t;if(this._disposed)throw new GT;return null!==(t=this._sizePromise)&&void 0!==t?t:this._sizePromise=Promise.resolve(this._retrieveSize())}async getSize(){if(this._disposed)throw new GT;const t=await this.getSizeOrNull();if(null===t)throw new Error("Cannot determine the size of an unsized source.");return t}}class qT extends UT{constructor(t,e={}){var n;if(!(t instanceof ReadableStream))throw new TypeError("stream must be a ReadableStream.");if(!e||"object"!=typeof e)throw new TypeError("options must be an object.");if(void 0!==e.maxCacheSize&&(!jI(e.maxCacheSize)||e.maxCacheSize<0))throw new TypeError("options.maxCacheSize, when provided, must be a non-negative number.");super(),this._reader=null,this._cache=[],this._pendingSlices=[],this._currentIndex=0,this._targetIndex=0,this._maxRequestedIndex=0,this._endIndex=null,this._pulling=!1,this._stream=t,this._maxCacheSize=null!==(n=e.maxCacheSize)&&void 0!==n?n:16777216}_retrieveSize(){return this._endIndex}_read(t,e){if(null!==this._endIndex&&e>this._endIndex)return null;this._maxRequestedIndex=Math.max(this._maxRequestedIndex,e);const n=FI(this._cache,t,(t=>t.start)),i=-1!==n?this._cache[n]:null;if(i&&i.start<=t&&e<=i.end)return{bytes:i.bytes,view:i.view,offset:i.start};let r=t;const o=new Uint8Array(e-t);if(-1!==n)for(let i=n;i<this._cache.length;i++){const n=this._cache[i];if(n.start>=e)break;const s=Math.max(t,n.start);s>r&&this._throwDueToCacheMiss();const a=Math.min(e,n.end);s<a&&(o.set(n.bytes.subarray(s-n.start,a-n.start),s-t),r=a)}if(r===e)return{bytes:o,view:kI(o),offset:t};this._currentIndex>r&&this._throwDueToCacheMiss();const{promise:s,resolve:a,reject:l}=OI();return this._pendingSlices.push({start:t,end:e,bytes:o,resolve:a,reject:l}),this._targetIndex=Math.max(this._targetIndex,e),this._pulling||(this._pulling=!0,this._pull().catch((t=>{if(this._pulling=!1,!(this._pendingSlices.length>0))throw t;this._pendingSlices.forEach((e=>e.reject(t))),this._pendingSlices.length=0}))),s}_throwDueToCacheMiss(){throw new Error("Read is before the cached region. With ReadableStreamSource, you must access the data more sequentially or increase the size of its cache.")}async _pull(){for(null!==(t=this._reader)&&void 0!==t||(this._reader=this._stream.getReader());this._currentIndex<this._targetIndex&&!this._disposed;){var t;const{done:e,value:n}=await this._reader.read();if(e){for(const t of this._pendingSlices)t.resolve(null);this._pendingSlices.length=0,this._endIndex=this._currentIndex;break}const i=this._currentIndex,r=this._currentIndex+n.byteLength;for(let t=0;t<this._pendingSlices.length;t++){const e=this._pendingSlices[t],o=Math.max(i,e.start),s=Math.min(r,e.end);o<s&&(e.bytes.set(n.subarray(o-i,s-i),o-e.start),s===e.end&&(e.resolve({bytes:e.bytes,view:kI(e.bytes),offset:e.start}),this._pendingSlices.splice(t,1),t--))}for(this._cache.push({start:i,end:r,bytes:n,view:kI(n),age:0});this._cache.length>0;){const t=this._cache[0];if(this._maxRequestedIndex-t.end<=this._maxCacheSize)break;this._cache.shift()}this._currentIndex+=n.byteLength}this._pulling=!1}_dispose(){this._pendingSlices.length=0,this._cache.length=0}}null!==(le=Symbol.dispose)&&void 0!==le||(Symbol.dispose=Symbol("Symbol.dispose"));class VT{get disposed(){return this._disposed}constructor(t){if(this._demuxerPromise=null,this._format=null,this._disposed=!1,!t||"object"!=typeof t)throw new TypeError("options must be an object.");if(!Array.isArray(t.formats)||t.formats.some((t=>!(t instanceof WT))))throw new TypeError("options.formats must be an array of InputFormat.");if(!(t.source instanceof UT))throw new TypeError("options.source must be a Source.");if(t.source._disposed)throw new Error("options.source must not be disposed.");this._formats=t.formats,this._source=t.source,this._reader=new HT(t.source)}_getDemuxer(){var t;return null!==(t=this._demuxerPromise)&&void 0!==t?t:this._demuxerPromise=(async()=>{this._reader.fileSize=await this._source.getSizeOrNull();for(const t of this._formats)if(await t._canReadInput(this))return this._format=t,t._createDemuxer(this);throw new Error("Input has an unsupported or unrecognizable format.")})()}get source(){return this._source}async getFormat(){return await this._getDemuxer(),vI(this._format),this._format}async computeDuration(){return(await this._getDemuxer()).computeDuration()}async getFirstTimestamp(){const t=await this.getTracks();if(0===t.length)return 0;const e=await Promise.all(t.map((t=>t.getFirstTimestamp())));return Math.min(...e)}async getTracks(){return(await this._getDemuxer()).getTracks()}async getVideoTracks(){return(await this.getTracks()).filter((t=>t.isVideoTrack()))}async getAudioTracks(){return(await this.getTracks()).filter((t=>t.isAudioTrack()))}async getPrimaryVideoTrack(){var t;return null!==(t=(await this.getTracks()).find((t=>t.isVideoTrack())))&&void 0!==t?t:null}async getPrimaryAudioTrack(){var t;return null!==(t=(await this.getTracks()).find((t=>t.isAudioTrack())))&&void 0!==t?t:null}async getMimeType(){return(await this._getDemuxer()).getMimeType()}async getMetadataTags(){return(await this._getDemuxer()).getMetadataTags()}dispose(){this._disposed||(this._disposed=!0,this._source._disposed=!0,this._source._dispose())}[Symbol.dispose](){this.dispose()}}class GT extends Error{constructor(t="Input has been disposed."){super(t),this.name="InputDisposedError"}}class HT{constructor(t){this.source=t}requestSlice(t,e){if(this.source._disposed)throw new GT;if(t<0)return null;if(null!==this.fileSize&&t+e>this.fileSize)return null;const n=t+e,i=this.source._read(t,n);return i instanceof Promise?i.then((e=>e?new KT(e.bytes,e.view,e.offset,t,n):null)):i?new KT(i.bytes,i.view,i.offset,t,n):null}requestSliceRange(t,e,n){if(this.source._disposed)throw new GT;if(t<0)return null;if(null!==this.fileSize)return this.requestSlice(t,RI(this.fileSize-t,e,n));{const i=this.requestSlice(t,n),r=i=>{if(i)return i;const r=i=>(vI(null!==i),this.requestSlice(t,RI(i-t,e,n))),o=this.source._retrieveSize();return o instanceof Promise?o.then(r):r(o)};return i instanceof Promise?i.then(r):r(i)}}}class KT{constructor(t,e,n,i,r){this.bytes=t,this.view=e,this.offset=n,this.start=i,this.end=r,this.bufferPos=i-n}static tempFromBytes(t){return new KT(t,kI(t),0,0,t.length)}get length(){return this.end-this.start}get filePos(){return this.offset+this.bufferPos}set filePos(t){this.bufferPos=t-this.offset}get remainingLength(){return Math.max(this.end-this.filePos,0)}skip(t){this.bufferPos+=t}slice(t,e=this.end-t){if(t<this.start||t+e>this.end)throw new RangeError("Slicing outside of original slice.");return new KT(this.bytes,this.view,this.offset,t,t+e)}}const XT=(t,e)=>{if(t.filePos<t.start||t.filePos+e>t.end)throw new RangeError(`Tried reading [${t.filePos}, ${t.filePos+e}), but slice is [${t.start}, ${t.end}). This is likely an internal error, please report it alongside the file that caused it.`)},YT=(t,e)=>{XT(t,e);const n=t.bytes.subarray(t.bufferPos,t.bufferPos+e);return t.bufferPos+=e,n},QT=t=>(XT(t,1),t.view.getUint8(t.bufferPos++)),JT=t=>{XT(t,2);const e=t.view.getUint16(t.bufferPos,!1);return t.bufferPos+=2,e},ZT=t=>{XT(t,3);const e=PI(t.view,t.bufferPos);return t.bufferPos+=3,e},tE=t=>{XT(t,2);const e=t.view.getInt16(t.bufferPos,!1);return t.bufferPos+=2,e},eE=t=>{XT(t,4);const e=t.view.getUint32(t.bufferPos,!1);return t.bufferPos+=4,e},nE=t=>{XT(t,4);const e=t.view.getInt32(t.bufferPos,!1);return t.bufferPos+=4,e},iE=t=>4294967296*eE(t)+eE(t),rE=t=>4294967296*nE(t)+eE(t),oE=t=>{XT(t,8);const e=t.view.getFloat64(t.bufferPos,!1);return t.bufferPos+=8,e},sE=(t,e)=>{XT(t,e);let n="";for(let i=0;i<e;i++)n+=String.fromCharCode(t.bytes[t.bufferPos++]);return n};var aE=new WeakMap,lE=new WeakMap,cE=new WeakMap,uE=new WeakMap,dE=new WeakMap,hE=new WeakMap,fE=new WeakMap,pE=new WeakMap,mE=new WeakMap,vE=new WeakMap,gE=new WeakMap,yE=new WeakMap,bE=new WeakMap,kE=new WeakMap,wE=new WeakMap,xE=new WeakSet;class _E extends sh{constructor(...t){super(...t),O(this,xE),C(this,aE,null),C(this,lE,null),C(this,cE,null),C(this,uE,null),C(this,dE,!1),C(this,hE,!1),C(this,fE,!1),C(this,pE,!1),C(this,mE,void 0),C(this,vE,null),C(this,gE,null),C(this,yE,!1),C(this,bE,!1),C(this,kE,null),C(this,wE,!1)}get name(){return"FMP4Demuxer"}get defaults(){return{}}get methodsExcludedFromAutoLog(){return new Set([...super.methodsExcludedFromAutoLog,"pushChunk","endOfStream"])}pushChunk(t,e={}){if(N(fE,this)||N(pE,this))return;const n=t instanceof Uint8Array?t:new Uint8Array(t),i=!!e.isInit;F(vE,this,M(xE,this,AE).call(this,n,e,i)),i&&(F(mE,this,n),F(gE,this,null),this.trigger("demux:init",{data:n})),M(xE,this,ME).call(this);try{var r;const t=null===(r=N(aE,this))||void 0===r?void 0:r.write(n);t&&"function"==typeof t.catch&&t.catch((t=>{M(xE,this,NE).call(this,t)}))}catch(t){if(N(fE,this)||M(xE,this,IE).call(this,t))return;return this.log.warn("[FMP4Demuxer] mediabunny demux failed",t),void M(xE,this,NE).call(this,t)}const o=M(xE,this,OE).call(this);o&&"function"==typeof o.catch&&o.catch((t=>{M(xE,this,NE).call(this,t)}))}endOfStream(){if(N(pE,this))return;if(N(yE,this))return;let t;F(yE,this,!0),F(bE,this,!1),F(wE,this,!1);try{var e;t=null===(e=N(aE,this))||void 0===e?void 0:e.close()}catch(e){t=Promise.resolve()}let n=!1;M(xE,this,EE).call(this),F(kE,this,setTimeout((()=>{F(kE,this,null),n||N(bE,this)||N(pE,this)||M(xE,this,SE).call(this)}),20)),Promise.resolve(t).catch((()=>{})).finally((()=>{n=!0,M(xE,this,EE).call(this),M(xE,this,SE).call(this)}))}onDispose(){super.onDispose(),F(pE,this,!0);try{var t,e;null===(t=N(cE,this))||void 0===t||null===(e=t.close)||void 0===e||e.call(t)}catch(t){}this.endOfStream();try{var n,i;null===(n=N(lE,this))||void 0===n||null===(i=n.dispose)||void 0===i||i.call(n)}catch(t){}F(cE,this,null),F(lE,this,null),F(fE,this,!1),F(vE,this,null),F(uE,this,null),F(dE,this,!1),F(hE,this,!1),F(yE,this,!1),F(bE,this,!1),F(wE,this,!1),M(xE,this,EE).call(this)}}function IE(t){return!!N(pE,this)&&(!t||("InputDisposedError"===(null==t?void 0:t.name)||("string"==typeof(null==t?void 0:t.message)?t.message:"").includes("Input has been disposed")))}function TE(){try{var t,e;const n=null===(t=N(aE,this))||void 0===t||null===(e=t.close)||void 0===e?void 0:e.call(t);n&&"function"==typeof n.catch&&n.catch((()=>{}))}catch(t){}F(aE,this,null)}function EE(){null!==N(kE,this)&&(clearTimeout(N(kE,this)),F(kE,this,null))}function SE(){if(N(bE,this)||N(pE,this)||N(fE,this))return;if(F(bE,this,!0),N(hE,this))return void F(wE,this,!0);F(wE,this,!1);const t=M(xE,this,OE).call(this);t&&"function"==typeof t.catch&&t.catch((t=>{M(xE,this,NE).call(this,t)}))}function ME(){if(N(lE,this)&&N(aE,this))return;const t=ch.TransformStream;if(void 0===t)throw new Error("TransformStream is not available in this environment");const{readable:e,writable:n}=new t;F(aE,this,n.getWriter()),F(lE,this,new VT({source:new qT(e),formats:[$T]})),F(dE,this,!1)}function AE(t,e,n){const i={isInit:n,byteLength:(null==t?void 0:t.byteLength)||0};return"number"==typeof e.loaded&&(i.loaded=e.loaded),"number"==typeof e.total&&(i.total=e.total),"number"==typeof e.pts&&(i.pts=e.pts),"number"==typeof e.dts&&(i.dts=e.dts),"number"==typeof e.duration&&(i.duration=e.duration),"boolean"==typeof e.isKey&&(i.isKey=e.isKey),i}function NE(t){if(N(fE,this)||M(xE,this,IE).call(this,t))return;if(M(xE,this,FE).call(this,t))return void F(dE,this,!1);F(fE,this,!0),M(xE,this,TE).call(this);try{var e,n;null===(e=N(cE,this))||void 0===e||null===(n=e.close)||void 0===n||n.call(e)}catch(t){}F(cE,this,null);try{var i,r;null===(i=N(lE,this))||void 0===i||null===(r=i.dispose)||void 0===r||r.call(i)}catch(t){}F(lE,this,null);const o={error:t,recoverable:!1,severity:"fatal",streamClosed:N(yE,this),streamFinalized:N(bE,this)};N(vE,this)&&(o.context={...N(vE,this)}),this.trigger("demux:error",o)}function CE(t){if(!t)return!1;const e="string"==typeof(null==t?void 0:t.message)?t.message:"";return!!e&&(e.includes("unsupported or unrecognizable format")||e.includes("No supported tracks found"))}function FE(t){return!!M(xE,this,CE).call(this,t)&&(!N(bE,this)||N(wE,this))}async function OE(){if(!(N(pE,this)||N(fE,this)||N(dE,this)||N(hE,this))){F(hE,this,!0);try{M(xE,this,ME).call(this);const t=await N(lE,this).getPrimaryVideoTrack(),e=t?null:await N(lE,this).getPrimaryAudioTrack(),n=t||e;if(!n)throw new Error("No supported tracks found in MP4");const i=await n.getDecoderConfig(),r=await n.getCodecParameterString(),o=await N(lE,this).getMimeType();this.trigger("demux:init",{...N(mE,this)?{data:N(mE,this)}:{},decoderConfig:i,codec:r,mimeType:o}),F(cE,this,new bT(n)),F(dE,this,!0),F(uE,this,(async()=>{try{for await(const t of N(cE,this).packets()){if(N(pE,this))break;const e="number"==typeof t.timestamp?t.timestamp:0;null===N(gE,this)&&F(gE,this,e);let n=e-N(gE,this);n<0&&(n=0),this.trigger("demux:sample",{data:t.data,pts:n,dts:n,duration:t.duration,isKey:"key"===t.type})}this.trigger("demux:complete")}catch(t){M(xE,this,NE).call(this,t)}})())}catch(t){if(M(xE,this,FE).call(this,t))return;throw t}finally{F(hE,this,!1),!N(wE,this)||N(fE,this)||N(pE,this)||M(xE,this,SE).call(this)}}}const PE=1e6,RE=24e3/1001,DE={primaries:"bt709",transfer:"bt709",matrix:"bt709",fullRange:!0},BE=new Uint8Array;function LE(t){return t?t instanceof Uint8Array?t:t instanceof ArrayBuffer?new Uint8Array(t):BE:BE}let zE=null;const WE={video:(ce=new WeakMap,ue=new WeakMap,de=new WeakMap,he=new WeakMap,fe=new WeakMap,pe=new WeakMap,me=new WeakMap,ve=new WeakMap,ge=new WeakMap,ye=new WeakMap,be=new WeakMap,ke=new WeakMap,we=new WeakMap,xe=new WeakMap,_e=new WeakMap,Ie=new WeakMap,Te=new WeakMap,Ee=new WeakMap,Se=new WeakMap,Me=new WeakMap,Ae=new WeakMap,Ne=new WeakMap,Ce=new WeakMap,Fe=new WeakMap,Oe=new WeakMap,Pe=new WeakMap,Re=new WeakMap,De=new WeakMap,Be=new WeakMap,Le=new WeakMap,ze=new WeakMap,We=new WeakMap,je=new WeakMap,$e=new WeakMap,Ue=new WeakSet,class extends mI{get name(){return"WebCodecsSegmentDecoder"}get defaults(){return{decodedHorizonSeconds:1,maxDecodedFrames:24,maxDecodeQueueSize:4,av1ColorSpaceOverrideEnabled:!0,convertFramesToBitmapsOnAndroid:!0,androidFixEndOfSegmentDelta:.2}}get methodsExcludedFromAutoLog(){return new Set([...super.methodsExcludedFromAutoLog,"decodeChunk"])}constructor(...t){super(...t),O(this,Ue),C(this,ce,void 0),C(this,ue,[]),C(this,de,void 0),C(this,he,void 0),C(this,fe,void 0),C(this,pe,void 0),C(this,me,[]),C(this,ve,void 0),C(this,ge,new Map),C(this,ye,!0),C(this,be,!1),C(this,ke,!1),C(this,we,!1),C(this,xe,void 0),C(this,_e,!1),C(this,Ie,!1),C(this,Te,0),C(this,Ee,void 0),C(this,Se,void 0),C(this,Me,{}),C(this,Ae,void 0),C(this,Ne,0),C(this,Ce,null),C(this,Fe,!1),C(this,Oe,null),C(this,Pe,void 0),C(this,Re,0),C(this,De,0),C(this,Be,0),C(this,Le,0),C(this,ze,!1),C(this,We,!1),C(this,je,.2),C(this,$e,Promise.resolve()),F(de,this,this.settings.decodedHorizonSeconds||1),F(he,this,M(Ue,this,CS).call(this,this.settings.maxDecodedFrames)),F(fe,this,M(Ue,this,OS).call(this,this.settings.maxDecodeQueueSize)),F(ze,this,mg()),F(We,this,M(Ue,this,_S).call(this,this.settings.convertFramesToBitmapsOnAndroid)),F(je,this,M(Ue,this,IS).call(this,this.settings.androidFixEndOfSegmentDelta)),F(pe,this,(()=>0)),F(ve,this,(()=>M(Ue,this,fS).call(this)));const e=this.settings.demuxerOptions?{FMP4Demuxer:this.settings.demuxerOptions}:{};F(ce,this,new _E(e)),N(ce,this).on("demux:init",(t=>M(Ue,this,iS).call(this,t))),N(ce,this).on("demux:sample",(t=>M(Ue,this,rS).call(this,t))),N(ce,this).on("demux:complete",(()=>M(Ue,this,oS).call(this))),N(ce,this).on("demux:error",(t=>M(Ue,this,GE).call(this,t)))}setCurrentTimeProvider(t){"function"==typeof t&&F(pe,this,t)}setTimeOffsetSeconds(t){const e=Number(t);F(Ne,this,Number.isFinite(e)?e:0)}setSeekTargetTimeSeconds(t){const e=Number(t);F(Ce,this,Number.isFinite(e)?e:null),F(Fe,this,!1),F(Oe,this,null)}endOfStream(){N(ce,this)&&"function"==typeof N(ce,this).endOfStream&&N(ce,this).endOfStream()}configure(t){super.configure(t),F(Me,this,{codec:M(Ue,this,LS).call(this,t),width:(null==t?void 0:t.codedWidth)||(null==t?void 0:t.width),height:(null==t?void 0:t.codedHeight)||(null==t?void 0:t.height)}),F(Ee,this,N(Me,this).codec)}setSegment(t){this.lastSegment=t,M(Ue,this,ZE).call(this)}setNodeId(t){F(Pe,this,t)}decode(t){this.setSegment(t);const e=null==t?void 0:t.arrayBuffer;e&&N(ce,this).pushChunk(e,{isInit:!(null==t||!t.isInit)})}async decodeChunk(t,e={}){await N(ce,this).pushChunk(t,{isInit:!!e.isInit,pts:"number"==typeof e.pts?e.pts:void 0,dts:"number"==typeof e.dts?e.dts:void 0,duration:"number"==typeof e.duration?e.duration:void 0,isKey:!!e.isKey,loaded:"number"==typeof e.loaded?e.loaded:void 0,total:"number"==typeof e.total?e.total:void 0})}get decodedFrames(){return N(ue,this).slice()}onDispose(){if(super.onDispose(),M(Ue,this,vS).call(this),N(ce,this)&&"function"==typeof N(ce,this).dispose&&N(ce,this).dispose(),F(ue,this,[]),F(me,this,[]),N(ge,this).clear(),F(Oe,this,null),N(xe,this)&&"function"==typeof N(xe,this).close)try{N(xe,this).close()}catch(t){}F(xe,this,null),F(_e,this,!1),F(Se,this,null),F(Ee,this,null),F(Pe,this,null),F($e,this,Promise.resolve()),M(Ue,this,ZE).call(this)}}),audio:(qe=new WeakMap,Ve=new WeakMap,Ge=new WeakMap,He=new WeakMap,Ke=new WeakMap,Xe=new WeakMap,Ye=new WeakMap,Qe=new WeakSet,class extends mI{constructor(...t){super(...t),O(this,Qe),C(this,qe,void 0),C(this,Ve,[]),C(this,Ge,0),C(this,He,!1),C(this,Ke,!1),C(this,Xe,void 0),C(this,Ye,0)}get name(){return"WebAudioDecoder"}setSegment(t){F(Xe,this,t)}setTimeOffsetSeconds(t){const e=Number(t);F(Ye,this,Number.isFinite(e)?e:0)}decode(t){if(this.lastSegment=t,!t)return;if(t.isInit)return void F(qe,this,LE(t.arrayBuffer));const e=t.arrayBuffer;e&&M(Qe,this,UE).call(this,LE(e),!0)}decodeChunk(t,e={}){if(!t)return;if(e.isInit)return void F(qe,this,LE(t));const n=LE(t);if(!n.length)return;N(Ve,this).push(n),F(Ge,this,N(Ge,this)+n.length);const i=Number(e.loaded),r=Number(e.total);Number.isFinite(i)&&Number.isFinite(r)&&r>0&&i>=r&&M(Qe,this,jE).call(this)}endOfStream(){M(Qe,this,jE).call(this)}onDispose(){super.onDispose(),F(qe,this,void 0),F(Ve,this,[]),F(Ge,this,0),F(He,this,!1),F(Ke,this,!1),F(Xe,this,void 0)}}),image:class extends mI{#z;#W=0;#j=[];#$=0;#U;get name(){return"ImageDecoder"}setSegment(t){this.#z=t}setTimeOffsetSeconds(t){const e=Number(t);this.#W=Number.isFinite(e)?e:0}decode(t){super.decode(t),t&&(this.#z=t);const e=null==t?void 0:t.arrayBuffer;e instanceof ArrayBuffer&&(this.#j=[new Uint8Array(e)],this.#$=e.byteLength,this.endOfStream())}decodeChunk(t,e={}){if(null!=e&&e.isInit)return;const n=function(t){if(t)return t instanceof Uint8Array?t:t instanceof ArrayBuffer?new Uint8Array(t):ArrayBuffer.isView(t)&&t.buffer?new Uint8Array(t.buffer):void 0}(t);n&&n.length&&(this.#j.push(n),this.#$+=n.length)}async endOfStream(){var t,e,n;if(this.#U)return;if(!(this.#j.length&&this.#$>0))return;const i=new Uint8Array(this.#$);let r=0;for(let t=0;t<this.#j.length;t+=1){const e=this.#j[t];i.set(e,r),r+=e.length}const o=null===(t=this.#z)||void 0===t?void 0:t.chosenRepresentation,s=(null==o?void 0:o.mime)||(null===(e=this.track)||void 0===e?void 0:e.mimeType)||(null===(n=this.track)||void 0===n?void 0:n.mime)||function(t){if(t instanceof Uint8Array&&!(t.byteLength<4))return t.byteLength>=8&&137===t[0]&&80===t[1]&&78===t[2]&&71===t[3]&&13===t[4]&&10===t[5]&&26===t[6]&&10===t[7]?"image/png":255===t[0]&&216===t[1]&&255===t[2]?"image/jpeg":t.byteLength>=6&&71===t[0]&&73===t[1]&&70===t[2]&&56===t[3]?"image/gif":t.byteLength>=12&&82===t[0]&&73===t[1]&&70===t[2]&&70===t[3]&&87===t[8]&&69===t[9]&&66===t[10]&&80===t[11]?"image/webp":void 0}(i);try{var a,l;const t=await async function(t,e){const n=function(t,e){if(!(t&&t.byteLength>0))return;if("function"!=typeof ch.Blob)return;const n="string"==typeof e?e:"";return new ch.Blob([t],n?{type:n}:void 0)}(t,e);if(!n)throw new Error("Image decode requires Blob support");let i;if("function"==typeof ch.Image&&ch.URL&&"function"==typeof ch.URL.createObjectURL&&"function"==typeof ch.URL.revokeObjectURL){const t=ch.URL.createObjectURL(n);try{const e=new ch.Image;return await new Promise(((n,i)=>{e.onload=()=>n(),e.onerror=t=>i(t||new Error("Image decode failed")),e.src=t})),e}catch(t){i=t}finally{ch.URL.revokeObjectURL(t)}}if("function"==typeof ch.createImageBitmap)try{return ch.createImageBitmap(n)}catch(t){i=t}if(i)throw i;throw new Error("No supported image decode mechanism")}(i,s);this.#U=t;const e=function(t){if(!t)return;const e=[[t.naturalWidth,t.naturalHeight],[t.width,t.height],[t.displayWidth,t.displayHeight],[t.videoWidth,t.videoHeight],[t.codedWidth,t.codedHeight]];for(let t=0;t<e.length;t+=1){const[n,i]=e[t],r=Number(n),o=Number(i);if(Number.isFinite(r)&&Number.isFinite(o)&&r>0&&o>0)return{width:r,height:o}}}(t);e&&o&&(ob(o.width)||(o.width=e.width),ob(o.height)||(o.height=e.height)),this.trigger("decoder:frame",{pts:this.#W,duration:ob(null===(a=this.#z)||void 0===a?void 0:a.duration)?this.#z.duration:null===(l=this.track)||void 0===l?void 0:l.duration,frame:t})}catch(t){this.trigger("decoder:error",{error:t})}}onDispose(){if(super.onDispose(),this.#U&&"function"==typeof this.#U.close)try{this.#U.close()}catch(t){}this.#U=null,this.#j=[],this.#$=0,this.#z=null}}};function jE(){if(N(He,this)||N(Ke,this))return;if(!N(Ge,this))return;const t=M(Qe,this,$E).call(this);t.length&&M(Qe,this,UE).call(this,t,!1)}function $E(){const t=N(qe,this),e=t?t.length:0,n=e+N(Ge,this);if(!n)return BE;const i=new Uint8Array(n);let r=0;e&&(i.set(t,r),r+=e);for(let t=0;t<N(Ve,this).length;t+=1){const e=N(Ve,this)[t];e&&e.length&&(i.set(e,r),r+=e.length)}return i}function UE(t,e){if(N(He,this)||N(Ke,this))return;const n=e?M(Qe,this,qE).call(this,t):t;if(!n||!n.length)return;const i=function(){if(zE)return zE;const t=ch.AudioContext||ch.webkitAudioContext;return t?(zE=new t,zE):null}();if(!i||"function"!=typeof i.decodeAudioData)return void this.trigger("decoder:error",{error:new Error("AudioContext is not available")});const r=n.buffer.slice(0);F(Ke,this,!0),new Promise(((t,e)=>{const n=i.decodeAudioData(r,t,e);n&&"function"==typeof n.then&&n.then(t).catch(e)})).then((t=>{var e;F(He,this,!0);const n=Number.isFinite(null==t?void 0:t.duration)?t.duration:Number(null===(e=N(Xe,this))||void 0===e?void 0:e.duration)||void 0;this.trigger("decoder:audio",{audioBuffer:t,pts:N(Ye,this),duration:n})})).catch((t=>{this.trigger("decoder:error",{error:t})})).finally((()=>{F(Ve,this,[]),F(Ge,this,0),F(Ke,this,!1)}))}function qE(t){const e=N(qe,this);if(!e||!e.length)return t;const n=e.length+t.length,i=new Uint8Array(n);return i.set(e,0),i.set(t,e.length),i}function VE(t,e){var n,i,r,o,s;const a=null!=t&&t.context&&"object"==typeof t.context?t.context:void 0;return{error:e,errorName:null==e?void 0:e.name,errorMessage:"string"==typeof(null==e?void 0:e.message)?e.message:void 0,nodeId:N(Pe,this),trackId:null===(n=this.track)||void 0===n?void 0:n.id,trackType:null===(i=this.track)||void 0===i?void 0:i.type,codec:(null===(r=N(Me,this))||void 0===r?void 0:r.codec)||N(Ee,this),segmentId:null===(o=this.lastSegment)||void 0===o?void 0:o.id,segmentIsInit:!(null===(s=this.lastSegment)||void 0===s||!s.isInit),chunkContext:a}}function GE(t){const e=(null==t?void 0:t.error)||t,n=M(Ue,this,VE).call(this,t,e);if(M(Ue,this,HE).call(this,t,e))return this.log.warn("[onDemuxError] recoverable demux error",n),void M(Ue,this,oS).call(this);const i=M(Ue,this,nS).call(this,t),r=M(Ue,this,KE).call(this,i);if(i&&0===i.missingFrames)return this.log.warn(`[onDemuxError] ignoring demux error (no missing frames)${r}`,{...n,missingFrameStats:i}),void M(Ue,this,oS).call(this);let o=n;i&&(o={...n,missingFrameStats:i}),this.log.warn(`[onDemuxError] demux error${r}`,o),this.trigger("decoder:error",t)}function HE(t,e){if("boolean"==typeof(null==t?void 0:t.recoverable))return t.recoverable;const n="string"==typeof(null==t?void 0:t.severity)?t.severity:"";if(n)return"recoverable"===n||"transient"===n;const i="string"==typeof(null==e?void 0:e.message)?e.message:"";return!!i&&(i.includes("unsupported or unrecognizable format")||i.includes("No supported tracks found"))}function KE(t){return t?` expectedFrames=${M(Ue,this,XE).call(this,t.expectedFrames)} demuxedFrames=${M(Ue,this,XE).call(this,t.demuxedFrames)} missingFrames=${M(Ue,this,XE).call(this,t.missingFrames)}`:""}function XE(t){if(null==t)return"unknown";const e=Number(t);return Number.isFinite(e)?String(e):"unknown"}function YE(t,e={}){return{expectedFrames:null,demuxedFrames:N(Re,this),missingFrames:null,reason:t,...e}}function QE(t){const e=Number(t);return Number.isFinite(e)?e:null}function JE(t){var e,n;const i=(null==t?void 0:t.context)||{},r=Number(i.loaded),o=Number(i.total);if(!Number.isFinite(o)||o<=0||!Number.isFinite(r)||r<o)return null;if(null!==(e=this.lastSegment)&&void 0!==e&&e.isInit)return null;const s=Number(null===(n=this.lastSegment)||void 0===n?void 0:n.duration);if(!Number.isFinite(s)||s<=0)return M(Ue,this,YE).call(this,"segment_duration_unavailable",{segmentDurationSeconds:M(Ue,this,QE).call(this,s),demuxedCoverageSeconds:N(Le,this),frameDurationSeconds:null});const a=M(Ue,this,eS).call(this);if(!Number.isFinite(a)||a<=0){const t=Math.max(1,Math.round(s*RE));return{expectedFrames:t,demuxedFrames:N(Re,this),missingFrames:Math.max(0,t-N(Re,this)),reason:"fallback_fps",fallbackFps:RE,segmentDurationSeconds:s,demuxedCoverageSeconds:N(Le,this),frameDurationSeconds:M(Ue,this,QE).call(this,a)}}const l=Math.min(.5*a,.02),c=Math.max(0,s-N(Le,this)),u=c<=l?0:c,d=Math.max(1,Math.floor((s+l)/a)),h=Math.max(0,d-N(Re,this)),f=u>0?Math.ceil(u/a):0;return{expectedFrames:d,demuxedFrames:N(Re,this),missingFrames:Math.max(h,f),segmentDurationSeconds:s,demuxedCoverageSeconds:N(Le,this),frameDurationSeconds:a}}function ZE(){F(Re,this,0),F(De,this,0),F(Be,this,0),F(Le,this,0)}function tS(t){F(Re,this,N(Re,this)+1);const e=Number(null==t?void 0:t.pts),n=Number(null==t?void 0:t.duration);if(Number.isFinite(n)&&n>0&&(F(De,this,N(De,this)+n),F(Be,this,N(Be,this)+1)),!Number.isFinite(e))return;const i=Number.isFinite(n)&&n>0?e+n:e;Number.isFinite(i)&&i>N(Le,this)&&F(Le,this,i)}function eS(){return N(Be,this)>0?N(De,this)/N(Be,this):N(Re,this)>0&&N(Le,this)>0?N(Le,this)/N(Re,this):null}function nS(t){return M(Ue,this,JE).call(this,t)}function iS(t){(null==t?void 0:t.data)instanceof Uint8Array&&(F(Se,this,t.data.buffer),M(Ue,this,yS).call(this)),null!=t&&t.decoderConfig&&(F(Ae,this,t.decoderConfig),F(Ee,this,t.decoderConfig.codec||N(Ee,this)),M(Ue,this,yS).call(this)),this.trigger("decoder:init",t)}function rS(t){M(Ue,this,tS).call(this,t),N(me,this).push(t),M(Ue,this,fS).call(this)}function oS(){F(be,this,!0),M(Ue,this,kS).call(this)}function sS(t){const e="number"==typeof(null==t?void 0:t.pts)?t.pts:void 0;if(Number.isFinite(e))return N(Ne,this)+e}function aS(t){return N(me,this).some((e=>{const n=M(Ue,this,sS).call(this,e);return Number.isFinite(n)&&n>=t}))}function lS(t){let e=-1,n=null;for(let i=0;i<N(me,this).length;i+=1){const r=N(me,this)[i],o=M(Ue,this,sS).call(this,r);Number.isFinite(o)&&(null==r?void 0:r.isKey)&&o<=t&&(e=i,n=o)}return{chosenIndex:e,chosenPtsSeconds:n}}function cS(t){let e=-1,n=null;for(let i=0;i<N(me,this).length;i+=1){const r=N(me,this)[i],o=M(Ue,this,sS).call(this,r);if(Number.isFinite(o)&&null!=r&&r.isKey&&(e=i,n=o,o>=t))break}return{chosenIndex:e,chosenPtsSeconds:n}}function uS(t){const e=t+N(de,this),n=N(Ce,this);if(!Number.isFinite(n))return e;const i=Number.isFinite(N(Oe,this))?N(Oe,this):null;if(Number.isFinite(i))return Math.max(e,i);const{chosenPtsSeconds:r}=M(Ue,this,cS).call(this,n);return Number.isFinite(r)?Math.max(e,r):e}function dS(t){const e=N(Ce,this);Number.isFinite(e)&&Number.isFinite(t)&&t>=e&&(F(Ce,this,null),F(Oe,this,null))}function hS(){const t=N(Ce,this);if(!Number.isFinite(t)||N(Fe,this))return!0;if(!M(Ue,this,aS).call(this,t)&&!N(be,this))return!1;const e=M(Ue,this,lS).call(this,t);let n=e;if(-1===e.chosenIndex&&(n=M(Ue,this,cS).call(this,t)),n.chosenIndex>0){const t=`[#maybeAlignToSeekKeyframe] Dropping ${n.chosenIndex} samples before keyframe @ ${n.chosenPtsSeconds}`;this.log.debug(t),N(me,this).splice(0,n.chosenIndex)}return F(ye,this,!0),Number.isFinite(n.chosenPtsSeconds)&&F(Oe,this,n.chosenPtsSeconds),F(Fe,this,!0),!0}function fS(){const t=N(pe,this)?N(pe,this).call(this):0,e=M(Ue,this,uS).call(this,t);if(M(Ue,this,AS).call(this,t),M(Ue,this,NS).call(this),!M(Ue,this,hS).call(this))return void M(Ue,this,mS).call(this);const n=void 0!==ch.VideoDecoder&&void 0!==ch.EncodedVideoChunk;for(n&&!N(_e,this)&&N(Ae,this)&&M(Ue,this,yS).call(this);N(me,this).length&&!M(Ue,this,FS).call(this)&&!(n&&N(xe,this)&&M(Ue,this,PS).call(this));){const t=N(me,this)[0],i="number"==typeof(null==t?void 0:t.pts)?t.pts:0,r=N(Ne,this)+i;if(r>e)break;if(null!=t&&t.raw)N(me,this).shift(),M(Ue,this,pS).call(this,t);else{if(n){if(!N(_e,this)||!N(xe,this))break;if(N(ye,this)&&!t.isKey){N(me,this).shift();continue}N(me,this).shift();const e=Math.max(0,Math.round(r*PE));N(ge,this).set(e,!!t.isKey);try{const n=new ch.EncodedVideoChunk({type:t.isKey?"key":"delta",timestamp:e,duration:t.duration?Math.round(t.duration*PE):void 0,data:t.data instanceof Uint8Array?t.data:new Uint8Array(t.data)});N(xe,this).decode(n),t.isKey&&F(ye,this,!1);continue}catch(t){N(ge,this).delete(e);const n="string"==typeof(null==t?void 0:t.message)?t.message:"";if("DataError"===(null==t?void 0:t.name)&&n.includes("key frame")){F(ye,this,!0);continue}this.log.warn("[#drainDecodeQueue] decode failed, falling back to placeholder",t)}}N(me,this).shift(),M(Ue,this,pS).call(this,t)}}M(Ue,this,kS).call(this),M(Ue,this,mS).call(this)}function pS(t){const e=N(pe,this)?N(pe,this).call(this):0,n=M(Ue,this,uS).call(this,e),i=N(Ne,this)+("number"==typeof t.pts?t.pts:0);if(i<e||i>n)return;M(Ue,this,AS).call(this,e);const r={pts:i,duration:t.duration,data:t.data,isKey:t.isKey};N(ue,this).push(r),M(Ue,this,NS).call(this),this.trigger("decoder:frame",r),M(Ue,this,dS).call(this,i)}function mS(){if(N(me,this).length>0&&void 0!==ch.VideoDecoder){if(_x(N(ve,this)))return;wx(N(ve,this),50)}else M(Ue,this,vS).call(this)}function vS(){N(ve,this)&&_x(N(ve,this))&&xx(N(ve,this))}function gS(){return null!=ch&&ch.performance&&"function"==typeof ch.performance.now?ch.performance.now():Date.now()}function yS(){if(N(_e,this))return;if(void 0===ch.VideoDecoder)return;if(!N(Ae,this))return;if(N(Ie,this)&&M(Ue,this,gS).call(this)<N(Te,this))return;const t=M(Ue,this,bS).call(this);try{F(xe,this,new ch.VideoDecoder({output:t=>M(Ue,this,xS).call(this,t),error:t=>M(Ue,this,wS).call(this,t)})),N(xe,this).configure(t),F(_e,this,!0),F(ye,this,!0),F(Ie,this,!1),F(Te,this,0),M(Ue,this,fS).call(this)}catch(t){this.log.warn("[#maybeConfigureDecoder] configure failed, falling back to placeholder decode",t),F(xe,this,null),F(_e,this,!1),F(Ae,this,null)}}function bS(){const t={...N(Ae,this)};return M(Ue,this,DS).call(this,t)&&N(Me,this).codec?t.codec=N(Me,this).codec:!t.codec&&N(Ee,this)&&(t.codec=N(Ee,this)),N(Se,this)&&!t.description&&(t.description=N(Se,this)),N(Me,this).width&&!t.codedWidth&&(t.codedWidth=N(Me,this).width),N(Me,this).height&&!t.codedHeight&&(t.codedHeight=N(Me,this).height),M(Ue,this,BS).call(this,t),t}function kS(){void 0!==ch.VideoDecoder&&void 0!==ch.EncodedVideoChunk&&(N(Ie,this)||!N(be,this)||N(we,this)||N(ke,this)||N(_e,this)&&N(xe,this)&&"function"==typeof N(xe,this).flush&&(N(me,this).length||(F(ke,this,!0),Promise.resolve().then((()=>N(xe,this).flush())).then((()=>{F(we,this,!0),F(ye,this,!0)})).catch((t=>{"AbortError"!==(null==t?void 0:t.name)&&this.log.warn("[#maybeFlushDecoder] flush failed",t)})).finally((()=>{F(ke,this,!1)})))))}function wS(t){if(this.log.warn("[#handleDecoderError] decoder error",t),this.trigger("decoder:error",{error:t}),N(xe,this)&&"function"==typeof N(xe,this).close)try{N(xe,this).close()}catch(t){}F(xe,this,null),F(_e,this,!1),F(ke,this,!1),F(we,this,!1),F(ye,this,!0),N(ge,this).clear(),F(Ie,this,!0),F(Te,this,M(Ue,this,gS).call(this)+1e3)}function xS(t){F($e,this,N($e,this).then((()=>{var e;if(!this._disposed)return M(Ue,this,MS).call(this,t);null===(e=t.close)||void 0===e||e.call(t)})).catch((e=>{this.log.warn("[#enqueueDecodedFrame] failed processing decoded frame",e);try{var n;null===(n=t.close)||void 0===n||n.call(t)}catch(t){}})))}function _S(t){return"boolean"!=typeof t||t}function IS(t){const e=Number(t);return!Number.isFinite(e)||e<0?.2:e}function TS(){return!!N(We,this)&&"function"==typeof ch.createImageBitmap&&N(ze,this)}function ES(t){var e;const n=Number(null===(e=this.lastSegment)||void 0===e?void 0:e.duration);if(!Number.isFinite(n)||n<=0)return!1;if(!Number.isFinite(t))return!1;const i=Number(N(Ne,this));return!!Number.isFinite(i)&&t>=i+n-N(je,this)}async function SS(t,e){try{var n;const i=M(Ue,this,ES).call(this,e),r=await ch.createImageBitmap(t,{premultiplyAlpha:i?"none":"default"});return null!==(n=t.close)&&void 0!==n&&n.call(t),r}catch(e){return this.log.debug("[#maybeConvertFrameToBitmap] createImageBitmap failed",e),t}}async function MS(t){var e,n;let i=t;if(this._disposed)return void(null===(e=(n=i).close)||void 0===e||e.call(n));const r="number"==typeof t.timestamp?t.timestamp:void 0,o="number"==typeof t.timestamp?t.timestamp/PE:N(pe,this)?N(pe,this).call(this):0,s="number"==typeof t.duration?t.duration/PE:void 0;let a;void 0!==r&&(a=N(ge,this).get(r),N(ge,this).delete(r));try{var l,c,u,d;let e=N(pe,this)?N(pe,this).call(this):0,n=M(Ue,this,uS).call(this,e);if(o<e||o>n)return void(null===(l=(c=i).close)||void 0===l||l.call(c));if(M(Ue,this,TS).call(this)){var h,f,p,m;if(i=await M(Ue,this,SS).call(this,t,o),this._disposed)return void(null===(h=(f=i).close)||void 0===h||h.call(f));if(e=N(pe,this)?N(pe,this).call(this):0,n=M(Ue,this,uS).call(this,e),o<e||o>n)return void(null===(p=(m=i).close)||void 0===p||p.call(m))}if(M(Ue,this,AS).call(this,e),this._disposed)return void(null===(u=(d=i).close)||void 0===u||u.call(d));const r={frame:i,pts:o,duration:s,isKey:void 0!==a&&a};N(ue,this).push(r),M(Ue,this,NS).call(this),this.trigger("decoder:frame",r),M(Ue,this,dS).call(this,o),this.log.debug(`[#handleDecodedFrame] [${N(Me,this).codec}] Decoded frame:`,r)}catch(t){this.log.warn(`[#handleDecodedFrame] [${N(Me,this).codec}] Failed to handle decoded frame`,t);try{var v,g;null===(v=(g=i).close)||void 0===v||v.call(g)}catch(t){}}}function AS(t){const e=M(Ue,this,uS).call(this,t),n=[];N(ue,this).forEach((i=>{var r;const o=null!==(r=null==i?void 0:i.pts)&&void 0!==r?r:0;o<t||o>e||n.push(i)})),F(ue,this,n)}function NS(){const t=N(he,this);if(!Number.isFinite(t)||t<=0)return;if(N(ue,this).length<=t)return;const e=N(ue,this).length-t;N(ue,this).splice(0,e)}function CS(t){const e=Number(t);return!Number.isFinite(e)||e<=0?0:Math.floor(e)}function FS(){const t=N(he,this);return!(!Number.isFinite(t)||t<=0)&&N(ue,this).length>=t}function OS(t){const e=Number(t);return!Number.isFinite(e)||e<=0?0:Math.floor(e)}function PS(){var t;const e=N(fe,this);if(!Number.isFinite(e)||e<=0)return!1;const n=Number(null===(t=N(xe,this))||void 0===t?void 0:t.decodeQueueSize);return!!Number.isFinite(n)&&n>=e}function RS(t){return"string"==typeof t&&t.toLowerCase().startsWith("av01")}function DS(t){var e;return!1!==this.settings.av1ColorSpaceOverrideEnabled&&M(Ue,this,RS).call(this,(null===(e=N(Me,this))||void 0===e?void 0:e.codec)||(null==t?void 0:t.codec))}function BS(t){M(Ue,this,DS).call(this,t)&&(t.colorSpace={...DE})}function LS(t){if(t&&Array.isArray(t.segments))for(let e=0;e<t.segments.length;e+=1){const n=t.segments[e];if(!Array.isArray(null==n?void 0:n.representations))continue;const i=n.chosenRepresentation||n.representations[0];if(null!=i&&i.codecs)return i.codecs;if(null!=i&&i.mime)return i.mime}}class zS extends sh{#q;get name(){return"DecoderFactory"}constructor(...t){super(...t);const e=t.length?t[t.length-1]:void 0;this.#q=e&&"object"==typeof e&&!Array.isArray(e)?e:{}}create(t,e=this.#q){if(!t||!t.type)return new mI(e);const n=WE[t.type];return n?(this.log.debug(`[#create] [${t.type}] Creating decoder:`,n),new n(e)):new mI(e)}}class WS{#V;#G;#H;#K;constructor(t={}){this.#V=t.getActiveRenderPlacement,this.#G=t.getPlacementsActiveAtTime,this.#H=t.ensureDecodedForPlacementAtTime;const e=Number(t.lookaheadSeconds);this.#K=Number.isFinite(e)&&e>=0?e:1}handleTimeUpdate(t={}){const e=Number(null==t?void 0:t.time);if(!Number.isFinite(e))return;if("function"!=typeof this.#H)return;const n="function"==typeof this.#G?this.#G:()=>[],i=n(e),r=new Set;i.forEach((t=>{null!=t&&t.placementId&&r.add(t.placementId),this.#H(t,e)}));const o=this.#K;if(!(o>0))return;const s=e+o;n(s).forEach((t=>{const e=null==t?void 0:t.placementId;e&&!r.has(e)&&this.#H(t,s)}))}dispose(){}}class jS{#X;#Y;#Q;#J;#Z;#tt;constructor(t={}){this.#X=t.getNode,this.#Y=t.getPlacementState,this.#Q=t.getDecodeTracks,this.#J=t.getSegmentIdForTrackAtTime,this.#Z=t.decodeLoadedMediaSegment,this.#tt=t.decodeLoadedMediaSegmentsAfter}ensureDecodedForPlacementAtTime(t,e){if(!t||!Number.isFinite(e))return;const n=null==t?void 0:t.placementId,i=null==t?void 0:t.nodeId;if(!n||!i)return;const r="function"==typeof this.#X?this.#X(i):void 0;if(!r)return;const o="function"==typeof this.#Y?this.#Y(n):void 0,s=null==o?void 0:o.trackStates;s&&"function"==typeof s.get&&("function"==typeof this.#Q?this.#Q(r).filter((t=>"video"===(null==t?void 0:t.type)||"image"===(null==t?void 0:t.type)||"audio"===(null==t?void 0:t.type))):[]).forEach((n=>{var i;const r=s.get(n.id);if(!r)return;const o="function"==typeof this.#J?this.#J(n,t,e):null;if(!o)return;const a=null==n||null===(i=n.segments)||void 0===i?void 0:i.find((t=>(null==t?void 0:t.id)===o));a&&!a.isInit&&a.retainedByteLength>0&&a.arrayBuffer&&(r.segmentDecoders&&"function"==typeof r.segmentDecoders.has&&r.segmentDecoders.has(o)||"function"!=typeof this.#Z||this.#Z(t,n,a),"video"===(null==n?void 0:n.type)&&"function"==typeof this.#tt&&this.#tt(t,n,a))}))}dispose(){}}const $S=new Set(["video","audio","image"]);function US(t){const e=Number(t);return Number.isFinite(e)?e:0}var qS=new WeakMap,VS=new WeakMap,GS=new WeakMap,HS=new WeakMap,KS=new WeakMap,XS=new WeakMap,YS=new WeakMap,QS=new WeakMap,JS=new WeakMap,ZS=new WeakMap,tM=new WeakMap,eM=new WeakMap,nM=new WeakMap,iM=new WeakMap,rM=new WeakMap,oM=new WeakMap,sM=new WeakMap,aM=new WeakMap,lM=new WeakMap,cM=new WeakSet;class uM extends sh{constructor(...t){super(...t),O(this,cM),C(this,qS,void 0),C(this,VS,void 0),C(this,GS,void 0),C(this,HS,void 0),C(this,KS,void 0),C(this,XS,void 0),C(this,YS,void 0),C(this,QS,void 0),C(this,JS,void 0),C(this,ZS,void 0),C(this,tM,void 0),C(this,eM,new Map),C(this,nM,new Map),C(this,iM,new Map),C(this,rM,new Map),C(this,oM,new Set),C(this,sM,0),C(this,aM,!1),C(this,lM,null);const[e,n,i]=t;F(qS,this,e),F(VS,this,n),F(GS,this,i||new zS),F(HS,this,new jS({getNode:t=>M(cM,this,RM).call(this,t),getPlacementState:t=>N(eM,this).get(t),getDecodeTracks:t=>M(cM,this,NM).call(this,t),getSegmentIdForTrackAtTime:(t,e,n)=>M(cM,this,yM).call(this,t,e,n),decodeLoadedMediaSegment:(t,e,n)=>{M(cM,this,eA).call(this,t,e,n)},decodeLoadedMediaSegmentsAfter:(t,e,n)=>{M(cM,this,HM).call(this,t,e,n)}})),F(KS,this,new WS({getActiveRenderPlacement:t=>{var e,n;return null===(e=N(VS,this))||void 0===e||null===(n=e.getActiveRenderPlacement)||void 0===n?void 0:n.call(e,t)},getPlacementsActiveAtTime:t=>{var e,n;return(null===(e=N(VS,this))||void 0===e||null===(n=e.getPlacementsActiveAtTime)||void 0===n?void 0:n.call(e,t))||[]},ensureDecodedForPlacementAtTime:(t,e)=>{var n,i;null===(n=N(HS,this))||void 0===n||null===(i=n.ensureDecodedForPlacementAtTime)||void 0===i||i.call(n,t,e)}})),M(cM,this,dM).call(this),M(cM,this,SM).call(this)}get name(){return"DecodeCoordinator"}onDispose(){var t,e;N(VS,this)&&"function"==typeof N(VS,this).off&&N(XS,this)&&N(VS,this).off(dh.PLACEMENT_ADDED,N(XS,this)),N(VS,this)&&"function"==typeof N(VS,this).off&&N(YS,this)&&N(VS,this).off(dh.TIMELINE_SEEKING,N(YS,this)),N(VS,this)&&"function"==typeof N(VS,this).off&&N(QS,this)&&N(VS,this).off(dh.TIMELINE_SEEKED,N(QS,this)),N(VS,this)&&"function"==typeof N(VS,this).off&&N(JS,this)&&N(VS,this).off(dh.TIMELINE_TIME_UPDATE,N(JS,this)),N(VS,this)&&"function"==typeof N(VS,this).off&&N(ZS,this)&&N(VS,this).off(dh.TIMELINE_RESET,N(ZS,this)),M(cM,this,hM).call(this),F(XS,this,null),F(YS,this,null),F(QS,this,null),F(JS,this,null),F(ZS,this,null),null!==(t=N(HS,this))&&void 0!==t&&null!==(e=t.dispose)&&void 0!==e&&e.call(t),F(HS,this,null),N(KS,this)&&"function"==typeof N(KS,this).dispose&&N(KS,this).dispose(),F(KS,this,null),N(nM,this).forEach(((t,e)=>{const n=M(cM,this,RM).call(this,e);n&&"function"==typeof n.off&&n.off("node:loaded",t)})),N(nM,this).clear(),N(iM,this).forEach(((t,e)=>{const n=M(cM,this,RM).call(this,e);n&&"function"==typeof n.off&&n.off("segment:chunk",t)})),N(iM,this).clear(),N(rM,this).clear(),N(oM,this).clear(),M(cM,this,_M).call(this),N(eM,this).forEach((({trackStates:t})=>{t&&t.forEach((t=>{M(cM,this,zM).call(this,t)}))})),N(eM,this).clear()}}function dM(){N(VS,this)&&"function"==typeof N(VS,this).on&&(F(XS,this,(t=>{M(cM,this,MM).call(this,t)})),N(VS,this).on(dh.PLACEMENT_ADDED,N(XS,this)),F(YS,this,(t=>M(cM,this,fM).call(this,t))),N(VS,this).on(dh.TIMELINE_SEEKING,N(YS,this)),F(QS,this,(()=>M(cM,this,pM).call(this))),N(VS,this).on(dh.TIMELINE_SEEKED,N(QS,this)),F(JS,this,(t=>M(cM,this,mM).call(this,t))),N(VS,this).on(dh.TIMELINE_TIME_UPDATE,N(JS,this)),F(ZS,this,(()=>M(cM,this,vM).call(this))),N(VS,this).on(dh.TIMELINE_RESET,N(ZS,this))),(null==ch?void 0:ch.document)&&"function"==typeof ch.document.addEventListener&&(F(tM,this,(()=>{M(cM,this,IM).call(this)})),ch.document.addEventListener("visibilitychange",N(tM,this)))}function hM(){N(tM,this)&&null!=ch&&ch.document&&"function"==typeof ch.document.removeEventListener&&ch.document.removeEventListener("visibilitychange",N(tM,this)),F(tM,this,null)}function fM(t={}){const e=Number(null==t?void 0:t.targetTime);Number.isFinite(e)&&(N(eM,this).forEach((t=>{const n=null==t?void 0:t.trackStates;n&&n.forEach((n=>{var i;const r=null==n||null===(i=n.track)||void 0===i?void 0:i.type;"video"!==r&&"image"!==r&&"audio"!==r||(M(cM,this,gM).call(this,n,null==t?void 0:t.placement,e),n.seekSegmentId=null)}))})),(Array.isArray(null==t?void 0:t.placements)?t.placements:[]).forEach((t=>{const n=null==t?void 0:t.placementId,i=null==t?void 0:t.nodeId;if(!n||!i)return;const r=N(eM,this).get(n);if(!r||!r.trackStates)return;const o=M(cM,this,RM).call(this,i);o&&(r.trackStates.forEach((n=>{const i=null==n?void 0:n.track;!i||"video"!==i.type&&"image"!==i.type&&"audio"!==i.type||M(cM,this,gM).call(this,n,r.placement||t,e)})),M(cM,this,GM).call(this,r.placement||t,o))})))}function pM(){N(eM,this).forEach((t=>{const e=null==t?void 0:t.trackStates;e&&e.forEach((t=>{var e;const n=null==t||null===(e=t.track)||void 0===e?void 0:e.type;"video"!==n&&"image"!==n&&"audio"!==n||(t.seekSegmentId=null)}))}))}function mM(t={}){var e,n;M(cM,this,VM).call(this,null==t?void 0:t.time),null!==(e=N(KS,this))&&void 0!==e&&null!==(n=e.handleTimeUpdate)&&void 0!==n&&n.call(e,t),M(cM,this,IM).call(this),M(cM,this,WM).call(this,null==t?void 0:t.time)}function vM(){N(nM,this).forEach(((t,e)=>{const n=M(cM,this,RM).call(this,e);n&&"function"==typeof n.off&&n.off("node:loaded",t)})),N(nM,this).clear(),N(iM,this).forEach(((t,e)=>{const n=M(cM,this,RM).call(this,e);n&&"function"==typeof n.off&&n.off("segment:chunk",t)})),N(iM,this).clear(),N(rM,this).clear(),N(oM,this).clear(),N(eM,this).forEach((({trackStates:t})=>{t&&t.forEach((t=>{const e=null==t?void 0:t.segmentDecoders;e&&e.forEach((t=>{t&&"function"==typeof t.dispose&&t.dispose()}))}))})),N(eM,this).clear()}function gM(t,e,n){t&&(M(cM,this,zM).call(this,t),t.seekSegmentId=M(cM,this,yM).call(this,t.track,e,n))}function yM(t,e,n){if(!t||!e||!Array.isArray(t.segments))return null;const i=gv(e);if(!Number.isFinite(i))return null;const r=US(null==e?void 0:e.nodeOffsetOverride),o=Math.max(0,n-i+r),s=US(null==t?void 0:t.offset),a=Math.max(0,o-s),l="function"==typeof t.getMediaSegmentAtTime?t.getMediaSegmentAtTime(a,{preferRepresentationTime:!0}):bk(t.segments,a,{preferRepresentationTime:!0});return(null==l?void 0:l.id)||null}function bM(t){if(!t)return!1;const e=null==t?void 0:t.name;if("QuotaExceededError"===e)return!0;if("EncodingError"===e)return!0;const n="string"==typeof(null==t?void 0:t.message)?t.message:"";return!!n.includes("Decoder failure")||!!n.includes("Codec reclaimed due to inactivity")||!("OperationError"!==e||!n.includes("initialize after flush"))}function kM(){const t=null==ch?void 0:ch.document;return!t||"string"!=typeof t.visibilityState||"visible"===t.visibilityState}function wM(){var t;const e=N(VS,this);if(!e||"number"!=typeof e.currentTime)return!1;if(e.state===Mg)return!1;const n=Date.now();if(n<N(sM,this))return!1;const i=e.currentTime;if(!Number.isFinite(i))return!1;const r="function"==typeof e.getPlacementsActiveAtTime?e.getPlacementsActiveAtTime(i):[],o=Number(null==e||null===(t=e.settings)||void 0===t?void 0:t.snapToFps),s=Number.isFinite(o)&&o>0?1/o:1/60;let a;if(Array.isArray(r)&&r.length)a=i+s;else if(a=M(cM,this,xM).call(this,i),!Number.isFinite(a))return!1;return F(sM,this,n+1500),this.log.warn("[DecodeCoordinator] attempting decoder recovery seek"),e.currentTime=a,!0}function xM(t){var e;const n=N(VS,this);if(!n)return null;const i=Array.isArray(n.placements)?n.placements:[];if(!i.length)return null;const r=Number(t);if(!Number.isFinite(r))return null;const o=Number(null==n||null===(e=n.settings)||void 0===e?void 0:e.snapToFps),s=Number.isFinite(o)&&o>0?1/o:1/60;let a=Number.NEGATIVE_INFINITY,l=null,c=Number.NEGATIVE_INFINITY,u=null,d=null;return i.forEach((t=>{const e=gv(t);if(!Number.isFinite(e))return;(!Number.isFinite(d)||e<d)&&(d=e);const n=mv(t,N(qS,this)),i=Number.isFinite(n),o=i?e+n:e;(o>e||!i)&&((o>a||!Number.isFinite(a)&&Number.isFinite(o))&&(a=o,l=e),o<=r&&o>c&&(c=o,u=i?Math.max(e,o-s):e))})),Number.isFinite(l)&&Number.isFinite(a)&&r>=a-s?l:Number.isFinite(u)?u:Number.isFinite(d)?d:null}function _M(){F(aM,this,!1),F(lM,this,null)}function IM(){N(aM,this)&&M(cM,this,kM).call(this)&&M(cM,this,wM).call(this)}function TM(t){if(!M(cM,this,bM).call(this,t))return;const e=N(VS,this);e&&"number"==typeof e.currentTime&&(F(aM,this,!0),F(lM,this,t),M(cM,this,kM).call(this)&&M(cM,this,wM).call(this))}function EM(t){var e;return!!t&&(Array.isArray(null===(e=N(VS,this))||void 0===e?void 0:e.placements)?N(VS,this).placements:[]).includes(t)}function SM(t){var e;(Array.isArray(null===(e=N(VS,this))||void 0===e?void 0:e.placements)?[...N(VS,this).placements]:[]).filter((e=>"function"!=typeof t||t(e))).sort(((t,e)=>{const n=gv(t),i=gv(e);return(Number.isFinite(n)?n:Number.POSITIVE_INFINITY)-(Number.isFinite(i)?i:Number.POSITIVE_INFINITY)})).forEach((t=>{M(cM,this,MM).call(this,t)}))}async function MM(t){if(!t||!t.placementId||N(eM,this).has(t.placementId))return;if(!M(cM,this,EM).call(this,t))return;const e=t.nodeId;if(!e||!N(qS,this)||"function"!=typeof N(qS,this).get)return;const n=M(cM,this,RM).call(this,e);if(n){if(n.state&&"ready"!==n.state){if("function"==typeof n.resolve)try{await n.resolve()}catch(n){if(!M(cM,this,EM).call(this,t))return;return void this.log.warn(`[#processPlacement] Failed to resolve node ${e}`,n)}if(!M(cM,this,EM).call(this,t))return;if("ready"!==n.state)return}if(M(cM,this,qM).call(this,t))return M(cM,this,UM).call(this,t,n),void N(oM,this).add(t.placementId);M(cM,this,$M).call(this,t,n)}}function AM(t){return M(cM,this,NM).call(this,t).every((t=>M(cM,this,jM).call(this,t)))}function NM(t){return(Array.isArray(null==t?void 0:t.tracks)?t.tracks:[]).filter((t=>$S.has(null==t?void 0:t.type)))}function CM(t){if(!t||!t.id||"function"!=typeof t.on)return;if(N(nM,this).has(t.id))return;const e=()=>{M(cM,this,KM).call(this,t.id)};t.on("node:loaded",e),N(nM,this).set(t.id,e)}function FM(t){if(!t||!t.id||"function"!=typeof t.on)return;if(N(iM,this).has(t.id))return;const e=t=>M(cM,this,XM).call(this,t);t.on("segment:chunk",e),N(iM,this).set(t.id,e)}function OM(t,e){if(!t||!e)return;const n=N(rM,this).get(t)||new Set;n.add(e),N(rM,this).set(t,n)}function PM(t){return N(rM,this).get(t)||new Set}function RM(t){if(t&&N(qS,this)&&"function"==typeof N(qS,this).get)return N(qS,this).get(t)}function DM(t){if(!t)return;const e=t.fullBufferRetryTimer;null!=e&&("function"==typeof(null==ch?void 0:ch.clearTimeout)?ch.clearTimeout.bind(ch):clearTimeout)(e),t.fullBufferRetryTimer=null,t.fullBufferDecodeScheduled=!1,t.fullBufferRetryAttempts=0}function BM(t){const e=null==t?void 0:t.segmentStates;e&&"function"==typeof e.forEach&&e.forEach((t=>{M(cM,this,DM).call(this,t)}))}function LM(t,e,n,i){var r,o;if(!(t&&e&&n&&i))return!1;const s=N(eM,this).get(t),a=null==s||null===(r=s.trackStates)||void 0===r?void 0:r.get(e);return(null==a||null===(o=a.segmentStates)||void 0===o?void 0:o.get(n))===i}function zM(t){if(!t)return;M(cM,this,BM).call(this,t);const e=t.segmentDecoders;e&&"function"==typeof e.forEach&&(e.forEach((t=>{if(t&&"function"==typeof t.dispose)try{t.dispose()}catch(t){}})),"function"==typeof e.clear&&e.clear()),t.segmentStates&&"function"==typeof t.segmentStates.clear&&t.segmentStates.clear(),t.ready=!1,t.seekSegmentId=null}function WM(t){const e=US(t);if(!Number.isFinite(e))return;const n=e-2;Number.isFinite(n)&&N(eM,this).forEach((t=>{const e=null==t?void 0:t.placement;if(!e)return;const i=gv(e),r=mv(e,N(qS,this),{allowUnready:!0});if(!Number.isFinite(i)||!Number.isFinite(r))return;const o=i+r;if(!Number.isFinite(o)||o>n)return;const s=null==t?void 0:t.trackStates;s&&"function"==typeof s.forEach&&s.forEach((t=>{var e;const n=null==t||null===(e=t.track)||void 0===e?void 0:e.type;"video"!==n&&"image"!==n&&"audio"!==n||M(cM,this,zM).call(this,t)}))}))}function jM(t){if(!t||!Array.isArray(t.segments))return!1;const e=t.segments.find((t=>null==t?void 0:t.isInit));if(e&&!(e.retainedByteLength>0))return!1;const n=t.segments.find((t=>t&&!t.isInit));return!n||n.retainedByteLength>0}function $M(t,e){if(this.log.debug(`[#startDecode] [${t.placementId}] [${e.id}] Starting decode`),M(cM,this,UM).call(this,t,e)){if(M(cM,this,OM).call(this,e.id,t.placementId),!M(cM,this,AM).call(this,e))return M(cM,this,CM).call(this,e),void M(cM,this,FM).call(this,e);M(cM,this,GM).call(this,t,e),M(cM,this,FM).call(this,e)}}function UM(t,e){if(!t||!t.placementId||!e)return;const n=N(eM,this).get(t.placementId);if(n)return n.placement=t,n;const i=M(cM,this,NM).call(this,e),r=new Map;i.forEach((n=>{try{const t=n.segments.some((t=>null==t?void 0:t.isInit));r.set(n.id,{hasInit:t,track:n,ready:!1,segmentDecoders:new Map,segmentStates:new Map})}catch(i){this.trigger(dh.DECODE_ERROR,ph({placementId:t.placementId,nodeId:e.id,trackId:null==n?void 0:n.id,trackType:null==n?void 0:n.type,error:i}))}}));const o={trackStates:r,nodeId:e.id,placement:t};return N(eM,this).set(t.placementId,o),o}function qM(t){var e;const n=gv(t),i=US(null===(e=N(VS,this))||void 0===e?void 0:e.currentTime);return!Number.isFinite(n)||!!Number.isFinite(i)&&n-i>2}function VM(t){if(!N(oM,this).size)return;const e=US(t);if(!Number.isFinite(e))return;const n=[];N(oM,this).forEach((t=>{const i=N(eM,this).get(t),r=null==i?void 0:i.placement;if(!r)return void n.push(t);const o=gv(r);Number.isFinite(o)&&o-e<=2&&n.push(t)})),n.forEach((t=>{N(oM,this).delete(t);const e=N(eM,this).get(t),n=null==e?void 0:e.placement;if(!n)return;const i=M(cM,this,RM).call(this,n.nodeId);i&&M(cM,this,$M).call(this,n,i)}))}function GM(t,e){const n=N(eM,this).get(t.placementId);n&&M(cM,this,NM).call(this,e).forEach((i=>{const r=n.trackStates.get(i.id);if(r&&!r.ready)try{let n;if(r.seekSegmentId&&(n=i.segments.find((t=>t&&!t.isInit&&t.id===r.seekSegmentId&&t.retainedByteLength>0)),!n))return;if(n||(n=i.segments.find((t=>t&&!t.isInit&&t.retainedByteLength>0))),!n)return;M(cM,this,eA).call(this,t,i,n),r.seekSegmentId&&"video"===(null==i?void 0:i.type)&&M(cM,this,HM).call(this,t,i,n),r.ready=!0,this.trigger(dh.DECODE_READY,fh({placementId:t.placementId,nodeId:e.id,trackId:i.id,trackType:i.type}))}catch(n){this.trigger(dh.DECODE_ERROR,ph({placementId:t.placementId,nodeId:e.id,trackId:null==i?void 0:i.id,trackType:null==i?void 0:i.type,error:n}))}}))}function HM(t,e,n){var i;if(!(t&&e&&n&&Array.isArray(e.segments)))return;const r=null==t?void 0:t.placementId,o=r?N(eM,this).get(r):void 0,s=null==o||null===(i=o.trackStates)||void 0===i?void 0:i.get(e.id),a=null==s?void 0:s.segmentDecoders;if(!a||"function"!=typeof a.has)return;const l=e.segments,c=l.findIndex((t=>(null==t?void 0:t.id)===n.id));if(c<0)return;let u=0;for(let n=c+1;n<l.length;n+=1){const i=l[n];if(!i||i.isInit)continue;if(a.has(i.id))continue;if(!(i.retainedByteLength>0))break;const r=i.arrayBuffer;if(!r||"number"!=typeof r.byteLength||r.byteLength<=0)break;if(M(cM,this,eA).call(this,t,e,i),u+=1,u>=2)break}}function KM(t){const e=M(cM,this,RM).call(this,t);e&&M(cM,this,AM).call(this,e)&&M(cM,this,PM).call(this,t).forEach((t=>{const n=N(eM,this).get(t);M(cM,this,GM).call(this,(null==n?void 0:n.placement)||{placementId:t},e)}))}function XM(t){t&&t.nodeId&&t.trackId&&t.chunk&&M(cM,this,PM).call(this,t.nodeId).forEach((e=>M(cM,this,YM).call(this,e,t)))}function YM(t,e){const n=N(eM,this).get(t);if(!n)return;const i=n.trackStates.get(e.trackId);if(i)try{var r,o;if(e.isInit)return;const s=i.track,a=null==s||null===(r=s.segments)||void 0===r?void 0:r.find((t=>(null==t?void 0:t.id)===e.segmentId));if(!a||a.isInit)return;if("image"===(null==s?void 0:s.type))return void(!i.ready&&a.retainedByteLength>0&&M(cM,this,eA).call(this,n.placement,s,a)&&(i.ready=!0,this.trigger(dh.DECODE_READY,fh({placementId:t,nodeId:e.nodeId,trackId:e.trackId,trackType:e.trackType}))));if((null===(o=N(VS,this))||void 0===o?void 0:o.state)===Mg&&i.seekSegmentId&&("video"===(null==s?void 0:s.type)||"audio"===(null==s?void 0:s.type))&&a.id!==i.seekSegmentId)return;const l=a.id,c=i.segmentStates.get(l)||{initSent:!1,pendingChunks:[],ended:!1,firstChunkObserved:!1,missedSegmentPrefix:!1,fullBufferDecodeScheduled:!1,fullBufferRetryTimer:null,fullBufferRetryAttempts:0};i.segmentStates.set(l,c);const u=M(cM,this,ZM).call(this,n.placement,s,a);if(!u||"function"!=typeof u.decodeChunk)return;if(i.hasInit&&!c.initSent){const t=M(cM,this,tA).call(this,s,a);if(!t)return void c.pendingChunks.push({chunk:e.chunk,loaded:e.loaded,total:e.total});u.decodeChunk(t,{isInit:!0}),c.initSent=!0,c.pendingChunks.length&&(c.pendingChunks.forEach((t=>{u.decodeChunk(t.chunk,{isInit:!1,loaded:t.loaded,total:t.total})})),c.pendingChunks=[])}const d="number"==typeof e.loaded&&"number"==typeof e.total&&e.total>0&&e.loaded>=e.total;M(cM,this,QM).call(this,c,e)?d&&!c.ended&&M(cM,this,JM).call(this,n.placement,s,a,c):(u.decodeChunk(e.chunk,{isInit:!1,loaded:e.loaded,total:e.total}),d&&!c.ended&&"function"==typeof u.endOfStream&&(c.ended=!0,u.endOfStream())),i.ready||(i.ready=!0,this.trigger(dh.DECODE_READY,fh({placementId:t,nodeId:e.nodeId,trackId:e.trackId,trackType:e.trackType})))}catch(n){this.trigger(dh.DECODE_ERROR,ph({placementId:t,nodeId:e.nodeId,trackId:e.trackId,trackType:e.trackType,error:n}))}}function QM(t,e){var n;if(!t||t.missedSegmentPrefix)return!(null==t||!t.missedSegmentPrefix);if(t.firstChunkObserved)return!1;t.firstChunkObserved=!0;const i=Number(null==e?void 0:e.loaded),r=Number(null==e||null===(n=e.chunk)||void 0===n?void 0:n.byteLength);return!(!Number.isFinite(i)||!Number.isFinite(r)||r<=0)&&(t.missedSegmentPrefix=i>r,t.missedSegmentPrefix)}function JM(t,e,n,i){if(!t||!e||!n||!i||i.fullBufferDecodeScheduled)return;const r=null==t?void 0:t.placementId,o=null==e?void 0:e.id,s=null==n?void 0:n.id;if(!r||!o||!s)return;const a="function"==typeof(null==ch?void 0:ch.setTimeout)?ch.setTimeout.bind(ch):setTimeout;i.fullBufferDecodeScheduled=!0,i.fullBufferRetryAttempts=0;const l=()=>{if(!M(cM,this,LM).call(this,r,o,s,i)||i.ended)return void M(cM,this,DM).call(this,i);if(M(cM,this,eA).call(this,t,e,n))return void M(cM,this,DM).call(this,i);i.fullBufferRetryAttempts+=1;const c=i.fullBufferRetryAttempts<=8?0:50;i.fullBufferRetryTimer=a((()=>{l()}),c)};i.fullBufferRetryTimer=a((()=>{l()}),0)}function ZM(t,e,n){var i,r;const o=null==t?void 0:t.placementId;if(!o||!e||!n)return;const s=N(eM,this).get(o),a=null==s||null===(i=s.trackStates)||void 0===i?void 0:i.get(e.id);if(!a)return;const l=a.segmentDecoders.get(n.id);if(l)return l;const c=N(GS,this).create(e);if(c&&"function"==typeof c.configure&&c.configure(e),c&&"function"==typeof c.setNodeId&&c.setNodeId(null==t?void 0:t.nodeId),c&&"function"==typeof c.setSegment&&c.setSegment(n),c&&"function"==typeof c.setCurrentTimeProvider&&c.setCurrentTimeProvider((()=>{var t;return"number"==typeof(null===(t=N(VS,this))||void 0===t?void 0:t.currentTime)?N(VS,this).currentTime:0})),c&&"function"==typeof c.setTimeOffsetSeconds){var u,d;const i=gv(t),r=US(null==e?void 0:e.offset),o=US(null!==(u=null==n||null===(d=n.chosenRepresentation)||void 0===d?void 0:d.segStart)&&void 0!==u?u:null==n?void 0:n.offset);Number.isFinite(i)&&c.setTimeOffsetSeconds(i+r+o)}return c&&"function"==typeof c.setSeekTargetTimeSeconds&&(null===(r=N(VS,this))||void 0===r?void 0:r.state)===Mg&&"video"===(null==e?void 0:e.type)&&c.setSeekTargetTimeSeconds(N(VS,this).currentTime),c&&"function"==typeof c.on&&(c.on(dh.DECODER_FRAME,(i=>{i&&(!N(aM,this)||"video"!==(null==e?void 0:e.type)&&"image"!==(null==e?void 0:e.type)||(F(aM,this,!1),F(lM,this,null)),N(VS,this)&&"function"==typeof N(VS,this).notifyDecodedFrame&&(i.frame||i.data)&&N(VS,this).notifyDecodedFrame({placementId:o,nodeId:null==t?void 0:t.nodeId,trackId:null==e?void 0:e.id,trackType:null==e?void 0:e.type,segmentId:null==n?void 0:n.id,pts:i.pts,duration:i.duration,frame:i.frame,data:i.data}))})),c.on(dh.DECODER_AUDIO,(i=>{i&&i.audioBuffer&&this.trigger(dh.DECODER_AUDIO,fh({placementId:o,nodeId:null==t?void 0:t.nodeId,trackId:null==e?void 0:e.id,trackType:null==e?void 0:e.type,segmentId:null==n?void 0:n.id,pts:i.pts,duration:i.duration,audioBuffer:i.audioBuffer}))})),c.on(dh.DECODER_ERROR,(i=>{const r=(null==i?void 0:i.error)||i;this.trigger(dh.DECODER_ERROR,ph({placementId:o,nodeId:null==t?void 0:t.nodeId,trackId:null==e?void 0:e.id,trackType:null==e?void 0:e.type,segmentId:null==n?void 0:n.id,error:r})),M(cM,this,TM).call(this,r)}))),a.segmentDecoders.set(n.id,c),c}function tA(t,e){var n,i;if(!t||!e||!Array.isArray(t.segments))return;const r=t.segments.find((t=>null==t?void 0:t.isInit));if(!r||"function"!=typeof r.getRepresentationBuffer)return;const o=(null==e||null===(n=e.chosenRepresentation)||void 0===n?void 0:n.id)||(null==e||null===(i=e.representations)||void 0===i||null===(i=i[0])||void 0===i?void 0:i.id);if(!o)return;const s=r.getRepresentationBuffer(o);return s?s instanceof Uint8Array?s:new Uint8Array(s):void 0}function eA(t,e,n){var i;if(!t||!e||!n)return!1;const r=t.placementId,o=N(eM,this).get(r),s=null==o||null===(i=o.trackStates)||void 0===i?void 0:i.get(e.id);if(!s)return!1;const a=M(cM,this,ZM).call(this,t,e,n);if(!a||"function"!=typeof a.decodeChunk)return!1;const l=s.segmentStates.get(n.id)||{initSent:!1,pendingChunks:[],ended:!1,firstChunkObserved:!1,missedSegmentPrefix:!1,fullBufferDecodeScheduled:!1,fullBufferRetryTimer:null,fullBufferRetryAttempts:0};if(s.segmentStates.set(n.id,l),l.ended)return M(cM,this,DM).call(this,l),!0;if(s.hasInit&&!l.initSent){const t=M(cM,this,tA).call(this,e,n);if(!t)return!1;a.decodeChunk(t,{isInit:!0}),l.initSent=!0}const c=n.arrayBuffer;return!(!c||"number"!=typeof c.byteLength||c.byteLength<=0||(a.decodeChunk(new Uint8Array(c),{isInit:!1,loaded:c.byteLength,total:c.byteLength}),l.ended||"function"!=typeof a.endOfStream||(l.ended=!0,a.endOfStream()),M(cM,this,DM).call(this,l),0))}const nA=1e-6;var iA=new WeakMap,rA=new WeakMap,oA=new WeakMap,sA=new WeakMap,aA=new WeakMap,lA=new WeakMap,cA=new WeakMap,uA=new WeakMap,dA=new WeakSet;class hA extends sh{get name(){return"TransitionManager"}get defaults(){return{durationSeconds:.5}}constructor(t,e,n){super(n),O(this,dA),C(this,iA,void 0),C(this,rA,void 0),C(this,oA,null),C(this,sA,null),C(this,aA,null),C(this,lA,0),C(this,cA,[]),C(this,uA,null),F(iA,this,t),F(rA,this,e),N(iA,this)&&"function"==typeof N(iA,this).on&&(F(uA,this,(()=>M(dA,this,wA).call(this))),N(iA,this).on(dh.TIMELINE_RESET,N(uA,this)))}transitionTo(t,e={}){const n=Number(t);if(!Number.isFinite(n))throw new Error("TransitionManager.transitionTo requires a numeric time");M(dA,this,wA).call(this);const i=M(dA,this,fA).call(this),r=M(dA,this,gA).call(this,n,e);return r?M(dA,this,yA).call(this,n,e,i,r):Promise.resolve()}onDispose(){N(iA,this)&&"function"==typeof N(iA,this).off&&N(uA,this)&&N(iA,this).off(dh.TIMELINE_RESET,N(uA,this)),F(uA,this,null),M(dA,this,wA).call(this),F(rA,this,null),F(iA,this,null)}}function fA(){return F(lA,this,N(lA,this)+1),N(lA,this)}function pA(t={}){var e;const n=Number(null==t?void 0:t.duration),i=Number(null===(e=this.settings)||void 0===e?void 0:e.durationSeconds);return Number.isFinite(n)?n:i}function mA(t={},e){return{duration:e,filter:null==t?void 0:t.filter,color:null==t?void 0:t.color,filters:null==t?void 0:t.filters,reverseFilters:null==t?void 0:t.reverseFilters,transition:null==t?void 0:t.transition}}function vA(t,e){const n=1e3*t,i=Number.isFinite(Number(null==e?void 0:e.outDurationMs))&&e.outDurationMs>0?e.outDurationMs:n;return{outDurationMs:i,inDurationMs:Number.isFinite(Number(null==e?void 0:e.inDurationMs))&&e.inDurationMs>0?e.inDurationMs:i}}function gA(t,e={}){var n;const i=N(rA,this),r=M(dA,this,pA).call(this,e);if(!i||"function"!=typeof i.startTransition)return N(iA,this).currentTime=t,null;if(!(r>0))return N(iA,this).currentTime=t,null!==(n=i.resetTransition)&&void 0!==n&&n.call(i),null;const o=M(dA,this,mA).call(this,e,r);"function"==typeof(null==e?void 0:e.onTransitionInStart)&&e.onTransitionInStart();const s=i.startTransition(o),{outDurationMs:a,inDurationMs:l}=M(dA,this,vA).call(this,r,s);return{renderer:i,transitionOptions:o,outDurationMs:a,inDurationMs:l,shouldWaitForFrames:!1!==(null==e?void 0:e.waitForVisualFrames)}}function yA(t,e={},n,i){const{renderer:r,transitionOptions:o,outDurationMs:s,inDurationMs:a,shouldWaitForFrames:l}=i,c=M(dA,this,EA).call(this,t,e,n),u=l?M(dA,this,SA).call(this,t,n):Promise.resolve();let d=!1,h=!1,f=!1,p=!l;const m=()=>{var t;M(dA,this,xA).call(this,n)&&!f&&d&&h&&p&&(f=!0,"function"==typeof(null==e?void 0:e.onTransitionInEnd)&&e.onTransitionInEnd(),"function"==typeof(null==e?void 0:e.onTransitionOutStart)&&e.onTransitionOutStart(),null!==(t=r.beginTransitionIn)&&void 0!==t&&t.call(r,o),F(sA,this,setTimeout((()=>{var t;M(dA,this,xA).call(this,n)&&(null!==(t=r.resetTransition)&&void 0!==t&&t.call(r),"function"==typeof(null==e?void 0:e.onTransitionOutEnd)&&e.onTransitionOutEnd(),M(dA,this,bA).call(this))}),a)))};return F(oA,this,setTimeout((()=>{d=!0,m()}),s)),c.then((()=>{h=!0,m()})).catch((()=>{var t;M(dA,this,xA).call(this,n)&&(null!==(t=r.resetTransition)&&void 0!==t&&t.call(r),M(dA,this,bA).call(this))})),u.then((()=>{p=!0,m()})).catch((()=>{p=!0,m()})),N(iA,this).currentTime=t,new Promise((t=>{F(aA,this,t)}))}function bA(){const t=N(aA,this);F(aA,this,null),M(dA,this,kA).call(this),M(dA,this,TA).call(this),t&&t()}function kA(){N(oA,this)&&clearTimeout(N(oA,this)),N(sA,this)&&clearTimeout(N(sA,this)),F(oA,this,null),F(sA,this,null)}function wA(){var t,e;N(rA,this)&&null!==(t=(e=N(rA,this)).resetTransition)&&void 0!==t&&t.call(e),M(dA,this,kA).call(this),M(dA,this,TA).call(this),N(aA,this)&&(N(aA,this).call(this),F(aA,this,null))}function xA(t){return N(lA,this)===t}function _A(t,e){N(iA,this)&&"function"==typeof N(iA,this).on&&(N(iA,this).on(t,e),N(cA,this).push({eventName:t,handler:e}))}function IA(t,e){N(iA,this)&&"function"==typeof N(iA,this).off&&(N(iA,this).off(t,e),F(cA,this,N(cA,this).filter((n=>n.eventName!==t||n.handler!==e))))}function TA(){N(iA,this)&&"function"==typeof N(iA,this).off?(N(cA,this).forEach((t=>{N(iA,this).off(t.eventName,t.handler)})),F(cA,this,[])):F(cA,this,[])}function EA(t,e,n){const i=null==e?void 0:e.transitionOutPromise;if(i&&"function"==typeof i.then)return i;if("function"==typeof i)try{const t=i();if(t&&"function"==typeof t.then)return t}catch(t){return Promise.resolve()}if(!N(iA,this)||"function"!=typeof N(iA,this).on)return Promise.resolve();const r=M(dA,this,MA).call(this);return new Promise((e=>{let i=!1;const o=r?dh.TIMELINE_SEEKED:"nodestart";let s,a;const l=()=>{M(dA,this,IA).call(this,dh.TIMELINE_SEEKING,s),M(dA,this,IA).call(this,o,a),e()};s=(e={})=>{M(dA,this,xA).call(this,n)?M(dA,this,AA).call(this,e,t)&&(i=!0):l()},a=(e={})=>{M(dA,this,xA).call(this,n)?(o!==dh.TIMELINE_SEEKED||M(dA,this,AA).call(this,e,t))&&(o===dh.TIMELINE_SEEKED||i)&&l():l()},M(dA,this,_A).call(this,dh.TIMELINE_SEEKING,s),M(dA,this,_A).call(this,o,a)}))}function SA(t,e){if(!N(iA,this)||"function"!=typeof N(iA,this).on)return Promise.resolve();const n=Number(t);return new Promise((t=>{const i=(r={})=>{if(!M(dA,this,xA).call(this,e))return M(dA,this,IA).call(this,dh.VISUAL_FRAMES_AVAILABLE,i),void t();const o=Number(null==r?void 0:r.time);Number.isFinite(n)&&Number.isFinite(o)&&o+nA<n||(Array.isArray(null==r?void 0:r.frames)?r.frames:[]).length&&(M(dA,this,IA).call(this,dh.VISUAL_FRAMES_AVAILABLE,i),t())};M(dA,this,_A).call(this,dh.VISUAL_FRAMES_AVAILABLE,i)}))}function MA(){var t,e;const n=null===(t=N(iA,this))||void 0===t?void 0:t.state;if(n===Sg||n===_g)return!0;const i=null===(e=N(iA,this))||void 0===e?void 0:e.placements;return!Array.isArray(i)||0===i.length}function AA(t,e){const n=Number(null==t?void 0:t.targetTime);return!Number.isFinite(n)||Math.abs(n-e)<nA}function NA(t,e=0){const n=Number(t);return Number.isFinite(n)?n:e}var CA=new WeakMap,FA=new WeakMap,OA=new WeakMap,PA=new WeakMap,RA=new WeakMap,DA=new WeakMap,BA=new WeakMap,LA=new WeakMap,zA=new WeakMap,WA=new WeakMap,jA=new WeakMap,$A=new WeakMap,UA=new WeakMap,qA=new WeakMap,VA=new WeakSet;class GA extends sh{get name(){return"AudioPlaybackManager"}get defaults(){return{muted:!1,volume:1,lookaheadSeconds:1}}constructor(t,e,n){super(n),O(this,VA),C(this,CA,void 0),C(this,FA,void 0),C(this,OA,null),C(this,PA,null),C(this,RA,[]),C(this,DA,new Set),C(this,BA,new Map),C(this,LA,!1),C(this,zA,1),C(this,WA,!0),C(this,jA,null),C(this,$A,null),C(this,UA,null),C(this,qA,null),F(CA,this,t),F(FA,this,e),F(LA,this,!!this.settings.muted),F(zA,this,fv(this.settings.volume));const i=Array.isArray(null==n?void 0:n.disabledTracks)?n.disabledTracks:[];F(WA,this,!i.includes("audio")),M(VA,this,HA).call(this)}get muted(){return N(LA,this)}set muted(t){F(LA,this,!!t),M(VA,this,rN).call(this)}get volume(){return N(zA,this)}set volume(t){F(zA,this,fv(t)),M(VA,this,rN).call(this)}handleDecodedAudio(t={}){if(!N(WA,this))return;const e=null==t?void 0:t.audioBuffer,n=null==t?void 0:t.placementId,i=null==t?void 0:t.segmentId,r=NA(null==t?void 0:t.pts,null);if(!(e&&n&&i&&Number.isFinite(r)))return;const o=Number.isFinite(null==t?void 0:t.duration)?t.duration:e.duration,s=`${n}:${i}`;N(DA,this).has(s)||(N(RA,this).push({key:s,placementId:n,pts:r,duration:o,audioBuffer:e}),N(RA,this).sort(((t,e)=>t.pts-e.pts)),M(VA,this,JA).call(this))}onDispose(){M(VA,this,KA).call(this),M(VA,this,nN).call(this,!0),N(OA,this)&&"function"==typeof N(OA,this).close&&N(OA,this).close(),F(OA,this,null),F(PA,this,null),F(CA,this,null),F(FA,this,null)}}function HA(){N(CA,this)&&"function"==typeof N(CA,this).on&&(F(jA,this,(t=>M(VA,this,XA).call(this,t))),N(CA,this).on(dh.TIMELINE_TIME_UPDATE,N(jA,this)),F($A,this,(t=>M(VA,this,YA).call(this,t))),N(CA,this).on(dh.TIMELINE_STATE_CHANGE,N($A,this)),F(qA,this,(()=>M(VA,this,QA).call(this))),N(CA,this).on(dh.TIMELINE_RESET,N(qA,this))),N(FA,this)&&"function"==typeof N(FA,this).on&&(F(UA,this,(t=>this.handleDecodedAudio(t))),N(FA,this).on(dh.DECODER_AUDIO,N(UA,this)))}function KA(){N(CA,this)&&"function"==typeof N(CA,this).off&&(N(jA,this)&&N(CA,this).off(dh.TIMELINE_TIME_UPDATE,N(jA,this)),N($A,this)&&N(CA,this).off(dh.TIMELINE_STATE_CHANGE,N($A,this)),N(qA,this)&&N(CA,this).off(dh.TIMELINE_RESET,N(qA,this))),N(FA,this)&&"function"==typeof N(FA,this).off&&N(UA,this)&&N(FA,this).off(dh.DECODER_AUDIO,N(UA,this)),F(jA,this,null),F($A,this,null),F(UA,this,null),F(qA,this,null)}function XA(){M(VA,this,JA).call(this)}function YA(t={}){const e=null==t?void 0:t.to;if(e)return e===Ig?(M(VA,this,oN).call(this),void M(VA,this,JA).call(this)):void(e!==Sg&&e!==Eg?e!==Mg&&e!==Ag||M(VA,this,QA).call(this):M(VA,this,sN).call(this))}function QA(){M(VA,this,sN).call(this),M(VA,this,nN).call(this,!0),F(RA,this,[])}function JA(){if(!N(WA,this)||!N(CA,this))return;if(N(CA,this).state!==Ig)return;const t=M(VA,this,iN).call(this);if(!t)return;const e=NA(N(CA,this).currentTime,0),n=e+Math.max(0,NA(this.settings.lookaheadSeconds,1)),i=[];for(let r=0;r<N(RA,this).length;r+=1){const o=N(RA,this)[r];o&&(o.pts>n?i.push(o):M(VA,this,ZA).call(this,o)&&M(VA,this,eN).call(this,o,t,e))}F(RA,this,i)}function ZA(t){if(!t||!N(CA,this))return!1;const e=M(VA,this,tN).call(this,t.pts);return!(!e||e!==t.placementId)}function tN(t){if(!N(CA,this)||"function"!=typeof N(CA,this).getPlacementsActiveAtTime)return null;const e=N(CA,this).getPlacementsActiveAtTime(t);if(!Array.isArray(e)||!e.length)return null;const n=e.find((t=>null==t?void 0:t.placementId));return n?n.placementId:null}function eN(t,e,n){const i=t.key;if(N(DA,this).has(i))return;const r=t.audioBuffer;if(!r)return;const o=Number.isFinite(t.duration)?t.duration:r.duration,s=t.pts;if(!Number.isFinite(s))return;const a=n-s;if(Number.isFinite(o)&&o>0&&a>=o)return;const l=e.createBufferSource();l.buffer=r,l.connect(N(PA,this));let c=e.currentTime,u=0;a>0?u=a:a<0&&(c=e.currentTime+Math.abs(a));try{l.start(c,u)}catch(t){return void this.log.warn("[AudioPlaybackManager] Failed to start audio buffer",t)}N(DA,this).add(i),N(BA,this).set(i,l),l.onended=()=>{N(BA,this).delete(i)}}function nN(t){N(BA,this).forEach(((t,e)=>{if(t&&"function"==typeof t.stop)try{t.stop()}catch(t){}N(BA,this).delete(e)})),t&&N(DA,this).clear()}function iN(){if(N(OA,this))return N(OA,this);const t=ch.AudioContext||ch.webkitAudioContext;if(!t)return this.log.warn("[AudioPlaybackManager] AudioContext is not available."),null;try{return F(OA,this,new t),F(PA,this,N(OA,this).createGain()),N(PA,this).connect(N(OA,this).destination),M(VA,this,rN).call(this),N(OA,this)}catch(t){return this.log.warn("[AudioPlaybackManager] Failed to initialize AudioContext",t),F(OA,this,null),F(PA,this,null),null}}function rN(){if(!N(PA,this))return;const t=N(LA,this)?0:N(zA,this);N(PA,this).gain.value=t}function oN(){N(OA,this)&&"function"==typeof N(OA,this).resume&&"suspended"===N(OA,this).state&&N(OA,this).resume().catch((()=>{}))}function sN(){N(OA,this)&&"function"==typeof N(OA,this).suspend&&"running"===N(OA,this).state&&N(OA,this).suspend().catch((()=>{}))}var aN=new WeakMap,lN=new WeakMap,cN=new WeakMap,uN=new WeakMap,dN=new WeakMap,hN=new WeakSet;class fN extends sh{constructor(...t){super(...t),O(this,hN),C(this,aN,void 0),C(this,lN,void 0),C(this,cN,void 0),C(this,uN,void 0),C(this,dN,void 0),F(aN,this,M(hN,this,mN).call(this,this.settings.currentTime)),F(lN,this,M(hN,this,vN).call(this,this.settings.playbackRate)),F(cN,this,null),F(uN,this,!1),F(dN,this,M(hN,this,pN).bind(this))}get name(){return"PlaybackClock"}get defaults(){return{currentTime:0,playbackRate:Kb("playbackRate")}}get currentTime(){return N(aN,this)}get playbackRate(){return N(lN,this)}set playbackRate(t){F(lN,this,M(hN,this,vN).call(this,t))}play(){N(uN,this)||(F(uN,this,!0),F(cN,this,Cb()),wx(N(dN,this),0))}pause(){N(uN,this)&&(F(uN,this,!1),xx(N(dN,this)))}seek(t){F(aN,this,M(hN,this,mN).call(this,t)),F(cN,this,Cb())}reset(){this.pause(),F(aN,this,0),F(cN,this,null)}onDispose(){this.pause(),F(dN,this,null)}}function pN(){const t=Cb();if(null===N(cN,this))return F(cN,this,t),void this.trigger(dh.CLOCK_TICK,{currentTime:N(aN,this)});const e=t-N(cN,this);F(cN,this,t);const n=e/1e3;F(aN,this,N(aN,this)+n*N(lN,this)),this.trigger(dh.CLOCK_TICK,{currentTime:N(aN,this)})}function mN(t){return"number"!=typeof t||Number.isNaN(t)||!Number.isFinite(t)||t<0?0:t}function vN(t){return"number"!=typeof t||Number.isNaN(t)||!Number.isFinite(t)||t<=0?N(lN,this)||1:t}var gN=new WeakMap,yN=new WeakSet;class bN extends sh{constructor(...t){super(...t),O(this,yN),C(this,gN,new Map)}get name(){return"TrackBuffers"}get defaults(){return{}}refreshNode(t){if(!t||!Array.isArray(t.tracks))return;const e=t.id,n=N(gN,this).get(e)||new Map;N(gN,this).set(e,n),t.tracks.forEach((t=>{const i=null==t?void 0:t.type;if(!i)return;const r=t.buffered,o=n.get(i),s=!!o&&o.ready,a=(l=r)&&Number.isFinite(l.start)&&Number.isFinite(l.end)&&l.end>l.start;var l,c,u;u=r,!(c=null==o?void 0:o.range)&&!u||c&&u&&c.start===u.start&&c.end===u.end?o&&o.ready!==a&&n.set(i,{range:r,ready:a}):(n.set(i,{range:r,ready:a}),this.trigger(dh.TRACK_BUFFER_UPDATE,{nodeId:e,trackType:i,range:r})),!s&&a?this.trigger(dh.TRACK_READY,{nodeId:e,trackType:i,range:r}):s&&!a&&this.trigger(dh.TRACK_UNDERFLOW,{nodeId:e,trackType:i,range:r})}))}getTrackRange(t,e){const n=N(gN,this).get(t),i=null==n?void 0:n.get(e);return null==i?void 0:i.range}computeBuffered(t=[],e=0,n){if(!n||"function"!=typeof n.get)return;const i=Number.isFinite(e)?e:0;let r,o,s=!1;for(let e=0;e<t.length;e+=1){const a=M(yN,this,wN).call(this,n,t[e],i);if(!a||a.end<=i)continue;if(void 0===r){r=a.start,o=a.end,s=a.full;continue}const l=a.start<=o,c=s&&a.full;if(!l&&!c)break;o=Math.max(o,a.end),s=a.full}return void 0===r||void 0===o?{start:0,end:0}:{start:r,end:o}}get buffered(){return N(gN,this)}reset(){N(gN,this).clear()}onDispose(){N(gN,this).clear(),"function"==typeof this.off&&this.off()}}function kN(t,e=0){const n=Array.isArray(null==t?void 0:t.segments)?t.segments:[],i=[];for(let t=0;t<n.length;t+=1){const e=n[t];if(!e||e.isInit)continue;const r=Number(e.duration),o=Number(e.offset),s=Number(e.bufferedRatio);if(!Number.isFinite(r)||r<=0||!Number.isFinite(o)||s<=0)continue;const a=o+r*Math.min(1,s);!Number.isFinite(a)||a<=o||i.push({start:o,end:a})}if(!i.length)return;i.sort(((t,e)=>t.start-e.start));const r=[i[0]];for(let t=1;t<i.length;t+=1){const e=i[t],n=r[r.length-1];e.start<=n.end+.001?n.end=Math.max(n.end,e.end):r.push({...e})}const o=Number.isFinite(e)?e:0;for(let t=0;t<r.length;t+=1){const e=r[t];if(e.end>o+.001)return e}}function wN(t,e,n=0){var i,r;const o=gv(e);if(!Number.isFinite(o))return;const s=t.get(e.nodeId);if(!s)return;const a=Array.isArray(s.tracks)?s.tracks:[];if(!a.length){const t=s.buffered;if(!t||!Number.isFinite(t.start)||!Number.isFinite(t.end))return;return M(yN,this,xN).call(this,s,t,o,e)}const l=s.mainTrackId,c=Number.isFinite(e.nodeOffsetOverride)?e.nodeOffsetOverride:0,u=Math.max(0,n-o+c);let d;l&&(d=a.find((t=>(null==t?void 0:t.id)===l))),(null===(i=d)||void 0===i?void 0:i.type)||(d=a.find((t=>null==t?void 0:t.type)));const h=M(yN,this,kN).call(this,d,u)||(null===(r=d)||void 0===r?void 0:r.buffered);return h&&Number.isFinite(h.start)&&Number.isFinite(h.end)?M(yN,this,xN).call(this,s,h,o,e):void 0}function xN(t,e,n,i){const r=Number.isFinite(i.nodeOffsetOverride)?i.nodeOffsetOverride:0;let o=e.start-r+n,s=e.end-r+n;const a=t.duration,l=Number.isFinite(i.nodeDurationOverride)?i.nodeDurationOverride:a;if(Number.isFinite(l)){const t=n+l;s=Math.min(s,t);const e=o<=n&&s>=t;if(o=Math.max(o,n),!(s>o))return;return{start:o,end:s,full:e}}if(o=Math.max(o,n),s>o)return{start:o,end:s,full:!1}}class _N{constructor(t={}){const{placementId:e,nodeId:n,offset:i,offsetPending:r=!1,offsetAnchorPlacementId:o,offsetEndSeconds:s,offsetAnchorEdge:a,offsetAnchorIsReference:l,nodeOffsetOverride:c,nodeDurationOverride:u,loop:d=!1,loopRootPlacementId:h,loopRootOffset:f}=t;if(!e)throw new Error("Placement requires placementId");if(!n)throw new Error("Placement requires nodeId");this.placementId=e,this.nodeId=n;const p=Number.isFinite(i)?i:0;this.offsetPending=!0===r,this.offsetAnchorPlacementId=o,this.offsetAnchorEdge=a,this.offsetAnchorIsReference=l,this.offsetEndSeconds=Number.isFinite(s)?s:void 0,this.offset=this.offsetPending?void 0:p,this.nodeOffsetOverride=c,this.nodeDurationOverride=u,this.loop=!0===d,this.loopRootPlacementId=h,this.loopRootOffset=f}}class IN extends sh{constructor(t,e){super(e),this.timeline=t}get methodsExcludedFromAutoLog(){return new Set([...super.methodsExcludedFromAutoLog,"handleDecodedFrame","handleClockTick","handleMainTrackBufferUpdate"])}enter(){}exit(){}play(){this.timeline.transitionTo(Ig)}pause(){this.timeline.transitionTo(Sg)}wait(){this.timeline.transitionTo(Eg)}reset(){this.timeline.transitionTo(Ag)}seek(t){this.timeline.transitionTo(Mg,{targetTime:t,returnState:this.timeline.state})}getCurrentTime(){return this.timeline.currentTime}emitPlayerStateEvent(t,e={}){if(!t||!this.timeline||"function"!=typeof this.timeline.trigger)return;const n=Number.isFinite(null==e?void 0:e.time)?e.time:this.getCurrentTime(),i={...e,event:t};Number.isFinite(n)&&(i.time=n),this.timeline.trigger("player:state",i)}get buffered(){return this.timeline.computeBuffered(this.timeline.currentTime)}handleMainTrackUnderflow(t){this.wait()}handleMainTrackReady(t){const e=this.timeline.getLastStableState()||Sg;this.timeline.transitionTo(e)}handleMainTrackBufferUpdate(t){}handleDecodedFrame(t){}handleClockTick(t){}onDispose(){this.timeline=null}}const TN=24e3/1001;function EN(t,e=(null==t?void 0:t.currentTime)){return Number.isFinite(e)?e:Number.isFinite(null==t?void 0:t.currentTime)?t.currentTime:0}function SN(t){var e;const n=Number(null==t||null===(e=t.settings)||void 0===e?void 0:e.snapToFps);return Number.isFinite(n)&&n>0?.5/n:.001}function MN(t){var e;const n=Array.isArray(null==t?void 0:t.tracks)?t.tracks:[];let i;if(null!=t&&t.mainTrackId){const e=n.find((e=>(null==e?void 0:e.id)===t.mainTrackId));i=null==e?void 0:e.type}if(i||(i=null===(e=n.find((t=>null==t?void 0:t.type)))||void 0===e?void 0:e.type),"video"===i||"audio"===i||"image"===i)return i}function AN(t){const e=Array.isArray(null==t?void 0:t.tracks)?t.tracks:[];if(e.length){if(null!=t&&t.mainTrackId){const n=e.find((e=>(null==e?void 0:e.id)===t.mainTrackId));if("video"===(null==n?void 0:n.type)||"image"===(null==n?void 0:n.type))return n}return e.find((t=>"video"===(null==t?void 0:t.type)||"image"===(null==t?void 0:t.type)))}}function NN(t,e,n,i,r){var o,s;const a="function"==typeof(null==t?void 0:t.getDecodedVisualBuffer)?t.getDecodedVisualBuffer(e,n):void 0;if(!a)return"function"==typeof(null==t?void 0:t.hasDecodedFirstFrame)&&t.hasDecodedFirstFrame(e,i);const l=Array.isArray(a.frames)?a.frames:[];let c,u=Number.isFinite(null===(o=a.current)||void 0===o?void 0:o.presentationTime)?a.current:void 0;for(let t=0;t<l.length;t+=1){const e=l[t],n=Number(null==e?void 0:e.presentationTime);if(Number.isFinite(n)){if(!(n<=r)){c=n;break}u=e}}const d=Number(null===(s=u)||void 0===s?void 0:s.presentationTime);if(!Number.isFinite(d)||d>r)return!1;const h=function(t,e,n,i){const r=Number(null==n?void 0:n.duration);if(Number.isFinite(r)&&r>0)return e+r;const o=function(t,e){const n=Number(null==t||null===(e=t.settings)||void 0===e?void 0:e.snapToFps);return 2/(Number.isFinite(n)&&n>0?n:TN)}(t),s=Number.isFinite(i)&&i>e?i-e:o;return e+Math.min(s,o)}(t,d,u,c);return!!Number.isFinite(h)&&r<=h+SN(t)}function CN(t,e=(null==t?void 0:t.currentTime)){const n=EN(t,e),i="function"==typeof(null==t?void 0:t.getPlacementsActiveAtTime)?t.getPlacementsActiveAtTime(n):[];if(!i.length)return!1;for(let e=0;e<i.length;e+=1){const n=i[e],r=null==n?void 0:n.placementId;if(!r)return!0;const o="function"==typeof(null==t?void 0:t.getNode)?t.getNode(n.nodeId):void 0;if(!o)return!0;const s=MN(o);if(!s)return!0;if(!t.hasDecodedFirstFrame(r,s))return!0}return!1}function FN(t,e=(null==t?void 0:t.currentTime)){return CN(t,e)||function(t,e=(null==t?void 0:t.currentTime)){const n=EN(t,e),i="function"==typeof(null==t?void 0:t.getPlacementsActiveAtTime)?t.getPlacementsActiveAtTime(n):[];if(!i.length)return!1;for(let e=0;e<i.length;e+=1){const r=i[e],o=null==r?void 0:r.placementId;if(!o)return!0;const s="function"==typeof(null==t?void 0:t.getNode)?t.getNode(r.nodeId):void 0;if(!s)return!0;const a=AN(s);if(null!=a&&a.id&&!NN(t,o,a.id,a.type,n))return!0}return!1}(t,e)}function ON(t,e=(null==t?void 0:t.currentTime)){if("function"!=typeof(null==t?void 0:t.computeBuffered))return!1;const n=EN(t,e),i=t.computeBuffered(n),r=Number(null==i?void 0:i.start),o=Number(null==i?void 0:i.end);if(!Number.isFinite(r)||!Number.isFinite(o)||o<=r)return!1;const s=SN(t);if(!(r<=n+s))return!1;return o-n>=function(t,e){const n=Number(null==t||null===(e=t.settings)||void 0===e?void 0:e.waitingBufferAheadSeconds);return!Number.isFinite(n)||n<0?3:n}(t)-s||function(t,e,n,i){const r=function(t){const e=Array.isArray(null==t?void 0:t.placements)?t.placements:[];let n;for(let i=0;i<e.length;i+=1){const r=e[i],o=gv(r);if(!Number.isFinite(o))continue;const s="function"==typeof(null==t?void 0:t.getPlacementDuration)?t.getPlacementDuration(r):void 0;if(!Number.isFinite(s))continue;const a=o+s;Number.isFinite(a)&&(!Number.isFinite(n)||a>n)&&(n=a)}return n}(t);return!!Number.isFinite(r)&&(e>=r-i||n>=r-i)}(t,n,o,s)}const PN={[_g]:class extends IN{get name(){return _g}get defaults(){return{autoplay:Kb("autoplay")}}enter(){this.timeline.recordStableState(Sg),this.timeline.stopPlaybackClock()}play(){const t=FN(this.timeline),e=t?Eg:this.timeline.getPlaybackStartState();if(this.emitPlayerStateEvent("play",{from:this.timeline.state,to:e}),t)return this.timeline.recordStableState(Ig),void this.timeline.transitionTo(Eg);this.timeline.transitionTo(e)}pause(){}handleDecodedFrame(t){if(!0!==this.settings.autoplay)return;if(!Array.isArray(this.timeline.placements)||!this.timeline.placements.length)return;if(FN(this.timeline))return;const e=this.timeline.getPlaybackStartState();this.log.info("[handleDecodedFrame] Autoplay enabled, starting playback!"),this.emitPlayerStateEvent("play",{from:this.timeline.state,to:e}),this.timeline.transitionTo(e)}},[Tg]:class extends IN{get name(){return Tg}enter(t={}){const{from:e,to:n}=t;this.timeline.recordStableState(Ig),this.timeline.stopPlaybackClock(),this.emitPlayerStateEvent("canplay",{from:e,to:n})}play(){}handleMainTrackUnderflow(){}pause(){this.timeline.transitionTo(Sg)}},[Ig]:class extends IN{get name(){return Ig}enter(t={}){const{from:e,to:n,fromFirstFramePending:i}=t;this.timeline.recordStableState(Ig),this.timeline.startPlaybackClock(),!0!==i&&this.emitPlayerStateEvent("canplay",{from:e,to:n}),this.emitPlayerStateEvent("playing",{from:e,to:n})}play(){}pause(){this.timeline.transitionTo(Sg)}handleClockTick(t){const e=this.timeline.currentTime;FN(this.timeline,e)&&(this.timeline.recordStableState(Ig),this.timeline.transitionTo(Eg))}},[Eg]:(Je=new WeakMap,Ze=new WeakMap,tn=new WeakSet,class extends IN{constructor(...t){super(...t),O(this,tn),C(this,Je,void 0),C(this,Ze,null)}get name(){return Eg}enter(t={}){const{from:e,to:n}=t;this.timeline.stopPlaybackClock(),M(tn,this,RN).call(this),M(tn,this,BN).call(this),this.emitPlayerStateEvent("waiting",{from:e,to:n}),M(tn,this,WN).call(this)}exit(){M(tn,this,DN).call(this),M(tn,this,LN).call(this)}play(){this.timeline.recordStableState(Ig);const t=M(tn,this,zN).call(this),e=t?Eg:this.timeline.getPlaybackStartState();this.emitPlayerStateEvent("play",{from:this.timeline.state,to:e}),t||this.timeline.transitionTo(e)}pause(){this.timeline.transitionTo(Sg)}handleMainTrackReady(t){const e=this.timeline.getLastStableState()||Sg;e!==Ig?this.timeline.transitionTo(e):M(tn,this,WN).call(this)}handleDecodedFrame(t){M(tn,this,WN).call(this)}handleMainTrackBufferUpdate(t){M(tn,this,WN).call(this)}}),[Sg]:class extends IN{get name(){return Sg}enter(t={}){const{from:e,to:n}=t;this.timeline.recordStableState(Sg),this.timeline.stopPlaybackClock(),this.emitPlayerStateEvent("pause",{from:e,to:n})}play(){const t=FN(this.timeline),e=t?Eg:this.timeline.getPlaybackStartState();if(this.emitPlayerStateEvent("play",{from:this.timeline.state,to:e}),t)return this.timeline.recordStableState(Ig),void this.timeline.transitionTo(Eg);this.timeline.transitionTo(e)}pause(){}},[Mg]:class extends IN{get name(){return Mg}enter(t={}){const{targetTime:e,returnState:n}=t;if(this.timeline&&"function"==typeof this.timeline.stopPlaybackClock&&this.timeline.stopPlaybackClock(),this.timeline&&"function"==typeof this.timeline.startSeeking)return void this.timeline.startSeeking(e,n);this.timeline.updateTime(e);const i=n===Ig||n===Tg,r=i&&"function"==typeof this.timeline.getPlaybackStartState?this.timeline.getPlaybackStartState(e):i?Ig:Sg;this.timeline.transitionTo(r,{fromSeeking:!0})}play(){var t;if(this.timeline&&"function"==typeof this.timeline.setSeekReturnState)return void this.timeline.setSeekReturnState(Ig);const e="function"==typeof(null===(t=this.timeline)||void 0===t?void 0:t.getPlaybackStartState)?this.timeline.getPlaybackStartState():Ig;this.timeline.transitionTo(e)}pause(){this.timeline&&"function"==typeof this.timeline.setSeekReturnState?this.timeline.setSeekReturnState(Sg):this.timeline.transitionTo(Sg)}handleDecodedFrame(t){this.timeline&&"function"==typeof this.timeline.maybeCompleteSeek&&this.timeline.maybeCompleteSeek(t)}},[Ag]:class extends IN{get name(){return Ag}enter(){this.timeline.resetClock(),this.timeline.transitionTo(_g,{fromReset:!0})}play(){}pause(){}get buffered(){return{start:0,end:0}}}};function RN(){var t;const e=null===(t=this.timeline)||void 0===t?void 0:t.trackBuffers;e&&"function"==typeof e.on&&(F(Je,this,(t=>this.handleMainTrackBufferUpdate(t))),e.on(dh.TRACK_BUFFER_UPDATE,N(Je,this)))}function DN(){var t;const e=null===(t=this.timeline)||void 0===t?void 0:t.trackBuffers;N(Je,this)&&e&&"function"==typeof e.off?(e.off(dh.TRACK_BUFFER_UPDATE,N(Je,this)),F(Je,this,null)):F(Je,this,null)}function BN(){if(null!==N(Ze,this))return;const t="function"==typeof(null==ch?void 0:ch.setInterval)?ch.setInterval.bind(ch):setInterval;F(Ze,this,t((()=>{var t;(null===(t=this.timeline)||void 0===t?void 0:t.state)===Eg&&M(tn,this,WN).call(this)}),200))}function LN(){null!==N(Ze,this)&&(("function"==typeof(null==ch?void 0:ch.clearInterval)?ch.clearInterval.bind(ch):clearInterval)(N(Ze,this)),F(Ze,this,null))}function zN(t=(t=>null===(t=this.timeline)||void 0===t?void 0:t.currentTime)()){return function(t,e=(null==t?void 0:t.currentTime),n={}){return!!CN(t,e)||!0===n.skipBufferResume||!ON(t,e)}(this.timeline,t)}function WN(t=(t=>null===(t=this.timeline)||void 0===t?void 0:t.currentTime)()){return(this.timeline.getLastStableState()||Sg)===Ig&&!M(tn,this,zN).call(this,t)&&(this.timeline.transitionTo(this.timeline.getPlaybackStartState(t)),!0)}function jN(t){return t&&("string"!=typeof t.state||"ready"===t.state)}function $N(t){return(Array.isArray(null==t?void 0:t.tracks)?t.tracks:[]).some((t=>"video"===(null==t?void 0:t.type)))}function UN(t){return(Array.isArray(null==t?void 0:t.tracks)?t.tracks:[]).some((t=>"video"===(null==t?void 0:t.type)||"image"===(null==t?void 0:t.type)))}function qN(t){return t===Ig||t===Tg}var VN=new WeakMap,GN=new WeakMap,HN=new WeakMap,KN=new WeakMap,XN=new WeakMap,YN=new WeakMap,QN=new WeakMap,JN=new WeakMap,ZN=new WeakMap,tC=new WeakMap,eC=new WeakMap,nC=new WeakMap,iC=new WeakMap,rC=new WeakMap,oC=new WeakSet;class sC{constructor(t={}){O(this,oC),C(this,VN,void 0),C(this,GN,void 0),C(this,HN,void 0),C(this,KN,void 0),C(this,XN,void 0),C(this,YN,void 0),C(this,QN,void 0),C(this,JN,void 0),C(this,ZN,void 0),C(this,tC,null),C(this,eC,Sg),C(this,nC,[]),C(this,iC,new Set),C(this,rC,new Map),F(VN,this,t.getState),F(GN,this,t.getNode),F(HN,this,t.getPlacementsActiveAtTime),F(KN,this,t.getLastStableState),F(XN,this,t.getPlaybackStartState),F(YN,this,t.clearVisualFrameBuffers),F(QN,this,t.updateTime),F(JN,this,t.transitionTo),F(ZN,this,t.trigger)}start(t,e){const n=Number(t);if(!Number.isFinite(n))return;let i=e;i===Mg?i=N(eC,this):i===Eg&&"function"==typeof N(KN,this)&&(i=N(KN,this).call(this)),F(eC,this,qN(i)?Ig:Sg),F(tC,this,n),N(iC,this).clear(),N(rC,this).clear(),F(nC,this,"function"==typeof N(HN,this)?N(HN,this).call(this,n):[]),"function"==typeof N(YN,this)&&N(YN,this).call(this),"function"==typeof N(QN,this)&&N(QN,this).call(this,n,{source:"seek"}),"function"==typeof N(ZN,this)&&N(ZN,this).call(this,dh.TIMELINE_SEEKING,{targetTime:n,placements:N(nC,this).slice()}),this.maybeComplete()}setReturnState(t){F(eC,this,qN(t)?Ig:Sg)}maybeComplete(t){if(("function"==typeof N(VN,this)?N(VN,this).call(this):void 0)!==Mg)return;const e=N(tC,this);if(!Number.isFinite(e))return;const n=null==t?void 0:t.trackType,i=null==t?void 0:t.placementId;if(i&&"video"===n){const n=Number(null==t?void 0:t.pts);if(Number.isFinite(n)&&n>=e){N(iC,this).add(i);const t=N(rC,this).get(i);(!Number.isFinite(t)||n<t)&&N(rC,this).set(i,n)}}else i&&"image"===n&&function(t,e){const n=Number(null==t?void 0:t.pts),i=Number(null==t?void 0:t.duration);return!Number.isFinite(n)||(Number.isFinite(i)&&i>0?e>=n&&e<n+i:e>=n)}(t,e)&&N(iC,this).add(i);const r=Array.isArray(N(nC,this))?N(nC,this):[];if(r.length){if("function"==typeof N(GN,this)){for(let t=0;t<r.length;t+=1){const e=r[t],n=null==e?void 0:e.placementId;if(!n)return;const i=N(GN,this).call(this,e.nodeId);if(!jN(i))return;if(UN(i)&&!N(iC,this).has(n))return}M(oC,this,aC).call(this,e,r)}}else M(oC,this,aC).call(this,e,[])}dispose(){F(nC,this,[]),N(iC,this).clear(),N(rC,this).clear(),F(tC,this,null)}}function aC(t,e){const n=M(oC,this,lC).call(this,t,e);if("function"==typeof N(QN,this)&&N(QN,this).call(this,n,{source:"seek"}),F(tC,this,null),F(nC,this,[]),N(iC,this).clear(),N(rC,this).clear(),"function"==typeof N(ZN,this)&&N(ZN,this).call(this,dh.TIMELINE_SEEKED,{targetTime:t,placements:Array.isArray(e)?e.slice():[]}),"function"==typeof N(JN,this)){const t=N(eC,this)===Ig&&"function"==typeof N(XN,this)?N(XN,this).call(this,n):N(eC,this);N(JN,this).call(this,t,{fromSeeking:!0})}}function lC(t,e){const n=Number(t);if(!Number.isFinite(n))return t;if(!Array.isArray(e)||!e.length||"function"!=typeof N(GN,this))return n;let i=n;for(let t=0;t<e.length;t+=1){const n=e[t],r=null==n?void 0:n.placementId;if(!r)continue;if(!$N(N(GN,this).call(this,n.nodeId)))continue;const o=N(rC,this).get(r);Number.isFinite(o)&&o>i&&(i=o)}return i}function cC(t){if(t&&"function"==typeof t.close)try{t.close()}catch(t){}}function uC(t){if(!t)return;const e=Array.isArray(null==t?void 0:t.frames)?t.frames:[],n=null==t?void 0:t.current;(n?[n,...e]:e).forEach((t=>cC(null==t?void 0:t.frame)))}function dC(t){return gv(t)}function hC(t){return Number.isFinite(null==t?void 0:t.loopRootOffset)?t.loopRootOffset:dC(t)}function fC(t,e){return"string"==typeof(null==t?void 0:t.loopRootPlacementId)&&t.loopRootPlacementId?t.loopRootPlacementId:e}function pC(t){if("string"!=typeof t)return Number.NaN;const e=t.match(/(\d+)/);return e?Number(e[1]):Number.NaN}function mC(t){if(!t)return;const e=[[t.displayWidth,t.displayHeight],[t.codedWidth,t.codedHeight],[t.videoWidth,t.videoHeight],[t.naturalWidth,t.naturalHeight],[t.width,t.height]];for(let t=0;t<e.length;t+=1){const[n,i]=e[t],r=Number(n),o=Number(i);if(Number.isFinite(r)&&Number.isFinite(o)&&r>0&&o>0)return{width:r,height:o}}}const vC=1e-6;function gC(t){return t&&("string"!=typeof t.state||"ready"===t.state)}function yC(t){const e=Number(t);return Number.isFinite(e)?e:0}function bC(t){return(Array.isArray(null==t?void 0:t.tracks)?t.tracks:[]).filter((t=>"cue"===(null==t?void 0:t.type)&&Array.isArray(null==t?void 0:t.cues)))}function kC(t){return t&&"cue"===t.type&&Array.isArray(t.cues)?t.cues:[]}var wC=new WeakMap,xC=new WeakMap,_C=new WeakMap,IC=new WeakMap,TC=new WeakMap,EC=new WeakMap,SC=new WeakMap,MC=new WeakMap,AC=new WeakSet;class NC{constructor(t={}){O(this,AC),C(this,wC,void 0),C(this,xC,void 0),C(this,_C,void 0),C(this,IC,void 0),C(this,TC,void 0),C(this,EC,void 0),C(this,SC,-1e-6),C(this,MC,null),F(wC,this,t.getPlacements),F(xC,this,t.getPlacementsActiveAtTime),F(_C,this,t.getPlacementDuration),F(IC,this,t.getNode),F(TC,this,t.triggerTimeline),F(EC,this,t.triggerNode)}handleSeeking(t,e){const n=yC(t);F(MC,this,n)}handleSeeked(t){const e=yC(t),n=N(MC,this);F(MC,this,null),Number.isFinite(n)?(M(AC,this,FC).call(this,n,e),F(SC,this,e)):F(SC,this,e)}handleTimeUpdate(t,e={}){const n=yC(t),i=N(SC,this);!0===(null==e?void 0:e.isSeeking)?F(SC,this,n):Number.isFinite(i)?n<=i?n<i&&F(SC,this,n-vC):(M(AC,this,CC).call(this,i,n),F(SC,this,n)):F(SC,this,n)}dispose(){F(MC,this,null),F(SC,this,-1e-6)}}function CC(t,e){const n="function"==typeof N(wC,this)?N(wC,this).call(this):[];M(AC,this,OC).call(this,n,t,e,{onlySticky:!1})}function FC(t,e){if("function"!=typeof N(xC,this))return;const n=N(xC,this).call(this,e);M(AC,this,OC).call(this,n,t,e,{onlySticky:!0})}function OC(t,e,n,i={}){if("function"!=typeof N(IC,this)||"function"!=typeof N(TC,this))return;if(!Array.isArray(t)||!t.length)return;const r=!0===i.onlySticky,o=[];for(let i=0;i<t.length;i+=1){const s=t[i],a=null==s?void 0:s.placementId,l=null==s?void 0:s.nodeId;if(!a||!l)continue;const c=N(IC,this).call(this,l);if(!gC(c))continue;const u=bC(c);if(!u.length)continue;const d=gv(s);if(!Number.isFinite(d))continue;const h=Number.isFinite(null==s?void 0:s.nodeOffsetOverride)?s.nodeOffsetOverride:0,f="function"==typeof N(_C,this)?N(_C,this).call(this,s):void 0,p="number"==typeof f&&Number.isFinite(f)?d+f:Number.POSITIVE_INFINITY,m=r?d-vC:e;for(let t=0;t<u.length;t+=1){const e=kC(u[t]);for(let i=0;i<e.length;i+=1){const s=e[i],c=yC(null==s?void 0:s.timestamp),u=d+Math.max(0,c-h);u<=p&&(r&&!0!==(null==s?void 0:s.isSticky)||u>m&&u<=n&&"string"==typeof(null==s?void 0:s.name)&&s.name&&o.push({time:u,placementOffset:d,placementId:a,nodeId:l,cuepoint:s,trackIndex:t,cueIndex:i}))}}}o.length&&(o.sort(((t,e)=>t.time!==e.time?t.time-e.time:t.placementOffset!==e.placementOffset?t.placementOffset-e.placementOffset:t.placementId!==e.placementId?t.placementId<e.placementId?-1:1:t.trackIndex!==e.trackIndex?t.trackIndex-e.trackIndex:t.cueIndex-e.cueIndex)),o.forEach((t=>{const e=t.cuepoint,n={time:t.time,nodeId:t.nodeId,placementId:t.placementId,cuepoint:e};N(TC,this).call(this,"cuepoint",n),N(TC,this).call(this,e.name,n),"function"==typeof N(EC,this)&&(N(EC,this).call(this,t.nodeId,"cuepoint",n),N(EC,this).call(this,t.nodeId,e.name,n))})))}class PC{#et;#nt=0;#it=new Set;constructor(t){this.#et="string"==typeof t?t:""}claim(t){if(t)return this.#it.add(t),t;let e;do{e=`${this.#et}${++this.#nt}`}while(this.#it.has(e));return this.#it.add(e),e}reset(){this.#nt=0,this.#it.clear()}}const RC=24e3/1001;function DC(t){var e;const n=null==t?void 0:t.frame;if(!n||!0===n.__closed||!0===n.closed)return 0;if("function"==typeof n.allocationSize)try{const t=Number(n.allocationSize());if(Number.isFinite(t)&&t>0)return t}catch(t){}const i=Number(null==n?void 0:n.byteLength);if(Number.isFinite(i)&&i>0)return i;const r=Number(null==n||null===(e=n.data)||void 0===e?void 0:e.byteLength);if(Number.isFinite(r)&&r>0)return r;const o=function(t,e){const n=Number(null==t?void 0:t.width),i=Number(null==t?void 0:t.height);return Number.isFinite(n)&&Number.isFinite(i)&&n>0&&i>0?{width:n,height:i}:mC(e)}(t,n),s=Number(null==o?void 0:o.width),a=Number(null==o?void 0:o.height);return Number.isFinite(s)&&Number.isFinite(a)&&s>0&&a>0?s*a*4:0}var BC=new WeakMap,LC=new WeakMap,zC=new WeakMap,WC=new WeakMap,jC=new WeakMap,$C=new WeakMap,UC=new WeakMap,qC=new WeakMap,VC=new WeakMap,GC=new WeakMap,HC=new WeakMap,KC=new WeakMap,XC=new WeakMap,YC=new WeakMap,QC=new WeakMap,JC=new WeakMap,ZC=new WeakMap,tF=new WeakMap,eF=new WeakMap,nF=new WeakMap,iF=new WeakMap,rF=new WeakMap,oF=new WeakMap,sF=new WeakMap,aF=new WeakMap,lF=new WeakMap,cF=new WeakMap,uF=new WeakMap,dF=new WeakMap,hF=new WeakMap,fF=new WeakMap,pF=new WeakMap,mF=new WeakMap,vF=new WeakSet;class gF extends sh{constructor(...t){super(...t),O(this,vF),C(this,BC,void 0),C(this,LC,void 0),C(this,zC,void 0),C(this,WC,void 0),C(this,jC,void 0),C(this,$C,!1),C(this,UC,[]),C(this,qC,new PC("placement-")),C(this,VC,[]),C(this,GC,new PC("renderplacement-")),C(this,HC,void 0),C(this,KC,void 0),C(this,XC,void 0),C(this,YC,!1),C(this,QC,new Set),C(this,JC,new Set),C(this,ZC,new Map),C(this,tF,[]),C(this,eF,0),C(this,nF,new Set),C(this,iF,new Set),C(this,rF,Number.NEGATIVE_INFINITY),C(this,oF,[]),C(this,sF,Number.NEGATIVE_INFINITY),C(this,aF,0),C(this,lF,void 0),C(this,cF,void 0),C(this,uF,new Map),C(this,dF,null),C(this,hF,void 0),C(this,fF,void 0),C(this,pF,void 0),C(this,mF,void 0);const[e,n={}]=t;F(BC,this,e),F(lF,this,n),F(jC,this,new fN(n)),F(HC,this,new bN(n)),F(WC,this,Sg),M(vF,this,MF).call(this),M(vF,this,AF).call(this),F(hF,this,new sC({getState:()=>this.state,getNode:t=>N(BC,this)&&"function"==typeof N(BC,this).get?N(BC,this).get(t):void 0,getPlacementsActiveAtTime:t=>M(vF,this,lO).call(this,t,{endEpsilonSeconds:M(vF,this,gO).call(this)}),getLastStableState:()=>this.getLastStableState(),getPlaybackStartState:t=>this.getPlaybackStartState(t),clearVisualFrameBuffers:()=>M(vF,this,sO).call(this),updateTime:(t,e)=>this.updateTime(t,e),transitionTo:(t,e)=>this.transitionTo(t,e),trigger:(t,e)=>this.trigger(t,e)})),F(fF,this,new NC({getPlacements:()=>N(UC,this).slice(),getPlacementsActiveAtTime:t=>M(vF,this,lO).call(this,t),getPlacementDuration:t=>M(vF,this,UF).call(this,t),getNode:t=>N(BC,this)&&"function"==typeof N(BC,this).get?N(BC,this).get(t):void 0,triggerTimeline:(t,e)=>this.trigger(t,e),triggerNode:(t,e,n)=>{const i=N(BC,this)&&"function"==typeof N(BC,this).get?N(BC,this).get(t):void 0;i&&"function"==typeof i.trigger&&i.trigger(e,n)}})),F(pF,this,(()=>{var t,e;null===(t=N(fF,this))||void 0===t||null===(e=t.handleSeeked)||void 0===e||e.call(t,this.currentTime)})),this.on(dh.TIMELINE_SEEKED,N(pF,this)),F(mF,this,(t=>M(vF,this,DF).call(this,t))),this.on("nodestart",N(mF,this)),this.transitionTo(_g)}get name(){return"Timeline"}get defaults(){return{snapToFps:RC,maxBufferedVideoFrames:24}}get methodsExcludedFromAutoLog(){return new Set([...super.methodsExcludedFromAutoLog,"computeBuffered","notifyDecodedFrame","getDecodedFrameStats","getActiveRenderPlacement","maybeCompleteSeek","getPlacementsActiveAtTime","hasDecodedFirstFrame","getDecodedVisualBuffer","getPlacementDuration","getNode"])}transitionTo(t,e={}){const n=N(zC,this),i=function(t,e,n={}){const i=PN[t];return i?new i(e,n):null}(t,this,N(lF,this)),r=e&&"object"==typeof e&&!Array.isArray(e)?{...e,from:n,to:t}:{from:n,to:t};i?(N(LC,this)&&"function"==typeof N(LC,this).exit&&N(LC,this).exit(),F(LC,this,i),F(zC,this,t),"function"==typeof i.enter&&i.enter(r),this.trigger(dh.TIMELINE_STATE_CHANGE,{from:n,to:t,options:e})):this.log.warn(`Unknown state "${t}"`)}recordStableState(t){F(WC,this,t)}getLastStableState(){return N(WC,this)}enableFirstFrameRenderedGate(){F($C,this,!0)}getPlaybackStartState(t=this.currentTime){return this.shouldWaitForFirstRenderedFrame(t)?Tg:Ig}shouldWaitForFirstRenderedFrame(t=this.currentTime){if(!N($C,this)||N(YC,this))return!1;const e=Number.isFinite(t)?t:this.currentTime,n=M(vF,this,lO).call(this,e);return Array.isArray(n)&&n.length>0}notifyFirstFrameRendered(){N(YC,this)||(F(YC,this,!0),this.state===Tg&&this.transitionTo(Ig,{fromFirstFramePending:!0}))}get state(){return N(zC,this)}get paused(){return N(zC,this)===_g||N(zC,this)===Sg}get currentTime(){return N(jC,this).currentTime}set currentTime(t){N(LC,this).seek(t)}get playbackRate(){return N(jC,this).playbackRate}set playbackRate(t){N(jC,this).playbackRate=t}play(){N(LC,this).play()}pause(){N(LC,this).pause()}reset(){N(LC,this).reset()}seekToPlacement(t){if(!t)throw new Error("Timeline.seekToPlacement requires placement id");M(vF,this,zF).call(this);const e=M(vF,this,fO).call(this,t);if(!e)throw new Error("Timeline.seekToPlacement requires placement id");const n=gv(e);if(!Number.isFinite(n))throw new Error("Timeline.seekToPlacement requires resolved placement offset");return this.currentTime=n,n}updateTime(t,e={}){var n,i;M(vF,this,zF).call(this),M(vF,this,WF).call(this),N(jC,this).seek(t),M(vF,this,aO).call(this,this.currentTime),M(vF,this,cO).call(this);const r="string"==typeof(null==e?void 0:e.source)?e.source:"set";null!==(n=N(fF,this))&&void 0!==n&&null!==(i=n.handleTimeUpdate)&&void 0!==i&&i.call(n,this.currentTime,{isSeeking:this.state===Mg}),M(vF,this,BF).call(this,this.currentTime),M(vF,this,eO).call(this,this.currentTime),this.trigger(dh.TIMELINE_TIME_UPDATE,hh(this.currentTime,r))}startSeeking(t,e){var n,i;null!==(n=N(fF,this))&&void 0!==n&&null!==(i=n.handleSeeking)&&void 0!==i&&i.call(n,this.currentTime,t),N(hF,this)&&"function"==typeof N(hF,this).start&&N(hF,this).start(t,e)}setSeekReturnState(t){N(hF,this)&&"function"==typeof N(hF,this).setReturnState&&N(hF,this).setReturnState(t)}maybeCompleteSeek(t){N(hF,this)&&"function"==typeof N(hF,this).maybeComplete&&N(hF,this).maybeComplete(t)}startPlaybackClock(){N(jC,this).play()}stopPlaybackClock(){N(jC,this).pause()}resetClock(){var t,e;F(YC,this,!1),N(jC,this).reset(),this.trigger(dh.TIMELINE_RESET,{reason:"reset"}),null===(t=N(fF,this))||void 0===t||null===(e=t.dispose)||void 0===e||e.call(t)}applyTimelineDefinition(t={}){const e=Array.isArray(null==t?void 0:t.placements)?t.placements:[],n=Array.isArray(null==t?void 0:t.renderPlacements)?t.renderPlacements:[];M(vF,this,yF).call(this),M(vF,this,bF).call(this,e),M(vF,this,kF).call(this,n),this.currentTime=0}placeOnTimeline(t,e,n={}){const i=t&&"object"==typeof t?t.id:t;if(!i)throw new Error("Timeline.placeOnTimeline requires node id");const r=N(qC,this).claim(n.placementId),o=n.nodeOffsetOverride||n.offset,s=n.nodeDurationOverride||n.duration,a=_v(e);if("string"==typeof e&&e.includes("@")&&!a)throw new Error("Timeline.placeOnTimeline requires valid placement reference");const{wantsEndOffset:l,endOffsetSeconds:c}=a?{wantsEndOffset:!1}:xv(e,n);let u,d,h,f=!1;const p=null!==a;if(M(vF,this,zF).call(this),a){const t=N(UC,this).find((t=>(null==t?void 0:t.placementId)===a.placementId));if(!t)throw new Error("Timeline.placeOnTimeline requires valid placement reference");d=t.placementId,h=a.anchor;const e=gv(t);if("start"===a.anchor)Number.isFinite(e)?u=M(vF,this,qF).call(this,e,{nodeOffsetOverride:o}):f=!0;else{const n=M(vF,this,UF).call(this,t);if(Number.isFinite(e)&&n>0){const t=e+n,i=M(vF,this,qF).call(this,t,{nodeOffsetOverride:o});u=Math.max(i,t)}else f=!0}}else if(l){const t=n.offsetAnchorPlacementId?N(UC,this).find((t=>(null==t?void 0:t.placementId)===n.offsetAnchorPlacementId)):N(UC,this).length?N(UC,this)[N(UC,this).length-1]:void 0;if(d=n.offsetAnchorPlacementId||(null==t?void 0:t.placementId),d){const e=gv(t),n=M(vF,this,UF).call(this,t);Number.isFinite(e)&&n>0?u=M(vF,this,qF).call(this,e+n-c,{nodeOffsetOverride:o}):(f=!0,h="end")}else u=M(vF,this,qF).call(this,-c,{nodeOffsetOverride:o})}else u=wv(e),u=M(vF,this,qF).call(this,u,{...n,nodeOffsetOverride:o});const m=!0===n.loop?n.loopRootPlacementId||r:void 0,v=!0===n.loop&&Number.isFinite(n.loopRootOffset)?n.loopRootOffset:!0===n.loop?u:void 0,g=l?c:a&&"end"===a.anchor?0:void 0,y=new _N({placementId:r,nodeId:i,offset:u,offsetPending:f,offsetAnchorPlacementId:f?d:void 0,offsetAnchorEdge:f?h:void 0,offsetAnchorIsReference:f?p:void 0,offsetEndSeconds:g,nodeOffsetOverride:o,nodeDurationOverride:s,loop:!0===n.loop,loopRootPlacementId:m,loopRootOffset:v});if(N(UC,this).push(y),bv(N(UC,this)),M(vF,this,ZF).call(this,y),M(vF,this,QF).call(this),f&&d){const t=N(UC,this).find((t=>(null==t?void 0:t.placementId)===d));M(vF,this,GF).call(this,null==t?void 0:t.nodeId)}return this.trigger(dh.PLACEMENT_ADDED,y),r}placeRenderNodeOnTimeline(t,e,n,i={}){const r="string"==typeof t?t:null==t?void 0:t.type;if(!r||"string"!=typeof r)throw new Error("Timeline.placeRenderNodeOnTimeline requires render node type");const o=M(vF,this,VF).call(this,e,i),s=o.offset,a=!0===o.offsetPending,l=o.offsetAnchorPlacementId,c=o.offsetAnchorEdge,u=o.offsetAnchorIsReference,d=N(GC,this).claim(i.renderPlacementId),h=Number(n),f=h===Number.POSITIVE_INFINITY,p=Number.isFinite(h)&&h>0||f?h:void 0;if(!p)throw new Error("Timeline.placeRenderNodeOnTimeline requires a positive duration (seconds) or Infinity as 3rd argument");const m=i.params&&"object"==typeof i.params?i.params:void 0,v={renderPlacementId:d,type:r,offset:s,offsetPending:a,offsetAnchorPlacementId:l,offsetAnchorEdge:c,offsetAnchorIsReference:u,duration:p,params:m};if(!a){const t=s,e=s+p;Iv(N(VC,this),t,e,"Timeline.placeRenderNodeOnTimeline does not allow overlapping render node placements")}if(N(VC,this).push(v),bv(N(VC,this)),a&&l){const t=N(UC,this).find((t=>(null==t?void 0:t.placementId)===l));M(vF,this,GF).call(this,null==t?void 0:t.nodeId)}return this.trigger(dh.RENDER_PLACEMENT_ADDED,v),d}get placements(){return N(UC,this).slice()}getPlacementsActiveAtTime(t){return M(vF,this,lO).call(this,t)}getNodesAtTime(t){const e=M(vF,this,pO).call(this,t);if(!Number.isFinite(e))return[];const n=M(vF,this,lO).call(this,e),i=[];return n.forEach((t=>{const e=this.getNode(null==t?void 0:t.nodeId);e&&i.push(e)})),i}getPlacementDuration(t){return M(vF,this,UF).call(this,t)}getNode(t){if(N(BC,this)&&"function"==typeof N(BC,this).get)return N(BC,this).get(t)}get renderPlacements(){return N(VC,this).slice()}get placementsAhead(){const t=this.currentTime;return N(UC,this).filter((e=>{const n=gv(e);if(!Number.isFinite(n))return!1;const i=M(vF,this,UF).call(this,e);return"number"==typeof i?n+i>t:n>=t}))}get buffered(){return N(LC,this)?N(LC,this).buffered:{start:0,end:0}}get trackBuffers(){return N(HC,this)}onDispose(){M(vF,this,EF).call(this),N(JC,this)&&N(JC,this).clear(),N(fF,this)&&"function"==typeof N(fF,this).dispose&&N(fF,this).dispose(),F(fF,this,null),M(vF,this,TF).call(this),M(vF,this,SF).call(this),N(hF,this)&&"function"==typeof N(hF,this).dispose&&N(hF,this).dispose(),F(hF,this,null),N(jC,this)&&"function"==typeof N(jC,this).dispose&&(N(cF,this)&&"function"==typeof N(jC,this).off&&(N(jC,this).off("tick",N(cF,this)),F(cF,this,null)),N(jC,this).dispose(),F(jC,this,null)),M(vF,this,XF).call(this),F(LC,this,null),F(zC,this,null),F(UC,this,[]),F(VC,this,[]),M(vF,this,YF).call(this),M(vF,this,QF).call(this),N(uF,this).clear(),F(dF,this,null)}notifyDecodedFrame(t={}){const e=null==t?void 0:t.placementId,n=null==t?void 0:t.trackType;if(!e||!n)return;const i=`${e}:${n}`;N(QC,this).add(i),M(vF,this,oO).call(this,t),M(vF,this,cO).call(this),N(LC,this)&&"function"==typeof N(LC,this).handleDecodedFrame&&N(LC,this).handleDecodedFrame(t)}getDecodedFrameStats(){return function(t){const e={totalBytes:0,frames:0,available:!1};if(!t||"function"!=typeof t.values)return e;for(const n of t.values()){const t=[];null!=n&&n.current&&t.push(n.current),Array.isArray(null==n?void 0:n.frames)&&t.push(...n.frames),t.forEach((t=>{const n=null==t?void 0:t.frame;if(!n||!0===n.__closed||!0===n.closed)return;e.frames+=1;const i=DC(t);Number.isFinite(i)&&i>0&&(e.totalBytes+=i)}))}return e.available=!0,e}(N(uF,this))}hasDecodedFirstFrame(t,e){return!(!t||!e)&&N(QC,this).has(`${t}:${e}`)}getDecodedVisualBuffer(t,e){if(t&&e)return N(uF,this).get(`${t}:${e}`)}computeBuffered(t){const e=N(BC,this);if(e&&"function"==typeof e.get)return N(HC,this).computeBuffered(N(UC,this),t,e)}getActiveRenderPlacement(t=this.currentTime){const e=Number.isFinite(t)?t:this.currentTime,n=Array.isArray(N(VC,this))?N(VC,this):[];if(!n.length)return;let i;for(let t=0;t<n.length;t+=1){const r=n[t];if(!0===(null==r?void 0:r.offsetPending))continue;const o="number"==typeof r.offset?r.offset:void 0;if(!Number.isFinite(o))continue;const s=r.duration;("number"==typeof s&&Number.isFinite(s)&&s>0?e>=o&&e<o+s:e>=o)&&(i=r)}return i}}function yF(){F(YC,this,!1),this.trigger(dh.TIMELINE_RESET,{reason:"switch"}),M(vF,this,sO).call(this),N(HC,this)&&"function"==typeof N(HC,this).reset&&N(HC,this).reset(),N(JC,this)&&N(JC,this).clear(),F(UC,this,[]),F(VC,this,[]),M(vF,this,YF).call(this),M(vF,this,QF).call(this),N(qC,this).reset(),N(GC,this).reset()}function bF(t=[]){for(let e=0;e<t.length;e+=1){const n=t[e];if(!n||!n.nodeId)continue;const i=M(vF,this,wF).call(this,n),r=M(vF,this,_F).call(this,n);this.placeOnTimeline(n.nodeId,r,i)}}function kF(t=[]){for(let e=0;e<t.length;e+=1){const n=t[e];if(!n||!n.type)continue;const i=M(vF,this,xF).call(this,n),r=M(vF,this,IF).call(this,n);this.placeRenderNodeOnTimeline(n.type,r,n.duration,i)}}function wF(t){const e={};return t.placementId&&(e.placementId=t.placementId),Number.isFinite(t.nodeOffsetOverride)&&(e.nodeOffsetOverride=t.nodeOffsetOverride),Number.isFinite(t.nodeDurationOverride)&&(e.nodeDurationOverride=t.nodeDurationOverride),!0===t.offsetPending&&(e.offsetPending=!0,t.offsetAnchorPlacementId&&(e.offsetAnchorPlacementId=t.offsetAnchorPlacementId),t.offsetAnchorEdge&&(e.offsetAnchorEdge=t.offsetAnchorEdge)),Number.isFinite(t.offsetEndSeconds)&&(e.offsetEndSeconds=t.offsetEndSeconds),!0===t.loop&&(e.loop=!0),t.loopRootPlacementId&&(e.loopRootPlacementId=t.loopRootPlacementId),Number.isFinite(t.loopRootOffset)&&(e.loopRootOffset=t.loopRootOffset),e}function xF(t){const e={};return t.renderPlacementId&&(e.renderPlacementId=t.renderPlacementId),t.params&&"object"==typeof t.params&&(e.params=t.params),e}function _F(t){if(!0===t.offsetPending&&t.offsetAnchorPlacementId&&t.offsetAnchorEdge){if(!0===t.offsetAnchorIsReference)return`${t.offsetAnchorPlacementId}@${t.offsetAnchorEdge}`;if("end"===t.offsetAnchorEdge)return Number.isFinite(t.offsetEndSeconds)&&t.offsetEndSeconds>0?-t.offsetEndSeconds:"end"}return"string"==typeof t.offset||Number.isFinite(t.offset)?t.offset:0}function IF(t){return!0===t.offsetPending&&t.offsetAnchorPlacementId&&t.offsetAnchorEdge&&!0===t.offsetAnchorIsReference?`${t.offsetAnchorPlacementId}@${t.offsetAnchorEdge}`:"string"==typeof t.offset||Number.isFinite(t.offset)?t.offset:0}function TF(){N(LC,this)&&"function"==typeof N(LC,this).exit&&N(LC,this).exit()}function EF(){N(pF,this)&&"function"==typeof this.off&&(this.off(dh.TIMELINE_SEEKED,N(pF,this)),F(pF,this,null)),N(mF,this)&&"function"==typeof this.off&&(this.off("nodestart",N(mF,this)),F(mF,this,null))}function SF(){N(HC,this)&&(N(KC,this)&&(N(HC,this).off("track:underflow",N(KC,this)),F(KC,this,null)),N(XC,this)&&(N(HC,this).off("track:ready",N(XC,this)),F(XC,this,null)),"function"==typeof N(HC,this).dispose&&N(HC,this).dispose(),F(HC,this,null))}function MF(){N(HC,this)&&"function"==typeof N(HC,this).on&&(F(KC,this,(t=>M(vF,this,CF).call(this,t))),F(XC,this,(t=>M(vF,this,FF).call(this,t))),N(HC,this).on(dh.TRACK_UNDERFLOW,N(KC,this)),N(HC,this).on(dh.TRACK_READY,N(XC,this)))}function AF(){N(jC,this)&&"function"==typeof N(jC,this).on&&(F(cF,this,(t=>M(vF,this,NF).call(this,t))),N(jC,this).on(dh.CLOCK_TICK,N(cF,this)))}function NF(t){var e,n;M(vF,this,zF).call(this),M(vF,this,cO).call(this),null!==(e=N(fF,this))&&void 0!==e&&null!==(n=e.handleTimeUpdate)&&void 0!==n&&n.call(e,this.currentTime,{isSeeking:!1}),M(vF,this,BF).call(this,this.currentTime),this.trigger(dh.TIMELINE_TIME_UPDATE,hh(this.currentTime,"clock")),N(LC,this)&&"function"==typeof N(LC,this).handleClockTick&&N(LC,this).handleClockTick(t)}function CF(t){M(vF,this,zF).call(this);const e=M(vF,this,OF).call(this);e&&(null==t?void 0:t.trackType)===e.trackType&&(N(LC,this)&&"function"==typeof N(LC,this).handleMainTrackUnderflow?N(LC,this).handleMainTrackUnderflow(t):this.transitionTo(Eg))}function FF(t){if(M(vF,this,zF).call(this),this.state!==Eg)return;const e=M(vF,this,OF).call(this);if(!e)return;if((null==t?void 0:t.trackType)!==e.trackType)return;if(N(LC,this)&&"function"==typeof N(LC,this).handleMainTrackReady)return void N(LC,this).handleMainTrackReady(t);const n=this.getLastStableState()||Sg;this.transitionTo(n)}function OF(t=this.currentTime){const e=M(vF,this,RF).call(this,t);if(!e)return;const n=N(BC,this)&&"function"==typeof N(BC,this).get?N(BC,this).get(e.nodeId):void 0;if(!n)return;const i=M(vF,this,PF).call(this,n);return i?{placement:e,trackType:i}:void 0}function PF(t){var e;const n=Array.isArray(null==t?void 0:t.tracks)?t.tracks:[];let i;if(null!=t&&t.mainTrackId){const e=n.find((e=>(null==e?void 0:e.id)===t.mainTrackId));i=null==e?void 0:e.type}if(i||(i=null===(e=n.find((t=>null==t?void 0:t.type)))||void 0===e?void 0:e.type),"video"===i||"audio"===i||"image"===i)return i}function RF(t=this.currentTime){const e=N(UC,this)||[];let n;for(let i=0;i<e.length;i+=1){const r=e[i],o=gv(r);if(!Number.isFinite(o))continue;const s=M(vF,this,UF).call(this,r);if(Number.isFinite(s)){if(t>=o&&t<o+s)return r}else if(t<=o)return r;!n&&t<o&&(n=r)}return n}function DF(t={}){if(this.state!==Ig)return;const e=null==t?void 0:t.placementId;if(!e)return;const n=M(vF,this,fO).call(this,e);n&&M(vF,this,LF).call(this,n)}function BF(t=this.currentTime){if(this.state!==Ig)return;const e=M(vF,this,lO).call(this,t);Array.isArray(e)&&e.length&&e.forEach((t=>M(vF,this,LF).call(this,t)))}function LF(t){const e=null==t?void 0:t.placementId;if(!e)return;if(N(JC,this).has(e))return;if(!t||!0!==t.loop)return;if(!t.nodeId)return;const n=M(vF,this,UF).call(this,t);if(!Number.isFinite(n)||n<=0)return;const i=gv(t);if(!Number.isFinite(i))return;const r=i+n;if(!Number.isFinite(r))return;const o=t.loopRootPlacementId||t.placementId,s=Number.isFinite(t.loopRootOffset)?t.loopRootOffset:i;N(JC,this).add(e),this.placeOnTimeline(t.nodeId,r,{nodeOffsetOverride:t.nodeOffsetOverride,nodeDurationOverride:t.nodeDurationOverride,loop:!0,loopRootPlacementId:o,loopRootOffset:s})}function zF(){const t=kv(N(UC,this),{getPlacementDuration:t=>M(vF,this,UF).call(this,t),snapPlacementOffset:(t,e)=>M(vF,this,qF).call(this,t,{nodeOffsetOverride:null==e?void 0:e.nodeOffsetOverride}),onResolvedPlacement:(t,e)=>{!0!==t.loop||Number.isFinite(t.loopRootOffset)||(t.loopRootOffset=t.offset),M(vF,this,HF).call(this,null==e?void 0:e.nodeId)}});return t.updated&&(M(vF,this,QF).call(this),t.resolvedPlacements.forEach((t=>{M(vF,this,ZF).call(this,t),this.trigger(dh.PLACEMENT_ADDED,t)}))),t.updated}function WF(){if(!N(VC,this).length||!N(UC,this).length)return!1;const t=new Map;N(UC,this).forEach((e=>{(null==e?void 0:e.placementId)&&t.set(e.placementId,e)}));const e=N(VC,this).filter((t=>!0===(null==t?void 0:t.offsetPending)));if(!e.length)return!1;let n=!1;const i=[];for(let r=0;r<e.length;r+=1){const o=e[r];M(vF,this,jF).call(this,o,t)&&(n=!0,i.push(o))}return n&&(bv(N(VC,this)),i.forEach((t=>{this.trigger(dh.RENDER_PLACEMENT_ADDED,t)}))),n}function jF(t,e){const n=null==t?void 0:t.offsetAnchorPlacementId,i=null==t?void 0:t.offsetAnchorEdge;if(!n||!i)return!1;const r=e.get(n);if(!r||!0===r.offsetPending)return!1;const o=M(vF,this,$F).call(this,r,t);if(!Number.isFinite(o))return!1;t.offset=o,t.offsetPending=!1,t.offsetAnchorPlacementId=void 0,t.offsetAnchorEdge=void 0,t.offsetAnchorIsReference=void 0;const s=t.offset,a=t.offset+t.duration;return Iv(N(VC,this).filter((e=>e!==t&&!0!==(null==e?void 0:e.offsetPending))),s,a,"Timeline.placeRenderNodeOnTimeline does not allow overlapping render node placements"),M(vF,this,HF).call(this,null==r?void 0:r.nodeId),!0}function $F(t,e){const n=gv(t);if(!Number.isFinite(n))return;if("start"===e.offsetAnchorEdge)return M(vF,this,qF).call(this,n);const i=M(vF,this,UF).call(this,t);if(!(i>0))return;const r=n+i;if(!Number.isFinite(r))return;const o=M(vF,this,qF).call(this,r);return!0===e.offsetAnchorIsReference?Math.max(o,r):o}function UF(t){return mv(t,N(BC,this))}function qF(t,e={}){var n;return function(t,e={},n){const i=Number(n);if(!(i>0))return t;const r=Number(t);if(!Number.isFinite(r))return t;const o=Number.isFinite(null==e?void 0:e.nodeOffsetOverride)?e.nodeOffsetOverride:0,s=r-o;return Math.round(s*i)/i+o}(t,e,null===(n=this.settings)||void 0===n?void 0:n.snapToFps)}function VF(t,e={}){const n=_v(t);if("string"==typeof t&&t.includes("@")&&!n)throw new Error("Timeline.placeRenderNodeOnTimeline requires valid placement reference");if(!n){const n=wv(t);return{offset:M(vF,this,qF).call(this,n,e)}}const i=N(UC,this).find((t=>(null==t?void 0:t.placementId)===n.placementId));if(!i)throw new Error("Timeline.placeRenderNodeOnTimeline requires valid placement reference");const r=gv(i);if("start"===n.anchor)return Number.isFinite(r)?{offset:M(vF,this,qF).call(this,r,e)}:{offset:void 0,offsetPending:!0,offsetAnchorPlacementId:i.placementId,offsetAnchorEdge:"start",offsetAnchorIsReference:!0};const o=M(vF,this,UF).call(this,i);if(!(Number.isFinite(r)&&o>0))return{offset:void 0,offsetPending:!0,offsetAnchorPlacementId:i.placementId,offsetAnchorEdge:"end",offsetAnchorIsReference:!0};const s=r+o,a=M(vF,this,qF).call(this,s,e);return{offset:Math.max(a,s)}}function GF(t){if(!t||!N(BC,this)||"function"!=typeof N(BC,this).get)return;if(N(ZC,this).has(t))return;let e;try{e=N(BC,this).get(t)}catch(t){return}if(!e||"function"!=typeof e.on)return;if("ready"===e.state&&e.duration>0)return void this.updateTime(this.currentTime);const n=()=>{this.updateTime(this.currentTime),M(vF,this,HF).call(this,t)};e.on(dh.NODE_LOADED,n),N(ZC,this).set(t,n)}function HF(t){if(!t)return;if(M(vF,this,KF).call(this,t))return;const e=N(ZC,this).get(t);if(!e)return;let n;try{n=N(BC,this).get(t)}catch(t){n=null}n&&"function"==typeof n.off&&n.off(dh.NODE_LOADED,e),N(ZC,this).delete(t)}function KF(t){if(!t)return!1;const e=new Map;N(UC,this).forEach((t=>{(null==t?void 0:t.placementId)&&e.set(t.placementId,t)}));const n=n=>{if(null==n||!n.offsetPending||null==n||!n.offsetAnchorPlacementId)return!1;const i=e.get(n.offsetAnchorPlacementId);return(null==i?void 0:i.nodeId)===t};return!!N(UC,this).some((t=>n(t)))||!!N(VC,this).some((t=>n(t)))}function XF(){N(ZC,this).size&&N(BC,this)?(N(ZC,this).forEach(((t,e)=>{let n;try{n=N(BC,this).get(e)}catch(t){n=null}n&&"function"==typeof n.off&&n.off(dh.NODE_LOADED,t)})),N(ZC,this).clear()):N(ZC,this).clear()}function YF(){F(tF,this,[]),F(eF,this,0),N(nF,this).clear(),N(iF,this).clear(),F(rF,this,Number.NEGATIVE_INFINITY)}function QF(){F(oF,this,[]),F(aF,this,0),F(sF,this,Number.NEGATIVE_INFINITY)}function JF(t,e){const n=N(tF,this),i={placementId:t,endTime:e};if(!n.length||e>=n[n.length-1].endTime)return void n.push(i);const r=n.findIndex((t=>e<t.endTime)),o=-1===r?n.length:r;n.splice(o,0,i),o<N(eF,this)&&F(eF,this,N(eF,this)+1)}function ZF(t){const e=null==t?void 0:t.placementId;if(!e||N(nF,this).has(e))return;const n=gv(t),i=M(vF,this,UF).call(this,t);if(!Number.isFinite(n)||!Number.isFinite(i)||i<0)return void N(iF,this).add(e);const r=n+i;Number.isFinite(r)&&(N(nF,this).add(e),N(iF,this).delete(e),M(vF,this,JF).call(this,e,r))}function tO(){N(iF,this).size&&Array.from(N(iF,this)).forEach((t=>{const e=M(vF,this,fO).call(this,t);e?M(vF,this,ZF).call(this,e):N(iF,this).delete(t)}))}function eO(t){const e=Number(t);if(!Number.isFinite(e))return;if(e<N(rF,this))return void F(rF,this,e);if(F(rF,this,e),M(vF,this,tO).call(this),!N(tF,this).length)return;const n=new Set;let i=N(eF,this);for(;i<N(tF,this).length;){const t=N(tF,this)[i];if(!t||!Number.isFinite(t.endTime)||t.endTime>e)break;t.placementId&&n.add(t.placementId),i+=1}i!==N(eF,this)&&(F(eF,this,i),n.size&&(M(vF,this,rO).call(this,n),M(vF,this,nO).call(this,n)))}function nO(t){if(t&&t.size)for(const e of N(QC,this)){const n=e.split(":")[0];t.has(n)&&N(QC,this).delete(e)}}function iO(t){const e=Array.isArray(null==t?void 0:t.frames)?t.frames:[],n=null==t?void 0:t.current;(n?[n,...e]:e).forEach((t=>{const e=null==t?void 0:t.frame;if(e&&"function"==typeof e.close)try{e.close()}catch(t){}}))}function rO(t){if(t&&t.size)for(const[e,n]of N(uF,this).entries())t.has(null==n?void 0:n.placementId)&&(M(vF,this,iO).call(this,n),N(uF,this).delete(e))}function oO(t={}){var e;const n=null==t?void 0:t.placementId,i=null==t?void 0:t.nodeId,r=null==t?void 0:t.trackId,o=null==t?void 0:t.segmentId,s=null==t?void 0:t.trackType;if(!(n&&i&&r&&o))return;if("video"!==s&&"image"!==s)return;const a=(null==t?void 0:t.frame)||(null==t?void 0:t.data);if(!a)return;"video"===s&&"object"==typeof a&&"function"==typeof a.close&&(a.__keepOpen=!0);const l=mC(a),c=Number.isFinite(null==l?void 0:l.width)?l.width:void 0,u=Number.isFinite(null==l?void 0:l.height)?l.height:void 0,d=Number.isFinite(null==t?void 0:t.pts)?t.pts:void 0;if(!Number.isFinite(d))return;const h=Number.isFinite(null==t?void 0:t.duration)?t.duration:void 0,f=`${n}:${r}`,p=N(uF,this).get(f),m=p||{placementId:n,nodeId:i,trackId:r,trackType:s,frames:[],current:void 0},v={placementId:n,nodeId:i,trackId:r,segmentId:o,frame:a,width:c,height:u,presentationTime:d,duration:h},g=m.frames,y=g.length?g[g.length-1]:void 0;if(!y||y.presentationTime<=v.presentationTime)g.push(v);else{let t=g.findIndex((t=>t.presentationTime>v.presentationTime));-1===t&&(t=g.length),g.splice(t,0,v)}const b=Number(null===(e=this.settings)||void 0===e?void 0:e.maxBufferedVideoFrames);if("video"===s&&Number.isFinite(b)&&b>0&&g.length>b){const t=g.length-b;for(let e=0;e<t;e+=1){const t=g.pop(),e=null==t?void 0:t.frame;if(e&&"function"==typeof e.close)try{e.close()}catch(t){}}}p||N(uF,this).set(f,m)}function sO(){for(const t of N(uF,this).values())M(vF,this,iO).call(this,t);N(uF,this).clear(),F(dF,this,null),N(QC,this).clear()}function aO(t){const e=Number.isFinite(t)?t:this.currentTime;if(!Number.isFinite(e))return;e<N(sF,this)&&(F(oF,this,[]),F(aF,this,0));const n=Array.isArray(N(UC,this))?N(UC,this):[],i=[],r=new Set;N(oF,this).forEach((t=>{M(vF,this,yO).call(this,t,e)&&(i.push(t),(null==t?void 0:t.placementId)&&r.add(t.placementId))}));let o=N(aF,this);for(;o<n.length;){const t=n[o],s=gv(t);if(!Number.isFinite(s))break;if(s>e)break;if(M(vF,this,yO).call(this,t,e)){const e=null==t?void 0:t.placementId;e&&r.has(e)||(i.push(t),e&&r.add(e))}o+=1}F(oF,this,i),F(aF,this,o),F(sF,this,e)}function lO(t,e={}){const n=Number.isFinite(t)?t:this.currentTime,i=Number.isFinite(null==e?void 0:e.endEpsilonSeconds)?e.endEpsilonSeconds:0;return 0===i&&n===this.currentTime&&n===N(sF,this)?N(oF,this).slice():(Array.isArray(N(UC,this))?N(UC,this):[]).filter((t=>M(vF,this,yO).call(this,t,n,i)))}function cO(){const t=this.currentTime,e=M(vF,this,dO).call(this,t);if(!e.length)return void F(dF,this,null);const n=this.getActiveRenderPlacement(t),i=M(vF,this,hO).call(this,e,n);(i!==N(dF,this)||M(vF,this,uO).call(this,t,n))&&(F(dF,this,i),this.trigger(dh.VISUAL_FRAMES_AVAILABLE,{time:t,frames:e}))}function uO(t,e){const n=e||this.getActiveRenderPlacement(t);if(!n)return!1;if(!Xv.doesRenderNodeTypeRequireFrameCadence(null==n?void 0:n.type))return!1;const i=n.duration;return"number"==typeof i&&i>0}function dO(t){return function(t={}){const e=t.buffers,n=t.time,i=t.getPlacementById,r=t.isPlacementActiveAtTime,o=t.getPlacementDuration,s=[];if(!e||"function"!=typeof e.entries)return[];const a=[];for(const[t,c]of e.entries()){const e=null==c?void 0:c.placementId,u="function"==typeof i?i(e):void 0;if(!u){uC(c),a.push(t);continue}if("function"==typeof r&&!r(u,n)){const e=dC(u),i="function"==typeof o?o(u):void 0;Number.isFinite(i)&&Number.isFinite(e)&&n>=e+i&&(uC(c),a.push(t));continue}const d=Array.isArray(null==c?void 0:c.frames)?c.frames:[];for(;d.length&&Number.isFinite(null===(l=d[0])||void 0===l?void 0:l.presentationTime)&&d[0].presentationTime<=n;){var l;const t=c.current,e=d.shift();c.current=e,t&&t!==e&&cC(null==t?void 0:t.frame)}if(!c.current)continue;const h={placementId:e,nodeId:c.current.nodeId,trackId:c.current.trackId,segmentId:c.current.segmentId,frame:c.current.frame,width:c.current.width,height:c.current.height,presentationTime:c.current.presentationTime,duration:c.current.duration};s.push({frame:h,placementId:e,placementOffset:dC(u),placementSortOffset:hC(u),placementSortId:fC(u,e)})}return a.forEach((t=>{e.delete(t)})),s.sort(((t,e)=>{const n=Number.isFinite(null==t?void 0:t.placementSortOffset)?t.placementSortOffset:Number.isFinite(null==t?void 0:t.placementOffset)?t.placementOffset:0,i=Number.isFinite(null==e?void 0:e.placementSortOffset)?e.placementSortOffset:Number.isFinite(null==e?void 0:e.placementOffset)?e.placementOffset:0;if(n!==i)return n-i;const r=(null==t?void 0:t.placementSortId)||(null==t?void 0:t.placementId),o=(null==e?void 0:e.placementSortId)||(null==e?void 0:e.placementId),s=pC(r),a=pC(o);return Number.isFinite(s)&&Number.isFinite(a)&&s!==a?s-a:r&&o&&r!==o?r<o?-1:1:function(t,e){const n=(null==t?void 0:t.frame)||{},i=(null==e?void 0:e.frame)||{};return n.trackId!==i.trackId?n.trackId<i.trackId?-1:1:n.nodeId!==i.nodeId?n.nodeId<i.nodeId?-1:1:n.segmentId!==i.segmentId?n.segmentId<i.segmentId?-1:1:("number"==typeof n.presentationTime?n.presentationTime:0)-("number"==typeof i.presentationTime?i.presentationTime:0)}(t,e)})),s.map((t=>t.frame))}({buffers:N(uF,this),time:t,getPlacementById:t=>M(vF,this,fO).call(this,t),isPlacementActiveAtTime:(t,e)=>M(vF,this,yO).call(this,t,e),getPlacementDuration:t=>M(vF,this,UF).call(this,t)})}function hO(t,e){return`${e?`render:${e.renderPlacementId||e.type||"unknown"}`:"render:default"}|${t.map((t=>`${t.nodeId}:${t.trackId}:${t.segmentId}@${t.presentationTime}`)).join("|")}`}function fO(t){if(t)return(N(UC,this)||[]).find((e=>(null==e?void 0:e.placementId)===t))}function pO(t){if("end"===t){const t=M(vF,this,mO).call(this);if(!Number.isFinite(t))return;const e=M(vF,this,vO).call(this);return Math.max(0,t-Math.min(t,e))}const e=Number(t);return Number.isFinite(e)?e:0}function mO(){let t;return(Array.isArray(N(UC,this))?N(UC,this):[]).forEach((e=>{const n=gv(e);if(!Number.isFinite(n))return;const i=M(vF,this,UF).call(this,e);if(!Number.isFinite(i))return;const r=n+i;Number.isFinite(r)&&(!Number.isFinite(t)||r>t)&&(t=r)})),t}function vO(){const t=M(vF,this,gO).call(this);return t>0?t:.001}function gO(){var t;const e=Number(null===(t=this.settings)||void 0===t?void 0:t.snapToFps);return!Number.isFinite(e)||e<=0?0:.5/e}function yO(t,e,n=0){if(!yv(t,e,N(BC,this)))return!1;const i=Number(n);if(!Number.isFinite(i)||i<=0)return!0;const r=M(vF,this,UF).call(this,t);if(!Number.isFinite(r))return!0;const o=gv(t);return!Number.isFinite(o)||e<o+r-i}var bO=new WeakMap,kO=new WeakMap,wO=new WeakMap,xO=new WeakMap,_O=new WeakMap,IO=new WeakMap,TO=new WeakMap,EO=new WeakMap,SO=new WeakMap,MO=new WeakMap,AO=new WeakMap,NO=new WeakMap,CO=new WeakMap,FO=new WeakMap,OO=new WeakMap,PO=new WeakMap,RO=new WeakMap,DO=new WeakSet;class BO extends sh{get name(){return"QoE"}get defaults(){return{calcScoreInterval:1,streamQualityWeight:.8,fpsWeight:.2,fpsMathFuncType:"quad",bestFpsMobile:27,bestFpsDesktop:57,waitingMultiplier:1,statusFloors:{excellent:.98,good:.85,fair:.7,poor:0,alert:0},alertStatusCeil:.3,fpsGracePeriod:2,windowSeconds:30}}constructor(...t){super(...t),O(this,DO),C(this,bO,void 0),C(this,kO,void 0),C(this,wO,1),C(this,xO,1),C(this,_O,1),C(this,IO,""),C(this,TO,0),C(this,EO,[]),C(this,SO,null),C(this,MO,void 0),C(this,AO,[]),C(this,NO,null),C(this,CO,null),C(this,FO,0),C(this,OO,0),C(this,PO,0),C(this,RO,void 0);const[e]=t;F(bO,this,e),F(FO,this,Cb()),F(RO,this,M(DO,this,LO).call(this)),M(DO,this,zO).call(this),M(DO,this,WO).call(this),M(DO,this,VO).call(this),M(DO,this,UO).call(this)}get publicAPI(){return N(RO,this)}calcScore(){M(DO,this,tP).call(this)}onDispose(){N(bO,this)&&N(kO,this)&&"function"==typeof N(bO,this).off&&N(bO,this).off(dh.TIMELINE_PLAYER_STATE,N(kO,this)),F(kO,this,null),M(DO,this,qO).call(this),M(DO,this,GO).call(this),F(bO,this,null),F(AO,this,[]),F(EO,this,[]),F(RO,this,null)}}function LO(){const t=this;return{get score(){return N(wO,t)},get status(){return N(IO,t)},get streamQualityScore(){return N(xO,t)},get fpsScore(){return N(_O,t)},get browserFps(){return N(TO,t)},get waitingSeconds(){return N(OO,t)/1e3},get playingSeconds(){return N(PO,t)/1e3}}}function zO(){Number(this.settings.streamQualityWeight)+Number(this.settings.fpsWeight)!==1&&(this.log.warn("QoE weights must sum to 1; resetting to legacy defaults."),this.settings.streamQualityWeight=.8,this.settings.fpsWeight=.2)}function WO(){N(bO,this)&&"function"==typeof N(bO,this).on&&(F(kO,this,(t=>M(DO,this,jO).call(this,t))),N(bO,this).on(dh.TIMELINE_PLAYER_STATE,N(kO,this)))}function jO(t={}){const e="string"==typeof(null==t?void 0:t.event)?t.event:"";"playing"!==e?"waiting"!==e?"pause"!==e&&"seeking"!==e&&"seeked"!==e&&"reset"!==e||M(DO,this,$O).call(this,null):M(DO,this,$O).call(this,"waiting"):M(DO,this,$O).call(this,"playing")}function $O(t){if(t===N(NO,this))return;const e=Cb();N(NO,this)&&Number.isFinite(N(CO,this))&&N(AO,this).push({state:N(NO,this),startMs:N(CO,this),endMs:e}),F(NO,this,t),F(CO,this,t?e:null),M(DO,this,XO).call(this,e)}function UO(){const t=Number(this.settings.calcScoreInterval);!Number.isFinite(t)||t<=0||(F(MO,this,(()=>M(DO,this,tP).call(this))),wx(N(MO,this),1e3*t))}function qO(){N(MO,this)&&xx(N(MO,this)),F(MO,this,null)}function VO(){if("function"!=typeof dx)return;const t=()=>{if(this._disposed)return;const e=Cb();F(TO,this,M(DO,this,HO).call(this,N(EO,this),e)),F(SO,this,dx(t))};F(SO,this,dx(t))}function GO(){N(SO,this)&&"function"==typeof hx&&hx(N(SO,this)),F(SO,this,null)}function HO(t,e){const n=M(DO,this,KO).call(this);for(t.push(e);t.length&&e-t[0]>n;)t.shift();if(t.length<2)return 0;const i=t[t.length-1]-t[0];return i<=0?0:1e3*(t.length-1)/i}function KO(){const t=Number(this.settings.windowSeconds);return!Number.isFinite(t)||t<=0?3e4:1e3*t}function XO(t){const e=t-M(DO,this,KO).call(this);for(;N(AO,this).length&&N(AO,this)[0].endMs<=e;)N(AO,this).shift()}function YO(t){const e=t-M(DO,this,KO).call(this);let n=0,i=0;const r=(r,o,s)=>{const a=Math.max(o,e),l=Math.min(s,t);l<=a||("waiting"===r?n+=l-a:"playing"===r&&(i+=l-a))};return N(AO,this).forEach((t=>{r(t.state,t.startMs,t.endMs)})),N(NO,this)&&Number.isFinite(N(CO,this))&&r(N(NO,this),N(CO,this),t),F(OO,this,n),F(PO,this,i),{waitingMs:n,playingMs:i}}function QO(t,e){if(t<=0)return 1;if(t>e)return 0;const n=e||1;return fv(1-t*this.settings.waitingMultiplier/n)}function JO(){if(Cb()-N(FO,this)<=1e3*this.settings.fpsGracePeriod)return 1;const t=Number(N(TO,this)),e=wg.isDesktop()?this.settings.bestFpsDesktop:this.settings.bestFpsMobile,n=fv(e>0?t/e:0);return"quad"===this.settings.fpsMathFuncType?n*n:n}function ZO(t,e){const n=this.settings.statusFloors||{};let i="";return t>=n.excellent?i="excellent":t>=n.good?i="good":t>=n.fair?i="fair":(i="poor",t<=this.settings.alertStatusCeil&&e>0&&(i="alert")),i}function tP(){const t=Cb(),{waitingMs:e,playingMs:n}=M(DO,this,YO).call(this,t),i=M(DO,this,QO).call(this,e,n),r=M(DO,this,JO).call(this),o=fv(i*this.settings.streamQualityWeight+r*this.settings.fpsWeight);o!==N(wO,this)&&(F(wO,this,o),this.trigger(dh.QOE_SCORE,o)),F(xO,this,i),F(_O,this,r);const s=M(DO,this,ZO).call(this,o,e);s!==N(IO,this)&&(F(IO,this,s),this.trigger(dh.QOE_STATUS,s))}function eP(t,e=0){const n=Number(t);return Number.isFinite(n)?n:e}function nP(t){const e=Number(t);return!Number.isFinite(e)||e<0?0:e}var iP=new WeakMap,rP=new WeakMap,oP=new WeakMap,sP=new WeakMap,aP=new WeakSet;class lP extends sh{get name(){return"SegmentEvictionCoordinator"}get defaults(){return{enabled:Kb("segmentEvictionEnabled"),bufferBehindSeconds:Kb("segmentEvictionBufferBehindSeconds"),bufferAheadSeconds:Kb("segmentEvictionBufferAheadSeconds"),maxRetainedBytes:Kb("segmentEvictionMaxRetainedBytes")}}get methodsExcludedFromAutoLog(){return new Set([...super.methodsExcludedFromAutoLog,"evictAtTime"])}constructor(t,e,n={}){super(n),O(this,aP),C(this,iP,void 0),C(this,rP,void 0),C(this,oP,void 0),C(this,sP,void 0),F(iP,this,t),F(rP,this,e),F(oP,this,(t=>M(aP,this,cP).call(this,t))),F(sP,this,(t=>M(aP,this,uP).call(this,t))),N(iP,this)&&"function"==typeof N(iP,this).on&&(N(iP,this).on(dh.TIMELINE_TIME_UPDATE,N(oP,this)),N(iP,this).on(dh.TIMELINE_SEEKED,N(sP,this)))}onDispose(){N(iP,this)&&"function"==typeof N(iP,this).off&&(N(iP,this).off(dh.TIMELINE_TIME_UPDATE,N(oP,this)),N(iP,this).off(dh.TIMELINE_SEEKED,N(sP,this))),F(iP,this,null),F(rP,this,null),F(oP,this,null),F(sP,this,null)}evictAtTime(t){if(!0!==this.settings.enabled)return;const e=Number(t);if(!Number.isFinite(e))return;const n=nP(this.settings.bufferBehindSeconds),i=nP(this.settings.bufferAheadSeconds),r=e-n,o=e+i,s=M(aP,this,dP).call(this);if(!s.length)return;const a=Number(this.settings.maxRetainedBytes);if(Number.isFinite(a)&&a>0&&M(aP,this,hP).call(this,s)<=a)return;const l=new Map;s.forEach((t=>{const e=null==t?void 0:t.nodeId;if(!e)return;const n=gv(t);if(!Number.isFinite(n))return;const i=l.get(e)||[];i.push(t),l.set(e,i)})),l.size&&l.forEach(((t,e)=>{const n=M(aP,this,fP).call(this,e);if(!n)return;const i=t.filter((t=>M(aP,this,pP).call(this,t,r,o)));i.length?M(aP,this,mP).call(this,n,i,r,o):"function"==typeof n.evict&&n.evict()}))}}function cP(t){var e,n;if(!0!==this.settings.enabled)return;if((null===(e=N(iP,this))||void 0===e?void 0:e.state)===Mg)return;const i=Number(null==t?void 0:t.time),r=Number.isFinite(i)?i:Number(null===(n=N(iP,this))||void 0===n?void 0:n.currentTime);this.evictAtTime(r)}function uP(t){var e;if(!0!==this.settings.enabled)return;const n=Number(null==t?void 0:t.targetTime),i=Number.isFinite(n)?n:Number(null===(e=N(iP,this))||void 0===e?void 0:e.currentTime);this.evictAtTime(i)}function dP(){var t;const e=null===(t=N(iP,this))||void 0===t?void 0:t.placements;return Array.isArray(e)?e:[]}function hP(t){if(!Array.isArray(t)||!t.length)return 0;const e=new Set;let n=0;return t.forEach((t=>{const i=null==t?void 0:t.nodeId;if(!i||e.has(i))return;e.add(i);const r=M(aP,this,fP).call(this,i),o=Number(null==r?void 0:r.retainedByteLength);ob(o)?n+=o:(Array.isArray(null==r?void 0:r.tracks)?r.tracks:[]).forEach((t=>{(Array.isArray(null==t?void 0:t.segments)?t.segments:[]).forEach((t=>{ob(null==t?void 0:t.retainedByteLength)&&(n+=t.retainedByteLength)}))}))})),n}function fP(t){if(N(rP,this)&&"function"==typeof N(rP,this).get)return N(rP,this).get(t)}function pP(t,e,n){const i=gv(t);if(!Number.isFinite(i))return!1;const r=mv(t,N(rP,this));return(Number.isFinite(r)?i+r:Number.POSITIVE_INFINITY)>e&&i<n}function mP(t,e,n,i){const r=Array.isArray(null==t?void 0:t.tracks)?t.tracks:[];r.length&&r.forEach((t=>{const r=Array.isArray(null==t?void 0:t.segments)?t.segments:[],o=eP(null==t?void 0:t.offset,0);r.forEach((t=>{if(!t||!ob(null==(r=t)?void 0:r.retainedByteLength))return;var r;if(t.isInit)return;let s=!1;for(let r=0;r<e.length;r+=1){const a=e[r],l=gv(a);if(!Number.isFinite(l))continue;const c=eP(null==a?void 0:a.nodeOffsetOverride,0),u=eP(null==t?void 0:t.offset,NaN);if(!Number.isFinite(u))continue;const d=eP(null==t?void 0:t.duration,0),h=l+o+u-c,f=h+(d>0?d:0),p=mv(a,N(rP,this)),m=Number.isFinite(p)?l+p:Number.POSITIVE_INFINITY;if(!(f<=l||h>=m||f<=n||h>=i)){s=!0;break}}s||t.evict()}))}))}var vP=new WeakMap,gP=new WeakMap,yP=new WeakMap,bP=new WeakSet;class kP extends sh{get name(){return"DocumentVisibility"}get defaults(){return{autoPauseOnVisibilityChange:!0,autoResumeOnVisibilityChange:!0}}constructor(t,e={}){super(e),O(this,bP),C(this,vP,void 0),C(this,gP,null),C(this,yP,!1),F(vP,this,t),M(bP,this,wP).call(this)}onDispose(){M(bP,this,xP).call(this),F(vP,this,null),F(yP,this,!1)}}function wP(){const t=null==ch?void 0:ch.document;t&&"function"==typeof t.addEventListener&&(F(gP,this,(()=>M(bP,this,_P).call(this))),t.addEventListener("visibilitychange",N(gP,this)))}function xP(){const t=null==ch?void 0:ch.document;N(gP,this)&&t&&"function"==typeof t.removeEventListener&&t.removeEventListener("visibilitychange",N(gP,this)),F(gP,this,null)}function _P(){const t=null==ch?void 0:ch.document,e=null==t?void 0:t.visibilityState;"string"==typeof e&&("hidden"!==e?"visible"===e&&M(bP,this,TP).call(this):M(bP,this,IP).call(this))}function IP(){var t;(null===(t=this.settings)||void 0===t?void 0:t.autoPauseOnVisibilityChange)&&N(vP,this)&&"function"==typeof N(vP,this).pause&&(N(vP,this).state===Ig?(this.log.info("[#handleHidden] Pausing timeline due to document visibility change"),N(vP,this).pause(),F(yP,this,!0)):F(yP,this,!1))}function TP(){var t;N(yP,this)&&(null===(t=this.settings)||void 0===t?void 0:t.autoResumeOnVisibilityChange)&&N(vP,this)&&"function"==typeof N(vP,this).play&&(N(vP,this).state!==Ig?(this.log.info("[#handleVisible] Resuming timeline due to document visibility change"),N(vP,this).play(),F(yP,this,!1)):F(yP,this,!1))}const EP=[{event:"canplay",once:!0,trackAs:"canplay"},{event:"playing",once:!0,trackAs:"startedplaying"},"seeked","canvas.webglcontextlost"];function SP(t,e=0){return Number.isFinite(t)?t:e}function MP(t){const e=null==t?void 0:t.exposedPlayerAPI;return e&&"object"==typeof e?e:t}const AP=[function(t){return{schema:"iglu:com.helloeko/player/jsonschema/1-0-7",match:/^.*$/,getData:()=>{var e,n,i;const r=function(t){const e=null==t?void 0:t.exposedPlayerAPI;return e&&"object"==typeof e?e:t}(t);return{playerversion:"string"==typeof(null==r?void 0:r.version)?r.version:"0.0.0",isautoplay:!(null==r||null===(e=r.options)||void 0===e||!e.autoplay),playerqoe:SP(null==r||null===(n=r.qoe)||void 0===n?void 0:n.score),playerqoestatus:"string"==typeof(null==r||null===(i=r.qoe)||void 0===i?void 0:i.status)?r.qoe.status:"",ismuted:!(null==r||!r.muted),playervolume:SP(null==r?void 0:r.volume),playercontainerwidth:SP(null==r?void 0:r.containerWidth),playercontainerheight:SP(null==r?void 0:r.containerHeight)}}}},function(t){return{schema:"iglu:com.helloeko/currentnode/jsonschema/1-0-2",match:/^.*$/,getData:()=>{var e;const n=MP(t),i=function(t){const e=MP(t);if(!e||"function"!=typeof e.getNodesAtTime)return null;const n=Number.isFinite(e.currentTime)?e.currentTime:0,i=e.getNodesAtTime(n);return Array.isArray(i)&&0!==i.length&&i[0]||null}(t);return{currentnodeid:"string"==typeof(null==i?void 0:i.id)?i.id:"",currentnodetime:Number.isFinite(null==n?void 0:n.currentTime)?n.currentTime:0,currentnodeduration:Number.isFinite(null==i?void 0:i.duration)?i.duration:0,currentnodeprofile:"string"==typeof(null==i||null===(e=i.metadata)||void 0===e?void 0:e.profile)?i.metadata.profile:""}}}},function(t){let e=0,n=0;const i=()=>{e||(e=Date.now(),n=0)},r=()=>{e&&!n&&(n=Date.now())};return t&&"function"==typeof t.on&&(t.on("seeking",i),t.on("seeked",r)),{schema:"iglu:com.helloeko/seeked/jsonschema/1-0-0",match:"seeked",getData:()=>{r();const t=e&&n&&n>=e?(n-e)/1e3:0;return e=0,n=0,{seekduration:t}},dispose:()=>{t&&"function"==typeof t.off&&(t.off("seeking",i),t.off("seeked",r))}}},function(){return{schema:"iglu:com.helloeko/environment/jsonschema/1-0-0",match:/^.*$/,getData:()=>{var t;const e=null==ch||null===(t=ch.eko)||void 0===t||null===(t=t.environment)||void 0===t?void 0:t.embeddingApp;return e?{embeddingapp:e}:{}}}}],NP=Object.freeze({once:!1,trackAs:""});var CP=new WeakMap,FP=new WeakMap,OP=new WeakMap,PP=new WeakMap,RP=new WeakMap,DP=new WeakMap,BP=new WeakSet;class LP extends sh{get name(){return"Tracker"}get defaults(){return{tag:null,trackingEnabled:Kb("trackingEnabled"),defaultForwarders:EP,defaultContextPackers:AP}}constructor(t,e={}){var n,i;super(e),O(this,BP),C(this,CP,void 0),C(this,FP,new Map),C(this,OP,[]),C(this,PP,!1),C(this,RP,void 0),C(this,DP,void 0),F(DP,this,!this.settings.tag),F(RP,this,this.settings.tag||(null===(n=crypto)||void 0===n||null===(i=n.randomUUID)||void 0===i?void 0:i.call(n))||`eko-player-${Date.now()}`),F(CP,this,t),M(BP,this,VP).call(this),M(BP,this,WP).call(this)}track(t,...e){if(!this.settings.trackingEnabled)return;if("string"!=typeof t||!t)return void this.log.warn("[track] Expected event to be a non-empty string.");const n=M(BP,this,HP).call(this);n&&n("track",t,...e,N(RP,this))}registerContextPacker(t){if(!t||"object"!=typeof t)return void this.log.warn("[registerContextPacker] Expected a packer object.");const e={tag:N(RP,this),schema:t.schema,match:t.match,getData:M(BP,this,zP).call(this,t.getData)};if("string"!=typeof e.schema||!e.schema)return void this.log.warn('[registerContextPacker] Expected "schema" to be a non-empty string.');if("function"!=typeof e.getData)return void this.log.warn('[registerContextPacker] Expected "getData" to be a function.');if(!this.settings.trackingEnabled)return;const n=M(BP,this,HP).call(this);n&&n("registerContextPacker",e)}onDispose(){if(M(BP,this,qP).call(this),M(BP,this,GP).call(this),F(CP,this,null),N(DP,this)){const t=M(BP,this,HP).call(this);t&&(t("reset",N(RP,this)),F(RP,this,null))}}}function zP(t){return"function"!=typeof t?null:(...e)=>e.pop()!==N(RP,this)?null:t(...e)}function WP(){(Array.isArray(this.settings.defaultForwarders)?this.settings.defaultForwarders:[]).forEach((t=>M(BP,this,jP).call(this,t)))}function jP(t){const e=M(BP,this,$P).call(this,t);if(!e)return void this.log.warn("[#addEventForwarder] Invalid forwarder input.",t);const n=N(CP,this);if(!n||"function"!=typeof n.on)return;const i=M(BP,this,UP).call(this,e);if(N(FP,this).has(i))return;const r=(...t)=>{e.once&&n&&"function"==typeof n.off&&n.off(e.event,r);const i=e.trackAs||e.event;this.track(i,...t)};n.on(e.event,r),N(FP,this).set(i,{event:e.event,listener:r})}function $P(t){return"string"==typeof t&&t?{event:t,...NP}:t&&"object"==typeof t&&"string"==typeof t.event&&t.event?{event:t.event,once:!!t.once,trackAs:"string"==typeof t.trackAs?t.trackAs:""}:null}function UP({event:t,once:e,trackAs:n}){return`${t}:${e}:${n}`}function qP(){const t=N(CP,this);t&&"function"==typeof t.off&&N(FP,this).forEach((({event:e,listener:n})=>{t.off(e,n)})),N(FP,this).clear()}function VP(){(Array.isArray(this.settings.defaultContextPackers)?this.settings.defaultContextPackers:[]).forEach((t=>{if("function"!=typeof t)return;const e=t(N(CP,this),this);e&&"object"==typeof e&&("function"==typeof e.dispose&&N(OP,this).push(e.dispose),e.disabled||this.registerContextPacker({schema:e.schema,match:e.match,getData:e.getData}))}))}function GP(){N(OP,this).forEach((t=>{try{t()}catch(t){this.log.warn("[#teardownContextPackers] Failed disposing context packer.",t)}})),F(OP,this,[])}function HP(){const t=null==ch?void 0:ch.EkoAnalytics;return"function"==typeof t?t:(M(BP,this,KP).call(this),null)}function KP(){this.settings.trackingEnabled&&!N(PP,this)&&(this.log.warn("EkoAnalytics not found on window."),F(PP,this,!0))}class XP{#rt;#ot;#st;#at;#lt;#ct;#ut;#dt;#ht;#ft;#pt;#mt;#vt;#gt;#yt;#bt;#kt;#wt;#xt;constructor(t,e={},n=null){this.#rt=new _h(t,n,e),this.#ot=new Ph(this.#rt,e),this.#st=new ix(e),this.#at=new ek(e),this.#lt=new Lw(this.#at,e),this.#ct=new Ow(this.#lt,this.#st,e),this.#ut=new Gw(this.#ct,e),this.#dt=new gF(this.#ct,e),this.#ht=new kP(this.#dt,e),this.#wt=new lP(this.#dt,this.#ct,e),this.#ft=new Ux(this.#ct,this.#ut,this.#st,this.#dt,e),this.#pt=new A_(this.#ct,this.#ut,this.#dt,e),this.#mt=new zS(e),this.#vt=new uM(this.#ct,this.#dt,this.#mt,e),this.#yt=new BO(this.#dt,e),this.#xt=new LP(n,e);const i=e&&"object"==typeof e?e.adapters:null,r=i&&"object"==typeof i&&"function"==typeof i.renderAdapterFactory?i.renderAdapterFactory:null,o=i&&"object"==typeof i&&"function"==typeof i.audioAdapterFactory?i.audioAdapterFactory:null;this.#bt=r?r({timeline:this.#dt,canvas:this.#rt,containerSize:this.#ot,options:e}):new yy(this.#dt,this.#rt,this.#ot,e),this.#gt=o?o({timeline:this.#dt,decodeCoordinator:this.#vt,options:e}):new GA(this.#dt,this.#vt,e),this.#kt=new hA(this.#dt,this.#bt,e)}get canvas(){return this.#rt}get containerSize(){return this.#ot}get assetsDeliveryService(){return this.#st}get downloadSpeed(){return this.#at}get abrSelector(){return this.#lt}get nodeRepository(){return this.#ct}get nodePrioritizer(){return this.#ut}get timeline(){return this.#dt}get documentVisibility(){return this.#ht}get nodeResolver(){return this.#ft}get segmentLoadCoordinator(){return this.#pt}get decoderFactory(){return this.#mt}get parsingManager(){return this.#vt}get audioAdapter(){return this.#gt}get audioPlaybackManager(){return this.#gt}get qoe(){return this.#yt}get renderAdapter(){return this.#bt}get renderer(){return this.#bt}get transitionManager(){return this.#kt}get tracker(){return this.#xt}dispose(){[this.#xt,this.#dt,this.#ht,this.#pt,this.#ft,this.#ut,this.#ct,this.#st,this.#lt,this.#at,this.#vt,this.#mt,this.#gt,this.#yt,this.#bt,this.#kt,this.#wt,this.#ot,this.#rt].forEach((t=>{t&&"function"==typeof t.dispose&&t.dispose()})),this.#dt=null,this.#ht=null,this.#pt=null,this.#ft=null,this.#ut=null,this.#ct=null,this.#st=null,this.#lt=null,this.#at=null,this.#vt=null,this.#mt=null,this.#gt=null,this.#yt=null,this.#bt=null,this.#kt=null,this.#wt=null,this.#rt=null,this.#xt=null}}const YP="devops.1279787";var QP={isPlainObject:eh,deepMerge:nh,get:Sb,set:Mb,ekoGlobalStore:Ab,download:qb,isPositiveNumber:ob,clamp01:fv,root:ch,now:Cb,getFrameDimensions:mC,codecs:pk,useragent:xg,requestAnimationFrame:dx,cancelAnimationFrame:hx,start:wx,stop:xx,isTicking:_x,predicator:function(t,e){const n=e||{};if("function"!=typeof t)return void fx.error("[predicator] Bad argument given to predicator, first argument must be a function.",arguments);if(t.apply())return fx.debug("[predicator] Invoking onFulfilled immediately."),void("function"==typeof n.onFulfilled&&n.onFulfilled.call(null,0));const i=n.timeout||1e4,r=n.interval,o=Cb();let s,a,l,c,u;c=function(){t.apply()&&l()},l=function(){xx(c),ch.clearTimeout(s),u=Cb()-o,fx.debug("[predicator] Invoking onFulfilled after "+u+" ms."),"function"==typeof n.onFulfilled&&n.onFulfilled.call(null,u)},a=function(){xx(c),u=Cb()-o,fx.debug("[predicator] Invoking onTimeout after "+u+" ms."),"function"==typeof n.onTimeout&&n.onTimeout.call(null,u)},s=ch.setTimeout(a,i),wx(c,r)},createThrottler:Ix,scheduleExecution:Tx},JP=new WeakMap,ZP=new WeakMap,tR=new WeakMap,eR=new WeakMap,nR=new WeakMap,iR=new WeakMap,rR=new WeakMap,oR=new WeakSet;class sR{constructor(t){O(this,oR),C(this,JP,[]),C(this,ZP,[]),C(this,tR,new PC("placement-")),C(this,eR,new PC("renderplacement-")),C(this,nR,void 0),C(this,iR,new Map),C(this,rR,void 0),F(nR,this,t),F(rR,this,{allowUnready:!0,getNode:t=>M(oR,this,aR).call(this,t)})}get placements(){return N(JP,this).slice()}get renderPlacements(){return N(ZP,this).slice()}getNodesAtTime(t){M(oR,this,lR).call(this);const e=M(oR,this,uR).call(this,t);if(!Number.isFinite(e))return[];const n=N(JP,this).filter((t=>yv(t,e,null,N(rR,this)))),i=[];return n.forEach((t=>{const e=M(oR,this,aR).call(this,null==t?void 0:t.nodeId);e&&i.push(e)})),i}placeOnTimeline(t,e,n={}){const i=t&&"object"==typeof t?t:null,r=i?i.id:t;if(!r)throw new Error("TimelineDefinition.placeOnTimeline requires node id");i&&N(iR,this).set(r,i);const o=n.nodeOffsetOverride||n.offset,s=n.nodeDurationOverride||n.duration,a=_v(e);if("string"==typeof e&&e.includes("@")&&!a)throw new Error("TimelineDefinition.placeOnTimeline requires valid placement reference");const{wantsEndOffset:l,endOffsetSeconds:c}=a?{wantsEndOffset:!1}:xv(e,n);let u,d,h,f=!1;const p=null!==a;if(a){const t=N(JP,this).find((t=>(null==t?void 0:t.placementId)===a.placementId));if(!t)throw new Error("TimelineDefinition.placeOnTimeline requires valid placement reference");d=t.placementId,h=a.anchor;const e=gv(t);if("start"===a.anchor)Number.isFinite(e)?u=e:f=!0;else{const n=M(oR,this,cR).call(this,t);Number.isFinite(e)&&n>0?u=e+n:f=!0}}else if(l){const t=n.offsetAnchorPlacementId?N(JP,this).find((t=>(null==t?void 0:t.placementId)===n.offsetAnchorPlacementId)):N(JP,this).length?N(JP,this)[N(JP,this).length-1]:void 0;if(d=n.offsetAnchorPlacementId||(null==t?void 0:t.placementId),d){const e=gv(t),n=M(oR,this,cR).call(this,t);Number.isFinite(e)&&n>0?u=e+n-c:(f=!0,h="end")}else u=-c}else u=wv(e);const m=N(tR,this).claim(n.placementId),v={placementId:m,nodeId:r,offset:u,offsetPending:f,offsetAnchorPlacementId:f?d:void 0,offsetAnchorEdge:f?h:void 0,offsetAnchorIsReference:f?p:void 0,offsetEndSeconds:l?c:a&&"end"===a.anchor?0:void 0,nodeOffsetOverride:o,nodeDurationOverride:s,loop:!0===n.loop};return N(JP,this).push(v),bv(N(JP,this)),m}placeRenderNodeOnTimeline(t,e,n,i={}){const r="string"==typeof t?t:null==t?void 0:t.type;if(!r||"string"!=typeof r)throw new Error("TimelineDefinition.placeRenderNodeOnTimeline requires render node type");let o,s,a,l=!1;const c=_v(e);if("string"==typeof e&&e.includes("@")&&!c)throw new Error("TimelineDefinition.placeRenderNodeOnTimeline requires valid placement reference");const u=null!==c;if(c){const t=N(JP,this).find((t=>(null==t?void 0:t.placementId)===c.placementId));if(!t)throw new Error("TimelineDefinition.placeRenderNodeOnTimeline requires valid placement reference");s=t.placementId,a=c.anchor;const e=gv(t);if("start"===c.anchor)Number.isFinite(e)?o=e:l=!0;else{const n=M(oR,this,cR).call(this,t);Number.isFinite(e)&&Number.isFinite(n)?o=e+n:l=!0}}else o=wv(e);const d=N(eR,this).claim(i.renderPlacementId),h=Number(n),f=h===Number.POSITIVE_INFINITY,p=Number.isFinite(h)&&h>0||f?h:void 0;if(!p)throw new Error("TimelineDefinition.placeRenderNodeOnTimeline requires a positive duration (seconds) or Infinity as 3rd argument");const m={renderPlacementId:d,type:r,offset:o,offsetPending:l,offsetAnchorPlacementId:l?s:void 0,offsetAnchorEdge:l?a:void 0,offsetAnchorIsReference:l?u:void 0,duration:p,params:i.params&&"object"==typeof i.params?i.params:void 0};if(!l){const t=o,e=o+p;Iv(N(ZP,this),t,e,"TimelineDefinition.placeRenderNodeOnTimeline does not allow overlapping render nodes")}return N(ZP,this).push(m),bv(N(ZP,this)),d}}function aR(t){if(t)return N(nR,this)&&"function"==typeof N(nR,this).get?N(nR,this).get(t):N(iR,this).get(t)}function lR(){return kv(N(JP,this),{getPlacementDuration:t=>M(oR,this,cR).call(this,t)}).updated}function cR(t){return mv(t,null,N(rR,this))}function uR(t){if("end"===t){const t=M(oR,this,dR).call(this);if(!Number.isFinite(t))return;return Math.max(0,t-Math.min(t,.001))}const e=Number(t);return Number.isFinite(e)?e:0}function dR(){let t;return N(JP,this).forEach((e=>{const n=gv(e);if(!Number.isFinite(n))return;const i=M(oR,this,cR).call(this,e);if(!Number.isFinite(i))return;const r=n+i;Number.isFinite(r)&&(!Number.isFinite(t)||r>t)&&(t=r)})),t}const hR=new Set(["canplay","play","playing","waiting","pause","seeking","seeked"]);var fR=new WeakMap,pR=new WeakMap,mR=new WeakMap,vR=new WeakMap,gR=new WeakMap,yR=new WeakMap,bR=new WeakMap,kR=new WeakMap,wR=new WeakMap,xR=new WeakMap,_R=new WeakMap,IR=new WeakMap,TR=new WeakMap,ER=new WeakMap,SR=new WeakMap,MR=new WeakMap,AR=new WeakMap,NR=new WeakMap,CR=new WeakMap,FR=new WeakMap,OR=new WeakMap,PR=new WeakMap,RR=new WeakMap,DR=new WeakMap,BR=new WeakMap,LR=new WeakSet;class zR extends sh{get name(){return"EkoPlayer"}get exposedPlayerAPI(){return N(vR,this)}constructor(t,e={}){const{options:n,publicOptions:i}=function(t={}){const e=nh({},Gb,t);Object.entries(Vb).forEach((([t,{targetPaths:n}])=>{void 0!==e[t]&&n.forEach((n=>{void 0===Sb(e,n)&&Mb(e,n,e[t])}))}));const n=function(t){const e={};return Object.keys(Vb).forEach((n=>{Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})),Object.freeze(e)}(e);return Hb.info("Processed options:",e),Hb.info("Public options:",n),{options:e,publicOptions:n}}(e);return super(n),O(this,LR),C(this,fR,void 0),C(this,pR,void 0),C(this,mR,void 0),C(this,vR,void 0),C(this,gR,void 0),C(this,yR,void 0),C(this,bR,void 0),C(this,kR,void 0),C(this,wR,void 0),C(this,xR,void 0),C(this,_R,void 0),C(this,IR,void 0),C(this,TR,void 0),C(this,ER,void 0),C(this,SR,void 0),C(this,MR,void 0),C(this,AR,void 0),C(this,NR,void 0),C(this,CR,void 0),C(this,FR,void 0),C(this,OR,void 0),C(this,PR,void 0),C(this,RR,void 0),C(this,DR,void 0),C(this,BR,0),F(mR,this,i),this.log.info("Initializing EkoPlayer with options:",i),F(IR,this,new XP(t,n,this)),M(LR,this,XR).call(this,N(IR,this)),F(SR,this,(t=>M(LR,this,WR).call(this,t))),N(pR,this)&&"function"==typeof N(pR,this).on&&N(pR,this).on(dh.TIMELINE_CUEPOINT,N(SR,this)),F(MR,this,null),F(NR,this,(t=>M(LR,this,jR).call(this,t))),F(CR,this,(t=>{const e=t&&"object"==typeof t?t:{};M(LR,this,jR).call(this,{...e,event:"seeking"})})),F(FR,this,(t=>{const e=t&&"object"==typeof t?t:{};M(LR,this,jR).call(this,{...e,event:"seeked"})})),N(pR,this)&&"function"==typeof N(pR,this).on&&(N(pR,this).on(dh.TIMELINE_PLAYER_STATE,N(NR,this)),N(pR,this).on(dh.TIMELINE_SEEKING,N(CR,this)),N(pR,this).on(dh.TIMELINE_SEEKED,N(FR,this))),F(RR,this,(t=>{const e=t&&"object"==typeof t?t:{};this.trigger(dh.CONTAINER_RESIZE,e)})),N(TR,this)&&"function"==typeof N(TR,this).on&&N(TR,this).on(dh.CONTAINER_RESIZE,N(RR,this)),M(LR,this,VR).call(this),M(LR,this,qR).call(this),F(vR,this,M(LR,this,KR).call(this)),N(vR,this)}onDispose(){N(pR,this)&&"function"==typeof N(pR,this).off&&N(SR,this)&&N(pR,this).off(dh.TIMELINE_CUEPOINT,N(SR,this)),F(SR,this,null),N(pR,this)&&"function"==typeof N(pR,this).off&&(N(NR,this)&&N(pR,this).off(dh.TIMELINE_PLAYER_STATE,N(NR,this)),N(CR,this)&&N(pR,this).off(dh.TIMELINE_SEEKING,N(CR,this)),N(FR,this)&&N(pR,this).off(dh.TIMELINE_SEEKED,N(FR,this))),F(NR,this,null),F(CR,this,null),F(FR,this,null),F(MR,this,null),N(TR,this)&&"function"==typeof N(TR,this).off&&N(RR,this)&&N(TR,this).off(dh.CONTAINER_RESIZE,N(RR,this)),F(RR,this,null),N(_R,this)&&"function"==typeof N(_R,this).off&&(N(OR,this)&&N(_R,this).off("qoescore",N(OR,this)),N(PR,this)&&N(_R,this).off("qoestatus",N(PR,this))),F(OR,this,null),F(PR,this,null),N(xR,this)&&"function"==typeof N(xR,this).off&&N(DR,this)&&N(xR,this).off(dh.DECODER_ERROR,N(DR,this)),F(DR,this,null),F(BR,this,0),N(ER,this)&&"function"==typeof N(ER,this).dispose&&N(ER,this).dispose(),F(ER,this,null),N(IR,this)&&"function"==typeof N(IR,this).dispose&&N(IR,this).dispose(),F(pR,this,null),F(fR,this,null),F(yR,this,null),F(bR,this,null),F(kR,this,null),F(wR,this,null),F(xR,this,null),F(_R,this,null),F(TR,this,null),F(gR,this,null),F(vR,this,null),F(IR,this,null)}}function WR(t={}){var e;this.trigger(dh.TIMELINE_CUEPOINT,t);const n="string"==typeof(null==t||null===(e=t.cuepoint)||void 0===e?void 0:e.name)?t.cuepoint.name:"";n&&this.trigger(n,t)}function jR(t={}){const e="string"==typeof(null==t?void 0:t.event)?t.event:"";if(!hR.has(e))return;if("playing"!==e||Number.isFinite(N(AR,this))||(F(AR,this,Cb()),this.log.info(`[#handlePlayerStateEvent] Playback started @ ${(N(AR,this)/1e3).toFixed(3)}s (${Date.now()})`)),N(MR,this)===e)return;F(MR,this,e);const n=Number.isFinite(null==t?void 0:t.time)?t.time:N(pR,this)&&Number.isFinite(N(pR,this).currentTime)?N(pR,this).currentTime:0,i={};Number.isFinite(n)&&(i.time=n),"string"==typeof(null==t?void 0:t.from)&&(i.from=t.from),"string"==typeof(null==t?void 0:t.to)&&(i.to=t.to),Number.isFinite(null==t?void 0:t.targetTime)&&(i.targetTime=t.targetTime),Array.isArray(null==t?void 0:t.placements)&&(i.placements=t.placements.slice()),this.trigger(e,i)}function $R(){return new sR(N(fR,this))}function UR(t){if(!t||"object"!=typeof t)throw new Error("EkoPlayer.switchTimeline requires a timeline definition");if(!N(pR,this)||"function"!=typeof N(pR,this).applyTimelineDefinition)throw new Error("EkoPlayer.switchTimeline requires an active timeline");N(pR,this).applyTimelineDefinition(t),"function"==typeof N(pR,this).play&&N(pR,this).play()}function qR(){N(_R,this)&&"function"==typeof N(_R,this).on&&(F(OR,this,(t=>{this.trigger(dh.QOE_SCORE,t)})),F(PR,this,(t=>{this.trigger(dh.QOE_STATUS,t)})),N(_R,this).on(dh.QOE_SCORE,N(OR,this)),N(_R,this).on(dh.QOE_STATUS,N(PR,this)))}function VR(){N(xR,this)&&"function"==typeof N(xR,this).on&&(F(DR,this,(t=>{const e=t&&"object"==typeof t?t:{error:t};this.trigger(dh.DECODER_ERROR,e),M(LR,this,GR).call(this,e)})),N(xR,this).on(dh.DECODER_ERROR,N(DR,this)))}function GR(t={}){var e;const n=N(pR,this);if(!n||"number"!=typeof n.currentTime)return;const i=Date.now();if(i<N(BR,this))return;const r=Number(n.currentTime);if(!Number.isFinite(r))return;const o=Number(null==n||null===(e=n.settings)||void 0===e?void 0:e.snapToFps),s=Number.isFinite(o)&&o>0?1/o:1/60;F(BR,this,i+1500),this.log.warn("[#attemptDecoderRecoverySeek] decoder:error received, attempting seek recovery",null==t?void 0:t.error),n.currentTime=r+s}async function HR(t={}){var e;if(N(ER,this))return N(ER,this);const n=t&&"object"==typeof t&&!Array.isArray(t)?{...t}:{},i=N(gR,this)&&N(gR,this).element?N(gR,this).element:null;if(!i)throw new Error("Debug overlay requires an initialized player canvas and mount element.");const r=function({canvasElement:t,containerElement:e}={}){const n=t&&t.parentNode?t.parentNode:null;if(null==e)return n;const i=function(t,e=(null==ch?void 0:ch.document)){if(uh(t))return t;if("string"!=typeof t)return null;let n=t.trim();if("#"===n.charAt(0)&&(n=n.slice(1)),!n||!e||"function"!=typeof e.getElementById)return null;const i=e.getElementById(n);return uh(i)?i:null}(e,t&&t.ownerDocument?t.ownerDocument:null);if(i)return i;if("string"==typeof e){const t=e.trim(),n="#"===t.charAt(0)?t.slice(1):t;if(!n)throw new Error("Debug overlay containerElement id cannot be empty.");throw new Error(`Debug overlay containerElement id "${n}" was not found.`)}throw new Error("Debug overlay containerElement must be an element id string or DOM element.")}({canvasElement:i,containerElement:n.containerElement});if(!r)throw new Error("Debug overlay requires an initialized player canvas and mount element.");Object.prototype.hasOwnProperty.call(n,"containerElement")&&delete n.containerElement;const o=await Promise.resolve().then((function(){return QB})),s=(null==o?void 0:o.createDebugOverlay)||(null==o?void 0:o.default);if("function"!=typeof s)throw new Error("Debug overlay bundle does not export createDebugOverlay().");return n.publicOptions=N(mR,this),n.playerVersion=YP,F(ER,this,s({mountElement:r,canvasElement:i,timeline:N(pR,this),assetsDeliveryServiceUrl:null===(e=N(IR,this))||void 0===e||null===(e=e.assetsDeliveryService)||void 0===e||null===(e=e.settings)||void 0===e?void 0:e.assetsDeliveryServiceUrl,getNode:t=>N(fR,this)&&"function"==typeof N(fR,this).get?N(fR,this).get(t):void 0,listNodes:()=>N(fR,this)&&"function"==typeof N(fR,this).list?N(fR,this).list():[],downloadSpeed:N(IR,this)?N(IR,this).downloadSpeed:void 0,downloadEvents:_b,qoe:N(_R,this)?N(_R,this).publicAPI:void 0,qoeEvents:this,options:n,playbackStartedAtMs:N(AR,this)})),N(ER,this)}function KR(){const t=this;return{createTimeline:()=>M(LR,t,$R).call(t),switchTimeline:e=>M(LR,t,UR).call(t,e),play:N(pR,this).play,pause:N(pR,this).pause,reset:N(pR,this).reset,placeOnTimeline:N(pR,this).placeOnTimeline,placeRenderNodeOnTimeline:N(pR,this).placeRenderNodeOnTimeline,addNode:N(fR,this).add,getNode:N(fR,this).get,listNodes:N(fR,this).list,getNodesAtTime:e=>N(pR,t).getNodesAtTime(e),dispose:this.dispose,on:t.on,off:t.off,once:t.once,trigger:t.trigger,transitionTo:(e,n)=>N(bR,t).transitionTo(e,n),track:(e,...n)=>{if(N(wR,t)&&"function"==typeof N(wR,t).track)return N(wR,t).track(e,...n)},seekToPlacement:e=>N(pR,t).seekToPlacement(e),get currentTime(){return N(pR,t).currentTime},set currentTime(e){N(pR,t).currentTime=e},get buffered(){return N(pR,t).buffered},get options(){return N(mR,t)},get containerWidth(){return N(TR,t)?N(TR,t).containerWidth:0},get containerHeight(){return N(TR,t)?N(TR,t).containerHeight:0},get playbackRate(){return N(pR,t).playbackRate},set playbackRate(e){N(pR,t).playbackRate=e},get paused(){return!!N(pR,t)&&!0===N(pR,t).paused},get muted(){return!!N(kR,t)&&N(kR,t).muted},set muted(e){N(kR,t)&&(N(kR,t).muted=e)},get volume(){return N(kR,t)?N(kR,t).volume:1},set volume(e){N(kR,t)&&(N(kR,t).volume=e)},get qoe(){return N(_R,t)?N(_R,t).publicAPI:void 0},get utils(){return QP},get version(){return YP},loadDebugOverlay:(...e)=>M(LR,t,HR).call(t,...e)}}function XR(t){t&&(F(gR,this,t.canvas),F(fR,this,t.nodeRepository),F(pR,this,t.timeline),F(kR,this,t.audioAdapter||t.audioPlaybackManager),F(wR,this,t.tracker),F(xR,this,t.parsingManager),F(_R,this,t.qoe),F(yR,this,t.renderAdapter||t.renderer),F(bR,this,t.transitionManager),F(TR,this,t.containerSize))}class YR{constructor({target:t,props:e}){if(!t)throw new Error("`options.target` is required");yo(this.#_t,e,!0),this.#_t.v.EkoPlayer=zR;const n=t.hasChildNodes()?ua:ca;this.#It=n(Rd,{target:t,props:this.#_t.v})}#It;#_t=Mi(vo(Io({})),"EkoGallery.#props");destroy(t){if(this.#It)return pa(this.#It,t)}get props(){return Bs(this.#_t)}}const QR=u("gallery-react");const JR=e.forwardRef(((t,n)=>{const{config:i,variantId:r,debug:o,ssrHtml:s,activeItem:a={index:0,step:0},forceMobile:l,videoAspectRatio:c,theme:u,loadAnalytics:d=!0,onEvent:h=()=>{}}=t,f=e.useRef(null),p=e.useRef({}),m=function(t){return void 0!==t}(i),v=e.useRef(a),g=e.useRef(s);p.current.initEventSent||(h("galleryinit"),p.current.initEventSent=!0);const y=e.useCallback((t=>{p.current.state=t,t.activeItemIndex===v.current.index&&t.activeModuleIndex===v.current.step||h("activeitemchanged",{index:t.activeItemIndex,step:t.activeModuleIndex})}),[]),b=e.useCallback((t=>{p.current.API=t,0===v.current.index&&0===v.current.step||t.selectItemAndStep(v.current.index,v.current.step),p.current.unsubscribe&&p.current.unsubscribe(),p.current.unsubscribe=t.subscribe(y)}),[]),k=e.useCallback(((t,e)=>{h(t,e)}),[h]);return e.useEffect((()=>(QR.setDataStorage("gallery-react",{config:i}),window.eko=window.eko||{},window.eko.config=i,window.eko.gallery={version:"devops/4.0.18"},()=>{window.eko.config=void 0})),[i]),e.useImperativeHandle(n,(()=>({prev:()=>{var t;null===(t=p.current.API)||void 0===t||t.prev()},next:()=>{var t;null===(t=p.current.API)||void 0===t||t.next()}}))),e.useEffect((()=>{if(null==f||!f.current)return;const t=f.current;return p.current.app=new YR({target:t,props:{config:i,forceMobile:l,videoAspectRatio:c,theme:u,loadAnalytics:d,variant:r,onGalleryReady:b,onEvent:k}}),()=>{var t;null===(t=p.current.app)||void 0===t||t.destroy()}}),[]),e.useEffect((()=>{p.current.app&&(p.current.app.props.config=i,v.current={index:0,step:0})}),[i]),e.useEffect((()=>{p.current.app&&(p.current.app.props.variant=r)}),[r]),e.useEffect((()=>{p.current.app&&(p.current.app.props.debug=o,p.current.app.props.forceMobile=l,p.current.app.props.videoAspectRatio=c,p.current.app.props.theme=u,p.current.app.props.loadAnalytics=d,p.current.app.props.onEvent=k)}),[o,l,c,u,d,k]),e.useEffect((()=>{v.current=a,p.current.state&&(p.current.state.activeItemIndex===a.index&&p.current.state.activeModuleIndex===a.step||p.current.API.selectItemAndStep(a.index,a.step))}),[a]),m?e.createElement("div",R({style:{position:"relative",width:"100%",height:"100%"},ref:f},g.current?{dangerouslySetInnerHTML:{__html:g.current}}:{})):t.children}));JR.propTypes={className:It.string,config:It.object,variantId:It.string,onEvent:It.func,ssrHtml:It.string,videoAspectRatio:It.string,theme:It.string,debug:It.bool,activeItem:It.shape({index:It.number,step:It.number}),forceMobile:It.bool,loadAnalytics:It.bool,children:It.node},JR.displayName="EkoGallerySvelte";const ZR=n("v2"),tD=n("v1"),eD="undefined"!=typeof self&&self||"undefined"!=typeof window&&window||"undefined"!=typeof global&&global||{},nD=eD&&eD.performance,iD=nD&&"function"==typeof nD.now?()=>nD.now():()=>Date.now(),rD=Object.freeze({NODE_ADD:"node:add",NODE_CHILDREN_CHANGED:"node:childrenchanged",NODE_LOADED:"node:loaded",NODE_LOAD_ERROR:"node:loaderror",PLACEMENT_ADDED:"placement:added",RENDER_PLACEMENT_ADDED:"renderplacement:added",TIMELINE_TIME_UPDATE:"timeline:timeupdate",TIMELINE_STATE_CHANGE:"statechange",TIMELINE_SEEKING:"seeking",TIMELINE_SEEKED:"seeked",TIMELINE_RESET:"timeline:reset",TIMELINE_PLAYER_STATE:"player:state",TIMELINE_CUEPOINT:"cuepoint",VISUAL_FRAMES_AVAILABLE:"visualframesavailable",TRACK_BUFFER_UPDATE:"track:bufferupdate",TRACK_READY:"track:ready",TRACK_UNDERFLOW:"track:underflow",CLOCK_TICK:"tick",DECODE_READY:"decode:ready",DECODE_ERROR:"decode:error",DECODER_AUDIO:"decoder:audio",DECODER_FRAME:"decoder:frame",DECODER_INIT:"decoder:init",DECODER_ERROR:"decoder:error",QOE_SCORE:"qoescore",QOE_STATUS:"qoestatus",CONTAINER_RESIZE:"containerresize",CANVAS_WEBGL_CONTEXT_LOST:"canvas.webglcontextlost",CANVAS_WEBGL_CONTEXT_RESTORED:"canvas.webglcontextrestored"}),oD=["ui-monospace,","SFMono-Regular,","Menlo,","Monaco,","Consolas,",'"Liberation Mono",','"Courier New",',"monospace"].join(" "),sD=`11px ${oD}`,aD=`12px ${oD}`;function lD(t){return"number"==typeof t&&Number.isFinite(t)}function cD(t){return lD(t)&&t>0}function uD(t){return lD(t)?Math.min(1,Math.max(0,t)):0}function dD(t,e=3){return lD(t)?t.toFixed(e):String(t)}function hD(t,e){const n=Number(t),i=Number(e);return!Number.isFinite(n)||!Number.isFinite(i)||n<=0||i<=0?"n/a":`${Math.round(n)}x${Math.round(i)}`}var fD=new WeakMap,pD=new WeakMap,mD=new WeakMap,vD=new WeakMap,gD=new WeakMap,yD=new WeakMap,bD=new WeakMap,kD=new WeakSet;class wD{constructor({width:t=220,height:e=48,windowMs:n=6e4,maxValue:i=60,autoScale:r=!1,formatValue:o}={}){O(this,kD),C(this,fD,void 0),C(this,pD,void 0),C(this,mD,[]),C(this,vD,void 0),C(this,gD,void 0),C(this,yD,void 0),C(this,bD,void 0);const s=null==eD?void 0:eD.document;if(!s||"function"!=typeof s.createElement)throw new Error("Debug overlay graph requires document.createElement.");F(fD,this,s.createElement("canvas")),N(fD,this).width=t,N(fD,this).height=e,N(fD,this).style.width=`${t}px`,N(fD,this).style.height=`${e}px`,N(fD,this).style.borderRadius="6px",N(fD,this).style.background="#111",F(pD,this,N(fD,this).getContext("2d")),F(vD,this,n),F(gD,this,i),F(yD,this,!!r),F(bD,this,"function"==typeof o?o:null)}get element(){return N(fD,this)}push(t,e){if(N(fD,this)&&N(pD,this)&&Number.isFinite(t)&&Number.isFinite(e)){for(N(mD,this).push({t:e,v:t});N(mD,this).length&&e-N(mD,this)[0].t>N(vD,this);)N(mD,this).shift();M(kD,this,xD).call(this)}}dispose(){F(mD,this,[]),F(pD,this,null),F(fD,this,null)}}function xD(){const t=N(pD,this),e=N(fD,this);if(!t||!e)return;const n=e.width,i=e.height;if(!n||!i)return;if(t.clearRect(0,0,n,i),t.fillStyle="#111",t.fillRect(0,0,n,i),!N(mD,this).length)return;const r=N(mD,this)[0].t;if(!(N(mD,this)[N(mD,this).length-1].t>r))return;const o=N(yD,this)?N(mD,this).reduce(((t,e)=>e.v>t?e.v:t),0):N(gD,this),s=o>0?o:N(gD,this);t.strokeStyle="#0f0",t.lineWidth=2,t.beginPath();for(let e=0;e<N(mD,this).length;e+=1){const o=N(mD,this)[e],a=(o.t-r)/N(vD,this)*n,l=i-(s>0?Math.min(1,Math.max(0,o.v/s)):0)*i;0===e?t.moveTo(a,l):t.lineTo(a,l)}t.stroke();const a=N(mD,this).length?N(mD,this)[N(mD,this).length-1]:null,l=Number.isFinite(null==a?void 0:a.v)?a.v:null;if(null===l)return;const c=N(bD,this)?N(bD,this).call(this,l):l.toFixed(1);if("string"!=typeof c||!c)return;t.font=sD,t.textAlign="right",t.textBaseline="top";const u=t.measureText(c),d=Math.ceil(u.width)+8,h=n-d-2;t.fillStyle="rgba(0,0,0,0.55)",t.fillRect(h,2,d,14),t.fillStyle="#fff",t.fillText(c,n-2-4,4)}const _D=new Intl.NumberFormat("en-US");function ID(t,e){const n=(null==t?void 0:t.trackId)||"",i=(null==e?void 0:e.trackId)||"";if(n!==i)return n<i?-1:1;const r=(null==t?void 0:t.nodeId)||"",o=(null==e?void 0:e.nodeId)||"";if(r!==o)return r<o?-1:1;const s=(null==t?void 0:t.segmentId)||"",a=(null==e?void 0:e.segmentId)||"";return s!==a?s<a?-1:1:("number"==typeof(null==t?void 0:t.presentationTime)?t.presentationTime:0)-("number"==typeof(null==e?void 0:e.presentationTime)?e.presentationTime:0)}function TD(t,e){for(t.push(e);t.length&&e-t[0]>1e3;)t.shift();if(t.length<2)return 0;const n=t[t.length-1]-t[0];return n<=0?0:1e3*(t.length-1)/n}function ED(t,e){if("function"!=typeof t||!e)return;const n=t(e.nodeId),i=null==n?void 0:n.tracks;if(!Array.isArray(i))return;const r=i.find((t=>(null==t?void 0:t.id)===e.trackId)),o=null==r?void 0:r.segments;return Array.isArray(o)?o.find((t=>(null==t?void 0:t.id)===e.segmentId)):void 0}function SD(t,e){var n;const i=ED(t,e);return(null==i?void 0:i.abrDecision)||(null==i||null===(n=i.chosenRepresentation)||void 0===n?void 0:n.abrDecision)}function MD(t){const e=Number(t);return!Number.isFinite(e)||e<=0?"n/a":`${_D.format(Math.round(e))}kbps`}function AD(t){const e=Number(t);return!Number.isFinite(e)||e<=0?"n/a":`${_D.format(Math.round(e/1e3))}kbps`}function ND(t,e=3){const n=Number(t);return Number.isFinite(n)?n.toLocaleString("en-US",{minimumFractionDigits:e,maximumFractionDigits:e}):String(t)}function CD(t,e){var n;if("function"!=typeof t||!e)return;const i=t(e.nodeId),r=null==i||null===(n=i.manifestRef)||void 0===n?void 0:n.encodeProfile;return"string"==typeof r&&r?r:void 0}function FD(t,e){if("function"!=typeof t||!e)return;const n=t(e.nodeId);return!0===(null==n?void 0:n.imageFallbackActive)?"image":void 0}function OD(t,e){const n=function(t){if(!t)return;const e=[[t.displayWidth,t.displayHeight],[t.codedWidth,t.codedHeight],[t.videoWidth,t.videoHeight],[t.naturalWidth,t.naturalHeight],[t.width,t.height]];for(let t=0;t<e.length;t+=1){const[n,i]=e[t],r=Number(n),o=Number(i);if(Number.isFinite(r)&&Number.isFinite(o)&&r>0&&o>0)return{width:r,height:o}}}(null==e?void 0:e.frame)||{},i=Number.isFinite(null==e?void 0:e.width)?e.width:n.width,r=Number.isFinite(null==e?void 0:e.height)?e.height:n.height,o=function(t,e,n){return null===(n=ED(t,e))||void 0===n?void 0:n.chosenRepresentation}(t,e);if(!o)return lD(i)&&lD(r)?{width:i,height:r}:null;const s=o.width||o.codedWidth||i,a=o.height||o.codedHeight||r;return{id:o.id,codecs:o.codecs,mime:o.mime,bandwidth:o.bandwidth,width:s,height:a}}function PD(t){const e=Number(t);if(Number.isFinite(e)&&!(e<=0))return e/1e3}function RD(t,e){const n=Number(null==t?void 0:t.bandwidthKbps),i=Number(null==e?void 0:e.bandwidthKbps),r=Number.isFinite(n)&&n>0,o=Number.isFinite(i)&&i>0;if(r&&o&&n!==i)return n-i;if(r!==o)return r?-1:1;const s=(null==t?void 0:t.id)||"",a=(null==e?void 0:e.id)||"";return s===a?0:s<a?-1:1}function DD(t,e,n,i){const r=[];if(Array.isArray(null==i?void 0:i.availableRepresentations)&&i.availableRepresentations.forEach((t=>{const e="string"==typeof(null==t?void 0:t.id)&&t.id?t.id:void 0;if(!e)return;const n=Number(null==t?void 0:t.bandwidthKbps);r.push({id:e,bandwidthKbps:Number.isFinite(n)&&n>0?n:void 0})})),!r.length){const n=ED(t,e);(Array.isArray(null==n?void 0:n.representations)?n.representations:[]).forEach((t=>{const e="string"==typeof(null==t?void 0:t.id)&&t.id?t.id:void 0;e&&r.push({id:e,bandwidthKbps:PD(null==t?void 0:t.bandwidth)})}))}!r.length&&(null==n?void 0:n.id)&&r.push({id:n.id,bandwidthKbps:PD(n.bandwidth)});const o=new Map;return r.forEach((t=>{const e=null==t?void 0:t.id;e&&!o.has(e)&&o.set(e,t)})),Array.from(o.values()).sort(RD)}const BD=1024,LD=1048576,zD=1073741824;function WD(t){return lD(t)?t>=1e3?`${dD(t/1e3,1)} Mbps`:`${dD(t,1)} kbps`:"n/a"}function jD({downloadSpeed:t,downloadEvents:e}={}){const n=eD.document,i="function"==typeof(null==t?void 0:t.getKbps)?t.getKbps():void 0;let r=0;const{metricsRow:o,setInitial:s,setTotal:a}=function(t){const e=t.createElement("div");e.style.display="grid",e.style.gridTemplateColumns="1fr 1fr",e.style.gap="8px",e.style.font=aD;const n=t.createElement("div"),i=t.createElement("div");return e.appendChild(n),e.appendChild(i),{metricsRow:e,setInitial:t=>{n.textContent=`initial=${WD(t)}`},setTotal:t=>{var e;i.textContent="total="+(lD(e=t)?e<BD?`${Math.round(e)} B`:e<LD?`${dD(e/BD,1)} KB`:e<zD?`${dD(e/LD,2)} MB`:`${dD(e/zD,2)} GB`:"n/a")}}}(n),{graphWrap:l,speedGraph:c}=function(t,e){const n=t.createElement("div");n.style.marginTop="10px";const i=t.createElement("div");i.textContent="download speed",i.style.font=sD,i.style.opacity="0.9";const r=lD(e)&&e>0?e:1,o=new wD({autoScale:!0,maxValue:r,formatValue:WD});return n.appendChild(i),n.appendChild(o.element),{graphWrap:n,speedGraph:o}}(n,i);s(i),a(r);const u=t=>{const e=Number(null==t?void 0:t.kbps);Number.isFinite(e)&&c.push(e,null!=eD&&eD.performance&&"function"==typeof eD.performance.now?eD.performance.now():Date.now())},d=t=>{const e=Number(null==t?void 0:t.bytes);Number.isFinite(e)&&(r+=e,a(r))};return t&&"function"==typeof t.on&&t.on("download:speed",u),e&&"function"==typeof e.on&&e.on("download:sample",d),{id:"downloads",title:"Downloads",render:t=>{t.appendChild(o),t.appendChild(l)},dispose:()=>{t&&"function"==typeof t.off&&t.off("download:speed",u),e&&"function"==typeof e.off&&e.off("download:sample",d),c.dispose()}}}function $D(t){return lD(t)?dD(t,3):"n/a"}function UD(){return null!=eD&&eD.performance&&"function"==typeof eD.performance.now?eD.performance.now():Date.now()}var qD,VD,GD,HD={exports:{}},KD=(qD||(qD=1,VD=HD,function(t,e){VD.exports?VD.exports=e():t.log=e()}(HD.exports,(function(){var t=function(){},e="undefined",n=typeof window!==e&&typeof window.navigator!==e&&/Trident\/|MSIE /.test(window.navigator.userAgent),i=["trace","debug","info","warn","error"],r={},o=null;function s(t,e){var n=t[e];if("function"==typeof n.bind)return n.bind(t);try{return Function.prototype.bind.call(n,t)}catch(e){return function(){return Function.prototype.apply.apply(n,[t,arguments])}}}function a(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function l(){for(var n=this.getLevel(),r=0;r<i.length;r++){var o=i[r];this[o]=r<n?t:this.methodFactory(o,n,this.name)}if(this.log=this.debug,typeof console===e&&n<this.levels.SILENT)return"No console available for logging"}function c(t){return function(){typeof console!==e&&(l.call(this),this[t].apply(this,arguments))}}function u(i,r,o){return"debug"===(l=i)&&(l="log"),typeof console!==e&&("trace"===l&&n?a:void 0!==console[l]?s(console,l):void 0!==console.log?s(console,"log"):t)||c.apply(this,arguments);var l}function d(t,n){var s,a,c,d=this,h="loglevel";function f(){var t;if(typeof window!==e&&h){try{t=window.localStorage[h]}catch(t){}if(typeof t===e)try{var n=window.document.cookie,i=encodeURIComponent(h),r=n.indexOf(i+"=");-1!==r&&(t=/^([^;]+)/.exec(n.slice(r+i.length+1))[1])}catch(t){}return void 0===d.levels[t]&&(t=void 0),t}}function p(t){var e=t;if("string"==typeof e&&void 0!==d.levels[e.toUpperCase()]&&(e=d.levels[e.toUpperCase()]),"number"==typeof e&&e>=0&&e<=d.levels.SILENT)return e;throw new TypeError("log.setLevel() called with invalid level: "+t)}"string"==typeof t?h+=":"+t:"symbol"==typeof t&&(h=void 0),d.name=t,d.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},d.methodFactory=n||u,d.getLevel=function(){return null!=c?c:null!=a?a:s},d.setLevel=function(t,n){return c=p(t),!1!==n&&function(t){var n=(i[t]||"silent").toUpperCase();if(typeof window!==e&&h){try{return void(window.localStorage[h]=n)}catch(t){}try{window.document.cookie=encodeURIComponent(h)+"="+n+";"}catch(t){}}}(c),l.call(d)},d.setDefaultLevel=function(t){a=p(t),f()||d.setLevel(t,!1)},d.resetLevel=function(){c=null,function(){if(typeof window!==e&&h){try{window.localStorage.removeItem(h)}catch(t){}try{window.document.cookie=encodeURIComponent(h)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(t){}}}(),l.call(d)},d.enableAll=function(t){d.setLevel(d.levels.TRACE,t)},d.disableAll=function(t){d.setLevel(d.levels.SILENT,t)},d.rebuild=function(){if(o!==d&&(s=p(o.getLevel())),l.call(d),o===d)for(var t in r)r[t].rebuild()},s=p(o?o.getLevel():"WARN");var m=f();null!=m&&(c=p(m)),l.call(d)}(o=new d).getLogger=function(t){if("symbol"!=typeof t&&"string"!=typeof t||""===t)throw new TypeError("You must supply a name when creating a logger.");var e=r[t];return e||(e=r[t]=new d(t,o.methodFactory)),e};var h=typeof window!==e?window.log:void 0;return o.noConflict=function(){return typeof window!==e&&window.log===o&&(window.log=h),o},o.getLoggers=function(){return r},o.default=o,o}))),HD.exports),XD=(GD=KD)&&GD.__esModule&&Object.prototype.hasOwnProperty.call(GD,"default")?GD.default:GD;const YD=()=>{},QD=["trace","log","debug","info","warn","error","getLevel","setLevel"],JD=["trace","debug","info","warn","error","silent"],ZD={TRACE:"color: white; background-color: magenta;",DEBUG:"color: black; background-color: turquoise;",INFO:"color: white; background-color: green;",WARN:"color: black; background-color: yellow;",ERROR:"color: white; background-color: red;"},tB="undefined"!=typeof self&&self||"undefined"!=typeof window&&window||"undefined"!=typeof global&&global;let eB={level:"trace",appName:""},nB=[];const iB="object"==typeof tB&&tB.performance&&"function"==typeof tB.performance.now?tB.performance.now.bind(tB.performance):Date.now.bind(Date),rB=t=>t&&"string"==typeof t?t.toLowerCase().trim():"",oB=(()=>{try{const t=new URLSearchParams(document.location.search),e=[].concat(t.getAll("log")).concat(t.getAll("ekolog")).concat(t.getAll("ekologger")).join(",").split(",");if(0===e.length)return{};let n={};return e.forEach((t=>{const[e,i]=t.split(":");n[rB(e)]=rB(i)||"trace"})),n}catch(t){return{}}})(),sB=(t,e="")=>{const n=rB(t),i=XD.getLogger(n);if(i.__ekologger)return i.__ekologger;e||oB[n]||oB["*"]||(i.__noExplicitLevel=!0);const r=i.methodFactory;i.methodFactory=(e,n,i)=>{const o=r(e,n,i),s=e.toUpperCase();return(...e)=>{o(`[${((t,e=3)=>(iB()/1e3).toFixed(e))()}] %c[${s}] ${eB.appName?`[${eB.appName}] `:""}[${t}]`,ZD[s],...e)}},e=oB[n]||oB["*"]||e||eB.level,i.setLevel(e,!1);const o=(...t)=>i.log(...t);return QD.forEach((t=>{o[t]=(...e)=>(nB.forEach((n=>{n[t](...e)})),i[t](...e))})),i.__ekologger=o,o};sB.setDefaults=({appName:t="",level:e})=>{t&&"string"==typeof t&&(eB.appName=t),(e=rB(e))&&JD.includes(e)&&(eB.level=e,Object.values(XD.getLoggers()).filter((t=>t.__noExplicitLevel)).forEach((t=>t.setLevel(eB.level,!1))))},sB.installDriver=t=>{const e={...QD.reduce(((e,n)=>(e[n]="function"==typeof(null==t?void 0:t[n])?t[n]:YD,e)),{})};nB.push(e)},sB("download","warn");Object.freeze(Object.entries({disabledTracks:{default:["audio"],targetPaths:["NodeRepository.disabledTracks"]},muted:{default:!1,targetPaths:["AudioPlaybackManager.muted"]},volume:{default:1,targetPaths:["AudioPlaybackManager.volume"]},encodeProfile:{default:null,targetPaths:["AssetsDeliveryService.profile"]},forceVideoCodec:{default:void 0,targetPaths:["NodeRepository.forceVideoCodec"]},forceImageFallback:{default:!1,targetPaths:["NodeRepository.forceImageFallback"]},mediaHostRewriteMap:{default:{"storageeko.s3.amazonaws.com":"https://storage.eko.com","studioz-post.s3.amazonaws.com":"https://studioz-post.eko.com"},targetPaths:["NodeRepository.mediaHostRewriteMap"]},playbackRate:{default:1,targetPaths:["PlaybackClock.playbackRate"]},initialKbps:{default:"auto",targetPaths:["DownloadSpeed.initialKbps"]},defaultRenderParams:{default:void 0,targetPaths:["Renderer.defaultRenderParams"]},maxBufferedVideoFrames:{default:24,targetPaths:["Timeline.maxBufferedVideoFrames"]},waitingBufferAheadSeconds:{default:3,targetPaths:["Timeline.waitingBufferAheadSeconds"]},abrStrategy:{default:"auto",targetPaths:["ABRSelector.abrStrategy"]},segmentEvictionEnabled:{default:!0,targetPaths:["SegmentEvictionCoordinator.enabled"]},segmentEvictionBufferBehindSeconds:{default:30,targetPaths:["SegmentEvictionCoordinator.bufferBehindSeconds"]},segmentEvictionBufferAheadSeconds:{default:30,targetPaths:["SegmentEvictionCoordinator.bufferAheadSeconds"]},segmentEvictionMaxRetainedBytes:{default:52428800,targetPaths:["SegmentEvictionCoordinator.maxRetainedBytes"]},autoplay:{default:!0,targetPaths:["Idle.autoplay"]},autoPauseOnVisibilityChange:{default:!0,targetPaths:["DocumentVisibility.autoPauseOnVisibilityChange"]},autoResumeOnVisibilityChange:{default:!0,targetPaths:["DocumentVisibility.autoResumeOnVisibilityChange"]},trackingEnabled:{default:!0,targetPaths:["Tracker.trackingEnabled"]}}).reduce(((t,[e,n])=>(Object.prototype.hasOwnProperty.call(n,"default")&&(t[e]=n.default),t)),{})),sB("config","warn");const aB=18,lB="rgba(83,170,255,0.9)",cB={pending:"rgba(255,255,255,0.55)",resolving:"rgba(255,200,87,0.9)",ready:"rgba(102,214,141,0.9)",failed:"rgba(255,92,92,0.9)",missing:"rgba(160,160,160,0.9)"},uB={border:"1px solid rgba(102,214,141,0.28)",background:"rgba(102,214,141,0.16)",color:"rgba(167,240,185,1)"},dB={border:"1px solid rgba(255,200,87,0.3)",background:"rgba(255,200,87,0.16)",color:"rgba(255,227,171,1)"},hB="noop",fB="seek",pB="copy-node-id",mB="copy-node-context",vB="copy-source-video-url",gB=[{value:hB,label:"NOOP"},{value:fB,label:"Seek"},{value:pB,label:"Copy Node ID"},{value:mB,label:"Copy Node Context"},{value:vB,label:"Copy Source Video URL"}],yB=["type","url","mimeType","assetId","assetRevision","encodeProfile","duration","width","height"],bB=["id","url","mime","codecs","baseCodec","bandwidth","timescale","sizeBytes","width","height","frameRate","segStart","segDuration"];function kB(t,e){if(cD(null==t?void 0:t.nodeDurationOverride))return t.nodeDurationOverride;if("function"!=typeof e)return null;const n=e(null==t?void 0:t.nodeId),i=null==n?void 0:n.duration;return cD(i)?i:null}function wB(t){const e=Number(null==t?void 0:t.duration);return e===Number.POSITIVE_INFINITY?Number.POSITIVE_INFINITY:cD(e)?e:null}function xB(t){return t===Number.POSITIVE_INFINITY}function _B(t){return lD(t)?String(t):""}function IB(t,e=[]){return e.reduce(((e,n)=>(void 0!==(null==t?void 0:t[n])&&(e[n]=t[n]),e)),{})}function TB(t){const e=gB.find((e=>e.value===t));return e?e.value:hB}function EB(t){return t?"string"==typeof(null==t?void 0:t.message)&&t.message?t.message:"string"==typeof t&&t?t:null:null}function SB(t){return t&&lD(t.start)&&lD(t.end)?{start:t.start,end:t.end}:null}function MB(t){return t?IB(t,bB):null}function AB(t,e){const n="string"==typeof(null==t?void 0:t.nodeId)?t.nodeId:"",i="function"==typeof e&&n?e(n):null,r=function(t){return t?"string"==typeof t?t:IB(t,yB):null}(null==i?void 0:i.manifestRef),o=r&&"object"==typeof r?r.assetId:void 0,s={placement:{placementId:"string"==typeof(null==t?void 0:t.placementId)?t.placementId:void 0,nodeId:n||void 0,offset:lD(null==t?void 0:t.offset)?t.offset:void 0,duration:kB(t,e),offsetPending:!0===(null==t?void 0:t.offsetPending),nodeOffsetOverride:lD(null==t?void 0:t.nodeOffsetOverride)?t.nodeOffsetOverride:void 0,nodeDurationOverride:lD(null==t?void 0:t.nodeDurationOverride)?t.nodeDurationOverride:void 0},node:i?{id:i.id||n||void 0,state:"string"==typeof i.state?i.state:void 0,duration:lD(i.duration)?i.duration:null,mainTrackId:"string"==typeof i.mainTrackId?i.mainTrackId:void 0,assetId:"string"==typeof o?o:void 0,manifestRef:r,buffered:SB(i.buffered),imageFallbackActive:!0===i.imageFallbackActive,retainedByteLength:lD(i.retainedByteLength)?i.retainedByteLength:0,children:Array.isArray(i.children)?i.children.map((t=>({nodeId:"string"==typeof(null==t?void 0:t.nodeId)?t.nodeId:void 0,weight:lD(null==t?void 0:t.weight)?t.weight:void 0}))):[],tracks:Array.isArray(i.tracks)?i.tracks.map((t=>function(t){return t?{id:t.id,type:t.type,offset:lD(t.offset)?t.offset:0,duration:lD(t.duration)?t.duration:null,endTime:lD(t.endTime)?t.endTime:null,buffered:SB(t.buffered),segments:Array.isArray(t.segments)?t.segments.map((t=>function(t){if(!t)return null;const e={id:t.id,isInit:!0===t.isInit,offset:lD(t.offset)?t.offset:0,duration:lD(t.duration)?t.duration:0,bufferedRatio:lD(t.bufferedRatio)?t.bufferedRatio:0,retainedByteLength:lD(t.retainedByteLength)?t.retainedByteLength:0,isLoaded:!0===t.isLoaded,loadAttempts:lD(Number(t.loadAttempts))?Number(t.loadAttempts):0,appliedFilters:Array.isArray(t.appliedFilters)?t.appliedFilters.slice():[],chosenRepresentation:MB(t.chosenRepresentation),representations:Array.isArray(t.representations)?t.representations.map((t=>MB(t))).filter(Boolean):[]},n=EB(t.loadError);return n&&(e.loadError=n),e}(t))).filter(Boolean):[]}:null}(t))).filter(Boolean):[]}:null};if(i){const t=Number(i.manifestLoadAttempts);lD(t)&&t>0&&(s.node.manifestLoadAttempts=t);const e=EB(i.manifestLoadError);e&&(s.node.manifestLoadError=e);const n=EB(i.error);n&&(s.node.error=n)}return s}function NB(t=[],e=[],n){const i=function(t=[],e){return Array.isArray(t)&&t.length?t.map((t=>t?["string"==typeof t.placementId?t.placementId:"","string"==typeof t.nodeId?t.nodeId:"",_B(t.offset),_B(kB(t,e)),!0===t.offsetPending?"1":"0",_B(t.nodeOffsetOverride),_B(t.nodeDurationOverride)].join("|"):"null")).join(";"):""}(t,n);return`${i}::${function(t=[]){return Array.isArray(t)&&t.length?t.map((t=>{if(!t)return"null";const e="string"==typeof t.renderPlacementId?t.renderPlacementId:"",n="string"==typeof t.type?t.type:"",i=_B(t.offset),r=wB(t);return[e,n,i,r===Number.POSITIVE_INFINITY?"inf":_B(r),!0===t.offsetPending?"1":"0"].join("|")})).join(";"):""}(e)}`}function CB(t=[],e){if(!Array.isArray(t)||!t.length)return!1;for(let n=0;n<t.length;n+=1){const i=t[n];if(!i||!0===i.offsetPending)continue;if(cD(i.nodeDurationOverride))continue;if("function"!=typeof e)return!0;const r=e(i.nodeId);if(!cD(null==r?void 0:r.duration))return!0}return!1}function FB(t=[]){return!(!Array.isArray(t)||!t.length)&&t.some((t=>!0===(null==t?void 0:t.offsetPending)))}function OB(t=[],e=[]){return FB(t)||FB(e)}function PB(t,e=[],n){if(!t||!Array.isArray(e)||!e.length)return;const i=t.querySelector('[data-segment-boundary="true"]');e.forEach((e=>{if(!e||!lD(e.startRatio)||!lD(e.endRatio))return;const r=uD(e.startRatio),o=uD(e.endRatio);if(!(o>r))return;const s=eD.document.createElement("div");s.dataset.bufferedSegment="true",s.style.position="absolute",s.style.top="0",s.style.bottom="0",s.style.left=100*r+"%",s.style.width=100*(o-r)+"%",s.style.background=n,s.style.opacity="0.8",s.style.pointerEvents="none",s.style.zIndex="0",i?t.insertBefore(s,i):t.appendChild(s)}))}function RB(t,e){if(!t)return;const n=t.querySelector('[data-active-highlight="true"]');if(!e)return void(n&&n.remove());if(n)return;const i=eD.document.createElement("div");i.dataset.activeHighlight="true",i.style.position="absolute",i.style.top="0",i.style.bottom="0",i.style.left="0",i.style.right="0",i.style.border="1px solid rgba(255,255,255,0.9)",i.style.borderRadius="4px",i.style.pointerEvents="none",i.style.zIndex="1",t.appendChild(i)}function DB({timeline:t,getNode:e,assetsDeliveryServiceUrl:n}={}){const i=null==eD?void 0:eD.document;if(!i||"function"!=typeof i.createElement)throw new Error("Debug overlay timeline tab requires document.createElement.");const r=i.createElement("div");r.style.display="flex",r.style.flexDirection="column",r.style.gap="8px",r.style.position="relative";const o=i.createElement("div");o.style.position="absolute",o.style.display="none",o.style.pointerEvents="none",o.style.zIndex="2",o.style.padding="4px 6px",o.style.borderRadius="6px",o.style.background="rgba(0,0,0,0.8)",o.style.border="1px solid rgba(255,255,255,0.2)",o.style.color="#fff",o.style.font=sD,o.style.maxWidth="220px",o.style.whiteSpace="nowrap",o.style.overflow="hidden",o.style.textOverflow="ellipsis";const s=i.createElement("div");s.dataset.timelineHoverDetails="true",s.style.position="absolute",s.style.display="none",s.style.pointerEvents="none",s.style.zIndex="3",s.style.padding="6px 8px",s.style.borderRadius="8px",s.style.background="rgba(0,0,0,0.85)",s.style.border="1px solid rgba(255,255,255,0.25)",s.style.color="#fff",s.style.font=sD,s.style.maxWidth="260px",s.style.flexDirection="column",s.style.gap="6px";const a=i.createElement("div");a.style.font=aD,a.style.opacity="0.95";const l=i.createElement("div");l.style.font=sD,l.style.opacity="0.7",l.style.textTransform="uppercase",l.style.marginTop="4px";const c=i.createElement("div");c.style.display="flex",c.style.flexDirection="column",c.style.gap="4px",s.appendChild(a),s.appendChild(l),s.appendChild(c);const u=i.createElement("div");u.style.display="flex",u.style.justifyContent="space-between",u.style.alignItems="center";const d=i.createElement("div");d.style.display="flex",d.style.alignItems="baseline",d.style.gap="10px";const h=i.createElement("div");h.style.font=aD,h.style.opacity="0.9";const f=i.createElement("div");f.style.font=sD,f.style.opacity="0.65",d.appendChild(h),d.appendChild(f);const p=i.createElement("label");p.style.display="inline-flex",p.style.alignItems="center",p.style.gap="6px",p.style.font=sD;const m=i.createElement("span");m.textContent="Click action";const v=i.createElement("select");v.style.font=sD,v.style.background="rgba(255,255,255,0.08)",v.style.color="#fff",v.style.border="1px solid rgba(255,255,255,0.2)",v.style.borderRadius="4px",v.style.padding="2px 6px",v.style.minHeight="24px",v.style.cursor="pointer",gB.forEach((t=>{const e=i.createElement("option");e.value=t.value,e.textContent=t.label,v.appendChild(e)})),v.value=hB;const g=i.createElement("div");g.dataset.timelineCopyStatus="true",g.setAttribute("role","status"),g.setAttribute("aria-live","polite"),g.style.display="none",g.style.position="absolute",g.style.right="0",g.style.bottom="calc(100% + 4px)",g.style.alignItems="center",g.style.padding="1px 6px",g.style.borderRadius="999px",g.style.border=uB.border,g.style.background=uB.background,g.style.color=uB.color,g.style.font=sD,g.style.whiteSpace="nowrap",g.style.pointerEvents="none",g.style.zIndex="4",g.style.opacity="0",g.style.transform="translateY(2px)",g.style.transition=["opacity 180ms ease","transform 180ms ease"].join(", "),p.appendChild(m),p.appendChild(v);const y=i.createElement("div");y.style.display="flex",y.style.alignItems="center",y.style.position="relative",y.style.flexShrink="0",y.appendChild(g),y.appendChild(p),u.appendChild(d),u.appendChild(y);const b=i.createElement("div");function k(t,e,{alignTop:n=!1}={}){const r=i.createElement("div");r.style.display="grid",r.style.gridTemplateColumns="64px 1fr",r.style.alignItems=n?"start":"center",r.style.gap="8px";const o=i.createElement("div");o.textContent=t,o.style.font=sD,o.style.opacity="0.8",n&&(o.style.paddingTop="2px");const s=i.createElement("div");s.style.position="relative",s.style.borderRadius="6px",s.style.background="rgba(255,255,255,0.08)",s.style.overflow="hidden",e&&(s.dataset.timelineLane=e);const a=i.createElement("div");return a.style.position="absolute",a.style.top="0",a.style.bottom="0",a.style.width="2px",a.style.background="rgba(255,255,255,0.8)",s.appendChild(a),r.appendChild(o),r.appendChild(s),b.appendChild(r),{track:s,indicator:a}}b.style.display="grid",b.style.gridTemplateRows="auto auto",b.style.gap="8px",r.appendChild(u),r.appendChild(b),r.appendChild(o),r.appendChild(s);const w=k("Nodes","nodes",{alignTop:!0}),x=k("Render","render");let _=[],I=[],T=0,E=hB,S=1;const M=new Map,A=new Map,N=new Map,C=new Map;let F=new Set,O=null,P=!1,R="",D=!1,B=0,L=0,z=null,W=null,j=null;function $(t){for(;t.childNodes.length>1;)t.removeChild(t.lastChild)}function U(){z&&(clearTimeout(z),z=null)}function q(){W&&(((null==eD?void 0:eD.clearTimeout)||clearTimeout)(W),W=null)}function V(){j&&(((null==eD?void 0:eD.clearTimeout)||clearTimeout)(j),j=null)}function G(){g.style.display="none",g.style.opacity="0",g.style.transform="translateY(2px)",g.textContent=""}function H(){return!!D||!!t&&(Array.isArray(t.placements)||Array.isArray(t.renderPlacements))}function K(){if(!t)return!1;const e=Array.isArray(t.placements),n=Array.isArray(t.renderPlacements);if(!e&&!n)return!1;const i=e?t.placements:[],r=n?t.renderPlacements:[];return(i.length!==B||r.length!==L)&&(dt(i,r),!0)}function X(){if(!D)return!1;const t=NB(_,I,e);return t!==R&&(R=t,at(),ut(),!0)}function Y(){H()?z=function({shouldSchedule:t,isScheduled:e,intervalMs:n,onTick:i}){return e?null:setTimeout(i,n)}({shouldSchedule:!0,isScheduled:!!z,intervalMs:D?100:250,onTick:()=>{z=null,H()&&(K()||X()||Y())}}):U()}function Q(t,e){const n=e>0?T/e:0;t.style.left=100*uD(n)+"%",t.style.transform="translateX(-1px)"}function J(){o.style.display="none"}function Z(){q(),V(),G()}function tt(t,{tone:e="success"}={}){if(!t)return void Z();q(),V(),function(t="success"){const e=function(t="success"){return"warning"===t?dB:uB}(t);g.style.border=e.border,g.style.background=e.background,g.style.color=e.color}(e),g.textContent=t,g.style.display="inline-flex",g.style.opacity="0",g.style.transform="translateY(2px)","function"==typeof g.getBoundingClientRect&&g.getBoundingClientRect(),g.style.opacity="1",g.style.transform="translateY(0)";const n=(null==eD?void 0:eD.setTimeout)||setTimeout;W=n((()=>{W=null,function(){q(),V(),g.style.opacity="0",g.style.transform="translateY(-2px)";const t=(null==eD?void 0:eD.setTimeout)||setTimeout;j=t((()=>{j=null,G()}),180)}()}),1800)}function et(t,e){if(!t)return void J();o.textContent=t,o.style.display="block";const n=r.getBoundingClientRect(),i=o.getBoundingClientRect(),s=((null==e?void 0:e.clientX)||0)-n.left+12,a=((null==e?void 0:e.clientY)||0)-n.top+12,l=n.width-i.width-8,c=n.height-i.height-8,u=Math.max(8,Math.min(s,l)),d=Math.max(8,Math.min(a,c));o.style.left=`${u}px`,o.style.top=`${d}px`}function nt(){s.style.display="none"}function it(t,n){const o="function"==typeof e&&t?e(t):null,u=Array.isArray(null==o?void 0:o.children)?o.children:[];if(!u.length)return void nt();if(a.textContent=t,l.textContent="children",function(){for(;c.firstChild;)c.removeChild(c.firstChild)}(),u.forEach((t=>{t&&t.nodeId&&c.appendChild(function(t){const n=i.createElement("div");n.style.display="grid",n.style.gridTemplateColumns="10px 1fr auto auto",n.style.alignItems="center",n.style.gap="6px";const r="string"==typeof(null==t?void 0:t.nodeId)?t.nodeId:"",o=cD(null==t?void 0:t.weight)?t.weight:1,s=function(t){if(!t||"function"!=typeof e)return"missing";const n=e(t);if(!n)return"missing";const i="string"==typeof n.state?n.state.trim().toLowerCase():"";return"pending"===i||"resolving"===i||"ready"===i||"failed"===i?i:"pending"}(r);n.dataset.childId=r,n.dataset.childStatus=s;const a=i.createElement("span");a.dataset.statusIndicator=s,a.style.width="8px",a.style.height="8px",a.style.borderRadius="999px",a.style.background=cB[s]||cB.pending,a.style.display="inline-block";const l=i.createElement("span");l.textContent=r||"unknown",l.style.overflow="hidden",l.style.textOverflow="ellipsis",l.style.whiteSpace="nowrap";const c=i.createElement("span");c.textContent=`w=${dD(o,0)}`,c.style.opacity="0.8";const u=i.createElement("span");return u.textContent=s,u.style.opacity="0.75",n.appendChild(a),n.appendChild(l),n.appendChild(c),n.appendChild(u),n}(t))})),!c.childNodes.length)return void nt();s.style.display="flex";const d=r.getBoundingClientRect(),h=s.getBoundingClientRect(),f=((null==n?void 0:n.clientX)||0)-d.left+12,p=((null==n?void 0:n.clientY)||0)-d.top+12,m=d.width-h.width-8,v=d.height-h.height-8,g=Math.max(8,Math.min(f,m)),y=Math.max(8,Math.min(p,v));s.style.left=`${g}px`,s.style.top=`${y}px`}function rt(){const e=T;if(t&&"function"==typeof t.getPlacementsActiveAtTime){const n=t.getPlacementsActiveAtTime(e),i=new Set(n.map((t=>null==t?void 0:t.placementId)).filter((t=>"string"==typeof t&&t.length)));F.forEach((t=>{i.has(t)||RB(N.get(t),!1)})),i.forEach((t=>{F.has(t)||RB(N.get(t),!0)})),F=i}else w.track.querySelectorAll('[data-timeline-item="nodes"]').forEach((t=>{const n="true"===t.dataset.hasDuration,i=Number(t.dataset.start),r=Number(t.dataset.end);RB(t,n&&lD(e)&&e>=i&&e<r)}));if(t&&"function"==typeof t.getActiveRenderPlacement){const n=t.getActiveRenderPlacement(e),i=null==n?void 0:n.renderPlacementId;O&&O!==i&&RB(C.get(O),!1),i&&O!==i&&RB(C.get(i),!0),O=i||null}else x.track.querySelectorAll('[data-timeline-item="render"]').forEach((t=>{const n="true"===t.dataset.hasDuration,i=Number(t.dataset.start),r=Number(t.dataset.end);RB(t,n&&lD(e)&&e>=i&&e<r)}))}function ot(t){const n=kB(t,e);if(!cD(n)||"function"!=typeof e)return{boundaries:[],buffered:[]};const i=e(null==t?void 0:t.nodeId),r=function(t){const e=Array.isArray(null==t?void 0:t.tracks)?t.tracks:[];if(!e.length)return null;if(null!=t&&t.mainTrackId){const n=e.find((e=>(null==e?void 0:e.id)===t.mainTrackId));if(n)return n}return e.find((t=>Array.isArray(null==t?void 0:t.segments)&&t.segments.length))||null}(i);if(!r)return{boundaries:[],buffered:[]};const o=t=>{if(!t)return 0;const e=Number(null==t?void 0:t.bufferedRatio);if(Number.isFinite(e))return uD(e);const n=Number(null==t?void 0:t.retainedByteLength);if(!cD(n))return 0;const i=null==t?void 0:t.chosenRepresentation,r=cD(null==i?void 0:i.sizeBytes)?i.sizeBytes:null;return cD(r)?uD(n/r):1},s=Array.isArray(r.segments)?r.segments:[],a=lD(null==r?void 0:r.offset)?r.offset:0,l=lD(null==t?void 0:t.nodeOffsetOverride)?t.nodeOffsetOverride:0;if(!s.length){const t=null==i?void 0:i.buffered,e=lD(null==t?void 0:t.start)?t.start-l:0,r=lD(null==t?void 0:t.end)?t.end-l:0,o=Math.max(0,e),s=Math.min(n,r);return s>o?{boundaries:[],buffered:[{startRatio:o/n,endRatio:s/n}]}:{boundaries:[],buffered:[]}}if("image"===(null==r?void 0:r.type)){const t=s.find((t=>t&&!t.isInit))||s[0],e=t?o(t):0;return e>0?{boundaries:[],buffered:[{startRatio:0,endRatio:uD(e)}]}:{boundaries:[],buffered:[]}}return function(t,e,n,i,r){const o=[],s=[];let a=0;return t.forEach((t=>{if(null!=t&&t.isInit)return;lD(null==t?void 0:t.offset)&&(a=t.offset);const l=a;if(!lD(l))return;const c=lD(null==t?void 0:t.duration)?t.duration:0,u=n+l-i,d=n+(l+c)-i;u>0&&u<e&&o.push(u/e);const h="function"==typeof r?r(t):0;if(c>0&&d>0&&u<e&&h>0){const t=Math.max(0,u),n=Math.min(e,d);if(n>t){const i=t+(n-t)*uD(h);s.push({startRatio:t/e,endRatio:i/e})}}c>0&&(lD(null==t?void 0:t.offset)?a=t.offset+c:a+=c)})),{boundaries:o,buffered:s}}(s,n,a,l,o)}function st(){const t=Array.isArray(_)?_:[],e=new Map(t.map((t=>[null==t?void 0:t.placementId,t])));for(const[t,n]of N.entries()){if(!t)continue;const i=e.get(t);i&&(n.querySelectorAll('[data-buffered-segment="true"]').forEach((t=>t.remove())),PB(n,ot(i).buffered,lB))}}function at(){const t=new Set(_.map((t=>null==t?void 0:t.nodeId)).filter((t=>"string"==typeof t&&t.length)));t.forEach((t=>{if(A.has(t))return;const n="function"==typeof e?e(t):null;if(!n||"function"!=typeof n.on)return;const i=t=>function(t={}){if(!t||t.isInit)return;const e=null==t?void 0:t.nodeId,n=null==t?void 0:t.segmentId,i=Number(null==t?void 0:t.loaded),r=Number(null==t?void 0:t.total);if(!e||!n||!lD(i))return;const o=`${e}:${n}`,s=M.get(o)||{},a={loaded:Math.max(lD(s.loaded)?s.loaded:0,i),total:cD(r)?r:s.total};M.set(o,a),function(){if(P)return;P=!0;const t=null==eD?void 0:eD.requestAnimationFrame;"function"!=typeof t?((null==eD?void 0:eD.setTimeout)||setTimeout)((()=>{P=!1,st()}),0):t((()=>{P=!1,st()}))}()}(t);n.on("segment:chunk",i),A.set(t,{node:n,handler:i})}));for(const[e,n]of A.entries())t.has(e)||(null!=n&&n.node&&"function"==typeof n.node.off&&n.node.off("segment:chunk",n.handler),A.delete(e))}function lt({track:t,color:e,start:n,duration:r,startTime:o,durationSeconds:s,segmentRatios:a,bufferedSegments:l,placementId:c,nodeId:u,label:d,rowIndex:h=0,rowHeight:f=18,rowGap:p=0,laneId:m,isClickable:v,isActive:g,tooltip:y,hoverDetailsNodeId:b,showLabel:k,onClick:w}){const x=i.createElement("div");!function(t,e){t.style.position="absolute",t.style.borderRadius="4px",t.style.background=e,t.style.opacity="0.9",t.style.font=sD,t.style.color="#fff",t.style.display="flex",t.style.alignItems="center",t.style.whiteSpace="nowrap",t.style.overflow="hidden",t.style.textOverflow="ellipsis"}(x,e),function(t,{startRatio:e,durationRatio:n,rowIndex:i=0,rowHeight:r=18,rowGap:o=0}={}){const s=i*(r+o)+2,a=Math.max(1,r-4);t.style.top=`${s}px`,t.style.height=`${a}px`;const l=uD(e);if(cD(n)){const e=Math.max(0,Math.min(n,1-l));return t.style.left=100*l+"%",t.style.width=100*e+"%",void(t.style.padding="0 4px")}t.style.left=100*l+"%",t.style.width="2px",t.style.padding="0"}(x,{startRatio:n,durationRatio:r,rowIndex:h,rowHeight:f,rowGap:p}),function(t,{laneId:e,label:n,isClickable:i,shouldShowLabel:r,onClick:o}={}){if(e&&(t.dataset.timelineItem=e),r&&n){const e=eD.document.createElement("span");e.textContent=n,e.style.position="relative",e.style.zIndex="2",e.style.pointerEvents="none",t.appendChild(e)}i&&(t.style.cursor="pointer"),"function"==typeof o&&t.addEventListener("click",o)}(x,{laneId:m,label:d,isClickable:v,shouldShowLabel:"boolean"==typeof k?k:cD(r),onClick:w}),y&&(x.title=y),lD(o)&&(x.dataset.start=String(o)),cD(s)||xB(s)?(x.dataset.end=String(o+s),x.dataset.hasDuration="true"):(x.dataset.end="",x.dataset.hasDuration="false"),c&&(x.dataset.placementId=c),u&&(x.dataset.nodeId=u),x.style.pointerEvents="auto",PB(x,l,lB),function(t,e=[]){t&&Array.isArray(e)&&e.length&&e.forEach((e=>{if(!lD(e)||e<=0||e>=1)return;const n=eD.document.createElement("div");n.dataset.segmentBoundary="true",n.style.position="absolute",n.style.top="2px",n.style.bottom="2px",n.style.width="1px",n.style.left=100*uD(e)+"%",n.style.transform="translateX(-0.5px)",n.style.background="rgba(255,255,255,0.35)",n.style.pointerEvents="none",n.style.zIndex="1",t.appendChild(n)}))}(x,a),RB(x,g),y&&(x.addEventListener("mouseenter",(t=>et(y,t))),x.addEventListener("mousemove",(t=>et(y,t))),x.addEventListener("mouseleave",J)),b&&(x.addEventListener("mouseenter",(t=>it(b,t))),x.addEventListener("mousemove",(t=>it(b,t))),x.addEventListener("mouseleave",nt)),t.appendChild(x),"nodes"===m&&c?N.set(c,x):"render"===m&&c&&C.set(c,x)}async function ct({event:i,placement:r,rangeEnd:o,track:s}){const a=TB(E);if(a===hB)return;if(a===fB)return void function(e,n,i){if(!t)return;if(!cD(n)||!i)return;const r="function"==typeof i.getBoundingClientRect?i.getBoundingClientRect():null,o=cD(null==r?void 0:r.width)?r.width:i.clientWidth;if(!cD(o))return;const s=lD(null==r?void 0:r.left)?r.left:0,a=uD(((lD(null==e?void 0:e.clientX)?e.clientX:0)-s)/o)*n;lD(a)&&(t.currentTime=a)}(i,o,s);const l="string"==typeof(null==r?void 0:r.nodeId)?r.nodeId:"",c="function"==typeof e&&l?e(l):null,u=a===pB?l:a===mB?JSON.stringify(AB(r,e),null,2):function(t,e){return function(t,e){return function(t,e,n){const i=(t||"").replace(/\/$/,""),r=null==n?void 0:n.assetId,o=null==n?void 0:n.assetRevision;if(i&&"string"==typeof r&&"number"==typeof o)return`${i}/raw/${encodeURIComponent(r)}/${o}`}(t,0,e)}(e,null==t?void 0:t.manifestRef)}(c,n),d=a===pB?"Copied node ID":a===mB?"Copied node context":"Copied source video URL";if(u)try{await async function(t,e){const n=null==eD||null===(e=eD.navigator)||void 0===e?void 0:e.clipboard;if(!n||"function"!=typeof n.writeText)throw new Error("Clipboard API unavailable.");await n.writeText(t)}(u),tt(d)}catch(t){}else a===vB&&tt("Source video URL unavailable",{tone:"warning"})}function ut(){const n=function(){let t=0;const n=Array.isArray(_)?_:[],i=Array.isArray(I)?I.filter((t=>!0!==(null==t?void 0:t.offsetPending))):[];return n.forEach((n=>{if(!0===(null==n?void 0:n.offsetPending))return;const i=lD(null==n?void 0:n.offset)?n.offset:void 0;if(!lD(i))return;const r=kB(n,e);t=cD(r)?Math.max(t,i+r):Math.max(t,i)})),i.forEach((e=>{const n=lD(null==e?void 0:e.offset)?e.offset:0,i=wB(e);t=cD(i)?Math.max(t,n+i):Math.max(t,n)})),cD(t)?t:1}();S=n,h.textContent=`t=${dD(T)}s`,f.textContent=`range=0-${dD(n)}s`,J(),nt(),$(w.track),$(x.track),N.clear(),C.clear(),F=new Set,O=null,P=!1;const i=Array.isArray(_)?_:[],r=Array.isArray(I)?I:[],o=function(n){const i=(Array.isArray(n)?n.slice():[]).map((t=>{if(!0===(null==t?void 0:t.offsetPending))return null;const n=lD(null==t?void 0:t.offset)?t.offset:void 0;if(!lD(n))return null;const i=kB(t,e);return{placement:t,offset:n,duration:i,end:cD(i)?n+i:n,rowIndex:0}})).filter(Boolean).sort(((t,e)=>{var n,i,r,o;const s=t.offset-e.offset;if(0!==s)return s;const a="string"==typeof(null===(n=t.placement)||void 0===n?void 0:n.nodeId)?t.placement.nodeId:"",l="string"==typeof(null===(i=e.placement)||void 0===i?void 0:i.nodeId)?e.placement.nodeId:"";if(a!==l)return a.localeCompare(l);const c="string"==typeof(null===(r=t.placement)||void 0===r?void 0:r.placementId)?t.placement.placementId:"",u="string"==typeof(null===(o=e.placement)||void 0===o?void 0:o.placementId)?e.placement.placementId:"";return c.localeCompare(u)})),r=[],o=function(t,e){const n=Number(null==t||null===(e=t.settings)||void 0===e?void 0:e.snapToFps);return!Number.isFinite(n)||n<=0?0:.5/n}(t);return i.forEach((t=>{const e=t.offset,n=lD(t.end)?t.end:e;let i=-1;for(let t=0;t<r.length;t+=1)if(r[t]<=e+o){i=t;break}-1===i?(i=r.length,r.push(n)):r[i]=Math.max(r[i],n),t.rowIndex=i})),{items:i,rowCount:Math.max(1,r.length)}}(i);var s;!function(t){const e=t.rowCount*aB+4*(t.rowCount-1);w.track.style.height=`${e}px`,x.track.style.height="18px",w.track.style.cursor="default",w.track.style.pointerEvents="auto",x.track.style.pointerEvents="auto"}(o),function(t,e){t.items.forEach((t=>{const n=t.placement,i=t.offset,r=t.duration,o=(null==n?void 0:n.nodeId)||(null==n?void 0:n.placementId)||"node",s=!!lD(T)&&T>=i&&(!cD(r)||T<i+r),a=ot(n),l=TB(E)!==hB;lt({track:w.track,color:"rgba(255,255,255,0.16)",start:uD(i/e),duration:cD(r)?uD(r/e):null,startTime:i,durationSeconds:r,segmentRatios:a.boundaries,bufferedSegments:a.buffered,placementId:null==n?void 0:n.placementId,nodeId:null==n?void 0:n.nodeId,label:o,rowIndex:t.rowIndex,rowHeight:aB,rowGap:4,laneId:"nodes",isClickable:l,isActive:s,tooltip:(null==n?void 0:n.nodeId)||(null==n?void 0:n.placementId),hoverDetailsNodeId:null==n?void 0:n.nodeId,onClick:l?t=>{ct({event:t,placement:n,rangeEnd:e,track:w.track})}:void 0})}))}(o,n),s=n,r.forEach((t=>{const e=lD(null==t?void 0:t.offset)?t.offset:void 0;if(!lD(e))return;const n=wB(t),i=xB(n),r=(null==t?void 0:t.type)||(null==t?void 0:t.renderPlacementId)||"render",o=function(t){const e="string"==typeof t?t.trim().toLowerCase():"";return"switch"===e||"switching"===e||"switchingrendernode"===e}(null==t?void 0:t.type),a=o?()=>{"function"==typeof(null==eD?void 0:eD.switchTo)&&eD.switchTo("next")}:void 0;let l=!1;lD(T)&&(i?l=T>=e:cD(n)&&(l=T>=e&&T<e+n));const c=i&&cD(s)?uD((s-e)/s):cD(n)?uD(n/s):null;lt({track:x.track,color:"rgba(248,162,62,0.9)",start:uD(e/s),duration:c,startTime:e,durationSeconds:n,label:r,placementId:null==t?void 0:t.renderPlacementId,rowIndex:0,rowHeight:aB,rowGap:0,laneId:"render",isClickable:!!o,isActive:l,tooltip:(null==t?void 0:t.type)||(null==t?void 0:t.renderPlacementId),showLabel:cD(n)||i,onClick:a})})),Q(w.indicator,n),Q(x.indicator,n),rt(),st(),D=OB(_,I)||CB(_,e),R=D?NB(_,I,e):"",B=Array.isArray(_)?_.length:0,L=Array.isArray(I)?I.length:0,Y()}function dt(t,n){_=Array.isArray(t)?t.slice():[],I=Array.isArray(n)?n.slice():[],D=OB(_,I)||CB(_,e),at(),ut()}return v.addEventListener("change",(()=>{E=TB(v.value),v.value=E,ut()})),{id:"timeline",title:"Timeline",render:t=>{t.appendChild(r),ut()},updatePlacements:dt,updateTime:function(t){if(T=lD(t)?t:T,K())return;if(D&&X())return;const e=S;lD(e)&&(h.textContent=`t=${dD(T)}s`,f.textContent=`range=0-${dD(e)}s`,Q(w.indicator,e),Q(x.indicator,e),rt())},refresh:()=>ut(),dispose:()=>{U(),Z();for(const t of A.values())(null==t?void 0:t.node)&&"function"==typeof t.node.off&&t.node.off("segment:chunk",t.handler);A.clear(),M.clear()}}}const BB=1024,LB=1048576,zB=1073741824;function WB(t){return lD(t)?t<BB?`${Math.round(t)} B`:t<LB?`${dD(t/BB,1)} KB`:t<zB?`${dD(t/LB,2)} MB`:`${dD(t/zB,2)} GB`:"n/a"}const jB="ekoplayer-debug-overlay";var $B=new WeakMap,UB=new WeakMap,qB=new WeakMap,VB=new WeakMap,GB=new WeakSet;class HB{constructor({tabBarEl:t,contentEl:e}){O(this,GB),C(this,$B,[]),C(this,UB,void 0),C(this,qB,void 0),C(this,VB,void 0),F(qB,this,t),F(VB,this,e)}registerTab(t){t&&"string"==typeof t.id&&"string"==typeof t.title&&"function"==typeof t.render&&(N($B,this).some((e=>e.id===t.id))||(N($B,this).push(t),M(GB,this,KB).call(this),N(UB,this)||this.selectTab(t.id)))}selectTab(t){N($B,this).find((e=>e.id===t))&&(F(UB,this,t),M(GB,this,KB).call(this),M(GB,this,XB).call(this))}dispose(){N(qB,this)&&(N(qB,this).innerHTML=""),N(VB,this)&&(N(VB,this).innerHTML=""),F($B,this,[]),F(qB,this,null),F(VB,this,null)}}function KB(){const t=N(qB,this);t&&(t.innerHTML="",N($B,this).forEach((e=>{const n=eD.document.createElement("button");n.type="button",n.textContent=e.title,n.style.cursor="pointer",n.style.padding="6px 10px",n.style.borderRadius="6px",n.style.border="1px solid rgba(255,255,255,0.2)",n.style.background=e.id===N(UB,this)?"rgba(255,255,255,0.18)":"rgba(0,0,0,0.2)",n.style.color="#fff",n.style.font=aD,n.addEventListener("click",(()=>this.selectTab(e.id))),t.appendChild(n)})))}function XB(){const t=N(VB,this);if(!t)return;t.innerHTML="";const e=N($B,this).find((t=>t.id===N(UB,this)));e&&e.render(t)}function YB({mountElement:t,canvasElement:e,timeline:n,assetsDeliveryServiceUrl:i,getNode:r,listNodes:o,downloadSpeed:s,downloadEvents:a,qoe:l,qoeEvents:c,options:u={},playbackStartedAtMs:d,playerVersion:h}={}){if(!t)throw new Error("Debug overlay requires mountElement.");if(!n||"function"!=typeof n.on)throw new Error("Debug overlay requires a Timeline with .on/.off.");!function(t){if(!t||!t.style)return;const e=null==eD?void 0:eD.window,n=e&&"function"==typeof e.getComputedStyle?e.getComputedStyle(t):null,i=n?n.position:t.style.position;i&&"static"!==i||(t.style.position="relative")}(t);const f=eD.document.getElementById(jB);f&&f.parentNode&&f.parentNode.removeChild(f);const p=function({mountElement:t,playerVersion:e}){const n=null==eD?void 0:eD.document;if(!n||"function"!=typeof n.createElement)throw new Error("Debug overlay requires document.createElement.");const i=n.createElement("div");i.id=jB,i.style.position="absolute",i.style.inset="0",i.style.zIndex="999999",i.style.pointerEvents="none";const r=n.createElement("div");r.style.position="absolute",r.style.top="8px",r.style.left="8px",r.style.width="460px",r.style.maxWidth="calc(100% - 16px)",r.style.background="rgba(0,0,0,0.65)",r.style.border="1px solid rgba(255,255,255,0.18)",r.style.borderRadius="10px",r.style.padding="10px",r.style.color="#fff",r.style.pointerEvents="auto",r.style.backdropFilter="blur(6px)";const o=n.createElement("div");o.style.display="flex",o.style.justifyContent="space-between",o.style.alignItems="center",o.style.gap="10px";const s=n.createElement("div");s.textContent="EkoPlayer Debug",s.style.font="600 13px ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial";const a=n.createElement("button");a.type="button",a.textContent="Hide",a.style.cursor="pointer",a.style.padding="6px 10px",a.style.borderRadius="8px",a.style.border="1px solid rgba(255,255,255,0.2)",a.style.background="rgba(0,0,0,0.2)",a.style.color="#fff",o.appendChild(s),o.appendChild(a);const l=n.createElement("div");l.style.display="flex",l.style.gap="8px",l.style.marginTop="10px";const c=n.createElement("div");c.style.marginTop="10px";const u=n.createElement("div");u.style.marginTop="10px",u.style.font=sD,u.style.display="flex",u.style.justifyContent="space-between",u.style.alignItems="center",u.style.gap="10px";const d=n.createElement("div");d.style.color="rgba(140, 224, 255, 0.9)",d.textContent="Playback started @ --";const h=n.createElement("div");h.style.opacity="0.7",h.style.marginLeft="auto",h.textContent=e?`version ${e}`:"version n/a",u.appendChild(d),u.appendChild(h);const f=n.createElement("button");return f.type="button",f.textContent="Debug",f.style.position="absolute",f.style.top="8px",f.style.left="8px",f.style.cursor="pointer",f.style.padding="6px 10px",f.style.borderRadius="10px",f.style.border="1px solid rgba(255,255,255,0.25)",f.style.background="rgba(0,0,0,0.55)",f.style.color="#fff",f.style.pointerEvents="auto",f.style.display="none",r.appendChild(o),r.appendChild(l),r.appendChild(c),r.appendChild(u),i.appendChild(r),i.appendChild(f),t.appendChild(i),{overlayRoot:i,panel:r,tabBar:l,content:c,hideBtn:a,showBtn:f,footerPlayback:d}}({mountElement:t,playerVersion:h||(null==u?void 0:u.playerVersion)}),m=new HB({tabBarEl:p.tabBar,contentEl:p.content});let v=!0;function g(){v=!1,p.panel.style.display="none",p.showBtn.style.display="inline-block"}function y(){v=!0,p.panel.style.display="block",p.showBtn.style.display="none"}p.hideBtn.addEventListener("click",g),p.showBtn.addEventListener("click",y);const b=DB({timeline:n,getNode:r,assetsDeliveryServiceUrl:i}),k=function({getNode:t}){const e=eD.document,n=e.createElement("pre");n.style.margin="0",n.style.whiteSpace="pre-wrap",n.style.font=aD,n.style.lineHeight="1.35";const i=e.createElement("div");i.style.display="flex",i.style.flexDirection="column",i.style.gap="8px",i.style.marginTop="6px";const r=e.createElement("div");r.style.display="flex",r.style.gap="10px",r.style.marginTop="10px",r.style.alignItems="center",r.style.flexWrap="wrap";const o=new wD({maxValue:60}),s=new wD({maxValue:60}),a=e.createElement("div"),l=e.createElement("div");l.textContent="browserfps",l.style.font=sD,l.style.opacity="0.9",a.appendChild(l),a.appendChild(o.element);const c=e.createElement("div"),u=e.createElement("div");return u.textContent="fps",u.style.font=l.style.font,u.style.opacity="0.9",c.appendChild(u),c.appendChild(s.element),r.appendChild(a),r.appendChild(c),{id:"frames",title:"Frames",render:t=>{t.appendChild(n),t.appendChild(i),t.appendChild(r)},pushBrowserFps:(t,e)=>o.push(t,e),pushVisualFps:(t,e)=>s.push(t,e),updateInfo:function({time:r,entries:o}){const s=Array.isArray(o)?o.slice().sort(ID):[];if(!s.length)return n.textContent="",void(i.innerHTML="");n.textContent=`t=${ND(r)}s tracks=${s.length}`,i.innerHTML="";for(let n=0;n<s.length;n+=1){const r=s[n],o=OD(t,r),a=(null==o?void 0:o.id)||"n/a",l=(null==o?void 0:o.codecs)||(null==o?void 0:o.mime)||"n/a",c=AD(null==o?void 0:o.bandwidth),u=hD(null==o?void 0:o.width,null==o?void 0:o.height),d=CD(t,r)||"n/a",h=FD(t,r),f=h?` fallback=${h}`:"",p=SD(t,r),m=(null==p?void 0:p.strategy)||"n/a",v=(null==p?void 0:p.decisionReason)||"n/a",g=MD(null==p?void 0:p.measuredDownloadSpeedKbps),y=MD(null==p?void 0:p.safeBandwidthKbps),b=e.createElement("div");b.style.display="flex",b.style.flexDirection="column",b.style.gap="2px";const k=e.createElement("pre");k.style.margin="0",k.style.whiteSpace="pre-wrap",k.style.font=aD,k.style.lineHeight="1.35",k.textContent=[`${(null==r?void 0:r.nodeId)||"?"} ${(null==r?void 0:r.trackId)||"?"} ${(null==r?void 0:r.segmentId)||"?"} pts=${ND(null==r?void 0:r.presentationTime)}s`,`rep=${a} encodeProfile=${d}${f} res=${u} codec=${l} repBW=${c}`,`abr=strategy:${m} reason:${v} measuredBW:${g} safeBW:${y}`].join("\n"),b.appendChild(k);const w=(null==p?void 0:p.selectedRepresentationId)||(null==o?void 0:o.id),x=DD(t,r,o,p);if(x.length){const t=e.createElement("div");t.style.display="flex",t.style.alignItems="center",t.dataset.abrLadderRow="true",t.dataset.trackId=(null==r?void 0:r.trackId)||"",t.dataset.segmentId=(null==r?void 0:r.segmentId)||"";const n=e.createElement("div");n.style.display="inline-flex",n.style.alignItems="center",n.style.gap="2px",n.dataset.abrLadder="true",x.forEach((t=>{const i=e.createElement("span"),r=!!w&&t.id===w;i.dataset.abrLadderBlock="true",i.dataset.repId=t.id||"",i.dataset.selected=r?"true":"false",i.style.display="inline-block",i.style.width="10px",i.style.height="8px",i.style.borderRadius="2px",i.style.border="1px solid rgba(255,255,255,0.35)",i.style.background=r?"rgba(74, 222, 128, 0.95)":"rgba(156, 163, 175, 0.55)",i.title=`${t.id||"?"} ${MD(t.bandwidthKbps)}`,n.appendChild(i)})),t.appendChild(n),b.appendChild(t)}i.appendChild(b)}},dispose:()=>{o.dispose(),s.dispose()}}}({getNode:r}),w=jD({downloadSpeed:s,downloadEvents:a}),x=function({qoe:t,qoeEvents:e}={}){const n=null==eD?void 0:eD.document;if(!n||"function"!=typeof n.createElement)throw new Error("Debug overlay QoE tab requires document.createElement.");const i=n.createElement("pre");i.style.margin="0",i.style.whiteSpace="pre-wrap",i.style.font=aD;const{graphWrap:r,graph:o}=function(t){const e=t.createElement("div");e.style.marginTop="10px";const n=t.createElement("div");n.textContent="qoe score",n.style.font=sD,n.style.opacity="0.9";const i=new wD({maxValue:1,windowMs:3e4,formatValue:t=>$D(t)});return e.appendChild(n),e.appendChild(i.element),{graphWrap:e,graph:i}}(n);let s=null;const a=()=>{i.textContent=function(t){if(!t)return"QoE unavailable";const e="string"==typeof t.status?t.status:"n/a";return[`score=${$D(t.score)}`,`status=${e}`,`streamQualityScore=${$D(t.streamQualityScore)}`,`fpsScore=${$D(t.fpsScore)}`,`browserFps=${$D(t.browserFps)}`,`waitingSeconds=${$D(t.waitingSeconds)}`,`playingSeconds=${$D(t.playingSeconds)}`].join("\n")}(t)},l=()=>{if(!t)return;const e=Number(t.score);Number.isFinite(e)&&o.push(e,UD())},c=t=>{const e=Number(t);Number.isFinite(e)&&o.push(e,UD()),a()},u=()=>{a()};if(a(),l(),e&&"function"==typeof e.on&&(e.on("qoescore",c),e.on("qoestatus",u)),t){const t="function"==typeof(null==eD?void 0:eD.setInterval)?eD.setInterval:setInterval;s=t((()=>{l(),a()}),1e3)}return{id:"qoe",title:"QoE",render:t=>{t.appendChild(i),t.appendChild(r)},dispose:()=>{e&&"function"==typeof e.off&&(e.off("qoescore",c),e.off("qoestatus",u)),s&&(("function"==typeof(null==eD?void 0:eD.clearInterval)?eD.clearInterval:clearInterval)(s),s=null),o.dispose()}}}({qoe:l,qoeEvents:c}),_=function({timeline:t,getNode:e,listNodes:n,options:i}={}){const r=null==eD?void 0:eD.document;if(!r||"function"!=typeof r.createElement)throw new Error("Debug overlay Memory tab requires document.createElement.");const o=r.createElement("pre");o.style.margin="0",o.style.whiteSpace="pre-wrap",o.style.font=aD;const s=r.createElement("div");s.textContent="nodes",s.style.marginTop="10px",s.style.font=sD,s.style.opacity="0.9";const a=r.createElement("pre");a.style.margin="6px 0 0 0",a.style.whiteSpace="pre-wrap",a.style.font=aD;let l=null;const c=()=>{const r=function({timeline:t,getNode:e,listNodes:n}){const i=[];let r=0;if("function"==typeof n){let t;try{t=n()}catch(e){t=null}if(Array.isArray(t))return t.forEach((t=>{const e=null==t?void 0:t.id;if("string"!=typeof e||!e.length)return;const n=Number(null==t?void 0:t.retainedByteLength);Number.isFinite(n)&&(r+=n,i.push({nodeId:e,bytes:n}))})),i.sort(((t,e)=>e.bytes-t.bytes)),{totalBytes:r,nodes:i,available:!0}}if(!t||"function"!=typeof e)return{totalBytes:0,nodes:[],available:!1};const o=Array.isArray(t.placements)?t.placements:[];return new Set(o.map((t=>null==t?void 0:t.nodeId)).filter((t=>"string"==typeof t&&t.length))).forEach((t=>{const n=e(t),o=Number(null==n?void 0:n.retainedByteLength);Number.isFinite(o)&&(r+=o,i.push({nodeId:t,bytes:o}))})),i.sort(((t,e)=>e.bytes-t.bytes)),{totalBytes:r,nodes:i,available:!0}}({timeline:t,getNode:e,listNodes:n}),s=function({timeline:t}){if(!t||"function"!=typeof t.getDecodedFrameStats)return{totalBytes:0,frames:0,available:!1};try{const e=t.getDecodedFrameStats(),n=Number(null==e?void 0:e.totalBytes),i=Number(null==e?void 0:e.frames);return{totalBytes:Number.isFinite(n)?n:0,frames:Number.isFinite(i)?i:0,available:!1!==(null==e?void 0:e.available)}}catch(t){return{totalBytes:0,frames:0,available:!1}}}({timeline:t}),l=function(t,e,n,i){const r=Number(null!==(n=null==t||null===(i=t.publicOptions)||void 0===i?void 0:i.segmentEvictionMaxRetainedBytes)&&void 0!==n?n:null==t?void 0:t.segmentEvictionMaxRetainedBytes),o=lD(r)&&r>=0,s=o?WB(r):"n/a";return{active:o&&lD(e)&&e>r,thresholdLabel:s}}(i,r.available?r.totalBytes:NaN),c=l.active?"on":"off",u=s.available?WB(s.totalBytes):"n/a",d=s.available?s.frames:"n/a";if(!r.available)return o.textContent=[`decoded=${u} decodedFrames=${d}`,`retained=n/a eviction=${c} threshold=${l.thresholdLabel}`].join("\n"),void(a.textContent="");if(o.textContent=[`decoded=${u} decodedFrames=${d}`,[`retained=${WB(r.totalBytes)}`,`nodes=${r.nodes.length}`,`eviction=${c}`,`threshold=${l.thresholdLabel}`].join(" ")].join("\n"),!r.nodes.length)return void(a.textContent="none");const h=r.nodes.slice(0,8).map((t=>`${t.nodeId}: ${WB(t.bytes)}`));a.textContent=h.join("\n")};c();const u="function"==typeof(null==eD?void 0:eD.setInterval)?eD.setInterval:setInterval;return l=u(c,1e3),{id:"memory",title:"Memory",render:t=>{t.appendChild(o),t.appendChild(s),t.appendChild(a)},refresh:c,dispose:()=>{l&&(("function"==typeof(null==eD?void 0:eD.clearInterval)?eD.clearInterval:clearInterval)(l),l=null)}}}({timeline:n,getNode:r,listNodes:o,options:u});m.registerTab(b),m.registerTab(k),m.registerTab(w),m.registerTab(x),m.registerTab(_),m.registerTab(function({options:t}={}){const e=null==eD?void 0:eD.document;if(!e||"function"!=typeof e.createElement)throw new Error("Debug overlay options tab requires document.createElement.");const n=e.createElement("pre");n.style.margin="0",n.style.font=aD,n.style.whiteSpace="pre-wrap",n.style.wordBreak="break-word";const i=null==t?void 0:t.publicOptions,r=i&&"object"==typeof i?Object.keys(i):[];if(r.length){const t=r.map((t=>`${t}=${function(t){if(null===t)return"null";if(void 0===t)return"undefined";const e=typeof t;if("string"===e)return t;if("number"===e||"boolean"===e)return String(t);try{return JSON.stringify(t)}catch(e){return String(t)}}(i[t])}`));n.textContent=t.join("\n")}else n.textContent="publicOptions unavailable";return{id:"options",title:"Options",render:t=>{t.appendChild(n)}}}({options:u}));const I=[],T=[];let E=0,S=0,M=null,A=!1,N=0,C=null;function F(t){const e=Number(t);Number.isFinite(e)&&(e-N<250||(N=e,k.pushBrowserFps(E,e),k.pushVisualFps(S,e)))}eD.window&&"function"==typeof eD.window.requestAnimationFrame&&(M=eD.window.requestAnimationFrame((function t(e){A||(E=TD(I,e),F(e),M=eD.window.requestAnimationFrame(t))})));const O=(t={})=>{if(A||!v)return;const e=Array.isArray(t.frames)?t.frames:[];if(!e.length)return void(C=null);const n=null!=eD&&eD.performance&&"function"==typeof eD.performance.now?eD.performance.now():Date.now(),i=e.map((t=>`${null==t?void 0:t.nodeId}:${null==t?void 0:t.trackId}:${null==t?void 0:t.segmentId}@${null==t?void 0:t.presentationTime}`)).join("|");i!==C&&(S=TD(T,n),C=i),k.updateInfo({time:t.time,entries:e}),F(n)};let P=Number.isFinite(d)?d:void 0;if(Number.isFinite(P)&&p.footerPlayback){const t=P/1e3;p.footerPlayback.textContent=`Playback started @ ${dD(t)}s`}const R=(t={})=>{if(!A&&void 0===P&&"playing"===(null==t?void 0:t.event)&&(P=iD(),p.footerPlayback)){const t=P/1e3;p.footerPlayback.textContent=`Playback started @ ${dD(t)}s`}},D=()=>{const t=Array.isArray(null==n?void 0:n.placements)?n.placements:[],e=Array.isArray(null==n?void 0:n.renderPlacements)?n.renderPlacements:[];b.updatePlacements(t,e)},B=(t={})=>{if(A)return;const e=Number.isFinite(null==t?void 0:t.time)?t.time:null==n?void 0:n.currentTime;b.updateTime(e),_&&"function"==typeof _.refresh&&_.refresh()},L=()=>{A||D()},z=()=>{A||D()},W=null==n?void 0:n.trackBuffers,j=()=>{A||("function"==typeof b.refresh?b.refresh():D(),_&&"function"==typeof _.refresh&&_.refresh())};return n.on(rD.VISUAL_FRAMES_AVAILABLE,O),n.on(rD.TIMELINE_TIME_UPDATE,B),n.on(rD.PLACEMENT_ADDED,L),n.on(rD.RENDER_PLACEMENT_ADDED,z),n.on(rD.TIMELINE_PLAYER_STATE,R),W&&"function"==typeof W.on&&W.on("track:bufferupdate",j),D(),b.updateTime(null==n?void 0:n.currentTime),{show:y,hide:g,dispose:function(){A||(A=!0,M&&eD.window&&"function"==typeof eD.window.cancelAnimationFrame&&eD.window.cancelAnimationFrame(M),M=null,n&&"function"==typeof n.off&&(n.off(rD.VISUAL_FRAMES_AVAILABLE,O),n.off(rD.TIMELINE_TIME_UPDATE,B),n.off(rD.PLACEMENT_ADDED,L),n.off(rD.RENDER_PLACEMENT_ADDED,z),n.off(rD.TIMELINE_PLAYER_STATE,R)),W&&"function"==typeof W.off&&W.off("track:bufferupdate",j),k&&"function"==typeof k.dispose&&k.dispose(),b&&"function"==typeof b.dispose&&b.dispose(),w&&"function"==typeof w.dispose&&w.dispose(),x&&"function"==typeof x.dispose&&x.dispose(),_&&"function"==typeof _.dispose&&_.dispose(),m.dispose(),p.overlayRoot&&p.overlayRoot.parentNode&&p.overlayRoot.parentNode.removeChild(p.overlayRoot))},registerTab:function(t){m.registerTab(t)},selectTab:function(t){m.selectTab(t)}}}var QB=Object.freeze({__proto__:null,createDebugOverlay:YB,default:YB});exports.EkoGallery=JR,exports.EkoGalleryLegacy=en,exports.ekoWebPixel=S,exports.getEkoAnalyticsSnippet=function(t){return`if (!window.EkoAnalytics) {\n !function () {\n var t, a, e, s, n;\n 'undefined' == typeof window || window.EkoAnalytics || (t = window, a = 'EkoAnalytics', e = document, s = 'script', t[a] || (t[a] = function () {\n t[a].f ? (t[a].q.push(arguments), t[a].ts.push(Date.now())) : t[a].apply(t, arguments);\n }, t[a].f = !0, t[a].q = t[a].q || [], t[a].ts = t[a].ts || [], t[a].t = Number(new Date), t[a].sa = [], t[a].cb = [], t[a].init = function (ids) {\n t[a].id = ids;\n }, t[a].childRequestIdsCallback = function (e) {\n e.data && 'ea-ids-request' === e.data.type && t[a].sa.push(e.source);\n }, t.addEventListener('message', t[a].childRequestIdsCallback)));\n }();\n\n window.EkoAnalytics.cb.push(() => {\n let setCookie = (key, value, additionalProperties = '') => {\n let hostname = window.location.hostname;\n let domain = hostname;\n \n let parts = hostname.split('.');\n if (parts.length > 2) {\n domain = parts.slice(-2).join('.');\n }\n\n // "samesite=lax" is needed for cross-site situations (like NZXT getting checkout url attributes from lambda).\n window.document.cookie = \`\${key}=\${value}; domain=.\${domain}; path=/; secure; samesite=lax; \${additionalProperties}\`;\n };\n\n setCookie('easid', encodeURIComponent(window.EkoAnalytics('getSid')));\n setCookie('eauid', encodeURIComponent(window.EkoAnalytics('getUid')), 'max-age=2147483647');\n });\n\n window.EkoAnalytics('configure', {\n snowplow: {\n options: {\n appId: 'ekoGalleryReactV4',\n },\n },\n ekoEnv: '${t?"production":"development"}',\n env: 'website',\n });\n window.EkoAnalytics('track', 'PageView');\n }`},exports.getEkoProductConfigUrl=ZR,exports.getEkoProductConfigUrlLegacy=tD;
|
|
14
|
+
*/var ut=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},n=0;n<10;n++)e["_"+String.fromCharCode(n)]=n;var i=Object.getOwnPropertyNames(e).map((function(t){return e[t]}));if("0123456789"!==i.join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(t){r[t]=t})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var n,i,r=function(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}(t),o=1;o<arguments.length;o++){for(var s in n=Object(arguments[o]))lt.call(n,s)&&(r[s]=n[s]);if(at){i=at(n);for(var a=0;a<i.length;a++)ct.call(n,i[a])&&(r[i[a]]=n[i[a]])}}return r},dt="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",ht=Function.call.bind(Object.prototype.hasOwnProperty),ft=function(){};if("production"!==process.env.NODE_ENV){var pt=dt,mt={},vt=ht;ft=function(t){var e="Warning: "+t;"undefined"!=typeof console&&console.error(e);try{throw new Error(e)}catch(t){}}}function gt(t,e,n,i,r){if("production"!==process.env.NODE_ENV)for(var o in t)if(vt(t,o)){var s;try{if("function"!=typeof t[o]){var a=Error((i||"React class")+": "+n+" type `"+o+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof t[o]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw a.name="Invariant Violation",a}s=t[o](e,o,i,n,null,pt)}catch(t){s=t}if(!s||s instanceof Error||ft((i||"React class")+": type specification of "+n+" `"+o+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof s+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),s instanceof Error&&!(s.message in mt)){mt[s.message]=!0;var l=r?r():"";ft("Failed "+n+" type: "+s.message+(null!=l?l:""))}}}gt.resetWarningCache=function(){"production"!==process.env.NODE_ENV&&(mt={})};var yt=gt,bt=function(){};function kt(){return null}"production"!==process.env.NODE_ENV&&(bt=function(t){var e="Warning: "+t;"undefined"!=typeof console&&console.error(e);try{throw new Error(e)}catch(t){}});var wt=function(t,e){var n="function"==typeof Symbol&&Symbol.iterator,i="@@iterator";var r="<<anonymous>>",o={array:c("array"),bigint:c("bigint"),bool:c("boolean"),func:c("function"),number:c("number"),object:c("object"),string:c("string"),symbol:c("symbol"),any:l(kt),arrayOf:function(t){return l((function(e,n,i,r,o){if("function"!=typeof t)return new a("Property `"+o+"` of component `"+i+"` has invalid PropType notation inside arrayOf.");var s=e[n];if(!Array.isArray(s))return new a("Invalid "+r+" `"+o+"` of type `"+h(s)+"` supplied to `"+i+"`, expected an array.");for(var l=0;l<s.length;l++){var c=t(s,l,i,r,o+"["+l+"]",dt);if(c instanceof Error)return c}return null}))},element:l((function(e,n,i,r,o){var s=e[n];return t(s)?null:new a("Invalid "+r+" `"+o+"` of type `"+h(s)+"` supplied to `"+i+"`, expected a single ReactElement.")})),elementType:l((function(t,e,n,i,r){var o=t[e];return st.isValidElementType(o)?null:new a("Invalid "+i+" `"+r+"` of type `"+h(o)+"` supplied to `"+n+"`, expected a single ReactElement type.")})),instanceOf:function(t){return l((function(e,n,i,o,s){if(!(e[n]instanceof t)){var l=t.name||r;return new a("Invalid "+o+" `"+s+"` of type `"+(((c=e[n]).constructor&&c.constructor.name?c.constructor.name:r)+"` supplied to `")+i+"`, expected instance of `"+l+"`.")}var c;return null}))},node:l((function(t,e,n,i,r){return d(t[e])?null:new a("Invalid "+i+" `"+r+"` supplied to `"+n+"`, expected a ReactNode.")})),objectOf:function(t){return l((function(e,n,i,r,o){if("function"!=typeof t)return new a("Property `"+o+"` of component `"+i+"` has invalid PropType notation inside objectOf.");var s=e[n],l=h(s);if("object"!==l)return new a("Invalid "+r+" `"+o+"` of type `"+l+"` supplied to `"+i+"`, expected an object.");for(var c in s)if(ht(s,c)){var u=t(s,c,i,r,o+"."+c,dt);if(u instanceof Error)return u}return null}))},oneOf:function(t){if(!Array.isArray(t))return"production"!==process.env.NODE_ENV&&bt(arguments.length>1?"Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).":"Invalid argument supplied to oneOf, expected an array."),kt;return l((function(e,n,i,r,o){for(var l=e[n],c=0;c<t.length;c++)if(s(l,t[c]))return null;var u=JSON.stringify(t,(function(t,e){return"symbol"===f(e)?String(e):e}));return new a("Invalid "+r+" `"+o+"` of value `"+String(l)+"` supplied to `"+i+"`, expected one of "+u+".")}))},oneOfType:function(t){if(!Array.isArray(t))return"production"!==process.env.NODE_ENV&&bt("Invalid argument supplied to oneOfType, expected an instance of array."),kt;for(var e=0;e<t.length;e++){var n=t[e];if("function"!=typeof n)return bt("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+p(n)+" at index "+e+"."),kt}return l((function(e,n,i,r,o){for(var s=[],l=0;l<t.length;l++){var c=(0,t[l])(e,n,i,r,o,dt);if(null==c)return null;c.data&&ht(c.data,"expectedType")&&s.push(c.data.expectedType)}return new a("Invalid "+r+" `"+o+"` supplied to `"+i+"`"+(s.length>0?", expected one of type ["+s.join(", ")+"]":"")+".")}))},shape:function(t){return l((function(e,n,i,r,o){var s=e[n],l=h(s);if("object"!==l)return new a("Invalid "+r+" `"+o+"` of type `"+l+"` supplied to `"+i+"`, expected `object`.");for(var c in t){var d=t[c];if("function"!=typeof d)return u(i,r,o,c,f(d));var p=d(s,c,i,r,o+"."+c,dt);if(p)return p}return null}))},exact:function(t){return l((function(e,n,i,r,o){var s=e[n],l=h(s);if("object"!==l)return new a("Invalid "+r+" `"+o+"` of type `"+l+"` supplied to `"+i+"`, expected `object`.");var c=ut({},e[n],t);for(var d in c){var p=t[d];if(ht(t,d)&&"function"!=typeof p)return u(i,r,o,d,f(p));if(!p)return new a("Invalid "+r+" `"+o+"` key `"+d+"` supplied to `"+i+"`.\nBad object: "+JSON.stringify(e[n],null," ")+"\nValid keys: "+JSON.stringify(Object.keys(t),null," "));var m=p(s,d,i,r,o+"."+d,dt);if(m)return m}return null}))}};function s(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}function a(t,e){this.message=t,this.data=e&&"object"==typeof e?e:{},this.stack=""}function l(t){if("production"!==process.env.NODE_ENV)var n={},i=0;function o(o,s,l,c,u,d,h){if(c=c||r,d=d||l,h!==dt){if(e){var f=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw f.name="Invariant Violation",f}if("production"!==process.env.NODE_ENV&&"undefined"!=typeof console){var p=c+":"+l;!n[p]&&i<3&&(bt("You are manually calling a React.PropTypes validation function for the `"+d+"` prop on `"+c+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),n[p]=!0,i++)}}return null==s[l]?o?null===s[l]?new a("The "+u+" `"+d+"` is marked as required in `"+c+"`, but its value is `null`."):new a("The "+u+" `"+d+"` is marked as required in `"+c+"`, but its value is `undefined`."):null:t(s,l,c,u,d)}var s=o.bind(null,!1);return s.isRequired=o.bind(null,!0),s}function c(t){return l((function(e,n,i,r,o,s){var l=e[n];return h(l)!==t?new a("Invalid "+r+" `"+o+"` of type `"+f(l)+"` supplied to `"+i+"`, expected `"+t+"`.",{expectedType:t}):null}))}function u(t,e,n,i,r){return new a((t||"React class")+": "+e+" type `"+n+"."+i+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+r+"`.")}function d(e){switch(typeof e){case"number":case"string":case"undefined":return!0;case"boolean":return!e;case"object":if(Array.isArray(e))return e.every(d);if(null===e||t(e))return!0;var r=function(t){var e=t&&(n&&t[n]||t[i]);if("function"==typeof e)return e}(e);if(!r)return!1;var o,s=r.call(e);if(r!==e.entries){for(;!(o=s.next()).done;)if(!d(o.value))return!1}else for(;!(o=s.next()).done;){var a=o.value;if(a&&!d(a[1]))return!1}return!0;default:return!1}}function h(t){var e=typeof t;return Array.isArray(t)?"array":t instanceof RegExp?"object":function(t,e){return"symbol"===t||!!e&&("Symbol"===e["@@toStringTag"]||"function"==typeof Symbol&&e instanceof Symbol)}(e,t)?"symbol":e}function f(t){if(null==t)return""+t;var e=h(t);if("object"===e){if(t instanceof Date)return"date";if(t instanceof RegExp)return"regexp"}return e}function p(t){var e=f(t);switch(e){case"array":case"object":return"an "+e;case"boolean":case"date":case"regexp":return"a "+e;default:return e}}return a.prototype=Error.prototype,o.checkPropTypes=yt,o.resetWarningCache=yt.resetWarningCache,o.PropTypes=o,o};function xt(){}function _t(){}_t.resetWarningCache=xt;var It=D((function(t){if("production"!==process.env.NODE_ENV){var e=st;t.exports=wt(e.isElement,!0)}else t.exports=function(){function t(t,e,n,i,r,o){if(o!==dt){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function e(){return t}t.isRequired=t;var n={array:t,bigint:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,elementType:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e,checkPropTypes:_t,resetWarningCache:xt};return n.PropTypes=n,n}()}));const Tt=/https?:\/\/(.*?\.)?eko.com/,Et={"eko.project.interaction":"interaction","eko.project.swipe":"swipe"};let St=null,Mt=null,At=[];function Nt(t){return e=>{var n;if(!Tt.test(e.origin)||"eko.embedapi"!==(null===(n=e.data)||void 0===n?void 0:n.source))return;const i=e.data,r=Et[i.type];r&&(t?t(r,i.data):At.push({type:r,data:i.data}))}}"undefined"!=typeof window&&(Mt=Nt(null),window.addEventListener("message",Mt));var Ct={subscribe:function(t){"function"==typeof t?St?console.warn("[eko-gallery-react] Ignoring events subscribe since already subscribed"):(St=t,Mt=Nt(t),window.addEventListener("message",Mt),function(t){At.forEach((e=>{t(e.type,e.data)})),At=[]}(t)):console.warn("[eko-gallery-react] Ignoring events subscribe since a callback function was not provided as argument")},unsubscribe:function(){Mt?(window.removeEventListener("message",Mt),Mt=null,St=null,At=[]):console.warn("[eko-gallery-react] Ignoring events unsubscribe since not subscribed")},send:function(t,e){St?St(t,e):At.push({type:t,data:e})}};const Ft=({index:t,activeIndex:n,setActiveIndex:i,item:r,src:o,navItemRefs:s,itemIcon:a})=>{var l,c;const u=null==r||null===(l=r.media)||void 0===l?void 0:l.srcset,d=null==r||null===(c=r.media)||void 0===c?void 0:c.sizes,h=!o&&(null==r?void 0:r.label),f=u?o:function(t,e=200){if(!t)return null;try{let n=t;t.includes("assets.eko.com")&&t.includes("/raw/")&&(n=t.replace("/raw/","/image/"));const i=new URL(n);return i.searchParams.set("width",e),i.href}catch(e){return t}}(o,150);let p=["addons-container",h?"full-thumb-label":""].join(" ").trim();return e.createElement("li",{className:"eko-nav-item","aria-current":n===t,onClick:function(){i(t),function(t){S.track("gallery.interaction",{elementid:`thumbnail-${t}`,interactiontype:"click"}),Ct.send("interaction",{elementid:`thumbnail-${t}`,interactiontype:"click"})}(t)},ref:s.current[t]},e.createElement("button",{type:"button","aria-label":`Go to item ${t}`},!h&&e.createElement("img",{src:f,srcSet:u,sizes:d,alt:null==r?void 0:r.name,loading:"eager",fetchPriority:"high"}),e.createElement("div",{className:p},(null==r?void 0:r.stepsIndication)&&e.createElement("div",{className:"step-indicator"},e.createElement("span",null),e.createElement("span",null),e.createElement("span",null)),(null==r?void 0:r.label)&&e.createElement("div",{className:"thumb-label"},null==r?void 0:r.label)),a&&e.createElement("div",{className:"item-icon"},e.createElement("span",{style:{backgroundImage:`url(${a})`}}))))};Ft.propTypes={index:It.number,activeIndex:It.number,setActiveIndex:It.func.isRequired,item:It.object.isRequired,src:It.string,navItemRefs:It.object.isRequired,itemIcon:It.string};const Ot=({layout:t,nav:n,isVerticalNav:i,showPrevArrow:r,showNextArrow:o})=>{var s,a,l,c,u;const d=e.useRef(null),h=e.useRef(null),f="arrows"===(null==t||null===(s=t.mobile)||void 0===s||null===(s=s.config)||void 0===s||null===(s=s.navPagination)||void 0===s?void 0:s.type)?"eko-mobile-arrows":"",p="arrows"===(null!==(a=null==t||null===(l=t.desktop)||void 0===l||null===(l=l.config)||void 0===l||null===(l=l.navPagination)||void 0===l?void 0:l.type)&&void 0!==a?a:"arrows")?"eko-desktop-arrows":"",m=f||p,v=i?null==n||null===(c=n.current)||void 0===c?void 0:c.scrollHeight:null==n||null===(u=n.current)||void 0===u?void 0:u.scrollWidth;function g(t){const e=i?n.current.clientHeight:n.current.clientWidth,r=function(t,e){const n=i?e.scrollTop:e.scrollLeft;return Math.max(-n,Math.min(v-t-n,t))}("next"===t?e:-e,n.current);return{top:i?r:0,left:i?0:r,behavior:"smooth"}}function y(t){var e,i,r;const o=g(t),s="next"===t?null==h||null===(e=h.current)||void 0===e?void 0:e.id:null==d||null===(i=d.current)||void 0===i?void 0:i.id;var a,l;window.EkoAnalytics("track","gallery.interaction",{elementid:s,interactiontype:"click"}),null==n||null===(r=n.current)||void 0===r||r.scrollBy(o),a=s,l="click",S.track("gallery.interaction",{elementId:a,interactiontype:l}),Ct.send("interaction",{elementId:a,interactiontype:l})}return e.createElement(e.Fragment,null,m&&e.createElement(e.Fragment,null,e.createElement("button",R({type:"button","aria-label":"Go to previous item","aria-hidden":r?"false":"true",onClick:()=>y("prev"),ref:d,id:"eko-nav-prev-arrow",className:`eko-nav-arrow eko-prev-nav-button ${f} ${p} ${r?"":"eko-hidden-nav-button"}`},r?{}:{tabIndex:"-1"}),e.createElement("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("path",{d:"M5.56127 9.52817C5.28966 9.22635 5.28966 8.77361 5.56127 8.502L10.39 3.67331C10.6918 3.37157 11.1445 3.37157 11.4161 3.67331C11.7179 3.94492 11.7179 4.39766 11.4161 4.66927L7.10044 8.98487L11.4161 13.3307C11.7179 13.6023 11.7179 14.055 11.4161 14.3266C11.1445 14.6285 10.6918 14.6285 10.4202 14.3266L5.56127 9.52817Z",fill:"black"}))),e.createElement("button",R({type:"button","aria-label":"Go to next item","aria-hidden":o?"false":"true",onClick:()=>y("next"),ref:h,className:`eko-nav-arrow eko-next-nav-button ${f} ${p} ${o?"":"eko-hidden-nav-button"}`,id:"eko-nav-next-arrow"},o?{}:{tabIndex:"-1"}),e.createElement("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("path",{d:"M12.4387 8.47185C12.7103 8.77367 12.7103 9.22641 12.4387 9.49802L7.61003 14.3267C7.30821 14.6284 6.85547 14.6284 6.58386 14.3267C6.28212 14.0551 6.28212 13.6024 6.58386 13.3308L10.8996 9.01515L6.58386 4.66933C6.28212 4.39772 6.28212 3.94499 6.58386 3.67338C6.85547 3.37155 7.30821 3.37155 7.57982 3.67338L12.4387 8.47185Z",fill:"black"})))))};function Pt(t,e,n){let i;return function(){const n=this,r=arguments;clearTimeout(i),i=setTimeout((function(){i=null,t.apply(n,r)}),e)}}Ot.propTypes={layout:It.object.isRequired,nav:It.object.isRequired,isVerticalNav:It.bool.isRequired,showPrevArrow:It.bool.isRequired,showNextArrow:It.bool.isRequired};const Rt=({items:t,setActiveIndex:n,activeIndex:i,layout:r,carouselMounted:o,forceMobile:s})=>{const l=e.useRef(null),c=e.useRef(null),u=e.useRef([]),d=3,[h,f]=e.useState(null),[p,m]=e.useState(!1),[v,g]=e.useState(0),[y,b]=e.useState(!1),[k,w]=e.useState(!1);function x(){var t;const e=s||window.innerWidth<768?"mobile":"desktop",n=(null==r||null===(t=r[e])||void 0===t||null===(t=t.config)||void 0===t?void 0:t.orientation)||("desktop"===e?"left":"bottom");m("left"===n||"right"===n);const i=c.current.parentNode,a=o?".eko-smart-gallery-container iframe":".eko-carousel",l=i.querySelector(a);setTimeout((()=>{g(l.clientHeight)}),0)}function _(){var t,e;const n=s||a()?"mobile":"desktop",i=null!==(t=null==r||null===(e=r[n])||void 0===e||null===(e=e.config)||void 0===e||null===(e=e.navPagination)||void 0===e?void 0:e.scrollThreshold)&&void 0!==t?t:d;!function(t=d){var e,n;const i=l.current;if(!i)return;const o="none"!==(null==r||null===(e=r.desktop)||void 0===e||null===(e=e.config)||void 0===e||null===(e=e.navPagination)||void 0===e?void 0:e.type),c=(u=null==r||null===(n=r.mobile)||void 0===n||null===(n=n.config)||void 0===n||null===(n=n.navPagination)||void 0===n?void 0:n.type,"mask"===u||"arrows"===u);var u;if((s||a())&&!c)return void i.style.setProperty("-webkit-mask","none");if(!a()&&!o)return void i.style.setProperty("-webkit-mask","none");const h=i.scrollHeight-i.clientHeight,f=i.scrollTop>t?"85%":"100%",m=i.scrollTop<=h-t?"15%":"0%",v=i.scrollWidth-i.clientWidth,g=i.scrollLeft>t?"15%":"0%",y=i.scrollLeft<=v-t?"85%":"100%";p?i.style.setProperty("-webkit-mask",`linear-gradient(0deg,#0000,#000 ${m} ${f},#0000)`):i.style.setProperty("-webkit-mask",`linear-gradient(90deg,#0000,#000 ${g} ${y},#0000)`)}(i),function(t=d){var e,n,i,r,o,s;const a=p?null==l||null===(e=l.current)||void 0===e?void 0:e.scrollTop:null==l||null===(n=l.current)||void 0===n?void 0:n.scrollLeft,c=p?null==l||null===(i=l.current)||void 0===i?void 0:i.clientHeight:null==l||null===(r=l.current)||void 0===r?void 0:r.clientWidth,u=p?null==l||null===(o=l.current)||void 0===o?void 0:o.scrollHeight:null==l||null===(s=l.current)||void 0===s?void 0:s.scrollWidth;u-t<c?(b(!1),w(!1)):a<=t?(b(!1),w(!0)):a+c>u-t?(b(!0),w(!1)):a+t>0&&a<u-t&&(b(!0),w(!0))}(i)}u.current=null==t?void 0:t.map(((t,n)=>{var i,r;return null!==(i=null==u||null===(r=u.current)||void 0===r?void 0:r[n])&&void 0!==i?i:e.createRef()}));const I=Pt((t=>{var e;e=t,S.track("gallery.interaction",{elementid:"nav",interactiontype:e}),Ct.send("interaction",{elementid:"nav",interactiontype:e})}),200);const T=e.useCallback((t=>{n({index:t,step:0,source:"nav"})}),[]);return e.useEffect((()=>{var t;f(null===(t=u.current)||void 0===t?void 0:t[i])}),[i]),e.useEffect((()=>{if(null!=h&&h.current&&null!=l&&l.current){const t=h.current,e=l.current.clientWidth/2,n=t.clientWidth/2,i=l.current.clientHeight/2,r=t.clientHeight/2;l.current.scrollTo({left:t.offsetLeft-e+n,top:t.offsetTop-i+r,behavior:"smooth"})}}),[h]),e.useEffect((()=>{x()}),[]),e.useEffect((()=>(window.addEventListener("resize",x),()=>{window.removeEventListener("resize",x)})),[c,o,s]),e.useEffect((()=>{g(0),x()}),[t,c,o,s]),e.useEffect((()=>{_();const t=new ResizeObserver(_);return t.observe(l.current),()=>{t.disconnect()}}),[t,s,p]),e.createElement("div",{className:"eko-nav-container",ref:c,style:{opacity:v>0?1:0,height:""+(v&&p?v+"px":"auto")}},e.createElement(Ot,{layout:r,nav:l,isVerticalNav:p,showPrevArrow:y,showNextArrow:k}),e.createElement("ul",{className:`eko-nav eko-mobile-nav-selected-${null!==(E=null==r||null===(M=r.mobile)||void 0===M||null===(M=M.config)||void 0===M?void 0:M.navItemsSelectedType)&&void 0!==E?E:"underline"} eko-desktop-nav-selected-${null!==(A=null==r||null===(N=r.desktop)||void 0===N||null===(N=N.config)||void 0===N?void 0:N.navItemsSelectedType)&&void 0!==A?A:"underline"}`,ref:l,onScroll:function(){_()},onWheel:function(){I("wheel")},onTouchMove:function(){I("swipe")}},null==t?void 0:t.map(((t,n)=>{var r;const o=(null==t||null===(r=t.media)||void 0===r?void 0:r.url)||(null==t?void 0:t.media)||"";return e.createElement(Ft,{key:o+n,index:n,activeIndex:i,setActiveIndex:T,item:t,src:o,navItemRefs:u,itemIcon:null==t?void 0:t.icon})}))));var E,M,A,N};Rt.propTypes={items:It.array.isRequired,activeIndex:It.number,setActiveIndex:It.func.isRequired,layout:It.object,carouselMounted:It.bool,forceMobile:It.bool};function Dt(){S.track("gallery.cover.displayed"),Ct.send("gallerycoverdisplayed")}function Bt(t){if(!t)return t;try{const e=new URL(t);return e.host.includes("assets.eko.com")&&e.pathname.startsWith("/image")&&!e.searchParams.has("width")?(e.pathname.endsWith(".png")&&(e.pathname=e.pathname.replace(/\.png$/,".webp")),e.searchParams.set("width",1920),e.toString()):t}catch(e){return t}}const Lt=({item:t,src:n,srcset:i,sizes:r,isCoverElement:o})=>{const s=e.useRef(null);return e.useEffect((()=>{var t;if(o){if(null===(t=s.current)||void 0===t||!t.complete)return s.current.addEventListener("load",Dt,{once:!0}),()=>{var t;null===(t=s.current)||void 0===t||t.removeEventListener("load",Dt,{once:!0})};Dt()}}),[]),e.createElement("img",{ref:s,src:Bt(n),srcSet:i,sizes:r,alt:t.name,fetchPriority:o?"high":"auto",loading:o?"eager":"lazy",style:{width:"100%",height:"100%"}})};Lt.propTypes={item:It.object.isRequired,src:It.string,srcset:It.string,sizes:It.string,isCoverElement:It.bool};const zt=Pt((t=>{var e;e=t,S.track("gallery.interaction",{elementid:"carousel",interactiontype:e}),Ct.send("interaction",{elementid:"carousel",interactiontype:e})}),200);function Wt(){zt("wheel")}const jt=e.forwardRef((({items:t,setActiveIndex:n,activeIndex:i,showSmartLoaders:r},o)=>{const s=e.useRef(null),a=e.useRef([]);a.current=null==t?void 0:t.map(((t,n)=>{var i,r;return null!==(i=null==a||null===(r=a.current)||void 0===r?void 0:r[n])&&void 0!==i?i:e.createRef()}));const[l,c]=e.useState(),[u,d]=e.useState(),h=e.useRef(i),f=e.useRef(!1);function p(){const e=function(t){const e=t.scrollLeft,n=t.scrollWidth-t.clientWidth;return 0===e?0:e>n?100:e/n*100}(s.current)*(null==t?void 0:t.length)/100,i=Math.min(Math.trunc(e),(null==t?void 0:t.length)-1),r=h.current;"nav"!==r.source&&"external-nav"!==r.source?(f.current&&i!==r.index&&(f.current=!1),f.current||(i>(null==t?void 0:t.length)-1?n({index:(null==t?void 0:t.length)-1,source:"carousel"}):n({index:i,source:"carousel"}))):i===r.index?f.current=!0:f.current&&i!==r.index&&(f.current=!1,n({index:i,source:"carousel"}))}return e.useImperativeHandle(o,(()=>({prev:()=>{n({index:Math.max(0,h.current.index-1),source:"carousel"})},next:()=>{n({index:Math.min((null==t?void 0:t.length)-1,h.current.index+1),source:"carousel"})}}))),e.useEffect((()=>{const t=s.current;if(t)return t.addEventListener("scroll",p),()=>{t.removeEventListener("scroll",p)}}),[t]),e.useEffect((()=>{var t;let e=null===(t=a.current)||void 0===t?void 0:t[i.index];if(e&&("nav"===i.source||"external-nav"===i.source)){const t=e.current,n=s.current.clientWidth/2,i=(null==t?void 0:t.clientWidth)/2,r=(null==t?void 0:t.offsetLeft)-n+i;s.current.scrollTo({left:r,behavior:"smooth"})}}),[i]),e.useEffect((()=>{h.current=i,"nav"!==i.source&&"external-nav"!==i.source||(f.current=!1)}),[i]),e.createElement("ul",{className:"eko-carousel",ref:s,onScroll:p,onWheel:Wt,onTouchMove:function(t){d(t.targetTouches[0].clientX)},onTouchStart:function(t){c(t.targetTouches[0].clientX),d(null)},onTouchEnd:function(){u&&l&&(l-u>75||l-u<-75)&&zt("swipe")}},null==t?void 0:t.map(((t,n)=>{const i=(null==t?void 0:t.cover)||(null==t?void 0:t.media),o=(null==i?void 0:i.url)||i;return e.createElement("li",{className:"eko-carousel-item",key:o+n,ref:a.current[n]},e.createElement(Lt,{item:t,src:o,srcset:null==i?void 0:i.srcset,sizes:null==i?void 0:i.sizes,isCoverElement:0===n}),r&&"image"!==t.type&&e.createElement("div",{className:"eko-smart-loading"},e.createElement("div",null),e.createElement("p",null,"Loading video experience")))})))}));function $t(t){var e;return function(t){var e;return"eko.block.event"===(null==t||null===(e=t.data)||void 0===e?void 0:e.type)}(t)&&"GalleryBlock"===(null==t||null===(e=t.data)||void 0===e||null===(e=e.data)||void 0===e?void 0:e.blockType)}jt.propTypes={items:It.array.isRequired,setActiveIndex:It.func.isRequired,activeIndex:It.object,showSmartLoaders:It.bool},jt.displayName="CarouselLoop";const Ut="eko.project.invoke",qt="eko.block.invoke";function Vt(t,e,n){var i;null!=t&&t.contentWindow&&(null==t||null===(i=t.contentWindow)||void 0===i||i.postMessage({target:"eko.embedapi",type:e,data:n},"*"))}function Gt(t){return`#variantId=${encodeURIComponent(t)}`}const Ht=e.forwardRef((({config:t,instanceId:n,setActiveItem:i,activeItem:r,variantId:o,smartGalleryLoaded:s,onLoad:l,forceMobile:c},u)=>{var d,h,f;const p=null!==(d=null===(h=t.options)||void 0===h?void 0:h.galleryEnv)&&void 0!==d?d:"",m=null===(f=t.__autoGenerated)||void 0===f||null===(f=f.publishItem)||void 0===f?void 0:f.id,v=function(t={}){let e="";return Object.entries(t).forEach((([t,n])=>{e+=`&${t}=${n}`})),e}(null==t?void 0:t.qp),g=function(t,e,n){return`https://${t}play.eko.com/embed?${n?`id=${n}`:`piid=${e}`}&nocover=true&galleryBlockMode=gallery&eko_pixel=true`}(p,m,n),y=e.useRef(null),b=e.useRef(null),k=e.useRef(!1),[w,x]=e.useState(Gt(o||"ekonovar")),[_,I]=e.useState(g+v+w);let T;function E(){S.track("gallery.project.display"),l(),Ct.send("galleryloaded")}return e.useImperativeHandle(u,(()=>({prev:()=>{Vt(null==b?void 0:b.current,qt,{action:"onPrevModule"})},next:()=>{Vt(null==b?void 0:b.current,qt,{action:"onNextModule"})}}))),e.useEffect((()=>{k.current?Vt(null==b?void 0:b.current,Ut,{action:"updateVariant",args:{id:o}}):x(Gt(o))}),[o]),e.useEffect((()=>{Vt(null==b?void 0:b.current,qt,{action:"updateActiveModule",args:{activeItemIndex:null==r?void 0:r.index,activeModuleIndex:null==r?void 0:r.step}})}),[r]),e.useEffect((()=>{function t(t){if((function(t){var e;return"eko.project.blockstart"===(null==t||null===(e=t.data)||void 0===e?void 0:e.type)}(t)||function(t){var e,n;return"eko.project.started"===(null==t||null===(e=t.data)||void 0===e?void 0:e.type)&&(null==t||null===(n=t.data)||void 0===n||null===(n=n.data)||void 0===n?void 0:n.started)}(t))&&!k.current)return e=t.data.data.blockType,k.current=!0,void("GalleryBlock"===e?Vt(null==b?void 0:b.current,qt,{action:"updateActiveModule",args:{activeItemIndex:null==r?void 0:r.index,activeModuleIndex:null==r?void 0:r.step}}):E());var e;if(k.current){if(function(t){var e;return $t(t)&&"activeModuleChanged"===(null==t||null===(e=t.data)||void 0===e||null===(e=e.data)||void 0===e?void 0:e.name)}(t))return void function(t){const e=t.data.data.data.activeItemIndex,n=t.data.data.data.activeModuleIndex;e===(null==r?void 0:r.index)&&n===(null==r?void 0:r.step)||i({index:e,step:n,source:"carousel"})}(t);(function(t){var e;return $t(t)&&"activeModuleChangeDone"===(null==t||null===(e=t.data)||void 0===e||null===(e=e.data)||void 0===e?void 0:e.name)})(t)&&!s&&E()}}return T=c||a()?"mobile":"desktop",function(t,e={}){window.addEventListener("message",t,e)}(t),()=>{!function(t,e={}){window.removeEventListener("message",t,e)}(t)}}),[r]),e.useEffect((()=>{k.current||Vt(null==b?void 0:b.current,Ut,{action:"queryProjectStarted"})}),[r,s]),e.useEffect((()=>{k.current=!1}),[t]),e.useEffect((()=>{I(g+v+w)}),[w]),e.createElement("div",{className:"eko-smart-gallery-container "+(s?"":"eko-project-not-ready"),ref:y,"data-type":"smart-gallery","data-qp":v,"data-variant":o,"data-device":T},e.createElement("iframe",{allow:"autoplay; fullscreen",title:"eko gallery",src:_,style:{border:0},ref:b}))}));Ht.propTypes={config:It.object.isRequired,instanceId:It.string,setActiveItem:It.func.isRequired,activeItem:It.object.isRequired,variantId:It.string,smartGalleryLoaded:It.bool,onLoad:It.func,forceMobile:It.bool},Ht.displayName="SmartGallery";const Kt=()=>e.createElement("style",{suppressHydrationWarning:!0},'.eko-gallery {\n --accentColorEko: #000;\n --primaryColorEko: #000;\n --backgroundColorEko: #25D7A2;\n --navItemsBackgroundColorEko: transparent;\n --navItemsBannerBackgroundColorEko: #EEEEEE;\n --carouselItemsBackgroundColorEko: transparent;\n --carouselInteractiveCoverBackgroundColorEko: transparent;\n --galleryGapEkoMobile: 12px;\n --galleryGapEkoDesktop: 12px;\n --galleryPaddingEkoMobile: 0;\n --galleryPaddingEkoDesktop: 0;\n --galleryMaxWidthEkoMobile: 100%;\n --galleryMaxWidthEkoDesktop: 900px;\n --galleryTransition: .8s cubic-bezier(.35, 0, 0, 1) 1.5s;\n --navBarPaddingEkoMobile: 0 0 0 20px;\n --navBarPaddingEkoDesktop: 0;\n --navItemsWidthEkoMobile: 80px;\n --navItemsWidthEkoDesktop: 80px;\n --navItemsHeightEkoMobile: 80px;\n --navItemsHeightEkoDesktop: 80px;\n --navItemsGapEkoMobile: 14px;\n --navItemsGapEkoDesktop: 14px;\n --navItemsRadiusEkoMobile: 8px;\n --navItemsRadiusEkoDesktop: 8px;\n --navItemsSelectedMarginEkoMobile: 3px;\n --navItemsSelectedMarginEkoDesktop: 3px;\n --navItemsSelectedThicknessEkoMobile: 3px;\n --navItemsSelectedThicknessEkoDesktop: 3px;\n --navItemsSelectedUnderlineRadiusEkoMobile: 100px;\n --navItemsSelectedUnderlineRadiusEkoDesktop: 100px;\n --navItemsObjectFitEkoMobile: cover;\n --navItemsObjectFitEkoDesktop: cover;\n --navMediaBadgeSizeEkoMobile: 22px;\n --navMediaBadgeSizeEkoDesktop: 22px;\n --navMediaBadgeMarginTopEkoMobile: 4px;\n --navMediaBadgeMarginTopEkoDesktop: 4px;\n --navMediaBadgeMarginRightEkoMobile: 4px;\n --navMediaBadgeMarginRightEkoDesktop: 4px;\n --carouselItemsAspectRatioEkoMobile: 1 / 1;\n --carouselItemsAspectRatioEkoDesktop: 1 / 1;\n --carouselItemsRadiusEkoMobile: 0px;\n --carouselItemsRadiusEkoDesktop: 12px;\n --carouselItemsObjectFitEkoMobile: cover;\n --carouselItemsObjectFitEkoDesktop: cover;\n --navBannerFontSizeEkoMobile: 12px;\n --navBannerFontSizeEkoDesktop: 12px;\n --navBannerFontLineHeightEkoMobile: 120%;\n --navBannerFontLineHeightEkoDesktop: 120%;\n --navBannerFontFamilyEkoMobile: inherit;\n --navBannerFontFamilyEkoDesktop: inherit;\n --navBannerFontWeightEkoMobile: 400;\n --navBannerFontWeightEkoDesktop: 400;\n --outerWidth: 0\n}\n\n.eko-gallery * {\n box-sizing: border-box\n}\n\n.eko-gallery ul,\n.eko-gallery li {\n padding: 0;\n text-indent: 0;\n list-style-type: none;\n font-size: 0;\n margin: 0\n}\n\n.eko-gallery button {\n border: none;\n padding: 0\n}\n\n.eko-gallery .eko-hidden {\n display: none !important\n}\n\n.eko-gallery .eko-not-visible {\n visibility: hidden !important\n}\n\n.eko-hidden-variant {\n display: none !important\n}\n\n.eko-sr-only {\n width: 1px;\n height: 1px;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n margin: -1px;\n padding: 0;\n position: absolute;\n overflow: hidden\n}\n\n.eko-sticky-top {\n position: sticky;\n top: 0\n}\n\n.eko-gallery .eko-nav {\n height: 100%;\n display: flex;\n align-items: start;\n align-self: start;\n flex-shrink: 0;\n scrollbar-width: none;\n -ms-overflow-style: none\n}\n\n.eko-gallery .eko-nav li {\n font-size: 0;\n position: relative;\n display: flex;\n flex-shrink: 0;\n justify-content: center;\n -webkit-box-pack: center;\n cursor: pointer\n}\n\n.eko-gallery .eko-nav li button {\n position: relative;\n background-color: transparent;\n border-radius: 0;\n line-height: 0;\n overflow: hidden;\n cursor: pointer\n}\n\n.eko-gallery .eko-nav li button img {\n background-color: var(--navItemsBackgroundColorEko);\n pointer-events: none\n}\n\n.eko-gallery .eko-nav li button .item-icon {\n position: absolute;\n top: 0;\n right: 0;\n width: 32px;\n height: 32px;\n transform: scale(.25);\n transform-origin: top right\n}\n\n.eko-gallery .eko-nav li button .item-icon span {\n display: block;\n width: 400%;\n height: 400%;\n position: absolute;\n top: 0;\n right: 0;\n background-position: top right;\n background-repeat: no-repeat;\n background-size: contain\n}\n\n.eko-gallery .eko-nav li .addons-container {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n display: flex;\n flex-direction: column;\n font-size: 10px;\n line-height: 100%\n}\n\n.eko-gallery .eko-nav li .addons-container .thumb-label {\n width: 100%;\n background: var(--navItemsBannerBackgroundColorEko);\n padding: 4px;\n text-align: center;\n text-wrap: balance;\n color: var(--primaryColorEko)\n}\n\n.eko-gallery .eko-nav li .addons-container .step-indicator {\n width: 100%;\n display: flex;\n flex-direction: row;\n justify-content: center;\n gap: 5px;\n padding: 6px\n}\n\n.eko-gallery .eko-nav li .addons-container .step-indicator span {\n width: 5px;\n height: 5px;\n border-radius: 100px;\n background: #fff;\n box-shadow: 0 0 3px #00000094\n}\n\n.eko-gallery .eko-nav li .addons-container.full-thumb-label {\n position: relative\n}\n\n.eko-gallery .eko-nav li .addons-container.full-thumb-label .step-indicator {\n position: absolute;\n bottom: 0\n}\n\n.eko-gallery .eko-nav li .addons-container.full-thumb-label .thumb-label {\n align-content: center\n}\n\n.eko-gallery .eko-nav::-webkit-scrollbar {\n display: none\n}\n\n.eko-nav-container {\n display: flex\n}\n\n.eko-nav-container:has(.eko-nav.eko-not-visible) .eko-nav-arrow {\n display: none\n}\n\n.eko-nav-container {\n position: relative;\n opacity: 0;\n transition: opacity .15s ease-in\n}\n\n.eko-nav-container .eko-nav-arrow {\n width: 28px;\n height: 28px;\n position: absolute;\n display: none;\n justify-content: center;\n align-items: center;\n border-radius: 28px;\n background-color: #fff;\n box-shadow: 0 0 6px #0000001f;\n z-index: 1;\n bottom: 50%;\n opacity: 1;\n transition: opacity .15s ease-in;\n transform: translateY(50%);\n cursor: pointer\n}\n\n.eko-nav-container .eko-nav-arrow.eko-prev-nav-button svg,\n.eko-nav-container .eko-nav-arrow.eko-next-nav-button svg {\n padding: 1px\n}\n\n.eko-nav-container .eko-nav-arrow.eko-prev-nav-button {\n left: 8px\n}\n\n.eko-nav-container .eko-nav-arrow.eko-next-nav-button {\n right: 8px\n}\n\n.eko-nav-container .eko-nav-arrow.eko-hidden-nav-button {\n opacity: 0;\n pointer-events: none\n}\n\n.eko-gallery .eko-nav {\n gap: var(--navItemsGapEkoMobile);\n padding: var(--navBarPaddingEkoMobile)\n}\n\n.eko-gallery .eko-nav li button img {\n width: var(--navItemsWidthEkoMobile);\n height: var(--navItemsHeightEkoMobile);\n object-fit: var(--navItemsObjectFitEkoMobile)\n}\n\n.eko-gallery .eko-nav li .addons-container .thumb-label {\n font-family: var(--navBannerFontFamilyEkoMobile);\n font-size: var(--navBannerFontSizeEkoMobile);\n line-height: var(--navBannerFontLineHeightEkoMobile);\n font-weight: var(--navBannerFontWeightEkoMobile)\n}\n\n.eko-gallery .eko-nav li .addons-container.full-thumb-label .thumb-label {\n width: var(--navItemsWidthEkoMobile);\n height: var(--navItemsHeightEkoMobile)\n}\n\n.eko-gallery .eko-nav.eko-mobile-nav-selected-underline li {\n padding-bottom: calc(var(--navItemsSelectedThicknessEkoMobile) + var(--navItemsSelectedMarginEkoMobile))\n}\n\n.eko-gallery .eko-nav.eko-mobile-nav-selected-underline li button {\n border-radius: var(--navItemsRadiusEkoMobile)\n}\n\n.eko-gallery .eko-nav.eko-mobile-nav-selected-underline li[aria-current=true]:after {\n content: "";\n width: 100%;\n height: var(--navItemsSelectedThicknessEkoMobile);\n border-radius: var(--navItemsSelectedUnderlineRadiusEkoMobile);\n background-color: var(--accentColorEko);\n display: block;\n position: absolute;\n bottom: 0;\n left: 0\n}\n\n.eko-gallery .eko-nav.eko-mobile-nav-selected-outline li {\n padding: var(--navItemsSelectedMarginEkoMobile)\n}\n\n.eko-gallery .eko-nav.eko-mobile-nav-selected-outline li button {\n border-radius: var(--navItemsRadiusEkoMobile)\n}\n\n.eko-gallery .eko-nav.eko-mobile-nav-selected-outline li[aria-current=true] {\n border-radius: calc(var(--navItemsRadiusEkoMobile) + var(--navItemsSelectedMarginEkoMobile));\n box-shadow: 0 0 0 var(--navItemsSelectedThicknessEkoMobile) var(--accentColorEko)\n}\n\n@media screen and (min-width: 768px) {\n .eko-gallery.eko-liquid-gallery .eko-nav {\n gap: var(--navItemsGapEkoDesktop);\n padding: var(--navBarPaddingEkoDesktop)\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav li {\n border-radius: var(--navItemsRadiusEkoDesktop)\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav li button img {\n width: var(--navItemsWidthEkoDesktop);\n height: var(--navItemsHeightEkoDesktop);\n object-fit: var(--navItemsObjectFitEkoDesktop)\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav li .addons-container .thumb-label {\n font-family: var(--navBannerFontFamilyEkoDesktop);\n font-size: var(--navBannerFontSizeEkoDesktop);\n line-height: var(--navBannerFontLineHeightEkoDesktop);\n font-weight: var(--navBannerFontWeightEkoDesktop)\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav li .addons-container.full-thumb-label .thumb-label {\n width: var(--navItemsWidthEkoDesktop);\n height: var(--navItemsHeightEkoDesktop)\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav.eko-desktop-nav-selected-underline li {\n border-radius: 0;\n padding: 0;\n padding-bottom: calc(var(--navItemsSelectedThicknessEkoDesktop) + var(--navItemsSelectedMarginEkoDesktop))\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav.eko-desktop-nav-selected-underline li button {\n border-radius: var(--navItemsRadiusEkoDesktop)\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav.eko-desktop-nav-selected-underline li[aria-current=true] {\n box-shadow: none\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav.eko-desktop-nav-selected-underline li[aria-current=true]:after {\n content: "";\n width: 100%;\n height: var(--navItemsSelectedThicknessEkoDesktop);\n border-radius: var(--navItemsSelectedUnderlineRadiusEkoDesktop);\n background-color: var(--accentColorEko);\n display: block;\n position: absolute;\n bottom: 0;\n left: 0\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav.eko-desktop-nav-selected-outline li {\n padding: var(--navItemsSelectedMarginEkoDesktop)\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav.eko-desktop-nav-selected-outline li button {\n border-radius: var(--navItemsRadiusEkoDesktop)\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav.eko-desktop-nav-selected-outline li[aria-current=true] {\n border-radius: calc(var(--navItemsRadiusEkoDesktop) + var(--navItemsSelectedMarginEkoDesktop));\n box-shadow: 0 0 0 var(--navItemsSelectedThicknessEkoDesktop) var(--accentColorEko)\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav.eko-desktop-nav-selected-outline li[aria-current=true]:after {\n content: none\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav-container .eko-nav-arrow {\n width: 30px;\n height: 30px\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav-container .eko-nav-arrow.eko-desktop-arrows {\n display: flex\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav-container:has(.eko-desktop-nav-selected-underline) .eko-nav-arrow.eko-desktop-arrows {\n transform: translateY(calc(50% - (var(--navItemsSelectedThicknessEkoDesktop) + var(--navItemsSelectedMarginEkoDesktop)) / 2))\n }\n}\n\n@media screen and (max-width: 767px) {\n .eko-gallery.eko-liquid-gallery .eko-nav-arrow.eko-mobile-arrows {\n display: flex\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav-container:has(.eko-mobile-nav-selected-underline) .eko-nav-arrow.eko-mobile-arrows {\n transform: translateY(calc(50% - (var(--navItemsSelectedThicknessEkoMobile) + var(--navItemsSelectedMarginEkoMobile)) / 2))\n }\n}\n\n@media screen and (min-width: 768px) {\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav {\n gap: var(--navItemsGapEkoDesktop);\n padding: var(--navBarPaddingEkoDesktop)\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav li {\n border-radius: var(--navItemsRadiusEkoDesktop)\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav li button img {\n width: var(--navItemsWidthEkoDesktop);\n height: var(--navItemsHeightEkoDesktop);\n object-fit: var(--navItemsObjectFitEkoDesktop)\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav li .addons-container .thumb-label {\n font-family: var(--navBannerFontFamilyEkoDesktop);\n font-size: var(--navBannerFontSizeEkoDesktop);\n line-height: var(--navBannerFontLineHeightEkoDesktop);\n font-weight: var(--navBannerFontWeightEkoDesktop)\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav li .addons-container.full-thumb-label .thumb-label {\n width: var(--navItemsWidthEkoDesktop);\n height: var(--navItemsHeightEkoDesktop)\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav.eko-desktop-nav-selected-underline li {\n border-radius: 0;\n padding: 0;\n padding-bottom: calc(var(--navItemsSelectedThicknessEkoDesktop) + var(--navItemsSelectedMarginEkoDesktop))\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav.eko-desktop-nav-selected-underline li button {\n border-radius: var(--navItemsRadiusEkoDesktop)\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav.eko-desktop-nav-selected-underline li[aria-current=true] {\n box-shadow: none\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav.eko-desktop-nav-selected-underline li[aria-current=true]:after {\n content: "";\n width: 100%;\n height: var(--navItemsSelectedThicknessEkoDesktop);\n border-radius: var(--navItemsSelectedUnderlineRadiusEkoDesktop);\n background-color: var(--accentColorEko);\n display: block;\n position: absolute;\n bottom: 0;\n left: 0\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav.eko-desktop-nav-selected-outline li {\n padding: var(--navItemsSelectedMarginEkoDesktop)\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav.eko-desktop-nav-selected-outline li button {\n border-radius: var(--navItemsRadiusEkoDesktop)\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav.eko-desktop-nav-selected-outline li[aria-current=true] {\n border-radius: calc(var(--navItemsRadiusEkoDesktop) + var(--navItemsSelectedMarginEkoDesktop));\n box-shadow: 0 0 0 var(--navItemsSelectedThicknessEkoDesktop) var(--accentColorEko)\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav.eko-desktop-nav-selected-outline li[aria-current=true]:after {\n content: none\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav-container .eko-nav-arrow {\n width: 30px;\n height: 30px\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav-container .eko-nav-arrow.eko-desktop-arrows {\n display: flex\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav-container:has(.eko-desktop-nav-selected-underline) .eko-nav-arrow.eko-desktop-arrows {\n transform: translateY(calc(50% - (var(--navItemsSelectedThicknessEkoDesktop) + var(--navItemsSelectedMarginEkoDesktop)) / 2))\n }\n}\n\n@media screen and (max-width: 767px) {\n .eko-gallery.eko-react-gallery.eko-mobile .eko-nav-arrow.eko-mobile-arrows {\n display: flex\n }\n\n .eko-gallery.eko-react-gallery.eko-mobile .eko-nav-container:has(.eko-mobile-nav-selected-underline) .eko-nav-arrow.eko-mobile-arrows {\n transform: translateY(calc(50% - (var(--navItemsSelectedThicknessEkoMobile) + var(--navItemsSelectedMarginEkoMobile)) / 2))\n }\n}\n\n.eko-media-badge {\n display: none;\n width: var(--navMediaBadgeSizeEkoMobile);\n height: var(--navMediaBadgeSizeEkoMobile);\n background: #fff;\n align-items: center;\n justify-content: center;\n border-radius: 100%;\n box-shadow: 0 0 4px #00000014;\n place-content: center;\n position: absolute;\n top: var(--navMediaBadgeMarginTopEkoMobile);\n right: var(--navMediaBadgeMarginRightEkoMobile)\n}\n\n.eko-media-badge svg {\n width: 100%;\n height: 100%\n}\n\n.eko-media-badge svg path {\n fill: #000\n}\n\n.eko-nav li .eko-media-badge-mobile {\n display: flex\n}\n\nsvg.interactiveThumb {\n position: absolute;\n top: 3px;\n right: -2.5px;\n width: 100%;\n height: 100%\n}\n\nsvg.interactiveThumb.hand {\n animation: handAnim 2.5s linear infinite\n}\n\nsvg.interactiveThumb.beam {\n animation: beamAnim 2.5s linear infinite;\n transform-origin: 26% 40%;\n top: 0\n}\n\n@keyframes handAnim {\n 0% {\n transform: translateY(0)\n }\n\n 3% {\n transform: translateY(-4px)\n }\n\n 15% {\n transform: translateY(0)\n }\n\n to {\n transform: translateY(0)\n }\n}\n\n@keyframes beamAnim {\n 0% {\n transform: scale(1);\n opacity: 0\n }\n\n 5% {\n transform: scale(1.1);\n opacity: 1\n }\n\n 30% {\n transform: scale(1.4);\n opacity: 0\n }\n\n to {\n transform: scale(1.4);\n opacity: 0\n }\n}\n\n@media screen and (min-width: 768px) {\n .eko-gallery.eko-liquid-gallery .eko-media-badge {\n width: var(--navMediaBadgeSizeEkoDesktop);\n height: var(--navMediaBadgeSizeEkoDesktop);\n top: var(--navMediaBadgeMarginTopEkoDesktop);\n right: var(--navMediaBadgeMarginRightEkoDesktop)\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav li .eko-media-badge-mobile {\n display: none\n }\n\n .eko-gallery.eko-liquid-gallery .eko-nav li .eko-media-badge-desktop {\n display: flex\n }\n}\n\n@media screen and (min-width: 768px) {\n .eko-gallery.eko-react-gallery.eko-desktop .eko-media-badge {\n width: var(--navMediaBadgeSizeEkoDesktop);\n height: var(--navMediaBadgeSizeEkoDesktop);\n top: var(--navMediaBadgeMarginTopEkoDesktop);\n right: var(--navMediaBadgeMarginRightEkoDesktop)\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav li .eko-media-badge-mobile {\n display: none\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-nav li .eko-media-badge-desktop {\n display: flex\n }\n}\n\n.eko-loading-animation {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n overflow: hidden;\n pointer-events: none\n}\n\n.eko-loading-animation.eko-show-loading-animation .eko-animated-bar {\n opacity: .6\n}\n\n.eko-loading-animation.eko-show-loading-animation .eko-animated-bar .eko-animated-bar-inner {\n animation: eko-loading-bar-inner-animation 2s infinite\n}\n\n.eko-loading-animation.eko-show-loading-text .eko-loading-text {\n opacity: 1\n}\n\n.eko-loading-animation .eko-animated-bar {\n width: 100%;\n height: 4px;\n background-color: #e8e8e8b2;\n opacity: 0;\n transition: opacity .5s;\n position: relative\n}\n\n.eko-loading-animation .eko-animated-bar .eko-animated-bar-inner {\n width: 150px;\n height: 100%;\n transform: translate(-150px);\n background-color: var(--accentColorEko, #4d484b);\n display: block;\n position: absolute\n}\n\n.eko-loading-animation .eko-loading-text {\n position: absolute;\n top: 10px;\n left: 50%;\n transform: translate(-50%);\n color: #656565;\n font-size: 12px;\n font-family: Bogle-Medium, sans-serif;\n font-weight: 500;\n opacity: 0;\n align-items: center;\n display: flex;\n gap: 2px;\n transition: opacity .5s\n}\n\n.eko-loading-animation .eko-loading-text-icon {\n opacity: 60%\n}\n\n.eko-loading-animation .eko-loading-text-icon svg {\n transform: translate(2px, 2px)\n}\n\n.eko-loading-animation .eko-loading-text-icon path {\n fill: var(--accentColorEko, #4d484b)\n}\n\n.eko-loading-animation.eko-hide-icon .eko-loading-text-icon {\n display: none\n}\n\n@keyframes eko-loading-bar-inner-animation {\n 0% {\n left: -350px\n }\n\n to {\n left: calc(100% + 350px)\n }\n}\n\n.eko-smart-loading {\n position: absolute;\n top: 8px;\n left: 50%;\n transform: translate(-50%);\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px\n}\n\n.eko-smart-loading div {\n position: relative;\n width: 158px;\n height: 3px;\n background-color: #dcdcdc;\n overflow: hidden;\n opacity: 0;\n animation: eko-smart-loading-show-animation .2s linear forwards 1s\n}\n\n.eko-smart-loading div:after {\n content: "";\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n background-color: #878787;\n animation: eko-smart-loading-animation 2.5s ease-in-out infinite\n}\n\n.eko-smart-loading p {\n font-size: 11px;\n line-height: 120%;\n font-weight: 500;\n color: #6b6b6b;\n text-shadow: 0 0 2px white;\n opacity: 0;\n animation: eko-smart-loading-show-animation .2s linear forwards 3s\n}\n\n@keyframes eko-smart-loading-animation {\n 0% {\n transform: translate(-100%)\n }\n\n to {\n transform: translate(100%)\n }\n}\n\n@keyframes eko-smart-loading-show-animation {\n 0% {\n opacity: 0\n }\n\n to {\n opacity: 100%\n }\n}\n\n@media screen and (min-width: 450px) {\n .eko-gallery.eko-liquid-gallery .eko-loading-animation .eko-animated-bar {\n height: 6px\n }\n\n .eko-gallery.eko-liquid-gallery .eko-loading-animation .eko-loading-text {\n font-size: 16px;\n top: 12px\n }\n\n .eko-gallery.eko-liquid-gallery .eko-loading-animation .eko-loading-text-icon {\n transform: rotate(180deg)\n }\n}\n\n@media screen and (min-width: 450px) {\n .eko-gallery.eko-react-gallery.eko-desktop .eko-loading-animation .eko-animated-bar {\n height: 6px\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-loading-animation .eko-loading-text {\n font-size: 16px;\n top: 12px\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-loading-animation .eko-loading-text-icon {\n transform: rotate(180deg)\n }\n}\n\n.eko-carousel {\n width: 100%;\n white-space: nowrap;\n overflow-x: auto;\n overflow-y: hidden;\n scroll-snap-type: x mandatory;\n overscroll-behavior-x: contain;\n align-self: start;\n align-items: start;\n display: flex;\n gap: 10px;\n scrollbar-width: none;\n -ms-overflow-style: none\n}\n\n.eko-carousel li {\n width: 100%;\n display: inline-block;\n position: relative;\n align-items: start;\n overflow: hidden;\n scroll-snap-align: center;\n scroll-snap-stop: always;\n flex-shrink: 0\n}\n\n.eko-carousel li img.eko-cover-image {\n position: relative;\n pointer-events: none;\n transition: opacity .5s;\n z-index: 1;\n width: 100%;\n height: 100%;\n background-color: var(--carouselInteractiveCoverBackgroundColorEko)\n}\n\n.eko-carousel li iframe {\n position: absolute;\n border: none;\n top: 0;\n left: 0\n}\n\n.eko-carousel li img,\n.eko-carousel li video {\n width: 100%;\n height: 100%;\n max-width: 100%;\n max-height: 100%;\n min-width: 0;\n background-color: var(--carouselItemsBackgroundColorEko)\n}\n\n.eko-carousel li[data-type=videoembed],\n.eko-carousel li[data-type=video] {\n cursor: pointer\n}\n\n.eko-carousel::-webkit-scrollbar {\n display: none\n}\n\n.eko-carousel:has(.zoomed) {\n overflow: hidden\n}\n\n.eko-carousel li {\n border-radius: var(--carouselItemsRadiusEkoMobile)\n}\n\n.eko-carousel li img.eko-desktop-cover-image {\n display: none\n}\n\n.eko-carousel li img.eko-mobile-cover-image {\n display: inline\n}\n\n.eko-carousel li img,\n.eko-carousel li video {\n aspect-ratio: var(--carouselItemsAspectRatioEkoMobile);\n object-fit: var(--carouselItemsObjectFitEkoMobile)\n}\n\n@media screen and (min-width: 768px) {\n .eko-gallery.eko-liquid-gallery .eko-carousel li {\n border-radius: var(--carouselItemsRadiusEkoDesktop)\n }\n\n .eko-gallery.eko-liquid-gallery .eko-carousel li img,\n .eko-gallery.eko-liquid-gallery .eko-carousel li video {\n aspect-ratio: var(--carouselItemsAspectRatioEkoDesktop);\n object-fit: var(--carouselItemsObjectFitEkoDesktop)\n }\n}\n\n@media screen and (min-width: 768px) {\n .eko-gallery.eko-react-gallery.eko-desktop .eko-carousel li {\n border-radius: var(--carouselItemsRadiusEkoDesktop)\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-carousel li img,\n .eko-gallery.eko-react-gallery.eko-desktop .eko-carousel li video {\n aspect-ratio: var(--carouselItemsAspectRatioEkoDesktop);\n object-fit: var(--carouselItemsObjectFitEkoDesktop)\n }\n}\n\n.eko-gallery.eko-mobile-embed-layout .eko-nav-container {\n display: none\n}\n\n.eko-gallery.eko-mobile-embed-layout .eko-carousel {\n overflow-x: hidden\n}\n\n.eko-gallery.eko-mobile-embed-layout .eko-mobile-carousel-scroll {\n overflow-x: auto\n}\n\n@media screen and (min-width: 768px) {\n .eko-gallery.eko-liquid-gallery.eko-desktop-embed-layout .eko-nav-container {\n display: none\n }\n\n .eko-gallery.eko-liquid-gallery.eko-desktop-embed-layout .eko-carousel {\n overflow-x: hidden\n }\n\n .eko-gallery.eko-liquid-gallery.eko-desktop-embed-layout .eko-carousel.eko-desktop-carousel-scroll {\n overflow-x: auto\n }\n\n .eko-gallery.eko-liquid-gallery.eko-mobile-embed-layout.eko-desktop-nav-layout .eko-nav-container {\n display: flex\n }\n}\n\n@media screen and (min-width: 768px) {\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-embed-layout .eko-nav-container {\n display: none\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-embed-layout .eko-carousel {\n overflow-x: hidden\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-embed-layout .eko-carousel.eko-desktop-carousel-scroll {\n overflow-x: auto\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop.eko-mobile-embed-layout.eko-desktop-nav-layout .eko-nav-container {\n display: flex\n }\n}\n\n.eko-gallery.eko-mobile-nav-layout.eko-mobile-nav-bottom .eko-nav,\n.eko-gallery.eko-desktop-nav-layout.eko-desktop-nav-bottom .eko-nav,\n.eko-gallery.eko-mobile-nav-layout.eko-mobile-nav-top .eko-nav,\n.eko-gallery.eko-desktop-nav-layout.eko-desktop-nav-top .eko-nav {\n flex-direction: row;\n overflow-x: auto;\n overflow-y: hidden;\n max-width: 100%;\n margin: auto\n}\n\n.eko-gallery.eko-mobile-nav-layout.eko-mobile-nav-bottom {\n flex-direction: column-reverse\n}\n\n.eko-gallery.eko-mobile-nav-layout.eko-mobile-nav-top {\n flex-direction: column\n}\n\n@media screen and (min-width: 768px) {\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-bottom {\n flex-direction: column-reverse\n }\n\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-top {\n flex-direction: column\n }\n}\n\n@media screen and (min-width: 768px) {\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-bottom {\n flex-direction: column-reverse\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-top {\n flex-direction: column\n }\n}\n\n@media screen and (min-width: 768px) {\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-right {\n flex-direction: row-reverse\n }\n\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-left {\n flex-direction: row\n }\n\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav,\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav {\n display: flex;\n flex-direction: column;\n justify-content: start;\n overflow-x: hidden;\n overflow-y: auto;\n gap: var(--navItemsGapEkoDesktop)\n }\n\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container,\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container {\n display: flex;\n flex-shrink: 0\n }\n\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button,\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button {\n top: 4px;\n left: auto\n }\n\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-next-nav-button,\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-next-nav-button {\n bottom: 4px\n }\n\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button,\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-next-nav-button,\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button,\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-next-nav-button {\n right: 50%;\n transform: translate(50%)\n }\n\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button svg,\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-next-nav-button svg,\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button svg,\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-next-nav-button svg {\n transform: rotate(90deg)\n }\n\n .eko-gallery.eko-liquid-gallery.eko-desktop-nav-layout .eko-carousel {\n align-self: start\n }\n}\n\n@media screen and (min-width: 768px) {\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-right {\n flex-direction: row-reverse\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-left {\n flex-direction: row\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav,\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav {\n display: flex;\n flex-direction: column;\n justify-content: start;\n overflow-x: hidden;\n overflow-y: auto;\n gap: var(--navItemsGapEkoDesktop)\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container,\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container {\n display: flex;\n flex-shrink: 0\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button,\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button {\n top: 4px;\n left: auto\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-next-nav-button,\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-next-nav-button {\n bottom: 4px\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button,\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-next-nav-button,\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button,\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-next-nav-button {\n right: 50%;\n transform: translate(50%)\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button svg,\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-left .eko-nav-container button.eko-nav-arrow.eko-next-nav-button svg,\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-prev-nav-button svg,\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout.eko-desktop-nav-right .eko-nav-container button.eko-nav-arrow.eko-next-nav-button svg {\n transform: rotate(90deg)\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop.eko-desktop-nav-layout .eko-carousel {\n align-self: start\n }\n}\n\n.eko-gallery .eko-introButton {\n cursor: pointer;\n white-space: nowrap;\n pointer-events: auto;\n position: absolute;\n bottom: 100px;\n left: 50%;\n transform: translate(-50%);\n padding: 15px 20px\n}\n\n.eko-gallery .eko-introButton .eko-handContainer {\n display: none\n}\n\n.eko-gallery {\n position: relative;\n overflow: hidden;\n display: flex;\n flex-direction: row;\n justify-content: start;\n margin-inline-start: calc(-1 * var(--outerWidth));\n margin-inline-end: calc(-1 * var(--outerWidth));\n padding: var(--galleryPaddingEkoMobile);\n margin: auto;\n max-width: var(--galleryMaxWidthEkoMobile);\n transition: height var(--galleryTransition, .8s cubic-bezier(.35, 0, 0, 1) 1.5s), padding 0s;\n gap: var(--galleryGapEkoMobile)\n}\n\n.eko-gallery .eko-smart-gallery-container {\n border-radius: var(--carouselItemsRadiusEkoMobile);\n overflow: hidden;\n flex: 1;\n display: flex;\n height: fit-content\n}\n\n.eko-gallery .eko-smart-gallery-container iframe {\n width: 100%;\n aspect-ratio: var(--carouselItemsAspectRatioEkoMobile)\n}\n\n.eko-gallery .eko-smart-gallery-container.eko-project-not-ready {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n opacity: 0;\n pointer-events: none;\n touch-action: none\n}\n\n.eko-gallery .eko-smart-gallery-container.eko-project-not-ready iframe {\n pointer-events: none;\n touch-action: none\n}\n\n@media screen and (min-width: 768px) {\n .eko-gallery.eko-liquid-gallery {\n max-width: var(--galleryMaxWidthEkoDesktop);\n gap: var(--galleryGapEkoDesktop);\n padding: var(--galleryPaddingEkoDesktop)\n }\n\n .eko-gallery.eko-liquid-gallery .eko-smart-gallery-container {\n border-radius: var(--carouselItemsRadiusEkoDesktop)\n }\n\n .eko-gallery.eko-liquid-gallery .eko-smart-gallery-container iframe {\n aspect-ratio: var(--carouselItemsAspectRatioEkoDesktop)\n }\n}\n\n@media screen and (min-width: 768px) {\n .eko-gallery.eko-react-gallery.eko-desktop {\n max-width: var(--galleryMaxWidthEkoDesktop);\n gap: var(--galleryGapEkoDesktop);\n padding: var(--galleryPaddingEkoDesktop)\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-smart-gallery-container {\n border-radius: var(--carouselItemsRadiusEkoDesktop)\n }\n\n .eko-gallery.eko-react-gallery.eko-desktop .eko-smart-gallery-container iframe {\n aspect-ratio: var(--carouselItemsAspectRatioEkoDesktop)\n }\n}'),Xt=({layout:t,style:n})=>{let i={};return function(t={}){Object.keys(t).forEach((e=>{i[`--${e}Eko`]=t[e]}))}(n),function(t){var e,n;const r=(null==t||null===(e=t.desktop)||void 0===e?void 0:e.config)||{},o=(null==t||null===(n=t.mobile)||void 0===n?void 0:n.config)||{};Object.keys(r).forEach((t=>{"string"==typeof r[t]&&(i[`--${t}EkoDesktop`]=r[t])})),Object.keys(o).forEach((t=>{"string"==typeof o[t]&&(i[`--${t}EkoMobile`]=o[t])}))}(t),e.createElement("style",{key:{layout:t,style:n}},`.eko-gallery {${Object.keys(i).map((t=>`${t}: ${i[t]};`)).join("\n")}}`)};Xt.propTypes={layout:It.object,style:It.object},u("experiment");const Yt=({activeVariantId:t,activeElementId:n,hasInteractive:i,experiments:r,publishItem:o})=>{const s="gallery",a=e.useRef(t),l=e.useRef(n),c=e.useRef(i),u=e.useRef(r),d=e.useRef(o);e.useEffect((()=>{a.current=t,l.current=n,c.current=i,u.current=r,d.current=o}),[t,n,i,r,o]);const h={publishItemPacker:{tag:s,schema:"iglu:com.helloeko/publishitem/jsonschema/1-0-0",match:/.*/,getData:function(){const t=d.current;if(t){const e={};return null!=t&&t.id&&(e.id=t.id),null!=t&&t.productId&&(e.productid=t.productId),t.salesChannelId&&(e.saleschannelid=t.salesChannelId),null!=t&&t.salesChannelName&&(e.saleschannelname=t.salesChannelName),t.salesChannelType&&(e.saleschanneltype=t.salesChannelType),e.id?e:void 0}}},galleryInteractionPacker:{tag:s,schema:"iglu:com.helloeko/gallery_interaction/jsonschema/1-0-0",match:"gallery.interaction",getData:function({elementid:t,interactiontype:e}){return{elementid:String(t),interactiontype:e}}},galleryPacker:{tag:s,schema:"iglu:com.helloeko/gallery/jsonschema/1-0-2",match:/^gallery.*/,getData:function(){var t;return{activeitemid:l.current.toString(),activevariantid:a.current,hasinteractive:c.current,version:(null===(t=window.eko)||void 0===t||null===(t=t.gallery)||void 0===t?void 0:t.version)||""}}},activeVariantIdPacker:{tag:s,schema:"iglu:com.helloeko/variant/jsonschema/1-0-1",match:/.*/,getData:function(){if(a.current)return{id:a.current}}},experimentPacker:{tag:s,schema:"iglu:com.helloeko/experiment/jsonschema/1-0-3",match:/.*/,getData:function(){var t;let e=function(t){let e=null;if(t){const n=Math.floor(Date.now()/1e3);for(const i of t){if("deliverable"!==i.type)return;const t=Math.floor(new Date(i.startDate).getTime()/1e3),r=Math.floor(new Date(i.endDate).getTime()/1e3);!0===i.active&&n>t&&n<r&&(e=i)}}return e}(u.current);if(!e)return;let n={experimentid:e.id||"",experimentvariant:e.chosen||"pending decision",experimenttype:e.type||""},i=null===(t=e.targetDevice)||void 0===t?void 0:t.toLowerCase();return"mobile"!==i&&"notmobile"!==i||(n.experimenttargeting={device:i}),n}}};return e.useEffect((()=>(Object.values(h).forEach((t=>{window.EkoAnalytics("registerContextPacker",t)})),()=>{window.EkoAnalytics("reset",s)})),[]),null};Yt.propTypes={activeVariantId:It.string,activeElementId:It.number,hasInteractive:It.bool,experiments:It.array,publishItem:It.object};const Qt=({variantId:t,activeItem:n,hasInteractive:i,activeIndex:r,experiments:o,publishItem:s})=>{const a=e.useRef(!0);return e.useEffect((()=>{a.current||t&&S.track("gallery.variant.change")}),[t]),e.useEffect((()=>{a.current||S.track("gallery.element.change",{activeIndex:r})}),[r]),e.useEffect((()=>{a.current||n&&null!=s&&s.id&&S.track("gallery.asset.view",{publishitemid:s.id,type:n.type,name:n.name})}),[n]),e.useEffect((()=>{a.current=!1}),[]),e.createElement(Yt,{activeVariantId:t||"ekonovar",activeElementId:r,hasInteractive:i,experiments:o,publishItem:s})};Qt.propTypes={variantId:It.string,activeItem:It.object,hasInteractive:It.bool,activeIndex:It.number,experiments:It.array,publishItem:It.object};const Jt="eko-gallery-react";function Zt(t,e){var n,i,r;const o=(null==t||null===(n=t.variantMap)||void 0===n?void 0:n[e])||"ekonovar";return(null==t||null===(i=t.items)||void 0===i?void 0:i.find((t=>(null==t?void 0:t.variantId)===o)))||(null==t||null===(r=t.items)||void 0===r?void 0:r[0])}"undefined"!=typeof window&&(window.EkoAnalytics||(console.log("EkoAnalytics is not defined, initializing a no-op function..."),window.EkoAnalytics=()=>{}));const te=e.forwardRef((({className:t,config:n,instanceId:i,variantId:r,activeItem:o={index:0,step:0},onEvent:s,forceMobile:a},l)=>{var c,u,d,h,f,p;const m=null!==(c=null===(u=n.options)||void 0===u?void 0:u.loadingTimeout)&&void 0!==c?c:12,v=null===(d=null===(h=n.options)||void 0===h?void 0:h.showCoverLoadAnimation)||void 0===d||d,[g,y]=e.useState(Zt(n,r)),[b,k]=e.useState({index:o.index,step:o.step,source:"external-nav"}),[w,x]=e.useState(!1),[_,I]=e.useState(!1),[T,E]=e.useState("eko-desktop"),M=e.useRef(!1),A=e.useRef(!1),N=e.useRef(o),C=e.useRef(null),F=e.useRef(r);function O(){const t=a||window.innerWidth<768?"eko-mobile":"eko-desktop";E(t)}return A.current||(Ct.send("galleryinit"),A.current=!0),e.useEffect((()=>{const t=F.current!==r;F.current=r,y(Zt(n,r)),t&&!M.current&&k({index:0,step:0,source:"external-nav"})}),[n,r]),e.useEffect((()=>{if(s)return Ct.subscribe(s),()=>{Ct.unsubscribe()}}),[s]),e.useEffect((()=>{M.current=_}),[_]),e.useEffect((()=>{x(!1),I(!1);const t=setTimeout((()=>{M.current||(x(!0),S.track("gallery.load.timeout"))}),1e3*m);return()=>{clearTimeout(t)}}),[n]),e.useEffect((()=>{O()}),[a]),e.useEffect((()=>(window.addEventListener("resize",O),O(),()=>{window.removeEventListener("resize",O)})),[a]),e.useEffect((()=>(window.EkoAnalytics("trackElementVisibility",C.current,Jt),()=>{window.EkoAnalytics("stopTrackingElementVisibility",Jt)})),[]),e.useEffect((()=>{!("carousel"===(null==b?void 0:b.source)||"nav"===(null==b?void 0:b.source))||(null==b?void 0:b.index)===o.index&&(null==b?void 0:b.step)===o.step||Ct.send("activeitemchanged",{index:null==b?void 0:b.index,step:null==b?void 0:b.step})}),[b,o]),e.useEffect((()=>{N.current.index===o.index&&N.current.step===o.step||(N.current=o,k({index:o.index,step:o.step,source:"external-nav"}))}),[o]),e.createElement(e.Fragment,null,e.createElement(Kt,null),e.createElement(Xt,{layout:n.layout,style:n.style,forceMobile:a}),e.createElement(Qt,{variantId:r,activeItem:null==g||null===(f=g.items)||void 0===f?void 0:f[b.index],activeIndex:b.index,hasInteractive:_,experiments:n.experiments,publishItem:null==n||null===(p=n.__autoGenerated)||void 0===p?void 0:p.publishItem}),e.createElement("section",{className:`${`eko-gallery eko-react-gallery ${function(t){let e="";return["mobile","desktop"].forEach((n=>{var i,r;const o=null!==(i=null==t||null===(r=t[n])||void 0===r?void 0:r.type)&&void 0!==i?i:"nav";if(e+=`eko-${n}-${o}-layout `,"nav"===o){var s;const i="desktop"===n,r=(null==t||null===(s=t[n])||void 0===s||null===(s=s.config)||void 0===s?void 0:s.orientation)||(i?"left":"bottom");e+=`eko-${n}-nav-${r} `}})),e}(n.layout)} ${null!=t?t:""}`.trim()} ${T}`,"aria-controls":"main-content",ref:C},e.createElement(Rt,{items:(null==g?void 0:g.items)||[],setActiveIndex:k,activeIndex:b.index,layout:n.layout,carouselMounted:_,forceMobile:a}),!_&&e.createElement(jt,{ref:l,items:(null==g?void 0:g.items)||[],setActiveIndex:k,activeIndex:{index:b.index,source:null==b?void 0:b.source},showSmartLoaders:!w&&v}),!w&&e.createElement(Ht,{ref:l,config:n,instanceId:i,activeItem:b,setActiveItem:k,variantId:null==g?void 0:g.variantId,smartGalleryLoaded:_,forceMobile:a,onLoad:function(){I(!0)}})))}));te.propTypes={className:It.string,config:It.object.isRequired,instanceId:It.string,variantId:It.string,activeItem:It.object,onEvent:It.func,forceMobile:It.bool,onPrev:It.func,onNext:It.func},te.displayName="EkoGallery";var ee=e.memo(te);const ne=u("gallery-react");const ie=e.forwardRef(((t,n)=>{var i;e.useEffect((()=>(ne.setDataStorage("gallery-react",{config:t.config}),window.eko=window.eko||{},window.eko.config=t.config,window.eko.gallery={version:"devops/4.0.18"},()=>{window.eko.config=void 0})),[t.config]);const{children:r,...o}=t;return void 0!==t.config?e.createElement(ee,R({ref:n},o,{key:null===(i=t.config.__autoGenerated)||void 0===i||null===(i=i.publishItem)||void 0===i?void 0:i.id})):r}));ie.propTypes={className:It.string,config:It.object,variantId:It.string,onEvent:It.func,instanceId:It.string,children:It.node},ie.displayName="EkoGalleryWrapper";var re,oe,se,ae,le,ce,ue,de,he,fe,pe,me,ve,ge,ye,be,ke,we,xe,_e,Ie,Te,Ee,Se,Me,Ae,Ne,Ce,Fe,Oe,Pe,Re,De,Be,Le,ze,We,je,$e,Ue,qe,Ve,Ge,He,Ke,Xe,Ye,Qe,Je,Ze,tn,en=e.memo(ie);const nn=1,rn=2,on=4,sn=8,an=16,ln=1,cn=4,un=8,dn=16,hn=4,fn="[",pn="[!",mn="]",vn={},gn=Symbol(),yn=Symbol("filename"),bn="http://www.w3.org/1999/xhtml",kn="@attach",wn=!0;var xn=Array.isArray,_n=Array.prototype.indexOf,In=Array.from,Tn=Object.defineProperty,En=Object.getOwnPropertyDescriptor,Sn=Object.getOwnPropertyDescriptors,Mn=Object.prototype,An=Array.prototype,Nn=Object.getPrototypeOf,Cn=Object.isExtensible;const Fn=()=>{};function On(){var t,e;return{promise:new Promise(((n,i)=>{t=n,e=i})),resolve:t,reject:e}}const Pn=2,Rn=4,Dn=8,Bn=1<<24,Ln=16,zn=32,Wn=64,jn=128,$n=512,Un=1024,qn=2048,Vn=4096,Gn=8192,Hn=16384,Kn=32768,Xn=65536,Yn=1<<17,Qn=1<<18,Jn=1<<19,Zn=1<<20,ti=1<<25,ei=32768,ni=1<<21,ii=1<<22,ri=1<<23,oi=Symbol("$state"),si=Symbol("legacy props"),ai=Symbol(""),li=Symbol("proxy path"),ci=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"},ui=3,di=8;function hi(t){{const e=new Error(`lifecycle_outside_component\n\`${t}(...)\` can only be used during component initialisation\nhttps://svelte.dev/e/lifecycle_outside_component`);throw e.name="Svelte error",e}}var fi="font-weight: bold",pi="font-weight: normal";function mi(t){console.warn("%c[svelte] hydration_mismatch\n%cHydration failed because the initial UI does not match what was rendered on the server\nhttps://svelte.dev/e/hydration_mismatch",fi,pi)}function vi(t){console.warn(`%c[svelte] state_proxy_equality_mismatch\n%cReactive \`$state(...)\` proxies and the values they proxy have different identities. Because of this, comparisons with \`${t}\` will produce unexpected results\nhttps://svelte.dev/e/state_proxy_equality_mismatch`,fi,pi)}let gi,yi=!1;function bi(t){yi=t}function ki(t){if(null===t)throw mi(),vn;return gi=t}function wi(){return ki(Do(gi))}function xi(t){if(yi){if(null!==Do(gi))throw mi(),vn;gi=t}}function _i(t=!0){for(var e=0,n=gi;;){if(n.nodeType===di){var i=n.data;if(i===mn){if(0===e)return n;e-=1}else i!==fn&&i!==pn||(e+=1)}var r=Do(n);t&&n.remove(),n=r}}function Ii(t){if(!t||t.nodeType!==di)throw mi(),vn;return t.data}function Ti(t){return t===this.v}function Ei(t){return e=t,n=this.v,!(e!=e?n==n:e!==n||null!==e&&"object"==typeof e||"function"==typeof e);var e,n}let Si=!1;function Mi(t,e){return t.label=e,Ai(t.v,e),t}function Ai(t,e){var n;return null==t||null===(n=t[li])||void 0===n||n.call(t,e),t}function Ni(t){const e=new Error,n=function(){const t=Error.stackTraceLimit;Error.stackTraceLimit=1/0;const e=(new Error).stack;if(Error.stackTraceLimit=t,!e)return[];const n=e.split("\n"),i=[];for(let t=0;t<n.length;t++){const e=n[t],r=e.replaceAll("\\","/");if("Error"!==e.trim()){if(e.includes("validate_each_keys"))return[];r.includes("svelte/src/internal")||r.includes("node_modules/.vite")||i.push(e)}}return i}();return 0===n.length?null:(n.unshift("\n"),Tn(e,"stack",{value:n.join("\n")}),Tn(e,"name",{value:t}),e)}let Ci=null;function Fi(t){Ci=t}let Oi=null;function Pi(t){Oi=t}let Ri=null;function Di(t){Ri=t}function Bi(t){return Wi("getContext").get(t)}function Li(t,e=!1,n){Ci={p:Ci,i:!1,c:null,e:null,s:t,x:null,l:null},Ci.function=n,Ri=n}function zi(t){var e,n,i=Ci,r=i.e;if(null!==r)for(var o of(i.e=null,r))Xo(o);return i.i=!0,Ci=i.p,Ri=null!==(e=null===(n=Ci)||void 0===n?void 0:n.function)&&void 0!==e?e:null,{}}function Wi(t){var e,n;return null===Ci&&hi(t),null!==(n=(e=Ci).c)&&void 0!==n?n:e.c=new Map(function(t){let e=t.p;for(;null!==e;){const t=e.c;if(null!==t)return t;e=e.p}return null}(Ci)||void 0)}let ji=[];function $i(){var t=ji;ji=[],function(t){for(var e=0;e<t.length;e++)t[e]()}(t)}function Ui(t){if(0===ji.length&&!sr){var e=ji;queueMicrotask((()=>{e===ji&&$i()}))}ji.push(t)}function qi(){for(;ji.length>0;)$i()}const Vi=new WeakMap;function Gi(t){var e=ys;if(null===e)return ms.f|=ri,t;if(t instanceof Error&&!Vi.has(t)&&Vi.set(t,function(t,e){var n,i;const r=En(t,"message");if(r&&!r.configurable)return;var o=No?" ":"\t",s=`\n${o}in ${(null===(n=e.fn)||void 0===n?void 0:n.name)||"<unknown>"}`,a=e.ctx;for(;null!==a;){var l;s+=`\n${o}in ${null===(l=a.function)||void 0===l?void 0:l[yn].split("/").pop()}`,a=a.p}return{message:t.message+`\n${s}\n`,stack:null===(i=t.stack)||void 0===i?void 0:i.split("\n").filter((t=>!t.includes("svelte/src/internal"))).join("\n")}}(t,e)),e.f&Kn)Hi(t,e);else{if(!(e.f&jn))throw!e.parent&&t instanceof Error&&Ki(t),t;e.b.error(t)}}function Hi(t,e){for(;null!==e;){if(e.f&jn)try{return void e.b.error(t)}catch(e){t=e}e=e.parent}throw t instanceof Error&&Ki(t),t}function Ki(t){const e=Vi.get(t);e&&(Tn(t,"message",{value:e.message}),Tn(t,"stack",{value:e.stack}))}const Xi=-7169;function Yi(t,e){t.f=t.f&Xi|e}function Qi(t){t.f&$n||null===t.deps?Yi(t,Un):Yi(t,Vn)}function Ji(t){if(null!==t)for(const e of t)e.f&Pn&&e.f&ei&&(e.f^=ei,Ji(e.deps))}function Zi(t,e,n){t.f&qn?e.add(t):t.f&Vn&&n.add(t),Ji(t.deps),Yi(t,Un)}const tr=new Set;let er=null,nr=null,ir=[],rr=null,or=!1,sr=!1;var ar=new WeakMap,lr=new WeakMap,cr=new WeakMap,ur=new WeakMap,dr=new WeakMap,hr=new WeakMap,fr=new WeakMap,pr=new WeakSet;class mr{constructor(){O(this,pr),P(this,"committed",!1),P(this,"current",new Map),P(this,"previous",new Map),C(this,ar,new Set),C(this,lr,new Set),C(this,cr,0),C(this,ur,0),C(this,dr,null),C(this,hr,new Set),C(this,fr,new Set),P(this,"skipped_effects",new Set),P(this,"is_fork",!1)}is_deferred(){return this.is_fork||N(ur,this)>0}process(t){ir=[],this.apply();var e,n=[],i=[];for(const e of t)M(pr,this,vr).call(this,e,n,i);(this.is_fork||M(pr,this,yr).call(this),this.is_deferred())?(M(pr,this,gr).call(this,i),M(pr,this,gr).call(this,n)):(er=null,_r(i),_r(n),null===(e=N(dr,this))||void 0===e||e.resolve());nr=null}capture(t,e){var n;(e===gn||this.previous.has(t)||this.previous.set(t,e),t.f&ri)||(this.current.set(t,t.v),null===(n=nr)||void 0===n||n.set(t,t.v))}activate(){er=this,this.apply()}deactivate(){er===this&&(er=null,nr=null)}flush(){if(this.activate(),ir.length>0){if(kr(),null!==er&&er!==this)return}else 0===N(cr,this)&&this.process([]);this.deactivate()}discard(){for(const t of N(lr,this))t(this);N(lr,this).clear()}increment(t){F(cr,this,N(cr,this)+1),t&&F(ur,this,N(ur,this)+1)}decrement(t){F(cr,this,N(cr,this)-1),t&&F(ur,this,N(ur,this)-1),this.revive()}revive(){for(const t of N(hr,this))N(fr,this).delete(t),Yi(t,qn),Er(t);for(const t of N(fr,this))Yi(t,Vn),Er(t);this.flush()}oncommit(t){N(ar,this).add(t)}ondiscard(t){N(lr,this).add(t)}settled(){var t;return(null!==(t=N(dr,this))&&void 0!==t?t:F(dr,this,On())).promise}static ensure(){if(null===er){const t=er=new mr;tr.add(er),sr||mr.enqueue((()=>{er===t&&t.flush()}))}return er}static enqueue(t){Ui(t)}apply(){}}function vr(t,e,n){t.f^=Un;for(var i=t.first,r=null;null!==i;){var o=i.f,s=!!(o&(zn|Wn));if(!(s&&!!(o&Un)||!!(o&Gn)||this.skipped_effects.has(i))&&null!==i.fn){s?i.f^=Un:null!==r&&o&(Rn|Dn|Bn)?r.b.defer_effect(i):o&Rn?e.push(i):Ns(i)&&(o&Ln&&N(hr,this).add(i),Rs(i));var a=i.first;if(null!==a){i=a;continue}}var l=i.parent;for(i=i.next;null===i&&null!==l;)l===r&&(r=null),i=l.next,l=l.parent}}function gr(t){for(var e=0;e<t.length;e+=1)Zi(t[e],N(hr,this),N(fr,this))}function yr(){if(0===N(ur,this)){for(const t of N(ar,this))t();N(ar,this).clear()}0===N(cr,this)&&M(pr,this,br).call(this)}function br(){if(tr.size>1){this.previous.clear();var t=nr,e=!0;for(const t of tr){if(t===this){e=!1;continue}const i=[];for(const[n,r]of this.current){if(t.current.has(n)){if(!e||r===t.current.get(n))continue;t.current.set(n,r)}i.push(n)}if(0===i.length)continue;const r=[...t.current.keys()].filter((t=>!this.current.has(t)));if(r.length>0){var n=ir;ir=[];const e=new Set,o=new Map;for(const t of i)Ir(t,r,e,o);if(ir.length>0){er=t,t.apply();for(const e of ir)M(pr,t,vr).call(t,e,[],[]);t.deactivate()}ir=n}}er=null,nr=t}this.committed=!0,tr.delete(this)}function kr(){var t=ds;or=!0;var e=new Set;try{var n=0;for(hs(!0);ir.length>0;){var i=mr.ensure();if(n++>1e3){if(wn){var r=new Map;for(const t of i.current.keys())for(const[e,n]of null!==(o=t.updated)&&void 0!==o?o:[]){var o,s=r.get(e);s||(s={error:n.error,count:0},r.set(e,s)),s.count+=n.count}for(const t of r.values())t.error&&console.error(t.error)}wr()}if(i.process(ir),ho.clear(),wn)for(const t of i.current.keys())e.add(t)}}finally{or=!1,hs(t),rr=null;for(const t of e)t.updated=null}}function wr(){try{!function(){{const t=new Error("effect_update_depth_exceeded\nMaximum update depth exceeded. This typically indicates that an effect reads and writes the same piece of state\nhttps://svelte.dev/e/effect_update_depth_exceeded");throw t.name="Svelte error",t}}()}catch(t){Tn(t,"stack",{value:""}),Hi(t,rr)}}let xr=null;function _r(t){var e=t.length;if(0!==e){for(var n=0;n<e;){var i,r=t[n++];if(!(r.f&(Hn|Gn))&&Ns(r))if(xr=new Set,Rs(r),null===r.deps&&null===r.first&&null===r.nodes&&(null===r.teardown&&null===r.ac?os(r):r.fn=null),(null===(i=xr)||void 0===i?void 0:i.size)>0){ho.clear();for(const t of xr){if(t.f&(Hn|Gn))continue;const e=[t];let n=t.parent;for(;null!==n;)xr.has(n)&&(xr.delete(n),e.push(n)),n=n.parent;for(let t=e.length-1;t>=0;t--){const n=e[t];n.f&(Hn|Gn)||Rs(n)}}xr.clear()}}xr=null}}function Ir(t,e,n,i){if(!n.has(t)&&(n.add(t),null!==t.reactions))for(const r of t.reactions){const t=r.f;t&Pn?Ir(r,e,n,i):t&(ii|Ln)&&!(t&qn)&&Tr(r,e,i)&&(Yi(r,qn),Er(r))}}function Tr(t,e,n){const i=n.get(t);if(void 0!==i)return i;if(null!==t.deps)for(const i of t.deps){if(e.includes(i))return!0;if(i.f&Pn&&Tr(i,e,n))return n.set(i,!0),!0}return n.set(t,!1),!1}function Er(t){for(var e=rr=t;null!==e.parent;){var n=(e=e.parent).f;if(or&&e===ys&&n&Ln&&!(n&Qn))return;if(n&(Wn|zn)){if(!(n&Un))return;e.f^=Un}}ir.push(e)}var Sr=Xn|Jn|jn;var Mr=new WeakMap,Ar=new WeakMap,Nr=new WeakMap,Cr=new WeakMap,Fr=new WeakMap,Or=new WeakMap,Pr=new WeakMap,Rr=new WeakMap,Dr=new WeakMap,Br=new WeakMap,Lr=new WeakMap,zr=new WeakMap,Wr=new WeakMap,jr=new WeakMap,$r=new WeakMap,Ur=new WeakMap,qr=new WeakMap,Vr=new WeakSet;class Gr{constructor(t,e,n){O(this,Vr),P(this,"parent",void 0),P(this,"is_pending",!1),C(this,Mr,void 0),C(this,Ar,yi?gi:null),C(this,Nr,void 0),C(this,Cr,void 0),C(this,Fr,void 0),C(this,Or,null),C(this,Pr,null),C(this,Rr,null),C(this,Dr,null),C(this,Br,null),C(this,Lr,0),C(this,zr,0),C(this,Wr,!1),C(this,jr,new Set),C(this,$r,new Set),C(this,Ur,null),C(this,qr,function(t){let e,n=0,i=mo(0);return Mi(i,"createSubscriber version"),()=>{Go()&&(Bs(i),Qo((()=>(0===n&&(e=Ws((()=>t((()=>wo(i)))))),n+=1,()=>{Ui((()=>{var t;n-=1,0===n&&(null===(t=e)||void 0===t||t(),e=void 0,wo(i))}))}))))}}((()=>(F(Ur,this,mo(N(Lr,this))),Mi(N(Ur,this),"$effect.pending()"),()=>{F(Ur,this,null)})))),F(Mr,this,t),F(Nr,this,e),F(Cr,this,n),this.parent=ys.b,this.is_pending=!!N(Nr,this).pending,F(Fr,this,Zo((()=>{if(ys.b=this,yi){const t=N(Ar,this);wi();t.nodeType===di&&t.data===pn?M(Vr,this,Kr).call(this):(M(Vr,this,Hr).call(this),0===N(zr,this)&&(this.is_pending=!1))}else{var t=M(Vr,this,Xr).call(this);try{F(Or,this,es((()=>n(t))))}catch(t){this.error(t)}N(zr,this)>0?M(Vr,this,Qr).call(this):this.is_pending=!1}return()=>{var t;null===(t=N(Br,this))||void 0===t||t.remove()}}),Sr)),yi&&F(Mr,this,gi)}defer_effect(t){Zi(t,N(jr,this),N($r,this))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!N(Nr,this).pending}update_pending_count(t){M(Vr,this,Jr).call(this,t),F(Lr,this,N(Lr,this)+t),N(Ur,this)&&bo(N(Ur,this),N(Lr,this))}get_effect_pending(){return N(qr,this).call(this),Bs(N(Ur,this))}error(t){var e=N(Nr,this).onerror;let n=N(Nr,this).failed;if(N(Wr,this)||!e&&!n)throw t;N(Or,this)&&(rs(N(Or,this)),F(Or,this,null)),N(Pr,this)&&(rs(N(Pr,this)),F(Pr,this,null)),N(Rr,this)&&(rs(N(Rr,this)),F(Rr,this,null)),yi&&(ki(N(Ar,this)),function(t=1){if(yi){for(var e=t,n=gi;e--;)n=Do(n);gi=n}}(),ki(_i()));var i=!1,r=!1;const o=()=>{i?console.warn("%c[svelte] svelte_boundary_reset_noop\n%cA `<svelte:boundary>` `reset` function only resets the boundary the first time it is called\nhttps://svelte.dev/e/svelte_boundary_reset_noop",fi,pi):(i=!0,r&&function(){{const t=new Error("svelte_boundary_reset_onerror\nA `<svelte:boundary>` `reset` function cannot be called while an error is still being handled\nhttps://svelte.dev/e/svelte_boundary_reset_onerror");throw t.name="Svelte error",t}}(),mr.ensure(),F(Lr,this,0),null!==N(Rr,this)&&ss(N(Rr,this),(()=>{F(Rr,this,null)})),this.is_pending=this.has_pending_snippet(),F(Or,this,M(Vr,this,Yr).call(this,(()=>(F(Wr,this,!1),es((()=>N(Cr,this).call(this,N(Mr,this)))))))),N(zr,this)>0?M(Vr,this,Qr).call(this):this.is_pending=!1)};var s=ms;try{gs(null),r=!0,null==e||e(t,o),r=!1}catch(t){Hi(t,N(Fr,this)&&N(Fr,this).parent)}finally{gs(s)}n&&Ui((()=>{F(Rr,this,M(Vr,this,Yr).call(this,(()=>{mr.ensure(),F(Wr,this,!0);try{return es((()=>{n(N(Mr,this),(()=>t),(()=>o))}))}catch(t){return Hi(t,N(Fr,this).parent),null}finally{F(Wr,this,!1)}})))}))}}function Hr(){try{F(Or,this,es((()=>N(Cr,this).call(this,N(Mr,this)))))}catch(t){this.error(t)}}function Kr(){const t=N(Nr,this).pending;t&&(F(Pr,this,es((()=>t(N(Mr,this))))),mr.enqueue((()=>{var t=M(Vr,this,Xr).call(this);F(Or,this,M(Vr,this,Yr).call(this,(()=>(mr.ensure(),es((()=>N(Cr,this).call(this,t))))))),N(zr,this)>0?M(Vr,this,Qr).call(this):(ss(N(Pr,this),(()=>{F(Pr,this,null)})),this.is_pending=!1)})))}function Xr(){var t=N(Mr,this);return this.is_pending&&(F(Br,this,Po()),N(Mr,this).before(N(Br,this)),t=N(Br,this)),t}function Yr(t){var e=ys,n=ms,i=Ci;bs(N(Fr,this)),gs(N(Fr,this)),Fi(N(Fr,this).ctx);try{return t()}catch(t){return Gi(t),null}finally{bs(e),gs(n),Fi(i)}}function Qr(){const t=N(Nr,this).pending;null!==N(Or,this)&&(F(Dr,this,document.createDocumentFragment()),N(Dr,this).append(N(Br,this)),us(N(Or,this),N(Dr,this))),null===N(Pr,this)&&F(Pr,this,es((()=>t(N(Mr,this)))))}function Jr(t){var e;if(this.has_pending_snippet()){if(F(zr,this,N(zr,this)+t),0===N(zr,this)){this.is_pending=!1;for(const t of N(jr,this))Yi(t,qn),Er(t);for(const t of N($r,this))Yi(t,Vn),Er(t);N(jr,this).clear(),N($r,this).clear(),N(Pr,this)&&ss(N(Pr,this),(()=>{F(Pr,this,null)})),N(Dr,this)&&(N(Mr,this).before(N(Dr,this)),F(Dr,this,null))}}else this.parent&&M(Vr,e=this.parent,Jr).call(e,t)}function Zr(t,e,n,i){const r=no;if(0!==n.length||0!==t.length){var o,s,a,l,c,u=er,d=ys,h=(o=ys,s=ms,a=Ci,l=er,c=Oi,function(t=!0){bs(o),gs(s),Fi(a),t&&(null==l||l.activate()),Pi(c)});t.length>0?Promise.all(t).then((()=>{h();try{return f()}finally{null==u||u.deactivate(),to()}})):f()}else i(e.map(r));function f(){Promise.all(n.map((t=>io(t)))).then((t=>{h();try{i([...e.map(r),...t])}catch(t){d.f&Hn||Hi(t,d)}null==u||u.deactivate(),to()})).catch((t=>{Hi(t,d)}))}}function to(){bs(null),gs(null),Fi(null),Pi(null)}const eo=new Set;function no(t){var e=Pn|qn,n=null!==ms&&ms.f&Pn?ms:null;null!==ys&&(ys.f|=Jn);return{ctx:Ci,deps:null,effects:null,equals:Ti,f:e,fn:t,reactions:null,rv:0,v:gn,wv:0,parent:null!=n?n:ys,ac:null}}function io(t,e,n){let i=ys;null===i&&function(){{const t=new Error("async_derived_orphan\nCannot create a `$derived(...)` with an `await` expression outside of an effect tree\nhttps://svelte.dev/e/async_derived_orphan");throw t.name="Svelte error",t}}();var r=i.b,o=void 0,s=mo(gn);s.label=e;var a=!ms,l=new Map;return function(t){Vo(ii|Jn,t,!0)}((()=>{var e=On();o=e.promise;try{Promise.resolve(t()).then(e.resolve,e.reject).then((()=>{n===er&&n.committed&&n.deactivate(),to()}))}catch(t){e.reject(t),to()}var n=er;if(a){var i,c=r.is_rendered();r.update_pending_count(1),n.increment(c),null===(i=l.get(n))||void 0===i||i.reject(ci),l.delete(n),l.set(n,e)}const u=(t,e=void 0)=>{if(n.activate(),e)e!==ci&&(s.f|=ri,bo(s,e));else{s.f&ri&&(s.f^=ri),bo(s,t);for(const[t,e]of l){if(l.delete(t),t===n)break;e.reject(ci)}}a&&(r.update_pending_count(-1),n.decrement(c))};e.promise.then(u,(t=>u(null,t||"unknown")))})),Ho((()=>{for(const t of l.values())t.reject(ci)})),s.f|=ii,new Promise((t=>{!function e(n){function i(){n===o?t(s):e(o)}n.then(i,i)}(o)}))}function ro(t){const e=no(t);return ws(e),e}function oo(t){const e=no(t);return e.equals=Ei,e}function so(t){var e=t.effects;if(null!==e){t.effects=null;for(var n=0;n<e.length;n+=1)rs(e[n])}}let ao=[];function lo(t){var e,n=ys;bs(function(t){for(var e=t.parent;null!==e;){if(!(e.f&Pn))return e.f&Hn?null:e;e=e.parent}return null}(t));{let i=uo;fo(new Set);try{ao.includes(t)&&function(){{const t=new Error("derived_references_self\nA derived value cannot reference itself recursively\nhttps://svelte.dev/e/derived_references_self");throw t.name="Svelte error",t}}(),ao.push(t),t.f&=~ei,so(t),e=Fs(t)}finally{bs(n),fo(i),ao.pop()}}return e}function co(t){var e,n,i=lo(t);if(!t.equals(i)&&(t.wv=As(),(null===(e=er)||void 0===e||!e.is_fork||null===t.deps)&&(t.v=i,null===t.deps)))return void Yi(t,Un);fs||(null!==nr?(Go()||null!==(n=er)&&void 0!==n&&n.is_fork)&&nr.set(t,i):Qi(t))}let uo=new Set;const ho=new Map;function fo(t){uo=t}let po=!1;function mo(t,e){return{f:0,v:t,reactions:null,equals:Ti,rv:0,wv:0}}function vo(t,e){const n=mo(t);return ws(n),n}function go(t,e=!1,n=!0){const i=mo(t);return e||(i.equals=Ei),i}function yo(t,e,n=!1){var i;null!==ms&&(!vs||ms.f&Yn)&&ms.f&(Pn|Ln|ii|Yn)&&(null===(i=ks)||void 0===i||!i.includes(t))&&function(){{const t=new Error("state_unsafe_mutation\nUpdating state inside `$derived(...)`, `$inspect(...)` or a template expression is forbidden. If the value should not be reactive, declare it without `$state`\nhttps://svelte.dev/e/state_unsafe_mutation");throw t.name="Svelte error",t}}();let r=n?Io(e):e;return Ai(r,t.label),bo(t,r)}function bo(t,e){if(!t.equals(e)){var n=t.v;fs?ho.set(t,e):ho.set(t,n),t.v=e;var i=mr.ensure();if(i.capture(t,n),null!==ys){var r,o,s;null!==(r=t.updated)&&void 0!==r||(t.updated=new Map);const e=(null!==(o=null===(s=t.updated.get(""))||void 0===s?void 0:s.count)&&void 0!==o?o:0)+1;if(t.updated.set("",{error:null,count:e}),e>5){const e=Ni("updated at");if(null!==e){let n=t.updated.get(e.stack);n||(n={error:e,count:0},t.updated.set(e.stack,n)),n.count++}}}if(null!==ys&&(t.set_during_effect=!0),t.f&Pn){const e=t;t.f&qn&&lo(e),Qi(e)}t.wv=As(),xo(t,qn),null!==ys&&ys.f&Un&&!(ys.f&(zn|Wn))&&(null===Is?function(t){Is=t}([t]):Is.push(t)),!i.is_fork&&uo.size>0&&!po&&ko()}return e}function ko(){po=!1;var t=ds;hs(!0);const e=Array.from(uo);try{for(const t of e)t.f&Un&&Yi(t,Vn),Ns(t)&&Rs(t)}finally{hs(t)}uo.clear()}function wo(t){yo(t,t.v+1)}function xo(t,e){var n=t.reactions;if(null!==n)for(var i=n.length,r=0;r<i;r++){var o=n[r],s=o.f;if(s&Yn)uo.add(o);else{var a=!(s&qn);if(a&&Yi(o,e),s&Pn){var l,c=o;null===(l=nr)||void 0===l||l.delete(c),s&ei||(s&$n&&(o.f|=ei),xo(c,Vn))}else a&&(s&Ln&&null!==xr&&xr.add(o),Er(o))}}}const _o=/^[a-zA-Z_$][a-zA-Z_$0-9]*$/;function Io(t){if("object"!=typeof t||null===t||oi in t)return t;const e=Nn(t);if(e!==Mn&&e!==An)return t;var n=new Map,i=xn(t),r=vo(0),o=Ss,s=t=>{if(Ss===o)return t();var e=ms,n=Ss;gs(null),Ms(o);var i=t();return gs(e),Ms(n),i};i&&(n.set("length",vo(t.length)),t=new Proxy(t,{get(t,e,n){var i=Reflect.get(t,e,n);return So.has(e)?function(...t){po=!0;var e=i.apply(this,t);return ko(),e}:i}}));var a="";let l=!1;function c(t){if(!l){l=!0,Mi(r,`${a=t} version`);for(const[t,e]of n)Mi(e,To(a,t));l=!1}}return new Proxy(t,{defineProperty(t,e,i){"value"in i&&!1!==i.configurable&&!1!==i.enumerable&&!1!==i.writable||function(){{const t=new Error("state_descriptors_fixed\nProperty descriptors defined on `$state` objects must contain `value` and always be `enumerable`, `configurable` and `writable`.\nhttps://svelte.dev/e/state_descriptors_fixed");throw t.name="Svelte error",t}}();var r=n.get(e);return void 0===r?r=s((()=>{var t=vo(i.value);return n.set(e,t),"string"==typeof e&&Mi(t,To(a,e)),t})):yo(r,i.value,!0),!0},deleteProperty(t,e){var i=n.get(e);if(void 0===i){if(e in t){const t=s((()=>vo(gn)));n.set(e,t),wo(r),Mi(t,To(a,e))}}else yo(i,gn),wo(r);return!0},get(e,i,r){var o;if(i===oi)return t;if(i===li)return c;var l=n.get(i),u=i in e;if(void 0===l&&(!u||null!==(o=En(e,i))&&void 0!==o&&o.writable)&&(l=s((()=>{var t=vo(Io(u?e[i]:gn));return Mi(t,To(a,i)),t})),n.set(i,l)),void 0!==l){var d=Bs(l);return d===gn?void 0:d}return Reflect.get(e,i,r)},getOwnPropertyDescriptor(t,e){var i=Reflect.getOwnPropertyDescriptor(t,e);if(i&&"value"in i){var r=n.get(e);r&&(i.value=Bs(r))}else if(void 0===i){var o=n.get(e),s=null==o?void 0:o.v;if(void 0!==o&&s!==gn)return{enumerable:!0,configurable:!0,value:s,writable:!0}}return i},has(t,e){var i;if(e===oi)return!0;var r=n.get(e),o=void 0!==r&&r.v!==gn||Reflect.has(t,e);if((void 0!==r||null!==ys&&(!o||null!==(i=En(t,e))&&void 0!==i&&i.writable))&&(void 0===r&&(r=s((()=>{var n=vo(o?Io(t[e]):gn);return Mi(n,To(a,e)),n})),n.set(e,r)),Bs(r)===gn))return!1;return o},set(t,e,o,l){var c,u=n.get(e),d=e in t;if(i&&"length"===e)for(var h=o;h<u.v;h+=1){var f=n.get(h+"");void 0!==f?yo(f,gn):h in t&&(f=s((()=>vo(gn))),n.set(h+"",f),Mi(f,To(a,h)))}void 0===u?(!d||null!==(c=En(t,e))&&void 0!==c&&c.writable)&&(Mi(u=s((()=>vo(void 0))),To(a,e)),yo(u,Io(o)),n.set(e,u)):(d=u.v!==gn,yo(u,s((()=>Io(o)))));var p=Reflect.getOwnPropertyDescriptor(t,e);if(null!=p&&p.set&&p.set.call(l,o),!d){if(i&&"string"==typeof e){var m=n.get("length"),v=Number(e);Number.isInteger(v)&&v>=m.v&&yo(m,v+1)}wo(r)}return!0},ownKeys(t){Bs(r);var e=Reflect.ownKeys(t).filter((t=>{var e=n.get(t);return void 0===e||e.v!==gn}));for(var[i,o]of n)o.v===gn||i in t||e.push(i);return e},setPrototypeOf(){!function(){{const t=new Error("state_prototype_fixed\nCannot set prototype of `$state` object\nhttps://svelte.dev/e/state_prototype_fixed");throw t.name="Svelte error",t}}()}})}function To(t,e){var n;return"symbol"==typeof e?`${t}[Symbol(${null!==(n=e.description)&&void 0!==n?n:""})]`:_o.test(e)?`${t}.${e}`:/^\d+$/.test(e)?`${t}[${e}]`:`${t}['${e}']`}function Eo(t){try{if(null!==t&&"object"==typeof t&&oi in t)return t[oi]}catch{}return t}const So=new Set(["copyWithin","fill","pop","push","reverse","shift","sort","splice","unshift"]);function Mo(t,e,n=!0){try{t===e!=(Eo(t)===Eo(e))&&vi(n?"===":"!==")}catch{}return t===e===n}var Ao,No,Co,Fo;function Oo(){if(void 0===Ao){Ao=window,No=/Firefox/.test(navigator.userAgent);var t=Element.prototype,e=Node.prototype,n=Text.prototype;Co=En(e,"firstChild").get,Fo=En(e,"nextSibling").get,Cn(t)&&(t.__click=void 0,t.__className=void 0,t.__attributes=null,t.__style=void 0,t.__e=void 0),Cn(n)&&(n.__t=void 0),t.__svelte_meta=null,function(){const t=Array.prototype,e=Array.__svelte_cleanup;e&&e();const{indexOf:n,lastIndexOf:i,includes:r}=t;t.indexOf=function(t,e){const i=n.call(this,t,e);if(-1===i)for(let n=null!=e?e:0;n<this.length;n+=1)if(Eo(this[n])===t){vi("array.indexOf(...)");break}return i},t.lastIndexOf=function(t,e){const n=i.call(this,t,null!=e?e:this.length-1);if(-1===n)for(let n=0;n<=(null!=e?e:this.length-1);n+=1)if(Eo(this[n])===t){vi("array.lastIndexOf(...)");break}return n},t.includes=function(t,e){const n=r.call(this,t,e);if(!n)for(let e=0;e<this.length;e+=1)if(Eo(this[e])===t){vi("array.includes(...)");break}return n},Array.__svelte_cleanup=()=>{t.indexOf=n,t.lastIndexOf=i,t.includes=r}}()}}function Po(t=""){return document.createTextNode(t)}function Ro(t){return Co.call(t)}function Do(t){return Fo.call(t)}function Bo(t,e){if(!yi)return Ro(t);var n=Ro(gi);if(null===n)n=gi.appendChild(Po());else if(e&&n.nodeType!==ui){var i,r=Po();return null===(i=n)||void 0===i||i.before(r),ki(r),r}return ki(n),n}function Lo(t,e=!1){var n;if(!yi){var i=Ro(t);return i instanceof Comment&&""===i.data?Do(i):i}if(e&&(null===(n=gi)||void 0===n?void 0:n.nodeType)!==ui){var r,o=Po();return null===(r=gi)||void 0===r||r.before(o),ki(o),o}return gi}function zo(t,e=1,n=!1){var i;let r=yi?gi:t;for(var o;e--;)o=r,r=Do(r);if(!yi)return r;if(n&&(null===(i=r)||void 0===i?void 0:i.nodeType)!==ui){var s,a=Po();if(null===r)null===(s=o)||void 0===s||s.after(a);else r.before(a);return ki(a),a}return ki(r),r}function Wo(t){t.textContent=""}function jo(t,e){if(e){const e=document.body;t.autofocus=!0,Ui((()=>{document.activeElement===e&&t.focus()}))}}let $o=!1;function Uo(t){var e=ms,n=ys;gs(null),bs(null);try{return t()}finally{gs(e),bs(n)}}function qo(t){null===ys&&(null===ms&&function(t){{const e=new Error(`effect_orphan\n\`${t}\` can only be used inside an effect (e.g. during component initialisation)\nhttps://svelte.dev/e/effect_orphan`);throw e.name="Svelte error",e}}(t),function(){{const t=new Error("effect_in_unowned_derived\nEffect cannot be created inside a `$derived` value that was not itself created inside an effect\nhttps://svelte.dev/e/effect_in_unowned_derived");throw t.name="Svelte error",t}}()),fs&&function(t){{const e=new Error(`effect_in_teardown\n\`${t}\` cannot be used inside an effect cleanup function\nhttps://svelte.dev/e/effect_in_teardown`);throw e.name="Svelte error",e}}(t)}function Vo(t,e,n){for(var i=ys;null!==i&&i.f&Yn;)i=i.parent;null!==i&&i.f&Gn&&(t|=Gn);var r={ctx:Ci,deps:null,nodes:null,f:t|qn|$n,first:null,fn:e,last:null,next:null,parent:i,b:i&&i.b,prev:null,teardown:null,wv:0,ac:null};if(r.component_function=Ri,n)try{Rs(r),r.f|=Kn}catch(t){throw rs(r),t}else null!==e&&Er(r);var o=r;if(!n||null!==o.deps||null!==o.teardown||null!==o.nodes||o.first!==o.last||o.f&Jn||(o=o.first,t&Ln&&t&Xn&&null!==o&&(o.f|=Xn)),null!==o&&(o.parent=i,null!==i&&function(t,e){var n=e.last;null===n?e.last=e.first=t:(n.next=t,t.prev=n,e.last=t)}(o,i),null!==ms&&ms.f&Pn&&!(t&Wn))){var s,a=ms;(null!==(s=a.effects)&&void 0!==s?s:a.effects=[]).push(o)}return r}function Go(){return null!==ms&&!vs}function Ho(t){const e=Vo(Dn,null,!1);return Yi(e,Un),e.teardown=t,e}function Ko(t){qo("$effect"),Tn(t,"name",{value:"$effect"});var e=ys.f;if(!!(ms||!(e&zn)||e&Kn))return Xo(t);var n,i=Ci;(null!==(n=i.e)&&void 0!==n?n:i.e=[]).push(t)}function Xo(t){return Vo(Rn|Zn,t,!1)}function Yo(t){return Vo(Rn,t,!1)}function Qo(t,e=0){return Vo(Dn|e,t,!0)}function Jo(t,e=[],n=[],i=[]){Zr(i,e,n,(e=>{Vo(Dn,(()=>t(...e.map(Bs))),!0)}))}function Zo(t,e=0){var n=Vo(Ln|e,t,!0);return n.dev_stack=Oi,n}function ts(t,e=0){var n=Vo(Bn|e,t,!0);return n.dev_stack=Oi,n}function es(t){return Vo(zn|Jn,t,!0)}function ns(t){var e=t.teardown;if(null!==e){const t=fs,n=ms;ps(!0),gs(null);try{e.call(null)}finally{ps(t),gs(n)}}}function is(t,e=!1){var n=t.first;for(t.first=t.last=null;null!==n;){const t=n.ac;null!==t&&Uo((()=>{t.abort(ci)}));var i=n.next;n.f&Wn?n.parent=null:rs(n,e),n=i}}function rs(t,e=!0){var n=!1;(e||t.f&Qn)&&null!==t.nodes&&null!==t.nodes.end&&(!function(t,e){for(;null!==t;){var n=t===e?null:Do(t);t.remove(),t=n}}(t.nodes.start,t.nodes.end),n=!0),is(t,e&&!n),Ps(t,0),Yi(t,Hn);var i=t.nodes&&t.nodes.t;if(null!==i)for(const t of i)t.stop();ns(t);var r=t.parent;null!==r&&null!==r.first&&os(t),t.component_function=null,t.next=t.prev=t.teardown=t.ctx=t.deps=t.fn=t.nodes=t.ac=null}function os(t){var e=t.parent,n=t.prev,i=t.next;null!==n&&(n.next=i),null!==i&&(i.prev=n),null!==e&&(e.first===t&&(e.first=i),e.last===t&&(e.last=n))}function ss(t,e,n=!0){var i=[];as(t,i,!0);var r=()=>{n&&rs(t),e&&e()},o=i.length;if(o>0){var s=()=>--o||r();for(var a of i)a.out(s)}else r()}function as(t,e,n){if(!(t.f&Gn)){t.f^=Gn;var i=t.nodes&&t.nodes.t;if(null!==i)for(const t of i)(t.is_global||n)&&e.push(t);for(var r=t.first;null!==r;){var o=r.next;as(r,e,!!(!!(r.f&Xn)||!!(r.f&zn)&&!!(t.f&Ln))&&n),r=o}}}function ls(t){cs(t,!0)}function cs(t,e){if(t.f&Gn){t.f^=Gn,t.f&Un||(Yi(t,qn),Er(t));for(var n=t.first;null!==n;){var i=n.next;cs(n,!!(!!(n.f&Xn)||!!(n.f&zn))&&e),n=i}var r=t.nodes&&t.nodes.t;if(null!==r)for(const t of r)(t.is_global||e)&&t.in()}}function us(t,e){if(t.nodes)for(var n=t.nodes.start,i=t.nodes.end;null!==n;){var r=n===i?null:Do(n);e.append(n),n=r}}let ds=!1;function hs(t){ds=t}let fs=!1;function ps(t){fs=t}let ms=null,vs=!1;function gs(t){ms=t}let ys=null;function bs(t){ys=t}let ks=null;function ws(t){null!==ms&&(null===ks?ks=[t]:ks.push(t))}let xs=null,_s=0,Is=null;let Ts=1,Es=0,Ss=Es;function Ms(t){Ss=t}function As(){return++Ts}function Ns(t){var e=t.f;if(e&qn)return!0;if(e&Pn&&(t.f&=~ei),e&Vn){for(var n=t.deps,i=n.length,r=0;r<i;r++){var o=n[r];if(Ns(o)&&co(o),o.wv>t.wv)return!0}e&$n&&null===nr&&Yi(t,Un)}return!1}function Cs(t,e,n=!0){var i,r=t.reactions;if(null!==r&&(null===(i=ks)||void 0===i||!i.includes(t)))for(var o=0;o<r.length;o++){var s=r[o];s.f&Pn?Cs(s,e,!1):e===s&&(n?Yi(s,qn):s.f&Un&&Yi(s,Vn),Er(s))}}function Fs(t){var e=xs,n=_s,i=Is,r=ms,o=ks,s=Ci,a=vs,l=Ss,c=t.f;xs=null,_s=0,Is=null,ms=c&(zn|Wn)?null:t,ks=null,Fi(t.ctx),vs=!1,Ss=++Es,null!==t.ac&&(Uo((()=>{t.ac.abort(ci)})),t.ac=null);try{t.f|=ni;var u=(0,t.fn)(),d=t.deps;if(null!==xs){var h;if(Ps(t,_s),null!==d&&_s>0)for(d.length=_s+xs.length,h=0;h<xs.length;h++)d[_s+h]=xs[h];else t.deps=d=xs;if(Go()&&t.f&$n)for(h=_s;h<d.length;h++){var f,p;(null!==(p=(f=d[h]).reactions)&&void 0!==p?p:f.reactions=[]).push(t)}}else null!==d&&_s<d.length&&(Ps(t,_s),d.length=_s);if(!(null===Is||vs||null===d||t.f&(Pn|Vn|qn)))for(h=0;h<Is.length;h++)Cs(Is[h],t);return null!==r&&r!==t&&(Es++,null!==Is&&(null===i?i=Is:i.push(...Is))),t.f&ri&&(t.f^=ri),u}catch(t){return Gi(t)}finally{t.f^=ni,xs=e,_s=n,Is=i,ms=r,ks=o,Fi(s),vs=a,Ss=l}}function Os(t,e){let n=e.reactions;if(null!==n){var i=_n.call(n,t);if(-1!==i){var r=n.length-1;0===r?n=e.reactions=null:(n[i]=n[r],n.pop())}}if(null===n&&e.f&Pn&&(null===xs||!xs.includes(e))){var o=e;o.f&$n&&(o.f^=$n,o.f&=~ei),Qi(o),so(o),Ps(o,0)}}function Ps(t,e){var n=t.deps;if(null!==n)for(var i=e;i<n.length;i++)Os(t,n[i])}function Rs(t){var e=t.f;if(!(e&Hn)){Yi(t,Un);var n=ys,i=ds;ys=t,ds=!0;var r,o=Ri;Di(t.component_function);var s=Oi;Pi(null!==(r=t.dev_stack)&&void 0!==r?r:Oi);try{e&(Ln|Bn)?function(t){for(var e=t.first;null!==e;){var n=e.next;e.f&zn||rs(e),e=n}}(t):is(t),ns(t);var a=Fs(t);t.teardown="function"==typeof a?a:null,t.wv=Ts,wn&&Si&&t.f&qn&&t.deps}finally{ds=i,ys=n,Di(o),Pi(s)}}}async function Ds(){await Promise.resolve(),function(){var t=sr;sr=!0;try{for(;;){var e;if(qi(),0===ir.length&&(null===(e=er)||void 0===e||e.flush(),0===ir.length))return void(rr=null);kr()}}finally{sr=t}}()}function Bs(t){var e,n,i=!!(t.f&Pn);if(null!==ms&&!vs&&!(null!==ys&&!!(ys.f&Hn)||null!==(n=ks)&&void 0!==n&&n.includes(t))){var r=ms.deps;if(ms.f&ni)t.rv<Es&&(t.rv=Es,null===xs&&null!==r&&r[_s]===t?_s++:null===xs?xs=[t]:xs.includes(t)||xs.push(t));else{var o,s;(null!==(s=(o=ms).deps)&&void 0!==s?s:o.deps=[]).push(t);var a=t.reactions;null===a?t.reactions=[ms]:a.includes(ms)||a.push(ms)}}if(eo.delete(t),fs&&ho.has(t))return ho.get(t);if(i){var l=t;if(fs){var c=l.v;return(l.f&Un||null===l.reactions)&&!zs(l)||(c=lo(l)),ho.set(l,c),c}var u=!(l.f&$n)&&!vs&&null!==ms&&(ds||!!(ms.f&$n)),d=null===l.deps;Ns(l)&&(u&&(l.f|=$n),co(l)),u&&!d&&Ls(l)}if(null!==(e=nr)&&void 0!==e&&e.has(t))return nr.get(t);if(t.f&ri)throw t.v;return t.v}function Ls(t){if(null!==t.deps){t.f|=$n;for(const n of t.deps){var e;(null!==(e=n.reactions)&&void 0!==e?e:n.reactions=[]).push(t),n.f&Pn&&!(n.f&$n)&&Ls(n)}}}function zs(t){if(t.v===gn)return!0;if(null===t.deps)return!1;for(const e of t.deps){if(ho.has(e))return!0;if(e.f&Pn&&zs(e))return!0}return!1}function Ws(t){var e=vs;try{return vs=!0,t()}finally{vs=e}}const js=new Set,$s=new Set;function Us(t,e,n,i={}){function r(t){if(i.capture||Hs.call(e,t),!t.cancelBubble)return Uo((()=>null==n?void 0:n.call(this,t)))}return t.startsWith("pointer")||t.startsWith("touch")||"wheel"===t?Ui((()=>{e.addEventListener(t,r,i)})):e.addEventListener(t,r,i),r}function qs(t,e,n,i,r){var o={capture:i,passive:r},s=Us(t,e,n,o);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&Ho((()=>{e.removeEventListener(t,s,o)}))}function Vs(t){for(var e=0;e<t.length;e++)js.add(t[e]);for(var n of $s)n(t)}let Gs=null;function Hs(t){var e,n=this,i=n.ownerDocument,r=t.type,o=(null===(e=t.composedPath)||void 0===e?void 0:e.call(t))||[],s=o[0]||t.target;Gs=t;var a=0,l=Gs===t&&t.__root;if(l){var c=o.indexOf(l);if(-1!==c&&(n===document||n===window))return void(t.__root=n);var u=o.indexOf(n);if(-1===u)return;c<=u&&(a=c)}if((s=o[a]||t.target)!==n){Tn(t,"currentTarget",{configurable:!0,get:()=>s||i});var d=ms,h=ys;gs(null),bs(null);try{for(var f,p=[];null!==s;){var m=s.assignedSlot||s.parentNode||s.host||null;try{var v=s["__"+r];null==v||s.disabled&&t.target!==s||v.call(s,t)}catch(t){f?p.push(t):f=t}if(t.cancelBubble||m===n||null===m)break;s=m}if(f){for(let t of p)queueMicrotask((()=>{throw t}));throw f}}finally{t.__root=n,delete t.currentTarget,gs(d),bs(h)}}}function Ks(t){var e=document.createElement("template");return e.innerHTML=t.replaceAll("<!>","\x3c!----\x3e"),e.content}function Xs(t,e){var n=ys;null===n.nodes&&(n.nodes={start:t,end:e,a:null,t:null})}function Ys(t,e){var n,i=!!(1&e),r=!!(2&e),o=!t.startsWith("<!>");return()=>{if(yi)return Xs(gi,null),gi;void 0===n&&(n=Ks(o?t:"<!>"+t),i||(n=Ro(n)));var e=r||No?document.importNode(n,!0):n.cloneNode(!0);i?Xs(Ro(e),e.lastChild):Xs(e,e);return e}}function Qs(t,e,n="svg"){var i,r=`<${n}>${!t.startsWith("<!>")?t:"<!>"+t}</${n}>`;return()=>{if(yi)return Xs(gi,null),gi;if(!i){var t=Ks(r);i=Ro(Ro(t))}var e=i.cloneNode(!0);return Xs(e,e),e}}function Js(t,e){return Qs(t,0,"svg")}function Zs(){if(yi)return Xs(gi,null),gi;var t=document.createDocumentFragment(),e=document.createComment(""),n=Po();return t.append(e,n),Xs(e,n),t}function ta(t,e){if(yi){var n=ys;return n.f&Kn&&null!==n.nodes.end||(n.nodes.end=gi),void wi()}null!==t&&t.before(e)}function ea(t){return t.endsWith("capture")&&"gotpointercapture"!==t&&"lostpointercapture"!==t}const na=["beforeinput","click","change","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"];function ia(t){return na.includes(t)}const ra={formnovalidate:"formNoValidate",ismap:"isMap",nomodule:"noModule",playsinline:"playsInline",readonly:"readOnly",defaultvalue:"defaultValue",defaultchecked:"defaultChecked",srcobject:"srcObject",novalidate:"noValidate",allowfullscreen:"allowFullscreen",disablepictureinpicture:"disablePictureInPicture",disableremoteplayback:"disableRemotePlayback"};function oa(t){var e;return t=t.toLowerCase(),null!==(e=ra[t])&&void 0!==e?e:t}const sa=["touchstart","touchmove"];let aa=!0;function la(t,e){var n,i=null==e?"":"object"==typeof e?e+"":e;i!==(null!==(n=t.__t)&&void 0!==n?n:t.__t=t.nodeValue)&&(t.__t=i,t.nodeValue=i+"")}function ca(t,e){return ha(t,e)}function ua(t,e){var n;Oo(),e.intro=null!==(n=e.intro)&&void 0!==n&&n;const i=e.target,r=yi,o=gi;try{for(var s=Ro(i);s&&(s.nodeType!==di||s.data!==fn);)s=Do(s);if(!s)throw vn;bi(!0),ki(s);const n=ha(t,{...e,anchor:s});return bi(!1),n}catch(n){if(n instanceof Error&&n.message.split("\n").some((t=>t.startsWith("https://svelte.dev/e/"))))throw n;return n!==vn&&console.warn("Failed to hydrate: ",n),!1===e.recover&&function(){{const t=new Error("hydration_failed\nFailed to hydrate the application\nhttps://svelte.dev/e/hydration_failed");throw t.name="Svelte error",t}}(),Oo(),Wo(i),bi(!1),ca(t,e)}finally{bi(r),ki(o)}}const da=new Map;function ha(t,{target:e,anchor:n,props:i={},events:r,context:o,intro:s=!0}){Oo();var a=new Set,l=t=>{for(var n=0;n<t.length;n++){var i=t[n];if(!a.has(i)){a.add(i);var r=(s=i,sa.includes(s));e.addEventListener(i,Hs,{passive:r});var o=da.get(i);void 0===o?(document.addEventListener(i,Hs,{passive:r}),da.set(i,1)):da.set(i,o+1)}}var s};l(In(js)),$s.add(l);var c=void 0,u=function(t){mr.ensure();const e=Vo(Wn|Jn,t,!0);return(t={})=>new Promise((n=>{t.outro?ss(e,(()=>{rs(e),n(void 0)})):(rs(e),n(void 0))}))}((()=>{var u=null!=n?n:e.appendChild(Po());return function(t,e,n){new Gr(t,e,n)}(u,{pending:()=>{}},(e=>{o&&(Li({}),Ci.c=o);if(r&&(i.$$events=r),yi&&Xs(e,null),aa=s,c=t(e,i)||{},aa=!0,yi&&(ys.nodes.end=gi,null===gi||gi.nodeType!==di||gi.data!==mn))throw mi(),vn;o&&zi()})),()=>{for(var t of a){e.removeEventListener(t,Hs);var i=da.get(t);0==--i?(document.removeEventListener(t,Hs),da.delete(t)):da.set(t,i)}var r;($s.delete(l),u!==n)&&(null===(r=u.parentNode)||void 0===r||r.removeChild(u))}}));return fa.set(c,u),c}let fa=new WeakMap;function pa(t,e){const n=fa.get(t);return n?(fa.delete(t),n(e)):(oi in t?console.warn("%c[svelte] state_proxy_unmount\n%cTried to unmount a state proxy, rather than a component\nhttps://svelte.dev/e/state_proxy_unmount",fi,pi):console.warn("%c[svelte] lifecycle_double_unmount\n%cTried to unmount a component that was not mounted\nhttps://svelte.dev/e/lifecycle_double_unmount",fi,pi),Promise.resolve())}class ma{anchor;#t=new Map;#e=new Map;#n=new Map;#i=new Set;#r=!0;constructor(t,e=!0){this.anchor=t,this.#r=e}#o=()=>{var t=er;if(this.#t.has(t)){var e=this.#t.get(t),n=this.#e.get(e);if(n)ls(n),this.#i.delete(e);else{var i=this.#n.get(e);i&&(this.#e.set(e,i.effect),this.#n.delete(e),i.fragment.lastChild.remove(),this.anchor.before(i.fragment),n=i.effect)}for(const[e,n]of this.#t){if(this.#t.delete(e),e===t)break;const i=this.#n.get(n);i&&(rs(i.effect),this.#n.delete(n))}for(const[t,i]of this.#e){if(t===e||this.#i.has(t))continue;const r=()=>{if(Array.from(this.#t.values()).includes(t)){var e=document.createDocumentFragment();us(i,e),e.append(Po()),this.#n.set(t,{effect:i,fragment:e})}else rs(i);this.#i.delete(t),this.#e.delete(t)};this.#r||!n?(this.#i.add(t),ss(i,r,!1)):r()}}};#s=t=>{this.#t.delete(t);const e=Array.from(this.#t.values());for(const[t,n]of this.#n)e.includes(t)||(rs(n.effect),this.#n.delete(t))};ensure(t,e){var n=er;!e||this.#e.has(t)||this.#n.has(t)||this.#e.set(t,es((()=>e(this.anchor)))),this.#t.set(n,t),yi&&(this.anchor=gi),this.#o()}}{let t=function(t){if(!(t in globalThis)){let e;Object.defineProperty(globalThis,t,{configurable:!0,get:()=>{if(void 0!==e)return e;!function(t){{const e=new Error(`rune_outside_svelte\nThe \`${t}\` rune is only available inside \`.svelte\` and \`.svelte.js/ts\` files\nhttps://svelte.dev/e/rune_outside_svelte`);throw e.name="Svelte error",e}}(t)},set:t=>{e=t}})}};t("$state"),t("$effect"),t("$derived"),t("$inspect"),t("$props"),t("$bindable")}function va(t){null===Ci&&hi("onMount"),Ko((()=>{const e=Ws(t);if("function"==typeof e)return e}))}var ga,ya=new Map;function ba(t,e,n=!1){yi&&wi();var i=new ma(t);function r(e,n){if(yi){if(e===(Ii(t)===pn)){var r=_i();return ki(r),i.anchor=r,bi(!1),i.ensure(e,n),void bi(!0)}}i.ensure(e,n)}Zo((()=>{var t=!1;e(((e,n=!0)=>{t=!0,r(n,e)})),t||r(!1,null)}),n?Xn:0)}function ka(t,e){return e}function wa(t,e=!0){for(var n=0;n<t.length;n++)rs(t[n],e)}function xa(t,e,n,i,r,o=null){var s=t,a=new Map;if(!!(e&on)){var l=t;s=yi?ki(Ro(l)):l.appendChild(Po())}yi&&wi();var c,u=null,d=oo((()=>{var t=n();return xn(t)?t:null==t?[]:In(t)})),h=!0;function f(){m.fallback=u,function(t,e,n,i,r){var o,s,a,l,c,u=!!(i&sn),d=e.length,h=t.items,f=t.effect.first,p=null,m=[],v=[];if(u)for(c=0;c<d;c+=1){var g,y;if(a=r(e[c],c),!((l=h.get(a).e).f&ti))null===(g=l.nodes)||void 0===g||null===(g=g.a)||void 0===g||g.measure(),(null!==(y=s)&&void 0!==y?y:s=new Set).add(l)}for(c=0;c<d;c+=1){if(a=r(e[c],c),l=h.get(a).e,null!==t.outrogroups)for(const e of t.outrogroups)e.pending.delete(l),e.done.delete(l);if(l.f&ti){if(l.f^=ti,l!==f){var b=p?p.next:f;l===t.effect.last&&(t.effect.last=l.prev),l.prev&&(l.prev.next=l.next),l.next&&(l.next.prev=l.prev),Ta(t,p,l),Ta(t,l,b),Ia(l,b,n),m=[],v=[],f=(p=l).next;continue}Ia(l,null,n)}var k,w;if(l.f&Gn)if(ls(l),u)null===(k=l.nodes)||void 0===k||null===(k=k.a)||void 0===k||k.unfix(),(null!==(w=s)&&void 0!==w?w:s=new Set).delete(l);if(l!==f){if(void 0!==o&&o.has(l)){if(m.length<v.length){var x,_=v[0];p=_.prev;var I=m[0],T=m[m.length-1];for(x=0;x<m.length;x+=1)Ia(m[x],_,n);for(x=0;x<v.length;x+=1)o.delete(v[x]);Ta(t,I.prev,T.next),Ta(t,p,I),Ta(t,T,_),f=_,p=T,c-=1,m=[],v=[]}else o.delete(l),Ia(l,f,n),Ta(t,l.prev,l.next),Ta(t,l,null===p?t.effect.first:p.next),Ta(t,p,l),p=l;continue}for(m=[],v=[];null!==f&&f!==l;){var E;(null!==(E=o)&&void 0!==E?E:o=new Set).add(f),v.push(f),f=f.next}if(null===f)continue}l.f&ti||m.push(l),p=l,f=l.next}if(null!==t.outrogroups){for(const e of t.outrogroups){var S;if(0===e.pending.size)wa(In(e.done)),null===(S=t.outrogroups)||void 0===S||S.delete(e)}0===t.outrogroups.size&&(t.outrogroups=null)}if(null!==f||void 0!==o){var M=[];if(void 0!==o)for(l of o)l.f&Gn||M.push(l);for(;null!==f;)f.f&Gn||f===t.fallback||M.push(f),f=f.next;var A=M.length;if(A>0){var N=i&on&&0===d?n:null;if(u){for(c=0;c<A;c+=1){var C;null===(C=M[c].nodes)||void 0===C||null===(C=C.a)||void 0===C||C.measure()}for(c=0;c<A;c+=1){var F;null===(F=M[c].nodes)||void 0===F||null===(F=F.a)||void 0===F||F.fix()}}!function(t,e,n){for(var i,r=e.length,o=e.length,s=0;s<r;s++){let n=e[s];ss(n,(()=>{if(i){if(i.pending.delete(n),i.done.add(n),0===i.pending.size){var e=t.outrogroups;wa(In(i.done)),e.delete(i),0===e.size&&(t.outrogroups=null)}}else o-=1}),!1)}if(0===o){var a=null!==n;if(a){var l=n,c=l.parentNode;Wo(c),c.append(l),t.items.clear()}wa(e,!a)}else{var u;i={pending:new Set(e),done:new Set},(null!==(u=t.outrogroups)&&void 0!==u?u:t.outrogroups=new Set).add(i)}}(t,M,N)}}u&&Ui((()=>{if(void 0!==s)for(l of s){var t;null===(t=l.nodes)||void 0===t||null===(t=t.a)||void 0===t||t.apply()}}))}(m,c,s,e,i),null!==u&&(0===c.length?u.f&ti?(u.f^=ti,Ia(u,null,s)):ls(u):ss(u,(()=>{u=null})))}var p=Zo((()=>{var t=(c=Bs(d)).length;let l=!1;yi&&(Ii(s)===pn!==(0===t)&&(ki(s=_i()),bi(!1),l=!0));for(var p=new Set,m=0;m<t;m+=1){yi&&gi.nodeType===di&&gi.data===mn&&(s=gi,l=!0,bi(!1));var v,g=c[m],y=i(g,m),b=h?null:a.get(y);if(b)b.v&&bo(b.v,g),b.i&&bo(b.i,m);else b=_a(a,h?s:null!==(v=ga)&&void 0!==v?v:ga=Po(),g,y,m,r,e,n),h||(b.e.f|=ti),a.set(y,b);p.add(y)}0===t&&o&&!u&&(h?u=es((()=>o(s))):(u=es((()=>{var t;return o(null!==(t=ga)&&void 0!==t?t:ga=Po())}))).f|=ti),yi&&t>0&&ki(_i()),h||f(),l&&bi(!0),Bs(d)})),m={effect:p,items:a,outrogroups:null,fallback:u};h=!1,yi&&(s=gi)}function _a(t,e,n,i,r,o,s,a){var l=s&nn?s&an?mo(n):go(n,!1,!1):null,c=s&rn?mo(r):null;return l&&(l.trace=()=>{var t;a()[null!==(t=null==c?void 0:c.v)&&void 0!==t?t:r]}),{v:l,i:c,e:es((()=>(o(e,null!=l?l:n,null!=c?c:r,a),()=>{t.delete(i)})))}}function Ia(t,e,n){if(t.nodes)for(var i=t.nodes.start,r=t.nodes.end,o=!e||e.f&ti?n:e.nodes.start;null!==i;){var s=Do(i);if(o.before(i),i===r)return;i=s}}function Ta(t,e,n){null===e?t.effect.first=n:e.next=n,null===n?t.effect.last=e:n.prev=e}const Ea={tick:t=>requestAnimationFrame(t),now:()=>performance.now(),tasks:new Set};function Sa(){const t=Ea.now();Ea.tasks.forEach((e=>{e.c(t)||(Ea.tasks.delete(e),e.f())})),0!==Ea.tasks.size&&Ea.tick(Sa)}function Ma(t,e){Uo((()=>{t.dispatchEvent(new CustomEvent(e))}))}function Aa(t){if("float"===t)return"cssFloat";if("offset"===t)return"cssOffset";if(t.startsWith("--"))return t;const e=t.split("-");return 1===e.length?e[0]:e[0]+e.slice(1).map((t=>t[0].toUpperCase()+t.slice(1))).join("")}function Na(t){const e={},n=t.split(";");for(const t of n){const[n,i]=t.split(":");if(!n||void 0===i)break;e[Aa(n.trim())]=i.trim()}return e}const Ca=t=>t;function Fa(t,e,n,i){var r,o,s,a,l,c=!!(t&hn),u=e.inert,d=e.style.overflow;function h(){return Uo((()=>{var t,r;return null!==(t=s)&&void 0!==t?t:s=n()(e,null!==(r=null==i?void 0:i())&&void 0!==r?r:{},{direction:"both"})}))}var f={is_global:c,in(){e.inert=u,Ma(e,"introstart"),a=Oa(e,h(),l,1,(()=>{var t;Ma(e,"introend"),null===(t=a)||void 0===t||t.abort(),a=s=void 0,e.style.overflow=d}))},out(t){e.inert=!0,Ma(e,"outrostart"),l=Oa(e,h(),a,0,(()=>{Ma(e,"outroend"),null==t||t()}))},stop:()=>{var t,e;null===(t=a)||void 0===t||t.abort(),null===(e=l)||void 0===e||e.abort()}},p=ys;if((null!==(o=(r=p.nodes).t)&&void 0!==o?o:r.t=[]).push(f),aa){var m=c;if(!m){for(var v=p.parent;v&&v.f&Xn;)for(;(v=v.parent)&&!(v.f&Ln););m=!v||!!(v.f&Kn)}m&&Yo((()=>{Ws((()=>f.in()))}))}}function Oa(t,e,n,i,r){var o=1===i;if("function"==typeof e){var s,a=!1;return Ui((()=>{if(!a){var l=e({direction:o?"in":"out"});s=Oa(t,l,n,i,r)}})),{abort:()=>{var t;a=!0,null===(t=s)||void 0===t||t.abort()},deactivate:()=>s.deactivate(),reset:()=>s.reset(),t:()=>s.t()}}if(null==n||n.deactivate(),null==e||!e.duration)return r(),{abort:Fn,deactivate:Fn,reset:Fn,t:()=>i};const{delay:l=0,css:c,tick:u,easing:d=Ca}=e;var h=[];if(o&&void 0===n&&(u&&u(0,1),c)){var f=Na(c(0,1));h.push(f,f)}var p=()=>1-i,m=t.animate(h,{duration:l,fill:"forwards"});return m.onfinish=()=>{var o;m.cancel();var s=null!==(o=null==n?void 0:n.t())&&void 0!==o?o:1-i;null==n||n.abort();var a=i-s,l=e.duration*Math.abs(a),h=[];if(l>0){var f=!1;if(c)for(var v=Math.ceil(l/(1e3/60)),g=0;g<=v;g+=1){var y=s+a*d(g/v),b=Na(c(y,1-y));h.push(b),f||(f="hidden"===b.overflow)}f&&(t.style.overflow="hidden"),p=()=>{var t=m.currentTime;return s+a*d(t/l)},u&&function(t){let e;0===Ea.tasks.size&&Ea.tick(Sa),new Promise((n=>{Ea.tasks.add(e={c:t,f:n})}))}((()=>{if("running"!==m.playState)return!1;var t=p();return u(t,1-t),!0}))}(m=t.animate(h,{duration:l,fill:"forwards"})).onfinish=()=>{p=()=>i,null==u||u(i,1-i),r()}},{abort:()=>{m&&(m.cancel(),m.effect=null,m.onfinish=Fn)},deactivate:()=>{r=Fn},reset:()=>{0===i&&(null==u||u(1,0))},t:()=>p()}}function Pa(t,e){Yo((()=>{var n,i=t.getRootNode(),r=i.host?i:null!==(n=i.head)&&void 0!==n?n:i.ownerDocument.head;if(!r.querySelector("#"+e.hash)){const t=document.createElement("style");t.id=e.hash,t.textContent=e.code,r.appendChild(t),function(t,e){var n=ya.get(t);n||(n=new Set,ya.set(t,n)),n.add(e)}(e.hash,t)}}))}function Ra(t,e){var n,i=void 0;ts((()=>{i!==(i=e())&&(n&&(rs(n),n=null),i&&(n=es((()=>{Yo((()=>i(t)))}))))}))}function Da(t){var e,n,i="";if("string"==typeof t||"number"==typeof t)i+=t;else if("object"==typeof t)if(Array.isArray(t)){var r=t.length;for(e=0;e<r;e++)t[e]&&(n=Da(t[e]))&&(i&&(i+=" "),i+=n)}else for(n in t)t[n]&&(i&&(i+=" "),i+=n);return i}function Ba(t){return"object"==typeof t?function(){for(var t,e,n=0,i="",r=arguments.length;n<r;n++)(t=arguments[n])&&(e=Da(t))&&(i&&(i+=" "),i+=e);return i}(t):null!=t?t:""}const La=[..." \t\n\r\f \v\ufeff"];function za(t,e=!1){var n=e?" !important;":";",i="";for(var r in t){var o=t[r];null!=o&&""!==o&&(i+=" "+r+": "+o+n)}return i}function Wa(t){return"-"!==t[0]||"-"!==t[1]?t.toLowerCase():t}function ja(t,e,n,i,r,o){var s=t.__className;if(yi||s!==n||void 0===s){var a=function(t,e,n){var i=null==t?"":""+t;if(e&&(i=i?i+" "+e:e),n)for(var r in n)if(n[r])i=i?i+" "+r:r;else if(i.length)for(var o=r.length,s=0;(s=i.indexOf(r,s))>=0;){var a=s+o;0!==s&&!La.includes(i[s-1])||a!==i.length&&!La.includes(i[a])?s=a:i=(0===s?"":i.substring(0,s))+i.substring(a+1)}return""===i?null:i}(n,i,o);yi&&a===t.getAttribute("class")||(null==a?t.removeAttribute("class"):e?t.className=a:t.setAttribute("class",a)),t.__className=n}else if(o&&r!==o)for(var l in o){var c=!!o[l];null!=r&&c===!!r[l]||t.classList.toggle(l,c)}return o}function $a(t,e={},n,i){for(var r in n){var o=n[r];e[r]!==o&&(null==n[r]?t.style.removeProperty(r):t.style.setProperty(r,o,i))}}function Ua(t,e,n,i){var r=t.__style;if(yi||r!==e){var o=function(t,e){if(e){var n,i,r="";if(Array.isArray(e)?(n=e[0],i=e[1]):n=e,t){t=String(t).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var o=!1,s=0,a=!1,l=[];n&&l.push(...Object.keys(n).map(Wa)),i&&l.push(...Object.keys(i).map(Wa));var c=0,u=-1;const e=t.length;for(var d=0;d<e;d++){var h=t[d];if(a?"/"===h&&"*"===t[d-1]&&(a=!1):o?o===h&&(o=!1):"/"===h&&"*"===t[d+1]?a=!0:'"'===h||"'"===h?o=h:"("===h?s++:")"===h&&s--,!a&&!1===o&&0===s)if(":"===h&&-1===u)u=d;else if(";"===h||d===e-1){if(-1!==u){var f=Wa(t.substring(c,u).trim());l.includes(f)||(";"!==h&&d++,r+=" "+t.substring(c,d).trim()+";")}c=d+1,u=-1}}}return n&&(r+=za(n)),i&&(r+=za(i,!0)),""===(r=r.trim())?null:r}return null==t?null:String(t)}(e,i);yi&&o===t.getAttribute("style")||(null==o?t.removeAttribute("style"):t.style.cssText=o),t.__style=e}else i&&(Array.isArray(i)?($a(t,null==n?void 0:n[0],i[0]),$a(t,null==n?void 0:n[1],i[1],"important")):$a(t,n,i));return i}function qa(t,e,n=!1){if(t.multiple){if(null==e)return;if(!xn(e))return void console.warn("%c[svelte] select_multiple_invalid_value\n%cThe `value` property of a `<select multiple>` element should be an array, but it received a non-array value. The selection will be kept as is.\nhttps://svelte.dev/e/select_multiple_invalid_value",fi,pi);for(var i of t.options)i.selected=e.includes(Va(i))}else{for(i of t.options){var r=Va(i);if(o=r,s=e,Object.is(Eo(o),Eo(s)))return void(i.selected=!0)}var o,s;n&&void 0===e||(t.selectedIndex=-1)}}function Va(t){return"__value"in t?t.__value:t.value}const Ga=Symbol("class"),Ha=Symbol("style"),Ka=Symbol("is custom element"),Xa=Symbol("is html");function Ya(t){if(yi){var e=!1,n=()=>{if(!e){if(e=!0,t.hasAttribute("value")){var n=t.value;Ja(t,"value",null),t.value=n}if(t.hasAttribute("checked")){var i=t.checked;Ja(t,"checked",null),t.checked=i}}};t.__on_r=n,Ui(n),$o||($o=!0,document.addEventListener("reset",(t=>{Promise.resolve().then((()=>{if(!t.defaultPrevented)for(const n of t.target.elements){var e;null===(e=n.__on_r)||void 0===e||e.call(n)}}))}),{capture:!0}))}}function Qa(t,e){e?t.hasAttribute("selected")||t.setAttribute("selected",""):t.removeAttribute("selected")}function Ja(t,e,n,i){var r=tl(t);yi&&(r[e]=t.getAttribute(e),"src"===e||"srcset"===e||"href"===e&&"LINK"===t.nodeName)?i||function(t,e,n){var i;if("srcset"===e&&function(t,e){var n=rl(t.srcset),i=rl(e);return i.length===n.length&&i.every((([t,e],i)=>e===n[i][1]&&(il(n[i][0],t)||il(t,n[i][0]))))}(t,n))return;if(il(null!==(i=t.getAttribute(e))&&void 0!==i?i:"",n))return;!function(t,e,n){console.warn(`%c[svelte] hydration_attribute_changed\n%cThe \`${t}\` attribute on \`${e}\` changed its value between server and client renders. The client value, \`${n}\`, will be ignored in favour of the server value\nhttps://svelte.dev/e/hydration_attribute_changed`,fi,pi)}(e,t.outerHTML.replace(t.innerHTML,t.innerHTML&&"..."),String(n))}(t,e,null!=n?n:""):r[e]!==(r[e]=n)&&("loading"===e&&(t[ai]=n),null==n?t.removeAttribute(e):"string"!=typeof n&&nl(t).includes(e)?t[e]=n:t.setAttribute(e,n))}function Za(t,e,n=[],i=[],r=[],o,s=!1,a=!1){Zr(r,n,i,(n=>{var i=void 0,r={},l="SELECT"===t.nodeName,c=!1;if(ts((()=>{var u=e(...n.map(Bs)),d=function(t,e,n,i,r=!1,o=!1){if(yi&&r&&"INPUT"===t.tagName){var s=t;("checkbox"===s.type?"defaultChecked":"defaultValue")in n||Ya(s)}var a=tl(t),l=a[Ka],c=!a[Xa];let u=yi&&l;u&&bi(!1);var d,h=e||{},f="OPTION"===t.tagName;for(var p in e)p in n||(n[p]=null);n.class?n.class=Ba(n.class):n.class=null,n[Ha]&&(null!==(d=n.style)&&void 0!==d||(n.style=null));var m=nl(t);for(const r in n){let s=n[r];if(f&&"value"===r&&null==s)t.value=t.__value="",h[r]=s;else if("class"!==r)if("style"!==r){var v=h[r];if(s!==v||void 0===s&&t.hasAttribute(r)){h[r]=s;var g=r[0]+r[1];if("$$"!==g)if("on"===g){const e={},n="$$"+r;let i=r.slice(2);var y=ia(i);if(ea(i)&&(i=i.slice(0,-7),e.capture=!0),!y&&v){if(null!=s)continue;t.removeEventListener(i,h[n],e),h[n]=null}if(null!=s)if(y)t[`__${i}`]=s,Vs([i]);else{let o=function(t){h[r].call(this,t)};h[n]=Us(i,t,o,e)}else y&&(t[`__${i}`]=void 0)}else if("style"===r)Ja(t,r,s);else if("autofocus"===r)jo(t,Boolean(s));else if(l||"__value"!==r&&("value"!==r||null==s))if("selected"===r&&f)Qa(t,s);else{var b=r;c||(b=oa(b));var k="defaultValue"===b||"defaultChecked"===b;if(null!=s||l||k)k||m.includes(b)&&(l||"string"!=typeof s)?(t[b]=s,b in a&&(a[b]=gn)):"function"!=typeof s&&Ja(t,b,s,o);else if(a[r]=null,"value"===b||"checked"===b){let n=t;const i=void 0===e;if("value"===b){let t=n.defaultValue;n.removeAttribute(b),n.defaultValue=t,n.value=n.__value=i?t:null}else{let t=n.defaultChecked;n.removeAttribute(b),n.defaultChecked=t,n.checked=!!i&&t}}else t.removeAttribute(r)}else t.value=t.__value=s}}else Ua(t,s,null==e?void 0:e[Ha],n[Ha]),h[r]=s,h[Ha]=n[Ha];else ja(t,"http://www.w3.org/1999/xhtml"===t.namespaceURI,s,i,null==e?void 0:e[Ga],n[Ga]),h[r]=s,h[Ga]=n[Ga]}return u&&bi(!0),h}(t,i,u,o,s,a);c&&l&&"value"in u&&qa(t,u.value);for(let t of Object.getOwnPropertySymbols(r))u[t]||rs(r[t]);for(let e of Object.getOwnPropertySymbols(u)){var h=u[e];e.description!==kn||i&&h===i[e]||(r[e]&&rs(r[e]),r[e]=es((()=>Ra(t,(()=>h))))),d[e]=h}i=d})),l){var u=t;Yo((()=>{qa(u,i.value,!0),function(t){var e=new MutationObserver((()=>{qa(t,t.__value)}));e.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Ho((()=>{e.disconnect()}))}(u)}))}c=!0}))}function tl(t){var e;return null!==(e=t.__attributes)&&void 0!==e?e:t.__attributes={[Ka]:t.nodeName.includes("-"),[Xa]:t.namespaceURI===bn}}var el=new Map;function nl(t){var e,n=t.getAttribute("is")||t.nodeName,i=el.get(n);if(i)return i;el.set(n,i=[]);for(var r=t,o=Element.prototype;o!==r;){for(var s in e=Sn(r))e[s].set&&i.push(s);r=Nn(r)}return i}function il(t,e){return t===e||new URL(t,document.baseURI).href===new URL(e,document.baseURI).href}function rl(t){return t.split(",").map((t=>t.trim().split(" ").filter(Boolean)))}function ol(t,e){return t===e||(null==t?void 0:t[oi])===e}function sl(t={},e,n,i){return Yo((()=>{var i,r;return Qo((()=>{i=r,r=[],Ws((()=>{t!==n(...r)&&(e(t,...r),i&&ol(n(...i),t)&&e(null,...i))}))})),()=>{Ui((()=>{r&&ol(n(...r),t)&&e(null,...r)}))}})),t}let al=!1;function ll(t,e,n,i){var r,o,s=!!(n&un),a=!!(n&dn),l=i,c=!0,u=()=>(c&&(c=!1,l=a?Ws(i):i),l);if(s){var d,h,f=oi in t||si in t;r=null!==(d=null===(h=En(t,e))||void 0===h?void 0:h.set)&&void 0!==d?d:f&&e in t?n=>t[e]=n:void 0}var p,m=!1;if(s?[o,m]=function(t){var e=al;try{return al=!1,[t(),al]}finally{al=e}}((()=>t[e])):o=t[e],void 0===o&&void 0!==i&&(o=u(),r&&(!function(t){{const e=new Error(`props_invalid_value\nCannot do \`bind:${t}={undefined}\` when \`${t}\` has a fallback value\nhttps://svelte.dev/e/props_invalid_value`);throw e.name="Svelte error",e}}(e),r(o))),p=()=>{var n=t[e];return void 0===n?u():(c=!0,n)},!(n&cn))return p;if(r){var v=t.$$legacy;return function(t,e){return arguments.length>0?((!e||v||m)&&r(e?p():t),t):p()}}var g=!1,y=(n&ln?no:oo)((()=>(g=!1,p())));y.label=e,s&&Bs(y);var b=ys;return function(t,e){if(arguments.length>0){const n=e?Bs(y):s?Io(t):t;return yo(y,n),g=!0,void 0!==l&&(l=n),t}return fs&&g||b.f&Hn?y.v:Bs(y)}}var cl,ul,dl,hl;"undefined"!=typeof window&&(null!==(ul=(cl=null!==(hl=(dl=window).__svelte)&&void 0!==hl?hl:dl.__svelte={}).v)&&void 0!==ul?ul:cl.v=new Set).add("5");function fl(t,{include:e,exclude:n}={}){const i=t=>{const i=e=>"string"==typeof e?t===e:e.test(t);return e?e.some(i):!n||!n.some(i)};for(const[e,n]of(t=>{const e=new Set;do{for(const n of Reflect.ownKeys(t))e.add([t,n])}while((t=Reflect.getPrototypeOf(t))&&t!==Object.prototype);return e})(t.constructor.prototype)){if("constructor"===n||!i(n))continue;const r=Reflect.getOwnPropertyDescriptor(e,n);r&&"function"==typeof r.value&&(t[n]=t[n].bind(t))}return t}function pl(t,e){t.getNodesAtTime(0)[0].once("nodestart",e)}class ml{constructor({position:t,gallery:e,config:n}){this.config=n,this.position=t,this.gallery=e,this.name=n.name;const{variantId:i,itemIndex:r,moduleIndex:o}=t;this.id=`${n.itemType}_${i}_${r}_${o}`,fl(this)}#a=Mi(vo(Io({})),"BaseModule.#state");#l=Mi(vo(null),"BaseModule.#cover");#c=Mi(vo(!1),"BaseModule.#showCover");#u=Mi(vo(null),"BaseModule.#Component");id;player;position;config;timeline;moduleEndListener;hasDuration=!1;coverAssets=[];get state(){return Bs(this.#a)}set state(t){yo(this.#a,t,!0)}get cover(){return Bs(this.#l)}set cover(t){yo(this.#l,t)}get showCover(){return Bs(this.#c)}set showCover(t){yo(this.#c,t,!0)}get Component(){return Bs(this.#u)}set Component(t){yo(this.#u,t)}emitModuleEnd(){var t;null===(t=this.moduleEndListener)||void 0===t||t.call(this)}start(t){this.player=t}setPosition(){this.gallery.state.playingModulePosition=this.position}play(){this.gallery.track("moduleview"),this.timeline?(pl(this.timeline,(()=>{this.setPosition()})),this.player.switchTimeline(this.timeline)):this.setPosition()}get duration(){return this.hasDuration&&this.timeline?this.timeline.placements.reduce(((t,e)=>t+this.player.getNode(e.nodeId).duration),0):0}}const vl="cmaf:";function gl(t,e,n){var i,r,o;const s=(null==e||null===(i=e.entity)||void 0===i?void 0:i.entityId)||(null==e?void 0:e.assetId),a=null!==(r=null==e||null===(o=e.entity)||void 0===o?void 0:o.entityRevision)&&void 0!==r?r:null==e?void 0:e.assetRevision,l=function(t){return t&&t.find((t=>t.startsWith(vl)))?t.filter((t=>t.startsWith(vl))):t}(null==e?void 0:e.availableEncodeProfiles);return n.addNode({id:t,manifestRef:{type:"assets-delivery-service",assetId:s,assetRevision:a,availableEncodeProfiles:l}})}function yl(t){const e=t-1;return e*e*e+1}var bl=!1;function kl(t,{delay:e=0,duration:n=400,easing:i=yl,axis:r="y"}={}){const o=getComputedStyle(t);var s;!bl&&/(contents|inline|table)/.test(o.display)&&(bl=!0,Promise.resolve().then((()=>bl=!1)),s=o.display,console.warn(`%c[svelte] transition_slide_display\n%cThe \`slide\` transition does not work correctly for elements with \`display: ${s}\`\nhttps://svelte.dev/e/transition_slide_display`,fi,pi));const a=+o.opacity,l="y"===r?"height":"width",c=parseFloat(o[l]),u="y"===r?["top","bottom"]:["left","right"],d=u.map((t=>`${t[0].toUpperCase()}${t.slice(1)}`)),h=parseFloat(o[`padding${d[0]}`]),f=parseFloat(o[`padding${d[1]}`]),p=parseFloat(o[`margin${d[0]}`]),m=parseFloat(o[`margin${d[1]}`]),v=parseFloat(o[`border${d[0]}Width`]),g=parseFloat(o[`border${d[1]}Width`]);return{delay:e,duration:n,easing:i,css:t=>`overflow: hidden;opacity: ${Math.min(20*t,1)*a};${l}: ${t*c}px;padding-${u[0]}: ${t*h}px;padding-${u[1]}: ${t*f}px;margin-${u[0]}: ${t*p}px;margin-${u[1]}: ${t*m}px;border-${u[0]}-width: ${t*v}px;border-${u[1]}-width: ${t*g}px;min-${l}: 0`}}function wl(t){const e=t-1;return e*e*e+1}var xl=Ys('<h3 class="text-box-title desktop-title svelte-wejicf"> </h3>'),_l=Ys('<h3 class="text-box-title svelte-wejicf"> </h3>'),Il=Ys('<div class="expanded-text-content svelte-wejicf"><!> <p class="text-box-description svelte-wejicf"> </p></div>'),Tl=Ys('<span class="text-box-title svelte-wejicf"> </span>'),El=Ys('<span class="text-box-description minimized-description svelte-wejicf"> </span>'),Sl=Ys('<span class="read-more-cta svelte-wejicf" aria-hidden="true">Read more</span>'),Ml=Ys('<button class="expand-description-button svelte-wejicf" aria-expanded="false" aria-controls="expanded-text-content" aria-label="Expand feature description"><!> <!></button>'),Al=Ys('<button class="collapse-description-button svelte-wejicf" aria-expanded="true" aria-label="Collapse feature description" data-elementid="textbox-expand" data-elementtype="textbox" data-elementname="Read less" data-interactiontype="module-ui">Read less</button>'),Nl=Ys('<section aria-label="Feature description" aria-live="polite"><div class="text-wrapper svelte-wejicf"><!> <!> <!></div> <!></section>');const Cl={hash:"svelte-wejicf",code:".eko-gallery-app {--textBox_bg: linear-gradient(\n rgba(255, 255, 255, 0) 0%,\n rgba(255, 255, 255, 0.9) 27.79%,\n rgba(255, 255, 255, 0.95) 100%\n );--textBox_border: 0;--textBox_borderRadius: 0;--textBox_maxWidth: 100%;--textBox_margin: 0;--textBox_padding: 16px 16px 64px 16px;--textBox_padding_mobile: 8px 16px;--textBox_gap: 8px;--textBox_expandedContent_gap: 8px;--textBox_expandButton_gap: 6px;--textBox_button_color: #014FD3;--textBox_button_fontSize: 12px;--textBox_button_fontWeight: 500;--textBox_button_lineHeight: 18px;--textBox_button_lineHeight_mobile: 12px;--textBox_button_letterSpacing: 0;--textBox_collapse_marginBottom: 8px;}.step-description-container.svelte-wejicf {width:100%;max-width:var(--textBox_maxWidth);margin:var(--textBox_margin);position:absolute;bottom:0;display:flex;justify-content:space-between;gap:var(--textBox_gap);box-sizing:border-box;padding:var(--textBox_padding);font-family:var(--textBox_fontFamily, var(--fontName));font-size:var(--textBox_fontSize, 12px);font-weight:var(--textBox_fontWeight, 400);font-style:var(--textBox_fontStyle, normal);line-height:var(--textBox_lineHeight, 18px);letter-spacing:var(--textBox_letterSpacing, 0);color:var(--textBox_color, #030303);overflow:hidden;pointer-events:none;background:var(--textBox_bg);border:var(--textBox_border);border-radius:var(--textBox_borderRadius);}.step-description-container.mobile.svelte-wejicf {padding:var(--textBox_padding_mobile);line-height:var(--textBox_lineHeight_mobile, 16px);}.step-description-container.expanded.svelte-wejicf {flex-direction:column;justify-content:flex-start;gap:0;}.expanded-text-content.svelte-wejicf:not([hidden]) {display:flex;flex-direction:column;gap:var(--textBox_expandedContent_gap);}button.svelte-wejicf {background:none;border:none;padding:0;cursor:pointer;font-family:var(--textBox_fontFamily, var(--fontName));font-size:var(--textBox_button_fontSize, 12px);font-weight:var(--textBox_button_fontWeight, 500);line-height:var(--textBox_button_lineHeight, 18px);letter-spacing:var(--textBox_button_letterSpacing, 0);color:var(--textBox_button_color, #014FD3);gap:var(--textBox_expandButton_gap, 6px);flex-shrink:0;text-align:left;pointer-events:auto;}.step-description-container.mobile.svelte-wejicf button:where(.svelte-wejicf) {line-height:var(--textBox_button_lineHeight_mobile);}.collapse-description-button.svelte-wejicf {margin-top:var(--textBox_gap);margin-bottom:var(--textBox_collapse_marginBottom);}.step-description-container.mobile.svelte-wejicf .collapse-description-button:where(.svelte-wejicf) {margin-bottom:0;}.text-wrapper.svelte-wejicf {width:100%;display:flex;flex-direction:column;}.text-box-title.svelte-wejicf {margin:0;font-family:var(--textBox_title_fontFamily, var(--textBox_fontFamily, var(--fontName)));font-size:var(--textBox_title_fontSize, var(--textBox_fontSize, 12px));font-weight:var(--textBox_title_fontWeight, 500);color:var(--textBox_title_color, var(--textBox_color, #030303));}.text-box-title.desktop-title.svelte-wejicf {display:var(--textBox_desktop_title_display, none);margin-bottom:var(--textBox_expandedContent_gap);}.text-box-description.svelte-wejicf {margin:0;font-family:var(--textBox_description_fontFamily, var(--textBox_fontFamily, var(--fontName)));font-size:var(--textBox_description_fontSize, var(--textBox_fontSize, 12px));font-weight:var(--textBox_description_fontWeight, var(--textBox_fontWeight, 400));color:var(--textBox_description_color, var(--textBox_color, #030303));text-align:var(--textBox_description_textAlign, left);}.minimized-description.svelte-wejicf {overflow:hidden;line-clamp:1;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;font-weight:var(--textBox_description_fontWeight, var(--textBox_fontWeight, 400));}.expand-description-button.svelte-wejicf {width:100%;display:flex;justify-content:space-between;gap:var(--textBox_expandButton_gap);flex-wrap:nowrap;}.expand-description-button.svelte-wejicf .read-more-cta:where(.svelte-wejicf) {color:var(--textBox_button_color, #014FD3);flex-shrink:0;}"};function Fl(t,e){Li(e,!0),Pa(t,Cl);let n=ll(e,"textBox",3,null),i=ll(e,"isMobile",3,!1);const r={duration:300,easing:wl};let o=vo(!1),s=vo(null),a=vo(null),l=vo(!1),c=vo(!1),u=ro((()=>{var t;return(null===(t=n())||void 0===t?void 0:t.title)||""})),d=ro((()=>{var t;return(null===(t=n())||void 0===t?void 0:t.description)||""})),h=ro((()=>{var t,e;return[(null===(t=n())||void 0===t?void 0:t.textColor)&&`--textBox_textColor: ${n().textColor}`,(null===(e=n())||void 0===e?void 0:e.bgColor)&&`--textBox_bgColor: ${n().bgColor}`].filter(Boolean).join("; ")}));function f(){Bs(s)&&yo(l,Bs(s).scrollWidth>Bs(s).clientWidth||Bs(s).scrollHeight>Bs(s).clientHeight,!0)}Ko((()=>{var t;Bs(s)&&(f(),"undefined"!=typeof document&&null!==(t=document.fonts)&&void 0!==t&&t.ready&&document.fonts.ready.then(f))})),Ko((()=>{if(Bs(a)){const t=getComputedStyle(Bs(a)).getPropertyValue("--textBox_forceCollapse").trim();yo(c,"1"===t||"true"===t,!0)}}));var p=Zs();qs("resize",Ao,f);var m=Lo(p),v=t=>{var n=Nl();let f;var p=Bo(n),m=Bo(p),v=t=>{var e=xl(),n=Bo(e,!0);xi(e),Jo((()=>la(n,Bs(u)))),ta(t,e)};ba(m,(t=>{Bs(u)&&!i()&&t(v)}));var g=zo(m,2),y=t=>{var e=Il(),n=Bo(e),o=t=>{var e=_l(),n=Bo(e,!0);xi(e),Jo((()=>la(n,Bs(u)))),ta(t,e)};ba(n,(t=>{Bs(u)&&i()&&t(o)}));var s=zo(n,2),a=Bo(s,!0);xi(s),xi(e),Jo((()=>la(a,Bs(d)))),Fa(3,e,(()=>kl),(()=>r)),ta(t,e)};ba(g,(t=>{Bs(o)&&t(y)}));var b=zo(g,2),k=t=>{var n=Ml(),a=ro((()=>e.gallery.interaction((()=>yo(o,!0)),{elementid:"textbox-expand",elementtype:"textbox",elementname:"Read more",interactiontype:"module-ui"})));n.__click=function(...t){var e;null===(e=Bs(a))||void 0===e||e.apply(this,t)};var h=Bo(n),f=t=>{var e=Tl(),n=Bo(e,!0);xi(e),Jo((()=>la(n,Bs(u)))),ta(t,e)},p=t=>{var e=El(),n=Bo(e,!0);xi(e),sl(e,(t=>yo(s,t)),(()=>Bs(s))),Jo((()=>la(n,Bs(d)))),ta(t,e)};ba(h,(t=>{i()&&Bs(u)?t(f):t(p,!1)}));var m=zo(h,2),v=t=>{ta(t,Sl())};ba(m,(t=>{(i()||Bs(l)||Bs(c))&&t(v)})),xi(n),Fa(3,n,(()=>kl),(()=>r)),ta(t,n)};ba(b,(t=>{Bs(o)||t(k)})),xi(p);var w=zo(p,2),x=t=>{var n=Al(),i=ro((()=>e.gallery.interaction((()=>yo(o,!1)))));n.__click=function(...t){var e;null===(e=Bs(i))||void 0===e||e.apply(this,t)},Fa(3,n,(()=>kl),(()=>r)),ta(t,n)};ba(w,(t=>{Bs(o)&&t(x)})),xi(n),sl(n,(t=>yo(a,t)),(()=>Bs(a))),Jo((()=>{f=ja(n,1,"step-description-container svelte-wejicf",null,f,{mobile:i(),expanded:Bs(o)}),Ua(n,Bs(h))})),ta(t,n)};ba(m,(t=>{(Bs(u)||Bs(d))&&t(v)})),ta(t,p),zi()}function Ol(t,e){const n=ro((()=>e.state.textBox));Fl(t,{get textBox(){return Bs(n)},get isMobile(){return e.isMobile},get gallery(){return e.gallery}})}Vs(["click"]);const Pl=new Set;function Rl(t){if("undefined"!=typeof window)for(const e of t)if(!Pl.has(e)){const t=new Image;t.src=e,window[e]=t,Pl.add(e)}}var Dl=new WeakSet;class Bl extends ml{constructor({config:t,...e}){super({...e,config:t}),O(this,Dl),this.synced=t.sync,this.startOnLoop=t.startOnLoop,this.switchTo=()=>{},fl(this);const n=t[this.constructor.itemsKey];this.coverAssets=n.flatMap((t=>[t.intro,t.video])).filter(Boolean),this.itemsCovers=n.map((t=>({intro:t.intro||t.video,loop:t.video}))),this.cover=this.getCorrectCover(this.itemsCovers[0]),this.state={items:n.map((t=>this.mapItem(t))),currentIndex:0,onItemClicked:M(Dl,this,Ll).bind(this),textBox:n[0].textBox}}getCorrectCover(t){return this.synced||this.startOnLoop?t.loop:t.intro}mapItem(t){return t}start(t){super.start(t);const e=this.config[this.constructor.itemsKey],{nodePrefix:n}=this.constructor;this.synced?(this.timeline=t.createTimeline(),e.forEach(((e,i)=>{this.timeline.placeOnTimeline(gl(`${this.id}_${n}_${i}`,e.video,t),0,{loop:!0})})),this.timeline.placeRenderNodeOnTimeline("switch",0,1/0,{params:{switchCrossfadeSeconds:.25,initSwitching:({switchTo:t})=>{this.switchTo=t,t(this.state.currentIndex,{crossfadeSeconds:0})}}})):(this.timelines=e.map(((e,i)=>{const r=t.createTimeline(),o=t.createTimeline(),s=gl(`${this.id}_${n}_${i}`,e.video,t);return e.intro&&r.placeOnTimeline(gl(`${this.id}_${n}_${i}_intro`,e.intro,t)),r.placeOnTimeline(s,"end",{loop:!0}),o.placeOnTimeline(s,0,{loop:!0}),{withIntro:r,justLoop:o}})),this.timeline=this.timelines[this.state.currentIndex][this.startOnLoop?"justLoop":"withIntro"])}play(){if(super.play(),!this.synced){Rl(this.coverAssets.filter((t=>Mo(t,this.cover,!1))).map((t=>this.gallery.getCoverUrl(t,1920))))}}}function Ll(t){if(Mo(t,this.state.currentIndex))return;const e=this.config[this.constructor.itemsKey];var n,i;(this.state.currentIndex=t,this.state.textBox=e[t].textBox,this.synced)?(this.cover=this.itemsCovers[t].loop,this.switchTo(t)):(this.cover=this.itemsCovers[t].intro,this.timeline=null===(n=this.timelines)||void 0===n?void 0:n[t].withIntro,this.showCover=!0,pl(this.timeline,(()=>{var e;(this.showCover=!1,this.startOnLoop)&&(this.cover=this.itemsCovers[t].loop,this.timeline=null===(e=this.timelines)||void 0===e?void 0:e[t].justLoop)})),null===(i=this.player)||void 0===i||i.switchTimeline(this.timeline))}P(Bl,"itemsKey","items"),P(Bl,"nodePrefix","item");var zl=Ys('<div class="toggle-option-container svelte-16pmvvn"><button data-elementtype="toggle" data-interactiontype="module-ui"> </button></div>'),Wl=Ys('<div class="toggle-container svelte-16pmvvn"><div></div></div> <!>',1);const jl={hash:"svelte-16pmvvn",code:".eko-gallery-app {--toggleModule_gap: 8px;--toggleModule_padding: 10px 58px 0 0;--toggleModule_alignItems: center;--toggleModule_justifyContent: end;--toggleModule_options_padding: 0;--toggleModule_options_height: auto;--toggleModule_options_width: 100%;--toggleModule_options_maxWidth: 100%;--toggleModule_options_gap: 8px;--toggleModule_options_bgColor: transparent;--toggleModule_options_border: 0;--toggleModule_options_borderRadius: 0;--toggleModule_options_boxShadow: none;--toggleModule_options_alignItems: stretch;--toggleModule_button_padding: 8px 12px;--toggleModule_button_border: #E4E5E8 solid 1px;--toggleModule_button_borderRadius: 100px;--toggleModule_button_bgColor: #FBFBFB;--toggleModule_button_bgColor_hover: #F3F4F6;--toggleModule_button_bgColor_active: #E4E5E8;--toggleModule_button_boxShadow: 0px 2px 8px 2px rgba(0, 0, 0, 0.07);--toggleModule_button_text_fontFamily: var(--fontName);--toggleModule_button_text_fontSize: 12px;--toggleModule_button_text_fontWeight: 400;--toggleModule_button_text_fontStyle: normal;--toggleModule_button_text_lineHeight: 16px;--toggleModule_button_text_letterSpacing: -0.2px;--toggleModule_button_text_color: #000;--toggleModule_button_selected_bgColor: #014FD3;--toggleModule_button_selected_borderColor: #014FD3;--toggleModule_button_selected_boxShadow: none;--toggleModule_button_selected_text_color: #FFFFFF;--toggleModule_button_selected_text_fontWeight: var(--toggleModule_button_text_fontWeight);--toggleModule_title_fontFamily: var(--fontName);--toggleModule_title_fontSize: 13px;--toggleModule_title_fontWeight: 400;--toggleModule_title_fontStyle: normal;--toggleModule_title_lineHeight: 120%;--toggleModule_title_letterSpacing: 0;--toggleModule_title_color: #666;--toggleModule_title_textAlignment: center;--toggleModule_note_fontFamily: var(--fontName);--toggleModule_note_fontSize: 12px;--toggleModule_note_fontWeight: 400;--toggleModule_note_fontStyle: normal;--toggleModule_note_lineHeight: 120%;--toggleModule_note_letterSpacing: 0;--toggleModule_note_color: #888;--toggleModule_note_topMargin: 4px;}.toggle-container.svelte-16pmvvn {position:absolute;top:0;padding:var(--toggleModule_padding);width:100%;display:flex;flex-direction:column;align-items:var(--toggleModule_alignItems);gap:var(--toggleModule_gap);pointer-events:auto;box-sizing:border-box;}.toggle-options.svelte-16pmvvn {width:var(--toggleModule_options_width);max-width:var(--toggleModule_options_maxWidth);height:var(--toggleModule_options_height);padding:var(--toggleModule_options_padding);gap:var(--toggleModule_options_gap);background-color:var(--toggleModule_options_bgColor);border:var(--toggleModule_options_border);border-radius:var(--toggleModule_options_borderRadius);box-shadow:var(--toggleModule_options_boxShadow);display:flex;justify-content:var(--toggleModule_justifyContent);align-items:var(--toggleModule_options_alignItems);margin:0;}.toggle-option-container.svelte-16pmvvn {position:relative;min-width:0;}.toggle-option-button.svelte-16pmvvn {min-width:24px;min-height:24px;border-radius:var(--toggleModule_button_borderRadius);font-family:var(--toggleModule_button_text_fontFamily);font-size:var(--toggleModule_button_text_fontSize);font-weight:var(--toggleModule_button_text_fontWeight);font-style:var(--toggleModule_button_text_fontStyle);line-height:var(--toggleModule_button_text_lineHeight);letter-spacing:var(--toggleModule_button_text_letterSpacing);color:var(--toggleModule_button_text_color);padding:var(--toggleModule_button_padding);border:var(--toggleModule_button_border);background:var(--toggleModule_button_bgColor);box-shadow:var(--toggleModule_button_boxShadow);display:flex;width:100%;height:100%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;cursor:pointer;position:relative;transition:all 0.3s ease-in-out;animation-duration:0.5s;animation-timing-function:cubic-bezier(0.36, 0, 0, 1);animation-fill-mode:both;animation-delay:calc(var(--button-index) * 90ms);\n animation-name: svelte-16pmvvn-button-back-appear-anim;transform-origin:bottom center;}.toggle-option-button.selected.svelte-16pmvvn {background:var(--toggleModule_button_selected_bgColor);border-color:var(--toggleModule_button_selected_borderColor);box-shadow:var(--toggleModule_button_selected_boxShadow);color:var(--toggleModule_button_selected_text_color);font-weight:var(--toggleModule_button_selected_text_fontWeight);}.toggle-option-button.svelte-16pmvvn:hover:not(.selected) {background:var(--toggleModule_button_bgColor_hover);}.toggle-option-button.svelte-16pmvvn:active:not(.selected) {background:var(--toggleModule_button_bgColor_active);}.toggle-option-button.svelte-16pmvvn:focus {outline-offset:4px;outline-width:2px;}\n\n@keyframes svelte-16pmvvn-button-back-appear-anim {\n from {\n transform: scale(0);\n }\n to {\n transform: scale(1);\n }\n}\n@keyframes svelte-16pmvvn-optionNoteIn {\n 0% {\n opacity: 0;\n translate: -50% -5px;\n }\n 100% {\n opacity: 1;\n translate: -50% var(--toggleModule_note_topMargin);\n }\n}"};function $l(t,e){Li(e,!0),Pa(t,jl);const n=ro((()=>e.state.items)),i=ro((()=>e.state.currentIndex)),r=ro((()=>e.state.onItemClicked)),o=ro((()=>e.state.textBox));var s=Wl(),a=Lo(s),l=Bo(a);xa(l,21,(()=>Bs(n)),ka,((t,n,o)=>{var s=zl();Ua(s,`--button-index: ${o};`);var a=Bo(s);let l;var c=ro((()=>e.gallery.interaction((()=>Bs(r)(o)))));a.__click=function(...t){var e;null===(e=Bs(c))||void 0===e||e.apply(this,t)},Ja(a,"data-elementid",`${o+1}`);var u=Bo(a,!0);xi(a),xi(s),Jo((()=>{l=ja(a,1,"toggle-option-button svelte-16pmvvn",null,l,{selected:Bs(i)===o}),Ja(a,"aria-pressed",Bs(i)===o),Ja(a,"data-elementname",Bs(n).label),la(u,Bs(n).label)})),ta(t,s)})),xi(l),xi(a);var c=zo(a,2),u=t=>{Fl(t,{get textBox(){return Bs(o)},get isMobile(){return e.isMobile},get gallery(){return e.gallery}})};ba(c,(t=>{Bs(o)&&t(u)})),Jo((()=>{var t;return ja(l,1,`toggle-options selected-${null!==(t=Bs(i))&&void 0!==t?t:""}`,"svelte-16pmvvn")})),ta(t,s),zi()}Vs(["click"]);var Ul=Ys('<div class="mode-title svelte-1650wj7"> </div>'),ql=Ys('<div class="mode-description svelte-1650wj7"> </div>'),Vl=Ys('<button data-elementtype="mode" data-interactiontype="module-ui"><img class="svelte-1650wj7"/> <div class="svelte-1650wj7"><!> <!></div></button>'),Gl=Ys('<div class="modes-container svelte-1650wj7"></div> <!>',1);const Hl={hash:"svelte-1650wj7",code:".eko-gallery-app {--modesModule_gap: 16px;--modesModule_width: 100%;--modesModule_top: unset;--modesModule_left: 0;--modesModule_right: unset;--modesModule_bottom: 0;--modesModule_flexDirection: row;--modesModule_alignItems: flex-start;--modesModule_justifyContent: center;--modesModule_padding: 0 0 32px 0;--modesModule_paddingWithSteps: 0 0 48px 0;--modesModule_paddingWithTextBox: 28px 0 0 0;--modesModule_background: none;--modesModule_border: none;--modesModule_borderRadius: 0;--modesModule_transform: none;--modesModule_mode_width: 64px;--modesModule_mode_titleGap: 6px;--modesModule_mode_title_fontFamily: var(--fontName);--modesModule_mode_title_fontSize: 12px;--modesModule_mode_title_fontWeight: 500;--modesModule_mode_title_lineHeight: 120%;--modesModule_mode_title_letterSpacing: -0.2px;--modesModule_mode_title_textAlign: center;--modesModule_mode_description_fontFamily: var(--fontName);--modesModule_mode_description_fontSize: 11px;--modesModule_mode_description_fontWeight: 400;--modesModule_mode_description_lineHeight: 120%;--modesModule_mode_description_letterSpacing: -0.2px;--modesModule_mode_description_textAlign: center;--modesModule_mode_image_strokeSize: 2px;}.modes-container.svelte-1650wj7 {position:absolute;top:var(--modesModule_top);left:var(--modesModule_left);right:var(--modesModule_right);bottom:var(--modesModule_bottom);width:var(--modesModule_width);display:flex;flex-direction:var(--modesModule_flexDirection);align-items:var(--modesModule_alignItems);justify-content:var(--modesModule_justifyContent);gap:var(--modesModule_gap);flex-wrap:wrap;padding:var(--modesModule_padding);background:var(--modesModule_background);border:var(--modesModule_border);border-radius:var(--modesModule_borderRadius);transform:var(--modesModule_transform);}.mode-button.svelte-1650wj7 {display:flex;flex-direction:column;align-items:center;width:var(--modesModule_mode_width);background:none;border:none;padding:0;pointer-events:auto;cursor:pointer;color:rgba(var(--unselectedColor, 111, 111, 111), 1);gap:var(--modesModule_mode_titleGap);flex-shrink:0;}.mode-button.svelte-1650wj7 .mode-title:where(.svelte-1650wj7) {font-family:var(--modesModule_mode_title_fontFamily);font-size:var(--modesModule_mode_title_fontSize);font-weight:var(--modesModule_mode_title_fontWeight);line-height:var(--modesModule_mode_title_lineHeight);letter-spacing:var(--modesModule_mode_title_letterSpacing);text-align:var(--modesModule_mode_title_textAlign);}.mode-button.svelte-1650wj7 .mode-description:where(.svelte-1650wj7) {font-family:var(--modesModule_mode_description_fontFamily);font-size:var(--modesModule_mode_description_fontSize);font-weight:var(--modesModule_mode_description_fontWeight);line-height:var(--modesModule_mode_description_lineHeight);letter-spacing:var(--modesModule_mode_description_letterSpacing);text-align:var(--modesModule_mode_description_textAlign);}.mode-button.svelte-1650wj7 div:where(.svelte-1650wj7) {width:100%;}.mode-button.svelte-1650wj7 img:where(.svelte-1650wj7) {width:100%;aspect-ratio:1;object-fit:cover;border-radius:100%;box-shadow:0 0 0 var(--modesModule_mode_image_strokeSize) rgba(var(--unselectedColor, 111, 111, 111), 0.15);background-color:rgba(var(--unselectedColor, 111, 111, 111), 0.15);pointer-events:none;}.mode-button.selected.svelte-1650wj7 {color:var(--selectedColor, #000000);}.mode-button.selected.svelte-1650wj7 img:where(.svelte-1650wj7) {background-color:var(--selectedColor, #000000);box-shadow:0 0 0 var(--modesModule_mode_image_strokeSize) var(--selectedColor, #000000);}"};function Kl(t,e){Li(e,!0),Pa(t,Hl);const n=ro((()=>e.state.items)),i=ro((()=>e.state.currentIndex)),r=ro((()=>e.state.onItemClicked)),o=ro((()=>e.state.textBox));var s=Gl(),a=Lo(s);xa(a,21,(()=>Bs(n)),ka,((t,n,o)=>{var s=Vl();let a;var l=ro((()=>e.gallery.interaction((()=>Bs(r)(o)))));s.__click=function(...t){var e;null===(e=Bs(l))||void 0===e||e.apply(this,t)},Ja(s,"data-elementid",`${o+1}`);var c=Bo(s);Ja(c,"alt",`Mode ${o+1}`);var u=zo(c,2),d=Bo(u),h=t=>{var e=Ul(),i=Bo(e,!0);xi(e),Jo((()=>la(i,Bs(n).title))),ta(t,e)};ba(d,(t=>{Bs(n).title&&t(h)}));var f=zo(d,2),p=t=>{var e=ql(),i=Bo(e,!0);xi(e),Jo((()=>la(i,Bs(n).description))),ta(t,e)};ba(f,(t=>{Bs(n).description&&t(p)})),xi(u),xi(s),Jo((t=>{a=ja(s,1,"mode-button svelte-1650wj7",null,a,{selected:Bs(i)===o}),Ja(s,"aria-pressed",Bs(i)===o),Ja(s,"data-elementname",Bs(n).title||`mode-${o+1}`),Ja(c,"src",t)}),[()=>e.gallery.getCoverUrl(Bs(n).image,375)]),ta(t,s)})),xi(a);var l=zo(a,2),c=t=>{Fl(t,{get textBox(){return Bs(o)},get isMobile(){return e.isMobile},get gallery(){return e.gallery}})};ba(l,(t=>{Bs(o)&&t(c)})),ta(t,s),zi()}Vs(["click"]);const Xl=(t,e,n)=>n>e?e:n<t?t:n;function Yl(t,e){return e?`${t}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${e}`:t}let Ql=()=>{},Jl=()=>{};function Zl(t){let e;return()=>(void 0===e&&(e=t()),e)}"undefined"!=typeof process&&"production"!==(null===(re=process.env)||void 0===re?void 0:re.NODE_ENV)&&(Ql=(t,e,n)=>{t||"undefined"==typeof console||console.warn(Yl(e,n))},Jl=(t,e,n)=>{if(!t)throw new Error(Yl(e,n))});const tc=t=>t,ec=t=>1e3*t,nc=t=>t/1e3;const ic=t=>Array.isArray(t)&&"number"==typeof t[0],rc=(t,e,n=10)=>{let i="";const r=Math.max(Math.round(e/n),2);for(let e=0;e<r;e++)i+=Math.round(1e4*t(e/(r-1)))/1e4+", ";return`linear(${i.substring(0,i.length-2)})`},oc=2e4;function sc(t){let e=0;let n=t.next(e);for(;!n.done&&e<oc;)e+=50,n=t.next(e);return e>=oc?1/0:e}const ac=5;const lc={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1},cc=.001;function uc({duration:t=lc.duration,bounce:e=lc.bounce,velocity:n=lc.velocity,mass:i=lc.mass}){let r,o;Ql(t<=ec(lc.maxDuration),"Spring duration must be 10 seconds or less","spring-duration-limit");let s=1-e;s=Xl(lc.minDamping,lc.maxDamping,s),t=Xl(lc.minDuration,lc.maxDuration,nc(t)),s<1?(r=e=>{const i=e*s,r=i*t,o=i-n,a=hc(e,s),l=Math.exp(-r);return cc-o/a*l},o=e=>{const i=e*s*t,o=i*n+n,a=Math.pow(s,2)*Math.pow(e,2)*t,l=Math.exp(-i),c=hc(Math.pow(e,2),s);return(-r(e)+cc>0?-1:1)*((o-a)*l)/c}):(r=e=>Math.exp(-e*t)*((e-n)*t+1)-cc,o=e=>Math.exp(-e*t)*(t*t*(n-e)));const a=function(t,e,n){let i=n;for(let n=1;n<dc;n++)i-=t(i)/e(i);return i}(r,o,5/t);if(t=ec(t),isNaN(a))return{stiffness:lc.stiffness,damping:lc.damping,duration:t};{const e=Math.pow(a,2)*i;return{stiffness:e,damping:2*s*Math.sqrt(i*e),duration:t}}}const dc=12;function hc(t,e){return t*Math.sqrt(1-e*e)}const fc=["duration","bounce"],pc=["stiffness","damping","mass"];function mc(t,e){return e.some((e=>void 0!==t[e]))}function vc(t=lc.visualDuration,e=lc.bounce){const n="object"!=typeof t?{visualDuration:t,keyframes:[0,1],bounce:e}:t;let{restSpeed:i,restDelta:r}=n;const o=n.keyframes[0],s=n.keyframes[n.keyframes.length-1],a={done:!1,value:o},{stiffness:l,damping:c,mass:u,duration:d,velocity:h,isResolvedFromDuration:f}=function(t){let e={velocity:lc.velocity,stiffness:lc.stiffness,damping:lc.damping,mass:lc.mass,isResolvedFromDuration:!1,...t};if(!mc(t,pc)&&mc(t,fc))if(t.visualDuration){const n=t.visualDuration,i=2*Math.PI/(1.2*n),r=i*i,o=2*Xl(.05,1,1-(t.bounce||0))*Math.sqrt(r);e={...e,mass:lc.mass,stiffness:r,damping:o}}else{const n=uc(t);e={...e,...n,mass:lc.mass},e.isResolvedFromDuration=!0}return e}({...n,velocity:-nc(n.velocity||0)}),p=h||0,m=c/(2*Math.sqrt(l*u)),v=s-o,g=nc(Math.sqrt(l/u)),y=Math.abs(v)<5;let b;if(i||(i=y?lc.restSpeed.granular:lc.restSpeed.default),r||(r=y?lc.restDelta.granular:lc.restDelta.default),m<1){const t=hc(g,m);b=e=>{const n=Math.exp(-m*g*e);return s-n*((p+m*g*v)/t*Math.sin(t*e)+v*Math.cos(t*e))}}else if(1===m)b=t=>s-Math.exp(-g*t)*(v+(p+g*v)*t);else{const t=g*Math.sqrt(m*m-1);b=e=>{const n=Math.exp(-m*g*e),i=Math.min(t*e,300);return s-n*((p+m*g*v)*Math.sinh(i)+t*v*Math.cosh(i))/t}}const k={calculatedDuration:f&&d||null,next:t=>{const e=b(t);if(f)a.done=t>=d;else{let n=0===t?p:0;m<1&&(n=0===t?ec(p):function(t,e,n){const i=Math.max(e-ac,0);return r=n-t(i),(o=e-i)?r*(1e3/o):0;var r,o}(b,t,e));const o=Math.abs(n)<=i,l=Math.abs(s-e)<=r;a.done=o&&l}return a.value=a.done?s:e,a},toString:()=>{const t=Math.min(sc(k),oc),e=rc((e=>k.next(t*e).value),t,30);return t+"ms "+e},toTransition:()=>{}};return k}vc.applyToOptions=t=>{const e=function(t,e=100,n){const i=n({...t,keyframes:[0,e]}),r=Math.min(sc(i),oc);return{type:"keyframes",ease:t=>i.next(r*t).value/e,duration:nc(r)}}(t,100,vc);return t.ease=e.ease,t.duration=ec(e.duration),t.type="keyframes",t};const gc=t=>null!==t;class yc{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise((t=>{this.resolve=t}))}notifyFinished(){this.resolve()}then(t,e){return this.finished.then(t,e)}}function bc(t){for(let n=1;n<t.length;n++){var e;null!==(e=t[n])&&void 0!==e||(t[n]=t[n-1])}}const kc=t=>t.startsWith("--");const wc=Zl((()=>void 0!==window.ScrollTimeline)),xc={};function _c(t,e){const n=Zl(t);return()=>{var t;return null!==(t=xc[e])&&void 0!==t?t:n()}}const Ic=_c((()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch(t){return!1}return!0}),"linearEasing"),Tc=([t,e,n,i])=>`cubic-bezier(${t}, ${e}, ${n}, ${i})`,Ec={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:Tc([0,.65,.55,1]),circOut:Tc([.55,0,1,.45]),backIn:Tc([.31,.01,.66,-.59]),backOut:Tc([.33,1.53,.69,.99])};function Sc(t,e){return t?"function"==typeof t?Ic()?rc(t,e):"ease-out":ic(t)?Tc(t):Array.isArray(t)?t.map((t=>Sc(t,e)||Ec.easeOut)):Ec[t]:void 0}function Mc(t,e,n,{delay:i=0,duration:r=300,repeat:o=0,repeatType:s="loop",ease:a="easeOut",times:l}={},c=void 0){const u={[e]:n};l&&(u.offset=l);const d=Sc(a,r);Array.isArray(d)&&(u.easing=d);const h={delay:i,duration:r,easing:Array.isArray(d)?"linear":d,fill:"both",iterations:o+1,direction:"reverse"===s?"alternate":"normal"};c&&(h.pseudoElement=c);return t.animate(u,h)}class Ac extends yc{constructor(t){if(super(),this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!t)return;const{element:e,name:n,keyframes:i,pseudoElement:r,allowFlatten:o=!1,finalKeyframe:s,onComplete:a}=t;this.isPseudoElement=Boolean(r),this.allowFlatten=o,this.options=t,Jl("string"!=typeof t.type,'Mini animate() doesn\'t support "type" as a string.',"mini-spring");const l=function({type:t,...e}){return function(t){return"function"==typeof t&&"applyToOptions"in t}(t)&&Ic()?t.applyToOptions(e):(null!==(n=e.duration)&&void 0!==n||(e.duration=300),null!==(i=e.ease)&&void 0!==i||(e.ease="easeOut"),e);var n,i}(t);this.animation=Mc(e,n,i,l,r),!1===l.autoplay&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!r){const t=function(t,{repeat:e,repeatType:n="loop"},i,r=1){const o=t.filter(gc),s=r<0||e&&"loop"!==n&&e%2==1?0:o.length-1;return s&&void 0!==i?i:o[s]}(i,this.options,s,this.speed);this.updateMotionValue?this.updateMotionValue(t):function(t,e,n){kc(e)?t.style.setProperty(e,n):t.style[e]=n}(e,n,t),this.animation.cancel()}null==a||a(),this.notifyFinished()}}play(){this.isStopped||(this.manualStartTime=null,this.animation.play(),"finished"===this.state&&this.updateFinished())}pause(){this.animation.pause()}complete(){var t,e;null===(t=(e=this.animation).finish)||void 0===t||t.call(e)}cancel(){try{this.animation.cancel()}catch(t){}}stop(){if(this.isStopped)return;this.isStopped=!0;const{state:t}=this;"idle"!==t&&"finished"!==t&&(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){var t,e;this.isPseudoElement||(null===(t=(e=this.animation).commitStyles)||void 0===t||t.call(e))}get duration(){var t,e;const n=(null===(t=this.animation.effect)||void 0===t||null===(e=t.getComputedTiming)||void 0===e?void 0:e.call(t).duration)||0;return nc(Number(n))}get iterationDuration(){const{delay:t=0}=this.options||{};return this.duration+nc(t)}get time(){return nc(Number(this.animation.currentTime)||0)}set time(t){this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=ec(t)}get speed(){return this.animation.playbackRate}set speed(t){t<0&&(this.finishedTime=null),this.animation.playbackRate=t}get state(){return null!==this.finishedTime?"finished":this.animation.playState}get startTime(){var t;return null!==(t=this.manualStartTime)&&void 0!==t?t:Number(this.animation.startTime)}set startTime(t){this.manualStartTime=this.animation.startTime=t}attachTimeline({timeline:t,observe:e}){var n;this.allowFlatten&&(null===(n=this.animation.effect)||void 0===n||n.updateTiming({easing:"linear"}));return this.animation.onfinish=null,t&&wc()?(this.animation.timeline=t,tc):e(this)}}class Nc{constructor(t){this.stop=()=>this.runAll("stop"),this.animations=t.filter(Boolean)}get finished(){return Promise.all(this.animations.map((t=>t.finished)))}getAll(t){return this.animations[0][t]}setAll(t,e){for(let n=0;n<this.animations.length;n++)this.animations[n][t]=e}attachTimeline(t){const e=this.animations.map((e=>e.attachTimeline(t)));return()=>{e.forEach(((t,e)=>{t&&t(),this.animations[e].stop()}))}}get time(){return this.getAll("time")}set time(t){this.setAll("time",t)}get speed(){return this.getAll("speed")}set speed(t){this.setAll("speed",t)}get state(){return this.getAll("state")}get startTime(){return this.getAll("startTime")}get duration(){return Cc(this.animations,"duration")}get iterationDuration(){return Cc(this.animations,"iterationDuration")}runAll(t){this.animations.forEach((e=>e[t]()))}play(){this.runAll("play")}pause(){this.runAll("pause")}cancel(){this.runAll("cancel")}complete(){this.runAll("complete")}}function Cc(t,e){let n=0;for(let i=0;i<t.length;i++){const r=t[i][e];null!==r&&r>n&&(n=r)}return n}class Fc extends Nc{then(t,e){return this.finished.finally(t).then((()=>{}))}}const Oc=new WeakMap,Pc=(t,e="")=>`${t}:${e}`;function Rc(t){const e=Oc.get(t)||new Map;return Oc.set(t,e),e}function Dc(t,e){var n,i;return null!==(n=null!==(i=null==t?void 0:t[e])&&void 0!==i?i:null==t?void 0:t.default)&&void 0!==n?n:t}const Bc=new Set(["borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","width","maxWidth","height","maxHeight","top","right","bottom","left","inset","insetBlock","insetBlockStart","insetBlockEnd","insetInline","insetInlineStart","insetInlineEnd","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingBlock","paddingBlockStart","paddingBlockEnd","paddingInline","paddingInlineStart","paddingInlineEnd","margin","marginTop","marginRight","marginBottom","marginLeft","marginBlock","marginBlockStart","marginBlockEnd","marginInline","marginInlineStart","marginInlineEnd","fontSize","backgroundPositionX","backgroundPositionY"]);function Lc(t,e){for(let n=0;n<t.length;n++)"number"==typeof t[n]&&Bc.has(e)&&(t[n]=t[n]+"px")}function zc(t,e){const n=window.getComputedStyle(t);return kc(e)?n.getPropertyValue(e):n[e]}function Wc(t,e,n,i){if(null==t)return[];const r=function(t){if(null==t)return[];if(t instanceof EventTarget)return[t];if("string"==typeof t){const e=document.querySelectorAll(t);return e?Array.from(e):[]}return Array.from(t).filter((t=>null!=t))}(t),o=r.length;Jl(Boolean(o),"No valid elements provided.","no-valid-elements");const s=[];for(let t=0;t<o;t++){const i=r[t],a={...n};"function"==typeof a.delay&&(a.delay=a.delay(t,o));for(const t in e){let n=e[t];Array.isArray(n)||(n=[n]);const r={...Dc(a,t)};r.duration&&(r.duration=ec(r.duration)),r.delay&&(r.delay=ec(r.delay));const o=Rc(i),l=Pc(t,r.pseudoElement||""),c=o.get(l);c&&c.stop(),s.push({map:o,key:l,unresolvedKeyframes:n,options:{...r,element:i,name:t,allowFlatten:!a.type&&!a.ease}})}}for(let t=0;t<s.length;t++){const{unresolvedKeyframes:e,options:n}=s[t],{element:i,name:r,pseudoElement:o}=n;o||null!==e[0]||(e[0]=zc(i,r)),bc(e),Lc(e,r),!o&&e.length<2&&e.unshift(zc(i,r)),n.keyframes=e}const a=[];for(let t=0;t<s.length;t++){const{map:e,key:n,options:i}=s[t],r=new Ac(i);e.set(n,r),r.finished.finally((()=>e.delete(n))),a.push(r)}return a}const jc=(()=>function(t,e,n){return new Fc(Wc(t,e,n))})();var $c=Ys('<button data-elementid="start_cta" data-elementtype="button" data-interactiontype="start" class="svelte-16kucsb"><div class="cta-text svelte-16kucsb"> </div></button>'),Uc=Ys('<div class="tryIt-container svelte-16kucsb"><!></div>');const qc={hash:"svelte-16kucsb",code:".eko-gallery-app {--tryItModule_justifyContent: center;--tryItModule_alignItems: flex-end;--tryItModule_padding: 16px 20px 48px 20px;--tryItModule_button_padding: 16px 32px;--tryItModule_button_textAlign: center;--tryItModule_button_borderRadius: 100px;--tryItModule_button_border: 0;--tryItModule_button_boxShadow: 0 4px 24px 2px rgba(0, 0, 0, 0.12);--tryItModule_button_background: #FFFFFF;--tryItModule_button_text_fontFamily: var(--fontName);--tryItModule_button_text_fontSize: 18px;--tryItModule_button_text_color: #222;--tryItModule_button_text_weight: 500;--tryItModule_button_text_lineHeight: 120%;--tryItModule_button_text_letterSpacing: -0.1px;}.tryIt-container.svelte-16kucsb {position:relative;padding:var(--tryItModule_padding);width:100%;height:100%;box-sizing:border-box;display:flex;justify-content:var(--tryItModule_justifyContent);align-items:var(--tryItModule_alignItems);}.tryIt-container.svelte-16kucsb button:where(.svelte-16kucsb) {position:relative;padding:var(--tryItModule_button_padding);text-align:var(--tryItModule_button_textAlign);border-radius:var(--tryItModule_button_borderRadius);border:var(--tryItModule_button_border);background:var(--tryItModule_button_background);box-shadow:var(--tryItModule_button_boxShadow);font-family:var(--tryItModule_button_text_fontFamily);font-size:var(--tryItModule_button_text_fontSize);color:var(--tryItModule_button_text_color);font-weight:var(--tryItModule_button_text_weight);line-height:var(--tryItModule_button_text_lineHeight);letter-spacing:var(--tryItModule_button_text_letterSpacing);cursor:pointer;opacity:0;}.tryIt-container.svelte-16kucsb button:where(.svelte-16kucsb) .cta-text:where(.svelte-16kucsb) {opacity:0;}"};function Vc(t,e){Li(e,!0),Pa(t,qc);const n=ro((()=>e.state.ctaText)),i=ro((()=>e.state.animationConfig)),r=ro((()=>e.state.showCta)),o=ro((()=>e.state.onCtaClick));let s=vo(null),a=vo(null),l=vo(!1),c=!1;function u(){var t,e;return!0===(null===(t=(e=window).matchMedia)||void 0===t?void 0:t.call(e,"(prefers-reduced-motion: reduce)").matches)}function d(){c&&!u()&&jc(Bs(s),{transform:"scale(1.05)"},{type:vc,mass:1.5,stiffness:400,damping:30})}function h(){c&&!u()&&jc(Bs(s),{transform:"scale(1)"},{type:vc,mass:1.5,stiffness:400,damping:30})}function f(){c&&!u()&&jc(Bs(s),{transform:"scale(0.95)"},{type:vc,mass:1,stiffness:600,damping:30})}Ko((()=>{const{mass:t,stiffness:e,damping:n,delay:o}=Bs(i);let d,h=!1;if(yo(l,!1),c=!1,Bs(r)&&Bs(s)&&Bs(a))return u()?(Bs(s).style.opacity="1",Bs(s).style.transform="none",Bs(a).style.opacity="1",Bs(a).style.transform="none",yo(l,!0),void(c=!0)):(d=setTimeout((async()=>{d=null,await Promise.all([jc(Bs(s),{transform:["translateY(40px) scale(0, 0.2)","translateY(0) scale(1, 1)"],opacity:1},{type:vc,mass:t,stiffness:e,damping:n}),jc(Bs(a),{transform:["translateY(20px) scale(0.8)","translateY(0) scale(1)"],opacity:1},{type:vc,mass:t,stiffness:e,damping:n,delay:.15})]),h||(yo(l,!0),c=!0)}),o),()=>{h=!0,d&&clearTimeout(d)})}));var p=Uc(),m=Bo(p),v=t=>{var i=$c();i.__mousedown=f,i.__touchstart=f;var r=ro((()=>e.gallery.interaction(Bs(o))));i.__click=function(...t){var e;null===(e=Bs(r))||void 0===e||e.apply(this,t)};var c=Bo(i),u=Bo(c,!0);xi(c),sl(c,(t=>yo(a,t)),(()=>Bs(a))),xi(i),sl(i,(t=>yo(s,t)),(()=>Bs(s))),Jo((()=>{i.disabled=!Bs(l),i.inert=!Bs(l),Ja(i,"aria-hidden",!Bs(l)),Ja(i,"data-elementname",Bs(n)),la(u,Bs(n))})),qs("mouseenter",i,d),qs("mouseleave",i,h),ta(t,i)};ba(m,(t=>{Bs(r)&&t(v)})),xi(p),ta(t,p),zi()}Vs(["mousedown","touchstart","click"]);var Gc=new WeakSet;function Hc(){this.mainTimeline?this.player.switchTimeline(this.mainTimeline):this.emitModuleEnd(),this.state.showCta=!1}function Kc(t,e){const n=ro((()=>e.state.textBox));Fl(t,{get textBox(){return Bs(n)},get isMobile(){return e.isMobile},get gallery(){return e.gallery}})}var Xc=Ys('<div class="ripple svelte-1jfcowt"></div>'),Yc=Ys('<div class="hand-anim svelte-1jfcowt" aria-hidden="true"><svg viewBox="0 0 518 658" xmlns="http://www.w3.org/2000/svg" class="svelte-1jfcowt"><path class="hand-fill svelte-1jfcowt" d="M139.234 341.909V67.9226C139.234 53.292 145.203 40.0053 154.838 30.3866C175.516 9.69329 209.234 9.70929 229.912 30.3866C239.547 40.0064 245.516 53.288 245.516 67.9226V148.699C254.536 141.662 265.854 137.454 278.13 137.454C292.745 137.454 306.048 143.443 315.666 153.058C325.302 162.693 331.27 175.979 331.27 190.61V194.146C340.291 187.11 351.609 182.901 363.885 182.901C378.499 182.901 391.802 188.891 401.421 198.505C409.785 206.87 415.38 217.984 416.728 230.333C425.785 223.146 437.238 218.844 449.623 218.844C464.254 218.844 477.541 224.833 487.175 234.448C496.795 244.083 502.779 257.369 502.779 272V412.373C502.779 438.608 503.92 455.092 498.212 481.513C493.831 501.664 487.134 519.816 479.54 537.461C462.846 576.289 432.461 604.503 395.878 622.055C367.378 635.732 335.086 642.883 302.638 643.461C270.174 644.039 237.502 638.07 208.258 625.477C169.898 608.972 137.285 581.128 118.425 541.8C105.477 514.816 90.6385 488.097 75.9878 461.753C55.6131 425.06 35.5918 389.018 20.8838 352.665C15.8316 340.165 13.6234 326.692 15.889 314.4C20.6598 288.373 45.5823 272.597 71.217 277.296C83.6806 279.598 95.4463 286.598 103.925 297.301L139.234 341.909Z"></path><path class="hand-stroke svelte-1jfcowt" d="M244.917 166V269M330.917 201V305M419.917 246V326M139.234 341.909V67.9226C139.234 53.292 145.203 40.0053 154.838 30.3866C175.516 9.69329 209.234 9.70929 229.912 30.3866C239.547 40.0064 245.516 53.288 245.516 67.9226V148.699C254.536 141.662 265.854 137.454 278.13 137.454C292.745 137.454 306.048 143.443 315.666 153.058C325.302 162.693 331.27 175.979 331.27 190.61V194.146C340.291 187.11 351.609 182.901 363.885 182.901C378.499 182.901 391.802 188.891 401.421 198.505C409.785 206.87 415.38 217.984 416.728 230.333C425.785 223.146 437.238 218.844 449.623 218.844C464.254 218.844 477.541 224.833 487.175 234.448C496.795 244.083 502.779 257.369 502.779 272V412.373C502.779 438.608 503.92 455.092 498.212 481.513C493.831 501.664 487.134 519.816 479.54 537.461C462.846 576.289 432.461 604.503 395.878 622.055C367.378 635.732 335.086 642.883 302.638 643.461C270.174 644.039 237.502 638.07 208.258 625.477C169.898 608.972 137.285 581.128 118.425 541.8C105.477 514.816 90.6385 488.097 75.9878 461.753C55.6131 425.06 35.5918 389.018 20.8838 352.665C15.8316 340.165 13.6234 326.692 15.889 314.4C20.6598 288.373 45.5823 272.597 71.217 277.296C83.6806 279.598 95.4463 286.598 103.925 297.301L139.234 341.909Z"></path></svg></div>'),Qc=Ys('<div class="tryIt-container svelte-1jfcowt"><div class="cta-wrapper svelte-1jfcowt"><button data-elementid="start_cta" data-elementtype="button" data-interactiontype="start"><div class="cta-text svelte-1jfcowt"> </div> <!></button> <!></div></div>');const Jc={hash:"svelte-1jfcowt",code:".eko-gallery-app {--tryItModule_justifyContent: center;--tryItModule_alignItems: flex-end;--tryItModule_padding: 16px 20px 48px 20px;--tryItModule_button_padding: 16px 32px;--tryItModule_button_textAlign: center;--tryItModule_button_borderRadius: 100px;--tryItModule_button_border: 0;--tryItModule_button_boxShadow: 0 4px 24px 2px rgba(0, 0, 0, 0.12);--tryItModule_button_background: #FFFFFF;--introModule_button_text_fontFamily: var(--fontName);--introModule_button_text_fontSize: 18px;--introModule_button_text_color: #222;--introModule_button_text_weight: 500;--introModule_button_text_lineHeight: 120%;--introModule_button_text_letterSpacing: -0.1px;--introModule_ripple_color: #FFFFFF;--introModule_ripple_borderWidth: 4px;--introModule_ripple_inset_top: -42px;--introModule_ripple_inset_right: -45px;--introModule_ripple_inset_bottom: -30px;--introModule_ripple_inset_left: -57px;--introModule_hand_fill: #FFFFFF;--introModule_hand_stroke: #000000;--introModule_hand_strokeWidth: 29;--introModule_hand_boxWidth: 75px;--introModule_hand_boxHeight: 95px;--introModule_hand_svgWidth: 60px;--introModule_hand_svgHeight: 75px;--introModule_hand_top: 24px;--introModule_hand_right: -79px;}.tryIt-container.svelte-1jfcowt {position:relative;padding:var(--tryItModule_padding);width:100%;height:100%;box-sizing:border-box;display:flex;justify-content:var(--tryItModule_justifyContent);align-items:var(--tryItModule_alignItems);}.tryIt-container.svelte-1jfcowt .cta-wrapper:where(.svelte-1jfcowt) {position:relative;width:fit-content;}.tryIt-container.svelte-1jfcowt button:where(.svelte-1jfcowt) {position:relative;padding:var(--tryItModule_button_padding);text-align:var(--tryItModule_button_textAlign);border-radius:var(--tryItModule_button_borderRadius);border:var(--tryItModule_button_border);background:var(--tryItModule_button_background);box-shadow:var(--tryItModule_button_boxShadow);font-family:var(--introModule_button_text_fontFamily);font-size:var(--introModule_button_text_fontSize);color:var(--introModule_button_text_color);font-weight:var(--introModule_button_text_weight);line-height:var(--introModule_button_text_lineHeight);letter-spacing:var(--introModule_button_text_letterSpacing);cursor:pointer;opacity:0;overflow:visible;pointer-events:auto;}.tryIt-container.svelte-1jfcowt button.has-hand-anim:where(.svelte-1jfcowt) {\n animation: svelte-1jfcowt-intro-bump 2s ease-out infinite;}.tryIt-container.svelte-1jfcowt button:where(.svelte-1jfcowt) .cta-text:where(.svelte-1jfcowt) {opacity:0;}.tryIt-container.svelte-1jfcowt button:where(.svelte-1jfcowt) .ripple:where(.svelte-1jfcowt) {position:absolute;inset:0;border-radius:inherit;border:var(--introModule_ripple_borderWidth) solid var(--introModule_ripple_color);pointer-events:none;box-sizing:border-box;\n animation: svelte-1jfcowt-intro-ripple-grow 2s cubic-bezier(0.32, 0.33, 0.08, 1) infinite, svelte-1jfcowt-intro-ripple-fade 2s linear infinite;}.tryIt-container.svelte-1jfcowt .hand-anim:where(.svelte-1jfcowt) {position:absolute;top:var(--introModule_hand_top);right:var(--introModule_hand_right);width:var(--introModule_hand_boxWidth);height:var(--introModule_hand_boxHeight);pointer-events:none;transform-origin:86.4% 98%;\n animation: svelte-1jfcowt-intro-hand-tap 2s cubic-bezier(0.32, 0.33, 0.08, 1) infinite;}.tryIt-container.svelte-1jfcowt .hand-anim:where(.svelte-1jfcowt) svg:where(.svelte-1jfcowt) {width:var(--introModule_hand_svgWidth);height:var(--introModule_hand_svgHeight);display:block;}.tryIt-container.svelte-1jfcowt .hand-anim:where(.svelte-1jfcowt) .hand-fill:where(.svelte-1jfcowt) {fill:var(--introModule_hand_fill);}.tryIt-container.svelte-1jfcowt .hand-anim:where(.svelte-1jfcowt) .hand-stroke:where(.svelte-1jfcowt) {fill:none;stroke:var(--introModule_hand_stroke);stroke-width:var(--introModule_hand_strokeWidth);stroke-linecap:round;}\n\n@keyframes svelte-1jfcowt-intro-ripple-grow {\n 0% {\n inset: 0;\n }\n 60% {\n inset: var(--introModule_ripple_inset_top) var(--introModule_ripple_inset_right) var(--introModule_ripple_inset_bottom) var(--introModule_ripple_inset_left);\n }\n 100% {\n inset: var(--introModule_ripple_inset_top) var(--introModule_ripple_inset_right) var(--introModule_ripple_inset_bottom) var(--introModule_ripple_inset_left);\n }\n}\n@keyframes svelte-1jfcowt-intro-ripple-fade {\n 0% {\n opacity: 1;\n }\n 20% {\n opacity: 1;\n }\n 60% {\n opacity: 0;\n }\n 100% {\n opacity: 0;\n }\n}\n@keyframes svelte-1jfcowt-intro-hand-tap {\n 0% {\n transform: translateX(0) translateY(0) rotate(0) scale(1);\n }\n 10% {\n transform: translateX(-10px) translateY(-20px) rotate(-40deg) scale(0.9);\n }\n 35% {\n transform: translateX(0) translateY(0) rotate(15deg) scale(1);\n }\n 100% {\n transform: translateX(0) translateY(0) rotate(0) scale(1);\n }\n}\n@keyframes svelte-1jfcowt-intro-bump {\n 0% {\n transform: scale(1);\n }\n 5% {\n transform: scale(1);\n }\n 10% {\n transform: scale(0.8);\n }\n 20% {\n transform: scale(1);\n }\n 100% {\n transform: scale(1);\n }\n}"};function Zc(t,e){Li(e,!0),Pa(t,Jc);const n=ro((()=>e.state.buttonText)),i=ro((()=>e.state.animateHand)),r=ro((()=>e.state.onCtaClick));let o=null,s=null;va((async()=>{var t,e;if(null!==(t=(e=window).matchMedia)&&void 0!==t&&t.call(e,"(prefers-reduced-motion: reduce)").matches)return o.style.opacity="1",void(s.style.opacity="1");jc(o,{opacity:1},{duration:.35,ease:"easeOut"}),await jc(s,{opacity:1},{duration:.35,ease:"easeOut",delay:.05})}));var a=Qc(),l=Bo(a),c=Bo(l),u=ro((()=>e.gallery.interaction(Bs(r))));let d;c.__click=function(...t){var e;null===(e=Bs(u))||void 0===e||e.apply(this,t)};var h=Bo(c),f=Bo(h,!0);xi(h),sl(h,(t=>s=t),(()=>s));var p=zo(h,2),m=t=>{ta(t,Xc())};ba(p,(t=>{Bs(i)&&t(m)})),xi(c),sl(c,(t=>o=t),(()=>o));var v=zo(c,2),g=t=>{ta(t,Yc())};ba(v,(t=>{Bs(i)&&t(g)})),xi(l),xi(a),Jo((()=>{Ja(c,"data-elementname",Bs(n)),d=ja(c,1,"svelte-1jfcowt",null,d,{"has-hand-anim":Bs(i)}),la(f,Bs(n))})),ta(t,a),zi()}Vs(["click"]);var tu=new WeakSet;function eu(){this.emitModuleEnd()}const nu={videoModule:class extends ml{constructor({config:t,...e}){var n;super({...e,config:t}),this.Component=Ol,this.hasDuration=!t.loop,fl(this),this.coverAssets.push(null!==(n=t.intro)&&void 0!==n?n:t.video),this.cover=this.coverAssets[0],this.state={textBox:t.textBox}}start(t){super.start(t),this.timeline=t.createTimeline();const e=this.config;e.intro&&this.timeline.placeOnTimeline(gl(`${this.id}_intro`,e.intro,t),"end");const n=gl(this.id,e.video,t);this.timeline.placeOnTimeline(n,"end",{loop:e.loop}),e.loop||n.on("nodeend",this.emitModuleEnd)}},toggleModule:class extends Bl{static itemsKey="options";static nodePrefix="option";constructor(t){super(t),this.Component=$l}mapItem(t){return{label:t.label,note:t.note}}},modesModule:class extends Bl{static itemsKey="modes";static nodePrefix="mode";constructor(t){super(t),this.Component=Kl}mapItem(t){return{title:t.title,description:t.description,image:t.image}}},tryItModule:class extends ml{constructor({config:t,...e}){var n;super({...e,config:t}),O(this,Gc),fl(this);const{introVideo:i}=t;this.coverAssets.push(null!==(n=i.intro)&&void 0!==n?n:i.loop),this.cover=this.coverAssets[0],this.state={ctaText:t.ctaText,animationConfig:t.animationConfig,showCta:!0,onCtaClick:M(Gc,this,Hc).bind(this)}}start(t){super.start(t),this.Component=Vc,this.timeline=t.createTimeline();const{introVideo:e,mainVideo:n}=this.config;if(e.intro&&this.timeline.placeOnTimeline(gl(`${this.id}_intro_intro`,e.intro,t)),this.timeline.placeOnTimeline(gl(`${this.id}_intro_loop`,e.loop,t),"end",{loop:!0}),n){this.mainTimeline=t.createTimeline(),n.intro&&this.mainTimeline.placeOnTimeline(gl(`${this.id}_main_intro`,n.intro,t));const e=gl(`${this.id}_main_loop`,n.loop,t);this.mainTimeline.placeOnTimeline(e,"end",{loop:!0})}}play(){this.state.showCta=!0,super.play()}},imageModule:class extends ml{constructor({config:t,...e}){super({...e,config:t}),this.Component=Kc,fl(this),this.coverAssets.push(t.image),this.cover=this.coverAssets[0],this.showCover=!0,this.state={textBox:t.textBox}}start(t){super.start(t),this.timeline=t.createTimeline();const e=gl(this.id,this.config.image,t);delete e.manifestRef.availableEncodeProfiles,e.manifestRef.assetType="image",this.timeline.placeOnTimeline(e,0,{loop:!0})}},introModule:class extends ml{constructor({config:t,...e}){var n,i,r;super({...e,config:t}),O(this,tu),fl(this),this.coverAssets.push(null!==(n=t.intro)&&void 0!==n?n:t.video),this.cover=this.coverAssets[0],this.state={buttonText:t.buttonText,animateHand:null===(i=null!==(r=t.animateHand)&&void 0!==r?r:t.animatedHand)||void 0===i||i,onCtaClick:M(tu,this,eu).bind(this)}}start(t){super.start(t),this.Component=Zc,this.timeline=t.createTimeline();const e=this.config;e.intro&&this.timeline.placeOnTimeline(gl(`${this.id}_intro`,e.intro,t)),this.timeline.placeOnTimeline(gl(`${this.id}_loop`,e.video,t),"end",{loop:!0})}play(){this.timeline?this.player.switchTimeline(this.timeline):this.setPosition()}}};class iu{#d=Mi(vo(null),"GalleryState.#introModule");#h=Mi(vo(!1),"GalleryState.#introModulePlayed");#f=Mi(vo({}),"GalleryState.#variants");#p=Mi(vo("ekonovar"),"GalleryState.#activeVariant");#m=Mi(vo(0),"GalleryState.#activeItemIndex");#v=Mi(vo(0),"GalleryState.#activeModuleIndex");#g=Mi(vo(Io({variantId:Bs(this.#p),itemIndex:0,moduleIndex:0})),"GalleryState.#playingModulePosition");#y=Mi(ro((()=>{var t;return null===(t=Bs(this.#f))||void 0===t?void 0:t[Bs(this.#p)]})),"GalleryState.#currentItemsList");#b=Mi(ro((()=>{var t;return null===(t=Bs(this.#y))||void 0===t?void 0:t[Bs(this.#m)]})),"GalleryState.#currentItem");#k=Mi(ro((()=>{var t,e;return Bs(this.#w)?null===(e=Bs(this.#y))||void 0===e||null===(e=e[Bs(this.#g).itemIndex])||void 0===e?void 0:e.modules[Bs(this.#g).moduleIndex]:null===(t=Bs(this.#b))||void 0===t?void 0:t.modules[Bs(this.#v)]})),"GalleryState.#currentModule");#x=Mi(ro((()=>{var t;return(null===(t=Bs(this.#y))||void 0===t?void 0:t.flatMap((t=>t.modules)))||[]})),"GalleryState.#currentModulesList");#_=Mi(vo(!1),"GalleryState.#playerLoaded");#I=Mi(vo(!1),"GalleryState.#paused");#w=Mi(vo(!1),"GalleryState.#startedPlaying");#T=Mi(ro((()=>!(Mo(Bs(this.#g).itemIndex,this.activeItemIndex)&&Mo(Bs(this.#g).moduleIndex,this.activeModuleIndex)))),"GalleryState.#seeking");#E=Mi(vo(!1),"GalleryState.#themeLoaded");set introModule(t){yo(this.#d,t)}set introModulePlayed(t){yo(this.#h,t,!0)}set variants(t){yo(this.#f,t)}set activeVariant(t){yo(this.#p,t,!0)}set activeItemIndex(t){yo(this.#m,t,!0)}set activeModuleIndex(t){yo(this.#v,t,!0)}set playingModulePosition(t){yo(this.#g,t,!0)}set playerLoaded(t){yo(this.#_,t,!0)}set paused(t){yo(this.#I,t,!0)}set startedPlaying(t){yo(this.#w,t,!0)}set themeLoaded(t){yo(this.#E,t,!0)}get introModule(){return Bs(this.#d)}get introModulePlayed(){return Bs(this.#h)}get variants(){return Bs(this.#f)}get activeVariant(){return Bs(this.#p)}get availableVariants(){return Object.keys(Bs(this.#f))}get activeItemIndex(){return Bs(this.#m)}get activeModuleIndex(){return Bs(this.#v)}get playingModulePosition(){return Bs(this.#g)}get currentItemsList(){return Bs(this.#y)}get currentItem(){return Bs(this.#b)}get currentModule(){return Bs(this.#k)}get playerLoaded(){return Bs(this.#_)}get paused(){return Bs(this.#I)}get startedPlaying(){return Bs(this.#w)}get seeking(){return Bs(this.#T)}get currentModulesList(){return Bs(this.#x)}get themeLoaded(){return Bs(this.#E)}}const ru={assetsDeliveryBase:"https://{{env}}assets.eko.com",galleryAppDelivery:"https://{{env}}play.eko.com/video-apps/eko-gallery-app"};function ou(t,...e){function n(t){return"[object Object]"===Object.prototype.toString.call(t)}function i(t,e){if(Array.isArray(e)){Array.isArray(t)||(t=Array.isArray(t)?t.slice():[]);const r=Math.max(t.length,e.length);for(let o=0;o<r;o++){const r=t[o],s=e[o];null!==s&&(void 0!==s&&(n(r)&&n(s)?t[o]=i({...r},s):Array.isArray(r)&&Array.isArray(s)?t[o]=i(r.slice(),s):n(s)?t[o]=i({},s):Array.isArray(s)?t[o]=i([],s):t[o]=s))}return t}if(n(e)){n(t)||(t={});for(const r of Object.keys(e)){const o=t[r],s=e[r];n(o)&&n(s)?t[r]=i({...o},s):Array.isArray(o)&&Array.isArray(s)?t[r]=i(o.slice(),s):n(s)?t[r]=i({},s):Array.isArray(s)?t[r]=i([],s):void 0!==s&&(t[r]=s)}return t}return e}for(const n of e)null!==n&&i(t,n);return t}const su=["elementid","elementtype","elementname","interactiontype"];const au="ekonovar",lu=2,cu=5,uu=10,du=(t,e)=>{let n=t.findIndex((t=>t.variantAware&&t.id===e.id));return-1===n&&(n=t.findIndex((t=>t.variantAware))),-1===n?0:n};var hu=new WeakMap,fu=new WeakMap,pu=new WeakMap,mu=new WeakMap,vu=new WeakMap,gu=new WeakMap,yu=new WeakSet;class bu{constructor(t){var e,n,i,r,o;O(this,yu),C(this,hu,void 0),C(this,fu,void 0),C(this,pu,void 0),C(this,mu,void 0),C(this,vu,void 0),C(this,gu,void 0),P(this,"version","0.0.24"),fl(this),F(hu,this,(null===(e=crypto)||void 0===e||null===(n=e.randomUUID)||void 0===n?void 0:n.call(e))||`eko-gallery-${Date.now()}`),F(mu,this,t),F(gu,this,(null==t?void 0:t.onEvent)||(()=>{})),F(fu,this,new iu),F(vu,this,((t="")=>("production"===t&&(t=""),Object.fromEntries(Object.entries(ru).map((([e,n])=>[e,n.replaceAll("{{env}}",t)])))))(null==t||null===(i=t.options)||void 0===i?void 0:i.galleryEnv)),F(pu,this,[]);const s=null==t||null===(r=t.instance)||void 0===r||null===(r=r.data)||void 0===r||null===(r=r.blocks)||void 0===r||null===(r=r.blocksArr)||void 0===r||null===(r=r.find((t=>"GalleryBlock"===t.blockType)))||void 0===r?void 0:r.config;s?(M(yu,this,ku).call(this,s.items),M(yu,this,wu).call(this,s.items),function(t,e){function n(e){window.EkoAnalytics("registerContextPacker",{tag:t,...e})}function i(e){return function(...n){return n.pop()!==t?null:e(...n)}}"undefined"!=typeof window&&window.EkoAnalytics&&(n({schema:"iglu:com.helloeko/gallery-app/jsonschema/1-0-0",match:/.*/,getData:i((()=>{var t,n,i,r,o;const s=null===(t=e.currentItem)||void 0===t?void 0:t.modules[e.activeModuleIndex];return{itemid:(null===(n=e.currentItem)||void 0===n?void 0:n.id)||"",itemindex:e.activeItemIndex,totalitems:(null===(i=e.currentItemsList)||void 0===i?void 0:i.length)||0,itemname:(null===(r=e.currentItem)||void 0===r?void 0:r.name)||"",moduleid:(null==s?void 0:s.id)||"",modulename:(null==s?void 0:s.name)||"",moduletype:(null==s?void 0:s.config.itemType)||"",moduleindex:e.activeModuleIndex,totalmodules:(null===(o=e.currentItem)||void 0===o?void 0:o.modules.length)||0,version:"0.0.24"}}))}),n({schema:"iglu:com.helloeko/implementation_interactions/jsonschema/1-0-6",match:"interaction",getData:i((t=>t))}))}(N(hu,this),N(fu,this))):console.warn("[eko-gallery-app] Gallery initiated without an instance, results will be empty");const a=null==t||null===(o=t.instance)||void 0===o||null===(o=o.data)||void 0===o||null===(o=o.blocks)||void 0===o||null===(o=o.blocksArr)||void 0===o||null===(o=o.find((t=>"FullScreenIntro"===t.blockType)))||void 0===o?void 0:o.config;a&&(N(fu,this).introModule=new nu.introModule({position:{variantId:"intro",itemIndex:0,moduleIndex:0},config:{itemType:"introModule",...a},gallery:this}))}dispose(){var t,e;"undefined"!=typeof window&&(null===(t=(e=window).EkoAnalytics)||void 0===t||t.call(e,"reset",N(hu,this)),function(){if("undefined"!=typeof window){for(const t of Pl)delete window[t];Pl.clear()}}())}start(t){N(fu,this).playerLoaded=!0,N(pu,this).forEach((e=>{e.start(t)})),F(pu,this,null),M(yu,this,xu).call(this,t),N(fu,this).introModule?(N(fu,this).introModule.start(t),N(fu,this).introModule.moduleEndListener=()=>{N(fu,this).introModulePlayed=!0,N(fu,this).currentModule.play()},N(fu,this).introModule.play()):N(fu,this).currentModule.play()}selectVariant(t){const{variants:e,currentItem:n,activeItemIndex:i,activeModuleIndex:r}=N(fu,this);if(e[t]){const i=du(e[t],n);N(fu,this).activeVariant=t,N(fu,this).activeItemIndex=i,N(fu,this).activeModuleIndex=0}else N(fu,this).activeVariant=au,N(fu,this).activeItemIndex=0,N(fu,this).activeModuleIndex=0;i===N(fu,this).activeItemIndex&&r===N(fu,this).activeModuleIndex&&N(fu,this).currentModule.play()}selectItem(t){M(yu,this,Iu).call(this);const e=N(fu,this);t!==e.activeItemIndex&&(e.activeItemIndex=t,e.activeModuleIndex=0)}selectItemAndStep(t,e){M(yu,this,Iu).call(this);const n=N(fu,this);t===n.activeItemIndex&&e===n.activeModuleIndex||(n.activeItemIndex=t,n.activeModuleIndex=e)}next(){M(yu,this,Iu).call(this)||M(yu,this,Tu).call(this)}prev(){if(M(yu,this,Iu).call(this))return;const t=N(fu,this);if(t.activeModuleIndex=t.activeModuleIndex-1,!t.currentItem.modules[t.activeModuleIndex])if(t.currentItemsList[t.activeItemIndex-1]){t.activeItemIndex=t.activeItemIndex-1;const e=t.currentItemsList[t.activeItemIndex];t.activeModuleIndex=e.modules.length-1}else t.activeModuleIndex=t.activeModuleIndex+1}getCoverUrl(t,e){var n,i,r,o;const s=(null==t||null===(n=t.entity)||void 0===n?void 0:n.entityId)||(null==t?void 0:t.assetId),a=null!==(i=null==t||null===(r=t.entity)||void 0===r?void 0:r.entityRevision)&&void 0!==i?i:null==t?void 0:t.assetRevision;if(!s)throw new Error(`[getCoverUrl] No assetId found in assetConfig: ${JSON.stringify(t||{},null,2)}`);if(!a&&0!==a)throw new Error(`[getCoverUrl] No assetRevision found for asset ${s}.`);let l;return null!==(o=N(mu,this))&&void 0!==o&&null!==(o=o.coverAssetsMap)&&void 0!==o&&o[s]?(l=new URL(N(mu,this).coverAssetsMap[s]),/^[a-z0-9]*assets.eko.com$/.test(l.host)&&e&&(l.pathname=l.pathname.replace(".png",".webp"))):(l=new URL(`${N(vu,this).assetsDeliveryBase}/image/${s}/${a}?startOffset=0`),l.pathname+=e?".webp":".png"),e&&l.searchParams.set("width",e),l.href}track(t,...e){var n,i;"undefined"!=typeof window&&(null===(n=(i=window).EkoAnalytics)||void 0===n||n.call(i,"track",t,...e,N(hu,this)))}interaction(t,e){const n=N(hu,this);return i=>{if("undefined"!=typeof window){var r,o;const t=function(t,e={}){var n,i,r,o;const s=null==t||null===(n=t.currentTarget)||void 0===n?void 0:n.dataset,a=null==t||null===(i=t.target)||void 0===i?void 0:i.dataset,l=Object.fromEntries(su.map((t=>{const n=(null==s?void 0:s[t])||(null==a?void 0:a[t])||(null==e?void 0:e[t])||"";return[t,String(n)]})));return"left"===(null==t||null===(r=t.detail)||void 0===r?void 0:r.direction)?l.interactiontype="swipe_next":"right"===(null==t||null===(o=t.detail)||void 0===o?void 0:o.direction)&&(l.interactiontype="swipe_prev"),l}(i,e);null===(r=(o=window).EkoAnalytics)||void 0===r||r.call(o,"track","interaction",t,n),N(gu,this).call(this,"interaction",t)}t(i)}}preloadVariantsCovers(t,e){const{activeVariant:n,variants:i}=N(fu,this);Rl(Object.entries(i).filter((([t])=>t!==n)).map((([,n])=>{const i=du(n,t);return this.getCoverUrl(n[i].modules[0].cover,e)})))}get uuid(){return N(hu,this)}get state(){return N(fu,this)}get urls(){return N(vu,this)}}function ku(t){const e={};for(let n of t)for(let t of Object.keys(n.variants||{}))e[t]=[];e[au]=[],N(fu,this).variants=e}function wu(t){const e=(t=[],e)=>{const n=[];for(let[i,r]of t.entries()){if(!nu[r.itemType])throw new Error(`Unknown module type ${r.itemType}`);const t=new nu[r.itemType]({position:{...e,moduleIndex:i},config:r,gallery:this});t.moduleEndListener=M(yu,this,_u).bind(this),n.push(t)}return n},n=Object.entries(N(fu,this).variants);for(const e of t)if("galleryItemV2"===e.itemType){const{variants:t,...i}=e;for(const[r,o]of n){const n=null==t?void 0:t[r];if(!n&&e.variantSpecific)continue;let s={...i};n&&(s=ou({},i,n)),o.push({...s,variantAware:!!n})}}for(const[t,i]of n)if(0!==i.length)for(const[n,r]of i.entries())r.modules=e(r.modules,{variantId:t,itemIndex:n}),F(pu,this,[...N(pu,this),...r.modules]);else delete N(fu,this).variants[t]}function xu(t){const e=Object.entries(N(fu,this).variants);for(const[n,i]of e){const r=e.filter((([t])=>t!==n));for(const[e,n]of i.entries()){const o=n.modules,s=i.filter((t=>t!==n)).map((t=>t.modules[0])),a=r.map((([,t])=>({nodeId:t[du(t,n)].modules[0].timeline.getNodesAtTime(0)[0].id,weight:uu})));for(const[n,r]of o.entries()){let l=o[n+1];l||(l=i[(e+1)%i.length].modules[0]);const c=l.timeline.getNodesAtTime(0)[0],u=s.filter((t=>t!==l)).map((t=>t.timeline.getNodesAtTime(0)[0])),d=[{nodeId:c.id,weight:lu},...u.map((t=>({nodeId:t.id,weight:cu}))),...a];for(const e of r.timeline.placements){t.getNode(e.nodeId).setChildren(d)}}}}}function _u(){const t=N(fu,this),e=t.currentItem.modules;e.length>1&&t.activeModuleIndex===e.length-1?t.activeModuleIndex=0:M(yu,this,Tu).call(this)}function Iu(){const{introModule:t,introModulePlayed:e}=N(fu,this);return!(!t||e)&&(N(fu,this).introModulePlayed=!0,!0)}function Tu(){const t=N(fu,this);t.activeModuleIndex=t.activeModuleIndex+1,t.currentItem.modules[t.activeModuleIndex]||(t.currentItemsList[t.activeItemIndex+1]?(t.activeItemIndex=t.activeItemIndex+1,t.activeModuleIndex=0):t.activeModuleIndex=t.activeModuleIndex-1)}const Eu=["activeVariant","activeItemIndex","activeModuleIndex","paused","startedPlaying","availableVariants"],Su=t=>Eu.reduce(((e,n)=>(e[n]=t[n],e)),{});function Mu(t){return{version:t.version,state:Su(t.state),selectItem:t.selectItem,selectItemAndStep:t.selectItemAndStep,next:t.next,prev:t.prev,subscribe:e=>function(t){mr.ensure();const e=Vo(Wn|Jn,t,!0);return()=>{rs(e)}}((()=>{Ko((()=>{e(Su(t.state))}))}))}}var Au=Ys('<img class="nav-button-icon svelte-er27y2" alt="" aria-hidden="true"/>'),Nu=Ys('<button data-elementtype="gallery item" data-interactiontype="navigation"><!> <span class="svelte-er27y2"> </span></button>'),Cu=Ys('<div><div class="nav-buttons svelte-er27y2"></div></div>');const Fu={hash:"svelte-er27y2",code:".eko-gallery-app {--nav_gap: 10px;--nav_padding: 12px 16px;--nav_bgColor: #FFFFFF;--nav_justifyContent: center;--nav_tray_margin: 0;--nav_tray_padding: 2px;--nav_tray_width: fit-content;--nav_tray_maxWidth: 100%;--nav_tray_bgColor: transparent;--nav_tray_border: 0;--nav_tray_borderRadius: 0;--nav_tray_boxShadow: none;--nav_tray_overflow: auto;--nav_button_width: fit-content;--nav_button_bgColor: #FFFFFF;--nav_button_borderRadius: 100px;--nav_button_paddingTop: 8px;--nav_button_paddingBottom: var(--nav_button_paddingTop);--nav_button_paddingLeft: 12px;--nav_button_paddingRight: var(--nav_button_paddingLeft);--nav_button_boxShadow: 0 0 0 1px #E7E7E7;--nav_button_gap: 2px;--nav_button_selected_boxShadow: 0 0 0 1px #000000;--nav_button_selected_bgColor: var(--nav_button_bgColor);--nav_button_text_color: #000000;--nav_button_text_fontSize: 14px;--nav_button_text_fontWeight: 500;--nav_button_text_fontFamily: var(--fontName);--nav_button_text_lineHeight: 120%;--nav_button_text_letterSpacing: 0px;--nav_button_text_align: center;--nav_button_selected_text_color: var(--nav_button_text_color);--nav_button_selected_text_fontWeight: var(--nav_button_text_fontWeight);--nav_button_image_borderRadius: calc(var(--nav_button_borderRadius) - var(--nav_button_paddingTop));--nav_button_icon_size: 20px;--nav_button_icon_filter: none;--nav_button_selected_icon_filter: none;--nav_arrow_color: var(--secondaryColor);--nav_arrow_bgColor: transparent;--nav_arrow_borderRadius: 100%;--nav_arrow_padding: 9px;--nav_arrow_size: 30px;--nav_arrow_boxShadow: none;--nav_arrow_iconOpacity: 0.6;--nav_arrow_bgColor_hover: #FFFFFF;--nav_arrow_boxShadow_hover: 0 0 8px 0 rgba(0, 0, 0, 0.12);}.nav-buttons-container.svelte-er27y2 {width:100%;background-color:var(--nav_bgColor);display:flex;box-sizing:border-box;text-align:center;justify-content:var(--nav_justifyContent);align-items:center;position:relative;flex-shrink:0;opacity:0;transition:opacity 0.2s ease-in-out;}.nav-buttons-container.theme-loaded.svelte-er27y2 {opacity:1;}.nav-buttons-container.svelte-er27y2 :where(.svelte-er27y2) {touch-action:auto;}.nav-buttons.svelte-er27y2 {display:flex;margin:var(--nav_tray_margin);gap:var(--nav_gap);height:100%;align-items:center;padding:var(--nav_tray_padding, var(--nav_padding));background-color:var(--nav_tray_bgColor);border:var(--nav_tray_border);border-radius:var(--nav_tray_borderRadius);box-shadow:var(--nav_tray_boxShadow);box-sizing:border-box;overflow-x:var(--nav_tray_overflow);scrollbar-width:none;max-width:var(--nav_tray_maxWidth);width:var(--nav_tray_width);overflow-y:hidden;overscroll-behavior-y:none;}.nav-button.svelte-er27y2 {display:flex;outline:none;flex-shrink:0;height:100%;width:var(--nav_button_width);border:none;cursor:pointer;outline-color:#3191fc;align-items:center;gap:var(--nav_button_gap);background-color:var(--nav_button_bgColor);border-radius:var(--nav_button_borderRadius);\n /* eslint-disable-next-line max-len */padding:var(--nav_button_paddingTop) var(--nav_button_paddingRight) var(--nav_button_paddingBottom) var(--nav_button_paddingLeft);box-shadow:var(--nav_button_boxShadow);}.nav-button.svelte-er27y2 .nav-button-icon:where(.svelte-er27y2) {width:var(--nav_button_icon_size);height:var(--nav_button_icon_size);flex:0 0 auto;object-fit:contain;filter:var(--nav_button_icon_filter);pointer-events:none;display:block;}.nav-button.svelte-er27y2 span:where(.svelte-er27y2) {flex:1 0 0;transition:color 0.2s ease-in-out;color:var(--nav_button_text_color);font-weight:var(--nav_button_text_fontWeight);font-size:var(--nav_button_text_fontSize);font-family:var(--nav_button_text_fontFamily);line-height:var(--nav_button_text_lineHeight);letter-spacing:var(--nav_button_text_letterSpacing);text-align:var(--nav_button_text_align);}.nav-button.selected.svelte-er27y2 {background-color:var(--nav_button_selected_bgColor);box-shadow:var(--nav_button_selected_boxShadow);}.nav-button.selected.svelte-er27y2 .nav-button-icon:where(.svelte-er27y2) {filter:var(--nav_button_selected_icon_filter);}.nav-button.selected.svelte-er27y2 span:where(.svelte-er27y2) {color:var(--nav_button_selected_text_color);font-weight:var(--nav_button_selected_text_fontWeight);}.nav-button.svelte-er27y2:focus-visible {outline-offset:2px;outline-style:solid;outline-width:2px;}"};function Ou(t,e){Li(e,!0),Pa(t,Fu);let n=ll(e,"onNavItemClick",3,(()=>{}));const i=Bi("state");var r=Cu();let o;var s=Bo(r);xa(s,23,(()=>i().currentItemsList),((t,e)=>`${i().activeVariant}_${t.id}_${e}`),((t,r,o)=>{const s=ro((()=>function(t){var n;if(!t)return null;if("string"==typeof t)return t;if(null!=(null===(n=t.entity)||void 0===n?void 0:n.entityId))try{return e.gallery.getCoverUrl(t,40)}catch{return null}return null}(Bs(r).icon))),a=ro((()=>String(Bs(r).name||`Gallery item ${Bs(o)+1}`)));var l=Nu();let c;var u=ro((()=>{var t;return e.gallery.interaction((()=>n()(Bs(o))),{elementid:String(null!==(t=Bs(r).id)&&void 0!==t?t:Bs(o)+1),elementtype:"gallery item",elementname:Bs(a),interactiontype:"navigation"})}));l.__click=function(...t){var e;null===(e=Bs(u))||void 0===e||e.apply(this,t)};var d=Bo(l),h=t=>{var e=Au();Jo((()=>Ja(e,"src",Bs(s)))),ta(t,e)};ba(d,(t=>{Bs(s)&&t(h)}));var f=zo(d,2),p=Bo(f,!0);xi(f),xi(l),Jo(((t,e,n,i)=>{c=ja(l,1,"nav-button svelte-er27y2",null,c,t),Ja(l,"data-item-name",e),Ja(l,"data-elementid",n),Ja(l,"data-elementname",Bs(a)),Ja(l,"aria-label",Bs(a)),Ja(l,"aria-current",i),la(p,Bs(r).name)}),[()=>({selected:Bs(o)===i().activeItemIndex}),()=>{var t,e;return null!==(t=null===(e=Bs(r).name)||void 0===e?void 0:e.toLowerCase())&&void 0!==t?t:""},()=>{var t;return String(null!==(t=Bs(r).id)&&void 0!==t?t:Bs(o)+1)},()=>Bs(o)===i().activeItemIndex?"true":void 0]),ta(t,l)})),xi(s),xi(r),Jo((t=>o=ja(r,1,"nav-buttons-container svelte-er27y2",null,o,t)),[()=>({"theme-loaded":i().themeLoaded})]),ta(t,r),zi()}Vs(["click"]);const Pu="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20320%20512'%3e%3cpath%20d='M310.6%20233.4c12.5%2012.5%2012.5%2032.8%200%2045.3l-192%20192c-12.5%2012.5-32.8%2012.5-45.3%200s-12.5-32.8%200-45.3L242.7%20256%2073.4%2086.6c-12.5-12.5-12.5-32.8%200-45.3s32.8-12.5%2045.3%200l192%20192z'/%3e%3c/svg%3e";var Ru=Ys('<button data-elementtype="button" data-interactiontype="navigation"><img alt="" aria-hidden="true" class="svelte-1al44kl"/></button>');const Du={hash:"svelte-1al44kl",code:'.nav-button.svelte-1al44kl {height:var(--nav_arrow_size, 30px);width:var(--nav_arrow_size, 30px);border-radius:var(--nav_arrow_borderRadius, 100%);background-color:var(--nav_arrow_bgColor, transparent);padding:var(--nav_arrow_padding, 9px);box-shadow:var(--nav_arrow_boxShadow, none);box-sizing:border-box;display:flex;align-items:center;justify-content:center;pointer-events:auto;border:0;opacity:100%;cursor:pointer;transition:background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, opacity 0.2s ease-in-out;position:relative;}.nav-button.prev.svelte-1al44kl {transform:rotate(180deg);}.nav-button.hidden.svelte-1al44kl {opacity:0;pointer-events:none;}.nav-button.svelte-1al44kl::before {content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;}.nav-button.svelte-1al44kl img:where(.svelte-1al44kl) {height:100%;opacity:var(--nav_arrow_iconOpacity, 1);}'};function Bu(t,e){Li(e,!0),Pa(t,Du);const n=ll(e,"hidden",3,!1),i=ro((()=>"prev"===e.type?"Previous item":"Next item"));var r=Ru();let o;var s=ro((()=>e.gallery.interaction(e.onClick,{elementid:`gallery_${e.type}`,elementtype:"button",elementname:Bs(i),interactiontype:"navigation"})));r.__click=function(...t){var e;null===(e=Bs(s))||void 0===e||e.apply(this,t)};var a=Bo(r);xi(r),Jo((()=>{var t,s;o=ja(r,1,`nav-button ${null!==(t=e.type)&&void 0!==t?t:""}`,"svelte-1al44kl",o,{hidden:n()}),Ja(r,"aria-label",Bs(i)),Ja(r,"data-elementid",`gallery_${null!==(s=e.type)&&void 0!==s?s:""}`),Ja(r,"data-elementname",Bs(i)),Ja(a,"src",Pu)})),ta(t,r),zi()}Vs(["click"]);var Lu=Ys('<button data-elementtype="step-indicator" data-interactiontype="navigation"><span class="svelte-1mxltt0"> </span></button>'),zu=Ys('<div><button aria-label="Scroll to previous steps"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="svelte-1mxltt0"><path d="M12.8333 16.6668C12.68 16.6668 12.5266 16.5935 12.4266 16.4601L9.42663 12.2935C9.36482 12.2081 9.33154 12.1055 9.33154 12.0001C9.33154 11.8948 9.36482 11.7921 9.42663 11.7068L12.4266 7.54012C12.4651 7.48671 12.5138 7.44142 12.5698 7.40682C12.6259 7.37222 12.6882 7.349 12.7532 7.33848C12.8182 7.32795 12.8846 7.33033 12.9487 7.34549C13.0128 7.36064 13.0732 7.38826 13.1266 7.42678C13.18 7.46531 13.2253 7.51397 13.2599 7.56999C13.2945 7.62602 13.3177 7.68831 13.3283 7.75331C13.3388 7.81831 13.3364 7.88475 13.3213 7.94883C13.3061 8.01291 13.2785 8.07338 13.24 8.12678L10.4466 12.0001L13.2333 15.8735C13.2864 15.9479 13.3181 16.0355 13.3251 16.1267C13.332 16.2179 13.314 16.3092 13.2728 16.3909C13.2316 16.4725 13.1689 16.5414 13.0915 16.59C13.014 16.6386 12.9247 16.6652 12.8333 16.6668Z" fill="#030303" class="svelte-1mxltt0"></path></svg></button> <div role="group" aria-roledescription="Sequence navigation buttons"></div> <button aria-label="Scroll to next steps"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="svelte-1mxltt0"><path d="M11.1668 16.6666C11.0668 16.6666 10.9601 16.6333 10.8734 16.5733C10.8199 16.5348 10.7746 16.4862 10.7399 16.4302C10.7053 16.3741 10.682 16.3118 10.6715 16.2468C10.6609 16.1818 10.6634 16.1153 10.6786 16.0512C10.6938 15.9871 10.7215 15.9266 10.7601 15.8733L13.5534 11.9999L10.7601 8.12661C10.6001 7.89994 10.6468 7.59328 10.8734 7.42661C11.1001 7.26661 11.4068 7.31994 11.5734 7.53994L14.5734 11.7066C14.7001 11.8799 14.7001 12.1133 14.5734 12.2933L11.5734 16.4599C11.4734 16.5933 11.3201 16.6666 11.1668 16.6666Z" fill="#030303" class="svelte-1mxltt0"></path></svg></button></div>');const Wu={hash:"svelte-1mxltt0",code:'.eko-gallery-app {--stepsIndicator_container_bottom: 12px;--stepsIndicator_container_left: 8px;--stepsIndicator_container_right: auto;--stepsIndicator_container_width: calc(100% - 16px);--stepsIndicator_padding: 4px 4px;--stepsIndicator_margin: 0 16px;--stepsIndicator_gap: 8px;--stepsIndicator_justifyContent: flex-start;--stepsIndicator_mask_left: linear-gradient(to left, black calc(100% - 20px), transparent);--stepsIndicator_mask_right: linear-gradient(to right, black calc(100% - 20px), transparent);\n /* stylelint-disable-next-line max-line-length */--stepsIndicator_mask_both: linear-gradient(\n to right,\n transparent,\n black 20px,\n black calc(100% - 20px),\n transparent\n );--stepsIndicator_button_padding: 8px 12px;--stepsIndicator_button_border: #E4E5E8 solid 1px;--stepsIndicator_button_borderRadius: 100px;--stepsIndicator_button_bgColor: #FBFBFB;--stepsIndicator_button_bgColor_hover: #F3F4F6;--stepsIndicator_button_bgColor_active: #E4E5E8;--stepsIndicator_button_boxShadow: none;--stepsIndicator_button_color: #030303;--stepsIndicator_button_fontSize: 12px;--stepsIndicator_button_fontWeight: 500;--stepsIndicator_button_lineHeight: 16px;--stepsIndicator_button_active_bgColor: #014FD3;--stepsIndicator_button_active_borderColor: #014FD3;--stepsIndicator_button_active_boxShadow: none;--stepsIndicator_button_active_color: #FFFFFF;--stepsIndicator_span_display: block;--stepsIndicator_span_width: auto;--stepsIndicator_span_height: auto;--stepsIndicator_span_borderRadius: 0;--stepsIndicator_span_bgColor: transparent;--stepsIndicator_span_border: 0;--stepsIndicator_span_boxShadow: none;--stepsIndicator_span_fontSize: inherit;--stepsIndicator_span_color: inherit;--stepsIndicator_span_active_width: var(--stepsIndicator_span_width);--stepsIndicator_span_active_height: var(--stepsIndicator_span_height);--stepsIndicator_span_active_bgColor: var(--stepsIndicator_span_bgColor);--stepsIndicator_span_active_border: var(--stepsIndicator_span_border);--stepsIndicator_span_active_boxShadow: var(--stepsIndicator_span_boxShadow);--stepsIndicator_arrow_display: flex;}.steps-indicator-container.svelte-1mxltt0 {width:var(--stepsIndicator_container_width);position:absolute;bottom:var(--stepsIndicator_container_bottom);left:var(--stepsIndicator_container_left);right:var(--stepsIndicator_container_right);animation-duration:0.75s;animation-timing-function:cubic-bezier(0.36, 0, 0, 1);animation-fill-mode:both;animation-delay:0.15s;\n animation-name: svelte-1mxltt0-gallery-steps-appear-anim;}.steps-indicator-container.mobile-indicators.svelte-1mxltt0 {display:var(--stepsIndicator_mobile_display, none);}.steps-indicator.svelte-1mxltt0 {--stepSize: 6px;--stepPadding: 7px;padding:var(--stepsIndicator_padding);margin:var(--stepsIndicator_margin);display:flex;gap:var(--stepsIndicator_gap);align-items:center;justify-content:var(--stepsIndicator_justifyContent);overflow-x:auto;pointer-events:all;scrollbar-width:none;}.steps-indicator.fade-right.svelte-1mxltt0 {mask-image:var(--stepsIndicator_mask_right);}.steps-indicator.fade-left.svelte-1mxltt0 {mask-image:var(--stepsIndicator_mask_left);}.steps-indicator.fade-left.fade-right.svelte-1mxltt0 {mask-image:var(--stepsIndicator_mask_both);}.steps-indicator.with-duration.svelte-1mxltt0 .step-button:where(.svelte-1mxltt0) span:where(.svelte-1mxltt0) {position:relative;overflow:hidden;}.steps-indicator.with-duration.svelte-1mxltt0 .step-button:where(.svelte-1mxltt0) span:where(.svelte-1mxltt0):after {transition:0.3s ease-in-out;transition-property:opacity, width;}.step-button.svelte-1mxltt0 {min-width:24px;min-height:24px;padding:var(--stepsIndicator_button_padding);border:var(--stepsIndicator_button_border);background-color:var(--stepsIndicator_button_bgColor);box-shadow:var(--stepsIndicator_button_boxShadow);border-radius:var(--stepsIndicator_button_borderRadius);font-size:var(--stepsIndicator_button_fontSize);font-weight:var(--stepsIndicator_button_fontWeight);line-height:var(--stepsIndicator_button_lineHeight);color:var(--stepsIndicator_button_color);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:all;flex-shrink:0;transition:all 0.3s ease-in-out;outline-color:#3191fc;}.step-button.active.svelte-1mxltt0 {background-color:var(--stepsIndicator_button_active_bgColor);color:var(--stepsIndicator_button_active_color);box-shadow:var(--stepsIndicator_button_active_boxShadow);border-color:var(--stepsIndicator_button_active_borderColor);}.step-button.active.svelte-1mxltt0:after {opacity:100%;\n animation: svelte-1mxltt0-stepDurationAnimation var(--stepDuration) linear forwards;animation-play-state:running;}.step-button.svelte-1mxltt0:hover:not(.active) {background:var(--stepsIndicator_button_bgColor_hover);}.step-button.svelte-1mxltt0:active:not(.active) {background:var(--stepsIndicator_button_bgColor_active);}.step-button.svelte-1mxltt0:focus {outline-offset:4px;outline-width:2px;}.step-button.svelte-1mxltt0 span:where(.svelte-1mxltt0) {display:var(--stepsIndicator_span_display);width:var(--stepsIndicator_span_width);height:var(--stepsIndicator_span_height);border-radius:var(--stepsIndicator_span_borderRadius);background-color:var(--stepsIndicator_span_bgColor);border:var(--stepsIndicator_span_border);box-shadow:var(--stepsIndicator_span_boxShadow);font-size:var(--stepsIndicator_span_fontSize);color:var(--stepsIndicator_span_color);box-sizing:border-box;pointer-events:none;white-space:nowrap;}.step-button.svelte-1mxltt0 span:where(.svelte-1mxltt0):after {content:"";background-color:rgba(0, 0, 0, 0.6);position:absolute;border-radius:var(--stepSize);width:0;height:100%;top:0;left:-100%;opacity:0;transform:translateX(0);animation-play-state:paused;}.step-button.active.svelte-1mxltt0 span:where(.svelte-1mxltt0) {width:var(--stepsIndicator_span_active_width);height:var(--stepsIndicator_span_active_height);background-color:var(--stepsIndicator_span_active_bgColor);border:var(--stepsIndicator_span_active_border);box-shadow:var(--stepsIndicator_span_active_boxShadow);}.step-arrow.svelte-1mxltt0 {display:var(--stepsIndicator_arrow_display);width:34px;height:34px;position:absolute;z-index:10;bottom:4px;border:1px solid #C4C8CF;border-radius:50%;background-color:#FFFFFF;box-shadow:0 2px 3px 0 rgba(0, 0, 0, 0.05);box-sizing:border-box;align-items:center;justify-content:center;pointer-events:none;cursor:pointer;opacity:0;}.step-arrow.svelte-1mxltt0:hover {background:#F6F6F7;}.step-arrow.svelte-1mxltt0:active {background:#E4E5E8;}.step-arrow-prev.svelte-1mxltt0 {left:3px;transform:translateX(-100%);\n animation: svelte-1mxltt0-arrow-left-disappear 0.3s cubic-bezier(0.36, 0, 0, 1) both;}.step-arrow-prev.visible.svelte-1mxltt0 {pointer-events:auto;\n animation: svelte-1mxltt0-arrow-left-appear 0.3s cubic-bezier(0.36, 0, 0, 1) both;}.step-arrow-next.svelte-1mxltt0 {right:3px;transform:translateX(100%);\n animation: svelte-1mxltt0-arrow-right-disappear 0.3s cubic-bezier(0.36, 0, 0, 1) both;}.step-arrow-next.visible.svelte-1mxltt0 {pointer-events:auto;\n animation: svelte-1mxltt0-arrow-right-appear 0.3s cubic-bezier(0.36, 0, 0, 1) both;}\n\n@keyframes svelte-1mxltt0-gallery-steps-appear-anim {\n from {\n opacity: 0;\n transform: translate(0, 10px);\n }\n to {\n opacity: 1;\n transform: translate(0, 0);\n }\n}\n@keyframes svelte-1mxltt0-gallery-steps-disappear-anim {\n from {\n opacity: 1;\n transform: translate(0, 0);\n }\n to {\n opacity: 0;\n transform: translate(0, 10px);\n }\n}\n@keyframes svelte-1mxltt0-arrow-left-appear {\n from {\n opacity: 0;\n transform: translateX(-100%);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n@keyframes svelte-1mxltt0-arrow-left-disappear {\n from {\n opacity: 1;\n transform: translateX(0);\n }\n to {\n opacity: 0;\n transform: translateX(-100%);\n }\n}\n@keyframes svelte-1mxltt0-arrow-right-appear {\n from {\n opacity: 0;\n transform: translateX(100%);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n@keyframes svelte-1mxltt0-arrow-right-disappear {\n from {\n opacity: 1;\n transform: translateX(0);\n }\n to {\n opacity: 0;\n transform: translateX(100%);\n }\n}\n@keyframes svelte-1mxltt0-stepDurationAnimation {\n 0% {\n transform: translateX(0);\n }\n 100% {\n transform: translateX(100%);\n }\n}'};function ju(t,e){Li(e,!0),Pa(t,Wu);const n=16,i=32;let r=ll(e,"gallery",7),o=vo(null),s=vo(null),a=vo(!1),l=vo(!1);const c=ro((()=>{let t=[];return t=r().state.currentItem.modules.map(((t,e)=>({index:e,type:e===r().state.activeModuleIndex?"active":"",name:t.name}))),t}));function u(){Bs(o)&&(yo(a,Bs(o).scrollLeft>0),yo(l,Bs(o).scrollLeft+Bs(o).clientWidth<Bs(o).scrollWidth-0))}function d(t){var e,n;const i="undefined"!=typeof window&&(null===(e=(n=window).matchMedia)||void 0===e?void 0:e.call(n,"(prefers-reduced-motion: reduce)").matches);Bs(o).scrollBy({left:t,behavior:i?"auto":"smooth"})}function h(t,e){const r=t.getBoundingClientRect(),o=e.getBoundingClientRect(),s=n+i;o.left<r.left+i?d(o.left-r.left-s):o.right>r.right-i&&d(o.right-r.right+s)}function f(){const t=Array.from(Bs(o).querySelectorAll(".step-button")).find((t=>{const e=t.getBoundingClientRect(),n=Bs(o).getBoundingClientRect();return e.left>n.left+i}));if(t){const e=t.previousElementSibling;e&&h(Bs(o),e)}}function p(){const t=Array.from(Bs(o).querySelectorAll(".step-button")).reverse().find((t=>{const e=t.getBoundingClientRect(),n=Bs(o).getBoundingClientRect();return e.right<n.right-i}));if(t){const e=t.nextElementSibling;e&&h(Bs(o),e)}}Ko((()=>{if(Bs(o)){u();const t=Bs(o).querySelector(".step-button.active");t&&yo(s,t,!0);const e=new MutationObserver((()=>{const t=Bs(o).querySelector(".step-button.active");t&&yo(s,t,!0)}));e.observe(Bs(o),{attributes:!0,attributeFilter:["class"],subtree:!0});const n=new ResizeObserver((()=>{u()}));return n.observe(Bs(o)),()=>{e.disconnect(),n.disconnect()}}})),Ko((()=>{Bs(c),Bs(o)&&Ds().then(u)})),Ko((()=>{Bs(s)&&Bs(o)&&h(Bs(o),Bs(s))}));var m=Zs();qs("resize",Ao,u),function(t,e,n){yi&&wi();var i=new ma(t);Zo((()=>{var t=e();i.ensure(t,n)}))}(Lo(m),(()=>r().state.activeItemIndex),(t=>{var n=zu();let i;var s=Bo(n);let d;s.__click=f;var m=zo(s,2);let v;xa(m,21,(()=>Bs(c)),ka,((t,e)=>{var n=Lu();let i;var s=ro((()=>r().interaction((t=>{return n=t.currentTarget,i=Bs(e).index,r().state.activeModuleIndex=i,void h(Bs(o),n);var n,i}))));n.__click=function(...t){var e;null===(e=Bs(s))||void 0===e||e.apply(this,t)};var a=Bo(n),l=Bo(a,!0);xi(a),xi(n),Jo((()=>{i=ja(n,1,"step-button svelte-1mxltt0",null,i,{active:"active"===Bs(e).type}),Ja(n,"aria-current","active"===Bs(e).type?"step":void 0),Ja(n,"aria-label",Bs(e).name?`Go to step ${Bs(e).index+1}: ${Bs(e).name}`:`Go to step ${Bs(e).index+1}`),Ja(n,"data-elementid",`${Bs(e).index+1}`),Ja(n,"data-elementname",Bs(e).name||`Step ${Bs(e).index+1}`),la(l,Bs(e).name)})),ta(t,n)})),xi(m),sl(m,(t=>yo(o,t)),(()=>Bs(o)));var g=zo(m,2);let y;g.__click=p,xi(n),Jo((()=>{var t,o,c;i=ja(n,1,"steps-indicator-container svelte-1mxltt0",null,i,{"mobile-indicators":e.isMobile}),d=ja(s,1,"step-arrow step-arrow-prev svelte-1mxltt0",null,d,{visible:Bs(a)}),s.disabled=!Bs(a),v=ja(m,1,"steps-indicator svelte-1mxltt0",null,v,{"with-duration":null===(t=r().state.currentModule)||void 0===t?void 0:t.hasDuration,paused:r().state.paused,"fade-left":Bs(a),"fade-right":Bs(l)}),Ua(m,`--stepDuration: ${null!==(o=null===(c=r().state.currentModule)||void 0===c?void 0:c.duration)&&void 0!==o?o:""}s`),y=ja(g,1,"step-arrow step-arrow-next svelte-1mxltt0",null,y,{visible:Bs(l)}),g.disabled=!Bs(l)})),qs("scroll",m,u),ta(t,n)})),ta(t,m),zi()}Vs(["click"]);var $u=Js('<svg class="pause-button-icon pause-button-icon--play svelte-a3r6re" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M5.23 3.75c0-1.11 1.19-1.82 2.17-1.28l15 8.25a1.46 1.46 0 0 1 0 2.56l-15 8.25a1.46 1.46 0 0 1-2.17-1.28V3.75z"></path></svg>'),Uu=Js('<svg class="pause-button-icon pause-button-icon--pause svelte-a3r6re" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><line class="pause-bar pause-bar--left svelte-a3r6re" x1="8" y1="3.5" x2="8" y2="20.5"></line><line class="pause-bar pause-bar--right svelte-a3r6re" x1="16" y1="3.5" x2="16" y2="20.5"></line></svg>'),qu=Ys('<button class="pause-button svelte-a3r6re" data-elementid="play_pause" data-elementtype="button"><!></button>');const Vu={hash:"svelte-a3r6re",code:".eko-gallery-app {--pauseButton_top: 10px;--pauseButton_right: 10px;--pauseButton_bottom: auto;--pauseButton_left: auto;--pauseButton_size: 32px;--pauseButton_borderRadius: 100%;--pauseButton_border: 1px solid #C4C8CF;--pauseButton_boxShadow: none;--pauseButton_backdropFilter: none;--pauseButton_bgColor: #FFFFFF;--pauseButton_bgColor_hover: #F6F6F7;--pauseButton_bgColor_active: #E4E5E8;--pauseButton_iconSize: 16px;--pauseButton_iconColor: #030303;--pauseButton_playIconFill: none;--pauseButton_playIconStroke: currentColor;--pauseButton_playIconStrokeWidth: 1.5;--pauseButton_pauseIconStrokeWidth: 1.5;--pauseButton_pauseIconStrokeLinecap: butt;--pauseButton_pauseIconScaleY: 1;--pauseButton_pauseIconBarSpread: 0px;}.pause-button.svelte-a3r6re {position:absolute;top:var(--pauseButton_top);right:var(--pauseButton_right);bottom:var(--pauseButton_bottom);left:var(--pauseButton_left);width:var(--pauseButton_size);height:var(--pauseButton_size);padding:0;background:var(--pauseButton_bgColor);border:var(--pauseButton_border);border-radius:var(--pauseButton_borderRadius);box-shadow:var(--pauseButton_boxShadow);backdrop-filter:var(--pauseButton_backdropFilter);-webkit-backdrop-filter:var(--pauseButton_backdropFilter);color:var(--pauseButton_iconColor);display:flex;justify-content:center;align-items:center;pointer-events:auto;transition:background 0.2s ease-in-out;cursor:pointer;outline-color:#3191fc;}.pause-button.svelte-a3r6re:hover {background:var(--pauseButton_bgColor_hover);}.pause-button.svelte-a3r6re:active {background:var(--pauseButton_bgColor_active);}.pause-button.svelte-a3r6re:focus {outline-offset:8px;outline-width:2px;}.pause-button.svelte-a3r6re .pause-button-icon:where(.svelte-a3r6re) {width:var(--pauseButton_iconSize);height:var(--pauseButton_iconSize);pointer-events:none;display:block;}.pause-button.svelte-a3r6re .pause-button-icon--pause:where(.svelte-a3r6re) {fill:none;stroke:currentColor;stroke-width:var(--pauseButton_pauseIconStrokeWidth, 1.5);stroke-linecap:var(--pauseButton_pauseIconStrokeLinecap, butt);transform:scaleY(var(--pauseButton_pauseIconScaleY, 1));transform-origin:center;overflow:visible;}.pause-button.svelte-a3r6re .pause-button-icon--pause:where(.svelte-a3r6re) .pause-bar--left:where(.svelte-a3r6re) {transform:translateX(calc(-1 * var(--pauseButton_pauseIconBarSpread, 0px)));}.pause-button.svelte-a3r6re .pause-button-icon--pause:where(.svelte-a3r6re) .pause-bar--right:where(.svelte-a3r6re) {transform:translateX(var(--pauseButton_pauseIconBarSpread, 0px));}.pause-button.svelte-a3r6re .pause-button-icon--play:where(.svelte-a3r6re) {fill:var(--pauseButton_playIconFill, none);stroke:var(--pauseButton_playIconStroke, currentColor);stroke-width:var(--pauseButton_playIconStrokeWidth, 1.5);stroke-linejoin:round;stroke-linecap:round;}"};Vs(["click"]);const Gu=300,Hu=60,Ku="none";function Xu(t,e,n){return t.addEventListener(e,n),()=>t.removeEventListener(e,n)}function Yu(t,e,n){const{x:i,y:r}=function(t,e){const n=t.getBoundingClientRect();return{x:Math.round(e.clientX-n.left),y:Math.round(e.clientY-n.top)}}(t,e);return{event:e,pointersCount:n.length,target:e.target,x:i,y:r,attachmentNode:t}}function Qu(t,e,n,i,r){const o=Yu(t,n,i);return t.dispatchEvent(new CustomEvent(`${e}${r}`,{detail:o})),o}function Ju(){let t=[],e=()=>{},n=[];return{setPointerControls:(i,r,o,s,a,l=Ku,c=[])=>{var u;if(r.style.touchAction=(u=l,Array.isArray(u)?u:[u]).join(" "),n=c,n.forEach((e=>{var n;null===(n=e.onInit)||void 0===n||n.call(e,t)})),!t.length){let l=function(e){t.push(e);const l=Qu(r,i,e,t,"down");function c(e){const o=t.length;t=function(t,e){return e.filter((e=>Mo(t.pointerId,e.pointerId,!1)))}(e,t);if(o>t.length){t.length||(u(),d(),h(),f());const o=Qu(r,i,e,t,"up");null==a||a(t,e),setTimeout((()=>{n.forEach((e=>{var n;null===(n=e.onUp)||void 0===n||n.call(e,o,t)}))}))}}null==s||s(t,e),setTimeout((()=>{n.forEach((e=>{var n;null===(n=e.onDown)||void 0===n||n.call(e,l,t)}))}));const u=Xu(r,"pointermove",(e=>{t=t.map((t=>Mo(e.pointerId,t.pointerId)?e:t));const s=Qu(r,i,e,t,"move");null==o||o(t,e),n.forEach((e=>{var n;null===(n=e.onMove)||void 0===n||n.call(e,s,t)}))})),d=Xu(r,"lostpointercapture",(t=>{c(t)})),h=Xu(r,"pointerup",(t=>{c(t)})),f=Xu(r,"pointerleave",(t=>{c(t)}))};e=Xu(r,"pointerdown",l)}return{destroy:()=>{t.length||(e(),n.forEach((t=>{var e;null===(e=t.onDestroy)||void 0===e||e.call(t)})))}}}}}const Zu="@attach";function td(){return Symbol(Zu)}const ed="swipe";function nd(t,e,n,i=!1){const{setPointerControls:r}=Ju(),o=i?ed:td();return{...n,[`on${ed}`]:t,[o]:t=>{const{onDown:n,onUp:i,parameters:o}=function(t,e){const n={timeframe:Gu,minSwipeDistance:Hu,touchAction:Ku,composed:!1,...e};let i,r,o,s;function a(t,e){r=e.clientX,o=e.clientY,i=Date.now(),Mo(t.length,1)&&(s=e.target)}function l(e,a){if(Mo(a.type,"pointerup")&&Mo(e.length,0)&&Date.now()-i<n.timeframe){const e=a.clientX-r,i=a.clientY-o,l=Math.abs(e),c=Math.abs(i);let u=null;l>=2*c&&l>n.minSwipeDistance?u=e>0?"right":"left":c>=2*l&&c>n.minSwipeDistance&&(u=i>0?"bottom":"top"),u&&t.dispatchEvent(new CustomEvent(ed,{detail:{direction:u,target:s,pointerType:a.pointerType}}))}}return{onDown:a,onUp:l,parameters:n}}(t,null==e?void 0:e());return r(ed,t,null,n,i,o.touchAction,o.plugins).destroy}}}const id="tap";function rd(t,e,n,i=!1){const{setPointerControls:r}=Ju(),o=i?id:td();return{...n,[`on${id}`]:t,[o]:t=>{const{onDown:n,onUp:i,parameters:o}=function(t,e){const n={timeframe:Gu,composed:!1,touchAction:"auto",...e};let i,r,o;function s(e,s){if(Math.abs(s.clientX-r)<4&&Math.abs(s.clientY-o)<4&&Date.now()-i<n.timeframe){const e=t.getBoundingClientRect(),n=Math.round(s.clientX-e.left),i=Math.round(s.clientY-e.top);t.dispatchEvent(new CustomEvent(id,{detail:{x:n,y:i,target:s.target,pointerType:s.pointerType}}))}}function a(t,e){r=e.clientX,o=e.clientY,i=Date.now()}return{onDown:a,onUp:s,parameters:n}}(t,null==e?void 0:e());return r(id,t,null,n,i,o.touchAction,o.plugins).destroy}}}const od=t=>{const e="#00ff00",n=1e6,i=4;let r,o,s,a=null,l=!1,c=Date.now();const u={x:void 0,y:void 0};function d(){const e=t.fadeTime,n=Date.now(),i=n-c;i>e/20&&(a&&o&&s&&r&&(s.drawImage(r,0,0),a.clearRect(0,0,r.width,r.height),a.globalAlpha=1-3*i/e,a.drawImage(o,0,0),a.globalAlpha=1,s.clearRect(0,0,r.width,r.height)),c=n),l&&requestAnimationFrame(d)}function h(t){u.x=t.x,u.y=t.y}function f(){a&&o&&r&&(a.canvas.width=window.innerWidth,a.canvas.height=window.innerHeight,o.width=r.width,o.height=r.height)}function p(e){var i;m(),r=window.document.createElement("canvas"),r.id="svelte-gestures-highlight-plugin",a=r.getContext("2d"),r.style.cssText=`\ndisplay: block; \nwidth: 100dvw;\nheight: 100dvh;\ntop: 0;\nleft: 0;\nposition: fixed;\npointer-events: none;\nz-index: ${null!==(i=t.zIndex)&&void 0!==i?i:n};\n`,window.document.body.appendChild(r),window.addEventListener("resize",f),e&&h(e.event),o=document.createElement("canvas"),f(),s=o.getContext("2d"),l=!0,d()}function m(){var t;l=!1,null===(t=window.document.getElementById("svelte-gestures-highlight-plugin"))||void 0===t||t.remove(),window.removeEventListener("resize",f)}return{onMove:n=>{var r,o,s;r=n.event,a&&(a.beginPath(),a.lineWidth=null!==(o=t.lineWidth)&&void 0!==o?o:i,a.lineCap="round",a.strokeStyle=null!==(s=t.color)&&void 0!==s?s:e,Mo(u.x,void 0,!1)&&Mo(u.y,void 0,!1)?(a.moveTo(u.x,u.y),h(r),a.lineTo(u.x,u.y)):h(r),a.stroke())},onDown:t=>{p(t)},onUp:(t,e)=>{Mo(e.length,0)&&m()},onDestroy:m,onInit:t=>{t.length&&(u.x=void 0,u.y=void 0,p())}}};var sd=Ys("<div></div>"),ad=Ys("<div></div>");const ld={hash:"svelte-1fv6njc",code:".swiper.svelte-1fv6njc {position:absolute;top:0;left:0;pointer-events:auto;width:100%;height:100%;}"};var cd=Ys("<img/>"),ud=Ys('<div class="ui-container svelte-1rvgxfc"><!></div>'),dd=Ys('<div class="cover-container svelte-1rvgxfc"><!> <!> <!></div>'),hd=Ys('<div class="covers-container svelte-1rvgxfc" style="scroll-behavior: auto;"><!></div>');const fd={hash:"svelte-1rvgxfc",code:".covers-container.svelte-1rvgxfc {position:absolute;top:0;left:0;bottom:0;right:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;display:flex;gap:0.5px;}.covers-container.svelte-1rvgxfc::-webkit-scrollbar {display:none;}.cover-container.svelte-1rvgxfc {position:relative;display:flex;width:100%;height:100%;flex-shrink:0;scroll-snap-align:center;user-select:none;justify-content:center;align-items:center;}.cover-image.svelte-1rvgxfc {width:var(--videoWidth);height:var(--videoHeight);aspect-ratio:var(--videoAspect);object-fit:cover;pointer-events:none;background:#ffffff;}.cover-image.content-playing.svelte-1rvgxfc {opacity:0;}.cover-image.content-playing.force-show.svelte-1rvgxfc {opacity:1;background:transparent;transition:opacity 0s 0.2s;}.ui-container.svelte-1rvgxfc {position:absolute;top:0;left:0;bottom:0;right:0;pointer-events:none;}"};function pd(t,e){Li(e,!0),Pa(t,fd);const n=(t,n=Fn,i=Fn,r=Fn,l=Fn)=>{var c=dd(),u=Bo(c),d=t=>{var e=cd();let o;Jo((t=>{o=ja(e,1,"cover-image svelte-1rvgxfc",null,o,{"content-playing":n(),"force-show":i().showCover}),Ja(e,"src",t),Ja(e,"alt",i().name),Ja(e,"fetchpriority",r())}),[()=>s().getCoverUrl(i().cover,a)]),qs("load",e,(function(...t){var e;null===(e=l())||void 0===e||e.apply(this,t)})),function(t){if(!yi)return;t.removeAttribute("onload"),t.removeAttribute("onerror");const e=t.__e;void 0!==e&&(t.__e=void 0,queueMicrotask((()=>{t.isConnected&&t.dispatchEvent(e)})))}(e),ta(t,e)};ba(u,(t=>{t(d)}));var h=zo(u,2);!function(t,e){Li(e,!0),Pa(t,ld);const n={color:"#e3e3e3",fadeTime:300,lineWidth:8},i=nd(e.gallery.interaction((t=>{const{direction:n}=t.detail;var i;if("left"===n)null===(i=e.gallery)||void 0===i||i.next(),e.onEvent("swipe",[-1,0]);else if("right"===n){var r;null===(r=e.gallery)||void 0===r||r.prev(),e.onEvent("swipe",[1,0])}}),{elementid:"swiper"}),(()=>({touchAction:"pan-y",plugins:e.debug?[od(n)]:[]}))),r=rd((function(t){const{x:n,y:i}=t.detail;e.onEvent("click",{x:n,y:i})}),(()=>({touchAction:"pan-y"})));var o=Zs(),s=Lo(o),a=t=>{var e=sd();Za(e,(()=>({...i,...r,class:"swiper"})),void 0,void 0,void 0,"svelte-1fv6njc"),ta(t,e)},l=t=>{var e=ad();Za(e,(()=>({...r,class:"swiper"})),void 0,void 0,void 0,"svelte-1fv6njc"),ta(t,e)};ba(s,(t=>{e.swipeEnabled?t(a):t(l,!1)})),ta(t,o),zi()}(h,{get gallery(){return s()},get debug(){return e.debug},get swipeEnabled(){return e.swipeEnabled},get onEvent(){return e.onEvent}});var f=zo(h,2),p=t=>{var e=ud();!function(t,e,n){yi&&wi();var i=new ma(t);Zo((()=>{var t,r=null!==(t=e())&&void 0!==t?t:null;i.ensure(r,r&&(t=>n(t,r)))}),Xn)}(Bo(e),(()=>i().Component),((t,e)=>{e(t,{get state(){return i().state},get gallery(){return s()},get isMobile(){return o()}})})),xi(e),ta(t,e)};ba(f,(t=>{var e;s().state.themeLoaded&&null!==(e=i())&&void 0!==e&&e.Component&&t(p)})),xi(c),ta(t,c)};let i,r=ll(e,"scrollOffset",15),o=ll(e,"isMobile",3,!1),s=ll(e,"gallery",7),a=1920,l=s().state.playingModulePosition,c=0,u=null,d=null,h=ro((()=>!s().state.introModulePlayed&&s().state.introModule)),f=ro((()=>s().state.startedPlaying)),p=ro((()=>s().state.currentModulesList)),m=ro((()=>Bs(p).findIndex((t=>g(s().state.playingModulePosition,t.position))))),v=!1;function g(t,e){return t.itemIndex===e.itemIndex&&t.moduleIndex===e.moduleIndex}function y(t){const e=t.scrollLeft,n=t.scrollWidth-t.clientWidth;return 0===e?0:e>n?100:e/n*100}function b(t){var e,n;u=(null===(e=Bs(p)[t])||void 0===e?void 0:e.position)||null;const r=null===(n=i)||void 0===n||null===(n=n.children)||void 0===n?void 0:n[t];if(!i||!r)return;const o=i.getBoundingClientRect(),s=r.getBoundingClientRect();let a=i.scrollLeft+(s.left-o.left);const l=Math.max(0,i.scrollWidth-i.clientWidth);a=Math.max(0,Math.min(l,a)),i.scrollTo({left:a,behavior:"auto"})}function k(t){var e;if(Bs(h))return;o()&&t.preventDefault();const{target:n}=t,a=y(n),f=(null===(e=Bs(p))||void 0===e?void 0:e.length)||1,v=100/(f-1||1),b=Math.round(a/v);c=Math.min(b,f-1);const k=Bs(p)[c],w={itemIndex:s().state.activeItemIndex,moduleIndex:s().state.activeModuleIndex};if(!u){const t=i.children[Bs(m)],e=i.getBoundingClientRect(),n=t.getBoundingClientRect();r(n.x-e.x)}d&&clearTimeout(d),d=setTimeout((()=>{const t=y(n);Math.abs(t-b*v)<.25&&async function(){s().state.seeking&&(s().state.playerLoaded?s().state.currentItemsList[s().state.activeItemIndex].modules[s().state.activeModuleIndex].play():s().state.playingModulePosition=l,r(0))}()}),u?0:150),null!==u||g(k.position,w)?null!==u&&g(k.position,u)&&(u=null):(s().state.activeItemIndex=k.position.itemIndex,s().state.activeModuleIndex=k.position.moduleIndex),l=k.position}function w(){v||(s().track("coverdisplay"),v=!0)}Ko((()=>{const{activeItemIndex:t,activeModuleIndex:e}=s().state;t===l.itemIndex&&e===l.moduleIndex||Ws((()=>{b(Bs(p).findIndex((n=>{const{itemIndex:i,moduleIndex:r}=n.position;return t===i&&e===r})))}))})),Ko((()=>{Bs(m)>-1&&!u&&c!==Bs(m)&&Ws((()=>b(Bs(m))))})),Ko((()=>{const{seeking:t,startedPlaying:e,currentItem:n}=s().state;!t&&e&&Ws((()=>{s().preloadVariantsCovers(n,a)}))})),Ko((()=>{Bs(f)&&Ws((()=>{s().track("projectstartedplaying")}))}));var x=Zs(),_=Lo(x),I=t=>{var e=hd(),r=Bo(e),o=t=>{n(t,(()=>Bs(f)),(()=>Bs(h)),(()=>"high"),(()=>w))},a=t=>{var e=Zs();xa(Lo(e),19,(()=>Bs(p)),(t=>t.id),((t,e,i)=>{n(t,(()=>Bs(f)&&Bs(i)===Bs(m)),(()=>Bs(e)),(()=>0===Bs(i)?"high":"auto"),(()=>0!==Bs(i)||s().state.introModule?()=>{}:w))})),ta(t,e)};ba(r,(t=>{Bs(h)?t(o):t(a,!1)})),xi(e),sl(e,(t=>i=t),(()=>i)),qs("scroll",e,k),ta(t,e)};ba(_,(t=>{Bs(p)&&t(I)})),ta(t,x),zi()}const md="undefined"!=typeof self&&self||"undefined"!=typeof window&&window||"undefined"!=typeof global&&global||{};let vd;function gd(){const t=md&&md.navigator&&(md.navigator.userAgent||md.navigator.platform||md.navigator.vendor)||"";if(vd&&vd.ua===t)return vd;const e=t.toLowerCase(),n=e.includes("android"),i=e.includes("iphone")||e.includes("ipad")||e.includes("ipod")||e.includes("ios"),r=n||i||e.includes("mobile");return vd={ua:t,isMobile:r},vd}const yd=(t,e,n)=>{const i=t[e];return i?"function"==typeof i?i():Promise.resolve(i):new Promise(((t,i)=>{("function"==typeof queueMicrotask?queueMicrotask:setTimeout)(i.bind(null,new Error("Unknown variable dynamic import: "+e+(e.split("/").length!==n?". Note that variables only represent file names one level deep.":""))))}))},bd=3e3,kd=new Set;const wd="https://storage.eko.com/efu/ekoanalytics/master/latest/EkoAnalyticsPlatform.min.gz.js";function xd(t){var e,n;if("undefined"==typeof window||null!==(e=window.EkoAnalytics)&&void 0!==e&&e.cb||null!==(n=window.EkoAnalytics)&&void 0!==n&&n.configure)return;if(function(t){let e,n;"undefined"==typeof window||(e=window,n="EkoAnalytics",e[n]=function(){e[n].f?(e[n].q.push(arguments),e[n].ts.push(Date.now())):e[n].apply(e,arguments)},e[n].f=!0,e[n].q=e[n].q||[],e[n].ts=e[n].ts||[],e[n].t=Number(new Date),e[n].sa=[],e[n].cb=[],e[n].init=function(t){e[n].id=t},e[n].childRequestIdsCallback=function(t){t.data&&"ea-ids-request"===t.data.type&&e[n].sa.push(t.source)},e.addEventListener("message",e[n].childRequestIdsCallback)),window.EkoAnalytics.cb.push((()=>{let t=(t,e,n="")=>{let i=window.location.hostname,r=i,o=i.split(".");o.length>2&&(r=o.slice(-2).join(".")),window.document.cookie=`${t}=${e}; domain=.${r}; path=/; secure; samesite=lax; ${n}`};t("easid",encodeURIComponent(window.EkoAnalytics("getSid"))),t("eauid",encodeURIComponent(window.EkoAnalytics("getUid")),"max-age=2147483647")})),window.EkoAnalytics("configure",{snowplow:{options:{appId:"ekoGalleryApp"}},ekoEnv:t?"production":"development",env:"website"})}(!t||"production"===t),!window.EkoAnalytics)return void console.warn("Failed to load LUDA script.");if(0===document.querySelectorAll(`script[src="${wd}"]`).length){const t=document.createElement("script");t.type="text/javascript",t.async=!0,t.src=wd,document.head.appendChild(t)}}function _d(t,e){if(!t)return{};const n={},i=t.qoe;Number.isFinite(null==i?void 0:i.browserFps)&&(n.FPS=i.browserFps),Number.isFinite(null==i?void 0:i.score)&&(n.QOE=i.score);try{var r;const i=Number(t.currentTime),o=t.getNodesAtTime(i),s=o.find((t=>(null==e?void 0:e.nodeId)&&(null==t?void 0:t.id)===e.nodeId))||o[0],a=((null==s?void 0:s.tracks)||[]).find((t=>"video"===(null==t?void 0:t.type))),l=Number(null==e?void 0:e.offset),c=Number(null==e?void 0:e.nodeOffsetOverride),u=Math.max(0,i-(Number.isFinite(l)?l:0)+(Number.isFinite(c)?c:0)),d=Number(null==a?void 0:a.offset),h=function(t,e){var n;return"function"==typeof(null==t?void 0:t.getMediaSegmentAtTime)?t.getMediaSegmentAtTime(e,{preferRepresentationTime:!0}):null==t||null===(n=t.segments)||void 0===n?void 0:n.find((t=>{const n=Number(null==t?void 0:t.offset),i=Number(null==t?void 0:t.duration);return!(null!=t&&t.isInit)&&Number.isFinite(n)&&Number.isFinite(i)&&i>0&&e>=n&&e<n+i}))}(a,Math.max(0,u-(Number.isFinite(d)?d:0))),f=null==h?void 0:h.chosenRepresentation,p=function(t){if(Number.isFinite(t))return`${Math.round(t/1e3).toLocaleString("en-US")} kbps`}(null==f?void 0:f.bandwidth),m=(null==f?void 0:f.label)||(null!=f&&f.width&&null!=f&&f.height?`${f.width}x${f.height}`:void 0),v=Number.isFinite(null==h||null===(r=h.abrDecision)||void 0===r?void 0:r.measuredDownloadSpeedKbps)?`${Math.round(h.abrDecision.measuredDownloadSpeedKbps).toLocaleString("en-US")} kbps`:void 0;p&&(n.chosenBitrate=p),m&&(n.chosenResolution=m),v&&(n.measuredBandwidth=v)}catch{return n}return n}var Id,Td;"undefined"!=typeof window&&(window.addEventListener("pageshow",(function(t){t.persisted&&setTimeout((function(){window.location.reload()}),10)}),!1),null===(Id=(Td=window).EkoAnalytics)||void 0===Id||Id.call(Td,"track","init"));function Ed(t,e){var n,i;return null!==(n=null===(i=e.variantMap)||void 0===i?void 0:i[t])&&void 0!==n?n:t}function Sd(t,e,n){const i=Ed(t,e);return n.variants[i]?i:n.availableVariants[0]}let Md=!1;var Ad=Ys('<div class="paging-buttons svelte-1n46o8q"><!> <!></div>'),Nd=Ys("<!> <!> <!>",1),Cd=Ys('<div style="position: absolute; top: 0; left: 0; width: 100%;"></div>'),Fd=Ys('<div class="player-container svelte-1n46o8q"><div class="player-div swipable svelte-1n46o8q"></div> <!> <!> <!></div> <!>',1),Od=Ys("<div><!></div>");const Pd={hash:"svelte-1n46o8q",code:'.eko-gallery-app.svelte-1n46o8q {position:relative;width:100%;height:100%;display:flex;flex-direction:column;box-sizing:border-box;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;}.eko-gallery-app.svelte-1n46o8q:hover .paging-buttons:where(.svelte-1n46o8q) .nav-button {background-color:var(--nav_arrow_bgColor_hover, #FFFFFF);box-shadow:var(--nav_arrow_boxShadow_hover, 0 0 8px 0 rgba(0, 0, 0, 0.12));}.eko-gallery-app.svelte-1n46o8q * {box-sizing:border-box;touch-action:pan-y;font-family:var(--fontName, "Human BBY Digital"), sans-serif;}.player-container.svelte-1n46o8q {position:relative;flex:1;width:100%;pointer-events:none;overflow:hidden;border-radius:var(--playerContainer_borderRadius, 16px);display:flex;align-items:center;justify-content:center;}.player-container.svelte-1n46o8q .pause-button {opacity:var(--pauseButton_opacity, 1);}.player-container.svelte-1n46o8q:hover .pause-button {opacity:var(--pauseButton_opacity_hover, 1);}.player-container.svelte-1n46o8q:focus-within .pause-button,\n.player-container.svelte-1n46o8q .pause-button:focus-visible {opacity:var(--pauseButton_opacity_hover, 1);}\n\n@media (hover: none), (pointer: coarse) {.player-container.svelte-1n46o8q .pause-button {opacity:1;}\n}.player-div.svelte-1n46o8q {position:absolute;width:var(--videoWidth);height:var(--videoHeight);aspect-ratio:var(--videoAspect);}.swipable.svelte-1n46o8q {will-change:transform;transform:translate3d(var(--uiTranformX, 0), 0, 0);}.paging-buttons.svelte-1n46o8q {position:absolute;top:0;left:0;bottom:0;right:0;display:flex;justify-content:space-between;align-items:center;pointer-events:none;padding:0 12px;}.paging-buttons.svelte-1n46o8q .nav-button {transition:0.2s ease-in-out;box-shadow:none;}.paging-buttons.svelte-1n46o8q .nav-button img {opacity:0.6;}\n\n@media (prefers-reduced-motion: reduce) {.eko-gallery-app.svelte-1n46o8q * {animation-duration:0.01ms !important;animation-iteration-count:1 !important;scroll-behavior:auto !important;transition-delay:0ms !important;transition-duration:0.01ms !important;}\n}'};function Rd(t,e){Li(e,!0),Pa(t,Pd);let n=ll(e,"config",19,(()=>({}))),i=ll(e,"variant",7),r=ll(e,"forceMobile",3,!1),o=ll(e,"videoAspectRatio",3,"unset"),s=ll(e,"loadAnalytics",3,!0),a=ll(e,"onGalleryReady",3,(()=>{})),l=ll(e,"onEvent",3,(()=>{}));var c;!Md&&s()&&(xd(null===(c=n())||void 0===c||null===(c=c.options)||void 0===c?void 0:c.galleryEnv),Md=!0);let u,d,h=!1,f=vo(Io(new bu({...n(),onEvent:l()}))),p=vo(null),m=ro((()=>r()||gd().isMobile)),v=ro((()=>{var t;return e.theme||(null===(t=n())||void 0===t||null===(t=t.options)||void 0===t?void 0:t.theme)})),g=ro((()=>{var t;return Bs(m)&&!(null!==(t=n())&&void 0!==t&&null!==(t=t.options)&&void 0!==t&&t.disableSwipes)})),y=ro((()=>{var t,e;return Bs(m)?null===(t=n())||void 0===t||null===(t=t.layout)||void 0===t?void 0:t.mobile:null===(e=n())||void 0===e||null===(e=e.layout)||void 0===e?void 0:e.desktop})),b=ro((()=>{var t;return null===(t=Bs(y))||void 0===t?void 0:t.hideNav})),k=vo(0),w=vo(void 0),x=vo(!0),_=vo(Io({width:"100%",height:"100%"}));const I=function(){let t=Object.create(null);return{clear(){t=Object.create(null)},set(e,n,i){t[e]={reset:!0===i,stepIndex:n}},take(e){const n=t[e];if(n)return n.reset&&delete t[e],n.stepIndex}}}();var T,E;function S(t){var e,n;return null!==(e=null===(n=Bs(f).state.currentItemsList)||void 0===n?void 0:n.findIndex((e=>{var n;return e.id===t||(null===(n=e.modules)||void 0===n?void 0:n.some((e=>e.id===t)))})))&&void 0!==e?e:-1}function M(t,e,n=""){return{elementid:t||"",elementtype:e,elementname:n,interactiontype:"parent-command"}}function A(){return{play(){var t;return!(null===(t=Bs(p))||void 0===t||!t.play)&&(Bs(p).play(),!0)},pause(){var t;return!(null===(t=Bs(p))||void 0===t||!t.pause)&&(Bs(p).pause(),!0)},setMuted:t=>!!Bs(p)&&(Bs(p).muted=t,!0),setVolume:t=>!!Bs(p)&&(Bs(p).volume=t,!0),isStarted:()=>Bs(f).state.startedPlaying,updateVariant(t){var e;const i=Ed(t,n());return!(null===(e=Bs(f).state.variants)||void 0===e||!e[i])&&(Bs(f).selectVariant(i),{handled:!0,interaction:M(t,"variant")})},setNextBlock(t,e){const n=S(t);if(!e||n<0)return!1;const i=I.take(t);"number"==typeof i?Bs(f).selectItemAndStep(n,i):Bs(f).selectItem(n);const r=Bs(f).state.currentItemsList[n];return{handled:!0,interaction:M(t,"gallery item",(null==r?void 0:r.name)||"")}},endBlock(t){var e;const n=Bs(f).state.currentItem;return!(t&&(null==n?void 0:n.id)!==t&&!(null==n||null===(e=n.modules)||void 0===e?void 0:e.some((e=>e.id===t))))&&(Bs(f).next(),{handled:!0,interaction:M(t,"next button")})},selectOption(t,e){var n;if(S(t)!==Bs(f).state.activeItemIndex)return!1;const i=Bs(f).state.currentModule,r=null==i||null===(n=i.state)||void 0===n||null===(n=n.items)||void 0===n?void 0:n[e];return!(!r||"function"!=typeof i.state.onItemClicked)&&(i.state.onItemClicked(e),{handled:!0,interaction:{elementid:String(e+1),elementtype:"toggle",elementname:r.label||"",interactiontype:"module-ui"}})},setInitialStep(t,e,n){var i;const r=S(t),o=e>0?e-1:0,s=null===(i=Bs(f).state.currentItemsList)||void 0===i||null===(i=i[r])||void 0===i?void 0:i.modules;return!(r<0||null==s||!s[o])&&(I.set(t,o,n),!0)},jumpToStep(t,e){var n;const i=S(t);if(i<0)return!1;if("next"===e||"prev"===e)return i===Bs(f).state.activeItemIndex&&(Bs(f)[e](),{handled:!0,interaction:M(t,"next"===e?"next button":"previous button")});const r=e>0?e-1:0;return!(null===(n=Bs(f).state.currentItemsList)||void 0===n||null===(n=n[i])||void 0===n||null===(n=n.modules)||void 0===n||!n[r])&&(Bs(f).selectItemAndStep(i,r),{handled:!0,interaction:M(t,"gallery step",String(e))})},getPerformance:()=>_d(Bs(p),d)}}function N(){d=void 0;const t={AssetsDeliveryService:{assetsDeliveryServiceUrl:Bs(f).urls.assetsDeliveryBase},Tracker:{tag:Bs(f).uuid}};yo(p,new e.EkoPlayer(u,function(t,...e){function n(t){return"[object Object]"===Object.prototype.toString.call(t)}function i(t,e){if(Array.isArray(e)){Array.isArray(t)||(t=Array.isArray(t)?t.slice():[]);const r=Math.max(t.length,e.length);for(let o=0;o<r;o++){const r=t[o],s=e[o];null!=s&&(n(r)&&n(s)?t[o]=i({...r},s):Array.isArray(r)&&Array.isArray(s)?t[o]=i(r.slice(),s):n(s)?t[o]=i({},s):Array.isArray(s)?t[o]=i([],s):t[o]=s)}return t}if(n(e)){n(t)||(t={});for(const r of Object.keys(e)){const o=t[r],s=e[r];n(o)&&n(s)?t[r]=i({...o},s):Array.isArray(o)&&Array.isArray(s)?t[r]=i(o.slice(),s):n(s)?t[r]=i({},s):Array.isArray(s)?t[r]=i([],s):void 0!==s&&(t[r]=s)}return t}return e}for(const n of e)null!==n&&i(t,n);return t}({},e.playerOptions,t))),Bs(p).on("canplay",(t=>{l()("canplay",t)})),Bs(p).on("nodestart",(t=>{null!=t&&t.nodeId&&Number.isFinite(null==t?void 0:t.time)&&(d={nodeId:t.nodeId,nodeOffsetOverride:Number.isFinite(t.nodeOffsetOverride)?t.nodeOffsetOverride:0,offset:t.time}),l()("nodestart",t)})),Bs(p).on("playing",(t=>{Bs(f).state.paused=!1,Bs(f).state.startedPlaying||(Bs(f).state.startedPlaying=!0,l()("galleryloaded")),l()("playing",t)})),Bs(p).on("pause",(t=>{Bs(f).state.paused=!0,l()("pause",t)}))}function C(t){var e;null===(e=Bs(f))||void 0===e||e.selectItem(t)}function F(){var t;null===(t=Bs(f))||void 0===t||t.next()}function O(){var t;null===(t=Bs(f))||void 0===t||t.prev()}function P(){Bs(p).paused?(Bs(p).play(),l()("userplay")):(Bs(p).pause(),l()("userpause"))}function R(){return`--uiTranformX: ${Bs(k)}px;--videoAspect: ${o()};--videoWidth: ${Bs(_).width};--videoHeight: ${Bs(_).height};`}T="state",E=()=>Bs(f).state,Wi("setContext").set(T,E),Bs(f).state.activeVariant=Sd(i(),n(),Bs(f).state),va((()=>{try{n()&&e.EkoPlayer&&(N(),Bs(f).start(Bs(p))),a()(Mu(Bs(f)),A())}catch{var t;null===(t=e.onGalleryError)||void 0===t||t.call(e,"gallery-initialization-failure")}return()=>{var t;null===(t=Bs(p))||void 0===t||t.dispose(),Bs(f).dispose()}})),Ko((()=>{var t;n()&&e.EkoPlayer&&(h?(null===(t=e.onGalleryReinitializing)||void 0===t||t.call(e),Ws((()=>{yo(x,!1),Ds().then((()=>{var t;return Bs(f).dispose(),yo(f,new bu({...n(),onEvent:l()}),!0),I.clear(),Bs(f).state.activeVariant=Sd(i(),n(),Bs(f).state),null===(t=Bs(p))||void 0===t||t.dispose(),yo(x,!0),Ds()})).then((()=>{N(),Bs(f).start(Bs(p)),a()(Mu(Bs(f)),A())})).catch((()=>{var t;return null===(t=e.onGalleryError)||void 0===t?void 0:t.call(e,"gallery-reinitialization-failure")}))}))):h=!0)})),Ko((()=>{!Md&&s()&&(xd(Ws((()=>{var t;return null===(t=n())||void 0===t||null===(t=t.options)||void 0===t?void 0:t.galleryEnv}))),Md=!0)})),Ko((()=>{const t=Ed(i(),Ws((()=>n())));t&&t!==Ws((()=>Bs(f).state.activeVariant))&&Bs(f).selectVariant(t)})),Ko((()=>{const t=Ws((()=>Ed(i(),n())));Bs(f).state.activeVariant!==t&&Ws((()=>{i(Bs(f).state.activeVariant)}))})),Ko((()=>{Bs(w)&&Bs(p)&&Bs(p).loadDebugOverlay({containerElement:Bs(w)})})),Ko((()=>{if("unset"!==o()&&o().includes("/")){const[t,e]=o().split("/").map((t=>Number(t)));isNaN(t)||isNaN(e)||yo(_,t>e?{width:"100%",height:"auto"}:{width:"auto",height:"100%"},!0)}else yo(_,{width:"100%",height:"100%"},!0)})),Ko((()=>{!async function(t,e){if(t&&!kd.has(t)){e.state.themeLoaded=!1;try{let n;try{n=await yd(Object.assign({"../themes/smg.scss":()=>Promise.resolve({}),"../themes/walmart.scss":()=>Promise.resolve({}),"../themes/wayfair.scss":()=>Promise.resolve({})}),`../themes/${t}.scss`,3)}catch{console.warn("[eko-gallery-app] theme-module-import-failure")}if(!n||"Module"!==n[Symbol.toStringTag]){const n=`${e.urls.galleryAppDelivery}/${e.version}/${t}.css`,i=document.createElement("link");i.rel="stylesheet",i.href=n;const r=new Promise(((t,e)=>{const n=setTimeout((()=>{e("timeout")}),bd);i.onload=()=>{t(),clearTimeout(n)}}));document.head.appendChild(i),await r}kd.add(t)}catch{console.warn("[eko-gallery-app] theme-load-failure")}e.state.themeLoaded=!0}else e.state.themeLoaded=!0}(Bs(v),Bs(f))}));let D=null;Ko((()=>{const t=Bs(f),e=t.state.activeItemIndex,n=t.state.activeModuleIndex;if(D!==t)return D=t,()=>{};const i=setTimeout((()=>{var i,r;const o=null===(i=t.state.currentItemsList)||void 0===i?void 0:i[e],s=null==o||null===(r=o.modules)||void 0===r?void 0:r[n];l()("itemchanged",{itemIndex:e,moduleIndex:n,itemId:null==o?void 0:o.id,moduleId:null==s?void 0:s.id})}),150);return()=>clearTimeout(i)}));var B=Od(),L=Bo(B),z=t=>{const n=ro((()=>Bs(f).state.introModule));var i=Fd(),r=Lo(i),o=Bo(r);sl(o,(t=>u=t),(()=>u));var s=zo(o,2);pd(s,{get isMobile(){return Bs(m)},get gallery(){return Bs(f)},get debug(){return e.debug},get swipeEnabled(){return Bs(g)},get onEvent(){return l()},get scrollOffset(){return Bs(k)},set scrollOffset(t){yo(k,t,!0)}});var a=zo(s,2),c=t=>{var e=Nd(),n=Lo(e),i=t=>{var e=Ad(),n=Bo(e);Bu(n,{type:"prev",onClick:O,get gallery(){return Bs(f)}}),Bu(zo(n,2),{type:"next",onClick:F,get gallery(){return Bs(f)}}),xi(e),ta(t,e)};ba(n,(t=>{Bs(g)||Bs(b)||t(i)}));var r=zo(n,2),o=t=>{ju(t,{get gallery(){return Bs(f)},get isMobile(){return Bs(m)}})};ba(r,(t=>{var e;(null===(e=Bs(f).state.currentItem)||void 0===e?void 0:e.modules.length)>1&&t(o)}));var s=zo(r,2),a=t=>{!function(t,e){Li(e,!0),Pa(t,Vu);const n=Bi("state");let i=ro((()=>n().paused));var r=qu(),o=ro((()=>e.gallery.interaction(e.onPauseClick)));r.__click=function(...t){var e;null===(e=Bs(o))||void 0===e||e.apply(this,t)};var s=Bo(r),a=t=>{ta(t,$u())},l=t=>{ta(t,Uu())};ba(s,(t=>{Bs(i)?t(a):t(l,!1)})),xi(r),Jo((()=>{Ja(r,"aria-label",Bs(i)?"Play":"Pause"),Ja(r,"data-elementname",Bs(i)?"Play":"Pause"),Ja(r,"data-interactiontype",Bs(i)?"play":"pause")})),ta(t,r),zi()}(t,{onPauseClick:P,get gallery(){return Bs(f)}})};ba(s,(t=>{Bs(f).state.startedPlaying&&t(a)})),ta(t,e)};ba(a,(t=>{Bs(n)&&!Bs(f).state.introModulePlayed||!Bs(f).state.themeLoaded||t(c)}));var d=zo(a,2),h=t=>{var n=Zs(),i=Lo(n),r=t=>{var e=Cd();sl(e,(t=>yo(w,t)),(()=>Bs(w))),ta(t,e)};ba(i,(t=>{e.debug&&t(r)})),ta(t,n)};ba(d,(t=>{Bs(f).state.startedPlaying&&t(h)})),xi(r);var p=zo(r,2),v=t=>{Ou(t,{onNavItemClick:C,get gallery(){return Bs(f)}})};ba(p,(t=>{Bs(b)||Bs(n)&&!Bs(f).state.introModulePlayed||t(v)})),Jo((t=>Ua(r,t)),[R]),ta(t,i)};ba(L,(t=>{n()&&Bs(x)&&t(z)})),xi(B),Jo((()=>ja(B,1,"eko-gallery-app "+(Bs(v)?`theme-${Bs(v)}`:""),"svelte-1n46o8q"))),ta(t,B),zi()}function Dd(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Bd,Ld,zd,Wd,jd={exports:{}},$d=Dd((Bd||(Bd=1,zd=jd.exports,Wd=function(){var t=function(){},e="undefined",n=typeof window!==e&&typeof window.navigator!==e&&/Trident\/|MSIE /.test(window.navigator.userAgent),i=["trace","debug","info","warn","error"],r={},o=null;function s(t,e){var n=t[e];if("function"==typeof n.bind)return n.bind(t);try{return Function.prototype.bind.call(n,t)}catch(e){return function(){return Function.prototype.apply.apply(n,[t,arguments])}}}function a(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function l(){for(var n=this.getLevel(),r=0;r<i.length;r++){var o=i[r];this[o]=r<n?t:this.methodFactory(o,n,this.name)}if(this.log=this.debug,typeof console===e&&n<this.levels.SILENT)return"No console available for logging"}function c(t){return function(){typeof console!==e&&(l.call(this),this[t].apply(this,arguments))}}function u(i,r,o){return"debug"===(l=i)&&(l="log"),typeof console!==e&&("trace"===l&&n?a:void 0!==console[l]?s(console,l):void 0!==console.log?s(console,"log"):t)||c.apply(this,arguments);var l}function d(t,n){var s,a,c,d=this,h="loglevel";function f(){var t;if(typeof window!==e&&h){try{t=window.localStorage[h]}catch(t){}if(typeof t===e)try{var n=window.document.cookie,i=encodeURIComponent(h),r=n.indexOf(i+"=");-1!==r&&(t=/^([^;]+)/.exec(n.slice(r+i.length+1))[1])}catch(t){}return void 0===d.levels[t]&&(t=void 0),t}}function p(t){var e=t;if("string"==typeof e&&void 0!==d.levels[e.toUpperCase()]&&(e=d.levels[e.toUpperCase()]),"number"==typeof e&&e>=0&&e<=d.levels.SILENT)return e;throw new TypeError("log.setLevel() called with invalid level: "+t)}"string"==typeof t?h+=":"+t:"symbol"==typeof t&&(h=void 0),d.name=t,d.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},d.methodFactory=n||u,d.getLevel=function(){return null!=c?c:null!=a?a:s},d.setLevel=function(t,n){return c=p(t),!1!==n&&function(t){var n=(i[t]||"silent").toUpperCase();if(typeof window!==e&&h){try{return void(window.localStorage[h]=n)}catch(t){}try{window.document.cookie=encodeURIComponent(h)+"="+n+";"}catch(t){}}}(c),l.call(d)},d.setDefaultLevel=function(t){a=p(t),f()||d.setLevel(t,!1)},d.resetLevel=function(){c=null,function(){if(typeof window!==e&&h){try{window.localStorage.removeItem(h)}catch(t){}try{window.document.cookie=encodeURIComponent(h)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(t){}}}(),l.call(d)},d.enableAll=function(t){d.setLevel(d.levels.TRACE,t)},d.disableAll=function(t){d.setLevel(d.levels.SILENT,t)},d.rebuild=function(){if(o!==d&&(s=p(o.getLevel())),l.call(d),o===d)for(var t in r)r[t].rebuild()},s=p(o?o.getLevel():"WARN");var m=f();null!=m&&(c=p(m)),l.call(d)}(o=new d).getLogger=function(t){if("symbol"!=typeof t&&"string"!=typeof t||""===t)throw new TypeError("You must supply a name when creating a logger.");var e=r[t];return e||(e=r[t]=new d(t,o.methodFactory)),e};var h=typeof window!==e?window.log:void 0;return o.noConflict=function(){return typeof window!==e&&window.log===o&&(window.log=h),o},o.getLoggers=function(){return r},o.default=o,o},(Ld=jd).exports?Ld.exports=Wd():zd.log=Wd()),jd.exports));const Ud=()=>{},qd=["trace","log","debug","info","warn","error","getLevel","setLevel"],Vd=["trace","debug","info","warn","error","silent"],Gd={TRACE:"color: white; background-color: magenta;",DEBUG:"color: black; background-color: turquoise;",INFO:"color: white; background-color: green;",WARN:"color: black; background-color: yellow;",ERROR:"color: white; background-color: red;"},Hd="undefined"!=typeof self&&self||"undefined"!=typeof window&&window||"undefined"!=typeof global&&global;let Kd={level:"trace",appName:""},Xd=[];const Yd="object"==typeof Hd&&Hd.performance&&"function"==typeof Hd.performance.now?Hd.performance.now.bind(Hd.performance):Date.now.bind(Date),Qd=t=>t&&"string"==typeof t?t.toLowerCase().trim():"",Jd=(()=>{try{const t=new URLSearchParams(document.location.search),e=[].concat(t.getAll("log")).concat(t.getAll("ekolog")).concat(t.getAll("ekologger")).join(",").split(",");if(0===e.length)return{};let n={};return e.forEach((t=>{const[e,i]=t.split(":");n[Qd(e)]=Qd(i)||"trace"})),n}catch(t){return{}}})(),Zd=(t,e="")=>{const n=Qd(t),i=$d.getLogger(n);if(i.__ekologger)return i.__ekologger;e||Jd[n]||Jd["*"]||(i.__noExplicitLevel=!0);const r=i.methodFactory;i.methodFactory=(e,n,i)=>{const o=r(e,n,i),s=e.toUpperCase();return(...e)=>{o(`[${((t,e=3)=>(Yd()/1e3).toFixed(e))()}] %c[${s}] ${Kd.appName?`[${Kd.appName}] `:""}[${t}]`,Gd[s],...e)}},e=Jd[n]||Jd["*"]||e||Kd.level,i.setLevel(e,!1);const o=(...t)=>i.log(...t);return qd.forEach((t=>{o[t]=(...e)=>(Xd.forEach((n=>{n[t](...e)})),i[t](...e))})),i.__ekologger=o,o};Zd.setDefaults=({appName:t="",level:e})=>{t&&"string"==typeof t&&(Kd.appName=t),(e=Qd(e))&&Vd.includes(e)&&(Kd.level=e,Object.values($d.getLoggers()).filter((t=>t.__noExplicitLevel)).forEach((t=>t.setLevel(Kd.level,!1))))},Zd.installDriver=t=>{const e={...qd.reduce(((e,n)=>(e[n]="function"==typeof(null==t?void 0:t[n])?t[n]:Ud,e)),{})};Xd.push(e)};let th=class{#S=new Map;on(t,e){if("function"!=typeof e)return this;const n=this.#S.get(t)||new Set;return n.add(e),this.#S.set(t,n),this}once(t,e){if("function"!=typeof e)return this;const n=(...i)=>(this.off(t,n),e(...i));return this.on(t,n)}off(t,e){if(!t)return this.#S.clear(),this;const n=this.#S.get(t);return n?e?(n.delete(e),0===n.size&&this.#S.delete(t),this):(this.#S.delete(t),this):this}trigger(t,...e){const n=this.#S.get(t);return n?(n.forEach((t=>t(...e))),this):this}};function eh(t){return"[object Object]"===Object.prototype.toString.call(t)}function nh(t,...e){const n=eh(t)?{...t}:{};return e.forEach((t=>{eh(t)&&Object.keys(t).forEach((e=>{const i=t[e],r=n[e];eh(i)&&eh(r)?n[e]=nh(r,i):Array.isArray(i)?n[e]=i.slice():n[e]=i}))})),n}function ih(t){if("string"==typeof t)return`'${t}'`;if(Array.isArray(t))return`[${t.map((t=>ih(t))).join(", ")}]`;if(eh(t))try{return JSON.stringify(t)}catch(t){return"[object Object]"}return null===t?"null":void 0===t?"undefined":String(t)}function rh(t){return Array.from(t).map((t=>ih(t))).join(", ")}var oh=new WeakSet;let sh=class extends th{constructor(...t){super(),O(this,oh);const e=t.length?t[t.length-1]:void 0,n=this.name;if(!n||"string"!=typeof n)throw new Error("Extending classes must implement get name() returning a string.");this.log=Zd(n,this.loglevel);const i=eh(this.defaults)?this.defaults:{},r=eh(e)&&eh(e[n])?e[n]:{};this.settings=nh({},i,r),M(oh,this,ah).call(this),M(oh,this,lh).call(this)}get name(){throw new Error("BaseModuleClass requires a name getter.")}get loglevel(){return"warn"}get defaults(){return{}}get methodsExcludedFromAutoLog(){return new Set(["constructor","on","off","once","trigger","#wrapMethodsForLogging"])}dispose(){this._disposed||(this._disposed=!0,"function"==typeof this._lifecycleCleanup&&(this._lifecycleCleanup(),this._lifecycleCleanup=null),"function"==typeof this.onDispose&&this.onDispose())}onDispose(){}};function ah(){const t=new Set,e=this.methodsExcludedFromAutoLog;let n=Object.getPrototypeOf(this);for(;n&&n!==Object.prototype;){const i=Object.getOwnPropertyNames(n);for(let r=0;r<i.length;r+=1){const o=i[r];if("constructor"===o||o.startsWith("#"))continue;if(t.has(o))continue;const s=Object.getOwnPropertyDescriptor(n,o);if(!s||"function"!=typeof s.value)continue;const a=s.value.bind(this),l=!e.has(o);this[o]=l?(...t)=>(this.log&&"function"==typeof this.log.debug&&this.log.debug(`${this.name}.${o}(${rh(t)})`),a(...t)):a,t.add(o)}n=Object.getPrototypeOf(n)}}function lh(){if("undefined"==typeof window||"function"!=typeof window.addEventListener)return;const t=()=>{try{"function"==typeof this.dispose&&this.dispose()}catch(t){this.log&&"function"==typeof this.log.error&&this.log.error("dispose failed",t)}};window.addEventListener("pagehide",t),window.addEventListener("beforeunload",t),this._lifecycleCleanup=()=>{window.removeEventListener("pagehide",t),window.removeEventListener("beforeunload",t)}}const ch="undefined"!=typeof self&&self||"undefined"!=typeof window&&window||"undefined"!=typeof global&&global||{};function uh(t){return Boolean(t)&&"object"==typeof t&&1===t.nodeType&&"function"==typeof t.appendChild}const dh=Object.freeze({NODE_ADD:"node:add",NODE_CHILDREN_CHANGED:"node:childrenchanged",NODE_LOADED:"node:loaded",NODE_LOAD_ERROR:"node:loaderror",PLACEMENT_ADDED:"placement:added",RENDER_PLACEMENT_ADDED:"renderplacement:added",TIMELINE_TIME_UPDATE:"timeline:timeupdate",TIMELINE_STATE_CHANGE:"statechange",TIMELINE_SEEKING:"seeking",TIMELINE_SEEKED:"seeked",TIMELINE_RESET:"timeline:reset",TIMELINE_PLAYER_STATE:"player:state",TIMELINE_CUEPOINT:"cuepoint",VISUAL_FRAMES_AVAILABLE:"visualframesavailable",TRACK_BUFFER_UPDATE:"track:bufferupdate",TRACK_READY:"track:ready",TRACK_UNDERFLOW:"track:underflow",CLOCK_TICK:"tick",DECODE_READY:"decode:ready",DECODE_ERROR:"decode:error",DECODER_AUDIO:"decoder:audio",DECODER_FRAME:"decoder:frame",DECODER_INIT:"decoder:init",DECODER_ERROR:"decoder:error",QOE_SCORE:"qoescore",QOE_STATUS:"qoestatus",CONTAINER_RESIZE:"containerresize",CANVAS_WEBGL_CONTEXT_LOST:"canvas.webglcontextlost",CANVAS_WEBGL_CONTEXT_RESTORED:"canvas.webglcontextrestored"});function hh(t,e){const n={};return Number.isFinite(t)&&(n.time=t),"string"==typeof e&&(n.source=e),n}function fh({placementId:t,nodeId:e,trackId:n,segmentId:i,trackType:r,pts:o,duration:s,frame:a,audioBuffer:l}={}){const c={};return t&&(c.placementId=t),e&&(c.nodeId=e),n&&(c.trackId=n),i&&(c.segmentId=i),r&&(c.trackType=r),Number.isFinite(o)&&(c.pts=o),Number.isFinite(s)&&(c.duration=s),a&&(c.frame=a),l&&(c.audioBuffer=l),c}function ph({placementId:t,nodeId:e,trackId:n,segmentId:i,trackType:r,error:o}={}){const s={};return t&&(s.placementId=t),e&&(s.nodeId=e),n&&(s.trackId=n),i&&(s.segmentId=i),r&&(s.trackType=r),o&&(s.error=o),s}var mh=new WeakMap,vh=new WeakMap,gh=new WeakMap,yh=new WeakMap,bh=new WeakMap,kh=new WeakMap,wh=new WeakMap,xh=new WeakSet;let _h=class extends sh{get defaults(){return{style:{width:"100%",height:"100%"},contextAttributes:{alpha:!1,depth:!1,stencil:!1,antialias:!1,preserveDrawingBuffer:!1,powerPreference:"low-power"}}}constructor(...t){var e,n;super(...t),O(this,xh),C(this,mh,void 0),C(this,vh,void 0),C(this,gh,void 0),C(this,yh,void 0),C(this,bh,void 0),C(this,kh,void 0),C(this,wh,void 0);const[i,r=null]=t;F(kh,this,r);const o=function(t,e=(null==ch?void 0:ch.document)){if(uh(t))return t;const n="string"==typeof t?t:null;if(!n||!e||"function"!=typeof e.querySelector)return null;const i=e.querySelector(n);return uh(i)?i:null}(i);if(!o)throw new Error("Canvas requires a valid mount target (HTMLElement or selector string).");F(mh,this,o);const s=null==ch?void 0:ch.document;if(!s||"function"!=typeof s.createElement)throw new Error("Canvas requires document.createElement.");var a,l;F(vh,this,s.createElement("canvas")),a=N(vh,this),l=null===(e=this.settings)||void 0===e?void 0:e.style,a&&l&&"object"==typeof l&&!Array.isArray(l)&&Object.keys(l).forEach((t=>{const e=l[t];null!=e&&(a.style[t]=String(e))})),N(mh,this).appendChild(N(vh,this));const c=null===(n=this.settings)||void 0===n?void 0:n.contextAttributes,u=c&&"object"==typeof c&&!Array.isArray(c)?c:void 0;if(F(wh,this,u),F(gh,this,N(vh,this).getContext("webgl2",u)),!N(gh,this))throw new Error("Canvas WebGL2 context is not available.");M(xh,this,Th).call(this)}get name(){return"Canvas"}get element(){return N(vh,this)}get gl(){return N(gh,this)}onDispose(){M(xh,this,Eh).call(this),N(vh,this)&&N(vh,this).parentNode&&N(vh,this).parentNode.removeChild(N(vh,this)),F(gh,this,null),F(vh,this,null),F(mh,this,null),F(kh,this,null),F(wh,this,null),F(yh,this,null),F(bh,this,null)}};function Ih(t,e){var n,i;this.trigger(t,e),null===(n=N(kh,this))||void 0===n||null===(i=n.trigger)||void 0===i||i.call(n,t,e)}function Th(){N(vh,this)&&(F(yh,this,(t=>{"function"==typeof(null==t?void 0:t.preventDefault)&&t.preventDefault(),this.log.error("WebGL context lost",t),M(xh,this,Ih).call(this,dh.CANVAS_WEBGL_CONTEXT_LOST,t)})),F(bh,this,(t=>{var e;F(gh,this,(null===(e=N(vh,this))||void 0===e?void 0:e.getContext("webgl2",N(wh,this)))||null),N(gh,this)?M(xh,this,Ih).call(this,dh.CANVAS_WEBGL_CONTEXT_RESTORED,t):this.log.error("WebGL context restored event fired but WebGL2 context is still unavailable.",t)})),N(vh,this).addEventListener("webglcontextlost",N(yh,this)),N(vh,this).addEventListener("webglcontextrestored",N(bh,this)))}function Eh(){N(vh,this)&&(N(vh,this).removeEventListener("webglcontextlost",N(yh,this)),N(vh,this).removeEventListener("webglcontextrestored",N(bh,this)))}var Sh=new WeakMap,Mh=new WeakMap,Ah=new WeakMap,Nh=new WeakMap,Ch=new WeakMap,Fh=new WeakMap,Oh=new WeakSet;let Ph=class extends sh{get name(){return"ContainerSize"}get containerWidth(){return N(Mh,this)}get containerHeight(){return N(Ah,this)}get width(){return N(Mh,this)}get height(){return N(Ah,this)}constructor(...t){super(...t),O(this,Oh),C(this,Sh,void 0),C(this,Mh,0),C(this,Ah,0),C(this,Nh,null),C(this,Ch,null),C(this,Fh,null);const[e]=t;var n;F(Sh,this,(n=e)&&n.element&&uh(n.element)?n.element:uh(n)?n:null),N(Sh,this)&&(M(Oh,this,Dh).call(this,!0),M(Oh,this,Rh).call(this))}onDispose(){N(Nh,this)&&"function"==typeof N(Nh,this).disconnect&&N(Nh,this).disconnect(),F(Nh,this,null),N(Fh,this)&&"function"==typeof(null==ch?void 0:ch.removeEventListener)&&ch.removeEventListener("resize",N(Fh,this)),F(Fh,this,null),N(Ch,this)&&((null==ch?void 0:ch.clearInterval)||clearInterval)(N(Ch,this)),F(Ch,this,null),F(Sh,this,null)}};function Rh(){if(!N(Sh,this))return;const t=null==ch?void 0:ch.ResizeObserver;if("function"==typeof t)return F(Nh,this,new t((()=>M(Oh,this,Dh).call(this)))),void N(Nh,this).observe(N(Sh,this));F(Fh,this,(()=>M(Oh,this,Dh).call(this))),"function"==typeof(null==ch?void 0:ch.addEventListener)&&ch.addEventListener("resize",N(Fh,this));const e=(null==ch?void 0:ch.setInterval)||setInterval;F(Ch,this,e((()=>M(Oh,this,Dh).call(this)),250))}function Dh(t=!1){if(!N(Sh,this))return;const{width:e,height:n}=function(t){const e=Number(null==t?void 0:t.clientWidth),n=Number(null==t?void 0:t.clientHeight);return{width:Number.isFinite(e)&&e>0?Math.round(e):0,height:Number.isFinite(n)&&n>0?Math.round(n):0}}(N(Sh,this));(t||e!==N(Mh,this)||n!==N(Ah,this))&&(F(Mh,this,e),F(Ah,this,n),this.trigger("containerresize",{width:e,height:n}))}var Bh={VIDEO_SOURCE_PREFIX:"__SRC_VID:",TEXTURE_SOURCE_PREFIX:"__SRC_TEXTURE:",PREVIOUS_OUTPUT_PREFIX:"__PREVIOUS:",SAVED_FRAME_PREFIX:"__SAVED_FRAME:",SYSTEM_NODES:{FILTERS:{RENDER_TO_CANVAS:"__default"},TAGS:{ATOM:"atom",FILTER:"filter",COMPOSITE_FILTER:"composite",TRANSITION_FILTER:"transition"}},MESSAGES:{UPDATE_OPTIONS:"update_options"}};let Lh=class{constructor(t,e){this.canvasSource=t,this.startRendering=e,this.gl=null,this.glOptions=null}init(t,e,n){this.glOptions=n||{};const i=this.initCanvas(this.canvasSource,t,e);return this.initWebgl(i,this.glOptions)}initCanvas(){throw new Error("implement on concrete class")}getContextConfig(t={}){if(!t||"object"!=typeof t)return{contextType:"webgl",contextAttributes:void 0};const{contextType:e,contextAttributes:n,__shaderGraph:i,...r}=t,o=Object.prototype.hasOwnProperty.call(t,"contextAttributes");let s=o?n:r;return o||!s||"object"!=typeof s||Array.isArray(s)||0!==Object.keys(s).length||(s=void 0),{contextType:e||"webgl",contextAttributes:s}}initWebgl(t,e={}){const{contextType:n,contextAttributes:i}=this.getContextConfig(e),r=t.getContext(n,i);if(!r)throw new Error(`Browser doesn't support ${n}`);return r.enable(r.BLEND),r.disable(r.DEPTH_TEST),r.clearColor(0,0,0,0),r.clear(r.COLOR_BUFFER_BIT),r}isStartRendering(){return this.startRendering}};var zh,Wh={exports:{}},jh=(zh||(zh=1,function(t){var e=Object.prototype.hasOwnProperty,n="~";function i(){}function r(t,e,n){this.fn=t,this.context=e,this.once=n||!1}function o(t,e,i,o,s){if("function"!=typeof i)throw new TypeError("The listener must be a function");var a=new r(i,o||t,s),l=n?n+e:e;return t._events[l]?t._events[l].fn?t._events[l]=[t._events[l],a]:t._events[l].push(a):(t._events[l]=a,t._eventsCount++),t}function s(t,e){0==--t._eventsCount?t._events=new i:delete t._events[e]}function a(){this._events=new i,this._eventsCount=0}Object.create&&(i.prototype=Object.create(null),(new i).__proto__||(n=!1)),a.prototype.eventNames=function(){var t,i,r=[];if(0===this._eventsCount)return r;for(i in t=this._events)e.call(t,i)&&r.push(n?i.slice(1):i);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(t)):r},a.prototype.listeners=function(t){var e=n?n+t:t,i=this._events[e];if(!i)return[];if(i.fn)return[i.fn];for(var r=0,o=i.length,s=new Array(o);r<o;r++)s[r]=i[r].fn;return s},a.prototype.listenerCount=function(t){var e=n?n+t:t,i=this._events[e];return i?i.fn?1:i.length:0},a.prototype.emit=function(t,e,i,r,o,s){var a=n?n+t:t;if(!this._events[a])return!1;var l,c,u=this._events[a],d=arguments.length;if(u.fn){switch(u.once&&this.removeListener(t,u.fn,void 0,!0),d){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,e),!0;case 3:return u.fn.call(u.context,e,i),!0;case 4:return u.fn.call(u.context,e,i,r),!0;case 5:return u.fn.call(u.context,e,i,r,o),!0;case 6:return u.fn.call(u.context,e,i,r,o,s),!0}for(c=1,l=new Array(d-1);c<d;c++)l[c-1]=arguments[c];u.fn.apply(u.context,l)}else{var h,f=u.length;for(c=0;c<f;c++)switch(u[c].once&&this.removeListener(t,u[c].fn,void 0,!0),d){case 1:u[c].fn.call(u[c].context);break;case 2:u[c].fn.call(u[c].context,e);break;case 3:u[c].fn.call(u[c].context,e,i);break;case 4:u[c].fn.call(u[c].context,e,i,r);break;default:if(!l)for(h=1,l=new Array(d-1);h<d;h++)l[h-1]=arguments[h];u[c].fn.apply(u[c].context,l)}}return!0},a.prototype.on=function(t,e,n){return o(this,t,e,n,!1)},a.prototype.once=function(t,e,n){return o(this,t,e,n,!0)},a.prototype.removeListener=function(t,e,i,r){var o=n?n+t:t;if(!this._events[o])return this;if(!e)return s(this,o),this;var a=this._events[o];if(a.fn)a.fn!==e||r&&!a.once||i&&a.context!==i||s(this,o);else{for(var l=0,c=[],u=a.length;l<u;l++)(a[l].fn!==e||r&&!a[l].once||i&&a[l].context!==i)&&c.push(a[l]);c.length?this._events[o]=1===c.length?c[0]:c:s(this,o)}return this},a.prototype.removeAllListeners=function(t){var e;return t?(e=n?n+t:t,this._events[e]&&s(this,e)):(this._events=new i,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=n,a.EventEmitter=a,t.exports=a}(Wh)),Wh.exports),$h=Dd(jh);let Uh=class extends Lh{constructor(t){super(t,!0),this.setSrcVidTracksFn=null,this.shouldUpdateTexture=!0,this.onPlayerSeeking=this.onPlayerSeeking.bind(this),this.onPlayerSeeked=this.onPlayerSeeked.bind(this),this.onPlayerNodeStart=this.onPlayerNodeStart.bind(this),this.oncePlayerPlaying=this.oncePlayerPlaying.bind(this);const e=new $h;this.on=e.on.bind(e),this.off=e.off.bind(e),this.once=e.once.bind(e),this.trigger=e.emit.bind(e)}onPlayerSeeking(){this.shouldUpdateTexture=!1}onPlayerSeeked(){this.shouldUpdateTexture=!0}onPlayerNodeStart(){this.shouldUpdateTexture=!0,"function"==typeof this.player.canvas.drawFrame&&this.player.canvas.drawFrame(),this.trigger("forcerender")}oncePlayerPlaying(){this.onPlayerNodeStart()}addPlayerListeners(){this.player&&(this.player.on("seeking",this.onPlayerSeeking),this.player.on("seeked",this.onPlayerSeeked),this.player.on("nodestart",this.onPlayerNodeStart),this.player.once("playing",this.oncePlayerPlaying))}removePlayerListeners(){this.player&&(this.player.off("seeking",this.onPlayerSeeking),this.player.off("seeked",this.onPlayerSeeked),this.player.off("nodestart",this.onPlayerNodeStart),this.player.off("playing",this.oncePlayerPlaying))}initCanvas(t,e,n){var i;this.player=t,this.setSrcVidTracksFn=e;const{contextType:r,contextAttributes:o}=this.getContextConfig(this.glOptions),s=!1!==(null===(i=this.glOptions)||void 0===i||null===(i=i.__shaderGraph)||void 0===i?void 0:i.forwardContextAttributes)&&null!=(a=o)&&"object"==typeof a&&!Array.isArray(a)&&Object.keys(a).length>0;var a;const l={contextType:r};s&&(l.contextAttributes=o),t.initPlugin("canvas",l);const c={drawFrame:this.canvasDrawFrameFn.bind(this),resize:n,contextType:r,offscreenVideoCanvasEnabled:!1,viewportModeEnabled:!0,fps:0};return s&&(c.contextAttributes=o),t.canvas.init(c),t.paused&&0===t.currentTime&&(this.shouldUpdateTexture=!1),this.addPlayerListeners(),t.canvas.canvas}canvasDrawFrameFn(t,e,n){var i;this.setSrcVidTracksFn&&this.shouldUpdateTexture&&t&&e&&n&&(n.videoWidth||n.displayWidth)&&(n.videoHeight||n.displayHeight)&&(!(i=n)||"boolean"!=typeof i.isDataLoaded||i&&i.isDataLoaded&&(void 0===i.isFrameTextureReady||i.isFrameTextureReady))&&this.setSrcVidTracksFn(n)}async recover(){if(this.player&&this.player.paused)return new Promise((t=>{this.player.once("seeked",(()=>{this.shouldUpdateTexture=!0,t()})),this.player.currentTime=this.player.currentTime}))}dispose(){this.player&&(this.player.canvas&&"function"==typeof this.player.canvas.dispose&&this.player.canvas.dispose(),this.removePlayerListeners(),this.player=null)}},qh=class extends Lh{constructor(t){super(t,!1)}initCanvas(t,e){const n=function(){const t=document.querySelector("video");t&&t.videoHeight&&e(t),requestAnimationFrame(n)};return requestAnimationFrame(n),document.getElementById(t)}},Vh=class extends Lh{constructor(t){super(t,!1)}initCanvas({src:t,dest:e},n,i){const r="string"==typeof e?document.querySelector(e):e,o="undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement,s=()=>{this.isDisposed||(t&&t.videoHeight&&n(t),requestAnimationFrame(s))};return o?requestAnimationFrame(s):"function"==typeof t?t(n,i):n(t),r}dispose(){this.isDisposed=!0}};var Gh=function(t){let e;return e="string"==typeof t?new qh(t):t&&t.src&&t.dest?new Vh(t):new Uh(t),e};function Hh(t){return Array.isArray(t)||(t=[t]),t}let Kh=class{constructor(t){this.store=t?{...t.get()}:{}}reset(){this.store={}}get(t){if(!t)return this.store;const e=(t=Hh(t)).reduce(((t,e)=>{const n=this.store[e];return t.push(n),t}),[]);return 1===e.length?e[0]:e}set(t,e){if(t=Hh(t),e=Hh(e),t.length!==e.length)throw new Error(`cant set values ${e} to keys ${t}, length did not match`);t.forEach(((t,n)=>{this.store[t]=e[n]}))}},Xh=class{constructor(t,e,n,i){this.gl=i.gl,this.unit=t,this.bindPoint=e,this.height=1080,this.width=1920,this.textureObject=n.object,this.textureObjectInfo=n,this.isStatic=!1,n.needRefresh&&this.setParameters()}getUnit(){return this.unit}getObject(){return this.textureObject}bind(){this.gl.bindTexture(this.bindPoint,this.textureObject)}fill(){throw new Error("impl in concrete class")}setParameters(){this.bind(),this.gl.texParameteri(this.bindPoint,this.gl.TEXTURE_WRAP_S,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.bindPoint,this.gl.TEXTURE_WRAP_T,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.bindPoint,this.gl.TEXTURE_MIN_FILTER,this.gl.LINEAR),this.gl.texParameteri(this.bindPoint,this.gl.TEXTURE_MAG_FILTER,this.gl.LINEAR)}active(){this.gl.activeTexture(this.gl.TEXTURE0+this.getUnit())}beforeUse(){this.active(),this.bind()}dispose(){this.gl.deleteTexture(this.textureObject)}setHeight(t){this.height=t}setWidth(t){this.width=t}getHeight(){if(!this.height)throw new Error(`texture ${this.unit} no height init `);return this.height}getWidth(){if(!this.width)throw new Error(`texture ${this.unit} no width init `);return this.width}};const Yh=Zd("frame","warn");let Qh=!1;if("undefined"!=typeof window&&window.InterludePlayer){let t=window.InterludePlayer.environment,e=t.isAffectedBySafari17SeekBug,n=t.ua.includes("WMT1H")&&t.ua.includes("iOS/17");Qh=e||n}function Jh(t,e){const n=t.gl;var i;n.texImage2D(t.bindPoint,0,n.RGBA,n.RGBA,n.UNSIGNED_BYTE,e),t.__hasAllocated=!0,i=t,Number.isFinite(i.width)&&Number.isFinite(i.height)&&(i.actualWidth=i.width,i.actualHeight=i.height,i.textureObjectInfo&&(i.textureObjectInfo.allocatedWidth=i.width,i.textureObjectInfo.allocatedHeight=i.height))}let Zh=class extends Xh{fill(t){if(Qh&&(t.paused||"undefined"!=typeof document&&"hidden"===document.visibilityState))return;if(t.__closed)return;this.bind();const e=function(t,e){let n=!t.__hasAllocated;return e?(e.width===t.width&&e.height===t.height||(n=!0),t.width=e.width,t.height=e.height,n):n}(this,function(t){if(!t)return;const e=[[t.displayWidth,t.displayHeight],[t.codedWidth,t.codedHeight],[t.videoWidth,t.videoHeight],[t.naturalWidth,t.naturalHeight],[t.width,t.height]];for(let t=0;t<e.length;t+=1){const[n,i]=e[t],r=Number(n),o=Number(i);if(Number.isFinite(r)&&Number.isFinite(o)&&r>0&&o>0)return{width:r,height:o}}}(t)),n=performance.now();!function(t,e,n){const i=t.gl,r=function(t){if("undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement)return!0;const e="object"==typeof window?window:"object"==typeof self?self:null,n=e&&e.VideoFrame;return"function"==typeof n&&t instanceof n}(e);r&&(t.__useSubImage=!1),n||!1===t.__useSubImage||r?Jh(t,e):(i.texSubImage2D(t.bindPoint,0,0,0,i.RGBA,i.UNSIGNED_BYTE,e),void 0===t.__useSubImage&&(i.getError()!==i.NO_ERROR?(t.__useSubImage=!1,Jh(t,e)):t.__useSubImage=!0))}(this,t,e);const i=(performance.now()-n)/1e3;i>=.1&&Yh.warn(`[fill] texImage2D() took ${i.toFixed(3)} seconds to execute.`),"function"==typeof t.close&&!0!==t.__keepOpen&&(t.close(),t.__closed=!0)}},tf=class extends Xh{constructor(t,e,n){super(...arguments),n.needRefresh&&(this.fill(null),n.needRefresh=!1)}fill(t){if(this.bind(),t&&t.tagName&&"IMG"===t.tagName){const e=Number(t.naturalWidth||t.width),n=Number(t.naturalHeight||t.height);this.gl.texImage2D(this.bindPoint,0,this.gl.RGBA,this.gl.RGBA,this.gl.UNSIGNED_BYTE,t),Number.isFinite(e)&&Number.isFinite(n)&&(this.actualWidth=e,this.actualHeight=n,this.textureObjectInfo&&(this.textureObjectInfo.allocatedWidth=e,this.textureObjectInfo.allocatedHeight=n))}else{const e=this.gl.canvas.width,n=this.gl.canvas.height;this.gl.texImage2D(this.bindPoint,0,this.gl.RGBA,e,n,0,this.gl.RGBA,this.gl.UNSIGNED_BYTE,t),Number.isFinite(e)&&Number.isFinite(n)&&(this.actualWidth=e,this.actualHeight=n,this.textureObjectInfo&&(this.textureObjectInfo.allocatedWidth=e,this.textureObjectInfo.allocatedHeight=n))}}};var ef=function(t,e,n,i,r){let o;switch(t){case"frame":o=new Zh(e,n,i,r);break;case"pixel":o=new tf(e,n,i,r);break;default:throw new Error(`cant recognize type ${t}`)}return o};let nf=class{constructor(t){this.gl=t.gl;const e=this.gl.getParameter(this.gl.MAX_TEXTURE_IMAGE_UNITS)||20;return this.maxTextures=Math.min(20,e),this.textureObjectPool=[],this.textureUnitsPool=new Set(Array(this.maxTextures).keys()),this.activeTextures=t.activeTextures instanceof Set?t.activeTextures:new Set,{createTexture:this.createTexture.bind(this),releaseTexture:this.releaseTexture.bind(this),refreshTextureObjects:this.refreshTextureObjects.bind(this),refreshActiveTextures:this.refreshActiveTextures.bind(this)}}getTextureObject(){return this.textureObjectPool.pop()||{object:this.gl.createTexture(),needRefresh:!0}}getTextureUnit(){const t=this.textureUnitsPool.values(),e=Math.min.apply(null,[...t]);return this.textureUnitsPool.delete(e),e}createTexture(t){const e=t&&t.type||{},n=this.gl.TEXTURE_2D,i=this.getTextureUnit(),r=this.getTextureObject(),o=ef(e,i,n,r,{gl:this.gl});return this.activeTextures.add(o),o}releaseTexture(t){this.textureUnitsPool.has(t.getUnit())||(this.textureObjectPool.push({object:t.getObject(),needRefresh:!1}),this.textureUnitsPool.add(t.getUnit())),this.activeTextures.delete(t)}refreshTextureObjects(){this.textureObjectPool.forEach((t=>{t.needRefresh=!0}))}refreshActiveTextures(){const t=new Set;this.activeTextures.forEach((e=>{if(!e||"function"!=typeof e.getUnit)return;t.add(e.getUnit());const n={object:this.gl.createTexture(),needRefresh:!0};e.gl=this.gl,e.textureObjectInfo=n,e.textureObject=n.object,e.__hasAllocated=!1,e.__useSubImage=void 0,e.actualWidth=null,e.actualHeight=null,"function"==typeof e.setParameters&&e.setParameters()})),this.textureObjectPool=[],this.textureUnitsPool=new Set(Array(this.maxTextures).keys()),t.forEach((t=>{this.textureUnitsPool.delete(t)}))}};const rf=Bh.VIDEO_SOURCE_PREFIX,of=Bh.TEXTURE_SOURCE_PREFIX,sf=Bh.PREVIOUS_OUTPUT_PREFIX,af=Bh.SAVED_FRAME_PREFIX;function lf(t,e,n){t.set(`${rf}${n}`,e)}function cf(t,e,n){t.set(`${sf}${n}`,e)}function uf(t,e,n){t.set(`${af}${n}`,e)}let df=class{constructor(t){return this.gl=t.gl,this.glSource=t.glSource,this.textureManager=t.textureManager,this.capturedFramesManager=t.capturedFramesManager,{setVideoSources:this.setVideoSources.bind(this),setTextureSource:this.setTextureSource.bind(this),getInput:this.getInput.bind(this),getPrevOutput:this.getPrevOutput.bind(this),setOutputs:this.setOutputs.bind(this),disposeTextures:this.disposeTextures.bind(this),disposeAllStore:this.disposeAllStore.bind(this)}}setVideoSources(t){for(const[e,n]of Object.entries(this.capturedFramesManager.getCurrentFrames()))lf(t,n,e),cf(t,n,e);for(const[e,n]of Object.entries(this.capturedFramesManager.getSavedFrames()))uf(t,n,e)}setTextureSource(t,e,n){t.set(`${of}${n}`,e)}getInput(t,e){return t.get(e)}getPrevOutput(t,e){return e=Number.isInteger(e)?e:0,t.get(`${sf}${e}`)}setOutputs(t,e=[],n=[]){if(Array.isArray(n)||(n=[n]),e.length>n.length)throw new Error(`output ids ${e.length} is bigger then supplied outputs ${n.length}`);n.forEach(((e,n)=>{cf(t,e,n)})),e.forEach(((e,i)=>{t.set(e,n[i])}))}disposeTextures(t,e){const n=e.getUnit();t.forEach((t=>{const e=t.getUnit();this.capturedFramesManager.isReservedUnit(e)||n===e||this.textureManager.releaseTexture(t)}))}disposeAllStore(t){const e=new Set;Object.values(t.get()).forEach((t=>{const n=t.getUnit();this.capturedFramesManager.isReservedUnit(n)||e.has(n)||t.isStatic||(this.textureManager.releaseTexture(t),e.add(n))}))}},hf=class{constructor(t){this.context=t}bind(){throw new Error("impl in concrete")}},ff=100,pf=100;function mf(t,e){ff=t,pf=e}let vf=class extends hf{bind(t){var e,n;this.context.gl.bindFramebuffer(this.context.gl.FRAMEBUFFER,null);const i=null===(e=this.context.gl)||void 0===e||null===(e=e.canvas)||void 0===e?void 0:e.width,r=null===(n=this.context.gl)||void 0===n||null===(n=n.canvas)||void 0===n?void 0:n.height;return Number.isFinite(i)&&Number.isFinite(r)&&i>0&&r>0&&(this.context.gl.viewport(0,0,i,r),mf(i,r)),t}},gf=class extends hf{bind(t){Array.isArray(t)||(t=[t]),this.context.gl.bindFramebuffer(this.context.gl.FRAMEBUFFER,this.context.frameBufferObject);const e=this.context.textureManager.createTexture({type:"pixel"}),n=this.context.gl.COLOR_ATTACHMENT0;if(this.context.gl.framebufferTexture2D(this.context.gl.FRAMEBUFFER,n,this.context.gl.TEXTURE_2D,e.textureObject,0),this.context.gl.clear(this.context.gl.COLOR_BUFFER_BIT),!0===this.context.useCanvasSizedFilterTargets){var i,r;const t=null===(i=this.context.gl)||void 0===i||null===(i=i.canvas)||void 0===i?void 0:i.width,n=null===(r=this.context.gl)||void 0===r||null===(r=r.canvas)||void 0===r?void 0:r.height;Number.isFinite(t)&&t>0&&e.setWidth(t),Number.isFinite(n)&&n>0&&e.setHeight(n);const o=e.textureObjectInfo,s=null==o?void 0:o.allocatedWidth,a=null==o?void 0:o.allocatedHeight;Number.isFinite(t)&&Number.isFinite(n)&&(s!==t||a!==n)&&"function"==typeof e.fill&&e.fill(null)}else t[0]&&(e.setHeight(t[0].getHeight()),e.setWidth(t[0].getWidth()));return e}},yf=class{constructor(t){this.gl=t.gl,this.textureManager=t.textureManager,this.useCanvasSizedFilterTargets=t.useCanvasSizedFilterTargets,this.bufferIndex=0,this.frameBufferObjectsPool=[this.gl.createFramebuffer(),this.gl.createFramebuffer(),this.gl.createFramebuffer()]}getFrameBufferObject(){const t=this.frameBufferObjectsPool[this.bufferIndex];return this.bufferIndex=this.bufferIndex++%this.frameBufferObjectsPool.length,t}create(t){let e;return e=t===Bh.SYSTEM_NODES.FILTERS.RENDER_TO_CANVAS?new vf({gl:this.gl}):new gf({gl:this.gl,textureManager:this.textureManager,frameBufferObject:this.getFrameBufferObject(),useCanvasSizedFilterTargets:this.useCanvasSizedFilterTargets}),e}};function bf(t,e,n){const i=e===t.VERTEX_SHADER?"vertex":"fragment";var r;r=t,Boolean(r)&&("undefined"!=typeof WebGL2RenderingContext&&r instanceof WebGL2RenderingContext||"function"==typeof r.createVertexArray)&&(n=function(t="",e){if("string"!=typeof t||!t||function(t=""){return"string"==typeof t&&t.includes("#version 300 es")}(t))return t;let n=t;if("vertex"===e&&(n=n.replace(/\battribute\b/g,"in"),n=n.replace(/\bvarying\b/g,"out")),"fragment"===e&&(n=n.replace(/\bvarying\b/g,"in"),n=n.replace(/\bgl_FragColor\b/g,"fragColor")),n=n.replace(/\btexture2D\b/g,"texture"),n=`#version 300 es\n${n}`,"fragment"===e&&n.includes("fragColor")&&!/\bout\s+vec4\s+fragColor\s*;/.test(n)){const t=n.split("\n");let e=1;for(let n=1;n<t.length;n+=1)if(t[n].trim().startsWith("precision ")){e=n+1;break}t.splice(e,0,"out vec4 fragColor;"),n=t.join("\n")}return n}(n,i));const o=t.createShader(e);if(!o)throw new Error(`Failed to create ${i} shader`);if(t.shaderSource(o,n),t.compileShader(o),t.getShaderParameter(o,t.COMPILE_STATUS))return o;const s=t.getShaderInfoLog(o);throw t.deleteShader(o),new Error(s)}var kf=function(t,e){return bf(t,t.VERTEX_SHADER,e)},wf=function(t,e){return bf(t,t.FRAGMENT_SHADER,e)};const xf={position_3d:0,texture_coordinate_2d:1};var _f=function(t,e,n){const i=t.createProgram();if(t.attachShader(i,e),t.attachShader(i,n),Object.entries(xf).forEach((([e,n])=>{t.bindAttribLocation(i,n,e)})),t.linkProgram(i),t.getProgramParameter(i,t.LINK_STATUS))return i;const r=t.getProgramInfoLog(i);throw t.deleteProgram(i),new Error(r)},If=[-1,-1,1,1,-1,1,-1,1,1,1,1,1],Tf=[0,1,2,2,1,3],Ef=[0,0,1,0,0,1,1,1];const Sf=96,Mf=[new Float32Array(new ArrayBuffer(Sf)),new Float32Array(new ArrayBuffer(Sf)),new Float32Array(new ArrayBuffer(Sf)),new Float32Array(new ArrayBuffer(Sf)),new Float32Array(new ArrayBuffer(Sf)),new Float32Array(new ArrayBuffer(Sf))],Af=[new Int16Array(6),new Int16Array(6),new Int16Array(6)];let Nf=class{constructor(t,e,n){return this.gl=n.gl,this.program=n.program,this.bindPoint=e,this.location=this.gl.getAttribLocation(this.program,t),this.buffer=this.gl.createBuffer(),this.floatBufferCounter=0,this.unit16BufferCounter=0,{fillBuffer:this.fillBuffer.bind(this),bindBuffer:this.bindBuffer.bind(this),setPointer:this.setPointer.bind(this),dispose:this.dispose.bind(this)}}enable(){this.gl.enableVertexAttribArray(this.location)}bindBuffer(){this.gl.bindBuffer(this.bindPoint,this.buffer)}getBuffer(){let t;switch(this.bindPoint){case this.gl.ARRAY_BUFFER:t=Mf[this.floatBufferCounter],this.floatBufferCounter=this.floatBufferCounter++%Mf.length;break;case this.gl.ELEMENT_ARRAY_BUFFER:t=Af[this.unit16BufferCounter],this.unit16BufferCounter=this.unit16BufferCounter++%Af.length;break;default:throw new Error("cant get buffer for this bind point: ",this.bindPoint)}return t}fillBuffer(t){this.bindBuffer();const e=this.getBuffer();e.set(t,0),this.gl.bufferData(this.bindPoint,e,this.gl.STATIC_DRAW)}getPointerData(){throw new Error("you should impl this function")}setPointer(){this.bindBuffer(),this.enable();const t=this.getPointerData();this.gl.vertexAttribPointer(this.location,t.size,t.type,t.normalize,t.stride,t.offset)}dispose(){this.gl.deleteBuffer(this.buffer)}};const Cf={position_3d:class extends Nf{getPointerData(){return{size:3,type:this.gl.FLOAT,normalize:!1,stride:0,offset:0}}},position_indexes:class extends Nf{setPointer(){}getPointerData(){}enable(){}},texture_coordinate_2d:class extends Nf{getPointerData(){return{size:2,type:this.gl.FLOAT,normalize:!0,stride:0,offset:0}}}};var Ff=function(t,e,n){const i=Cf[t];if(!i)throw new Error(`${t} is not a attribute name,choose from list: ${Object.keys(Cf)}`);return new i(t,e,n)};let Of=class{constructor(t,e){this.gl=e.gl,this.program=e.program,this.location=this.gl.getUniformLocation(this.program,t)}compute(){return this}set(){return this}},Pf=class extends Of{set(t){this.gl.uniform1fv(this.location,t)}},Rf=class extends Of{set(t){t&&(t.beforeUse(),this.gl.uniform1i(this.location,t.getUnit()))}};const Df="first_texture_dimensions",Bf="viewport_dimensions",Lf="time",zf={RUNTIME_OPTIONS:"runtimeOptions[0]",STATIC_OPTIONS:"staticOptions[0]",FIRST_TEXTURE:"first_texture",SECOND_TEXTURE:"second_texture",FIRST_MATRIX:"first_mat4"},Wf={[zf.FIRST_TEXTURE]:Rf,[zf.SECOND_TEXTURE]:Rf,[zf.FIRST_MATRIX]:class extends Of{set(t){this.gl.uniformMatrix4fv(this.location,!1,t)}},[zf.STATIC_OPTIONS]:Pf,[zf.RUNTIME_OPTIONS]:Pf};var jf=function(t,e){const n=Wf[t];if(!n)throw new Error(`${t} is not a attribute name,choose from list: ${Object.keys(Wf)}`);return new n(t,e)},$f=function(t,e){let n=(Date.now()-t||0)/(e||1);return n=Number.parseFloat(n).toFixed(7),n=Math.min(1,n),n};const Uf="position_3d",qf="position_indexes",Vf="texture_coordinate_2d";class Gf{constructor(t,e,n,i){this.type=t,this.gl=i.gl,this.frameBuffer=i.frameBufferFactory.create(t),this.rebindAttributesOnProgramSwitch=!1!==i.rebindAttributesOnProgramSwitch,this.vertexShader=kf(this.gl,e.vertex),this.fragmentShader=wf(this.gl,e.fragment),this.program=_f(this.gl,this.vertexShader,this.fragmentShader);const r={gl:this.gl,program:this.program};this.attributes=function(t,e){const n={};return t=t||[],(t=[{id:Uf,bindPoint:e.gl.ARRAY_BUFFER},{id:qf,bindPoint:e.gl.ELEMENT_ARRAY_BUFFER},{id:Vf,bindPoint:e.gl.ARRAY_BUFFER}].concat(t)).forEach((t=>{const i=t.id;n[i]=Ff(i,t.bindPoint,e)})),n}(n.attributes,r),this.uniforms=function(t,e){const n={};return(t=t||[]).forEach((t=>{const i=t.id;n[i]=jf(i,e)})),n}(n.uniforms,r),this.gl.useProgram(this.program),i.__handleAttributesInitedOnce||(this.handleAttributes(),i.__handleAttributesInitedOnce=!0),this.handleStaticUniforms(i.options)}static getFilterType(){throw new Error("impl in concrete class")}static getInputsCount(){throw new Error(`impl in concrete class ${this.getFilterType()}`)}static getInitialOptions(){throw new Error(`impl in concrete class ${this.getFilterType()}`)}static getUniformInfo(t){let e=[{id:zf.RUNTIME_OPTIONS},{id:zf.STATIC_OPTIONS}];return(t.getUniformList||Gf.getUniformList)().forEach((t=>{Object.values(zf).includes(t)&&e.push({id:t})})),e}handleRuntimeUniforms(t,e){const{inputTextures:n,viewportDimensions:i}=t;let r=Array.isArray(n)?n:[n],o=[];(this.constructor.getUniformList||Gf.getUniformList)().forEach((t=>{switch(t){case zf.FIRST_TEXTURE:this.uniforms[zf.FIRST_TEXTURE].set(r[0]);break;case zf.SECOND_TEXTURE:this.uniforms[zf.SECOND_TEXTURE].set(r[1]);break;case Df:o=[...o,r[0].getWidth(),r[0].getHeight()];break;case Bf:o=[...o,i.width,i.height];break;case Lf:{const t=$f(e.startTime,e.duration);o=[...o,t];break}}})),o.length>0&&this.uniforms[zf.RUNTIME_OPTIONS].set(o)}static getUniformList(){return[zf.FIRST_TEXTURE]}getOptionsDisplay(){return[]}handleStaticUniforms(){}handleAttributes(){this.attributes[Uf].fillBuffer(If),this.attributes[Uf].setPointer(),this.attributes[qf].fillBuffer(Tf),this.attributes[Vf].fillBuffer(Ef),this.attributes[Vf].setPointer()}disposeAttributes(){Object.values(this.attributes).forEach((t=>{t.dispose()}))}render(t,e){const n=this.frameBuffer.bind(t);let i={width:ff,height:pf};return this.gl.useProgram(this.program),this.rebindAttributesOnProgramSwitch&&this.gl.__shaderGraphLastProgram!==this.program&&(this.handleAttributes(),this.gl.__shaderGraphLastProgram=this.program),this.handleRuntimeUniforms({inputTextures:t,viewportDimensions:i},e),this.draw(),n}draw(){const t=this.gl.TRIANGLES,e=this.gl.UNSIGNED_SHORT;this.gl.drawElements(t,6,e,0)}updateStaticUniforms(t){this.gl.useProgram(this.program),this.handleStaticUniforms(t)}dispose(){this.gl.detachShader(this.program,this.vertexShader),this.gl.deleteShader(this.vertexShader),this.gl.detachShader(this.program,this.fragmentShader),this.gl.deleteShader(this.fragmentShader),this.gl.deleteProgram(this.program)}}var Hf,Kf="undefined"!=typeof Float32Array?Float32Array:Array;function Xf(){var t=new Kf(3);return Kf!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t}function Yf(t,e,n){var i=new Kf(3);return i[0]=t,i[1]=e,i[2]=n,i}function Qf(){var t=new Kf(4);return Kf!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t[3]=1,t}Xf(),function(){var t;t=new Kf(4),Kf!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0)}(),Xf(),Yf(1,0,0),Yf(0,1,0),Qf(),Qf(),Hf=new Kf(9),Kf!=Float32Array&&(Hf[1]=0,Hf[2]=0,Hf[3]=0,Hf[5]=0,Hf[6]=0,Hf[7]=0),Hf[0]=1,Hf[4]=1,Hf[8]=1;class Jf extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(Jf)};super(Jf.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nuniform mat4 first_mat4;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xy, 1, 1);\n\n gl_Position = first_mat4 * normalize_poistion;\n\n current_texture_coordinate_2d = texture_coordinate_2d;\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n gl_FragColor = texture2D(first_texture, current_texture_coordinate_2d);\n // gl_FragColor = vec4(256,0,0,1);\n}"},e,t)}static getFilterType(){return"transform"}static getInputsCount(){return 1}static getInitialOptions(){return{translate:{x:0,y:0},scale:{x:1,y:1},rotate:0}}getOptionsDisplay(){return[{properties:["translate","x"],type:"slider",minValue:-2,maxValue:2,step:.001,initialValue:Jf.getInitialOptions().translate.x},{properties:["translate","y"],type:"slider",minValue:-2,maxValue:2,step:.001,initialValue:Jf.getInitialOptions().translate.y},{properties:["scale","x"],type:"slider",minValue:-10,maxValue:10,step:.001,initialValue:Jf.getInitialOptions().scale.x},{properties:["scale","y"],type:"slider",minValue:-10,maxValue:10,step:.001,initialValue:Jf.getInitialOptions().scale.y},{properties:["rotate"],type:"slider",minValue:-360,maxValue:360,step:1,initialValue:Jf.getInitialOptions().rotate}]}static getUniformList(){return[zf.FIRST_TEXTURE,zf.FIRST_MATRIX]}handleStaticUniforms(t){if(!t||!t.translate||!t.scale)throw new Error(`bad options object for Transform filter, check ${t}`);const e=Number.parseFloat(t.translate.x).toFixed(7),n=-1*Number.parseFloat(t.translate.y).toFixed(7),i=Number.parseFloat(t.scale.x).toFixed(7),r=Number.parseFloat(t.scale.y).toFixed(7),o=t.rotate||0;var s;this.transformMatrix=function(t,e,n,i){var r=e[0],o=e[1],s=e[2],a=e[3],l=r+r,c=o+o,u=s+s,d=r*l,h=r*c,f=r*u,p=o*c,m=o*u,v=s*u,g=a*l,y=a*c,b=a*u,k=i[0],w=i[1],x=i[2];return t[0]=(1-(p+v))*k,t[1]=(h+b)*k,t[2]=(f-y)*k,t[3]=0,t[4]=(h-b)*w,t[5]=(1-(d+v))*w,t[6]=(m+g)*w,t[7]=0,t[8]=(f+y)*x,t[9]=(m-g)*x,t[10]=(1-(d+p))*x,t[11]=0,t[12]=n[0],t[13]=n[1],t[14]=n[2],t[15]=1,t}((s=new Kf(16),Kf!=Float32Array&&(s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[11]=0,s[12]=0,s[13]=0,s[14]=0),s[0]=1,s[5]=1,s[10]=1,s[15]=1,s),function(t,e,n,i){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"zyx",o=Math.PI/360;e*=o,i*=o,n*=o;var s=Math.sin(e),a=Math.cos(e),l=Math.sin(n),c=Math.cos(n),u=Math.sin(i),d=Math.cos(i);switch(r){case"xyz":t[0]=s*c*d+a*l*u,t[1]=a*l*d-s*c*u,t[2]=a*c*u+s*l*d,t[3]=a*c*d-s*l*u;break;case"xzy":t[0]=s*c*d-a*l*u,t[1]=a*l*d-s*c*u,t[2]=a*c*u+s*l*d,t[3]=a*c*d+s*l*u;break;case"yxz":t[0]=s*c*d+a*l*u,t[1]=a*l*d-s*c*u,t[2]=a*c*u-s*l*d,t[3]=a*c*d+s*l*u;break;case"yzx":t[0]=s*c*d+a*l*u,t[1]=a*l*d+s*c*u,t[2]=a*c*u-s*l*d,t[3]=a*c*d-s*l*u;break;case"zxy":t[0]=s*c*d-a*l*u,t[1]=a*l*d+s*c*u,t[2]=a*c*u+s*l*d,t[3]=a*c*d-s*l*u;break;case"zyx":t[0]=s*c*d-a*l*u,t[1]=a*l*d+s*c*u,t[2]=a*c*u-s*l*d,t[3]=a*c*d+s*l*u;break;default:throw new Error("Unknown angle order "+r)}return t}(Qf(),0,0,o),Yf(e,n,0),Yf(i,r,1)),this.uniforms[zf.FIRST_MATRIX].set(this.transformMatrix)}}class Zf extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(Zf)};super(Zf.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nuniform float runtimeOptions[2];\n\nvarying vec2 blur_texture_coordinate_2d[11];\n\n\nvoid main() {\n vec2 normalize_poistion = vec2(position_3d.xy);\n gl_Position = vec4(normalize_poistion, 1, 1);\n\n float texture_width = runtimeOptions[0];\n float pixel_width = 1.0 / texture_width;\n\n \n for(int i=-5; i<5; ++i){\n float current_i = float(i);\n blur_texture_coordinate_2d[i+5] = texture_coordinate_2d + vec2(pixel_width * current_i, 0.0); \n }\n}\n",fragment:"\nprecision lowp float;\n\nuniform sampler2D first_texture;\n\nvarying vec2 blur_texture_coordinate_2d[11];\n\nvoid main() {\n vec4 out_colour = vec4(0.0);\n\tout_colour += texture2D(first_texture, blur_texture_coordinate_2d[0]) * 0.0093;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[1]) * 0.028002;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[2]) * 0.065984;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[3]) * 0.121703;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[4]) * 0.175713;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[5]) * 0.198596;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[6]) * 0.175713;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[7]) * 0.121703;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[8]) * 0.065984;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[9]) * 0.028002;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[10]) * 0.0093;\n \n \n gl_FragColor = out_colour;\n}"},e,t)}static getFilterType(){return"horizontalBlur"}static getInputsCount(){return 1}static getInitialOptions(){return{}}static getUniformList(){return[zf.FIRST_TEXTURE,Df]}}class tp extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(tp)};super(tp.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nuniform float runtimeOptions[2];\n\nvarying vec2 blur_texture_coordinate_2d[11];\n\n\nvoid main() {\n vec2 normalize_poistion = vec2(position_3d.xy);\n gl_Position = vec4(normalize_poistion, 1, 1);\n\n float texture_width = runtimeOptions[1];\n float pixel_height = 1.0 / texture_width;\n\n for(int i=-5; i<5; ++i){\n float current_i = float(i);\n blur_texture_coordinate_2d[i+5] = texture_coordinate_2d + vec2( 0.0, pixel_height * current_i);\n }\n}\n",fragment:"\nprecision lowp float;\n\nuniform sampler2D first_texture;\n\nvarying vec2 blur_texture_coordinate_2d[11];\n\nvoid main() {\n vec4 out_colour = vec4(0.0);\n\tout_colour += texture2D(first_texture, blur_texture_coordinate_2d[0]) * 0.0093;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[1]) * 0.028002;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[2]) * 0.065984;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[3]) * 0.121703;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[4]) * 0.175713;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[5]) * 0.198596;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[6]) * 0.175713;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[7]) * 0.121703;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[8]) * 0.065984;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[9]) * 0.028002;\n out_colour += texture2D(first_texture, blur_texture_coordinate_2d[10]) * 0.0093;\n \n \n gl_FragColor = out_colour;\n}"},e,t)}static getFilterType(){return"verticalBlur"}static getInputsCount(){return 1}static getInitialOptions(){return{}}static getUniformList(){return[zf.FIRST_TEXTURE,Df]}}class ep extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(ep)};super(ep.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n\n current_texture_coordinate_2d = texture_coordinate_2d;\n current_position_coordinate_2d = normalize_poistion.xy;\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\n\nuniform float staticOptions[3];\nuniform float runtimeOptions[4];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\nconst float Depth = 3.;\nconst float Samples = 8.;\nfloat OffsetDist = staticOptions[0];\n\nvec2 srcDims = vec2(runtimeOptions[0], runtimeOptions[1]);\nvec2 vpDims = vec2(runtimeOptions[2], runtimeOptions[3]);\nvec2 iResolution = vpDims;\n\n\n#define TAU 6.28318530718\n\nvec4 RadialBlur(vec2 fragCoord, float radius) {\n if (radius <= 0.) {\n return texture2D(first_texture, fragCoord/iResolution.xy);\n }\n\n vec2 offset;\n float angle = 0.;\n vec4 color = vec4(0.);\n\n for(float angle = 0.; angle < TAU; angle += (TAU/Samples)) {\n offset = vec2(cos(angle), sin(angle)) * radius;\n color += texture2D(first_texture, (fragCoord + offset)/iResolution.xy);\n }\n\n return color/Samples;\n\n}\n\nvec4 FastBlur(vec2 fragCoord) {\n\n vec4 color;\n vec2 offset;\n float fib = 2.;\n float fibTotal = 0.;\n\n for(float i = 1.; i <= Depth; ++i) {\n fib += i;\n color += RadialBlur(fragCoord, i * OffsetDist)/ fib;\n fibTotal += 1./fib;\n }\n\n return color/fibTotal;\n\n}\n\n// based on https://www.shadertoy.com/view/3ljBDd\nvoid main() {\n// vec2 fragCoords = (vec2(current_texture_coordinate_2d) + 1.0) / 2.0 * vpDims;\n vec2 fragCoords = vec2(current_texture_coordinate_2d) * vpDims;\n gl_FragColor = FastBlur(fragCoords);\n}"},e,t)}static getFilterType(){return"fastBlur"}static getInputsCount(){return 1}static getInitialOptions(){return{}}static getUniformList(){return[zf.FIRST_TEXTURE,Df,Bf]}handleStaticUniforms(t){var e;const n=(null!==(e=Number.parseFloat(t.offsetDist))&&void 0!==e?e:4).toFixed(3);this.uniforms[zf.STATIC_OPTIONS].set([n])}}class np extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(np)};super(np.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n\n current_texture_coordinate_2d = texture_coordinate_2d;\n current_position_coordinate_2d = normalize_poistion.xy;\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\n\nuniform float staticOptions[2];\nuniform float runtimeOptions[4];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\nvec2 vpDims = vec2(runtimeOptions[2], runtimeOptions[3]);\n\n// A simple directional blur that doesn't brighten the image, based on https://www.shadertoy.com/view/WdSXWD\n// and https://www.shadertoy.com/view/NltSD4\n\nvec4 dirBlur() {\n float angle = staticOptions[0];\n float strength = staticOptions[1];\n if (strength == 0.0){\n return texture2D(first_texture, current_texture_coordinate_2d);\n }\n\n vec2 uv = current_texture_coordinate_2d;\n\n float r = radians(angle);\n vec2 direction = vec2(sin(r), cos(r));\n\n vec2 strengthDirection = strength * direction;\n vec3 acc = vec3(0);\n for(float i = -1.0; i <= 1.0; i += (2.0 / 50.0)) {\n acc += texture2D(first_texture, uv - vec2(strengthDirection.x * i, strengthDirection.y * i)).rgb * (2.0 / 50.0) * .5;\n }\n\n return vec4(acc, 1.0);\n\n}\n\nvoid main() {\n gl_FragColor = dirBlur();\n}"},e,t)}static getFilterType(){return"directionalBlur"}static getInputsCount(){return 1}static getInitialOptions(){return{}}static getUniformList(){return[zf.FIRST_TEXTURE,Df,Bf]}handleStaticUniforms(t){var e,n;const i=(null!==(e=Number.parseFloat(t.angle))&&void 0!==e?e:90).toFixed(3),r=(null!==(n=Number.parseFloat(t.strength))&&void 0!==n?n:.1).toFixed(3);this.uniforms[zf.STATIC_OPTIONS].set([i,r])}}class ip extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(ip)};super(ip.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n \n current_texture_coordinate_2d = texture_coordinate_2d;\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nuniform float staticOptions[1];\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n vec4 texture = texture2D(first_texture, current_texture_coordinate_2d);\n float opacity = texture.w - (1.0 - staticOptions[0]);\n gl_FragColor = vec4((texture.xyz) , opacity);\n}"},e,t)}static getFilterType(){return"opacity"}static getInputsCount(){return 1}static getInitialOptions(){return{power:1}}getOptionsDisplay(){return[{properties:["power"],type:"slider",minValue:0,maxValue:1,step:.001}]}handleStaticUniforms(t){const e=Number.parseFloat(t.power).toFixed(7);this.uniforms[zf.STATIC_OPTIONS].set([e])}}class rp extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(rp)};super(rp.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n\n current_texture_coordinate_2d = texture_coordinate_2d;\n current_position_coordinate_2d = normalize_poistion.xy;\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nuniform sampler2D second_texture;\n\nuniform float staticOptions[7];\nuniform float runtimeOptions[2];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\n\nfloat roundedBoxSDF(vec2 point, vec2 center, vec2 area, float radius) {\n return length(max(abs(point - center) - area + radius, 0.0)) - radius;\n}\n\nfloat boxSDF(vec2 point, vec2 center, vec2 area){\n vec2 d = abs(point - center) - area;\n return length(max(d,vec2(0)));\n}\n\n\nvoid main() {\n float type = staticOptions[0];\n vec2 aspectRatio = vec2(runtimeOptions[0]/runtimeOptions[1], 1.0);\n\n\n vec2 center = vec2(staticOptions[1], staticOptions[2]) * aspectRatio;\n vec2 area = max(vec2(staticOptions[3], staticOptions[4]) * aspectRatio, 0.0); \n float radius = staticOptions[5];\n\n vec2 SDF_PositionCoordinate2d = vec2(\n current_position_coordinate_2d.x,\n current_position_coordinate_2d.y * -1.0\n ) * aspectRatio;\n\n vec4 color1 = texture2D(first_texture, current_texture_coordinate_2d);\n vec4 color2 = texture2D(second_texture, current_texture_coordinate_2d);\n\n float dist;\n vec4 color;\n if(type == 0.0){\n dist = boxSDF(SDF_PositionCoordinate2d, center, area);\n color = (dist > 0.0) ? color2: color1;\n } else {\n dist = roundedBoxSDF(SDF_PositionCoordinate2d, center, area, radius);\n color = (dist > 0.0) ? color2: color1;\n color = mix( color, color2, 1.0-smoothstep(0.0,0.0025,abs(dist)));\n }\n \n gl_FragColor = color;\n}"},e,t)}static getFilterType(){return"shapeCompositeMask"}static getInputsCount(){return 2}static getInitialOptions(){return{type:"box",center:{x:0,y:0},area:{width:0,height:0},radius:.01,edgeSoftness:0}}getOptionsDisplay(){return[{properties:["center","x"],type:"slider",minValue:-1,maxValue:1,step:.001},{properties:["center","y"],type:"slider",minValue:-1,maxValue:1,step:.001},{properties:["area","width"],type:"slider",minValue:-2,maxValue:2,step:.001},{properties:["area","height"],type:"slider",minValue:-2,maxValue:2,step:.001},{properties:["radius"],type:"slider",minValue:-2,maxValue:2,step:.001},{properties:["edgeSoftness"],type:"slider",minValue:-2,maxValue:2,step:.001}]}static getUniformList(){return[zf.FIRST_TEXTURE,Df,zf.SECOND_TEXTURE]}handleStaticUniforms(t){let e;switch(t.type){case"box":e=0;break;case"rounded":e=1;break;default:throw new Error("cant recognize shape composite mask type")}const n=Number.parseFloat(t.center.x).toFixed(7);let i=Number.parseFloat(t.center.y).toFixed(7);i+=0;const r=Number.parseFloat(t.area.width).toFixed(7),o=Number.parseFloat(t.area.height).toFixed(7),s=Number.parseFloat(t.radius).toFixed(7),a=Number.parseFloat(t.edgeSoftness).toFixed(7);this.uniforms[zf.STATIC_OPTIONS].set([e,n,i,r,o,s,a])}}class op extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(op)};super(op.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n\n current_texture_coordinate_2d = texture_coordinate_2d;\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nuniform sampler2D second_texture;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n vec4 fgColor = texture2D(first_texture, current_texture_coordinate_2d);\n vec4 bgColor = texture2D(second_texture, current_texture_coordinate_2d);\n gl_FragColor = vec4(\n mix(bgColor.xyz, fgColor.xyz, fgColor.w),\n 1.0\n );\n // vec4 fgColor = texture2D(textures[1], current_texture_coordinate_2d);\n // if(fgColor.w > 0.0){\n // gl_FragColor = vec4(1.0,0,0,1);\n // }else{\n // gl_FragColor = vec4(1.0,1.0,0,1);\n // }\n \n \n}"},e,t)}static getFilterType(){return"shapeComposite"}static getInputsCount(){return 2}static getInitialOptions(){return{}}static getUniformList(){return[zf.FIRST_TEXTURE,zf.SECOND_TEXTURE]}}class sp extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(sp)};super(sp.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n\n current_texture_coordinate_2d = texture_coordinate_2d;\n}\n",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nuniform sampler2D second_texture;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n // Look it up in the LUT\n vec4 textureColor = texture2D(first_texture, current_texture_coordinate_2d);\n\n mediump float blueColor = textureColor.b * 63.0;\n\n mediump vec2 quad1;\n quad1.y = floor(floor(blueColor) / 8.0);\n quad1.x = floor(blueColor) - (quad1.y * 8.0);\n\n mediump vec2 quad2;\n quad2.y = floor(ceil(blueColor) / 8.0);\n quad2.x = ceil(blueColor) - (quad2.y * 8.0);\n\n highp vec2 texPos1;\n texPos1.x = (quad1.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * textureColor.r);\n texPos1.y = (quad1.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * textureColor.g);\n\n\n highp vec2 texPos2;\n texPos2.x = (quad2.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * textureColor.r);\n texPos2.y = (quad2.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * textureColor.g);\n\n lowp vec4 newColor1 = texture2D(second_texture, texPos1);\n lowp vec4 newColor2 = texture2D(second_texture, texPos2);\n\n lowp vec4 color = mix(newColor1, newColor2, fract(blueColor));\n\n gl_FragColor = color;\n\n // debug\n// if (current_texture_coordinate_2d.x < 0.5) {\n// // Left half: show original\n// gl_FragColor = textureColor;\n// } else {\n// gl_FragColor = color;\n// }\n}\n"},e,t)}static getFilterType(){return"lut"}static getInputsCount(){return 2}static getInitialOptions(){return{}}static getUniformList(){return[zf.FIRST_TEXTURE,zf.SECOND_TEXTURE]}getOptionsDisplay(){return[]}handleStaticUniforms(t){const e=Number.parseFloat(t.lutSize).toFixed(1);this.uniforms[zf.STATIC_OPTIONS].set([e])}}var ap="attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n\n current_texture_coordinate_2d = texture_coordinate_2d;\n}\n",lp='precision lowp float;\n\nuniform sampler2D first_texture;\nvarying vec2 current_texture_coordinate_2d;\n\n// a 256 * 4 length array with values for the master, r, g and b curve respectively\n// Temporarily changed length to 256 to avoid the following error on some machines:\n// "Implementation limit of 4096 (e.g., number of built-in plus user defined active uniforms components) exceeded, fragment shader uses 4100 total uniforms."\nuniform float staticOptions[256];\n\n\n// implementation of round (doesn\'t exist in webgl)\nint round(float val){\n return int(floor(val + 0.5));\n}\n\n// no dynamic array indexes in webgl\n// see https://stackoverflow.com/questions/30585265/what-can-i-use-as-an-array-index-in-glsl-in-webgl\nfloat getCurveValue(float pixelValue){\n float v;\n for (int k = 0; k < 256; k++) {\n if (k == round(pixelValue * 255.0)){\n v = float(staticOptions[k]) / 255.0;\n }\n }\n return v;\n}\n\nvec3 masterCurve(vec4 color){\n float r = getCurveValue(color.r);\n float g = getCurveValue(color.g);\n float b = getCurveValue(color.b);\n// for (int k = 0; k < 256; ++k) {\n// if (k == int(color.g) * 256){\n// g = float(staticOptions[k]) / 256.0;\n// }\n// }\n// for (int k = 0; k < 256; ++k) {\n// if (k == int(color.b) * 256){\n// b = float(staticOptions[k]) / 256.0;\n// }\n// }\n return vec3(r,g,b);\n}\n\n//vec3 redCurve(vec3 color){\n// int offset = 256;\n// return vec3(staticOptions[int(int(color.r) + offset)], color.g, color.b);\n//}\n//\n//vec3 greenCurve(vec3 color){\n// int offset = 256 * 2;\n// return vec3(color.r, staticOptions[int(int(color.g) + offset)], color.b);\n//}\n//\n//vec3 blueCurve(vec3 color){\n// int offset = 256 * 3;\n// return vec3(color.r, color.g, staticOptions[int(int(color.b) + offset)]);\n//}\n\nvoid main() {\n// vec4 textureColor = texture2D(first_texture, current_texture_coordinate_2d);\n// vec3 afterMaster = masterCurve(textureColor);\n// vec3 afterRed = redCurve(afterMaster);\n// vec3 afterGreen = greenCurve(afterRed);\n// vec3 afterBlue = blueCurve(afterGreen);\n// vec4 finalColor = vec4(afterBlue, textureColor.a);\n\n vec4 textureColor = texture2D(first_texture, current_texture_coordinate_2d);\n vec3 afterMaster = masterCurve(textureColor);\n vec4 finalColor = vec4(afterMaster, textureColor.a);\n\n gl_FragColor = finalColor;\n}\n';const{abs:cp,cos:up,sin:dp,acos:hp,atan2:fp,sqrt:pp,pow:mp}=Math;function vp(t){return t<0?-mp(-t,1/3):mp(t,1/3)}const gp=Math.PI,yp=2*gp,bp=gp/2,kp=Number.MAX_SAFE_INTEGER||9007199254740991,wp=Number.MIN_SAFE_INTEGER||-9007199254740991,xp={x:0,y:0,z:0},_p={Tvalues:[-.06405689286260563,.06405689286260563,-.1911188674736163,.1911188674736163,-.3150426796961634,.3150426796961634,-.4337935076260451,.4337935076260451,-.5454214713888396,.5454214713888396,-.6480936519369755,.6480936519369755,-.7401241915785544,.7401241915785544,-.820001985973903,.820001985973903,-.8864155270044011,.8864155270044011,-.9382745520027328,.9382745520027328,-.9747285559713095,.9747285559713095,-.9951872199970213,.9951872199970213],Cvalues:[.12793819534675216,.12793819534675216,.1258374563468283,.1258374563468283,.12167047292780339,.12167047292780339,.1155056680537256,.1155056680537256,.10744427011596563,.10744427011596563,.09761865210411388,.09761865210411388,.08619016153195327,.08619016153195327,.0733464814110803,.0733464814110803,.05929858491543678,.05929858491543678,.04427743881741981,.04427743881741981,.028531388628933663,.028531388628933663,.0123412297999872,.0123412297999872],arcfn:function(t,e){const n=e(t);let i=n.x*n.x+n.y*n.y;return void 0!==n.z&&(i+=n.z*n.z),pp(i)},compute:function(t,e,n){if(0===t)return e[0].t=0,e[0];const i=e.length-1;if(1===t)return e[i].t=1,e[i];const r=1-t;let o=e;if(0===i)return e[0].t=t,e[0];if(1===i){const e={x:r*o[0].x+t*o[1].x,y:r*o[0].y+t*o[1].y,t:t};return n&&(e.z=r*o[0].z+t*o[1].z),e}if(i<4){let e,s,a,l=r*r,c=t*t,u=0;2===i?(o=[o[0],o[1],o[2],xp],e=l,s=r*t*2,a=c):3===i&&(e=l*r,s=l*t*3,a=r*c*3,u=t*c);const d={x:e*o[0].x+s*o[1].x+a*o[2].x+u*o[3].x,y:e*o[0].y+s*o[1].y+a*o[2].y+u*o[3].y,t:t};return n&&(d.z=e*o[0].z+s*o[1].z+a*o[2].z+u*o[3].z),d}const s=JSON.parse(JSON.stringify(e));for(;s.length>1;){for(let e=0;e<s.length-1;e++)s[e]={x:s[e].x+(s[e+1].x-s[e].x)*t,y:s[e].y+(s[e+1].y-s[e].y)*t},void 0!==s[e].z&&(s[e].z=s[e].z+(s[e+1].z-s[e].z)*t);s.splice(s.length-1,1)}return s[0].t=t,s[0]},computeWithRatios:function(t,e,n,i){const r=1-t,o=n,s=e;let a,l=o[0],c=o[1],u=o[2],d=o[3];return l*=r,c*=t,2===s.length?(a=l+c,{x:(l*s[0].x+c*s[1].x)/a,y:(l*s[0].y+c*s[1].y)/a,z:!!i&&(l*s[0].z+c*s[1].z)/a,t:t}):(l*=r,c*=2*r,u*=t*t,3===s.length?(a=l+c+u,{x:(l*s[0].x+c*s[1].x+u*s[2].x)/a,y:(l*s[0].y+c*s[1].y+u*s[2].y)/a,z:!!i&&(l*s[0].z+c*s[1].z+u*s[2].z)/a,t:t}):(l*=r,c*=1.5*r,u*=3*r,d*=t*t*t,4===s.length?(a=l+c+u+d,{x:(l*s[0].x+c*s[1].x+u*s[2].x+d*s[3].x)/a,y:(l*s[0].y+c*s[1].y+u*s[2].y+d*s[3].y)/a,z:!!i&&(l*s[0].z+c*s[1].z+u*s[2].z+d*s[3].z)/a,t:t}):void 0))},derive:function(t,e){const n=[];for(let i=t,r=i.length,o=r-1;r>1;r--,o--){const t=[];for(let n,r=0;r<o;r++)n={x:o*(i[r+1].x-i[r].x),y:o*(i[r+1].y-i[r].y)},e&&(n.z=o*(i[r+1].z-i[r].z)),t.push(n);n.push(t),i=t}return n},between:function(t,e,n){return e<=t&&t<=n||_p.approximately(t,e)||_p.approximately(t,n)},approximately:function(t,e,n){return cp(t-e)<=(n||1e-6)},length:function(t){const e=_p.Tvalues.length;let n=0;for(let i,r=0;r<e;r++)i=.5*_p.Tvalues[r]+.5,n+=_p.Cvalues[r]*_p.arcfn(i,t);return.5*n},map:function(t,e,n,i,r){return i+(t-e)/(n-e)*(r-i)},lerp:function(t,e,n){const i={x:e.x+t*(n.x-e.x),y:e.y+t*(n.y-e.y)};return void 0!==e.z&&void 0!==n.z&&(i.z=e.z+t*(n.z-e.z)),i},pointToString:function(t){let e=t.x+"/"+t.y;return void 0!==t.z&&(e+="/"+t.z),e},pointsToString:function(t){return"["+t.map(_p.pointToString).join(", ")+"]"},copy:function(t){return JSON.parse(JSON.stringify(t))},angle:function(t,e,n){const i=e.x-t.x,r=e.y-t.y,o=n.x-t.x,s=n.y-t.y;return fp(i*s-r*o,i*o+r*s)},round:function(t,e){const n=""+t,i=n.indexOf(".");return parseFloat(n.substring(0,i+1+e))},dist:function(t,e){const n=t.x-e.x,i=t.y-e.y;return pp(n*n+i*i)},closest:function(t,e){let n,i,r=mp(2,63);return t.forEach((function(t,o){i=_p.dist(e,t),i<r&&(r=i,n=o)})),{mdist:r,mpos:n}},abcratio:function(t,e){if(2!==e&&3!==e)return!1;if(void 0===t)t=.5;else if(0===t||1===t)return t;const n=mp(t,e)+mp(1-t,e);return cp((n-1)/n)},projectionratio:function(t,e){if(2!==e&&3!==e)return!1;if(void 0===t)t=.5;else if(0===t||1===t)return t;const n=mp(1-t,e);return n/(mp(t,e)+n)},lli8:function(t,e,n,i,r,o,s,a){const l=(t-n)*(o-a)-(e-i)*(r-s);return 0!=l&&{x:((t*i-e*n)*(r-s)-(t-n)*(r*a-o*s))/l,y:((t*i-e*n)*(o-a)-(e-i)*(r*a-o*s))/l}},lli4:function(t,e,n,i){const r=t.x,o=t.y,s=e.x,a=e.y,l=n.x,c=n.y,u=i.x,d=i.y;return _p.lli8(r,o,s,a,l,c,u,d)},lli:function(t,e){return _p.lli4(t,t.c,e,e.c)},makeline:function(t,e){return new Op(t.x,t.y,(t.x+e.x)/2,(t.y+e.y)/2,e.x,e.y)},findbbox:function(t){let e=kp,n=kp,i=wp,r=wp;return t.forEach((function(t){const o=t.bbox();e>o.x.min&&(e=o.x.min),n>o.y.min&&(n=o.y.min),i<o.x.max&&(i=o.x.max),r<o.y.max&&(r=o.y.max)})),{x:{min:e,mid:(e+i)/2,max:i,size:i-e},y:{min:n,mid:(n+r)/2,max:r,size:r-n}}},shapeintersections:function(t,e,n,i,r){if(!_p.bboxoverlap(e,i))return[];const o=[],s=[t.startcap,t.forward,t.back,t.endcap],a=[n.startcap,n.forward,n.back,n.endcap];return s.forEach((function(e){e.virtual||a.forEach((function(i){if(i.virtual)return;const s=e.intersects(i,r);s.length>0&&(s.c1=e,s.c2=i,s.s1=t,s.s2=n,o.push(s))}))})),o},makeshape:function(t,e,n){const i=e.points.length,r=t.points.length,o=_p.makeline(e.points[i-1],t.points[0]),s=_p.makeline(t.points[r-1],e.points[0]),a={startcap:o,forward:t,back:e,endcap:s,bbox:_p.findbbox([o,t,e,s]),intersections:function(t){return _p.shapeintersections(a,a.bbox,t,t.bbox,n)}};return a},getminmax:function(t,e,n){if(!n)return{min:0,max:0};let i,r,o=kp,s=wp;-1===n.indexOf(0)&&(n=[0].concat(n)),-1===n.indexOf(1)&&n.push(1);for(let a=0,l=n.length;a<l;a++)i=n[a],r=t.get(i),r[e]<o&&(o=r[e]),r[e]>s&&(s=r[e]);return{min:o,mid:(o+s)/2,max:s,size:s-o}},align:function(t,e){const n=e.p1.x,i=e.p1.y,r=-fp(e.p2.y-i,e.p2.x-n);return t.map((function(t){return{x:(t.x-n)*up(r)-(t.y-i)*dp(r),y:(t.x-n)*dp(r)+(t.y-i)*up(r)}}))},roots:function(t,e){e=e||{p1:{x:0,y:0},p2:{x:1,y:0}};const n=t.length-1,i=_p.align(t,e),r=function(t){return 0<=t&&t<=1};if(2===n){const t=i[0].y,e=i[1].y,n=i[2].y,o=t-2*e+n;if(0!==o){const i=-pp(e*e-t*n),s=-t+e;return[-(i+s)/o,-(-i+s)/o].filter(r)}return e!==n&&0===o?[(2*e-n)/(2*e-2*n)].filter(r):[]}const o=i[0].y,s=i[1].y,a=i[2].y;let l=3*s-o-3*a+i[3].y,c=3*o-6*s+3*a,u=-3*o+3*s,d=o;if(_p.approximately(l,0)){if(_p.approximately(c,0))return _p.approximately(u,0)?[]:[-d/u].filter(r);const t=pp(u*u-4*c*d),e=2*c;return[(t-u)/e,(-u-t)/e].filter(r)}c/=l,u/=l,d/=l;const h=(3*u-c*c)/3,f=h/3,p=(2*c*c*c-9*c*u+27*d)/27,m=p/2,v=m*m+f*f*f;let g,y,b,k,w;if(v<0){const t=-h/3,e=pp(t*t*t),n=-p/(2*e),i=hp(n<-1?-1:n>1?1:n),o=2*vp(e);return b=o*up(i/3)-c/3,k=o*up((i+yp)/3)-c/3,w=o*up((i+2*yp)/3)-c/3,[b,k,w].filter(r)}if(0===v)return g=m<0?vp(-m):-vp(m),b=2*g-c/3,k=-g-c/3,[b,k].filter(r);{const t=pp(v);return g=vp(-m+t),y=vp(m+t),[g-y-c/3].filter(r)}},droots:function(t){if(3===t.length){const e=t[0],n=t[1],i=t[2],r=e-2*n+i;if(0!==r){const t=-pp(n*n-e*i),o=-e+n;return[-(t+o)/r,-(-t+o)/r]}return n!==i&&0===r?[(2*n-i)/(2*(n-i))]:[]}if(2===t.length){const e=t[0],n=t[1];return e!==n?[e/(e-n)]:[]}return[]},curvature:function(t,e,n,i,r){let o,s,a,l,c=0,u=0;const d=_p.compute(t,e),h=_p.compute(t,n),f=d.x*d.x+d.y*d.y;if(i?(o=pp(mp(d.y*h.z-h.y*d.z,2)+mp(d.z*h.x-h.z*d.x,2)+mp(d.x*h.y-h.x*d.y,2)),s=mp(f+d.z*d.z,1.5)):(o=d.x*h.y-d.y*h.x,s=mp(f,1.5)),0===o||0===s)return{k:0,r:0};if(c=o/s,u=s/o,!r){const r=_p.curvature(t-.001,e,n,i,!0).k,o=_p.curvature(t+.001,e,n,i,!0).k;l=(o-c+(c-r))/2,a=(cp(o-c)+cp(c-r))/2}return{k:c,r:u,dk:l,adk:a}},inflections:function(t){if(t.length<4)return[];const e=_p.align(t,{p1:t[0],p2:t.slice(-1)[0]}),n=e[2].x*e[1].y,i=e[3].x*e[1].y,r=e[1].x*e[2].y,o=18*(-3*n+2*i+3*r-e[3].x*e[2].y),s=18*(3*n-i-3*r),a=18*(r-n);if(_p.approximately(o,0)){if(!_p.approximately(s,0)){let t=-a/s;if(0<=t&&t<=1)return[t]}return[]}const l=2*o;if(_p.approximately(l,0))return[];const c=s*s-4*o*a;if(c<0)return[];const u=Math.sqrt(c);return[(u-s)/l,-(s+u)/l].filter((function(t){return 0<=t&&t<=1}))},bboxoverlap:function(t,e){const n=["x","y"],i=n.length;for(let r,o,s,a,l=0;l<i;l++)if(r=n[l],o=t[r].mid,s=e[r].mid,a=(t[r].size+e[r].size)/2,cp(o-s)>=a)return!1;return!0},expandbox:function(t,e){e.x.min<t.x.min&&(t.x.min=e.x.min),e.y.min<t.y.min&&(t.y.min=e.y.min),e.z&&e.z.min<t.z.min&&(t.z.min=e.z.min),e.x.max>t.x.max&&(t.x.max=e.x.max),e.y.max>t.y.max&&(t.y.max=e.y.max),e.z&&e.z.max>t.z.max&&(t.z.max=e.z.max),t.x.mid=(t.x.min+t.x.max)/2,t.y.mid=(t.y.min+t.y.max)/2,t.z&&(t.z.mid=(t.z.min+t.z.max)/2),t.x.size=t.x.max-t.x.min,t.y.size=t.y.max-t.y.min,t.z&&(t.z.size=t.z.max-t.z.min)},pairiteration:function(t,e,n){const i=t.bbox(),r=e.bbox(),o=1e5,s=n||.5;if(i.x.size+i.y.size<s&&r.x.size+r.y.size<s)return[(o*(t._t1+t._t2)/2|0)/o+"/"+(o*(e._t1+e._t2)/2|0)/o];let a=t.split(.5),l=e.split(.5),c=[{left:a.left,right:l.left},{left:a.left,right:l.right},{left:a.right,right:l.right},{left:a.right,right:l.left}];c=c.filter((function(t){return _p.bboxoverlap(t.left.bbox(),t.right.bbox())}));let u=[];return 0===c.length||(c.forEach((function(t){u=u.concat(_p.pairiteration(t.left,t.right,s))})),u=u.filter((function(t,e){return u.indexOf(t)===e}))),u},getccenter:function(t,e,n){const i=e.x-t.x,r=e.y-t.y,o=n.x-e.x,s=n.y-e.y,a=i*up(bp)-r*dp(bp),l=i*dp(bp)+r*up(bp),c=o*up(bp)-s*dp(bp),u=o*dp(bp)+s*up(bp),d=(t.x+e.x)/2,h=(t.y+e.y)/2,f=(e.x+n.x)/2,p=(e.y+n.y)/2,m=d+a,v=h+l,g=f+c,y=p+u,b=_p.lli8(d,h,m,v,f,p,g,y),k=_p.dist(b,t);let w,x=fp(t.y-b.y,t.x-b.x),_=fp(e.y-b.y,e.x-b.x),I=fp(n.y-b.y,n.x-b.x);return x<I?((x>_||_>I)&&(x+=yp),x>I&&(w=I,I=x,x=w)):I<_&&_<x?(w=I,I=x,x=w):I+=yp,b.s=x,b.e=I,b.r=k,b},numberSort:function(t,e){return t-e}};class Ip{constructor(t){this.curves=[],this._3d=!1,t&&(this.curves=t,this._3d=this.curves[0]._3d)}valueOf(){return this.toString()}toString(){return"["+this.curves.map((function(t){return _p.pointsToString(t.points)})).join(", ")+"]"}addCurve(t){this.curves.push(t),this._3d=this._3d||t._3d}length(){return this.curves.map((function(t){return t.length()})).reduce((function(t,e){return t+e}))}curve(t){return this.curves[t]}bbox(){const t=this.curves;for(var e=t[0].bbox(),n=1;n<t.length;n++)_p.expandbox(e,t[n].bbox());return e}offset(t){const e=[];return this.curves.forEach((function(n){e.push(...n.offset(t))})),new Ip(e)}}const{abs:Tp,min:Ep,max:Sp,cos:Mp,sin:Ap,acos:Np,sqrt:Cp}=Math,Fp=Math.PI;let Op=class e{constructor(t){let e=t&&t.forEach?t:Array.from(arguments).slice(),n=!1;if("object"==typeof e[0]){n=e.length;const t=[];e.forEach((function(e){["x","y","z"].forEach((function(n){void 0!==e[n]&&t.push(e[n])}))})),e=t}let i=!1;const r=e.length;if(n){if(n>4){if(1!==arguments.length)throw new Error("Only new Bezier(point[]) is accepted for 4th and higher order curves");i=!0}}else if(6!==r&&8!==r&&9!==r&&12!==r&&1!==arguments.length)throw new Error("Only new Bezier(point[]) is accepted for 4th and higher order curves");const o=this._3d=!i&&(9===r||12===r)||t&&t[0]&&void 0!==t[0].z,s=this.points=[];for(let t=0,n=o?3:2;t<r;t+=n){var a={x:e[t],y:e[t+1]};o&&(a.z=e[t+2]),s.push(a)}const l=this.order=s.length-1,c=this.dims=["x","y"];o&&c.push("z"),this.dimlen=c.length;const u=_p.align(s,{p1:s[0],p2:s[l]}),d=_p.dist(s[0],s[l]);this._linear=u.reduce(((t,e)=>t+Tp(e.y)),0)<d/50,this._lut=[],this._t1=0,this._t2=1,this.update()}static quadraticFromPoints(t,n,i,r){if(void 0===r&&(r=.5),0===r)return new e(n,n,i);if(1===r)return new e(t,n,n);const o=e.getABC(2,t,n,i,r);return new e(t,o.A,i)}static cubicFromPoints(t,n,i,r,o){void 0===r&&(r=.5);const s=e.getABC(3,t,n,i,r);void 0===o&&(o=_p.dist(n,s.C));const a=o*(1-r)/r,l=_p.dist(t,i),c=(i.x-t.x)/l,u=(i.y-t.y)/l,d=o*c,h=o*u,f=a*c,p=a*u,m=n.x-d,v=n.y-h,g=n.x+f,y=n.y+p,b=s.A,k=b.x+(m-b.x)/(1-r),w=b.y+(v-b.y)/(1-r),x=b.x+(g-b.x)/r,_=b.y+(y-b.y)/r,I={x:t.x+(k-t.x)/r,y:t.y+(w-t.y)/r},T={x:i.x+(x-i.x)/(1-r),y:i.y+(_-i.y)/(1-r)};return new e(t,I,T,i)}static getUtils(){return _p}getUtils(){return e.getUtils()}static get PolyBezier(){return Ip}valueOf(){return this.toString()}toString(){return _p.pointsToString(this.points)}toSVG(){if(this._3d)return!1;const t=this.points,e=["M",t[0].x,t[0].y,2===this.order?"Q":"C"];for(let n=1,i=t.length;n<i;n++)e.push(t[n].x),e.push(t[n].y);return e.join(" ")}setRatios(t){if(t.length!==this.points.length)throw new Error("incorrect number of ratio values");this.ratios=t,this._lut=[]}verify(){const t=this.coordDigest();t!==this._print&&(this._print=t,this.update())}coordDigest(){return this.points.map((function(t,e){return""+e+t.x+t.y+(t.z?t.z:0)})).join("")}update(){this._lut=[],this.dpoints=_p.derive(this.points,this._3d),this.computedirection()}computedirection(){const t=this.points,e=_p.angle(t[0],t[this.order],t[1]);this.clockwise=e>0}length(){return _p.length(this.derivative.bind(this))}static getABC(t=2,e,n,i,r=.5){const o=_p.projectionratio(r,t),s=1-o,a={x:o*e.x+s*i.x,y:o*e.y+s*i.y},l=_p.abcratio(r,t);return{A:{x:n.x+(n.x-a.x)/l,y:n.y+(n.y-a.y)/l},B:n,C:a,S:e,E:i}}getABC(t,n){n=n||this.get(t);let i=this.points[0],r=this.points[this.order];return e.getABC(this.order,i,n,r,t)}getLUT(t){if(this.verify(),t=t||100,this._lut.length===t+1)return this._lut;this._lut=[],t++,this._lut=[];for(let e,n,i=0;i<t;i++)n=i/(t-1),e=this.compute(n),e.t=n,this._lut.push(e);return this._lut}on(e,n){n=n||5;const i=this.getLUT(),r=[];for(let t,o=0,s=0;o<i.length;o++)t=i[o],_p.dist(t,e)<n&&(r.push(t),s+=o/i.length);return!!r.length&&(t/=r.length)}project(t){const e=this.getLUT(),n=e.length-1,i=_p.closest(e,t),r=i.mpos,o=(r-1)/n,s=(r+1)/n,a=.1/n;let l,c=i.mdist,u=o,d=u;c+=1;for(let e;u<s+a;u+=a)l=this.compute(u),e=_p.dist(t,l),e<c&&(c=e,d=u);return d=d<0?0:d>1?1:d,l=this.compute(d),l.t=d,l.d=c,l}get(t){return this.compute(t)}point(t){return this.points[t]}compute(t){return this.ratios?_p.computeWithRatios(t,this.points,this.ratios,this._3d):_p.compute(t,this.points,this._3d,this.ratios)}raise(){const t=this.points,n=[t[0]],i=t.length;for(let e,r,o=1;o<i;o++)e=t[o],r=t[o-1],n[o]={x:(i-o)/i*e.x+o/i*r.x,y:(i-o)/i*e.y+o/i*r.y};return n[i]=t[i-1],new e(n)}derivative(t){return _p.compute(t,this.dpoints[0],this._3d)}dderivative(t){return _p.compute(t,this.dpoints[1],this._3d)}align(){let t=this.points;return new e(_p.align(t,{p1:t[0],p2:t[t.length-1]}))}curvature(t){return _p.curvature(t,this.dpoints[0],this.dpoints[1],this._3d)}inflections(){return _p.inflections(this.points)}normal(t){return this._3d?this.__normal3(t):this.__normal2(t)}__normal2(t){const e=this.derivative(t),n=Cp(e.x*e.x+e.y*e.y);return{t:t,x:-e.y/n,y:e.x/n}}__normal3(t){const e=this.derivative(t),n=this.derivative(t+.01),i=Cp(e.x*e.x+e.y*e.y+e.z*e.z),r=Cp(n.x*n.x+n.y*n.y+n.z*n.z);e.x/=i,e.y/=i,e.z/=i,n.x/=r,n.y/=r,n.z/=r;const o={x:n.y*e.z-n.z*e.y,y:n.z*e.x-n.x*e.z,z:n.x*e.y-n.y*e.x},s=Cp(o.x*o.x+o.y*o.y+o.z*o.z);o.x/=s,o.y/=s,o.z/=s;const a=[o.x*o.x,o.x*o.y-o.z,o.x*o.z+o.y,o.x*o.y+o.z,o.y*o.y,o.y*o.z-o.x,o.x*o.z-o.y,o.y*o.z+o.x,o.z*o.z];return{t:t,x:a[0]*e.x+a[1]*e.y+a[2]*e.z,y:a[3]*e.x+a[4]*e.y+a[5]*e.z,z:a[6]*e.x+a[7]*e.y+a[8]*e.z}}hull(t){let e=this.points,n=[],i=[],r=0;for(i[r++]=e[0],i[r++]=e[1],i[r++]=e[2],3===this.order&&(i[r++]=e[3]);e.length>1;){n=[];for(let o,s=0,a=e.length-1;s<a;s++)o=_p.lerp(t,e[s],e[s+1]),i[r++]=o,n.push(o);e=n}return i}split(t,n){if(0===t&&n)return this.split(n).left;if(1===n)return this.split(t).right;const i=this.hull(t),r={left:2===this.order?new e([i[0],i[3],i[5]]):new e([i[0],i[4],i[7],i[9]]),right:2===this.order?new e([i[5],i[4],i[2]]):new e([i[9],i[8],i[6],i[3]]),span:i};return r.left._t1=_p.map(0,0,1,this._t1,this._t2),r.left._t2=_p.map(t,0,1,this._t1,this._t2),r.right._t1=_p.map(t,0,1,this._t1,this._t2),r.right._t2=_p.map(1,0,1,this._t1,this._t2),n?(n=_p.map(n,t,1,0,1),r.right.split(n).left):r}extrema(){const t={};let e=[];return this.dims.forEach(function(n){let i=function(t){return t[n]},r=this.dpoints[0].map(i);t[n]=_p.droots(r),3===this.order&&(r=this.dpoints[1].map(i),t[n]=t[n].concat(_p.droots(r))),t[n]=t[n].filter((function(t){return t>=0&&t<=1})),e=e.concat(t[n].sort(_p.numberSort))}.bind(this)),t.values=e.sort(_p.numberSort).filter((function(t,n){return e.indexOf(t)===n})),t}bbox(){const t=this.extrema(),e={};return this.dims.forEach(function(n){e[n]=_p.getminmax(this,n,t[n])}.bind(this)),e}overlaps(t){const e=this.bbox(),n=t.bbox();return _p.bboxoverlap(e,n)}offset(t,n){if(void 0!==n){const e=this.get(t),i=this.normal(t),r={c:e,n:i,x:e.x+i.x*n,y:e.y+i.y*n};return this._3d&&(r.z=e.z+i.z*n),r}if(this._linear){const n=this.normal(0),i=this.points.map((function(e){const i={x:e.x+t*n.x,y:e.y+t*n.y};return e.z&&n.z&&(i.z=e.z+t*n.z),i}));return[new e(i)]}return this.reduce().map((function(e){return e._linear?e.offset(t)[0]:e.scale(t)}))}simple(){if(3===this.order){const t=_p.angle(this.points[0],this.points[3],this.points[1]),e=_p.angle(this.points[0],this.points[3],this.points[2]);if(t>0&&e<0||t<0&&e>0)return!1}const t=this.normal(0),e=this.normal(1);let n=t.x*e.x+t.y*e.y;return this._3d&&(n+=t.z*e.z),Tp(Np(n))<Fp/3}reduce(){let t,e,n=0,i=0,r=.01,o=[],s=[],a=this.extrema().values;for(-1===a.indexOf(0)&&(a=[0].concat(a)),-1===a.indexOf(1)&&a.push(1),n=a[0],t=1;t<a.length;t++)i=a[t],e=this.split(n,i),e._t1=n,e._t2=i,o.push(e),n=i;return o.forEach((function(t){for(n=0,i=0;i<=1;)for(i=n+r;i<=1.01;i+=r)if(e=t.split(n,i),!e.simple()){if(i-=r,Tp(n-i)<r)return[];e=t.split(n,i),e._t1=_p.map(n,0,1,t._t1,t._t2),e._t2=_p.map(i,0,1,t._t1,t._t2),s.push(e),n=i;break}n<1&&(e=t.split(n,1),e._t1=_p.map(n,0,1,t._t1,t._t2),e._t2=t._t2,s.push(e))})),s}translate(t,n,i){i="number"==typeof i?i:n;const r=this.order;let o=this.points.map(((t,e)=>(1-e/r)*n+e/r*i));return new e(this.points.map(((e,n)=>({x:e.x+t.x*o[n],y:e.y+t.y*o[n]}))))}scale(t){const n=this.order;let i=!1;if("function"==typeof t&&(i=t),i&&2===n)return this.raise().scale(i);const r=this.clockwise,o=this.points;if(this._linear)return this.translate(this.normal(0),i?i(0):t,i?i(1):t);const s=i?i(0):t,a=i?i(1):t,l=[this.offset(0,10),this.offset(1,10)],c=[],u=_p.lli4(l[0],l[0].c,l[1],l[1].c);if(!u)throw new Error("cannot scale this curve. Try reducing it first.");return[0,1].forEach((function(t){const e=c[t*n]=_p.copy(o[t*n]);e.x+=(t?a:s)*l[t].n.x,e.y+=(t?a:s)*l[t].n.y})),i?([0,1].forEach((function(e){if(2!==n||!e){var s=o[e+1],a={x:s.x-u.x,y:s.y-u.y},l=i?i((e+1)/n):t;i&&!r&&(l=-l);var d=Cp(a.x*a.x+a.y*a.y);a.x/=d,a.y/=d,c[e+1]={x:s.x+l*a.x,y:s.y+l*a.y}}})),new e(c)):([0,1].forEach((t=>{if(2===n&&t)return;const e=c[t*n],i=this.derivative(t),r={x:e.x+i.x,y:e.y+i.y};c[t+1]=_p.lli4(e,r,u,o[t+1])})),new e(c))}outline(t,n,i,r){if(n=void 0===n?t:n,this._linear){const o=this.normal(0),s=this.points[0],a=this.points[this.points.length-1];let l,c,u;void 0===i&&(i=t,r=n),l={x:s.x+o.x*t,y:s.y+o.y*t},u={x:a.x+o.x*i,y:a.y+o.y*i},c={x:(l.x+u.x)/2,y:(l.y+u.y)/2};const d=[l,c,u];l={x:s.x-o.x*n,y:s.y-o.y*n},u={x:a.x-o.x*r,y:a.y-o.y*r},c={x:(l.x+u.x)/2,y:(l.y+u.y)/2};const h=[u,c,l],f=_p.makeline(h[2],d[0]),p=_p.makeline(d[2],h[0]),m=[f,new e(d),p,new e(h)];return new Ip(m)}const o=this.reduce(),s=o.length,a=[];let l,c=[],u=0,d=this.length();const h=void 0!==i&&void 0!==r;function f(t,e,n,i,r){return function(o){const s=i/n,a=(i+r)/n,l=e-t;return _p.map(o,0,1,t+s*l,t+a*l)}}o.forEach((function(e){const o=e.length();h?(a.push(e.scale(f(t,i,d,u,o))),c.push(e.scale(f(-n,-r,d,u,o)))):(a.push(e.scale(t)),c.push(e.scale(-n))),u+=o})),c=c.map((function(t){return l=t.points,l[3]?t.points=[l[3],l[2],l[1],l[0]]:t.points=[l[2],l[1],l[0]],t})).reverse();const p=a[0].points[0],m=a[s-1].points[a[s-1].points.length-1],v=c[s-1].points[c[s-1].points.length-1],g=c[0].points[0],y=_p.makeline(v,p),b=_p.makeline(m,g),k=[y].concat(a).concat([b]).concat(c);return new Ip(k)}outlineshapes(t,e,n){e=e||t;const i=this.outline(t,e).curves,r=[];for(let t=1,e=i.length;t<e/2;t++){const o=_p.makeshape(i[t],i[e-t],n);o.startcap.virtual=t>1,o.endcap.virtual=t<e/2-1,r.push(o)}return r}intersects(t,n){return t?t.p1&&t.p2?this.lineIntersects(t):(t instanceof e&&(t=t.reduce()),this.curveintersects(this.reduce(),t,n)):this.selfintersects(n)}lineIntersects(t){const e=Ep(t.p1.x,t.p2.x),n=Ep(t.p1.y,t.p2.y),i=Sp(t.p1.x,t.p2.x),r=Sp(t.p1.y,t.p2.y);return _p.roots(this.points,t).filter((t=>{var o=this.get(t);return _p.between(o.x,e,i)&&_p.between(o.y,n,r)}))}selfintersects(t){const e=this.reduce(),n=e.length-2,i=[];for(let r,o,s,a=0;a<n;a++)o=e.slice(a,a+1),s=e.slice(a+2),r=this.curveintersects(o,s,t),i.push(...r);return i}curveintersects(t,e,n){const i=[];t.forEach((function(t){e.forEach((function(e){t.overlaps(e)&&i.push({left:t,right:e})}))}));let r=[];return i.forEach((function(t){const e=_p.pairiteration(t.left,t.right,n);e.length>0&&(r=r.concat(e))})),r}arcs(t){return t=t||.5,this._iterate(t,[])}_error(t,e,n,i){const r=(i-n)/4,o=this.get(n+r),s=this.get(i-r),a=_p.dist(t,e),l=_p.dist(t,o),c=_p.dist(t,s);return Tp(l-a)+Tp(c-a)}_iterate(t,e){let n,i=0,r=1;do{n=0,r=1;let o,s,a,l,c,u=this.get(i),d=!1,h=!1,f=r,p=1;do{if(h=d,l=a,f=(i+r)/2,o=this.get(f),s=this.get(r),a=_p.getccenter(u,o,s),a.interval={start:i,end:r},d=this._error(a,u,i,r)<=t,c=h&&!d,c||(p=r),d){if(r>=1){if(a.interval.end=p=1,l=a,r>1){let t={x:a.x+a.r*Mp(a.e),y:a.y+a.r*Ap(a.e)};a.e+=_p.angle({x:a.x,y:a.y},t,this.get(1))}break}r+=(r-i)/2}else r=f}while(!c&&n++<100);if(n>=100)break;l=l||a,e.push(l),i=p}while(r<1);return e}};var Pp={pointsToCurve:function(t,e){let n=1/e;if(0===t.length){let t=[];for(let i=0;i<e;i++){let e=i*n;t.push({x:e,y:.5})}return t}if(1===t.length){let i=t[0].y,r=[{x:0,y:i}];for(let t=0;t<e;t++){let e=t*n+n;r.push({x:e,y:i})}return r}let i=[],r=t[0],o=t[t.length-1],s=new Op({x:o.x-1,y:o.y},{x:o.x-1+(r.x-(o.x-1))/2,y:o.y},{x:r.x-(r.x-(o.x-1))/2,y:r.y},r),a=new Op(o,{x:o.x+(r.x+1-o.x)/2,y:o.y},{x:r.x+1-(r.x+1-o.x)/2,y:r.y},{x:r.x+1,y:r.y});for(let e=0;e<t.length-1;e++){let n=t[e],r=t[e+1],o={x:n.x+(r.x-n.x)/2,y:n.y},s={x:r.x-(r.x-n.x)/2,y:r.y},a=new Op(n,o,s,r);i.push(a)}i.unshift(s),i.push(a);let l=[s.get(s.intersects({p1:{x:0,y:0},p2:{x:0,y:1}})[0])];for(let t=0;t<e;t++){let e,r=t*n+n;i.every((t=>{let n=t.intersects({p1:{x:r,y:0},p2:{x:r,y:1}});return!(n.length>0&&(e=t.get(n[0]),l.push(e),1))}))}return l}};class Rp{constructor(t,e){this.xs=t,this.ys=e,this.ks=this.getNaturalKs(new Float64Array(this.xs.length))}getNaturalKs(t){const e=this.xs.length-1,n=function(t,e){const n=[];for(let i=0;i<t;i++)n.push(new Float64Array(e));return n}(e+1,e+2);for(let t=1;t<e;t++)n[t][t-1]=1/(this.xs[t]-this.xs[t-1]),n[t][t]=2*(1/(this.xs[t]-this.xs[t-1])+1/(this.xs[t+1]-this.xs[t])),n[t][t+1]=1/(this.xs[t+1]-this.xs[t]),n[t][e+1]=3*((this.ys[t]-this.ys[t-1])/((this.xs[t]-this.xs[t-1])*(this.xs[t]-this.xs[t-1]))+(this.ys[t+1]-this.ys[t])/((this.xs[t+1]-this.xs[t])*(this.xs[t+1]-this.xs[t])));return n[0][0]=2/(this.xs[1]-this.xs[0]),n[0][1]=1/(this.xs[1]-this.xs[0]),n[0][e+1]=3*(this.ys[1]-this.ys[0])/((this.xs[1]-this.xs[0])*(this.xs[1]-this.xs[0])),n[e][e-1]=1/(this.xs[e]-this.xs[e-1]),n[e][e]=2/(this.xs[e]-this.xs[e-1]),n[e][e+1]=3*(this.ys[e]-this.ys[e-1])/((this.xs[e]-this.xs[e-1])*(this.xs[e]-this.xs[e-1])),function(t,e){const n=t.length;let i=0,r=0;for(;i<n&&r<=n;){let e=0,o=-1/0;for(let s=i;s<n;s++){const n=Math.abs(t[s][r]);n>o&&(e=s,o=n)}if(0===t[e][r])r++;else{Dp(t,i,e);for(let e=i+1;e<n;e++){const o=t[e][r]/t[i][r];t[e][r]=0;for(let s=r+1;s<=n;s++)t[e][s]-=t[i][s]*o}i++,r++}}for(let i=n-1;i>=0;i--){var o=0;t[i][i]&&(o=t[i][n]/t[i][i]),e[i]=o;for(let e=i-1;e>=0;e--)t[e][n]-=t[e][i]*o,t[e][i]=0}return e}(n,t)}getIndexBefore(t){let e=0,n=this.xs.length,i=0;for(;e<n;)i=Math.floor((e+n)/2),this.xs[i]<t&&i!==e?e=i:n=this.xs[i]>=t&&i!==n?i:e;return e===this.xs.length-1?this.xs.length-1:e+1}at(t){let e=this.getIndexBefore(t);const n=(t-this.xs[e-1])/(this.xs[e]-this.xs[e-1]),i=this.ks[e-1]*(this.xs[e]-this.xs[e-1])-(this.ys[e]-this.ys[e-1]),r=-this.ks[e]*(this.xs[e]-this.xs[e-1])+(this.ys[e]-this.ys[e-1]);return(1-n)*this.ys[e-1]+n*this.ys[e]+n*(1-n)*(i*(1-n)+r*n)}}function Dp(t,e,n){let i=t[e];t[e]=t[n],t[n]=i}function Bp(t,e,n){const i=n[0],r=n[n.length-1];if(t<i.x)return i.y;if(t>r.x)return r.y;const o=e.at(t);return Math.max(0,Math.min(o,1))}var Lp={pointsToCurve:function(t,e){if(!Array.isArray(t)||!t.every((t=>"object"==typeof t&&"number"==typeof t.x&&"number"==typeof t.y&&t.x>=0&&t.x<=1&&t.y>=0&&t.y<=1)))throw new Error("[pointsToCurve] Invalid points. Expected array of objects with x and y in [0, 1] range.");if(!("number"==typeof e&&e>=1))throw new Error(`[pointsToCurve] Invalid resolution: ${e}. Expected integer >= 1.`);const n=t.map((t=>t.x)),i=t.map((t=>t.y)),r=new Rp(n,i);let o=[];for(let n=0;n<e;n++)o.push(Bp(n/(e-1),r,t));return o}};function zp(t,e=256,n={}){return"bezier"===n.type?Pp.pointsToCurve(t,e,n):Lp.pointsToCurve(t,e)}const Wp=[];for(let t=0;t<256;t++)Wp[t]=t;class jp extends Gf{constructor(t){const e={vertex:ap,fragment:lp},n={uniforms:Gf.getUniformInfo(jp)};super(jp.getFilterType(),e,n,t)}static getFilterType(){return"curves"}static getInputsCount(){return 1}static getInitialOptions(){return{}}getOptionsDisplay(){return[]}handleStaticUniforms(t){let e=[];var n;e=[...t.master||t.points||t.masterPoints?t.master||(n=t.points||t.masterPoints,zp(n,256).map((t=>255*t))):Wp],this.uniforms[zf.STATIC_OPTIONS].set(e)}}function $p(t,e,n){if("number"!=typeof t||t<0||t>255)throw new Error(`[levels] Invalid black point: ${t}. Expected integer between 0 and 255`);if("number"!=typeof e||e<0||e>255)throw new Error(`[levels] Invalid white point: ${e}. Expected integer between 0 and 255`);if("number"!=typeof n||n<.01||n>9.99)throw new Error(`[levels] Invalid gamma: ${n}. Expected float between 0.01 and 9.99`);if(t>e)throw new Error(`[levels] Invalid black and white points: ${t}, ${e}. Expected black <= white`);let i=[];for(let r=0;r<256;r++){let o;o=r<=t?0:r>=e?255:255*Math.pow((r-t)/(e-t),1/n),i[r]=o}return i}class Up extends Gf{constructor(t){const e={vertex:ap,fragment:lp},n={uniforms:Gf.getUniformInfo(Up)};super(Up.getFilterType(),e,n,t)}static getFilterType(){return"levels"}static getInputsCount(){return 1}static getInitialOptions(){return{}}getOptionsDisplay(){return[]}handleStaticUniforms(t){let e=[...$p(t.black,t.white,t.gamma)];this.uniforms[zf.STATIC_OPTIONS].set(e)}}const qp=360,Vp=[];for(let t=0;t<qp;t++)Vp[t]=t;class Gp extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(Gp)};super(Gp.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n\n current_texture_coordinate_2d = texture_coordinate_2d;\n}\n",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nvarying vec2 current_texture_coordinate_2d;\n\n// a 360 length array with values for the hue curve\n// this represents a lookup table from a hue value to another hue value\nuniform float staticOptions[360];\n\n// implementation of round (doesn't exist in webgl)\nint round(float val){\n return int(floor(val + 0.5));\n}\n\n// glsl mod doesn't work with negative numbers so\n// this is a safer version that lets us play with negatives > -1.0\nfloat safeMod(float val){\n return mod(val + 1.0, 1.0);\n}\n\n// no dynamic array indexes in webgl\n// see https://stackoverflow.com/questions/30585265/what-can-i-use-as-an-array-index-in-glsl-in-webgl\nfloat getCurveValue(float pixelValue){\n float v;\n for (int k = 0; k < 360; k++) {\n if (k == round(pixelValue * 359.0)){\n v = float(staticOptions[k]) / 359.0;\n }\n }\n return v;\n}\n\n// function source https://www.shadertoy.com/view/4dKcWK\nconst float EPSILON = 1e-10;\n\nvec3 HUEtoRGB(in float hue) {\n // Hue [0..1] to RGB [0..1]\n // See http://www.chilliant.com/rgb2hsv.html\n vec3 rgb = abs(hue * 6. - vec3(3, 2, 4)) * vec3(1, -1, -1) + vec3(-1, 2, 2);\n return clamp(rgb, 0., 1.);\n}\n\nvec3 RGBtoHCV(in vec3 rgb) {\n // RGB [0..1] to Hue-Chroma-Value [0..1]\n // Based on work by Sam Hocevar and Emil Persson\n vec4 p = (rgb.g < rgb.b) ? vec4(rgb.bg, -1., 2. / 3.) : vec4(rgb.gb, 0., -1. / 3.);\n vec4 q = (rgb.r < p.x) ? vec4(p.xyw, rgb.r) : vec4(rgb.r, p.yzx);\n float c = q.x - min(q.w, q.y);\n float h = abs((q.w - q.y) / (6. * c + EPSILON) + q.z);\n return vec3(h, c, q.x);\n}\n\nvec3 HSVtoRGB(in vec3 hsv) {\n // Hue-Saturation-Value [0..1] to RGB [0..1]\n vec3 rgb = HUEtoRGB(hsv.x);\n return ((rgb - 1.) * hsv.y + 1.) * hsv.z;\n}\n\nvec3 HSLtoRGB(in vec3 hsl) {\n // Hue-Saturation-Lightness [0..1] to RGB [0..1]\n vec3 rgb = HUEtoRGB(hsl.x);\n float c = (1. - abs(2. * hsl.z - 1.)) * hsl.y;\n return (rgb - 0.5) * c + hsl.z;\n}\n\nvec3 RGBtoHSV(in vec3 rgb) {\n // RGB [0..1] to Hue-Saturation-Value [0..1]\n vec3 hcv = RGBtoHCV(rgb);\n float s = hcv.y / (hcv.z + EPSILON);\n return vec3(hcv.x, s, hcv.z);\n}\n\nvec3 RGBtoHSL(in vec3 rgb) {\n // RGB [0..1] to Hue-Saturation-Lightness [0..1]\n vec3 hcv = RGBtoHCV(rgb);\n float z = hcv.z - hcv.y * 0.5;\n float s = hcv.y / (1. - abs(z * 2. - 1.) + EPSILON);\n return vec3(hcv.x, s, z);\n}\n\nvoid main() {\n vec4 textureColor = texture2D(first_texture, current_texture_coordinate_2d);\n vec3 inHSL = RGBtoHSL(textureColor.rgb);\n // in the UI hue 0 is cyan and 180 is red\n float shiftedHue = getCurveValue(mod(inHSL.x + 0.5, 1.0));\n vec3 inRGB = HSLtoRGB(vec3(shiftedHue, inHSL.y, inHSL.z));\n\n vec4 finalColor = vec4(inRGB, textureColor.a);\n\n // During the rgb-to-hsl-to-rgb conversion total whites gets clipped on OSX for some reason\n // make sure to retain absolute white (since it has no chroma component)\n if (textureColor.r == 1.0 && textureColor.g == 1.0 && textureColor.b == 1.0){\n finalColor.rgb = vec3(1.0, 1.0, 1.0);\n }\n\n gl_FragColor = finalColor;\n}\n"},e,t)}static getFilterType(){return"hue"}static getInputsCount(){return 1}static getInitialOptions(){return{}}getOptionsDisplay(){return[]}handleStaticUniforms(t){let e=t.points&&function(t){return zp(t,qp,{type:"bezier"}).map((t=>{return e=t,((Math.round(e.x*qp)+180)%qp+(1-e.y-.5)*qp+qp)%qp;var e}))}(t.points)||Vp;this.uniforms[zf.STATIC_OPTIONS].set(e)}}class Hp extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(Hp)};super(Hp.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n\n current_texture_coordinate_2d = texture_coordinate_2d;\n}\n",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nvarying vec2 current_texture_coordinate_2d;\nuniform float staticOptions[2];\n\n//CIE L*a*b* (CIELAB, L* for lightness, a* from green to red, b* from blue to yellow)\n//Source: https://gist.github.com/mattatz/44f081cac87e2f7c8980 (HLSL)\nvec3 rgb2xyz(vec3 c){\n vec3 tmp=vec3(\n (c.r>.04045)?pow((c.r+.055)/1.055,2.4):c.r/12.92,\n (c.g>.04045)?pow((c.g+.055)/1.055,2.4):c.g/12.92,\n (c.b>.04045)?pow((c.b+.055)/1.055,2.4):c.b/12.92\n );\n mat3 mat=mat3(\n .4124,.3576,.1805,\n .2126,.7152,.0722,\n .0193,.1192,.9505\n );\n return 100.*(tmp*mat);\n}\nvec3 xyz2lab(vec3 c){\n vec3 n=c/vec3(95.047,100.,108.883),\n v=vec3(\n (n.x>.008856)?pow(n.x,1./3.):(7.787*n.x)+(16./116.),\n (n.y>.008856)?pow(n.y,1./3.):(7.787*n.y)+(16./116.),\n (n.z>.008856)?pow(n.z,1./3.):(7.787*n.z)+(16./116.)\n );\n return vec3((116.*v.y)-16.,500.*(v.x-v.y),200.*(v.y-v.z));\n}\nvec3 rgb2lab(vec3 c){\n vec3 lab=xyz2lab(rgb2xyz(c));\n return vec3(lab.x/100.,.5+.5*(lab.y/127.),.5+.5*(lab.z/127.));\n}\nvec3 lab2xyz(vec3 c){\n float fy=(c.x+16.)/116.,\n fx=c.y/500.+fy,\n fz=fy-c.z/200.;\n return vec3(\n 95.047*((fx>.206897)?fx*fx*fx:(fx-16./116.)/7.787),\n 100. *((fy>.206897)?fy*fy*fy:(fy-16./116.)/7.787),\n 108.883*((fz>.206897)?fz*fz*fz:(fz-16./116.)/7.787)\n );\n}\nvec3 xyz2rgb(vec3 c){\n mat3 mat=mat3(\n 3.2406,-1.5372,-.4986,\n -.9689, 1.8758, .0415,\n .0557, -.2040,1.0570\n );\n vec3 v=(c/100.0)*mat,\n r=vec3(\n (v.r>.0031308)?((1.055*pow(v.r,(1./2.4)))-.055):12.92*v.r,\n (v.g>.0031308)?((1.055*pow(v.g,(1./2.4)))-.055):12.92*v.g,\n (v.b>.0031308)?((1.055*pow(v.b,(1./2.4)))-.055):12.92*v.b\n );\n return r;\n}\nvec3 lab2rgb(vec3 c){return xyz2rgb(lab2xyz(vec3(100.*c.x,2.*127.*(c.y-.5),2.*127.*(c.z-.5))));}\n\n\nfloat handleMix(float x){\n return pow(x * 2.0 - 1.0, 2.0);\n}\n\nvoid main() {\n vec3 inColor = texture2D(first_texture, current_texture_coordinate_2d).rgb;\n// inColor = vec3(148.0 / 255.0, 99.0 / 255.0, 95.0 / 255.0); // debug\n\n vec3 inLab = rgb2lab(inColor);\n vec3 inRGB ;\n\n// vec2 tempTint = vec2(staticOptions[1], -staticOptions[0]);\n\n// inLab.yz += (tempTint.xy); // * 0.3; // damping of effect\n\n // lab range is 0 to 1, input is -128 to 127\n // lab chromacity zero is 0.5, 0.5 so convert between the ranges\n // y is a, z is b\n inLab.y -= (-staticOptions[1] + 128.0) / 255.0 - 0.5;\n inLab.z -= (staticOptions[0] + 128.0) / 255.0 - 0.5;\n\n inRGB = lab2rgb(inLab);\n\n\n // vec3 mixed = mix(inRGB, inColor, handleMix(inLab.x)); // mid tones\n // vec3 mixed = mix(inRGB, inColor, inLab.x); // only high tones\n vec3 mixed = mix(inRGB, inColor, 0.0); // no mix\n\n gl_FragColor = vec4(mixed,1.0);\n}\n"},e,t)}static getFilterType(){return"whiteBalance"}static getInputsCount(){return 1}static getInitialOptions(){return{}}getOptionsDisplay(){return[]}handleStaticUniforms(t){let e=t.temperature?t.temperature:0,n=t.tint?t.tint:0;this.uniforms[zf.STATIC_OPTIONS].set([e,n])}}class Kp extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(Kp)};super(Kp.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n\n current_texture_coordinate_2d = texture_coordinate_2d;\n}\n",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nvarying vec2 current_texture_coordinate_2d;\nuniform float staticOptions[4];\n\n// algorithm from here\n// https://github.com/CeeJayDK/SweetFX/blob/master/Shaders/Vibrance.fx\n\nvoid main() {\n float percentAmount = staticOptions[0];\n float redBalance = staticOptions[1];\n float greenBalance = staticOptions[2];\n float blueBalance = staticOptions[3];\n\n vec3 color = texture2D(first_texture, current_texture_coordinate_2d).rgb;\n vec3 coefLuma = vec3(0.212656, 0.715158, 0.072186);\n\n float luma = dot(coefLuma, color);\n\n float max_color = max(color.r, max(color.g, color.b)); // Find the strongest color\n float min_color = min(color.r, min(color.g, color.b)); // Find the weakest color\n\n float color_saturation = max_color - min_color; // The difference between the two is the saturation\n\n // Extrapolate between luma and original by 1 + (1-saturation) - current\n vec3 coeffVibrance = vec3(redBalance, greenBalance, blueBalance) * percentAmount;\n\n color.r = mix(luma, color.r, 1.0 + (coeffVibrance.r * (1.0 - (sign(coeffVibrance.r) * color_saturation))));\n color.g = mix(luma, color.g, 1.0 + (coeffVibrance.g * (1.0 - (sign(coeffVibrance.g) * color_saturation))));\n color.b = mix(luma, color.b, 1.0 + (coeffVibrance.b * (1.0 - (sign(coeffVibrance.b) * color_saturation))));\n\n\n gl_FragColor = vec4(color, 1.0);\n\n}\n"},e,t)}static getFilterType(){return"vibrance"}static getInputsCount(){return 1}static getInitialOptions(){return{}}getOptionsDisplay(){return[]}handleStaticUniforms(t){let e=t.amount?t.amount/100*2:0,n=null===t.redBalance?1:t.redBalance,i=null===t.greenBalance?1:t.greenBalance,r=null===t.blueBalance?1:t.blueBalance;this.uniforms[zf.STATIC_OPTIONS].set([e,n,i,r])}}class Xp extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(Xp)};super(Xp.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n\n current_texture_coordinate_2d = texture_coordinate_2d;\n}\n",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nvarying vec2 current_texture_coordinate_2d;\nuniform float staticOptions[1];\n\n// algorithm from here\n// https://github.com/minus34/cesium1/blob/master/Cesium/Shaders/Builtin/Functions/saturation.glsl\n\n/**\n * Adjusts the saturation of a color.\n *\n * @name czm_saturation\n * @glslFunction\n *\n * @param {vec3} rgb The color.\n * @param {float} adjustment The amount to adjust the saturation of the color.\n *\n * @returns {float} The color with the saturation adjusted.\n *\n * @example\n * vec3 greyScale = czm_saturation(color, 0.0);\n * vec3 doubleSaturation = czm_saturation(color, 2.0);\n */\nvec3 czm_saturation(vec3 rgb, float adjustment)\n{\n // Algorithm from Chapter 16 of OpenGL Shading Language\n const vec3 W = vec3(0.2125, 0.7154, 0.0721);\n vec3 intensity = vec3(dot(rgb, W));\n return mix(intensity, rgb, adjustment);\n}\n\n\nvoid main() {\n float amount = staticOptions[0];\n vec3 color = texture2D(first_texture, current_texture_coordinate_2d).rgb;\n gl_FragColor = vec4(czm_saturation(color, amount), 1.0);\n}\n"},e,t)}static getFilterType(){return"saturation"}static getInputsCount(){return 1}static getInitialOptions(){return{}}getOptionsDisplay(){return[]}handleStaticUniforms(t){let e=null===t.amount?1:t.amount;this.uniforms[zf.STATIC_OPTIONS].set([e])}}class Yp extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(Yp)};super(Yp.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n\n current_texture_coordinate_2d = texture_coordinate_2d;\n current_position_coordinate_2d = normalize_poistion.xy;\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\n\nuniform float staticOptions[12];\nuniform float runtimeOptions[4];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\n\nfloat roundedBoxSDF(vec2 CenterPosition, vec2 Size, float Radius) {\n return length(max(abs(CenterPosition)-Size+Radius,0.0))-Radius;\n}\n\nvoid main() {\n vec2 srcAR = vec2(runtimeOptions[0]/runtimeOptions[1], 1.0);\n // custom aspect ratio (other than the default 1920/1080)\n // useful for example when doing crop on crop\n if (staticOptions[10] > 0.0) { //\n srcAR.x = staticOptions[10];\n }\n vec2 srcCenter = vec2(staticOptions[0], staticOptions[1]);\n vec2 srcDims = vec2(staticOptions[2], staticOptions[3]);\n vec2 srcTL = vec2(srcCenter.x - srcDims[0] / 2.0, srcCenter.y - srcDims[1] / 2.0); // top left point\n\n vec2 srcDims_AR = srcDims * srcAR;\n vec2 srcTL_AR = srcTL * srcAR;\n\n vec2 vpDims = vec2(runtimeOptions[2], runtimeOptions[3]);\n vec2 vpAR = vec2(vpDims[0]/vpDims[1], 1.0);\n\n vec2 tgtCenter = vec2(staticOptions[4], staticOptions[5]);\n vec2 tgtDims = vec2(staticOptions[6], staticOptions[7]);\n vec2 tgtTL = vec2(tgtCenter.x - tgtDims[0] / 2.0, tgtCenter.y - tgtDims[1] / 2.0);\n\n vec2 tgtDims_AR = tgtDims * vpAR;\n vec2 tgtTL_AR = tgtTL * vpAR;\n\n vec2 pos_AR = current_texture_coordinate_2d * vpAR;\n\n float ratioW = tgtDims_AR[0] / srcDims_AR[0];\n float ratioH = tgtDims_AR[1] / srcDims_AR[1];\n\n float ratio;\n\n // the type of crop fit. 0 - contain, 1 - fill, 3 - stretch\n float fitType = staticOptions[8];\n\n if (fitType == 0.0){\n ratio = ratioW > ratioH ? ratioW : ratioH;\n vec2 tgtDims_OLD_AR = tgtDims_AR;\n tgtDims_AR = srcDims_AR * ratio;\n tgtTL_AR = tgtTL_AR - (tgtDims_AR - tgtDims_OLD_AR) / 2.0;\n } else if (fitType == 1.0){\n ratio = ratioW < ratioH ? ratioW : ratioH;\n vec2 tgtDims_OLD_AR = tgtDims_AR;\n tgtDims_AR = srcDims_AR * ratio;\n tgtTL_AR = tgtTL_AR + (tgtDims_OLD_AR - tgtDims_AR) / 2.0;\n }\n\n vec2 final_pos_AR = (pos_AR - tgtTL_AR) / tgtDims_AR * srcDims_AR + srcTL_AR;\n\n // transform coords back from AR into 0 to 1 range\n vec2 pos = final_pos_AR / srcAR;\n\n // How soft the edges should be . Higher values could be used to simulate a drop shadow.\n float edgeSoftness = staticOptions[11];\n\n // The radius of the corners in pixels\n float radius = staticOptions[9];\n\n float tightDistance = roundedBoxSDF((current_texture_coordinate_2d - tgtCenter) , tgtDims_AR / vpAR / 2.0, 0.0);\n// float distance = roundedBoxSDF((current_texture_coordinate_2d - tgtCenter) * vpAR, tgtDims * vpAR / 2.0, 0.01);\n float distance = roundedBoxSDF((current_texture_coordinate_2d - tgtCenter) * vpDims, (tgtDims * vpDims) / 2.0, radius);\n\n // Smooth the result (free antialiasing).\n float smoothedAlpha = 1.0 - smoothstep(0.0, edgeSoftness * 2.0, distance);\n\n // Return the resultant shape.\n vec4 textureColor = texture2D(first_texture, pos);\n vec4 quadColor = vec4(textureColor.xyz, smoothedAlpha);\n\n // Apply a drop shadow effect.\n// float shadowSoftness = 0.0;\n// vec2 shadowOffset = vec2(0.0, 0.0);\n// float shadowDistance = roundedBoxSDF(pos + shadowOffset, tgtDims_AR / 2.0, radius);\n// float shadowAlpha = 1.0 - smoothstep(-shadowSoftness, shadowSoftness, shadowDistance);\n// vec4 shadowColor = vec4(0.4, 0.4, 0.4, 1.0);\n // gl_FragColor = mix(quadColor, shadowColor, shadowAlpha - smoothedAlpha);\n\n\n // pillarboxing\n if (tightDistance > 0.0 && distance <= 0.0){\n gl_FragColor = vec4(0, 0, 0, 1.0);\n } else {\n gl_FragColor = quadColor;\n }\n\n // debug\n // gl_FragColor = texture2D(first_texture, pos);\n\n}"},e,t)}static getFilterType(){return"crop"}static getInputsCount(){return 1}static getInitialOptions(){return{source:{center:{x:.5,y:.5},width:1,height:1},target:{center:{x:.5,y:.5},width:1,height:1},fitType:"fill",cornerRadius:10,edgeSoftness:0}}getOptionsDisplay(){return[]}static getUniformList(){return[zf.FIRST_TEXTURE,Df,Bf]}handleStaticUniforms(t){let e={...Yp.getInitialOptions(),...t};const n=Number.parseFloat(e.source.center.x).toFixed(5),i=Number.parseFloat(e.source.center.y).toFixed(5),r=Number.parseFloat(e.source.width).toFixed(5),o=Number.parseFloat(e.source.height).toFixed(5),s=Number.parseFloat(e.target.center.x).toFixed(5),a=Number.parseFloat(e.target.center.y).toFixed(5),l=Number.parseFloat(e.target.width).toFixed(5),c=Number.parseFloat(e.target.height).toFixed(5),u=Number.parseFloat(e.edgeSoftness).toFixed(5),d=e.source.aspectRatio?Number.parseFloat(e.source.aspectRatio).toFixed(5):0;let h;h="fill"===e.fitType?0:"contain"===e.fitType?1:2;const f=Number.parseFloat(e.cornerRadius).toFixed(5);this.uniforms[zf.STATIC_OPTIONS].set([n,i,r,o,s,a,l,c,h,f,d,u])}}class Qp extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(Qp)};super(Qp.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n\n current_texture_coordinate_2d = texture_coordinate_2d;\n current_position_coordinate_2d = normalize_poistion.xy;\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\n\nuniform float staticOptions[4];\nuniform float runtimeOptions[2];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\n\nvoid main() {\n // this is the the texture from the prev shader\n vec4 texture = texture2D(first_texture, current_texture_coordinate_2d);\n vec4 color = vec4(staticOptions[0], staticOptions[1], staticOptions[2], 1.0);\n vec4 blended = mix(texture, color, staticOptions[3]);\n gl_FragColor = blended;\n}"},e,t)}static getFilterType(){return"solid"}static getInputsCount(){return 1}static getInitialOptions(){return{color:{r:.33,g:.66,b:.99,a:1}}}getOptionsDisplay(){return[{properties:["color","r"],type:"slider",minValue:0,maxValue:1,step:.001},{properties:["color","g"],type:"slider",minValue:0,maxValue:1,step:.001},{properties:["color","b"],type:"slider",minValue:0,maxValue:1,step:.001}]}handleStaticUniforms(t){var e;const n=Number.parseFloat(t.color.r).toFixed(5),i=Number.parseFloat(t.color.g).toFixed(5),r=Number.parseFloat(t.color.b).toFixed(5),o=(null!==(e=Number.parseFloat(t.color.a))&&void 0!==e?e:1).toFixed(5);this.uniforms[zf.STATIC_OPTIONS].set([n,i,r,o])}}class Jp extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(Jp)};super(Jp.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n\n current_texture_coordinate_2d = texture_coordinate_2d;\n current_position_coordinate_2d = normalize_poistion.xy;\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\n\nuniform float runtimeOptions[1];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying vec2 current_position_coordinate_2d;\n\n\nvoid main() {\n vec4 textureColor = texture2D(first_texture, current_texture_coordinate_2d);\n gl_FragColor = vec4(textureColor.rgb, 1.0);\n}\n"},e,t)}static getFilterType(){return"solidImage"}static getInputsCount(){return 1}static getInitialOptions(){return{}}getOptionsDisplay(){return[]}}class Zp extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(Zp)};super(Zp.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n vec4 normalize_position = vec4(position_3d.xyz, 1);\n gl_Position = normalize_position;\n\n current_texture_coordinate_2d = texture_coordinate_2d;\n}\n",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nvarying vec2 current_texture_coordinate_2d;\n\n//CIE L*a*b* (CIELAB, L* for lightness, a* from green to red, b* from blue to yellow)\n//Source: https://gist.github.com/mattatz/44f081cac87e2f7c8980 (HLSL)\nvec3 rgb2xyz(vec3 c){\n vec3 tmp=vec3(\n (c.r>.04045)?pow((c.r+.055)/1.055,2.4):c.r/12.92,\n (c.g>.04045)?pow((c.g+.055)/1.055,2.4):c.g/12.92,\n (c.b>.04045)?pow((c.b+.055)/1.055,2.4):c.b/12.92\n );\n mat3 mat=mat3(\n .4124,.3576,.1805,\n .2126,.7152,.0722,\n .0193,.1192,.9505\n );\n return 100.*(tmp*mat);\n}\nvec3 xyz2lab(vec3 c){\n vec3 n=c/vec3(95.047,100.,108.883),\n v=vec3(\n (n.x>.008856)?pow(n.x,1./3.):(7.787*n.x)+(16./116.),\n (n.y>.008856)?pow(n.y,1./3.):(7.787*n.y)+(16./116.),\n (n.z>.008856)?pow(n.z,1./3.):(7.787*n.z)+(16./116.)\n );\n return vec3((116.*v.y)-16.,500.*(v.x-v.y),200.*(v.y-v.z));\n}\nvec3 rgb2lab(vec3 c){\n vec3 lab=xyz2lab(rgb2xyz(c));\n return vec3(lab.x/100.,.5+.5*(lab.y/127.),.5+.5*(lab.z/127.));\n}\n\nvoid main() {\n vec3 inColor = texture2D(first_texture, current_texture_coordinate_2d).rgb;\n vec3 inLab = rgb2lab(inColor);\n gl_FragColor = vec4(inLab, 1.0);\n}\n"},e,t)}static getFilterType(){return"lab"}static getInputsCount(){return 1}static getInitialOptions(){return{}}getOptionsDisplay(){return[]}handleStaticUniforms(t){let e=t.temperature?t.temperature:0,n=t.tint?t.tint:0;this.uniforms[zf.STATIC_OPTIONS].set([e,n])}}class tm extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(tm)};super(tm.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n\n current_texture_coordinate_2d = texture_coordinate_2d;\n} ",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nvarying vec2 current_texture_coordinate_2d;\nuniform float staticOptions[1];\n\nvoid main() {\n float exposureStops = staticOptions[0];\n vec3 color = texture2D(first_texture, current_texture_coordinate_2d).rgb;\n \n // Convert exposure stops to multiplier: pow(2.0, stops)\n float multiplier = pow(2.0, exposureStops);\n \n // Apply exposure adjustment\n vec3 exposedColor = color * multiplier;\n \n gl_FragColor = vec4(exposedColor, 1.0);\n} "},e,t)}static getFilterType(){return"exposure"}static getInputsCount(){return 1}static getInitialOptions(){return{}}getOptionsDisplay(){return[]}handleStaticUniforms(t){let e=null===t.exposure?0:t.exposure;this.uniforms[zf.STATIC_OPTIONS].set([e])}}var em,nm,im,rm,om,sm,am,lm;function cm(){if(rm)return im;rm=1;const t=nm?em:(nm=1,em={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}),e={};for(const n of Object.keys(t))e[t[n]]=n;const n={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};im=n;for(const t of Object.keys(n)){if(!("channels"in n[t]))throw new Error("missing channels property: "+t);if(!("labels"in n[t]))throw new Error("missing channel labels property: "+t);if(n[t].labels.length!==n[t].channels)throw new Error("channel and label counts mismatch: "+t);const{channels:e,labels:i}=n[t];delete n[t].channels,delete n[t].labels,Object.defineProperty(n[t],"channels",{value:e}),Object.defineProperty(n[t],"labels",{value:i})}function i(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}return n.rgb.hsl=function(t){const e=t[0]/255,n=t[1]/255,i=t[2]/255,r=Math.min(e,n,i),o=Math.max(e,n,i),s=o-r;let a,l;o===r?a=0:e===o?a=(n-i)/s:n===o?a=2+(i-e)/s:i===o&&(a=4+(e-n)/s),a=Math.min(60*a,360),a<0&&(a+=360);const c=(r+o)/2;return l=o===r?0:c<=.5?s/(o+r):s/(2-o-r),[a,100*l,100*c]},n.rgb.hsv=function(t){let e,n,i,r,o;const s=t[0]/255,a=t[1]/255,l=t[2]/255,c=Math.max(s,a,l),u=c-Math.min(s,a,l),d=function(t){return(c-t)/6/u+.5};return 0===u?(r=0,o=0):(o=u/c,e=d(s),n=d(a),i=d(l),s===c?r=i-n:a===c?r=1/3+e-i:l===c&&(r=2/3+n-e),r<0?r+=1:r>1&&(r-=1)),[360*r,100*o,100*c]},n.rgb.hwb=function(t){const e=t[0],i=t[1];let r=t[2];const o=n.rgb.hsl(t)[0],s=1/255*Math.min(e,Math.min(i,r));return r=1-1/255*Math.max(e,Math.max(i,r)),[o,100*s,100*r]},n.rgb.cmyk=function(t){const e=t[0]/255,n=t[1]/255,i=t[2]/255,r=Math.min(1-e,1-n,1-i);return[100*((1-e-r)/(1-r)||0),100*((1-n-r)/(1-r)||0),100*((1-i-r)/(1-r)||0),100*r]},n.rgb.keyword=function(n){const r=e[n];if(r)return r;let o,s=1/0;for(const e of Object.keys(t)){const r=i(n,t[e]);r<s&&(s=r,o=e)}return o},n.keyword.rgb=function(e){return t[e]},n.rgb.xyz=function(t){let e=t[0]/255,n=t[1]/255,i=t[2]/255;return e=e>.04045?((e+.055)/1.055)**2.4:e/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92,[100*(.4124*e+.3576*n+.1805*i),100*(.2126*e+.7152*n+.0722*i),100*(.0193*e+.1192*n+.9505*i)]},n.rgb.lab=function(t){const e=n.rgb.xyz(t);let i=e[0],r=e[1],o=e[2];return i/=95.047,r/=100,o/=108.883,i=i>.008856?i**(1/3):7.787*i+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,o=o>.008856?o**(1/3):7.787*o+16/116,[116*r-16,500*(i-r),200*(r-o)]},n.hsl.rgb=function(t){const e=t[0]/360,n=t[1]/100,i=t[2]/100;let r,o,s;if(0===n)return s=255*i,[s,s,s];r=i<.5?i*(1+n):i+n-i*n;const a=2*i-r,l=[0,0,0];for(let t=0;t<3;t++)o=e+1/3*-(t-1),o<0&&o++,o>1&&o--,s=6*o<1?a+6*(r-a)*o:2*o<1?r:3*o<2?a+(r-a)*(2/3-o)*6:a,l[t]=255*s;return l},n.hsl.hsv=function(t){const e=t[0];let n=t[1]/100,i=t[2]/100,r=n;const o=Math.max(i,.01);return i*=2,n*=i<=1?i:2-i,r*=o<=1?o:2-o,[e,100*(0===i?2*r/(o+r):2*n/(i+n)),(i+n)/2*100]},n.hsv.rgb=function(t){const e=t[0]/60,n=t[1]/100;let i=t[2]/100;const r=Math.floor(e)%6,o=e-Math.floor(e),s=255*i*(1-n),a=255*i*(1-n*o),l=255*i*(1-n*(1-o));switch(i*=255,r){case 0:return[i,l,s];case 1:return[a,i,s];case 2:return[s,i,l];case 3:return[s,a,i];case 4:return[l,s,i];case 5:return[i,s,a]}},n.hsv.hsl=function(t){const e=t[0],n=t[1]/100,i=t[2]/100,r=Math.max(i,.01);let o,s;s=(2-n)*i;const a=(2-n)*r;return o=n*r,o/=a<=1?a:2-a,o=o||0,s/=2,[e,100*o,100*s]},n.hwb.rgb=function(t){const e=t[0]/360;let n=t[1]/100,i=t[2]/100;const r=n+i;let o;r>1&&(n/=r,i/=r);const s=Math.floor(6*e),a=1-i;o=6*e-s,1&s&&(o=1-o);const l=n+o*(a-n);let c,u,d;switch(s){default:case 6:case 0:c=a,u=l,d=n;break;case 1:c=l,u=a,d=n;break;case 2:c=n,u=a,d=l;break;case 3:c=n,u=l,d=a;break;case 4:c=l,u=n,d=a;break;case 5:c=a,u=n,d=l}return[255*c,255*u,255*d]},n.cmyk.rgb=function(t){const e=t[0]/100,n=t[1]/100,i=t[2]/100,r=t[3]/100;return[255*(1-Math.min(1,e*(1-r)+r)),255*(1-Math.min(1,n*(1-r)+r)),255*(1-Math.min(1,i*(1-r)+r))]},n.xyz.rgb=function(t){const e=t[0]/100,n=t[1]/100,i=t[2]/100;let r,o,s;return r=3.2406*e+-1.5372*n+-.4986*i,o=-.9689*e+1.8758*n+.0415*i,s=.0557*e+-.204*n+1.057*i,r=r>.0031308?1.055*r**(1/2.4)-.055:12.92*r,o=o>.0031308?1.055*o**(1/2.4)-.055:12.92*o,s=s>.0031308?1.055*s**(1/2.4)-.055:12.92*s,r=Math.min(Math.max(0,r),1),o=Math.min(Math.max(0,o),1),s=Math.min(Math.max(0,s),1),[255*r,255*o,255*s]},n.xyz.lab=function(t){let e=t[0],n=t[1],i=t[2];return e/=95.047,n/=100,i/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,[116*n-16,500*(e-n),200*(n-i)]},n.lab.xyz=function(t){let e,n,i;n=(t[0]+16)/116,e=t[1]/500+n,i=n-t[2]/200;const r=n**3,o=e**3,s=i**3;return n=r>.008856?r:(n-16/116)/7.787,e=o>.008856?o:(e-16/116)/7.787,i=s>.008856?s:(i-16/116)/7.787,e*=95.047,n*=100,i*=108.883,[e,n,i]},n.lab.lch=function(t){const e=t[0],n=t[1],i=t[2];let r;return r=360*Math.atan2(i,n)/2/Math.PI,r<0&&(r+=360),[e,Math.sqrt(n*n+i*i),r]},n.lch.lab=function(t){const e=t[0],n=t[1],i=t[2]/360*2*Math.PI;return[e,n*Math.cos(i),n*Math.sin(i)]},n.rgb.ansi16=function(t,e=null){const[i,r,o]=t;let s=null===e?n.rgb.hsv(t)[2]:e;if(s=Math.round(s/50),0===s)return 30;let a=30+(Math.round(o/255)<<2|Math.round(r/255)<<1|Math.round(i/255));return 2===s&&(a+=60),a},n.hsv.ansi16=function(t){return n.rgb.ansi16(n.hsv.rgb(t),t[2])},n.rgb.ansi256=function(t){const e=t[0],n=t[1],i=t[2];return e===n&&n===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(n/255*5)+Math.round(i/255*5)},n.ansi16.rgb=function(t){let e=t%10;if(0===e||7===e)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];const n=.5*(1+~~(t>50));return[(1&e)*n*255,(e>>1&1)*n*255,(e>>2&1)*n*255]},n.ansi256.rgb=function(t){if(t>=232){const e=10*(t-232)+8;return[e,e,e]}let e;return t-=16,[Math.floor(t/36)/5*255,Math.floor((e=t%36)/6)/5*255,e%6/5*255]},n.rgb.hex=function(t){const e=(((255&Math.round(t[0]))<<16)+((255&Math.round(t[1]))<<8)+(255&Math.round(t[2]))).toString(16).toUpperCase();return"000000".substring(e.length)+e},n.hex.rgb=function(t){const e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let n=e[0];3===e[0].length&&(n=n.split("").map((t=>t+t)).join(""));const i=parseInt(n,16);return[i>>16&255,i>>8&255,255&i]},n.rgb.hcg=function(t){const e=t[0]/255,n=t[1]/255,i=t[2]/255,r=Math.max(Math.max(e,n),i),o=Math.min(Math.min(e,n),i),s=r-o;let a,l;return a=s<1?o/(1-s):0,l=s<=0?0:r===e?(n-i)/s%6:r===n?2+(i-e)/s:4+(e-n)/s,l/=6,l%=1,[360*l,100*s,100*a]},n.hsl.hcg=function(t){const e=t[1]/100,n=t[2]/100,i=n<.5?2*e*n:2*e*(1-n);let r=0;return i<1&&(r=(n-.5*i)/(1-i)),[t[0],100*i,100*r]},n.hsv.hcg=function(t){const e=t[1]/100,n=t[2]/100,i=e*n;let r=0;return i<1&&(r=(n-i)/(1-i)),[t[0],100*i,100*r]},n.hcg.rgb=function(t){const e=t[0]/360,n=t[1]/100,i=t[2]/100;if(0===n)return[255*i,255*i,255*i];const r=[0,0,0],o=e%1*6,s=o%1,a=1-s;let l=0;switch(Math.floor(o)){case 0:r[0]=1,r[1]=s,r[2]=0;break;case 1:r[0]=a,r[1]=1,r[2]=0;break;case 2:r[0]=0,r[1]=1,r[2]=s;break;case 3:r[0]=0,r[1]=a,r[2]=1;break;case 4:r[0]=s,r[1]=0,r[2]=1;break;default:r[0]=1,r[1]=0,r[2]=a}return l=(1-n)*i,[255*(n*r[0]+l),255*(n*r[1]+l),255*(n*r[2]+l)]},n.hcg.hsv=function(t){const e=t[1]/100,n=e+t[2]/100*(1-e);let i=0;return n>0&&(i=e/n),[t[0],100*i,100*n]},n.hcg.hsl=function(t){const e=t[1]/100,n=t[2]/100*(1-e)+.5*e;let i=0;return n>0&&n<.5?i=e/(2*n):n>=.5&&n<1&&(i=e/(2*(1-n))),[t[0],100*i,100*n]},n.hcg.hwb=function(t){const e=t[1]/100,n=e+t[2]/100*(1-e);return[t[0],100*(n-e),100*(1-n)]},n.hwb.hcg=function(t){const e=t[1]/100,n=1-t[2]/100,i=n-e;let r=0;return i<1&&(r=(n-i)/(1-i)),[t[0],100*i,100*r]},n.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]},n.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]},n.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]},n.gray.hsl=function(t){return[0,0,t[0]]},n.gray.hsv=n.gray.hsl,n.gray.hwb=function(t){return[0,100,t[0]]},n.gray.cmyk=function(t){return[0,0,0,t[0]]},n.gray.lab=function(t){return[t[0],0,0]},n.gray.hex=function(t){const e=255&Math.round(t[0]/100*255),n=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(n.length)+n},n.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]},im}function um(){if(sm)return om;sm=1;const t=cm();function e(t,e){return function(n){return e(t(n))}}function n(n,i){const r=[i[n].parent,n];let o=t[i[n].parent][n],s=i[n].parent;for(;i[s].parent;)r.unshift(i[s].parent),o=e(t[i[s].parent][s],o),s=i[s].parent;return o.conversion=r,o}return om=function(e){const i=function(e){const n=function(){const e={},n=Object.keys(t);for(let t=n.length,i=0;i<t;i++)e[n[i]]={distance:-1,parent:null};return e}(),i=[e];for(n[e].distance=0;i.length;){const e=i.pop(),r=Object.keys(t[e]);for(let t=r.length,o=0;o<t;o++){const t=r[o],s=n[t];-1===s.distance&&(s.distance=n[e].distance+1,s.parent=e,i.unshift(t))}}return n}(e),r={},o=Object.keys(i);for(let t=o.length,e=0;e<t;e++){const t=o[e];null!==i[t].parent&&(r[t]=n(t,i))}return r}}var dm=function(){if(lm)return am;lm=1;const t=cm(),e=um(),n={};return Object.keys(t).forEach((i=>{n[i]={},Object.defineProperty(n[i],"channels",{value:t[i].channels}),Object.defineProperty(n[i],"labels",{value:t[i].labels});const r=e(i);Object.keys(r).forEach((t=>{const e=r[t];n[i][t]=function(t){const e=function(...e){const n=e[0];if(null==n)return n;n.length>1&&(e=n);const i=t(e);if("object"==typeof i)for(let t=i.length,e=0;e<t;e++)i[e]=Math.round(i[e]);return i};return"conversion"in t&&(e.conversion=t.conversion),e}(e),n[i][t].raw=function(t){const e=function(...e){const n=e[0];return null==n?n:(n.length>1&&(e=n),t(e))};return"conversion"in t&&(e.conversion=t.conversion),e}(e)}))})),am=n}(),hm=Dd(dm);class fm extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(fm)};super(fm.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n\n current_texture_coordinate_2d = texture_coordinate_2d;\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nuniform float staticOptions[3];\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n vec4 blend = texture2D(first_texture, current_texture_coordinate_2d);\n \n vec3 blendRGB = blend.rgb;\n vec3 baseRGB = vec3(staticOptions[0], staticOptions[1], staticOptions[2]);\n \n vec3 limit = step(0.5, blendRGB);\n vec3 mixedRGB = mix(2.0 * baseRGB * blendRGB, 1.0 - 2.0 * (1.0 - baseRGB) * (1.0 - blendRGB), limit);\n \n gl_FragColor = vec4((mixedRGB * blend.a) + ((1.0 - blend.a) * baseRGB), 1);\n}"},e,t)}static getFilterType(){return"hardLight"}static getInputsCount(){return 1}static getInitialOptions(){return{color:"4b0082"}}getOptionsDisplay(){return[{properties:["color"],type:"colorPicker"}]}handleStaticUniforms(t){const e=hm.hex.rgb(t.color).map((t=>t/255));this.uniforms[zf.STATIC_OPTIONS].set([e[0],e[1],e[2]])}}class pm extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(pm)};super(pm.getFilterType(),{vertex:"precision lowp float;\n\nattribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nuniform float runtimeOptions[1];\nuniform float staticOptions[6];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying float exposure_value;\n\n\nfloat getCurrentBeizerProgress(vec2 p1, vec2 p2, float t){\n vec2 p0 = vec2(0,0);\n vec2 p3 = vec2(1,1);\n \n vec2 E = mix(p0, p1, t);\n vec2 F = mix(p1, p2, t);\n vec2 G = mix(p2, p3, t);\n\n vec2 H = mix(E, F, t);\n vec2 I = mix(F, G, t);\n\n vec2 P = mix(H, I, t);\n\n return P.y;\n}\n\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n \n // transfrom logic // \n // normalized time range from 0 to 1\n float current_time = runtimeOptions[0];\n float current_power_progress = getCurrentBeizerProgress(\n vec2(staticOptions[2], staticOptions[3]),\n vec2(staticOptions[4], staticOptions[5]),\n current_time\n );\n \n current_texture_coordinate_2d = texture_coordinate_2d;\n exposure_value = mix(staticOptions[0], staticOptions[1], current_power_progress);\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\n\nvarying vec2 current_texture_coordinate_2d;\nvarying float exposure_value;\n\nvoid main() {\n vec4 texture = texture2D(first_texture, current_texture_coordinate_2d);\n gl_FragColor = vec4((texture.xyz) * (1.0 + exposure_value) , texture.w);\n}\n\n"},e,t)}static getFilterType(){return"exposureTransition"}static getInputsCount(){return 1}static getInitialOptions(){return{properties:{power:{form:0,to:0,ease:[0,0,1,1]}}}}handleStaticUniforms(t){const e=t.properties.power;this.uniforms[zf.STATIC_OPTIONS].set([e.from,e.to,...e.ease])}static getUniformList(){return[zf.FIRST_TEXTURE,Lf]}}class mm extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(mm)};super(mm.getFilterType(),{vertex:"precision lowp float;\n\nattribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nuniform float runtimeOptions[1];\nuniform float staticOptions[6];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying float dipToBlack_value;\n\n\nfloat getCurrentBeizerProgress(vec2 p1, vec2 p2, float t){\n vec2 p0 = vec2(0,0);\n vec2 p3 = vec2(1,1);\n \n vec2 E = mix(p0, p1, t);\n vec2 F = mix(p1, p2, t);\n vec2 G = mix(p2, p3, t);\n\n vec2 H = mix(E, F, t);\n vec2 I = mix(F, G, t);\n\n vec2 P = mix(H, I, t);\n\n return P.y;\n}\n\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n \n // transfrom logic // \n // normalized time range from 0 to 1\n float current_time = runtimeOptions[0];\n float current_power_progress = getCurrentBeizerProgress(\n vec2(staticOptions[2], staticOptions[3]),\n vec2(staticOptions[4], staticOptions[5]),\n current_time\n );\n \n current_texture_coordinate_2d = texture_coordinate_2d;\n dipToBlack_value = mix(staticOptions[0], staticOptions[1], current_power_progress);\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\n\nvarying vec2 current_texture_coordinate_2d;\nvarying float dipToBlack_value;\n\nvoid main() {\n vec4 texture = texture2D(first_texture, current_texture_coordinate_2d);\n gl_FragColor = vec4(texture.xyz - dipToBlack_value, texture.w);\n}"},e,t)}static getFilterType(){return"dipToBlackTransition"}static getInputsCount(){return 1}static getInitialOptions(){return{}}handleStaticUniforms(t){const e=t.properties.power;this.uniforms[zf.STATIC_OPTIONS].set([e.from,e.to,...e.ease])}static getUniformList(){return[zf.FIRST_TEXTURE,Lf]}}class vm extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(vm)};super(vm.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nuniform float runtimeOptions[1];\nuniform float staticOptions[16];\n\nvarying vec2 current_texture_coordinate_2d;\n\nfloat getCurrentBeizerProgress(vec2 p1, vec2 p2, float t){\n vec2 p0 = vec2(0,0);\n vec2 p3 = vec2(1,1);\n \n vec2 E = mix(p0, p1, t);\n vec2 F = mix(p1, p2, t);\n vec2 G = mix(p2, p3, t);\n\n vec2 H = mix(E, F, t);\n vec2 I = mix(F, G, t);\n\n vec2 P = mix(H, I, t);\n\n return P.y;\n}\n\n\nvoid main() {\n // time range from 0 to 1\n float current_time = runtimeOptions[0];\n\n // scale X\n float current_scale_x_progress = getCurrentBeizerProgress(\n vec2(staticOptions[4],staticOptions[5]),\n vec2(staticOptions[6],staticOptions[7]),\n current_time\n );\n float currnet_scale_x_value = mix(staticOptions[0], staticOptions[1], current_scale_x_progress);\n\n // scale Y\n float current_scale_y_progress = getCurrentBeizerProgress(\n vec2(staticOptions[4],staticOptions[5]),\n vec2(staticOptions[6],staticOptions[7]),\n current_time\n );\n float currnet_scale_y_value = mix(staticOptions[2], staticOptions[3], current_scale_y_progress);\n\n // translate x\n float current_translate_x_progress = getCurrentBeizerProgress(\n vec2(staticOptions[12],staticOptions[13]),\n vec2(staticOptions[14],staticOptions[15]),\n current_time\n );\n \n float currnet_translate_x_value = mix(staticOptions[8], staticOptions[9], current_translate_x_progress); \n\n // translate y\n float current_translate_y_progress = getCurrentBeizerProgress(\n vec2(staticOptions[12],staticOptions[13]),\n vec2(staticOptions[14],staticOptions[15]),\n current_time\n );\n float currnet_translate_y_value = mix(staticOptions[10], staticOptions[11], current_translate_y_progress); \n\n // See Default vertex shader, we normalize y axis to be -y\n // because of webgl texture coordinates\n currnet_translate_y_value = currnet_translate_y_value * -1.0;\n\n // create matries\n mat4 scaleMatrix;\n scaleMatrix[0] = vec4(currnet_scale_x_value, 0, 0, 0); \n scaleMatrix[1] = vec4(0, currnet_scale_y_value, 0, 0); \n scaleMatrix[2] = vec4(0, 0, 1, 0); \n scaleMatrix[3] = vec4(0, 0, 0, 1); \n\n mat4 translateMatrix;\n translateMatrix[0] = vec4(1, 0, 0, 0); \n translateMatrix[1] = vec4(0, 1, 0, 0); \n translateMatrix[2] = vec4(0, 0, 1, 0); \n translateMatrix[3] = vec4(currnet_translate_x_value, currnet_translate_y_value, 0, 1); \n\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = translateMatrix * scaleMatrix * normalize_poistion;\n // gl_Position = translateMatrix * scaleMatrix * normalize_poistion;\n \n \n current_texture_coordinate_2d = texture_coordinate_2d;\n \n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n gl_FragColor = texture2D(first_texture, current_texture_coordinate_2d);\n}"},e,t)}static getFilterType(){return"transformTransition"}static getInputsCount(){return 1}static getInitialOptions(){return{}}handleStaticUniforms(t){const e=t.properties.scale||{},n=t.properties.translate||{};e.ease=e.ease||[0,0,1,1],n.ease=n.ease||[0,0,1,1],this.uniforms[zf.STATIC_OPTIONS].set([e.from&&e.from.x||1,e.to&&e.to.x||1,e.from&&e.from.y||1,e.to&&e.to.y||1,...e.ease,n.from&&n.from.x||0,n.to&&n.to.x||0,n.from&&n.from.y||0,n.to&&n.to.y||0,...n.ease])}static getUniformList(){return[zf.FIRST_TEXTURE,Lf]}}class gm extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(gm)};super(gm.getFilterType(),{vertex:"precision lowp float;\n\nattribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nuniform float staticOptions[8];\nuniform float runtimeOptions[3];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying float current_power_value;\n\nfloat getCurrentBeizerProgress(vec2 p1, vec2 p2, float t){\n vec2 p0 = vec2(0,0);\n vec2 p3 = vec2(1,1);\n \n vec2 E = mix(p0, p1, t);\n vec2 F = mix(p1, p2, t);\n vec2 G = mix(p2, p3, t);\n\n vec2 H = mix(E, F, t);\n vec2 I = mix(F, G, t);\n\n vec2 P = mix(H, I, t);\n\n return P.y;\n}\n\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n\n float current_time = runtimeOptions[0];\n float current_power_progress = getCurrentBeizerProgress(\n vec2(staticOptions[2],staticOptions[3]),\n vec2(staticOptions[4],staticOptions[5]),\n current_time\n );\n \n // varing\n current_texture_coordinate_2d = texture_coordinate_2d;\n current_power_value = mix(staticOptions[0], staticOptions[1], current_power_progress);\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nuniform float staticOptions[8];\nuniform float runtimeOptions[3];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying float current_power_value;\n\nconst int samples = 12; //multiple of 2\n\nvoid main() {\n vec2 pixel = vec2(1.0/runtimeOptions[1], 1.0/runtimeOptions[2]);\n vec2 direction = vec2(staticOptions[6], staticOptions[7]);\n \n vec4 color = vec4(0.0); \n\n for (int i=1; i<=samples/2; i++) {\n vec2 motion = float(i) * current_power_value / float(samples / 2) * direction * pixel;\n \n color += texture2D(\n first_texture,\n current_texture_coordinate_2d + motion);\n\n color += texture2D(\n first_texture,\n current_texture_coordinate_2d - motion);\n }\n\t\n color = color/float(samples);\n\n \n gl_FragColor = color;\n // gl_FragColor = vec4(0,1,0,1);\n \n}"},e,t)}static getFilterType(){return"motionBlurTransition"}static getInputsCount(){return 1}static getInitialOptions(){return{}}handleStaticUniforms(t){const e=t.properties.power||{from:0,to:0},n=t.properties.direction||{x:0,y:0};e.ease=e.ease||[0,0,1,1],this.uniforms[zf.STATIC_OPTIONS].set([e.from,e.to,...e.ease,n.x,n.y])}static getUniformList(){return[zf.FIRST_TEXTURE,Lf,Df]}}class ym extends Gf{constructor(t){const e={uniforms:Gf.getUniformInfo(ym)};super(ym.getFilterType(),{vertex:"precision lowp float;\n\nattribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nuniform float runtimeOptions[1];\nuniform float staticOptions[9];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying float current_power_value;\n\nfloat getCurrentBeizerProgress(vec2 p1, vec2 p2, float t){\n vec2 p0 = vec2(0,0);\n vec2 p3 = vec2(1,1);\n \n vec2 E = mix(p0, p1, t);\n vec2 F = mix(p1, p2, t);\n vec2 G = mix(p2, p3, t);\n\n vec2 H = mix(E, F, t);\n vec2 I = mix(F, G, t);\n\n vec2 P = mix(H, I, t);\n\n return P.y;\n}\n\n\nvoid main() {\n vec4 normalize_poistion = vec4(position_3d.xyz, 1);\n gl_Position = normalize_poistion;\n\n float current_time = runtimeOptions[0];\n float current_power_progress = getCurrentBeizerProgress(\n vec2(staticOptions[2],staticOptions[3]),\n vec2(staticOptions[4],staticOptions[5]),\n current_time\n );\n \n // varing\n current_texture_coordinate_2d = texture_coordinate_2d;\n current_power_value = mix(staticOptions[0], staticOptions[1], current_power_progress);\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nuniform float staticOptions[9];\n\nvarying vec2 current_texture_coordinate_2d;\nvarying float current_power_value;\n\nvoid main() {\n vec4 texture = texture2D(first_texture, current_texture_coordinate_2d);\n vec4 fadeColor = vec4(staticOptions[6], staticOptions[7], staticOptions[8], 1.0) ;\n gl_FragColor = mix(texture,fadeColor, current_power_value);\n}"},e,t)}static getFilterType(){return"fadeToColorTransition"}static getInputsCount(){return 1}static getInitialOptions(){return{properties:{power:{form:0,to:0,ease:[0,0,1,1]},color:"#FFFFFF"}}}handleStaticUniforms(t){const e=t.properties.power||{from:0,to:0};e.ease=e.ease||[0,0,1,1];const n=t.properties.color,i=hm.hex.rgb(n).map((t=>t/255));this.uniforms[zf.STATIC_OPTIONS].set([e.from,e.to,...e.ease,i[0],i[1],i[2]])}static getUniformList(){return[zf.FIRST_TEXTURE,Lf]}}var bm=Object.freeze({__proto__:null,Crop:Yp,Curves:jp,Default:class t extends Gf{constructor(e){const n={uniforms:Gf.getUniformInfo(t)};super(t.getFilterType(),{vertex:"attribute vec3 position_3d;\nattribute vec2 texture_coordinate_2d;\n\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n // we need to flip y poisiton bacause webgl display the canvas\n // with 0,0 being the bottom left corner \n // insted of the traditional top left\n float flip_y_position = position_3d.y * (-1.0);\n vec4 normalize_poistion = vec4(position_3d.x, flip_y_position, position_3d.z, 1);\n \n gl_Position = normalize_poistion;\n \n current_texture_coordinate_2d = texture_coordinate_2d;\n}",fragment:"precision lowp float;\n\nuniform sampler2D first_texture;\nvarying vec2 current_texture_coordinate_2d;\n\nvoid main() {\n gl_FragColor = texture2D(first_texture, current_texture_coordinate_2d);\n}"},n,e)}static getFilterType(){return"__default"}static getInputsCount(){return 1}static getInitialOptions(){return{}}},DipToBlackTransition:mm,DirectionalBlur:np,Exposure:tm,ExposureTransition:pm,FadeToColorTransition:ym,FastBlur:ep,HardLight:fm,HorizontalBlur:Zf,Hue:Gp,Lab:Zp,Levels:Up,Lut:sp,MotionBlurTransition:gm,Opacity:ip,Saturation:Xp,ShapeComposite:op,ShapeCompositeMask:rp,Solid:Qp,SolidImage:Jp,Transform:Jf,TransformTransition:vm,VerticalBlur:tp,Vibrance:Kp,WhiteBalance:Hp});const km=Object.values(bm).reduce(((t,e)=>(t[e.getFilterType()]=e,t)),{});class wm{constructor(t){this.context=t}static getFilterClass(t){return km[t]}getFilterIds(){return Object.keys(this.filterTypeToInstanceMap)}create(t,e){this.context={...this.context,options:e.options};const n=new km[t](this.context);if(!n)throw new Error(`${t} is not a atom filter, atomFilter list: `,this.getFilterIds());return n}}const xm=Bh.PREVIOUS_OUTPUT_PREFIX,_m=Object.values(bm).reduce(((t,e)=>(t[e.getFilterType()]={type:e.getFilterType(),options:e.getInitialOptions(),inputs:[...Array(e.getInputsCount())].map(((t,e)=>`${xm}${e}`)),outputs:[]},t)),{});var Im,Tm,Em=function(){if(Tm)return Im;Tm=1;var t=function(t){return function(t){return!!t&&"object"==typeof t}(t)&&(n=t,!("[object RegExp]"===(i=Object.prototype.toString.call(n))||"[object Date]"===i||n.$$typeof===e));var n,i},e="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function n(t,e){return!1!==e.clone&&e.isMergeableObject(t)?s((n=t,Array.isArray(n)?[]:{}),t,e):t;var n}function i(t,e,i){return t.concat(e).map((function(t){return n(t,i)}))}function r(t){return Object.keys(t).concat((e=t,Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return Object.propertyIsEnumerable.call(e,t)})):[]));var e}function o(t,e){try{return e in t}catch(t){return!1}}function s(e,a,l){(l=l||{}).arrayMerge=l.arrayMerge||i,l.isMergeableObject=l.isMergeableObject||t,l.cloneUnlessOtherwiseSpecified=n;var c=Array.isArray(a);return c===Array.isArray(e)?c?l.arrayMerge(e,a,l):function(t,e,i){var a={};return i.isMergeableObject(t)&&r(t).forEach((function(e){a[e]=n(t[e],i)})),r(e).forEach((function(r){var l,c;o(l=t,c=r)&&(!Object.hasOwnProperty.call(l,c)||!Object.propertyIsEnumerable.call(l,c))||(o(t,r)&&i.isMergeableObject(e[r])?a[r]=function(t,e){if(!e.customMerge)return s;var n=e.customMerge(t);return"function"==typeof n?n:s}(r,i)(t[r],e[r],i):a[r]=n(e[r],i))})),a}(e,a,l):n(a,l)}return s.all=function(t,e){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce((function(t,n){return s(t,n,e)}),{})},Im=s}(),Sm=Dd(Em),Mm=function(t,e){return Sm(t,e,{arrayMerge:(t,e)=>e})};const Am=Bh.MESSAGES.UPDATE_OPTIONS;let Nm=class{constructor(t,e){this.eventEmitter=new $h,this.type=t,this.inputs=e.inputs,this.outputs=e.outputs,this.options=e.options}render(){throw new Error("concrete class should implement")}_updateOptions(){throw new Error("concrete class should implement")}updateOptions(t){this._updateOptions(t),this.eventEmitter.emit(Am,this.options)}updateInputs(t){t&&(this.inputs.length===t.length&&this.inputs.every(((e,n)=>e===t[n]))||(this.inputs=[...t]))}getEventEmitter(){return this.eventEmitter}getType(){return this.type}getInputs(){return this.inputs}getOutputs(){return this.outputs}getOptions(){return this.options}getInfo(){return{inputs:this.inputs,outputs:this.outputs,options:this.options}}getOptionsDisplay(){return this.filter.getOptionsDisplay()}dispose(){throw new Error("concrete class should implement")}};class Cm extends Nm{constructor(t,e,n){super(...arguments),this.filter=n.filterFactory.create(this.type,{options:this.options})}render(t){const e=t.ioStore,n=t.graphIOManager,i=this.getInputs(),r=this.getOutputs(),o=e.get(i),s=this.filter.render(o,this.options);return n.setOutputs(e,r,s),s}_updateOptions(t){this.options=Mm(this.options,t),this.filter.updateStaticUniforms(this.options)}dispose(){this.filter.dispose()}}const Fm=Bh.MESSAGES.UPDATE_OPTIONS;class Om extends Cm{constructor(t,e,n){super(...arguments),this.baseNode=n.baseNode,this.registerListeners()}baseNodeUpdateOptions(t){this.options=Mm(this.options,t),this.filter.updateStaticUniforms(this.options)}registerListeners(){this.baseNode.getEventEmitter().on(Fm,this.baseNodeUpdateOptions,this)}dispose(){this.filter.dispose(),this.baseNode.getEventEmitter().off(Fm,this.baseNodeUpdateOptions,this)}}function Pm(t){return null!==t&&"object"==typeof t}function Rm(t){if(!Pm(t)||(e=t,Array.isArray(e)))return t;var e;const n=Object.keys(t).sort(),i={};return n.forEach((e=>{i[e]=Rm(t[e])})),i}function Dm(t,e){return null!=t&&t.id&&null!=e&&e.id?t.type===e.type&&t.id===e.id:t.type===e.type}function Bm(t,e){const n=[];t.forEach(((t,i)=>{const r=(o=t,e.findIndex((t=>function(t,e){const n=JSON.parse(JSON.stringify(t));return r=JSON.parse(JSON.stringify(e)),Pm(i=n)&&Pm(r)?JSON.stringify(Rm(i))===JSON.stringify(Rm(r)):!(!Number.isNaN(i)||!Number.isNaN(r))||i===r;var i,r}(o,t))));var o;if(-1!==r)return void n.push({type:"take",index:r});const s=(a=t,l=i,(c=e)&&c[l]&&Dm(a,c[l])?l:c.findIndex((t=>Dm(a,t))));var a,l,c;-1===s?n.push({type:"create",newGraphIndex:i}):n.push({type:"update",currentGraphIndex:s,newGraphIndex:i})}));const i=n.reduce(((t,e)=>("take"===e.type?t.push(e.index):"update"===e.type&&t.push(e.currentGraphIndex),t)),[]);return e.reduce(((t,e,n)=>(i.includes(n)||t.push(n),t)),[]).forEach((t=>{n.push({type:"dispose",currentGraphIndex:t})})),n}function Lm(t,e,n,i){const r=[];return t.forEach((t=>{switch(t.type){case"take":r.push(n[t.index]);break;case"update":const o=e[t.newGraphIndex].options,s=n[t.currentGraphIndex];s.updateInputs(e[t.newGraphIndex].inputs),s.updateOptions(o),r.push(s);break;case"create":const a=Ym.create(e[t.newGraphIndex],i);r.push(a);break;case"dispose":n[t.currentGraphIndex].dispose();break;default:throw new Error("cant apply action type: ",t.type)}})),r}var zm=function(t,e,n,i){const r=t.graph,o=e.graph;if(!(o&&r&&Array.isArray(o)&&Array.isArray(r)))throw new Error("cant apply new composite options",t);return Lm(Bm(r,o),r,n,i)};class Wm extends Nm{constructor(t,e,n){super(...arguments),this.context=n,this.nodes=this.createNodes(this.options)}createNodes(t){if(!t||!t.graph)throw new Error("cant create composite node, please supply info.options.graph");return t.graph.map((t=>Ym.create(t,this.context)))}render(t){const e=t.ioStore,n=t.graphIOManager;let i=n.getPrevOutput(e);const r=this.outputs;if(this.nodes.length){const t=new Kh(e),r="__PREVIOUS:0",o=[],s=new Set;this.nodes.forEach(((e,a)=>{const l={ioStore:t,graphIOManager:n},c=e.getOutputs?e.getOutputs():void 0,u=Array.isArray(c)?c:[],d={};u.forEach((e=>{d[e]=t.get(e)}));const h=t.get(r);i=e.render(l),a!==this.nodes.length-1&&o.push(i);const f=new Set;if(h&&h!==i&&f.add(h),u.forEach((t=>{const e=d[t];e&&e!==i&&f.add(e)})),f.size){const e=new Set(Object.values(t.get()));f.forEach((t=>{e.has(t)||(n.disposeTextures([t],i),s.add(t))}))}}));const a=o.filter((t=>!s.has(t)));n.disposeTextures(a,i)}return n.setOutputs(e,r,i),i}getOptionsDisplay(){return[]}_updateOptions(t){this.nodes=zm(t,this.options,this.nodes,this.context),this.options=t}dispose(){this.nodes.forEach((t=>{t.dispose()}))}}const jm=Bh.MESSAGES.UPDATE_OPTIONS;class $m extends Wm{constructor(t,e,n){super(...arguments),this.baseNode=n.baseNode,this.registerListeners()}registerListeners(){this.baseNode.getEventEmitter().on(jm,this.updateOptions,this)}dispose(){this.nodes.forEach((t=>{t.dispose()})),this.baseNode.getEventEmitter().off(jm,this.updateOptions,this)}}const Um=Bh.SYSTEM_NODES.TAGS.ATOM,qm=Bh.SYSTEM_NODES.TAGS.FILTER,Vm=Bh.SYSTEM_NODES.TAGS.COMPOSITE_FILTER,Gm=Bh.SYSTEM_NODES.TAGS.TRANSITION_FILTER,Hm=Bh.PREVIOUS_OUTPUT_PREFIX,Km=Object.keys(_m);function Xm(t,e){const n=(i=t.type,_m[i]);var i;return t=Mm(n,t),new Cm(t.type,t,e)}var Ym={create:function(t,e){let n;switch(function(t){let e;return n=t,e=Km.includes(n)?Um:t===Vm?Vm:t===Gm?Gm:qm,e;var n}((t=JSON.parse(JSON.stringify(t))).type)){case Um:n=Xm(t,e);break;case qm:n=function(t,e){const n=function(t,e){const n=e.get(t);if(!n)throw new Error(`no base node, cant resolve type: ${t}`);return n}(t.type,e.nodeStore),i=n.getType(),r=n.getInfo();let o;return t=Mm(r,t),e={...e,baseNode:n},o=i===Vm?new $m(i,t,e):new Om(i,t,e),o}(t,e);break;case Vm:n=function(t,e){const n=t.type;return t=Mm({inputs:[`${Hm}0`]},t),new Wm(n,t,e)}(t,e);break;case Gm:n=function(t,e){const n=t.options.filter;if(!n)throw new Error(`transition filter should supply base filter ${n}`);return t.type=`${n}Transition`,Xm(t,e)}(t,e);break;default:throw new Error("cant create node",t.type)}return n}};const Qm=Bh.SYSTEM_NODES.FILTERS.RENDER_TO_CANVAS;var Jm=function(t){const e={[Qm]:_m[Qm]};for(const[n,i]of Object.entries(e)){const e=Ym.create(i,t);t.nodeStore.set(n,e)}},Zm=function(t,e){for(const[n,i]of Object.entries(t)){const t=Ym.create(i,e);e.nodeStore.set(n,t)}};const tv=Bh.CAPTURED_FRAME_PREFIX;class ev{constructor(t){return this.textureManager=t.textureManager,this.currentFrameTextures={0:this.textureManager.createTexture({type:"frame"})},this.saveInNextFrameTextures=[],this.savedFramesTextures={},this.reservedUnits=new Set([this.currentFrameTextures[0].getUnit()]),{capture:this.capture.bind(this),createCaptureId:this.createCaptureId.bind(this),releaseCaptureId:this.releaseCaptureId.bind(this),getCurrentFrames:this.getCurrentFrames.bind(this),getSavedFrames:this.getSavedFrames.bind(this),isReservedUnit:this.isReservedUnit.bind(this)}}updateCurrentFrame(t,e){e=e||0,this.currentFrameTextures[e].fill(t)}saveFrame(t){0!==this.saveInNextFrameTextures.length&&(this.saveInNextFrameTextures.forEach((e=>{e.fill(t)})),this.saveInNextFrameTextures=[])}capture(t,e){(t.videoHeight>150||t.displayHeight>150)&&(this.updateCurrentFrame(t,e),this.saveFrame(t))}createCaptureId(){const t=this.textureManager.createTexture({type:"frame"});this.saveInNextFrameTextures.push(t);const e=t.getUnit(),n=`${tv}${e}`;return this.savedFramesTextures[n]=t,this.reservedUnits.add(e),n}releaseCaptureId(t){if("string"!=typeof t)throw new Error("capture id should be string");delete this.saveInNextFrameTextures[t];const e=t.split(":")[1];this.reservedUnits.delete(parseInt(e,10))}getCurrentFrames(){return this.currentFrameTextures}getSavedFrames(){return this.savedFramesTextures}isReservedUnit(t){return this.reservedUnits.has(t)}}const nv=Zd("ShaderGraphApplication","warn"),iv=Bh.SYSTEM_NODES.FILTERS.RENDER_TO_CANVAS,rv=Object.freeze({useCanvasSizedFilterTargets:!1,rebindAttributesOnProgramSwitch:!0,forwardContextAttributes:!0});function ov(t={}){const e=null==t?void 0:t.performanceToggles;return e&&"object"==typeof e?{...rv,...e}:{...rv}}class sv{constructor(t,e={}){return this.glSource=t,this.config=e,this.performanceToggles=ov(e),this.isContextLost=!1,this.isRecovering=!1,this.isDisposed=!1,this.pendingNodeOptionUpdates=new Map,this.doInit(t,e)}doInit(t,e){this.source=Gh(t),this.performanceToggles=ov(e),this.isDisposed=!1,this.resetViewportSyncState(),this.render=this.render.bind(this),this.resizeCanvasSize=this.resizeCanvasSize.bind(this),this.setSrcVidTracks=this.setSrcVidTracks.bind(this),this.onWebGLContextLost=this.onWebGLContextLost.bind(this),this.onForceRender=this.onForceRender.bind(this),this.resizeCanvasSize._shouldPreventDefault=!0;const n=function(t={},e=rv){const n=null!=t&&t.glOptions&&"object"==typeof t.glOptions?{...t.glOptions}:{},i=n.__shaderGraph&&"object"==typeof n.__shaderGraph?n.__shaderGraph:{};return{...n,__shaderGraph:{...i,forwardContextAttributes:!1!==e.forwardContextAttributes}}}(e,this.performanceToggles);return this.gl=this.source.init(this.setSrcVidTracks,this.resizeCanvasSize,n),this.addCanvasListeners(),this.addSourceListeners(),this.exposeDebugGlobalIfBrowser(),this.selectedRenderNode=null,this.setupRenderInfrastructure(t,e),e.userWillCallRender||(this.rafId=requestAnimationFrame(this.render)),this.dirtyCanvasSize=!0,{getNodes:this.getNodes.bind(this),addNodes:this.addClientNodes.bind(this),selectNode:this.selectNode.bind(this),addTexture:this.addTexture.bind(this),releaseTexture:this.releaseTexture.bind(this),captureTexture:this.captureTexture.bind(this),disposeTexture:this.disposeTexture.bind(this),updateOptions:this.updateOptions.bind(this),render:this.render,dispose:this.dispose.bind(this)}}exposeDebugGlobalIfBrowser(){"undefined"!=typeof window&&(window.ekoShaderGraph=this)}setupRenderInfrastructure(t,e){this.activeTextures=this.activeTextures||new Set,this.textureManager=new nf({gl:this.gl,activeTextures:this.activeTextures}),this.capturedFramesManager=new ev({textureManager:this.textureManager}),this.graphIOManager=new df({glSource:t,gl:this.gl,textureManager:this.textureManager,capturedFramesManager:this.capturedFramesManager}),this.frameBufferFactory=new yf({gl:this.gl,textureManager:this.textureManager,useCanvasSizedFilterTargets:this.performanceToggles.useCanvasSizedFilterTargets}),this.filterFactory=new wm({gl:this.gl,frameBufferFactory:this.frameBufferFactory,rebindAttributesOnProgramSwitch:this.performanceToggles.rebindAttributesOnProgramSwitch}),this.nodeStore=new Kh,this.ioStore=new Kh,Jm({nodeStore:this.nodeStore,filterFactory:this.filterFactory}),this.addClientNodes(e.nodes,this.isRecovering)}getNodes(){return nv.debug("[getNodes]"),this.nodeStore.get()}addClientNodes(t,e=!1){if(nv.debug("[addClientNodes]",t),t&&!e&&(this.addClientNodeInvocations=this.addClientNodeInvocations||[],this.addClientNodeInvocations.push(t)),!e&&this.isContextUnavailable())return;t=t||{};const n=JSON.parse(JSON.stringify(t));Zm(n,{nodeStore:this.nodeStore,filterFactory:this.filterFactory})}addTexture(t,e,n){if(nv.debug("[addTexture]",t,e,n),this.isContextUnavailable())return null;let i=this.textureManager.createTexture({type:e});return i.isStatic=!0,t&&i.fill(t),this.graphIOManager.setTextureSource(this.ioStore,i,n),i}releaseTexture(t){nv.debug("[releaseTexture]",t),this.isContextUnavailable()||this.textureManager.releaseTexture(t)}selectNode(t){if(nv.debug("[selectNode]",t),!this.isContextUnavailable())return this.nodeStore.get(t)||nv.warn("Missing render node",t),void(this.selectedRenderNodeId=t);this.selectedRenderNodeId=t}captureTexture(){return nv.debug("[captureTexture]"),this.isContextUnavailable()?null:this.capturedFramesManager.createCaptureId()}disposeTexture(t){return nv.debug("[disposeTexture]",t),this.isContextUnavailable()||"string"!=typeof t?null:this.capturedFramesManager.releaseCaptureId(t)}setSrcVidTracks(t){this.isContextUnavailable()||this.capturedFramesManager&&this.capturedFramesManager.capture(t)}resizeCanvasSize(t,e,n,i){this.dirtyCanvasSize={width:n,height:i}}resetViewportSyncState(){this._lastSyncedViewportCanvasWidth=null,this._lastSyncedViewportCanvasHeight=null}syncViewportToCanvasBackingStoreIfChanged(){var t,e;const n=null===(t=this.gl)||void 0===t||null===(t=t.canvas)||void 0===t?void 0:t.width,i=null===(e=this.gl)||void 0===e||null===(e=e.canvas)||void 0===e?void 0:e.height;!Number.isFinite(n)||!Number.isFinite(i)||n<=0||i<=0||n===this._lastSyncedViewportCanvasWidth&&i===this._lastSyncedViewportCanvasHeight||(mf(n,i),this.gl.viewport(0,0,n,i),this._lastSyncedViewportCanvasWidth=n,this._lastSyncedViewportCanvasHeight=i)}isContextUnavailable(){return!!this.isDisposed||!(!this.isRecovering&&!this.isContextLost)||!(!this.gl||"function"!=typeof this.gl.isContextLost)&&this.gl.isContextLost()}queueNodeOptionUpdate(t,e){t&&e&&"object"==typeof e&&(this.pendingNodeOptionUpdates||(this.pendingNodeOptionUpdates=new Map),this.pendingNodeOptionUpdates.set(t,e))}applyPendingNodeOptionUpdates(t=!1){if(!this.pendingNodeOptionUpdates||!this.pendingNodeOptionUpdates.size)return;const e=Array.from(this.pendingNodeOptionUpdates.entries());this.pendingNodeOptionUpdates.clear(),e.forEach((([e,n])=>{try{if(t){const t=this.nodeStore.get(e);if(!t||"function"!=typeof t.updateOptions)return void this.queueNodeOptionUpdate(e,n);try{t.updateOptions(n)}catch(t){nv.error("Failed to apply pending node options",e,t),this.queueNodeOptionUpdate(e,n)}return}this.updateOptions(e,n)}catch(t){nv.error("Failed to apply pending node options",e,t)}}))}render(t={}){const{noRaf:e=!1}=t;if(this.isContextUnavailable())return;if(this.dirtyCanvasSize){let{width:t=this.gl.canvas.width,height:e=this.gl.canvas.height}=this.dirtyCanvasSize;mf(t,e),this.gl.canvas.width=t,this.gl.canvas.height=e,this.textureManager.refreshTextureObjects(),this.gl.viewport(0,0,t,e),this.dirtyCanvasSize=!1,this._lastSyncedViewportCanvasWidth=t,this._lastSyncedViewportCanvasHeight=e}this.syncViewportToCanvasBackingStoreIfChanged(),this.graphIOManager.setVideoSources(this.ioStore);let n={ioStore:this.ioStore,graphIOManager:this.graphIOManager};this.renderSelectedNode(n),this.config.onPreRenderToScreen&&this.config.onPreRenderToScreen(),this.renderToCanvas(n),this.config.onPostRenderToScreen&&this.config.onPostRenderToScreen(),this.graphIOManager.disposeAllStore(this.ioStore),n=null,!e&&!this.config.userWillCallRender&&(this.rafId=requestAnimationFrame(this.render))}renderSelectedNode(t){if(!this.selectedRenderNodeId)return;const e=this.nodeStore.get(this.selectedRenderNodeId);e&&"function"==typeof e.render?e.render(t):(nv.warn("Missing selected render node",this.selectedRenderNodeId),this.selectedRenderNodeId=null)}renderToCanvas(t){const e=this.nodeStore.get(iv);e&&"function"==typeof e.render?e.render(t):nv.warn("Missing render-to-canvas node")}updateOptions(t,e){if(nv.debug("[updateOptions]",t,e),this.isContextUnavailable())return void this.queueNodeOptionUpdate(t,e);const n=this.nodeStore.get(t);if(n&&"function"==typeof n.updateOptions)try{n.updateOptions(e)}catch(n){nv.error("Failed to update node options",t,n),this.queueNodeOptionUpdate(t,e)}else this.queueNodeOptionUpdate(t,e)}addSourceListeners(){var t;"function"==typeof(null===(t=this.source)||void 0===t?void 0:t.on)&&this.source.on("forcerender",this.onForceRender)}removeSourceListeners(){var t;"function"==typeof(null===(t=this.source)||void 0===t?void 0:t.off)&&this.source.off("forcerender",this.onForceRender)}addCanvasListeners(){var t;(null==this||null===(t=this.gl)||void 0===t?void 0:t.canvas)&&(this.config.noWebGLContextLostRecovery||this.gl.canvas.addEventListener("webglcontextlost",this.onWebGLContextLost))}removeCanvasListeners(){var t;(null==this||null===(t=this.gl)||void 0===t?void 0:t.canvas)&&this.gl.canvas.removeEventListener("webglcontextlost",this.onWebGLContextLost)}getNodesOptions(){const t=this.getNodes();let e={};return Object.keys(t).filter((t=>"__default"!==t)).forEach((n=>{e[n]=t[n].options})),e}getDocumentVisibilityPromise(){return new Promise((t=>{"visible"===document.visibilityState&&t();const e=()=>{"visible"===document.visibilityState&&(document.removeEventListener("visibilitychange",e),t())};document.addEventListener("visibilitychange",e)}))}onForceRender(){nv.info("[onForceRender]"),this.render({noRaf:!0})}async onWebGLContextLost(t){if(t&&"function"==typeof t.preventDefault&&t.preventDefault(),this.isDisposed||this.isRecovering)return;this.isContextLost=!0,this.isRecovering=!0;const e=this.getNodesOptions(),n=this.addClientNodeInvocations,i=this.selectedRenderNodeId;cancelAnimationFrame(this.rafId),nv.warn("WebGL context lost - attempting to recover");const r=async()=>{if(this.isDisposed)this.isRecovering=!1;else try{var t;if(await this.getDocumentVisibilityPromise(),this.isDisposed)return void(this.isRecovering=!1);if(this.gl&&"function"==typeof this.gl.isContextLost&&this.gl.isContextLost())return void setTimeout(r,200);this.dispose(!1),this.doInit(this.glSource,this.config),this.textureManager&&"function"==typeof this.textureManager.refreshActiveTextures&&this.textureManager.refreshActiveTextures(),n&&n.length&&n.forEach((t=>{nv.debug("Re-adding client nodes",t),this.addClientNodes(t,!0)})),Object.entries(e).forEach((([t,e])=>{nv.debug("Re-applying node options",t,e);const n=this.nodeStore.get(t);n&&"function"==typeof n.updateOptions&&n.updateOptions(e)})),i&&(this.selectedRenderNodeId=i),this.applyPendingNodeOptionUpdates(!0);const o="function"==typeof(null===(t=this.source)||void 0===t?void 0:t.recover);o&&(nv.debug("Recovering glSource (i.e. seeking/resetting player)"),await this.source.recover()),this.isContextLost=!1,this.isRecovering=!1,o&&this.render()}catch(t){nv.error("Failed to recover WebGL context, retrying",t),setTimeout(r,200)}};await r()}dispose(t=!0){if(this.selectedRenderNode=null,t&&(this.isDisposed=!0,this.isRecovering=!1,this.isContextLost=!1),this.source&&(this.removeSourceListeners(),"function"==typeof this.source.dispose&&this.source.dispose()),this.gl){this.removeCanvasListeners();const e=this.gl.getParameter(this.gl.MAX_TEXTURE_IMAGE_UNITS);for(let t=0;t<e;++t)this.gl.activeTexture(this.gl.TEXTURE0+t),this.gl.bindTexture(this.gl.TEXTURE_2D,null),this.gl.bindTexture(this.gl.TEXTURE_CUBE_MAP,null);if(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,null),this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,null),this.gl.bindFramebuffer(this.gl.FRAMEBUFFER,null),this.gl.bindTexture(this.gl.TEXTURE_2D,null),this.gl.bindRenderbuffer(this.gl.RENDERBUFFER,null),t)try{this.gl.getExtension("WEBGL_lose_context").loseContext()}catch(t){console.error(t)}}this.selectedRenderNodeId=null,t&&delete this.addClientNodeInvocations}}class av{constructor(t={}){this.options=t}get type(){return"stage"}getSignature(){return this.type}build({inputs:t=[]}={}){return{graph:[],outputs:t,signature:this.getSignature()}}}function lv(t={}){const e={source:{center:{x:.5,y:.5},width:1,height:1},target:{center:{x:.5,y:.5},width:1,height:1},fitType:"fill",cornerRadius:0,edgeSoftness:0},n={...e.source,...t.source||{}},i={...e.target,...t.target||{}};return{...e,...t,source:n,target:i}}class cv extends av{get type(){return"retarget"}getSignature(){var t;const e=Array.isArray(null===(t=this.options)||void 0===t?void 0:t.frames)?this.options.frames:[];return`${this.type}:${e.length}`}build({inputs:t=[],stageIndex:e=0}={}){var n;const i=Array.isArray(null===(n=this.options)||void 0===n?void 0:n.frames)?this.options.frames:[];if(!i.length)return{graph:[],outputs:t,signature:this.getSignature()};const r=[],o=[];for(let n=0;n<t.length;n+=1){const s=t[n],a=i[n];if(!a){o.push(s);continue}const l=`retarget-${e}-${n}`;r.push({id:l,type:"crop",inputs:[s],outputs:[l],options:lv(a)}),o.push(l)}return{graph:r,outputs:o,signature:this.getSignature()}}}class uv{#M=new Map;constructor(){this.register("retarget",cv)}register(t,e){t&&"function"==typeof e&&this.#M.set(t,e)}create(t={}){const e="string"==typeof(null==t?void 0:t.type)?t.type:null;if(!e)return null;const n=this.#M.get(e);return n?new n((null==t?void 0:t.options)||{}):null}}class dv{constructor(t={}){this.params=t}static get panAndScanTarget(){return"pre"}static buildDefaultLayoutGraph(t=[]){const e=t[0]||"__SRC_TEXTURE:0";return{type:"default",signature:`default:${t.length}`,isDynamic:!1,graph:[{type:"opacity",inputs:[e],options:{power:1}}]}}static prepareRenderFrames({frames:t}={}){return Array.isArray(t)?t:[]}static getRenderTiming({timing:t}={}){return t&&"object"==typeof t?t:{}}static resetRenderState(t){}render(t){}}class hv extends dv{#A=null;#N=null;static get type(){return"default"}static get aliases(){return["DefaultRenderNode","default"]}static get requiresFrameCadence(){return!1}static buildLayoutGraph({inputs:t=[]}={}){return super.buildDefaultLayoutGraph(t)}static prepareRenderFrames({frames:t}={}){const e=Array.isArray(t)?t:[];if(e.length<=1)return e;const n=e[e.length-1];return n?[n]:e}render(t){var e;const n=(null==t||null===(e=t.visualFramesAvailable)||void 0===e?void 0:e.frames)||[];if(!n.length)return;const i=null==t?void 0:t.shaderGraph,r=null==t?void 0:t.shaderGraphNodeIds;if(!i||"function"!=typeof i.updateOptions||"function"!=typeof i.selectNode)return;const o=null==r?void 0:r.default;if(o)try{const t=n.map(((t,e)=>t?`__SRC_TEXTURE:${e}`:null)).filter(Boolean),e=hv.buildLayoutGraph({inputs:t}),r=e.signature;this.#A!==r&&(i.updateOptions(o,{graph:e.graph}),this.#A=r),this.#N!==o&&(i.selectNode(o),this.#N=o),i.render({noRaf:!0})}catch(t){}}}function fv(t){const e=Number(t);return Number.isFinite(e)?e<=0?0:e>=1?1:e:0}class pv extends dv{#A=null;#N=null;#C=null;static get type(){return"cross-fade"}static get aliases(){return["CrossFadeRenderNode","cross-fade","crossfade"]}static get requiresFrameCadence(){return!0}static get panAndScanTarget(){return"pre"}static buildLayoutGraph({inputs:t=[],normalizedTime:e}={}){if(t.length<2)return super.buildDefaultLayoutGraph(t);const n=fv(e),i=[{type:"opacity",inputs:[t[1]],options:{power:n}},{type:"shapeComposite",inputs:["__PREVIOUS:0",t[0]],options:{}}];return{type:pv.type,signature:`${pv.type}:${t.length}`,isDynamic:!0,graph:i}}static prepareRenderFrames({frames:t,timelineTime:e,active:n}={}){let i=(Array.isArray(t)?t:[]).slice(0,2);if(i.length<2)return i;const r=Number.isFinite(null==n?void 0:n.duration)&&n.duration>0?n.duration:void 0,o=Number.isFinite(null==n?void 0:n.offset)?n.offset:void 0;if(!Number.isFinite(e)||!Number.isFinite(r)||!Number.isFinite(o))return i;const s=fv((e-o)/r);return s<=0?[i[0]]:s>=1?[i[1]]:i}render(t){var e;const n=(null==t||null===(e=t.visualFramesAvailable)||void 0===e?void 0:e.frames)||[];if(!n.length)return;const i=null==t?void 0:t.shaderGraph,r=null==t?void 0:t.shaderGraphNodeIds;if(!i||"function"!=typeof i.updateOptions||"function"!=typeof i.selectNode)return;if(n.length<2){const t=null==r?void 0:r.default;if(!t)return;try{const e="default";if(this.#A!==e){const n=pv.buildLayoutGraph({inputs:["__SRC_TEXTURE:0"]});i.updateOptions(t,{graph:n.graph}),this.#A=e}this.#N!==t&&(i.selectNode(t),this.#N=t),i.render({noRaf:!0})}catch(t){}return}const o=null==r?void 0:r.crossFade;if(o)try{const e=["__SRC_TEXTURE:0","__SRC_TEXTURE:1"],n=pv.buildLayoutGraph({inputs:e,normalizedTime:null==t?void 0:t.renderNodeNormalizedTime}),r=n.signature,s=Number(null==t?void 0:t.renderNodeNormalizedTime),a=Number.isFinite(s)?s:0;this.#A===r&&this.#C===a||(i.updateOptions(o,{graph:n.graph}),this.#A=r,this.#C=a),this.#N!==o&&(i.selectNode(o),this.#N=o),i.render({noRaf:!0})}catch(t){}}}function mv(t,e,n={}){if("number"==typeof(null==t?void 0:t.nodeDurationOverride)&&Number.isFinite(t.nodeDurationOverride))return t.nodeDurationOverride;const i="function"==typeof(null==n?void 0:n.getNode)?n.getNode:e&&"function"==typeof e.get?t=>e.get(t):null;if(!i)return;const r=i(null==t?void 0:t.nodeId);if(!r)return;const o=r.duration;if("number"!=typeof o||Number.isNaN(o)||!Number.isFinite(o))return;const s="string"!=typeof r.state||"ready"===r.state;if(!0!==(null==n?void 0:n.allowUnready)&&!s)return;if(!(!0!==(null==n?void 0:n.allowUnready)||s||o>0))return;let a=0;"number"==typeof t.nodeOffsetOverride&&Number.isFinite(t.nodeOffsetOverride)&&(a=t.nodeOffsetOverride);const l=o-a;return l>0?l:0}function vv(t){return!(!t||!0===t.offsetPending)&&Number.isFinite(t.offset)}function gv(t){return vv(t)?t.offset:void 0}function yv(t,e,n,i={}){if(!t)return!1;const r=gv(t);if(!Number.isFinite(r))return!1;const o=mv(t,n,i);return Number.isFinite(o)?e>=r&&e<r+o:e>=r}function bv(t=[]){if(!Array.isArray(t))return t;const e=[],n=[];return t.forEach((t=>{vv(t)?e.push(t):n.push(t)})),e.sort(((t,e)=>t.offset-e.offset)),t.splice(0,t.length,...e,...n),t}function kv(t=[],e={}){if(!Array.isArray(t)||!t.length)return{updated:!1,resolvedPlacements:[]};const n="function"==typeof e.getPlacementDuration?e.getPlacementDuration:()=>{},i="function"==typeof e.snapPlacementOffset?e.snapPlacementOffset:t=>t,r="function"==typeof e.onResolvedPlacement?e.onResolvedPlacement:null,o=new Map,s=[];if(t.forEach((t=>{null!=t&&t.placementId&&o.set(t.placementId,t),!0===(null==t?void 0:t.offsetPending)&&s.push(t)})),!s.length)return{updated:!1,resolvedPlacements:[]};let a=!1;const l=[];let c=s,u=!0;for(;c.length&&u;){u=!1;const t=[];for(let e=0;e<c.length;e+=1){const s=c[e],d=null==s?void 0:s.offsetAnchorPlacementId;if(!d){t.push(s);continue}const h=o.get(d);if(!h||!0===h.offsetPending){t.push(s);continue}const f=gv(h);if(!Number.isFinite(f)){t.push(s);continue}let p;if("start"===s.offsetAnchorEdge)p=i(f,s);else{const e=n(h);if(!(e>0)){t.push(s);continue}const r=f+e-(Number.isFinite(s.offsetEndSeconds)?s.offsetEndSeconds:0);if(!Number.isFinite(r)){t.push(s);continue}const o=i(r,s);p=!0===s.offsetAnchorIsReference?Math.max(o,r):o}Number.isFinite(p)?(s.offset=p,s.offsetPending=!1,s.offsetAnchorPlacementId=void 0,s.offsetAnchorEdge=void 0,s.offsetAnchorIsReference=void 0,r&&r(s,h,p),l.push(s),a=!0,u=!0):t.push(s)}c=t}return a&&!1!==e.sortPlacements&&bv(t),{updated:a,resolvedPlacements:l}}function wv(t){const e=Number(t);return Number.isFinite(e)?e:0}function xv(t,e={}){const n=function(t){const e=Number(t);return Number.isFinite(e)&&e<0?Math.abs(e):0}(t),i=Number.isFinite(null==e?void 0:e.offsetEndSeconds)?e.offsetEndSeconds:n;var r;return{wantsEndOffset:"end"===(r=t)||null==r||n>0||!0===(null==e?void 0:e.offsetPending),endOffsetSeconds:i,endOffsetFromAtSeconds:n}}function _v(t){if("string"!=typeof t)return null;const e=t.trim();if(!e||"end"===e)return null;const n=Number(e);if(Number.isFinite(n))return null;const i=e.split("@"),r=i[0]?i[0].trim():"";if(!r)return null;if(1===i.length)return{placementId:r,anchor:"start"};if(2!==i.length)return null;const o=i[1]?i[1].trim().toLowerCase():"";return"start"!==o&&"end"!==o?null:{placementId:r,anchor:o}}function Iv(t=[],e,n,i){if(Array.isArray(t))for(let r=0;r<t.length;r+=1){const o=t[r],s="number"==typeof(null==o?void 0:o.offset)?o.offset:0;if(e<s+("number"==typeof(null==o?void 0:o.duration)&&Number.isFinite(o.duration)?o.duration:Number.POSITIVE_INFINITY)&&s<n)throw new Error(i)}}function Tv(t){const e=Number(t);return Number.isFinite(e)&&e>0?e:0}function Ev(t){return(null==t?void 0:t.id)||(null==t?void 0:t.nodeId)||null}function Sv(t,e){return Array.isArray(t)&&e?t.findIndex((t=>Ev(t)===e)):-1}function Mv(t,e,n){const i=function(t,e,n){if(!Array.isArray(e)||0===e.length)return null;const i=e.length;if(null==t||"next"===t){const t=Sv(e,n);return t>=0?(t+1)%i:0}if("prev"===t){const t=Sv(e,n);return t>=0?(t-1+i)%i:i-1}const r=Number(t);return Number.isInteger(r)&&r>=0&&r<i?r:null}(t,e,n);return Number.isInteger(i)?Ev(e[i]):null}function Av(t,e,n,i){const r=function(t,e){if(!Array.isArray(t)||t.length<=1)return t||[];const n=function(t){const e=[],n=new Set;return Array.isArray(t)?(t.forEach((t=>{const i=null==t?void 0:t.placementId;i&&!n.has(i)&&(n.add(i),e.push(i))})),e):e}(e);if(!n.length)return t;const i=new Map;t.forEach((t=>{const e=null==t?void 0:t.placementId;e&&!i.has(e)&&i.set(e,t)}));const r=[],o=new Set;return n.forEach((t=>{const e=i.get(t);e&&!o.has(t)&&(o.add(t),r.push(e))})),t.forEach((t=>{const e=null==t?void 0:t.placementId;e&&!o.has(e)&&(o.add(e),r.push(t))})),r}(function(t,e){const n=function(t){const e=Number(null==t?void 0:t.offset),n=Number(null==t?void 0:t.duration),i=n===Number.POSITIVE_INFINITY,r=Number.isFinite(n)&&n>0||i;return Number.isFinite(e)&&r?{start:e,end:i?Number.POSITIVE_INFINITY:e+n}:null}(e);if(!n||!t||!Array.isArray(t.placements))return[];const i=function(t,e){const n=Number(null==t||null===(e=t.settings)||void 0===e?void 0:e.snapToFps);return!Number.isFinite(n)||n<=0?0:.5/n}(t),r=t.placements.filter((e=>{const r=function(t,e){const n=gv(t);if(!Number.isFinite(n))return null;const i="function"==typeof(null==e?void 0:e.getPlacementDuration)?e.getPlacementDuration(t):void 0;return{start:n,end:Number.isFinite(i)&&i>=0?n+i:Number.POSITIVE_INFINITY}}(e,t);return!!r&&r.start<n.end&&r.end>n.start+i}));return r.sort(((t,e)=>gv(t)-gv(e))),r}(e,n),i),o=function(t,e){const n=[],i=new Set;return Array.isArray(t)?(t.forEach((t=>{const r=null==t?void 0:t.nodeId;if(!r||i.has(r))return;const o="function"==typeof(null==e?void 0:e.getNode)?e.getNode(r):null;if(o){const t="object"==typeof o&&null!==o?o.id||o.nodeId?o:{...o,id:r}:{id:r};n.push(t),i.add(r)}})),n):n}(r,e),s=function(t){const e=new Map;return t.forEach((t=>{const n=null==t?void 0:t.placementId,i=null==t?void 0:t.nodeId;n&&i&&(e.has(i)||e.set(i,[]),e.get(i).push(n))})),e}(r),a=Array.isArray(t.nodes)?t.nodes:[];return a.splice(0,a.length,...o),t.nodes=a,t.placements=r,t.nodePlacementMap=s,{nodes:a,placements:r,nodePlacementMap:s}}function Nv(t,e,n){if(!Array.isArray(t))return null;if(e){const n=t.find((t=>(null==t?void 0:t.placementId)===e));if(n)return n}return n&&t.find((t=>(null==t?void 0:t.nodeId)===n))||null}function Cv(t,e){if(!e||!Array.isArray(t))return null;const n=t.find((t=>(null==t?void 0:t.placementId)===e));return(null==n?void 0:n.nodeId)||null}function Fv(t,e,n){if(!t||!e)return null;const i=e.get(t);if(!Array.isArray(i)||!i.length)return null;for(let e=0;e<i.length;e+=1){const r=i[e];if(Nv(n,r,t))return r}return null}function Ov(t){t.initialized=!1,t.activeRenderPlacementId=null,t.nodes=[],t.placements=[],t.nodePlacementMap=null,t.selectedPlacementId=null,t.previousPlacementId=null,t.pendingSwitch=null,t.switchStartTime=null,t.switchDuration=0,t.switchNormalizedTime=void 0,t.switchTo=null,t.countOfConcurrentChannels=null}class Pv extends dv{static get type(){return"switching"}static get aliases(){return["SwitchingRenderNode","switching","switch"]}static get requiresFrameCadence(){return!0}static get panAndScanTarget(){return"pre"}static buildLayoutGraph({inputs:t=[],normalizedTime:e}={}){if(t.length<2)return super.buildDefaultLayoutGraph(t);const n=fv(e),i=[{type:"opacity",inputs:[t[1]],options:{power:n}},{type:"shapeComposite",inputs:["__PREVIOUS:0",t[0]],options:{}}];return{type:Pv.type,signature:`${Pv.type}:${t.length}`,isDynamic:!0,graph:i}}static getRenderTiming({timing:t,state:e}={}){const n=t&&"object"==typeof t?t:{},i=Number(null==e?void 0:e.switchNormalizedTime);return Number.isFinite(i)?{...n,normalizedTime:fv(i)}:n}static prepareRenderFrames({frames:t,timelineTime:e,timeline:n,active:i,renderNodeParams:r,state:o}={}){const s=Array.isArray(t)?t:[],a=o&&"object"==typeof o?o:{},l=null==i?void 0:i.renderPlacementId;l&&a.activeRenderPlacementId!==l&&(Ov(a),a.activeRenderPlacementId=l);const c=null==r?void 0:r.initSwitching,u=Av(a,n,i,s),d=(f=s,Array.isArray(f)?f.length:0),h=a.countOfConcurrentChannels;var f;if(a.countOfConcurrentChannels=d,"function"==typeof c&&(a.switchTo||(a.switchTo=(t,e)=>{const n=Cv(a.placements,a.selectedPlacementId),i=Mv(t,a.nodes,n);if(!i)return;const r={nodeId:i};e&&Object.prototype.hasOwnProperty.call(e,"crossfadeSeconds")&&void 0!==e.crossfadeSeconds&&(r.crossfadeSeconds=e.crossfadeSeconds),a.pendingSwitch=r}),!a.initialized||h!==d)){a.initialized=!0,a.countOfConcurrentChannels=d;try{c({nodes:u.nodes,countOfConcurrentChannels:d,switchTo:a.switchTo})}catch(f){}}if(!a.selectedPlacementId){const t=Number(null==r?void 0:r.initialChannelIndex),e=Mv(Number.isInteger(t)&&t>=0?t:0,a.nodes,null);let n=null;if(e&&(n=Fv(e,a.nodePlacementMap,s),!n&&a.nodePlacementMap)){const t=a.nodePlacementMap.get(e);Array.isArray(t)&&t.length&&(n=t[0])}a.selectedPlacementId=n||function(t,e){if(Array.isArray(e))for(let i=0;i<e.length;i+=1){var n;const r=null===(n=e[i])||void 0===n?void 0:n.placementId;if(r&&Nv(t,r))return r}const i=Array.isArray(t)?t.find((t=>null==t?void 0:t.placementId)):null;return i?i.placementId:null}(s,a.placements)}if(a.pendingSwitch&&Number.isFinite(e)){const t=Fv(a.pendingSwitch.nodeId,a.nodePlacementMap,s);if(t){const n=a.selectedPlacementId;a.previousPlacementId=n&&n!==t?n:null,a.selectedPlacementId=t;const i=Object.prototype.hasOwnProperty.call(a.pendingSwitch,"crossfadeSeconds"),o=Tv(a.pendingSwitch.crossfadeSeconds),s=Tv(null==r?void 0:r.switchCrossfadeSeconds),l=i?o:s;a.switchDuration=l,l>0?a.switchStartTime=e:(a.switchStartTime=null,a.previousPlacementId=null)}a.pendingSwitch=null}let p;if(Number.isFinite(a.switchStartTime)&&a.switchDuration>0&&Number.isFinite(e)){const t=e-a.switchStartTime;t>=a.switchDuration?(a.switchStartTime=null,a.switchDuration=0,a.previousPlacementId=null):t>=0&&(p=fv(t/a.switchDuration))}a.switchNormalizedTime=Number.isFinite(p)?p:void 0;const m=Cv(a.placements,a.selectedPlacementId),v=Nv(s,a.selectedPlacementId,m)||s[0];let g=null;if(Number.isFinite(a.switchNormalizedTime)&&a.previousPlacementId){const t=Cv(a.placements,a.previousPlacementId),e=Cv(a.placements,a.selectedPlacementId),n=Nv(s,a.previousPlacementId,t),i=Nv(s,a.selectedPlacementId,e);n&&i&&(g=[n,i])}return g||(g=v?[v]:s),g}static resetRenderState(t){t&&"object"==typeof t&&Ov(t)}}const Rv=.5,Dv="auto";function Bv(t){return"vertical"===t?"vertical":"horizontal"}function Lv(t){return void 0===t||t===Dv?Dv:"manual"}function zv(t){const e=Number(t);return Number.isFinite(e)&&e>=0?e:.004}function Wv(t,e){const n=Number(null==t?void 0:t.width),i=Number(null==t?void 0:t.height);return Number.isFinite(n)&&Number.isFinite(i)&&n>0&&i>0?i>n?"vertical":"horizontal":Bv(e)}function jv(t,e){const n=e&&"object"==typeof e&&e.runtimeParams&&"object"==typeof e.runtimeParams?e.runtimeParams:{},i=Object.prototype.hasOwnProperty.call(n,"orientationMode")?n.orientationMode:null==t?void 0:t.orientationMode,r=Object.prototype.hasOwnProperty.call(n,"orientation")?n.orientation:null==t?void 0:t.orientation,o=Object.prototype.hasOwnProperty.call(n,"gap")?n.gap:null==t?void 0:t.gap,s=Lv(i);return{orientationMode:s,orientation:s===Dv?Wv(null==e?void 0:e.viewportSize,r):Bv(r),gap:zv(o)}}function $v(t){t&&"object"==typeof t&&(t.activeRenderPlacementId=null,t.frames=null,t.gridInitialized=!1,t.runtimeParams=null,t.setGridParams=null)}class Uv extends dv{static get type(){return"grid"}static get aliases(){return["GridRenderNode","grid","SideBySideRenderNode","side-by-side","sidebyside"]}static get requiresFrameCadence(){return!1}static get panAndScanTarget(){return"skip"}static resolvePanAndScanTarget({frameCount:t}={}){return t<2?"pre":Uv.panAndScanTarget}static buildLayoutGraph({inputs:t=[],renderNodeParams:e,state:n}={}){const i=Array.isArray(t)?t.slice(0,12):[],r=i.length;if(r<2)return super.buildDefaultLayoutGraph(i);const{orientation:o,gap:s}=jv(e,n),{rows:a,cols:l}=(p=o,(f=r)<=3?"vertical"===p?{rows:f,cols:1}:{rows:1,cols:f}:4===f?{rows:2,cols:2}:f<=6?"vertical"===p?{rows:3,cols:2}:{rows:2,cols:3}:f<=8?"vertical"===p?{rows:4,cols:2}:{rows:2,cols:4}:9===f?{rows:3,cols:3}:"vertical"===p?{rows:4,cols:3}:{rows:3,cols:4}),c=1/a,u=Math.max(0,c-s),d=[],h="grid-slice";var f,p;function m(t){const e=Math.floor(t/l),n=function(t,e,n,i){const r=(e-1)*n;return t===e-1&&i>r?i-r:n}(e,a,l,r),i=n<l?t-e*l:t%l,o=1/n;return{row:e,cellWidth:o,cropWidth:Math.max(0,o-s),targetCenterX:(i+Rv)*o,targetCenterY:(e+Rv)*c}}function v(t,e,n){const i=m(t);return{id:`grid-crop-${t}`,type:"crop",inputs:[e],outputs:[n],options:{source:{center:{x:Rv,y:Rv},width:1,height:1},target:{center:{x:i.targetCenterX,y:i.targetCenterY},width:i.cropWidth,height:u},fitType:"fill",cornerRadius:0,edgeSoftness:0}}}function g(t){const e=m(t);return{id:`grid-mask-${t}`,type:"shapeCompositeMask",inputs:[h,"accum"],outputs:["accum"],options:{type:"box",center:{x:2*e.targetCenterX-1,y:1-2*e.targetCenterY},area:{width:e.cellWidth,height:c},radius:0,edgeSoftness:0}}}d.push(v(0,i[0],"accum"));for(let t=1;t<r;t+=1)d.push(v(t,i[t],h)),d.push(g(t));return{type:Uv.type,signature:`${Uv.type}:${r}:${a}x${l}:${o}:${s}`,isDynamic:!1,graph:d}}static prepareRenderFrames({frames:t,renderNodeParams:e,active:n,state:i}={}){const r=Array.isArray(t)?t.slice(0,12):[],o=i&&"object"==typeof i?i:{},s=null==n?void 0:n.renderPlacementId;s&&o.activeRenderPlacementId!==s&&($v(o),o.activeRenderPlacementId=s);const a=Array.isArray(o.frames)?o.frames:[],l=null==e?void 0:e.initGrid;if("function"==typeof l&&(o.setGridParams||(o.setGridParams=t=>{!function(t,e){if(!t||"object"!=typeof t||!e||"object"!=typeof e)return;const n=t.runtimeParams&&"object"==typeof t.runtimeParams?{...t.runtimeParams}:{};Object.prototype.hasOwnProperty.call(e,"orientationMode")&&(n.orientationMode=Lv(e.orientationMode)),Object.prototype.hasOwnProperty.call(e,"orientation")&&(n.orientation=Bv(e.orientation)),Object.prototype.hasOwnProperty.call(e,"gap")&&(n.gap=zv(e.gap)),t.runtimeParams=n}(o,t),"function"==typeof o.requestRender&&o.requestRender()}),!o.gridInitialized)){o.gridInitialized=!0;const t=jv(e,o);try{l({orientationMode:t.orientationMode,orientation:t.orientation,gap:t.gap,setGridParams:o.setGridParams})}catch(t){}}if(r.length<2){const t=function(t,e){if(!Array.isArray(e)||e.length<2)return t.length?[t[t.length-1]]:[];const n=Math.min(12,Math.max(t.length,e.length,2)),i=t[0]||e[0];return Array.from({length:n},((n,r)=>t[r]||e[r]||i))}(r,a);return o.frames=t,t}return o.frames=r,r}static resetRenderState(t){$v(t)}}const qv=[hv,pv,Pv,Uv],Vv=new Map;function Gv(t){if("string"!=typeof t)return null;const e=t.trim();return e?e.toLowerCase():null}function Hv(t){const e=Gv(t);return e&&Vv.get(e)||null}function Kv(t){return Hv(t)||hv}qv.forEach((t=>function(t){(function(t){const e=Array.isArray(t.aliases)?t.aliases:[],n=t.type;return(n?[n,...e]:e.slice()).filter((t=>"string"==typeof t&&t.trim().length))})(t).forEach((e=>{const n=Gv(e);n&&Vv.set(n,t)}))}(t)));class Xv{static get defaultType(){return hv.type||"default"}static getRenderNodeClass(t){return Hv(t)}static normalizeType(t){const e=Hv(t);return e?e.type:null}static doesRenderNodeTypeRequireFrameCadence(t){const e=Hv(t);return!!e&&!0===e.requiresFrameCadence}static buildLayoutGraph({type:t,inputs:e=[],normalizedTime:n,renderNodeParams:i,state:r}={}){const o=Kv(t);return o&&"function"==typeof o.buildLayoutGraph?o.buildLayoutGraph({inputs:e,normalizedTime:n,renderNodeParams:i,state:r}):hv.buildLayoutGraph({inputs:e,normalizedTime:n,renderNodeParams:i,state:r})}static getPanAndScanTarget(t,e={}){const n=Kv(t);return"post"===(i=n&&"function"==typeof n.resolvePanAndScanTarget?n.resolvePanAndScanTarget(e):null==n?void 0:n.panAndScanTarget)||"skip"===i?i:"pre";var i}static prepareRenderFrames({type:t,frames:e,timelineTime:n,timeline:i,active:r,renderNodeParams:o,state:s}={}){const a=Kv(t);if(a&&"function"==typeof a.prepareRenderFrames){const t=a.prepareRenderFrames({frames:e,timelineTime:n,timeline:i,active:r,renderNodeParams:o,state:s});if(Array.isArray(t))return t}return Array.isArray(e)?e:[]}static getRenderTiming({type:t,timing:e,timelineTime:n,active:i,renderNodeParams:r,state:o}={}){const s=Kv(t),a=e&&"object"==typeof e?e:{};if(s&&"function"==typeof s.getRenderTiming){const t=s.getRenderTiming({timing:a,timelineTime:n,active:i,renderNodeParams:r,state:o});if(t&&"object"==typeof t)return{...a,...t}}return a}static resetRenderState(t,e){const n=Kv(t);n&&"function"==typeof n.resetRenderState&&n.resetRenderState(e)}static resetAllRenderStates(t){t&&"function"==typeof t.forEach&&t.forEach(((t,e)=>{Xv.resetRenderState(e,t)}))}create(t,e){return t&&"function"==typeof t.render?t:new(Kv(t))(e)}}function Yv(t){return Array.isArray(t)?t.filter((t=>t&&"string"==typeof t.type)):[]}function Qv(t,e){return t&&"function"==typeof t.getSignature?t.getSignature():(null==e?void 0:e.type)||"stage"}class Jv{#F;constructor(t){this.#F=t||new uv}build(t={}){const e=(Array.isArray(null==t?void 0:t.frames)?t.frames:[]).length,n=Array.from({length:e},((t,e)=>`__SRC_TEXTURE:${e}`)),i=Xv.normalizeType(null==t?void 0:t.layoutType)||Xv.defaultType,r=null==t?void 0:t.normalizedTime,o=Yv(null==t?void 0:t.preStages),s=Yv(null==t?void 0:t.postStages),a=[],l=[`layout:${i}`,`inputs:${e}`];let c=n;o.forEach(((e,n)=>{const i=this.#F.create(e);if(!i)return;const r=i.build({inputs:c,stageIndex:n,context:t});Array.isArray(null==r?void 0:r.graph)&&r.graph.length&&a.push(...r.graph),Array.isArray(null==r?void 0:r.outputs)&&r.outputs.length&&(c=r.outputs),l.push(Qv(i,e))}));const u=Xv.buildLayoutGraph({type:i,inputs:c,normalizedTime:r,renderNodeParams:null==t?void 0:t.renderNodeParams,state:null==t?void 0:t.renderNodeState}),d=!(null==u||!u.isDynamic);Array.isArray(null==u?void 0:u.graph)&&u.graph.length&&a.push(...u.graph),l.push((null==u?void 0:u.signature)||`${i}:${c.length}`);let h="__PREVIOUS:0";return s.forEach(((e,n)=>{const i=this.#F.create(e);if(!i)return;const r=i.build({inputs:[h],stageIndex:n,context:t});Array.isArray(null==r?void 0:r.graph)&&r.graph.length&&a.push(...r.graph),h=Array.isArray(null==r?void 0:r.outputs)&&r.outputs.length?r.outputs[0]:"__PREVIOUS:0",l.push(Qv(i,e))})),{graph:a,signature:l.join("|"),isDynamic:d}}}const Zv=[0,0,1,1],tg="zoomInExposure",eg=["transform","exposure","fadeToColor","dipToBlack"],ng={zoomInExposure:{filters:{fadeToColor:{duration:150,ease:[1,0,1,0],power:{from:0,to:1},color:"#ffffff"},exposure:!1,transform:{duration:150,ease:[0,.5,.5,1],scale:{from:{x:1,y:1},to:{x:1.1,y:1.1}},translate:{from:{x:0,y:0},to:{x:0,y:0}}}},reverseFilters:{fadeToColor:{duration:700,ease:[0,1,0,1]},exposure:!1,transform:{duration:700,ease:[0,1,0,1]}}},dipToBlack:{filters:{transform:{duration:250,ease:[0,.5,.5,1],scale:{from:{x:1,y:1},to:{x:1.05,y:1.05}},translate:{from:{x:0,y:0},to:{x:0,y:0}}},dipToBlack:{duration:250,ease:[0,.5,.5,1],power:{from:0,to:1}}},reverseFilters:{dipToBlack:{duration:800,ease:[0,1,0,1]}}}};function ig(t,e=0){const n=Number(t);return Number.isFinite(n)?n:e}function rg(t,e=Zv){return Array.isArray(t)&&t.length>=4?t:e}function og(t){return"string"==typeof t&&t.trim()?t.trim():"#ffffff"}function sg(t,e){const n=null==t?void 0:t[e];return!1===n||null==n?null:eh(n)?n:{}}function ag(t={}){let e=0;return eg.forEach((n=>{const i=sg(t,n);if(!i)return;const r=ig(null==i?void 0:i.duration);r>e&&(e=r)})),e}function lg(t,e,n,i,r){const o=[];return eg.forEach((s=>{const a=sg(t,s);if(!a)return;const l=function(t,e,n){const i=ig(null==t?void 0:t.duration);return Number.isFinite(n)&&n>0?i>0&&e>0?i*e:n:i}(a,n,i),c=function(t,e,n,i,r){const o={type:"transition",inputs:["__PREVIOUS:0"],options:{filter:t,startTime:n,duration:i,properties:{}}};if("transform"===t){var s,a,l,c;const t=rg(null==e?void 0:e.ease),n=(null==e||null===(s=e.scale)||void 0===s?void 0:s.from)||{x:1,y:1},i=(null==e||null===(a=e.scale)||void 0===a?void 0:a.to)||{x:1,y:1},r=(null==e||null===(l=e.translate)||void 0===l?void 0:l.from)||{x:0,y:0},u=(null==e||null===(c=e.translate)||void 0===c?void 0:c.to)||{x:0,y:0};return o.options.properties.scale={from:n,to:i,ease:t},o.options.properties.translate={from:r,to:u,ease:t},o}if("fadeToColor"===t){const t=rg(null==e?void 0:e.ease),n=(null==e?void 0:e.power)||{from:0,to:1};return o.options.properties.power={from:ig(null==n?void 0:n.from,0),to:ig(null==n?void 0:n.to,1),ease:t},o.options.properties.color=og((null==e?void 0:e.color)||r),o}if("exposure"===t||"dipToBlack"===t){const t=rg(null==e?void 0:e.ease),n=(null==e?void 0:e.power)||{from:0,to:1};return o.options.properties.power={from:ig(null==n?void 0:n.from,0),to:ig(null==n?void 0:n.to,1),ease:t},o}return null}(s,a,e,l,r);c&&o.push(c)})),o}function cg(t=[]){const e=t.map((t=>{const e=JSON.parse(JSON.stringify(t));return null!=e&&e.options&&(e.options.startTime=0),e}));return JSON.stringify(e)}class ug{#O=null;start(t={}){const e=null==t?void 0:t.shaderGraph;if(!e||"function"!=typeof e.captureTexture)return null;const{baseFilters:n,reverseFilters:i}=function(t={}){const e=function(t={}){if(eh(null==t?void 0:t.transition))return t.transition;if("string"==typeof(null==t?void 0:t.transition))return ng[t.transition]||ng[tg];if(eh(null==t?void 0:t.filters)||eh(null==t?void 0:t.reverseFilters))return{filters:t.filters||{},reverseFilters:t.reverseFilters||{}};if("string"==typeof(null==t?void 0:t.filter)){const e=ig(t.duration)>0?1e3*t.duration:500;return{filters:{[t.filter]:{duration:e,power:{from:0,to:1}}},reverseFilters:{}}}return ng[tg]}(t),n=nh({},(null==e?void 0:e.filters)||{},eh(null==t?void 0:t.filters)?t.filters:{}),i=function(t={}){const e={};return Object.keys(t).forEach((n=>{const i=t[n];if(!1===i)return void(e[n]=!1);const r=JSON.parse(JSON.stringify(eh(i)?i:{}));Object.values(r).forEach((t=>function(t){if(t&&"object"==typeof t&&"from"in t&&"to"in t){const e=t.from;t.from=t.to,t.to=e}}(t))),e[n]=r})),e}(n),r=nh({},(null==e?void 0:e.reverseFilters)||{},eh(null==t?void 0:t.reverseFilters)?t.reverseFilters:{});return{baseFilters:n,reverseFilters:nh({},i,r)}}(t),r=ig(null==t?void 0:t.duration),o=r>0?1e3*r:null,s=ag(n),a=ag(i),l=o&&s>0?o/s:1,c=o&&a>0?o/a:1,u=o||s||500,d=o||a||u,h=og(null==t?void 0:t.color),f=e.captureTexture(),p=Date.now(),m=lg(n,p,l,o,h);return this.#O={phase:"out",startTime:p,outDurationMs:u,inDurationMs:d,color:h,captureId:f,baseFilters:n,reverseFilters:i,outScale:l,inScale:c,durationOverrideMs:o,outGraph:m,outSignature:cg(m),inGraph:null,inSignature:null},{captureId:f,outDurationMs:u,inDurationMs:d}}beginIncoming(){if(!this.#O)return;const t=Date.now(),e=lg(this.#O.reverseFilters,t,this.#O.inScale,this.#O.durationOverrideMs,this.#O.color);this.#O={...this.#O,phase:"in",startTime:t,inGraph:e,inSignature:cg(e)}}reset(t){var e;t&&"function"==typeof t.disposeTexture&&null!==(e=this.#O)&&void 0!==e&&e.captureId&&t.disposeTexture(this.#O.captureId),this.#O=null}getState(){return this.#O}buildOutgoingGraph(){const t=this.#O;return t&&"out"===t.phase&&Array.isArray(t.outGraph)&&t.outGraph.length?{signature:`transition:out:${t.outSignature||""}`,forceUpdate:!1,graph:t.outGraph}:null}buildIncomingGraph(){const t=this.#O;return t&&"in"===t.phase&&Array.isArray(t.inGraph)&&t.inGraph.length?{signature:`transition:in:${t.inSignature||""}`,forceUpdate:!1,graph:t.inGraph}:null}}let dg;const hg=[/firefox\/(\d+)/,/edg\/(\d+)/,/opr\/(\d+)/,/chrome\/(\d+)/];function fg(){const t=ch&&ch.navigator&&(ch.navigator.userAgent||ch.navigator.platform||ch.navigator.vendor)||"";if(dg&&dg.ua===t)return dg;const e=t.toLowerCase(),n=e.includes("android"),i=e.includes("iphone")||e.includes("ipad")||e.includes("ipod")||e.includes("ios"),r=n||i||e.includes("mobile"),o=!!t&&!r,s=e.includes("firefox/"),a=function(t=""){for(let e=0;e<hg.length;e+=1){const n=hg[e],i=t.match(n);if(!i)continue;const r=Number(i[1]);return Number.isFinite(r)?r:null}if(t.includes("safari/")&&t.includes("version/")){const e=t.match(/version\/(\d+)/);if(!e)return null;const n=Number(e[1]);return Number.isFinite(n)?n:null}return null}(e);return dg={ua:t,lowerUA:e,isAndroid:n,isiOS:i,isMobile:r,isDesktop:o,isFirefox:s,browserMajorVersion:a},dg}function pg(){return fg().ua}function mg(){return fg().isAndroid}function vg(){return fg().isiOS}function gg(){return fg().isMobile}function yg(){return fg().isDesktop}function bg(){return fg().isFirefox}function kg(){return fg().browserMajorVersion}var wg={getUserAgent:pg,isAndroid:mg,isiOS:vg,isMobile:gg,isDesktop:yg,isFirefox:bg,getBrowserMajorVersion:kg},xg=Object.freeze({__proto__:null,default:wg,getBrowserMajorVersion:kg,getUserAgent:pg,isAndroid:mg,isDesktop:yg,isFirefox:bg,isMobile:gg,isiOS:vg});const _g="Idle",Ig="Playing",Tg="FirstFramePending",Eg="Waiting",Sg="Paused",Mg="Seeking",Ag="Resetting";function Ng(t){return Array.isArray(t)?t.filter((t=>t&&"string"==typeof t.type)):[]}function Cg(t,e){return!!Array.isArray(t)&&t.some((t=>(null==t?void 0:t.type)===e))}function Fg(t){const e=Number(t);return!Number.isFinite(e)||e<=0?null:{type:"retarget",options:{frames:Array.from({length:e},(()=>({fitType:"fill"})))},meta:{source:"panAndScan"}}}function Og(t){return Array.isArray(t)?t.filter((t=>{return!("panAndScan"===(null==(e=t)||null===(n=e.meta)||void 0===n?void 0:n.source));var e,n})):[]}const Pg=2073600;function Rg(t,e){const n=Number(t);return Number.isFinite(n)&&n>0?n:e}function Dg(t,e){if(null==t)return e;const n=Number(t);return Number.isFinite(n)?n:e}var Bg=new WeakMap,Lg=new WeakMap,zg=new WeakMap,Wg=new WeakMap,jg=new WeakMap,$g=new WeakMap,Ug=new WeakMap,qg=new WeakMap,Vg=new WeakMap,Gg=new WeakMap,Hg=new WeakMap,Kg=new WeakMap,Xg=new WeakMap,Yg=new WeakMap,Qg=new WeakMap,Jg=new WeakMap,Zg=new WeakMap,ty=new WeakMap,ey=new WeakMap,ny=new WeakMap,iy=new WeakMap,ry=new WeakMap,oy=new WeakMap,sy=new WeakMap,ay=new WeakMap,ly=new WeakMap,cy=new WeakMap,uy=new WeakMap,dy=new WeakMap,hy=new WeakMap,fy=new WeakMap,py=new WeakMap,my=new WeakMap,vy=new WeakMap,gy=new WeakSet;class yy extends sh{static get pipelineNodeId(){return"ekoplayer-render-pipeline"}get defaults(){return{defaultRenderParams:void 0,resourceLimits:{enabled:!0,maxCanvasPixels:Pg,maxDevicePixelRatio:0,renderScale:1,transitionMinFrameIntervalMs:33}}}constructor(...t){super(...t),O(this,gy),C(this,Bg,void 0),C(this,Lg,void 0),C(this,zg,void 0),C(this,Wg,void 0),C(this,jg,void 0),C(this,$g,void 0),C(this,Ug,void 0),C(this,qg,void 0),C(this,Vg,void 0),C(this,Gg,void 0),C(this,Hg,void 0),C(this,Kg,void 0),C(this,Xg,null),C(this,Yg,null),C(this,Qg,void 0),C(this,Jg,void 0),C(this,Zg,void 0),C(this,ty,[]),C(this,ey,[]),C(this,ny,null),C(this,iy,null),C(this,ry,null),C(this,oy,null),C(this,sy,null),C(this,ay,null),C(this,ly,new Map),C(this,cy,null),C(this,uy,null),C(this,dy,!1),C(this,hy,!1),C(this,fy,!1),C(this,py,!1),C(this,my,[]),C(this,vy,null);const[e,n,i]=t;F(Bg,this,e),F(Lg,this,n),F(zg,this,i),N(Bg,this)&&"function"==typeof N(Bg,this).enableFirstFrameRenderedGate&&N(Bg,this).enableFirstFrameRenderedGate(),F(Kg,this,new Jv),F(Qg,this,new ug),F(Jg,this,null),F(Zg,this,null),F(ry,this,null),F(Wg,this,(t=>M(gy,this,ib).call(this,t))),N(Bg,this)&&"function"==typeof N(Bg,this).on&&(N(Bg,this).on(dh.VISUAL_FRAMES_AVAILABLE,N(Wg,this)),F(jg,this,(()=>{var t,e,n,i;M(gy,this,_y).call(this),M(gy,this,Jy).call(this,0),F(ey,this,[]),F(ny,this,null),F(Xg,this,null),F(Yg,this,null),M(gy,this,$y).call(this),F(cy,this,null);(null===(t=N(Qg,this))||void 0===t||null===(e=t.getState)||void 0===e?void 0:e.call(t))||null===(n=N(Qg,this))||void 0===n||null===(i=n.reset)||void 0===i||i.call(n,N(Jg,this))})),N(Bg,this).on(dh.TIMELINE_SEEKING,N(jg,this)),F($g,this,((t={})=>{"switch"===(null==t?void 0:t.reason)||"reset"===(null==t?void 0:t.reason)?M(gy,this,ky).call(this):M(gy,this,by).call(this),M(gy,this,Iy).call(this)})),N(Bg,this).on(dh.TIMELINE_RESET,N($g,this)),F(Vg,this,(()=>M(gy,this,Gy).call(this))),N(Bg,this).on(dh.TIMELINE_TIME_UPDATE,N(Vg,this)),F(Ug,this,(()=>{M(gy,this,rb).call(this)&&N(iy,this)&&M(gy,this,ib).call(this,N(iy,this))})),N(Bg,this).on(dh.TIMELINE_STATE_CHANGE,N(Ug,this))),N(Lg,this)&&"function"==typeof N(Lg,this).on&&(F(Gg,this,(()=>{const t=N(iy,this);F(py,this,!0),M(gy,this,by).call(this),F(iy,this,t)})),N(Lg,this).on(dh.CANVAS_WEBGL_CONTEXT_LOST,N(Gg,this)),F(Hg,this,(()=>{var t;const e=null===(t=N(Lg,this))||void 0===t?void 0:t.gl;if(!e||"function"==typeof e.isContextLost&&e.isContextLost())return void F(py,this,!0);const n=N(iy,this);F(py,this,!1),M(gy,this,by).call(this),F(iy,this,n),n&&M(gy,this,rb).call(this)&&M(gy,this,ib).call(this,n)})),N(Lg,this).on(dh.CANVAS_WEBGL_CONTEXT_RESTORED,N(Hg,this))),F(qg,this,(()=>{F(ny,this,null),N(iy,this)&&M(gy,this,rb).call(this)&&M(gy,this,ib).call(this,N(iy,this))})),N(zg,this)&&"function"==typeof N(zg,this).on&&N(zg,this).on(dh.CONTAINER_RESIZE,N(qg,this))}get name(){return"Renderer"}onDispose(){N(Bg,this)&&N(Wg,this)&&"function"==typeof N(Bg,this).off&&N(Bg,this).off(dh.VISUAL_FRAMES_AVAILABLE,N(Wg,this)),N(Bg,this)&&N(jg,this)&&"function"==typeof N(Bg,this).off&&N(Bg,this).off(dh.TIMELINE_SEEKING,N(jg,this)),N(Bg,this)&&N($g,this)&&"function"==typeof N(Bg,this).off&&N(Bg,this).off(dh.TIMELINE_RESET,N($g,this)),N(Bg,this)&&N(Vg,this)&&"function"==typeof N(Bg,this).off&&N(Bg,this).off(dh.TIMELINE_TIME_UPDATE,N(Vg,this)),N(Bg,this)&&N(Ug,this)&&"function"==typeof N(Bg,this).off&&N(Bg,this).off(dh.TIMELINE_STATE_CHANGE,N(Ug,this)),N(zg,this)&&N(qg,this)&&"function"==typeof N(zg,this).off&&N(zg,this).off(dh.CONTAINER_RESIZE,N(qg,this)),N(Lg,this)&&N(Gg,this)&&"function"==typeof N(Lg,this).off&&N(Lg,this).off(dh.CANVAS_WEBGL_CONTEXT_LOST,N(Gg,this)),N(Lg,this)&&N(Hg,this)&&"function"==typeof N(Lg,this).off&&N(Lg,this).off(dh.CANVAS_WEBGL_CONTEXT_RESTORED,N(Hg,this)),M(gy,this,by).call(this),F(Wg,this,null),F(jg,this,null),F($g,this,null),F(Vg,this,null),F(Ug,this,null),F(qg,this,null),F(Gg,this,null),F(Hg,this,null),F(Kg,this,null),F(Qg,this,null),F(ly,this,null),F(cy,this,null),F(Lg,this,null),F(zg,this,null),F(Bg,this,null)}startTransition(t={}){var e,n;const i=null===(e=N(Lg,this))||void 0===e?void 0:e.element,r=null===(n=N(Lg,this))||void 0===n?void 0:n.gl;if(!i||!r)return null;if(N(py,this)||"function"==typeof r.isContextLost&&r.isContextLost())return F(py,this,!0),null;if(M(gy,this,Ey).call(this,i),!N(Jg,this))return null;const o=N(Qg,this).start({shaderGraph:N(Jg,this),duration:null==t?void 0:t.duration,filter:null==t?void 0:t.filter,color:null==t?void 0:t.color,filters:null==t?void 0:t.filters,reverseFilters:null==t?void 0:t.reverseFilters,transition:null==t?void 0:t.transition});return F(ry,this,N(iy,this)||null),M(gy,this,tb).call(this),o}beginTransitionIn(t={}){var e,n;null!==(e=N(Qg,this))&&void 0!==e&&null!==(n=e.beginIncoming)&&void 0!==n&&n.call(e,t),F(ry,this,null),M(gy,this,tb).call(this)}resetTransition(){var t,e;null!==(t=N(Qg,this))&&void 0!==t&&null!==(e=t.reset)&&void 0!==e&&e.call(t,N(Jg,this)),F(ry,this,null),M(gy,this,eb).call(this)}}function by(){if(M(gy,this,_y).call(this),N(Qg,this)&&"function"==typeof N(Qg,this).reset&&N(Qg,this).reset(N(Jg,this)),M(gy,this,Jy).call(this,0),N(Jg,this)&&"function"==typeof N(Jg,this).dispose)try{N(Jg,this).dispose()}catch(t){}F(Jg,this,null),F(Zg,this,null),F(ty,this,[]),F(ey,this,[]),F(dy,this,!1),F(ny,this,null),F(Xg,this,null),F(Yg,this,null),F(iy,this,null),F(ry,this,null),M(gy,this,eb).call(this),M(gy,this,$y).call(this),F(cy,this,null)}function ky(){M(gy,this,_y).call(this),N(Qg,this)&&"function"==typeof N(Qg,this).reset&&N(Qg,this).reset(N(Jg,this)),M(gy,this,Jy).call(this,0),F(ty,this,[]),F(ey,this,[]),F(ny,this,null),F(Xg,this,null),F(Yg,this,null),F(iy,this,null),F(ry,this,null),M(gy,this,eb).call(this),M(gy,this,$y).call(this),F(cy,this,null),F(uy,this,null)}function wy(){const t="function"==typeof ch.requestAnimationFrame?ch.requestAnimationFrame.bind(ch):null,e="function"==typeof ch.cancelAnimationFrame?ch.cancelAnimationFrame.bind(ch):null;return t?{schedule:e=>t(e),cancel(t){"number"==typeof t&&e&&e(t)}}:null}function xy(t){F(my,this,N(my,this).filter((e=>e!==t))),N(my,this).length||F(vy,this,null)}function _y(){N(vy,this)&&N(my,this).forEach((t=>N(vy,this).call(this,t))),F(my,this,[]),F(vy,this,null),F(fy,this,!1)}function Iy(){M(gy,this,_y).call(this),F(hy,this,!1)}function Ty(){if(N(hy,this)||N(fy,this))return;const t=M(gy,this,wy).call(this);if(!t)return;const{schedule:e,cancel:n}=t;let i;F(vy,this,n),F(fy,this,!0),i=e((()=>{let t;M(gy,this,xy).call(this,i),t=e((()=>{M(gy,this,xy).call(this,t),F(fy,this,!1),N(hy,this)||(F(hy,this,!0),N(Bg,this)&&"function"==typeof N(Bg,this).notifyFirstFrameRendered&&N(Bg,this).notifyFirstFrameRendered())})),N(my,this).push(t)})),N(my,this).push(i)}function Ey(t){if(N(Jg,this)||!t)return;const e=this,n={dest:t,src:(t,n)=>{F(Zg,e,n)}};F(Jg,e,new sv(n,{userWillCallRender:!0,glOptions:{contextType:"webgl2"},performanceToggles:{useCanvasSizedFilterTargets:!0}})),N(Jg,e)&&"function"==typeof N(Jg,e).addNodes&&N(Jg,e).addNodes({[oe.pipelineNodeId]:{type:"composite",options:{graph:[]}}})}function Sy(t){var e;if("null"===(null==t?void 0:t.message))return!0;const n=null===(e=N(Lg,this))||void 0===e?void 0:e.gl;return!(!n||"function"!=typeof n.isContextLost||!n.isContextLost())}function My(t,e,n){const i=e||N(iy,this)||null;if(M(gy,this,by).call(this),F(iy,this,i),!n)return this.log.warn("Shader graph render failed; rebuilding graph once.",t),void M(gy,this,ib).call(this,i,!0);this.log.warn("Shader graph render is still unavailable after rebuild; deferring until the next render pass.",t)}function Ay(){var t;const e=null===(t=this.settings)||void 0===t?void 0:t.resourceLimits;return!e||"object"!=typeof e||Array.isArray(e)?{}:e}function Ny(){const t=M(gy,this,Ay).call(this).enabled;return!0===t||!1!==t&&vg()}function Cy(){if(!M(gy,this,Ny).call(this))return 0;const t=Dg(M(gy,this,Ay).call(this).transitionMinFrameIntervalMs,33);return Number.isFinite(t)&&t>0?t:0}function Fy(t,e,n={}){const i=!0===(null==n?void 0:n.useDevicePixelRatio),r=M(gy,this,Ny).call(this),o=i?Rg(null==ch?void 0:ch.devicePixelRatio,1):1;let s=o,a=0;if(r){const t=M(gy,this,Ay).call(this);a=Dg(t.maxCanvasPixels,Pg);const e=Dg(t.maxDevicePixelRatio,0);s=Rg(t.renderScale,1)*(e>0?Math.min(o,e):o)}let l=Math.max(1,Math.round(t*s)),c=Math.max(1,Math.round(e*s));if(r&&a>0){const t=l*c;if(t>a){const e=Math.sqrt(a/t);l=Math.max(1,Math.floor(l*e)),c=Math.max(1,Math.floor(c*e))}}return{width:l,height:c}}function Oy(t=[],e={}){var n;const i=null===(n=N(Lg,this))||void 0===n?void 0:n.element,r=N(Zg,this);if(!i||"function"!=typeof r)return!1;let o=0,s=0;const a=!0===(null==e?void 0:e.useViewportSize);if(a){var l,c,u,d,h,f;const t=Number(null!==(l=null===(c=N(zg,this))||void 0===c?void 0:c.containerWidth)&&void 0!==l?l:null===(u=N(zg,this))||void 0===u?void 0:u.width),e=Number(null!==(d=null===(h=N(zg,this))||void 0===h?void 0:h.containerHeight)&&void 0!==d?d:null===(f=N(zg,this))||void 0===f?void 0:f.height);if(Number.isFinite(t)&&Number.isFinite(e)&&t>0&&e>0)o=Math.round(t),s=Math.round(e);else{const t=Number(i.clientWidth),e=Number(i.clientHeight);Number.isFinite(t)&&Number.isFinite(e)&&t>0&&e>0&&(o=Math.round(t),s=Math.round(e))}}if(!(o>0&&s>0)){if(!Array.isArray(t)||!t.length)return;for(let e=0;e<t.length;e+=1){var p;const n=null===(p=t[e])||void 0===p?void 0:p.frame,i=Number((null==n?void 0:n.displayWidth)||(null==n?void 0:n.codedWidth)||(null==n?void 0:n.videoWidth)||(null==n?void 0:n.naturalWidth)||(null==n?void 0:n.width)),r=Number((null==n?void 0:n.displayHeight)||(null==n?void 0:n.codedHeight)||(null==n?void 0:n.videoHeight)||(null==n?void 0:n.naturalHeight)||(null==n?void 0:n.height));!Number.isFinite(i)||!Number.isFinite(r)||i<=0||r<=0||(i>o&&(o=i),r>s&&(s=r))}}if(!(o>0&&s>0))return!1;const m=M(gy,this,Fy).call(this,o,s,{useDevicePixelRatio:a}),v=m.width,g=m.height,y=N(ny,this);return!(y&&y.width===v&&y.height===g||(F(ny,this,{width:v,height:g}),r(null,null,v,g),0))}function Py(t){const e=null==t?void 0:t.nodeId,n=null==t?void 0:t.trackId,i=null==t?void 0:t.segmentId,r=null==t?void 0:t.presentationTime;return e&&n&&i&&Number.isFinite(r)?`${e}:${n}:${i}@${r}`:null}function Ry(t,e,n){const i=Number.isFinite(null==t?void 0:t.duration)&&t.duration>0?t.duration:void 0;let r;if(i&&Number.isFinite(null==t?void 0:t.offset)){const n=(e-t.offset)/i;r=n<0?0:n>1?1:n}const o=M(gy,this,Dy).call(this,t),s=M(gy,this,By).call(this,o);return Xv.getRenderTiming({type:o,timing:{duration:i,normalizedTime:r},timelineTime:e,active:t,renderNodeParams:n,state:s})}function Dy(t){return Xv.normalizeType(null==t?void 0:t.type)||Xv.defaultType}function By(t){if(!t||!N(ly,this))return null;let e=N(ly,this).get(t);return e||(e={},N(ly,this).set(t,e)),e}function Ly(){var t,e,n,i,r,o,s,a,l,c,u;const d=Number(null!==(t=null===(e=N(zg,this))||void 0===e?void 0:e.containerWidth)&&void 0!==t?t:null===(n=N(zg,this))||void 0===n?void 0:n.width),h=Number(null!==(i=null===(r=N(zg,this))||void 0===r?void 0:r.containerHeight)&&void 0!==i?i:null===(o=N(zg,this))||void 0===o?void 0:o.height);if(Number.isFinite(d)&&Number.isFinite(h)&&d>0&&h>0)return{width:Math.round(d),height:Math.round(h)};const f=null===(s=N(Lg,this))||void 0===s?void 0:s.element,p=Number(null==f?void 0:f.clientWidth),m=Number(null==f?void 0:f.clientHeight);if(Number.isFinite(p)&&Number.isFinite(m)&&p>0&&m>0)return{width:Math.round(p),height:Math.round(m)};const v=Number(null!==(a=null==f?void 0:f.width)&&void 0!==a?a:null===(l=N(ny,this))||void 0===l?void 0:l.width),g=Number(null!==(c=null==f?void 0:f.height)&&void 0!==c?c:null===(u=N(ny,this))||void 0===u?void 0:u.height);return Number.isFinite(v)&&Number.isFinite(g)&&v>0&&g>0?{width:Math.round(v),height:Math.round(g)}:null}function zy(t){const e=M(gy,this,By).call(this,t);return e&&"object"==typeof e&&(e.requestRender=()=>M(gy,this,Wy).call(this),e.viewportSize=M(gy,this,Ly).call(this)),e}function Wy(){N(dy,this)||(F(dy,this,!0),Promise.resolve().then((()=>{F(dy,this,!1),N(iy,this)&&M(gy,this,rb).call(this)&&M(gy,this,ib).call(this,N(iy,this))})))}function jy(t){if(!t||!N(ly,this))return;const e=N(ly,this).get(t);e&&Xv.resetRenderState(t,e),N(ly,this).delete(t)}function $y(){N(ly,this)&&(Xv.resetAllRenderStates(N(ly,this)),N(ly,this).clear())}function Uy(t,e,n,i){const r=M(gy,this,Dy).call(this,t);N(cy,this)&&N(cy,this)!==r&&M(gy,this,jy).call(this,N(cy,this)),F(cy,this,r);const o=M(gy,this,zy).call(this,r);return Xv.prepareRenderFrames({type:r,frames:e,timelineTime:n,timeline:N(Bg,this),active:t,renderNodeParams:i,state:o})}function qy(t){var e;return null!=t&&t.params&&"object"==typeof t.params?t.params:!t&&null!==(e=this.settings)&&void 0!==e&&e.defaultRenderParams&&"object"==typeof this.settings.defaultRenderParams?this.settings.defaultRenderParams:{}}function Vy(t){return t?String(t.renderPlacementId||t.type||"unknown"):"default"}function Gy(){if(!N(Bg,this)||!N(iy,this))return;const t=N(Bg,this).currentTime,e=N(Bg,this).getActiveRenderPlacement(t),n=M(gy,this,Vy).call(this,e);n!==N(uy,this)&&(F(uy,this,n),M(gy,this,ib).call(this,{...N(iy,this),time:t}))}function Hy(t){return!t||"object"!=typeof t||!Object.prototype.hasOwnProperty.call(t,"panAndScan")||!1!==t.panAndScan}function Ky(t,e){const n=M(gy,this,qy).call(this,t),i=null==n?void 0:n.stages;let r=Ng(null==i?void 0:i.pre),o=Ng(null==i?void 0:i.post);const s=M(gy,this,Hy).call(this,n),a=M(gy,this,Dy).call(this,t),l=Cg(r,"retarget")||Cg(o,"retarget");if(s&&!l){const i=Xv.getPanAndScanTarget(a,{frameCount:Array.isArray(e)?e.length:0,active:t,renderNodeParams:n});if("pre"===i){const t=Fg(Array.isArray(e)?e.length:0);t&&(r=[t,...r])}else if("post"===i){const t=Fg(1);t&&(o=[...o,t])}}else s||(r=Og(r),o=Og(o));return{preStages:r,postStages:o,renderNodeParams:n}}function Xy(t,e,n,i,r){const o=r||M(gy,this,Ry).call(this,t,n,i),s=M(gy,this,Ky).call(this,t,e),a=M(gy,this,Dy).call(this,t),l=M(gy,this,zy).call(this,a);return N(Kg,this).build({layoutType:null==t?void 0:t.type,frames:e,preStages:s.preStages,postStages:s.postStages,normalizedTime:o.normalizedTime,renderNodeDuration:o.duration,renderNodeParams:s.renderNodeParams,renderNodeState:l,timelineTime:n})}function Yy(){var t,e;const n=null===(t=N(Qg,this))||void 0===t||null===(e=t.getState)||void 0===e?void 0:e.call(t);return"out"===(null==n?void 0:n.phase)?N(Qg,this).buildOutgoingGraph():"in"===(null==n?void 0:n.phase)?N(Qg,this).buildIncomingGraph():null}function Qy(t,e,n,i){const r=n||e!==N(Xg,this),o=r||i;return r&&N(Jg,this)&&"function"==typeof N(Jg,this).updateOptions&&(N(Jg,this).updateOptions(oe.pipelineNodeId,{graph:t}),F(Xg,this,e)),N(Jg,this)&&"function"==typeof N(Jg,this).selectNode&&N(Yg,this)!==oe.pipelineNodeId&&(N(Jg,this).selectNode(oe.pipelineNodeId),F(Yg,this,oe.pipelineNodeId)),!(!o||!N(Jg,this)||"function"!=typeof N(Jg,this).render||(N(Jg,this).render({noRaf:!0}),0))}function Jy(t){if(!Array.isArray(N(ty,this))||!N(ty,this).length)return;const e=Number.isFinite(t)?Math.max(0,t):0;if(!(N(ty,this).length<=e)){for(let t=e;t<N(ty,this).length;t+=1){const e=N(ty,this)[t];if(e&&N(Jg,this)&&"function"==typeof N(Jg,this).releaseTexture)try{N(Jg,this).releaseTexture(e)}catch(t){}}N(ty,this).length=e,N(ey,this).length=e}}function Zy(t=[]){if(!N(Jg,this)||"function"!=typeof N(Jg,this).addTexture)return{didUpdate:!1,hasUploadFailure:!1,ready:!1};if("function"==typeof N(Jg,this).isContextUnavailable&&N(Jg,this).isContextUnavailable())return{didUpdate:!1,hasUploadFailure:!1,ready:!1};if(!Array.isArray(t)||!t.length)return M(gy,this,Jy).call(this,0),{didUpdate:!1,hasUploadFailure:!1,ready:!1};M(gy,this,Jy).call(this,t.length);let e=!1,n=!1,i=!0;for(let o=0;o<t.length;o+=1){var r;N(ty,this)[o]||"function"!=typeof N(Jg,this).addTexture||(N(ty,this)[o]=N(Jg,this).addTexture(null,"frame",o));const s=M(gy,this,Py).call(this,t[o]),a=null===(r=t[o])||void 0===r?void 0:r.frame;if(N(ty,this)[o]&&a){if(!s||s!==N(ey,this)[o])try{N(ty,this)[o].fill(a),N(ey,this)[o]=s,e=!0}catch(t){i=!1,n=!0,N(ey,this)[o]=null}}else i=!1}return{didUpdate:e,hasUploadFailure:n,ready:i}}function tb(){if(N(oy,this))return;const t="function"==typeof ch.requestAnimationFrame?t=>ch.requestAnimationFrame(t):t=>setTimeout(t,16),e="function"==typeof ch.cancelAnimationFrame?t=>ch.cancelAnimationFrame(t):clearTimeout;F(sy,this,e);const n=()=>{var e,i;if(null!==(e=N(Qg,this))&&void 0!==e&&null!==(i=e.getState)&&void 0!==i&&i.call(e)){if(N(iy,this)){const t=M(gy,this,Cy).call(this),e=Date.now();(!t||!N(ay,this)||e-N(ay,this)>=t)&&(F(ay,this,e),M(gy,this,ib).call(this,N(iy,this)))}F(oy,this,t(n))}else F(oy,this,null)};F(oy,this,t(n))}function eb(){N(oy,this)&&N(sy,this)&&N(sy,this).call(this,N(oy,this)),F(oy,this,null),F(sy,this,null),F(ay,this,null)}function nb(t){var e,n;const i=null===(e=N(Qg,this))||void 0===e||null===(n=e.getState)||void 0===n?void 0:n.call(e);return"out"===(null==i?void 0:i.phase)&&N(ry,this)?N(ry,this):t}function ib(t={},e=!1){try{var n,i;t&&F(iy,this,t);const e=null===(n=N(Lg,this))||void 0===n?void 0:n.element,r=null===(i=N(Lg,this))||void 0===i?void 0:i.gl;if(!e||!r)return;if(N(py,this)||"function"==typeof r.isContextLost&&r.isContextLost())return void F(py,this,!0);if(!M(gy,this,rb).call(this))return;const o=M(gy,this,nb).call(this,t),s=Number.isFinite(null==o?void 0:o.time)?o.time:void 0;if(!Number.isFinite(s))return;if(M(gy,this,Ey).call(this,e),!N(Jg,this))return;const a=N(Bg,this)&&"function"==typeof N(Bg,this).getActiveRenderPlacement?N(Bg,this).getActiveRenderPlacement(s):void 0,l=M(gy,this,Vy).call(this,a);l!==N(uy,this)&&F(uy,this,l);const c=Array.isArray(null==o?void 0:o.frames)?o.frames:[],u=M(gy,this,qy).call(this,a),d=M(gy,this,Hy).call(this,u),h=M(gy,this,Uy).call(this,a,c,s,u),f=M(gy,this,Ry).call(this,a,s,u),p=M(gy,this,Oy).call(this,h,{useViewportSize:d}),m=M(gy,this,Zy).call(this,h),v=m.didUpdate;if(h.length>0&&!m.ready)return void(m.hasUploadFailure&&this.log.warn("Skipping render because one or more input textures could not be uploaded."));const g=M(gy,this,Xy).call(this,a,h,s,u,f),y=M(gy,this,Yy).call(this);let b=g.graph,k=g.signature,w=!!g.isDynamic;y&&Array.isArray(y.graph)&&y.graph.length&&(b=b.concat(y.graph),k=`${k}|${y.signature||"transition"}`,w=w||!!y.forceUpdate);const x=p||v||w||y&&Array.isArray(y.graph)&&y.graph.length;M(gy,this,Qy).call(this,b,k,w,x)&&h.length>0&&M(gy,this,Ty).call(this)}catch(n){if(M(gy,this,Sy).call(this,n))return void M(gy,this,My).call(this,n,t,e);throw n}}function rb(){var t;const e=null===(t=N(Bg,this))||void 0===t?void 0:t.state;return e===_g||e===Tg||e===Ig||e===Sg}function ob(t){return"number"==typeof t&&Number.isFinite(t)&&t>0}function sb(t){return t&&"resource"===t.entryType&&t.transferSize>0&&t.duration>0&&t.responseEnd>=t.requestStart}function ab(t){return Array.isArray(t)&&0!==t.length?t.reduce(((t,e)=>t+e),0)/t.length:NaN}oe=yy;var lb=new WeakMap,cb=new WeakMap,ub=new WeakMap,db=new WeakMap,hb=new WeakSet;class fb extends sh{get name(){return"DownloadSpeedGuesstimator"}get defaults(){return{persistentStorage:{key:"ekoDownloadSpeedKbps",ttl:-1},priorities:[["resourceTiming","downlink","persistentValue"],["resourceTiming","downlink"],["resourceTiming","persistentValue","ua"],["resourceTiming","ua","defaultKbps"],["downlink","persistentValue"],["downlink"],["persistentValue"],["connectionType"],["ua"],["defaultKbps"]],defaultKbps:2500,connectionType:{"slow-2g":50,"2g":70,"3g":700,"4g":3500,bluetooth:750,cellular:750,ethernet:3500,wifi:2500,wimax:2500,none:0},ua:{desktop:2500,ios:2500,android:2500}}}constructor(...t){super(...t),O(this,hb),C(this,lb,void 0),C(this,cb,void 0),C(this,ub,void 0),C(this,db,void 0),F(lb,this,!!(ch&&ch.navigator&&ch.navigator.connection)),F(cb,this,!(!ch||!ch.performance||"function"!=typeof ch.performance.getEntriesByType)),F(ub,this,M(hb,this,mb).call(this)),F(db,this,M(hb,this,kb).call(this))}guesstimate(){const t=M(hb,this,xb).call(this);this.log.debug("[guesstimate] Data:",t);const e=M(hb,this,wb).call(this,t),n=ob(e)?e:t.defaultKbps;return M(hb,this,vb).call(this,n),this.log.info(`[guesstimate] Result: ${n} kbps`),n}update(t){ob(t)&&M(hb,this,vb).call(this,t)}onDispose(){F(ub,this,void 0),F(db,this,void 0)}}function pb(){return Math.round(Date.now()/1e3)}function mb(){try{if(!ch||!ch.localStorage||"function"!=typeof ch.localStorage.getItem)return}catch(t){return}const t=this.settings.persistentStorage.key,e=ch.localStorage.getItem(t);if(e)try{const t=JSON.parse(e),n=this.settings.persistentStorage.ttl,i=M(hb,this,pb).call(this)-t.timestamp;if("number"==typeof n&&n>=0&&i>n)return null;if(!ob(t.value))return;return t.value}catch(t){return}}function vb(t){if(!ob(t))return;try{if(!ch||!ch.localStorage||"function"!=typeof ch.localStorage.setItem)return}catch(t){return}const e=this.settings.persistentStorage.key,n=JSON.stringify({value:t,timestamp:M(hb,this,pb).call(this)});try{ch.localStorage.setItem(e,n),F(ub,this,t)}catch(t){}}function gb(){return ch&&ch.performance&&"function"==typeof ch.performance.getEntriesByType?ab(ch.performance.getEntriesByType("resource").filter(sb).map((t=>8*t.transferSize/t.duration))):NaN}function yb(){if(!ch||!ch.navigator||!ch.navigator.connection)return NaN;const t=ch.navigator.connection.downlink;return ob(t)?1e3*t:NaN}function bb(){if(!N(lb,this))return NaN;const t=ch.navigator.connection,e=t.effectiveType||t.type,n=this.settings.connectionType||{};return e&&Object.prototype.hasOwnProperty.call(n,e)?n[e]:NaN}function kb(){const t=this.settings.ua||{};return mg()?t.android:vg()?t.ios:t.desktop}function wb(t){const e=Array.isArray(this.settings.priorities)?this.settings.priorities:[];for(let n=0;n<e.length;n+=1){const i=e[n];if(!Array.isArray(i)||0===i.length)continue;const r=i.map((e=>t[e])).filter((t=>ob(t)));if(r.length===i.length)return this.log.debug("[#selectFromPriorities] Selected from priorities:",i,"with values:",r),ab(r)}return NaN}function xb(){const t=this.settings.testOverrides||{},e=ob(t.resourceTiming)?t.resourceTiming:M(hb,this,gb).call(this),n=ob(t.downlink)?t.downlink:M(hb,this,yb).call(this),i=ob(t.persistentValue)?t.persistentValue:N(ub,this),r=ob(t.connectionType)?t.connectionType:M(hb,this,bb).call(this),o=ob(t.ua)?t.ua:N(db,this);return{defaultKbps:this.settings.defaultKbps,resourceTiming:e,downlink:n,connectionType:r,persistentValue:i,ua:o}}const _b=new th;function Ib(t){return"string"!=typeof t||0===t.length?[]:t.split(".").filter((t=>t.length>0))}function Tb(t){if("string"!=typeof t)return!1;if(0===t.length)return!1;const e=Number(t);return Number.isInteger(e)&&String(e)===t}function Eb(t){return null!==t&&"object"==typeof t}function Sb(t,e,n){const i=Ib(e);if(0===i.length)return void 0===t?n:t;let r=t;for(let t=0;t<i.length;t+=1){if(null==r)return n;if(r=r[i[t]],void 0===r)return n}return void 0===r?n:r}function Mb(t,e,n){if(!Eb(t))return t;const i=Ib(e);if(0===i.length)return t;let r=t;for(let t=0;t<i.length;t+=1){const e=i[t];if(t===i.length-1){r[e]=n;break}Eb(r[e])||(r[e]=Tb(i[t+1])?[]:{}),r=r[e]}return t}const Ab={get:(t,e)=>ch&&ch.eko?Sb(ch.eko,t,e):e,set(t,e){if(ch)return ch.eko&&"object"==typeof ch.eko||(ch.eko={}),Mb(ch.eko,t,e),ch.eko}},Nb=ch&&ch.performance,Cb=Nb&&"function"==typeof Nb.now?()=>Nb.now():()=>Date.now();function Fb(){return"undefined"==typeof AbortController?null:new AbortController}function Ob(){const t=new Error("The operation was aborted");return t.name="AbortError",t.code="ABORT_ERR",t}function Pb(t,e){return!(!e||!e.aborted)||!!t&&("AbortError"===t.name||"ABORT_ERR"===t.code||20===t.code)}const Rb=2,Db=100,Bb=2,Lb="runtime.downloadSpeedSamples",zb=Zd("download","warn");function Wb(t){return new Promise((e=>{setTimeout(e,t)}))}function jb(t){return t>=500}function $b(t){if(!t||!t.headers||"function"!=typeof t.headers.get)return 0;const e=t.headers.get("content-length");if(!e)return 0;const n=Number(e);return Number.isNaN(n)||n<0?0:n}function Ub(t,e,n,i,r,o){const s={bytes:t,durationMs:e,kbps:e>0?8*t/e:0,startTime:n,endTime:i,url:o};try{let t=Ab.get(r);t||(t=[],Ab.set(r,t)),t.push(s)}catch(t){}return s}async function qb(t,e={}){const{method:n="GET",headers:i,body:r,retries:o=Rb,retryDelay:s=Db,backoffFactor:a=Bb,samplesTargetPath:l=Lb,fetch:c,loglevel:u="warn",cache:d,signal:h,onProgress:f,returnType:p="default"}=e;zb.setLevel(u);const m=function(t){if(t)return t;if(ch&&"function"==typeof ch.fetch)return ch.fetch.bind(ch);throw new Error("fetch is not available in this environment")}(c);let v=0,g=s;for(;;){if(h&&h.aborted)throw Ob();const e=Cb();try{const s=await m(t,{method:n,headers:i,body:r,cache:d,mode:"cors",signal:h});if(h&&h.aborted)throw Ob();if(!s.ok){if(v<o&&jb(s.status)){v+=1,zb.warn(`[${t}] Download attempt #${v} failed with status ${s.status}, retrying in ${g}ms...`),await Wb(g),g*=a;continue}zb.error(`[${t}] Download attempt #${v} failed with status ${s.status}, no more retries.`);const e=new Error(`Download failed with status ${s.status}`);throw e.status=s.status,e}let c=Cb();const u=$b(s),y="arrayBuffer"===p||"bytes"===p,b=y&&"function"==typeof f;let k,w,x,_,I,T=0;if(y&&s.body&&"function"==typeof s.body.getReader&&b){const t=s.body.getReader(),e=[];for(;;){if(h&&h.aborted)throw Ob();const{done:n,value:i}=await t.read();if(n)break;if(i&&i.length){const t=Cb();Number.isFinite(_)||(_=t),I=t,e.push(i),T+=i.length,f({loaded:T,total:u||void 0,chunk:i})}}k=new Uint8Array(T);let n=0;e.forEach((t=>{k.set(t,n),n+=t.length})),c=Cb()}else if(y){const t=await s.arrayBuffer();k=new Uint8Array(t),T=k.length,c=Cb()}else"text"===p?(w=await s.text(),c=Cb()):"json"===p&&(x=await s.json(),c=Cb());if(h&&h.aborted)throw Ob();const E=y?k?k.length:T:("text"===p&&"string"==typeof w?w.length:0)||("json"===p&&x?JSON.stringify(x).length:0),S=u||E||0;let M=e,A=c;Number.isFinite(_)&&(M=_,Number.isFinite(I)&&(A=Math.max(I,c))),(!Number.isFinite(M)||!Number.isFinite(A)||A<M)&&(M=e,A=c);const N=Math.max(0,A-M),C=Ub(S,N,M,A,l,t);try{_b.trigger("download:sample",C)}catch(t){}const F={response:s,bytes:S,durationMs:N,kbps:C.kbps,startTime:C.startTime,endTime:C.endTime};if("default"===p)return F;if("arrayBuffer"===p||"bytes"===p){const t=k||new Uint8Array(await s.arrayBuffer());return"arrayBuffer"===p?t.buffer:t}return"text"===p?w:"json"===p?x:F}catch(e){if(Pb(e,h))throw"AbortError"===e.name?e:Ob();if(!(v<o)||e.status&&!jb(e.status))throw zb.error(`[${t}] Download attempt #${v} failed with error ${e}, no more retries.`),e;v+=1,zb.warn(`[${t}] Download attempt #${v} failed with error ${e}, retrying in ${g}ms...`),await Wb(g),g*=a}}}const Vb={disabledTracks:{default:["audio"],targetPaths:["NodeRepository.disabledTracks"]},muted:{default:!1,targetPaths:["AudioPlaybackManager.muted"]},volume:{default:1,targetPaths:["AudioPlaybackManager.volume"]},encodeProfile:{default:null,targetPaths:["AssetsDeliveryService.profile"]},forceVideoCodec:{default:void 0,targetPaths:["NodeRepository.forceVideoCodec"]},forceImageFallback:{default:!1,targetPaths:["NodeRepository.forceImageFallback"]},mediaHostRewriteMap:{default:{"storageeko.s3.amazonaws.com":"https://storage.eko.com","studioz-post.s3.amazonaws.com":"https://studioz-post.eko.com"},targetPaths:["NodeRepository.mediaHostRewriteMap"]},playbackRate:{default:1,targetPaths:["PlaybackClock.playbackRate"]},initialKbps:{default:"auto",targetPaths:["DownloadSpeed.initialKbps"]},defaultRenderParams:{default:void 0,targetPaths:["Renderer.defaultRenderParams"]},maxBufferedVideoFrames:{default:24,targetPaths:["Timeline.maxBufferedVideoFrames"]},waitingBufferAheadSeconds:{default:3,targetPaths:["Timeline.waitingBufferAheadSeconds"]},abrStrategy:{default:"auto",targetPaths:["ABRSelector.abrStrategy"]},segmentEvictionEnabled:{default:!0,targetPaths:["SegmentEvictionCoordinator.enabled"]},segmentEvictionBufferBehindSeconds:{default:30,targetPaths:["SegmentEvictionCoordinator.bufferBehindSeconds"]},segmentEvictionBufferAheadSeconds:{default:30,targetPaths:["SegmentEvictionCoordinator.bufferAheadSeconds"]},segmentEvictionMaxRetainedBytes:{default:52428800,targetPaths:["SegmentEvictionCoordinator.maxRetainedBytes"]},autoplay:{default:!0,targetPaths:["Idle.autoplay"]},autoPauseOnVisibilityChange:{default:!0,targetPaths:["DocumentVisibility.autoPauseOnVisibilityChange"]},autoResumeOnVisibilityChange:{default:!0,targetPaths:["DocumentVisibility.autoResumeOnVisibilityChange"]},trackingEnabled:{default:!0,targetPaths:["Tracker.trackingEnabled"]}},Gb=Object.freeze(Object.entries(Vb).reduce(((t,[e,n])=>(Object.prototype.hasOwnProperty.call(n,"default")&&(t[e]=n.default),t)),{})),Hb=Zd("config","warn");function Kb(t){return Gb[t]}var Xb=new WeakMap,Yb=new WeakMap,Qb=new WeakMap,Jb=new WeakMap,Zb=new WeakMap,tk=new WeakSet;class ek extends sh{get name(){return"DownloadSpeed"}get defaults(){return{alpha:.3,maxSamples:30,minBytesPerSample:1024,minDurationMs:5,maxSampleKbpsCap:void 0,ignoreCacheHits:!0,samplesPath:"runtime.downloadSpeedSamples",initialKbps:Kb("initialKbps"),probeUrl:void 0,defaultKbps:2500}}constructor(...t){super(...t),O(this,tk),C(this,Xb,void 0),C(this,Yb,void 0),C(this,Qb,void 0),C(this,Jb,void 0),C(this,Zb,void 0),F(Qb,this,[]),F(Yb,this,0),F(Xb,this,M(tk,this,rk).call(this)),F(Zb,this,Fb()),F(Jb,this,(t=>{M(tk,this,uk).call(this,t,"event")})),M(tk,this,ok).call(this),_b.on("download:sample",N(Jb,this)),M(tk,this,sk).call(this),this.log.debug(`[#constructor] Initial estimate: ${N(Xb,this)} kbps`)}getKbps(){return N(Xb,this)}addSample(t){M(tk,this,uk).call(this,t,"manual")}reset(){F(Qb,this,[]),F(Yb,this,0),F(Xb,this,M(tk,this,rk).call(this))}onDispose(){N(Zb,this)&&N(Zb,this).abort(),F(Zb,this,null),_b.off("download:sample",N(Jb,this)),F(Qb,this,[]),F(Yb,this,0),F(Xb,this,void 0),F(Jb,this,null)}}function nk(t,e){return!!(this.settings.ignoreCacheHits&&(0===e||t&&"boolean"==typeof t.cached&&t.cached||t&&"number"==typeof t.transferSize&&"number"==typeof t.encodedBodySize&&t.transferSize<=t.encodedBodySize))}function ik(t){if(!t||"object"!=typeof t)return null;const e=Number(t.bytes),n=Number(t.durationMs);let i=ob(t.kbps)?Number(t.kbps):NaN;return!ob(i)&&n>0&&ob(e)&&(i=8*e/n),ob(i)?e<=this.settings.minBytesPerSample||n<=this.settings.minDurationMs||M(tk,this,nk).call(this,t,e)?null:(ob(this.settings.maxSampleKbpsCap)&&i>this.settings.maxSampleKbpsCap&&(i=this.settings.maxSampleKbpsCap),{...t,bytes:e,durationMs:n,kbps:i}):null}function rk(){const t=this.settings.initialKbps;if(ob(t))return t;if("auto"===t)try{const t=(new fb).guesstimate();if(ob(t))return t}catch(t){}return this.settings.defaultKbps}function ok(){const t=Ab.get(this.settings.samplesPath,[]);if(!Array.isArray(t)||0===t.length)return;const e=t.slice(-this.settings.maxSamples);for(let t=0;t<e.length;t+=1)M(tk,this,uk).call(this,e[t],"replay",{emit:!1})}async function sk(){if(!this.settings.probeUrl||N(Yb,this)>0)return;const t=N(Zb,this)?N(Zb,this).signal:void 0;if(!t||!t.aborted)try{await qb(this.settings.probeUrl,{cache:"no-store",samplesTargetPath:this.settings.samplesPath,signal:t})}catch(t){}}function ak(t){return"number"==typeof t.startTime&&"number"==typeof t.endTime&&Number.isFinite(t.startTime)&&Number.isFinite(t.endTime)&&t.startTime>=0&&t.endTime>t.startTime}function lk(t,e){if(!M(tk,this,ak).call(this,t)||!M(tk,this,ak).call(this,e))return 0;const n=Math.max(t.startTime,e.startTime);return Math.min(t.endTime,e.endTime)-n}function ck(t){if(!M(tk,this,ak).call(this,t))return t;const e=[];for(let n=0;n<N(Qb,this).length;n+=1){const i=N(Qb,this)[n];M(tk,this,ak).call(this,i)&&(M(tk,this,lk).call(this,t,i)>0&&e.push(i))}if(0===e.length)return t;F(Qb,this,N(Qb,this).filter((t=>!e.includes(t))));const n=[t,...e],i=n.reduce(((t,e)=>t+(e.bytes||0)),0),r=Math.min(...n.map((t=>t.startTime))),o=Math.max(...n.map((t=>t.endTime))),s=o-r;if(!ob(i)||s<=0)return t;const a={bytes:i,durationMs:s,kbps:8*i/s,startTime:r,endTime:o,url:t.url||e[e.length-1].url};return M(tk,this,ik).call(this,a)}function uk(t,e,{emit:n=!0}={}){const i=M(tk,this,ik).call(this,t);if(!i)return;const r=M(tk,this,ck).call(this,i);if(!r)return;F(Yb,this,N(Yb,this)+1),N(Qb,this).push(r),N(Qb,this).length>this.settings.maxSamples&&N(Qb,this).shift();const o=this.defaults.alpha,s="number"==typeof this.settings.alpha?this.settings.alpha:o,a=ob(N(Xb,this)),l=a?N(Xb,this):r.kbps,c=a||1!==N(Yb,this)?s*r.kbps+(1-s)*l:r.kbps;F(Xb,this,c),this.log.debug(`[#ingestSample] Next estimate: ${c} kbps`),n&&this.trigger("download:speed",{kbps:N(Xb,this),sample:r,source:e,samplesCount:N(Yb,this)})}function dk(t=""){if(t&&"string"==typeof t)return t.split(",")[0].trim()||void 0}function hk(t=""){const e=dk(t);if(!e)return;const n=e.match(/^[a-z0-9]+/i);return n?n[0].toLowerCase():void 0}var fk={getFirstCodec:dk,getBaseCodec:hk},pk=Object.freeze({__proto__:null,default:fk,getBaseCodec:hk,getFirstCodec:dk});class mk{constructor(t={}){const{id:e,url:n,uri:i,mime:r,codecs:o,bandwidth:s,timescale:a,sizeBytes:l,...c}=t;if(!e)throw new Error("Representation requires id");const u=n||i;if(!u)throw new Error("Representation requires url or uri");this.id=e,this.url=u,this.mime=r,this.codecs=o,this.baseCodec=hk(o),ob(s)&&(this.bandwidth=s),ob(a)&&(this.timescale=a),ob(l)&&(this.sizeBytes=l),Object.assign(this,c)}}class vk{#P=new Map;#R;#D;#B=0;#L;constructor(t={}){const{id:e,offset:n=0,duration:i=0,isInit:r=!1,representations:o=[]}=t;if(!e)throw new Error("Segment requires id");o.forEach((t=>{if(!t||!t.url&&!t.uri)throw new Error("Segment representation must include uri or url")})),this.id=e,this.offset=n,this.duration=i,this.isInit=!!r,this.originalRepresentations=o.map((t=>t instanceof mk?t:new mk(t))),this.representations=this.originalRepresentations.map((t=>t)),this.appliedFilters=[],this.loadAttempts=0,this.loadError=void 0}setRepresentationBuffer(t,e){t&&e&&this.#P.set(t,e)}setDownloadProgress(t,e){const n=Number(t);Number.isFinite(n)&&n>=0&&(this.#B=Math.max(this.#B,n));const i=Number(e);Number.isFinite(i)&&i>0&&(this.#L=i)}setChosenRepresentation(t){this.#R=t;const e=null==t?void 0:t.id;if(!(this.isInit||!e||this.#P.size<=1))for(const t of this.#P.keys())t!==e&&this.#P.delete(t)}setABRDecisionSnapshot(t){if(!t||"object"!=typeof t)return void(this.#D=void 0);const e={...t};Array.isArray(t.availableRepresentations)&&(e.availableRepresentations=t.availableRepresentations.map((t=>({...t})))),this.#D=e}markLoadAttempt(){const t=Number(this.loadAttempts);this.loadAttempts=Number.isFinite(t)&&t>0?t+1:1,this.loadError=void 0}setLoadError(t){this.loadError=t||new Error("Segment load failed")}getRepresentationBuffer(t){return this.#P.get(t)}get chosenRepresentation(){return this.#R}get abrDecision(){return this.#D}get arrayBuffer(){return this.#R?this.#P.get(this.#R.id):void 0}get retainedByteLength(){let t=0;for(const e of this.#P.values())e&&"number"==typeof e.byteLength&&(t+=e.byteLength);return t}get bufferedRatio(){var t;const e=ob(this.#L)?this.#L:null===(t=this.#R)||void 0===t?void 0:t.sizeBytes;return ob(e)?Math.min(1,Math.max(0,this.#B/e)):this.retainedByteLength>0?1:0}get isLoaded(){return this.retainedByteLength>0}evict(){this.#R=void 0,this.#D=void 0,this.#P.clear(),this.#B=0,this.#L=void 0}}let gk=class{constructor(t={}){const{timestamp:e,name:n,data:i,isSticky:r=!1}=t;this.timestamp="number"==typeof e?e:0,this.name="string"==typeof n?n:"",this.data=i,this.isSticky="boolean"==typeof r&&r}};function yk(t,e){const n=Number(null==t?void 0:t.offset),i=Number(null==t?void 0:t.duration);if(!e)return{offset:n,duration:i};const r=(null==t?void 0:t.chosenRepresentation)||(Array.isArray(null==t?void 0:t.representations)?t.representations[0]:void 0),o=Number(null==r?void 0:r.segStart),s=Number(null==r?void 0:r.segDuration);return Number.isFinite(o)&&Number.isFinite(s)&&s>0?{offset:o,duration:s}:{offset:n,duration:i}}function bk(t,e,n={}){if(!Array.isArray(t)||!t.length)return;const i=Number(e);if(!Number.isFinite(i))return;const r=!!n.preferRepresentationTime;let o,s,a=-1/0;for(let e=0;e<t.length;e+=1){const n=t[e];if(!n||n.isInit)continue;o||(o=n);const l=yk(n,r);if(!Number.isFinite(l.offset))continue;const c=Number(l.duration);if(Number.isFinite(c)&&c>0&&i>=l.offset&&i<l.offset+c)return n;l.offset<=i&&l.offset>a&&(a=l.offset,s=n)}return s||o}const kk=new Set(["video","audio","image","cue","data","bbox"]);class wk{constructor(t={}){const{id:e,type:n,offset:i=0,duration:r,source:o,segments:s=[],cues:a=[]}=t;if(!e)throw new Error("Track requires id");if(!kk.has(n))throw new Error(`Track type must be one of ${Array.from(kk).join("|")}`);this.id=e,this.type=n,this.offset=i,this.duration=ob(r)?r:void 0,this.source=o,"cue"===n?(this._cues=a.map((t=>t instanceof gk?t:new gk(t))),this._segments=[]):(this._segments=s.map((t=>t instanceof vk?t:new vk(t))),this._cues=void 0)}get segments(){return this._segments.slice()}get cues(){if("cue"===this.type)return this._cues.slice()}get endTime(){if(ob(this.duration))return this.offset+this.duration;if(!this._segments.length)return;const t=this._segments.reduce(((t,e)=>{const n=ob(e.duration)?e.duration:0;return Math.max(t,e.offset+n)}),this.offset);return t}get buffered(){const t=this._segments.map((t=>({duration:ob(null==t?void 0:t.duration)?t.duration:0,offset:ob(null==t?void 0:t.offset)?t.offset:0,ratio:t&&!t.isInit&&"number"==typeof t.bufferedRatio?t.bufferedRatio:0}))).filter((t=>t.duration>0&&t.ratio>0));if(!t.length)return;const e=t.reduce(((t,e)=>Math.min(t,e.offset)),1/0),n=t.reduce(((t,e)=>{const n=e.offset+e.duration*Math.min(1,e.ratio);return Math.max(t,n)}),0);return!Number.isFinite(e)||!Number.isFinite(n)||n<=e?void 0:{start:e,end:n}}getMediaSegmentAtTime(t,e={}){return bk(this._segments,t,e)}setSegments(t=[]){if("cue"===this.type)return;const e=Array.isArray(t)?t:[];this._segments=e.map((t=>t instanceof vk?t:new vk(t)))}}function xk(t){return"string"==typeof t?t:t&&"object"==typeof t?t.nodeId||t.nodeIdOrRef||t.id:void 0}function _k(t){const e=xk(t);let n=1;if(t&&"object"==typeof t&&ob(t.weight)&&(n=t.weight),!e)throw new Error("Child entry requires a nodeId");return{nodeId:e,weight:n}}function Ik(t){return(Array.isArray(t)?t:[]).map((t=>_k(t)))}function Tk(t,e=void 0){if("string"==typeof t){const e=t.match(/\d+\.?\d*/);if(e){const t=Number(e[0]);if(Number.isFinite(t))return t}}else if("number"==typeof t&&Number.isFinite(t))return t;return e}function Ek(t,e){if(t){if(t.includes("$Number%")){const n=t.match(/\$Number%0(\d+)d\$/);if(n){const i=Number(n[1]),r=String(e).padStart(i,"0");return t.replace(/\$Number%0\d+d\$/,r)}}return t.replace(/\$Number\$/g,String(e))}}function Sk(t,e){if(e)try{var n;return new URL(e,t||(null==ch||null===(n=ch.location)||void 0===n?void 0:n.href)||void 0).toString()}catch(t){return e}}const Mk=new Map;class Ak{static register(t,e){if(!t||"function"!=typeof e)throw new Error("ManifestFactory.register requires type and parser function");Mk.set(t,e)}static inferType(t={}){const{typeHint:e,url:n,mimeType:i,body:r}=t;return e||function(t=""){const e=function(t=""){return t&&"string"==typeof t?t.split("#")[0].split("?")[0].toLowerCase():""}(t);return e.endsWith(".mpd")?"dash":e.endsWith(".ivd")?"ivd":e.endsWith(".jpg")||e.endsWith(".jpeg")||e.endsWith(".png")||e.endsWith(".webp")||e.endsWith(".gif")||e.endsWith(".avif")?"image":void 0}(n||"")||function(t=""){const e=t.toLowerCase();return e.includes("dash")||e.includes("mpd")||e.includes("xml")?"dash":e.includes("ivd")||e.includes("json")?"ivd":e.includes("image/")?"image":void 0}(i||"")||function(t=""){const e="string"==typeof t?t.trim():"";if(e.startsWith("<")&&e.includes("<MPD"))return"dash";if(e.startsWith("{"))try{const t=JSON.parse(e);if(t&&"object"==typeof t)return"ivd"}catch(t){return}}(r||"")}static parse(t={}){const e=Ak.inferType(t);if(!e||!Mk.has(e))throw new Error("Unsupported manifest type");return Mk.get(e)(t)}}Ak.register("dash",(function(t={}){const{body:e,url:n}=t,i=function(){if(ch&&"function"==typeof ch.DOMParser)return new ch.DOMParser;throw new Error("DOMParser is not available in this environment")}().parseFromString(e||"","application/xml"),r=i.getElementsByTagName("MPD")[0];if(!r)throw new Error("Invalid MPD");const o=i.getElementsByTagName("Period")[0],s=o?Array.from(o.getElementsByTagName("AdaptationSet")):[],a=[];let l=Tk(r.getAttribute("mediaPresentationDuration"));l=Number.isFinite(l)?l:void 0,s.forEach(((t,e)=>{const i=t.getAttribute("mimeType")||"",r=function(t=""){const e=t.toLowerCase();return e.includes("video")?"video":e.includes("audio")?"audio":e.includes("image")?"image":"data"}(i),o=t.getAttribute("id")||`${r}-${e+1}`,s=t.getElementsByTagName("SegmentTemplate")[0],c=Array.from(t.getElementsByTagName("Representation")).map((t=>function(t,e,n){const i=t.getAttribute("id")||t.getAttribute("representationId")||"",r=Tk(t.getAttribute("bandwidth")),o=t.getAttribute("codecs"),s=t.getAttribute("mimeType")||e&&e.getAttribute("mimeType")||n,a=t.getElementsByTagName("SegmentTemplate")[0]||e;return{repId:i,bandwidth:r,codecs:o,mime:s,media:a?a.getAttribute("media"):void 0,initialization:a?a.getAttribute("initialization"):void 0,timescale:Tk(a&&a.getAttribute("timescale"))||Tk(e&&e.getAttribute("timescale"),1)||1,startNumber:Tk(a&&a.getAttribute("startNumber"))||Tk(e&&e.getAttribute("startNumber"),1)||1,timeline:function(t){const e=[],n=t.getElementsByTagName("SegmentTimeline")[0];if(!n)return e;const i=Array.from(n.getElementsByTagName("S"));let r=0;for(let t=0;t<i.length;t+=1){const n=i[t],o=Tk(n.getAttribute("t")),s=Tk(n.getAttribute("d")),a=Tk(n.getAttribute("r"),0);if(!ob(s))continue;ob(o)&&(r=o);const l=a>=0?a:0;for(let t=0;t<=l;t+=1)e.push({start:r,duration:s}),r+=s}return e}(a)}}(t,s,i))),u=c.map((t=>({id:t.repId,url:Sk(n,Ek(t.initialization,t.startNumber)),bandwidth:t.bandwidth,mime:t.mime,codecs:t.codecs,timescale:t.timescale}))).filter((t=>t.url)),d=c.reduce(((t,e)=>{const n=Array.isArray(null==t?void 0:t.timeline)?t.timeline.length:0;return(Array.isArray(null==e?void 0:e.timeline)?e.timeline.length:0)>n?e:t}),c[0]),h=Array.isArray(null==d?void 0:d.timeline)?d.timeline:[],f=h.length,p=[],m=(null==d?void 0:d.timescale)||1;u.length>0&&p.push({id:`init-${o}`,offset:0,duration:0,isInit:!0,representations:u});for(let t=0;t<f;t+=1){const e=h[t];if(!e)continue;const i=c.map((e=>{const i=e.startNumber+t,r=e.timescale||m,o=Array.isArray(e.timeline)?e.timeline[t]:void 0;if(!o)return null;const s=o.start,a=o.duration;return{id:e.repId,url:Sk(n,Ek(e.media,i)),bandwidth:e.bandwidth,mime:e.mime,codecs:e.codecs,timescale:e.timescale,segIndex:t,segStart:s/r,segDuration:a/r}})).filter(Boolean);i.length&&p.push({id:`${o}-seg-${t+1}`,offset:e.start/m,duration:e.duration/m,isInit:!1,representations:i})}a.push({id:o,type:r,offset:0,duration:l,segments:p})}));const c=a[0]?a[0].id:void 0;return{id:n||r.getAttribute("id")||"mpd",mainTrackId:c,tracks:a,duration:l}})),Ak.register("ivd",(function(t={}){var e;const{body:n,url:i}=t;let r;try{r="string"==typeof n?JSON.parse(n):n}catch(t){throw new Error("Invalid IVD manifest")}if(!r||"object"!=typeof r)throw new Error("Invalid IVD manifest");const o=Array.isArray(r.representations)?r.representations:[],s=new Map;o.forEach(((t,e)=>{const n=function(t){const e=(t.mimeType||"").toLowerCase();return e.includes("video")?"video":e.includes("audio")?"audio":"data"}(t),i=Number.isInteger(t.altIndex)?t.altIndex:0,r=`${n}-${i}`,o=(l=e,{id:`${(a=t).format||"unknownformat"}-${a.altIndex||0}-${a.label||l+1}`,url:a.url,mime:a.mimeType,codecs:a.codecs,bandwidth:a.bandwidth||a.audioBandwidth||a.videoBandwidth,sizeBytes:a.contentLength,duration:ob(a.duration)?a.duration:void 0,segIndex:Number.isInteger(a.segIndex)&&a.segIndex>=0?a.segIndex:0});var a,l;s.has(r)||s.set(r,{type:n,altIndex:i,reps:[]}),s.get(r).reps.push(o)}));const a=Array.from(s.values()).map(((t,e)=>{const n=new Map;t.reps.forEach((t=>{const e=Number.isInteger(t.segIndex)?t.segIndex:0;n.has(e)||n.set(e,[]),n.get(e).push(t)}));const i=Array.from(n.keys()).sort(((t,e)=>t-e));let o=0;const s=i.map((i=>{var r;const s=n.get(i)||[],a=(null===(r=s.find((t=>ob(t.duration))))||void 0===r?void 0:r.duration)||0,l={id:`${t.type}-${t.altIndex}-${e+1}-seg-${i+1}`,offset:o,duration:a,isInit:!1,representations:s.map((t=>{const{duration:e,segIndex:n,...i}=t;return i}))};return o+=a,l})),a=s.reduce(((t,e)=>t+(ob(e.duration)?e.duration:0)),0),l=ob(r.duration)?r.duration:a||void 0;return{id:`${t.type}-${t.altIndex}-${e+1}`,type:t.type,offset:0,duration:l,segments:s}})),l=r.mainTrackId||(null===(e=a.find((t=>"video"===t.type)))||void 0===e?void 0:e.id)||a[0]&&a[0].id,c=a.find((t=>t.id===l)),u=(null==c?void 0:c.duration)||void 0;return{id:r.id||i||"ivd",metadata:r.metadata||{},mainTrackId:l,tracks:a,duration:u}})),Ak.register("image",(function(t={}){const e=null==t?void 0:t.url;if(!e||"string"!=typeof e)throw new Error("ImageParser requires url");const n=ob(null==t?void 0:t.duration)?t.duration:30,i=ob(null==t?void 0:t.width)?t.width:void 0,r=ob(null==t?void 0:t.height)?t.height:void 0,o={id:"image-1",url:e,mime:"string"==typeof(null==t?void 0:t.mimeType)?t.mimeType:void 0};ob(i)&&ob(r)&&(o.width=i,o.height=r);const s="image-1";return{id:e,metadata:{},mainTrackId:s,tracks:[{id:s,type:"image",offset:0,duration:n,segments:[{id:"image-1-seg-1",offset:0,duration:n,isInit:!1,representations:[o]}]}],duration:n}}));const Nk=["video/mp4"];function Ck(t){return Nk.includes(t.mime)}var Fk={name:"containers",fn:function(t=[]){return t.filter(Ck)},isRelevantForTrack:function(t){return"video"===(null==t?void 0:t.type)}},Ok={name:"force-video-codec",fn:function(t=[],{node:e}={}){const n=hk(null==e?void 0:e.forceVideoCodec);if(!n)return t;const i=t.filter((t=>(null==t?void 0:t.baseCodec)===n));return i.length?i:t},isRelevantForTrack:function(t){return"video"===(null==t?void 0:t.type)}};function Pk(t=""){return t.toLowerCase().includes("video")}const Rk=new(se=new WeakMap,ae=new WeakSet,class extends sh{get name(){return"MediaCapabilities"}get defaults(){return{enabled:!0,smoothWeight:10,powerWeight:10,ignoreSmooth:!1,ignorePower:!0,codecBonus:{av01:.2,hvc1:.15,hev1:.15,vp09:.1,avc1:0}}}constructor(...t){super(...t),O(this,ae),C(this,se,void 0),F(se,this,new Map)}onDispose(){N(se,this)&&N(se,this).clear()}async sortRepsCodecs(t=[]){if(!Array.isArray(t)||0===t.length)return[];const e=[],n=new Set;let i=0;t.forEach((t=>{const r=null==t?void 0:t.baseCodec;r&&!n.has(r)&&(n.add(r),e.push({codec:r,rep:t,index:i}),i+=1)}));const r=(await Promise.all(e.map((async t=>{const{score:e}=await M(ae,this,Uk).call(this,t.rep);return{...t,score:e}})))).sort(((t,e)=>{const n=e.score-t.score;return 0!==n?n:t.index-e.index}));return this.log.info("[sortRepsCodecs] Sorted entries:",r),r.map((t=>t.codec))}});function Dk(){return!!(ch&&ch.navigator&&ch.navigator.mediaCapabilities&&"function"==typeof ch.navigator.mediaCapabilities.decodingInfo)}function Bk(t){if(!t||"object"!=typeof t)return void this.log.debug("[#buildConfig] Invalid representation:",t);const e=t.mime||t.mimeType||"",n=function(t="",e=""){const n=t||"",i=e||"";return i?`${n}; codecs="${i}"`:n}(e,t.codecs||"");return Pk(e)?(this.log.debug("[#buildConfig] Building video config for:",t),{type:"file",video:{contentType:n,width:t.width||1920,height:t.height||1080,bitrate:t.videoBandwidth||t.bandwidth||0,framerate:t.framerate||t.frameRate||24}}):function(t=""){return t.toLowerCase().includes("audio")}(e)?(this.log.debug("[#buildConfig] Building audio config for:",t),{type:"file",audio:{contentType:n,channels:t.channels||2,bitrate:t.audioBandwidth||t.bandwidth||0,samplerate:t.audioSamplingRate||48e3}}):void this.log.debug("[#buildConfig] Unknown mime type:",e)}function Lk(t){const e=dk(null==t?void 0:t.codecs);if(!e)return;const n={codec:e,codedWidth:t.codedWidth||t.width||1920,codedHeight:t.codedHeight||t.height||1080};return t.description&&(n.description=t.description),n}function zk(t){return t?JSON.stringify(t):"invalid"}function Wk(){return!(!ch||!ch.VideoDecoder||"function"!=typeof ch.VideoDecoder.isConfigSupported)}async function jk(t){if(!this.settings.enabled||!M(ae,this,Dk).call(this)||!t)return this.log.debug("[#queryCapabilities] Not supported, returning false",t),{supported:!1,smooth:!1,powerEfficient:!1};const e=M(ae,this,zk).call(this,t),n=N(se,this).get(e);if(n)return n;let i;try{i=await ch.navigator.mediaCapabilities.decodingInfo(t)}catch(t){i={supported:!1,smooth:!1,powerEfficient:!1}}return this.log.debug("[#queryCapabilities] Config:",t,"\nDecoding info result:",i),N(se,this).set(e,i),i}async function $k(t){if(!Pk((null==t?void 0:t.mime)||(null==t?void 0:t.mimeType)||""))return{supported:!0};if(!M(ae,this,Wk).call(this))return{supported:!0};const e=M(ae,this,Lk).call(this,t);if(!e)return{supported:!1};const n=`video-decoder:${M(ae,this,zk).call(this,e)}`,i=N(se,this).get(n);if(i)return i;let r;try{r=await ch.VideoDecoder.isConfigSupported(e)}catch(t){r={supported:!1}}return this.log.debug("[#queryVideoDecoderSupport] Config:",e,"\nSupport result:",r),N(se,this).set(n,r),r}async function Uk(t){const e=M(ae,this,Bk).call(this,t),[n,i]=await Promise.all([M(ae,this,jk).call(this,e),M(ae,this,$k).call(this,t)]),r=!!n.supported&&!!i.supported,o={supported:r,smooth:r&&!!n.smooth,powerEfficient:r&&!!n.powerEfficient},s=function(t="",e={}){const n=(t||"").toLowerCase();return Object.keys(e).reduce(((t,i)=>n.includes(i.toLowerCase())?e[i]:t),0)}(t.codecs||"",this.settings.codecBonus);let a=0;return o.supported&&(a+=1),!this.settings.ignoreSmooth&&o.smooth&&(a+=this.settings.smoothWeight),!this.settings.ignorePower&&o.powerEfficient&&(a+=this.settings.powerWeight),a+=s,{score:a,capability:o}}const qk=[],Vk=()=>!0;[Fk,Ok,{name:"media-capabilities",fn:async function(t=[],{track:e}){if(null==e||!e.preferredCodec){const n=await Rk.sortRepsCodecs(t);if(!Array.isArray(n)||0===n.length)return t;e.preferredCodec=n[0]}return t.filter((t=>(null==t?void 0:t.baseCodec)===e.preferredCodec))},isRelevantForTrack:function(t){return"video"===(null==t?void 0:t.type)}}].forEach((({name:t,fn:e,isRelevantForTrack:n})=>{!function(t,e,{isRelevantForTrack:n}={}){if(!t||"function"!=typeof e)throw new Error("registerRepresentationFilter requires a name and function");const i="function"==typeof n?n:Vk;qk.push({name:t,fn:e,isRelevantForTrack:i})}(t,e,{isRelevantForTrack:n})}));const Gk=Zd("Node","warn"),Hk={start:0,end:0},Kk=.001;function Xk(t){if(!Array.isArray(t)||!t.length)return;const e=t.map((t=>{const e=Number(null==t?void 0:t.segStart),n=Number(null==t?void 0:t.segDuration);return!Number.isFinite(e)||!Number.isFinite(n)||n<=0?null:{start:e,duration:n}}));if(e.some((t=>!t)))return;const n=e[0];return e.every((t=>Math.abs(t.start-n.start)<=Kk&&Math.abs(t.duration-n.duration)<=Kk))?{offset:n.start,duration:n.duration}:void 0}var Yk=new WeakMap,Qk=new WeakMap,Jk=new WeakMap,Zk=new WeakMap,tw=new WeakMap,ew=new WeakMap,nw=new WeakMap,iw=new WeakMap,rw=new WeakMap,ow=new WeakMap,sw=new WeakSet;class aw extends th{constructor(t={},e={}){super(),O(this,sw),C(this,Yk,void 0),C(this,Qk,void 0),C(this,Jk,void 0),C(this,Zk,void 0),C(this,tw,void 0),C(this,ew,void 0),C(this,nw,void 0),C(this,iw,void 0),C(this,rw,void 0),C(this,ow,[]);const{id:n,manifestRef:i,duration:r,width:o,height:s,metadata:a={},children:l=[]}=t;if(!n)throw new Error("Node requires id");if(!i)throw new Error("Node requires manifestRef");this.id=n,this.manifestRef=i,this.metadata=a,this.state="pending",this.error=void 0,this.tracks=[],this.mainTrackId=void 0,this.imageFallbackActive=!1,this.disabledTracks=[],this.disabledTrackTypes=Array.isArray(e.disabledTracks)?e.disabledTracks.filter((t=>"string"==typeof t)):[],this.enabledRepFilters=Array.isArray(e.enabledRepFilters)?e.enabledRepFilters:void 0,this.forceVideoCodec="string"==typeof e.forceVideoCodec&&e.forceVideoCodec.trim()?e.forceVideoCodec.trim():void 0,F(nw,this,!0===e.forceImageFallback),F(Yk,this,e.abrSelector),F(Qk,this,e.assetsDeliveryService),F(Zk,this,ob(r)?r:void 0),F(tw,this,ob(o)?o:void 0),F(ew,this,ob(s)?s:void 0),F(iw,this,e&&"object"==typeof e.mediaHostRewriteMap?e.mediaHostRewriteMap:void 0),F(rw,this,ob(e.maxManifestLoadAttempts)?e.maxManifestLoadAttempts:1/0),this.manifestLoadAttempts=0,this.manifestLoadError=void 0,F(ow,this,Ik(l))}setChildren(t){const e=Ik(t);return M(sw,this,Tw).call(this,e,{emit:!0})}addChild(t){const e=_k(t),n=N(ow,this).slice(),i=n.findIndex((t=>(null==t?void 0:t.nodeId)===e.nodeId));if(i>=0){var r;if((null===(r=n[i])||void 0===r?void 0:r.weight)===e.weight)return this.children;n[i]=e}else n.push(e);return M(sw,this,Tw).call(this,n,{emit:!0})}removeChild(t){const e=xk(t);if(!e)return this.children;const n=N(ow,this).filter((t=>(null==t?void 0:t.nodeId)!==e));return n.length===N(ow,this).length?this.children:M(sw,this,Tw).call(this,n,{emit:!0})}async load(t={}){const{loadingMode:e="full",signal:n}=t;Gk.info(`[load] [${this.id}] Loading node in '${e}' mode`);try{if(n&&n.aborted)throw Ob();"ready"!==this.state&&await this.resolve({signal:n});const t="partial"===e,i=[];this.tracks.forEach((e=>{const n=e.segments||[];if(t){const t=n.find((t=>t.isInit)),r=n.find((t=>!t.isInit));t&&Array.isArray(t.representations)&&!t.isLoaded&&i.push({track:e,segment:t}),r&&Array.isArray(r.representations)&&!r.isLoaded&&i.push({track:e,segment:r})}else n.forEach((t=>{Array.isArray(t.representations)&&!t.isLoaded&&i.push({track:e,segment:t})}))}));const r=i.filter((({segment:t})=>t.isInit)),o=i.filter((({segment:t})=>!t.isInit)),s=o.length?o[0]:void 0,a=r.map((({track:t,segment:e})=>M(sw,this,ww).call(this,t,e,n))),l=s?M(sw,this,xw).call(this,s.segment,s.track,n):Promise.resolve();await Promise.all([...a,l]);const c=s?o.slice(1):o;for(const t of c)await M(sw,this,xw).call(this,t.segment,t.track,n);if(n&&n.aborted)throw Ob();return this.trigger("node:loaded",{nodeId:this.id,node:this,loadingMode:e}),this}catch(t){if(Pb(t,n))throw t;throw this.trigger("node:loaderror",{nodeId:this.id,node:this,error:t,loadingMode:e}),t}}async loadMediaSegmentsAtOffset(t,e={}){const n=Number(t);if(Gk.info(`[loadMediaSegmentsAtOffset] [${this.id}] Loading media segments at offset ${n}`),!Number.isFinite(n))return;const{signal:i}=e;if(i&&i.aborted)throw Ob();if("ready"!==this.state&&await this.resolve({signal:i}),"ready"!==this.state)return;const r=[],o=[];if(this.tracks.forEach((t=>{const e=(null==t?void 0:t.segments)||[];if(!Array.isArray(e)||!e.length)return;const s=e.find((t=>(null==t?void 0:t.isInit)&&Array.isArray(null==t?void 0:t.representations)));s&&!s.isLoaded&&r.push(M(sw,this,ww).call(this,t,s,i)),e.forEach((e=>{if(!e||e.isInit||!Array.isArray(e.representations))return;const i=Number(e.offset);Number.isFinite(i)&&Math.abs(i-n)<=Kk&&!e.isLoaded&&o.push({segment:e,track:t})}))})),r.length||o.length){if(await Promise.all(r),o.length&&await Promise.all(o.map((({segment:t,track:e})=>M(sw,this,xw).call(this,t,e,i)))),i&&i.aborted)throw Ob();this.trigger("node:loaded",{nodeId:this.id,node:this,loadingMode:"segment-offset",offsetSeconds:n})}}async resolve(t={}){const{signal:e,manifestOverride:n}=t;let i=!0;for(;i;){if(i=!1,"ready"===this.state)return this;if("resolving"===this.state)try{return await N(Jk,this)}catch(t){if(!Pb(t)||e&&e.aborted)throw t;i=!0;continue}if(e&&e.aborted)throw Ob();if(this.hasExceededManifestLoadAttempts()){const t=this.manifestLoadError||new Error("Manifest load retry limit reached");throw this.state="failed",this.error=t,t}const t=M(sw,this,pw).call(this);return this.state="resolving",this.error=void 0,F(Jk,this,(async()=>{try{const t=await M(sw,this,_w).call(this,{signal:e,manifestOverride:n});if(e&&e.aborted)throw Ob();let i=Ak.parse(t);return i=M(sw,this,fw).call(this,i),this.tracks=(i.tracks||[]).map((t=>t instanceof wk?t:new wk(t))),this.mainTrackId=i.mainTrackId||this.mainTrackId,this.metadata=i.metadata||this.metadata,M(sw,this,Sw).call(this),M(sw,this,Ew).call(this),await M(sw,this,Iw).call(this),this.state="ready",this}catch(n){if(Pb(n,e))throw M(sw,this,mw).call(this,t),n;throw this.state="failed",this.error=n,n}})()),N(Jk,this)}return N(Jk,this)}evict(){this.tracks.forEach((t=>{(t.segments||[]).forEach((t=>{t.evict()}))}))}get children(){return N(ow,this).slice()}set children(t){this.setChildren(t)}get duration(){if(!this.mainTrackId)return 0;const t=this.tracks.find((t=>t.id===this.mainTrackId));return t?ob(t.duration)?t.duration:t.endTime:0}get retainedByteLength(){let t=0;return this.tracks.forEach((e=>{(Array.isArray(e.segments)?e.segments:[]).forEach((e=>{t+=ob(e.retainedByteLength)?e.retainedByteLength:0}))})),t}get buffered(){if("ready"!==this.state)return Hk;const t=Array.isArray(this.tracks)?this.tracks.find((t=>(null==t?void 0:t.id)===this.mainTrackId)):void 0,e=this.duration;if(!t||!ob(e))return Hk;const n=Array.isArray(this.tracks)?this.tracks.map((t=>{if(!t||void 0===t.buffered)return;const e=t.buffered;return e&&Number.isFinite(e.start)&&Number.isFinite(e.end)?{track:t,range:e}:void 0})).filter(Boolean):[];if(!n.length)return Hk;if(n.length===this.tracks.length&&n.every((({track:t,range:e})=>{const n=t.endTime,i=ob(t.offset)?t.offset:0;return Number.isFinite(n)&&e.start<=i&&e.end>=n})))return{start:0,end:e};const i=n.reduce(((t,{range:e})=>Math.min(t,e.end)),1/0);if(!Number.isFinite(i))return Hk;const r=Math.min(i,e);return r>0?{start:0,end:r}:Hk}get isLoaded(){return"ready"===this.state&&(Array.isArray(this.tracks)?this.tracks:[]).flatMap((t=>Array.isArray(null==t?void 0:t.segments)?t.segments:[])).every((t=>t.isLoaded))}hasExceededManifestLoadAttempts(){if(!Number.isFinite(N(rw,this))||N(rw,this)<=0)return!1;if(!this.manifestLoadError)return!1;const t=Number(this.manifestLoadAttempts);return Number.isFinite(t)&&t>=N(rw,this)}}function lw(t){return function(t,e){if(!t||"string"!=typeof t)return t;if(!e||"object"!=typeof e)return t;const n=ch&&"function"==typeof ch.URL?ch.URL:"function"==typeof URL?URL:null;if(!n)return t;let i;try{i=new n(t)}catch(e){return t}const r=function(t,e){const n=null==t?void 0:t.hostname,i=null==t?void 0:t.pathname;if("string"!=typeof n||"string"!=typeof i)return t;if(!/^s3(?:[.-][a-z0-9-]+)?\.amazonaws\.com$/i.test(n))return t;const r=i.split("/").filter(Boolean);if(r.length<2)return t;const o=r[0],s=new e(t.toString());return s.hostname=`${o}.${n}`,s.pathname=`/${r.slice(1).join("/")}`,s}(i,n),o=e[r.hostname]?r:i,s=e[o.hostname];if(!s||"string"!=typeof s)return t;let a;try{a=new n(s)}catch(e){return t}return a.protocol&&a.host?(o.protocol=a.protocol,o.host=a.host,o.toString()):t}(t,N(iw,this))}function cw(){return N(nw,this)||void 0===ch.VideoDecoder}function uw(){return this.manifestRef&&"object"==typeof this.manifestRef&&"assets-delivery-service"===this.manifestRef.type}function dw(t){if(!M(sw,this,uw).call(this))return!1;if(!M(sw,this,cw).call(this))return!1;const e=Array.isArray(null==t?void 0:t.tracks)?t.tracks:[],n=e.find((e=>(null==e?void 0:e.id)===(null==t?void 0:t.mainTrackId)))||e[0];return"image"!==(null==n?void 0:n.type)}function hw(t){const e=Array.isArray(null==t?void 0:t.tracks)?t.tracks:[],n=function(t){const e=Number(null==t?void 0:t.duration);if(Number.isFinite(e)&&e>0)return e;const n=Array.isArray(null==t?void 0:t.segments)?t.segments:[];let i=0;return n.forEach((t=>{if(null!=t&&t.isInit)return;const e=Number(null==t?void 0:t.offset),n=Number(null==t?void 0:t.duration);!Number.isFinite(e)||!Number.isFinite(n)||n<=0||(i=Math.max(i,e+n))})),i>0?i:void 0}(e.find((e=>(null==e?void 0:e.id)===(null==t?void 0:t.mainTrackId)))||e[0]);return ob(n)?n:ob(N(Zk,this))?N(Zk,this):void 0}function fw(t){if(this.imageFallbackActive=!1,!M(sw,this,dw).call(this,t))return t;if(!N(Qk,this)||"function"!=typeof N(Qk,this).resolveImageOne)return t;const e=N(Qk,this).resolveImageOne(this.manifestRef),n=M(sw,this,lw).call(this,null==e?void 0:e.url);if(!n)return t;const i={typeHint:"image",url:n,duration:M(sw,this,hw).call(this,t),width:N(tw,this),height:N(ew,this)},r=Ak.parse(i);return t&&"object"==typeof t.metadata&&!Array.isArray(t.metadata)&&(r.metadata=t.metadata),this.imageFallbackActive=!0,r}function pw(){return{state:this.state,error:this.error,tracks:this.tracks,mainTrackId:this.mainTrackId,metadata:this.metadata,imageFallbackActive:this.imageFallbackActive,disabledTracks:this.disabledTracks,manifestRef:this.manifestRef,manifestLoadAttempts:this.manifestLoadAttempts,manifestLoadError:this.manifestLoadError}}function mw(t){t&&(this.state=t.state,this.error=t.error,this.tracks=t.tracks,this.mainTrackId=t.mainTrackId,this.metadata=t.metadata,this.imageFallbackActive=t.imageFallbackActive,this.disabledTracks=t.disabledTracks,this.manifestRef=t.manifestRef,this.manifestLoadAttempts=t.manifestLoadAttempts,this.manifestLoadError=t.manifestLoadError)}function vw(){const t=Number(this.manifestLoadAttempts);this.manifestLoadAttempts=Number.isFinite(t)&&t>0?t+1:1,this.manifestLoadError=void 0}function gw(t){this.manifestLoadError=t||new Error("Manifest load failed")}function yw(t){if(!t)return null;const e={loadAttempts:Number(t.loadAttempts),loadError:t.loadError};if("function"==typeof t.markLoadAttempt)return t.markLoadAttempt(),e;const n=Number(t.loadAttempts);return t.loadAttempts=Number.isFinite(n)&&n>0?n+1:1,t.loadError=void 0,e}function bw(t,e){if(!t||!e)return;const n=Number(e.loadAttempts);t.loadAttempts=Number.isFinite(n)&&n>=0?n:0,t.loadError=e.loadError}function kw(t,e){t&&("function"!=typeof t.setLoadError?t.loadError=e||new Error("Segment load failed"):t.setLoadError(e))}async function ww(t,e,n){const i=M(sw,this,yw).call(this,e);try{const i=e.representations.map((async i=>{const r=M(sw,this,lw).call(this,i.url),o=await qb(r,{returnType:"arrayBuffer",signal:n,onProgress:({loaded:n,total:i,chunk:r})=>{e&&"function"==typeof e.setDownloadProgress&&e.setDownloadProgress(n,i),this.trigger("segment:chunk",{nodeId:this.id,trackId:null==t?void 0:t.id,trackType:null==t?void 0:t.type,segmentId:e.id,isInit:!0,loaded:n,total:i,chunk:r})}}),s=o instanceof ArrayBuffer?o:null==o?void 0:o.arrayBuffer;s&&e.setRepresentationBuffer(i.id,s)}));await Promise.all(i)}catch(t){if(Pb(t,n))throw M(sw,this,bw).call(this,e,i),t;throw M(sw,this,kw).call(this,e,t),t}}async function xw(t,e,n){const i=N(Yk,this),r={representations:t.representations,nodeId:this.id,trackId:null==e?void 0:e.id,segmentId:t.id},o=i&&"function"==typeof i.select?i.select(r):void 0,s=t.representations.find((t=>t.id===o))||t.representations[0];if(!s)return;t&&"function"==typeof t.setABRDecisionSnapshot&&t.setABRDecisionSnapshot(r.abrDecision),t.setChosenRepresentation(s);const a=M(sw,this,yw).call(this,t);try{const i=M(sw,this,lw).call(this,s.url),r=await qb(i,{returnType:"arrayBuffer",signal:n,onProgress:({loaded:n,total:i,chunk:r})=>{t&&"function"==typeof t.setDownloadProgress&&t.setDownloadProgress(n,i),this.trigger("segment:chunk",{nodeId:this.id,trackId:null==e?void 0:e.id,trackType:null==e?void 0:e.type,segmentId:t.id,isInit:!1,loaded:n,total:i,chunk:r})}}),o=r instanceof ArrayBuffer?r:null==r?void 0:r.arrayBuffer;o&&(t.setRepresentationBuffer(s.id,o),t.setChosenRepresentation(s))}catch(e){if(Pb(e,n))throw M(sw,this,bw).call(this,t,a),e;throw M(sw,this,kw).call(this,t,e),e}}async function _w(t={}){const{signal:e,manifestOverride:n}=t;if(e&&e.aborted)throw Ob();M(sw,this,vw).call(this);try{let t=this.manifestRef;if(n&&"object"==typeof n){if(M(sw,this,uw).call(this)&&"string"==typeof n.encodeProfile&&n.encodeProfile&&(this.manifestRef={...this.manifestRef,encodeProfile:n.encodeProfile},t=this.manifestRef),n.ivd)return{typeHint:"ivd",body:n.ivd};if(n.body){const t=M(sw,this,lw).call(this,n.url);return{typeHint:n.typeHint,url:t,mimeType:n.mimeType,body:n.body,duration:N(Zk,this),width:N(tw,this),height:N(ew,this)}}"string"==typeof n.url&&n.url&&(t=n)}if(t&&"object"==typeof t&&"assets-delivery-service"===t.type){if(!N(Qk,this)||"function"!=typeof N(Qk,this).resolveOne)throw new Error("AssetsDeliveryService is required for assets-delivery-service manifestRef");const n=await N(Qk,this).resolveOne(t,{signal:e});if(!n)throw new Error("AssetsDeliveryService returned empty result");if("string"==typeof n.encodeProfile&&n.encodeProfile&&(this.manifestRef={...t,encodeProfile:n.encodeProfile}),n.ivd)return{typeHint:"ivd",body:n.ivd};const i=n.typeHint,r=M(sw,this,lw).call(this,n.url),o=n.mimeType,s=n.body;if(r||s||o)return{typeHint:i,url:r,mimeType:o,body:s,duration:N(Zk,this),width:N(tw,this),height:N(ew,this)};throw new Error("AssetsDeliveryService returned unsupported manifest shape")}if(t&&"object"==typeof t){const e=M(sw,this,lw).call(this,t.url),n=t.mimeType;if(t.body)return{url:e,mimeType:n,body:"string"==typeof t.body?t.body:JSON.stringify(t.body)}}if("string"==typeof t||t&&"string"==typeof t.url){const n="string"==typeof t?t:t.url,i=M(sw,this,lw).call(this,n),r="object"==typeof t?t.typeHint:void 0,o="object"==typeof t?t.mimeType:void 0;if("image"===Ak.inferType({typeHint:r,url:i,mimeType:o})){const e="object"==typeof t&&ob(t.duration)?t.duration:N(Zk,this);return{typeHint:"image",url:i,mimeType:o,duration:e,width:"object"==typeof t&&ob(t.width)?t.width:N(tw,this),height:"object"==typeof t&&ob(t.height)?t.height:N(ew,this)}}const s=await qb(i,{returnType:"default",signal:e});return{url:i,body:s&&s.response&&"function"==typeof s.response.text?await s.response.text():void 0,mimeType:(s&&s.response&&s.response.headers&&"function"==typeof s.response.headers.get&&s.response.headers.get("content-type")?s.response.headers.get("content-type"):void 0)||o}}throw new Error("Node manifestRef is invalid or missing")}catch(t){if(Pb(t,e))throw t;throw M(sw,this,gw).call(this,t),t}}async function Iw(){const t=qk.slice().filter((t=>!this.enabledRepFilters||this.enabledRepFilters.includes(t.name)));if(t.length)for(let e=0;e<this.tracks.length;e+=1){const n=this.tracks[e],i=Array.isArray(n.segments)?n.segments:[],r=[];for(let e=0;e<i.length;e+=1){const o=i[e];if(!Array.isArray(o.representations)){r.push(o);continue}o.appliedFilters=o.appliedFilters||[];let s=o.representations;for(let e=0;e<t.length;e+=1){const{name:i,fn:r,isRelevantForTrack:a}=t[e];if(!a(n))continue;const l=await r(s,{segment:o,track:n,node:this});Array.isArray(l)&&(s=l),o.appliedFilters.push(i)}if(o.representations=s,o.representations.length){if(!o.isInit){const t=Xk(o.representations);t&&(o.offset=t.offset,o.duration=t.duration)}r.push(o)}}r.length!==i.length&&n&&"function"==typeof n.setSegments&&n.setSegments(r)}}function Tw(t,{emit:e=!1}={}){return function(t=[],e=[]){if(!Array.isArray(t)||!Array.isArray(e)||t.length!==e.length)return!1;for(let n=0;n<t.length;n+=1){const i=t[n],r=e[n];if((null==i?void 0:i.nodeId)!==(null==r?void 0:r.nodeId)||(null==i?void 0:i.weight)!==(null==r?void 0:r.weight))return!1}return!0}(N(ow,this),t)||(F(ow,this,t),e&&(n=this)&&"function"==typeof n.trigger&&n.trigger("node:childrenchanged",{nodeId:n.id,node:n,children:Array.isArray(n.children)?n.children:[]})),this.children;var n}function Ew(){var t;const e=Array.isArray(this.disabledTrackTypes)?this.disabledTrackTypes:[];if(!e.length||!Array.isArray(this.tracks)||!this.tracks.length)return void(this.disabledTracks=[]);const n=new Set(e),i=[],r=[];this.tracks.forEach((t=>{t&&n.has(t.type)?r.push(t):t&&i.push(t)})),this.tracks=i,this.disabledTracks=r,this.mainTrackId&&!i.some((t=>t.id===this.mainTrackId))&&(this.mainTrackId=null===(t=i[0])||void 0===t?void 0:t.id)}function Sw(){if(!Array.isArray(this.tracks)||!this.tracks.length)return;const t=this.duration;if(!ob(t))return;const e=[new gk({name:"nodestart",timestamp:0,data:{id:this.id},isSticky:!0}),new gk({name:"nodeend",timestamp:t,data:{id:this.id}})],n=new wk({id:`${this.id}-auto-cue`,type:"cue",cues:e,offset:0,duration:t});this.tracks.push(n)}var Mw=new WeakMap,Aw=new WeakMap,Nw=new WeakMap,Cw=new WeakMap,Fw=new WeakSet;class Ow extends sh{constructor(...t){super(...t),O(this,Fw),C(this,Mw,new Map),C(this,Aw,new Map),C(this,Nw,void 0),C(this,Cw,void 0);const[e,n]=t;F(Nw,this,e),F(Cw,this,n)}get name(){return"NodeRepository"}get defaults(){return{enabledRepFilters:["containers","force-video-codec","media-capabilities"],disabledTracks:Kb("disabledTracks"),forceVideoCodec:Kb("forceVideoCodec"),forceImageFallback:Kb("forceImageFallback"),mediaHostRewriteMap:Kb("mediaHostRewriteMap"),maxManifestLoadAttempts:3}}get methodsExcludedFromAutoLog(){return new Set([...super.methodsExcludedFromAutoLog,"get","list"])}onDispose(){N(Mw,this).forEach(((t,e)=>{const n=N(Aw,this).get(e);n&&t&&"function"==typeof t.off&&t.off(dh.NODE_CHILDREN_CHANGED,n)})),N(Aw,this).clear(),N(Mw,this).clear()}add(t){const e=t instanceof aw?t:new aw(t,{enabledRepFilters:this.settings.enabledRepFilters,disabledTracks:this.settings.disabledTracks,forceVideoCodec:this.settings.forceVideoCodec,forceImageFallback:this.settings.forceImageFallback,mediaHostRewriteMap:this.settings.mediaHostRewriteMap,maxManifestLoadAttempts:this.settings.maxManifestLoadAttempts,abrSelector:N(Nw,this),assetsDeliveryService:N(Cw,this)});if(!e.id)throw new Error("NodeRepository.add requires node with id");if(N(Mw,this).has(e.id))throw new Error(`NodeRepository.add: node with id ${e.id} already exists`);return N(Mw,this).set(e.id,e),M(Fw,this,Pw).call(this,e),this.trigger(dh.NODE_ADD,{node:e}),e}get(t){const e=(null==t?void 0:t.id)||t;if(!e)throw new Error("NodeRepository.get requires node or id");return N(Mw,this).get(e)}list(){return Array.from(N(Mw,this).values())}}function Pw(t){if(!t||"function"!=typeof t.on||!t.id)return;const e=t=>{this.trigger(dh.NODE_CHILDREN_CHANGED,t)};t.on(dh.NODE_CHILDREN_CHANGED,e),N(Aw,this).set(t.id,e)}var Rw=new WeakMap,Dw=new WeakMap,Bw=new WeakSet;class Lw extends sh{constructor(...t){super(...t),O(this,Bw),C(this,Rw,void 0),C(this,Dw,new Map);const[e]=t;F(Rw,this,e)}get name(){return"ABRSelector"}get defaults(){return{safetyMargin:.35,minBufferForUpgrade:5,minBufferCritical:1,hysteresisRatio:1.1,abrStrategy:Kb("abrStrategy")}}select(t={}){var e;const{representations:n=[],bufferSeconds:i}=t;if(!Array.isArray(n)||0===n.length)return;const r=N(Rw,this)&&"function"==typeof N(Rw,this).getKbps?N(Rw,this).getKbps():void 0,o=M(Bw,this,zw).call(this,n[0]),s=N(Dw,this).get(o),a=this.settings.abrStrategy||"auto";this.log.debug(`[select] strategy=${a}, bw=${r}, buffer=${i}, prev=${s}`);const l=n.slice().sort(((t,e)=>M(Bw,this,Ww).call(this,t.bandwidth)-M(Bw,this,Ww).call(this,e.bandwidth)));if("bottom"===a){const e=l[0];return M(Bw,this,Uw).call(this,e,t,{decisionReason:"strategy:bottom",trackType:o,previousRepresentationId:s,measuredDownloadSpeedKbps:r,safeBandwidthKbps:void 0,bufferSeconds:i}),null==e?void 0:e.id}if("top"===a){const e=l[l.length-1];return M(Bw,this,Uw).call(this,e,t,{decisionReason:"strategy:top",trackType:o,previousRepresentationId:s,measuredDownloadSpeedKbps:r,safeBandwidthKbps:void 0,bufferSeconds:i}),null==e?void 0:e.id}if("random"===a){const e=l[Math.floor(Math.random()*l.length)];return M(Bw,this,Uw).call(this,e,t,{decisionReason:"strategy:random",trackType:o,previousRepresentationId:s,measuredDownloadSpeedKbps:r,safeBandwidthKbps:void 0,bufferSeconds:i}),null==e?void 0:e.id}const c=Number.isFinite(i)?i:void 0,u=ob(r)?r*this.settings.safetyMargin:void 0;let d="auto:highest-available";if(s&&void 0!==c&&c<this.settings.minBufferCritical){const e=l[0];return this.log.debug("[select] critical buffer -> lowest",t),M(Bw,this,Uw).call(this,e,t,{decisionReason:"auto:critical-buffer",trackType:o,previousRepresentationId:s,measuredDownloadSpeedKbps:r,safeBandwidthKbps:u,bufferSeconds:c}),null==e?void 0:e.id}let h=l[l.length-1];if(void 0!==u){const e=l.filter((t=>M(Bw,this,Ww).call(this,t.bandwidth)<=u));e.length>0?(h=e[e.length-1],d="auto:highest-under-safe-bandwidth",this.log.debug("[select] under safe bandwidth ->",h.id,t)):(this.log.debug("[select] no rep under safe bandwidth, fallback lowest",t),h=l[0],d="auto:no-rep-under-safe-bandwidth")}if(s&&void 0!==c&&c<this.settings.minBufferForUpgrade){const e=n.find((t=>t.id===s));e&&ob(e.bandwidth)&&ob(h.bandwidth)&&h.bandwidth/e.bandwidth>this.settings.hysteresisRatio&&(h=n.filter((t=>t.bandwidth&&t.bandwidth<=e.bandwidth*this.settings.hysteresisRatio)).sort(((t,e)=>t.bandwidth-e.bandwidth)).pop()||e,d="auto:hysteresis-hold",this.log.debug("[select] hysteresis prevents upgrade; hold",h.id,t))}return M(Bw,this,Uw).call(this,h,t,{decisionReason:d,trackType:o,previousRepresentationId:s,measuredDownloadSpeedKbps:r,safeBandwidthKbps:u,bufferSeconds:c}),null===(e=h)||void 0===e?void 0:e.id}onDispose(){N(Dw,this).clear(),F(Rw,this,null)}}function zw(t){var e,n;return(null===(e=t.mime)||void 0===e||null===(n=e.split)||void 0===n||null===(n=n.call(e,"/"))||void 0===n?void 0:n[0])||"unknown"}function Ww(t){return ob(t)?t/1e3:0}function jw(t){return ob(t)?t/1e3:void 0}function $w(t,e,n={}){const i=Array.isArray(null==e?void 0:e.representations)?e.representations.map((t=>({id:null==t?void 0:t.id,bandwidthKbps:M(Bw,this,jw).call(this,null==t?void 0:t.bandwidth)}))):[];return{timeMs:Date.now(),strategy:this.settings.abrStrategy||"auto",decisionReason:n.decisionReason,nodeId:null==e?void 0:e.nodeId,trackId:null==e?void 0:e.trackId,segmentId:null==e?void 0:e.segmentId,trackType:n.trackType,measuredDownloadSpeedKbps:Number.isFinite(n.measuredDownloadSpeedKbps)?n.measuredDownloadSpeedKbps:void 0,safeBandwidthKbps:Number.isFinite(n.safeBandwidthKbps)?n.safeBandwidthKbps:void 0,bufferSeconds:Number.isFinite(n.bufferSeconds)?n.bufferSeconds:void 0,previousRepresentationId:n.previousRepresentationId,selectedRepresentationId:null==t?void 0:t.id,selectedRepresentationBandwidthKbps:M(Bw,this,jw).call(this,null==t?void 0:t.bandwidth),safetyMargin:Number(this.settings.safetyMargin),minBufferForUpgrade:Number(this.settings.minBufferForUpgrade),minBufferCritical:Number(this.settings.minBufferCritical),hysteresisRatio:Number(this.settings.hysteresisRatio),availableRepresentations:i}}function Uw(t,e,n={}){if(!t)return;const i=M(Bw,this,$w).call(this,t,e,n);e&&"object"==typeof e&&(e.abrDecision=i),this.log.info("[select] Chosen representation:",t,"context:",e,"decision:",i),this.trigger("abr:selection",{representation:t,context:e,strategy:this.settings.abrStrategy,decision:i});const r=M(Bw,this,zw).call(this,t);N(Dw,this).set(r,t.id)}var qw=new WeakMap,Vw=new WeakSet;class Gw extends sh{constructor(...t){super(...t),O(this,Vw),C(this,qw,void 0);const[e]=t;if(F(qw,this,e),!N(qw,this)||"function"!=typeof N(qw,this).list)throw new Error("NodePrioritizer requires a NodeRepository instance")}get name(){return"NodePrioritizer"}get defaults(){return{levelMultiplier:1,priorityMultiplier:.3}}get methodsExcludedFromAutoLog(){return new Set([...super.methodsExcludedFromAutoLog,"sortNodes"])}onDispose(){F(qw,this,null)}getPrioritizationSnapshot(t){const e=N(qw,this).list();if(!e.length)return{orderedIds:[],reachableIds:[]};const{levels:n,weights:i}=M(Vw,this,Hw).call(this,e,t);return{orderedIds:M(Vw,this,Kw).call(this,e,n,i),reachableIds:Array.from(n.keys())}}sortNodes(t){const{orderedIds:e}=this.getPrioritizationSnapshot(t);return e.length?(this.log.info(`[sortNodes(${t})] Sorted nodes: [${e.join(", ")}]`),e):[]}getReachableNodeIds(t){const{reachableIds:e}=this.getPrioritizationSnapshot(t);return e}}function Hw(t,e){const n=new Map;t.forEach((t=>{t&&t.id&&n.set(t.id,t)}));const i=new Map,r=new Map;if(!e||!n.has(e))return{levels:i,weights:r};const o=[{id:e,level:0,priority:1}];for(i.set(e,0),r.set(e,1);o.length;){const{id:t,level:e,priority:s}=o.shift(),a=n.get(t),l=Array.isArray(null==a?void 0:a.children)?a.children:[];for(let t=0;t<l.length;t+=1){const a=l[t],c=(null==a?void 0:a.nodeId)||(null==a?void 0:a.id);if(!c||!n.has(c)||i.has(c))continue;const u=ob(null==a?void 0:a.weight)?a.weight:1,d=Math.max(u,s);i.set(c,e+1),r.set(c,d),o.push({id:c,level:e+1,priority:d})}}return{levels:i,weights:r}}function Kw(t,e,n){const i=e.size>0,{levelMultiplier:r,priorityMultiplier:o}=this.settings,s=t.map((t=>{var s;const a=e.has(t.id)?e.get(t.id):i?Number.MAX_SAFE_INTEGER:0,l=Number.isFinite(a)?a:Number.MAX_SAFE_INTEGER,c=null!==(s=n.get(t.id))&&void 0!==s?s:1,u=(Number.isFinite(l)?r*l:Number.MAX_SAFE_INTEGER)+o*c;return{id:t.id,score:u,level:l,priorityWeight:c}}));return s.sort(((t,e)=>t.score!==e.score?t.score-e.score:t.level!==e.level?t.level-e.level:t.priorityWeight!==e.priorityWeight?t.priorityWeight-e.priorityWeight:t.id.localeCompare(e.id))),s.map((t=>t.id))}function Xw(t,e){return function(t,e){const n=Array.isArray(t)?t:[];return n.length?e&&n.includes(e)?e:n[0]:e||void 0}(null==t?void 0:t.availableEncodeProfiles,e)}function Yw(t,e){const n=t&&"object"==typeof t?{...t}:t;return n&&"object"==typeof n?("string"==typeof e&&e?n.encodeProfile=e:delete n.encodeProfile,n):n}function Qw(t){return"string"==typeof t&&t.startsWith("cmaf:")}function Jw(t){return"image"===(null==t?void 0:t.assetType)?"image":"ivd"}function Zw(t){if(!t||"object"!=typeof t)return t;if(Object.prototype.hasOwnProperty.call(t,"mpd")){const e="string"==typeof t.mpdUrl&&t.mpdUrl||"string"==typeof t.url&&t.url||void 0;return{typeHint:"dash",body:t.mpd,url:e}}return t.ivd||t.url||t.body||t.mimeType||t.typeHint?t:(e=t)&&"object"==typeof e&&Array.isArray(e.representations)?{ivd:t}:t;var e}var tx=new WeakMap,ex=new WeakMap,nx=new WeakSet;class ix extends sh{constructor(...t){super(...t),O(this,nx),C(this,tx,void 0),C(this,ex,void 0);const[,e={}]=t;F(tx,this,"function"==typeof e.fetchFn?e.fetchFn:void 0),F(ex,this,Fb())}get name(){return"AssetsDeliveryService"}get defaults(){return{assetsDeliveryServiceUrl:"https://assets.eko.com",profile:Kb("encodeProfile"),maxBatchSize:5,imageQueryParams:{startOffset:0,width:1024}}}async resolveOne(t,e={}){var n;const i=await this.resolve([t],e);if(!i.length)return;const r=i[0],o=null==r?void 0:r.manifest,s=null==r||null===(n=r.manifestRef)||void 0===n?void 0:n.encodeProfile;return o&&"object"==typeof o&&"string"==typeof s&&s?{...o,encodeProfile:s}:o}resolveImageOne(t){if(!M(nx,this,ox).call(this,t))return;const e=Xw(t,this.settings.profile),n=function(t,e,n){const i=function(t,e,n){const i=(t||"").replace(/\/$/,""),r=null==n?void 0:n.assetId,o=null==n?void 0:n.assetRevision;if(i&&e&&"string"==typeof r&&"number"==typeof o)return`${i}/${e}/${encodeURIComponent(r)}/${o}`}(t,"image",e);if(!i)return;const r=function(t){if(!t||"object"!=typeof t||Array.isArray(t))return"";const e=new URLSearchParams;return Object.keys(t).forEach((n=>{if("string"!=typeof n||!n)return;const i=t[n];null!=i&&("number"!=typeof i||Number.isFinite(i))&&("string"!=typeof i&&"number"!=typeof i&&"boolean"!=typeof i||e.set(n,String(i)))})),e.toString()}(n);return r?`${i}?${r}`:i}(this.settings.assetsDeliveryServiceUrl||"",t,this.settings.imageQueryParams);if(!n)return;const i={typeHint:"image",url:n};return"string"==typeof e&&e&&(i.encodeProfile=e),i}async resolve(t=[],e={}){const n=(Array.isArray(t)?t:[t]).filter((t=>M(nx,this,ox).call(this,t)));if(!n.length)return[];const i=M(nx,this,rx).call(this,e);if(i&&i.aborted)return[];const r=[],o=this.settings.profile;n.forEach((t=>{if("image"!==Jw(t))return;const e=this.resolveImageOne(t);e&&e.url&&r.push({manifestRef:Yw(t,e.encodeProfile),manifest:{typeHint:"image",url:e.url}})}));const s=n.filter((t=>"image"!==Jw(t))).map((t=>function(t,e){const n=Xw(t,e);return{ref:t,profile:n,route:Qw(n)?"dash":"ivd"}}(t,o))),a=M(nx,this,ax).call(this,s);for(const{refs:t,route:e}of a){if(i&&i.aborted)return r;const{url:n}=M(nx,this,lx).call(this,t,e),o=await M(nx,this,cx).call(this,n,{method:"GET",signal:i});o&&"object"==typeof o&&t.forEach((({ref:t,profile:e})=>{const n=`${t.assetId}:${t.assetRevision}`,i=o[n]||o[t.assetId]||o[t.assetId||n];i&&r.push({manifestRef:Yw(t,e),manifest:Zw(i)})}))}return r}onDispose(){N(ex,this)&&N(ex,this).abort(),F(ex,this,null),F(tx,this,null)}}function rx(t){return t&&t.signal?t.signal:N(ex,this)?N(ex,this).signal:void 0}function ox(t){const e="number"==typeof(null==t?void 0:t.assetRevision)&&Number.isFinite(t.assetRevision)&&t.assetRevision>=0;return t&&"assets-delivery-service"===t.type&&"string"==typeof t.assetId&&e}function sx(t,e){const n=Number.isFinite(e)&&e>0?e:t.length,i=[];for(let e=0;e<t.length;e+=n)i.push(t.slice(e,e+n));return i}function ax(t){if(!Array.isArray(t)||!t.length)return[];const e=[];t.forEach((t=>{const n=e[e.length-1];n&&n.route===t.route?n.refs.push(t):e.push({route:t.route,refs:[t]})}));const n=[];return e.forEach((t=>{M(nx,this,sx).call(this,t.refs,this.settings.maxBatchSize).forEach((e=>{n.push({route:t.route,refs:e})}))})),n}function lx(t,e="ivd"){const n=t.map((({ref:t,profile:e})=>function(t,e){const n=`${t.assetId}:${t.assetRevision}`;return e?`${n}:${e}`:n}(t,e))),i=new URLSearchParams({assets:n.join(","),type:"data"});return{url:`${(this.settings.assetsDeliveryServiceUrl||"").replace(/\/$/,"")}/${"dash"===e?"dash":"ivd"}?${i.toString()}`}}async function cx(t,e){return N(tx,this)?N(tx,this).call(this,t,e):await qb(t,{returnType:"json",method:(null==e?void 0:e.method)||"GET",signal:null==e?void 0:e.signal})}function ux({prioritizer:t,repository:e,startNodeId:n,prioritizedIds:i,pendingIds:r,allowedIds:o,filter:s,fallbackToRepository:a=!0}={}){const l=Array.isArray(i)?i:t&&"function"==typeof t.sortNodes?t.sortNodes(n):[],c=a?(f=e)&&"function"==typeof f.list?f.list().map((t=>null==t?void 0:t.id)).filter(Boolean):[]:[],u=l.length?l:c,d=r?new Set(r):null,h=o?new Set(o):null;var f;return u.filter((t=>{if(!t)return!1;if(d&&d.has(t))return!1;if(h&&!h.has(t))return!1;const n=function(t,e){if(t&&"function"==typeof t.get)return t.get(e)}(e,t);return!(!n||"function"==typeof s&&!s(n,t))}))}const dx=(ch.requestAnimationFrame||ch.mozRequestAnimationFrame||ch.webkitRequestAnimationFrame||ch.msRequestAnimationFrame||(t=>ch.setTimeout(t,1e3/60))).bind(ch),hx=(ch.cancelAnimationFrame||ch.mozCancelAnimationFrame||ch.webkitCancelAnimationFrame||ch.msCancelAnimationFrame||(t=>ch.clearTimeout(t))).bind(ch),fx=Zd("ticker","warn");let px,mx=[],vx=null,gx=Cb();function yx(){gx=Cb();const t=[];let e,n;for(n=mx.length-1;n>=0;--n)e=mx[n],gx>=e.lastTick+e.interval&&t.push(e);for(n=t.length-1;n>=0;--n)if(e=t[n],!e.stopped){e.lastTick=gx;try{e.callback()}catch(t){console&&"function"==typeof console.error?console.error(t):fx.error(t)}}px=dx(yx)}function bx(){Cb()-gx>=200&&(hx(px),yx())}function kx(t){let e=-1;for(let n=0;n<mx.length;n+=1)if(mx[n].callback===t){e=n;break}return e}function wx(t,e=0){if(!t||"function"!=typeof t||"number"!=typeof e||e<0)return void fx.error("[start] Invalid arguments given to start method.",arguments);const n=kx(t);return-1!==n?(fx.debug("[start] Callback already exists, overriding interval.",arguments),mx[n].interval=e,t):(mx.push({callback:t,interval:e,lastTick:Cb()}),1===mx.length&&(px=dx(yx),vx||(vx=ch.setInterval(bx,1e3))),t)}function xx(t){const e=kx(t);-1!==e?(mx[e].stopped=!0,mx.splice(e,1),mx.length||(hx(px),ch.clearInterval(vx),vx=null)):fx.debug("[stop] Callback not found, doing nothing.",arguments)}function _x(t){return-1!==kx(t)}function Ix(t,e,n){const i="number"==typeof n?n:(null==n?void 0:n.maxQueueSize)||Number.POSITIVE_INFINITY,r=null!=n&&n.immediatelyFlushFirst?"boolean"==typeof n.immediatelyFlushFirst?n.immediatelyFlushFirst?1:0:Number(n.immediatelyFlushFirst):0;let o=0;if("function"!=typeof t)return void fx.error("[createThrottler] Bad argument given to createThrottler, first argument must be a function.",arguments);fx.debug("[createThrottler] Creating a new throttler instance.",arguments);const s=[];function a(){fx.debug("[onThrottlerTick] Calling callback with "+s.length+" queued items.");const e=s.slice(0);s.length=0,xx(a),t(e)}const l={push:function(t){fx.debug("[push] Queuing argument:",t),0===s.length&&wx(a,e),s.push(t),o+=1,(o<=r||s.length>=i)&&a()},flush:function(){fx.debug("[flush] Flushing queue."),0!==s.length&&a()},dispose:function(){fx.debug("[dispose] Disposing of throttler.");const t=s.slice(0);return s.length=0,xx(a),t}};return Object.defineProperty(l,"interval",{enumerable:!0,get:function(){return e},set:function(t){"number"==typeof t&&(e=t)}}),l}function Tx(t,e){if(t&&"function"==typeof t)return t.__tickerThrottler||(t.__tickerThrottler=Ix((function(){t()}),e)),"number"==typeof e&&(t.__tickerThrottler.interval=e),t.__tickerThrottler.push(),t.__tickerThrottler;fx.error("[scheduleExecution] Bad argument given to scheduleExecution, first argument must be a function.",arguments)}var Ex=new WeakMap,Sx=new WeakMap,Mx=new WeakMap,Ax=new WeakMap,Nx=new WeakMap,Cx=new WeakMap,Fx=new WeakMap,Ox=new WeakMap,Px=new WeakMap,Rx=new WeakMap,Dx=new WeakMap,Bx=new WeakMap,Lx=new WeakMap,zx=new WeakMap,Wx=new WeakMap,jx=new WeakMap,$x=new WeakSet;class Ux extends sh{constructor(...t){super(...t),O(this,$x),C(this,Ex,void 0),C(this,Sx,void 0),C(this,Mx,void 0),C(this,Ax,void 0),C(this,Nx,[]),C(this,Cx,[]),C(this,Fx,new Set),C(this,Ox,new Set),C(this,Px,!1),C(this,Rx,void 0),C(this,Dx,void 0),C(this,Bx,void 0),C(this,Lx,void 0),C(this,zx,void 0),C(this,Wx,void 0),C(this,jx,void 0);const[e,n,i,r]=t;F(Ex,this,e),F(Sx,this,n),F(Mx,this,i),F(Ax,this,r),F(Rx,this,Fb());const o=t.length?t[t.length-1]:void 0,s=o&&"object"==typeof o&&Number.isFinite(o.maxConcurrent)?o.maxConcurrent:void 0;Number.isFinite(s)&&(this.settings.maxConcurrent=s),F(jx,this,(()=>M($x,this,t_).call(this))),M($x,this,Hx).call(this),M($x,this,Gx).call(this)}get name(){return"NodeResolver"}get defaults(){return{maxConcurrent:5}}onDispose(){var t;N(Rx,this)&&N(Rx,this).abort(),F(Rx,this,null),N(Ax,this)&&"function"==typeof N(Ax,this).off&&N(Bx,this)&&N(Ax,this).off(dh.PLACEMENT_ADDED,N(Bx,this)),N(Ax,this)&&"function"==typeof N(Ax,this).off&&N(Wx,this)&&N(Ax,this).off(dh.TIMELINE_RESET,N(Wx,this)),N(Ex,this)&&"function"==typeof N(Ex,this).off&&N(Lx,this)&&N(Ex,this).off(dh.NODE_ADD,N(Lx,this)),N(Ex,this)&&"function"==typeof N(Ex,this).off&&N(zx,this)&&N(Ex,this).off(dh.NODE_CHILDREN_CHANGED,N(zx,this)),F(Bx,this,null),F(Lx,this,null),F(zx,this,null),F(Wx,this,null),F(Nx,this,[]),F(Cx,this,[]),N(Fx,this).clear(),N(Ox,this).clear(),F(Px,this,!1),F(Dx,this,void 0),null!==(t=N(jx,this))&&void 0!==t&&t.__tickerThrottler&&N(jx,this).__tickerThrottler.dispose(),F(jx,this,null)}}function qx(){return N(Rx,this)?N(Rx,this).signal:void 0}function Vx(){return this._disposed||N(Rx,this)&&N(Rx,this).signal.aborted}function Gx(){N(Ax,this)&&"function"==typeof N(Ax,this).on&&(F(Bx,this,(t=>{M($x,this,Xx).call(this,null==t?void 0:t.nodeId)})),N(Ax,this).on(dh.PLACEMENT_ADDED,N(Bx,this)),F(Wx,this,(()=>M($x,this,Kx).call(this))),N(Ax,this).on(dh.TIMELINE_RESET,N(Wx,this))),N(Ex,this)&&"function"==typeof N(Ex,this).on&&(F(Lx,this,(({node:t})=>{(null==t?void 0:t.id)&&M($x,this,Xx).call(this,t.id,{fromRepoAdd:!0})})),N(Ex,this).on(dh.NODE_ADD,N(Lx,this)),F(zx,this,(()=>{Tx(N(jx,this),100)})),N(Ex,this).on(dh.NODE_CHILDREN_CHANGED,N(zx,this)))}function Hx(){const t=N(Ax,this)&&Array.isArray(N(Ax,this).placements)?N(Ax,this).placements:[];t.forEach((t=>M($x,this,Xx).call(this,t.nodeId)));const e=t.length?t[t.length-1]:void 0;e&&e.nodeId&&F(Dx,this,e.nodeId)}function Kx(){N(Rx,this)&&N(Rx,this).abort(),F(Rx,this,Fb()),F(Nx,this,[]),F(Cx,this,[]),N(Fx,this).clear(),F(Px,this,!1),F(Dx,this,void 0)}function Xx(t,{fromRepoAdd:e=!1}={}){M($x,this,Vx).call(this)||t&&(N(Ox,this).has(t)||N(Fx,this).has(t)||(N(Nx,this).push(t),N(Dx,this)||e||F(Dx,this,t),!N(Px,this)&&e||M($x,this,Yx).call(this)))}function Yx(){if(N(Px,this))return void M($x,this,Qx).call(this);if(0===N(Nx,this).length)return;F(Px,this,!0);const t=N(Nx,this).shift();M($x,this,e_).call(this,t).finally((()=>{M($x,this,Qx).call(this)}))}async function Qx(){if(!M($x,this,Vx).call(this))for(N(Nx,this).length||N(Cx,this).length||F(Cx,this,M($x,this,Jx).call(this));N(Fx,this).size<this.settings.maxConcurrent;){const t=this.settings.maxConcurrent-N(Fx,this).size;if(t<=0)break;const e=[];for(;e.length<t&&(N(Nx,this).length||N(Cx,this).length);){let t=N(Nx,this).shift();t||(t=N(Cx,this).shift()),t&&e.push(t)}if(!e.length)break;const n=M($x,this,n_).call(this,e);n.length&&N(Mx,this)&&"function"==typeof N(Mx,this).resolve&&M($x,this,i_).call(this,n).finally((()=>M($x,this,Qx).call(this))),e.filter((t=>!n.find((e=>e.nodeId===t)))).forEach((t=>{M($x,this,e_).call(this,t).finally((()=>M($x,this,Qx).call(this)))}))}}function Jx(){const t=new Set([...N(Ox,this),...N(Fx,this),...N(Nx,this)]);return M($x,this,Zx).call(this,t)}function Zx(t){const e=N(Ax,this)&&Array.isArray(N(Ax,this).placements)?N(Ax,this).placements:[],n=(e.length?e[e.length-1].nodeId:void 0)||N(Dx,this);return ux({prioritizer:N(Sx,this),repository:N(Ex,this),startNodeId:n,pendingIds:t,fallbackToRepository:!1})}function t_(){M($x,this,Vx).call(this)||(N(Px,this)||0!==N(Nx,this).length)&&(F(Cx,this,M($x,this,Jx).call(this)),N(Px,this)&&M($x,this,Qx).call(this))}async function e_(t,e){if(!t||N(Ox,this).has(t)||N(Fx,this).has(t))return;const n=M($x,this,qx).call(this);if(n&&n.aborted)return;const i=N(Ex,this)&&"function"==typeof N(Ex,this).get?N(Ex,this).get(t):void 0;if(i&&"function"==typeof i.resolve)if("function"==typeof i.hasExceededManifestLoadAttempts&&i.hasExceededManifestLoadAttempts())N(Ox,this).add(t);else{N(Fx,this).add(t);try{const r={signal:n};e&&(r.manifestOverride=e),await i.resolve(r),N(Ox,this).add(t)}catch(e){if(Pb(e,n))return;this.log.warn(`NodeResolver failed to resolve node ${t}: ${(null==e?void 0:e.message)||e}`),"function"==typeof i.hasExceededManifestLoadAttempts&&i.hasExceededManifestLoadAttempts()&&N(Ox,this).add(t)}finally{N(Fx,this).delete(t)}}}function n_(t){const e=[];return t.forEach((t=>{const n=N(Ex,this)&&"function"==typeof N(Ex,this).get?N(Ex,this).get(t):void 0;n&&n.manifestRef&&"assets-delivery-service"===n.manifestRef.type&&e.push({nodeId:t,ref:n.manifestRef})})),e}async function i_(t){const e=M($x,this,qx).call(this);if(!e||!e.aborted){t.forEach((({nodeId:t})=>N(Fx,this).add(t)));try{const n=t.map((t=>t.ref)),i=await N(Mx,this).resolve(n,{signal:e});t.forEach((({nodeId:t,ref:e})=>{var n;const r=N(Ex,this)&&"function"==typeof N(Ex,this).get?N(Ex,this).get(t):void 0;if(N(Fx,this).delete(t),!r||"function"!=typeof r.resolve)return;const o=Array.isArray(i)?i.find((t=>{const n=null==t?void 0:t.manifestRef;return n&&n.assetId===e.assetId&&n.assetRevision===e.assetRevision})):void 0,s="string"==typeof(null==o||null===(n=o.manifestRef)||void 0===n?void 0:n.encodeProfile)&&o.manifestRef.encodeProfile?o.manifestRef.encodeProfile:void 0,a=o?M($x,this,r_).call(this,o.manifest,s):void 0;M($x,this,e_).call(this,t,a)}))}catch(n){Pb(n,e)||this.log.warn(`NodeResolver ADS batch failed: ${(null==n?void 0:n.message)||n}`),t.forEach((({nodeId:t})=>N(Fx,this).delete(t)))}}}function r_(t,e){if(!t)return;const n="string"==typeof e&&e?e:void 0,i=t=>n&&t&&"object"==typeof t?{...t,encodeProfile:n}:t;return t.ivd?i({typeHint:"ivd",body:t.ivd}):t.url||t.body||t.mimeType?i({typeHint:t.typeHint,url:t.url,mimeType:t.mimeType,body:t.body}):i(t)}const o_=.001,s_="priority";function a_(t){const e=Number(t);return Number.isFinite(e)?e:0}var l_=new WeakMap,c_=new WeakMap,u_=new WeakMap,d_=new WeakMap,h_=new WeakMap,f_=new WeakMap,p_=new WeakMap,m_=new WeakMap,v_=new WeakMap,g_=new WeakMap,y_=new WeakMap,b_=new WeakMap,k_=new WeakMap,w_=new WeakMap,x_=new WeakMap,__=new WeakMap,I_=new WeakMap,T_=new WeakMap,E_=new WeakMap,S_=new WeakMap,M_=new WeakSet;class A_ extends sh{constructor(...t){super(...t),O(this,M_),C(this,l_,void 0),C(this,c_,void 0),C(this,u_,void 0),C(this,d_,new Map),C(this,h_,new Map),C(this,f_,[]),C(this,p_,new Set),C(this,m_,new Map),C(this,v_,!1),C(this,g_,void 0),C(this,y_,void 0),C(this,b_,void 0),C(this,k_,void 0),C(this,w_,void 0),C(this,x_,void 0),C(this,__,void 0),C(this,I_,void 0),C(this,T_,!1),C(this,E_,[]),C(this,S_,void 0);const[e,n,i]=t;F(l_,this,e),F(c_,this,n),F(u_,this,i),F(y_,this,Fb()),F(S_,this,(()=>M(M_,this,dI).call(this))),M(M_,this,q_).call(this)}get name(){return"SegmentLoadCoordinator"}get defaults(){return{maxConcurrentLoads:3,maxSegmentLoadAttempts:3}}onDispose(){var t;N(y_,this)&&N(y_,this).abort(),F(y_,this,null),N(m_,this).size&&N(m_,this).forEach((t=>{(null==t?void 0:t.controller)&&t.controller.abort()})),N(m_,this).clear(),N(u_,this)&&"function"==typeof N(u_,this).off&&(N(b_,this)&&N(u_,this).off(dh.PLACEMENT_ADDED,N(b_,this)),N(w_,this)&&N(u_,this).off(dh.TIMELINE_SEEKING,N(w_,this)),N(x_,this)&&N(u_,this).off(dh.TIMELINE_SEEKED,N(x_,this)),N(__,this)&&N(u_,this).off(dh.TIMELINE_RESET,N(__,this))),N(l_,this)&&"function"==typeof N(l_,this).off&&N(k_,this)&&N(l_,this).off(dh.NODE_CHILDREN_CHANGED,N(k_,this)),N(I_,this)&&"function"==typeof ch.removeEventListener&&ch.removeEventListener("online",N(I_,this)),F(b_,this,null),F(k_,this,null),F(w_,this,null),F(x_,this,null),F(__,this,null),F(I_,this,null),N(d_,this).clear(),N(h_,this).clear(),F(f_,this,[]),N(p_,this).clear(),N(m_,this).clear(),F(v_,this,!1),F(g_,this,void 0),F(T_,this,!1),F(E_,this,[]),null!==(t=N(S_,this))&&void 0!==t&&t.__tickerThrottler&&N(S_,this).__tickerThrottler.dispose(),F(S_,this,null)}}function N_(){return N(y_,this)?N(y_,this).signal:void 0}function C_(){return this._disposed||N(y_,this)&&N(y_,this).signal.aborted}function F_(){const t=Number(this.settings.maxSegmentLoadAttempts);return Number.isFinite(t)&&t>0?t:1/0}function O_(t){const e=M(M_,this,F_).call(this);if(!Number.isFinite(e)||e===1/0)return!1;if(null==t||!t.loadError)return!1;const n=Number(t.loadAttempts);return Number.isFinite(n)&&n>=e}function P_(t){return!!t&&(!!M(M_,this,O_).call(this,t)||M(M_,this,R_).call(this,t))}function R_(t){if(!t)return!1;if("boolean"==typeof t.isLoaded)return t.isLoaded;const e=Number(t.retainedByteLength);return Number.isFinite(e)&&e>0}function D_(t){if(!t||M(M_,this,R_).call(this,t))return;const e=Number(t.loadAttempts);(Number.isFinite(e)&&e>0||t.loadError)&&("function"==typeof t.evict&&t.evict(),t.loadAttempts=0,t.loadError=void 0)}function B_(t){t&&(t.manifestLoadError&&(t.manifestLoadAttempts=0,t.manifestLoadError=void 0,"failed"===t.state&&(t.state="pending",t.error=void 0)),(Array.isArray(t.tracks)?t.tracks:[]).forEach((t=>{(Array.isArray(null==t?void 0:t.segments)?t.segments:[]).forEach((t=>{M(M_,this,D_).call(this,t)}))})))}function L_(){(N(l_,this)&&"function"==typeof N(l_,this).list?N(l_,this).list():[]).forEach((t=>{M(M_,this,B_).call(this,t)}))}function z_(t,{allowSeekKeep:e=!1,segmentOffset:n}={}){const i=Fb(),r=i?i.signal:M(M_,this,N_).call(this);return t&&N(m_,this).set(t,{controller:i,allowSeekKeep:!!e,segmentOffset:n}),{signal:r,controller:i}}function W_(t,e,n={}){const i=N(m_,this).get(t);i&&i.controller===e&&(Object.prototype.hasOwnProperty.call(n,"allowSeekKeep")&&(i.allowSeekKeep=!!n.allowSeekKeep),Object.prototype.hasOwnProperty.call(n,"segmentOffset")&&(i.segmentOffset=n.segmentOffset))}function j_(t,e){const n=N(m_,this).get(t);n&&(e&&n.controller!==e||N(m_,this).delete(t))}function $_(t,e){const n=new Set;return(Array.isArray(t)?t:[]).forEach((t=>{const i=null==t?void 0:t.nodeId;if(!i)return;const r=N(l_,this)&&"function"==typeof N(l_,this).get?N(l_,this).get(i):void 0;if(!r)return;const o=M(M_,this,eI).call(this,r,t,e);Number.isFinite(o)&&n.add(`${i}:${o}`)})),n}function U_(t){N(m_,this).size&&N(m_,this).forEach(((e,n)=>{const i=null==e?void 0:e.segmentOffset,r=Number.isFinite(i)?`${n}:${i}`:"";!(null!=e&&e.allowSeekKeep&&r&&t&&t.has(r))&&(null==e?void 0:e.controller)&&e.controller.abort()}))}function q_(){N(u_,this)&&"function"==typeof N(u_,this).on&&(F(b_,this,(t=>{M(M_,this,Y_).call(this,t)})),N(u_,this).on(dh.PLACEMENT_ADDED,N(b_,this)),F(w_,this,(t=>M(M_,this,V_).call(this,t))),N(u_,this).on(dh.TIMELINE_SEEKING,N(w_,this)),F(x_,this,(t=>M(M_,this,G_).call(this,t))),N(u_,this).on(dh.TIMELINE_SEEKED,N(x_,this)),F(__,this,(()=>M(M_,this,X_).call(this))),N(u_,this).on(dh.TIMELINE_RESET,N(__,this))),N(l_,this)&&"function"==typeof N(l_,this).on&&(F(k_,this,(()=>{Tx(N(S_,this),100)})),N(l_,this).on(dh.NODE_CHILDREN_CHANGED,N(k_,this))),"function"==typeof ch.addEventListener&&(F(I_,this,(()=>M(M_,this,K_).call(this))),ch.addEventListener("online",N(I_,this)))}function V_(t={}){if(M(M_,this,C_).call(this))return;const e=Number(null==t?void 0:t.targetTime);if(!Number.isFinite(e))return;const n=Array.isArray(null==t?void 0:t.placements)?t.placements:[],i=M(M_,this,$_).call(this,n,e);M(M_,this,U_).call(this,i),F(T_,this,!0),F(E_,this,n.map((t=>{const n=null==t?void 0:t.nodeId;if(n)return{nodeId:n,placement:t,targetTime:e}})).filter(Boolean)),setTimeout((()=>M(M_,this,J_).call(this)),0)}function G_(t={}){var e;if(M(M_,this,C_).call(this))return;F(T_,this,!1),F(E_,this,[]);const n=Number.isFinite(null==t?void 0:t.targetTime)?Number(t.targetTime):Number(null===(e=N(u_,this))||void 0===e?void 0:e.currentTime);M(M_,this,H_).call(this,n),setTimeout((()=>M(M_,this,J_).call(this)),0)}function H_(t){var e;(Array.isArray(null===(e=N(u_,this))||void 0===e?void 0:e.placements)?N(u_,this).placements:[]).forEach((e=>{if(!e)return;const n=gv(e);if(Number.isFinite(n)){if(Number.isFinite(t)){if(n>=t)return void M(M_,this,Y_).call(this,e);const i=mv(e,N(l_,this));return Number.isFinite(i)?void(n+i>t&&M(M_,this,Y_).call(this,e)):void(n<=t&&M(M_,this,Y_).call(this,e))}M(M_,this,Y_).call(this,e)}}))}function K_(){var t;M(M_,this,C_).call(this)||(M(M_,this,L_).call(this),F(T_,this,!1),F(E_,this,[]),M(M_,this,H_).call(this,Number(null===(t=N(u_,this))||void 0===t?void 0:t.currentTime)),F(f_,this,M(M_,this,cI).call(this)),setTimeout((()=>M(M_,this,J_).call(this)),0))}function X_(){N(y_,this)&&N(y_,this).abort(),F(y_,this,Fb()),N(m_,this).size&&N(m_,this).forEach((t=>{(null==t?void 0:t.controller)&&t.controller.abort()})),N(m_,this).clear(),N(d_,this).clear(),N(h_,this).clear(),F(f_,this,[]),N(p_,this).clear(),F(v_,this,!1),F(g_,this,void 0),F(T_,this,!1),F(E_,this,[])}function Y_(t){if(M(M_,this,C_).call(this))return;const e=null==t?void 0:t.nodeId;if(!e)return;const n=N(d_,this).get(e);if(n){const i=gv(n),r=gv(t);Number.isFinite(i)?Number.isFinite(r)&&r<i&&N(d_,this).set(e,t):Number.isFinite(r)&&N(d_,this).set(e,t)}else N(d_,this).set(e,t);const i=N(g_,this);F(g_,this,e),i&&i!==e&&F(f_,this,[]),N(v_,this)?setTimeout((()=>M(M_,this,J_).call(this)),0):M(M_,this,Q_).call(this)}function Q_(){N(v_,this)||N(d_,this).size&&(F(v_,this,!0),M(M_,this,J_).call(this))}async function J_(){if(M(M_,this,C_).call(this))return;if(N(p_,this).size>=this.settings.maxConcurrentLoads)return;if(N(T_,this))return void(N(E_,this).length&&M(M_,this,Z_).call(this));const t=M(M_,this,rI).call(this);if(t.hasPending)M(M_,this,oI).call(this,t);else for(N(f_,this).length||F(f_,this,M(M_,this,cI).call(this));N(p_,this).size<this.settings.maxConcurrentLoads&&N(f_,this).length;){const t=N(f_,this).shift();M(M_,this,hI).call(this,t,"partial").finally((()=>{setTimeout((()=>M(M_,this,J_).call(this)),0)}))}}function Z_(){if(M(M_,this,C_).call(this))return;const t=Math.max(0,this.settings.maxConcurrentLoads-N(p_,this).size);if(!t||!N(E_,this).length)return;const e=[],n=[];for(let i=0;i<N(E_,this).length;i+=1){const r=N(E_,this)[i];(null==r?void 0:r.nodeId)&&(e.length<t&&!N(p_,this).has(r.nodeId)?e.push(r):n.push(r))}F(E_,this,n),e.forEach((t=>{M(M_,this,tI).call(this,t).finally((()=>{setTimeout((()=>M(M_,this,J_).call(this)),0)}))}))}async function tI(t={}){const e=null==t?void 0:t.nodeId,n=null==t?void 0:t.placement,i=Number(null==t?void 0:t.targetTime);if(!e||!n||!Number.isFinite(i))return;if(N(p_,this).has(e))return;const{signal:r,controller:o}=M(M_,this,z_).call(this,e);if(r&&r.aborted)M(M_,this,j_).call(this,e,o);else{N(p_,this).add(e);try{const t=N(l_,this)&&"function"==typeof N(l_,this).get?N(l_,this).get(e):void 0;if(!t)return;if("ready"!==t.state&&"function"==typeof t.resolve)try{await t.resolve({signal:r})}catch(t){return}if("ready"!==t.state)return;const s=M(M_,this,eI).call(this,t,n,i);if(!Number.isFinite(s)){const n=Array.isArray(null==t?void 0:t.tracks)?t.tracks.map((t=>null==t?void 0:t.type)).filter(Boolean):[];return void this.log.debug(`[#loadSeekWork] No seek segment offset for node [${e}] targetTime=${i} mainTrackId=${(null==t?void 0:t.mainTrackId)||"n/a"} trackTypes=[${n.join(",")}]`)}"function"==typeof t.loadMediaSegmentsAtOffset?(this.log.debug(`[#loadSeekWork] Loading seek segment for node [${e}] at offset=${s}`),M(M_,this,W_).call(this,e,o,{allowSeekKeep:!0,segmentOffset:s}),await t.loadMediaSegmentsAtOffset(s,{signal:r})):"function"==typeof t.load&&await t.load({loadingMode:"partial",signal:r})}catch(t){Pb(t,r)||this.log.warn(`[#loadSeekWork] SegmentLoadCoordinator failed to seek-load node ${e}: ${(null==t?void 0:t.message)||t}`)}finally{N(p_,this).delete(e),M(M_,this,j_).call(this,e,o)}}}function eI(t,e,n){var i;const r=gv(e);if(!Number.isFinite(r))return;const o=a_(null==e?void 0:e.nodeOffsetOverride),s=Math.max(0,n-r+o),a=Array.isArray(null==t?void 0:t.tracks)?t.tracks:[];let l;if(null!=t&&t.mainTrackId){const e=a.find((e=>(null==e?void 0:e.id)===t.mainTrackId));"video"!==(null==e?void 0:e.type)&&"image"!==(null==e?void 0:e.type)||(l=e)}if(l||(l=a.find((t=>"video"===(null==t?void 0:t.type)))||a.find((t=>"image"===(null==t?void 0:t.type)))),!l||!Array.isArray(l.segments))return;const c=l.segments.filter((t=>t&&!t.isInit&&Array.isArray(t.representations)));if(!c.length)return;const u=a_(null===(i=l)||void 0===i?void 0:i.offset),d=bk(c,Math.max(0,s-u),{preferRepresentationTime:!0}),h=Number(null==d?void 0:d.offset);return Number.isFinite(h)?h:void 0}function nI(t,e,n=(t=>null===(t=N(u_,this))||void 0===t?void 0:t.currentTime)()){var i;const r=(Array.isArray(null===(i=N(u_,this))||void 0===i?void 0:i.placements)?N(u_,this).placements:[]).filter((e=>(null==e?void 0:e.nodeId)===t&&Number.isFinite(gv(e)))).sort(((t,e)=>gv(t)-gv(e)));if(!r.length)return e;const o=Number(n);if(!Number.isFinite(o))return e||r[0];let s,a;for(let t=0;t<r.length;t+=1){const e=r[t],n=gv(e);if(!Number.isFinite(n))continue;const i=mv(e,N(l_,this)),l=Number.isFinite(i)&&i>=0;(!a&&n>=o-o_&&(a=e),l)?o+o_>=n&&o<n+i-o_&&(s=e):o+o_>=n&&(s=e)}return s||a||r[r.length-1]}function iI(t,e){var n;const i=Number(gv(e));if(!Number.isFinite(i))return;const r=mv(e,N(l_,this)),o=Number.isFinite(r)&&r>=0?i+r:void 0,s=(Array.isArray(null===(n=N(u_,this))||void 0===n?void 0:n.placements)?N(u_,this).placements:[]).filter((e=>(null==e?void 0:e.nodeId)===t&&Number.isFinite(gv(e)))).sort(((t,e)=>gv(t)-gv(e)));for(let t=0;t<s.length;t+=1){const e=s[t],n=Number(gv(e));if(Number.isFinite(n)&&!(n<=i+o_)){if(Number.isFinite(o)&&n>o+o_)return;return e}}}function rI(){const t=[];let e=!1,n=1/0;if(N(d_,this).forEach(((i,r)=>{if(!r||!i)return;const o=N(h_,this).get(r);if(o)return e=!0,void(n=Math.min(n,a_(o.timelineStart)));const s=M(M_,this,sI).call(this,r,i);s&&(e=!0,n=Math.min(n,a_(s.timelineStart)),t.push(s))})),!e||!Number.isFinite(n))return{hasPending:!1,waveTime:void 0,startable:[]};const i=t.filter((t=>a_(t.timelineStart)===n&&!N(p_,this).has(t.nodeId))).sort(((t,e)=>{const n=Number.isFinite(null==t?void 0:t.timelineStart)?t.timelineStart:Number.POSITIVE_INFINITY,i=Number.isFinite(null==e?void 0:e.timelineStart)?e.timelineStart:Number.POSITIVE_INFINITY;return n!==i?n-i:String(t.nodeId).localeCompare(String(e.nodeId))}));return{hasPending:!0,waveTime:n,startable:i}}function oI({waveTime:t,startable:e}){const n=Math.max(0,this.settings.maxConcurrentLoads-N(p_,this).size);n&&e.length&&e.slice(0,n).forEach((e=>{M(M_,this,lI).call(this,e,t).finally((()=>{setTimeout((()=>M(M_,this,J_).call(this)),0)}))}))}function sI(t,e){var n,i;const r=N(l_,this)&&"function"==typeof N(l_,this).get?N(l_,this).get(t):void 0;if(!r)return;if("function"==typeof r.hasExceededManifestLoadAttempts&&r.hasExceededManifestLoadAttempts())return void N(d_,this).delete(t);const o=M(M_,this,nI).call(this,t,e,null===(n=N(u_,this))||void 0===n?void 0:n.currentTime),s=Number(gv(o)),a=a_(null===(i=N(u_,this))||void 0===i?void 0:i.currentTime),l="function"==typeof r.loadMediaSegmentsAtOffset,c="function"==typeof r.load;if(!l&&!c)return void N(d_,this).delete(t);if(r.isLoaded)return void N(d_,this).delete(t);if("ready"!==r.state){if(!Number.isFinite(s))return;return{nodeId:t,segmentOffset:0,timelineStart:s}}if(!M(M_,this,fI).call(this,r))return void N(d_,this).delete(t);const u=Array.isArray(r.tracks)?r.tracks:[],d=u.some((t=>{const e=(Array.isArray(null==t?void 0:t.segments)?t.segments:[]).find((t=>(null==t?void 0:t.isInit)&&Array.isArray(null==t?void 0:t.representations)));return!!e&&!M(M_,this,P_).call(this,e)})),h=new Set;u.forEach((t=>{(Array.isArray(null==t?void 0:t.segments)?t.segments:[]).forEach((t=>{if(!t||t.isInit||!Array.isArray(t.representations))return;const e=Number(t.offset);if(Number.isFinite(e)){const t=Math.round(e/o_)*o_;h.add(t)}}))}));const f=Array.from(h).sort(((t,e)=>t-e)),p=e=>{const n=Number(gv(e));if(!Number.isFinite(n))return{status:"none"};const i=a_(null==e?void 0:e.nodeOffsetOverride),o=Math.max(0,a-n+i);let s=0;for(let t=0;t<f.length&&f[t]<=o+o_;t+=1)s=t;const l=f.slice(s);if(!l.some((t=>M(M_,this,aI).call(this,r,t))))return{status:f.slice(0,s).some((t=>M(M_,this,aI).call(this,r,t)))?"beforeOnly":"none"};const c=l.find((t=>M(M_,this,aI).call(this,r,t))),u=Math.max(0,a_(c)-i);return{status:"work",work:{nodeId:t,segmentOffset:c,timelineStart:n+u}}},m=p(o);if("work"===m.status)return m.work;if("beforeOnly"!==m.status){if(d&&Number.isFinite(s))return{nodeId:t,segmentOffset:0,timelineStart:s};N(d_,this).delete(t)}else{const e=M(M_,this,iI).call(this,t,o);if(e){const t=p(e);if("work"===t.status)return t.work}}}function aI(t,e){const n=Array.isArray(null==t?void 0:t.tracks)?t.tracks:[],i=a_(e);return n.some((t=>(Array.isArray(null==t?void 0:t.segments)?t.segments:[]).some((t=>{if(!t||t.isInit||!Array.isArray(t.representations))return!1;const e=Number(t.offset);return Number.isFinite(e)&&Math.abs(e-i)<=o_&&!M(M_,this,P_).call(this,t)}))))}async function lI(t,e){const n=null==t?void 0:t.nodeId,i=null==t?void 0:t.segmentOffset;if(this.log.debug(`[#loadP0Work] Loading ${s_} node [${n}] at segmentOffset=${i} wave=${e}`),!n)return;const r=N(l_,this)&&"function"==typeof N(l_,this).get?N(l_,this).get(n):void 0;if(!r)return void N(d_,this).delete(n);const o="function"==typeof r.loadMediaSegmentsAtOffset&&Number.isFinite(i),{signal:s,controller:a}=M(M_,this,z_).call(this,n,{allowSeekKeep:o,segmentOffset:i});if(s&&s.aborted)M(M_,this,j_).call(this,n,a);else{N(p_,this).add(n),N(h_,this).set(n,{timelineStart:e,segmentOffset:i});try{"function"==typeof r.loadMediaSegmentsAtOffset?await r.loadMediaSegmentsAtOffset(i,{signal:s}):"function"==typeof r.load&&await r.load({loadingMode:"full",signal:s})}catch(t){if(Pb(t,s))return;const e=`[#loadP0Work] SegmentLoadCoordinator failed to load ${s_} work for node ${n}: ${(null==t?void 0:t.message)||t}`;this.log.warn(e)}finally{this.log.debug(`[#loadP0Work] Finished ${s_} work for node [${n}]`),N(h_,this).delete(n),N(p_,this).delete(n),M(M_,this,j_).call(this,n,a)}}}function cI(){const t=new Set([...N(d_,this).keys(),...N(p_,this)]),e=M(M_,this,uI).call(this),n=Array.isArray(null==e?void 0:e.orderedIds)?e.orderedIds:null,i=Array.isArray(null==e?void 0:e.reachableIds)&&e.reachableIds.length?new Set(e.reachableIds):null,r=t=>!("function"==typeof t.hasExceededManifestLoadAttempts&&t.hasExceededManifestLoadAttempts()||t.isLoaded||"ready"===t.state&&M(M_,this,pI).call(this,t));if(i){const e=ux({prioritizer:N(c_,this),repository:N(l_,this),startNodeId:N(g_,this),prioritizedIds:n,pendingIds:t,allowedIds:i,filter:r});if(e.length)return e}return ux({prioritizer:N(c_,this),repository:N(l_,this),startNodeId:N(g_,this),prioritizedIds:n,pendingIds:t,filter:r})}function uI(){return N(c_,this)&&N(g_,this)?"function"==typeof N(c_,this).getPrioritizationSnapshot?N(c_,this).getPrioritizationSnapshot(N(g_,this)):{orderedIds:"function"==typeof N(c_,this).sortNodes?N(c_,this).sortNodes(N(g_,this)):[],reachableIds:"function"==typeof N(c_,this).getReachableNodeIds?N(c_,this).getReachableNodeIds(N(g_,this)):[]}:null}function dI(){M(M_,this,C_).call(this)||(N(v_,this)||N(d_,this).size)&&(F(f_,this,M(M_,this,cI).call(this)),N(v_,this)&&!N(T_,this)&&M(M_,this,J_).call(this))}async function hI(t,e){if(this.log.debug(`[#loadNode] Loading node [${t}] in '${e}' mode`),!t)return;const n=N(l_,this)&&"function"==typeof N(l_,this).get?N(l_,this).get(t):void 0;if(!n||"function"!=typeof n.load)return;if("function"==typeof n.hasExceededManifestLoadAttempts&&n.hasExceededManifestLoadAttempts())return;if(n.isLoaded)return void this.log.debug(`[#loadNode] Skipping load for ${t}: already loaded`);const{signal:i,controller:r}=M(M_,this,z_).call(this,t,{allowSeekKeep:!1});if(i&&i.aborted)M(M_,this,j_).call(this,t,r);else try{if("ready"!==n.state&&await n.resolve({signal:i}),"ready"!==n.state)return void this.log.debug(`[#loadNode] Skipping load for ${t}: not ready`);if("partial"===e&&M(M_,this,pI).call(this,n))return void this.log.debug(`[#loadNode] Skipping load for ${t}: partial already loaded`);if(!M(M_,this,fI).call(this,n))return void this.log.debug(`[#loadNode] Skipping load for ${t}: no loadable tracks`);N(p_,this).add(t),await n.load({loadingMode:e,signal:i})}catch(e){if(Pb(e,i))return;this.log.warn(`[#loadNode] SegmentLoadCoordinator failed to load node ${t}: ${(null==e?void 0:e.message)||e}`)}finally{this.log.debug(`[#loadNode] Finished loading node [${t}]`),N(p_,this).delete(t),M(M_,this,j_).call(this,t,r)}}function fI(t){return(Array.isArray(t.tracks)?t.tracks:[]).some((t=>{var e;return null==t||null===(e=t.segments)||void 0===e?void 0:e.length}))}function pI(t){const e=(Array.isArray(null==t?void 0:t.tracks)?t.tracks:[]).filter((t=>Array.isArray(null==t?void 0:t.segments)&&t.segments.length));return!e.length||e.every((t=>{const e=Array.isArray(null==t?void 0:t.segments)?t.segments:[];if(!e.length)return!0;const n=e.find((t=>null==t?void 0:t.isInit)),i=e.find((t=>t&&!t.isInit));return!(n&&!M(M_,this,P_).call(this,n)||i&&!M(M_,this,P_).call(this,i))}))}class mI extends sh{constructor(...t){super(...t),this.track=void 0,this.lastSegment=void 0}get name(){return"BaseDecoder"}configure(t){this.track=t}decode(t){this.lastSegment=t}decodeChunk(t,e){}onDispose(){this.track=void 0,this.lastSegment=void 0}}function vI(t){if(!t)throw new Error("Assertion failed.")}const gI=t=>t&&t[t.length-1],yI=t=>{let e=0;for(;0===t.readBits(1)&&e<32;)e++;if(e>=32)throw new Error("Invalid exponential-Golomb code.");return(1<<e)-1+t.readBits(e)},bI=t=>t.constructor===Uint8Array?t:ArrayBuffer.isView(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):new Uint8Array(t),kI=t=>t.constructor===DataView?t:ArrayBuffer.isView(t)?new DataView(t.buffer,t.byteOffset,t.byteLength):new DataView(t),wI=new TextDecoder,xI=t=>Object.fromEntries(Object.entries(t).map((([t,e])=>[e,t]))),_I={bt709:1,bt470bg:5,smpte170m:6,bt2020:9,smpte432:12},II=xI(_I),TI={bt709:1,smpte170m:6,linear:8,"iec61966-2-1":13,pq:16,hlg:18},EI=xI(TI),SI={rgb:0,bt709:1,bt470bg:5,smpte170m:6,"bt2020-ncl":9},MI=xI(SI),AI=t=>[...t].map((t=>t.toString(16).padStart(2,"0"))).join(""),NI=t=>(t=(t=(t=(t=(t=t>>1&1431655765|(1431655765&t)<<1)>>2&858993459|(858993459&t)<<2)>>4&252645135|(252645135&t)<<4)>>8&16711935|(16711935&t)<<8)>>16&65535|(65535&t)<<16)>>>0,CI=(t,e,n)=>{let i=0,r=t.length-1,o=-1;for(;i<=r;){const s=i+r>>1,a=n(t[s]);a===e?(o=s,r=s-1):a<e?i=s+1:r=s-1}return o},FI=(t,e,n)=>{let i=0,r=t.length-1,o=-1;for(;i<=r;){const s=i+(r-i+1)/2|0;n(t[s])<=e?(o=s,i=s+1):r=s-1}return o},OI=()=>{let t,e;return{promise:new Promise(((n,i)=>{t=n,e=i})),resolve:t,reject:e}},PI=(t,e,n)=>t.getUint8(e)<<16|t.getUint8(e+1)<<8|t.getUint8(e+2),RI=(t,e,n)=>Math.max(e,Math.min(n,t)),DI=/^[a-z]{3}$/,BI=1e6*(1+Number.EPSILON);let LI=null;let zI=null;const WI=()=>{if(null!==zI)return zI;if("undefined"==typeof navigator)return null;const t=/\bChrome\/(\d+)/.exec(navigator.userAgent);return t?zI=Number(t[1]):null},jI=t=>"number"==typeof t&&!Number.isNaN(t);class $I{constructor(t,e){if(this.data=t,this.mimeType=e,!(t instanceof Uint8Array))throw new TypeError("data must be a Uint8Array.");if("string"!=typeof e)throw new TypeError("mimeType must be a string.")}}const UI={default:!0,forced:!1,original:!1,commentary:!1,hearingImpaired:!1,visuallyImpaired:!1};class qI{constructor(t){this.bytes=t,this.pos=0}seekToByte(t){this.pos=8*t}readBit(){var t;const e=Math.floor(this.pos/8),n=null!==(t=this.bytes[e])&&void 0!==t?t:0,i=7-(7&this.pos),r=(n&1<<i)>>i;return this.pos++,r}readBits(t){if(1===t)return this.readBit();let e=0;for(let n=0;n<t;n++)e<<=1,e|=this.readBit();return e}writeBits(t,e){const n=this.pos+t;for(let t=this.pos;t<n;t++){const i=Math.floor(t/8);let r=this.bytes[i];const o=7-(7&t);r&=~(1<<o),r|=(e&1<<n-t-1)>>n-t-1<<o,this.bytes[i]=r}this.pos=n}readAlignedByte(){var t;if(this.pos%8!=0)throw new Error("Bitstream is not byte-aligned.");const e=this.pos/8,n=null!==(t=this.bytes[e])&&void 0!==t?t:0;return this.pos+=8,n}skipBits(t){this.pos+=t}getBitsLeft(){return 8*this.bytes.length-this.pos}clone(){const t=new qI(this.bytes);return t.pos=this.pos,t}}const VI=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350],GI=[-1,1,2,3,4,5,6,8],HI=t=>{if(!t||t.byteLength<2)throw new TypeError("AAC description must be at least 2 bytes long.");const e=new qI(t);let n=e.readBits(5);31===n&&(n=32+e.readBits(6));const i=e.readBits(4);let r=null;15===i?r=e.readBits(24):i<VI.length&&(r=VI[i]);const o=e.readBits(4);let s=null;return o>=1&&o<=7&&(s=GI[o]),{objectType:n,frequencyIndex:i,sampleRate:r,channelConfiguration:o,numberOfChannels:s}},KI=["pcm-s16","pcm-s16be","pcm-s24","pcm-s24be","pcm-s32","pcm-s32be","pcm-f32","pcm-f32be","pcm-f64","pcm-f64be","pcm-u8","pcm-s8","ulaw","alaw"],XI=[{maxPictureSize:36864,maxBitrate:2e5,level:10},{maxPictureSize:73728,maxBitrate:8e5,level:11},{maxPictureSize:122880,maxBitrate:18e5,level:20},{maxPictureSize:245760,maxBitrate:36e5,level:21},{maxPictureSize:552960,maxBitrate:72e5,level:30},{maxPictureSize:983040,maxBitrate:12e6,level:31},{maxPictureSize:2228224,maxBitrate:18e6,level:40},{maxPictureSize:2228224,maxBitrate:3e7,level:41},{maxPictureSize:8912896,maxBitrate:6e7,level:50},{maxPictureSize:8912896,maxBitrate:12e7,level:51},{maxPictureSize:8912896,maxBitrate:18e7,level:52},{maxPictureSize:35651584,maxBitrate:18e7,level:60},{maxPictureSize:35651584,maxBitrate:24e7,level:61},{maxPictureSize:35651584,maxBitrate:48e7,level:62}],YI=t=>{const{codec:e,codecDescription:n,colorSpace:i,avcCodecInfo:r,hevcCodecInfo:o,vp9CodecInfo:s,av1CodecInfo:a}=t;if("avc"===e){if(vI(null!==t.avcType),r){const e=new Uint8Array([r.avcProfileIndication,r.profileCompatibility,r.avcLevelIndication]);return`avc${t.avcType}.${AI(e)}`}if(!n||n.byteLength<4)throw new TypeError("AVC decoder description is not provided or is not at least 4 bytes long.");return`avc${t.avcType}.${AI(n.subarray(1,4))}`}if("hevc"===e){let t,e,i,r,s,a;if(o)t=o.generalProfileSpace,e=o.generalProfileIdc,i=NI(o.generalProfileCompatibilityFlags),r=o.generalTierFlag,s=o.generalLevelIdc,a=[...o.generalConstraintIndicatorFlags];else{if(!n||n.byteLength<23)throw new TypeError("HEVC decoder description is not provided or is not at least 23 bytes long.");const o=kI(n),l=o.getUint8(1);t=l>>6&3,e=31&l,i=NI(o.getUint32(2)),r=l>>5&1,s=o.getUint8(12),a=[];for(let t=0;t<6;t++)a.push(o.getUint8(6+t))}let l="hev1.";for(l+=["","A","B","C"][t]+e,l+=".",l+=i.toString(16).toUpperCase(),l+=".",l+=0===r?"L":"H",l+=s;a.length>0&&0===a[a.length-1];)a.pop();return a.length>0&&(l+=".",l+=a.map((t=>t.toString(16).toUpperCase())).join(".")),l}if("vp8"===e)return"vp8";if("vp9"===e){if(!s){const e=t.width*t.height;let n=gI(XI).level;for(const t of XI)if(e<=t.maxPictureSize){n=t.level;break}return`vp09.00.${n.toString().padStart(2,"0")}.08`}let e=`vp09.${s.profile.toString().padStart(2,"0")}.${s.level.toString().padStart(2,"0")}.${s.bitDepth.toString().padStart(2,"0")}.${s.chromaSubsampling.toString().padStart(2,"0")}`;return e+=`.${s.colourPrimaries.toString().padStart(2,"0")}.${s.transferCharacteristics.toString().padStart(2,"0")}.${s.matrixCoefficients.toString().padStart(2,"0")}.${s.videoFullRangeFlag.toString().padStart(2,"0")}`,e.endsWith(".01.01.01.01.00")&&(e=e.slice(0,-15)),e}if("av1"===e){if(!a){const e=t.width*t.height;let n=gI(XI).level;for(const t of XI)if(e<=t.maxPictureSize){n=t.level;break}return`av01.0.${n.toString().padStart(2,"0")}M.08`}const e=a.profile,n=a.level.toString().padStart(2,"0"),r=a.tier?"H":"M",o=a.bitDepth.toString().padStart(2,"0"),s=a.monochrome?"1":"0",l=100*a.chromaSubsamplingX+10*a.chromaSubsamplingY+1*(a.chromaSubsamplingX&&a.chromaSubsamplingY?a.chromaSamplePosition:0),c=null!=i&&i.primaries?_I[i.primaries]:1,u=null!=i&&i.transfer?TI[i.transfer]:1,d=null!=i&&i.matrix?SI[i.matrix]:1,h=null!=i&&i.fullRange?1:0;let f=`av01.${e}.${n}${r}.${o}`;return f+=`.${s}.${l.toString().padStart(3,"0")}`,f+=`.${c.toString().padStart(2,"0")}`,f+=`.${u.toString().padStart(2,"0")}`,f+=`.${d.toString().padStart(2,"0")}`,f+=`.${h}`,f.endsWith(".0.110.01.01.01.0")&&(f=f.slice(0,-17)),f}throw new TypeError(`Unhandled codec '${e}'.`)},QI=t=>{const{codec:e,codecDescription:n,aacCodecInfo:i}=t;if("aac"===e){if(!i)throw new TypeError("AAC codec info must be provided.");if(i.isMpeg2)return"mp4a.67";{let t;return t=null!==i.objectType?i.objectType:HI(n).objectType,`mp4a.40.${t}`}}if("mp3"===e)return"mp3";if("opus"===e)return"opus";if("vorbis"===e)return"vorbis";if("flac"===e)return"flac";if("ac3"===e)return"ac-3";if("eac3"===e)return"ec-3";if(e&&KI.includes(e))return e;throw new TypeError(`Unhandled codec '${e}'.`)},JI=/^pcm-([usf])(\d+)+(be)?$/,ZI=[48e3,44100,32e3],tT=[24e3,22050,16e3];var eT,nT;!function(t){t[t.NON_IDR_SLICE=1]="NON_IDR_SLICE",t[t.SLICE_DPA=2]="SLICE_DPA",t[t.SLICE_DPB=3]="SLICE_DPB",t[t.SLICE_DPC=4]="SLICE_DPC",t[t.IDR=5]="IDR",t[t.SEI=6]="SEI",t[t.SPS=7]="SPS",t[t.PPS=8]="PPS",t[t.AUD=9]="AUD",t[t.SPS_EXT=13]="SPS_EXT"}(eT||(eT={})),function(t){t[t.RASL_N=8]="RASL_N",t[t.RASL_R=9]="RASL_R",t[t.BLA_W_LP=16]="BLA_W_LP",t[t.RSV_IRAP_VCL23=23]="RSV_IRAP_VCL23",t[t.VPS_NUT=32]="VPS_NUT",t[t.SPS_NUT=33]="SPS_NUT",t[t.PPS_NUT=34]="PPS_NUT",t[t.AUD_NUT=35]="AUD_NUT",t[t.PREFIX_SEI_NUT=39]="PREFIX_SEI_NUT",t[t.SUFFIX_SEI_NUT=40]="SUFFIX_SEI_NUT"}(nT||(nT={}));const iT=function*(t){let e=0,n=-1;for(;e<t.length-2;){const i=t.indexOf(0,e);if(-1===i||i>=t.length-2)break;e=i;let r=0;e+3<t.length&&0===t[e+1]&&0===t[e+2]&&1===t[e+3]?r=4:0===t[e+1]&&1===t[e+2]&&(r=3),0!==r?(-1!==n&&e>n&&(yield{offset:n,length:e-n}),n=e+r,e=n):e++}-1!==n&&n<t.length&&(yield{offset:n,length:t.length-n})},rT=function*(t,e){let n=0;const i=new DataView(t.buffer,t.byteOffset,t.byteLength);for(;n+e<=t.length;){let t;1===e?t=i.getUint8(n):2===e?t=i.getUint16(n,!1):3===e?t=PI(i,n):(vI(4===e),t=i.getUint32(n,!1)),n+=e,yield{offset:n,length:t},n+=t}},oT=t=>31&t,sT=t=>{const e=[],n=t.length;for(let i=0;i<n;i++)i+2<n&&0===t[i]&&0===t[i+1]&&3===t[i+2]?(e.push(0,0),i+=2):e.push(t[i]);return new Uint8Array(e)},aT=t=>t>>1&63,lT=function*(t){const e=new qI(t),n=()=>{let t=0;for(let n=0;n<8;n++){const i=e.readAlignedByte();if(t|=(127&i)<<7*n,!(128&i))break;if(7===n&&128&i)return null}return t>=2**32-1?null:t};for(;e.getBitsLeft()>=8;){e.skipBits(1);const i=e.readBits(4),r=e.readBits(1),o=e.readBits(1);let s;if(e.skipBits(1),r&&e.skipBits(8),o){const t=n();if(null===t)return;s=t}else s=Math.floor(e.getBitsLeft()/8);vI(e.pos%8==0),yield{type:i,data:t.subarray(e.pos/8,e.pos/8+s)},e.skipBits(8*s)}};var cT;!function(t){t[t.STREAMINFO=0]="STREAMINFO",t[t.VORBIS_COMMENT=4]="VORBIS_COMMENT",t[t.PICTURE=6]="PICTURE"}(cT||(cT={}));const uT=[2,1,2,3,3,4,4,5];class dT{constructor(t){this.input=t}}const hT=[],fT=[],pT=new Uint8Array(0);class mT{constructor(t,e,n,i,r=-1,o,s){if(this.data=t,this.type=e,this.timestamp=n,this.duration=i,this.sequenceNumber=r,t===pT&&void 0===o)throw new Error("Internal error: byteLength must be explicitly provided when constructing metadata-only packets.");if(void 0===o&&(o=t.byteLength),!(t instanceof Uint8Array))throw new TypeError("data must be a Uint8Array.");if("key"!==e&&"delta"!==e)throw new TypeError('type must be either "key" or "delta".');if(!Number.isFinite(n))throw new TypeError("timestamp must be a number.");if(!Number.isFinite(i)||i<0)throw new TypeError("duration must be a non-negative number.");if(!Number.isFinite(r))throw new TypeError("sequenceNumber must be a number.");if(!Number.isInteger(o)||o<0)throw new TypeError("byteLength must be a non-negative integer.");if(void 0!==s&&("object"!=typeof s||!s))throw new TypeError("sideData, when provided, must be an object.");if(void 0!==(null==s?void 0:s.alpha)&&!(s.alpha instanceof Uint8Array))throw new TypeError("sideData.alpha, when provided, must be a Uint8Array.");if(void 0!==(null==s?void 0:s.alphaByteLength)&&(!Number.isInteger(s.alphaByteLength)||s.alphaByteLength<0))throw new TypeError("sideData.alphaByteLength, when provided, must be a non-negative integer.");this.byteLength=o,this.sideData=null!=s?s:{},this.sideData.alpha&&void 0===this.sideData.alphaByteLength&&(this.sideData.alphaByteLength=this.sideData.alpha.byteLength)}get isMetadataOnly(){return this.data===pT}get microsecondTimestamp(){return Math.trunc(BI*this.timestamp)}get microsecondDuration(){return Math.trunc(BI*this.duration)}toEncodedVideoChunk(){if(this.isMetadataOnly)throw new TypeError("Metadata-only packets cannot be converted to a video chunk.");if("undefined"==typeof EncodedVideoChunk)throw new Error("Your browser does not support EncodedVideoChunk.");return new EncodedVideoChunk({data:this.data,type:this.type,timestamp:this.microsecondTimestamp,duration:this.microsecondDuration})}alphaToEncodedVideoChunk(t=this.type){if(!this.sideData.alpha)throw new TypeError("This packet does not contain alpha side data.");if(this.isMetadataOnly)throw new TypeError("Metadata-only packets cannot be converted to a video chunk.");if("undefined"==typeof EncodedVideoChunk)throw new Error("Your browser does not support EncodedVideoChunk.");return new EncodedVideoChunk({data:this.sideData.alpha,type:t,timestamp:this.microsecondTimestamp,duration:this.microsecondDuration})}toEncodedAudioChunk(){if(this.isMetadataOnly)throw new TypeError("Metadata-only packets cannot be converted to an audio chunk.");if("undefined"==typeof EncodedAudioChunk)throw new Error("Your browser does not support EncodedAudioChunk.");return new EncodedAudioChunk({data:this.data,type:this.type,timestamp:this.microsecondTimestamp,duration:this.microsecondDuration})}static fromEncodedChunk(t,e){var n;if(!(t instanceof EncodedVideoChunk||t instanceof EncodedAudioChunk))throw new TypeError("chunk must be an EncodedVideoChunk or EncodedAudioChunk.");const i=new Uint8Array(t.byteLength);return t.copyTo(i),new mT(i,t.type,t.timestamp/1e6,(null!==(n=t.duration)&&void 0!==n?n:0)/1e6,void 0,void 0,e)}clone(t){var e,n,i,r,o,s;if(void 0!==t&&("object"!=typeof t||null===t))throw new TypeError("options, when provided, must be an object.");if(void 0!==(null==t?void 0:t.data)&&!(t.data instanceof Uint8Array))throw new TypeError("options.data, when provided, must be a Uint8Array.");if(void 0!==(null==t?void 0:t.type)&&"key"!==t.type&&"delta"!==t.type)throw new TypeError('options.type, when provided, must be either "key" or "delta".');if(void 0!==(null==t?void 0:t.timestamp)&&!Number.isFinite(t.timestamp))throw new TypeError("options.timestamp, when provided, must be a number.");if(void 0!==(null==t?void 0:t.duration)&&!Number.isFinite(t.duration))throw new TypeError("options.duration, when provided, must be a number.");if(void 0!==(null==t?void 0:t.sequenceNumber)&&!Number.isFinite(t.sequenceNumber))throw new TypeError("options.sequenceNumber, when provided, must be a number.");if(void 0!==(null==t?void 0:t.sideData)&&("object"!=typeof t.sideData||null===t.sideData))throw new TypeError("options.sideData, when provided, must be an object.");return new mT(null!==(e=null==t?void 0:t.data)&&void 0!==e?e:this.data,null!==(n=null==t?void 0:t.type)&&void 0!==n?n:this.type,null!==(i=null==t?void 0:t.timestamp)&&void 0!==i?i:this.timestamp,null!==(r=null==t?void 0:t.duration)&&void 0!==r?r:this.duration,null!==(o=null==t?void 0:t.sequenceNumber)&&void 0!==o?o:this.sequenceNumber,this.byteLength,null!==(s=null==t?void 0:t.sideData)&&void 0!==s?s:this.sideData)}}const vT=t=>{if(!t||"object"!=typeof t)throw new TypeError("options must be an object.");if(void 0!==t.metadataOnly&&"boolean"!=typeof t.metadataOnly)throw new TypeError("options.metadataOnly, when defined, must be a boolean.");if(void 0!==t.verifyKeyPackets&&"boolean"!=typeof t.verifyKeyPackets)throw new TypeError("options.verifyKeyPackets, when defined, must be a boolean.");if(t.verifyKeyPackets&&t.metadataOnly)throw new TypeError("options.verifyKeyPackets and options.metadataOnly cannot be enabled together.")},gT=t=>{if(!jI(t))throw new TypeError("timestamp must be a number.")},yT=(t,e,n)=>n.verifyKeyPackets?e.then((async e=>{if(!e||"delta"===e.type)return e;const n=await t.determinePacketType(e);return n&&(e.type=n),e})):e;class bT{constructor(t){if(!(t instanceof kT))throw new TypeError("track must be an InputTrack.");this._track=t}getFirstPacket(t={}){if(vT(t),this._track.input._disposed)throw new GT;return yT(this._track,this._track._backing.getFirstPacket(t),t)}async getFirstKeyPacket(t={}){vT(t);const e=await this.getFirstPacket(t);return e?"key"===e.type?e:this.getNextKeyPacket(e,t):null}getPacket(t,e={}){if(gT(t),vT(e),this._track.input._disposed)throw new GT;return yT(this._track,this._track._backing.getPacket(t,e),e)}getNextPacket(t,e={}){if(!(t instanceof mT))throw new TypeError("packet must be an EncodedPacket.");if(vT(e),this._track.input._disposed)throw new GT;return yT(this._track,this._track._backing.getNextPacket(t,e),e)}async getKeyPacket(t,e={}){if(gT(t),vT(e),this._track.input._disposed)throw new GT;if(!e.verifyKeyPackets)return this._track._backing.getKeyPacket(t,e);const n=await this._track._backing.getKeyPacket(t,e);return n?(vI("key"===n.type),"delta"===await this._track.determinePacketType(n)?this.getKeyPacket(n.timestamp-1/this._track.timeResolution,e):n):n}async getNextKeyPacket(t,e={}){if(!(t instanceof mT))throw new TypeError("packet must be an EncodedPacket.");if(vT(e),this._track.input._disposed)throw new GT;if(!e.verifyKeyPackets)return this._track._backing.getNextKeyPacket(t,e);const n=await this._track._backing.getNextKeyPacket(t,e);return n?(vI("key"===n.type),"delta"===await this._track.determinePacketType(n)?this.getNextKeyPacket(n,e):n):n}packets(t,e,n={}){if(void 0!==t&&!(t instanceof mT))throw new TypeError("startPacket must be an EncodedPacket.");if(void 0!==t&&t.isMetadataOnly&&(null==n||!n.metadataOnly))throw new TypeError("startPacket can only be metadata-only if options.metadataOnly is enabled.");if(void 0!==e&&!(e instanceof mT))throw new TypeError("endPacket must be an EncodedPacket.");if(vT(n),this._track.input._disposed)throw new GT;const i=[];let{promise:r,resolve:o}=OI(),{promise:s,resolve:a}=OI(),l=!1,c=!1,u=null;const d=[];(async()=>{let u=null!=t?t:await this.getFirstPacket(n);for(;u&&!c&&!this._track.input._disposed&&!(e&&u.sequenceNumber>=(null==e?void 0:e.sequenceNumber));)i.length>Math.max(2,d.length)?(({promise:s,resolve:a}=OI()),await s):(i.push(u),o(),({promise:r,resolve:o}=OI()),u=await this.getNextPacket(u,n));l=!0,o()})().catch((t=>{u||(u=t,o())}));const h=this._track;return{async next(){for(;;){if(h.input._disposed)throw new GT;if(c)return{value:void 0,done:!0};if(u)throw u;if(i.length>0){const t=i.shift(),e=performance.now();for(d.push(e);d.length>0&&e-d[0]>=1e3;)d.shift();return a(),{value:t,done:!1}}if(l)return{value:void 0,done:!0};await r}},return:async()=>(c=!0,a(),o(),{value:void 0,done:!0}),async throw(t){throw t},[Symbol.asyncIterator](){return this}}}}class kT{constructor(t,e){this.input=t,this._backing=e}isVideoTrack(){return this instanceof wT}isAudioTrack(){return this instanceof xT}get id(){return this._backing.getId()}get number(){return this._backing.getNumber()}get internalCodecId(){return this._backing.getInternalCodecId()}get languageCode(){return this._backing.getLanguageCode()}get name(){return this._backing.getName()}get timeResolution(){return this._backing.getTimeResolution()}get disposition(){return this._backing.getDisposition()}getFirstTimestamp(){return this._backing.getFirstTimestamp()}computeDuration(){return this._backing.computeDuration()}async computePacketStats(t=1/0){const e=new bT(this);let n=1/0,i=-1/0,r=0,o=0;for await(const s of e.packets(void 0,void 0,{metadataOnly:!0})){if(r>=t&&s.timestamp>=i)break;n=Math.min(n,s.timestamp),i=Math.max(i,s.timestamp+s.duration),r++,o+=s.byteLength}return{packetCount:r,averagePacketRate:r?Number((r/(i-n)).toPrecision(16)):0,averageBitrate:r?Number((8*o/(i-n)).toPrecision(16)):0}}}class wT extends kT{constructor(t,e){super(t,e),this._backing=e,this.pixelAspectRatio=(t=>{vI(0!==t.den);let e=Math.abs(t.num),n=Math.abs(t.den);for(;0!==n;){const t=e%n;e=n,n=t}const i=e||1;return{num:t.num/i,den:t.den/i}})({num:this._backing.getSquarePixelWidth()*this._backing.getCodedHeight(),den:this._backing.getSquarePixelHeight()*this._backing.getCodedWidth()})}get type(){return"video"}get codec(){return this._backing.getCodec()}get codedWidth(){return this._backing.getCodedWidth()}get codedHeight(){return this._backing.getCodedHeight()}get rotation(){return this._backing.getRotation()}get squarePixelWidth(){return this._backing.getSquarePixelWidth()}get squarePixelHeight(){return this._backing.getSquarePixelHeight()}get displayWidth(){return this._backing.getRotation()%180==0?this.squarePixelWidth:this.squarePixelHeight}get displayHeight(){return this._backing.getRotation()%180==0?this.squarePixelHeight:this.squarePixelWidth}getColorSpace(){return this._backing.getColorSpace()}async hasHighDynamicRange(){const t=await this._backing.getColorSpace();return"bt2020"===t.primaries||"smpte432"===t.primaries||"pg"===t.transfer||"hlg"===t.transfer||"bt2020-ncl"===t.matrix}canBeTransparent(){return this._backing.canBeTransparent()}getDecoderConfig(){return this._backing.getDecoderConfig()}async getCodecParameterString(){var t;const e=await this._backing.getDecoderConfig();return null!==(t=null==e?void 0:e.codec)&&void 0!==t?t:null}async canDecode(){try{const t=await this._backing.getDecoderConfig();if(!t)return!1;const e=this._backing.getCodec();return vI(null!==e),hT.some((n=>n.supports(e,t)))?!0:"undefined"!=typeof VideoDecoder&&!0===(await VideoDecoder.isConfigSupported(t)).supported}catch(t){return console.error("Error during decodability check:",t),!1}}async determinePacketType(t){if(!(t instanceof mT))throw new TypeError("packet must be an EncodedPacket.");if(t.isMetadataOnly)throw new TypeError("packet must not be metadata-only to determine its type.");if(null===this.codec)return null;const e=await this.getDecoderConfig();return vI(e),((t,e,n)=>{switch(t){case"avc":for(const t of((t,e)=>{if(e.description){const n=3&bI(e.description)[4];return rT(t,n+1)}return iT(t)})(n,e)){const e=n[t.offset],r=oT(e);if(r>=eT.NON_IDR_SLICE&&r<=eT.SLICE_DPC)return"delta";if(r===eT.IDR)return"key";if(r===eT.SEI&&(i=void 0,!(null!==LI?LI:LI=!("undefined"==typeof navigator||(null===(i=navigator.vendor)||void 0===i||!i.includes("Google Inc"))&&!/Chrome/.test(navigator.userAgent)))||WI()>=144)){const e=n.subarray(t.offset,t.offset+t.length),i=sT(e);let r=1;do{let t=0;for(;;){const e=i[r++];if(void 0===e)break;if(t+=e,e<255)break}let e=0;for(;;){const t=i[r++];if(void 0===t)break;if(e+=t,t<255)break}if(6===t){const t=new qI(i);t.pos=8*r;const e=yI(t),n=t.readBits(1);if(0===e&&1===n)return"key"}r+=e}while(r<i.length-1)}}return"delta";case"hevc":for(const t of((t,e)=>{if(e.description){const n=3&bI(e.description)[21];return rT(t,n+1)}return iT(t)})(n,e)){const e=aT(n[t.offset]);if(e<nT.BLA_W_LP)return"delta";if(e<=nT.RSV_IRAP_VCL23)return"key"}return"delta";case"vp8":return 1&n[0]?"delta":"key";case"vp9":{const t=new qI(n);if(2!==t.readBits(2))return null;const e=t.readBits(1);return 3===(t.readBits(1)<<1)+e&&t.skipBits(1),t.readBits(1)?null:0===t.readBits(1)?"key":"delta"}case"av1":{let t=!1;for(const{type:e,data:i}of lT(n))if(1===e){const e=new qI(i);e.skipBits(4),t=!!e.readBits(1)}else if(3===e||6===e||7===e){if(t)return"key";const e=new qI(i);return e.readBits(1)?null:0===e.readBits(2)?"key":"delta"}return null}default:(t=>{throw new Error(`Unexpected value: ${t}`)})(t),vI(!1)}var i})(this.codec,e,t.data)}}class xT extends kT{constructor(t,e){super(t,e),this._backing=e}get type(){return"audio"}get codec(){return this._backing.getCodec()}get numberOfChannels(){return this._backing.getNumberOfChannels()}get sampleRate(){return this._backing.getSampleRate()}getDecoderConfig(){return this._backing.getDecoderConfig()}async getCodecParameterString(){var t;const e=await this._backing.getDecoderConfig();return null!==(t=null==e?void 0:e.codec)&&void 0!==t?t:null}async canDecode(){try{const t=await this._backing.getDecoderConfig();if(!t)return!1;const e=this._backing.getCodec();return vI(null!==e),fT.some((n=>n.supports(e,t)))?!0:!!t.codec.startsWith("pcm-")||"undefined"!=typeof AudioDecoder&&!0===(await AudioDecoder.isConfigSupported(t)).supported}catch(t){return console.error("Error during decodability check:",t),!1}}async determinePacketType(t){if(!(t instanceof mT))throw new TypeError("packet must be an EncodedPacket.");return null===this.codec?null:"key"}}const _T=t=>{let e=eE(t);const n=sE(t,4);let i=8;1===e&&(e=iE(t),i=16);const r=e-i;return r<0?null:{name:n,totalSize:e,headerSize:i,contentSize:r}},IT=t=>nE(t)/65536,TT=t=>nE(t)/1073741824,ET=t=>{let e=0;for(let n=0;n<4;n++){e<<=7;const n=QT(t);if(e|=127&n,!(128&n))break}return e},ST=t=>{let e=JT(t);return t.skip(2),e=Math.min(e,t.remainingLength),wI.decode(YT(t,e))},MT=t=>{const e=_T(t);if(!e||"data"!==e.name)return null;if(t.remainingLength<8)return null;const n=eE(t);t.skip(4);const i=YT(t,e.contentSize-8);switch(n){case 1:return wI.decode(i);case 2:return new TextDecoder("utf-16be").decode(i);case 13:return new $I(i,"image/jpeg");case 14:return new $I(i,"image/png");case 27:return new $I(i,"image/bmp");default:return i}};class AT extends dT{constructor(t){super(t),this.moovSlice=null,this.currentTrack=null,this.tracks=[],this.metadataPromise=null,this.movieTimescale=-1,this.movieDurationInTimescale=-1,this.isQuickTime=!1,this.metadataTags={},this.currentMetadataKeys=null,this.isFragmented=!1,this.fragmentTrackDefaults=[],this.currentFragment=null,this.lastReadFragment=null,this.reader=t._reader}async computeDuration(){const t=await this.getTracks(),e=await Promise.all(t.map((t=>t.computeDuration())));return Math.max(0,...e)}async getTracks(){return await this.readMetadata(),this.tracks.map((t=>t.inputTrack))}async getMimeType(){await this.readMetadata();const t=await Promise.all(this.tracks.map((t=>t.inputTrack.getCodecParameterString())));return(t=>{let e=(t.hasVideo?"video/":t.hasAudio?"audio/":"application/")+(t.isQuickTime?"quicktime":"mp4");return t.codecStrings.length>0&&(e+=`; codecs="${[...new Set(t.codecStrings)].join(", ")}"`),e})({isQuickTime:this.isQuickTime,hasVideo:this.tracks.some((t=>{var e;return"video"===(null===(e=t.info)||void 0===e?void 0:e.type)})),hasAudio:this.tracks.some((t=>{var e;return"audio"===(null===(e=t.info)||void 0===e?void 0:e.type)})),codecStrings:t.filter(Boolean)})}async getMetadataTags(){return await this.readMetadata(),this.metadataTags}readMetadata(){var t;return null!==(t=this.metadataPromise)&&void 0!==t?t:this.metadataPromise=(async()=>{let t=0;for(;;){let e=this.reader.requestSliceRange(t,8,16);if(e instanceof Promise&&(e=await e),!e)break;const n=t,i=_T(e);if(!i)break;if("ftyp"===i.name){const t=sE(e,4);this.isQuickTime="qt "===t}else if("moov"===i.name){let t=this.reader.requestSlice(e.filePos,i.contentSize);if(t instanceof Promise&&(t=await t),!t)break;this.moovSlice=t,this.readContiguousBoxes(this.moovSlice),this.tracks.sort(((t,e)=>Number(e.disposition.default)-Number(t.disposition.default)));for(const t of this.tracks){const e=t.editListPreviousSegmentDurations/this.movieTimescale;t.editListOffset-=Math.round(e*t.timescale)}break}t=n+i.totalSize}if(this.isFragmented&&null!==this.reader.fileSize){let t=this.reader.requestSlice(this.reader.fileSize-4,4);t instanceof Promise&&(t=await t),vI(t);const e=eE(t),n=this.reader.fileSize-e;if(n>=0&&n<=this.reader.fileSize-16){let t=this.reader.requestSliceRange(n,8,16);if(t instanceof Promise&&(t=await t),t){const e=_T(t);if(e&&"mfra"===e.name){let n=this.reader.requestSlice(t.filePos,e.contentSize);n instanceof Promise&&(n=await n),n&&this.readContiguousBoxes(n)}}}}})()}getSampleTableForTrack(t){var e;if(t.sampleTable)return t.sampleTable;const n={sampleTimingEntries:[],sampleCompositionTimeOffsets:[],sampleSizes:[],keySampleIndices:null,chunkOffsets:[],sampleToChunk:[],presentationTimestamps:null,presentationTimestampIndexMap:null};t.sampleTable=n,vI(this.moovSlice);const i=this.moovSlice.slice(t.sampleTableByteOffset);if(this.currentTrack=t,this.traverseBox(i),this.currentTrack=null,"audio"===(null===(e=t.info)||void 0===e?void 0:e.type)&&t.info.codec&&KI.includes(t.info.codec)&&0===n.sampleCompositionTimeOffsets.length){var r;vI("audio"===(null===(r=t.info)||void 0===r?void 0:r.type));const e=(t=>{if(vI(KI.includes(t)),"ulaw"===t)return{dataType:"ulaw",sampleSize:1,littleEndian:!0,silentValue:255};if("alaw"===t)return{dataType:"alaw",sampleSize:1,littleEndian:!0,silentValue:213};const e=JI.exec(t);let n;return vI(e),n="u"===e[1]?"unsigned":"s"===e[1]?"signed":"float",{dataType:n,sampleSize:Number(e[2])/8,littleEndian:"be"!==e[3],silentValue:"pcm-u8"===t?128:0}})(t.info.codec),i=[],o=[];for(let r=0;r<n.sampleToChunk.length;r++){const s=n.sampleToChunk[r],a=n.sampleToChunk[r+1],l=(a?a.startChunkIndex:n.chunkOffsets.length)-s.startChunkIndex;for(let r=0;r<l;r++){const a=s.startSampleIndex+r*s.samplesPerChunk,l=a+s.samplesPerChunk,c=FI(n.sampleTimingEntries,a,(t=>t.startIndex)),u=n.sampleTimingEntries[c],d=FI(n.sampleTimingEntries,l,(t=>t.startIndex)),h=n.sampleTimingEntries[d],f=u.startDecodeTimestamp+(a-u.startIndex)*u.delta,p=h.startDecodeTimestamp+(l-h.startIndex)*h.delta-f,m=gI(i);m&&m.delta===p?m.count++:i.push({startIndex:s.startChunkIndex+r,startDecodeTimestamp:f,count:1,delta:p});const v=s.samplesPerChunk*e.sampleSize*t.info.numberOfChannels;o.push(v)}s.startSampleIndex=s.startChunkIndex,s.samplesPerChunk=1}n.sampleTimingEntries=i,n.sampleSizes=o}if(n.sampleCompositionTimeOffsets.length>0){n.presentationTimestamps=[];for(const t of n.sampleTimingEntries)for(let e=0;e<t.count;e++)n.presentationTimestamps.push({presentationTimestamp:t.startDecodeTimestamp+e*t.delta,sampleIndex:t.startIndex+e});for(const t of n.sampleCompositionTimeOffsets)for(let e=0;e<t.count;e++){const i=t.startIndex+e,r=n.presentationTimestamps[i];r&&(r.presentationTimestamp+=t.offset)}n.presentationTimestamps.sort(((t,e)=>t.presentationTimestamp-e.presentationTimestamp)),n.presentationTimestampIndexMap=Array(n.presentationTimestamps.length).fill(-1);for(let t=0;t<n.presentationTimestamps.length;t++)n.presentationTimestampIndexMap[n.presentationTimestamps[t].sampleIndex]=t}return n}async readFragment(t){var e;if((null===(e=this.lastReadFragment)||void 0===e?void 0:e.moofOffset)===t)return this.lastReadFragment;let n=this.reader.requestSliceRange(t,8,16);n instanceof Promise&&(n=await n),vI(n);const i=_T(n);vI("moof"===(null==i?void 0:i.name));let r=this.reader.requestSlice(t,i.totalSize);r instanceof Promise&&(r=await r),vI(r),this.traverseBox(r);const o=this.lastReadFragment;vI(o&&o.moofOffset===t);for(const[,t]of o.trackData){const e=t.track,{fragmentPositionCache:n}=e;if(!t.startTimestampIsFinal){const i=e.fragmentLookupTable.find((t=>t.moofOffset===o.moofOffset));if(i)BT(t,i.timestamp);else{const e=FI(n,o.moofOffset-1,(t=>t.moofOffset));if(-1!==e){const i=n[e];BT(t,i.endTimestamp)}}t.startTimestampIsFinal=!0}const i=FI(n,t.startTimestamp,(t=>t.startTimestamp));-1!==i&&n[i].moofOffset===o.moofOffset||n.splice(i+1,0,{moofOffset:o.moofOffset,startTimestamp:t.startTimestamp,endTimestamp:t.endTimestamp})}return o}readContiguousBoxes(t){const e=t.filePos;for(;t.filePos-e<=t.length-8&&this.traverseBox(t););}*iterateContiguousBoxes(t){const e=t.filePos;for(;t.filePos-e<=t.length-8;){const e=t.filePos,n=_T(t);if(!n)break;yield{boxInfo:n,slice:t},t.filePos=e+n.totalSize}}traverseBox(t){var e,n,i,r,o,s,a,l,c,u,d,h,f,p,m,v,g,y,b,k,w,x,_,I,T,E,S,M,A,N,C,F,O,P,R,D;const B=t.filePos,L=_T(t);if(!L)return!1;const z=t.filePos,W=B+L.totalSize;switch(L.name){case"mdia":case"minf":case"dinf":case"mfra":case"edts":case"wave":this.readContiguousBoxes(t.slice(z,L.contentSize));break;case"mvhd":{const e=QT(t);t.skip(3),1===e?(t.skip(16),this.movieTimescale=eE(t),this.movieDurationInTimescale=iE(t)):(t.skip(8),this.movieTimescale=eE(t),this.movieDurationInTimescale=eE(t))}break;case"trak":{const e={id:-1,demuxer:this,inputTrack:null,disposition:{...UI},info:null,timescale:-1,durationInMovieTimescale:-1,durationInMediaTimescale:-1,rotation:0,internalCodecId:null,name:null,languageCode:"und",sampleTableByteOffset:-1,sampleTable:null,fragmentLookupTable:[],currentFragmentState:null,fragmentPositionCache:[],editListPreviousSegmentDurations:0,editListOffset:0};if(this.currentTrack=e,this.readContiguousBoxes(t.slice(z,L.contentSize)),-1!==e.id&&-1!==e.timescale&&null!==e.info)if("video"===e.info.type&&-1!==e.info.width){const t=e;e.inputTrack=new wT(this.input,new CT(t)),this.tracks.push(e)}else if("audio"===e.info.type&&-1!==e.info.numberOfChannels){const t=e;e.inputTrack=new xT(this.input,new FT(t)),this.tracks.push(e)}this.currentTrack=null}break;case"tkhd":{const e=this.currentTrack;if(!e)break;const n=QT(t),i=!!(1&ZT(t));if(e.disposition.default=i,0===n)t.skip(8),e.id=eE(t),t.skip(4),e.durationInMovieTimescale=eE(t);else{if(1!==n)throw new Error(`Incorrect track header version ${n}.`);t.skip(16),e.id=eE(t),t.skip(4),e.durationInMovieTimescale=iE(t)}t.skip(16);const r=[IT(t),IT(t),TT(t),IT(t),IT(t),TT(t),IT(t),IT(t),TT(t)],o=(t=>{const e=(t%360+360)%360;if(0===e||90===e||180===e||270===e)return e;throw new Error(`Invalid rotation ${t}.`)})((Ft=LT(r),90*Math.round(Ft/90)));vI(0===o||90===o||180===o||270===o),e.rotation=o}break;case"elst":{const e=this.currentTrack;if(!e)break;const n=QT(t);t.skip(3);let i=!1,r=0;const o=eE(t);for(let s=0;s<o;s++){const o=1===n?iE(t):eE(t),s=1===n?rE(t):nE(t),a=IT(t);if(0!==o){if(i){console.warn("Unsupported edit list: multiple edits are not currently supported. Only using first edit.");break}if(-1!==s){if(1!==a){console.warn("Unsupported edit list entry: media rate must be 1.");break}e.editListPreviousSegmentDurations=r,e.editListOffset=s,i=!0}else r+=o}}}break;case"mdhd":{const e=this.currentTrack;if(!e)break;const n=QT(t);t.skip(3),0===n?(t.skip(8),e.timescale=eE(t),e.durationInMediaTimescale=eE(t)):1===n&&(t.skip(16),e.timescale=eE(t),e.durationInMediaTimescale=iE(t));let i=JT(t);if(i>0){e.languageCode="";for(let t=0;t<3;t++)e.languageCode=String.fromCharCode(96+(31&i))+e.languageCode,i>>=5;Ct=e.languageCode,DI.test(Ct)||(e.languageCode="und")}}break;case"hdlr":{const e=this.currentTrack;if(!e)break;t.skip(8);const n=sE(t,4);"vide"===n?e.info={type:"video",width:-1,height:-1,squarePixelWidth:-1,squarePixelHeight:-1,codec:null,codecDescription:null,colorSpace:null,avcType:null,avcCodecInfo:null,hevcCodecInfo:null,vp9CodecInfo:null,av1CodecInfo:null}:"soun"===n&&(e.info={type:"audio",numberOfChannels:-1,sampleRate:-1,codec:null,codecDescription:null,aacCodecInfo:null})}break;case"stbl":{const e=this.currentTrack;if(!e)break;e.sampleTableByteOffset=B,this.readContiguousBoxes(t.slice(z,L.contentSize))}break;case"stsd":{const e=this.currentTrack;if(!e)break;if(null===e.info||e.sampleTable)break;const n=QT(t);t.skip(3);const i=eE(t);for(let r=0;r<i;r++){const i=t.filePos,r=_T(t);if(!r)break;e.internalCodecId=r.name;const o=r.name.toLowerCase();if("video"===e.info.type)"avc1"===o||"avc3"===o?(e.info.codec="avc",e.info.avcType="avc1"===o?1:3):"hvc1"===o||"hev1"===o?e.info.codec="hevc":"vp08"===o?e.info.codec="vp8":"vp09"===o?e.info.codec="vp9":"av01"===o?e.info.codec="av1":console.warn(`Unsupported video codec (sample entry type '${r.name}').`),t.skip(24),e.info.width=JT(t),e.info.height=JT(t),e.info.squarePixelWidth=e.info.width,e.info.squarePixelHeight=e.info.height,t.skip(50),this.readContiguousBoxes(t.slice(t.filePos,i+r.totalSize-t.filePos));else{"mp4a"===o||("opus"===o?e.info.codec="opus":"flac"===o?e.info.codec="flac":"twos"===o||"sowt"===o||"raw "===o||"in24"===o||"in32"===o||"fl32"===o||"fl64"===o||"lpcm"===o||"ipcm"===o||"fpcm"===o||("ulaw"===o?e.info.codec="ulaw":"alaw"===o?e.info.codec="alaw":"ac-3"===o?e.info.codec="ac3":"ec-3"===o?e.info.codec="eac3":console.warn(`Unsupported audio codec (sample entry type '${r.name}').`))),t.skip(8);const s=JT(t);t.skip(6);let a=JT(t),l=JT(t);t.skip(4);let c=eE(t)/65536;if(0===n&&s>0)if(1===s)t.skip(4),l=8*eE(t),t.skip(8);else if(2===s){t.skip(4),c=oE(t),a=eE(t),t.skip(4),l=eE(t);const n=eE(t);if(t.skip(8),"lpcm"===o){const t=l+7>>3,i=Boolean(1&n),r=Boolean(2&n),o=4&n?-1:0;l>0&&l<=64&&(i?32===l&&(e.info.codec=r?"pcm-f32be":"pcm-f32"):o&1<<t-1?1===t?e.info.codec="pcm-s8":2===t?e.info.codec=r?"pcm-s16be":"pcm-s16":3===t?e.info.codec=r?"pcm-s24be":"pcm-s24":4===t&&(e.info.codec=r?"pcm-s32be":"pcm-s32"):1===t&&(e.info.codec="pcm-u8")),null===e.info.codec&&console.warn("Unsupported PCM format.")}}"opus"===e.info.codec&&(c=48e3),e.info.numberOfChannels=a,e.info.sampleRate=c,"twos"===o?8===l?e.info.codec="pcm-s8":16===l?e.info.codec="pcm-s16be":(console.warn(`Unsupported sample size ${l} for codec 'twos'.`),e.info.codec=null):"sowt"===o?8===l?e.info.codec="pcm-s8":16===l?e.info.codec="pcm-s16":(console.warn(`Unsupported sample size ${l} for codec 'sowt'.`),e.info.codec=null):"raw "===o?e.info.codec="pcm-u8":"in24"===o?e.info.codec="pcm-s24be":"in32"===o?e.info.codec="pcm-s32be":"fl32"===o?e.info.codec="pcm-f32be":"fl64"===o?e.info.codec="pcm-f64be":"ipcm"===o?e.info.codec="pcm-s16be":"fpcm"===o&&(e.info.codec="pcm-f32be"),this.readContiguousBoxes(t.slice(t.filePos,i+r.totalSize-t.filePos))}}}break;case"avcC":{const e=this.currentTrack;if(!e)break;vI(e.info),e.info.codecDescription=YT(t,L.contentSize)}break;case"hvcC":{const e=this.currentTrack;if(!e)break;vI(e.info),e.info.codecDescription=YT(t,L.contentSize)}break;case"vpcC":{var j;const e=this.currentTrack;if(!e)break;vI("video"===(null===(j=e.info)||void 0===j?void 0:j.type)),t.skip(4);const n=QT(t),i=QT(t),r=QT(t),o=r>>4,s=r>>1&7,a=1&r,l=QT(t),c=QT(t),u=QT(t);e.info.vp9CodecInfo={profile:n,level:i,bitDepth:o,chromaSubsampling:s,videoFullRangeFlag:a,colourPrimaries:l,transferCharacteristics:c,matrixCoefficients:u}}break;case"av1C":{var $;const e=this.currentTrack;if(!e)break;vI("video"===(null===($=e.info)||void 0===$?void 0:$.type)),t.skip(1);const n=QT(t),i=n>>5,r=31&n,o=QT(t),s=o>>7,a=o>>6&1,l=o>>4&1,c=o>>3&1,u=o>>2&1,d=3&o,h=2===i&&a?o>>5&1?12:10:a?10:8;e.info.av1CodecInfo={profile:i,level:r,tier:s,bitDepth:h,monochrome:l,chromaSubsamplingX:c,chromaSubsamplingY:u,chromaSamplePosition:d}}break;case"colr":{var U;const e=this.currentTrack;if(!e)break;if(vI("video"===(null===(U=e.info)||void 0===U?void 0:U.type)),"nclx"!==sE(t,4))break;const n=JT(t),i=JT(t),r=JT(t),o=Boolean(128&QT(t));e.info.colorSpace={primaries:II[n],transfer:EI[i],matrix:MI[r],fullRange:o}}break;case"pasp":{var q;const e=this.currentTrack;if(!e)break;vI("video"===(null===(q=e.info)||void 0===q?void 0:q.type));const n=eE(t),i=eE(t);n>i?e.info.squarePixelWidth=Math.round(e.info.width*n/i):e.info.squarePixelHeight=Math.round(e.info.height*i/n)}break;case"esds":{var V;const e=this.currentTrack;if(!e)break;vI("audio"===(null===(V=e.info)||void 0===V?void 0:V.type)),t.skip(4),vI(3===QT(t)),ET(t),t.skip(2);const n=QT(t),i=!!(64&n),r=!!(32&n);if(!!(128&n)&&t.skip(2),i){const e=QT(t);t.skip(e)}r&&t.skip(2),vI(4===QT(t));const o=ET(t),s=t.filePos,a=QT(t);if(64===a||103===a?(e.info.codec="aac",e.info.aacCodecInfo={isMpeg2:103===a,objectType:null}):105===a||107===a?e.info.codec="mp3":221===a?e.info.codec="vorbis":console.warn(`Unsupported audio codec (objectTypeIndication ${a}) - discarding track.`),t.skip(12),o>t.filePos-s){vI(5===QT(t));const n=ET(t);if(e.info.codecDescription=YT(t,n),"aac"===e.info.codec){const t=HI(e.info.codecDescription);null!==t.numberOfChannels&&(e.info.numberOfChannels=t.numberOfChannels),null!==t.sampleRate&&(e.info.sampleRate=t.sampleRate)}}}break;case"enda":{var G;const e=this.currentTrack;if(!e)break;vI("audio"===(null===(G=e.info)||void 0===G?void 0:G.type)),255&JT(t)&&("pcm-s16be"===e.info.codec?e.info.codec="pcm-s16":"pcm-s24be"===e.info.codec?e.info.codec="pcm-s24":"pcm-s32be"===e.info.codec?e.info.codec="pcm-s32":"pcm-f32be"===e.info.codec?e.info.codec="pcm-f32":"pcm-f64be"===e.info.codec&&(e.info.codec="pcm-f64"))}break;case"pcmC":{var H;const e=this.currentTrack;if(!e)break;vI("audio"===(null===(H=e.info)||void 0===H?void 0:H.type)),t.skip(4);const n=QT(t),i=Boolean(1&n),r=QT(t);"pcm-s16be"===e.info.codec?i?16===r?e.info.codec="pcm-s16":24===r?e.info.codec="pcm-s24":32===r?e.info.codec="pcm-s32":(console.warn(`Invalid ipcm sample size ${r}.`),e.info.codec=null):16===r?e.info.codec="pcm-s16be":24===r?e.info.codec="pcm-s24be":32===r?e.info.codec="pcm-s32be":(console.warn(`Invalid ipcm sample size ${r}.`),e.info.codec=null):"pcm-f32be"===e.info.codec&&(i?32===r?e.info.codec="pcm-f32":64===r?e.info.codec="pcm-f64":(console.warn(`Invalid fpcm sample size ${r}.`),e.info.codec=null):32===r?e.info.codec="pcm-f32be":64===r?e.info.codec="pcm-f64be":(console.warn(`Invalid fpcm sample size ${r}.`),e.info.codec=null));break}case"dOps":{var K;const e=this.currentTrack;if(!e)break;vI("audio"===(null===(K=e.info)||void 0===K?void 0:K.type)),t.skip(1);const n=QT(t),i=JT(t),r=eE(t),o=tE(t),s=QT(t);let a;a=0!==s?YT(t,2+n):new Uint8Array(0);const l=new Uint8Array(19+a.byteLength),c=new DataView(l.buffer);c.setUint32(0,1332770163,!1),c.setUint32(4,1214603620,!1),c.setUint8(8,1),c.setUint8(9,n),c.setUint16(10,i,!0),c.setUint32(12,r,!0),c.setInt16(16,o,!0),c.setUint8(18,s),l.set(a,19),e.info.codecDescription=l,e.info.numberOfChannels=n}break;case"dfLa":{var X;const e=this.currentTrack;if(!e)break;vI("audio"===(null===(X=e.info)||void 0===X?void 0:X.type)),t.skip(4);const n=127,i=128,r=t.filePos;for(;t.filePos<W;){const r=QT(t),o=ZT(t);if((r&n)===cT.STREAMINFO){t.skip(10);const n=eE(t),i=n>>>12,r=1+(n>>9&7);e.info.sampleRate=i,e.info.numberOfChannels=r,t.skip(20)}else t.skip(o);if(r&i)break}const o=t.filePos;t.filePos=r;const s=YT(t,o-r),a=new Uint8Array(4+s.byteLength);new DataView(a.buffer).setUint32(0,1716281667,!1),a.set(s,4),e.info.codecDescription=a}break;case"dac3":{var Y;const e=this.currentTrack;if(!e)break;vI("audio"===(null===(Y=e.info)||void 0===Y?void 0:Y.type));const n=YT(t,3),i=new qI(n),r=i.readBits(2);i.skipBits(8);const o=i.readBits(3),s=i.readBits(1);r<3&&(e.info.sampleRate=ZI[r]),e.info.numberOfChannels=uT[o]+s}break;case"dec3":{var Q;const e=this.currentTrack;if(!e)break;vI("audio"===(null===(Q=e.info)||void 0===Q?void 0:Q.type));const n=(t=>{if(t.length<2)return null;const e=new qI(t),n=e.readBits(13),i=e.readBits(3),r=[];for(let n=0;n<=i&&!(Math.ceil(e.pos/8)+3>t.length);n++){const t=e.readBits(2),n=e.readBits(5);e.skipBits(1),e.skipBits(1);const i=e.readBits(3),o=e.readBits(3),s=e.readBits(1);e.skipBits(3);const a=e.readBits(4);let l=0;a>0?l=e.readBits(9):e.skipBits(1),r.push({fscod:t,fscod2:null,bsid:n,bsmod:i,acmod:o,lfeon:s,numDepSub:a,chanLoc:l})}return 0===r.length?null:{dataRate:n,substreams:r}})(YT(t,L.contentSize));if(!n){console.warn("Invalid dec3 box contents, ignoring.");break}const i=(t=>{const e=t.substreams[0];return vI(e),e.fscod<3?ZI[e.fscod]:null!==e.fscod2&&e.fscod2<3?tT[e.fscod2]:null})(n);null!==i&&(e.info.sampleRate=i),e.info.numberOfChannels=(t=>{const e=t.substreams[0];vI(e);let n=uT[e.acmod]+e.lfeon;if(e.numDepSub>0){const t=[2,2,1,1,2,2,2,1,1];for(let i=0;i<9;i++)e.chanLoc&1<<8-i&&(n+=t[i])}return n})(n)}break;case"stts":{const e=this.currentTrack;if(!e)break;if(!e.sampleTable)break;t.skip(4);const n=eE(t);let i=0,r=0;for(let o=0;o<n;o++){const n=eE(t),o=eE(t);e.sampleTable.sampleTimingEntries.push({startIndex:i,startDecodeTimestamp:r,count:n,delta:o}),i+=n,r+=n*o}}break;case"ctts":{const e=this.currentTrack;if(!e)break;if(!e.sampleTable)break;t.skip(4);const n=eE(t);let i=0;for(let r=0;r<n;r++){const n=eE(t),r=nE(t);e.sampleTable.sampleCompositionTimeOffsets.push({startIndex:i,count:n,offset:r}),i+=n}}break;case"stsz":{const e=this.currentTrack;if(!e)break;if(!e.sampleTable)break;t.skip(4);const n=eE(t),i=eE(t);if(0===n)for(let n=0;n<i;n++){const n=eE(t);e.sampleTable.sampleSizes.push(n)}else e.sampleTable.sampleSizes.push(n)}break;case"stz2":{const e=this.currentTrack;if(!e)break;if(!e.sampleTable)break;t.skip(4),t.skip(3);const n=QT(t),i=eE(t),r=YT(t,Math.ceil(i*n/8)),o=new qI(r);for(let t=0;t<i;t++){const t=o.readBits(n);e.sampleTable.sampleSizes.push(t)}}break;case"stss":{const e=this.currentTrack;if(!e)break;if(!e.sampleTable)break;t.skip(4),e.sampleTable.keySampleIndices=[];const n=eE(t);for(let i=0;i<n;i++){const n=eE(t)-1;e.sampleTable.keySampleIndices.push(n)}0!==e.sampleTable.keySampleIndices[0]&&e.sampleTable.keySampleIndices.unshift(0)}break;case"stsc":{const e=this.currentTrack;if(!e)break;if(!e.sampleTable)break;t.skip(4);const n=eE(t);for(let i=0;i<n;i++){const n=eE(t)-1,i=eE(t),r=eE(t);e.sampleTable.sampleToChunk.push({startSampleIndex:-1,startChunkIndex:n,samplesPerChunk:i,sampleDescriptionIndex:r})}let i=0;for(let t=0;t<e.sampleTable.sampleToChunk.length;t++)e.sampleTable.sampleToChunk[t].startSampleIndex=i,t<e.sampleTable.sampleToChunk.length-1&&(i+=(e.sampleTable.sampleToChunk[t+1].startChunkIndex-e.sampleTable.sampleToChunk[t].startChunkIndex)*e.sampleTable.sampleToChunk[t].samplesPerChunk)}break;case"stco":{const e=this.currentTrack;if(!e)break;if(!e.sampleTable)break;t.skip(4);const n=eE(t);for(let i=0;i<n;i++){const n=eE(t);e.sampleTable.chunkOffsets.push(n)}}break;case"co64":{const e=this.currentTrack;if(!e)break;if(!e.sampleTable)break;t.skip(4);const n=eE(t);for(let i=0;i<n;i++){const n=iE(t);e.sampleTable.chunkOffsets.push(n)}}break;case"mvex":this.isFragmented=!0,this.readContiguousBoxes(t.slice(z,L.contentSize));break;case"mehd":{const e=QT(t);t.skip(3);const n=1===e?iE(t):eE(t);this.movieDurationInTimescale=n}break;case"trex":{t.skip(4);const e=eE(t),n=eE(t),i=eE(t),r=eE(t),o=eE(t);this.fragmentTrackDefaults.push({trackId:e,defaultSampleDescriptionIndex:n,defaultSampleDuration:i,defaultSampleSize:r,defaultSampleFlags:o})}break;case"tfra":{const e=QT(t);t.skip(3);const n=eE(t),i=this.tracks.find((t=>t.id===n));if(!i)break;const r=eE(t),o=(12&r)>>2,s=3&r,a=[QT,JT,ZT,eE],l=a[(48&r)>>4],c=a[o],u=a[s],d=eE(t);for(let n=0;n<d;n++){const n=1===e?iE(t):eE(t),r=1===e?iE(t):eE(t);l(t),c(t),u(t),i.fragmentLookupTable.push({timestamp:n,moofOffset:r})}i.fragmentLookupTable.sort(((t,e)=>t.timestamp-e.timestamp));for(let t=0;t<i.fragmentLookupTable.length-1;t++){const e=i.fragmentLookupTable[t],n=i.fragmentLookupTable[t+1];e.timestamp===n.timestamp&&(i.fragmentLookupTable.splice(t+1,1),t--)}}break;case"moof":this.currentFragment={moofOffset:B,moofSize:L.totalSize,implicitBaseDataOffset:B,trackData:new Map},this.readContiguousBoxes(t.slice(z,L.contentSize)),this.lastReadFragment=this.currentFragment,this.currentFragment=null;break;case"traf":if(vI(this.currentFragment),this.readContiguousBoxes(t.slice(z,L.contentSize)),this.currentTrack){const t=this.currentFragment.trackData.get(this.currentTrack.id);if(t){const{currentFragmentState:e}=this.currentTrack;vI(e),null!==e.startTimestamp&&(BT(t,e.startTimestamp),t.startTimestampIsFinal=!0)}this.currentTrack.currentFragmentState=null,this.currentTrack=null}break;case"tfhd":{var J,Z,tt,et;vI(this.currentFragment),t.skip(1);const e=ZT(t),n=Boolean(1&e),i=Boolean(2&e),r=Boolean(8&e),o=Boolean(16&e),s=Boolean(32&e),a=Boolean(65536&e),l=Boolean(131072&e),c=eE(t),u=this.tracks.find((t=>t.id===c));if(!u)break;const d=this.fragmentTrackDefaults.find((t=>t.trackId===c));this.currentTrack=u,u.currentFragmentState={baseDataOffset:this.currentFragment.implicitBaseDataOffset,sampleDescriptionIndex:null!==(J=null==d?void 0:d.defaultSampleDescriptionIndex)&&void 0!==J?J:null,defaultSampleDuration:null!==(Z=null==d?void 0:d.defaultSampleDuration)&&void 0!==Z?Z:null,defaultSampleSize:null!==(tt=null==d?void 0:d.defaultSampleSize)&&void 0!==tt?tt:null,defaultSampleFlags:null!==(et=null==d?void 0:d.defaultSampleFlags)&&void 0!==et?et:null,startTimestamp:null},n?u.currentFragmentState.baseDataOffset=iE(t):l&&(u.currentFragmentState.baseDataOffset=this.currentFragment.moofOffset),i&&(u.currentFragmentState.sampleDescriptionIndex=eE(t)),r&&(u.currentFragmentState.defaultSampleDuration=eE(t)),o&&(u.currentFragmentState.defaultSampleSize=eE(t)),s&&(u.currentFragmentState.defaultSampleFlags=eE(t)),a&&(u.currentFragmentState.defaultSampleDuration=0)}break;case"tfdt":{const e=this.currentTrack;if(!e)break;vI(e.currentFragmentState);const n=QT(t);t.skip(3);const i=0===n?eE(t):iE(t);e.currentFragmentState.startTimestamp=i}break;case"trun":{const e=this.currentTrack;if(!e)break;if(vI(this.currentFragment),vI(e.currentFragmentState),this.currentFragment.trackData.has(e.id)){console.warn("Can't have two trun boxes for the same track in one fragment. Ignoring...");break}const n=QT(t),i=ZT(t),r=Boolean(1&i),o=Boolean(4&i),s=Boolean(256&i),a=Boolean(512&i),l=Boolean(1024&i),c=Boolean(2048&i),u=eE(t);let d=e.currentFragmentState.baseDataOffset;r&&(d+=nE(t));let h=null;o&&(h=eE(t));let f=d;if(0===u){this.currentFragment.implicitBaseDataOffset=f;break}let p=0;const m={track:e,startTimestamp:0,endTimestamp:0,firstKeyFrameTimestamp:null,samples:[],presentationTimestamps:[],startTimestampIsFinal:!1};this.currentFragment.trackData.set(e.id,m);for(let i=0;i<u;i++){let r,o,u;s?r=eE(t):(vI(null!==e.currentFragmentState.defaultSampleDuration),r=e.currentFragmentState.defaultSampleDuration),a?o=eE(t):(vI(null!==e.currentFragmentState.defaultSampleSize),o=e.currentFragmentState.defaultSampleSize),l?u=eE(t):(vI(null!==e.currentFragmentState.defaultSampleFlags),u=e.currentFragmentState.defaultSampleFlags),0===i&&null!==h&&(u=h);let d=0;c&&(d=0===n?eE(t):nE(t));const v=!(65536&u);m.samples.push({presentationTimestamp:p+d,duration:r,byteOffset:f,byteSize:o,isKeyFrame:v}),f+=o,p+=r}m.presentationTimestamps=m.samples.map(((t,e)=>({presentationTimestamp:t.presentationTimestamp,sampleIndex:e}))).sort(((t,e)=>t.presentationTimestamp-e.presentationTimestamp));for(let t=0;t<m.presentationTimestamps.length;t++){const e=m.presentationTimestamps[t],n=m.samples[e.sampleIndex];if(null===m.firstKeyFrameTimestamp&&n.isKeyFrame&&(m.firstKeyFrameTimestamp=n.presentationTimestamp),t<m.presentationTimestamps.length-1){const i=m.presentationTimestamps[t+1];n.duration=i.presentationTimestamp-e.presentationTimestamp}}const v=m.samples[m.presentationTimestamps[0].sampleIndex],g=m.samples[gI(m.presentationTimestamps).sampleIndex];m.startTimestamp=v.presentationTimestamp,m.endTimestamp=g.presentationTimestamp+g.duration,this.currentFragment.implicitBaseDataOffset=f}break;case"udta":{const g=this.iterateContiguousBoxes(t.slice(z,L.contentSize));for(const{boxInfo:t,slice:y}of g){if("meta"!==t.name&&!this.currentTrack){var nt,it,rt,ot,st,at,lt,ct;const e=y.filePos;null!==(it=(nt=this.metadataTags).raw)&&void 0!==it||(nt.raw={}),"©"===t.name[0]?null!==(st=(rt=this.metadataTags.raw)[ot=t.name])&&void 0!==st||(rt[ot]=ST(y)):null!==(ct=(at=this.metadataTags.raw)[lt=t.name])&&void 0!==ct||(at[lt]=YT(y,t.contentSize)),y.filePos=e}switch(t.name){case"meta":y.skip(-t.headerSize),this.traverseBox(y);break;case"©nam":case"name":this.currentTrack?this.currentTrack.name=wI.decode(YT(y,t.contentSize)):null!==(n=(e=this.metadataTags).title)&&void 0!==n||(e.title=ST(y));break;case"©des":this.currentTrack||null!==(r=(i=this.metadataTags).description)&&void 0!==r||(i.description=ST(y));break;case"©ART":this.currentTrack||null!==(s=(o=this.metadataTags).artist)&&void 0!==s||(o.artist=ST(y));break;case"©alb":this.currentTrack||null!==(l=(a=this.metadataTags).album)&&void 0!==l||(a.album=ST(y));break;case"albr":this.currentTrack||null!==(u=(c=this.metadataTags).albumArtist)&&void 0!==u||(c.albumArtist=ST(y));break;case"©gen":this.currentTrack||null!==(h=(d=this.metadataTags).genre)&&void 0!==h||(d.genre=ST(y));break;case"©day":if(!this.currentTrack){var ut,dt;const t=new Date(ST(y));Number.isNaN(t.getTime())||null!==(dt=(ut=this.metadataTags).date)&&void 0!==dt||(ut.date=t)}break;case"©cmt":this.currentTrack||null!==(p=(f=this.metadataTags).comment)&&void 0!==p||(f.comment=ST(y));break;case"©lyr":this.currentTrack||null!==(v=(m=this.metadataTags).lyrics)&&void 0!==v||(m.lyrics=ST(y))}}}break;case"meta":{if(this.currentTrack)break;const e=0!==eE(t);this.currentMetadataKeys=new Map,e?this.readContiguousBoxes(t.slice(z,L.contentSize)):this.readContiguousBoxes(t.slice(z+4,L.contentSize-4)),this.currentMetadataKeys=null}break;case"keys":{if(!this.currentMetadataKeys)break;t.skip(4);const e=eE(t);for(let n=0;n<e;n++){const e=eE(t);t.skip(4);const i=wI.decode(YT(t,e-8));this.currentMetadataKeys.set(n+1,i)}}break;case"ilst":{if(!this.currentMetadataKeys)break;const e=this.iterateContiguousBoxes(t.slice(z,L.contentSize));for(const{boxInfo:t,slice:n}of e){var ht,ft,pt,mt,vt;let e=t.name;const i=(e.charCodeAt(0)<<24)+(e.charCodeAt(1)<<16)+(e.charCodeAt(2)<<8)+e.charCodeAt(3);this.currentMetadataKeys.has(i)&&(e=this.currentMetadataKeys.get(i));const r=MT(n);switch(null!==(ft=(ht=this.metadataTags).raw)&&void 0!==ft||(ht.raw={}),null!==(vt=(pt=this.metadataTags.raw)[mt=e])&&void 0!==vt||(pt[mt]=r),e){case"©nam":case"titl":case"com.apple.quicktime.title":case"title":"string"==typeof r&&(null!==(y=(g=this.metadataTags).title)&&void 0!==y||(g.title=r));break;case"©des":case"desc":case"dscp":case"com.apple.quicktime.description":case"description":"string"==typeof r&&(null!==(k=(b=this.metadataTags).description)&&void 0!==k||(b.description=r));break;case"©ART":case"com.apple.quicktime.artist":case"artist":"string"==typeof r&&(null!==(x=(w=this.metadataTags).artist)&&void 0!==x||(w.artist=r));break;case"©alb":case"albm":case"com.apple.quicktime.album":case"album":"string"==typeof r&&(null!==(I=(_=this.metadataTags).album)&&void 0!==I||(_.album=r));break;case"aART":case"album_artist":"string"==typeof r&&(null!==(E=(T=this.metadataTags).albumArtist)&&void 0!==E||(T.albumArtist=r));break;case"©cmt":case"com.apple.quicktime.comment":case"comment":"string"==typeof r&&(null!==(M=(S=this.metadataTags).comment)&&void 0!==M||(S.comment=r));break;case"©gen":case"gnre":case"com.apple.quicktime.genre":case"genre":"string"==typeof r&&(null!==(N=(A=this.metadataTags).genre)&&void 0!==N||(A.genre=r));break;case"©lyr":case"lyrics":"string"==typeof r&&(null!==(F=(C=this.metadataTags).lyrics)&&void 0!==F||(C.lyrics=r));break;case"©day":case"rldt":case"com.apple.quicktime.creationdate":case"date":if("string"==typeof r){var gt,yt;const t=new Date(r);Number.isNaN(t.getTime())||null!==(yt=(gt=this.metadataTags).date)&&void 0!==yt||(gt.date=t)}break;case"covr":case"com.apple.quicktime.artwork":r instanceof $I?(null!==(P=(O=this.metadataTags).images)&&void 0!==P||(O.images=[]),this.metadataTags.images.push({data:r.data,kind:"coverFront",mimeType:r.mimeType})):r instanceof Uint8Array&&(null!==(D=(R=this.metadataTags).images)&&void 0!==D||(R.images=[]),this.metadataTags.images.push({data:r,kind:"coverFront",mimeType:"image/*"}));break;case"track":if("string"==typeof r){var bt,kt,wt,xt;const t=r.split("/"),e=Number.parseInt(t[0],10),n=t[1]&&Number.parseInt(t[1],10);Number.isInteger(e)&&e>0&&(null!==(kt=(bt=this.metadataTags).trackNumber)&&void 0!==kt||(bt.trackNumber=e)),n&&Number.isInteger(n)&&n>0&&(null!==(xt=(wt=this.metadataTags).tracksTotal)&&void 0!==xt||(wt.tracksTotal=n))}break;case"trkn":if(r instanceof Uint8Array&&r.length>=6){var _t,It,Tt,Et;const t=kI(r),e=t.getUint16(2,!1),n=t.getUint16(4,!1);e>0&&(null!==(It=(_t=this.metadataTags).trackNumber)&&void 0!==It||(_t.trackNumber=e)),n>0&&(null!==(Et=(Tt=this.metadataTags).tracksTotal)&&void 0!==Et||(Tt.tracksTotal=n))}break;case"disc":case"disk":if(r instanceof Uint8Array&&r.length>=6){var St,Mt,At,Nt;const t=kI(r),e=t.getUint16(2,!1),n=t.getUint16(4,!1);e>0&&(null!==(Mt=(St=this.metadataTags).discNumber)&&void 0!==Mt||(St.discNumber=e)),n>0&&(null!==(Nt=(At=this.metadataTags).discsTotal)&&void 0!==Nt||(At.discsTotal=n))}}}}}var Ct,Ft;return t.filePos=W,!0}}class NT{constructor(t){this.internalTrack=t,this.packetToSampleIndex=new WeakMap,this.packetToFragmentLocation=new WeakMap}getId(){return this.internalTrack.id}getNumber(){const t=this.internalTrack.demuxer,e=this.internalTrack.inputTrack.type;let n=0;for(const i of t.tracks)if(i.inputTrack.type===e&&n++,i===this.internalTrack)break;return n}getCodec(){throw new Error("Not implemented on base class.")}getInternalCodecId(){return this.internalTrack.internalCodecId}getName(){return this.internalTrack.name}getLanguageCode(){return this.internalTrack.languageCode}getTimeResolution(){return this.internalTrack.timescale}getDisposition(){return this.internalTrack.disposition}async computeDuration(){var t,e;const n=await this.getPacket(1/0,{metadataOnly:!0});return(null!==(t=null==n?void 0:n.timestamp)&&void 0!==t?t:0)+(null!==(e=null==n?void 0:n.duration)&&void 0!==e?e:0)}async getFirstTimestamp(){var t;const e=await this.getFirstPacket({metadataOnly:!0});return null!==(t=null==e?void 0:e.timestamp)&&void 0!==t?t:0}async getFirstPacket(t){const e=await this.fetchPacketForSampleIndex(0,t);return e||!this.internalTrack.demuxer.isFragmented?e:this.performFragmentedLookup(null,(t=>t.trackData.get(this.internalTrack.id)?{sampleIndex:0,correctSampleFound:!0}:{sampleIndex:-1,correctSampleFound:!1}),-1/0,1/0,t)}mapTimestampIntoTimescale(t){return(t=>{const e=Math.round(t);return Math.abs(t/e-1)<10*Number.EPSILON?e:t})(t*this.internalTrack.timescale)+this.internalTrack.editListOffset}async getPacket(t,e){const n=this.mapTimestampIntoTimescale(t),i=this.internalTrack.demuxer.getSampleTableForTrack(this.internalTrack),r=OT(i,n),o=await this.fetchPacketForSampleIndex(r,e);return zT(i)&&this.internalTrack.demuxer.isFragmented?this.performFragmentedLookup(null,(t=>{const e=t.trackData.get(this.internalTrack.id);if(!e)return{sampleIndex:-1,correctSampleFound:!1};const i=FI(e.presentationTimestamps,n,(t=>t.presentationTimestamp));return{sampleIndex:-1!==i?e.presentationTimestamps[i].sampleIndex:-1,correctSampleFound:-1!==i&&n<e.endTimestamp}}),n,n,e):o}async getNextPacket(t,e){const n=this.packetToSampleIndex.get(t);if(void 0!==n)return this.fetchPacketForSampleIndex(n+1,e);const i=this.packetToFragmentLocation.get(t);if(void 0===i)throw new Error("Packet was not created from this track.");return this.performFragmentedLookup(i.fragment,(t=>{if(t===i.fragment){const e=t.trackData.get(this.internalTrack.id);if(i.sampleIndex+1<e.samples.length)return{sampleIndex:i.sampleIndex+1,correctSampleFound:!0}}else if(t.trackData.get(this.internalTrack.id))return{sampleIndex:0,correctSampleFound:!0};return{sampleIndex:-1,correctSampleFound:!1}}),-1/0,1/0,e)}async getKeyPacket(t,e){const n=this.mapTimestampIntoTimescale(t),i=this.internalTrack.demuxer.getSampleTableForTrack(this.internalTrack),r=PT(i,n),o=await this.fetchPacketForSampleIndex(r,e);return zT(i)&&this.internalTrack.demuxer.isFragmented?this.performFragmentedLookup(null,(t=>{const e=t.trackData.get(this.internalTrack.id);if(!e)return{sampleIndex:-1,correctSampleFound:!1};const i=((t,e)=>{for(let n=t.length-1;n>=0;n--)if(e(t[n]))return n;return-1})(e.presentationTimestamps,(t=>e.samples[t.sampleIndex].isKeyFrame&&t.presentationTimestamp<=n));return{sampleIndex:-1!==i?e.presentationTimestamps[i].sampleIndex:-1,correctSampleFound:-1!==i&&n<e.endTimestamp}}),n,n,e):o}async getNextKeyPacket(t,e){const n=this.packetToSampleIndex.get(t);if(void 0!==n){const t=this.internalTrack.demuxer.getSampleTableForTrack(this.internalTrack),i=DT(t,n);return this.fetchPacketForSampleIndex(i,e)}const i=this.packetToFragmentLocation.get(t);if(void 0===i)throw new Error("Packet was not created from this track.");return this.performFragmentedLookup(i.fragment,(t=>{if(t===i.fragment){const e=t.trackData.get(this.internalTrack.id).samples.findIndex(((t,e)=>t.isKeyFrame&&e>i.sampleIndex));if(-1!==e)return{sampleIndex:e,correctSampleFound:!0}}else{const e=t.trackData.get(this.internalTrack.id);if(e&&null!==e.firstKeyFrameTimestamp){const t=e.samples.findIndex((t=>t.isKeyFrame));return vI(-1!==t),{sampleIndex:t,correctSampleFound:!0}}}return{sampleIndex:-1,correctSampleFound:!1}}),-1/0,1/0,e)}async fetchPacketForSampleIndex(t,e){if(-1===t)return null;const n=this.internalTrack.demuxer.getSampleTableForTrack(this.internalTrack),i=RT(n,t);if(!i)return null;let r;if(e.metadataOnly)r=pT;else{let t=this.internalTrack.demuxer.reader.requestSlice(i.sampleOffset,i.sampleSize);t instanceof Promise&&(t=await t),vI(t),r=YT(t,i.sampleSize)}const o=(i.presentationTimestamp-this.internalTrack.editListOffset)/this.internalTrack.timescale,s=i.duration/this.internalTrack.timescale,a=new mT(r,i.isKeyFrame?"key":"delta",o,s,t,i.sampleSize);return this.packetToSampleIndex.set(a,t),a}async fetchPacketInFragment(t,e,n){if(-1===e)return null;const i=t.trackData.get(this.internalTrack.id).samples[e];let r;if(vI(i),n.metadataOnly)r=pT;else{let t=this.internalTrack.demuxer.reader.requestSlice(i.byteOffset,i.byteSize);t instanceof Promise&&(t=await t),vI(t),r=YT(t,i.byteSize)}const o=(i.presentationTimestamp-this.internalTrack.editListOffset)/this.internalTrack.timescale,s=i.duration/this.internalTrack.timescale,a=new mT(r,i.isKeyFrame?"key":"delta",o,s,t.moofOffset+e,i.byteSize);return this.packetToFragmentLocation.set(a,{fragment:t,sampleIndex:e}),a}async performFragmentedLookup(t,e,n,i,r){var o,s;const a=this.internalTrack.demuxer;let l=null,c=null,u=-1;if(t){const{sampleIndex:n,correctSampleFound:i}=e(t);if(i)return this.fetchPacketInFragment(t,n,r);-1!==n&&(c=t,u=n)}const d=FI(this.internalTrack.fragmentLookupTable,n,(t=>t.timestamp)),h=-1!==d?this.internalTrack.fragmentLookupTable[d]:null,f=FI(this.internalTrack.fragmentPositionCache,n,(t=>t.startTimestamp)),p=-1!==f?this.internalTrack.fragmentPositionCache[f]:null,m=Math.max(null!==(o=null==h?void 0:h.moofOffset)&&void 0!==o?o:0,null!==(s=null==p?void 0:p.moofOffset)&&void 0!==s?s:0)||null;let v;for(t?null===m||t.moofOffset>=m?(v=t.moofOffset+t.moofSize,l=t):v=m:v=null!=m?m:0;;){if(l){const t=l.trackData.get(this.internalTrack.id);if(t&&t.startTimestamp>i)break}let t=a.reader.requestSliceRange(v,8,16);if(t instanceof Promise&&(t=await t),!t)break;const n=v,o=_T(t);if(!o)break;if("moof"===o.name){l=await a.readFragment(n);const{sampleIndex:t,correctSampleFound:i}=e(l);if(i)return this.fetchPacketInFragment(l,t,r);-1!==t&&(c=l,u=t)}v=n+o.totalSize}if(h&&(!c||c.moofOffset<h.moofOffset)){var g;const t=this.internalTrack.fragmentLookupTable[d-1];vI(!t||t.timestamp<h.timestamp);const n=null!==(g=null==t?void 0:t.timestamp)&&void 0!==g?g:-1/0;return this.performFragmentedLookup(null,e,n,i,r)}return c?this.fetchPacketInFragment(c,u,r):null}}class CT extends NT{constructor(t){super(t),this.decoderConfigPromise=null,this.internalTrack=t}getCodec(){return this.internalTrack.info.codec}getCodedWidth(){return this.internalTrack.info.width}getCodedHeight(){return this.internalTrack.info.height}getSquarePixelWidth(){return this.internalTrack.info.squarePixelWidth}getSquarePixelHeight(){return this.internalTrack.info.squarePixelHeight}getRotation(){return this.internalTrack.rotation}async getColorSpace(){var t,e,n,i;return{primaries:null===(t=this.internalTrack.info.colorSpace)||void 0===t?void 0:t.primaries,transfer:null===(e=this.internalTrack.info.colorSpace)||void 0===e?void 0:e.transfer,matrix:null===(n=this.internalTrack.info.colorSpace)||void 0===n?void 0:n.matrix,fullRange:null===(i=this.internalTrack.info.colorSpace)||void 0===i?void 0:i.fullRange}}async canBeTransparent(){return!1}async getDecoderConfig(){var t;return this.internalTrack.info.codec?null!==(t=this.decoderConfigPromise)&&void 0!==t?t:this.decoderConfigPromise=(async(t,e)=>{if("vp9"!==this.internalTrack.info.codec||this.internalTrack.info.vp9CodecInfo){if("av1"===this.internalTrack.info.codec&&!this.internalTrack.info.av1CodecInfo){const t=await this.getFirstPacket({});this.internalTrack.info.av1CodecInfo=t&&(t=>{for(const{type:e,data:n}of lT(t)){if(1!==e)continue;const t=new qI(n),i=t.readBits(3);t.readBits(1);const r=t.readBits(1);let o=0,s=0,a=0;if(r)o=t.readBits(5);else{if(t.readBits(1)&&(t.skipBits(32),t.skipBits(32),t.readBits(1)))return null;const e=t.readBits(1);e&&(a=t.readBits(5),t.skipBits(32),t.skipBits(5),t.skipBits(5));const n=t.readBits(5);for(let i=0;i<=n;i++){t.skipBits(12);const n=t.readBits(5);if(0===i&&(o=n),n>7){const e=t.readBits(1);0===i&&(s=e)}if(e&&t.readBits(1)){const e=a+1;t.skipBits(e),t.skipBits(e),t.skipBits(1)}t.readBits(1)&&t.skipBits(4)}}const l=t.readBits(4),c=t.readBits(4),u=l+1;t.skipBits(u);const d=c+1;t.skipBits(d);let h=0;if(h=r?0:t.readBits(1),h&&(t.skipBits(4),t.skipBits(3)),t.skipBits(1),t.skipBits(1),t.skipBits(1),!r){t.skipBits(1),t.skipBits(1),t.skipBits(1),t.skipBits(1);const e=t.readBits(1);e&&(t.skipBits(1),t.skipBits(1));let n=0;n=t.readBits(1)?2:t.readBits(1),n>0&&(t.readBits(1)||t.skipBits(1)),e&&t.skipBits(3)}t.skipBits(1),t.skipBits(1),t.skipBits(1);const f=t.readBits(1);let p=8;2===i&&f?p=t.readBits(1)?12:10:i<=2&&(p=f?10:8);let m=0;1!==i&&(m=t.readBits(1));let v=1,g=1,y=0;return m||(0===i?(v=1,g=1):1===i?(v=0,g=0):12===p&&(v=t.readBits(1),v&&(g=t.readBits(1))),v&&g&&(y=t.readBits(2))),{profile:i,level:o,tier:s,bitDepth:p,monochrome:m,chromaSubsamplingX:v,chromaSubsamplingY:g,chromaSamplePosition:y}}return null})(t.data)}}else{const t=await this.getFirstPacket({});this.internalTrack.info.vp9CodecInfo=t&&(t=>{const e=new qI(t);if(2!==e.readBits(2))return null;const n=e.readBits(1),i=(e.readBits(1)<<1)+n;if(3===i&&e.skipBits(1),1===e.readBits(1))return null;if(0!==e.readBits(1))return null;if(e.skipBits(2),4817730!==e.readBits(24))return null;let r=8;i>=2&&(r=e.readBits(1)?12:10);const o=e.readBits(3);let s=0,a=0;if(7!==o)if(a=e.readBits(1),1===i||3===i){const t=e.readBits(1),n=e.readBits(1);s=t||n?t&&!n?2:1:3,e.skipBits(1)}else s=1;else s=3,a=1;const l=(e.readBits(16)+1)*(e.readBits(16)+1);let c=gI(XI).level;for(const t of XI)if(l<=t.maxPictureSize){c=t.level;break}return{profile:i,level:c,bitDepth:r,chromaSubsampling:s,videoFullRangeFlag:a,colourPrimaries:2===o?1:1===o?6:2,transferCharacteristics:2===o?1:1===o?6:2,matrixCoefficients:7===o?0:2===o?1:1===o?6:2}})(t.data)}return{codec:YI(this.internalTrack.info),codedWidth:this.internalTrack.info.width,codedHeight:this.internalTrack.info.height,displayAspectWidth:this.internalTrack.info.squarePixelWidth,displayAspectHeight:this.internalTrack.info.squarePixelHeight,description:null!==(t=this.internalTrack.info.codecDescription)&&void 0!==t?t:void 0,colorSpace:null!==(e=this.internalTrack.info.colorSpace)&&void 0!==e?e:void 0}})():null}}class FT extends NT{constructor(t){super(t),this.decoderConfig=null,this.internalTrack=t}getCodec(){return this.internalTrack.info.codec}getNumberOfChannels(){return this.internalTrack.info.numberOfChannels}getSampleRate(){return this.internalTrack.info.sampleRate}async getDecoderConfig(){var t,e;return this.internalTrack.info.codec?null!==(t=this.decoderConfig)&&void 0!==t?t:this.decoderConfig={codec:QI(this.internalTrack.info),numberOfChannels:this.internalTrack.info.numberOfChannels,sampleRate:this.internalTrack.info.sampleRate,description:null!==(e=this.internalTrack.info.codecDescription)&&void 0!==e?e:void 0}:null}}const OT=(t,e)=>{if(t.presentationTimestamps){const n=FI(t.presentationTimestamps,e,(t=>t.presentationTimestamp));return-1===n?-1:t.presentationTimestamps[n].sampleIndex}{const n=FI(t.sampleTimingEntries,e,(t=>t.startDecodeTimestamp));if(-1===n)return-1;const i=t.sampleTimingEntries[n];return i.startIndex+Math.min(Math.floor((e-i.startDecodeTimestamp)/i.delta),i.count-1)}},PT=(t,e)=>{if(!t.keySampleIndices)return OT(t,e);if(t.presentationTimestamps){const n=FI(t.presentationTimestamps,e,(t=>t.presentationTimestamp));if(-1===n)return-1;for(let e=n;e>=0;e--){const n=t.presentationTimestamps[e].sampleIndex;if(-1!==CI(t.keySampleIndices,n,(t=>t)))return n}return-1}{var n;const i=OT(t,e),r=FI(t.keySampleIndices,i,(t=>t));return null!==(n=t.keySampleIndices[r])&&void 0!==n?n:-1}},RT=(t,e)=>{const n=FI(t.sampleTimingEntries,e,(t=>t.startIndex)),i=t.sampleTimingEntries[n];if(!i||i.startIndex+i.count<=e)return null;let r=i.startDecodeTimestamp+(e-i.startIndex)*i.delta;const o=FI(t.sampleCompositionTimeOffsets,e,(t=>t.startIndex)),s=t.sampleCompositionTimeOffsets[o];s&&e-s.startIndex<s.count&&(r+=s.offset);const a=t.sampleSizes[Math.min(e,t.sampleSizes.length-1)],l=FI(t.sampleToChunk,e,(t=>t.startSampleIndex)),c=t.sampleToChunk[l];vI(c);const u=c.startChunkIndex+Math.floor((e-c.startSampleIndex)/c.samplesPerChunk),d=t.chunkOffsets[u],h=c.startSampleIndex+(u-c.startChunkIndex)*c.samplesPerChunk;let f=0,p=d;if(1===t.sampleSizes.length)p+=a*(e-h),f+=a*c.samplesPerChunk;else for(let n=h;n<h+c.samplesPerChunk;n++){const i=t.sampleSizes[n];n<e&&(p+=i),f+=i}let m=i.delta;if(t.presentationTimestamps){const n=t.presentationTimestampIndexMap[e];vI(void 0!==n),n<t.presentationTimestamps.length-1&&(m=t.presentationTimestamps[n+1].presentationTimestamp-r)}return{presentationTimestamp:r,duration:m,sampleOffset:p,sampleSize:a,chunkOffset:d,chunkSize:f,isKeyFrame:!t.keySampleIndices||-1!==CI(t.keySampleIndices,e,(t=>t))}},DT=(t,e)=>{var n;if(!t.keySampleIndices)return e+1;const i=FI(t.keySampleIndices,e,(t=>t));return null!==(n=t.keySampleIndices[i+1])&&void 0!==n?n:-1},BT=(t,e)=>{t.startTimestamp+=e,t.endTimestamp+=e;for(const n of t.samples)n.presentationTimestamp+=e;for(const n of t.presentationTimestamps)n.presentationTimestamp+=e},LT=t=>{const[e,,,n]=t,i=Math.hypot(e,n),r=e/i,o=n/i,s=-Math.atan2(o,r)*(180/Math.PI);return Number.isFinite(s)?s:0},zT=t=>0===t.sampleSizes.length;class WT{}class jT extends WT{async _getMajorBrand(t){let e=t._reader.requestSlice(0,12);return e instanceof Promise&&(e=await e),e?(e.skip(4),"ftyp"!==sE(e,4)?null:sE(e,4)):null}_createDemuxer(t){return new AT(t)}}const $T=new class extends jT{async _canReadInput(t){const e=await this._getMajorBrand(t);return!!e&&"qt "!==e}get name(){return"MP4"}get mimeType(){return"video/mp4"}};class UT{constructor(){this._disposed=!1,this._sizePromise=null,this.onread=null}async getSizeOrNull(){var t;if(this._disposed)throw new GT;return null!==(t=this._sizePromise)&&void 0!==t?t:this._sizePromise=Promise.resolve(this._retrieveSize())}async getSize(){if(this._disposed)throw new GT;const t=await this.getSizeOrNull();if(null===t)throw new Error("Cannot determine the size of an unsized source.");return t}}class qT extends UT{constructor(t,e={}){var n;if(!(t instanceof ReadableStream))throw new TypeError("stream must be a ReadableStream.");if(!e||"object"!=typeof e)throw new TypeError("options must be an object.");if(void 0!==e.maxCacheSize&&(!jI(e.maxCacheSize)||e.maxCacheSize<0))throw new TypeError("options.maxCacheSize, when provided, must be a non-negative number.");super(),this._reader=null,this._cache=[],this._pendingSlices=[],this._currentIndex=0,this._targetIndex=0,this._maxRequestedIndex=0,this._endIndex=null,this._pulling=!1,this._stream=t,this._maxCacheSize=null!==(n=e.maxCacheSize)&&void 0!==n?n:16777216}_retrieveSize(){return this._endIndex}_read(t,e){if(null!==this._endIndex&&e>this._endIndex)return null;this._maxRequestedIndex=Math.max(this._maxRequestedIndex,e);const n=FI(this._cache,t,(t=>t.start)),i=-1!==n?this._cache[n]:null;if(i&&i.start<=t&&e<=i.end)return{bytes:i.bytes,view:i.view,offset:i.start};let r=t;const o=new Uint8Array(e-t);if(-1!==n)for(let i=n;i<this._cache.length;i++){const n=this._cache[i];if(n.start>=e)break;const s=Math.max(t,n.start);s>r&&this._throwDueToCacheMiss();const a=Math.min(e,n.end);s<a&&(o.set(n.bytes.subarray(s-n.start,a-n.start),s-t),r=a)}if(r===e)return{bytes:o,view:kI(o),offset:t};this._currentIndex>r&&this._throwDueToCacheMiss();const{promise:s,resolve:a,reject:l}=OI();return this._pendingSlices.push({start:t,end:e,bytes:o,resolve:a,reject:l}),this._targetIndex=Math.max(this._targetIndex,e),this._pulling||(this._pulling=!0,this._pull().catch((t=>{if(this._pulling=!1,!(this._pendingSlices.length>0))throw t;this._pendingSlices.forEach((e=>e.reject(t))),this._pendingSlices.length=0}))),s}_throwDueToCacheMiss(){throw new Error("Read is before the cached region. With ReadableStreamSource, you must access the data more sequentially or increase the size of its cache.")}async _pull(){for(null!==(t=this._reader)&&void 0!==t||(this._reader=this._stream.getReader());this._currentIndex<this._targetIndex&&!this._disposed;){var t;const{done:e,value:n}=await this._reader.read();if(e){for(const t of this._pendingSlices)t.resolve(null);this._pendingSlices.length=0,this._endIndex=this._currentIndex;break}const i=this._currentIndex,r=this._currentIndex+n.byteLength;for(let t=0;t<this._pendingSlices.length;t++){const e=this._pendingSlices[t],o=Math.max(i,e.start),s=Math.min(r,e.end);o<s&&(e.bytes.set(n.subarray(o-i,s-i),o-e.start),s===e.end&&(e.resolve({bytes:e.bytes,view:kI(e.bytes),offset:e.start}),this._pendingSlices.splice(t,1),t--))}for(this._cache.push({start:i,end:r,bytes:n,view:kI(n),age:0});this._cache.length>0;){const t=this._cache[0];if(this._maxRequestedIndex-t.end<=this._maxCacheSize)break;this._cache.shift()}this._currentIndex+=n.byteLength}this._pulling=!1}_dispose(){this._pendingSlices.length=0,this._cache.length=0}}null!==(le=Symbol.dispose)&&void 0!==le||(Symbol.dispose=Symbol("Symbol.dispose"));class VT{get disposed(){return this._disposed}constructor(t){if(this._demuxerPromise=null,this._format=null,this._disposed=!1,!t||"object"!=typeof t)throw new TypeError("options must be an object.");if(!Array.isArray(t.formats)||t.formats.some((t=>!(t instanceof WT))))throw new TypeError("options.formats must be an array of InputFormat.");if(!(t.source instanceof UT))throw new TypeError("options.source must be a Source.");if(t.source._disposed)throw new Error("options.source must not be disposed.");this._formats=t.formats,this._source=t.source,this._reader=new HT(t.source)}_getDemuxer(){var t;return null!==(t=this._demuxerPromise)&&void 0!==t?t:this._demuxerPromise=(async()=>{this._reader.fileSize=await this._source.getSizeOrNull();for(const t of this._formats)if(await t._canReadInput(this))return this._format=t,t._createDemuxer(this);throw new Error("Input has an unsupported or unrecognizable format.")})()}get source(){return this._source}async getFormat(){return await this._getDemuxer(),vI(this._format),this._format}async computeDuration(){return(await this._getDemuxer()).computeDuration()}async getFirstTimestamp(){const t=await this.getTracks();if(0===t.length)return 0;const e=await Promise.all(t.map((t=>t.getFirstTimestamp())));return Math.min(...e)}async getTracks(){return(await this._getDemuxer()).getTracks()}async getVideoTracks(){return(await this.getTracks()).filter((t=>t.isVideoTrack()))}async getAudioTracks(){return(await this.getTracks()).filter((t=>t.isAudioTrack()))}async getPrimaryVideoTrack(){var t;return null!==(t=(await this.getTracks()).find((t=>t.isVideoTrack())))&&void 0!==t?t:null}async getPrimaryAudioTrack(){var t;return null!==(t=(await this.getTracks()).find((t=>t.isAudioTrack())))&&void 0!==t?t:null}async getMimeType(){return(await this._getDemuxer()).getMimeType()}async getMetadataTags(){return(await this._getDemuxer()).getMetadataTags()}dispose(){this._disposed||(this._disposed=!0,this._source._disposed=!0,this._source._dispose())}[Symbol.dispose](){this.dispose()}}class GT extends Error{constructor(t="Input has been disposed."){super(t),this.name="InputDisposedError"}}class HT{constructor(t){this.source=t}requestSlice(t,e){if(this.source._disposed)throw new GT;if(t<0)return null;if(null!==this.fileSize&&t+e>this.fileSize)return null;const n=t+e,i=this.source._read(t,n);return i instanceof Promise?i.then((e=>e?new KT(e.bytes,e.view,e.offset,t,n):null)):i?new KT(i.bytes,i.view,i.offset,t,n):null}requestSliceRange(t,e,n){if(this.source._disposed)throw new GT;if(t<0)return null;if(null!==this.fileSize)return this.requestSlice(t,RI(this.fileSize-t,e,n));{const i=this.requestSlice(t,n),r=i=>{if(i)return i;const r=i=>(vI(null!==i),this.requestSlice(t,RI(i-t,e,n))),o=this.source._retrieveSize();return o instanceof Promise?o.then(r):r(o)};return i instanceof Promise?i.then(r):r(i)}}}class KT{constructor(t,e,n,i,r){this.bytes=t,this.view=e,this.offset=n,this.start=i,this.end=r,this.bufferPos=i-n}static tempFromBytes(t){return new KT(t,kI(t),0,0,t.length)}get length(){return this.end-this.start}get filePos(){return this.offset+this.bufferPos}set filePos(t){this.bufferPos=t-this.offset}get remainingLength(){return Math.max(this.end-this.filePos,0)}skip(t){this.bufferPos+=t}slice(t,e=this.end-t){if(t<this.start||t+e>this.end)throw new RangeError("Slicing outside of original slice.");return new KT(this.bytes,this.view,this.offset,t,t+e)}}const XT=(t,e)=>{if(t.filePos<t.start||t.filePos+e>t.end)throw new RangeError(`Tried reading [${t.filePos}, ${t.filePos+e}), but slice is [${t.start}, ${t.end}). This is likely an internal error, please report it alongside the file that caused it.`)},YT=(t,e)=>{XT(t,e);const n=t.bytes.subarray(t.bufferPos,t.bufferPos+e);return t.bufferPos+=e,n},QT=t=>(XT(t,1),t.view.getUint8(t.bufferPos++)),JT=t=>{XT(t,2);const e=t.view.getUint16(t.bufferPos,!1);return t.bufferPos+=2,e},ZT=t=>{XT(t,3);const e=PI(t.view,t.bufferPos);return t.bufferPos+=3,e},tE=t=>{XT(t,2);const e=t.view.getInt16(t.bufferPos,!1);return t.bufferPos+=2,e},eE=t=>{XT(t,4);const e=t.view.getUint32(t.bufferPos,!1);return t.bufferPos+=4,e},nE=t=>{XT(t,4);const e=t.view.getInt32(t.bufferPos,!1);return t.bufferPos+=4,e},iE=t=>4294967296*eE(t)+eE(t),rE=t=>4294967296*nE(t)+eE(t),oE=t=>{XT(t,8);const e=t.view.getFloat64(t.bufferPos,!1);return t.bufferPos+=8,e},sE=(t,e)=>{XT(t,e);let n="";for(let i=0;i<e;i++)n+=String.fromCharCode(t.bytes[t.bufferPos++]);return n};var aE=new WeakMap,lE=new WeakMap,cE=new WeakMap,uE=new WeakMap,dE=new WeakMap,hE=new WeakMap,fE=new WeakMap,pE=new WeakMap,mE=new WeakMap,vE=new WeakMap,gE=new WeakMap,yE=new WeakMap,bE=new WeakMap,kE=new WeakMap,wE=new WeakMap,xE=new WeakSet;class _E extends sh{constructor(...t){super(...t),O(this,xE),C(this,aE,null),C(this,lE,null),C(this,cE,null),C(this,uE,null),C(this,dE,!1),C(this,hE,!1),C(this,fE,!1),C(this,pE,!1),C(this,mE,void 0),C(this,vE,null),C(this,gE,null),C(this,yE,!1),C(this,bE,!1),C(this,kE,null),C(this,wE,!1)}get name(){return"FMP4Demuxer"}get defaults(){return{}}get methodsExcludedFromAutoLog(){return new Set([...super.methodsExcludedFromAutoLog,"pushChunk","endOfStream"])}pushChunk(t,e={}){if(N(fE,this)||N(pE,this))return;const n=t instanceof Uint8Array?t:new Uint8Array(t),i=!!e.isInit;F(vE,this,M(xE,this,AE).call(this,n,e,i)),i&&(F(mE,this,n),F(gE,this,null),this.trigger("demux:init",{data:n})),M(xE,this,ME).call(this);try{var r;const t=null===(r=N(aE,this))||void 0===r?void 0:r.write(n);t&&"function"==typeof t.catch&&t.catch((t=>{M(xE,this,NE).call(this,t)}))}catch(t){if(N(fE,this)||M(xE,this,IE).call(this,t))return;return this.log.warn("[FMP4Demuxer] mediabunny demux failed",t),void M(xE,this,NE).call(this,t)}const o=M(xE,this,OE).call(this);o&&"function"==typeof o.catch&&o.catch((t=>{M(xE,this,NE).call(this,t)}))}endOfStream(){if(N(pE,this))return;if(N(yE,this))return;let t;F(yE,this,!0),F(bE,this,!1),F(wE,this,!1);try{var e;t=null===(e=N(aE,this))||void 0===e?void 0:e.close()}catch(e){t=Promise.resolve()}let n=!1;M(xE,this,EE).call(this),F(kE,this,setTimeout((()=>{F(kE,this,null),n||N(bE,this)||N(pE,this)||M(xE,this,SE).call(this)}),20)),Promise.resolve(t).catch((()=>{})).finally((()=>{n=!0,M(xE,this,EE).call(this),M(xE,this,SE).call(this)}))}onDispose(){super.onDispose(),F(pE,this,!0);try{var t,e;null===(t=N(cE,this))||void 0===t||null===(e=t.close)||void 0===e||e.call(t)}catch(t){}this.endOfStream();try{var n,i;null===(n=N(lE,this))||void 0===n||null===(i=n.dispose)||void 0===i||i.call(n)}catch(t){}F(cE,this,null),F(lE,this,null),F(fE,this,!1),F(vE,this,null),F(uE,this,null),F(dE,this,!1),F(hE,this,!1),F(yE,this,!1),F(bE,this,!1),F(wE,this,!1),M(xE,this,EE).call(this)}}function IE(t){return!!N(pE,this)&&(!t||("InputDisposedError"===(null==t?void 0:t.name)||("string"==typeof(null==t?void 0:t.message)?t.message:"").includes("Input has been disposed")))}function TE(){try{var t,e;const n=null===(t=N(aE,this))||void 0===t||null===(e=t.close)||void 0===e?void 0:e.call(t);n&&"function"==typeof n.catch&&n.catch((()=>{}))}catch(t){}F(aE,this,null)}function EE(){null!==N(kE,this)&&(clearTimeout(N(kE,this)),F(kE,this,null))}function SE(){if(N(bE,this)||N(pE,this)||N(fE,this))return;if(F(bE,this,!0),N(hE,this))return void F(wE,this,!0);F(wE,this,!1);const t=M(xE,this,OE).call(this);t&&"function"==typeof t.catch&&t.catch((t=>{M(xE,this,NE).call(this,t)}))}function ME(){if(N(lE,this)&&N(aE,this))return;const t=ch.TransformStream;if(void 0===t)throw new Error("TransformStream is not available in this environment");const{readable:e,writable:n}=new t;F(aE,this,n.getWriter()),F(lE,this,new VT({source:new qT(e),formats:[$T]})),F(dE,this,!1)}function AE(t,e,n){const i={isInit:n,byteLength:(null==t?void 0:t.byteLength)||0};return"number"==typeof e.loaded&&(i.loaded=e.loaded),"number"==typeof e.total&&(i.total=e.total),"number"==typeof e.pts&&(i.pts=e.pts),"number"==typeof e.dts&&(i.dts=e.dts),"number"==typeof e.duration&&(i.duration=e.duration),"boolean"==typeof e.isKey&&(i.isKey=e.isKey),i}function NE(t){if(N(fE,this)||M(xE,this,IE).call(this,t))return;if(M(xE,this,FE).call(this,t))return void F(dE,this,!1);F(fE,this,!0),M(xE,this,TE).call(this);try{var e,n;null===(e=N(cE,this))||void 0===e||null===(n=e.close)||void 0===n||n.call(e)}catch(t){}F(cE,this,null);try{var i,r;null===(i=N(lE,this))||void 0===i||null===(r=i.dispose)||void 0===r||r.call(i)}catch(t){}F(lE,this,null);const o={error:t,recoverable:!1,severity:"fatal",streamClosed:N(yE,this),streamFinalized:N(bE,this)};N(vE,this)&&(o.context={...N(vE,this)}),this.trigger("demux:error",o)}function CE(t){if(!t)return!1;const e="string"==typeof(null==t?void 0:t.message)?t.message:"";return!!e&&(e.includes("unsupported or unrecognizable format")||e.includes("No supported tracks found"))}function FE(t){return!!M(xE,this,CE).call(this,t)&&(!N(bE,this)||N(wE,this))}async function OE(){if(!(N(pE,this)||N(fE,this)||N(dE,this)||N(hE,this))){F(hE,this,!0);try{M(xE,this,ME).call(this);const t=await N(lE,this).getPrimaryVideoTrack(),e=t?null:await N(lE,this).getPrimaryAudioTrack(),n=t||e;if(!n)throw new Error("No supported tracks found in MP4");const i=await n.getDecoderConfig(),r=await n.getCodecParameterString(),o=await N(lE,this).getMimeType();this.trigger("demux:init",{...N(mE,this)?{data:N(mE,this)}:{},decoderConfig:i,codec:r,mimeType:o}),F(cE,this,new bT(n)),F(dE,this,!0),F(uE,this,(async()=>{try{for await(const t of N(cE,this).packets()){if(N(pE,this))break;const e="number"==typeof t.timestamp?t.timestamp:0;null===N(gE,this)&&F(gE,this,e);let n=e-N(gE,this);n<0&&(n=0),this.trigger("demux:sample",{data:t.data,pts:n,dts:n,duration:t.duration,isKey:"key"===t.type})}this.trigger("demux:complete")}catch(t){M(xE,this,NE).call(this,t)}})())}catch(t){if(M(xE,this,FE).call(this,t))return;throw t}finally{F(hE,this,!1),!N(wE,this)||N(fE,this)||N(pE,this)||M(xE,this,SE).call(this)}}}const PE=1e6,RE=24e3/1001,DE={primaries:"bt709",transfer:"bt709",matrix:"bt709",fullRange:!0},BE=new Uint8Array;function LE(t){return t?t instanceof Uint8Array?t:t instanceof ArrayBuffer?new Uint8Array(t):BE:BE}let zE=null;const WE={video:(ce=new WeakMap,ue=new WeakMap,de=new WeakMap,he=new WeakMap,fe=new WeakMap,pe=new WeakMap,me=new WeakMap,ve=new WeakMap,ge=new WeakMap,ye=new WeakMap,be=new WeakMap,ke=new WeakMap,we=new WeakMap,xe=new WeakMap,_e=new WeakMap,Ie=new WeakMap,Te=new WeakMap,Ee=new WeakMap,Se=new WeakMap,Me=new WeakMap,Ae=new WeakMap,Ne=new WeakMap,Ce=new WeakMap,Fe=new WeakMap,Oe=new WeakMap,Pe=new WeakMap,Re=new WeakMap,De=new WeakMap,Be=new WeakMap,Le=new WeakMap,ze=new WeakMap,We=new WeakMap,je=new WeakMap,$e=new WeakMap,Ue=new WeakSet,class extends mI{get name(){return"WebCodecsSegmentDecoder"}get defaults(){return{decodedHorizonSeconds:1,maxDecodedFrames:24,maxDecodeQueueSize:4,av1ColorSpaceOverrideEnabled:!0,convertFramesToBitmapsOnAndroid:!0,androidFixEndOfSegmentDelta:.2}}get methodsExcludedFromAutoLog(){return new Set([...super.methodsExcludedFromAutoLog,"decodeChunk"])}constructor(...t){super(...t),O(this,Ue),C(this,ce,void 0),C(this,ue,[]),C(this,de,void 0),C(this,he,void 0),C(this,fe,void 0),C(this,pe,void 0),C(this,me,[]),C(this,ve,void 0),C(this,ge,new Map),C(this,ye,!0),C(this,be,!1),C(this,ke,!1),C(this,we,!1),C(this,xe,void 0),C(this,_e,!1),C(this,Ie,!1),C(this,Te,0),C(this,Ee,void 0),C(this,Se,void 0),C(this,Me,{}),C(this,Ae,void 0),C(this,Ne,0),C(this,Ce,null),C(this,Fe,!1),C(this,Oe,null),C(this,Pe,void 0),C(this,Re,0),C(this,De,0),C(this,Be,0),C(this,Le,0),C(this,ze,!1),C(this,We,!1),C(this,je,.2),C(this,$e,Promise.resolve()),F(de,this,this.settings.decodedHorizonSeconds||1),F(he,this,M(Ue,this,CS).call(this,this.settings.maxDecodedFrames)),F(fe,this,M(Ue,this,OS).call(this,this.settings.maxDecodeQueueSize)),F(ze,this,mg()),F(We,this,M(Ue,this,_S).call(this,this.settings.convertFramesToBitmapsOnAndroid)),F(je,this,M(Ue,this,IS).call(this,this.settings.androidFixEndOfSegmentDelta)),F(pe,this,(()=>0)),F(ve,this,(()=>M(Ue,this,fS).call(this)));const e=this.settings.demuxerOptions?{FMP4Demuxer:this.settings.demuxerOptions}:{};F(ce,this,new _E(e)),N(ce,this).on("demux:init",(t=>M(Ue,this,iS).call(this,t))),N(ce,this).on("demux:sample",(t=>M(Ue,this,rS).call(this,t))),N(ce,this).on("demux:complete",(()=>M(Ue,this,oS).call(this))),N(ce,this).on("demux:error",(t=>M(Ue,this,GE).call(this,t)))}setCurrentTimeProvider(t){"function"==typeof t&&F(pe,this,t)}setTimeOffsetSeconds(t){const e=Number(t);F(Ne,this,Number.isFinite(e)?e:0)}setSeekTargetTimeSeconds(t){const e=Number(t);F(Ce,this,Number.isFinite(e)?e:null),F(Fe,this,!1),F(Oe,this,null)}endOfStream(){N(ce,this)&&"function"==typeof N(ce,this).endOfStream&&N(ce,this).endOfStream()}configure(t){super.configure(t),F(Me,this,{codec:M(Ue,this,LS).call(this,t),width:(null==t?void 0:t.codedWidth)||(null==t?void 0:t.width),height:(null==t?void 0:t.codedHeight)||(null==t?void 0:t.height)}),F(Ee,this,N(Me,this).codec)}setSegment(t){this.lastSegment=t,M(Ue,this,ZE).call(this)}setNodeId(t){F(Pe,this,t)}decode(t){this.setSegment(t);const e=null==t?void 0:t.arrayBuffer;e&&N(ce,this).pushChunk(e,{isInit:!(null==t||!t.isInit)})}async decodeChunk(t,e={}){await N(ce,this).pushChunk(t,{isInit:!!e.isInit,pts:"number"==typeof e.pts?e.pts:void 0,dts:"number"==typeof e.dts?e.dts:void 0,duration:"number"==typeof e.duration?e.duration:void 0,isKey:!!e.isKey,loaded:"number"==typeof e.loaded?e.loaded:void 0,total:"number"==typeof e.total?e.total:void 0})}get decodedFrames(){return N(ue,this).slice()}onDispose(){if(super.onDispose(),M(Ue,this,vS).call(this),N(ce,this)&&"function"==typeof N(ce,this).dispose&&N(ce,this).dispose(),F(ue,this,[]),F(me,this,[]),N(ge,this).clear(),F(Oe,this,null),N(xe,this)&&"function"==typeof N(xe,this).close)try{N(xe,this).close()}catch(t){}F(xe,this,null),F(_e,this,!1),F(Se,this,null),F(Ee,this,null),F(Pe,this,null),F($e,this,Promise.resolve()),M(Ue,this,ZE).call(this)}}),audio:(qe=new WeakMap,Ve=new WeakMap,Ge=new WeakMap,He=new WeakMap,Ke=new WeakMap,Xe=new WeakMap,Ye=new WeakMap,Qe=new WeakSet,class extends mI{constructor(...t){super(...t),O(this,Qe),C(this,qe,void 0),C(this,Ve,[]),C(this,Ge,0),C(this,He,!1),C(this,Ke,!1),C(this,Xe,void 0),C(this,Ye,0)}get name(){return"WebAudioDecoder"}setSegment(t){F(Xe,this,t)}setTimeOffsetSeconds(t){const e=Number(t);F(Ye,this,Number.isFinite(e)?e:0)}decode(t){if(this.lastSegment=t,!t)return;if(t.isInit)return void F(qe,this,LE(t.arrayBuffer));const e=t.arrayBuffer;e&&M(Qe,this,UE).call(this,LE(e),!0)}decodeChunk(t,e={}){if(!t)return;if(e.isInit)return void F(qe,this,LE(t));const n=LE(t);if(!n.length)return;N(Ve,this).push(n),F(Ge,this,N(Ge,this)+n.length);const i=Number(e.loaded),r=Number(e.total);Number.isFinite(i)&&Number.isFinite(r)&&r>0&&i>=r&&M(Qe,this,jE).call(this)}endOfStream(){M(Qe,this,jE).call(this)}onDispose(){super.onDispose(),F(qe,this,void 0),F(Ve,this,[]),F(Ge,this,0),F(He,this,!1),F(Ke,this,!1),F(Xe,this,void 0)}}),image:class extends mI{#z;#W=0;#j=[];#$=0;#U;get name(){return"ImageDecoder"}setSegment(t){this.#z=t}setTimeOffsetSeconds(t){const e=Number(t);this.#W=Number.isFinite(e)?e:0}decode(t){super.decode(t),t&&(this.#z=t);const e=null==t?void 0:t.arrayBuffer;e instanceof ArrayBuffer&&(this.#j=[new Uint8Array(e)],this.#$=e.byteLength,this.endOfStream())}decodeChunk(t,e={}){if(null!=e&&e.isInit)return;const n=function(t){if(t)return t instanceof Uint8Array?t:t instanceof ArrayBuffer?new Uint8Array(t):ArrayBuffer.isView(t)&&t.buffer?new Uint8Array(t.buffer):void 0}(t);n&&n.length&&(this.#j.push(n),this.#$+=n.length)}async endOfStream(){var t,e,n;if(this.#U)return;if(!(this.#j.length&&this.#$>0))return;const i=new Uint8Array(this.#$);let r=0;for(let t=0;t<this.#j.length;t+=1){const e=this.#j[t];i.set(e,r),r+=e.length}const o=null===(t=this.#z)||void 0===t?void 0:t.chosenRepresentation,s=(null==o?void 0:o.mime)||(null===(e=this.track)||void 0===e?void 0:e.mimeType)||(null===(n=this.track)||void 0===n?void 0:n.mime)||function(t){if(t instanceof Uint8Array&&!(t.byteLength<4))return t.byteLength>=8&&137===t[0]&&80===t[1]&&78===t[2]&&71===t[3]&&13===t[4]&&10===t[5]&&26===t[6]&&10===t[7]?"image/png":255===t[0]&&216===t[1]&&255===t[2]?"image/jpeg":t.byteLength>=6&&71===t[0]&&73===t[1]&&70===t[2]&&56===t[3]?"image/gif":t.byteLength>=12&&82===t[0]&&73===t[1]&&70===t[2]&&70===t[3]&&87===t[8]&&69===t[9]&&66===t[10]&&80===t[11]?"image/webp":void 0}(i);try{var a,l;const t=await async function(t,e){const n=function(t,e){if(!(t&&t.byteLength>0))return;if("function"!=typeof ch.Blob)return;const n="string"==typeof e?e:"";return new ch.Blob([t],n?{type:n}:void 0)}(t,e);if(!n)throw new Error("Image decode requires Blob support");let i;if("function"==typeof ch.Image&&ch.URL&&"function"==typeof ch.URL.createObjectURL&&"function"==typeof ch.URL.revokeObjectURL){const t=ch.URL.createObjectURL(n);try{const e=new ch.Image;return await new Promise(((n,i)=>{e.onload=()=>n(),e.onerror=t=>i(t||new Error("Image decode failed")),e.src=t})),e}catch(t){i=t}finally{ch.URL.revokeObjectURL(t)}}if("function"==typeof ch.createImageBitmap)try{return ch.createImageBitmap(n)}catch(t){i=t}if(i)throw i;throw new Error("No supported image decode mechanism")}(i,s);this.#U=t;const e=function(t){if(!t)return;const e=[[t.naturalWidth,t.naturalHeight],[t.width,t.height],[t.displayWidth,t.displayHeight],[t.videoWidth,t.videoHeight],[t.codedWidth,t.codedHeight]];for(let t=0;t<e.length;t+=1){const[n,i]=e[t],r=Number(n),o=Number(i);if(Number.isFinite(r)&&Number.isFinite(o)&&r>0&&o>0)return{width:r,height:o}}}(t);e&&o&&(ob(o.width)||(o.width=e.width),ob(o.height)||(o.height=e.height)),this.trigger("decoder:frame",{pts:this.#W,duration:ob(null===(a=this.#z)||void 0===a?void 0:a.duration)?this.#z.duration:null===(l=this.track)||void 0===l?void 0:l.duration,frame:t})}catch(t){this.trigger("decoder:error",{error:t})}}onDispose(){if(super.onDispose(),this.#U&&"function"==typeof this.#U.close)try{this.#U.close()}catch(t){}this.#U=null,this.#j=[],this.#$=0,this.#z=null}}};function jE(){if(N(He,this)||N(Ke,this))return;if(!N(Ge,this))return;const t=M(Qe,this,$E).call(this);t.length&&M(Qe,this,UE).call(this,t,!1)}function $E(){const t=N(qe,this),e=t?t.length:0,n=e+N(Ge,this);if(!n)return BE;const i=new Uint8Array(n);let r=0;e&&(i.set(t,r),r+=e);for(let t=0;t<N(Ve,this).length;t+=1){const e=N(Ve,this)[t];e&&e.length&&(i.set(e,r),r+=e.length)}return i}function UE(t,e){if(N(He,this)||N(Ke,this))return;const n=e?M(Qe,this,qE).call(this,t):t;if(!n||!n.length)return;const i=function(){if(zE)return zE;const t=ch.AudioContext||ch.webkitAudioContext;return t?(zE=new t,zE):null}();if(!i||"function"!=typeof i.decodeAudioData)return void this.trigger("decoder:error",{error:new Error("AudioContext is not available")});const r=n.buffer.slice(0);F(Ke,this,!0),new Promise(((t,e)=>{const n=i.decodeAudioData(r,t,e);n&&"function"==typeof n.then&&n.then(t).catch(e)})).then((t=>{var e;F(He,this,!0);const n=Number.isFinite(null==t?void 0:t.duration)?t.duration:Number(null===(e=N(Xe,this))||void 0===e?void 0:e.duration)||void 0;this.trigger("decoder:audio",{audioBuffer:t,pts:N(Ye,this),duration:n})})).catch((t=>{this.trigger("decoder:error",{error:t})})).finally((()=>{F(Ve,this,[]),F(Ge,this,0),F(Ke,this,!1)}))}function qE(t){const e=N(qe,this);if(!e||!e.length)return t;const n=e.length+t.length,i=new Uint8Array(n);return i.set(e,0),i.set(t,e.length),i}function VE(t,e){var n,i,r,o,s;const a=null!=t&&t.context&&"object"==typeof t.context?t.context:void 0;return{error:e,errorName:null==e?void 0:e.name,errorMessage:"string"==typeof(null==e?void 0:e.message)?e.message:void 0,nodeId:N(Pe,this),trackId:null===(n=this.track)||void 0===n?void 0:n.id,trackType:null===(i=this.track)||void 0===i?void 0:i.type,codec:(null===(r=N(Me,this))||void 0===r?void 0:r.codec)||N(Ee,this),segmentId:null===(o=this.lastSegment)||void 0===o?void 0:o.id,segmentIsInit:!(null===(s=this.lastSegment)||void 0===s||!s.isInit),chunkContext:a}}function GE(t){const e=(null==t?void 0:t.error)||t,n=M(Ue,this,VE).call(this,t,e);if(M(Ue,this,HE).call(this,t,e))return this.log.warn("[onDemuxError] recoverable demux error",n),void M(Ue,this,oS).call(this);const i=M(Ue,this,nS).call(this,t),r=M(Ue,this,KE).call(this,i);if(i&&0===i.missingFrames)return this.log.warn(`[onDemuxError] ignoring demux error (no missing frames)${r}`,{...n,missingFrameStats:i}),void M(Ue,this,oS).call(this);let o=n;i&&(o={...n,missingFrameStats:i}),this.log.warn(`[onDemuxError] demux error${r}`,o),this.trigger("decoder:error",t)}function HE(t,e){if("boolean"==typeof(null==t?void 0:t.recoverable))return t.recoverable;const n="string"==typeof(null==t?void 0:t.severity)?t.severity:"";if(n)return"recoverable"===n||"transient"===n;const i="string"==typeof(null==e?void 0:e.message)?e.message:"";return!!i&&(i.includes("unsupported or unrecognizable format")||i.includes("No supported tracks found"))}function KE(t){return t?` expectedFrames=${M(Ue,this,XE).call(this,t.expectedFrames)} demuxedFrames=${M(Ue,this,XE).call(this,t.demuxedFrames)} missingFrames=${M(Ue,this,XE).call(this,t.missingFrames)}`:""}function XE(t){if(null==t)return"unknown";const e=Number(t);return Number.isFinite(e)?String(e):"unknown"}function YE(t,e={}){return{expectedFrames:null,demuxedFrames:N(Re,this),missingFrames:null,reason:t,...e}}function QE(t){const e=Number(t);return Number.isFinite(e)?e:null}function JE(t){var e,n;const i=(null==t?void 0:t.context)||{},r=Number(i.loaded),o=Number(i.total);if(!Number.isFinite(o)||o<=0||!Number.isFinite(r)||r<o)return null;if(null!==(e=this.lastSegment)&&void 0!==e&&e.isInit)return null;const s=Number(null===(n=this.lastSegment)||void 0===n?void 0:n.duration);if(!Number.isFinite(s)||s<=0)return M(Ue,this,YE).call(this,"segment_duration_unavailable",{segmentDurationSeconds:M(Ue,this,QE).call(this,s),demuxedCoverageSeconds:N(Le,this),frameDurationSeconds:null});const a=M(Ue,this,eS).call(this);if(!Number.isFinite(a)||a<=0){const t=Math.max(1,Math.round(s*RE));return{expectedFrames:t,demuxedFrames:N(Re,this),missingFrames:Math.max(0,t-N(Re,this)),reason:"fallback_fps",fallbackFps:RE,segmentDurationSeconds:s,demuxedCoverageSeconds:N(Le,this),frameDurationSeconds:M(Ue,this,QE).call(this,a)}}const l=Math.min(.5*a,.02),c=Math.max(0,s-N(Le,this)),u=c<=l?0:c,d=Math.max(1,Math.floor((s+l)/a)),h=Math.max(0,d-N(Re,this)),f=u>0?Math.ceil(u/a):0;return{expectedFrames:d,demuxedFrames:N(Re,this),missingFrames:Math.max(h,f),segmentDurationSeconds:s,demuxedCoverageSeconds:N(Le,this),frameDurationSeconds:a}}function ZE(){F(Re,this,0),F(De,this,0),F(Be,this,0),F(Le,this,0)}function tS(t){F(Re,this,N(Re,this)+1);const e=Number(null==t?void 0:t.pts),n=Number(null==t?void 0:t.duration);if(Number.isFinite(n)&&n>0&&(F(De,this,N(De,this)+n),F(Be,this,N(Be,this)+1)),!Number.isFinite(e))return;const i=Number.isFinite(n)&&n>0?e+n:e;Number.isFinite(i)&&i>N(Le,this)&&F(Le,this,i)}function eS(){return N(Be,this)>0?N(De,this)/N(Be,this):N(Re,this)>0&&N(Le,this)>0?N(Le,this)/N(Re,this):null}function nS(t){return M(Ue,this,JE).call(this,t)}function iS(t){(null==t?void 0:t.data)instanceof Uint8Array&&(F(Se,this,t.data.buffer),M(Ue,this,yS).call(this)),null!=t&&t.decoderConfig&&(F(Ae,this,t.decoderConfig),F(Ee,this,t.decoderConfig.codec||N(Ee,this)),M(Ue,this,yS).call(this)),this.trigger("decoder:init",t)}function rS(t){M(Ue,this,tS).call(this,t),N(me,this).push(t),M(Ue,this,fS).call(this)}function oS(){F(be,this,!0),M(Ue,this,kS).call(this)}function sS(t){const e="number"==typeof(null==t?void 0:t.pts)?t.pts:void 0;if(Number.isFinite(e))return N(Ne,this)+e}function aS(t){return N(me,this).some((e=>{const n=M(Ue,this,sS).call(this,e);return Number.isFinite(n)&&n>=t}))}function lS(t){let e=-1,n=null;for(let i=0;i<N(me,this).length;i+=1){const r=N(me,this)[i],o=M(Ue,this,sS).call(this,r);Number.isFinite(o)&&(null==r?void 0:r.isKey)&&o<=t&&(e=i,n=o)}return{chosenIndex:e,chosenPtsSeconds:n}}function cS(t){let e=-1,n=null;for(let i=0;i<N(me,this).length;i+=1){const r=N(me,this)[i],o=M(Ue,this,sS).call(this,r);if(Number.isFinite(o)&&null!=r&&r.isKey&&(e=i,n=o,o>=t))break}return{chosenIndex:e,chosenPtsSeconds:n}}function uS(t){const e=t+N(de,this),n=N(Ce,this);if(!Number.isFinite(n))return e;const i=Number.isFinite(N(Oe,this))?N(Oe,this):null;if(Number.isFinite(i))return Math.max(e,i);const{chosenPtsSeconds:r}=M(Ue,this,cS).call(this,n);return Number.isFinite(r)?Math.max(e,r):e}function dS(t){const e=N(Ce,this);Number.isFinite(e)&&Number.isFinite(t)&&t>=e&&(F(Ce,this,null),F(Oe,this,null))}function hS(){const t=N(Ce,this);if(!Number.isFinite(t)||N(Fe,this))return!0;if(!M(Ue,this,aS).call(this,t)&&!N(be,this))return!1;const e=M(Ue,this,lS).call(this,t);let n=e;if(-1===e.chosenIndex&&(n=M(Ue,this,cS).call(this,t)),n.chosenIndex>0){const t=`[#maybeAlignToSeekKeyframe] Dropping ${n.chosenIndex} samples before keyframe @ ${n.chosenPtsSeconds}`;this.log.debug(t),N(me,this).splice(0,n.chosenIndex)}return F(ye,this,!0),Number.isFinite(n.chosenPtsSeconds)&&F(Oe,this,n.chosenPtsSeconds),F(Fe,this,!0),!0}function fS(){const t=N(pe,this)?N(pe,this).call(this):0,e=M(Ue,this,uS).call(this,t);if(M(Ue,this,AS).call(this,t),M(Ue,this,NS).call(this),!M(Ue,this,hS).call(this))return void M(Ue,this,mS).call(this);const n=void 0!==ch.VideoDecoder&&void 0!==ch.EncodedVideoChunk;for(n&&!N(_e,this)&&N(Ae,this)&&M(Ue,this,yS).call(this);N(me,this).length&&!M(Ue,this,FS).call(this)&&!(n&&N(xe,this)&&M(Ue,this,PS).call(this));){const t=N(me,this)[0],i="number"==typeof(null==t?void 0:t.pts)?t.pts:0,r=N(Ne,this)+i;if(r>e)break;if(null!=t&&t.raw)N(me,this).shift(),M(Ue,this,pS).call(this,t);else{if(n){if(!N(_e,this)||!N(xe,this))break;if(N(ye,this)&&!t.isKey){N(me,this).shift();continue}N(me,this).shift();const e=Math.max(0,Math.round(r*PE));N(ge,this).set(e,!!t.isKey);try{const n=new ch.EncodedVideoChunk({type:t.isKey?"key":"delta",timestamp:e,duration:t.duration?Math.round(t.duration*PE):void 0,data:t.data instanceof Uint8Array?t.data:new Uint8Array(t.data)});N(xe,this).decode(n),t.isKey&&F(ye,this,!1);continue}catch(t){N(ge,this).delete(e);const n="string"==typeof(null==t?void 0:t.message)?t.message:"";if("DataError"===(null==t?void 0:t.name)&&n.includes("key frame")){F(ye,this,!0);continue}this.log.warn("[#drainDecodeQueue] decode failed, falling back to placeholder",t)}}N(me,this).shift(),M(Ue,this,pS).call(this,t)}}M(Ue,this,kS).call(this),M(Ue,this,mS).call(this)}function pS(t){const e=N(pe,this)?N(pe,this).call(this):0,n=M(Ue,this,uS).call(this,e),i=N(Ne,this)+("number"==typeof t.pts?t.pts:0);if(i<e||i>n)return;M(Ue,this,AS).call(this,e);const r={pts:i,duration:t.duration,data:t.data,isKey:t.isKey};N(ue,this).push(r),M(Ue,this,NS).call(this),this.trigger("decoder:frame",r),M(Ue,this,dS).call(this,i)}function mS(){if(N(me,this).length>0&&void 0!==ch.VideoDecoder){if(_x(N(ve,this)))return;wx(N(ve,this),50)}else M(Ue,this,vS).call(this)}function vS(){N(ve,this)&&_x(N(ve,this))&&xx(N(ve,this))}function gS(){return null!=ch&&ch.performance&&"function"==typeof ch.performance.now?ch.performance.now():Date.now()}function yS(){if(N(_e,this))return;if(void 0===ch.VideoDecoder)return;if(!N(Ae,this))return;if(N(Ie,this)&&M(Ue,this,gS).call(this)<N(Te,this))return;const t=M(Ue,this,bS).call(this);try{F(xe,this,new ch.VideoDecoder({output:t=>M(Ue,this,xS).call(this,t),error:t=>M(Ue,this,wS).call(this,t)})),N(xe,this).configure(t),F(_e,this,!0),F(ye,this,!0),F(Ie,this,!1),F(Te,this,0),M(Ue,this,fS).call(this)}catch(t){this.log.warn("[#maybeConfigureDecoder] configure failed, falling back to placeholder decode",t),F(xe,this,null),F(_e,this,!1),F(Ae,this,null)}}function bS(){const t={...N(Ae,this)};return M(Ue,this,DS).call(this,t)&&N(Me,this).codec?t.codec=N(Me,this).codec:!t.codec&&N(Ee,this)&&(t.codec=N(Ee,this)),N(Se,this)&&!t.description&&(t.description=N(Se,this)),N(Me,this).width&&!t.codedWidth&&(t.codedWidth=N(Me,this).width),N(Me,this).height&&!t.codedHeight&&(t.codedHeight=N(Me,this).height),M(Ue,this,BS).call(this,t),t}function kS(){void 0!==ch.VideoDecoder&&void 0!==ch.EncodedVideoChunk&&(N(Ie,this)||!N(be,this)||N(we,this)||N(ke,this)||N(_e,this)&&N(xe,this)&&"function"==typeof N(xe,this).flush&&(N(me,this).length||(F(ke,this,!0),Promise.resolve().then((()=>N(xe,this).flush())).then((()=>{F(we,this,!0),F(ye,this,!0)})).catch((t=>{"AbortError"!==(null==t?void 0:t.name)&&this.log.warn("[#maybeFlushDecoder] flush failed",t)})).finally((()=>{F(ke,this,!1)})))))}function wS(t){if(this.log.warn("[#handleDecoderError] decoder error",t),this.trigger("decoder:error",{error:t}),N(xe,this)&&"function"==typeof N(xe,this).close)try{N(xe,this).close()}catch(t){}F(xe,this,null),F(_e,this,!1),F(ke,this,!1),F(we,this,!1),F(ye,this,!0),N(ge,this).clear(),F(Ie,this,!0),F(Te,this,M(Ue,this,gS).call(this)+1e3)}function xS(t){F($e,this,N($e,this).then((()=>{var e;if(!this._disposed)return M(Ue,this,MS).call(this,t);null===(e=t.close)||void 0===e||e.call(t)})).catch((e=>{this.log.warn("[#enqueueDecodedFrame] failed processing decoded frame",e);try{var n;null===(n=t.close)||void 0===n||n.call(t)}catch(t){}})))}function _S(t){return"boolean"!=typeof t||t}function IS(t){const e=Number(t);return!Number.isFinite(e)||e<0?.2:e}function TS(){return!!N(We,this)&&"function"==typeof ch.createImageBitmap&&N(ze,this)}function ES(t){var e;const n=Number(null===(e=this.lastSegment)||void 0===e?void 0:e.duration);if(!Number.isFinite(n)||n<=0)return!1;if(!Number.isFinite(t))return!1;const i=Number(N(Ne,this));return!!Number.isFinite(i)&&t>=i+n-N(je,this)}async function SS(t,e){try{var n;const i=M(Ue,this,ES).call(this,e),r=await ch.createImageBitmap(t,{premultiplyAlpha:i?"none":"default"});return null!==(n=t.close)&&void 0!==n&&n.call(t),r}catch(e){return this.log.debug("[#maybeConvertFrameToBitmap] createImageBitmap failed",e),t}}async function MS(t){var e,n;let i=t;if(this._disposed)return void(null===(e=(n=i).close)||void 0===e||e.call(n));const r="number"==typeof t.timestamp?t.timestamp:void 0,o="number"==typeof t.timestamp?t.timestamp/PE:N(pe,this)?N(pe,this).call(this):0,s="number"==typeof t.duration?t.duration/PE:void 0;let a;void 0!==r&&(a=N(ge,this).get(r),N(ge,this).delete(r));try{var l,c,u,d;let e=N(pe,this)?N(pe,this).call(this):0,n=M(Ue,this,uS).call(this,e);if(o<e||o>n)return void(null===(l=(c=i).close)||void 0===l||l.call(c));if(M(Ue,this,TS).call(this)){var h,f,p,m;if(i=await M(Ue,this,SS).call(this,t,o),this._disposed)return void(null===(h=(f=i).close)||void 0===h||h.call(f));if(e=N(pe,this)?N(pe,this).call(this):0,n=M(Ue,this,uS).call(this,e),o<e||o>n)return void(null===(p=(m=i).close)||void 0===p||p.call(m))}if(M(Ue,this,AS).call(this,e),this._disposed)return void(null===(u=(d=i).close)||void 0===u||u.call(d));const r={frame:i,pts:o,duration:s,isKey:void 0!==a&&a};N(ue,this).push(r),M(Ue,this,NS).call(this),this.trigger("decoder:frame",r),M(Ue,this,dS).call(this,o),this.log.debug(`[#handleDecodedFrame] [${N(Me,this).codec}] Decoded frame:`,r)}catch(t){this.log.warn(`[#handleDecodedFrame] [${N(Me,this).codec}] Failed to handle decoded frame`,t);try{var v,g;null===(v=(g=i).close)||void 0===v||v.call(g)}catch(t){}}}function AS(t){const e=M(Ue,this,uS).call(this,t),n=[];N(ue,this).forEach((i=>{var r;const o=null!==(r=null==i?void 0:i.pts)&&void 0!==r?r:0;o<t||o>e||n.push(i)})),F(ue,this,n)}function NS(){const t=N(he,this);if(!Number.isFinite(t)||t<=0)return;if(N(ue,this).length<=t)return;const e=N(ue,this).length-t;N(ue,this).splice(0,e)}function CS(t){const e=Number(t);return!Number.isFinite(e)||e<=0?0:Math.floor(e)}function FS(){const t=N(he,this);return!(!Number.isFinite(t)||t<=0)&&N(ue,this).length>=t}function OS(t){const e=Number(t);return!Number.isFinite(e)||e<=0?0:Math.floor(e)}function PS(){var t;const e=N(fe,this);if(!Number.isFinite(e)||e<=0)return!1;const n=Number(null===(t=N(xe,this))||void 0===t?void 0:t.decodeQueueSize);return!!Number.isFinite(n)&&n>=e}function RS(t){return"string"==typeof t&&t.toLowerCase().startsWith("av01")}function DS(t){var e;return!1!==this.settings.av1ColorSpaceOverrideEnabled&&M(Ue,this,RS).call(this,(null===(e=N(Me,this))||void 0===e?void 0:e.codec)||(null==t?void 0:t.codec))}function BS(t){M(Ue,this,DS).call(this,t)&&(t.colorSpace={...DE})}function LS(t){if(t&&Array.isArray(t.segments))for(let e=0;e<t.segments.length;e+=1){const n=t.segments[e];if(!Array.isArray(null==n?void 0:n.representations))continue;const i=n.chosenRepresentation||n.representations[0];if(null!=i&&i.codecs)return i.codecs;if(null!=i&&i.mime)return i.mime}}class zS extends sh{#q;get name(){return"DecoderFactory"}constructor(...t){super(...t);const e=t.length?t[t.length-1]:void 0;this.#q=e&&"object"==typeof e&&!Array.isArray(e)?e:{}}create(t,e=this.#q){if(!t||!t.type)return new mI(e);const n=WE[t.type];return n?(this.log.debug(`[#create] [${t.type}] Creating decoder:`,n),new n(e)):new mI(e)}}class WS{#V;#G;#H;#K;constructor(t={}){this.#V=t.getActiveRenderPlacement,this.#G=t.getPlacementsActiveAtTime,this.#H=t.ensureDecodedForPlacementAtTime;const e=Number(t.lookaheadSeconds);this.#K=Number.isFinite(e)&&e>=0?e:1}handleTimeUpdate(t={}){const e=Number(null==t?void 0:t.time);if(!Number.isFinite(e))return;if("function"!=typeof this.#H)return;const n="function"==typeof this.#G?this.#G:()=>[],i=n(e),r=new Set;i.forEach((t=>{null!=t&&t.placementId&&r.add(t.placementId),this.#H(t,e)}));const o=this.#K;if(!(o>0))return;const s=e+o;n(s).forEach((t=>{const e=null==t?void 0:t.placementId;e&&!r.has(e)&&this.#H(t,s)}))}dispose(){}}class jS{#X;#Y;#Q;#J;#Z;#tt;constructor(t={}){this.#X=t.getNode,this.#Y=t.getPlacementState,this.#Q=t.getDecodeTracks,this.#J=t.getSegmentIdForTrackAtTime,this.#Z=t.decodeLoadedMediaSegment,this.#tt=t.decodeLoadedMediaSegmentsAfter}ensureDecodedForPlacementAtTime(t,e){if(!t||!Number.isFinite(e))return;const n=null==t?void 0:t.placementId,i=null==t?void 0:t.nodeId;if(!n||!i)return;const r="function"==typeof this.#X?this.#X(i):void 0;if(!r)return;const o="function"==typeof this.#Y?this.#Y(n):void 0,s=null==o?void 0:o.trackStates;s&&"function"==typeof s.get&&("function"==typeof this.#Q?this.#Q(r).filter((t=>"video"===(null==t?void 0:t.type)||"image"===(null==t?void 0:t.type)||"audio"===(null==t?void 0:t.type))):[]).forEach((n=>{var i;const r=s.get(n.id);if(!r)return;const o="function"==typeof this.#J?this.#J(n,t,e):null;if(!o)return;const a=null==n||null===(i=n.segments)||void 0===i?void 0:i.find((t=>(null==t?void 0:t.id)===o));a&&!a.isInit&&a.retainedByteLength>0&&a.arrayBuffer&&(r.segmentDecoders&&"function"==typeof r.segmentDecoders.has&&r.segmentDecoders.has(o)||"function"!=typeof this.#Z||this.#Z(t,n,a),"video"===(null==n?void 0:n.type)&&"function"==typeof this.#tt&&this.#tt(t,n,a))}))}dispose(){}}const $S=new Set(["video","audio","image"]);function US(t){const e=Number(t);return Number.isFinite(e)?e:0}var qS=new WeakMap,VS=new WeakMap,GS=new WeakMap,HS=new WeakMap,KS=new WeakMap,XS=new WeakMap,YS=new WeakMap,QS=new WeakMap,JS=new WeakMap,ZS=new WeakMap,tM=new WeakMap,eM=new WeakMap,nM=new WeakMap,iM=new WeakMap,rM=new WeakMap,oM=new WeakMap,sM=new WeakMap,aM=new WeakMap,lM=new WeakMap,cM=new WeakSet;class uM extends sh{constructor(...t){super(...t),O(this,cM),C(this,qS,void 0),C(this,VS,void 0),C(this,GS,void 0),C(this,HS,void 0),C(this,KS,void 0),C(this,XS,void 0),C(this,YS,void 0),C(this,QS,void 0),C(this,JS,void 0),C(this,ZS,void 0),C(this,tM,void 0),C(this,eM,new Map),C(this,nM,new Map),C(this,iM,new Map),C(this,rM,new Map),C(this,oM,new Set),C(this,sM,0),C(this,aM,!1),C(this,lM,null);const[e,n,i]=t;F(qS,this,e),F(VS,this,n),F(GS,this,i||new zS),F(HS,this,new jS({getNode:t=>M(cM,this,RM).call(this,t),getPlacementState:t=>N(eM,this).get(t),getDecodeTracks:t=>M(cM,this,NM).call(this,t),getSegmentIdForTrackAtTime:(t,e,n)=>M(cM,this,yM).call(this,t,e,n),decodeLoadedMediaSegment:(t,e,n)=>{M(cM,this,eA).call(this,t,e,n)},decodeLoadedMediaSegmentsAfter:(t,e,n)=>{M(cM,this,HM).call(this,t,e,n)}})),F(KS,this,new WS({getActiveRenderPlacement:t=>{var e,n;return null===(e=N(VS,this))||void 0===e||null===(n=e.getActiveRenderPlacement)||void 0===n?void 0:n.call(e,t)},getPlacementsActiveAtTime:t=>{var e,n;return(null===(e=N(VS,this))||void 0===e||null===(n=e.getPlacementsActiveAtTime)||void 0===n?void 0:n.call(e,t))||[]},ensureDecodedForPlacementAtTime:(t,e)=>{var n,i;null===(n=N(HS,this))||void 0===n||null===(i=n.ensureDecodedForPlacementAtTime)||void 0===i||i.call(n,t,e)}})),M(cM,this,dM).call(this),M(cM,this,SM).call(this)}get name(){return"DecodeCoordinator"}onDispose(){var t,e;N(VS,this)&&"function"==typeof N(VS,this).off&&N(XS,this)&&N(VS,this).off(dh.PLACEMENT_ADDED,N(XS,this)),N(VS,this)&&"function"==typeof N(VS,this).off&&N(YS,this)&&N(VS,this).off(dh.TIMELINE_SEEKING,N(YS,this)),N(VS,this)&&"function"==typeof N(VS,this).off&&N(QS,this)&&N(VS,this).off(dh.TIMELINE_SEEKED,N(QS,this)),N(VS,this)&&"function"==typeof N(VS,this).off&&N(JS,this)&&N(VS,this).off(dh.TIMELINE_TIME_UPDATE,N(JS,this)),N(VS,this)&&"function"==typeof N(VS,this).off&&N(ZS,this)&&N(VS,this).off(dh.TIMELINE_RESET,N(ZS,this)),M(cM,this,hM).call(this),F(XS,this,null),F(YS,this,null),F(QS,this,null),F(JS,this,null),F(ZS,this,null),null!==(t=N(HS,this))&&void 0!==t&&null!==(e=t.dispose)&&void 0!==e&&e.call(t),F(HS,this,null),N(KS,this)&&"function"==typeof N(KS,this).dispose&&N(KS,this).dispose(),F(KS,this,null),N(nM,this).forEach(((t,e)=>{const n=M(cM,this,RM).call(this,e);n&&"function"==typeof n.off&&n.off("node:loaded",t)})),N(nM,this).clear(),N(iM,this).forEach(((t,e)=>{const n=M(cM,this,RM).call(this,e);n&&"function"==typeof n.off&&n.off("segment:chunk",t)})),N(iM,this).clear(),N(rM,this).clear(),N(oM,this).clear(),M(cM,this,_M).call(this),N(eM,this).forEach((({trackStates:t})=>{t&&t.forEach((t=>{M(cM,this,zM).call(this,t)}))})),N(eM,this).clear()}}function dM(){N(VS,this)&&"function"==typeof N(VS,this).on&&(F(XS,this,(t=>{M(cM,this,MM).call(this,t)})),N(VS,this).on(dh.PLACEMENT_ADDED,N(XS,this)),F(YS,this,(t=>M(cM,this,fM).call(this,t))),N(VS,this).on(dh.TIMELINE_SEEKING,N(YS,this)),F(QS,this,(()=>M(cM,this,pM).call(this))),N(VS,this).on(dh.TIMELINE_SEEKED,N(QS,this)),F(JS,this,(t=>M(cM,this,mM).call(this,t))),N(VS,this).on(dh.TIMELINE_TIME_UPDATE,N(JS,this)),F(ZS,this,(()=>M(cM,this,vM).call(this))),N(VS,this).on(dh.TIMELINE_RESET,N(ZS,this))),(null==ch?void 0:ch.document)&&"function"==typeof ch.document.addEventListener&&(F(tM,this,(()=>{M(cM,this,IM).call(this)})),ch.document.addEventListener("visibilitychange",N(tM,this)))}function hM(){N(tM,this)&&null!=ch&&ch.document&&"function"==typeof ch.document.removeEventListener&&ch.document.removeEventListener("visibilitychange",N(tM,this)),F(tM,this,null)}function fM(t={}){const e=Number(null==t?void 0:t.targetTime);Number.isFinite(e)&&(N(eM,this).forEach((t=>{const n=null==t?void 0:t.trackStates;n&&n.forEach((n=>{var i;const r=null==n||null===(i=n.track)||void 0===i?void 0:i.type;"video"!==r&&"image"!==r&&"audio"!==r||(M(cM,this,gM).call(this,n,null==t?void 0:t.placement,e),n.seekSegmentId=null)}))})),(Array.isArray(null==t?void 0:t.placements)?t.placements:[]).forEach((t=>{const n=null==t?void 0:t.placementId,i=null==t?void 0:t.nodeId;if(!n||!i)return;const r=N(eM,this).get(n);if(!r||!r.trackStates)return;const o=M(cM,this,RM).call(this,i);o&&(r.trackStates.forEach((n=>{const i=null==n?void 0:n.track;!i||"video"!==i.type&&"image"!==i.type&&"audio"!==i.type||M(cM,this,gM).call(this,n,r.placement||t,e)})),M(cM,this,GM).call(this,r.placement||t,o))})))}function pM(){N(eM,this).forEach((t=>{const e=null==t?void 0:t.trackStates;e&&e.forEach((t=>{var e;const n=null==t||null===(e=t.track)||void 0===e?void 0:e.type;"video"!==n&&"image"!==n&&"audio"!==n||(t.seekSegmentId=null)}))}))}function mM(t={}){var e,n;M(cM,this,VM).call(this,null==t?void 0:t.time),null!==(e=N(KS,this))&&void 0!==e&&null!==(n=e.handleTimeUpdate)&&void 0!==n&&n.call(e,t),M(cM,this,IM).call(this),M(cM,this,WM).call(this,null==t?void 0:t.time)}function vM(){N(nM,this).forEach(((t,e)=>{const n=M(cM,this,RM).call(this,e);n&&"function"==typeof n.off&&n.off("node:loaded",t)})),N(nM,this).clear(),N(iM,this).forEach(((t,e)=>{const n=M(cM,this,RM).call(this,e);n&&"function"==typeof n.off&&n.off("segment:chunk",t)})),N(iM,this).clear(),N(rM,this).clear(),N(oM,this).clear(),N(eM,this).forEach((({trackStates:t})=>{t&&t.forEach((t=>{const e=null==t?void 0:t.segmentDecoders;e&&e.forEach((t=>{t&&"function"==typeof t.dispose&&t.dispose()}))}))})),N(eM,this).clear()}function gM(t,e,n){t&&(M(cM,this,zM).call(this,t),t.seekSegmentId=M(cM,this,yM).call(this,t.track,e,n))}function yM(t,e,n){if(!t||!e||!Array.isArray(t.segments))return null;const i=gv(e);if(!Number.isFinite(i))return null;const r=US(null==e?void 0:e.nodeOffsetOverride),o=Math.max(0,n-i+r),s=US(null==t?void 0:t.offset),a=Math.max(0,o-s),l="function"==typeof t.getMediaSegmentAtTime?t.getMediaSegmentAtTime(a,{preferRepresentationTime:!0}):bk(t.segments,a,{preferRepresentationTime:!0});return(null==l?void 0:l.id)||null}function bM(t){if(!t)return!1;const e=null==t?void 0:t.name;if("QuotaExceededError"===e)return!0;if("EncodingError"===e)return!0;const n="string"==typeof(null==t?void 0:t.message)?t.message:"";return!!n.includes("Decoder failure")||!!n.includes("Codec reclaimed due to inactivity")||!("OperationError"!==e||!n.includes("initialize after flush"))}function kM(){const t=null==ch?void 0:ch.document;return!t||"string"!=typeof t.visibilityState||"visible"===t.visibilityState}function wM(){var t;const e=N(VS,this);if(!e||"number"!=typeof e.currentTime)return!1;if(e.state===Mg)return!1;const n=Date.now();if(n<N(sM,this))return!1;const i=e.currentTime;if(!Number.isFinite(i))return!1;const r="function"==typeof e.getPlacementsActiveAtTime?e.getPlacementsActiveAtTime(i):[],o=Number(null==e||null===(t=e.settings)||void 0===t?void 0:t.snapToFps),s=Number.isFinite(o)&&o>0?1/o:1/60;let a;if(Array.isArray(r)&&r.length)a=i+s;else if(a=M(cM,this,xM).call(this,i),!Number.isFinite(a))return!1;return F(sM,this,n+1500),this.log.warn("[DecodeCoordinator] attempting decoder recovery seek"),e.currentTime=a,!0}function xM(t){var e;const n=N(VS,this);if(!n)return null;const i=Array.isArray(n.placements)?n.placements:[];if(!i.length)return null;const r=Number(t);if(!Number.isFinite(r))return null;const o=Number(null==n||null===(e=n.settings)||void 0===e?void 0:e.snapToFps),s=Number.isFinite(o)&&o>0?1/o:1/60;let a=Number.NEGATIVE_INFINITY,l=null,c=Number.NEGATIVE_INFINITY,u=null,d=null;return i.forEach((t=>{const e=gv(t);if(!Number.isFinite(e))return;(!Number.isFinite(d)||e<d)&&(d=e);const n=mv(t,N(qS,this)),i=Number.isFinite(n),o=i?e+n:e;(o>e||!i)&&((o>a||!Number.isFinite(a)&&Number.isFinite(o))&&(a=o,l=e),o<=r&&o>c&&(c=o,u=i?Math.max(e,o-s):e))})),Number.isFinite(l)&&Number.isFinite(a)&&r>=a-s?l:Number.isFinite(u)?u:Number.isFinite(d)?d:null}function _M(){F(aM,this,!1),F(lM,this,null)}function IM(){N(aM,this)&&M(cM,this,kM).call(this)&&M(cM,this,wM).call(this)}function TM(t){if(!M(cM,this,bM).call(this,t))return;const e=N(VS,this);e&&"number"==typeof e.currentTime&&(F(aM,this,!0),F(lM,this,t),M(cM,this,kM).call(this)&&M(cM,this,wM).call(this))}function EM(t){var e;return!!t&&(Array.isArray(null===(e=N(VS,this))||void 0===e?void 0:e.placements)?N(VS,this).placements:[]).includes(t)}function SM(t){var e;(Array.isArray(null===(e=N(VS,this))||void 0===e?void 0:e.placements)?[...N(VS,this).placements]:[]).filter((e=>"function"!=typeof t||t(e))).sort(((t,e)=>{const n=gv(t),i=gv(e);return(Number.isFinite(n)?n:Number.POSITIVE_INFINITY)-(Number.isFinite(i)?i:Number.POSITIVE_INFINITY)})).forEach((t=>{M(cM,this,MM).call(this,t)}))}async function MM(t){if(!t||!t.placementId||N(eM,this).has(t.placementId))return;if(!M(cM,this,EM).call(this,t))return;const e=t.nodeId;if(!e||!N(qS,this)||"function"!=typeof N(qS,this).get)return;const n=M(cM,this,RM).call(this,e);if(n){if(n.state&&"ready"!==n.state){if("function"==typeof n.resolve)try{await n.resolve()}catch(n){if(!M(cM,this,EM).call(this,t))return;return void this.log.warn(`[#processPlacement] Failed to resolve node ${e}`,n)}if(!M(cM,this,EM).call(this,t))return;if("ready"!==n.state)return}if(M(cM,this,qM).call(this,t))return M(cM,this,UM).call(this,t,n),void N(oM,this).add(t.placementId);M(cM,this,$M).call(this,t,n)}}function AM(t){return M(cM,this,NM).call(this,t).every((t=>M(cM,this,jM).call(this,t)))}function NM(t){return(Array.isArray(null==t?void 0:t.tracks)?t.tracks:[]).filter((t=>$S.has(null==t?void 0:t.type)))}function CM(t){if(!t||!t.id||"function"!=typeof t.on)return;if(N(nM,this).has(t.id))return;const e=()=>{M(cM,this,KM).call(this,t.id)};t.on("node:loaded",e),N(nM,this).set(t.id,e)}function FM(t){if(!t||!t.id||"function"!=typeof t.on)return;if(N(iM,this).has(t.id))return;const e=t=>M(cM,this,XM).call(this,t);t.on("segment:chunk",e),N(iM,this).set(t.id,e)}function OM(t,e){if(!t||!e)return;const n=N(rM,this).get(t)||new Set;n.add(e),N(rM,this).set(t,n)}function PM(t){return N(rM,this).get(t)||new Set}function RM(t){if(t&&N(qS,this)&&"function"==typeof N(qS,this).get)return N(qS,this).get(t)}function DM(t){if(!t)return;const e=t.fullBufferRetryTimer;null!=e&&("function"==typeof(null==ch?void 0:ch.clearTimeout)?ch.clearTimeout.bind(ch):clearTimeout)(e),t.fullBufferRetryTimer=null,t.fullBufferDecodeScheduled=!1,t.fullBufferRetryAttempts=0}function BM(t){const e=null==t?void 0:t.segmentStates;e&&"function"==typeof e.forEach&&e.forEach((t=>{M(cM,this,DM).call(this,t)}))}function LM(t,e,n,i){var r,o;if(!(t&&e&&n&&i))return!1;const s=N(eM,this).get(t),a=null==s||null===(r=s.trackStates)||void 0===r?void 0:r.get(e);return(null==a||null===(o=a.segmentStates)||void 0===o?void 0:o.get(n))===i}function zM(t){if(!t)return;M(cM,this,BM).call(this,t);const e=t.segmentDecoders;e&&"function"==typeof e.forEach&&(e.forEach((t=>{if(t&&"function"==typeof t.dispose)try{t.dispose()}catch(t){}})),"function"==typeof e.clear&&e.clear()),t.segmentStates&&"function"==typeof t.segmentStates.clear&&t.segmentStates.clear(),t.ready=!1,t.seekSegmentId=null}function WM(t){const e=US(t);if(!Number.isFinite(e))return;const n=e-2;Number.isFinite(n)&&N(eM,this).forEach((t=>{const e=null==t?void 0:t.placement;if(!e)return;const i=gv(e),r=mv(e,N(qS,this),{allowUnready:!0});if(!Number.isFinite(i)||!Number.isFinite(r))return;const o=i+r;if(!Number.isFinite(o)||o>n)return;const s=null==t?void 0:t.trackStates;s&&"function"==typeof s.forEach&&s.forEach((t=>{var e;const n=null==t||null===(e=t.track)||void 0===e?void 0:e.type;"video"!==n&&"image"!==n&&"audio"!==n||M(cM,this,zM).call(this,t)}))}))}function jM(t){if(!t||!Array.isArray(t.segments))return!1;const e=t.segments.find((t=>null==t?void 0:t.isInit));if(e&&!(e.retainedByteLength>0))return!1;const n=t.segments.find((t=>t&&!t.isInit));return!n||n.retainedByteLength>0}function $M(t,e){if(this.log.debug(`[#startDecode] [${t.placementId}] [${e.id}] Starting decode`),M(cM,this,UM).call(this,t,e)){if(M(cM,this,OM).call(this,e.id,t.placementId),!M(cM,this,AM).call(this,e))return M(cM,this,CM).call(this,e),void M(cM,this,FM).call(this,e);M(cM,this,GM).call(this,t,e),M(cM,this,FM).call(this,e)}}function UM(t,e){if(!t||!t.placementId||!e)return;const n=N(eM,this).get(t.placementId);if(n)return n.placement=t,n;const i=M(cM,this,NM).call(this,e),r=new Map;i.forEach((n=>{try{const t=n.segments.some((t=>null==t?void 0:t.isInit));r.set(n.id,{hasInit:t,track:n,ready:!1,segmentDecoders:new Map,segmentStates:new Map})}catch(i){this.trigger(dh.DECODE_ERROR,ph({placementId:t.placementId,nodeId:e.id,trackId:null==n?void 0:n.id,trackType:null==n?void 0:n.type,error:i}))}}));const o={trackStates:r,nodeId:e.id,placement:t};return N(eM,this).set(t.placementId,o),o}function qM(t){var e;const n=gv(t),i=US(null===(e=N(VS,this))||void 0===e?void 0:e.currentTime);return!Number.isFinite(n)||!!Number.isFinite(i)&&n-i>2}function VM(t){if(!N(oM,this).size)return;const e=US(t);if(!Number.isFinite(e))return;const n=[];N(oM,this).forEach((t=>{const i=N(eM,this).get(t),r=null==i?void 0:i.placement;if(!r)return void n.push(t);const o=gv(r);Number.isFinite(o)&&o-e<=2&&n.push(t)})),n.forEach((t=>{N(oM,this).delete(t);const e=N(eM,this).get(t),n=null==e?void 0:e.placement;if(!n)return;const i=M(cM,this,RM).call(this,n.nodeId);i&&M(cM,this,$M).call(this,n,i)}))}function GM(t,e){const n=N(eM,this).get(t.placementId);n&&M(cM,this,NM).call(this,e).forEach((i=>{const r=n.trackStates.get(i.id);if(r&&!r.ready)try{let n;if(r.seekSegmentId&&(n=i.segments.find((t=>t&&!t.isInit&&t.id===r.seekSegmentId&&t.retainedByteLength>0)),!n))return;if(n||(n=i.segments.find((t=>t&&!t.isInit&&t.retainedByteLength>0))),!n)return;M(cM,this,eA).call(this,t,i,n),r.seekSegmentId&&"video"===(null==i?void 0:i.type)&&M(cM,this,HM).call(this,t,i,n),r.ready=!0,this.trigger(dh.DECODE_READY,fh({placementId:t.placementId,nodeId:e.id,trackId:i.id,trackType:i.type}))}catch(n){this.trigger(dh.DECODE_ERROR,ph({placementId:t.placementId,nodeId:e.id,trackId:null==i?void 0:i.id,trackType:null==i?void 0:i.type,error:n}))}}))}function HM(t,e,n){var i;if(!(t&&e&&n&&Array.isArray(e.segments)))return;const r=null==t?void 0:t.placementId,o=r?N(eM,this).get(r):void 0,s=null==o||null===(i=o.trackStates)||void 0===i?void 0:i.get(e.id),a=null==s?void 0:s.segmentDecoders;if(!a||"function"!=typeof a.has)return;const l=e.segments,c=l.findIndex((t=>(null==t?void 0:t.id)===n.id));if(c<0)return;let u=0;for(let n=c+1;n<l.length;n+=1){const i=l[n];if(!i||i.isInit)continue;if(a.has(i.id))continue;if(!(i.retainedByteLength>0))break;const r=i.arrayBuffer;if(!r||"number"!=typeof r.byteLength||r.byteLength<=0)break;if(M(cM,this,eA).call(this,t,e,i),u+=1,u>=2)break}}function KM(t){const e=M(cM,this,RM).call(this,t);e&&M(cM,this,AM).call(this,e)&&M(cM,this,PM).call(this,t).forEach((t=>{const n=N(eM,this).get(t);M(cM,this,GM).call(this,(null==n?void 0:n.placement)||{placementId:t},e)}))}function XM(t){t&&t.nodeId&&t.trackId&&t.chunk&&M(cM,this,PM).call(this,t.nodeId).forEach((e=>M(cM,this,YM).call(this,e,t)))}function YM(t,e){const n=N(eM,this).get(t);if(!n)return;const i=n.trackStates.get(e.trackId);if(i)try{var r,o;if(e.isInit)return;const s=i.track,a=null==s||null===(r=s.segments)||void 0===r?void 0:r.find((t=>(null==t?void 0:t.id)===e.segmentId));if(!a||a.isInit)return;if("image"===(null==s?void 0:s.type))return void(!i.ready&&a.retainedByteLength>0&&M(cM,this,eA).call(this,n.placement,s,a)&&(i.ready=!0,this.trigger(dh.DECODE_READY,fh({placementId:t,nodeId:e.nodeId,trackId:e.trackId,trackType:e.trackType}))));if((null===(o=N(VS,this))||void 0===o?void 0:o.state)===Mg&&i.seekSegmentId&&("video"===(null==s?void 0:s.type)||"audio"===(null==s?void 0:s.type))&&a.id!==i.seekSegmentId)return;const l=a.id,c=i.segmentStates.get(l)||{initSent:!1,pendingChunks:[],ended:!1,firstChunkObserved:!1,missedSegmentPrefix:!1,fullBufferDecodeScheduled:!1,fullBufferRetryTimer:null,fullBufferRetryAttempts:0};i.segmentStates.set(l,c);const u=M(cM,this,ZM).call(this,n.placement,s,a);if(!u||"function"!=typeof u.decodeChunk)return;if(i.hasInit&&!c.initSent){const t=M(cM,this,tA).call(this,s,a);if(!t)return void c.pendingChunks.push({chunk:e.chunk,loaded:e.loaded,total:e.total});u.decodeChunk(t,{isInit:!0}),c.initSent=!0,c.pendingChunks.length&&(c.pendingChunks.forEach((t=>{u.decodeChunk(t.chunk,{isInit:!1,loaded:t.loaded,total:t.total})})),c.pendingChunks=[])}const d="number"==typeof e.loaded&&"number"==typeof e.total&&e.total>0&&e.loaded>=e.total;M(cM,this,QM).call(this,c,e)?d&&!c.ended&&M(cM,this,JM).call(this,n.placement,s,a,c):(u.decodeChunk(e.chunk,{isInit:!1,loaded:e.loaded,total:e.total}),d&&!c.ended&&"function"==typeof u.endOfStream&&(c.ended=!0,u.endOfStream())),i.ready||(i.ready=!0,this.trigger(dh.DECODE_READY,fh({placementId:t,nodeId:e.nodeId,trackId:e.trackId,trackType:e.trackType})))}catch(n){this.trigger(dh.DECODE_ERROR,ph({placementId:t,nodeId:e.nodeId,trackId:e.trackId,trackType:e.trackType,error:n}))}}function QM(t,e){var n;if(!t||t.missedSegmentPrefix)return!(null==t||!t.missedSegmentPrefix);if(t.firstChunkObserved)return!1;t.firstChunkObserved=!0;const i=Number(null==e?void 0:e.loaded),r=Number(null==e||null===(n=e.chunk)||void 0===n?void 0:n.byteLength);return!(!Number.isFinite(i)||!Number.isFinite(r)||r<=0)&&(t.missedSegmentPrefix=i>r,t.missedSegmentPrefix)}function JM(t,e,n,i){if(!t||!e||!n||!i||i.fullBufferDecodeScheduled)return;const r=null==t?void 0:t.placementId,o=null==e?void 0:e.id,s=null==n?void 0:n.id;if(!r||!o||!s)return;const a="function"==typeof(null==ch?void 0:ch.setTimeout)?ch.setTimeout.bind(ch):setTimeout;i.fullBufferDecodeScheduled=!0,i.fullBufferRetryAttempts=0;const l=()=>{if(!M(cM,this,LM).call(this,r,o,s,i)||i.ended)return void M(cM,this,DM).call(this,i);if(M(cM,this,eA).call(this,t,e,n))return void M(cM,this,DM).call(this,i);i.fullBufferRetryAttempts+=1;const c=i.fullBufferRetryAttempts<=8?0:50;i.fullBufferRetryTimer=a((()=>{l()}),c)};i.fullBufferRetryTimer=a((()=>{l()}),0)}function ZM(t,e,n){var i,r;const o=null==t?void 0:t.placementId;if(!o||!e||!n)return;const s=N(eM,this).get(o),a=null==s||null===(i=s.trackStates)||void 0===i?void 0:i.get(e.id);if(!a)return;const l=a.segmentDecoders.get(n.id);if(l)return l;const c=N(GS,this).create(e);if(c&&"function"==typeof c.configure&&c.configure(e),c&&"function"==typeof c.setNodeId&&c.setNodeId(null==t?void 0:t.nodeId),c&&"function"==typeof c.setSegment&&c.setSegment(n),c&&"function"==typeof c.setCurrentTimeProvider&&c.setCurrentTimeProvider((()=>{var t;return"number"==typeof(null===(t=N(VS,this))||void 0===t?void 0:t.currentTime)?N(VS,this).currentTime:0})),c&&"function"==typeof c.setTimeOffsetSeconds){var u,d;const i=gv(t),r=US(null==e?void 0:e.offset),o=US(null!==(u=null==n||null===(d=n.chosenRepresentation)||void 0===d?void 0:d.segStart)&&void 0!==u?u:null==n?void 0:n.offset);Number.isFinite(i)&&c.setTimeOffsetSeconds(i+r+o)}return c&&"function"==typeof c.setSeekTargetTimeSeconds&&(null===(r=N(VS,this))||void 0===r?void 0:r.state)===Mg&&"video"===(null==e?void 0:e.type)&&c.setSeekTargetTimeSeconds(N(VS,this).currentTime),c&&"function"==typeof c.on&&(c.on(dh.DECODER_FRAME,(i=>{i&&(!N(aM,this)||"video"!==(null==e?void 0:e.type)&&"image"!==(null==e?void 0:e.type)||(F(aM,this,!1),F(lM,this,null)),N(VS,this)&&"function"==typeof N(VS,this).notifyDecodedFrame&&(i.frame||i.data)&&N(VS,this).notifyDecodedFrame({placementId:o,nodeId:null==t?void 0:t.nodeId,trackId:null==e?void 0:e.id,trackType:null==e?void 0:e.type,segmentId:null==n?void 0:n.id,pts:i.pts,duration:i.duration,frame:i.frame,data:i.data}))})),c.on(dh.DECODER_AUDIO,(i=>{i&&i.audioBuffer&&this.trigger(dh.DECODER_AUDIO,fh({placementId:o,nodeId:null==t?void 0:t.nodeId,trackId:null==e?void 0:e.id,trackType:null==e?void 0:e.type,segmentId:null==n?void 0:n.id,pts:i.pts,duration:i.duration,audioBuffer:i.audioBuffer}))})),c.on(dh.DECODER_ERROR,(i=>{const r=(null==i?void 0:i.error)||i;this.trigger(dh.DECODER_ERROR,ph({placementId:o,nodeId:null==t?void 0:t.nodeId,trackId:null==e?void 0:e.id,trackType:null==e?void 0:e.type,segmentId:null==n?void 0:n.id,error:r})),M(cM,this,TM).call(this,r)}))),a.segmentDecoders.set(n.id,c),c}function tA(t,e){var n,i;if(!t||!e||!Array.isArray(t.segments))return;const r=t.segments.find((t=>null==t?void 0:t.isInit));if(!r||"function"!=typeof r.getRepresentationBuffer)return;const o=(null==e||null===(n=e.chosenRepresentation)||void 0===n?void 0:n.id)||(null==e||null===(i=e.representations)||void 0===i||null===(i=i[0])||void 0===i?void 0:i.id);if(!o)return;const s=r.getRepresentationBuffer(o);return s?s instanceof Uint8Array?s:new Uint8Array(s):void 0}function eA(t,e,n){var i;if(!t||!e||!n)return!1;const r=t.placementId,o=N(eM,this).get(r),s=null==o||null===(i=o.trackStates)||void 0===i?void 0:i.get(e.id);if(!s)return!1;const a=M(cM,this,ZM).call(this,t,e,n);if(!a||"function"!=typeof a.decodeChunk)return!1;const l=s.segmentStates.get(n.id)||{initSent:!1,pendingChunks:[],ended:!1,firstChunkObserved:!1,missedSegmentPrefix:!1,fullBufferDecodeScheduled:!1,fullBufferRetryTimer:null,fullBufferRetryAttempts:0};if(s.segmentStates.set(n.id,l),l.ended)return M(cM,this,DM).call(this,l),!0;if(s.hasInit&&!l.initSent){const t=M(cM,this,tA).call(this,e,n);if(!t)return!1;a.decodeChunk(t,{isInit:!0}),l.initSent=!0}const c=n.arrayBuffer;return!(!c||"number"!=typeof c.byteLength||c.byteLength<=0||(a.decodeChunk(new Uint8Array(c),{isInit:!1,loaded:c.byteLength,total:c.byteLength}),l.ended||"function"!=typeof a.endOfStream||(l.ended=!0,a.endOfStream()),M(cM,this,DM).call(this,l),0))}const nA=1e-6;var iA=new WeakMap,rA=new WeakMap,oA=new WeakMap,sA=new WeakMap,aA=new WeakMap,lA=new WeakMap,cA=new WeakMap,uA=new WeakMap,dA=new WeakSet;class hA extends sh{get name(){return"TransitionManager"}get defaults(){return{durationSeconds:.5}}constructor(t,e,n){super(n),O(this,dA),C(this,iA,void 0),C(this,rA,void 0),C(this,oA,null),C(this,sA,null),C(this,aA,null),C(this,lA,0),C(this,cA,[]),C(this,uA,null),F(iA,this,t),F(rA,this,e),N(iA,this)&&"function"==typeof N(iA,this).on&&(F(uA,this,(()=>M(dA,this,wA).call(this))),N(iA,this).on(dh.TIMELINE_RESET,N(uA,this)))}transitionTo(t,e={}){const n=Number(t);if(!Number.isFinite(n))throw new Error("TransitionManager.transitionTo requires a numeric time");M(dA,this,wA).call(this);const i=M(dA,this,fA).call(this),r=M(dA,this,gA).call(this,n,e);return r?M(dA,this,yA).call(this,n,e,i,r):Promise.resolve()}onDispose(){N(iA,this)&&"function"==typeof N(iA,this).off&&N(uA,this)&&N(iA,this).off(dh.TIMELINE_RESET,N(uA,this)),F(uA,this,null),M(dA,this,wA).call(this),F(rA,this,null),F(iA,this,null)}}function fA(){return F(lA,this,N(lA,this)+1),N(lA,this)}function pA(t={}){var e;const n=Number(null==t?void 0:t.duration),i=Number(null===(e=this.settings)||void 0===e?void 0:e.durationSeconds);return Number.isFinite(n)?n:i}function mA(t={},e){return{duration:e,filter:null==t?void 0:t.filter,color:null==t?void 0:t.color,filters:null==t?void 0:t.filters,reverseFilters:null==t?void 0:t.reverseFilters,transition:null==t?void 0:t.transition}}function vA(t,e){const n=1e3*t,i=Number.isFinite(Number(null==e?void 0:e.outDurationMs))&&e.outDurationMs>0?e.outDurationMs:n;return{outDurationMs:i,inDurationMs:Number.isFinite(Number(null==e?void 0:e.inDurationMs))&&e.inDurationMs>0?e.inDurationMs:i}}function gA(t,e={}){var n;const i=N(rA,this),r=M(dA,this,pA).call(this,e);if(!i||"function"!=typeof i.startTransition)return N(iA,this).currentTime=t,null;if(!(r>0))return N(iA,this).currentTime=t,null!==(n=i.resetTransition)&&void 0!==n&&n.call(i),null;const o=M(dA,this,mA).call(this,e,r);"function"==typeof(null==e?void 0:e.onTransitionInStart)&&e.onTransitionInStart();const s=i.startTransition(o),{outDurationMs:a,inDurationMs:l}=M(dA,this,vA).call(this,r,s);return{renderer:i,transitionOptions:o,outDurationMs:a,inDurationMs:l,shouldWaitForFrames:!1!==(null==e?void 0:e.waitForVisualFrames)}}function yA(t,e={},n,i){const{renderer:r,transitionOptions:o,outDurationMs:s,inDurationMs:a,shouldWaitForFrames:l}=i,c=M(dA,this,EA).call(this,t,e,n),u=l?M(dA,this,SA).call(this,t,n):Promise.resolve();let d=!1,h=!1,f=!1,p=!l;const m=()=>{var t;M(dA,this,xA).call(this,n)&&!f&&d&&h&&p&&(f=!0,"function"==typeof(null==e?void 0:e.onTransitionInEnd)&&e.onTransitionInEnd(),"function"==typeof(null==e?void 0:e.onTransitionOutStart)&&e.onTransitionOutStart(),null!==(t=r.beginTransitionIn)&&void 0!==t&&t.call(r,o),F(sA,this,setTimeout((()=>{var t;M(dA,this,xA).call(this,n)&&(null!==(t=r.resetTransition)&&void 0!==t&&t.call(r),"function"==typeof(null==e?void 0:e.onTransitionOutEnd)&&e.onTransitionOutEnd(),M(dA,this,bA).call(this))}),a)))};return F(oA,this,setTimeout((()=>{d=!0,m()}),s)),c.then((()=>{h=!0,m()})).catch((()=>{var t;M(dA,this,xA).call(this,n)&&(null!==(t=r.resetTransition)&&void 0!==t&&t.call(r),M(dA,this,bA).call(this))})),u.then((()=>{p=!0,m()})).catch((()=>{p=!0,m()})),N(iA,this).currentTime=t,new Promise((t=>{F(aA,this,t)}))}function bA(){const t=N(aA,this);F(aA,this,null),M(dA,this,kA).call(this),M(dA,this,TA).call(this),t&&t()}function kA(){N(oA,this)&&clearTimeout(N(oA,this)),N(sA,this)&&clearTimeout(N(sA,this)),F(oA,this,null),F(sA,this,null)}function wA(){var t,e;N(rA,this)&&null!==(t=(e=N(rA,this)).resetTransition)&&void 0!==t&&t.call(e),M(dA,this,kA).call(this),M(dA,this,TA).call(this),N(aA,this)&&(N(aA,this).call(this),F(aA,this,null))}function xA(t){return N(lA,this)===t}function _A(t,e){N(iA,this)&&"function"==typeof N(iA,this).on&&(N(iA,this).on(t,e),N(cA,this).push({eventName:t,handler:e}))}function IA(t,e){N(iA,this)&&"function"==typeof N(iA,this).off&&(N(iA,this).off(t,e),F(cA,this,N(cA,this).filter((n=>n.eventName!==t||n.handler!==e))))}function TA(){N(iA,this)&&"function"==typeof N(iA,this).off?(N(cA,this).forEach((t=>{N(iA,this).off(t.eventName,t.handler)})),F(cA,this,[])):F(cA,this,[])}function EA(t,e,n){const i=null==e?void 0:e.transitionOutPromise;if(i&&"function"==typeof i.then)return i;if("function"==typeof i)try{const t=i();if(t&&"function"==typeof t.then)return t}catch(t){return Promise.resolve()}if(!N(iA,this)||"function"!=typeof N(iA,this).on)return Promise.resolve();const r=M(dA,this,MA).call(this);return new Promise((e=>{let i=!1;const o=r?dh.TIMELINE_SEEKED:"nodestart";let s,a;const l=()=>{M(dA,this,IA).call(this,dh.TIMELINE_SEEKING,s),M(dA,this,IA).call(this,o,a),e()};s=(e={})=>{M(dA,this,xA).call(this,n)?M(dA,this,AA).call(this,e,t)&&(i=!0):l()},a=(e={})=>{M(dA,this,xA).call(this,n)?(o!==dh.TIMELINE_SEEKED||M(dA,this,AA).call(this,e,t))&&(o===dh.TIMELINE_SEEKED||i)&&l():l()},M(dA,this,_A).call(this,dh.TIMELINE_SEEKING,s),M(dA,this,_A).call(this,o,a)}))}function SA(t,e){if(!N(iA,this)||"function"!=typeof N(iA,this).on)return Promise.resolve();const n=Number(t);return new Promise((t=>{const i=(r={})=>{if(!M(dA,this,xA).call(this,e))return M(dA,this,IA).call(this,dh.VISUAL_FRAMES_AVAILABLE,i),void t();const o=Number(null==r?void 0:r.time);Number.isFinite(n)&&Number.isFinite(o)&&o+nA<n||(Array.isArray(null==r?void 0:r.frames)?r.frames:[]).length&&(M(dA,this,IA).call(this,dh.VISUAL_FRAMES_AVAILABLE,i),t())};M(dA,this,_A).call(this,dh.VISUAL_FRAMES_AVAILABLE,i)}))}function MA(){var t,e;const n=null===(t=N(iA,this))||void 0===t?void 0:t.state;if(n===Sg||n===_g)return!0;const i=null===(e=N(iA,this))||void 0===e?void 0:e.placements;return!Array.isArray(i)||0===i.length}function AA(t,e){const n=Number(null==t?void 0:t.targetTime);return!Number.isFinite(n)||Math.abs(n-e)<nA}function NA(t,e=0){const n=Number(t);return Number.isFinite(n)?n:e}var CA=new WeakMap,FA=new WeakMap,OA=new WeakMap,PA=new WeakMap,RA=new WeakMap,DA=new WeakMap,BA=new WeakMap,LA=new WeakMap,zA=new WeakMap,WA=new WeakMap,jA=new WeakMap,$A=new WeakMap,UA=new WeakMap,qA=new WeakMap,VA=new WeakSet;class GA extends sh{get name(){return"AudioPlaybackManager"}get defaults(){return{muted:!1,volume:1,lookaheadSeconds:1}}constructor(t,e,n){super(n),O(this,VA),C(this,CA,void 0),C(this,FA,void 0),C(this,OA,null),C(this,PA,null),C(this,RA,[]),C(this,DA,new Set),C(this,BA,new Map),C(this,LA,!1),C(this,zA,1),C(this,WA,!0),C(this,jA,null),C(this,$A,null),C(this,UA,null),C(this,qA,null),F(CA,this,t),F(FA,this,e),F(LA,this,!!this.settings.muted),F(zA,this,fv(this.settings.volume));const i=Array.isArray(null==n?void 0:n.disabledTracks)?n.disabledTracks:[];F(WA,this,!i.includes("audio")),M(VA,this,HA).call(this)}get muted(){return N(LA,this)}set muted(t){F(LA,this,!!t),M(VA,this,rN).call(this)}get volume(){return N(zA,this)}set volume(t){F(zA,this,fv(t)),M(VA,this,rN).call(this)}handleDecodedAudio(t={}){if(!N(WA,this))return;const e=null==t?void 0:t.audioBuffer,n=null==t?void 0:t.placementId,i=null==t?void 0:t.segmentId,r=NA(null==t?void 0:t.pts,null);if(!(e&&n&&i&&Number.isFinite(r)))return;const o=Number.isFinite(null==t?void 0:t.duration)?t.duration:e.duration,s=`${n}:${i}`;N(DA,this).has(s)||(N(RA,this).push({key:s,placementId:n,pts:r,duration:o,audioBuffer:e}),N(RA,this).sort(((t,e)=>t.pts-e.pts)),M(VA,this,JA).call(this))}onDispose(){M(VA,this,KA).call(this),M(VA,this,nN).call(this,!0),N(OA,this)&&"function"==typeof N(OA,this).close&&N(OA,this).close(),F(OA,this,null),F(PA,this,null),F(CA,this,null),F(FA,this,null)}}function HA(){N(CA,this)&&"function"==typeof N(CA,this).on&&(F(jA,this,(t=>M(VA,this,XA).call(this,t))),N(CA,this).on(dh.TIMELINE_TIME_UPDATE,N(jA,this)),F($A,this,(t=>M(VA,this,YA).call(this,t))),N(CA,this).on(dh.TIMELINE_STATE_CHANGE,N($A,this)),F(qA,this,(()=>M(VA,this,QA).call(this))),N(CA,this).on(dh.TIMELINE_RESET,N(qA,this))),N(FA,this)&&"function"==typeof N(FA,this).on&&(F(UA,this,(t=>this.handleDecodedAudio(t))),N(FA,this).on(dh.DECODER_AUDIO,N(UA,this)))}function KA(){N(CA,this)&&"function"==typeof N(CA,this).off&&(N(jA,this)&&N(CA,this).off(dh.TIMELINE_TIME_UPDATE,N(jA,this)),N($A,this)&&N(CA,this).off(dh.TIMELINE_STATE_CHANGE,N($A,this)),N(qA,this)&&N(CA,this).off(dh.TIMELINE_RESET,N(qA,this))),N(FA,this)&&"function"==typeof N(FA,this).off&&N(UA,this)&&N(FA,this).off(dh.DECODER_AUDIO,N(UA,this)),F(jA,this,null),F($A,this,null),F(UA,this,null),F(qA,this,null)}function XA(){M(VA,this,JA).call(this)}function YA(t={}){const e=null==t?void 0:t.to;if(e)return e===Ig?(M(VA,this,oN).call(this),void M(VA,this,JA).call(this)):void(e!==Sg&&e!==Eg?e!==Mg&&e!==Ag||M(VA,this,QA).call(this):M(VA,this,sN).call(this))}function QA(){M(VA,this,sN).call(this),M(VA,this,nN).call(this,!0),F(RA,this,[])}function JA(){if(!N(WA,this)||!N(CA,this))return;if(N(CA,this).state!==Ig)return;const t=M(VA,this,iN).call(this);if(!t)return;const e=NA(N(CA,this).currentTime,0),n=e+Math.max(0,NA(this.settings.lookaheadSeconds,1)),i=[];for(let r=0;r<N(RA,this).length;r+=1){const o=N(RA,this)[r];o&&(o.pts>n?i.push(o):M(VA,this,ZA).call(this,o)&&M(VA,this,eN).call(this,o,t,e))}F(RA,this,i)}function ZA(t){if(!t||!N(CA,this))return!1;const e=M(VA,this,tN).call(this,t.pts);return!(!e||e!==t.placementId)}function tN(t){if(!N(CA,this)||"function"!=typeof N(CA,this).getPlacementsActiveAtTime)return null;const e=N(CA,this).getPlacementsActiveAtTime(t);if(!Array.isArray(e)||!e.length)return null;const n=e.find((t=>null==t?void 0:t.placementId));return n?n.placementId:null}function eN(t,e,n){const i=t.key;if(N(DA,this).has(i))return;const r=t.audioBuffer;if(!r)return;const o=Number.isFinite(t.duration)?t.duration:r.duration,s=t.pts;if(!Number.isFinite(s))return;const a=n-s;if(Number.isFinite(o)&&o>0&&a>=o)return;const l=e.createBufferSource();l.buffer=r,l.connect(N(PA,this));let c=e.currentTime,u=0;a>0?u=a:a<0&&(c=e.currentTime+Math.abs(a));try{l.start(c,u)}catch(t){return void this.log.warn("[AudioPlaybackManager] Failed to start audio buffer",t)}N(DA,this).add(i),N(BA,this).set(i,l),l.onended=()=>{N(BA,this).delete(i)}}function nN(t){N(BA,this).forEach(((t,e)=>{if(t&&"function"==typeof t.stop)try{t.stop()}catch(t){}N(BA,this).delete(e)})),t&&N(DA,this).clear()}function iN(){if(N(OA,this))return N(OA,this);const t=ch.AudioContext||ch.webkitAudioContext;if(!t)return this.log.warn("[AudioPlaybackManager] AudioContext is not available."),null;try{return F(OA,this,new t),F(PA,this,N(OA,this).createGain()),N(PA,this).connect(N(OA,this).destination),M(VA,this,rN).call(this),N(OA,this)}catch(t){return this.log.warn("[AudioPlaybackManager] Failed to initialize AudioContext",t),F(OA,this,null),F(PA,this,null),null}}function rN(){if(!N(PA,this))return;const t=N(LA,this)?0:N(zA,this);N(PA,this).gain.value=t}function oN(){N(OA,this)&&"function"==typeof N(OA,this).resume&&"suspended"===N(OA,this).state&&N(OA,this).resume().catch((()=>{}))}function sN(){N(OA,this)&&"function"==typeof N(OA,this).suspend&&"running"===N(OA,this).state&&N(OA,this).suspend().catch((()=>{}))}var aN=new WeakMap,lN=new WeakMap,cN=new WeakMap,uN=new WeakMap,dN=new WeakMap,hN=new WeakSet;class fN extends sh{constructor(...t){super(...t),O(this,hN),C(this,aN,void 0),C(this,lN,void 0),C(this,cN,void 0),C(this,uN,void 0),C(this,dN,void 0),F(aN,this,M(hN,this,mN).call(this,this.settings.currentTime)),F(lN,this,M(hN,this,vN).call(this,this.settings.playbackRate)),F(cN,this,null),F(uN,this,!1),F(dN,this,M(hN,this,pN).bind(this))}get name(){return"PlaybackClock"}get defaults(){return{currentTime:0,playbackRate:Kb("playbackRate")}}get currentTime(){return N(aN,this)}get playbackRate(){return N(lN,this)}set playbackRate(t){F(lN,this,M(hN,this,vN).call(this,t))}play(){N(uN,this)||(F(uN,this,!0),F(cN,this,Cb()),wx(N(dN,this),0))}pause(){N(uN,this)&&(F(uN,this,!1),xx(N(dN,this)))}seek(t){F(aN,this,M(hN,this,mN).call(this,t)),F(cN,this,Cb())}reset(){this.pause(),F(aN,this,0),F(cN,this,null)}onDispose(){this.pause(),F(dN,this,null)}}function pN(){const t=Cb();if(null===N(cN,this))return F(cN,this,t),void this.trigger(dh.CLOCK_TICK,{currentTime:N(aN,this)});const e=t-N(cN,this);F(cN,this,t);const n=e/1e3;F(aN,this,N(aN,this)+n*N(lN,this)),this.trigger(dh.CLOCK_TICK,{currentTime:N(aN,this)})}function mN(t){return"number"!=typeof t||Number.isNaN(t)||!Number.isFinite(t)||t<0?0:t}function vN(t){return"number"!=typeof t||Number.isNaN(t)||!Number.isFinite(t)||t<=0?N(lN,this)||1:t}var gN=new WeakMap,yN=new WeakSet;class bN extends sh{constructor(...t){super(...t),O(this,yN),C(this,gN,new Map)}get name(){return"TrackBuffers"}get defaults(){return{}}refreshNode(t){if(!t||!Array.isArray(t.tracks))return;const e=t.id,n=N(gN,this).get(e)||new Map;N(gN,this).set(e,n),t.tracks.forEach((t=>{const i=null==t?void 0:t.type;if(!i)return;const r=t.buffered,o=n.get(i),s=!!o&&o.ready,a=(l=r)&&Number.isFinite(l.start)&&Number.isFinite(l.end)&&l.end>l.start;var l,c,u;u=r,!(c=null==o?void 0:o.range)&&!u||c&&u&&c.start===u.start&&c.end===u.end?o&&o.ready!==a&&n.set(i,{range:r,ready:a}):(n.set(i,{range:r,ready:a}),this.trigger(dh.TRACK_BUFFER_UPDATE,{nodeId:e,trackType:i,range:r})),!s&&a?this.trigger(dh.TRACK_READY,{nodeId:e,trackType:i,range:r}):s&&!a&&this.trigger(dh.TRACK_UNDERFLOW,{nodeId:e,trackType:i,range:r})}))}getTrackRange(t,e){const n=N(gN,this).get(t),i=null==n?void 0:n.get(e);return null==i?void 0:i.range}computeBuffered(t=[],e=0,n){if(!n||"function"!=typeof n.get)return;const i=Number.isFinite(e)?e:0;let r,o,s=!1;for(let e=0;e<t.length;e+=1){const a=M(yN,this,wN).call(this,n,t[e],i);if(!a||a.end<=i)continue;if(void 0===r){r=a.start,o=a.end,s=a.full;continue}const l=a.start<=o,c=s&&a.full;if(!l&&!c)break;o=Math.max(o,a.end),s=a.full}return void 0===r||void 0===o?{start:0,end:0}:{start:r,end:o}}get buffered(){return N(gN,this)}reset(){N(gN,this).clear()}onDispose(){N(gN,this).clear(),"function"==typeof this.off&&this.off()}}function kN(t,e=0){const n=Array.isArray(null==t?void 0:t.segments)?t.segments:[],i=[];for(let t=0;t<n.length;t+=1){const e=n[t];if(!e||e.isInit)continue;const r=Number(e.duration),o=Number(e.offset),s=Number(e.bufferedRatio);if(!Number.isFinite(r)||r<=0||!Number.isFinite(o)||s<=0)continue;const a=o+r*Math.min(1,s);!Number.isFinite(a)||a<=o||i.push({start:o,end:a})}if(!i.length)return;i.sort(((t,e)=>t.start-e.start));const r=[i[0]];for(let t=1;t<i.length;t+=1){const e=i[t],n=r[r.length-1];e.start<=n.end+.001?n.end=Math.max(n.end,e.end):r.push({...e})}const o=Number.isFinite(e)?e:0;for(let t=0;t<r.length;t+=1){const e=r[t];if(e.end>o+.001)return e}}function wN(t,e,n=0){var i,r;const o=gv(e);if(!Number.isFinite(o))return;const s=t.get(e.nodeId);if(!s)return;const a=Array.isArray(s.tracks)?s.tracks:[];if(!a.length){const t=s.buffered;if(!t||!Number.isFinite(t.start)||!Number.isFinite(t.end))return;return M(yN,this,xN).call(this,s,t,o,e)}const l=s.mainTrackId,c=Number.isFinite(e.nodeOffsetOverride)?e.nodeOffsetOverride:0,u=Math.max(0,n-o+c);let d;l&&(d=a.find((t=>(null==t?void 0:t.id)===l))),(null===(i=d)||void 0===i?void 0:i.type)||(d=a.find((t=>null==t?void 0:t.type)));const h=M(yN,this,kN).call(this,d,u)||(null===(r=d)||void 0===r?void 0:r.buffered);return h&&Number.isFinite(h.start)&&Number.isFinite(h.end)?M(yN,this,xN).call(this,s,h,o,e):void 0}function xN(t,e,n,i){const r=Number.isFinite(i.nodeOffsetOverride)?i.nodeOffsetOverride:0;let o=e.start-r+n,s=e.end-r+n;const a=t.duration,l=Number.isFinite(i.nodeDurationOverride)?i.nodeDurationOverride:a;if(Number.isFinite(l)){const t=n+l;s=Math.min(s,t);const e=o<=n&&s>=t;if(o=Math.max(o,n),!(s>o))return;return{start:o,end:s,full:e}}if(o=Math.max(o,n),s>o)return{start:o,end:s,full:!1}}class _N{constructor(t={}){const{placementId:e,nodeId:n,offset:i,offsetPending:r=!1,offsetAnchorPlacementId:o,offsetEndSeconds:s,offsetAnchorEdge:a,offsetAnchorIsReference:l,nodeOffsetOverride:c,nodeDurationOverride:u,loop:d=!1,loopRootPlacementId:h,loopRootOffset:f}=t;if(!e)throw new Error("Placement requires placementId");if(!n)throw new Error("Placement requires nodeId");this.placementId=e,this.nodeId=n;const p=Number.isFinite(i)?i:0;this.offsetPending=!0===r,this.offsetAnchorPlacementId=o,this.offsetAnchorEdge=a,this.offsetAnchorIsReference=l,this.offsetEndSeconds=Number.isFinite(s)?s:void 0,this.offset=this.offsetPending?void 0:p,this.nodeOffsetOverride=c,this.nodeDurationOverride=u,this.loop=!0===d,this.loopRootPlacementId=h,this.loopRootOffset=f}}class IN extends sh{constructor(t,e){super(e),this.timeline=t}get methodsExcludedFromAutoLog(){return new Set([...super.methodsExcludedFromAutoLog,"handleDecodedFrame","handleClockTick","handleMainTrackBufferUpdate"])}enter(){}exit(){}play(){this.timeline.transitionTo(Ig)}pause(){this.timeline.transitionTo(Sg)}wait(){this.timeline.transitionTo(Eg)}reset(){this.timeline.transitionTo(Ag)}seek(t){this.timeline.transitionTo(Mg,{targetTime:t,returnState:this.timeline.state})}getCurrentTime(){return this.timeline.currentTime}emitPlayerStateEvent(t,e={}){if(!t||!this.timeline||"function"!=typeof this.timeline.trigger)return;const n=Number.isFinite(null==e?void 0:e.time)?e.time:this.getCurrentTime(),i={...e,event:t};Number.isFinite(n)&&(i.time=n),this.timeline.trigger("player:state",i)}get buffered(){return this.timeline.computeBuffered(this.timeline.currentTime)}handleMainTrackUnderflow(t){this.wait()}handleMainTrackReady(t){const e=this.timeline.getLastStableState()||Sg;this.timeline.transitionTo(e)}handleMainTrackBufferUpdate(t){}handleDecodedFrame(t){}handleClockTick(t){}onDispose(){this.timeline=null}}const TN=24e3/1001;function EN(t,e=(null==t?void 0:t.currentTime)){return Number.isFinite(e)?e:Number.isFinite(null==t?void 0:t.currentTime)?t.currentTime:0}function SN(t){var e;const n=Number(null==t||null===(e=t.settings)||void 0===e?void 0:e.snapToFps);return Number.isFinite(n)&&n>0?.5/n:.001}function MN(t){var e;const n=Array.isArray(null==t?void 0:t.tracks)?t.tracks:[];let i;if(null!=t&&t.mainTrackId){const e=n.find((e=>(null==e?void 0:e.id)===t.mainTrackId));i=null==e?void 0:e.type}if(i||(i=null===(e=n.find((t=>null==t?void 0:t.type)))||void 0===e?void 0:e.type),"video"===i||"audio"===i||"image"===i)return i}function AN(t){const e=Array.isArray(null==t?void 0:t.tracks)?t.tracks:[];if(e.length){if(null!=t&&t.mainTrackId){const n=e.find((e=>(null==e?void 0:e.id)===t.mainTrackId));if("video"===(null==n?void 0:n.type)||"image"===(null==n?void 0:n.type))return n}return e.find((t=>"video"===(null==t?void 0:t.type)||"image"===(null==t?void 0:t.type)))}}function NN(t,e,n,i,r){var o,s;const a="function"==typeof(null==t?void 0:t.getDecodedVisualBuffer)?t.getDecodedVisualBuffer(e,n):void 0;if(!a)return"function"==typeof(null==t?void 0:t.hasDecodedFirstFrame)&&t.hasDecodedFirstFrame(e,i);const l=Array.isArray(a.frames)?a.frames:[];let c,u=Number.isFinite(null===(o=a.current)||void 0===o?void 0:o.presentationTime)?a.current:void 0;for(let t=0;t<l.length;t+=1){const e=l[t],n=Number(null==e?void 0:e.presentationTime);if(Number.isFinite(n)){if(!(n<=r)){c=n;break}u=e}}const d=Number(null===(s=u)||void 0===s?void 0:s.presentationTime);if(!Number.isFinite(d)||d>r)return!1;const h=function(t,e,n,i){const r=Number(null==n?void 0:n.duration);if(Number.isFinite(r)&&r>0)return e+r;const o=function(t,e){const n=Number(null==t||null===(e=t.settings)||void 0===e?void 0:e.snapToFps);return 2/(Number.isFinite(n)&&n>0?n:TN)}(t),s=Number.isFinite(i)&&i>e?i-e:o;return e+Math.min(s,o)}(t,d,u,c);return!!Number.isFinite(h)&&r<=h+SN(t)}function CN(t,e=(null==t?void 0:t.currentTime)){const n=EN(t,e),i="function"==typeof(null==t?void 0:t.getPlacementsActiveAtTime)?t.getPlacementsActiveAtTime(n):[];if(!i.length)return!1;for(let e=0;e<i.length;e+=1){const n=i[e],r=null==n?void 0:n.placementId;if(!r)return!0;const o="function"==typeof(null==t?void 0:t.getNode)?t.getNode(n.nodeId):void 0;if(!o)return!0;const s=MN(o);if(!s)return!0;if(!t.hasDecodedFirstFrame(r,s))return!0}return!1}function FN(t,e=(null==t?void 0:t.currentTime)){return CN(t,e)||function(t,e=(null==t?void 0:t.currentTime)){const n=EN(t,e),i="function"==typeof(null==t?void 0:t.getPlacementsActiveAtTime)?t.getPlacementsActiveAtTime(n):[];if(!i.length)return!1;for(let e=0;e<i.length;e+=1){const r=i[e],o=null==r?void 0:r.placementId;if(!o)return!0;const s="function"==typeof(null==t?void 0:t.getNode)?t.getNode(r.nodeId):void 0;if(!s)return!0;const a=AN(s);if(null!=a&&a.id&&!NN(t,o,a.id,a.type,n))return!0}return!1}(t,e)}function ON(t,e=(null==t?void 0:t.currentTime)){if("function"!=typeof(null==t?void 0:t.computeBuffered))return!1;const n=EN(t,e),i=t.computeBuffered(n),r=Number(null==i?void 0:i.start),o=Number(null==i?void 0:i.end);if(!Number.isFinite(r)||!Number.isFinite(o)||o<=r)return!1;const s=SN(t);if(!(r<=n+s))return!1;return o-n>=function(t,e){const n=Number(null==t||null===(e=t.settings)||void 0===e?void 0:e.waitingBufferAheadSeconds);return!Number.isFinite(n)||n<0?3:n}(t)-s||function(t,e,n,i){const r=function(t){const e=Array.isArray(null==t?void 0:t.placements)?t.placements:[];let n;for(let i=0;i<e.length;i+=1){const r=e[i],o=gv(r);if(!Number.isFinite(o))continue;const s="function"==typeof(null==t?void 0:t.getPlacementDuration)?t.getPlacementDuration(r):void 0;if(!Number.isFinite(s))continue;const a=o+s;Number.isFinite(a)&&(!Number.isFinite(n)||a>n)&&(n=a)}return n}(t);return!!Number.isFinite(r)&&(e>=r-i||n>=r-i)}(t,n,o,s)}const PN={[_g]:class extends IN{get name(){return _g}get defaults(){return{autoplay:Kb("autoplay")}}enter(){this.timeline.recordStableState(Sg),this.timeline.stopPlaybackClock()}play(){const t=FN(this.timeline),e=t?Eg:this.timeline.getPlaybackStartState();if(this.emitPlayerStateEvent("play",{from:this.timeline.state,to:e}),t)return this.timeline.recordStableState(Ig),void this.timeline.transitionTo(Eg);this.timeline.transitionTo(e)}pause(){}handleDecodedFrame(t){if(!0!==this.settings.autoplay)return;if(!Array.isArray(this.timeline.placements)||!this.timeline.placements.length)return;if(FN(this.timeline))return;const e=this.timeline.getPlaybackStartState();this.log.info("[handleDecodedFrame] Autoplay enabled, starting playback!"),this.emitPlayerStateEvent("play",{from:this.timeline.state,to:e}),this.timeline.transitionTo(e)}},[Tg]:class extends IN{get name(){return Tg}enter(t={}){const{from:e,to:n}=t;this.timeline.recordStableState(Ig),this.timeline.stopPlaybackClock(),this.emitPlayerStateEvent("canplay",{from:e,to:n})}play(){}handleMainTrackUnderflow(){}pause(){this.timeline.transitionTo(Sg)}},[Ig]:class extends IN{get name(){return Ig}enter(t={}){const{from:e,to:n,fromFirstFramePending:i}=t;this.timeline.recordStableState(Ig),this.timeline.startPlaybackClock(),!0!==i&&this.emitPlayerStateEvent("canplay",{from:e,to:n}),this.emitPlayerStateEvent("playing",{from:e,to:n})}play(){}pause(){this.timeline.transitionTo(Sg)}handleClockTick(t){const e=this.timeline.currentTime;FN(this.timeline,e)&&(this.timeline.recordStableState(Ig),this.timeline.transitionTo(Eg))}},[Eg]:(Je=new WeakMap,Ze=new WeakMap,tn=new WeakSet,class extends IN{constructor(...t){super(...t),O(this,tn),C(this,Je,void 0),C(this,Ze,null)}get name(){return Eg}enter(t={}){const{from:e,to:n}=t;this.timeline.stopPlaybackClock(),M(tn,this,RN).call(this),M(tn,this,BN).call(this),this.emitPlayerStateEvent("waiting",{from:e,to:n}),M(tn,this,WN).call(this)}exit(){M(tn,this,DN).call(this),M(tn,this,LN).call(this)}play(){this.timeline.recordStableState(Ig);const t=M(tn,this,zN).call(this),e=t?Eg:this.timeline.getPlaybackStartState();this.emitPlayerStateEvent("play",{from:this.timeline.state,to:e}),t||this.timeline.transitionTo(e)}pause(){this.timeline.transitionTo(Sg)}handleMainTrackReady(t){const e=this.timeline.getLastStableState()||Sg;e!==Ig?this.timeline.transitionTo(e):M(tn,this,WN).call(this)}handleDecodedFrame(t){M(tn,this,WN).call(this)}handleMainTrackBufferUpdate(t){M(tn,this,WN).call(this)}}),[Sg]:class extends IN{get name(){return Sg}enter(t={}){const{from:e,to:n}=t;this.timeline.recordStableState(Sg),this.timeline.stopPlaybackClock(),this.emitPlayerStateEvent("pause",{from:e,to:n})}play(){const t=FN(this.timeline),e=t?Eg:this.timeline.getPlaybackStartState();if(this.emitPlayerStateEvent("play",{from:this.timeline.state,to:e}),t)return this.timeline.recordStableState(Ig),void this.timeline.transitionTo(Eg);this.timeline.transitionTo(e)}pause(){}},[Mg]:class extends IN{get name(){return Mg}enter(t={}){const{targetTime:e,returnState:n}=t;if(this.timeline&&"function"==typeof this.timeline.stopPlaybackClock&&this.timeline.stopPlaybackClock(),this.timeline&&"function"==typeof this.timeline.startSeeking)return void this.timeline.startSeeking(e,n);this.timeline.updateTime(e);const i=n===Ig||n===Tg,r=i&&"function"==typeof this.timeline.getPlaybackStartState?this.timeline.getPlaybackStartState(e):i?Ig:Sg;this.timeline.transitionTo(r,{fromSeeking:!0})}play(){var t;if(this.timeline&&"function"==typeof this.timeline.setSeekReturnState)return void this.timeline.setSeekReturnState(Ig);const e="function"==typeof(null===(t=this.timeline)||void 0===t?void 0:t.getPlaybackStartState)?this.timeline.getPlaybackStartState():Ig;this.timeline.transitionTo(e)}pause(){this.timeline&&"function"==typeof this.timeline.setSeekReturnState?this.timeline.setSeekReturnState(Sg):this.timeline.transitionTo(Sg)}handleDecodedFrame(t){this.timeline&&"function"==typeof this.timeline.maybeCompleteSeek&&this.timeline.maybeCompleteSeek(t)}},[Ag]:class extends IN{get name(){return Ag}enter(){this.timeline.resetClock(),this.timeline.transitionTo(_g,{fromReset:!0})}play(){}pause(){}get buffered(){return{start:0,end:0}}}};function RN(){var t;const e=null===(t=this.timeline)||void 0===t?void 0:t.trackBuffers;e&&"function"==typeof e.on&&(F(Je,this,(t=>this.handleMainTrackBufferUpdate(t))),e.on(dh.TRACK_BUFFER_UPDATE,N(Je,this)))}function DN(){var t;const e=null===(t=this.timeline)||void 0===t?void 0:t.trackBuffers;N(Je,this)&&e&&"function"==typeof e.off?(e.off(dh.TRACK_BUFFER_UPDATE,N(Je,this)),F(Je,this,null)):F(Je,this,null)}function BN(){if(null!==N(Ze,this))return;const t="function"==typeof(null==ch?void 0:ch.setInterval)?ch.setInterval.bind(ch):setInterval;F(Ze,this,t((()=>{var t;(null===(t=this.timeline)||void 0===t?void 0:t.state)===Eg&&M(tn,this,WN).call(this)}),200))}function LN(){null!==N(Ze,this)&&(("function"==typeof(null==ch?void 0:ch.clearInterval)?ch.clearInterval.bind(ch):clearInterval)(N(Ze,this)),F(Ze,this,null))}function zN(t=(t=>null===(t=this.timeline)||void 0===t?void 0:t.currentTime)()){return function(t,e=(null==t?void 0:t.currentTime),n={}){return!!CN(t,e)||!0===n.skipBufferResume||!ON(t,e)}(this.timeline,t)}function WN(t=(t=>null===(t=this.timeline)||void 0===t?void 0:t.currentTime)()){return(this.timeline.getLastStableState()||Sg)===Ig&&!M(tn,this,zN).call(this,t)&&(this.timeline.transitionTo(this.timeline.getPlaybackStartState(t)),!0)}function jN(t){return t&&("string"!=typeof t.state||"ready"===t.state)}function $N(t){return(Array.isArray(null==t?void 0:t.tracks)?t.tracks:[]).some((t=>"video"===(null==t?void 0:t.type)))}function UN(t){return(Array.isArray(null==t?void 0:t.tracks)?t.tracks:[]).some((t=>"video"===(null==t?void 0:t.type)||"image"===(null==t?void 0:t.type)))}function qN(t){return t===Ig||t===Tg}var VN=new WeakMap,GN=new WeakMap,HN=new WeakMap,KN=new WeakMap,XN=new WeakMap,YN=new WeakMap,QN=new WeakMap,JN=new WeakMap,ZN=new WeakMap,tC=new WeakMap,eC=new WeakMap,nC=new WeakMap,iC=new WeakMap,rC=new WeakMap,oC=new WeakSet;class sC{constructor(t={}){O(this,oC),C(this,VN,void 0),C(this,GN,void 0),C(this,HN,void 0),C(this,KN,void 0),C(this,XN,void 0),C(this,YN,void 0),C(this,QN,void 0),C(this,JN,void 0),C(this,ZN,void 0),C(this,tC,null),C(this,eC,Sg),C(this,nC,[]),C(this,iC,new Set),C(this,rC,new Map),F(VN,this,t.getState),F(GN,this,t.getNode),F(HN,this,t.getPlacementsActiveAtTime),F(KN,this,t.getLastStableState),F(XN,this,t.getPlaybackStartState),F(YN,this,t.clearVisualFrameBuffers),F(QN,this,t.updateTime),F(JN,this,t.transitionTo),F(ZN,this,t.trigger)}start(t,e){const n=Number(t);if(!Number.isFinite(n))return;let i=e;i===Mg?i=N(eC,this):i===Eg&&"function"==typeof N(KN,this)&&(i=N(KN,this).call(this)),F(eC,this,qN(i)?Ig:Sg),F(tC,this,n),N(iC,this).clear(),N(rC,this).clear(),F(nC,this,"function"==typeof N(HN,this)?N(HN,this).call(this,n):[]),"function"==typeof N(YN,this)&&N(YN,this).call(this),"function"==typeof N(QN,this)&&N(QN,this).call(this,n,{source:"seek"}),"function"==typeof N(ZN,this)&&N(ZN,this).call(this,dh.TIMELINE_SEEKING,{targetTime:n,placements:N(nC,this).slice()}),this.maybeComplete()}setReturnState(t){F(eC,this,qN(t)?Ig:Sg)}maybeComplete(t){if(("function"==typeof N(VN,this)?N(VN,this).call(this):void 0)!==Mg)return;const e=N(tC,this);if(!Number.isFinite(e))return;const n=null==t?void 0:t.trackType,i=null==t?void 0:t.placementId;if(i&&"video"===n){const n=Number(null==t?void 0:t.pts);if(Number.isFinite(n)&&n>=e){N(iC,this).add(i);const t=N(rC,this).get(i);(!Number.isFinite(t)||n<t)&&N(rC,this).set(i,n)}}else i&&"image"===n&&function(t,e){const n=Number(null==t?void 0:t.pts),i=Number(null==t?void 0:t.duration);return!Number.isFinite(n)||(Number.isFinite(i)&&i>0?e>=n&&e<n+i:e>=n)}(t,e)&&N(iC,this).add(i);const r=Array.isArray(N(nC,this))?N(nC,this):[];if(r.length){if("function"==typeof N(GN,this)){for(let t=0;t<r.length;t+=1){const e=r[t],n=null==e?void 0:e.placementId;if(!n)return;const i=N(GN,this).call(this,e.nodeId);if(!jN(i))return;if(UN(i)&&!N(iC,this).has(n))return}M(oC,this,aC).call(this,e,r)}}else M(oC,this,aC).call(this,e,[])}dispose(){F(nC,this,[]),N(iC,this).clear(),N(rC,this).clear(),F(tC,this,null)}}function aC(t,e){const n=M(oC,this,lC).call(this,t,e);if("function"==typeof N(QN,this)&&N(QN,this).call(this,n,{source:"seek"}),F(tC,this,null),F(nC,this,[]),N(iC,this).clear(),N(rC,this).clear(),"function"==typeof N(ZN,this)&&N(ZN,this).call(this,dh.TIMELINE_SEEKED,{targetTime:t,placements:Array.isArray(e)?e.slice():[]}),"function"==typeof N(JN,this)){const t=N(eC,this)===Ig&&"function"==typeof N(XN,this)?N(XN,this).call(this,n):N(eC,this);N(JN,this).call(this,t,{fromSeeking:!0})}}function lC(t,e){const n=Number(t);if(!Number.isFinite(n))return t;if(!Array.isArray(e)||!e.length||"function"!=typeof N(GN,this))return n;let i=n;for(let t=0;t<e.length;t+=1){const n=e[t],r=null==n?void 0:n.placementId;if(!r)continue;if(!$N(N(GN,this).call(this,n.nodeId)))continue;const o=N(rC,this).get(r);Number.isFinite(o)&&o>i&&(i=o)}return i}function cC(t){if(t&&"function"==typeof t.close)try{t.close()}catch(t){}}function uC(t){if(!t)return;const e=Array.isArray(null==t?void 0:t.frames)?t.frames:[],n=null==t?void 0:t.current;(n?[n,...e]:e).forEach((t=>cC(null==t?void 0:t.frame)))}function dC(t){return gv(t)}function hC(t){return Number.isFinite(null==t?void 0:t.loopRootOffset)?t.loopRootOffset:dC(t)}function fC(t,e){return"string"==typeof(null==t?void 0:t.loopRootPlacementId)&&t.loopRootPlacementId?t.loopRootPlacementId:e}function pC(t){if("string"!=typeof t)return Number.NaN;const e=t.match(/(\d+)/);return e?Number(e[1]):Number.NaN}function mC(t){if(!t)return;const e=[[t.displayWidth,t.displayHeight],[t.codedWidth,t.codedHeight],[t.videoWidth,t.videoHeight],[t.naturalWidth,t.naturalHeight],[t.width,t.height]];for(let t=0;t<e.length;t+=1){const[n,i]=e[t],r=Number(n),o=Number(i);if(Number.isFinite(r)&&Number.isFinite(o)&&r>0&&o>0)return{width:r,height:o}}}const vC=1e-6;function gC(t){return t&&("string"!=typeof t.state||"ready"===t.state)}function yC(t){const e=Number(t);return Number.isFinite(e)?e:0}function bC(t){return(Array.isArray(null==t?void 0:t.tracks)?t.tracks:[]).filter((t=>"cue"===(null==t?void 0:t.type)&&Array.isArray(null==t?void 0:t.cues)))}function kC(t){return t&&"cue"===t.type&&Array.isArray(t.cues)?t.cues:[]}var wC=new WeakMap,xC=new WeakMap,_C=new WeakMap,IC=new WeakMap,TC=new WeakMap,EC=new WeakMap,SC=new WeakMap,MC=new WeakMap,AC=new WeakSet;class NC{constructor(t={}){O(this,AC),C(this,wC,void 0),C(this,xC,void 0),C(this,_C,void 0),C(this,IC,void 0),C(this,TC,void 0),C(this,EC,void 0),C(this,SC,-1e-6),C(this,MC,null),F(wC,this,t.getPlacements),F(xC,this,t.getPlacementsActiveAtTime),F(_C,this,t.getPlacementDuration),F(IC,this,t.getNode),F(TC,this,t.triggerTimeline),F(EC,this,t.triggerNode)}handleSeeking(t,e){const n=yC(t);F(MC,this,n)}handleSeeked(t){const e=yC(t),n=N(MC,this);F(MC,this,null),Number.isFinite(n)?(M(AC,this,FC).call(this,n,e),F(SC,this,e)):F(SC,this,e)}handleTimeUpdate(t,e={}){const n=yC(t),i=N(SC,this);!0===(null==e?void 0:e.isSeeking)?F(SC,this,n):Number.isFinite(i)?n<=i?n<i&&F(SC,this,n-vC):(M(AC,this,CC).call(this,i,n),F(SC,this,n)):F(SC,this,n)}dispose(){F(MC,this,null),F(SC,this,-1e-6)}}function CC(t,e){const n="function"==typeof N(wC,this)?N(wC,this).call(this):[];M(AC,this,OC).call(this,n,t,e,{onlySticky:!1})}function FC(t,e){if("function"!=typeof N(xC,this))return;const n=N(xC,this).call(this,e);M(AC,this,OC).call(this,n,t,e,{onlySticky:!0})}function OC(t,e,n,i={}){if("function"!=typeof N(IC,this)||"function"!=typeof N(TC,this))return;if(!Array.isArray(t)||!t.length)return;const r=!0===i.onlySticky,o=[];for(let i=0;i<t.length;i+=1){const s=t[i],a=null==s?void 0:s.placementId,l=null==s?void 0:s.nodeId;if(!a||!l)continue;const c=N(IC,this).call(this,l);if(!gC(c))continue;const u=bC(c);if(!u.length)continue;const d=gv(s);if(!Number.isFinite(d))continue;const h=Number.isFinite(null==s?void 0:s.nodeOffsetOverride)?s.nodeOffsetOverride:0,f="function"==typeof N(_C,this)?N(_C,this).call(this,s):void 0,p="number"==typeof f&&Number.isFinite(f)?d+f:Number.POSITIVE_INFINITY,m=r?d-vC:e;for(let t=0;t<u.length;t+=1){const e=kC(u[t]);for(let i=0;i<e.length;i+=1){const s=e[i],c=yC(null==s?void 0:s.timestamp),u=d+Math.max(0,c-h);u<=p&&(r&&!0!==(null==s?void 0:s.isSticky)||u>m&&u<=n&&"string"==typeof(null==s?void 0:s.name)&&s.name&&o.push({time:u,placementOffset:d,placementId:a,nodeId:l,cuepoint:s,trackIndex:t,cueIndex:i}))}}}o.length&&(o.sort(((t,e)=>t.time!==e.time?t.time-e.time:t.placementOffset!==e.placementOffset?t.placementOffset-e.placementOffset:t.placementId!==e.placementId?t.placementId<e.placementId?-1:1:t.trackIndex!==e.trackIndex?t.trackIndex-e.trackIndex:t.cueIndex-e.cueIndex)),o.forEach((t=>{const e=t.cuepoint,n={time:t.time,nodeId:t.nodeId,placementId:t.placementId,cuepoint:e};N(TC,this).call(this,"cuepoint",n),N(TC,this).call(this,e.name,n),"function"==typeof N(EC,this)&&(N(EC,this).call(this,t.nodeId,"cuepoint",n),N(EC,this).call(this,t.nodeId,e.name,n))})))}class PC{#et;#nt=0;#it=new Set;constructor(t){this.#et="string"==typeof t?t:""}claim(t){if(t)return this.#it.add(t),t;let e;do{e=`${this.#et}${++this.#nt}`}while(this.#it.has(e));return this.#it.add(e),e}reset(){this.#nt=0,this.#it.clear()}}const RC=24e3/1001;function DC(t){var e;const n=null==t?void 0:t.frame;if(!n||!0===n.__closed||!0===n.closed)return 0;if("function"==typeof n.allocationSize)try{const t=Number(n.allocationSize());if(Number.isFinite(t)&&t>0)return t}catch(t){}const i=Number(null==n?void 0:n.byteLength);if(Number.isFinite(i)&&i>0)return i;const r=Number(null==n||null===(e=n.data)||void 0===e?void 0:e.byteLength);if(Number.isFinite(r)&&r>0)return r;const o=function(t,e){const n=Number(null==t?void 0:t.width),i=Number(null==t?void 0:t.height);return Number.isFinite(n)&&Number.isFinite(i)&&n>0&&i>0?{width:n,height:i}:mC(e)}(t,n),s=Number(null==o?void 0:o.width),a=Number(null==o?void 0:o.height);return Number.isFinite(s)&&Number.isFinite(a)&&s>0&&a>0?s*a*4:0}var BC=new WeakMap,LC=new WeakMap,zC=new WeakMap,WC=new WeakMap,jC=new WeakMap,$C=new WeakMap,UC=new WeakMap,qC=new WeakMap,VC=new WeakMap,GC=new WeakMap,HC=new WeakMap,KC=new WeakMap,XC=new WeakMap,YC=new WeakMap,QC=new WeakMap,JC=new WeakMap,ZC=new WeakMap,tF=new WeakMap,eF=new WeakMap,nF=new WeakMap,iF=new WeakMap,rF=new WeakMap,oF=new WeakMap,sF=new WeakMap,aF=new WeakMap,lF=new WeakMap,cF=new WeakMap,uF=new WeakMap,dF=new WeakMap,hF=new WeakMap,fF=new WeakMap,pF=new WeakMap,mF=new WeakMap,vF=new WeakSet;class gF extends sh{constructor(...t){super(...t),O(this,vF),C(this,BC,void 0),C(this,LC,void 0),C(this,zC,void 0),C(this,WC,void 0),C(this,jC,void 0),C(this,$C,!1),C(this,UC,[]),C(this,qC,new PC("placement-")),C(this,VC,[]),C(this,GC,new PC("renderplacement-")),C(this,HC,void 0),C(this,KC,void 0),C(this,XC,void 0),C(this,YC,!1),C(this,QC,new Set),C(this,JC,new Set),C(this,ZC,new Map),C(this,tF,[]),C(this,eF,0),C(this,nF,new Set),C(this,iF,new Set),C(this,rF,Number.NEGATIVE_INFINITY),C(this,oF,[]),C(this,sF,Number.NEGATIVE_INFINITY),C(this,aF,0),C(this,lF,void 0),C(this,cF,void 0),C(this,uF,new Map),C(this,dF,null),C(this,hF,void 0),C(this,fF,void 0),C(this,pF,void 0),C(this,mF,void 0);const[e,n={}]=t;F(BC,this,e),F(lF,this,n),F(jC,this,new fN(n)),F(HC,this,new bN(n)),F(WC,this,Sg),M(vF,this,MF).call(this),M(vF,this,AF).call(this),F(hF,this,new sC({getState:()=>this.state,getNode:t=>N(BC,this)&&"function"==typeof N(BC,this).get?N(BC,this).get(t):void 0,getPlacementsActiveAtTime:t=>M(vF,this,lO).call(this,t,{endEpsilonSeconds:M(vF,this,gO).call(this)}),getLastStableState:()=>this.getLastStableState(),getPlaybackStartState:t=>this.getPlaybackStartState(t),clearVisualFrameBuffers:()=>M(vF,this,sO).call(this),updateTime:(t,e)=>this.updateTime(t,e),transitionTo:(t,e)=>this.transitionTo(t,e),trigger:(t,e)=>this.trigger(t,e)})),F(fF,this,new NC({getPlacements:()=>N(UC,this).slice(),getPlacementsActiveAtTime:t=>M(vF,this,lO).call(this,t),getPlacementDuration:t=>M(vF,this,UF).call(this,t),getNode:t=>N(BC,this)&&"function"==typeof N(BC,this).get?N(BC,this).get(t):void 0,triggerTimeline:(t,e)=>this.trigger(t,e),triggerNode:(t,e,n)=>{const i=N(BC,this)&&"function"==typeof N(BC,this).get?N(BC,this).get(t):void 0;i&&"function"==typeof i.trigger&&i.trigger(e,n)}})),F(pF,this,(()=>{var t,e;null===(t=N(fF,this))||void 0===t||null===(e=t.handleSeeked)||void 0===e||e.call(t,this.currentTime)})),this.on(dh.TIMELINE_SEEKED,N(pF,this)),F(mF,this,(t=>M(vF,this,DF).call(this,t))),this.on("nodestart",N(mF,this)),this.transitionTo(_g)}get name(){return"Timeline"}get defaults(){return{snapToFps:RC,maxBufferedVideoFrames:24}}get methodsExcludedFromAutoLog(){return new Set([...super.methodsExcludedFromAutoLog,"computeBuffered","notifyDecodedFrame","getDecodedFrameStats","getActiveRenderPlacement","maybeCompleteSeek","getPlacementsActiveAtTime","hasDecodedFirstFrame","getDecodedVisualBuffer","getPlacementDuration","getNode"])}transitionTo(t,e={}){const n=N(zC,this),i=function(t,e,n={}){const i=PN[t];return i?new i(e,n):null}(t,this,N(lF,this)),r=e&&"object"==typeof e&&!Array.isArray(e)?{...e,from:n,to:t}:{from:n,to:t};i?(N(LC,this)&&"function"==typeof N(LC,this).exit&&N(LC,this).exit(),F(LC,this,i),F(zC,this,t),"function"==typeof i.enter&&i.enter(r),this.trigger(dh.TIMELINE_STATE_CHANGE,{from:n,to:t,options:e})):this.log.warn(`Unknown state "${t}"`)}recordStableState(t){F(WC,this,t)}getLastStableState(){return N(WC,this)}enableFirstFrameRenderedGate(){F($C,this,!0)}getPlaybackStartState(t=this.currentTime){return this.shouldWaitForFirstRenderedFrame(t)?Tg:Ig}shouldWaitForFirstRenderedFrame(t=this.currentTime){if(!N($C,this)||N(YC,this))return!1;const e=Number.isFinite(t)?t:this.currentTime,n=M(vF,this,lO).call(this,e);return Array.isArray(n)&&n.length>0}notifyFirstFrameRendered(){N(YC,this)||(F(YC,this,!0),this.state===Tg&&this.transitionTo(Ig,{fromFirstFramePending:!0}))}get state(){return N(zC,this)}get paused(){return N(zC,this)===_g||N(zC,this)===Sg}get currentTime(){return N(jC,this).currentTime}set currentTime(t){N(LC,this).seek(t)}get playbackRate(){return N(jC,this).playbackRate}set playbackRate(t){N(jC,this).playbackRate=t}play(){N(LC,this).play()}pause(){N(LC,this).pause()}reset(){N(LC,this).reset()}seekToPlacement(t){if(!t)throw new Error("Timeline.seekToPlacement requires placement id");M(vF,this,zF).call(this);const e=M(vF,this,fO).call(this,t);if(!e)throw new Error("Timeline.seekToPlacement requires placement id");const n=gv(e);if(!Number.isFinite(n))throw new Error("Timeline.seekToPlacement requires resolved placement offset");return this.currentTime=n,n}updateTime(t,e={}){var n,i;M(vF,this,zF).call(this),M(vF,this,WF).call(this),N(jC,this).seek(t),M(vF,this,aO).call(this,this.currentTime),M(vF,this,cO).call(this);const r="string"==typeof(null==e?void 0:e.source)?e.source:"set";null!==(n=N(fF,this))&&void 0!==n&&null!==(i=n.handleTimeUpdate)&&void 0!==i&&i.call(n,this.currentTime,{isSeeking:this.state===Mg}),M(vF,this,BF).call(this,this.currentTime),M(vF,this,eO).call(this,this.currentTime),this.trigger(dh.TIMELINE_TIME_UPDATE,hh(this.currentTime,r))}startSeeking(t,e){var n,i;null!==(n=N(fF,this))&&void 0!==n&&null!==(i=n.handleSeeking)&&void 0!==i&&i.call(n,this.currentTime,t),N(hF,this)&&"function"==typeof N(hF,this).start&&N(hF,this).start(t,e)}setSeekReturnState(t){N(hF,this)&&"function"==typeof N(hF,this).setReturnState&&N(hF,this).setReturnState(t)}maybeCompleteSeek(t){N(hF,this)&&"function"==typeof N(hF,this).maybeComplete&&N(hF,this).maybeComplete(t)}startPlaybackClock(){N(jC,this).play()}stopPlaybackClock(){N(jC,this).pause()}resetClock(){var t,e;F(YC,this,!1),N(jC,this).reset(),this.trigger(dh.TIMELINE_RESET,{reason:"reset"}),null===(t=N(fF,this))||void 0===t||null===(e=t.dispose)||void 0===e||e.call(t)}applyTimelineDefinition(t={}){const e=Array.isArray(null==t?void 0:t.placements)?t.placements:[],n=Array.isArray(null==t?void 0:t.renderPlacements)?t.renderPlacements:[];M(vF,this,yF).call(this),M(vF,this,bF).call(this,e),M(vF,this,kF).call(this,n),this.currentTime=0}placeOnTimeline(t,e,n={}){const i=t&&"object"==typeof t?t.id:t;if(!i)throw new Error("Timeline.placeOnTimeline requires node id");const r=N(qC,this).claim(n.placementId),o=n.nodeOffsetOverride||n.offset,s=n.nodeDurationOverride||n.duration,a=_v(e);if("string"==typeof e&&e.includes("@")&&!a)throw new Error("Timeline.placeOnTimeline requires valid placement reference");const{wantsEndOffset:l,endOffsetSeconds:c}=a?{wantsEndOffset:!1}:xv(e,n);let u,d,h,f=!1;const p=null!==a;if(M(vF,this,zF).call(this),a){const t=N(UC,this).find((t=>(null==t?void 0:t.placementId)===a.placementId));if(!t)throw new Error("Timeline.placeOnTimeline requires valid placement reference");d=t.placementId,h=a.anchor;const e=gv(t);if("start"===a.anchor)Number.isFinite(e)?u=M(vF,this,qF).call(this,e,{nodeOffsetOverride:o}):f=!0;else{const n=M(vF,this,UF).call(this,t);if(Number.isFinite(e)&&n>0){const t=e+n,i=M(vF,this,qF).call(this,t,{nodeOffsetOverride:o});u=Math.max(i,t)}else f=!0}}else if(l){const t=n.offsetAnchorPlacementId?N(UC,this).find((t=>(null==t?void 0:t.placementId)===n.offsetAnchorPlacementId)):N(UC,this).length?N(UC,this)[N(UC,this).length-1]:void 0;if(d=n.offsetAnchorPlacementId||(null==t?void 0:t.placementId),d){const e=gv(t),n=M(vF,this,UF).call(this,t);Number.isFinite(e)&&n>0?u=M(vF,this,qF).call(this,e+n-c,{nodeOffsetOverride:o}):(f=!0,h="end")}else u=M(vF,this,qF).call(this,-c,{nodeOffsetOverride:o})}else u=wv(e),u=M(vF,this,qF).call(this,u,{...n,nodeOffsetOverride:o});const m=!0===n.loop?n.loopRootPlacementId||r:void 0,v=!0===n.loop&&Number.isFinite(n.loopRootOffset)?n.loopRootOffset:!0===n.loop?u:void 0,g=l?c:a&&"end"===a.anchor?0:void 0,y=new _N({placementId:r,nodeId:i,offset:u,offsetPending:f,offsetAnchorPlacementId:f?d:void 0,offsetAnchorEdge:f?h:void 0,offsetAnchorIsReference:f?p:void 0,offsetEndSeconds:g,nodeOffsetOverride:o,nodeDurationOverride:s,loop:!0===n.loop,loopRootPlacementId:m,loopRootOffset:v});if(N(UC,this).push(y),bv(N(UC,this)),M(vF,this,ZF).call(this,y),M(vF,this,QF).call(this),f&&d){const t=N(UC,this).find((t=>(null==t?void 0:t.placementId)===d));M(vF,this,GF).call(this,null==t?void 0:t.nodeId)}return this.trigger(dh.PLACEMENT_ADDED,y),r}placeRenderNodeOnTimeline(t,e,n,i={}){const r="string"==typeof t?t:null==t?void 0:t.type;if(!r||"string"!=typeof r)throw new Error("Timeline.placeRenderNodeOnTimeline requires render node type");const o=M(vF,this,VF).call(this,e,i),s=o.offset,a=!0===o.offsetPending,l=o.offsetAnchorPlacementId,c=o.offsetAnchorEdge,u=o.offsetAnchorIsReference,d=N(GC,this).claim(i.renderPlacementId),h=Number(n),f=h===Number.POSITIVE_INFINITY,p=Number.isFinite(h)&&h>0||f?h:void 0;if(!p)throw new Error("Timeline.placeRenderNodeOnTimeline requires a positive duration (seconds) or Infinity as 3rd argument");const m=i.params&&"object"==typeof i.params?i.params:void 0,v={renderPlacementId:d,type:r,offset:s,offsetPending:a,offsetAnchorPlacementId:l,offsetAnchorEdge:c,offsetAnchorIsReference:u,duration:p,params:m};if(!a){const t=s,e=s+p;Iv(N(VC,this),t,e,"Timeline.placeRenderNodeOnTimeline does not allow overlapping render node placements")}if(N(VC,this).push(v),bv(N(VC,this)),a&&l){const t=N(UC,this).find((t=>(null==t?void 0:t.placementId)===l));M(vF,this,GF).call(this,null==t?void 0:t.nodeId)}return this.trigger(dh.RENDER_PLACEMENT_ADDED,v),d}get placements(){return N(UC,this).slice()}getPlacementsActiveAtTime(t){return M(vF,this,lO).call(this,t)}getNodesAtTime(t){const e=M(vF,this,pO).call(this,t);if(!Number.isFinite(e))return[];const n=M(vF,this,lO).call(this,e),i=[];return n.forEach((t=>{const e=this.getNode(null==t?void 0:t.nodeId);e&&i.push(e)})),i}getPlacementDuration(t){return M(vF,this,UF).call(this,t)}getNode(t){if(N(BC,this)&&"function"==typeof N(BC,this).get)return N(BC,this).get(t)}get renderPlacements(){return N(VC,this).slice()}get placementsAhead(){const t=this.currentTime;return N(UC,this).filter((e=>{const n=gv(e);if(!Number.isFinite(n))return!1;const i=M(vF,this,UF).call(this,e);return"number"==typeof i?n+i>t:n>=t}))}get buffered(){return N(LC,this)?N(LC,this).buffered:{start:0,end:0}}get trackBuffers(){return N(HC,this)}onDispose(){M(vF,this,EF).call(this),N(JC,this)&&N(JC,this).clear(),N(fF,this)&&"function"==typeof N(fF,this).dispose&&N(fF,this).dispose(),F(fF,this,null),M(vF,this,TF).call(this),M(vF,this,SF).call(this),N(hF,this)&&"function"==typeof N(hF,this).dispose&&N(hF,this).dispose(),F(hF,this,null),N(jC,this)&&"function"==typeof N(jC,this).dispose&&(N(cF,this)&&"function"==typeof N(jC,this).off&&(N(jC,this).off("tick",N(cF,this)),F(cF,this,null)),N(jC,this).dispose(),F(jC,this,null)),M(vF,this,XF).call(this),F(LC,this,null),F(zC,this,null),F(UC,this,[]),F(VC,this,[]),M(vF,this,YF).call(this),M(vF,this,QF).call(this),N(uF,this).clear(),F(dF,this,null)}notifyDecodedFrame(t={}){const e=null==t?void 0:t.placementId,n=null==t?void 0:t.trackType;if(!e||!n)return;const i=`${e}:${n}`;N(QC,this).add(i),M(vF,this,oO).call(this,t),M(vF,this,cO).call(this),N(LC,this)&&"function"==typeof N(LC,this).handleDecodedFrame&&N(LC,this).handleDecodedFrame(t)}getDecodedFrameStats(){return function(t){const e={totalBytes:0,frames:0,available:!1};if(!t||"function"!=typeof t.values)return e;for(const n of t.values()){const t=[];null!=n&&n.current&&t.push(n.current),Array.isArray(null==n?void 0:n.frames)&&t.push(...n.frames),t.forEach((t=>{const n=null==t?void 0:t.frame;if(!n||!0===n.__closed||!0===n.closed)return;e.frames+=1;const i=DC(t);Number.isFinite(i)&&i>0&&(e.totalBytes+=i)}))}return e.available=!0,e}(N(uF,this))}hasDecodedFirstFrame(t,e){return!(!t||!e)&&N(QC,this).has(`${t}:${e}`)}getDecodedVisualBuffer(t,e){if(t&&e)return N(uF,this).get(`${t}:${e}`)}computeBuffered(t){const e=N(BC,this);if(e&&"function"==typeof e.get)return N(HC,this).computeBuffered(N(UC,this),t,e)}getActiveRenderPlacement(t=this.currentTime){const e=Number.isFinite(t)?t:this.currentTime,n=Array.isArray(N(VC,this))?N(VC,this):[];if(!n.length)return;let i;for(let t=0;t<n.length;t+=1){const r=n[t];if(!0===(null==r?void 0:r.offsetPending))continue;const o="number"==typeof r.offset?r.offset:void 0;if(!Number.isFinite(o))continue;const s=r.duration;("number"==typeof s&&Number.isFinite(s)&&s>0?e>=o&&e<o+s:e>=o)&&(i=r)}return i}}function yF(){F(YC,this,!1),this.trigger(dh.TIMELINE_RESET,{reason:"switch"}),M(vF,this,sO).call(this),N(HC,this)&&"function"==typeof N(HC,this).reset&&N(HC,this).reset(),N(JC,this)&&N(JC,this).clear(),F(UC,this,[]),F(VC,this,[]),M(vF,this,YF).call(this),M(vF,this,QF).call(this),N(qC,this).reset(),N(GC,this).reset()}function bF(t=[]){for(let e=0;e<t.length;e+=1){const n=t[e];if(!n||!n.nodeId)continue;const i=M(vF,this,wF).call(this,n),r=M(vF,this,_F).call(this,n);this.placeOnTimeline(n.nodeId,r,i)}}function kF(t=[]){for(let e=0;e<t.length;e+=1){const n=t[e];if(!n||!n.type)continue;const i=M(vF,this,xF).call(this,n),r=M(vF,this,IF).call(this,n);this.placeRenderNodeOnTimeline(n.type,r,n.duration,i)}}function wF(t){const e={};return t.placementId&&(e.placementId=t.placementId),Number.isFinite(t.nodeOffsetOverride)&&(e.nodeOffsetOverride=t.nodeOffsetOverride),Number.isFinite(t.nodeDurationOverride)&&(e.nodeDurationOverride=t.nodeDurationOverride),!0===t.offsetPending&&(e.offsetPending=!0,t.offsetAnchorPlacementId&&(e.offsetAnchorPlacementId=t.offsetAnchorPlacementId),t.offsetAnchorEdge&&(e.offsetAnchorEdge=t.offsetAnchorEdge)),Number.isFinite(t.offsetEndSeconds)&&(e.offsetEndSeconds=t.offsetEndSeconds),!0===t.loop&&(e.loop=!0),t.loopRootPlacementId&&(e.loopRootPlacementId=t.loopRootPlacementId),Number.isFinite(t.loopRootOffset)&&(e.loopRootOffset=t.loopRootOffset),e}function xF(t){const e={};return t.renderPlacementId&&(e.renderPlacementId=t.renderPlacementId),t.params&&"object"==typeof t.params&&(e.params=t.params),e}function _F(t){if(!0===t.offsetPending&&t.offsetAnchorPlacementId&&t.offsetAnchorEdge){if(!0===t.offsetAnchorIsReference)return`${t.offsetAnchorPlacementId}@${t.offsetAnchorEdge}`;if("end"===t.offsetAnchorEdge)return Number.isFinite(t.offsetEndSeconds)&&t.offsetEndSeconds>0?-t.offsetEndSeconds:"end"}return"string"==typeof t.offset||Number.isFinite(t.offset)?t.offset:0}function IF(t){return!0===t.offsetPending&&t.offsetAnchorPlacementId&&t.offsetAnchorEdge&&!0===t.offsetAnchorIsReference?`${t.offsetAnchorPlacementId}@${t.offsetAnchorEdge}`:"string"==typeof t.offset||Number.isFinite(t.offset)?t.offset:0}function TF(){N(LC,this)&&"function"==typeof N(LC,this).exit&&N(LC,this).exit()}function EF(){N(pF,this)&&"function"==typeof this.off&&(this.off(dh.TIMELINE_SEEKED,N(pF,this)),F(pF,this,null)),N(mF,this)&&"function"==typeof this.off&&(this.off("nodestart",N(mF,this)),F(mF,this,null))}function SF(){N(HC,this)&&(N(KC,this)&&(N(HC,this).off("track:underflow",N(KC,this)),F(KC,this,null)),N(XC,this)&&(N(HC,this).off("track:ready",N(XC,this)),F(XC,this,null)),"function"==typeof N(HC,this).dispose&&N(HC,this).dispose(),F(HC,this,null))}function MF(){N(HC,this)&&"function"==typeof N(HC,this).on&&(F(KC,this,(t=>M(vF,this,CF).call(this,t))),F(XC,this,(t=>M(vF,this,FF).call(this,t))),N(HC,this).on(dh.TRACK_UNDERFLOW,N(KC,this)),N(HC,this).on(dh.TRACK_READY,N(XC,this)))}function AF(){N(jC,this)&&"function"==typeof N(jC,this).on&&(F(cF,this,(t=>M(vF,this,NF).call(this,t))),N(jC,this).on(dh.CLOCK_TICK,N(cF,this)))}function NF(t){var e,n;M(vF,this,zF).call(this),M(vF,this,cO).call(this),null!==(e=N(fF,this))&&void 0!==e&&null!==(n=e.handleTimeUpdate)&&void 0!==n&&n.call(e,this.currentTime,{isSeeking:!1}),M(vF,this,BF).call(this,this.currentTime),this.trigger(dh.TIMELINE_TIME_UPDATE,hh(this.currentTime,"clock")),N(LC,this)&&"function"==typeof N(LC,this).handleClockTick&&N(LC,this).handleClockTick(t)}function CF(t){M(vF,this,zF).call(this);const e=M(vF,this,OF).call(this);e&&(null==t?void 0:t.trackType)===e.trackType&&(N(LC,this)&&"function"==typeof N(LC,this).handleMainTrackUnderflow?N(LC,this).handleMainTrackUnderflow(t):this.transitionTo(Eg))}function FF(t){if(M(vF,this,zF).call(this),this.state!==Eg)return;const e=M(vF,this,OF).call(this);if(!e)return;if((null==t?void 0:t.trackType)!==e.trackType)return;if(N(LC,this)&&"function"==typeof N(LC,this).handleMainTrackReady)return void N(LC,this).handleMainTrackReady(t);const n=this.getLastStableState()||Sg;this.transitionTo(n)}function OF(t=this.currentTime){const e=M(vF,this,RF).call(this,t);if(!e)return;const n=N(BC,this)&&"function"==typeof N(BC,this).get?N(BC,this).get(e.nodeId):void 0;if(!n)return;const i=M(vF,this,PF).call(this,n);return i?{placement:e,trackType:i}:void 0}function PF(t){var e;const n=Array.isArray(null==t?void 0:t.tracks)?t.tracks:[];let i;if(null!=t&&t.mainTrackId){const e=n.find((e=>(null==e?void 0:e.id)===t.mainTrackId));i=null==e?void 0:e.type}if(i||(i=null===(e=n.find((t=>null==t?void 0:t.type)))||void 0===e?void 0:e.type),"video"===i||"audio"===i||"image"===i)return i}function RF(t=this.currentTime){const e=N(UC,this)||[];let n;for(let i=0;i<e.length;i+=1){const r=e[i],o=gv(r);if(!Number.isFinite(o))continue;const s=M(vF,this,UF).call(this,r);if(Number.isFinite(s)){if(t>=o&&t<o+s)return r}else if(t<=o)return r;!n&&t<o&&(n=r)}return n}function DF(t={}){if(this.state!==Ig)return;const e=null==t?void 0:t.placementId;if(!e)return;const n=M(vF,this,fO).call(this,e);n&&M(vF,this,LF).call(this,n)}function BF(t=this.currentTime){if(this.state!==Ig)return;const e=M(vF,this,lO).call(this,t);Array.isArray(e)&&e.length&&e.forEach((t=>M(vF,this,LF).call(this,t)))}function LF(t){const e=null==t?void 0:t.placementId;if(!e)return;if(N(JC,this).has(e))return;if(!t||!0!==t.loop)return;if(!t.nodeId)return;const n=M(vF,this,UF).call(this,t);if(!Number.isFinite(n)||n<=0)return;const i=gv(t);if(!Number.isFinite(i))return;const r=i+n;if(!Number.isFinite(r))return;const o=t.loopRootPlacementId||t.placementId,s=Number.isFinite(t.loopRootOffset)?t.loopRootOffset:i;N(JC,this).add(e),this.placeOnTimeline(t.nodeId,r,{nodeOffsetOverride:t.nodeOffsetOverride,nodeDurationOverride:t.nodeDurationOverride,loop:!0,loopRootPlacementId:o,loopRootOffset:s})}function zF(){const t=kv(N(UC,this),{getPlacementDuration:t=>M(vF,this,UF).call(this,t),snapPlacementOffset:(t,e)=>M(vF,this,qF).call(this,t,{nodeOffsetOverride:null==e?void 0:e.nodeOffsetOverride}),onResolvedPlacement:(t,e)=>{!0!==t.loop||Number.isFinite(t.loopRootOffset)||(t.loopRootOffset=t.offset),M(vF,this,HF).call(this,null==e?void 0:e.nodeId)}});return t.updated&&(M(vF,this,QF).call(this),t.resolvedPlacements.forEach((t=>{M(vF,this,ZF).call(this,t),this.trigger(dh.PLACEMENT_ADDED,t)}))),t.updated}function WF(){if(!N(VC,this).length||!N(UC,this).length)return!1;const t=new Map;N(UC,this).forEach((e=>{(null==e?void 0:e.placementId)&&t.set(e.placementId,e)}));const e=N(VC,this).filter((t=>!0===(null==t?void 0:t.offsetPending)));if(!e.length)return!1;let n=!1;const i=[];for(let r=0;r<e.length;r+=1){const o=e[r];M(vF,this,jF).call(this,o,t)&&(n=!0,i.push(o))}return n&&(bv(N(VC,this)),i.forEach((t=>{this.trigger(dh.RENDER_PLACEMENT_ADDED,t)}))),n}function jF(t,e){const n=null==t?void 0:t.offsetAnchorPlacementId,i=null==t?void 0:t.offsetAnchorEdge;if(!n||!i)return!1;const r=e.get(n);if(!r||!0===r.offsetPending)return!1;const o=M(vF,this,$F).call(this,r,t);if(!Number.isFinite(o))return!1;t.offset=o,t.offsetPending=!1,t.offsetAnchorPlacementId=void 0,t.offsetAnchorEdge=void 0,t.offsetAnchorIsReference=void 0;const s=t.offset,a=t.offset+t.duration;return Iv(N(VC,this).filter((e=>e!==t&&!0!==(null==e?void 0:e.offsetPending))),s,a,"Timeline.placeRenderNodeOnTimeline does not allow overlapping render node placements"),M(vF,this,HF).call(this,null==r?void 0:r.nodeId),!0}function $F(t,e){const n=gv(t);if(!Number.isFinite(n))return;if("start"===e.offsetAnchorEdge)return M(vF,this,qF).call(this,n);const i=M(vF,this,UF).call(this,t);if(!(i>0))return;const r=n+i;if(!Number.isFinite(r))return;const o=M(vF,this,qF).call(this,r);return!0===e.offsetAnchorIsReference?Math.max(o,r):o}function UF(t){return mv(t,N(BC,this))}function qF(t,e={}){var n;return function(t,e={},n){const i=Number(n);if(!(i>0))return t;const r=Number(t);if(!Number.isFinite(r))return t;const o=Number.isFinite(null==e?void 0:e.nodeOffsetOverride)?e.nodeOffsetOverride:0,s=r-o;return Math.round(s*i)/i+o}(t,e,null===(n=this.settings)||void 0===n?void 0:n.snapToFps)}function VF(t,e={}){const n=_v(t);if("string"==typeof t&&t.includes("@")&&!n)throw new Error("Timeline.placeRenderNodeOnTimeline requires valid placement reference");if(!n){const n=wv(t);return{offset:M(vF,this,qF).call(this,n,e)}}const i=N(UC,this).find((t=>(null==t?void 0:t.placementId)===n.placementId));if(!i)throw new Error("Timeline.placeRenderNodeOnTimeline requires valid placement reference");const r=gv(i);if("start"===n.anchor)return Number.isFinite(r)?{offset:M(vF,this,qF).call(this,r,e)}:{offset:void 0,offsetPending:!0,offsetAnchorPlacementId:i.placementId,offsetAnchorEdge:"start",offsetAnchorIsReference:!0};const o=M(vF,this,UF).call(this,i);if(!(Number.isFinite(r)&&o>0))return{offset:void 0,offsetPending:!0,offsetAnchorPlacementId:i.placementId,offsetAnchorEdge:"end",offsetAnchorIsReference:!0};const s=r+o,a=M(vF,this,qF).call(this,s,e);return{offset:Math.max(a,s)}}function GF(t){if(!t||!N(BC,this)||"function"!=typeof N(BC,this).get)return;if(N(ZC,this).has(t))return;let e;try{e=N(BC,this).get(t)}catch(t){return}if(!e||"function"!=typeof e.on)return;if("ready"===e.state&&e.duration>0)return void this.updateTime(this.currentTime);const n=()=>{this.updateTime(this.currentTime),M(vF,this,HF).call(this,t)};e.on(dh.NODE_LOADED,n),N(ZC,this).set(t,n)}function HF(t){if(!t)return;if(M(vF,this,KF).call(this,t))return;const e=N(ZC,this).get(t);if(!e)return;let n;try{n=N(BC,this).get(t)}catch(t){n=null}n&&"function"==typeof n.off&&n.off(dh.NODE_LOADED,e),N(ZC,this).delete(t)}function KF(t){if(!t)return!1;const e=new Map;N(UC,this).forEach((t=>{(null==t?void 0:t.placementId)&&e.set(t.placementId,t)}));const n=n=>{if(null==n||!n.offsetPending||null==n||!n.offsetAnchorPlacementId)return!1;const i=e.get(n.offsetAnchorPlacementId);return(null==i?void 0:i.nodeId)===t};return!!N(UC,this).some((t=>n(t)))||!!N(VC,this).some((t=>n(t)))}function XF(){N(ZC,this).size&&N(BC,this)?(N(ZC,this).forEach(((t,e)=>{let n;try{n=N(BC,this).get(e)}catch(t){n=null}n&&"function"==typeof n.off&&n.off(dh.NODE_LOADED,t)})),N(ZC,this).clear()):N(ZC,this).clear()}function YF(){F(tF,this,[]),F(eF,this,0),N(nF,this).clear(),N(iF,this).clear(),F(rF,this,Number.NEGATIVE_INFINITY)}function QF(){F(oF,this,[]),F(aF,this,0),F(sF,this,Number.NEGATIVE_INFINITY)}function JF(t,e){const n=N(tF,this),i={placementId:t,endTime:e};if(!n.length||e>=n[n.length-1].endTime)return void n.push(i);const r=n.findIndex((t=>e<t.endTime)),o=-1===r?n.length:r;n.splice(o,0,i),o<N(eF,this)&&F(eF,this,N(eF,this)+1)}function ZF(t){const e=null==t?void 0:t.placementId;if(!e||N(nF,this).has(e))return;const n=gv(t),i=M(vF,this,UF).call(this,t);if(!Number.isFinite(n)||!Number.isFinite(i)||i<0)return void N(iF,this).add(e);const r=n+i;Number.isFinite(r)&&(N(nF,this).add(e),N(iF,this).delete(e),M(vF,this,JF).call(this,e,r))}function tO(){N(iF,this).size&&Array.from(N(iF,this)).forEach((t=>{const e=M(vF,this,fO).call(this,t);e?M(vF,this,ZF).call(this,e):N(iF,this).delete(t)}))}function eO(t){const e=Number(t);if(!Number.isFinite(e))return;if(e<N(rF,this))return void F(rF,this,e);if(F(rF,this,e),M(vF,this,tO).call(this),!N(tF,this).length)return;const n=new Set;let i=N(eF,this);for(;i<N(tF,this).length;){const t=N(tF,this)[i];if(!t||!Number.isFinite(t.endTime)||t.endTime>e)break;t.placementId&&n.add(t.placementId),i+=1}i!==N(eF,this)&&(F(eF,this,i),n.size&&(M(vF,this,rO).call(this,n),M(vF,this,nO).call(this,n)))}function nO(t){if(t&&t.size)for(const e of N(QC,this)){const n=e.split(":")[0];t.has(n)&&N(QC,this).delete(e)}}function iO(t){const e=Array.isArray(null==t?void 0:t.frames)?t.frames:[],n=null==t?void 0:t.current;(n?[n,...e]:e).forEach((t=>{const e=null==t?void 0:t.frame;if(e&&"function"==typeof e.close)try{e.close()}catch(t){}}))}function rO(t){if(t&&t.size)for(const[e,n]of N(uF,this).entries())t.has(null==n?void 0:n.placementId)&&(M(vF,this,iO).call(this,n),N(uF,this).delete(e))}function oO(t={}){var e;const n=null==t?void 0:t.placementId,i=null==t?void 0:t.nodeId,r=null==t?void 0:t.trackId,o=null==t?void 0:t.segmentId,s=null==t?void 0:t.trackType;if(!(n&&i&&r&&o))return;if("video"!==s&&"image"!==s)return;const a=(null==t?void 0:t.frame)||(null==t?void 0:t.data);if(!a)return;"video"===s&&"object"==typeof a&&"function"==typeof a.close&&(a.__keepOpen=!0);const l=mC(a),c=Number.isFinite(null==l?void 0:l.width)?l.width:void 0,u=Number.isFinite(null==l?void 0:l.height)?l.height:void 0,d=Number.isFinite(null==t?void 0:t.pts)?t.pts:void 0;if(!Number.isFinite(d))return;const h=Number.isFinite(null==t?void 0:t.duration)?t.duration:void 0,f=`${n}:${r}`,p=N(uF,this).get(f),m=p||{placementId:n,nodeId:i,trackId:r,trackType:s,frames:[],current:void 0},v={placementId:n,nodeId:i,trackId:r,segmentId:o,frame:a,width:c,height:u,presentationTime:d,duration:h},g=m.frames,y=g.length?g[g.length-1]:void 0;if(!y||y.presentationTime<=v.presentationTime)g.push(v);else{let t=g.findIndex((t=>t.presentationTime>v.presentationTime));-1===t&&(t=g.length),g.splice(t,0,v)}const b=Number(null===(e=this.settings)||void 0===e?void 0:e.maxBufferedVideoFrames);if("video"===s&&Number.isFinite(b)&&b>0&&g.length>b){const t=g.length-b;for(let e=0;e<t;e+=1){const t=g.pop(),e=null==t?void 0:t.frame;if(e&&"function"==typeof e.close)try{e.close()}catch(t){}}}p||N(uF,this).set(f,m)}function sO(){for(const t of N(uF,this).values())M(vF,this,iO).call(this,t);N(uF,this).clear(),F(dF,this,null),N(QC,this).clear()}function aO(t){const e=Number.isFinite(t)?t:this.currentTime;if(!Number.isFinite(e))return;e<N(sF,this)&&(F(oF,this,[]),F(aF,this,0));const n=Array.isArray(N(UC,this))?N(UC,this):[],i=[],r=new Set;N(oF,this).forEach((t=>{M(vF,this,yO).call(this,t,e)&&(i.push(t),(null==t?void 0:t.placementId)&&r.add(t.placementId))}));let o=N(aF,this);for(;o<n.length;){const t=n[o],s=gv(t);if(!Number.isFinite(s))break;if(s>e)break;if(M(vF,this,yO).call(this,t,e)){const e=null==t?void 0:t.placementId;e&&r.has(e)||(i.push(t),e&&r.add(e))}o+=1}F(oF,this,i),F(aF,this,o),F(sF,this,e)}function lO(t,e={}){const n=Number.isFinite(t)?t:this.currentTime,i=Number.isFinite(null==e?void 0:e.endEpsilonSeconds)?e.endEpsilonSeconds:0;return 0===i&&n===this.currentTime&&n===N(sF,this)?N(oF,this).slice():(Array.isArray(N(UC,this))?N(UC,this):[]).filter((t=>M(vF,this,yO).call(this,t,n,i)))}function cO(){const t=this.currentTime,e=M(vF,this,dO).call(this,t);if(!e.length)return void F(dF,this,null);const n=this.getActiveRenderPlacement(t),i=M(vF,this,hO).call(this,e,n);(i!==N(dF,this)||M(vF,this,uO).call(this,t,n))&&(F(dF,this,i),this.trigger(dh.VISUAL_FRAMES_AVAILABLE,{time:t,frames:e}))}function uO(t,e){const n=e||this.getActiveRenderPlacement(t);if(!n)return!1;if(!Xv.doesRenderNodeTypeRequireFrameCadence(null==n?void 0:n.type))return!1;const i=n.duration;return"number"==typeof i&&i>0}function dO(t){return function(t={}){const e=t.buffers,n=t.time,i=t.getPlacementById,r=t.isPlacementActiveAtTime,o=t.getPlacementDuration,s=[];if(!e||"function"!=typeof e.entries)return[];const a=[];for(const[t,c]of e.entries()){const e=null==c?void 0:c.placementId,u="function"==typeof i?i(e):void 0;if(!u){uC(c),a.push(t);continue}if("function"==typeof r&&!r(u,n)){const e=dC(u),i="function"==typeof o?o(u):void 0;Number.isFinite(i)&&Number.isFinite(e)&&n>=e+i&&(uC(c),a.push(t));continue}const d=Array.isArray(null==c?void 0:c.frames)?c.frames:[];for(;d.length&&Number.isFinite(null===(l=d[0])||void 0===l?void 0:l.presentationTime)&&d[0].presentationTime<=n;){var l;const t=c.current,e=d.shift();c.current=e,t&&t!==e&&cC(null==t?void 0:t.frame)}if(!c.current)continue;const h={placementId:e,nodeId:c.current.nodeId,trackId:c.current.trackId,segmentId:c.current.segmentId,frame:c.current.frame,width:c.current.width,height:c.current.height,presentationTime:c.current.presentationTime,duration:c.current.duration};s.push({frame:h,placementId:e,placementOffset:dC(u),placementSortOffset:hC(u),placementSortId:fC(u,e)})}return a.forEach((t=>{e.delete(t)})),s.sort(((t,e)=>{const n=Number.isFinite(null==t?void 0:t.placementSortOffset)?t.placementSortOffset:Number.isFinite(null==t?void 0:t.placementOffset)?t.placementOffset:0,i=Number.isFinite(null==e?void 0:e.placementSortOffset)?e.placementSortOffset:Number.isFinite(null==e?void 0:e.placementOffset)?e.placementOffset:0;if(n!==i)return n-i;const r=(null==t?void 0:t.placementSortId)||(null==t?void 0:t.placementId),o=(null==e?void 0:e.placementSortId)||(null==e?void 0:e.placementId),s=pC(r),a=pC(o);return Number.isFinite(s)&&Number.isFinite(a)&&s!==a?s-a:r&&o&&r!==o?r<o?-1:1:function(t,e){const n=(null==t?void 0:t.frame)||{},i=(null==e?void 0:e.frame)||{};return n.trackId!==i.trackId?n.trackId<i.trackId?-1:1:n.nodeId!==i.nodeId?n.nodeId<i.nodeId?-1:1:n.segmentId!==i.segmentId?n.segmentId<i.segmentId?-1:1:("number"==typeof n.presentationTime?n.presentationTime:0)-("number"==typeof i.presentationTime?i.presentationTime:0)}(t,e)})),s.map((t=>t.frame))}({buffers:N(uF,this),time:t,getPlacementById:t=>M(vF,this,fO).call(this,t),isPlacementActiveAtTime:(t,e)=>M(vF,this,yO).call(this,t,e),getPlacementDuration:t=>M(vF,this,UF).call(this,t)})}function hO(t,e){return`${e?`render:${e.renderPlacementId||e.type||"unknown"}`:"render:default"}|${t.map((t=>`${t.nodeId}:${t.trackId}:${t.segmentId}@${t.presentationTime}`)).join("|")}`}function fO(t){if(t)return(N(UC,this)||[]).find((e=>(null==e?void 0:e.placementId)===t))}function pO(t){if("end"===t){const t=M(vF,this,mO).call(this);if(!Number.isFinite(t))return;const e=M(vF,this,vO).call(this);return Math.max(0,t-Math.min(t,e))}const e=Number(t);return Number.isFinite(e)?e:0}function mO(){let t;return(Array.isArray(N(UC,this))?N(UC,this):[]).forEach((e=>{const n=gv(e);if(!Number.isFinite(n))return;const i=M(vF,this,UF).call(this,e);if(!Number.isFinite(i))return;const r=n+i;Number.isFinite(r)&&(!Number.isFinite(t)||r>t)&&(t=r)})),t}function vO(){const t=M(vF,this,gO).call(this);return t>0?t:.001}function gO(){var t;const e=Number(null===(t=this.settings)||void 0===t?void 0:t.snapToFps);return!Number.isFinite(e)||e<=0?0:.5/e}function yO(t,e,n=0){if(!yv(t,e,N(BC,this)))return!1;const i=Number(n);if(!Number.isFinite(i)||i<=0)return!0;const r=M(vF,this,UF).call(this,t);if(!Number.isFinite(r))return!0;const o=gv(t);return!Number.isFinite(o)||e<o+r-i}var bO=new WeakMap,kO=new WeakMap,wO=new WeakMap,xO=new WeakMap,_O=new WeakMap,IO=new WeakMap,TO=new WeakMap,EO=new WeakMap,SO=new WeakMap,MO=new WeakMap,AO=new WeakMap,NO=new WeakMap,CO=new WeakMap,FO=new WeakMap,OO=new WeakMap,PO=new WeakMap,RO=new WeakMap,DO=new WeakSet;class BO extends sh{get name(){return"QoE"}get defaults(){return{calcScoreInterval:1,streamQualityWeight:.8,fpsWeight:.2,fpsMathFuncType:"quad",bestFpsMobile:27,bestFpsDesktop:57,waitingMultiplier:1,statusFloors:{excellent:.98,good:.85,fair:.7,poor:0,alert:0},alertStatusCeil:.3,fpsGracePeriod:2,windowSeconds:30}}constructor(...t){super(...t),O(this,DO),C(this,bO,void 0),C(this,kO,void 0),C(this,wO,1),C(this,xO,1),C(this,_O,1),C(this,IO,""),C(this,TO,0),C(this,EO,[]),C(this,SO,null),C(this,MO,void 0),C(this,AO,[]),C(this,NO,null),C(this,CO,null),C(this,FO,0),C(this,OO,0),C(this,PO,0),C(this,RO,void 0);const[e]=t;F(bO,this,e),F(FO,this,Cb()),F(RO,this,M(DO,this,LO).call(this)),M(DO,this,zO).call(this),M(DO,this,WO).call(this),M(DO,this,VO).call(this),M(DO,this,UO).call(this)}get publicAPI(){return N(RO,this)}calcScore(){M(DO,this,tP).call(this)}onDispose(){N(bO,this)&&N(kO,this)&&"function"==typeof N(bO,this).off&&N(bO,this).off(dh.TIMELINE_PLAYER_STATE,N(kO,this)),F(kO,this,null),M(DO,this,qO).call(this),M(DO,this,GO).call(this),F(bO,this,null),F(AO,this,[]),F(EO,this,[]),F(RO,this,null)}}function LO(){const t=this;return{get score(){return N(wO,t)},get status(){return N(IO,t)},get streamQualityScore(){return N(xO,t)},get fpsScore(){return N(_O,t)},get browserFps(){return N(TO,t)},get waitingSeconds(){return N(OO,t)/1e3},get playingSeconds(){return N(PO,t)/1e3}}}function zO(){Number(this.settings.streamQualityWeight)+Number(this.settings.fpsWeight)!==1&&(this.log.warn("QoE weights must sum to 1; resetting to legacy defaults."),this.settings.streamQualityWeight=.8,this.settings.fpsWeight=.2)}function WO(){N(bO,this)&&"function"==typeof N(bO,this).on&&(F(kO,this,(t=>M(DO,this,jO).call(this,t))),N(bO,this).on(dh.TIMELINE_PLAYER_STATE,N(kO,this)))}function jO(t={}){const e="string"==typeof(null==t?void 0:t.event)?t.event:"";"playing"!==e?"waiting"!==e?"pause"!==e&&"seeking"!==e&&"seeked"!==e&&"reset"!==e||M(DO,this,$O).call(this,null):M(DO,this,$O).call(this,"waiting"):M(DO,this,$O).call(this,"playing")}function $O(t){if(t===N(NO,this))return;const e=Cb();N(NO,this)&&Number.isFinite(N(CO,this))&&N(AO,this).push({state:N(NO,this),startMs:N(CO,this),endMs:e}),F(NO,this,t),F(CO,this,t?e:null),M(DO,this,XO).call(this,e)}function UO(){const t=Number(this.settings.calcScoreInterval);!Number.isFinite(t)||t<=0||(F(MO,this,(()=>M(DO,this,tP).call(this))),wx(N(MO,this),1e3*t))}function qO(){N(MO,this)&&xx(N(MO,this)),F(MO,this,null)}function VO(){if("function"!=typeof dx)return;const t=()=>{if(this._disposed)return;const e=Cb();F(TO,this,M(DO,this,HO).call(this,N(EO,this),e)),F(SO,this,dx(t))};F(SO,this,dx(t))}function GO(){N(SO,this)&&"function"==typeof hx&&hx(N(SO,this)),F(SO,this,null)}function HO(t,e){const n=M(DO,this,KO).call(this);for(t.push(e);t.length&&e-t[0]>n;)t.shift();if(t.length<2)return 0;const i=t[t.length-1]-t[0];return i<=0?0:1e3*(t.length-1)/i}function KO(){const t=Number(this.settings.windowSeconds);return!Number.isFinite(t)||t<=0?3e4:1e3*t}function XO(t){const e=t-M(DO,this,KO).call(this);for(;N(AO,this).length&&N(AO,this)[0].endMs<=e;)N(AO,this).shift()}function YO(t){const e=t-M(DO,this,KO).call(this);let n=0,i=0;const r=(r,o,s)=>{const a=Math.max(o,e),l=Math.min(s,t);l<=a||("waiting"===r?n+=l-a:"playing"===r&&(i+=l-a))};return N(AO,this).forEach((t=>{r(t.state,t.startMs,t.endMs)})),N(NO,this)&&Number.isFinite(N(CO,this))&&r(N(NO,this),N(CO,this),t),F(OO,this,n),F(PO,this,i),{waitingMs:n,playingMs:i}}function QO(t,e){if(t<=0)return 1;if(t>e)return 0;const n=e||1;return fv(1-t*this.settings.waitingMultiplier/n)}function JO(){if(Cb()-N(FO,this)<=1e3*this.settings.fpsGracePeriod)return 1;const t=Number(N(TO,this)),e=wg.isDesktop()?this.settings.bestFpsDesktop:this.settings.bestFpsMobile,n=fv(e>0?t/e:0);return"quad"===this.settings.fpsMathFuncType?n*n:n}function ZO(t,e){const n=this.settings.statusFloors||{};let i="";return t>=n.excellent?i="excellent":t>=n.good?i="good":t>=n.fair?i="fair":(i="poor",t<=this.settings.alertStatusCeil&&e>0&&(i="alert")),i}function tP(){const t=Cb(),{waitingMs:e,playingMs:n}=M(DO,this,YO).call(this,t),i=M(DO,this,QO).call(this,e,n),r=M(DO,this,JO).call(this),o=fv(i*this.settings.streamQualityWeight+r*this.settings.fpsWeight);o!==N(wO,this)&&(F(wO,this,o),this.trigger(dh.QOE_SCORE,o)),F(xO,this,i),F(_O,this,r);const s=M(DO,this,ZO).call(this,o,e);s!==N(IO,this)&&(F(IO,this,s),this.trigger(dh.QOE_STATUS,s))}function eP(t,e=0){const n=Number(t);return Number.isFinite(n)?n:e}function nP(t){const e=Number(t);return!Number.isFinite(e)||e<0?0:e}var iP=new WeakMap,rP=new WeakMap,oP=new WeakMap,sP=new WeakMap,aP=new WeakSet;class lP extends sh{get name(){return"SegmentEvictionCoordinator"}get defaults(){return{enabled:Kb("segmentEvictionEnabled"),bufferBehindSeconds:Kb("segmentEvictionBufferBehindSeconds"),bufferAheadSeconds:Kb("segmentEvictionBufferAheadSeconds"),maxRetainedBytes:Kb("segmentEvictionMaxRetainedBytes")}}get methodsExcludedFromAutoLog(){return new Set([...super.methodsExcludedFromAutoLog,"evictAtTime"])}constructor(t,e,n={}){super(n),O(this,aP),C(this,iP,void 0),C(this,rP,void 0),C(this,oP,void 0),C(this,sP,void 0),F(iP,this,t),F(rP,this,e),F(oP,this,(t=>M(aP,this,cP).call(this,t))),F(sP,this,(t=>M(aP,this,uP).call(this,t))),N(iP,this)&&"function"==typeof N(iP,this).on&&(N(iP,this).on(dh.TIMELINE_TIME_UPDATE,N(oP,this)),N(iP,this).on(dh.TIMELINE_SEEKED,N(sP,this)))}onDispose(){N(iP,this)&&"function"==typeof N(iP,this).off&&(N(iP,this).off(dh.TIMELINE_TIME_UPDATE,N(oP,this)),N(iP,this).off(dh.TIMELINE_SEEKED,N(sP,this))),F(iP,this,null),F(rP,this,null),F(oP,this,null),F(sP,this,null)}evictAtTime(t){if(!0!==this.settings.enabled)return;const e=Number(t);if(!Number.isFinite(e))return;const n=nP(this.settings.bufferBehindSeconds),i=nP(this.settings.bufferAheadSeconds),r=e-n,o=e+i,s=M(aP,this,dP).call(this);if(!s.length)return;const a=Number(this.settings.maxRetainedBytes);if(Number.isFinite(a)&&a>0&&M(aP,this,hP).call(this,s)<=a)return;const l=new Map;s.forEach((t=>{const e=null==t?void 0:t.nodeId;if(!e)return;const n=gv(t);if(!Number.isFinite(n))return;const i=l.get(e)||[];i.push(t),l.set(e,i)})),l.size&&l.forEach(((t,e)=>{const n=M(aP,this,fP).call(this,e);if(!n)return;const i=t.filter((t=>M(aP,this,pP).call(this,t,r,o)));i.length?M(aP,this,mP).call(this,n,i,r,o):"function"==typeof n.evict&&n.evict()}))}}function cP(t){var e,n;if(!0!==this.settings.enabled)return;if((null===(e=N(iP,this))||void 0===e?void 0:e.state)===Mg)return;const i=Number(null==t?void 0:t.time),r=Number.isFinite(i)?i:Number(null===(n=N(iP,this))||void 0===n?void 0:n.currentTime);this.evictAtTime(r)}function uP(t){var e;if(!0!==this.settings.enabled)return;const n=Number(null==t?void 0:t.targetTime),i=Number.isFinite(n)?n:Number(null===(e=N(iP,this))||void 0===e?void 0:e.currentTime);this.evictAtTime(i)}function dP(){var t;const e=null===(t=N(iP,this))||void 0===t?void 0:t.placements;return Array.isArray(e)?e:[]}function hP(t){if(!Array.isArray(t)||!t.length)return 0;const e=new Set;let n=0;return t.forEach((t=>{const i=null==t?void 0:t.nodeId;if(!i||e.has(i))return;e.add(i);const r=M(aP,this,fP).call(this,i),o=Number(null==r?void 0:r.retainedByteLength);ob(o)?n+=o:(Array.isArray(null==r?void 0:r.tracks)?r.tracks:[]).forEach((t=>{(Array.isArray(null==t?void 0:t.segments)?t.segments:[]).forEach((t=>{ob(null==t?void 0:t.retainedByteLength)&&(n+=t.retainedByteLength)}))}))})),n}function fP(t){if(N(rP,this)&&"function"==typeof N(rP,this).get)return N(rP,this).get(t)}function pP(t,e,n){const i=gv(t);if(!Number.isFinite(i))return!1;const r=mv(t,N(rP,this));return(Number.isFinite(r)?i+r:Number.POSITIVE_INFINITY)>e&&i<n}function mP(t,e,n,i){const r=Array.isArray(null==t?void 0:t.tracks)?t.tracks:[];r.length&&r.forEach((t=>{const r=Array.isArray(null==t?void 0:t.segments)?t.segments:[],o=eP(null==t?void 0:t.offset,0);r.forEach((t=>{if(!t||!ob(null==(r=t)?void 0:r.retainedByteLength))return;var r;if(t.isInit)return;let s=!1;for(let r=0;r<e.length;r+=1){const a=e[r],l=gv(a);if(!Number.isFinite(l))continue;const c=eP(null==a?void 0:a.nodeOffsetOverride,0),u=eP(null==t?void 0:t.offset,NaN);if(!Number.isFinite(u))continue;const d=eP(null==t?void 0:t.duration,0),h=l+o+u-c,f=h+(d>0?d:0),p=mv(a,N(rP,this)),m=Number.isFinite(p)?l+p:Number.POSITIVE_INFINITY;if(!(f<=l||h>=m||f<=n||h>=i)){s=!0;break}}s||t.evict()}))}))}var vP=new WeakMap,gP=new WeakMap,yP=new WeakMap,bP=new WeakSet;class kP extends sh{get name(){return"DocumentVisibility"}get defaults(){return{autoPauseOnVisibilityChange:!0,autoResumeOnVisibilityChange:!0}}constructor(t,e={}){super(e),O(this,bP),C(this,vP,void 0),C(this,gP,null),C(this,yP,!1),F(vP,this,t),M(bP,this,wP).call(this)}onDispose(){M(bP,this,xP).call(this),F(vP,this,null),F(yP,this,!1)}}function wP(){const t=null==ch?void 0:ch.document;t&&"function"==typeof t.addEventListener&&(F(gP,this,(()=>M(bP,this,_P).call(this))),t.addEventListener("visibilitychange",N(gP,this)))}function xP(){const t=null==ch?void 0:ch.document;N(gP,this)&&t&&"function"==typeof t.removeEventListener&&t.removeEventListener("visibilitychange",N(gP,this)),F(gP,this,null)}function _P(){const t=null==ch?void 0:ch.document,e=null==t?void 0:t.visibilityState;"string"==typeof e&&("hidden"!==e?"visible"===e&&M(bP,this,TP).call(this):M(bP,this,IP).call(this))}function IP(){var t;(null===(t=this.settings)||void 0===t?void 0:t.autoPauseOnVisibilityChange)&&N(vP,this)&&"function"==typeof N(vP,this).pause&&(N(vP,this).state===Ig?(this.log.info("[#handleHidden] Pausing timeline due to document visibility change"),N(vP,this).pause(),F(yP,this,!0)):F(yP,this,!1))}function TP(){var t;N(yP,this)&&(null===(t=this.settings)||void 0===t?void 0:t.autoResumeOnVisibilityChange)&&N(vP,this)&&"function"==typeof N(vP,this).play&&(N(vP,this).state!==Ig?(this.log.info("[#handleVisible] Resuming timeline due to document visibility change"),N(vP,this).play(),F(yP,this,!1)):F(yP,this,!1))}const EP=[{event:"canplay",once:!0,trackAs:"canplay"},{event:"playing",once:!0,trackAs:"startedplaying"},"seeked","canvas.webglcontextlost"];function SP(t,e=0){return Number.isFinite(t)?t:e}function MP(t){const e=null==t?void 0:t.exposedPlayerAPI;return e&&"object"==typeof e?e:t}const AP=[function(t){return{schema:"iglu:com.helloeko/player/jsonschema/1-0-7",match:/^.*$/,getData:()=>{var e,n,i;const r=function(t){const e=null==t?void 0:t.exposedPlayerAPI;return e&&"object"==typeof e?e:t}(t);return{playerversion:"string"==typeof(null==r?void 0:r.version)?r.version:"0.0.0",isautoplay:!(null==r||null===(e=r.options)||void 0===e||!e.autoplay),playerqoe:SP(null==r||null===(n=r.qoe)||void 0===n?void 0:n.score),playerqoestatus:"string"==typeof(null==r||null===(i=r.qoe)||void 0===i?void 0:i.status)?r.qoe.status:"",ismuted:!(null==r||!r.muted),playervolume:SP(null==r?void 0:r.volume),playercontainerwidth:SP(null==r?void 0:r.containerWidth),playercontainerheight:SP(null==r?void 0:r.containerHeight)}}}},function(t){return{schema:"iglu:com.helloeko/currentnode/jsonschema/1-0-2",match:/^.*$/,getData:()=>{var e;const n=MP(t),i=function(t){const e=MP(t);if(!e||"function"!=typeof e.getNodesAtTime)return null;const n=Number.isFinite(e.currentTime)?e.currentTime:0,i=e.getNodesAtTime(n);return Array.isArray(i)&&0!==i.length&&i[0]||null}(t);return{currentnodeid:"string"==typeof(null==i?void 0:i.id)?i.id:"",currentnodetime:Number.isFinite(null==n?void 0:n.currentTime)?n.currentTime:0,currentnodeduration:Number.isFinite(null==i?void 0:i.duration)?i.duration:0,currentnodeprofile:"string"==typeof(null==i||null===(e=i.metadata)||void 0===e?void 0:e.profile)?i.metadata.profile:""}}}},function(t){let e=0,n=0;const i=()=>{e||(e=Date.now(),n=0)},r=()=>{e&&!n&&(n=Date.now())};return t&&"function"==typeof t.on&&(t.on("seeking",i),t.on("seeked",r)),{schema:"iglu:com.helloeko/seeked/jsonschema/1-0-0",match:"seeked",getData:()=>{r();const t=e&&n&&n>=e?(n-e)/1e3:0;return e=0,n=0,{seekduration:t}},dispose:()=>{t&&"function"==typeof t.off&&(t.off("seeking",i),t.off("seeked",r))}}},function(){return{schema:"iglu:com.helloeko/environment/jsonschema/1-0-0",match:/^.*$/,getData:()=>{var t;const e=null==ch||null===(t=ch.eko)||void 0===t||null===(t=t.environment)||void 0===t?void 0:t.embeddingApp;return e?{embeddingapp:e}:{}}}}],NP=Object.freeze({once:!1,trackAs:""});var CP=new WeakMap,FP=new WeakMap,OP=new WeakMap,PP=new WeakMap,RP=new WeakMap,DP=new WeakMap,BP=new WeakSet;class LP extends sh{get name(){return"Tracker"}get defaults(){return{tag:null,trackingEnabled:Kb("trackingEnabled"),defaultForwarders:EP,defaultContextPackers:AP}}constructor(t,e={}){var n,i;super(e),O(this,BP),C(this,CP,void 0),C(this,FP,new Map),C(this,OP,[]),C(this,PP,!1),C(this,RP,void 0),C(this,DP,void 0),F(DP,this,!this.settings.tag),F(RP,this,this.settings.tag||(null===(n=crypto)||void 0===n||null===(i=n.randomUUID)||void 0===i?void 0:i.call(n))||`eko-player-${Date.now()}`),F(CP,this,t),M(BP,this,VP).call(this),M(BP,this,WP).call(this)}track(t,...e){if(!this.settings.trackingEnabled)return;if("string"!=typeof t||!t)return void this.log.warn("[track] Expected event to be a non-empty string.");const n=M(BP,this,HP).call(this);n&&n("track",t,...e,N(RP,this))}registerContextPacker(t){if(!t||"object"!=typeof t)return void this.log.warn("[registerContextPacker] Expected a packer object.");const e={tag:N(RP,this),schema:t.schema,match:t.match,getData:M(BP,this,zP).call(this,t.getData)};if("string"!=typeof e.schema||!e.schema)return void this.log.warn('[registerContextPacker] Expected "schema" to be a non-empty string.');if("function"!=typeof e.getData)return void this.log.warn('[registerContextPacker] Expected "getData" to be a function.');if(!this.settings.trackingEnabled)return;const n=M(BP,this,HP).call(this);n&&n("registerContextPacker",e)}onDispose(){if(M(BP,this,qP).call(this),M(BP,this,GP).call(this),F(CP,this,null),N(DP,this)){const t=M(BP,this,HP).call(this);t&&(t("reset",N(RP,this)),F(RP,this,null))}}}function zP(t){return"function"!=typeof t?null:(...e)=>e.pop()!==N(RP,this)?null:t(...e)}function WP(){(Array.isArray(this.settings.defaultForwarders)?this.settings.defaultForwarders:[]).forEach((t=>M(BP,this,jP).call(this,t)))}function jP(t){const e=M(BP,this,$P).call(this,t);if(!e)return void this.log.warn("[#addEventForwarder] Invalid forwarder input.",t);const n=N(CP,this);if(!n||"function"!=typeof n.on)return;const i=M(BP,this,UP).call(this,e);if(N(FP,this).has(i))return;const r=(...t)=>{e.once&&n&&"function"==typeof n.off&&n.off(e.event,r);const i=e.trackAs||e.event;this.track(i,...t)};n.on(e.event,r),N(FP,this).set(i,{event:e.event,listener:r})}function $P(t){return"string"==typeof t&&t?{event:t,...NP}:t&&"object"==typeof t&&"string"==typeof t.event&&t.event?{event:t.event,once:!!t.once,trackAs:"string"==typeof t.trackAs?t.trackAs:""}:null}function UP({event:t,once:e,trackAs:n}){return`${t}:${e}:${n}`}function qP(){const t=N(CP,this);t&&"function"==typeof t.off&&N(FP,this).forEach((({event:e,listener:n})=>{t.off(e,n)})),N(FP,this).clear()}function VP(){(Array.isArray(this.settings.defaultContextPackers)?this.settings.defaultContextPackers:[]).forEach((t=>{if("function"!=typeof t)return;const e=t(N(CP,this),this);e&&"object"==typeof e&&("function"==typeof e.dispose&&N(OP,this).push(e.dispose),e.disabled||this.registerContextPacker({schema:e.schema,match:e.match,getData:e.getData}))}))}function GP(){N(OP,this).forEach((t=>{try{t()}catch(t){this.log.warn("[#teardownContextPackers] Failed disposing context packer.",t)}})),F(OP,this,[])}function HP(){const t=null==ch?void 0:ch.EkoAnalytics;return"function"==typeof t?t:(M(BP,this,KP).call(this),null)}function KP(){this.settings.trackingEnabled&&!N(PP,this)&&(this.log.warn("EkoAnalytics not found on window."),F(PP,this,!0))}class XP{#rt;#ot;#st;#at;#lt;#ct;#ut;#dt;#ht;#ft;#pt;#mt;#vt;#gt;#yt;#bt;#kt;#wt;#xt;constructor(t,e={},n=null){this.#rt=new _h(t,n,e),this.#ot=new Ph(this.#rt,e),this.#st=new ix(e),this.#at=new ek(e),this.#lt=new Lw(this.#at,e),this.#ct=new Ow(this.#lt,this.#st,e),this.#ut=new Gw(this.#ct,e),this.#dt=new gF(this.#ct,e),this.#ht=new kP(this.#dt,e),this.#wt=new lP(this.#dt,this.#ct,e),this.#ft=new Ux(this.#ct,this.#ut,this.#st,this.#dt,e),this.#pt=new A_(this.#ct,this.#ut,this.#dt,e),this.#mt=new zS(e),this.#vt=new uM(this.#ct,this.#dt,this.#mt,e),this.#yt=new BO(this.#dt,e),this.#xt=new LP(n,e);const i=e&&"object"==typeof e?e.adapters:null,r=i&&"object"==typeof i&&"function"==typeof i.renderAdapterFactory?i.renderAdapterFactory:null,o=i&&"object"==typeof i&&"function"==typeof i.audioAdapterFactory?i.audioAdapterFactory:null;this.#bt=r?r({timeline:this.#dt,canvas:this.#rt,containerSize:this.#ot,options:e}):new yy(this.#dt,this.#rt,this.#ot,e),this.#gt=o?o({timeline:this.#dt,decodeCoordinator:this.#vt,options:e}):new GA(this.#dt,this.#vt,e),this.#kt=new hA(this.#dt,this.#bt,e)}get canvas(){return this.#rt}get containerSize(){return this.#ot}get assetsDeliveryService(){return this.#st}get downloadSpeed(){return this.#at}get abrSelector(){return this.#lt}get nodeRepository(){return this.#ct}get nodePrioritizer(){return this.#ut}get timeline(){return this.#dt}get documentVisibility(){return this.#ht}get nodeResolver(){return this.#ft}get segmentLoadCoordinator(){return this.#pt}get decoderFactory(){return this.#mt}get parsingManager(){return this.#vt}get audioAdapter(){return this.#gt}get audioPlaybackManager(){return this.#gt}get qoe(){return this.#yt}get renderAdapter(){return this.#bt}get renderer(){return this.#bt}get transitionManager(){return this.#kt}get tracker(){return this.#xt}dispose(){[this.#xt,this.#dt,this.#ht,this.#pt,this.#ft,this.#ut,this.#ct,this.#st,this.#lt,this.#at,this.#vt,this.#mt,this.#gt,this.#yt,this.#bt,this.#kt,this.#wt,this.#ot,this.#rt].forEach((t=>{t&&"function"==typeof t.dispose&&t.dispose()})),this.#dt=null,this.#ht=null,this.#pt=null,this.#ft=null,this.#ut=null,this.#ct=null,this.#st=null,this.#lt=null,this.#at=null,this.#vt=null,this.#mt=null,this.#gt=null,this.#yt=null,this.#bt=null,this.#kt=null,this.#wt=null,this.#rt=null,this.#xt=null}}const YP="devops.1329787";var QP={isPlainObject:eh,deepMerge:nh,get:Sb,set:Mb,ekoGlobalStore:Ab,download:qb,isPositiveNumber:ob,clamp01:fv,root:ch,now:Cb,getFrameDimensions:mC,codecs:pk,useragent:xg,requestAnimationFrame:dx,cancelAnimationFrame:hx,start:wx,stop:xx,isTicking:_x,predicator:function(t,e){const n=e||{};if("function"!=typeof t)return void fx.error("[predicator] Bad argument given to predicator, first argument must be a function.",arguments);if(t.apply())return fx.debug("[predicator] Invoking onFulfilled immediately."),void("function"==typeof n.onFulfilled&&n.onFulfilled.call(null,0));const i=n.timeout||1e4,r=n.interval,o=Cb();let s,a,l,c,u;c=function(){t.apply()&&l()},l=function(){xx(c),ch.clearTimeout(s),u=Cb()-o,fx.debug("[predicator] Invoking onFulfilled after "+u+" ms."),"function"==typeof n.onFulfilled&&n.onFulfilled.call(null,u)},a=function(){xx(c),u=Cb()-o,fx.debug("[predicator] Invoking onTimeout after "+u+" ms."),"function"==typeof n.onTimeout&&n.onTimeout.call(null,u)},s=ch.setTimeout(a,i),wx(c,r)},createThrottler:Ix,scheduleExecution:Tx},JP=new WeakMap,ZP=new WeakMap,tR=new WeakMap,eR=new WeakMap,nR=new WeakMap,iR=new WeakMap,rR=new WeakMap,oR=new WeakSet;class sR{constructor(t){O(this,oR),C(this,JP,[]),C(this,ZP,[]),C(this,tR,new PC("placement-")),C(this,eR,new PC("renderplacement-")),C(this,nR,void 0),C(this,iR,new Map),C(this,rR,void 0),F(nR,this,t),F(rR,this,{allowUnready:!0,getNode:t=>M(oR,this,aR).call(this,t)})}get placements(){return N(JP,this).slice()}get renderPlacements(){return N(ZP,this).slice()}getNodesAtTime(t){M(oR,this,lR).call(this);const e=M(oR,this,uR).call(this,t);if(!Number.isFinite(e))return[];const n=N(JP,this).filter((t=>yv(t,e,null,N(rR,this)))),i=[];return n.forEach((t=>{const e=M(oR,this,aR).call(this,null==t?void 0:t.nodeId);e&&i.push(e)})),i}placeOnTimeline(t,e,n={}){const i=t&&"object"==typeof t?t:null,r=i?i.id:t;if(!r)throw new Error("TimelineDefinition.placeOnTimeline requires node id");i&&N(iR,this).set(r,i);const o=n.nodeOffsetOverride||n.offset,s=n.nodeDurationOverride||n.duration,a=_v(e);if("string"==typeof e&&e.includes("@")&&!a)throw new Error("TimelineDefinition.placeOnTimeline requires valid placement reference");const{wantsEndOffset:l,endOffsetSeconds:c}=a?{wantsEndOffset:!1}:xv(e,n);let u,d,h,f=!1;const p=null!==a;if(a){const t=N(JP,this).find((t=>(null==t?void 0:t.placementId)===a.placementId));if(!t)throw new Error("TimelineDefinition.placeOnTimeline requires valid placement reference");d=t.placementId,h=a.anchor;const e=gv(t);if("start"===a.anchor)Number.isFinite(e)?u=e:f=!0;else{const n=M(oR,this,cR).call(this,t);Number.isFinite(e)&&n>0?u=e+n:f=!0}}else if(l){const t=n.offsetAnchorPlacementId?N(JP,this).find((t=>(null==t?void 0:t.placementId)===n.offsetAnchorPlacementId)):N(JP,this).length?N(JP,this)[N(JP,this).length-1]:void 0;if(d=n.offsetAnchorPlacementId||(null==t?void 0:t.placementId),d){const e=gv(t),n=M(oR,this,cR).call(this,t);Number.isFinite(e)&&n>0?u=e+n-c:(f=!0,h="end")}else u=-c}else u=wv(e);const m=N(tR,this).claim(n.placementId),v={placementId:m,nodeId:r,offset:u,offsetPending:f,offsetAnchorPlacementId:f?d:void 0,offsetAnchorEdge:f?h:void 0,offsetAnchorIsReference:f?p:void 0,offsetEndSeconds:l?c:a&&"end"===a.anchor?0:void 0,nodeOffsetOverride:o,nodeDurationOverride:s,loop:!0===n.loop};return N(JP,this).push(v),bv(N(JP,this)),m}placeRenderNodeOnTimeline(t,e,n,i={}){const r="string"==typeof t?t:null==t?void 0:t.type;if(!r||"string"!=typeof r)throw new Error("TimelineDefinition.placeRenderNodeOnTimeline requires render node type");let o,s,a,l=!1;const c=_v(e);if("string"==typeof e&&e.includes("@")&&!c)throw new Error("TimelineDefinition.placeRenderNodeOnTimeline requires valid placement reference");const u=null!==c;if(c){const t=N(JP,this).find((t=>(null==t?void 0:t.placementId)===c.placementId));if(!t)throw new Error("TimelineDefinition.placeRenderNodeOnTimeline requires valid placement reference");s=t.placementId,a=c.anchor;const e=gv(t);if("start"===c.anchor)Number.isFinite(e)?o=e:l=!0;else{const n=M(oR,this,cR).call(this,t);Number.isFinite(e)&&Number.isFinite(n)?o=e+n:l=!0}}else o=wv(e);const d=N(eR,this).claim(i.renderPlacementId),h=Number(n),f=h===Number.POSITIVE_INFINITY,p=Number.isFinite(h)&&h>0||f?h:void 0;if(!p)throw new Error("TimelineDefinition.placeRenderNodeOnTimeline requires a positive duration (seconds) or Infinity as 3rd argument");const m={renderPlacementId:d,type:r,offset:o,offsetPending:l,offsetAnchorPlacementId:l?s:void 0,offsetAnchorEdge:l?a:void 0,offsetAnchorIsReference:l?u:void 0,duration:p,params:i.params&&"object"==typeof i.params?i.params:void 0};if(!l){const t=o,e=o+p;Iv(N(ZP,this),t,e,"TimelineDefinition.placeRenderNodeOnTimeline does not allow overlapping render nodes")}return N(ZP,this).push(m),bv(N(ZP,this)),d}}function aR(t){if(t)return N(nR,this)&&"function"==typeof N(nR,this).get?N(nR,this).get(t):N(iR,this).get(t)}function lR(){return kv(N(JP,this),{getPlacementDuration:t=>M(oR,this,cR).call(this,t)}).updated}function cR(t){return mv(t,null,N(rR,this))}function uR(t){if("end"===t){const t=M(oR,this,dR).call(this);if(!Number.isFinite(t))return;return Math.max(0,t-Math.min(t,.001))}const e=Number(t);return Number.isFinite(e)?e:0}function dR(){let t;return N(JP,this).forEach((e=>{const n=gv(e);if(!Number.isFinite(n))return;const i=M(oR,this,cR).call(this,e);if(!Number.isFinite(i))return;const r=n+i;Number.isFinite(r)&&(!Number.isFinite(t)||r>t)&&(t=r)})),t}const hR=new Set(["canplay","play","playing","waiting","pause","seeking","seeked"]);var fR=new WeakMap,pR=new WeakMap,mR=new WeakMap,vR=new WeakMap,gR=new WeakMap,yR=new WeakMap,bR=new WeakMap,kR=new WeakMap,wR=new WeakMap,xR=new WeakMap,_R=new WeakMap,IR=new WeakMap,TR=new WeakMap,ER=new WeakMap,SR=new WeakMap,MR=new WeakMap,AR=new WeakMap,NR=new WeakMap,CR=new WeakMap,FR=new WeakMap,OR=new WeakMap,PR=new WeakMap,RR=new WeakMap,DR=new WeakMap,BR=new WeakMap,LR=new WeakSet;class zR extends sh{get name(){return"EkoPlayer"}get exposedPlayerAPI(){return N(vR,this)}constructor(t,e={}){const{options:n,publicOptions:i}=function(t={}){const e=nh({},Gb,t);Object.entries(Vb).forEach((([t,{targetPaths:n}])=>{void 0!==e[t]&&n.forEach((n=>{void 0===Sb(e,n)&&Mb(e,n,e[t])}))}));const n=function(t){const e={};return Object.keys(Vb).forEach((n=>{Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})),Object.freeze(e)}(e);return Hb.info("Processed options:",e),Hb.info("Public options:",n),{options:e,publicOptions:n}}(e);return super(n),O(this,LR),C(this,fR,void 0),C(this,pR,void 0),C(this,mR,void 0),C(this,vR,void 0),C(this,gR,void 0),C(this,yR,void 0),C(this,bR,void 0),C(this,kR,void 0),C(this,wR,void 0),C(this,xR,void 0),C(this,_R,void 0),C(this,IR,void 0),C(this,TR,void 0),C(this,ER,void 0),C(this,SR,void 0),C(this,MR,void 0),C(this,AR,void 0),C(this,NR,void 0),C(this,CR,void 0),C(this,FR,void 0),C(this,OR,void 0),C(this,PR,void 0),C(this,RR,void 0),C(this,DR,void 0),C(this,BR,0),F(mR,this,i),this.log.info("Initializing EkoPlayer with options:",i),F(IR,this,new XP(t,n,this)),M(LR,this,XR).call(this,N(IR,this)),F(SR,this,(t=>M(LR,this,WR).call(this,t))),N(pR,this)&&"function"==typeof N(pR,this).on&&N(pR,this).on(dh.TIMELINE_CUEPOINT,N(SR,this)),F(MR,this,null),F(NR,this,(t=>M(LR,this,jR).call(this,t))),F(CR,this,(t=>{const e=t&&"object"==typeof t?t:{};M(LR,this,jR).call(this,{...e,event:"seeking"})})),F(FR,this,(t=>{const e=t&&"object"==typeof t?t:{};M(LR,this,jR).call(this,{...e,event:"seeked"})})),N(pR,this)&&"function"==typeof N(pR,this).on&&(N(pR,this).on(dh.TIMELINE_PLAYER_STATE,N(NR,this)),N(pR,this).on(dh.TIMELINE_SEEKING,N(CR,this)),N(pR,this).on(dh.TIMELINE_SEEKED,N(FR,this))),F(RR,this,(t=>{const e=t&&"object"==typeof t?t:{};this.trigger(dh.CONTAINER_RESIZE,e)})),N(TR,this)&&"function"==typeof N(TR,this).on&&N(TR,this).on(dh.CONTAINER_RESIZE,N(RR,this)),M(LR,this,VR).call(this),M(LR,this,qR).call(this),F(vR,this,M(LR,this,KR).call(this)),N(vR,this)}onDispose(){N(pR,this)&&"function"==typeof N(pR,this).off&&N(SR,this)&&N(pR,this).off(dh.TIMELINE_CUEPOINT,N(SR,this)),F(SR,this,null),N(pR,this)&&"function"==typeof N(pR,this).off&&(N(NR,this)&&N(pR,this).off(dh.TIMELINE_PLAYER_STATE,N(NR,this)),N(CR,this)&&N(pR,this).off(dh.TIMELINE_SEEKING,N(CR,this)),N(FR,this)&&N(pR,this).off(dh.TIMELINE_SEEKED,N(FR,this))),F(NR,this,null),F(CR,this,null),F(FR,this,null),F(MR,this,null),N(TR,this)&&"function"==typeof N(TR,this).off&&N(RR,this)&&N(TR,this).off(dh.CONTAINER_RESIZE,N(RR,this)),F(RR,this,null),N(_R,this)&&"function"==typeof N(_R,this).off&&(N(OR,this)&&N(_R,this).off("qoescore",N(OR,this)),N(PR,this)&&N(_R,this).off("qoestatus",N(PR,this))),F(OR,this,null),F(PR,this,null),N(xR,this)&&"function"==typeof N(xR,this).off&&N(DR,this)&&N(xR,this).off(dh.DECODER_ERROR,N(DR,this)),F(DR,this,null),F(BR,this,0),N(ER,this)&&"function"==typeof N(ER,this).dispose&&N(ER,this).dispose(),F(ER,this,null),N(IR,this)&&"function"==typeof N(IR,this).dispose&&N(IR,this).dispose(),F(pR,this,null),F(fR,this,null),F(yR,this,null),F(bR,this,null),F(kR,this,null),F(wR,this,null),F(xR,this,null),F(_R,this,null),F(TR,this,null),F(gR,this,null),F(vR,this,null),F(IR,this,null)}}function WR(t={}){var e;this.trigger(dh.TIMELINE_CUEPOINT,t);const n="string"==typeof(null==t||null===(e=t.cuepoint)||void 0===e?void 0:e.name)?t.cuepoint.name:"";n&&this.trigger(n,t)}function jR(t={}){const e="string"==typeof(null==t?void 0:t.event)?t.event:"";if(!hR.has(e))return;if("playing"!==e||Number.isFinite(N(AR,this))||(F(AR,this,Cb()),this.log.info(`[#handlePlayerStateEvent] Playback started @ ${(N(AR,this)/1e3).toFixed(3)}s (${Date.now()})`)),N(MR,this)===e)return;F(MR,this,e);const n=Number.isFinite(null==t?void 0:t.time)?t.time:N(pR,this)&&Number.isFinite(N(pR,this).currentTime)?N(pR,this).currentTime:0,i={};Number.isFinite(n)&&(i.time=n),"string"==typeof(null==t?void 0:t.from)&&(i.from=t.from),"string"==typeof(null==t?void 0:t.to)&&(i.to=t.to),Number.isFinite(null==t?void 0:t.targetTime)&&(i.targetTime=t.targetTime),Array.isArray(null==t?void 0:t.placements)&&(i.placements=t.placements.slice()),this.trigger(e,i)}function $R(){return new sR(N(fR,this))}function UR(t){if(!t||"object"!=typeof t)throw new Error("EkoPlayer.switchTimeline requires a timeline definition");if(!N(pR,this)||"function"!=typeof N(pR,this).applyTimelineDefinition)throw new Error("EkoPlayer.switchTimeline requires an active timeline");N(pR,this).applyTimelineDefinition(t),"function"==typeof N(pR,this).play&&N(pR,this).play()}function qR(){N(_R,this)&&"function"==typeof N(_R,this).on&&(F(OR,this,(t=>{this.trigger(dh.QOE_SCORE,t)})),F(PR,this,(t=>{this.trigger(dh.QOE_STATUS,t)})),N(_R,this).on(dh.QOE_SCORE,N(OR,this)),N(_R,this).on(dh.QOE_STATUS,N(PR,this)))}function VR(){N(xR,this)&&"function"==typeof N(xR,this).on&&(F(DR,this,(t=>{const e=t&&"object"==typeof t?t:{error:t};this.trigger(dh.DECODER_ERROR,e),M(LR,this,GR).call(this,e)})),N(xR,this).on(dh.DECODER_ERROR,N(DR,this)))}function GR(t={}){var e;const n=N(pR,this);if(!n||"number"!=typeof n.currentTime)return;const i=Date.now();if(i<N(BR,this))return;const r=Number(n.currentTime);if(!Number.isFinite(r))return;const o=Number(null==n||null===(e=n.settings)||void 0===e?void 0:e.snapToFps),s=Number.isFinite(o)&&o>0?1/o:1/60;F(BR,this,i+1500),this.log.warn("[#attemptDecoderRecoverySeek] decoder:error received, attempting seek recovery",null==t?void 0:t.error),n.currentTime=r+s}async function HR(t={}){var e;if(N(ER,this))return N(ER,this);const n=t&&"object"==typeof t&&!Array.isArray(t)?{...t}:{},i=N(gR,this)&&N(gR,this).element?N(gR,this).element:null;if(!i)throw new Error("Debug overlay requires an initialized player canvas and mount element.");const r=function({canvasElement:t,containerElement:e}={}){const n=t&&t.parentNode?t.parentNode:null;if(null==e)return n;const i=function(t,e=(null==ch?void 0:ch.document)){if(uh(t))return t;if("string"!=typeof t)return null;let n=t.trim();if("#"===n.charAt(0)&&(n=n.slice(1)),!n||!e||"function"!=typeof e.getElementById)return null;const i=e.getElementById(n);return uh(i)?i:null}(e,t&&t.ownerDocument?t.ownerDocument:null);if(i)return i;if("string"==typeof e){const t=e.trim(),n="#"===t.charAt(0)?t.slice(1):t;if(!n)throw new Error("Debug overlay containerElement id cannot be empty.");throw new Error(`Debug overlay containerElement id "${n}" was not found.`)}throw new Error("Debug overlay containerElement must be an element id string or DOM element.")}({canvasElement:i,containerElement:n.containerElement});if(!r)throw new Error("Debug overlay requires an initialized player canvas and mount element.");Object.prototype.hasOwnProperty.call(n,"containerElement")&&delete n.containerElement;const o=await Promise.resolve().then((function(){return QB})),s=(null==o?void 0:o.createDebugOverlay)||(null==o?void 0:o.default);if("function"!=typeof s)throw new Error("Debug overlay bundle does not export createDebugOverlay().");return n.publicOptions=N(mR,this),n.playerVersion=YP,F(ER,this,s({mountElement:r,canvasElement:i,timeline:N(pR,this),assetsDeliveryServiceUrl:null===(e=N(IR,this))||void 0===e||null===(e=e.assetsDeliveryService)||void 0===e||null===(e=e.settings)||void 0===e?void 0:e.assetsDeliveryServiceUrl,getNode:t=>N(fR,this)&&"function"==typeof N(fR,this).get?N(fR,this).get(t):void 0,listNodes:()=>N(fR,this)&&"function"==typeof N(fR,this).list?N(fR,this).list():[],downloadSpeed:N(IR,this)?N(IR,this).downloadSpeed:void 0,downloadEvents:_b,qoe:N(_R,this)?N(_R,this).publicAPI:void 0,qoeEvents:this,options:n,playbackStartedAtMs:N(AR,this)})),N(ER,this)}function KR(){const t=this;return{createTimeline:()=>M(LR,t,$R).call(t),switchTimeline:e=>M(LR,t,UR).call(t,e),play:N(pR,this).play,pause:N(pR,this).pause,reset:N(pR,this).reset,placeOnTimeline:N(pR,this).placeOnTimeline,placeRenderNodeOnTimeline:N(pR,this).placeRenderNodeOnTimeline,addNode:N(fR,this).add,getNode:N(fR,this).get,listNodes:N(fR,this).list,getNodesAtTime:e=>N(pR,t).getNodesAtTime(e),dispose:this.dispose,on:t.on,off:t.off,once:t.once,trigger:t.trigger,transitionTo:(e,n)=>N(bR,t).transitionTo(e,n),track:(e,...n)=>{if(N(wR,t)&&"function"==typeof N(wR,t).track)return N(wR,t).track(e,...n)},seekToPlacement:e=>N(pR,t).seekToPlacement(e),get currentTime(){return N(pR,t).currentTime},set currentTime(e){N(pR,t).currentTime=e},get buffered(){return N(pR,t).buffered},get options(){return N(mR,t)},get containerWidth(){return N(TR,t)?N(TR,t).containerWidth:0},get containerHeight(){return N(TR,t)?N(TR,t).containerHeight:0},get playbackRate(){return N(pR,t).playbackRate},set playbackRate(e){N(pR,t).playbackRate=e},get paused(){return!!N(pR,t)&&!0===N(pR,t).paused},get muted(){return!!N(kR,t)&&N(kR,t).muted},set muted(e){N(kR,t)&&(N(kR,t).muted=e)},get volume(){return N(kR,t)?N(kR,t).volume:1},set volume(e){N(kR,t)&&(N(kR,t).volume=e)},get qoe(){return N(_R,t)?N(_R,t).publicAPI:void 0},get utils(){return QP},get version(){return YP},loadDebugOverlay:(...e)=>M(LR,t,HR).call(t,...e)}}function XR(t){t&&(F(gR,this,t.canvas),F(fR,this,t.nodeRepository),F(pR,this,t.timeline),F(kR,this,t.audioAdapter||t.audioPlaybackManager),F(wR,this,t.tracker),F(xR,this,t.parsingManager),F(_R,this,t.qoe),F(yR,this,t.renderAdapter||t.renderer),F(bR,this,t.transitionManager),F(TR,this,t.containerSize))}class YR{constructor({target:t,props:e}){if(!t)throw new Error("`options.target` is required");yo(this.#_t,e,!0),this.#_t.v.EkoPlayer=zR;const n=t.hasChildNodes()?ua:ca;this.#It=n(Rd,{target:t,props:this.#_t.v})}#It;#_t=Mi(vo(Io({})),"EkoGallery.#props");destroy(t){if(this.#It)return pa(this.#It,t)}get props(){return Bs(this.#_t)}}const QR=u("gallery-react");const JR=e.forwardRef(((t,n)=>{const{config:i,variantId:r,debug:o,ssrHtml:s,activeItem:a={index:0,step:0},forceMobile:l,videoAspectRatio:c,theme:u,loadAnalytics:d=!0,onEvent:h=()=>{}}=t,f=e.useRef(null),p=e.useRef({}),m=function(t){return void 0!==t}(i),v=e.useRef(a),g=e.useRef(s);p.current.initEventSent||(h("galleryinit"),p.current.initEventSent=!0);const y=e.useCallback((t=>{p.current.state=t,t.activeItemIndex===v.current.index&&t.activeModuleIndex===v.current.step||h("activeitemchanged",{index:t.activeItemIndex,step:t.activeModuleIndex})}),[]),b=e.useCallback((t=>{p.current.API=t,0===v.current.index&&0===v.current.step||t.selectItemAndStep(v.current.index,v.current.step),p.current.unsubscribe&&p.current.unsubscribe(),p.current.unsubscribe=t.subscribe(y)}),[]),k=e.useCallback(((t,e)=>{h(t,e)}),[h]);return e.useEffect((()=>(QR.setDataStorage("gallery-react",{config:i}),window.eko=window.eko||{},window.eko.config=i,window.eko.gallery={version:"devops/4.0.18"},()=>{window.eko.config=void 0})),[i]),e.useImperativeHandle(n,(()=>({prev:()=>{var t;null===(t=p.current.API)||void 0===t||t.prev()},next:()=>{var t;null===(t=p.current.API)||void 0===t||t.next()}}))),e.useEffect((()=>{if(null==f||!f.current)return;const t=f.current;return p.current.app=new YR({target:t,props:{config:i,forceMobile:l,videoAspectRatio:c,theme:u,loadAnalytics:d,variant:r,onGalleryReady:b,onEvent:k}}),()=>{var t;null===(t=p.current.app)||void 0===t||t.destroy()}}),[]),e.useEffect((()=>{p.current.app&&(p.current.app.props.config=i,v.current={index:0,step:0})}),[i]),e.useEffect((()=>{p.current.app&&(p.current.app.props.variant=r)}),[r]),e.useEffect((()=>{p.current.app&&(p.current.app.props.debug=o,p.current.app.props.forceMobile=l,p.current.app.props.videoAspectRatio=c,p.current.app.props.theme=u,p.current.app.props.loadAnalytics=d,p.current.app.props.onEvent=k)}),[o,l,c,u,d,k]),e.useEffect((()=>{v.current=a,p.current.state&&(p.current.state.activeItemIndex===a.index&&p.current.state.activeModuleIndex===a.step||p.current.API.selectItemAndStep(a.index,a.step))}),[a]),m?e.createElement("div",R({style:{position:"relative",width:"100%",height:"100%"},ref:f},g.current?{dangerouslySetInnerHTML:{__html:g.current}}:{})):t.children}));JR.propTypes={className:It.string,config:It.object,variantId:It.string,onEvent:It.func,ssrHtml:It.string,videoAspectRatio:It.string,theme:It.string,debug:It.bool,activeItem:It.shape({index:It.number,step:It.number}),forceMobile:It.bool,loadAnalytics:It.bool,children:It.node},JR.displayName="EkoGallerySvelte";const ZR=n("v2"),tD=n("v1"),eD="undefined"!=typeof self&&self||"undefined"!=typeof window&&window||"undefined"!=typeof global&&global||{},nD=eD&&eD.performance,iD=nD&&"function"==typeof nD.now?()=>nD.now():()=>Date.now(),rD=Object.freeze({NODE_ADD:"node:add",NODE_CHILDREN_CHANGED:"node:childrenchanged",NODE_LOADED:"node:loaded",NODE_LOAD_ERROR:"node:loaderror",PLACEMENT_ADDED:"placement:added",RENDER_PLACEMENT_ADDED:"renderplacement:added",TIMELINE_TIME_UPDATE:"timeline:timeupdate",TIMELINE_STATE_CHANGE:"statechange",TIMELINE_SEEKING:"seeking",TIMELINE_SEEKED:"seeked",TIMELINE_RESET:"timeline:reset",TIMELINE_PLAYER_STATE:"player:state",TIMELINE_CUEPOINT:"cuepoint",VISUAL_FRAMES_AVAILABLE:"visualframesavailable",TRACK_BUFFER_UPDATE:"track:bufferupdate",TRACK_READY:"track:ready",TRACK_UNDERFLOW:"track:underflow",CLOCK_TICK:"tick",DECODE_READY:"decode:ready",DECODE_ERROR:"decode:error",DECODER_AUDIO:"decoder:audio",DECODER_FRAME:"decoder:frame",DECODER_INIT:"decoder:init",DECODER_ERROR:"decoder:error",QOE_SCORE:"qoescore",QOE_STATUS:"qoestatus",CONTAINER_RESIZE:"containerresize",CANVAS_WEBGL_CONTEXT_LOST:"canvas.webglcontextlost",CANVAS_WEBGL_CONTEXT_RESTORED:"canvas.webglcontextrestored"}),oD=["ui-monospace,","SFMono-Regular,","Menlo,","Monaco,","Consolas,",'"Liberation Mono",','"Courier New",',"monospace"].join(" "),sD=`11px ${oD}`,aD=`12px ${oD}`;function lD(t){return"number"==typeof t&&Number.isFinite(t)}function cD(t){return lD(t)&&t>0}function uD(t){return lD(t)?Math.min(1,Math.max(0,t)):0}function dD(t,e=3){return lD(t)?t.toFixed(e):String(t)}function hD(t,e){const n=Number(t),i=Number(e);return!Number.isFinite(n)||!Number.isFinite(i)||n<=0||i<=0?"n/a":`${Math.round(n)}x${Math.round(i)}`}var fD=new WeakMap,pD=new WeakMap,mD=new WeakMap,vD=new WeakMap,gD=new WeakMap,yD=new WeakMap,bD=new WeakMap,kD=new WeakSet;class wD{constructor({width:t=220,height:e=48,windowMs:n=6e4,maxValue:i=60,autoScale:r=!1,formatValue:o}={}){O(this,kD),C(this,fD,void 0),C(this,pD,void 0),C(this,mD,[]),C(this,vD,void 0),C(this,gD,void 0),C(this,yD,void 0),C(this,bD,void 0);const s=null==eD?void 0:eD.document;if(!s||"function"!=typeof s.createElement)throw new Error("Debug overlay graph requires document.createElement.");F(fD,this,s.createElement("canvas")),N(fD,this).width=t,N(fD,this).height=e,N(fD,this).style.width=`${t}px`,N(fD,this).style.height=`${e}px`,N(fD,this).style.borderRadius="6px",N(fD,this).style.background="#111",F(pD,this,N(fD,this).getContext("2d")),F(vD,this,n),F(gD,this,i),F(yD,this,!!r),F(bD,this,"function"==typeof o?o:null)}get element(){return N(fD,this)}push(t,e){if(N(fD,this)&&N(pD,this)&&Number.isFinite(t)&&Number.isFinite(e)){for(N(mD,this).push({t:e,v:t});N(mD,this).length&&e-N(mD,this)[0].t>N(vD,this);)N(mD,this).shift();M(kD,this,xD).call(this)}}dispose(){F(mD,this,[]),F(pD,this,null),F(fD,this,null)}}function xD(){const t=N(pD,this),e=N(fD,this);if(!t||!e)return;const n=e.width,i=e.height;if(!n||!i)return;if(t.clearRect(0,0,n,i),t.fillStyle="#111",t.fillRect(0,0,n,i),!N(mD,this).length)return;const r=N(mD,this)[0].t;if(!(N(mD,this)[N(mD,this).length-1].t>r))return;const o=N(yD,this)?N(mD,this).reduce(((t,e)=>e.v>t?e.v:t),0):N(gD,this),s=o>0?o:N(gD,this);t.strokeStyle="#0f0",t.lineWidth=2,t.beginPath();for(let e=0;e<N(mD,this).length;e+=1){const o=N(mD,this)[e],a=(o.t-r)/N(vD,this)*n,l=i-(s>0?Math.min(1,Math.max(0,o.v/s)):0)*i;0===e?t.moveTo(a,l):t.lineTo(a,l)}t.stroke();const a=N(mD,this).length?N(mD,this)[N(mD,this).length-1]:null,l=Number.isFinite(null==a?void 0:a.v)?a.v:null;if(null===l)return;const c=N(bD,this)?N(bD,this).call(this,l):l.toFixed(1);if("string"!=typeof c||!c)return;t.font=sD,t.textAlign="right",t.textBaseline="top";const u=t.measureText(c),d=Math.ceil(u.width)+8,h=n-d-2;t.fillStyle="rgba(0,0,0,0.55)",t.fillRect(h,2,d,14),t.fillStyle="#fff",t.fillText(c,n-2-4,4)}const _D=new Intl.NumberFormat("en-US");function ID(t,e){const n=(null==t?void 0:t.trackId)||"",i=(null==e?void 0:e.trackId)||"";if(n!==i)return n<i?-1:1;const r=(null==t?void 0:t.nodeId)||"",o=(null==e?void 0:e.nodeId)||"";if(r!==o)return r<o?-1:1;const s=(null==t?void 0:t.segmentId)||"",a=(null==e?void 0:e.segmentId)||"";return s!==a?s<a?-1:1:("number"==typeof(null==t?void 0:t.presentationTime)?t.presentationTime:0)-("number"==typeof(null==e?void 0:e.presentationTime)?e.presentationTime:0)}function TD(t,e){for(t.push(e);t.length&&e-t[0]>1e3;)t.shift();if(t.length<2)return 0;const n=t[t.length-1]-t[0];return n<=0?0:1e3*(t.length-1)/n}function ED(t,e){if("function"!=typeof t||!e)return;const n=t(e.nodeId),i=null==n?void 0:n.tracks;if(!Array.isArray(i))return;const r=i.find((t=>(null==t?void 0:t.id)===e.trackId)),o=null==r?void 0:r.segments;return Array.isArray(o)?o.find((t=>(null==t?void 0:t.id)===e.segmentId)):void 0}function SD(t,e){var n;const i=ED(t,e);return(null==i?void 0:i.abrDecision)||(null==i||null===(n=i.chosenRepresentation)||void 0===n?void 0:n.abrDecision)}function MD(t){const e=Number(t);return!Number.isFinite(e)||e<=0?"n/a":`${_D.format(Math.round(e))}kbps`}function AD(t){const e=Number(t);return!Number.isFinite(e)||e<=0?"n/a":`${_D.format(Math.round(e/1e3))}kbps`}function ND(t,e=3){const n=Number(t);return Number.isFinite(n)?n.toLocaleString("en-US",{minimumFractionDigits:e,maximumFractionDigits:e}):String(t)}function CD(t,e){var n;if("function"!=typeof t||!e)return;const i=t(e.nodeId),r=null==i||null===(n=i.manifestRef)||void 0===n?void 0:n.encodeProfile;return"string"==typeof r&&r?r:void 0}function FD(t,e){if("function"!=typeof t||!e)return;const n=t(e.nodeId);return!0===(null==n?void 0:n.imageFallbackActive)?"image":void 0}function OD(t,e){const n=function(t){if(!t)return;const e=[[t.displayWidth,t.displayHeight],[t.codedWidth,t.codedHeight],[t.videoWidth,t.videoHeight],[t.naturalWidth,t.naturalHeight],[t.width,t.height]];for(let t=0;t<e.length;t+=1){const[n,i]=e[t],r=Number(n),o=Number(i);if(Number.isFinite(r)&&Number.isFinite(o)&&r>0&&o>0)return{width:r,height:o}}}(null==e?void 0:e.frame)||{},i=Number.isFinite(null==e?void 0:e.width)?e.width:n.width,r=Number.isFinite(null==e?void 0:e.height)?e.height:n.height,o=function(t,e,n){return null===(n=ED(t,e))||void 0===n?void 0:n.chosenRepresentation}(t,e);if(!o)return lD(i)&&lD(r)?{width:i,height:r}:null;const s=o.width||o.codedWidth||i,a=o.height||o.codedHeight||r;return{id:o.id,codecs:o.codecs,mime:o.mime,bandwidth:o.bandwidth,width:s,height:a}}function PD(t){const e=Number(t);if(Number.isFinite(e)&&!(e<=0))return e/1e3}function RD(t,e){const n=Number(null==t?void 0:t.bandwidthKbps),i=Number(null==e?void 0:e.bandwidthKbps),r=Number.isFinite(n)&&n>0,o=Number.isFinite(i)&&i>0;if(r&&o&&n!==i)return n-i;if(r!==o)return r?-1:1;const s=(null==t?void 0:t.id)||"",a=(null==e?void 0:e.id)||"";return s===a?0:s<a?-1:1}function DD(t,e,n,i){const r=[];if(Array.isArray(null==i?void 0:i.availableRepresentations)&&i.availableRepresentations.forEach((t=>{const e="string"==typeof(null==t?void 0:t.id)&&t.id?t.id:void 0;if(!e)return;const n=Number(null==t?void 0:t.bandwidthKbps);r.push({id:e,bandwidthKbps:Number.isFinite(n)&&n>0?n:void 0})})),!r.length){const n=ED(t,e);(Array.isArray(null==n?void 0:n.representations)?n.representations:[]).forEach((t=>{const e="string"==typeof(null==t?void 0:t.id)&&t.id?t.id:void 0;e&&r.push({id:e,bandwidthKbps:PD(null==t?void 0:t.bandwidth)})}))}!r.length&&(null==n?void 0:n.id)&&r.push({id:n.id,bandwidthKbps:PD(n.bandwidth)});const o=new Map;return r.forEach((t=>{const e=null==t?void 0:t.id;e&&!o.has(e)&&o.set(e,t)})),Array.from(o.values()).sort(RD)}const BD=1024,LD=1048576,zD=1073741824;function WD(t){return lD(t)?t>=1e3?`${dD(t/1e3,1)} Mbps`:`${dD(t,1)} kbps`:"n/a"}function jD({downloadSpeed:t,downloadEvents:e}={}){const n=eD.document,i="function"==typeof(null==t?void 0:t.getKbps)?t.getKbps():void 0;let r=0;const{metricsRow:o,setInitial:s,setTotal:a}=function(t){const e=t.createElement("div");e.style.display="grid",e.style.gridTemplateColumns="1fr 1fr",e.style.gap="8px",e.style.font=aD;const n=t.createElement("div"),i=t.createElement("div");return e.appendChild(n),e.appendChild(i),{metricsRow:e,setInitial:t=>{n.textContent=`initial=${WD(t)}`},setTotal:t=>{var e;i.textContent="total="+(lD(e=t)?e<BD?`${Math.round(e)} B`:e<LD?`${dD(e/BD,1)} KB`:e<zD?`${dD(e/LD,2)} MB`:`${dD(e/zD,2)} GB`:"n/a")}}}(n),{graphWrap:l,speedGraph:c}=function(t,e){const n=t.createElement("div");n.style.marginTop="10px";const i=t.createElement("div");i.textContent="download speed",i.style.font=sD,i.style.opacity="0.9";const r=lD(e)&&e>0?e:1,o=new wD({autoScale:!0,maxValue:r,formatValue:WD});return n.appendChild(i),n.appendChild(o.element),{graphWrap:n,speedGraph:o}}(n,i);s(i),a(r);const u=t=>{const e=Number(null==t?void 0:t.kbps);Number.isFinite(e)&&c.push(e,null!=eD&&eD.performance&&"function"==typeof eD.performance.now?eD.performance.now():Date.now())},d=t=>{const e=Number(null==t?void 0:t.bytes);Number.isFinite(e)&&(r+=e,a(r))};return t&&"function"==typeof t.on&&t.on("download:speed",u),e&&"function"==typeof e.on&&e.on("download:sample",d),{id:"downloads",title:"Downloads",render:t=>{t.appendChild(o),t.appendChild(l)},dispose:()=>{t&&"function"==typeof t.off&&t.off("download:speed",u),e&&"function"==typeof e.off&&e.off("download:sample",d),c.dispose()}}}function $D(t){return lD(t)?dD(t,3):"n/a"}function UD(){return null!=eD&&eD.performance&&"function"==typeof eD.performance.now?eD.performance.now():Date.now()}var qD,VD,GD,HD={exports:{}},KD=(qD||(qD=1,VD=HD,function(t,e){VD.exports?VD.exports=e():t.log=e()}(HD.exports,(function(){var t=function(){},e="undefined",n=typeof window!==e&&typeof window.navigator!==e&&/Trident\/|MSIE /.test(window.navigator.userAgent),i=["trace","debug","info","warn","error"],r={},o=null;function s(t,e){var n=t[e];if("function"==typeof n.bind)return n.bind(t);try{return Function.prototype.bind.call(n,t)}catch(e){return function(){return Function.prototype.apply.apply(n,[t,arguments])}}}function a(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function l(){for(var n=this.getLevel(),r=0;r<i.length;r++){var o=i[r];this[o]=r<n?t:this.methodFactory(o,n,this.name)}if(this.log=this.debug,typeof console===e&&n<this.levels.SILENT)return"No console available for logging"}function c(t){return function(){typeof console!==e&&(l.call(this),this[t].apply(this,arguments))}}function u(i,r,o){return"debug"===(l=i)&&(l="log"),typeof console!==e&&("trace"===l&&n?a:void 0!==console[l]?s(console,l):void 0!==console.log?s(console,"log"):t)||c.apply(this,arguments);var l}function d(t,n){var s,a,c,d=this,h="loglevel";function f(){var t;if(typeof window!==e&&h){try{t=window.localStorage[h]}catch(t){}if(typeof t===e)try{var n=window.document.cookie,i=encodeURIComponent(h),r=n.indexOf(i+"=");-1!==r&&(t=/^([^;]+)/.exec(n.slice(r+i.length+1))[1])}catch(t){}return void 0===d.levels[t]&&(t=void 0),t}}function p(t){var e=t;if("string"==typeof e&&void 0!==d.levels[e.toUpperCase()]&&(e=d.levels[e.toUpperCase()]),"number"==typeof e&&e>=0&&e<=d.levels.SILENT)return e;throw new TypeError("log.setLevel() called with invalid level: "+t)}"string"==typeof t?h+=":"+t:"symbol"==typeof t&&(h=void 0),d.name=t,d.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},d.methodFactory=n||u,d.getLevel=function(){return null!=c?c:null!=a?a:s},d.setLevel=function(t,n){return c=p(t),!1!==n&&function(t){var n=(i[t]||"silent").toUpperCase();if(typeof window!==e&&h){try{return void(window.localStorage[h]=n)}catch(t){}try{window.document.cookie=encodeURIComponent(h)+"="+n+";"}catch(t){}}}(c),l.call(d)},d.setDefaultLevel=function(t){a=p(t),f()||d.setLevel(t,!1)},d.resetLevel=function(){c=null,function(){if(typeof window!==e&&h){try{window.localStorage.removeItem(h)}catch(t){}try{window.document.cookie=encodeURIComponent(h)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(t){}}}(),l.call(d)},d.enableAll=function(t){d.setLevel(d.levels.TRACE,t)},d.disableAll=function(t){d.setLevel(d.levels.SILENT,t)},d.rebuild=function(){if(o!==d&&(s=p(o.getLevel())),l.call(d),o===d)for(var t in r)r[t].rebuild()},s=p(o?o.getLevel():"WARN");var m=f();null!=m&&(c=p(m)),l.call(d)}(o=new d).getLogger=function(t){if("symbol"!=typeof t&&"string"!=typeof t||""===t)throw new TypeError("You must supply a name when creating a logger.");var e=r[t];return e||(e=r[t]=new d(t,o.methodFactory)),e};var h=typeof window!==e?window.log:void 0;return o.noConflict=function(){return typeof window!==e&&window.log===o&&(window.log=h),o},o.getLoggers=function(){return r},o.default=o,o}))),HD.exports),XD=(GD=KD)&&GD.__esModule&&Object.prototype.hasOwnProperty.call(GD,"default")?GD.default:GD;const YD=()=>{},QD=["trace","log","debug","info","warn","error","getLevel","setLevel"],JD=["trace","debug","info","warn","error","silent"],ZD={TRACE:"color: white; background-color: magenta;",DEBUG:"color: black; background-color: turquoise;",INFO:"color: white; background-color: green;",WARN:"color: black; background-color: yellow;",ERROR:"color: white; background-color: red;"},tB="undefined"!=typeof self&&self||"undefined"!=typeof window&&window||"undefined"!=typeof global&&global;let eB={level:"trace",appName:""},nB=[];const iB="object"==typeof tB&&tB.performance&&"function"==typeof tB.performance.now?tB.performance.now.bind(tB.performance):Date.now.bind(Date),rB=t=>t&&"string"==typeof t?t.toLowerCase().trim():"",oB=(()=>{try{const t=new URLSearchParams(document.location.search),e=[].concat(t.getAll("log")).concat(t.getAll("ekolog")).concat(t.getAll("ekologger")).join(",").split(",");if(0===e.length)return{};let n={};return e.forEach((t=>{const[e,i]=t.split(":");n[rB(e)]=rB(i)||"trace"})),n}catch(t){return{}}})(),sB=(t,e="")=>{const n=rB(t),i=XD.getLogger(n);if(i.__ekologger)return i.__ekologger;e||oB[n]||oB["*"]||(i.__noExplicitLevel=!0);const r=i.methodFactory;i.methodFactory=(e,n,i)=>{const o=r(e,n,i),s=e.toUpperCase();return(...e)=>{o(`[${((t,e=3)=>(iB()/1e3).toFixed(e))()}] %c[${s}] ${eB.appName?`[${eB.appName}] `:""}[${t}]`,ZD[s],...e)}},e=oB[n]||oB["*"]||e||eB.level,i.setLevel(e,!1);const o=(...t)=>i.log(...t);return QD.forEach((t=>{o[t]=(...e)=>(nB.forEach((n=>{n[t](...e)})),i[t](...e))})),i.__ekologger=o,o};sB.setDefaults=({appName:t="",level:e})=>{t&&"string"==typeof t&&(eB.appName=t),(e=rB(e))&&JD.includes(e)&&(eB.level=e,Object.values(XD.getLoggers()).filter((t=>t.__noExplicitLevel)).forEach((t=>t.setLevel(eB.level,!1))))},sB.installDriver=t=>{const e={...QD.reduce(((e,n)=>(e[n]="function"==typeof(null==t?void 0:t[n])?t[n]:YD,e)),{})};nB.push(e)},sB("download","warn");Object.freeze(Object.entries({disabledTracks:{default:["audio"],targetPaths:["NodeRepository.disabledTracks"]},muted:{default:!1,targetPaths:["AudioPlaybackManager.muted"]},volume:{default:1,targetPaths:["AudioPlaybackManager.volume"]},encodeProfile:{default:null,targetPaths:["AssetsDeliveryService.profile"]},forceVideoCodec:{default:void 0,targetPaths:["NodeRepository.forceVideoCodec"]},forceImageFallback:{default:!1,targetPaths:["NodeRepository.forceImageFallback"]},mediaHostRewriteMap:{default:{"storageeko.s3.amazonaws.com":"https://storage.eko.com","studioz-post.s3.amazonaws.com":"https://studioz-post.eko.com"},targetPaths:["NodeRepository.mediaHostRewriteMap"]},playbackRate:{default:1,targetPaths:["PlaybackClock.playbackRate"]},initialKbps:{default:"auto",targetPaths:["DownloadSpeed.initialKbps"]},defaultRenderParams:{default:void 0,targetPaths:["Renderer.defaultRenderParams"]},maxBufferedVideoFrames:{default:24,targetPaths:["Timeline.maxBufferedVideoFrames"]},waitingBufferAheadSeconds:{default:3,targetPaths:["Timeline.waitingBufferAheadSeconds"]},abrStrategy:{default:"auto",targetPaths:["ABRSelector.abrStrategy"]},segmentEvictionEnabled:{default:!0,targetPaths:["SegmentEvictionCoordinator.enabled"]},segmentEvictionBufferBehindSeconds:{default:30,targetPaths:["SegmentEvictionCoordinator.bufferBehindSeconds"]},segmentEvictionBufferAheadSeconds:{default:30,targetPaths:["SegmentEvictionCoordinator.bufferAheadSeconds"]},segmentEvictionMaxRetainedBytes:{default:52428800,targetPaths:["SegmentEvictionCoordinator.maxRetainedBytes"]},autoplay:{default:!0,targetPaths:["Idle.autoplay"]},autoPauseOnVisibilityChange:{default:!0,targetPaths:["DocumentVisibility.autoPauseOnVisibilityChange"]},autoResumeOnVisibilityChange:{default:!0,targetPaths:["DocumentVisibility.autoResumeOnVisibilityChange"]},trackingEnabled:{default:!0,targetPaths:["Tracker.trackingEnabled"]}}).reduce(((t,[e,n])=>(Object.prototype.hasOwnProperty.call(n,"default")&&(t[e]=n.default),t)),{})),sB("config","warn");const aB=18,lB="rgba(83,170,255,0.9)",cB={pending:"rgba(255,255,255,0.55)",resolving:"rgba(255,200,87,0.9)",ready:"rgba(102,214,141,0.9)",failed:"rgba(255,92,92,0.9)",missing:"rgba(160,160,160,0.9)"},uB={border:"1px solid rgba(102,214,141,0.28)",background:"rgba(102,214,141,0.16)",color:"rgba(167,240,185,1)"},dB={border:"1px solid rgba(255,200,87,0.3)",background:"rgba(255,200,87,0.16)",color:"rgba(255,227,171,1)"},hB="noop",fB="seek",pB="copy-node-id",mB="copy-node-context",vB="copy-source-video-url",gB=[{value:hB,label:"NOOP"},{value:fB,label:"Seek"},{value:pB,label:"Copy Node ID"},{value:mB,label:"Copy Node Context"},{value:vB,label:"Copy Source Video URL"}],yB=["type","url","mimeType","assetId","assetRevision","encodeProfile","duration","width","height"],bB=["id","url","mime","codecs","baseCodec","bandwidth","timescale","sizeBytes","width","height","frameRate","segStart","segDuration"];function kB(t,e){if(cD(null==t?void 0:t.nodeDurationOverride))return t.nodeDurationOverride;if("function"!=typeof e)return null;const n=e(null==t?void 0:t.nodeId),i=null==n?void 0:n.duration;return cD(i)?i:null}function wB(t){const e=Number(null==t?void 0:t.duration);return e===Number.POSITIVE_INFINITY?Number.POSITIVE_INFINITY:cD(e)?e:null}function xB(t){return t===Number.POSITIVE_INFINITY}function _B(t){return lD(t)?String(t):""}function IB(t,e=[]){return e.reduce(((e,n)=>(void 0!==(null==t?void 0:t[n])&&(e[n]=t[n]),e)),{})}function TB(t){const e=gB.find((e=>e.value===t));return e?e.value:hB}function EB(t){return t?"string"==typeof(null==t?void 0:t.message)&&t.message?t.message:"string"==typeof t&&t?t:null:null}function SB(t){return t&&lD(t.start)&&lD(t.end)?{start:t.start,end:t.end}:null}function MB(t){return t?IB(t,bB):null}function AB(t,e){const n="string"==typeof(null==t?void 0:t.nodeId)?t.nodeId:"",i="function"==typeof e&&n?e(n):null,r=function(t){return t?"string"==typeof t?t:IB(t,yB):null}(null==i?void 0:i.manifestRef),o=r&&"object"==typeof r?r.assetId:void 0,s={placement:{placementId:"string"==typeof(null==t?void 0:t.placementId)?t.placementId:void 0,nodeId:n||void 0,offset:lD(null==t?void 0:t.offset)?t.offset:void 0,duration:kB(t,e),offsetPending:!0===(null==t?void 0:t.offsetPending),nodeOffsetOverride:lD(null==t?void 0:t.nodeOffsetOverride)?t.nodeOffsetOverride:void 0,nodeDurationOverride:lD(null==t?void 0:t.nodeDurationOverride)?t.nodeDurationOverride:void 0},node:i?{id:i.id||n||void 0,state:"string"==typeof i.state?i.state:void 0,duration:lD(i.duration)?i.duration:null,mainTrackId:"string"==typeof i.mainTrackId?i.mainTrackId:void 0,assetId:"string"==typeof o?o:void 0,manifestRef:r,buffered:SB(i.buffered),imageFallbackActive:!0===i.imageFallbackActive,retainedByteLength:lD(i.retainedByteLength)?i.retainedByteLength:0,children:Array.isArray(i.children)?i.children.map((t=>({nodeId:"string"==typeof(null==t?void 0:t.nodeId)?t.nodeId:void 0,weight:lD(null==t?void 0:t.weight)?t.weight:void 0}))):[],tracks:Array.isArray(i.tracks)?i.tracks.map((t=>function(t){return t?{id:t.id,type:t.type,offset:lD(t.offset)?t.offset:0,duration:lD(t.duration)?t.duration:null,endTime:lD(t.endTime)?t.endTime:null,buffered:SB(t.buffered),segments:Array.isArray(t.segments)?t.segments.map((t=>function(t){if(!t)return null;const e={id:t.id,isInit:!0===t.isInit,offset:lD(t.offset)?t.offset:0,duration:lD(t.duration)?t.duration:0,bufferedRatio:lD(t.bufferedRatio)?t.bufferedRatio:0,retainedByteLength:lD(t.retainedByteLength)?t.retainedByteLength:0,isLoaded:!0===t.isLoaded,loadAttempts:lD(Number(t.loadAttempts))?Number(t.loadAttempts):0,appliedFilters:Array.isArray(t.appliedFilters)?t.appliedFilters.slice():[],chosenRepresentation:MB(t.chosenRepresentation),representations:Array.isArray(t.representations)?t.representations.map((t=>MB(t))).filter(Boolean):[]},n=EB(t.loadError);return n&&(e.loadError=n),e}(t))).filter(Boolean):[]}:null}(t))).filter(Boolean):[]}:null};if(i){const t=Number(i.manifestLoadAttempts);lD(t)&&t>0&&(s.node.manifestLoadAttempts=t);const e=EB(i.manifestLoadError);e&&(s.node.manifestLoadError=e);const n=EB(i.error);n&&(s.node.error=n)}return s}function NB(t=[],e=[],n){const i=function(t=[],e){return Array.isArray(t)&&t.length?t.map((t=>t?["string"==typeof t.placementId?t.placementId:"","string"==typeof t.nodeId?t.nodeId:"",_B(t.offset),_B(kB(t,e)),!0===t.offsetPending?"1":"0",_B(t.nodeOffsetOverride),_B(t.nodeDurationOverride)].join("|"):"null")).join(";"):""}(t,n);return`${i}::${function(t=[]){return Array.isArray(t)&&t.length?t.map((t=>{if(!t)return"null";const e="string"==typeof t.renderPlacementId?t.renderPlacementId:"",n="string"==typeof t.type?t.type:"",i=_B(t.offset),r=wB(t);return[e,n,i,r===Number.POSITIVE_INFINITY?"inf":_B(r),!0===t.offsetPending?"1":"0"].join("|")})).join(";"):""}(e)}`}function CB(t=[],e){if(!Array.isArray(t)||!t.length)return!1;for(let n=0;n<t.length;n+=1){const i=t[n];if(!i||!0===i.offsetPending)continue;if(cD(i.nodeDurationOverride))continue;if("function"!=typeof e)return!0;const r=e(i.nodeId);if(!cD(null==r?void 0:r.duration))return!0}return!1}function FB(t=[]){return!(!Array.isArray(t)||!t.length)&&t.some((t=>!0===(null==t?void 0:t.offsetPending)))}function OB(t=[],e=[]){return FB(t)||FB(e)}function PB(t,e=[],n){if(!t||!Array.isArray(e)||!e.length)return;const i=t.querySelector('[data-segment-boundary="true"]');e.forEach((e=>{if(!e||!lD(e.startRatio)||!lD(e.endRatio))return;const r=uD(e.startRatio),o=uD(e.endRatio);if(!(o>r))return;const s=eD.document.createElement("div");s.dataset.bufferedSegment="true",s.style.position="absolute",s.style.top="0",s.style.bottom="0",s.style.left=100*r+"%",s.style.width=100*(o-r)+"%",s.style.background=n,s.style.opacity="0.8",s.style.pointerEvents="none",s.style.zIndex="0",i?t.insertBefore(s,i):t.appendChild(s)}))}function RB(t,e){if(!t)return;const n=t.querySelector('[data-active-highlight="true"]');if(!e)return void(n&&n.remove());if(n)return;const i=eD.document.createElement("div");i.dataset.activeHighlight="true",i.style.position="absolute",i.style.top="0",i.style.bottom="0",i.style.left="0",i.style.right="0",i.style.border="1px solid rgba(255,255,255,0.9)",i.style.borderRadius="4px",i.style.pointerEvents="none",i.style.zIndex="1",t.appendChild(i)}function DB({timeline:t,getNode:e,assetsDeliveryServiceUrl:n}={}){const i=null==eD?void 0:eD.document;if(!i||"function"!=typeof i.createElement)throw new Error("Debug overlay timeline tab requires document.createElement.");const r=i.createElement("div");r.style.display="flex",r.style.flexDirection="column",r.style.gap="8px",r.style.position="relative";const o=i.createElement("div");o.style.position="absolute",o.style.display="none",o.style.pointerEvents="none",o.style.zIndex="2",o.style.padding="4px 6px",o.style.borderRadius="6px",o.style.background="rgba(0,0,0,0.8)",o.style.border="1px solid rgba(255,255,255,0.2)",o.style.color="#fff",o.style.font=sD,o.style.maxWidth="220px",o.style.whiteSpace="nowrap",o.style.overflow="hidden",o.style.textOverflow="ellipsis";const s=i.createElement("div");s.dataset.timelineHoverDetails="true",s.style.position="absolute",s.style.display="none",s.style.pointerEvents="none",s.style.zIndex="3",s.style.padding="6px 8px",s.style.borderRadius="8px",s.style.background="rgba(0,0,0,0.85)",s.style.border="1px solid rgba(255,255,255,0.25)",s.style.color="#fff",s.style.font=sD,s.style.maxWidth="260px",s.style.flexDirection="column",s.style.gap="6px";const a=i.createElement("div");a.style.font=aD,a.style.opacity="0.95";const l=i.createElement("div");l.style.font=sD,l.style.opacity="0.7",l.style.textTransform="uppercase",l.style.marginTop="4px";const c=i.createElement("div");c.style.display="flex",c.style.flexDirection="column",c.style.gap="4px",s.appendChild(a),s.appendChild(l),s.appendChild(c);const u=i.createElement("div");u.style.display="flex",u.style.justifyContent="space-between",u.style.alignItems="center";const d=i.createElement("div");d.style.display="flex",d.style.alignItems="baseline",d.style.gap="10px";const h=i.createElement("div");h.style.font=aD,h.style.opacity="0.9";const f=i.createElement("div");f.style.font=sD,f.style.opacity="0.65",d.appendChild(h),d.appendChild(f);const p=i.createElement("label");p.style.display="inline-flex",p.style.alignItems="center",p.style.gap="6px",p.style.font=sD;const m=i.createElement("span");m.textContent="Click action";const v=i.createElement("select");v.style.font=sD,v.style.background="rgba(255,255,255,0.08)",v.style.color="#fff",v.style.border="1px solid rgba(255,255,255,0.2)",v.style.borderRadius="4px",v.style.padding="2px 6px",v.style.minHeight="24px",v.style.cursor="pointer",gB.forEach((t=>{const e=i.createElement("option");e.value=t.value,e.textContent=t.label,v.appendChild(e)})),v.value=hB;const g=i.createElement("div");g.dataset.timelineCopyStatus="true",g.setAttribute("role","status"),g.setAttribute("aria-live","polite"),g.style.display="none",g.style.position="absolute",g.style.right="0",g.style.bottom="calc(100% + 4px)",g.style.alignItems="center",g.style.padding="1px 6px",g.style.borderRadius="999px",g.style.border=uB.border,g.style.background=uB.background,g.style.color=uB.color,g.style.font=sD,g.style.whiteSpace="nowrap",g.style.pointerEvents="none",g.style.zIndex="4",g.style.opacity="0",g.style.transform="translateY(2px)",g.style.transition=["opacity 180ms ease","transform 180ms ease"].join(", "),p.appendChild(m),p.appendChild(v);const y=i.createElement("div");y.style.display="flex",y.style.alignItems="center",y.style.position="relative",y.style.flexShrink="0",y.appendChild(g),y.appendChild(p),u.appendChild(d),u.appendChild(y);const b=i.createElement("div");function k(t,e,{alignTop:n=!1}={}){const r=i.createElement("div");r.style.display="grid",r.style.gridTemplateColumns="64px 1fr",r.style.alignItems=n?"start":"center",r.style.gap="8px";const o=i.createElement("div");o.textContent=t,o.style.font=sD,o.style.opacity="0.8",n&&(o.style.paddingTop="2px");const s=i.createElement("div");s.style.position="relative",s.style.borderRadius="6px",s.style.background="rgba(255,255,255,0.08)",s.style.overflow="hidden",e&&(s.dataset.timelineLane=e);const a=i.createElement("div");return a.style.position="absolute",a.style.top="0",a.style.bottom="0",a.style.width="2px",a.style.background="rgba(255,255,255,0.8)",s.appendChild(a),r.appendChild(o),r.appendChild(s),b.appendChild(r),{track:s,indicator:a}}b.style.display="grid",b.style.gridTemplateRows="auto auto",b.style.gap="8px",r.appendChild(u),r.appendChild(b),r.appendChild(o),r.appendChild(s);const w=k("Nodes","nodes",{alignTop:!0}),x=k("Render","render");let _=[],I=[],T=0,E=hB,S=1;const M=new Map,A=new Map,N=new Map,C=new Map;let F=new Set,O=null,P=!1,R="",D=!1,B=0,L=0,z=null,W=null,j=null;function $(t){for(;t.childNodes.length>1;)t.removeChild(t.lastChild)}function U(){z&&(clearTimeout(z),z=null)}function q(){W&&(((null==eD?void 0:eD.clearTimeout)||clearTimeout)(W),W=null)}function V(){j&&(((null==eD?void 0:eD.clearTimeout)||clearTimeout)(j),j=null)}function G(){g.style.display="none",g.style.opacity="0",g.style.transform="translateY(2px)",g.textContent=""}function H(){return!!D||!!t&&(Array.isArray(t.placements)||Array.isArray(t.renderPlacements))}function K(){if(!t)return!1;const e=Array.isArray(t.placements),n=Array.isArray(t.renderPlacements);if(!e&&!n)return!1;const i=e?t.placements:[],r=n?t.renderPlacements:[];return(i.length!==B||r.length!==L)&&(dt(i,r),!0)}function X(){if(!D)return!1;const t=NB(_,I,e);return t!==R&&(R=t,at(),ut(),!0)}function Y(){H()?z=function({shouldSchedule:t,isScheduled:e,intervalMs:n,onTick:i}){return e?null:setTimeout(i,n)}({shouldSchedule:!0,isScheduled:!!z,intervalMs:D?100:250,onTick:()=>{z=null,H()&&(K()||X()||Y())}}):U()}function Q(t,e){const n=e>0?T/e:0;t.style.left=100*uD(n)+"%",t.style.transform="translateX(-1px)"}function J(){o.style.display="none"}function Z(){q(),V(),G()}function tt(t,{tone:e="success"}={}){if(!t)return void Z();q(),V(),function(t="success"){const e=function(t="success"){return"warning"===t?dB:uB}(t);g.style.border=e.border,g.style.background=e.background,g.style.color=e.color}(e),g.textContent=t,g.style.display="inline-flex",g.style.opacity="0",g.style.transform="translateY(2px)","function"==typeof g.getBoundingClientRect&&g.getBoundingClientRect(),g.style.opacity="1",g.style.transform="translateY(0)";const n=(null==eD?void 0:eD.setTimeout)||setTimeout;W=n((()=>{W=null,function(){q(),V(),g.style.opacity="0",g.style.transform="translateY(-2px)";const t=(null==eD?void 0:eD.setTimeout)||setTimeout;j=t((()=>{j=null,G()}),180)}()}),1800)}function et(t,e){if(!t)return void J();o.textContent=t,o.style.display="block";const n=r.getBoundingClientRect(),i=o.getBoundingClientRect(),s=((null==e?void 0:e.clientX)||0)-n.left+12,a=((null==e?void 0:e.clientY)||0)-n.top+12,l=n.width-i.width-8,c=n.height-i.height-8,u=Math.max(8,Math.min(s,l)),d=Math.max(8,Math.min(a,c));o.style.left=`${u}px`,o.style.top=`${d}px`}function nt(){s.style.display="none"}function it(t,n){const o="function"==typeof e&&t?e(t):null,u=Array.isArray(null==o?void 0:o.children)?o.children:[];if(!u.length)return void nt();if(a.textContent=t,l.textContent="children",function(){for(;c.firstChild;)c.removeChild(c.firstChild)}(),u.forEach((t=>{t&&t.nodeId&&c.appendChild(function(t){const n=i.createElement("div");n.style.display="grid",n.style.gridTemplateColumns="10px 1fr auto auto",n.style.alignItems="center",n.style.gap="6px";const r="string"==typeof(null==t?void 0:t.nodeId)?t.nodeId:"",o=cD(null==t?void 0:t.weight)?t.weight:1,s=function(t){if(!t||"function"!=typeof e)return"missing";const n=e(t);if(!n)return"missing";const i="string"==typeof n.state?n.state.trim().toLowerCase():"";return"pending"===i||"resolving"===i||"ready"===i||"failed"===i?i:"pending"}(r);n.dataset.childId=r,n.dataset.childStatus=s;const a=i.createElement("span");a.dataset.statusIndicator=s,a.style.width="8px",a.style.height="8px",a.style.borderRadius="999px",a.style.background=cB[s]||cB.pending,a.style.display="inline-block";const l=i.createElement("span");l.textContent=r||"unknown",l.style.overflow="hidden",l.style.textOverflow="ellipsis",l.style.whiteSpace="nowrap";const c=i.createElement("span");c.textContent=`w=${dD(o,0)}`,c.style.opacity="0.8";const u=i.createElement("span");return u.textContent=s,u.style.opacity="0.75",n.appendChild(a),n.appendChild(l),n.appendChild(c),n.appendChild(u),n}(t))})),!c.childNodes.length)return void nt();s.style.display="flex";const d=r.getBoundingClientRect(),h=s.getBoundingClientRect(),f=((null==n?void 0:n.clientX)||0)-d.left+12,p=((null==n?void 0:n.clientY)||0)-d.top+12,m=d.width-h.width-8,v=d.height-h.height-8,g=Math.max(8,Math.min(f,m)),y=Math.max(8,Math.min(p,v));s.style.left=`${g}px`,s.style.top=`${y}px`}function rt(){const e=T;if(t&&"function"==typeof t.getPlacementsActiveAtTime){const n=t.getPlacementsActiveAtTime(e),i=new Set(n.map((t=>null==t?void 0:t.placementId)).filter((t=>"string"==typeof t&&t.length)));F.forEach((t=>{i.has(t)||RB(N.get(t),!1)})),i.forEach((t=>{F.has(t)||RB(N.get(t),!0)})),F=i}else w.track.querySelectorAll('[data-timeline-item="nodes"]').forEach((t=>{const n="true"===t.dataset.hasDuration,i=Number(t.dataset.start),r=Number(t.dataset.end);RB(t,n&&lD(e)&&e>=i&&e<r)}));if(t&&"function"==typeof t.getActiveRenderPlacement){const n=t.getActiveRenderPlacement(e),i=null==n?void 0:n.renderPlacementId;O&&O!==i&&RB(C.get(O),!1),i&&O!==i&&RB(C.get(i),!0),O=i||null}else x.track.querySelectorAll('[data-timeline-item="render"]').forEach((t=>{const n="true"===t.dataset.hasDuration,i=Number(t.dataset.start),r=Number(t.dataset.end);RB(t,n&&lD(e)&&e>=i&&e<r)}))}function ot(t){const n=kB(t,e);if(!cD(n)||"function"!=typeof e)return{boundaries:[],buffered:[]};const i=e(null==t?void 0:t.nodeId),r=function(t){const e=Array.isArray(null==t?void 0:t.tracks)?t.tracks:[];if(!e.length)return null;if(null!=t&&t.mainTrackId){const n=e.find((e=>(null==e?void 0:e.id)===t.mainTrackId));if(n)return n}return e.find((t=>Array.isArray(null==t?void 0:t.segments)&&t.segments.length))||null}(i);if(!r)return{boundaries:[],buffered:[]};const o=t=>{if(!t)return 0;const e=Number(null==t?void 0:t.bufferedRatio);if(Number.isFinite(e))return uD(e);const n=Number(null==t?void 0:t.retainedByteLength);if(!cD(n))return 0;const i=null==t?void 0:t.chosenRepresentation,r=cD(null==i?void 0:i.sizeBytes)?i.sizeBytes:null;return cD(r)?uD(n/r):1},s=Array.isArray(r.segments)?r.segments:[],a=lD(null==r?void 0:r.offset)?r.offset:0,l=lD(null==t?void 0:t.nodeOffsetOverride)?t.nodeOffsetOverride:0;if(!s.length){const t=null==i?void 0:i.buffered,e=lD(null==t?void 0:t.start)?t.start-l:0,r=lD(null==t?void 0:t.end)?t.end-l:0,o=Math.max(0,e),s=Math.min(n,r);return s>o?{boundaries:[],buffered:[{startRatio:o/n,endRatio:s/n}]}:{boundaries:[],buffered:[]}}if("image"===(null==r?void 0:r.type)){const t=s.find((t=>t&&!t.isInit))||s[0],e=t?o(t):0;return e>0?{boundaries:[],buffered:[{startRatio:0,endRatio:uD(e)}]}:{boundaries:[],buffered:[]}}return function(t,e,n,i,r){const o=[],s=[];let a=0;return t.forEach((t=>{if(null!=t&&t.isInit)return;lD(null==t?void 0:t.offset)&&(a=t.offset);const l=a;if(!lD(l))return;const c=lD(null==t?void 0:t.duration)?t.duration:0,u=n+l-i,d=n+(l+c)-i;u>0&&u<e&&o.push(u/e);const h="function"==typeof r?r(t):0;if(c>0&&d>0&&u<e&&h>0){const t=Math.max(0,u),n=Math.min(e,d);if(n>t){const i=t+(n-t)*uD(h);s.push({startRatio:t/e,endRatio:i/e})}}c>0&&(lD(null==t?void 0:t.offset)?a=t.offset+c:a+=c)})),{boundaries:o,buffered:s}}(s,n,a,l,o)}function st(){const t=Array.isArray(_)?_:[],e=new Map(t.map((t=>[null==t?void 0:t.placementId,t])));for(const[t,n]of N.entries()){if(!t)continue;const i=e.get(t);i&&(n.querySelectorAll('[data-buffered-segment="true"]').forEach((t=>t.remove())),PB(n,ot(i).buffered,lB))}}function at(){const t=new Set(_.map((t=>null==t?void 0:t.nodeId)).filter((t=>"string"==typeof t&&t.length)));t.forEach((t=>{if(A.has(t))return;const n="function"==typeof e?e(t):null;if(!n||"function"!=typeof n.on)return;const i=t=>function(t={}){if(!t||t.isInit)return;const e=null==t?void 0:t.nodeId,n=null==t?void 0:t.segmentId,i=Number(null==t?void 0:t.loaded),r=Number(null==t?void 0:t.total);if(!e||!n||!lD(i))return;const o=`${e}:${n}`,s=M.get(o)||{},a={loaded:Math.max(lD(s.loaded)?s.loaded:0,i),total:cD(r)?r:s.total};M.set(o,a),function(){if(P)return;P=!0;const t=null==eD?void 0:eD.requestAnimationFrame;"function"!=typeof t?((null==eD?void 0:eD.setTimeout)||setTimeout)((()=>{P=!1,st()}),0):t((()=>{P=!1,st()}))}()}(t);n.on("segment:chunk",i),A.set(t,{node:n,handler:i})}));for(const[e,n]of A.entries())t.has(e)||(null!=n&&n.node&&"function"==typeof n.node.off&&n.node.off("segment:chunk",n.handler),A.delete(e))}function lt({track:t,color:e,start:n,duration:r,startTime:o,durationSeconds:s,segmentRatios:a,bufferedSegments:l,placementId:c,nodeId:u,label:d,rowIndex:h=0,rowHeight:f=18,rowGap:p=0,laneId:m,isClickable:v,isActive:g,tooltip:y,hoverDetailsNodeId:b,showLabel:k,onClick:w}){const x=i.createElement("div");!function(t,e){t.style.position="absolute",t.style.borderRadius="4px",t.style.background=e,t.style.opacity="0.9",t.style.font=sD,t.style.color="#fff",t.style.display="flex",t.style.alignItems="center",t.style.whiteSpace="nowrap",t.style.overflow="hidden",t.style.textOverflow="ellipsis"}(x,e),function(t,{startRatio:e,durationRatio:n,rowIndex:i=0,rowHeight:r=18,rowGap:o=0}={}){const s=i*(r+o)+2,a=Math.max(1,r-4);t.style.top=`${s}px`,t.style.height=`${a}px`;const l=uD(e);if(cD(n)){const e=Math.max(0,Math.min(n,1-l));return t.style.left=100*l+"%",t.style.width=100*e+"%",void(t.style.padding="0 4px")}t.style.left=100*l+"%",t.style.width="2px",t.style.padding="0"}(x,{startRatio:n,durationRatio:r,rowIndex:h,rowHeight:f,rowGap:p}),function(t,{laneId:e,label:n,isClickable:i,shouldShowLabel:r,onClick:o}={}){if(e&&(t.dataset.timelineItem=e),r&&n){const e=eD.document.createElement("span");e.textContent=n,e.style.position="relative",e.style.zIndex="2",e.style.pointerEvents="none",t.appendChild(e)}i&&(t.style.cursor="pointer"),"function"==typeof o&&t.addEventListener("click",o)}(x,{laneId:m,label:d,isClickable:v,shouldShowLabel:"boolean"==typeof k?k:cD(r),onClick:w}),y&&(x.title=y),lD(o)&&(x.dataset.start=String(o)),cD(s)||xB(s)?(x.dataset.end=String(o+s),x.dataset.hasDuration="true"):(x.dataset.end="",x.dataset.hasDuration="false"),c&&(x.dataset.placementId=c),u&&(x.dataset.nodeId=u),x.style.pointerEvents="auto",PB(x,l,lB),function(t,e=[]){t&&Array.isArray(e)&&e.length&&e.forEach((e=>{if(!lD(e)||e<=0||e>=1)return;const n=eD.document.createElement("div");n.dataset.segmentBoundary="true",n.style.position="absolute",n.style.top="2px",n.style.bottom="2px",n.style.width="1px",n.style.left=100*uD(e)+"%",n.style.transform="translateX(-0.5px)",n.style.background="rgba(255,255,255,0.35)",n.style.pointerEvents="none",n.style.zIndex="1",t.appendChild(n)}))}(x,a),RB(x,g),y&&(x.addEventListener("mouseenter",(t=>et(y,t))),x.addEventListener("mousemove",(t=>et(y,t))),x.addEventListener("mouseleave",J)),b&&(x.addEventListener("mouseenter",(t=>it(b,t))),x.addEventListener("mousemove",(t=>it(b,t))),x.addEventListener("mouseleave",nt)),t.appendChild(x),"nodes"===m&&c?N.set(c,x):"render"===m&&c&&C.set(c,x)}async function ct({event:i,placement:r,rangeEnd:o,track:s}){const a=TB(E);if(a===hB)return;if(a===fB)return void function(e,n,i){if(!t)return;if(!cD(n)||!i)return;const r="function"==typeof i.getBoundingClientRect?i.getBoundingClientRect():null,o=cD(null==r?void 0:r.width)?r.width:i.clientWidth;if(!cD(o))return;const s=lD(null==r?void 0:r.left)?r.left:0,a=uD(((lD(null==e?void 0:e.clientX)?e.clientX:0)-s)/o)*n;lD(a)&&(t.currentTime=a)}(i,o,s);const l="string"==typeof(null==r?void 0:r.nodeId)?r.nodeId:"",c="function"==typeof e&&l?e(l):null,u=a===pB?l:a===mB?JSON.stringify(AB(r,e),null,2):function(t,e){return function(t,e){return function(t,e,n){const i=(t||"").replace(/\/$/,""),r=null==n?void 0:n.assetId,o=null==n?void 0:n.assetRevision;if(i&&"string"==typeof r&&"number"==typeof o)return`${i}/raw/${encodeURIComponent(r)}/${o}`}(t,0,e)}(e,null==t?void 0:t.manifestRef)}(c,n),d=a===pB?"Copied node ID":a===mB?"Copied node context":"Copied source video URL";if(u)try{await async function(t,e){const n=null==eD||null===(e=eD.navigator)||void 0===e?void 0:e.clipboard;if(!n||"function"!=typeof n.writeText)throw new Error("Clipboard API unavailable.");await n.writeText(t)}(u),tt(d)}catch(t){}else a===vB&&tt("Source video URL unavailable",{tone:"warning"})}function ut(){const n=function(){let t=0;const n=Array.isArray(_)?_:[],i=Array.isArray(I)?I.filter((t=>!0!==(null==t?void 0:t.offsetPending))):[];return n.forEach((n=>{if(!0===(null==n?void 0:n.offsetPending))return;const i=lD(null==n?void 0:n.offset)?n.offset:void 0;if(!lD(i))return;const r=kB(n,e);t=cD(r)?Math.max(t,i+r):Math.max(t,i)})),i.forEach((e=>{const n=lD(null==e?void 0:e.offset)?e.offset:0,i=wB(e);t=cD(i)?Math.max(t,n+i):Math.max(t,n)})),cD(t)?t:1}();S=n,h.textContent=`t=${dD(T)}s`,f.textContent=`range=0-${dD(n)}s`,J(),nt(),$(w.track),$(x.track),N.clear(),C.clear(),F=new Set,O=null,P=!1;const i=Array.isArray(_)?_:[],r=Array.isArray(I)?I:[],o=function(n){const i=(Array.isArray(n)?n.slice():[]).map((t=>{if(!0===(null==t?void 0:t.offsetPending))return null;const n=lD(null==t?void 0:t.offset)?t.offset:void 0;if(!lD(n))return null;const i=kB(t,e);return{placement:t,offset:n,duration:i,end:cD(i)?n+i:n,rowIndex:0}})).filter(Boolean).sort(((t,e)=>{var n,i,r,o;const s=t.offset-e.offset;if(0!==s)return s;const a="string"==typeof(null===(n=t.placement)||void 0===n?void 0:n.nodeId)?t.placement.nodeId:"",l="string"==typeof(null===(i=e.placement)||void 0===i?void 0:i.nodeId)?e.placement.nodeId:"";if(a!==l)return a.localeCompare(l);const c="string"==typeof(null===(r=t.placement)||void 0===r?void 0:r.placementId)?t.placement.placementId:"",u="string"==typeof(null===(o=e.placement)||void 0===o?void 0:o.placementId)?e.placement.placementId:"";return c.localeCompare(u)})),r=[],o=function(t,e){const n=Number(null==t||null===(e=t.settings)||void 0===e?void 0:e.snapToFps);return!Number.isFinite(n)||n<=0?0:.5/n}(t);return i.forEach((t=>{const e=t.offset,n=lD(t.end)?t.end:e;let i=-1;for(let t=0;t<r.length;t+=1)if(r[t]<=e+o){i=t;break}-1===i?(i=r.length,r.push(n)):r[i]=Math.max(r[i],n),t.rowIndex=i})),{items:i,rowCount:Math.max(1,r.length)}}(i);var s;!function(t){const e=t.rowCount*aB+4*(t.rowCount-1);w.track.style.height=`${e}px`,x.track.style.height="18px",w.track.style.cursor="default",w.track.style.pointerEvents="auto",x.track.style.pointerEvents="auto"}(o),function(t,e){t.items.forEach((t=>{const n=t.placement,i=t.offset,r=t.duration,o=(null==n?void 0:n.nodeId)||(null==n?void 0:n.placementId)||"node",s=!!lD(T)&&T>=i&&(!cD(r)||T<i+r),a=ot(n),l=TB(E)!==hB;lt({track:w.track,color:"rgba(255,255,255,0.16)",start:uD(i/e),duration:cD(r)?uD(r/e):null,startTime:i,durationSeconds:r,segmentRatios:a.boundaries,bufferedSegments:a.buffered,placementId:null==n?void 0:n.placementId,nodeId:null==n?void 0:n.nodeId,label:o,rowIndex:t.rowIndex,rowHeight:aB,rowGap:4,laneId:"nodes",isClickable:l,isActive:s,tooltip:(null==n?void 0:n.nodeId)||(null==n?void 0:n.placementId),hoverDetailsNodeId:null==n?void 0:n.nodeId,onClick:l?t=>{ct({event:t,placement:n,rangeEnd:e,track:w.track})}:void 0})}))}(o,n),s=n,r.forEach((t=>{const e=lD(null==t?void 0:t.offset)?t.offset:void 0;if(!lD(e))return;const n=wB(t),i=xB(n),r=(null==t?void 0:t.type)||(null==t?void 0:t.renderPlacementId)||"render",o=function(t){const e="string"==typeof t?t.trim().toLowerCase():"";return"switch"===e||"switching"===e||"switchingrendernode"===e}(null==t?void 0:t.type),a=o?()=>{"function"==typeof(null==eD?void 0:eD.switchTo)&&eD.switchTo("next")}:void 0;let l=!1;lD(T)&&(i?l=T>=e:cD(n)&&(l=T>=e&&T<e+n));const c=i&&cD(s)?uD((s-e)/s):cD(n)?uD(n/s):null;lt({track:x.track,color:"rgba(248,162,62,0.9)",start:uD(e/s),duration:c,startTime:e,durationSeconds:n,label:r,placementId:null==t?void 0:t.renderPlacementId,rowIndex:0,rowHeight:aB,rowGap:0,laneId:"render",isClickable:!!o,isActive:l,tooltip:(null==t?void 0:t.type)||(null==t?void 0:t.renderPlacementId),showLabel:cD(n)||i,onClick:a})})),Q(w.indicator,n),Q(x.indicator,n),rt(),st(),D=OB(_,I)||CB(_,e),R=D?NB(_,I,e):"",B=Array.isArray(_)?_.length:0,L=Array.isArray(I)?I.length:0,Y()}function dt(t,n){_=Array.isArray(t)?t.slice():[],I=Array.isArray(n)?n.slice():[],D=OB(_,I)||CB(_,e),at(),ut()}return v.addEventListener("change",(()=>{E=TB(v.value),v.value=E,ut()})),{id:"timeline",title:"Timeline",render:t=>{t.appendChild(r),ut()},updatePlacements:dt,updateTime:function(t){if(T=lD(t)?t:T,K())return;if(D&&X())return;const e=S;lD(e)&&(h.textContent=`t=${dD(T)}s`,f.textContent=`range=0-${dD(e)}s`,Q(w.indicator,e),Q(x.indicator,e),rt())},refresh:()=>ut(),dispose:()=>{U(),Z();for(const t of A.values())(null==t?void 0:t.node)&&"function"==typeof t.node.off&&t.node.off("segment:chunk",t.handler);A.clear(),M.clear()}}}const BB=1024,LB=1048576,zB=1073741824;function WB(t){return lD(t)?t<BB?`${Math.round(t)} B`:t<LB?`${dD(t/BB,1)} KB`:t<zB?`${dD(t/LB,2)} MB`:`${dD(t/zB,2)} GB`:"n/a"}const jB="ekoplayer-debug-overlay";var $B=new WeakMap,UB=new WeakMap,qB=new WeakMap,VB=new WeakMap,GB=new WeakSet;class HB{constructor({tabBarEl:t,contentEl:e}){O(this,GB),C(this,$B,[]),C(this,UB,void 0),C(this,qB,void 0),C(this,VB,void 0),F(qB,this,t),F(VB,this,e)}registerTab(t){t&&"string"==typeof t.id&&"string"==typeof t.title&&"function"==typeof t.render&&(N($B,this).some((e=>e.id===t.id))||(N($B,this).push(t),M(GB,this,KB).call(this),N(UB,this)||this.selectTab(t.id)))}selectTab(t){N($B,this).find((e=>e.id===t))&&(F(UB,this,t),M(GB,this,KB).call(this),M(GB,this,XB).call(this))}dispose(){N(qB,this)&&(N(qB,this).innerHTML=""),N(VB,this)&&(N(VB,this).innerHTML=""),F($B,this,[]),F(qB,this,null),F(VB,this,null)}}function KB(){const t=N(qB,this);t&&(t.innerHTML="",N($B,this).forEach((e=>{const n=eD.document.createElement("button");n.type="button",n.textContent=e.title,n.style.cursor="pointer",n.style.padding="6px 10px",n.style.borderRadius="6px",n.style.border="1px solid rgba(255,255,255,0.2)",n.style.background=e.id===N(UB,this)?"rgba(255,255,255,0.18)":"rgba(0,0,0,0.2)",n.style.color="#fff",n.style.font=aD,n.addEventListener("click",(()=>this.selectTab(e.id))),t.appendChild(n)})))}function XB(){const t=N(VB,this);if(!t)return;t.innerHTML="";const e=N($B,this).find((t=>t.id===N(UB,this)));e&&e.render(t)}function YB({mountElement:t,canvasElement:e,timeline:n,assetsDeliveryServiceUrl:i,getNode:r,listNodes:o,downloadSpeed:s,downloadEvents:a,qoe:l,qoeEvents:c,options:u={},playbackStartedAtMs:d,playerVersion:h}={}){if(!t)throw new Error("Debug overlay requires mountElement.");if(!n||"function"!=typeof n.on)throw new Error("Debug overlay requires a Timeline with .on/.off.");!function(t){if(!t||!t.style)return;const e=null==eD?void 0:eD.window,n=e&&"function"==typeof e.getComputedStyle?e.getComputedStyle(t):null,i=n?n.position:t.style.position;i&&"static"!==i||(t.style.position="relative")}(t);const f=eD.document.getElementById(jB);f&&f.parentNode&&f.parentNode.removeChild(f);const p=function({mountElement:t,playerVersion:e}){const n=null==eD?void 0:eD.document;if(!n||"function"!=typeof n.createElement)throw new Error("Debug overlay requires document.createElement.");const i=n.createElement("div");i.id=jB,i.style.position="absolute",i.style.inset="0",i.style.zIndex="999999",i.style.pointerEvents="none";const r=n.createElement("div");r.style.position="absolute",r.style.top="8px",r.style.left="8px",r.style.width="460px",r.style.maxWidth="calc(100% - 16px)",r.style.background="rgba(0,0,0,0.65)",r.style.border="1px solid rgba(255,255,255,0.18)",r.style.borderRadius="10px",r.style.padding="10px",r.style.color="#fff",r.style.pointerEvents="auto",r.style.backdropFilter="blur(6px)";const o=n.createElement("div");o.style.display="flex",o.style.justifyContent="space-between",o.style.alignItems="center",o.style.gap="10px";const s=n.createElement("div");s.textContent="EkoPlayer Debug",s.style.font="600 13px ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial";const a=n.createElement("button");a.type="button",a.textContent="Hide",a.style.cursor="pointer",a.style.padding="6px 10px",a.style.borderRadius="8px",a.style.border="1px solid rgba(255,255,255,0.2)",a.style.background="rgba(0,0,0,0.2)",a.style.color="#fff",o.appendChild(s),o.appendChild(a);const l=n.createElement("div");l.style.display="flex",l.style.gap="8px",l.style.marginTop="10px";const c=n.createElement("div");c.style.marginTop="10px";const u=n.createElement("div");u.style.marginTop="10px",u.style.font=sD,u.style.display="flex",u.style.justifyContent="space-between",u.style.alignItems="center",u.style.gap="10px";const d=n.createElement("div");d.style.color="rgba(140, 224, 255, 0.9)",d.textContent="Playback started @ --";const h=n.createElement("div");h.style.opacity="0.7",h.style.marginLeft="auto",h.textContent=e?`version ${e}`:"version n/a",u.appendChild(d),u.appendChild(h);const f=n.createElement("button");return f.type="button",f.textContent="Debug",f.style.position="absolute",f.style.top="8px",f.style.left="8px",f.style.cursor="pointer",f.style.padding="6px 10px",f.style.borderRadius="10px",f.style.border="1px solid rgba(255,255,255,0.25)",f.style.background="rgba(0,0,0,0.55)",f.style.color="#fff",f.style.pointerEvents="auto",f.style.display="none",r.appendChild(o),r.appendChild(l),r.appendChild(c),r.appendChild(u),i.appendChild(r),i.appendChild(f),t.appendChild(i),{overlayRoot:i,panel:r,tabBar:l,content:c,hideBtn:a,showBtn:f,footerPlayback:d}}({mountElement:t,playerVersion:h||(null==u?void 0:u.playerVersion)}),m=new HB({tabBarEl:p.tabBar,contentEl:p.content});let v=!0;function g(){v=!1,p.panel.style.display="none",p.showBtn.style.display="inline-block"}function y(){v=!0,p.panel.style.display="block",p.showBtn.style.display="none"}p.hideBtn.addEventListener("click",g),p.showBtn.addEventListener("click",y);const b=DB({timeline:n,getNode:r,assetsDeliveryServiceUrl:i}),k=function({getNode:t}){const e=eD.document,n=e.createElement("pre");n.style.margin="0",n.style.whiteSpace="pre-wrap",n.style.font=aD,n.style.lineHeight="1.35";const i=e.createElement("div");i.style.display="flex",i.style.flexDirection="column",i.style.gap="8px",i.style.marginTop="6px";const r=e.createElement("div");r.style.display="flex",r.style.gap="10px",r.style.marginTop="10px",r.style.alignItems="center",r.style.flexWrap="wrap";const o=new wD({maxValue:60}),s=new wD({maxValue:60}),a=e.createElement("div"),l=e.createElement("div");l.textContent="browserfps",l.style.font=sD,l.style.opacity="0.9",a.appendChild(l),a.appendChild(o.element);const c=e.createElement("div"),u=e.createElement("div");return u.textContent="fps",u.style.font=l.style.font,u.style.opacity="0.9",c.appendChild(u),c.appendChild(s.element),r.appendChild(a),r.appendChild(c),{id:"frames",title:"Frames",render:t=>{t.appendChild(n),t.appendChild(i),t.appendChild(r)},pushBrowserFps:(t,e)=>o.push(t,e),pushVisualFps:(t,e)=>s.push(t,e),updateInfo:function({time:r,entries:o}){const s=Array.isArray(o)?o.slice().sort(ID):[];if(!s.length)return n.textContent="",void(i.innerHTML="");n.textContent=`t=${ND(r)}s tracks=${s.length}`,i.innerHTML="";for(let n=0;n<s.length;n+=1){const r=s[n],o=OD(t,r),a=(null==o?void 0:o.id)||"n/a",l=(null==o?void 0:o.codecs)||(null==o?void 0:o.mime)||"n/a",c=AD(null==o?void 0:o.bandwidth),u=hD(null==o?void 0:o.width,null==o?void 0:o.height),d=CD(t,r)||"n/a",h=FD(t,r),f=h?` fallback=${h}`:"",p=SD(t,r),m=(null==p?void 0:p.strategy)||"n/a",v=(null==p?void 0:p.decisionReason)||"n/a",g=MD(null==p?void 0:p.measuredDownloadSpeedKbps),y=MD(null==p?void 0:p.safeBandwidthKbps),b=e.createElement("div");b.style.display="flex",b.style.flexDirection="column",b.style.gap="2px";const k=e.createElement("pre");k.style.margin="0",k.style.whiteSpace="pre-wrap",k.style.font=aD,k.style.lineHeight="1.35",k.textContent=[`${(null==r?void 0:r.nodeId)||"?"} ${(null==r?void 0:r.trackId)||"?"} ${(null==r?void 0:r.segmentId)||"?"} pts=${ND(null==r?void 0:r.presentationTime)}s`,`rep=${a} encodeProfile=${d}${f} res=${u} codec=${l} repBW=${c}`,`abr=strategy:${m} reason:${v} measuredBW:${g} safeBW:${y}`].join("\n"),b.appendChild(k);const w=(null==p?void 0:p.selectedRepresentationId)||(null==o?void 0:o.id),x=DD(t,r,o,p);if(x.length){const t=e.createElement("div");t.style.display="flex",t.style.alignItems="center",t.dataset.abrLadderRow="true",t.dataset.trackId=(null==r?void 0:r.trackId)||"",t.dataset.segmentId=(null==r?void 0:r.segmentId)||"";const n=e.createElement("div");n.style.display="inline-flex",n.style.alignItems="center",n.style.gap="2px",n.dataset.abrLadder="true",x.forEach((t=>{const i=e.createElement("span"),r=!!w&&t.id===w;i.dataset.abrLadderBlock="true",i.dataset.repId=t.id||"",i.dataset.selected=r?"true":"false",i.style.display="inline-block",i.style.width="10px",i.style.height="8px",i.style.borderRadius="2px",i.style.border="1px solid rgba(255,255,255,0.35)",i.style.background=r?"rgba(74, 222, 128, 0.95)":"rgba(156, 163, 175, 0.55)",i.title=`${t.id||"?"} ${MD(t.bandwidthKbps)}`,n.appendChild(i)})),t.appendChild(n),b.appendChild(t)}i.appendChild(b)}},dispose:()=>{o.dispose(),s.dispose()}}}({getNode:r}),w=jD({downloadSpeed:s,downloadEvents:a}),x=function({qoe:t,qoeEvents:e}={}){const n=null==eD?void 0:eD.document;if(!n||"function"!=typeof n.createElement)throw new Error("Debug overlay QoE tab requires document.createElement.");const i=n.createElement("pre");i.style.margin="0",i.style.whiteSpace="pre-wrap",i.style.font=aD;const{graphWrap:r,graph:o}=function(t){const e=t.createElement("div");e.style.marginTop="10px";const n=t.createElement("div");n.textContent="qoe score",n.style.font=sD,n.style.opacity="0.9";const i=new wD({maxValue:1,windowMs:3e4,formatValue:t=>$D(t)});return e.appendChild(n),e.appendChild(i.element),{graphWrap:e,graph:i}}(n);let s=null;const a=()=>{i.textContent=function(t){if(!t)return"QoE unavailable";const e="string"==typeof t.status?t.status:"n/a";return[`score=${$D(t.score)}`,`status=${e}`,`streamQualityScore=${$D(t.streamQualityScore)}`,`fpsScore=${$D(t.fpsScore)}`,`browserFps=${$D(t.browserFps)}`,`waitingSeconds=${$D(t.waitingSeconds)}`,`playingSeconds=${$D(t.playingSeconds)}`].join("\n")}(t)},l=()=>{if(!t)return;const e=Number(t.score);Number.isFinite(e)&&o.push(e,UD())},c=t=>{const e=Number(t);Number.isFinite(e)&&o.push(e,UD()),a()},u=()=>{a()};if(a(),l(),e&&"function"==typeof e.on&&(e.on("qoescore",c),e.on("qoestatus",u)),t){const t="function"==typeof(null==eD?void 0:eD.setInterval)?eD.setInterval:setInterval;s=t((()=>{l(),a()}),1e3)}return{id:"qoe",title:"QoE",render:t=>{t.appendChild(i),t.appendChild(r)},dispose:()=>{e&&"function"==typeof e.off&&(e.off("qoescore",c),e.off("qoestatus",u)),s&&(("function"==typeof(null==eD?void 0:eD.clearInterval)?eD.clearInterval:clearInterval)(s),s=null),o.dispose()}}}({qoe:l,qoeEvents:c}),_=function({timeline:t,getNode:e,listNodes:n,options:i}={}){const r=null==eD?void 0:eD.document;if(!r||"function"!=typeof r.createElement)throw new Error("Debug overlay Memory tab requires document.createElement.");const o=r.createElement("pre");o.style.margin="0",o.style.whiteSpace="pre-wrap",o.style.font=aD;const s=r.createElement("div");s.textContent="nodes",s.style.marginTop="10px",s.style.font=sD,s.style.opacity="0.9";const a=r.createElement("pre");a.style.margin="6px 0 0 0",a.style.whiteSpace="pre-wrap",a.style.font=aD;let l=null;const c=()=>{const r=function({timeline:t,getNode:e,listNodes:n}){const i=[];let r=0;if("function"==typeof n){let t;try{t=n()}catch(e){t=null}if(Array.isArray(t))return t.forEach((t=>{const e=null==t?void 0:t.id;if("string"!=typeof e||!e.length)return;const n=Number(null==t?void 0:t.retainedByteLength);Number.isFinite(n)&&(r+=n,i.push({nodeId:e,bytes:n}))})),i.sort(((t,e)=>e.bytes-t.bytes)),{totalBytes:r,nodes:i,available:!0}}if(!t||"function"!=typeof e)return{totalBytes:0,nodes:[],available:!1};const o=Array.isArray(t.placements)?t.placements:[];return new Set(o.map((t=>null==t?void 0:t.nodeId)).filter((t=>"string"==typeof t&&t.length))).forEach((t=>{const n=e(t),o=Number(null==n?void 0:n.retainedByteLength);Number.isFinite(o)&&(r+=o,i.push({nodeId:t,bytes:o}))})),i.sort(((t,e)=>e.bytes-t.bytes)),{totalBytes:r,nodes:i,available:!0}}({timeline:t,getNode:e,listNodes:n}),s=function({timeline:t}){if(!t||"function"!=typeof t.getDecodedFrameStats)return{totalBytes:0,frames:0,available:!1};try{const e=t.getDecodedFrameStats(),n=Number(null==e?void 0:e.totalBytes),i=Number(null==e?void 0:e.frames);return{totalBytes:Number.isFinite(n)?n:0,frames:Number.isFinite(i)?i:0,available:!1!==(null==e?void 0:e.available)}}catch(t){return{totalBytes:0,frames:0,available:!1}}}({timeline:t}),l=function(t,e,n,i){const r=Number(null!==(n=null==t||null===(i=t.publicOptions)||void 0===i?void 0:i.segmentEvictionMaxRetainedBytes)&&void 0!==n?n:null==t?void 0:t.segmentEvictionMaxRetainedBytes),o=lD(r)&&r>=0,s=o?WB(r):"n/a";return{active:o&&lD(e)&&e>r,thresholdLabel:s}}(i,r.available?r.totalBytes:NaN),c=l.active?"on":"off",u=s.available?WB(s.totalBytes):"n/a",d=s.available?s.frames:"n/a";if(!r.available)return o.textContent=[`decoded=${u} decodedFrames=${d}`,`retained=n/a eviction=${c} threshold=${l.thresholdLabel}`].join("\n"),void(a.textContent="");if(o.textContent=[`decoded=${u} decodedFrames=${d}`,[`retained=${WB(r.totalBytes)}`,`nodes=${r.nodes.length}`,`eviction=${c}`,`threshold=${l.thresholdLabel}`].join(" ")].join("\n"),!r.nodes.length)return void(a.textContent="none");const h=r.nodes.slice(0,8).map((t=>`${t.nodeId}: ${WB(t.bytes)}`));a.textContent=h.join("\n")};c();const u="function"==typeof(null==eD?void 0:eD.setInterval)?eD.setInterval:setInterval;return l=u(c,1e3),{id:"memory",title:"Memory",render:t=>{t.appendChild(o),t.appendChild(s),t.appendChild(a)},refresh:c,dispose:()=>{l&&(("function"==typeof(null==eD?void 0:eD.clearInterval)?eD.clearInterval:clearInterval)(l),l=null)}}}({timeline:n,getNode:r,listNodes:o,options:u});m.registerTab(b),m.registerTab(k),m.registerTab(w),m.registerTab(x),m.registerTab(_),m.registerTab(function({options:t}={}){const e=null==eD?void 0:eD.document;if(!e||"function"!=typeof e.createElement)throw new Error("Debug overlay options tab requires document.createElement.");const n=e.createElement("pre");n.style.margin="0",n.style.font=aD,n.style.whiteSpace="pre-wrap",n.style.wordBreak="break-word";const i=null==t?void 0:t.publicOptions,r=i&&"object"==typeof i?Object.keys(i):[];if(r.length){const t=r.map((t=>`${t}=${function(t){if(null===t)return"null";if(void 0===t)return"undefined";const e=typeof t;if("string"===e)return t;if("number"===e||"boolean"===e)return String(t);try{return JSON.stringify(t)}catch(e){return String(t)}}(i[t])}`));n.textContent=t.join("\n")}else n.textContent="publicOptions unavailable";return{id:"options",title:"Options",render:t=>{t.appendChild(n)}}}({options:u}));const I=[],T=[];let E=0,S=0,M=null,A=!1,N=0,C=null;function F(t){const e=Number(t);Number.isFinite(e)&&(e-N<250||(N=e,k.pushBrowserFps(E,e),k.pushVisualFps(S,e)))}eD.window&&"function"==typeof eD.window.requestAnimationFrame&&(M=eD.window.requestAnimationFrame((function t(e){A||(E=TD(I,e),F(e),M=eD.window.requestAnimationFrame(t))})));const O=(t={})=>{if(A||!v)return;const e=Array.isArray(t.frames)?t.frames:[];if(!e.length)return void(C=null);const n=null!=eD&&eD.performance&&"function"==typeof eD.performance.now?eD.performance.now():Date.now(),i=e.map((t=>`${null==t?void 0:t.nodeId}:${null==t?void 0:t.trackId}:${null==t?void 0:t.segmentId}@${null==t?void 0:t.presentationTime}`)).join("|");i!==C&&(S=TD(T,n),C=i),k.updateInfo({time:t.time,entries:e}),F(n)};let P=Number.isFinite(d)?d:void 0;if(Number.isFinite(P)&&p.footerPlayback){const t=P/1e3;p.footerPlayback.textContent=`Playback started @ ${dD(t)}s`}const R=(t={})=>{if(!A&&void 0===P&&"playing"===(null==t?void 0:t.event)&&(P=iD(),p.footerPlayback)){const t=P/1e3;p.footerPlayback.textContent=`Playback started @ ${dD(t)}s`}},D=()=>{const t=Array.isArray(null==n?void 0:n.placements)?n.placements:[],e=Array.isArray(null==n?void 0:n.renderPlacements)?n.renderPlacements:[];b.updatePlacements(t,e)},B=(t={})=>{if(A)return;const e=Number.isFinite(null==t?void 0:t.time)?t.time:null==n?void 0:n.currentTime;b.updateTime(e),_&&"function"==typeof _.refresh&&_.refresh()},L=()=>{A||D()},z=()=>{A||D()},W=null==n?void 0:n.trackBuffers,j=()=>{A||("function"==typeof b.refresh?b.refresh():D(),_&&"function"==typeof _.refresh&&_.refresh())};return n.on(rD.VISUAL_FRAMES_AVAILABLE,O),n.on(rD.TIMELINE_TIME_UPDATE,B),n.on(rD.PLACEMENT_ADDED,L),n.on(rD.RENDER_PLACEMENT_ADDED,z),n.on(rD.TIMELINE_PLAYER_STATE,R),W&&"function"==typeof W.on&&W.on("track:bufferupdate",j),D(),b.updateTime(null==n?void 0:n.currentTime),{show:y,hide:g,dispose:function(){A||(A=!0,M&&eD.window&&"function"==typeof eD.window.cancelAnimationFrame&&eD.window.cancelAnimationFrame(M),M=null,n&&"function"==typeof n.off&&(n.off(rD.VISUAL_FRAMES_AVAILABLE,O),n.off(rD.TIMELINE_TIME_UPDATE,B),n.off(rD.PLACEMENT_ADDED,L),n.off(rD.RENDER_PLACEMENT_ADDED,z),n.off(rD.TIMELINE_PLAYER_STATE,R)),W&&"function"==typeof W.off&&W.off("track:bufferupdate",j),k&&"function"==typeof k.dispose&&k.dispose(),b&&"function"==typeof b.dispose&&b.dispose(),w&&"function"==typeof w.dispose&&w.dispose(),x&&"function"==typeof x.dispose&&x.dispose(),_&&"function"==typeof _.dispose&&_.dispose(),m.dispose(),p.overlayRoot&&p.overlayRoot.parentNode&&p.overlayRoot.parentNode.removeChild(p.overlayRoot))},registerTab:function(t){m.registerTab(t)},selectTab:function(t){m.selectTab(t)}}}var QB=Object.freeze({__proto__:null,createDebugOverlay:YB,default:YB});exports.EkoGallery=JR,exports.EkoGalleryLegacy=en,exports.ekoWebPixel=S,exports.getEkoAnalyticsSnippet=function(t){return`if (!window.EkoAnalytics) {\n !function () {\n var t, a, e, s, n;\n 'undefined' == typeof window || window.EkoAnalytics || (t = window, a = 'EkoAnalytics', e = document, s = 'script', t[a] || (t[a] = function () {\n t[a].f ? (t[a].q.push(arguments), t[a].ts.push(Date.now())) : t[a].apply(t, arguments);\n }, t[a].f = !0, t[a].q = t[a].q || [], t[a].ts = t[a].ts || [], t[a].t = Number(new Date), t[a].sa = [], t[a].cb = [], t[a].init = function (ids) {\n t[a].id = ids;\n }, t[a].childRequestIdsCallback = function (e) {\n e.data && 'ea-ids-request' === e.data.type && t[a].sa.push(e.source);\n }, t.addEventListener('message', t[a].childRequestIdsCallback)));\n }();\n\n window.EkoAnalytics.cb.push(() => {\n let setCookie = (key, value, additionalProperties = '') => {\n let hostname = window.location.hostname;\n let domain = hostname;\n \n let parts = hostname.split('.');\n if (parts.length > 2) {\n domain = parts.slice(-2).join('.');\n }\n\n // "samesite=lax" is needed for cross-site situations (like NZXT getting checkout url attributes from lambda).\n window.document.cookie = \`\${key}=\${value}; domain=.\${domain}; path=/; secure; samesite=lax; \${additionalProperties}\`;\n };\n\n setCookie('easid', encodeURIComponent(window.EkoAnalytics('getSid')));\n setCookie('eauid', encodeURIComponent(window.EkoAnalytics('getUid')), 'max-age=2147483647');\n });\n\n window.EkoAnalytics('configure', {\n snowplow: {\n options: {\n appId: 'ekoGalleryReactV4',\n },\n },\n ekoEnv: '${t?"production":"development"}',\n env: 'website',\n });\n window.EkoAnalytics('track', 'PageView');\n }`},exports.getEkoProductConfigUrl=ZR,exports.getEkoProductConfigUrlLegacy=tD;
|