@ekolabs/eko-gallery-react
Version:
eko gallery for react framework
15 lines • 843 kB
JavaScript
"use strict";var e=require("react");function n(t="v1"){return function(e,n="*",i=""){let r=`https://${i}play.eko.com/api/${t}/channels/${e}/configs`;return r+="*"!==n?`/${n}`:"",r}}function i(t){return"object"==typeof t&&!Array.isArray(t)&&null!==t}var r={pack:function(t){const e={};if(!i(t))return e;if(t.itemId&&(e.item_id=t.itemId),t.itemName&&(e.item_name=t.itemName),i(t.itemPrice)){const n=t.itemPrice;e.item_price=function(t){const e={};return i(t)&&(t.amount&&(e.amount=Number(t.amount)),t.currency&&(e.currency=t.currency)),e}(n)}return t.quantity&&(e.quantity=Number(t.quantity)),e}};const o="mobile",s="notmobile";function a(){return((window.navigator.userAgentData?window.navigator.userAgentData.mobile:navigator.maxTouchPoints>0&&/Mobile|Android|webOS|iPhone|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)&&!/Tablet|iPad/i.test(navigator.userAgent))?o:s)===o}const l={};class c{constructor(t){this.key=`eko.${t}`}setDataStorage(t,e){if("undefined"!=typeof window)try{var n,i;let r=null===(n=window.localStorage)||void 0===n?void 0:n.getItem(this.key);r=JSON.parse(r)||{},r[t]=e,null===(i=window.localStorage)||void 0===i||i.setItem(this.key,JSON.stringify(r))}catch(t){console.error(`[setDataStorage]: ${t}`)}}getDataStorage(t){if("undefined"!=typeof window)try{var e;let n=null===(e=window.localStorage)||void 0===e?void 0:e.getItem(this.key);return n=JSON.parse(n)||{},n[t]}catch(t){console.error(`[getDataStorage]: ${t}`)}}removeDataStorage(t){if("undefined"!=typeof window)try{var e;let i=null===(e=window.localStorage)||void 0===e?void 0:e.getItem(this.key);var n;if(i)if(i=JSON.parse(i),delete i[t],Object.keys(i).length>0)null===(n=window.localStorage)||void 0===n||n.setItem(this.key,JSON.stringify(i));else this.removeAll()}catch(t){console.error(`[removeDataStorage]: ${t}`)}}removeAll(){if("undefined"!=typeof window)try{var t;null===(t=window.localStorage)||void 0===t||t.removeItem(this.key)}catch(t){console.error(`[removeAll]: ${t}`)}}}function u(t){return l[t]||(l[t]=new c(t)),l[t]}const d=u("gallery-react").getDataStorage("gallery-react");function h(t){window.EkoAnalytics("registerContextPacker",{tag:t,match:/.*/,schema:"iglu:com.helloeko/products/jsonschema/1-0-1",getData(t={}){var e,n;if(t.items)return{items:t.items.map((t=>function(t){const e=r.pack(t);return t.id&&(e.id=t.id),t.sku&&(e.sku=t.sku),t.upc&&(e.upc=t.upc),t.name&&(e.name=t.name),e}(t)))};const i=(null===(e=window.eko)||void 0===e||null===(e=e.config)||void 0===e?void 0:e.product)||(null==d||null===(n=d.config)||void 0===n?void 0:n.product);if(i){return{items:[{id:i.id,item_id:i.sku,sku:i.sku,upc:i.upc,typeid:i.type,name:i.name}]}}return null}})}function f(t){return"object"==typeof t&&!Array.isArray(t)&&null!==t}function p(t){const e={};return f(t)&&(t.amount&&(e.amount=Number(t.amount)),t.currency&&(e.currency=t.currency)),e}var m={isObject:f,pricePack:p,itemPack:function(t){const e={};if(!f(t))return e;if(t.itemId&&(e.item_id=t.itemId),t.itemName&&(e.item_name=t.itemName),f(t.itemPrice)){const n=t.itemPrice;e.item_price=p(n)}return t.quantity&&(e.quantity=Number(t.quantity)),t.sellingPlan&&(e.selling_plan=function(t){const e={};return f(t)&&(t.id&&(e.id=t.id),t.name&&(e.name=t.name)),e}(t.sellingPlan)),e}};const v=u("gallery-react").getDataStorage("gallery-react");const g=u("gallery-react").getDataStorage("gallery-react");const y=u("gallery-react").getDataStorage("gallery-react");const b="eko-gallery-react";var k={register:function(){var t;t=b,window.EkoAnalytics("registerContextPacker",{tag:t,schema:"iglu:com.helloeko/page/jsonschema/1-0-0",match:/^pixel\..*/,getData:function(){return{url:document.location.href||"",referrer:document.referrer||"",title:document.title||""}}}),h(b),function(t){window.EkoAnalytics("registerContextPacker",{tag:t,schema:"iglu:com.helloeko/cart/jsonschema/1-0-1",match:/pixel\.cart\.(add|remove)$/,getData(t){const e={};if((t=t||{}).cartId&&(e.cart_id=t.cartId),Array.isArray(t.items)&&(e.items=t.items.map((t=>m.itemPack(t)))),m.isObject(t.totalPrice)){const n=t.totalPrice;e.total_price=m.pricePack(n)}return t.totalQuantity&&(e.total_quantity=Number(t.totalQuantity)),e}})}(b),function(t){window.EkoAnalytics("registerContextPacker",{tag:t,schema:"iglu:com.helloeko/organization/jsonschema/1-0-0",match:/.*/,getData:function(){var t,e;const n=(null===(t=window.eko)||void 0===t||null===(t=t.config)||void 0===t?void 0:t.customer)||(null==v||null===(e=v.config)||void 0===e?void 0:e.customer);if(n)return{id:null==n?void 0:n.organizationId}}})}(b),function(t){window.EkoAnalytics("registerContextPacker",{tag:t,schema:"iglu:com.helloeko/space/jsonschema/1-0-2",match:/.*/,getData:function(){var t,e;const n=(null===(t=window.eko)||void 0===t||null===(t=t.config)||void 0===t?void 0:t.customer)||(null==g||null===(e=g.config)||void 0===e?void 0:e.customer);if(n)return{id:null==n?void 0:n.spaceId}}})}(b),function(t){window.EkoAnalytics("registerContextPacker",{tag:t,schema:"iglu:com.helloeko/asset/jsonschema/1-0-1",match:/.*/,getData:function(t){var e,n;if(null!=t&&t.type&&null!=t&&t.publishitemid&&null!=t&&t.name)return{deliverableid:"",publishitemid:null==t?void 0:t.publishitemid,type:null==t?void 0:t.type,name:null==t?void 0:t.name,artifactid:""};const i=null===(e=window.eko)||void 0===e||null===(e=e.config)||void 0===e||null===(e=e.__autoGenerated)||void 0===e?void 0:e.publishItem,r=null==y||null===(n=y.config)||void 0===n||null===(n=n.__autoGenerated)||void 0===n?void 0:n.publishItem,o=i||r;return o?{deliverableid:"",publishitemid:null==o?void 0:o.id,type:"interactive",name:"",artifactid:""}:void 0}})}(b),function(t){window.EkoAnalytics("registerContextPacker",{tag:t,schema:"iglu:com.helloeko/traffic_allocation/jsonschema/1-0-0",match:"trafficallocation.decision",getData:function(t){if(!t)return;const e={decision:t.decision};return t.config&&(e.config=t.config),isNaN(t.traffic_split)||(e.traffic_split=t.traffic_split),t.provider&&(e.provider=t.provider),e}})}(b),function(t){window.EkoAnalytics("registerContextPacker",{tag:t,schema:"iglu:com.helloeko/checkout/jsonschema/1-0-4",match:/pixel\.(checkout|order)$/,getData(t){const e={};if((t=t||{}).checkoutId&&(e.checkout_id=t.checkoutId),Array.isArray(t.items)&&(e.items=t.items.map((t=>m.itemPack(t)))),m.isObject(t.totalPrice)){const n=t.totalPrice;e.total_price=m.pricePack(n)}return t.totalQuantity&&(e.total_quantity=Number(t.totalQuantity)),e}})}(b),function(t){window.EkoAnalytics("registerContextPacker",{tag:t,schema:"iglu:com.helloeko/order/jsonschema/1-0-2",match:"pixel.order",getData(t){const e={};if((t=t||{}).orderId&&(e.order_id=t.orderId),Array.isArray(t.items)&&(e.items=t.items.map((t=>m.itemPack(t)))),m.isObject(t.totalPrice)){const n=t.totalPrice;e.total_price=m.pricePack(n)}return t.totalQuantity&&(e.total_quantity=Number(t.totalQuantity)),e}})}(b)}};function w(t,e){let n="";try{n=window[t].getItem(e),n||(n=function(t){const e=document.cookie.split(";");for(let n=0;n<e.length;n++){const i=e[n].trim();if(0===i.indexOf(t+"="))return i.substring(t.length+1)}return""}(e))}catch(t){console.warn("[eko-gallery-react] Error while getting the id from storage:",e,t)}return n}function x(t){let e=Array.isArray(t.items)?t.items:[t];return e=e.map((t=>({itemId:t.id,itemName:t.name,itemPrice:t.price,quantity:t.quantity||1,variantId:t.variantId,sellingPlan:t.sellingPlan}))),e}function _(t){return{cartId:t.cartId,items:x(t),totalPrice:t.totalPrice,totalQuantity:t.totalQuantity}}var I={"pixel.cart.add":_,"pixel.cart.remove":_,"pixel.product_viewed":function(t){let e=x(t);return e=e.map((t=>function(t){let e=w("localStorage","eko.metadata");if(e&&e[t.itemId]){let n=e[t.itemId].product;t.id=null==n?void 0:n.id,t.sku=null==n?void 0:n.sku,t.upc=null==n?void 0:n.upc,t.name=null==n?void 0:n.name}return t}(t))),{items:e}},"pixel.checkout":function(t){return{checkoutId:t.checkoutId,items:x(t),totalPrice:t.totalPrice,totalQuantity:t.totalQuantity}},"pixel.order":function(t){return{checkoutId:t.checkoutId,orderId:t.orderId,items:x(t),totalPrice:t.totalPrice,totalQuantity:t.totalQuantity}}};const T="https://storage.eko.com/efu/ekoanalytics/master/latest/EkoAnalyticsPlatform.min.gz.js";let E=!1;var S={init:function(t){k.register(),function(t){if(E)return;let e=t?window.location.host:"development";if(0===document.querySelectorAll(`script[src="${T}"]`).length){const t=document.createElement("script");t.setAttribute("pxid",e),t.type="text/javascript",t.async=!0,t.src=T,document.body.appendChild(t)}E=!0}(t)},onRouteChanged:function(){window.EkoAnalytics("reset")},track:function(t,e){I[t]&&(e=I[t](e)),window.EkoAnalytics("track",t,e)}};function M(t,e,n){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:n;throw new TypeError("Private element is not present on this object")}function A(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function N(t,e){return t.get(M(t,e))}function C(t,e,n){A(t,e),e.set(t,n)}function F(t,e,n){return t.set(M(t,e),n),n}function O(t,e){A(t,e),e.add(t)}function P(t,e,n){return(e=function(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,e||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:e+""}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function R(){return R=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)({}).hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t},R.apply(null,arguments)}function D(t,e){return t(e={exports:{}},e.exports),e.exports
/** @license React v16.13.1
* react-is.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/}var B="function"==typeof Symbol&&Symbol.for,L=B?Symbol.for("react.element"):60103,z=B?Symbol.for("react.portal"):60106,W=B?Symbol.for("react.fragment"):60107,j=B?Symbol.for("react.strict_mode"):60108,$=B?Symbol.for("react.profiler"):60114,U=B?Symbol.for("react.provider"):60109,q=B?Symbol.for("react.context"):60110,V=B?Symbol.for("react.async_mode"):60111,H=B?Symbol.for("react.concurrent_mode"):60111,G=B?Symbol.for("react.forward_ref"):60112,K=B?Symbol.for("react.suspense"):60113,X=B?Symbol.for("react.suspense_list"):60120,Y=B?Symbol.for("react.memo"):60115,Q=B?Symbol.for("react.lazy"):60116,J=B?Symbol.for("react.block"):60121,Z=B?Symbol.for("react.fundamental"):60117,tt=B?Symbol.for("react.responder"):60118,et=B?Symbol.for("react.scope"):60119;function nt(t){if("object"==typeof t&&null!==t){var e=t.$$typeof;switch(e){case L:switch(t=t.type){case V:case H:case W:case $:case j:case K:return t;default:switch(t=t&&t.$$typeof){case q:case G:case Q:case Y:case U:return t;default:return e}}case z:return e}}}function it(t){return nt(t)===H}var rt={AsyncMode:V,ConcurrentMode:H,ContextConsumer:q,ContextProvider:U,Element:L,ForwardRef:G,Fragment:W,Lazy:Q,Memo:Y,Portal:z,Profiler:$,StrictMode:j,Suspense:K,isAsyncMode:function(t){return it(t)||nt(t)===V},isConcurrentMode:it,isContextConsumer:function(t){return nt(t)===q},isContextProvider:function(t){return nt(t)===U},isElement:function(t){return"object"==typeof t&&null!==t&&t.$$typeof===L},isForwardRef:function(t){return nt(t)===G},isFragment:function(t){return nt(t)===W},isLazy:function(t){return nt(t)===Q},isMemo:function(t){return nt(t)===Y},isPortal:function(t){return nt(t)===z},isProfiler:function(t){return nt(t)===$},isStrictMode:function(t){return nt(t)===j},isSuspense:function(t){return nt(t)===K},isValidElementType:function(t){return"string"==typeof t||"function"==typeof t||t===W||t===H||t===$||t===j||t===K||t===X||"object"==typeof t&&null!==t&&(t.$$typeof===Q||t.$$typeof===Y||t.$$typeof===U||t.$$typeof===q||t.$$typeof===G||t.$$typeof===Z||t.$$typeof===tt||t.$$typeof===et||t.$$typeof===J)},typeOf:nt},ot=D((function(t,e){"production"!==process.env.NODE_ENV&&function(){var t="function"==typeof Symbol&&Symbol.for,n=t?Symbol.for("react.element"):60103,i=t?Symbol.for("react.portal"):60106,r=t?Symbol.for("react.fragment"):60107,o=t?Symbol.for("react.strict_mode"):60108,s=t?Symbol.for("react.profiler"):60114,a=t?Symbol.for("react.provider"):60109,l=t?Symbol.for("react.context"):60110,c=t?Symbol.for("react.async_mode"):60111,u=t?Symbol.for("react.concurrent_mode"):60111,d=t?Symbol.for("react.forward_ref"):60112,h=t?Symbol.for("react.suspense"):60113,f=t?Symbol.for("react.suspense_list"):60120,p=t?Symbol.for("react.memo"):60115,m=t?Symbol.for("react.lazy"):60116,v=t?Symbol.for("react.block"):60121,g=t?Symbol.for("react.fundamental"):60117,y=t?Symbol.for("react.responder"):60118,b=t?Symbol.for("react.scope"):60119;function k(t){if("object"==typeof t&&null!==t){var e=t.$$typeof;switch(e){case n:var f=t.type;switch(f){case c:case u:case r:case s:case o:case h:return f;default:var v=f&&f.$$typeof;switch(v){case l:case d:case m:case p:case a:return v;default:return e}}case i:return e}}}var w=c,x=u,_=l,I=a,T=n,E=d,S=r,M=m,A=p,N=i,C=s,F=o,O=h,P=!1;function R(t){return k(t)===u}e.AsyncMode=w,e.ConcurrentMode=x,e.ContextConsumer=_,e.ContextProvider=I,e.Element=T,e.ForwardRef=E,e.Fragment=S,e.Lazy=M,e.Memo=A,e.Portal=N,e.Profiler=C,e.StrictMode=F,e.Suspense=O,e.isAsyncMode=function(t){return P||(P=!0,console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")),R(t)||k(t)===c},e.isConcurrentMode=R,e.isContextConsumer=function(t){return k(t)===l},e.isContextProvider=function(t){return k(t)===a},e.isElement=function(t){return"object"==typeof t&&null!==t&&t.$$typeof===n},e.isForwardRef=function(t){return k(t)===d},e.isFragment=function(t){return k(t)===r},e.isLazy=function(t){return k(t)===m},e.isMemo=function(t){return k(t)===p},e.isPortal=function(t){return k(t)===i},e.isProfiler=function(t){return k(t)===s},e.isStrictMode=function(t){return k(t)===o},e.isSuspense=function(t){return k(t)===h},e.isValidElementType=function(t){return"string"==typeof t||"function"==typeof t||t===r||t===u||t===s||t===o||t===h||t===f||"object"==typeof t&&null!==t&&(t.$$typeof===m||t.$$typeof===p||t.$$typeof===a||t.$$typeof===l||t.$$typeof===d||t.$$typeof===g||t.$$typeof===y||t.$$typeof===b||t.$$typeof===v)},e.typeOf=k}()}));ot.AsyncMode,ot.ConcurrentMode,ot.ContextConsumer,ot.ContextProvider,ot.Element,ot.ForwardRef,ot.Fragment,ot.Lazy,ot.Memo,ot.Portal,ot.Profiler,ot.StrictMode,ot.Suspense,ot.isAsyncMode,ot.isConcurrentMode,ot.isContextConsumer,ot.isContextProvider,ot.isElement,ot.isForwardRef,ot.isFragment,ot.isLazy,ot.isMemo,ot.isPortal,ot.isProfiler,ot.isStrictMode,ot.isSuspense,ot.isValidElementType,ot.typeOf;var st=D((function(t){"production"===process.env.NODE_ENV?t.exports=rt:t.exports=ot})),at=Object.getOwnPropertySymbols,lt=Object.prototype.hasOwnProperty,ct=Object.prototype.propertyIsEnumerable;
/*
object-assign
(c) Sindre Sorhus
@license MIT
*/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 Ht(t){return`#variantId=${encodeURIComponent(t)}`}const Gt=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(Ht(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(Ht(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}))}));Gt.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},Gt.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(Gt,{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:"4.0.17"},()=>{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,He,Ge,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="http://www.w3.org/1999/xhtml",bn="@attach",kn=!1;var wn=Array.isArray,xn=Array.prototype.indexOf,_n=Array.from,In=Object.defineProperty,Tn=Object.getOwnPropertyDescriptor,En=Object.getOwnPropertyDescriptors,Sn=Object.prototype,Mn=Array.prototype,An=Object.getPrototypeOf,Nn=Object.isExtensible;const Cn=()=>{};function Fn(){var t,e;return{promise:new Promise(((n,i)=>{t=n,e=i})),resolve:t,reject:e}}const On=2,Pn=4,Rn=8,Dn=1<<24,Bn=16,Ln=32,zn=64,Wn=128,jn=512,$n=1024,Un=2048,qn=4096,Vn=8192,Hn=16384,Gn=32768,Kn=65536,Xn=1<<17,Yn=1<<18,Qn=1<<19,Jn=1<<20,Zn=1<<25,ti=32768,ei=1<<21,ni=1<<22,ii=1<<23,ri=Symbol("$state"),oi=Symbol("legacy props"),si=Symbol(""),ai=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"},li=3,ci=8;function ui(t){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function di(t){console.warn("https://svelte.dev/e/hydration_mismatch")}let hi,fi=!1;function pi(t){fi=t}function mi(t){if(null===t)throw di(),vn;return hi=t}function vi(){return mi(po(hi))}function gi(t){if(fi){if(null!==po(hi))throw di(),vn;hi=t}}function yi(t=!0){for(var e=0,n=hi;;){if(n.nodeType===ci){var i=n.data;if(i===mn){if(0===e)return n;e-=1}else i!==fn&&i!==pn||(e+=1)}var r=po(n);t&&n.remove(),n=r}}function bi(t){if(!t||t.nodeType!==ci)throw di(),vn;return t.data}function ki(t){return t===this.v}function wi(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 xi=!1,_i=null;function Ii(t){_i=t}function Ti(t){return Mi().get(t)}function Ei(t,e=!1,n){_i={p:_i,i:!1,c:null,e:null,s:t,x:null,l:null}}function Si(t){var e=_i,n=e.e;if(null!==n)for(var i of(e.e=null,n))So(i);return e.i=!0,_i=e.p,{}}function Mi(t){var e,n;return null===_i&&ui(),null!==(n=(e=_i).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}(_i)||void 0)}let Ai=[];function Ni(){var t=Ai;Ai=[],function(t){for(var e=0;e<t.length;e++)t[e]()}(t)}function Ci(t){if(0===Ai.length&&!Hi){var e=Ai;queueMicrotask((()=>{e===Ai&&Ni()}))}Ai.push(t)}function Fi(){for(;Ai.length>0;)Ni()}function Oi(t){var e=Yo;if(null===e)return Go.f|=ii,t;if(e.f&Gn)Pi(t,e);else{if(!(e.f&Wn))throw t;e.b.error(t)}}function Pi(t,e){for(;null!==e;){if(e.f&Wn)try{return void e.b.error(t)}catch(e){t=e}e=e.parent}throw t}const Ri=-7169;function Di(t,e){t.f=t.f&Ri|e}function Bi(t){t.f&jn||null===t.deps?Di(t,$n):Di(t,qn)}function Li(t){if(null!==t)for(const e of t)e.f&On&&e.f&ti&&(e.f^=ti,Li(e.deps))}function zi(t,e,n){t.f&Un?e.add(t):t.f&qn&&n.add(t),Li(t.deps),Di(t,$n)}const Wi=new Set;let ji=null,$i=null,Ui=[],qi=null,Vi=!1,Hi=!1;var Gi=new WeakMap,Ki=new WeakMap,Xi=new WeakMap,Yi=new WeakMap,Qi=new WeakMap,Ji=new WeakMap,Zi=new WeakMap,tr=new WeakSet;class er{constructor(){O(this,tr),P(this,"committed",!1),P(this,"current",new Map),P(this,"previous",new Map),C(this,Gi,new Set),C(this,Ki,new Set),C(this,Xi,0),C(this,Yi,0),C(this,Qi,null),C(this,Ji,new Set),C(this,Zi,new Set),P(this,"skipped_effects",new Set),P(this,"is_fork",!1)}is_deferred(){return this.is_fork||N(Yi,this)>0}process(t){Ui=[],this.apply();var e,n=[],i=[];for(const e of t)M(tr,this,nr).call(this,e,n,i);(this.is_fork||M(tr,this,rr).call(this),this.is_deferred())?(M(tr,this,ir).call(this,i),M(tr,this,ir).call(this,n)):(ji=null,cr(i),cr(n),null===(e=N(Qi,this))||void 0===e||e.resolve());$i=null}capture(t,e){var n;(e===gn||this.previous.has(t)||this.previous.set(t,e),t.f&ii)||(this.current.set(t,t.v),null===(n=$i)||void 0===n||n.set(t,t.v))}activate(){ji=this,this.apply()}deactivate(){ji===this&&(ji=null,$i=null)}flush(){if(this.activate(),Ui.length>0){if(sr(),null!==ji&&ji!==this)return}else 0===N(Xi,this)&&this.process([]);this.deactivate()}discard(){for(const t of N(Ki,this))t(this);N(Ki,this).clear()}increment(t){F(Xi,this,N(Xi,this)+1),t&&F(Yi,this,N(Yi,this)+1)}decrement(t){F(Xi,this,N(Xi,this)-1),t&&F(Yi,this,N(Yi,this)-1),this.revive()}revive(){for(const t of N(Ji,this))N(Zi,this).delete(t),Di(t,Un),hr(t);for(const t of N(Zi,this))Di(t,qn),hr(t);this.flush()}oncommit(t){N(Gi,this).add(t)}ondiscard(t){N(Ki,this).add(t)}settled(){var t;return(null!==(t=N(Qi,this))&&void 0!==t?t:F(Qi,this,Fn())).promise}static ensure(){if(null===ji){const t=ji=new er;Wi.add(ji),Hi||er.enqueue((()=>{ji===t&&t.flush()}))}return ji}static enqueue(t){Ci(t)}apply(){}}function nr(t,e,n){t.f^=$n;for(var i=t.first,r=null;null!==i;){var o=i.f,s=!!(o&(Ln|zn));if(!(s&&!!(o&$n)||!!(o&Vn)||this.skipped_effects.has(i))&&null!==i.fn){s?i.f^=$n:null!==r&&o&(Pn|Rn|Dn)?r.b.defer_effect(i):o&Pn?e.push(i):ls(i)&&(o&Bn&&N(Ji,this).add(i),fs(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 ir(t){for(var e=0;e<t.length;e+=1)zi(t[e],N(Ji,this),N(Zi,this))}function rr(){if(0===N(Yi,this)){for(const t of N(Gi,this))t();N(Gi,this).clear()}0===N(Xi,this)&&M(tr,this,or).call(this)}function or(){if(Wi.size>1){this.previous.clear();var t=$i,e=!0;for(const t of Wi){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=Ui;Ui=[];const e=new Set,o=new Map;for(const t of i)ur(t,r,e,o);if(Ui.length>0){ji=t,t.apply();for(const e of Ui)M(tr,t,nr).call(t,e,[],[]);t.deactivate()}Ui=n}}ji=null,$i=t}this.committed=!0,Wi.delete(this)}function sr(){var t=Uo;Vi=!0;try{var e=0;for(qo(!0);Ui.length>0;){var n=er.ensure();if(e++>1e3)ar();n.process(Ui),Xr.clear()}}finally{Vi=!1,qo(t),qi=null}}function ar(){try{!function(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}()}catch(t){Pi(t,qi)}}let lr=null;function cr(t){var e=t.length;if(0!==e){for(var n=0;n<e;){var i,r=t[n++];if(!(r.f&(Hn|Vn))&&ls(r))if(lr=new Set,fs(r),null===r.deps&&null===r.first&&null===r.nodes&&(null===r.teardown&&null===r.ac?Bo(r):r.fn=null),(null===(i=lr)||void 0===i?void 0:i.size)>0){Xr.clear();for(const t of lr){if(t.f&(Hn|Vn))continue;const e=[t];let n=t.parent;for(;null!==n;)lr.has(n)&&(lr.delete(n),e.push(n)),n=n.parent;for(let t=e.length-1;t>=0;t--){const n=e[t];n.f&(Hn|Vn)||fs(n)}}lr.clear()}}lr=null}}function ur(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&On?ur(r,e,n,i):t&(ni|Bn)&&!(t&Un)&&dr(r,e,i)&&(Di(r,Un),hr(r))}}function dr(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&On&&dr(i,e,n))return n.set(i,!0),!0}return n.set(t,!1),!1}function hr(t){for(var e=qi=t;null!==e.parent;){var n=(e=e.parent).f;if(Vi&&e===Yo&&n&Bn&&!(n&Yn))return;if(n&(zn|Ln)){if(!(n&$n))return;e.f^=$n}}Ui.push(e)}var fr=Kn|Qn|Wn;var 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 WeakSet;class Fr{constructor(t,e,n){O(this,Cr),P(this,"parent",void 0),P(this,"is_pending",!1),C(this,pr,void 0),C(this,mr,fi?hi:null),C(this,vr,void 0),C(this,gr,void 0),C(this,yr,void 0),C(this,br,null),C(this,kr,null),C(this,wr,null),C(this,xr,null),C(this,_r,null),C(this,Ir,0),C(this,Tr,0),C(this,Er,!1),C(this,Sr,new Set),C(this,Mr,new Set),C(this,Ar,null),C(this,Nr,function(t){let e,n=0,i=Qr(0);return()=>{Io()&&(ms(i),Ao((()=>(0===n&&(e=ys((()=>t((()=>no(i)))))),n+=1,()=>{Ci((()=>{var t;n-=1,0===n&&(null===(t=e)||void 0===t||t(),e=void 0,no(i))}))}))))}}((()=>(F(Ar,this,Qr(N(Ir,this))),()=>{F(Ar,this,null)})))),F(pr,this,t),F(vr,this,e),F(gr,this,n),this.parent=Yo.b,this.is_pending=!!N(vr,this).pending,F(yr,this,Co((()=>{if(Yo.b=this,fi){const t=N(mr,this);vi();t.nodeType===ci&&t.data===pn?M(Cr,this,Pr).call(this):(M(Cr,this,Or).call(this),0===N(Tr,this)&&(this.is_pending=!1))}else{var t=M(Cr,this,Rr).call(this);try{F(br,this,Oo((()=>n(t))))}catch(t){this.error(t)}N(Tr,this)>0?M(Cr,this,Br).call(this):this.is_pending=!1}return()=>{var t;null===(t=N(_r,this))||void 0===t||t.remove()}}),fr)),fi&&F(pr,this,hi)}defer_effect(t){zi(t,N(Sr,this),N(Mr,this))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!N(vr,this).pending}update_pending_count(t){M(Cr,this,Lr).call(this,t),F(Ir,this,N(Ir,this)+t),N(Ar,this)&&eo(N(Ar,this),N(Ir,this))}get_effect_pending(){return N(Nr,this).call(this),ms(N(Ar,this))}error(t){var e=N(vr,this).onerror;let n=N(vr,this).failed;if(N(Er,this)||!e&&!n)throw t;N(br,this)&&(Do(N(br,this)),F(br,this,null)),N(kr,this)&&(Do(N(kr,this)),F(kr,this,null)),N(wr,this)&&(Do(N(wr,this)),F(wr,this,null)),fi&&(mi(N(mr,this)),function(t=1){if(fi){for(var e=t,n=hi;e--;)n=po(n);hi=n}}(),mi(yi()));var i=!1,r=!1;const o=()=>{i?console.warn("https://svelte.dev/e/svelte_boundary_reset_noop"):(i=!0,r&&function(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}(),er.ensure(),F(Ir,this,0),null!==N(wr,this)&&Lo(N(wr,this),(()=>{F(wr,this,null)})),this.is_pending=this.has_pending_snippet(),F(br,this,M(Cr,this,Dr).call(this,(()=>(F(Er,this,!1),Oo((()=>N(gr,this).call(this,N(pr,this)))))))),N(Tr,this)>0?M(Cr,this,Br).call(this):this.is_pending=!1)};var s=Go;try{Xo(null),r=!0,null==e||e(t,o),r=!1}catch(t){Pi(t,N(yr,this)&&N(yr,this).parent)}finally{Xo(s)}n&&Ci((()=>{F(wr,this,M(Cr,this,Dr).call(this,(()=>{er.ensure(),F(Er,this,!0);try{return Oo((()=>{n(N(pr,this),(()=>t),(()=>o))}))}catch(t){return Pi(t,N(yr,this).parent),null}finally{F(Er,this,!1)}})))}))}}function Or(){try{F(br,this,Oo((()=>N(gr,this).call(this,N(pr,this)))))}catch(t){this.error(t)}}function Pr(){const t=N(vr,this).pending;t&&(F(kr,this,Oo((()=>t(N(pr,this))))),er.enqueue((()=>{var t=M(Cr,this,Rr).call(this);F(br,this,M(Cr,this,Dr).call(this,(()=>(er.ensure(),Oo((()=>N(gr,this).call(this,t))))))),N(Tr,this)>0?M(Cr,this,Br).call(this):(Lo(N(kr,this),(()=>{F(kr,this,null)})),this.is_pending=!1)})))}function Rr(){var t=N(pr,this);return this.is_pending&&(F(_r,this,ho()),N(pr,this).before(N(_r,this)),t=N(_r,this)),t}function Dr(t){var e=Yo,n=Go,i=_i;Qo(N(yr,this)),Xo(N(yr,this)),Ii(N(yr,this).ctx);try{return t()}catch(t){return Oi(t),null}finally{Qo(e),Xo(n),Ii(i)}}function Br(){const t=N(vr,this).pending;null!==N(br,this)&&(F(xr,this,document.createDocumentFragment()),N(xr,this).append(N(_r,this)),$o(N(br,this),N(xr,this))),null===N(kr,this)&&F(kr,this,Oo((()=>t(N(pr,this)))))}function Lr(t){var e;if(this.has_pending_snippet()){if(F(Tr,this,N(Tr,this)+t),0===N(Tr,this)){this.is_pending=!1;for(const t of N(Sr,this))Di(t,Un),hr(t);for(const t of N(Mr,this))Di(t,qn),hr(t);N(Sr,this).clear(),N(Mr,this).clear(),N(kr,this)&&Lo(N(kr,this),(()=>{F(kr,this,null)})),N(xr,this)&&(N(pr,this).before(N(xr,this)),F(xr,this,null))}}else this.parent&&M(Cr,e=this.parent,Lr).call(e,t)}function zr(t,e,n,i){const r=jr;if(0!==n.length||0!==t.length){var o,s,a,l,c=ji,u=Yo,d=(o=Yo,s=Go,a=_i,l=ji,function(t=!0){Qo(o),Xo(s),Ii(a),t&&(null==l||l.activate())});t.length>0?Promise.all(t).then((()=>{d();try{return h()}finally{null==c||c.deactivate(),Wr()}})):h()}else i(e.map(r));function h(){Promise.all(n.map((t=>$r(t)))).then((t=>{d();try{i([...e.map(r),...t])}catch(t){u.f&Hn||Pi(t,u)}null==c||c.deactivate(),Wr()})).catch((t=>{Pi(t,u)}))}}function Wr(){Qo(null),Xo(null),Ii(null)}function jr(t){var e=On|Un,n=null!==Go&&Go.f&On?Go:null;null!==Yo&&(Yo.f|=Qn);return{ctx:_i,deps:null,effects:null,equals:ki,f:e,fn:t,reactions:null,rv:0,v:gn,wv:0,parent:null!=n?n:Yo,ac:null}}function $r(t,e,n){let i=Yo;null===i&&function(){throw new Error("https://svelte.dev/e/async_derived_orphan")}();var r=i.b,o=void 0,s=Qr(gn),a=!Go,l=new Map;return function(t){_o(ni|Qn,t,!0)}((()=>{var e=Fn();o=e.promise;try{Promise.resolve(t()).then(e.resolve,e.reject).then((()=>{n===ji&&n.committed&&n.deactivate(),Wr()}))}catch(t){e.reject(t),Wr()}var n=ji;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(ai),l.delete(n),l.set(n,e)}const u=(t,e=void 0)=>{if(n.activate(),e)e!==ai&&(s.f|=ii,eo(s,e));else{s.f&ii&&(s.f^=ii),eo(s,t);for(const[t,e]of l){if(l.delete(t),t===n)break;e.reject(ai)}}a&&(r.update_pending_count(-1),n.decrement(c))};e.promise.then(u,(t=>u(null,t||"unknown")))})),To((()=>{for(const t of l.values())t.reject(ai)})),new Promise((t=>{!function e(n){function i(){n===o?t(s):e(o)}n.then(i,i)}(o)}))}function Ur(t){const e=jr(t);return Zo(e),e}function qr(t){const e=jr(t);return e.equals=wi,e}function Vr(t){var e=t.effects;if(null!==e){t.effects=null;for(var n=0;n<e.length;n+=1)Do(e[n])}}function Hr(t){var e,n=Yo;Qo(function(t){for(var e=t.parent;null!==e;){if(!(e.f&On))return e.f&Hn?null:e;e=e.parent}return null}(t));try{t.f&=~ti,Vr(t),e=us(t)}finally{Qo(n)}return e}function Gr(t){var e,n,i=Hr(t);if(!t.equals(i)&&(t.wv=as(),(null===(e=ji)||void 0===e||!e.is_fork||null===t.deps)&&(t.v=i,null===t.deps)))return void Di(t,$n);Vo||(null!==$i?(Io()||null!==(n=ji)&&void 0!==n&&n.is_fork)&&$i.set(t,i):Bi(t))}let Kr=new Set;const Xr=new Map;let Yr=!1;function Qr(t,e){return{f:0,v:t,reactions:null,equals:ki,rv:0,wv:0}}function Jr(t,e){const n=Qr(t);return Zo(n),n}function Zr(t,e=!1,n=!0){const i=Qr(t);return e||(i.equals=wi),i}function to(t,e,n=!1){var i;return null!==Go&&(!Ko||Go.f&Xn)&&Go.f&(On|Bn|ni|Xn)&&(null===(i=Jo)||void 0===i||!i.includes(t))&&function(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}(),eo(t,n?ro(e):e)}function eo(t,e){if(!t.equals(e)){var n=t.v;Vo?Xr.set(t,e):Xr.set(t,n),t.v=e;var i=er.ensure();if(i.capture(t,n),t.f&On){const e=t;t.f&Un&&Hr(e),Bi(e)}t.wv=as(),io(t,Un),null!==Yo&&Yo.f&$n&&!(Yo.f&(Ln|zn))&&(null===ns?function(t){ns=t}([t]):ns.push(t)),!i.is_fork&&Kr.size>0&&!Yr&&function(){Yr=!1;var t=Uo;qo(!0);const e=Array.from(Kr);try{for(const t of e)t.f&$n&&Di(t,qn),ls(t)&&fs(t)}finally{qo(t)}Kr.clear()}()}return e}function no(t){to(t,t.v+1)}function io(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,a=!(s&Un);if(a&&Di(o,e),s&On){var l,c=o;null===(l=$i)||void 0===l||l.delete(c),s&ti||(s&jn&&(o.f|=ti),io(c,qn))}else a&&(s&Bn&&null!==lr&&lr.add(o),hr(o))}}function ro(t){if("object"!=typeof t||null===t||ri in t)return t;const e=An(t);if(e!==Sn&&e!==Mn)return t;var n=new Map,i=wn(t),r=Jr(0),o=os,s=t=>{if(os===o)return t();var e=Go,n=os;Xo(null),ss(o);var i=t();return Xo(e),ss(n),i};return i&&n.set("length",Jr(t.length)),new Proxy(t,{defineProperty(t,e,i){"value"in i&&!1!==i.configurable&&!1!==i.enumerable&&!1!==i.writable||function(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}();var r=n.get(e);return void 0===r?r=s((()=>{var t=Jr(i.value);return n.set(e,t),t})):to(r,i.value,!0),!0},deleteProperty(t,e){var i=n.get(e);if(void 0===i){if(e in t){const t=s((()=>Jr(gn)));n.set(e,t),no(r)}}else to(i,gn),no(r);return!0},get(e,i,r){var o;if(i===ri)return t;var a=n.get(i),l=i in e;if(void 0===a&&(!l||null!==(o=Tn(e,i))&&void 0!==o&&o.writable)&&(a=s((()=>Jr(ro(l?e[i]:gn)))),n.set(i,a)),void 0!==a){var c=ms(a);return c===gn?void 0:c}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=ms(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===ri)return!0;var r=n.get(e),o=void 0!==r&&r.v!==gn||Reflect.has(t,e);if((void 0!==r||null!==Yo&&(!o||null!==(i=Tn(t,e))&&void 0!==i&&i.writable))&&(void 0===r&&(r=s((()=>Jr(o?ro(t[e]):gn))),n.set(e,r)),ms(r)===gn))return!1;return o},set(t,e,o,a){var l,c=n.get(e),u=e in t;if(i&&"length"===e)for(var d=o;d<c.v;d+=1){var h=n.get(d+"");void 0!==h?to(h,gn):d in t&&(h=s((()=>Jr(gn))),n.set(d+"",h))}void 0===c?(!u||null!==(l=Tn(t,e))&&void 0!==l&&l.writable)&&(to(c=s((()=>Jr(void 0))),ro(o)),n.set(e,c)):(u=c.v!==gn,to(c,s((()=>ro(o)))));var f=Reflect.getOwnPropertyDescriptor(t,e);if(null!=f&&f.set&&f.set.call(a,o),!u){if(i&&"string"==typeof e){var p=n.get("length"),m=Number(e);Number.isInteger(m)&&m>=p.v&&to(p,m+1)}no(r)}return!0},ownKeys(t){ms(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(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}()}})}function oo(t){try{if(null!==t&&"object"==typeof t&&ri in t)return t[ri]}catch{}return t}var so,ao,lo,co;function uo(){if(void 0===so){so=window,ao=/Firefox/.test(navigator.userAgent);var t=Element.prototype,e=Node.prototype,n=Text.prototype;lo=Tn(e,"firstChild").get,co=Tn(e,"nextSibling").get,Nn(t)&&(t.__click=void 0,t.__className=void 0,t.__attributes=null,t.__style=void 0,t.__e=void 0),Nn(n)&&(n.__t=void 0)}}function ho(t=""){return document.createTextNode(t)}function fo(t){return lo.call(t)}function po(t){return co.call(t)}function mo(t,e){if(!fi)return fo(t);var n=fo(hi);if(null===n)n=hi.appendChild(ho());else if(e&&n.nodeType!==li){var i,r=ho();return null===(i=n)||void 0===i||i.before(r),mi(r),r}return mi(n),n}function vo(t,e=!1){var n;if(!fi){var i=fo(t);return i instanceof Comment&&""===i.data?po(i):i}if(e&&(null===(n=hi)||void 0===n?void 0:n.nodeType)!==li){var r,o=ho();return null===(r=hi)||void 0===r||r.before(o),mi(o),o}return hi}function go(t,e=1,n=!1){var i;let r=fi?hi:t;for(var o;e--;)o=r,r=po(r);if(!fi)return r;if(n&&(null===(i=r)||void 0===i?void 0:i.nodeType)!==li){var s,a=ho();if(null===r)null===(s=o)||void 0===s||s.after(a);else r.before(a);return mi(a),a}return mi(r),r}function yo(t){t.textContent=""}function bo(t,e){if(e){const e=document.body;t.autofocus=!0,Ci((()=>{document.activeElement===e&&t.focus()}))}}let ko=!1;function wo(t){var e=Go,n=Yo;Xo(null),Qo(null);try{return t()}finally{Xo(e),Qo(n)}}function xo(t){null===Yo&&(null===Go&&function(){throw new Error("https://svelte.dev/e/effect_orphan")}(),function(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}()),Vo&&function(){throw new Error("https://svelte.dev/e/effect_in_teardown")}()}function _o(t,e,n){var i=Yo;null!==i&&i.f&Vn&&(t|=Vn);var r={ctx:_i,deps:null,nodes:null,f:t|Un|jn,first:null,fn:e,last:null,next:null,parent:i,b:i&&i.b,prev:null,teardown:null,wv:0,ac:null};if(n)try{fs(r),r.f|=Gn}catch(t){throw Do(r),t}else null!==e&&hr(r);var o=r;if(!n||null!==o.deps||null!==o.teardown||null!==o.nodes||o.first!==o.last||o.f&Qn||(o=o.first,t&Bn&&t&Kn&&null!==o&&(o.f|=Kn)),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!==Go&&Go.f&On&&!(t&zn))){var s,a=Go;(null!==(s=a.effects)&&void 0!==s?s:a.effects=[]).push(o)}return r}function Io(){return null!==Go&&!Ko}function To(t){const e=_o(Rn,null,!1);return Di(e,$n),e.teardown=t,e}function Eo(t){xo();var e=Yo.f;if(!!(Go||!(e&Ln)||e&Gn))return So(t);var n,i=_i;(null!==(n=i.e)&&void 0!==n?n:i.e=[]).push(t)}function So(t){return _o(Pn|Jn,t,!1)}function Mo(t){return _o(Pn,t,!1)}function Ao(t,e=0){return _o(Rn|e,t,!0)}function No(t,e=[],n=[],i=[]){zr(i,e,n,(e=>{_o(Rn,(()=>t(...e.map(ms))),!0)}))}function Co(t,e=0){return _o(Bn|e,t,!0)}function Fo(t,e=0){return _o(Dn|e,t,!0)}function Oo(t){return _o(Ln|Qn,t,!0)}function Po(t){var e=t.teardown;if(null!==e){const t=Vo,n=Go;Ho(!0),Xo(null);try{e.call(null)}finally{Ho(t),Xo(n)}}}function Ro(t,e=!1){var n=t.first;for(t.first=t.last=null;null!==n;){const t=n.ac;null!==t&&wo((()=>{t.abort(ai)}));var i=n.next;n.f&zn?n.parent=null:Do(n,e),n=i}}function Do(t,e=!0){var n=!1;(e||t.f&Yn)&&null!==t.nodes&&null!==t.nodes.end&&(!function(t,e){for(;null!==t;){var n=t===e?null:po(t);t.remove(),t=n}}(t.nodes.start,t.nodes.end),n=!0),Ro(t,e&&!n),hs(t,0),Di(t,Hn);var i=t.nodes&&t.nodes.t;if(null!==i)for(const t of i)t.stop();Po(t);var r=t.parent;null!==r&&null!==r.first&&Bo(t),t.next=t.prev=t.teardown=t.ctx=t.deps=t.fn=t.nodes=t.ac=null}function Bo(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 Lo(t,e,n=!0){var i=[];zo(t,i,!0);var r=()=>{n&&Do(t),e&&e()},o=i.length;if(o>0){var s=()=>--o||r();for(var a of i)a.out(s)}else r()}function zo(t,e,n){if(!(t.f&Vn)){t.f^=Vn;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;zo(r,e,!!(!!(r.f&Kn)||!!(r.f&Ln)&&!!(t.f&Bn))&&n),r=o}}}function Wo(t){jo(t,!0)}function jo(t,e){if(t.f&Vn){t.f^=Vn,t.f&$n||(Di(t,Un),hr(t));for(var n=t.first;null!==n;){var i=n.next;jo(n,!!(!!(n.f&Kn)||!!(n.f&Ln))&&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 $o(t,e){if(t.nodes)for(var n=t.nodes.start,i=t.nodes.end;null!==n;){var r=n===i?null:po(n);e.append(n),n=r}}let Uo=!1;function qo(t){Uo=t}let Vo=!1;function Ho(t){Vo=t}let Go=null,Ko=!1;function Xo(t){Go=t}let Yo=null;function Qo(t){Yo=t}let Jo=null;function Zo(t){null!==Go&&(null===Jo?Jo=[t]:Jo.push(t))}let ts=null,es=0,ns=null;let is=1,rs=0,os=rs;function ss(t){os=t}function as(){return++is}function ls(t){var e=t.f;if(e&Un)return!0;if(e&On&&(t.f&=~ti),e&qn){for(var n=t.deps,i=n.length,r=0;r<i;r++){var o=n[r];if(ls(o)&&Gr(o),o.wv>t.wv)return!0}e&jn&&null===$i&&Di(t,$n)}return!1}function cs(t,e,n=!0){var i,r=t.reactions;if(null!==r&&(null===(i=Jo)||void 0===i||!i.includes(t)))for(var o=0;o<r.length;o++){var s=r[o];s.f&On?cs(s,e,!1):e===s&&(n?Di(s,Un):s.f&$n&&Di(s,qn),hr(s))}}function us(t){var e=ts,n=es,i=ns,r=Go,o=Jo,s=_i,a=Ko,l=os,c=t.f;ts=null,es=0,ns=null,Go=c&(Ln|zn)?null:t,Jo=null,Ii(t.ctx),Ko=!1,os=++rs,null!==t.ac&&(wo((()=>{t.ac.abort(ai)})),t.ac=null);try{t.f|=ei;var u=(0,t.fn)(),d=t.deps;if(null!==ts){var h;if(hs(t,es),null!==d&&es>0)for(d.length=es+ts.length,h=0;h<ts.length;h++)d[es+h]=ts[h];else t.deps=d=ts;if(Io()&&t.f&jn)for(h=es;h<d.length;h++){var f,p;(null!==(p=(f=d[h]).reactions)&&void 0!==p?p:f.reactions=[]).push(t)}}else null!==d&&es<d.length&&(hs(t,es),d.length=es);if(!(null===ns||Ko||null===d||t.f&(On|qn|Un)))for(h=0;h<ns.length;h++)cs(ns[h],t);return null!==r&&r!==t&&(rs++,null!==ns&&(null===i?i=ns:i.push(...ns))),t.f&ii&&(t.f^=ii),u}catch(t){return Oi(t)}finally{t.f^=ei,ts=e,es=n,ns=i,Go=r,Jo=o,Ii(s),Ko=a,os=l}}function ds(t,e){let n=e.reactions;if(null!==n){var i=xn.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&On&&(null===ts||!ts.includes(e))){var o=e;o.f&jn&&(o.f^=jn,o.f&=~ti),Bi(o),Vr(o),hs(o,0)}}function hs(t,e){var n=t.deps;if(null!==n)for(var i=e;i<n.length;i++)ds(t,n[i])}function fs(t){var e=t.f;if(!(e&Hn)){Di(t,$n);var n=Yo,i=Uo;Yo=t,Uo=!0;try{e&(Bn|Dn)?function(t){for(var e=t.first;null!==e;){var n=e.next;e.f&Ln||Do(e),e=n}}(t):Ro(t),Po(t);var r=us(t);t.teardown="function"==typeof r?r:null,t.wv=is,kn&&xi&&t.f&Un&&t.deps}finally{Uo=i,Yo=n}}}async function ps(){await Promise.resolve(),function(){var t=Hi;Hi=!0;try{for(;;){var e;if(Fi(),0===Ui.length&&(null===(e=ji)||void 0===e||e.flush(),0===Ui.length))return void(qi=null);sr()}}finally{Hi=t}}()}function ms(t){var e,n,i=!!(t.f&On);if(null!==Go&&!Ko&&!(null!==Yo&&!!(Yo.f&Hn)||null!==(n=Jo)&&void 0!==n&&n.includes(t))){var r=Go.deps;if(Go.f&ei)t.rv<rs&&(t.rv=rs,null===ts&&null!==r&&r[es]===t?es++:null===ts?ts=[t]:ts.includes(t)||ts.push(t));else{var o,s;(null!==(s=(o=Go).deps)&&void 0!==s?s:o.deps=[]).push(t);var a=t.reactions;null===a?t.reactions=[Go]:a.includes(Go)||a.push(Go)}}if(Vo&&Xr.has(t))return Xr.get(t);if(i){var l=t;if(Vo){var c=l.v;return(l.f&$n||null===l.reactions)&&!gs(l)||(c=Hr(l)),Xr.set(l,c),c}var u=!(l.f&jn)&&!Ko&&null!==Go&&(Uo||!!(Go.f&jn)),d=null===l.deps;ls(l)&&(u&&(l.f|=jn),Gr(l)),u&&!d&&vs(l)}if(null!==(e=$i)&&void 0!==e&&e.has(t))return $i.get(t);if(t.f&ii)throw t.v;return t.v}function vs(t){if(null!==t.deps){t.f|=jn;for(const n of t.deps){var e;(null!==(e=n.reactions)&&void 0!==e?e:n.reactions=[]).push(t),n.f&On&&!(n.f&jn)&&vs(n)}}}function gs(t){if(t.v===gn)return!0;if(null===t.deps)return!1;for(const e of t.deps){if(Xr.has(e))return!0;if(e.f&On&&gs(e))return!0}return!1}function ys(t){var e=Ko;try{return Ko=!0,t()}finally{Ko=e}}const bs=new Set,ks=new Set;function ws(t,e,n,i={}){function r(t){if(i.capture||Ts.call(e,t),!t.cancelBubble)return wo((()=>null==n?void 0:n.call(this,t)))}return t.startsWith("pointer")||t.startsWith("touch")||"wheel"===t?Ci((()=>{e.addEventListener(t,r,i)})):e.addEventListener(t,r,i),r}function xs(t,e,n,i,r){var o={capture:i,passive:r},s=ws(t,e,n,o);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&To((()=>{e.removeEventListener(t,s,o)}))}function _s(t){for(var e=0;e<t.length;e++)bs.add(t[e]);for(var n of ks)n(t)}let Is=null;function Ts(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;Is=t;var a=0,l=Is===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){In(t,"currentTarget",{configurable:!0,get:()=>s||i});var d=Go,h=Yo;Xo(null),Qo(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,Xo(d),Qo(h)}}}function Es(t){var e=document.createElement("template");return e.innerHTML=t.replaceAll("<!>","\x3c!----\x3e"),e.content}function Ss(t,e){var n=Yo;null===n.nodes&&(n.nodes={start:t,end:e,a:null,t:null})}function Ms(t,e){var n,i=!!(1&e),r=!!(2&e),o=!t.startsWith("<!>");return()=>{if(fi)return Ss(hi,null),hi;void 0===n&&(n=Es(o?t:"<!>"+t),i||(n=fo(n)));var e=r||ao?document.importNode(n,!0):n.cloneNode(!0);i?Ss(fo(e),e.lastChild):Ss(e,e);return e}}function As(t,e,n="svg"){var i,r=`<${n}>${!t.startsWith("<!>")?t:"<!>"+t}</${n}>`;return()=>{if(fi)return Ss(hi,null),hi;if(!i){var t=Es(r);i=fo(fo(t))}var e=i.cloneNode(!0);return Ss(e,e),e}}function Ns(t,e){return As(t,0,"svg")}function Cs(){if(fi)return Ss(hi,null),hi;var t=document.createDocumentFragment(),e=document.createComment(""),n=ho();return t.append(e,n),Ss(e,n),t}function Fs(t,e){if(fi){var n=Yo;return n.f&Gn&&null!==n.nodes.end||(n.nodes.end=hi),void vi()}null!==t&&t.before(e)}function Os(t){return t.endsWith("capture")&&"gotpointercapture"!==t&&"lostpointercapture"!==t}const Ps=["beforeinput","click","change","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"];function Rs(t){return Ps.includes(t)}const Ds={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 Bs(t){var e;return t=t.toLowerCase(),null!==(e=Ds[t])&&void 0!==e?e:t}const Ls=["touchstart","touchmove"];let zs=!0;function Ws(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 js(t,e){return qs(t,e)}function $s(t,e){var n;uo(),e.intro=null!==(n=e.intro)&&void 0!==n&&n;const i=e.target,r=fi,o=hi;try{for(var s=fo(i);s&&(s.nodeType!==ci||s.data!==fn);)s=po(s);if(!s)throw vn;pi(!0),mi(s);const n=qs(t,{...e,anchor:s});return pi(!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(){throw new Error("https://svelte.dev/e/hydration_failed")}(),uo(),yo(i),pi(!1),js(t,e)}finally{pi(r),mi(o)}}const Us=new Map;function qs(t,{target:e,anchor:n,props:i={},events:r,context:o,intro:s=!0}){uo();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,Ls.includes(s));e.addEventListener(i,Ts,{passive:r});var o=Us.get(i);void 0===o?(document.addEventListener(i,Ts,{passive:r}),Us.set(i,1)):Us.set(i,o+1)}}var s};l(_n(bs)),ks.add(l);var c=void 0,u=function(t){er.ensure();const e=_o(zn|Qn,t,!0);return(t={})=>new Promise((n=>{t.outro?Lo(e,(()=>{Do(e),n(void 0)})):(Do(e),n(void 0))}))}((()=>{var u=null!=n?n:e.appendChild(ho());return function(t,e,n){new Fr(t,e,n)}(u,{pending:()=>{}},(e=>{o&&(Ei({}),_i.c=o);if(r&&(i.$$events=r),fi&&Ss(e,null),zs=s,c=t(e,i)||{},zs=!0,fi&&(Yo.nodes.end=hi,null===hi||hi.nodeType!==ci||hi.data!==mn))throw di(),vn;o&&Si()})),()=>{for(var t of a){e.removeEventListener(t,Ts);var i=Us.get(t);0==--i?(document.removeEventListener(t,Ts),Us.delete(t)):Us.set(t,i)}var r;(ks.delete(l),u!==n)&&(null===(r=u.parentNode)||void 0===r||r.removeChild(u))}}));return Vs.set(c,u),c}let Vs=new WeakMap;class Hs{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=ji;if(this.#t.has(t)){var e=this.#t.get(t),n=this.#e.get(e);if(n)Wo(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&&(Do(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();$o(i,e),e.append(ho()),this.#n.set(t,{effect:i,fragment:e})}else Do(i);this.#i.delete(t),this.#e.delete(t)};this.#r||!n?(this.#i.add(t),Lo(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)||(Do(n.effect),this.#n.delete(t))};ensure(t,e){var n=ji;!e||this.#e.has(t)||this.#n.has(t)||this.#e.set(t,Oo((()=>e(this.anchor)))),this.#t.set(n,t),fi&&(this.anchor=hi),this.#o()}}function Gs(t){null===_i&&ui(),Eo((()=>{const e=ys(t);if("function"==typeof e)return e}))}function Ks(t,e,n=!1){fi&&vi();var i=new Hs(t);function r(e,n){if(fi){if(e===(bi(t)===pn)){var r=yi();return mi(r),i.anchor=r,pi(!1),i.ensure(e,n),void pi(!0)}}i.ensure(e,n)}Co((()=>{var t=!1;e(((e,n=!0)=>{t=!0,r(n,e)})),t||r(!1,null)}),n?Kn:0)}function Xs(t,e){return e}function Ys(t,e=!0){for(var n=0;n<t.length;n++)Do(t[n],e)}var Qs;function Js(t,e,n,i,r,o=null){var s=t,a=new Map;if(!!(e&on)){var l=t;s=fi?mi(fo(l)):l.appendChild(ho())}fi&&vi();var c,u=null,d=qr((()=>{var t=n();return wn(t)?t:null==t?[]:_n(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&Zn))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&Zn){if(l.f^=Zn,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),ea(t,p,l),ea(t,l,b),ta(l,b,n),m=[],v=[],f=(p=l).next;continue}ta(l,null,n)}var k,w;if(l.f&Vn)if(Wo(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)ta(m[x],_,n);for(x=0;x<v.length;x+=1)o.delete(v[x]);ea(t,I.prev,T.next),ea(t,p,I),ea(t,T,_),f=_,p=T,c-=1,m=[],v=[]}else o.delete(l),ta(l,f,n),ea(t,l.prev,l.next),ea(t,l,null===p?t.effect.first:p.next),ea(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&Zn||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)Ys(_n(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&Vn||M.push(l);for(;null!==f;)f.f&Vn||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];Lo(n,(()=>{if(i){if(i.pending.delete(n),i.done.add(n),0===i.pending.size){var e=t.outrogroups;Ys(_n(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;yo(c),c.append(l),t.items.clear()}Ys(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&&Ci((()=>{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&Zn?(u.f^=Zn,ta(u,null,s)):Wo(u):Lo(u,(()=>{u=null})))}var p=Co((()=>{var t=(c=ms(d)).length;let l=!1;fi&&(bi(s)===pn!==(0===t)&&(mi(s=yi()),pi(!1),l=!0));for(var p=new Set,m=0;m<t;m+=1){fi&&hi.nodeType===ci&&hi.data===mn&&(s=hi,l=!0,pi(!1));var v,g=c[m],y=i(g,m),b=h?null:a.get(y);if(b)b.v&&eo(b.v,g),b.i&&eo(b.i,m);else b=Zs(a,h?s:null!==(v=Qs)&&void 0!==v?v:Qs=ho(),g,y,m,r,e,n),h||(b.e.f|=Zn),a.set(y,b);p.add(y)}0===t&&o&&!u&&(h?u=Oo((()=>o(s))):(u=Oo((()=>{var t;return o(null!==(t=Qs)&&void 0!==t?t:Qs=ho())}))).f|=Zn),fi&&t>0&&mi(yi()),h||f(),l&&pi(!0),ms(d)})),m={effect:p,items:a,outrogroups:null,fallback:u};h=!1,fi&&(s=hi)}function Zs(t,e,n,i,r,o,s,a){var l=s&nn?s&an?Qr(n):Zr(n,!1,!1):null,c=s&rn?Qr(r):null;return{v:l,i:c,e:Oo((()=>(o(e,null!=l?l:n,null!=c?c:r,a),()=>{t.delete(i)})))}}function ta(t,e,n){if(t.nodes)for(var i=t.nodes.start,r=t.nodes.end,o=!e||e.f&Zn?n:e.nodes.start;null!==i;){var s=po(i);if(o.before(i),i===r)return;i=s}}function ea(t,e,n){null===e?t.effect.first=n:e.next=n,null===n?t.effect.last=e:n.prev=e}const na={tick:t=>requestAnimationFrame(t),now:()=>performance.now(),tasks:new Set};function ia(){const t=na.now();na.tasks.forEach((e=>{e.c(t)||(na.tasks.delete(e),e.f())})),0!==na.tasks.size&&na.tick(ia)}function ra(t,e){wo((()=>{t.dispatchEvent(new CustomEvent(e))}))}function oa(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 sa(t){const e={},n=t.split(";");for(const t of n){const[n,i]=t.split(":");if(!n||void 0===i)break;e[oa(n.trim())]=i.trim()}return e}const aa=t=>t;function la(t,e,n,i){var r,o,s,a,l,c=!!(t&hn),u=e.inert,d=e.style.overflow;function h(){return wo((()=>{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,ra(e,"introstart"),a=ca(e,h(),l,1,(()=>{var t;ra(e,"introend"),null===(t=a)||void 0===t||t.abort(),a=s=void 0,e.style.overflow=d}))},out(t){e.inert=!0,ra(e,"outrostart"),l=ca(e,h(),a,0,(()=>{ra(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=Yo;if((null!==(o=(r=p.nodes).t)&&void 0!==o?o:r.t=[]).push(f),zs){var m=c;if(!m){for(var v=p.parent;v&&v.f&Kn;)for(;(v=v.parent)&&!(v.f&Bn););m=!v||!!(v.f&Gn)}m&&Mo((()=>{ys((()=>f.in()))}))}}function ca(t,e,n,i,r){var o=1===i;if("function"==typeof e){var s,a=!1;return Ci((()=>{if(!a){var l=e({direction:o?"in":"out"});s=ca(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:Cn,deactivate:Cn,reset:Cn,t:()=>i};const{delay:l=0,css:c,tick:u,easing:d=aa}=e;var h=[];if(o&&void 0===n&&(u&&u(0,1),c)){var f=sa(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=sa(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===na.tasks.size&&na.tick(ia),new Promise((n=>{na.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=Cn)},deactivate:()=>{r=Cn},reset:()=>{0===i&&(null==u||u(1,0))},t:()=>p()}}function ua(t,e){Mo((()=>{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 da(t,e){var n,i=void 0;Fo((()=>{i!==(i=e())&&(n&&(Do(n),n=null),i&&(n=Oo((()=>{Mo((()=>i(t)))}))))}))}function ha(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=ha(t[e]))&&(i&&(i+=" "),i+=n)}else for(n in t)t[n]&&(i&&(i+=" "),i+=n);return i}function fa(t){return"object"==typeof t?function(){for(var t,e,n=0,i="",r=arguments.length;n<r;n++)(t=arguments[n])&&(e=ha(t))&&(i&&(i+=" "),i+=e);return i}(t):null!=t?t:""}const pa=[..." \t\n\r\f \v\ufeff"];function ma(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 va(t){return"-"!==t[0]||"-"!==t[1]?t.toLowerCase():t}function ga(t,e,n,i,r,o){var s=t.__className;if(fi||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&&!pa.includes(i[s-1])||a!==i.length&&!pa.includes(i[a])?s=a:i=(0===s?"":i.substring(0,s))+i.substring(a+1)}return""===i?null:i}(n,i,o);fi&&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 ya(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 ba(t,e,n,i){var r=t.__style;if(fi||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(va)),i&&l.push(...Object.keys(i).map(va));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=va(t.substring(c,u).trim());l.includes(f)||(";"!==h&&d++,r+=" "+t.substring(c,d).trim()+";")}c=d+1,u=-1}}}return n&&(r+=ma(n)),i&&(r+=ma(i,!0)),""===(r=r.trim())?null:r}return null==t?null:String(t)}(e,i);fi&&o===t.getAttribute("style")||(null==o?t.removeAttribute("style"):t.style.cssText=o),t.__style=e}else i&&(Array.isArray(i)?(ya(t,null==n?void 0:n[0],i[0]),ya(t,null==n?void 0:n[1],i[1],"important")):ya(t,n,i));return i}function ka(t,e,n=!1){if(t.multiple){if(null==e)return;if(!wn(e))return void console.warn("https://svelte.dev/e/select_multiple_invalid_value");for(var i of t.options)i.selected=e.includes(wa(i))}else{for(i of t.options){var r=wa(i);if(o=r,s=e,Object.is(oo(o),oo(s)))return void(i.selected=!0)}var o,s;n&&void 0===e||(t.selectedIndex=-1)}}function wa(t){return"__value"in t?t.__value:t.value}const xa=Symbol("class"),_a=Symbol("style"),Ia=Symbol("is custom element"),Ta=Symbol("is html");function Ea(t){if(fi){var e=!1,n=()=>{if(!e){if(e=!0,t.hasAttribute("value")){var n=t.value;Ma(t,"value",null),t.value=n}if(t.hasAttribute("checked")){var i=t.checked;Ma(t,"checked",null),t.checked=i}}};t.__on_r=n,Ci(n),ko||(ko=!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 Sa(t,e){e?t.hasAttribute("selected")||t.setAttribute("selected",""):t.removeAttribute("selected")}function Ma(t,e,n,i){var r=Na(t);fi&&(r[e]=t.getAttribute(e),"src"===e||"srcset"===e||"href"===e&&"LINK"===t.nodeName)||r[e]!==(r[e]=n)&&("loading"===e&&(t[si]=n),null==n?t.removeAttribute(e):"string"!=typeof n&&Fa(t).includes(e)?t[e]=n:t.setAttribute(e,n))}function Aa(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(Fo((()=>{var u=e(...n.map(ms)),d=function(t,e,n,i,r=!1){if(fi&&r&&"INPUT"===t.tagName){var o=t;("checkbox"===o.type?"defaultChecked":"defaultValue")in n||Ea(o)}var s=Na(t),a=s[Ia],l=!s[Ta];let c=fi&&a;c&&pi(!1);var u,d=e||{},h="OPTION"===t.tagName;for(var f in e)f in n||(n[f]=null);n.class?n.class=fa(n.class):n.class=null,n[_a]&&(null!==(u=n.style)&&void 0!==u||(n.style=null));var p=Fa(t);for(const r in n){let o=n[r];if(h&&"value"===r&&null==o)t.value=t.__value="",d[r]=o;else if("class"!==r)if("style"!==r){var m=d[r];if(o!==m||void 0===o&&t.hasAttribute(r)){d[r]=o;var v=r[0]+r[1];if("$$"!==v)if("on"===v){const e={},n="$$"+r;let i=r.slice(2);var g=Rs(i);if(Os(i)&&(i=i.slice(0,-7),e.capture=!0),!g&&m){if(null!=o)continue;t.removeEventListener(i,d[n],e),d[n]=null}if(null!=o)if(g)t[`__${i}`]=o,_s([i]);else{let o=function(t){d[r].call(this,t)};d[n]=ws(i,t,o,e)}else g&&(t[`__${i}`]=void 0)}else if("style"===r)Ma(t,r,o);else if("autofocus"===r)bo(t,Boolean(o));else if(a||"__value"!==r&&("value"!==r||null==o))if("selected"===r&&h)Sa(t,o);else{var y=r;l||(y=Bs(y));var b="defaultValue"===y||"defaultChecked"===y;if(null!=o||a||b)b||p.includes(y)&&(a||"string"!=typeof o)?(t[y]=o,y in s&&(s[y]=gn)):"function"!=typeof o&&Ma(t,y,o);else if(s[r]=null,"value"===y||"checked"===y){let n=t;const i=void 0===e;if("value"===y){let t=n.defaultValue;n.removeAttribute(y),n.defaultValue=t,n.value=n.__value=i?t:null}else{let t=n.defaultChecked;n.removeAttribute(y),n.defaultChecked=t,n.checked=!!i&&t}}else t.removeAttribute(r)}else t.value=t.__value=o}}else ba(t,o,null==e?void 0:e[_a],n[_a]),d[r]=o,d[_a]=n[_a];else ga(t,"http://www.w3.org/1999/xhtml"===t.namespaceURI,o,i,null==e?void 0:e[xa],n[xa]),d[r]=o,d[xa]=n[xa]}return c&&pi(!0),d}(t,i,u,o,s,a);c&&l&&"value"in u&&ka(t,u.value);for(let t of Object.getOwnPropertySymbols(r))u[t]||Do(r[t]);for(let e of Object.getOwnPropertySymbols(u)){var h=u[e];e.description!==bn||i&&h===i[e]||(r[e]&&Do(r[e]),r[e]=Oo((()=>da(t,(()=>h))))),d[e]=h}i=d})),l){var u=t;Mo((()=>{ka(u,i.value,!0),function(t){var e=new MutationObserver((()=>{ka(t,t.__value)}));e.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),To((()=>{e.disconnect()}))}(u)}))}c=!0}))}function Na(t){var e;return null!==(e=t.__attributes)&&void 0!==e?e:t.__attributes={[Ia]:t.nodeName.includes("-"),[Ta]:t.namespaceURI===yn}}var Ca=new Map;function Fa(t){var e,n=t.getAttribute("is")||t.nodeName,i=Ca.get(n);if(i)return i;Ca.set(n,i=[]);for(var r=t,o=Element.prototype;o!==r;){for(var s in e=En(r))e[s].set&&i.push(s);r=An(r)}return i}function Oa(t,e){return t===e||(null==t?void 0:t[ri])===e}function Pa(t={},e,n,i){return Mo((()=>{var i,r;return Ao((()=>{i=r,r=[],ys((()=>{t!==n(...r)&&(e(t,...r),i&&Oa(n(...i),t)&&e(null,...i))}))})),()=>{Ci((()=>{r&&Oa(n(...r),t)&&e(null,...r)}))}})),t}let Ra=!1;function Da(t,e,n,i){var r,o,s=!!(n&un),a=!!(n&dn),l=i,c=!0,u=()=>(c&&(c=!1,l=a?ys(i):i),l);if(s){var d,h,f=ri in t||oi in t;r=null!==(d=null===(h=Tn(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=Ra;try{return Ra=!1,[t(),Ra]}finally{Ra=e}}((()=>t[e])):o=t[e],void 0===o&&void 0!==i&&(o=u(),r&&(!function(){throw new Error("https://svelte.dev/e/props_invalid_value")}(),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?jr:qr)((()=>(g=!1,p())));s&&ms(y);var b=Yo;return function(t,e){if(arguments.length>0){const n=e?ms(y):s?ro(t):t;return to(y,n),g=!0,void 0!==l&&(l=n),t}return Vo&&g||b.f&Hn?y.v:ms(y)}}var Ba,La,za,Wa;"undefined"!=typeof window&&(null!==(La=(Ba=null!==(Wa=(za=window).__svelte)&&void 0!==Wa?Wa:za.__svelte={}).v)&&void 0!==La?La:Ba.v=new Set).add("5");function ja(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 $a(t,e){t.getNodesAtTime(0)[0].once("nodestart",e)}class Ua{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}`,ja(this)}#a=Jr(ro({}));#l=Jr(null);#c=Jr(!1);#u=Jr(null);id;player;position;config;timeline;moduleEndListener;hasDuration=!1;coverAssets=[];get state(){return ms(this.#a)}set state(t){to(this.#a,t,!0)}get cover(){return ms(this.#l)}set cover(t){to(this.#l,t)}get showCover(){return ms(this.#c)}set showCover(t){to(this.#c,t,!0)}get Component(){return ms(this.#u)}set Component(t){to(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?($a(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 qa="cmaf:";function Va(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(qa)))?t.filter((t=>t.startsWith(qa))):t}(null==e?void 0:e.availableEncodeProfiles);return n.addNode({id:t,manifestRef:{type:"assets-delivery-service",assetId:s,assetRevision:a,availableEncodeProfiles:l}})}function Ha(t){const e=t-1;return e*e*e+1}function Ga(t,{delay:e=0,duration:n=400,easing:i=Ha,axis:r="y"}={}){const o=getComputedStyle(t),s=+o.opacity,a="y"===r?"height":"width",l=parseFloat(o[a]),c="y"===r?["top","bottom"]:["left","right"],u=c.map((t=>`${t[0].toUpperCase()}${t.slice(1)}`)),d=parseFloat(o[`padding${u[0]}`]),h=parseFloat(o[`padding${u[1]}`]),f=parseFloat(o[`margin${u[0]}`]),p=parseFloat(o[`margin${u[1]}`]),m=parseFloat(o[`border${u[0]}Width`]),v=parseFloat(o[`border${u[1]}Width`]);return{delay:e,duration:n,easing:i,css:t=>`overflow: hidden;opacity: ${Math.min(20*t,1)*s};${a}: ${t*l}px;padding-${c[0]}: ${t*d}px;padding-${c[1]}: ${t*h}px;margin-${c[0]}: ${t*f}px;margin-${c[1]}: ${t*p}px;border-${c[0]}-width: ${t*m}px;border-${c[1]}-width: ${t*v}px;min-${a}: 0`}}function Ka(t){const e=t-1;return e*e*e+1}var Xa=Ms('<h3 class="text-box-title desktop-title svelte-wejicf"> </h3>'),Ya=Ms('<h3 class="text-box-title svelte-wejicf"> </h3>'),Qa=Ms('<div class="expanded-text-content svelte-wejicf"><!> <p class="text-box-description svelte-wejicf"> </p></div>'),Ja=Ms('<span class="text-box-title svelte-wejicf"> </span>'),Za=Ms('<span class="text-box-description minimized-description svelte-wejicf"> </span>'),tl=Ms('<span class="read-more-cta svelte-wejicf" aria-hidden="true">Read more</span>'),el=Ms('<button class="expand-description-button svelte-wejicf" aria-expanded="false" aria-controls="expanded-text-content" aria-label="Expand feature description"><!> <!></button>'),nl=Ms('<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>'),il=Ms('<section aria-label="Feature description" aria-live="polite"><div class="text-wrapper svelte-wejicf"><!> <!> <!></div> <!></section>');const rl={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 ol(t,e){Ei(e,!0),ua(t,rl);let n=Da(e,"textBox",3,null),i=Da(e,"isMobile",3,!1);const r={duration:300,easing:Ka};let o=Jr(!1),s=Jr(null),a=Jr(null),l=Jr(!1),c=Jr(!1),u=Ur((()=>{var t;return(null===(t=n())||void 0===t?void 0:t.title)||""})),d=Ur((()=>{var t;return(null===(t=n())||void 0===t?void 0:t.description)||""})),h=Ur((()=>{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(){ms(s)&&to(l,ms(s).scrollWidth>ms(s).clientWidth||ms(s).scrollHeight>ms(s).clientHeight,!0)}Eo((()=>{var t;ms(s)&&(f(),"undefined"!=typeof document&&null!==(t=document.fonts)&&void 0!==t&&t.ready&&document.fonts.ready.then(f))})),Eo((()=>{if(ms(a)){const t=getComputedStyle(ms(a)).getPropertyValue("--textBox_forceCollapse").trim();to(c,"1"===t||"true"===t,!0)}}));var p=Cs();xs("resize",so,f);var m=vo(p),v=t=>{var n=il();let f;var p=mo(n),m=mo(p),v=t=>{var e=Xa(),n=mo(e,!0);gi(e),No((()=>Ws(n,ms(u)))),Fs(t,e)};Ks(m,(t=>{ms(u)&&!i()&&t(v)}));var g=go(m,2),y=t=>{var e=Qa(),n=mo(e),o=t=>{var e=Ya(),n=mo(e,!0);gi(e),No((()=>Ws(n,ms(u)))),Fs(t,e)};Ks(n,(t=>{ms(u)&&i()&&t(o)}));var s=go(n,2),a=mo(s,!0);gi(s),gi(e),No((()=>Ws(a,ms(d)))),la(3,e,(()=>Ga),(()=>r)),Fs(t,e)};Ks(g,(t=>{ms(o)&&t(y)}));var b=go(g,2),k=t=>{var n=el(),a=Ur((()=>e.gallery.interaction((()=>to(o,!0)),{elementid:"textbox-expand",elementtype:"textbox",elementname:"Read more",interactiontype:"module-ui"})));n.__click=function(...t){var e;null===(e=ms(a))||void 0===e||e.apply(this,t)};var h=mo(n),f=t=>{var e=Ja(),n=mo(e,!0);gi(e),No((()=>Ws(n,ms(u)))),Fs(t,e)},p=t=>{var e=Za(),n=mo(e,!0);gi(e),Pa(e,(t=>to(s,t)),(()=>ms(s))),No((()=>Ws(n,ms(d)))),Fs(t,e)};Ks(h,(t=>{i()&&ms(u)?t(f):t(p,!1)}));var m=go(h,2),v=t=>{Fs(t,tl())};Ks(m,(t=>{(i()||ms(l)||ms(c))&&t(v)})),gi(n),la(3,n,(()=>Ga),(()=>r)),Fs(t,n)};Ks(b,(t=>{ms(o)||t(k)})),gi(p);var w=go(p,2),x=t=>{var n=nl(),i=Ur((()=>e.gallery.interaction((()=>to(o,!1)))));n.__click=function(...t){var e;null===(e=ms(i))||void 0===e||e.apply(this,t)},la(3,n,(()=>Ga),(()=>r)),Fs(t,n)};Ks(w,(t=>{ms(o)&&t(x)})),gi(n),Pa(n,(t=>to(a,t)),(()=>ms(a))),No((()=>{f=ga(n,1,"step-description-container svelte-wejicf",null,f,{mobile:i(),expanded:ms(o)}),ba(n,ms(h))})),Fs(t,n)};Ks(m,(t=>{(ms(u)||ms(d))&&t(v)})),Fs(t,p),Si()}function sl(t,e){const n=Ur((()=>e.state.textBox));ol(t,{get textBox(){return ms(n)},get isMobile(){return e.isMobile},get gallery(){return e.gallery}})}_s(["click"]);const al=new Set;function ll(t){if("undefined"!=typeof window)for(const e of t)if(!al.has(e)){const t=new Image;t.src=e,window[e]=t,al.add(e)}}var cl=new WeakSet;class ul extends Ua{constructor({config:t,...e}){super({...e,config:t}),O(this,cl),this.synced=t.sync,this.startOnLoop=t.startOnLoop,this.switchTo=()=>{},ja(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(cl,this,dl).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(Va(`${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=Va(`${this.id}_${n}_${i}`,e.video,t);return e.intro&&r.placeOnTimeline(Va(`${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){ll(this.coverAssets.filter((t=>t!==this.cover)).map((t=>this.gallery.getCoverUrl(t,1920))))}}}function dl(t){if(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,$a(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(ul,"itemsKey","items"),P(ul,"nodePrefix","item");var hl=Ms('<div class="toggle-option-container svelte-16pmvvn"><button data-elementtype="toggle" data-interactiontype="module-ui"> </button></div>'),fl=Ms('<div class="toggle-container svelte-16pmvvn"><div></div></div> <!>',1);const pl={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 ml(t,e){Ei(e,!0),ua(t,pl);const n=Ur((()=>e.state.items)),i=Ur((()=>e.state.currentIndex)),r=Ur((()=>e.state.onItemClicked)),o=Ur((()=>e.state.textBox));var s=fl(),a=vo(s),l=mo(a);Js(l,21,(()=>ms(n)),Xs,((t,n,o)=>{var s=hl();ba(s,`--button-index: ${o};`);var a=mo(s);let l;var c=Ur((()=>e.gallery.interaction((()=>ms(r)(o)))));a.__click=function(...t){var e;null===(e=ms(c))||void 0===e||e.apply(this,t)},Ma(a,"data-elementid",`${o+1}`);var u=mo(a,!0);gi(a),gi(s),No((()=>{l=ga(a,1,"toggle-option-button svelte-16pmvvn",null,l,{selected:ms(i)===o}),Ma(a,"aria-pressed",ms(i)===o),Ma(a,"data-elementname",ms(n).label),Ws(u,ms(n).label)})),Fs(t,s)})),gi(l),gi(a);var c=go(a,2),u=t=>{ol(t,{get textBox(){return ms(o)},get isMobile(){return e.isMobile},get gallery(){return e.gallery}})};Ks(c,(t=>{ms(o)&&t(u)})),No((()=>{var t;return ga(l,1,`toggle-options selected-${null!==(t=ms(i))&&void 0!==t?t:""}`,"svelte-16pmvvn")})),Fs(t,s),Si()}_s(["click"]);var vl=Ms('<div class="mode-title svelte-1650wj7"> </div>'),gl=Ms('<div class="mode-description svelte-1650wj7"> </div>'),yl=Ms('<button data-elementtype="mode" data-interactiontype="module-ui"><img class="svelte-1650wj7"/> <div class="svelte-1650wj7"><!> <!></div></button>'),bl=Ms('<div class="modes-container svelte-1650wj7"></div> <!>',1);const kl={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 wl(t,e){Ei(e,!0),ua(t,kl);const n=Ur((()=>e.state.items)),i=Ur((()=>e.state.currentIndex)),r=Ur((()=>e.state.onItemClicked)),o=Ur((()=>e.state.textBox));var s=bl(),a=vo(s);Js(a,21,(()=>ms(n)),Xs,((t,n,o)=>{var s=yl();let a;var l=Ur((()=>e.gallery.interaction((()=>ms(r)(o)))));s.__click=function(...t){var e;null===(e=ms(l))||void 0===e||e.apply(this,t)},Ma(s,"data-elementid",`${o+1}`);var c=mo(s);Ma(c,"alt",`Mode ${o+1}`);var u=go(c,2),d=mo(u),h=t=>{var e=vl(),i=mo(e,!0);gi(e),No((()=>Ws(i,ms(n).title))),Fs(t,e)};Ks(d,(t=>{ms(n).title&&t(h)}));var f=go(d,2),p=t=>{var e=gl(),i=mo(e,!0);gi(e),No((()=>Ws(i,ms(n).description))),Fs(t,e)};Ks(f,(t=>{ms(n).description&&t(p)})),gi(u),gi(s),No((t=>{a=ga(s,1,"mode-button svelte-1650wj7",null,a,{selected:ms(i)===o}),Ma(s,"aria-pressed",ms(i)===o),Ma(s,"data-elementname",ms(n).title||`mode-${o+1}`),Ma(c,"src",t)}),[()=>e.gallery.getCoverUrl(ms(n).image,375)]),Fs(t,s)})),gi(a);var l=go(a,2),c=t=>{ol(t,{get textBox(){return ms(o)},get isMobile(){return e.isMobile},get gallery(){return e.gallery}})};Ks(l,(t=>{ms(o)&&t(c)})),Fs(t,s),Si()}_s(["click"]);const xl=(t,e,n)=>n>e?e:n<t?t:n;function _l(t,e){return e?`${t}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${e}`:t}let Il=()=>{},Tl=()=>{};function El(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)&&(Il=(t,e,n)=>{t||"undefined"==typeof console||console.warn(_l(e,n))},Tl=(t,e,n)=>{if(!t)throw new Error(_l(e,n))});const Sl=t=>t,Ml=t=>1e3*t,Al=t=>t/1e3;const Nl=t=>Array.isArray(t)&&"number"==typeof t[0],Cl=(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)})`},Fl=2e4;function Ol(t){let e=0;let n=t.next(e);for(;!n.done&&e<Fl;)e+=50,n=t.next(e);return e>=Fl?1/0:e}const Pl=5;const Rl={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},Dl=.001;function Bl({duration:t=Rl.duration,bounce:e=Rl.bounce,velocity:n=Rl.velocity,mass:i=Rl.mass}){let r,o;Il(t<=Ml(Rl.maxDuration),"Spring duration must be 10 seconds or less","spring-duration-limit");let s=1-e;s=xl(Rl.minDamping,Rl.maxDamping,s),t=xl(Rl.minDuration,Rl.maxDuration,Al(t)),s<1?(r=e=>{const i=e*s,r=i*t,o=i-n,a=zl(e,s),l=Math.exp(-r);return Dl-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=zl(Math.pow(e,2),s);return(-r(e)+Dl>0?-1:1)*((o-a)*l)/c}):(r=e=>Math.exp(-e*t)*((e-n)*t+1)-Dl,o=e=>Math.exp(-e*t)*(t*t*(n-e)));const a=function(t,e,n){let i=n;for(let n=1;n<Ll;n++)i-=t(i)/e(i);return i}(r,o,5/t);if(t=Ml(t),isNaN(a))return{stiffness:Rl.stiffness,damping:Rl.damping,duration:t};{const e=Math.pow(a,2)*i;return{stiffness:e,damping:2*s*Math.sqrt(i*e),duration:t}}}const Ll=12;function zl(t,e){return t*Math.sqrt(1-e*e)}const Wl=["duration","bounce"],jl=["stiffness","damping","mass"];function $l(t,e){return e.some((e=>void 0!==t[e]))}function Ul(t=Rl.visualDuration,e=Rl.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:Rl.velocity,stiffness:Rl.stiffness,damping:Rl.damping,mass:Rl.mass,isResolvedFromDuration:!1,...t};if(!$l(t,jl)&&$l(t,Wl))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:Rl.mass,stiffness:r,damping:o}}else{const n=Bl(t);e={...e,...n,mass:Rl.mass},e.isResolvedFromDuration=!0}return e}({...n,velocity:-Al(n.velocity||0)}),p=h||0,m=c/(2*Math.sqrt(l*u)),v=s-o,g=Al(Math.sqrt(l/u)),y=Math.abs(v)<5;let b;if(i||(i=y?Rl.restSpeed.granular:Rl.restSpeed.default),r||(r=y?Rl.restDelta.granular:Rl.restDelta.default),m<1){const t=zl(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?Ml(p):function(t,e,n){const i=Math.max(e-Pl,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(Ol(k),Fl),e=Cl((e=>k.next(t*e).value),t,30);return t+"ms "+e},toTransition:()=>{}};return k}Ul.applyToOptions=t=>{const e=function(t,e=100,n){const i=n({...t,keyframes:[0,e]}),r=Math.min(Ol(i),Fl);return{type:"keyframes",ease:t=>i.next(r*t).value/e,duration:Al(r)}}(t,100,Ul);return t.ease=e.ease,t.duration=Ml(e.duration),t.type="keyframes",t};const ql=t=>null!==t;class Vl{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 Hl(t){for(let n=1;n<t.length;n++){var e;null!==(e=t[n])&&void 0!==e||(t[n]=t[n-1])}}const Gl=t=>t.startsWith("--");const Kl=El((()=>void 0!==window.ScrollTimeline)),Xl={};function Yl(t,e){const n=El(t);return()=>{var t;return null!==(t=Xl[e])&&void 0!==t?t:n()}}const Ql=Yl((()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch(t){return!1}return!0}),"linearEasing"),Jl=([t,e,n,i])=>`cubic-bezier(${t}, ${e}, ${n}, ${i})`,Zl={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:Jl([0,.65,.55,1]),circOut:Jl([.55,0,1,.45]),backIn:Jl([.31,.01,.66,-.59]),backOut:Jl([.33,1.53,.69,.99])};function tc(t,e){return t?"function"==typeof t?Ql()?Cl(t,e):"ease-out":Nl(t)?Jl(t):Array.isArray(t)?t.map((t=>tc(t,e)||Zl.easeOut)):Zl[t]:void 0}function ec(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=tc(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 nc extends Vl{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,Tl("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)&&Ql()?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=ec(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(ql),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){Gl(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 Al(Number(n))}get iterationDuration(){const{delay:t=0}=this.options||{};return this.duration+Al(t)}get time(){return Al(Number(this.animation.currentTime)||0)}set time(t){this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=Ml(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&&Kl()?(this.animation.timeline=t,Sl):e(this)}}class ic{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 rc(this.animations,"duration")}get iterationDuration(){return rc(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 rc(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 oc extends ic{then(t,e){return this.finished.finally(t).then((()=>{}))}}const sc=new WeakMap,ac=(t,e="")=>`${t}:${e}`;function lc(t){const e=sc.get(t)||new Map;return sc.set(t,e),e}function cc(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 uc=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 dc(t,e){for(let n=0;n<t.length;n++)"number"==typeof t[n]&&uc.has(e)&&(t[n]=t[n]+"px")}function hc(t,e){const n=window.getComputedStyle(t);return Gl(e)?n.getPropertyValue(e):n[e]}function fc(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;Tl(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={...cc(a,t)};r.duration&&(r.duration=Ml(r.duration)),r.delay&&(r.delay=Ml(r.delay));const o=lc(i),l=ac(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]=hc(i,r)),Hl(e),dc(e,r),!o&&e.length<2&&e.unshift(hc(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 nc(i);e.set(n,r),r.finished.finally((()=>e.delete(n))),a.push(r)}return a}const pc=(()=>function(t,e,n){return new oc(fc(t,e,n))})();var mc=Ms('<button data-elementid="start_cta" data-elementtype="button" data-interactiontype="start" class="svelte-16kucsb"><div class="cta-text svelte-16kucsb"> </div></button>'),vc=Ms('<div class="tryIt-container svelte-16kucsb"><!></div>');const gc={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 yc(t,e){Ei(e,!0),ua(t,gc);const n=Ur((()=>e.state.ctaText)),i=Ur((()=>e.state.animationConfig)),r=Ur((()=>e.state.showCta)),o=Ur((()=>e.state.onCtaClick));let s=Jr(null),a=Jr(null),l=Jr(!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()&&pc(ms(s),{transform:"scale(1.05)"},{type:Ul,mass:1.5,stiffness:400,damping:30})}function h(){c&&!u()&&pc(ms(s),{transform:"scale(1)"},{type:Ul,mass:1.5,stiffness:400,damping:30})}function f(){c&&!u()&&pc(ms(s),{transform:"scale(0.95)"},{type:Ul,mass:1,stiffness:600,damping:30})}Eo((()=>{const{mass:t,stiffness:e,damping:n,delay:o}=ms(i);let d,h=!1;if(to(l,!1),c=!1,ms(r)&&ms(s)&&ms(a))return u()?(ms(s).style.opacity="1",ms(s).style.transform="none",ms(a).style.opacity="1",ms(a).style.transform="none",to(l,!0),void(c=!0)):(d=setTimeout((async()=>{d=null,await Promise.all([pc(ms(s),{transform:["translateY(40px) scale(0, 0.2)","translateY(0) scale(1, 1)"],opacity:1},{type:Ul,mass:t,stiffness:e,damping:n}),pc(ms(a),{transform:["translateY(20px) scale(0.8)","translateY(0) scale(1)"],opacity:1},{type:Ul,mass:t,stiffness:e,damping:n,delay:.15})]),h||(to(l,!0),c=!0)}),o),()=>{h=!0,d&&clearTimeout(d)})}));var p=vc(),m=mo(p),v=t=>{var i=mc();i.__mousedown=f,i.__touchstart=f;var r=Ur((()=>e.gallery.interaction(ms(o))));i.__click=function(...t){var e;null===(e=ms(r))||void 0===e||e.apply(this,t)};var c=mo(i),u=mo(c,!0);gi(c),Pa(c,(t=>to(a,t)),(()=>ms(a))),gi(i),Pa(i,(t=>to(s,t)),(()=>ms(s))),No((()=>{i.disabled=!ms(l),i.inert=!ms(l),Ma(i,"aria-hidden",!ms(l)),Ma(i,"data-elementname",ms(n)),Ws(u,ms(n))})),xs("mouseenter",i,d),xs("mouseleave",i,h),Fs(t,i)};Ks(m,(t=>{ms(r)&&t(v)})),gi(p),Fs(t,p),Si()}_s(["mousedown","touchstart","click"]);var bc=new WeakSet;function kc(){this.mainTimeline?this.player.switchTimeline(this.mainTimeline):this.emitModuleEnd(),this.state.showCta=!1}function wc(t,e){const n=Ur((()=>e.state.textBox));ol(t,{get textBox(){return ms(n)},get isMobile(){return e.isMobile},get gallery(){return e.gallery}})}var xc=Ms('<div class="ripple svelte-1jfcowt"></div>'),_c=Ms('<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>'),Ic=Ms('<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 Tc={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 Ec(t,e){Ei(e,!0),ua(t,Tc);const n=Ur((()=>e.state.buttonText)),i=Ur((()=>e.state.animateHand)),r=Ur((()=>e.state.onCtaClick));let o=null,s=null;Gs((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");pc(o,{opacity:1},{duration:.35,ease:"easeOut"}),await pc(s,{opacity:1},{duration:.35,ease:"easeOut",delay:.05})}));var a=Ic(),l=mo(a),c=mo(l),u=Ur((()=>e.gallery.interaction(ms(r))));let d;c.__click=function(...t){var e;null===(e=ms(u))||void 0===e||e.apply(this,t)};var h=mo(c),f=mo(h,!0);gi(h),Pa(h,(t=>s=t),(()=>s));var p=go(h,2),m=t=>{Fs(t,xc())};Ks(p,(t=>{ms(i)&&t(m)})),gi(c),Pa(c,(t=>o=t),(()=>o));var v=go(c,2),g=t=>{Fs(t,_c())};Ks(v,(t=>{ms(i)&&t(g)})),gi(l),gi(a),No((()=>{Ma(c,"data-elementname",ms(n)),d=ga(c,1,"svelte-1jfcowt",null,d,{"has-hand-anim":ms(i)}),Ws(f,ms(n))})),Fs(t,a),Si()}_s(["click"]);var Sc=new WeakSet;function Mc(){this.emitModuleEnd()}const Ac={videoModule:class extends Ua{constructor({config:t,...e}){var n;super({...e,config:t}),this.Component=sl,this.hasDuration=!t.loop,ja(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(Va(`${this.id}_intro`,e.intro,t),"end");const n=Va(this.id,e.video,t);this.timeline.placeOnTimeline(n,"end",{loop:e.loop}),e.loop||n.on("nodeend",this.emitModuleEnd)}},toggleModule:class extends ul{static itemsKey="options";static nodePrefix="option";constructor(t){super(t),this.Component=ml}mapItem(t){return{label:t.label,note:t.note}}},modesModule:class extends ul{static itemsKey="modes";static nodePrefix="mode";constructor(t){super(t),this.Component=wl}mapItem(t){return{title:t.title,description:t.description,image:t.image}}},tryItModule:class extends Ua{constructor({config:t,...e}){var n;super({...e,config:t}),O(this,bc),ja(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(bc,this,kc).bind(this)}}start(t){super.start(t),this.Component=yc,this.timeline=t.createTimeline();const{introVideo:e,mainVideo:n}=this.config;if(e.intro&&this.timeline.placeOnTimeline(Va(`${this.id}_intro_intro`,e.intro,t)),this.timeline.placeOnTimeline(Va(`${this.id}_intro_loop`,e.loop,t),"end",{loop:!0}),n){this.mainTimeline=t.createTimeline(),n.intro&&this.mainTimeline.placeOnTimeline(Va(`${this.id}_main_intro`,n.intro,t));const e=Va(`${this.id}_main_loop`,n.loop,t);this.mainTimeline.placeOnTimeline(e,"end",{loop:!0})}}play(){this.state.showCta=!0,super.play()}},imageModule:class extends Ua{constructor({config:t,...e}){super({...e,config:t}),this.Component=wc,ja(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=Va(this.id,this.config.image,t);delete e.manifestRef.availableEncodeProfiles,e.manifestRef.assetType="image",this.timeline.placeOnTimeline(e,0,{loop:!0})}},introModule:class extends Ua{constructor({config:t,...e}){var n,i,r;super({...e,config:t}),O(this,Sc),ja(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(Sc,this,Mc).bind(this)}}start(t){super.start(t),this.Component=Ec,this.timeline=t.createTimeline();const e=this.config;e.intro&&this.timeline.placeOnTimeline(Va(`${this.id}_intro`,e.intro,t)),this.timeline.placeOnTimeline(Va(`${this.id}_loop`,e.video,t),"end",{loop:!0})}play(){this.timeline?this.player.switchTimeline(this.timeline):this.setPosition()}}};class Nc{#d=Jr(null);#h=Jr(!1);#f=Jr({});#p=Jr("ekonovar");#m=Jr(0);#v=Jr(0);#g=Jr(ro({variantId:ms(this.#p),itemIndex:0,moduleIndex:0}));#y=Ur((()=>{var t;return null===(t=ms(this.#f))||void 0===t?void 0:t[ms(this.#p)]}));#b=Ur((()=>{var t;return null===(t=ms(this.#y))||void 0===t?void 0:t[ms(this.#m)]}));#k=Ur((()=>{var t,e;return ms(this.#w)?null===(e=ms(this.#y))||void 0===e||null===(e=e[ms(this.#g).itemIndex])||void 0===e?void 0:e.modules[ms(this.#g).moduleIndex]:null===(t=ms(this.#b))||void 0===t?void 0:t.modules[ms(this.#v)]}));#x=Ur((()=>{var t;return(null===(t=ms(this.#y))||void 0===t?void 0:t.flatMap((t=>t.modules)))||[]}));#_=Jr(!1);#I=Jr(!1);#w=Jr(!1);#T=Ur((()=>!(ms(this.#g).itemIndex===this.activeItemIndex&&ms(this.#g).moduleIndex===this.activeModuleIndex)));#E=Jr(!1);set introModule(t){to(this.#d,t)}set introModulePlayed(t){to(this.#h,t,!0)}set variants(t){to(this.#f,t)}set activeVariant(t){to(this.#p,t,!0)}set activeItemIndex(t){to(this.#m,t,!0)}set activeModuleIndex(t){to(this.#v,t,!0)}set playingModulePosition(t){to(this.#g,t,!0)}set playerLoaded(t){to(this.#_,t,!0)}set paused(t){to(this.#I,t,!0)}set startedPlaying(t){to(this.#w,t,!0)}set themeLoaded(t){to(this.#E,t,!0)}get introModule(){return ms(this.#d)}get introModulePlayed(){return ms(this.#h)}get variants(){return ms(this.#f)}get activeVariant(){return ms(this.#p)}get availableVariants(){return Object.keys(ms(this.#f))}get activeItemIndex(){return ms(this.#m)}get activeModuleIndex(){return ms(this.#v)}get playingModulePosition(){return ms(this.#g)}get currentItemsList(){return ms(this.#y)}get currentItem(){return ms(this.#b)}get currentModule(){return ms(this.#k)}get playerLoaded(){return ms(this.#_)}get paused(){return ms(this.#I)}get startedPlaying(){return ms(this.#w)}get seeking(){return ms(this.#T)}get currentModulesList(){return ms(this.#x)}get themeLoaded(){return ms(this.#E)}}const Cc={assetsDeliveryBase:"https://{{env}}assets.eko.com",galleryAppDelivery:"https://{{env}}play.eko.com/video-apps/eko-gallery-app"};function Fc(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 Oc=["elementid","elementtype","elementname","interactiontype"];const Pc="ekonovar",Rc=2,Dc=5,Bc=10,Lc=(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 zc=new WeakMap,Wc=new WeakMap,jc=new WeakMap,$c=new WeakMap,Uc=new WeakMap,qc=new WeakMap,Vc=new WeakSet;class Hc{constructor(t){var e,n,i,r,o;O(this,Vc),C(this,zc,void 0),C(this,Wc,void 0),C(this,jc,void 0),C(this,$c,void 0),C(this,Uc,void 0),C(this,qc,void 0),P(this,"version","0.0.23"),ja(this),F(zc,this,(null===(e=crypto)||void 0===e||null===(n=e.randomUUID)||void 0===n?void 0:n.call(e))||`eko-gallery-${Date.now()}`),F($c,this,t),F(qc,this,(null==t?void 0:t.onEvent)||(()=>{})),F(Wc,this,new Nc),F(Uc,this,((t="")=>("production"===t&&(t=""),Object.fromEntries(Object.entries(Cc).map((([e,n])=>[e,n.replaceAll("{{env}}",t)])))))(null==t||null===(i=t.options)||void 0===i?void 0:i.galleryEnv)),F(jc,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(Vc,this,Gc).call(this,s.items),M(Vc,this,Kc).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.23"}}))}),n({schema:"iglu:com.helloeko/implementation_interactions/jsonschema/1-0-6",match:"interaction",getData:i((t=>t))}))}(N(zc,this),N(Wc,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(Wc,this).introModule=new Ac.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(zc,this)),function(){if("undefined"!=typeof window){for(const t of al)delete window[t];al.clear()}}())}start(t){N(Wc,this).playerLoaded=!0,N(jc,this).forEach((e=>{e.start(t)})),F(jc,this,null),M(Vc,this,Xc).call(this,t),N(Wc,this).introModule?(N(Wc,this).introModule.start(t),N(Wc,this).introModule.moduleEndListener=()=>{N(Wc,this).introModulePlayed=!0,N(Wc,this).currentModule.play()},N(Wc,this).introModule.play()):N(Wc,this).currentModule.play()}selectVariant(t){const{variants:e,currentItem:n,activeItemIndex:i,activeModuleIndex:r}=N(Wc,this);if(e[t]){const i=Lc(e[t],n);N(Wc,this).activeVariant=t,N(Wc,this).activeItemIndex=i,N(Wc,this).activeModuleIndex=0}else N(Wc,this).activeVariant=Pc,N(Wc,this).activeItemIndex=0,N(Wc,this).activeModuleIndex=0;i===N(Wc,this).activeItemIndex&&r===N(Wc,this).activeModuleIndex&&N(Wc,this).currentModule.play()}selectItem(t){M(Vc,this,Qc).call(this);const e=N(Wc,this);t!==e.activeItemIndex&&(e.activeItemIndex=t,e.activeModuleIndex=0)}selectItemAndStep(t,e){M(Vc,this,Qc).call(this);const n=N(Wc,this);t===n.activeItemIndex&&e===n.activeModuleIndex||(n.activeItemIndex=t,n.activeModuleIndex=e)}next(){M(Vc,this,Qc).call(this)||M(Vc,this,Jc).call(this)}prev(){if(M(Vc,this,Qc).call(this))return;const t=N(Wc,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($c,this))&&void 0!==o&&null!==(o=o.coverAssetsMap)&&void 0!==o&&o[s]?(l=new URL(N($c,this).coverAssetsMap[s]),/^[a-z0-9]*assets.eko.com$/.test(l.host)&&e&&(l.pathname=l.pathname.replace(".png",".webp"))):(l=new URL(`${N(Uc,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(zc,this)))}interaction(t,e){const n=N(zc,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(Oc.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(qc,this).call(this,"interaction",t)}t(i)}}preloadVariantsCovers(t,e){const{activeVariant:n,variants:i}=N(Wc,this);ll(Object.entries(i).filter((([t])=>t!==n)).map((([,n])=>{const i=Lc(n,t);return this.getCoverUrl(n[i].modules[0].cover,e)})))}get uuid(){return N(zc,this)}get state(){return N(Wc,this)}get urls(){return N(Uc,this)}}function Gc(t){const e={};for(let n of t)for(let t of Object.keys(n.variants||{}))e[t]=[];e[Pc]=[],N(Wc,this).variants=e}function Kc(t){const e=(t=[],e)=>{const n=[];for(let[i,r]of t.entries()){if(!Ac[r.itemType])throw new Error(`Unknown module type ${r.itemType}`);const t=new Ac[r.itemType]({position:{...e,moduleIndex:i},config:r,gallery:this});t.moduleEndListener=M(Vc,this,Yc).bind(this),n.push(t)}return n},n=Object.entries(N(Wc,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=Fc({},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(jc,this,[...N(jc,this),...r.modules]);else delete N(Wc,this).variants[t]}function Xc(t){const e=Object.entries(N(Wc,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[Lc(t,n)].modules[0].timeline.getNodesAtTime(0)[0].id,weight:Bc})));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:Rc},...u.map((t=>({nodeId:t.id,weight:Dc}))),...a];for(const e of r.timeline.placements){t.getNode(e.nodeId).setChildren(d)}}}}}function Yc(){const t=N(Wc,this),e=t.currentItem.modules;e.length>1&&t.activeModuleIndex===e.length-1?t.activeModuleIndex=0:M(Vc,this,Jc).call(this)}function Qc(){const{introModule:t,introModulePlayed:e}=N(Wc,this);return!(!t||e)&&(N(Wc,this).introModulePlayed=!0,!0)}function Jc(){const t=N(Wc,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 Zc=["activeVariant","activeItemIndex","activeModuleIndex","paused","startedPlaying","availableVariants"],tu=t=>Zc.reduce(((e,n)=>(e[n]=t[n],e)),{});function eu(t){return{version:t.version,state:tu(t.state),selectItem:t.selectItem,selectItemAndStep:t.selectItemAndStep,next:t.next,prev:t.prev,subscribe:e=>function(t){er.ensure();const e=_o(zn|Qn,t,!0);return()=>{Do(e)}}((()=>{Eo((()=>{e(tu(t.state))}))}))}}var nu=Ms('<img class="nav-button-icon svelte-er27y2" alt="" aria-hidden="true"/>'),iu=Ms('<button data-elementtype="gallery item" data-interactiontype="navigation"><!> <span class="svelte-er27y2"> </span></button>'),ru=Ms('<div><div class="nav-buttons svelte-er27y2"></div></div>');const ou={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 su(t,e){Ei(e,!0),ua(t,ou);let n=Da(e,"onNavItemClick",3,(()=>{}));const i=Ti("state");var r=ru();let o;var s=mo(r);Js(s,23,(()=>i().currentItemsList),((t,e)=>`${i().activeVariant}_${t.id}_${e}`),((t,r,o)=>{const s=Ur((()=>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}(ms(r).icon))),a=Ur((()=>String(ms(r).name||`Gallery item ${ms(o)+1}`)));var l=iu();let c;var u=Ur((()=>{var t;return e.gallery.interaction((()=>n()(ms(o))),{elementid:String(null!==(t=ms(r).id)&&void 0!==t?t:ms(o)+1),elementtype:"gallery item",elementname:ms(a),interactiontype:"navigation"})}));l.__click=function(...t){var e;null===(e=ms(u))||void 0===e||e.apply(this,t)};var d=mo(l),h=t=>{var e=nu();No((()=>Ma(e,"src",ms(s)))),Fs(t,e)};Ks(d,(t=>{ms(s)&&t(h)}));var f=go(d,2),p=mo(f,!0);gi(f),gi(l),No(((t,e,n,i)=>{c=ga(l,1,"nav-button svelte-er27y2",null,c,t),Ma(l,"data-item-name",e),Ma(l,"data-elementid",n),Ma(l,"data-elementname",ms(a)),Ma(l,"aria-label",ms(a)),Ma(l,"aria-current",i),Ws(p,ms(r).name)}),[()=>({selected:ms(o)===i().activeItemIndex}),()=>{var t,e;return null!==(t=null===(e=ms(r).name)||void 0===e?void 0:e.toLowerCase())&&void 0!==t?t:""},()=>{var t;return String(null!==(t=ms(r).id)&&void 0!==t?t:ms(o)+1)},()=>ms(o)===i().activeItemIndex?"true":void 0]),Fs(t,l)})),gi(s),gi(r),No((t=>o=ga(r,1,"nav-buttons-container svelte-er27y2",null,o,t)),[()=>({"theme-loaded":i().themeLoaded})]),Fs(t,r),Si()}_s(["click"]);const au="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 lu=Ms('<button data-elementtype="button" data-interactiontype="navigation"><img alt="" aria-hidden="true" class="svelte-1al44kl"/></button>');const cu={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 uu(t,e){Ei(e,!0),ua(t,cu);const n=Da(e,"hidden",3,!1),i=Ur((()=>"prev"===e.type?"Previous item":"Next item"));var r=lu();let o;var s=Ur((()=>e.gallery.interaction(e.onClick,{elementid:`gallery_${e.type}`,elementtype:"button",elementname:ms(i),interactiontype:"navigation"})));r.__click=function(...t){var e;null===(e=ms(s))||void 0===e||e.apply(this,t)};var a=mo(r);gi(r),No((()=>{var t,s;o=ga(r,1,`nav-button ${null!==(t=e.type)&&void 0!==t?t:""}`,"svelte-1al44kl",o,{hidden:n()}),Ma(r,"aria-label",ms(i)),Ma(r,"data-elementid",`gallery_${null!==(s=e.type)&&void 0!==s?s:""}`),Ma(r,"data-elementname",ms(i)),Ma(a,"src",au)})),Fs(t,r),Si()}_s(["click"]);var du=Ms('<button data-elementtype="step-indicator" data-interactiontype="navigation"><span class="svelte-1mxltt0"> </span></button>'),hu=Ms('<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 fu={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 pu(t,e){Ei(e,!0),ua(t,fu);const n=16,i=32;let r=Da(e,"gallery",7),o=Jr(null),s=Jr(null),a=Jr(!1),l=Jr(!1);const c=Ur((()=>{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(){ms(o)&&(to(a,ms(o).scrollLeft>0),to(l,ms(o).scrollLeft+ms(o).clientWidth<ms(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);ms(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(ms(o).querySelectorAll(".step-button")).find((t=>{const e=t.getBoundingClientRect(),n=ms(o).getBoundingClientRect();return e.left>n.left+i}));if(t){const e=t.previousElementSibling;e&&h(ms(o),e)}}function p(){const t=Array.from(ms(o).querySelectorAll(".step-button")).reverse().find((t=>{const e=t.getBoundingClientRect(),n=ms(o).getBoundingClientRect();return e.right<n.right-i}));if(t){const e=t.nextElementSibling;e&&h(ms(o),e)}}Eo((()=>{if(ms(o)){u();const t=ms(o).querySelector(".step-button.active");t&&to(s,t,!0);const e=new MutationObserver((()=>{const t=ms(o).querySelector(".step-button.active");t&&to(s,t,!0)}));e.observe(ms(o),{attributes:!0,attributeFilter:["class"],subtree:!0});const n=new ResizeObserver((()=>{u()}));return n.observe(ms(o)),()=>{e.disconnect(),n.disconnect()}}})),Eo((()=>{ms(c),ms(o)&&ps().then(u)})),Eo((()=>{ms(s)&&ms(o)&&h(ms(o),ms(s))}));var m=Cs();xs("resize",so,u),function(t,e,n){fi&&vi();var i=new Hs(t);Co((()=>{var t=e();i.ensure(t,n)}))}(vo(m),(()=>r().state.activeItemIndex),(t=>{var n=hu();let i;var s=mo(n);let d;s.__click=f;var m=go(s,2);let v;Js(m,21,(()=>ms(c)),Xs,((t,e)=>{var n=du();let i;var s=Ur((()=>r().interaction((t=>{return n=t.currentTarget,i=ms(e).index,r().state.activeModuleIndex=i,void h(ms(o),n);var n,i}))));n.__click=function(...t){var e;null===(e=ms(s))||void 0===e||e.apply(this,t)};var a=mo(n),l=mo(a,!0);gi(a),gi(n),No((()=>{i=ga(n,1,"step-button svelte-1mxltt0",null,i,{active:"active"===ms(e).type}),Ma(n,"aria-current","active"===ms(e).type?"step":void 0),Ma(n,"aria-label",ms(e).name?`Go to step ${ms(e).index+1}: ${ms(e).name}`:`Go to step ${ms(e).index+1}`),Ma(n,"data-elementid",`${ms(e).index+1}`),Ma(n,"data-elementname",ms(e).name||`Step ${ms(e).index+1}`),Ws(l,ms(e).name)})),Fs(t,n)})),gi(m),Pa(m,(t=>to(o,t)),(()=>ms(o)));var g=go(m,2);let y;g.__click=p,gi(n),No((()=>{var t,o,c;i=ga(n,1,"steps-indicator-container svelte-1mxltt0",null,i,{"mobile-indicators":e.isMobile}),d=ga(s,1,"step-arrow step-arrow-prev svelte-1mxltt0",null,d,{visible:ms(a)}),s.disabled=!ms(a),v=ga(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":ms(a),"fade-right":ms(l)}),ba(m,`--stepDuration: ${null!==(o=null===(c=r().state.currentModule)||void 0===c?void 0:c.duration)&&void 0!==o?o:""}s`),y=ga(g,1,"step-arrow step-arrow-next svelte-1mxltt0",null,y,{visible:ms(l)}),g.disabled=!ms(l)})),xs("scroll",m,u),Fs(t,n)})),Fs(t,m),Si()}_s(["click"]);var mu=Ns('<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>'),vu=Ns('<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>'),gu=Ms('<button class="pause-button svelte-a3r6re" data-elementid="play_pause" data-elementtype="button"><!></button>');const yu={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;}"};_s(["click"]);const bu=300,ku=60,wu="none";function xu(t,e,n){return t.addEventListener(e,n),()=>t.removeEventListener(e,n)}function _u(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 Iu(t,e,n,i,r){const o=_u(t,n,i);return t.dispatchEvent(new CustomEvent(`${e}${r}`,{detail:o})),o}function Tu(){let t=[],e=()=>{},n=[];return{setPointerControls:(i,r,o,s,a,l=wu,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=Iu(r,i,e,t,"down");function c(e){const o=t.length;t=function(t,e){return e.filter((e=>t.pointerId!==e.pointerId))}(e,t);if(o>t.length){t.length||(u(),d(),h(),f());const o=Iu(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=>e.pointerId===t.pointerId?e:t));const s=Iu(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 Eu="@attach";function Su(){return Symbol(Eu)}const Mu="swipe";function Au(t,e,n,i=!1){const{setPointerControls:r}=Tu(),o=i?Mu:Su();return{...n,[`on${Mu}`]:t,[o]:t=>{const{onDown:n,onUp:i,parameters:o}=function(t,e){const n={timeframe:bu,minSwipeDistance:ku,touchAction:wu,composed:!1,...e};let i,r,o,s;function a(t,e){r=e.clientX,o=e.clientY,i=Date.now(),1===t.length&&(s=e.target)}function l(e,a){if("pointerup"===a.type&&0===e.length&&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(Mu,{detail:{direction:u,target:s,pointerType:a.pointerType}}))}}return{onDown:a,onUp:l,parameters:n}}(t,null==e?void 0:e());return r(Mu,t,null,n,i,o.touchAction,o.plugins).destroy}}}const Nu="tap";function Cu(t,e,n,i=!1){const{setPointerControls:r}=Tu(),o=i?Nu:Su();return{...n,[`on${Nu}`]:t,[o]:t=>{const{onDown:n,onUp:i,parameters:o}=function(t,e){const n={timeframe:bu,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(Nu,{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(Nu,t,null,n,i,o.touchAction,o.plugins).destroy}}}const Fu=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,void 0!==u.x&&void 0!==u.y?(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)=>{0===e.length&&m()},onDestroy:m,onInit:t=>{t.length&&(u.x=void 0,u.y=void 0,p())}}};var Ou=Ms("<div></div>"),Pu=Ms("<div></div>");const Ru={hash:"svelte-1fv6njc",code:".swiper.svelte-1fv6njc {position:absolute;top:0;left:0;pointer-events:auto;width:100%;height:100%;}"};var Du=Ms("<img/>"),Bu=Ms('<div class="ui-container svelte-1rvgxfc"><!></div>'),Lu=Ms('<div class="cover-container svelte-1rvgxfc"><!> <!> <!></div>'),zu=Ms('<div class="covers-container svelte-1rvgxfc" style="scroll-behavior: auto;"><!></div>');const Wu={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 ju(t,e){Ei(e,!0),ua(t,Wu);const n=(t,n=Cn,i=Cn,r=Cn,l=Cn)=>{var c=Lu(),u=mo(c),d=t=>{var e=Du();let o;No((t=>{o=ga(e,1,"cover-image svelte-1rvgxfc",null,o,{"content-playing":n(),"force-show":i().showCover}),Ma(e,"src",t),Ma(e,"alt",i().name),Ma(e,"fetchpriority",r())}),[()=>s().getCoverUrl(i().cover,a)]),xs("load",e,(function(...t){var e;null===(e=l())||void 0===e||e.apply(this,t)})),function(t){if(!fi)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),Fs(t,e)};Ks(u,(t=>{t(d)}));var h=go(u,2);!function(t,e){Ei(e,!0),ua(t,Ru);const n={color:"#e3e3e3",fadeTime:300,lineWidth:8},i=Au(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?[Fu(n)]:[]}))),r=Cu((function(t){const{x:n,y:i}=t.detail;e.onEvent("click",{x:n,y:i})}),(()=>({touchAction:"pan-y"})));var o=Cs(),s=vo(o),a=t=>{var e=Ou();Aa(e,(()=>({...i,...r,class:"swiper"})),void 0,void 0,void 0,"svelte-1fv6njc"),Fs(t,e)},l=t=>{var e=Pu();Aa(e,(()=>({...r,class:"swiper"})),void 0,void 0,void 0,"svelte-1fv6njc"),Fs(t,e)};Ks(s,(t=>{e.swipeEnabled?t(a):t(l,!1)})),Fs(t,o),Si()}(h,{get gallery(){return s()},get debug(){return e.debug},get swipeEnabled(){return e.swipeEnabled},get onEvent(){return e.onEvent}});var f=go(h,2),p=t=>{var e=Bu();!function(t,e,n){fi&&vi();var i=new Hs(t);Co((()=>{var t,r=null!==(t=e())&&void 0!==t?t:null;i.ensure(r,r&&(t=>n(t,r)))}),Kn)}(mo(e),(()=>i().Component),((t,e)=>{e(t,{get state(){return i().state},get gallery(){return s()},get isMobile(){return o()}})})),gi(e),Fs(t,e)};Ks(f,(t=>{var e;s().state.themeLoaded&&null!==(e=i())&&void 0!==e&&e.Component&&t(p)})),gi(c),Fs(t,c)};let i,r=Da(e,"scrollOffset",15),o=Da(e,"isMobile",3,!1),s=Da(e,"gallery",7),a=1920,l=s().state.playingModulePosition,c=0,u=null,d=null,h=Ur((()=>!s().state.introModulePlayed&&s().state.introModule)),f=Ur((()=>s().state.startedPlaying)),p=Ur((()=>s().state.currentModulesList)),m=Ur((()=>ms(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=ms(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(ms(h))return;o()&&t.preventDefault();const{target:n}=t,a=y(n),f=(null===(e=ms(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=ms(p)[c],w={itemIndex:s().state.activeItemIndex,moduleIndex:s().state.activeModuleIndex};if(!u){const t=i.children[ms(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)}Eo((()=>{const{activeItemIndex:t,activeModuleIndex:e}=s().state;t===l.itemIndex&&e===l.moduleIndex||ys((()=>{b(ms(p).findIndex((n=>{const{itemIndex:i,moduleIndex:r}=n.position;return t===i&&e===r})))}))})),Eo((()=>{ms(m)>-1&&!u&&c!==ms(m)&&ys((()=>b(ms(m))))})),Eo((()=>{const{seeking:t,startedPlaying:e,currentItem:n}=s().state;!t&&e&&ys((()=>{s().preloadVariantsCovers(n,a)}))})),Eo((()=>{ms(f)&&ys((()=>{s().track("projectstartedplaying")}))}));var x=Cs(),_=vo(x),I=t=>{var e=zu(),r=mo(e),o=t=>{n(t,(()=>ms(f)),(()=>ms(h)),(()=>"high"),(()=>w))},a=t=>{var e=Cs();Js(vo(e),19,(()=>ms(p)),(t=>t.id),((t,e,i)=>{n(t,(()=>ms(f)&&ms(i)===ms(m)),(()=>ms(e)),(()=>0===ms(i)?"high":"auto"),(()=>0!==ms(i)||s().state.introModule?()=>{}:w))})),Fs(t,e)};Ks(r,(t=>{ms(h)?t(o):t(a,!1)})),gi(e),Pa(e,(t=>i=t),(()=>i)),xs("scroll",e,k),Fs(t,e)};Ks(_,(t=>{ms(p)&&t(I)})),Fs(t,x),Si()}const $u="undefined"!=typeof self&&self||"undefined"!=typeof window&&window||"undefined"!=typeof global&&global||{};let Uu;function qu(){const t=$u&&$u.navigator&&($u.navigator.userAgent||$u.navigator.platform||$u.navigator.vendor)||"";if(Uu&&Uu.ua===t)return Uu;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 Uu={ua:t,isMobile:r},Uu}const Vu=(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.":""))))}))},Hu=3e3,Gu=new Set;const Ku="https://storage.eko.com/efu/ekoanalytics/master/latest/EkoAnalyticsPlatform.min.gz.js";function Xu(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="${Ku}"]`).length){const t=document.createElement("script");t.type="text/javascript",t.async=!0,t.src=Ku,document.head.appendChild(t)}}function Yu(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 Qu,Ju;"undefined"!=typeof window&&(window.addEventListener("pageshow",(function(t){t.persisted&&setTimeout((function(){window.location.reload()}),10)}),!1),null===(Qu=(Ju=window).EkoAnalytics)||void 0===Qu||Qu.call(Ju,"track","init"));function Zu(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 td(t,e,n){const i=Zu(t,e);return n.variants[i]?i:n.availableVariants[0]}let ed=!1;var nd=Ms('<div class="paging-buttons svelte-1n46o8q"><!> <!></div>'),id=Ms("<!> <!> <!>",1),rd=Ms('<div style="position: absolute; top: 0; left: 0; width: 100%;"></div>'),od=Ms('<div class="player-container svelte-1n46o8q"><div class="player-div swipable svelte-1n46o8q"></div> <!> <!> <!></div> <!>',1),sd=Ms("<div><!></div>");const ad={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 ld(t,e){Ei(e,!0),ua(t,ad);let n=Da(e,"config",19,(()=>({}))),i=Da(e,"variant",7),r=Da(e,"forceMobile",3,!1),o=Da(e,"videoAspectRatio",3,"unset"),s=Da(e,"loadAnalytics",3,!0),a=Da(e,"onGalleryReady",3,(()=>{})),l=Da(e,"onEvent",3,(()=>{}));var c;!ed&&s()&&(Xu(null===(c=n())||void 0===c||null===(c=c.options)||void 0===c?void 0:c.galleryEnv),ed=!0);let u,d,h=!1,f=Jr(ro(new Hc({...n(),onEvent:l()}))),p=Jr(null),m=Ur((()=>r()||qu().isMobile)),v=Ur((()=>{var t;return e.theme||(null===(t=n())||void 0===t||null===(t=t.options)||void 0===t?void 0:t.theme)})),g=Ur((()=>{var t;return ms(m)&&!(null!==(t=n())&&void 0!==t&&null!==(t=t.options)&&void 0!==t&&t.disableSwipes)})),y=Ur((()=>{var t,e;return ms(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=Ur((()=>{var t;return null===(t=ms(y))||void 0===t?void 0:t.hideNav})),k=Jr(0),w=Jr(void 0),x=Jr(!0),_=Jr(ro({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=ms(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=ms(p))||void 0===t||!t.play)&&(ms(p).play(),!0)},pause(){var t;return!(null===(t=ms(p))||void 0===t||!t.pause)&&(ms(p).pause(),!0)},setMuted:t=>!!ms(p)&&(ms(p).muted=t,!0),setVolume:t=>!!ms(p)&&(ms(p).volume=t,!0),isStarted:()=>ms(f).state.startedPlaying,updateVariant(t){var e;const i=Zu(t,n());return!(null===(e=ms(f).state.variants)||void 0===e||!e[i])&&(ms(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?ms(f).selectItemAndStep(n,i):ms(f).selectItem(n);const r=ms(f).state.currentItemsList[n];return{handled:!0,interaction:M(t,"gallery item",(null==r?void 0:r.name)||"")}},endBlock(t){var e;const n=ms(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))))&&(ms(f).next(),{handled:!0,interaction:M(t,"next button")})},selectOption(t,e){var n;if(S(t)!==ms(f).state.activeItemIndex)return!1;const i=ms(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=ms(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===ms(f).state.activeItemIndex&&(ms(f)[e](),{handled:!0,interaction:M(t,"next"===e?"next button":"previous button")});const r=e>0?e-1:0;return!(null===(n=ms(f).state.currentItemsList)||void 0===n||null===(n=n[i])||void 0===n||null===(n=n.modules)||void 0===n||!n[r])&&(ms(f).selectItemAndStep(i,r),{handled:!0,interaction:M(t,"gallery step",String(e))})},getPerformance:()=>Yu(ms(p),d)}}function N(){d=void 0;const t={AssetsDeliveryService:{assetsDeliveryServiceUrl:ms(f).urls.assetsDeliveryBase},Tracker:{tag:ms(f).uuid}};to(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))),ms(p).on("canplay",(t=>{l()("canplay",t)})),ms(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)})),ms(p).on("playing",(t=>{ms(f).state.paused=!1,ms(f).state.startedPlaying||(ms(f).state.startedPlaying=!0,l()("galleryloaded")),l()("playing",t)})),ms(p).on("pause",(t=>{ms(f).state.paused=!0,l()("pause",t)}))}function C(t){var e;null===(e=ms(f))||void 0===e||e.selectItem(t)}function F(){var t;null===(t=ms(f))||void 0===t||t.next()}function O(){var t;null===(t=ms(f))||void 0===t||t.prev()}function P(){ms(p).paused?(ms(p).play(),l()("userplay")):(ms(p).pause(),l()("userpause"))}function R(){return`--uiTranformX: ${ms(k)}px;--videoAspect: ${o()};--videoWidth: ${ms(_).width};--videoHeight: ${ms(_).height};`}T="state",E=()=>ms(f).state,Mi().set(T,E),ms(f).state.activeVariant=td(i(),n(),ms(f).state),Gs((()=>{try{n()&&e.EkoPlayer&&(N(),ms(f).start(ms(p))),a()(eu(ms(f)),A())}catch{var t;null===(t=e.onGalleryError)||void 0===t||t.call(e,"gallery-initialization-failure")}return()=>{var t;null===(t=ms(p))||void 0===t||t.dispose(),ms(f).dispose()}})),Eo((()=>{var t;n()&&e.EkoPlayer&&(h?(null===(t=e.onGalleryReinitializing)||void 0===t||t.call(e),ys((()=>{to(x,!1),ps().then((()=>{var t;return ms(f).dispose(),to(f,new Hc({...n(),onEvent:l()}),!0),I.clear(),ms(f).state.activeVariant=td(i(),n(),ms(f).state),null===(t=ms(p))||void 0===t||t.dispose(),to(x,!0),ps()})).then((()=>{N(),ms(f).start(ms(p)),a()(eu(ms(f)),A())})).catch((()=>{var t;return null===(t=e.onGalleryError)||void 0===t?void 0:t.call(e,"gallery-reinitialization-failure")}))}))):h=!0)})),Eo((()=>{!ed&&s()&&(Xu(ys((()=>{var t;return null===(t=n())||void 0===t||null===(t=t.options)||void 0===t?void 0:t.galleryEnv}))),ed=!0)})),Eo((()=>{const t=Zu(i(),ys((()=>n())));t&&t!==ys((()=>ms(f).state.activeVariant))&&ms(f).selectVariant(t)})),Eo((()=>{const t=ys((()=>Zu(i(),n())));ms(f).state.activeVariant!==t&&ys((()=>{i(ms(f).state.activeVariant)}))})),Eo((()=>{ms(w)&&ms(p)&&ms(p).loadDebugOverlay({containerElement:ms(w)})})),Eo((()=>{if("unset"!==o()&&o().includes("/")){const[t,e]=o().split("/").map((t=>Number(t)));isNaN(t)||isNaN(e)||to(_,t>e?{width:"100%",height:"auto"}:{width:"auto",height:"100%"},!0)}else to(_,{width:"100%",height:"100%"},!0)})),Eo((()=>{!async function(t,e){if(t&&!Gu.has(t)){e.state.themeLoaded=!1;try{let n;try{n=await Vu(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")}),Hu);i.onload=()=>{t(),clearTimeout(n)}}));document.head.appendChild(i),await r}Gu.add(t)}catch{console.warn("[eko-gallery-app] theme-load-failure")}e.state.themeLoaded=!0}else e.state.themeLoaded=!0}(ms(v),ms(f))}));let D=null;Eo((()=>{const t=ms(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=sd(),L=mo(B),z=t=>{const n=Ur((()=>ms(f).state.introModule));var i=od(),r=vo(i),o=mo(r);Pa(o,(t=>u=t),(()=>u));var s=go(o,2);ju(s,{get isMobile(){return ms(m)},get gallery(){return ms(f)},get debug(){return e.debug},get swipeEnabled(){return ms(g)},get onEvent(){return l()},get scrollOffset(){return ms(k)},set scrollOffset(t){to(k,t,!0)}});var a=go(s,2),c=t=>{var e=id(),n=vo(e),i=t=>{var e=nd(),n=mo(e);uu(n,{type:"prev",onClick:O,get gallery(){return ms(f)}}),uu(go(n,2),{type:"next",onClick:F,get gallery(){return ms(f)}}),gi(e),Fs(t,e)};Ks(n,(t=>{ms(g)||ms(b)||t(i)}));var r=go(n,2),o=t=>{pu(t,{get gallery(){return ms(f)},get isMobile(){return ms(m)}})};Ks(r,(t=>{var e;(null===(e=ms(f).state.currentItem)||void 0===e?void 0:e.modules.length)>1&&t(o)}));var s=go(r,2),a=t=>{!function(t,e){Ei(e,!0),ua(t,yu);const n=Ti("state");let i=Ur((()=>n().paused));var r=gu(),o=Ur((()=>e.gallery.interaction(e.onPauseClick)));r.__click=function(...t){var e;null===(e=ms(o))||void 0===e||e.apply(this,t)};var s=mo(r),a=t=>{Fs(t,mu())},l=t=>{Fs(t,vu())};Ks(s,(t=>{ms(i)?t(a):t(l,!1)})),gi(r),No((()=>{Ma(r,"aria-label",ms(i)?"Play":"Pause"),Ma(r,"data-elementname",ms(i)?"Play":"Pause"),Ma(r,"data-interactiontype",ms(i)?"play":"pause")})),Fs(t,r),Si()}(t,{onPauseClick:P,get gallery(){return ms(f)}})};Ks(s,(t=>{ms(f).state.startedPlaying&&t(a)})),Fs(t,e)};Ks(a,(t=>{ms(n)&&!ms(f).state.introModulePlayed||!ms(f).state.themeLoaded||t(c)}));var d=go(a,2),h=t=>{var n=Cs(),i=vo(n),r=t=>{var e=rd();Pa(e,(t=>to(w,t)),(()=>ms(w))),Fs(t,e)};Ks(i,(t=>{e.debug&&t(r)})),Fs(t,n)};Ks(d,(t=>{ms(f).state.startedPlaying&&t(h)})),gi(r);var p=go(r,2),v=t=>{su(t,{onNavItemClick:C,get gallery(){return ms(f)}})};Ks(p,(t=>{ms(b)||ms(n)&&!ms(f).state.introModulePlayed||t(v)})),No((t=>ba(r,t)),[R]),Fs(t,i)};Ks(L,(t=>{n()&&ms(x)&&t(z)})),gi(B),No((()=>ga(B,1,"eko-gallery-app "+(ms(v)?`theme-${ms(v)}`:""),"svelte-1n46o8q"))),Fs(t,B),Si()}function cd(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var ud,dd,hd,fd,pd={exports:{}},md=cd((ud||(ud=1,hd=pd.exports,fd=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},(dd=pd).exports?dd.exports=fd():hd.log=fd()),pd.exports));const vd=()=>{},gd=["trace","log","debug","info","warn","error","getLevel","setLevel"],yd=["trace","debug","info","warn","error","silent"],bd={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;"},kd="undefined"!=typeof self&&self||"undefined"!=typeof window&&window||"undefined"!=typeof global&&global;let wd={level:"trace",appName:""},xd=[];const _d="object"==typeof kd&&kd.performance&&"function"==typeof kd.performance.now?kd.performance.now.bind(kd.performance):Date.now.bind(Date),Id=t=>t&&"string"==typeof t?t.toLowerCase().trim():"",Td=(()=>{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[Id(e)]=Id(i)||"trace"})),n}catch(t){return{}}})(),Ed=(t,e="")=>{const n=Id(t),i=md.getLogger(n);if(i.__ekologger)return i.__ekologger;e||Td[n]||Td["*"]||(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)=>(_d()/1e3).toFixed(e))()}] %c[${s}] ${wd.appName?`[${wd.appName}] `:""}[${t}]`,bd[s],...e)}},e=Td[n]||Td["*"]||e||wd.level,i.setLevel(e,!1);const o=(...t)=>i.log(...t);return gd.forEach((t=>{o[t]=(...e)=>(xd.forEach((n=>{n[t](...e)})),i[t](...e))})),i.__ekologger=o,o};Ed.setDefaults=({appName:t="",level:e})=>{t&&"string"==typeof t&&(wd.appName=t),(e=Id(e))&&yd.includes(e)&&(wd.level=e,Object.values(md.getLoggers()).filter((t=>t.__noExplicitLevel)).forEach((t=>t.setLevel(wd.level,!1))))},Ed.installDriver=t=>{const e={...gd.reduce(((e,n)=>(e[n]="function"==typeof(null==t?void 0:t[n])?t[n]:vd,e)),{})};xd.push(e)};let Sd=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 Md(t){return"[object Object]"===Object.prototype.toString.call(t)}function Ad(t,...e){const n=Md(t)?{...t}:{};return e.forEach((t=>{Md(t)&&Object.keys(t).forEach((e=>{const i=t[e],r=n[e];Md(i)&&Md(r)?n[e]=Ad(r,i):Array.isArray(i)?n[e]=i.slice():n[e]=i}))})),n}function Nd(t){if("string"==typeof t)return`'${t}'`;if(Array.isArray(t))return`[${t.map((t=>Nd(t))).join(", ")}]`;if(Md(t))try{return JSON.stringify(t)}catch(t){return"[object Object]"}return null===t?"null":void 0===t?"undefined":String(t)}function Cd(t){return Array.from(t).map((t=>Nd(t))).join(", ")}var Fd=new WeakSet;let Od=class extends Sd{constructor(...t){super(),O(this,Fd);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=Ed(n,this.loglevel);const i=Md(this.defaults)?this.defaults:{},r=Md(e)&&Md(e[n])?e[n]:{};this.settings=Ad({},i,r),M(Fd,this,Pd).call(this),M(Fd,this,Rd).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 Pd(){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}(${Cd(t)})`),a(...t)):a,t.add(o)}n=Object.getPrototypeOf(n)}}function Rd(){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 Dd="undefined"!=typeof self&&self||"undefined"!=typeof window&&window||"undefined"!=typeof global&&global||{};function Bd(t){return Boolean(t)&&"object"==typeof t&&1===t.nodeType&&"function"==typeof t.appendChild}const Ld=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 zd(t,e){const n={};return Number.isFinite(t)&&(n.time=t),"string"==typeof e&&(n.source=e),n}function Wd({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 jd({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 $d=new WeakMap,Ud=new WeakMap,qd=new WeakMap,Vd=new WeakMap,Hd=new WeakMap,Gd=new WeakMap,Kd=new WeakMap,Xd=new WeakSet;let Yd=class extends Od{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,Xd),C(this,$d,void 0),C(this,Ud,void 0),C(this,qd,void 0),C(this,Vd,void 0),C(this,Hd,void 0),C(this,Gd,void 0),C(this,Kd,void 0);const[i,r=null]=t;F(Gd,this,r);const o=function(t,e=(null==Dd?void 0:Dd.document)){if(Bd(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 Bd(i)?i:null}(i);if(!o)throw new Error("Canvas requires a valid mount target (HTMLElement or selector string).");F($d,this,o);const s=null==Dd?void 0:Dd.document;if(!s||"function"!=typeof s.createElement)throw new Error("Canvas requires document.createElement.");var a,l;F(Ud,this,s.createElement("canvas")),a=N(Ud,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($d,this).appendChild(N(Ud,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(Kd,this,u),F(qd,this,N(Ud,this).getContext("webgl2",u)),!N(qd,this))throw new Error("Canvas WebGL2 context is not available.");M(Xd,this,Jd).call(this)}get name(){return"Canvas"}get element(){return N(Ud,this)}get gl(){return N(qd,this)}onDispose(){M(Xd,this,Zd).call(this),N(Ud,this)&&N(Ud,this).parentNode&&N(Ud,this).parentNode.removeChild(N(Ud,this)),F(qd,this,null),F(Ud,this,null),F($d,this,null),F(Gd,this,null),F(Kd,this,null),F(Vd,this,null),F(Hd,this,null)}};function Qd(t,e){var n,i;this.trigger(t,e),null===(n=N(Gd,this))||void 0===n||null===(i=n.trigger)||void 0===i||i.call(n,t,e)}function Jd(){N(Ud,this)&&(F(Vd,this,(t=>{"function"==typeof(null==t?void 0:t.preventDefault)&&t.preventDefault(),this.log.error("WebGL context lost",t),M(Xd,this,Qd).call(this,Ld.CANVAS_WEBGL_CONTEXT_LOST,t)})),F(Hd,this,(t=>{var e;F(qd,this,(null===(e=N(Ud,this))||void 0===e?void 0:e.getContext("webgl2",N(Kd,this)))||null),N(qd,this)?M(Xd,this,Qd).call(this,Ld.CANVAS_WEBGL_CONTEXT_RESTORED,t):this.log.error("WebGL context restored event fired but WebGL2 context is still unavailable.",t)})),N(Ud,this).addEventListener("webglcontextlost",N(Vd,this)),N(Ud,this).addEventListener("webglcontextrestored",N(Hd,this)))}function Zd(){N(Ud,this)&&(N(Ud,this).removeEventListener("webglcontextlost",N(Vd,this)),N(Ud,this).removeEventListener("webglcontextrestored",N(Hd,this)))}var th=new WeakMap,eh=new WeakMap,nh=new WeakMap,ih=new WeakMap,rh=new WeakMap,oh=new WeakMap,sh=new WeakSet;let ah=class extends Od{get name(){return"ContainerSize"}get containerWidth(){return N(eh,this)}get containerHeight(){return N(nh,this)}get width(){return N(eh,this)}get height(){return N(nh,this)}constructor(...t){super(...t),O(this,sh),C(this,th,void 0),C(this,eh,0),C(this,nh,0),C(this,ih,null),C(this,rh,null),C(this,oh,null);const[e]=t;var n;F(th,this,(n=e)&&n.element&&Bd(n.element)?n.element:Bd(n)?n:null),N(th,this)&&(M(sh,this,ch).call(this,!0),M(sh,this,lh).call(this))}onDispose(){N(ih,this)&&"function"==typeof N(ih,this).disconnect&&N(ih,this).disconnect(),F(ih,this,null),N(oh,this)&&"function"==typeof(null==Dd?void 0:Dd.removeEventListener)&&Dd.removeEventListener("resize",N(oh,this)),F(oh,this,null),N(rh,this)&&((null==Dd?void 0:Dd.clearInterval)||clearInterval)(N(rh,this)),F(rh,this,null),F(th,this,null)}};function lh(){if(!N(th,this))return;const t=null==Dd?void 0:Dd.ResizeObserver;if("function"==typeof t)return F(ih,this,new t((()=>M(sh,this,ch).call(this)))),void N(ih,this).observe(N(th,this));F(oh,this,(()=>M(sh,this,ch).call(this))),"function"==typeof(null==Dd?void 0:Dd.addEventListener)&&Dd.addEventListener("resize",N(oh,this));const e=(null==Dd?void 0:Dd.setInterval)||setInterval;F(rh,this,e((()=>M(sh,this,ch).call(this)),250))}function ch(t=!1){if(!N(th,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(th,this));(t||e!==N(eh,this)||n!==N(nh,this))&&(F(eh,this,e),F(nh,this,n),this.trigger("containerresize",{width:e,height:n}))}var uh={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 dh=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 hh,fh={exports:{}},ph=(hh||(hh=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}(fh)),fh.exports),mh=cd(ph);let vh=class extends dh{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 mh;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)}},gh=class extends dh{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)}},yh=class extends dh{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 bh=function(t){let e;return e="string"==typeof t?new gh(t):t&&t.src&&t.dest?new yh(t):new vh(t),e};function kh(t){return Array.isArray(t)||(t=[t]),t}let wh=class{constructor(t){this.store=t?{...t.get()}:{}}reset(){this.store={}}get(t){if(!t)return this.store;const e=(t=kh(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=kh(t),e=kh(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 _h=Ed("frame","warn");let Ih=!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");Ih=e||n}function Th(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 Eh=class extends xh{fill(t){if(Ih&&(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?Th(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,Th(t,e)):t.__useSubImage=!0))}(this,t,e);const i=(performance.now()-n)/1e3;i>=.1&&_h.warn(`[fill] texImage2D() took ${i.toFixed(3)} seconds to execute.`),"function"==typeof t.close&&!0!==t.__keepOpen&&(t.close(),t.__closed=!0)}},Sh=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 Mh=function(t,e,n,i,r){let o;switch(t){case"frame":o=new Eh(e,n,i,r);break;case"pixel":o=new Sh(e,n,i,r);break;default:throw new Error(`cant recognize type ${t}`)}return o};let Ah=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=Mh(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 Nh=uh.VIDEO_SOURCE_PREFIX,Ch=uh.TEXTURE_SOURCE_PREFIX,Fh=uh.PREVIOUS_OUTPUT_PREFIX,Oh=uh.SAVED_FRAME_PREFIX;function Ph(t,e,n){t.set(`${Nh}${n}`,e)}function Rh(t,e,n){t.set(`${Fh}${n}`,e)}function Dh(t,e,n){t.set(`${Oh}${n}`,e)}let Bh=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()))Ph(t,n,e),Rh(t,n,e);for(const[e,n]of Object.entries(this.capturedFramesManager.getSavedFrames()))Dh(t,n,e)}setTextureSource(t,e,n){t.set(`${Ch}${n}`,e)}getInput(t,e){return t.get(e)}getPrevOutput(t,e){return e=Number.isInteger(e)?e:0,t.get(`${Fh}${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)=>{Rh(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))}))}},Lh=class{constructor(t){this.context=t}bind(){throw new Error("impl in concrete")}},zh=100,Wh=100;function jh(t,e){zh=t,Wh=e}let $h=class extends Lh{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),jh(i,r)),t}},Uh=class extends Lh{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}},qh=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===uh.SYSTEM_NODES.FILTERS.RENDER_TO_CANVAS?new $h({gl:this.gl}):new Uh({gl:this.gl,textureManager:this.textureManager,frameBufferObject:this.getFrameBufferObject(),useCanvasSizedFilterTargets:this.useCanvasSizedFilterTargets}),e}};function Vh(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 Hh=function(t,e){return Vh(t,t.VERTEX_SHADER,e)},Gh=function(t,e){return Vh(t,t.FRAGMENT_SHADER,e)};const Kh={position_3d:0,texture_coordinate_2d:1};var Xh=function(t,e,n){const i=t.createProgram();if(t.attachShader(i,e),t.attachShader(i,n),Object.entries(Kh).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)},Yh=[-1,-1,1,1,-1,1,-1,1,1,1,1,1],Qh=[0,1,2,2,1,3],Jh=[0,0,1,0,0,1,1,1];const Zh=96,tf=[new Float32Array(new ArrayBuffer(Zh)),new Float32Array(new ArrayBuffer(Zh)),new Float32Array(new ArrayBuffer(Zh)),new Float32Array(new ArrayBuffer(Zh)),new Float32Array(new ArrayBuffer(Zh)),new Float32Array(new ArrayBuffer(Zh))],ef=[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=tf[this.floatBufferCounter],this.floatBufferCounter=this.floatBufferCounter++%tf.length;break;case this.gl.ELEMENT_ARRAY_BUFFER:t=ef[this.unit16BufferCounter],this.unit16BufferCounter=this.unit16BufferCounter++%ef.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 rf={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 of=function(t,e,n){const i=rf[t];if(!i)throw new Error(`${t} is not a attribute name,choose from list: ${Object.keys(rf)}`);return new i(t,e,n)};let sf=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}},af=class extends sf{set(t){this.gl.uniform1fv(this.location,t)}},lf=class extends sf{set(t){t&&(t.beforeUse(),this.gl.uniform1i(this.location,t.getUnit()))}};const cf="first_texture_dimensions",uf="viewport_dimensions",df="time",hf={RUNTIME_OPTIONS:"runtimeOptions[0]",STATIC_OPTIONS:"staticOptions[0]",FIRST_TEXTURE:"first_texture",SECOND_TEXTURE:"second_texture",FIRST_MATRIX:"first_mat4"},ff={[hf.FIRST_TEXTURE]:lf,[hf.SECOND_TEXTURE]:lf,[hf.FIRST_MATRIX]:class extends sf{set(t){this.gl.uniformMatrix4fv(this.location,!1,t)}},[hf.STATIC_OPTIONS]:af,[hf.RUNTIME_OPTIONS]:af};var pf=function(t,e){const n=ff[t];if(!n)throw new Error(`${t} is not a attribute name,choose from list: ${Object.keys(ff)}`);return new n(t,e)},mf=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 vf="position_3d",gf="position_indexes",yf="texture_coordinate_2d";class bf{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=Hh(this.gl,e.vertex),this.fragmentShader=Gh(this.gl,e.fragment),this.program=Xh(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:vf,bindPoint:e.gl.ARRAY_BUFFER},{id:gf,bindPoint:e.gl.ELEMENT_ARRAY_BUFFER},{id:yf,bindPoint:e.gl.ARRAY_BUFFER}].concat(t)).forEach((t=>{const i=t.id;n[i]=of(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]=pf(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:hf.RUNTIME_OPTIONS},{id:hf.STATIC_OPTIONS}];return(t.getUniformList||bf.getUniformList)().forEach((t=>{Object.values(hf).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||bf.getUniformList)().forEach((t=>{switch(t){case hf.FIRST_TEXTURE:this.uniforms[hf.FIRST_TEXTURE].set(r[0]);break;case hf.SECOND_TEXTURE:this.uniforms[hf.SECOND_TEXTURE].set(r[1]);break;case cf:o=[...o,r[0].getWidth(),r[0].getHeight()];break;case uf:o=[...o,i.width,i.height];break;case df:{const t=mf(e.startTime,e.duration);o=[...o,t];break}}})),o.length>0&&this.uniforms[hf.RUNTIME_OPTIONS].set(o)}static getUniformList(){return[hf.FIRST_TEXTURE]}getOptionsDisplay(){return[]}handleStaticUniforms(){}handleAttributes(){this.attributes[vf].fillBuffer(Yh),this.attributes[vf].setPointer(),this.attributes[gf].fillBuffer(Qh),this.attributes[yf].fillBuffer(Jh),this.attributes[yf].setPointer()}disposeAttributes(){Object.values(this.attributes).forEach((t=>{t.dispose()}))}render(t,e){const n=this.frameBuffer.bind(t);let i={width:zh,height:Wh};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 kf,wf="undefined"!=typeof Float32Array?Float32Array:Array;function xf(){var t=new wf(3);return wf!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t}function _f(t,e,n){var i=new wf(3);return i[0]=t,i[1]=e,i[2]=n,i}function If(){var t=new wf(4);return wf!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t[3]=1,t}xf(),function(){var t;t=new wf(4),wf!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0)}(),xf(),_f(1,0,0),_f(0,1,0),If(),If(),kf=new wf(9),wf!=Float32Array&&(kf[1]=0,kf[2]=0,kf[3]=0,kf[5]=0,kf[6]=0,kf[7]=0),kf[0]=1,kf[4]=1,kf[8]=1;class Tf extends bf{constructor(t){const e={uniforms:bf.getUniformInfo(Tf)};super(Tf.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:Tf.getInitialOptions().translate.x},{properties:["translate","y"],type:"slider",minValue:-2,maxValue:2,step:.001,initialValue:Tf.getInitialOptions().translate.y},{properties:["scale","x"],type:"slider",minValue:-10,maxValue:10,step:.001,initialValue:Tf.getInitialOptions().scale.x},{properties:["scale","y"],type:"slider",minValue:-10,maxValue:10,step:.001,initialValue:Tf.getInitialOptions().scale.y},{properties:["rotate"],type:"slider",minValue:-360,maxValue:360,step:1,initialValue:Tf.getInitialOptions().rotate}]}static getUniformList(){return[hf.FIRST_TEXTURE,hf.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 wf(16),wf!=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}(If(),0,0,o),_f(e,n,0),_f(i,r,1)),this.uniforms[hf.FIRST_MATRIX].set(this.transformMatrix)}}class Ef extends bf{constructor(t){const e={uniforms:bf.getUniformInfo(Ef)};super(Ef.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[hf.FIRST_TEXTURE,cf]}}class Sf extends bf{constructor(t){const e={uniforms:bf.getUniformInfo(Sf)};super(Sf.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[hf.FIRST_TEXTURE,cf]}}class Mf extends bf{constructor(t){const e={uniforms:bf.getUniformInfo(Mf)};super(Mf.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[hf.FIRST_TEXTURE,cf,uf]}handleStaticUniforms(t){var e;const n=(null!==(e=Number.parseFloat(t.offsetDist))&&void 0!==e?e:4).toFixed(3);this.uniforms[hf.STATIC_OPTIONS].set([n])}}class Af extends bf{constructor(t){const e={uniforms:bf.getUniformInfo(Af)};super(Af.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[hf.FIRST_TEXTURE,cf,uf]}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[hf.STATIC_OPTIONS].set([i,r])}}class Nf extends bf{constructor(t){const e={uniforms:bf.getUniformInfo(Nf)};super(Nf.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[hf.STATIC_OPTIONS].set([e])}}class Cf extends bf{constructor(t){const e={uniforms:bf.getUniformInfo(Cf)};super(Cf.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[hf.FIRST_TEXTURE,cf,hf.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[hf.STATIC_OPTIONS].set([e,n,i,r,o,s,a])}}class Ff extends bf{constructor(t){const e={uniforms:bf.getUniformInfo(Ff)};super(Ff.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[hf.FIRST_TEXTURE,hf.SECOND_TEXTURE]}}class Of extends bf{constructor(t){const e={uniforms:bf.getUniformInfo(Of)};super(Of.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[hf.FIRST_TEXTURE,hf.SECOND_TEXTURE]}getOptionsDisplay(){return[]}handleStaticUniforms(t){const e=Number.parseFloat(t.lutSize).toFixed(1);this.uniforms[hf.STATIC_OPTIONS].set([e])}}var Pf="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",Rf='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:Df,cos:Bf,sin:Lf,acos:zf,atan2:Wf,sqrt:jf,pow:$f}=Math;function Uf(t){return t<0?-$f(-t,1/3):$f(t,1/3)}const qf=Math.PI,Vf=2*qf,Hf=qf/2,Gf=Number.MAX_SAFE_INTEGER||9007199254740991,Kf=Number.MIN_SAFE_INTEGER||-9007199254740991,Xf={x:0,y:0,z:0},Yf={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),jf(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],Xf],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||Yf.approximately(t,e)||Yf.approximately(t,n)},approximately:function(t,e,n){return Df(t-e)<=(n||1e-6)},length:function(t){const e=Yf.Tvalues.length;let n=0;for(let i,r=0;r<e;r++)i=.5*Yf.Tvalues[r]+.5,n+=Yf.Cvalues[r]*Yf.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(Yf.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 Wf(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 jf(n*n+i*i)},closest:function(t,e){let n,i,r=$f(2,63);return t.forEach((function(t,o){i=Yf.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=$f(t,e)+$f(1-t,e);return Df((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=$f(1-t,e);return n/($f(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 Yf.lli8(r,o,s,a,l,c,u,d)},lli:function(t,e){return Yf.lli4(t,t.c,e,e.c)},makeline:function(t,e){return new sp(t.x,t.y,(t.x+e.x)/2,(t.y+e.y)/2,e.x,e.y)},findbbox:function(t){let e=Gf,n=Gf,i=Kf,r=Kf;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(!Yf.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=Yf.makeline(e.points[i-1],t.points[0]),s=Yf.makeline(t.points[r-1],e.points[0]),a={startcap:o,forward:t,back:e,endcap:s,bbox:Yf.findbbox([o,t,e,s]),intersections:function(t){return Yf.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=Gf,s=Kf;-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=-Wf(e.p2.y-i,e.p2.x-n);return t.map((function(t){return{x:(t.x-n)*Bf(r)-(t.y-i)*Lf(r),y:(t.x-n)*Lf(r)+(t.y-i)*Bf(r)}}))},roots:function(t,e){e=e||{p1:{x:0,y:0},p2:{x:1,y:0}};const n=t.length-1,i=Yf.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=-jf(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(Yf.approximately(l,0)){if(Yf.approximately(c,0))return Yf.approximately(u,0)?[]:[-d/u].filter(r);const t=jf(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=jf(t*t*t),n=-p/(2*e),i=zf(n<-1?-1:n>1?1:n),o=2*Uf(e);return b=o*Bf(i/3)-c/3,k=o*Bf((i+Vf)/3)-c/3,w=o*Bf((i+2*Vf)/3)-c/3,[b,k,w].filter(r)}if(0===v)return g=m<0?Uf(-m):-Uf(m),b=2*g-c/3,k=-g-c/3,[b,k].filter(r);{const t=jf(v);return g=Uf(-m+t),y=Uf(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=-jf(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=Yf.compute(t,e),h=Yf.compute(t,n),f=d.x*d.x+d.y*d.y;if(i?(o=jf($f(d.y*h.z-h.y*d.z,2)+$f(d.z*h.x-h.z*d.x,2)+$f(d.x*h.y-h.x*d.y,2)),s=$f(f+d.z*d.z,1.5)):(o=d.x*h.y-d.y*h.x,s=$f(f,1.5)),0===o||0===s)return{k:0,r:0};if(c=o/s,u=s/o,!r){const r=Yf.curvature(t-.001,e,n,i,!0).k,o=Yf.curvature(t+.001,e,n,i,!0).k;l=(o-c+(c-r))/2,a=(Df(o-c)+Df(c-r))/2}return{k:c,r:u,dk:l,adk:a}},inflections:function(t){if(t.length<4)return[];const e=Yf.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(Yf.approximately(o,0)){if(!Yf.approximately(s,0)){let t=-a/s;if(0<=t&&t<=1)return[t]}return[]}const l=2*o;if(Yf.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,Df(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 Yf.bboxoverlap(t.left.bbox(),t.right.bbox())}));let u=[];return 0===c.length||(c.forEach((function(t){u=u.concat(Yf.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*Bf(Hf)-r*Lf(Hf),l=i*Lf(Hf)+r*Bf(Hf),c=o*Bf(Hf)-s*Lf(Hf),u=o*Lf(Hf)+s*Bf(Hf),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=Yf.lli8(d,h,m,v,f,p,g,y),k=Yf.dist(b,t);let w,x=Wf(t.y-b.y,t.x-b.x),_=Wf(e.y-b.y,e.x-b.x),I=Wf(n.y-b.y,n.x-b.x);return x<I?((x>_||_>I)&&(x+=Vf),x>I&&(w=I,I=x,x=w)):I<_&&_<x?(w=I,I=x,x=w):I+=Vf,b.s=x,b.e=I,b.r=k,b},numberSort:function(t,e){return t-e}};class Qf{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 Yf.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++)Yf.expandbox(e,t[n].bbox());return e}offset(t){const e=[];return this.curves.forEach((function(n){e.push(...n.offset(t))})),new Qf(e)}}const{abs:Jf,min:Zf,max:tp,cos:ep,sin:np,acos:ip,sqrt:rp}=Math,op=Math.PI;let sp=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=Yf.align(s,{p1:s[0],p2:s[l]}),d=Yf.dist(s[0],s[l]);this._linear=u.reduce(((t,e)=>t+Jf(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=Yf.dist(n,s.C));const a=o*(1-r)/r,l=Yf.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 Yf}getUtils(){return e.getUtils()}static get PolyBezier(){return Qf}valueOf(){return this.toString()}toString(){return Yf.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=Yf.derive(this.points,this._3d),this.computedirection()}computedirection(){const t=this.points,e=Yf.angle(t[0],t[this.order],t[1]);this.clockwise=e>0}length(){return Yf.length(this.derivative.bind(this))}static getABC(t=2,e,n,i,r=.5){const o=Yf.projectionratio(r,t),s=1-o,a={x:o*e.x+s*i.x,y:o*e.y+s*i.y},l=Yf.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],Yf.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=Yf.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=Yf.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?Yf.computeWithRatios(t,this.points,this.ratios,this._3d):Yf.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 Yf.compute(t,this.dpoints[0],this._3d)}dderivative(t){return Yf.compute(t,this.dpoints[1],this._3d)}align(){let t=this.points;return new e(Yf.align(t,{p1:t[0],p2:t[t.length-1]}))}curvature(t){return Yf.curvature(t,this.dpoints[0],this.dpoints[1],this._3d)}inflections(){return Yf.inflections(this.points)}normal(t){return this._3d?this.__normal3(t):this.__normal2(t)}__normal2(t){const e=this.derivative(t),n=rp(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=rp(e.x*e.x+e.y*e.y+e.z*e.z),r=rp(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=rp(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=Yf.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=Yf.map(0,0,1,this._t1,this._t2),r.left._t2=Yf.map(t,0,1,this._t1,this._t2),r.right._t1=Yf.map(t,0,1,this._t1,this._t2),r.right._t2=Yf.map(1,0,1,this._t1,this._t2),n?(n=Yf.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]=Yf.droots(r),3===this.order&&(r=this.dpoints[1].map(i),t[n]=t[n].concat(Yf.droots(r))),t[n]=t[n].filter((function(t){return t>=0&&t<=1})),e=e.concat(t[n].sort(Yf.numberSort))}.bind(this)),t.values=e.sort(Yf.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]=Yf.getminmax(this,n,t[n])}.bind(this)),e}overlaps(t){const e=this.bbox(),n=t.bbox();return Yf.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=Yf.angle(this.points[0],this.points[3],this.points[1]),e=Yf.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),Jf(ip(n))<op/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,Jf(n-i)<r)return[];e=t.split(n,i),e._t1=Yf.map(n,0,1,t._t1,t._t2),e._t2=Yf.map(i,0,1,t._t1,t._t2),s.push(e),n=i;break}n<1&&(e=t.split(n,1),e._t1=Yf.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=Yf.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]=Yf.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=rp(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]=Yf.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=Yf.makeline(h[2],d[0]),p=Yf.makeline(d[2],h[0]),m=[f,new e(d),p,new e(h)];return new Qf(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 Yf.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=Yf.makeline(v,p),b=Yf.makeline(m,g),k=[y].concat(a).concat([b]).concat(c);return new Qf(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=Yf.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=Zf(t.p1.x,t.p2.x),n=Zf(t.p1.y,t.p2.y),i=tp(t.p1.x,t.p2.x),r=tp(t.p1.y,t.p2.y);return Yf.roots(this.points,t).filter((t=>{var o=this.get(t);return Yf.between(o.x,e,i)&&Yf.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=Yf.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=Yf.dist(t,e),l=Yf.dist(t,o),c=Yf.dist(t,s);return Jf(l-a)+Jf(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=Yf.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*ep(a.e),y:a.y+a.r*np(a.e)};a.e+=Yf.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 ap={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 sp({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 sp(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 sp(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 lp{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{cp(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 cp(t,e,n){let i=t[e];t[e]=t[n],t[n]=i}function up(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 dp={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 lp(n,i);let o=[];for(let n=0;n<e;n++)o.push(up(n/(e-1),r,t));return o}};function hp(t,e=256,n={}){return"bezier"===n.type?ap.pointsToCurve(t,e,n):dp.pointsToCurve(t,e)}const fp=[];for(let t=0;t<256;t++)fp[t]=t;class pp extends bf{constructor(t){const e={vertex:Pf,fragment:Rf},n={uniforms:bf.getUniformInfo(pp)};super(pp.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,hp(n,256).map((t=>255*t))):fp],this.uniforms[hf.STATIC_OPTIONS].set(e)}}function mp(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 vp extends bf{constructor(t){const e={vertex:Pf,fragment:Rf},n={uniforms:bf.getUniformInfo(vp)};super(vp.getFilterType(),e,n,t)}static getFilterType(){return"levels"}static getInputsCount(){return 1}static getInitialOptions(){return{}}getOptionsDisplay(){return[]}handleStaticUniforms(t){let e=[...mp(t.black,t.white,t.gamma)];this.uniforms[hf.STATIC_OPTIONS].set(e)}}const gp=360,yp=[];for(let t=0;t<gp;t++)yp[t]=t;class bp extends bf{constructor(t){const e={uniforms:bf.getUniformInfo(bp)};super(bp.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 hp(t,gp,{type:"bezier"}).map((t=>{return e=t,((Math.round(e.x*gp)+180)%gp+(1-e.y-.5)*gp+gp)%gp;var e}))}(t.points)||yp;this.uniforms[hf.STATIC_OPTIONS].set(e)}}class kp extends bf{constructor(t){const e={uniforms:bf.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[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[hf.STATIC_OPTIONS].set([e,n])}}class wp extends bf{constructor(t){const e={uniforms:bf.getUniformInfo(wp)};super(wp.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[hf.STATIC_OPTIONS].set([e,n,i,r])}}class xp extends bf{constructor(t){const e={uniforms:bf.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[hf.STATIC_OPTIONS].set([e])}}class _p extends bf{constructor(t){const e={uniforms:bf.getUniformInfo(_p)};super(_p.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[hf.FIRST_TEXTURE,cf,uf]}handleStaticUniforms(t){let e={..._p.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[hf.STATIC_OPTIONS].set([n,i,r,o,s,a,l,c,h,f,d,u])}}class Ip extends bf{constructor(t){const e={uniforms:bf.getUniformInfo(Ip)};super(Ip.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[hf.STATIC_OPTIONS].set([n,i,r,o])}}class Tp extends bf{constructor(t){const e={uniforms:bf.getUniformInfo(Tp)};super(Tp.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 Ep extends bf{constructor(t){const e={uniforms:bf.getUniformInfo(Ep)};super(Ep.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[hf.STATIC_OPTIONS].set([e,n])}}class Sp extends bf{constructor(t){const e={uniforms:bf.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} ",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[hf.STATIC_OPTIONS].set([e])}}var Mp,Ap,Np,Cp,Fp,Op,Pp,Rp;function Dp(){if(Cp)return Np;Cp=1;const t=Ap?Mp:(Ap=1,Mp={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"]}};Np=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]},Np}function Bp(){if(Op)return Fp;Op=1;const t=Dp();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 Fp=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 Lp=function(){if(Rp)return Pp;Rp=1;const t=Dp(),e=Bp(),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)}))})),Pp=n}(),zp=cd(Lp);class Wp extends bf{constructor(t){const e={uniforms:bf.getUniformInfo(Wp)};super(Wp.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=zp.hex.rgb(t.color).map((t=>t/255));this.uniforms[hf.STATIC_OPTIONS].set([e[0],e[1],e[2]])}}class jp extends bf{constructor(t){const e={uniforms:bf.getUniformInfo(jp)};super(jp.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[hf.STATIC_OPTIONS].set([e.from,e.to,...e.ease])}static getUniformList(){return[hf.FIRST_TEXTURE,df]}}class $p extends bf{constructor(t){const e={uniforms:bf.getUniformInfo($p)};super($p.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[hf.STATIC_OPTIONS].set([e.from,e.to,...e.ease])}static getUniformList(){return[hf.FIRST_TEXTURE,df]}}class Up extends bf{constructor(t){const e={uniforms:bf.getUniformInfo(Up)};super(Up.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[hf.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[hf.FIRST_TEXTURE,df]}}class qp extends bf{constructor(t){const e={uniforms:bf.getUniformInfo(qp)};super(qp.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[hf.STATIC_OPTIONS].set([e.from,e.to,...e.ease,n.x,n.y])}static getUniformList(){return[hf.FIRST_TEXTURE,df,cf]}}class Vp extends bf{constructor(t){const e={uniforms:bf.getUniformInfo(Vp)};super(Vp.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=zp.hex.rgb(n).map((t=>t/255));this.uniforms[hf.STATIC_OPTIONS].set([e.from,e.to,...e.ease,i[0],i[1],i[2]])}static getUniformList(){return[hf.FIRST_TEXTURE,df]}}var Hp=Object.freeze({__proto__:null,Crop:_p,Curves:pp,Default:class t extends bf{constructor(e){const n={uniforms:bf.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:$p,DirectionalBlur:Af,Exposure:Sp,ExposureTransition:jp,FadeToColorTransition:Vp,FastBlur:Mf,HardLight:Wp,HorizontalBlur:Ef,Hue:bp,Lab:Ep,Levels:vp,Lut:Of,MotionBlurTransition:qp,Opacity:Nf,Saturation:xp,ShapeComposite:Ff,ShapeCompositeMask:Cf,Solid:Ip,SolidImage:Tp,Transform:Tf,TransformTransition:Up,VerticalBlur:Sf,Vibrance:wp,WhiteBalance:kp});const Gp=Object.values(Hp).reduce(((t,e)=>(t[e.getFilterType()]=e,t)),{});class Kp{constructor(t){this.context=t}static getFilterClass(t){return Gp[t]}getFilterIds(){return Object.keys(this.filterTypeToInstanceMap)}create(t,e){this.context={...this.context,options:e.options};const n=new Gp[t](this.context);if(!n)throw new Error(`${t} is not a atom filter, atomFilter list: `,this.getFilterIds());return n}}const Xp=uh.PREVIOUS_OUTPUT_PREFIX,Yp=Object.values(Hp).reduce(((t,e)=>(t[e.getFilterType()]={type:e.getFilterType(),options:e.getInitialOptions(),inputs:[...Array(e.getInputsCount())].map(((t,e)=>`${Xp}${e}`)),outputs:[]},t)),{});var Qp,Jp,Zp=function(){if(Jp)return Qp;Jp=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)}),{})},Qp=s}(),tm=cd(Zp),em=function(t,e){return tm(t,e,{arrayMerge:(t,e)=>e})};const nm=uh.MESSAGES.UPDATE_OPTIONS;let im=class{constructor(t,e){this.eventEmitter=new mh,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(nm,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 rm extends im{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=em(this.options,t),this.filter.updateStaticUniforms(this.options)}dispose(){this.filter.dispose()}}const om=uh.MESSAGES.UPDATE_OPTIONS;class sm extends rm{constructor(t,e,n){super(...arguments),this.baseNode=n.baseNode,this.registerListeners()}baseNodeUpdateOptions(t){this.options=em(this.options,t),this.filter.updateStaticUniforms(this.options)}registerListeners(){this.baseNode.getEventEmitter().on(om,this.baseNodeUpdateOptions,this)}dispose(){this.filter.dispose(),this.baseNode.getEventEmitter().off(om,this.baseNodeUpdateOptions,this)}}function am(t){return null!==t&&"object"==typeof t}function lm(t){if(!am(t)||(e=t,Array.isArray(e)))return t;var e;const n=Object.keys(t).sort(),i={};return n.forEach((e=>{i[e]=lm(t[e])})),i}function cm(t,e){return null!=t&&t.id&&null!=e&&e.id?t.type===e.type&&t.id===e.id:t.type===e.type}function um(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)),am(i=n)&&am(r)?JSON.stringify(lm(i))===JSON.stringify(lm(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]&&cm(a,c[l])?l:c.findIndex((t=>cm(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 dm(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=_m.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 hm=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 dm(um(r,o),r,n,i)};class fm extends im{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=>_m.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 wh(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=hm(t,this.options,this.nodes,this.context),this.options=t}dispose(){this.nodes.forEach((t=>{t.dispose()}))}}const pm=uh.MESSAGES.UPDATE_OPTIONS;class mm extends fm{constructor(t,e,n){super(...arguments),this.baseNode=n.baseNode,this.registerListeners()}registerListeners(){this.baseNode.getEventEmitter().on(pm,this.updateOptions,this)}dispose(){this.nodes.forEach((t=>{t.dispose()})),this.baseNode.getEventEmitter().off(pm,this.updateOptions,this)}}const vm=uh.SYSTEM_NODES.TAGS.ATOM,gm=uh.SYSTEM_NODES.TAGS.FILTER,ym=uh.SYSTEM_NODES.TAGS.COMPOSITE_FILTER,bm=uh.SYSTEM_NODES.TAGS.TRANSITION_FILTER,km=uh.PREVIOUS_OUTPUT_PREFIX,wm=Object.keys(Yp);function xm(t,e){const n=(i=t.type,Yp[i]);var i;return t=em(n,t),new rm(t.type,t,e)}var _m={create:function(t,e){let n;switch(function(t){let e;return n=t,e=wm.includes(n)?vm:t===ym?ym:t===bm?bm:gm,e;var n}((t=JSON.parse(JSON.stringify(t))).type)){case vm:n=xm(t,e);break;case gm: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=em(r,t),e={...e,baseNode:n},o=i===ym?new mm(i,t,e):new sm(i,t,e),o}(t,e);break;case ym:n=function(t,e){const n=t.type;return t=em({inputs:[`${km}0`]},t),new fm(n,t,e)}(t,e);break;case bm: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 Im=uh.SYSTEM_NODES.FILTERS.RENDER_TO_CANVAS;var Tm=function(t){const e={[Im]:Yp[Im]};for(const[n,i]of Object.entries(e)){const e=_m.create(i,t);t.nodeStore.set(n,e)}},Em=function(t,e){for(const[n,i]of Object.entries(t)){const t=_m.create(i,e);e.nodeStore.set(n,t)}};const Sm=uh.CAPTURED_FRAME_PREFIX;class Mm{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=`${Sm}${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 Am=Ed("ShaderGraphApplication","warn"),Nm=uh.SYSTEM_NODES.FILTERS.RENDER_TO_CANVAS,Cm=Object.freeze({useCanvasSizedFilterTargets:!1,rebindAttributesOnProgramSwitch:!0,forwardContextAttributes:!0});function Fm(t={}){const e=null==t?void 0:t.performanceToggles;return e&&"object"==typeof e?{...Cm,...e}:{...Cm}}class Om{constructor(t,e={}){return this.glSource=t,this.config=e,this.performanceToggles=Fm(e),this.isContextLost=!1,this.isRecovering=!1,this.isDisposed=!1,this.pendingNodeOptionUpdates=new Map,this.doInit(t,e)}doInit(t,e){this.source=bh(t),this.performanceToggles=Fm(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=Cm){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 Ah({gl:this.gl,activeTextures:this.activeTextures}),this.capturedFramesManager=new Mm({textureManager:this.textureManager}),this.graphIOManager=new Bh({glSource:t,gl:this.gl,textureManager:this.textureManager,capturedFramesManager:this.capturedFramesManager}),this.frameBufferFactory=new qh({gl:this.gl,textureManager:this.textureManager,useCanvasSizedFilterTargets:this.performanceToggles.useCanvasSizedFilterTargets}),this.filterFactory=new Kp({gl:this.gl,frameBufferFactory:this.frameBufferFactory,rebindAttributesOnProgramSwitch:this.performanceToggles.rebindAttributesOnProgramSwitch}),this.nodeStore=new wh,this.ioStore=new wh,Tm({nodeStore:this.nodeStore,filterFactory:this.filterFactory}),this.addClientNodes(e.nodes,this.isRecovering)}getNodes(){return Am.debug("[getNodes]"),this.nodeStore.get()}addClientNodes(t,e=!1){if(Am.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));Em(n,{nodeStore:this.nodeStore,filterFactory:this.filterFactory})}addTexture(t,e,n){if(Am.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){Am.debug("[releaseTexture]",t),this.isContextUnavailable()||this.textureManager.releaseTexture(t)}selectNode(t){if(Am.debug("[selectNode]",t),!this.isContextUnavailable())return this.nodeStore.get(t)||Am.warn("Missing render node",t),void(this.selectedRenderNodeId=t);this.selectedRenderNodeId=t}captureTexture(){return Am.debug("[captureTexture]"),this.isContextUnavailable()?null:this.capturedFramesManager.createCaptureId()}disposeTexture(t){return Am.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||(jh(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){Am.error("Failed to apply pending node options",e,t),this.queueNodeOptionUpdate(e,n)}return}this.updateOptions(e,n)}catch(t){Am.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;jh(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):(Am.warn("Missing selected render node",this.selectedRenderNodeId),this.selectedRenderNodeId=null)}renderToCanvas(t){const e=this.nodeStore.get(Nm);e&&"function"==typeof e.render?e.render(t):Am.warn("Missing render-to-canvas node")}updateOptions(t,e){if(Am.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){Am.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(){Am.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),Am.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=>{Am.debug("Re-adding client nodes",t),this.addClientNodes(t,!0)})),Object.entries(e).forEach((([t,e])=>{Am.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&&(Am.debug("Recovering glSource (i.e. seeking/resetting player)"),await this.source.recover()),this.isContextLost=!1,this.isRecovering=!1,o&&this.render()}catch(t){Am.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 Pm{constructor(t={}){this.options=t}get type(){return"stage"}getSignature(){return this.type}build({inputs:t=[]}={}){return{graph:[],outputs:t,signature:this.getSignature()}}}function Rm(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 Dm extends Pm{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:Rm(a)}),o.push(l)}return{graph:r,outputs:o,signature:this.getSignature()}}}class Bm{#M=new Map;constructor(){this.register("retarget",Dm)}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 Lm{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 zm extends Lm{#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=zm.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 Wm(t){const e=Number(t);return Number.isFinite(e)?e<=0?0:e>=1?1:e:0}class jm extends Lm{#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=Wm(e),i=[{type:"opacity",inputs:[t[1]],options:{power:n}},{type:"shapeComposite",inputs:["__PREVIOUS:0",t[0]],options:{}}];return{type:jm.type,signature:`${jm.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=Wm((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=jm.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=jm.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 $m(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 Um(t){return!(!t||!0===t.offsetPending)&&Number.isFinite(t.offset)}function qm(t){return Um(t)?t.offset:void 0}function Vm(t,e,n,i={}){if(!t)return!1;const r=qm(t);if(!Number.isFinite(r))return!1;const o=$m(t,n,i);return Number.isFinite(o)?e>=r&&e<r+o:e>=r}function Hm(t=[]){if(!Array.isArray(t))return t;const e=[],n=[];return t.forEach((t=>{Um(t)?e.push(t):n.push(t)})),e.sort(((t,e)=>t.offset-e.offset)),t.splice(0,t.length,...e,...n),t}function Gm(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=qm(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&&Hm(t),{updated:a,resolvedPlacements:l}}function Km(t){const e=Number(t);return Number.isFinite(e)?e:0}function Xm(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 Ym(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 Qm(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 Jm(t){const e=Number(t);return Number.isFinite(e)&&e>0?e:0}function Zm(t){return(null==t?void 0:t.id)||(null==t?void 0:t.nodeId)||null}function tv(t,e){return Array.isArray(t)&&e?t.findIndex((t=>Zm(t)===e)):-1}function ev(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=tv(e,n);return t>=0?(t+1)%i:0}if("prev"===t){const t=tv(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)?Zm(e[i]):null}function nv(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=qm(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)=>qm(t)-qm(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 iv(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 rv(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 ov(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(iv(n,r,t))return r}return null}function sv(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 av extends Lm{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=Wm(e),i=[{type:"opacity",inputs:[t[1]],options:{power:n}},{type:"shapeComposite",inputs:["__PREVIOUS:0",t[0]],options:{}}];return{type:av.type,signature:`${av.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:Wm(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&&(sv(a),a.activeRenderPlacementId=l);const c=null==r?void 0:r.initSwitching,u=nv(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=rv(a.placements,a.selectedPlacementId),i=ev(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=ev(Number.isInteger(t)&&t>=0?t:0,a.nodes,null);let n=null;if(e&&(n=ov(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&&iv(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=ov(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=Jm(a.pendingSwitch.crossfadeSeconds),s=Jm(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=Wm(t/a.switchDuration))}a.switchNormalizedTime=Number.isFinite(p)?p:void 0;const m=rv(a.placements,a.selectedPlacementId),v=iv(s,a.selectedPlacementId,m)||s[0];let g=null;if(Number.isFinite(a.switchNormalizedTime)&&a.previousPlacementId){const t=rv(a.placements,a.previousPlacementId),e=rv(a.placements,a.selectedPlacementId),n=iv(s,a.previousPlacementId,t),i=iv(s,a.selectedPlacementId,e);n&&i&&(g=[n,i])}return g||(g=v?[v]:s),g}static resetRenderState(t){t&&"object"==typeof t&&sv(t)}}const lv=.5,cv="auto";function uv(t){return"vertical"===t?"vertical":"horizontal"}function dv(t){return void 0===t||t===cv?cv:"manual"}function hv(t){const e=Number(t);return Number.isFinite(e)&&e>=0?e:.004}function fv(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":uv(e)}function pv(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=dv(i);return{orientationMode:s,orientation:s===cv?fv(null==e?void 0:e.viewportSize,r):uv(r),gap:hv(o)}}function mv(t){t&&"object"==typeof t&&(t.activeRenderPlacementId=null,t.frames=null,t.gridInitialized=!1,t.runtimeParams=null,t.setGridParams=null)}class vv extends Lm{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":vv.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}=pv(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+lv)*o,targetCenterY:(e+lv)*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:lv,y:lv},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:vv.type,signature:`${vv.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&&(mv(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=dv(e.orientationMode)),Object.prototype.hasOwnProperty.call(e,"orientation")&&(n.orientation=uv(e.orientation)),Object.prototype.hasOwnProperty.call(e,"gap")&&(n.gap=hv(e.gap)),t.runtimeParams=n}(o,t),"function"==typeof o.requestRender&&o.requestRender()}),!o.gridInitialized)){o.gridInitialized=!0;const t=pv(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){mv(t)}}const gv=[zm,jm,av,vv],yv=new Map;function bv(t){if("string"!=typeof t)return null;const e=t.trim();return e?e.toLowerCase():null}function kv(t){const e=bv(t);return e&&yv.get(e)||null}function wv(t){return kv(t)||zm}gv.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=bv(e);n&&yv.set(n,t)}))}(t)));class xv{static get defaultType(){return zm.type||"default"}static getRenderNodeClass(t){return kv(t)}static normalizeType(t){const e=kv(t);return e?e.type:null}static doesRenderNodeTypeRequireFrameCadence(t){const e=kv(t);return!!e&&!0===e.requiresFrameCadence}static buildLayoutGraph({type:t,inputs:e=[],normalizedTime:n,renderNodeParams:i,state:r}={}){const o=wv(t);return o&&"function"==typeof o.buildLayoutGraph?o.buildLayoutGraph({inputs:e,normalizedTime:n,renderNodeParams:i,state:r}):zm.buildLayoutGraph({inputs:e,normalizedTime:n,renderNodeParams:i,state:r})}static getPanAndScanTarget(t,e={}){const n=wv(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=wv(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=wv(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=wv(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(wv(t))(e)}}function _v(t){return Array.isArray(t)?t.filter((t=>t&&"string"==typeof t.type)):[]}function Iv(t,e){return t&&"function"==typeof t.getSignature?t.getSignature():(null==e?void 0:e.type)||"stage"}class Tv{#F;constructor(t){this.#F=t||new Bm}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=_v(null==t?void 0:t.preStages),s=_v(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(Iv(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(Iv(i,e))})),{graph:a,signature:l.join("|"),isDynamic:d}}}const Ev=[0,0,1,1],Sv="zoomInExposure",Mv=["transform","exposure","fadeToColor","dipToBlack"],Av={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 Nv(t,e=0){const n=Number(t);return Number.isFinite(n)?n:e}function Cv(t,e=Ev){return Array.isArray(t)&&t.length>=4?t:e}function Fv(t){return"string"==typeof t&&t.trim()?t.trim():"#ffffff"}function Ov(t,e){const n=null==t?void 0:t[e];return!1===n||null==n?null:Md(n)?n:{}}function Pv(t={}){let e=0;return Mv.forEach((n=>{const i=Ov(t,n);if(!i)return;const r=Nv(null==i?void 0:i.duration);r>e&&(e=r)})),e}function Rv(t,e,n,i,r){const o=[];return Mv.forEach((s=>{const a=Ov(t,s);if(!a)return;const l=function(t,e,n){const i=Nv(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=Cv(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=Cv(null==e?void 0:e.ease),n=(null==e?void 0:e.power)||{from:0,to:1};return o.options.properties.power={from:Nv(null==n?void 0:n.from,0),to:Nv(null==n?void 0:n.to,1),ease:t},o.options.properties.color=Fv((null==e?void 0:e.color)||r),o}if("exposure"===t||"dipToBlack"===t){const t=Cv(null==e?void 0:e.ease),n=(null==e?void 0:e.power)||{from:0,to:1};return o.options.properties.power={from:Nv(null==n?void 0:n.from,0),to:Nv(null==n?void 0:n.to,1),ease:t},o}return null}(s,a,e,l,r);c&&o.push(c)})),o}function Dv(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 Bv{#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(Md(null==t?void 0:t.transition))return t.transition;if("string"==typeof(null==t?void 0:t.transition))return Av[t.transition]||Av[Sv];if(Md(null==t?void 0:t.filters)||Md(null==t?void 0:t.reverseFilters))return{filters:t.filters||{},reverseFilters:t.reverseFilters||{}};if("string"==typeof(null==t?void 0:t.filter)){const e=Nv(t.duration)>0?1e3*t.duration:500;return{filters:{[t.filter]:{duration:e,power:{from:0,to:1}}},reverseFilters:{}}}return Av[Sv]}(t),n=Ad({},(null==e?void 0:e.filters)||{},Md(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(Md(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=Ad({},(null==e?void 0:e.reverseFilters)||{},Md(null==t?void 0:t.reverseFilters)?t.reverseFilters:{});return{baseFilters:n,reverseFilters:Ad({},i,r)}}(t),r=Nv(null==t?void 0:t.duration),o=r>0?1e3*r:null,s=Pv(n),a=Pv(i),l=o&&s>0?o/s:1,c=o&&a>0?o/a:1,u=o||s||500,d=o||a||u,h=Fv(null==t?void 0:t.color),f=e.captureTexture(),p=Date.now(),m=Rv(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:Dv(m),inGraph:null,inSignature:null},{captureId:f,outDurationMs:u,inDurationMs:d}}beginIncoming(){if(!this.#O)return;const t=Date.now(),e=Rv(this.#O.reverseFilters,t,this.#O.inScale,this.#O.durationOverrideMs,this.#O.color);this.#O={...this.#O,phase:"in",startTime:t,inGraph:e,inSignature:Dv(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 Lv;const zv=[/firefox\/(\d+)/,/edg\/(\d+)/,/opr\/(\d+)/,/chrome\/(\d+)/];function Wv(){const t=Dd&&Dd.navigator&&(Dd.navigator.userAgent||Dd.navigator.platform||Dd.navigator.vendor)||"";if(Lv&&Lv.ua===t)return Lv;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<zv.length;e+=1){const n=zv[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 Lv={ua:t,lowerUA:e,isAndroid:n,isiOS:i,isMobile:r,isDesktop:o,isFirefox:s,browserMajorVersion:a},Lv}function jv(){return Wv().ua}function $v(){return Wv().isAndroid}function Uv(){return Wv().isiOS}function qv(){return Wv().isMobile}function Vv(){return Wv().isDesktop}function Hv(){return Wv().isFirefox}function Gv(){return Wv().browserMajorVersion}var Kv={getUserAgent:jv,isAndroid:$v,isiOS:Uv,isMobile:qv,isDesktop:Vv,isFirefox:Hv,getBrowserMajorVersion:Gv},Xv=Object.freeze({__proto__:null,default:Kv,getBrowserMajorVersion:Gv,getUserAgent:jv,isAndroid:$v,isDesktop:Vv,isFirefox:Hv,isMobile:qv,isiOS:Uv});const Yv="Idle",Qv="Playing",Jv="FirstFramePending",Zv="Waiting",tg="Paused",eg="Seeking",ng="Resetting";function ig(t){return Array.isArray(t)?t.filter((t=>t&&"string"==typeof t.type)):[]}function rg(t,e){return!!Array.isArray(t)&&t.some((t=>(null==t?void 0:t.type)===e))}function og(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 sg(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 ag=2073600;function lg(t,e){const n=Number(t);return Number.isFinite(n)&&n>0?n:e}function cg(t,e){if(null==t)return e;const n=Number(t);return Number.isFinite(n)?n:e}var ug=new WeakMap,dg=new WeakMap,hg=new WeakMap,fg=new WeakMap,pg=new WeakMap,mg=new WeakMap,vg=new WeakMap,gg=new WeakMap,yg=new WeakMap,bg=new WeakMap,kg=new WeakMap,wg=new WeakMap,xg=new WeakMap,_g=new WeakMap,Ig=new WeakMap,Tg=new WeakMap,Eg=new WeakMap,Sg=new WeakMap,Mg=new WeakMap,Ag=new WeakMap,Ng=new WeakMap,Cg=new WeakMap,Fg=new WeakMap,Og=new WeakMap,Pg=new WeakMap,Rg=new WeakMap,Dg=new WeakMap,Bg=new WeakMap,Lg=new WeakMap,zg=new WeakMap,Wg=new WeakMap,jg=new WeakMap,$g=new WeakMap,Ug=new WeakMap,qg=new WeakSet;class Vg extends Od{static get pipelineNodeId(){return"ekoplayer-render-pipeline"}get defaults(){return{defaultRenderParams:void 0,resourceLimits:{enabled:!0,maxCanvasPixels:ag,maxDevicePixelRatio:0,renderScale:1,transitionMinFrameIntervalMs:33}}}constructor(...t){super(...t),O(this,qg),C(this,ug,void 0),C(this,dg,void 0),C(this,hg,void 0),C(this,fg,void 0),C(this,pg,void 0),C(this,mg,void 0),C(this,vg,void 0),C(this,gg,void 0),C(this,yg,void 0),C(this,bg,void 0),C(this,kg,void 0),C(this,wg,void 0),C(this,xg,null),C(this,_g,null),C(this,Ig,void 0),C(this,Tg,void 0),C(this,Eg,void 0),C(this,Sg,[]),C(this,Mg,[]),C(this,Ag,null),C(this,Ng,null),C(this,Cg,null),C(this,Fg,null),C(this,Og,null),C(this,Pg,null),C(this,Rg,new Map),C(this,Dg,null),C(this,Bg,null),C(this,Lg,!1),C(this,zg,!1),C(this,Wg,!1),C(this,jg,!1),C(this,$g,[]),C(this,Ug,null);const[e,n,i]=t;F(ug,this,e),F(dg,this,n),F(hg,this,i),N(ug,this)&&"function"==typeof N(ug,this).enableFirstFrameRenderedGate&&N(ug,this).enableFirstFrameRenderedGate(),F(wg,this,new Tv),F(Ig,this,new Bv),F(Tg,this,null),F(Eg,this,null),F(Cg,this,null),F(fg,this,(t=>M(qg,this,Ny).call(this,t))),N(ug,this)&&"function"==typeof N(ug,this).on&&(N(ug,this).on(Ld.VISUAL_FRAMES_AVAILABLE,N(fg,this)),F(pg,this,(()=>{var t,e,n,i;M(qg,this,Yg).call(this),M(qg,this,Ty).call(this,0),F(Mg,this,[]),F(Ag,this,null),F(xg,this,null),F(_g,this,null),M(qg,this,my).call(this),F(Dg,this,null);(null===(t=N(Ig,this))||void 0===t||null===(e=t.getState)||void 0===e?void 0:e.call(t))||null===(n=N(Ig,this))||void 0===n||null===(i=n.reset)||void 0===i||i.call(n,N(Tg,this))})),N(ug,this).on(Ld.TIMELINE_SEEKING,N(pg,this)),F(mg,this,((t={})=>{"switch"===(null==t?void 0:t.reason)||"reset"===(null==t?void 0:t.reason)?M(qg,this,Gg).call(this):M(qg,this,Hg).call(this),M(qg,this,Qg).call(this)})),N(ug,this).on(Ld.TIMELINE_RESET,N(mg,this)),F(yg,this,(()=>M(qg,this,by).call(this))),N(ug,this).on(Ld.TIMELINE_TIME_UPDATE,N(yg,this)),F(vg,this,(()=>{M(qg,this,Cy).call(this)&&N(Ng,this)&&M(qg,this,Ny).call(this,N(Ng,this))})),N(ug,this).on(Ld.TIMELINE_STATE_CHANGE,N(vg,this))),N(dg,this)&&"function"==typeof N(dg,this).on&&(F(bg,this,(()=>{const t=N(Ng,this);F(jg,this,!0),M(qg,this,Hg).call(this),F(Ng,this,t)})),N(dg,this).on(Ld.CANVAS_WEBGL_CONTEXT_LOST,N(bg,this)),F(kg,this,(()=>{var t;const e=null===(t=N(dg,this))||void 0===t?void 0:t.gl;if(!e||"function"==typeof e.isContextLost&&e.isContextLost())return void F(jg,this,!0);const n=N(Ng,this);F(jg,this,!1),M(qg,this,Hg).call(this),F(Ng,this,n),n&&M(qg,this,Cy).call(this)&&M(qg,this,Ny).call(this,n)})),N(dg,this).on(Ld.CANVAS_WEBGL_CONTEXT_RESTORED,N(kg,this))),F(gg,this,(()=>{F(Ag,this,null),N(Ng,this)&&M(qg,this,Cy).call(this)&&M(qg,this,Ny).call(this,N(Ng,this))})),N(hg,this)&&"function"==typeof N(hg,this).on&&N(hg,this).on(Ld.CONTAINER_RESIZE,N(gg,this))}get name(){return"Renderer"}onDispose(){N(ug,this)&&N(fg,this)&&"function"==typeof N(ug,this).off&&N(ug,this).off(Ld.VISUAL_FRAMES_AVAILABLE,N(fg,this)),N(ug,this)&&N(pg,this)&&"function"==typeof N(ug,this).off&&N(ug,this).off(Ld.TIMELINE_SEEKING,N(pg,this)),N(ug,this)&&N(mg,this)&&"function"==typeof N(ug,this).off&&N(ug,this).off(Ld.TIMELINE_RESET,N(mg,this)),N(ug,this)&&N(yg,this)&&"function"==typeof N(ug,this).off&&N(ug,this).off(Ld.TIMELINE_TIME_UPDATE,N(yg,this)),N(ug,this)&&N(vg,this)&&"function"==typeof N(ug,this).off&&N(ug,this).off(Ld.TIMELINE_STATE_CHANGE,N(vg,this)),N(hg,this)&&N(gg,this)&&"function"==typeof N(hg,this).off&&N(hg,this).off(Ld.CONTAINER_RESIZE,N(gg,this)),N(dg,this)&&N(bg,this)&&"function"==typeof N(dg,this).off&&N(dg,this).off(Ld.CANVAS_WEBGL_CONTEXT_LOST,N(bg,this)),N(dg,this)&&N(kg,this)&&"function"==typeof N(dg,this).off&&N(dg,this).off(Ld.CANVAS_WEBGL_CONTEXT_RESTORED,N(kg,this)),M(qg,this,Hg).call(this),F(fg,this,null),F(pg,this,null),F(mg,this,null),F(yg,this,null),F(vg,this,null),F(gg,this,null),F(bg,this,null),F(kg,this,null),F(wg,this,null),F(Ig,this,null),F(Rg,this,null),F(Dg,this,null),F(dg,this,null),F(hg,this,null),F(ug,this,null)}startTransition(t={}){var e,n;const i=null===(e=N(dg,this))||void 0===e?void 0:e.element,r=null===(n=N(dg,this))||void 0===n?void 0:n.gl;if(!i||!r)return null;if(N(jg,this)||"function"==typeof r.isContextLost&&r.isContextLost())return F(jg,this,!0),null;if(M(qg,this,Zg).call(this,i),!N(Tg,this))return null;const o=N(Ig,this).start({shaderGraph:N(Tg,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(Cg,this,N(Ng,this)||null),M(qg,this,Sy).call(this),o}beginTransitionIn(t={}){var e,n;null!==(e=N(Ig,this))&&void 0!==e&&null!==(n=e.beginIncoming)&&void 0!==n&&n.call(e,t),F(Cg,this,null),M(qg,this,Sy).call(this)}resetTransition(){var t,e;null!==(t=N(Ig,this))&&void 0!==t&&null!==(e=t.reset)&&void 0!==e&&e.call(t,N(Tg,this)),F(Cg,this,null),M(qg,this,My).call(this)}}function Hg(){if(M(qg,this,Yg).call(this),N(Ig,this)&&"function"==typeof N(Ig,this).reset&&N(Ig,this).reset(N(Tg,this)),M(qg,this,Ty).call(this,0),N(Tg,this)&&"function"==typeof N(Tg,this).dispose)try{N(Tg,this).dispose()}catch(t){}F(Tg,this,null),F(Eg,this,null),F(Sg,this,[]),F(Mg,this,[]),F(Lg,this,!1),F(Ag,this,null),F(xg,this,null),F(_g,this,null),F(Ng,this,null),F(Cg,this,null),M(qg,this,My).call(this),M(qg,this,my).call(this),F(Dg,this,null)}function Gg(){M(qg,this,Yg).call(this),N(Ig,this)&&"function"==typeof N(Ig,this).reset&&N(Ig,this).reset(N(Tg,this)),M(qg,this,Ty).call(this,0),F(Sg,this,[]),F(Mg,this,[]),F(Ag,this,null),F(xg,this,null),F(_g,this,null),F(Ng,this,null),F(Cg,this,null),M(qg,this,My).call(this),M(qg,this,my).call(this),F(Dg,this,null),F(Bg,this,null)}function Kg(){const t="function"==typeof Dd.requestAnimationFrame?Dd.requestAnimationFrame.bind(Dd):null,e="function"==typeof Dd.cancelAnimationFrame?Dd.cancelAnimationFrame.bind(Dd):null;return t?{schedule:e=>t(e),cancel(t){"number"==typeof t&&e&&e(t)}}:null}function Xg(t){F($g,this,N($g,this).filter((e=>e!==t))),N($g,this).length||F(Ug,this,null)}function Yg(){N(Ug,this)&&N($g,this).forEach((t=>N(Ug,this).call(this,t))),F($g,this,[]),F(Ug,this,null),F(Wg,this,!1)}function Qg(){M(qg,this,Yg).call(this),F(zg,this,!1)}function Jg(){if(N(zg,this)||N(Wg,this))return;const t=M(qg,this,Kg).call(this);if(!t)return;const{schedule:e,cancel:n}=t;let i;F(Ug,this,n),F(Wg,this,!0),i=e((()=>{let t;M(qg,this,Xg).call(this,i),t=e((()=>{M(qg,this,Xg).call(this,t),F(Wg,this,!1),N(zg,this)||(F(zg,this,!0),N(ug,this)&&"function"==typeof N(ug,this).notifyFirstFrameRendered&&N(ug,this).notifyFirstFrameRendered())})),N($g,this).push(t)})),N($g,this).push(i)}function Zg(t){if(N(Tg,this)||!t)return;const e=this,n={dest:t,src:(t,n)=>{F(Eg,e,n)}};F(Tg,e,new Om(n,{userWillCallRender:!0,glOptions:{contextType:"webgl2"},performanceToggles:{useCanvasSizedFilterTargets:!0}})),N(Tg,e)&&"function"==typeof N(Tg,e).addNodes&&N(Tg,e).addNodes({[oe.pipelineNodeId]:{type:"composite",options:{graph:[]}}})}function ty(t){var e;if("null"===(null==t?void 0:t.message))return!0;const n=null===(e=N(dg,this))||void 0===e?void 0:e.gl;return!(!n||"function"!=typeof n.isContextLost||!n.isContextLost())}function ey(t,e,n){const i=e||N(Ng,this)||null;if(M(qg,this,Hg).call(this),F(Ng,this,i),!n)return this.log.warn("Shader graph render failed; rebuilding graph once.",t),void M(qg,this,Ny).call(this,i,!0);this.log.warn("Shader graph render is still unavailable after rebuild; deferring until the next render pass.",t)}function ny(){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 iy(){const t=M(qg,this,ny).call(this).enabled;return!0===t||!1!==t&&Uv()}function ry(){if(!M(qg,this,iy).call(this))return 0;const t=cg(M(qg,this,ny).call(this).transitionMinFrameIntervalMs,33);return Number.isFinite(t)&&t>0?t:0}function oy(t,e,n={}){const i=!0===(null==n?void 0:n.useDevicePixelRatio),r=M(qg,this,iy).call(this),o=i?lg(null==Dd?void 0:Dd.devicePixelRatio,1):1;let s=o,a=0;if(r){const t=M(qg,this,ny).call(this);a=cg(t.maxCanvasPixels,ag);const e=cg(t.maxDevicePixelRatio,0);s=lg(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 sy(t=[],e={}){var n;const i=null===(n=N(dg,this))||void 0===n?void 0:n.element,r=N(Eg,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(hg,this))||void 0===c?void 0:c.containerWidth)&&void 0!==l?l:null===(u=N(hg,this))||void 0===u?void 0:u.width),e=Number(null!==(d=null===(h=N(hg,this))||void 0===h?void 0:h.containerHeight)&&void 0!==d?d:null===(f=N(hg,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(qg,this,oy).call(this,o,s,{useDevicePixelRatio:a}),v=m.width,g=m.height,y=N(Ag,this);return!(y&&y.width===v&&y.height===g||(F(Ag,this,{width:v,height:g}),r(null,null,v,g),0))}function ay(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 ly(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(qg,this,cy).call(this,t),s=M(qg,this,uy).call(this,o);return xv.getRenderTiming({type:o,timing:{duration:i,normalizedTime:r},timelineTime:e,active:t,renderNodeParams:n,state:s})}function cy(t){return xv.normalizeType(null==t?void 0:t.type)||xv.defaultType}function uy(t){if(!t||!N(Rg,this))return null;let e=N(Rg,this).get(t);return e||(e={},N(Rg,this).set(t,e)),e}function dy(){var t,e,n,i,r,o,s,a,l,c,u;const d=Number(null!==(t=null===(e=N(hg,this))||void 0===e?void 0:e.containerWidth)&&void 0!==t?t:null===(n=N(hg,this))||void 0===n?void 0:n.width),h=Number(null!==(i=null===(r=N(hg,this))||void 0===r?void 0:r.containerHeight)&&void 0!==i?i:null===(o=N(hg,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(dg,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(Ag,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(Ag,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 hy(t){const e=M(qg,this,uy).call(this,t);return e&&"object"==typeof e&&(e.requestRender=()=>M(qg,this,fy).call(this),e.viewportSize=M(qg,this,dy).call(this)),e}function fy(){N(Lg,this)||(F(Lg,this,!0),Promise.resolve().then((()=>{F(Lg,this,!1),N(Ng,this)&&M(qg,this,Cy).call(this)&&M(qg,this,Ny).call(this,N(Ng,this))})))}function py(t){if(!t||!N(Rg,this))return;const e=N(Rg,this).get(t);e&&xv.resetRenderState(t,e),N(Rg,this).delete(t)}function my(){N(Rg,this)&&(xv.resetAllRenderStates(N(Rg,this)),N(Rg,this).clear())}function vy(t,e,n,i){const r=M(qg,this,cy).call(this,t);N(Dg,this)&&N(Dg,this)!==r&&M(qg,this,py).call(this,N(Dg,this)),F(Dg,this,r);const o=M(qg,this,hy).call(this,r);return xv.prepareRenderFrames({type:r,frames:e,timelineTime:n,timeline:N(ug,this),active:t,renderNodeParams:i,state:o})}function gy(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 yy(t){return t?String(t.renderPlacementId||t.type||"unknown"):"default"}function by(){if(!N(ug,this)||!N(Ng,this))return;const t=N(ug,this).currentTime,e=N(ug,this).getActiveRenderPlacement(t),n=M(qg,this,yy).call(this,e);n!==N(Bg,this)&&(F(Bg,this,n),M(qg,this,Ny).call(this,{...N(Ng,this),time:t}))}function ky(t){return!t||"object"!=typeof t||!Object.prototype.hasOwnProperty.call(t,"panAndScan")||!1!==t.panAndScan}function wy(t,e){const n=M(qg,this,gy).call(this,t),i=null==n?void 0:n.stages;let r=ig(null==i?void 0:i.pre),o=ig(null==i?void 0:i.post);const s=M(qg,this,ky).call(this,n),a=M(qg,this,cy).call(this,t),l=rg(r,"retarget")||rg(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=og(Array.isArray(e)?e.length:0);t&&(r=[t,...r])}else if("post"===i){const t=og(1);t&&(o=[...o,t])}}else s||(r=sg(r),o=sg(o));return{preStages:r,postStages:o,renderNodeParams:n}}function xy(t,e,n,i,r){const o=r||M(qg,this,ly).call(this,t,n,i),s=M(qg,this,wy).call(this,t,e),a=M(qg,this,cy).call(this,t),l=M(qg,this,hy).call(this,a);return N(wg,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 _y(){var t,e;const n=null===(t=N(Ig,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(Ig,this).buildOutgoingGraph():"in"===(null==n?void 0:n.phase)?N(Ig,this).buildIncomingGraph():null}function Iy(t,e,n,i){const r=n||e!==N(xg,this),o=r||i;return r&&N(Tg,this)&&"function"==typeof N(Tg,this).updateOptions&&(N(Tg,this).updateOptions(oe.pipelineNodeId,{graph:t}),F(xg,this,e)),N(Tg,this)&&"function"==typeof N(Tg,this).selectNode&&N(_g,this)!==oe.pipelineNodeId&&(N(Tg,this).selectNode(oe.pipelineNodeId),F(_g,this,oe.pipelineNodeId)),!(!o||!N(Tg,this)||"function"!=typeof N(Tg,this).render||(N(Tg,this).render({noRaf:!0}),0))}function Ty(t){if(!Array.isArray(N(Sg,this))||!N(Sg,this).length)return;const e=Number.isFinite(t)?Math.max(0,t):0;if(!(N(Sg,this).length<=e)){for(let t=e;t<N(Sg,this).length;t+=1){const e=N(Sg,this)[t];if(e&&N(Tg,this)&&"function"==typeof N(Tg,this).releaseTexture)try{N(Tg,this).releaseTexture(e)}catch(t){}}N(Sg,this).length=e,N(Mg,this).length=e}}function Ey(t=[]){if(!N(Tg,this)||"function"!=typeof N(Tg,this).addTexture)return{didUpdate:!1,hasUploadFailure:!1,ready:!1};if("function"==typeof N(Tg,this).isContextUnavailable&&N(Tg,this).isContextUnavailable())return{didUpdate:!1,hasUploadFailure:!1,ready:!1};if(!Array.isArray(t)||!t.length)return M(qg,this,Ty).call(this,0),{didUpdate:!1,hasUploadFailure:!1,ready:!1};M(qg,this,Ty).call(this,t.length);let e=!1,n=!1,i=!0;for(let o=0;o<t.length;o+=1){var r;N(Sg,this)[o]||"function"!=typeof N(Tg,this).addTexture||(N(Sg,this)[o]=N(Tg,this).addTexture(null,"frame",o));const s=M(qg,this,ay).call(this,t[o]),a=null===(r=t[o])||void 0===r?void 0:r.frame;if(N(Sg,this)[o]&&a){if(!s||s!==N(Mg,this)[o])try{N(Sg,this)[o].fill(a),N(Mg,this)[o]=s,e=!0}catch(t){i=!1,n=!0,N(Mg,this)[o]=null}}else i=!1}return{didUpdate:e,hasUploadFailure:n,ready:i}}function Sy(){if(N(Fg,this))return;const t="function"==typeof Dd.requestAnimationFrame?t=>Dd.requestAnimationFrame(t):t=>setTimeout(t,16),e="function"==typeof Dd.cancelAnimationFrame?t=>Dd.cancelAnimationFrame(t):clearTimeout;F(Og,this,e);const n=()=>{var e,i;if(null!==(e=N(Ig,this))&&void 0!==e&&null!==(i=e.getState)&&void 0!==i&&i.call(e)){if(N(Ng,this)){const t=M(qg,this,ry).call(this),e=Date.now();(!t||!N(Pg,this)||e-N(Pg,this)>=t)&&(F(Pg,this,e),M(qg,this,Ny).call(this,N(Ng,this)))}F(Fg,this,t(n))}else F(Fg,this,null)};F(Fg,this,t(n))}function My(){N(Fg,this)&&N(Og,this)&&N(Og,this).call(this,N(Fg,this)),F(Fg,this,null),F(Og,this,null),F(Pg,this,null)}function Ay(t){var e,n;const i=null===(e=N(Ig,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(Cg,this)?N(Cg,this):t}function Ny(t={},e=!1){try{var n,i;t&&F(Ng,this,t);const e=null===(n=N(dg,this))||void 0===n?void 0:n.element,r=null===(i=N(dg,this))||void 0===i?void 0:i.gl;if(!e||!r)return;if(N(jg,this)||"function"==typeof r.isContextLost&&r.isContextLost())return void F(jg,this,!0);if(!M(qg,this,Cy).call(this))return;const o=M(qg,this,Ay).call(this,t),s=Number.isFinite(null==o?void 0:o.time)?o.time:void 0;if(!Number.isFinite(s))return;if(M(qg,this,Zg).call(this,e),!N(Tg,this))return;const a=N(ug,this)&&"function"==typeof N(ug,this).getActiveRenderPlacement?N(ug,this).getActiveRenderPlacement(s):void 0,l=M(qg,this,yy).call(this,a);l!==N(Bg,this)&&F(Bg,this,l);const c=Array.isArray(null==o?void 0:o.frames)?o.frames:[],u=M(qg,this,gy).call(this,a),d=M(qg,this,ky).call(this,u),h=M(qg,this,vy).call(this,a,c,s,u),f=M(qg,this,ly).call(this,a,s,u),p=M(qg,this,sy).call(this,h,{useViewportSize:d}),m=M(qg,this,Ey).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(qg,this,xy).call(this,a,h,s,u,f),y=M(qg,this,_y).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(qg,this,Iy).call(this,b,k,w,x)&&h.length>0&&M(qg,this,Jg).call(this)}catch(n){if(M(qg,this,ty).call(this,n))return void M(qg,this,ey).call(this,n,t,e);throw n}}function Cy(){var t;const e=null===(t=N(ug,this))||void 0===t?void 0:t.state;return e===Yv||e===Jv||e===Qv||e===tg}function Fy(t){return"number"==typeof t&&Number.isFinite(t)&&t>0}function Oy(t){return t&&"resource"===t.entryType&&t.transferSize>0&&t.duration>0&&t.responseEnd>=t.requestStart}function Py(t){return Array.isArray(t)&&0!==t.length?t.reduce(((t,e)=>t+e),0)/t.length:NaN}oe=Vg;var Ry=new WeakMap,Dy=new WeakMap,By=new WeakMap,Ly=new WeakMap,zy=new WeakSet;class Wy extends Od{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,zy),C(this,Ry,void 0),C(this,Dy,void 0),C(this,By,void 0),C(this,Ly,void 0),F(Ry,this,!!(Dd&&Dd.navigator&&Dd.navigator.connection)),F(Dy,this,!(!Dd||!Dd.performance||"function"!=typeof Dd.performance.getEntriesByType)),F(By,this,M(zy,this,$y).call(this)),F(Ly,this,M(zy,this,Gy).call(this))}guesstimate(){const t=M(zy,this,Xy).call(this);this.log.debug("[guesstimate] Data:",t);const e=M(zy,this,Ky).call(this,t),n=Fy(e)?e:t.defaultKbps;return M(zy,this,Uy).call(this,n),this.log.info(`[guesstimate] Result: ${n} kbps`),n}update(t){Fy(t)&&M(zy,this,Uy).call(this,t)}onDispose(){F(By,this,void 0),F(Ly,this,void 0)}}function jy(){return Math.round(Date.now()/1e3)}function $y(){try{if(!Dd||!Dd.localStorage||"function"!=typeof Dd.localStorage.getItem)return}catch(t){return}const t=this.settings.persistentStorage.key,e=Dd.localStorage.getItem(t);if(e)try{const t=JSON.parse(e),n=this.settings.persistentStorage.ttl,i=M(zy,this,jy).call(this)-t.timestamp;if("number"==typeof n&&n>=0&&i>n)return null;if(!Fy(t.value))return;return t.value}catch(t){return}}function Uy(t){if(!Fy(t))return;try{if(!Dd||!Dd.localStorage||"function"!=typeof Dd.localStorage.setItem)return}catch(t){return}const e=this.settings.persistentStorage.key,n=JSON.stringify({value:t,timestamp:M(zy,this,jy).call(this)});try{Dd.localStorage.setItem(e,n),F(By,this,t)}catch(t){}}function qy(){return Dd&&Dd.performance&&"function"==typeof Dd.performance.getEntriesByType?Py(Dd.performance.getEntriesByType("resource").filter(Oy).map((t=>8*t.transferSize/t.duration))):NaN}function Vy(){if(!Dd||!Dd.navigator||!Dd.navigator.connection)return NaN;const t=Dd.navigator.connection.downlink;return Fy(t)?1e3*t:NaN}function Hy(){if(!N(Ry,this))return NaN;const t=Dd.navigator.connection,e=t.effectiveType||t.type,n=this.settings.connectionType||{};return e&&Object.prototype.hasOwnProperty.call(n,e)?n[e]:NaN}function Gy(){const t=this.settings.ua||{};return $v()?t.android:Uv()?t.ios:t.desktop}function Ky(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=>Fy(t)));if(r.length===i.length)return this.log.debug("[#selectFromPriorities] Selected from priorities:",i,"with values:",r),Py(r)}return NaN}function Xy(){const t=this.settings.testOverrides||{},e=Fy(t.resourceTiming)?t.resourceTiming:M(zy,this,qy).call(this),n=Fy(t.downlink)?t.downlink:M(zy,this,Vy).call(this),i=Fy(t.persistentValue)?t.persistentValue:N(By,this),r=Fy(t.connectionType)?t.connectionType:M(zy,this,Hy).call(this),o=Fy(t.ua)?t.ua:N(Ly,this);return{defaultKbps:this.settings.defaultKbps,resourceTiming:e,downlink:n,connectionType:r,persistentValue:i,ua:o}}const Yy=new Sd;function Qy(t){return"string"!=typeof t||0===t.length?[]:t.split(".").filter((t=>t.length>0))}function Jy(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 Zy(t){return null!==t&&"object"==typeof t}function tb(t,e,n){const i=Qy(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 eb(t,e,n){if(!Zy(t))return t;const i=Qy(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}Zy(r[e])||(r[e]=Jy(i[t+1])?[]:{}),r=r[e]}return t}const nb={get:(t,e)=>Dd&&Dd.eko?tb(Dd.eko,t,e):e,set(t,e){if(Dd)return Dd.eko&&"object"==typeof Dd.eko||(Dd.eko={}),eb(Dd.eko,t,e),Dd.eko}},ib=Dd&&Dd.performance,rb=ib&&"function"==typeof ib.now?()=>ib.now():()=>Date.now();function ob(){return"undefined"==typeof AbortController?null:new AbortController}function sb(){const t=new Error("The operation was aborted");return t.name="AbortError",t.code="ABORT_ERR",t}function ab(t,e){return!(!e||!e.aborted)||!!t&&("AbortError"===t.name||"ABORT_ERR"===t.code||20===t.code)}const lb=2,cb=100,ub=2,db="runtime.downloadSpeedSamples",hb=Ed("download","warn");function fb(t){return new Promise((e=>{setTimeout(e,t)}))}function pb(t){return t>=500}function mb(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 vb(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=nb.get(r);t||(t=[],nb.set(r,t)),t.push(s)}catch(t){}return s}async function gb(t,e={}){const{method:n="GET",headers:i,body:r,retries:o=lb,retryDelay:s=cb,backoffFactor:a=ub,samplesTargetPath:l=db,fetch:c,loglevel:u="warn",cache:d,signal:h,onProgress:f,returnType:p="default"}=e;hb.setLevel(u);const m=function(t){if(t)return t;if(Dd&&"function"==typeof Dd.fetch)return Dd.fetch.bind(Dd);throw new Error("fetch is not available in this environment")}(c);let v=0,g=s;for(;;){if(h&&h.aborted)throw sb();const e=rb();try{const s=await m(t,{method:n,headers:i,body:r,cache:d,mode:"cors",signal:h});if(h&&h.aborted)throw sb();if(!s.ok){if(v<o&&pb(s.status)){v+=1,hb.warn(`[${t}] Download attempt #${v} failed with status ${s.status}, retrying in ${g}ms...`),await fb(g),g*=a;continue}hb.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=rb();const u=mb(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 sb();const{done:n,value:i}=await t.read();if(n)break;if(i&&i.length){const t=rb();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=rb()}else if(y){const t=await s.arrayBuffer();k=new Uint8Array(t),T=k.length,c=rb()}else"text"===p?(w=await s.text(),c=rb()):"json"===p&&(x=await s.json(),c=rb());if(h&&h.aborted)throw sb();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=vb(S,N,M,A,l,t);try{Yy.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(ab(e,h))throw"AbortError"===e.name?e:sb();if(!(v<o)||e.status&&!pb(e.status))throw hb.error(`[${t}] Download attempt #${v} failed with error ${e}, no more retries.`),e;v+=1,hb.warn(`[${t}] Download attempt #${v} failed with error ${e}, retrying in ${g}ms...`),await fb(g),g*=a}}}const yb={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"]}},bb=Object.freeze(Object.entries(yb).reduce(((t,[e,n])=>(Object.prototype.hasOwnProperty.call(n,"default")&&(t[e]=n.default),t)),{})),kb=Ed("config","warn");function wb(t){return bb[t]}var xb=new WeakMap,_b=new WeakMap,Ib=new WeakMap,Tb=new WeakMap,Eb=new WeakMap,Sb=new WeakSet;class Mb extends Od{get name(){return"DownloadSpeed"}get defaults(){return{alpha:.3,maxSamples:30,minBytesPerSample:1024,minDurationMs:5,maxSampleKbpsCap:void 0,ignoreCacheHits:!0,samplesPath:"runtime.downloadSpeedSamples",initialKbps:wb("initialKbps"),probeUrl:void 0,defaultKbps:2500}}constructor(...t){super(...t),O(this,Sb),C(this,xb,void 0),C(this,_b,void 0),C(this,Ib,void 0),C(this,Tb,void 0),C(this,Eb,void 0),F(Ib,this,[]),F(_b,this,0),F(xb,this,M(Sb,this,Cb).call(this)),F(Eb,this,ob()),F(Tb,this,(t=>{M(Sb,this,Bb).call(this,t,"event")})),M(Sb,this,Fb).call(this),Yy.on("download:sample",N(Tb,this)),M(Sb,this,Ob).call(this),this.log.debug(`[#constructor] Initial estimate: ${N(xb,this)} kbps`)}getKbps(){return N(xb,this)}addSample(t){M(Sb,this,Bb).call(this,t,"manual")}reset(){F(Ib,this,[]),F(_b,this,0),F(xb,this,M(Sb,this,Cb).call(this))}onDispose(){N(Eb,this)&&N(Eb,this).abort(),F(Eb,this,null),Yy.off("download:sample",N(Tb,this)),F(Ib,this,[]),F(_b,this,0),F(xb,this,void 0),F(Tb,this,null)}}function Ab(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 Nb(t){if(!t||"object"!=typeof t)return null;const e=Number(t.bytes),n=Number(t.durationMs);let i=Fy(t.kbps)?Number(t.kbps):NaN;return!Fy(i)&&n>0&&Fy(e)&&(i=8*e/n),Fy(i)?e<=this.settings.minBytesPerSample||n<=this.settings.minDurationMs||M(Sb,this,Ab).call(this,t,e)?null:(Fy(this.settings.maxSampleKbpsCap)&&i>this.settings.maxSampleKbpsCap&&(i=this.settings.maxSampleKbpsCap),{...t,bytes:e,durationMs:n,kbps:i}):null}function Cb(){const t=this.settings.initialKbps;if(Fy(t))return t;if("auto"===t)try{const t=(new Wy).guesstimate();if(Fy(t))return t}catch(t){}return this.settings.defaultKbps}function Fb(){const t=nb.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(Sb,this,Bb).call(this,e[t],"replay",{emit:!1})}async function Ob(){if(!this.settings.probeUrl||N(_b,this)>0)return;const t=N(Eb,this)?N(Eb,this).signal:void 0;if(!t||!t.aborted)try{await gb(this.settings.probeUrl,{cache:"no-store",samplesTargetPath:this.settings.samplesPath,signal:t})}catch(t){}}function Pb(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 Rb(t,e){if(!M(Sb,this,Pb).call(this,t)||!M(Sb,this,Pb).call(this,e))return 0;const n=Math.max(t.startTime,e.startTime);return Math.min(t.endTime,e.endTime)-n}function Db(t){if(!M(Sb,this,Pb).call(this,t))return t;const e=[];for(let n=0;n<N(Ib,this).length;n+=1){const i=N(Ib,this)[n];M(Sb,this,Pb).call(this,i)&&(M(Sb,this,Rb).call(this,t,i)>0&&e.push(i))}if(0===e.length)return t;F(Ib,this,N(Ib,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(!Fy(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(Sb,this,Nb).call(this,a)}function Bb(t,e,{emit:n=!0}={}){const i=M(Sb,this,Nb).call(this,t);if(!i)return;const r=M(Sb,this,Db).call(this,i);if(!r)return;F(_b,this,N(_b,this)+1),N(Ib,this).push(r),N(Ib,this).length>this.settings.maxSamples&&N(Ib,this).shift();const o=this.defaults.alpha,s="number"==typeof this.settings.alpha?this.settings.alpha:o,a=Fy(N(xb,this)),l=a?N(xb,this):r.kbps,c=a||1!==N(_b,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(_b,this)})}function Lb(t=""){if(t&&"string"==typeof t)return t.split(",")[0].trim()||void 0}function zb(t=""){const e=Lb(t);if(!e)return;const n=e.match(/^[a-z0-9]+/i);return n?n[0].toLowerCase():void 0}var Wb={getFirstCodec:Lb,getBaseCodec:zb},jb=Object.freeze({__proto__:null,default:Wb,getBaseCodec:zb,getFirstCodec:Lb});class $b{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=zb(o),Fy(s)&&(this.bandwidth=s),Fy(a)&&(this.timescale=a),Fy(l)&&(this.sizeBytes=l),Object.assign(this,c)}}class Ub{#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 $b?t:new $b(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=Fy(this.#L)?this.#L:null===(t=this.#R)||void 0===t?void 0:t.sizeBytes;return Fy(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 qb=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 Vb(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 Hb(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=Vb(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 Gb=new Set(["video","audio","image","cue","data","bbox"]);class Kb{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(!Gb.has(n))throw new Error(`Track type must be one of ${Array.from(Gb).join("|")}`);this.id=e,this.type=n,this.offset=i,this.duration=Fy(r)?r:void 0,this.source=o,"cue"===n?(this._cues=a.map((t=>t instanceof qb?t:new qb(t))),this._segments=[]):(this._segments=s.map((t=>t instanceof Ub?t:new Ub(t))),this._cues=void 0)}get segments(){return this._segments.slice()}get cues(){if("cue"===this.type)return this._cues.slice()}get endTime(){if(Fy(this.duration))return this.offset+this.duration;if(!this._segments.length)return;const t=this._segments.reduce(((t,e)=>{const n=Fy(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:Fy(null==t?void 0:t.duration)?t.duration:0,offset:Fy(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 Hb(this._segments,t,e)}setSegments(t=[]){if("cue"===this.type)return;const e=Array.isArray(t)?t:[];this._segments=e.map((t=>t instanceof Ub?t:new Ub(t)))}}function Xb(t){return"string"==typeof t?t:t&&"object"==typeof t?t.nodeId||t.nodeIdOrRef||t.id:void 0}function Yb(t){const e=Xb(t);let n=1;if(t&&"object"==typeof t&&Fy(t.weight)&&(n=t.weight),!e)throw new Error("Child entry requires a nodeId");return{nodeId:e,weight:n}}function Qb(t){return(Array.isArray(t)?t:[]).map((t=>Yb(t)))}function Jb(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 Zb(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 tk(t,e){if(e)try{var n;return new URL(e,t||(null==Dd||null===(n=Dd.location)||void 0===n?void 0:n.href)||void 0).toString()}catch(t){return e}}const ek=new Map;class nk{static register(t,e){if(!t||"function"!=typeof e)throw new Error("ManifestFactory.register requires type and parser function");ek.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=nk.inferType(t);if(!e||!ek.has(e))throw new Error("Unsupported manifest type");return ek.get(e)(t)}}nk.register("dash",(function(t={}){const{body:e,url:n}=t,i=function(){if(Dd&&"function"==typeof Dd.DOMParser)return new Dd.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=Jb(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=Jb(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:Jb(a&&a.getAttribute("timescale"))||Jb(e&&e.getAttribute("timescale"),1)||1,startNumber:Jb(a&&a.getAttribute("startNumber"))||Jb(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=Jb(n.getAttribute("t")),s=Jb(n.getAttribute("d")),a=Jb(n.getAttribute("r"),0);if(!Fy(s))continue;Fy(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:tk(n,Zb(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:tk(n,Zb(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}})),nk.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:Fy(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=>Fy(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+(Fy(e.duration)?e.duration:0)),0),l=Fy(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}})),nk.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=Fy(null==t?void 0:t.duration)?t.duration:30,i=Fy(null==t?void 0:t.width)?t.width:void 0,r=Fy(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};Fy(i)&&Fy(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 ik=["video/mp4"];function rk(t){return ik.includes(t.mime)}var ok={name:"containers",fn:function(t=[]){return t.filter(rk)},isRelevantForTrack:function(t){return"video"===(null==t?void 0:t.type)}},sk={name:"force-video-codec",fn:function(t=[],{node:e}={}){const n=zb(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 ak(t=""){return t.toLowerCase().includes("video")}const lk=new(se=new WeakMap,ae=new WeakSet,class extends Od{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,vk).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 ck(){return!!(Dd&&Dd.navigator&&Dd.navigator.mediaCapabilities&&"function"==typeof Dd.navigator.mediaCapabilities.decodingInfo)}function uk(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 ak(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 dk(t){const e=Lb(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 hk(t){return t?JSON.stringify(t):"invalid"}function fk(){return!(!Dd||!Dd.VideoDecoder||"function"!=typeof Dd.VideoDecoder.isConfigSupported)}async function pk(t){if(!this.settings.enabled||!M(ae,this,ck).call(this)||!t)return this.log.debug("[#queryCapabilities] Not supported, returning false",t),{supported:!1,smooth:!1,powerEfficient:!1};const e=M(ae,this,hk).call(this,t),n=N(se,this).get(e);if(n)return n;let i;try{i=await Dd.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 mk(t){if(!ak((null==t?void 0:t.mime)||(null==t?void 0:t.mimeType)||""))return{supported:!0};if(!M(ae,this,fk).call(this))return{supported:!0};const e=M(ae,this,dk).call(this,t);if(!e)return{supported:!1};const n=`video-decoder:${M(ae,this,hk).call(this,e)}`,i=N(se,this).get(n);if(i)return i;let r;try{r=await Dd.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 vk(t){const e=M(ae,this,uk).call(this,t),[n,i]=await Promise.all([M(ae,this,pk).call(this,e),M(ae,this,mk).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 gk=[],yk=()=>!0;[ok,sk,{name:"media-capabilities",fn:async function(t=[],{track:e}){if(null==e||!e.preferredCodec){const n=await lk.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:yk;gk.push({name:t,fn:e,isRelevantForTrack:i})}(t,e,{isRelevantForTrack:n})}));const bk=Ed("Node","warn"),kk={start:0,end:0},wk=.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)<=wk&&Math.abs(t.duration-n.duration)<=wk))?{offset:n.start,duration:n.duration}:void 0}var _k=new WeakMap,Ik=new WeakMap,Tk=new WeakMap,Ek=new WeakMap,Sk=new WeakMap,Mk=new WeakMap,Ak=new WeakMap,Nk=new WeakMap,Ck=new WeakMap,Fk=new WeakMap,Ok=new WeakSet;class Pk extends Sd{constructor(t={},e={}){super(),O(this,Ok),C(this,_k,void 0),C(this,Ik,void 0),C(this,Tk,void 0),C(this,Ek,void 0),C(this,Sk,void 0),C(this,Mk,void 0),C(this,Ak,void 0),C(this,Nk,void 0),C(this,Ck,void 0),C(this,Fk,[]);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(Ak,this,!0===e.forceImageFallback),F(_k,this,e.abrSelector),F(Ik,this,e.assetsDeliveryService),F(Ek,this,Fy(r)?r:void 0),F(Sk,this,Fy(o)?o:void 0),F(Mk,this,Fy(s)?s:void 0),F(Nk,this,e&&"object"==typeof e.mediaHostRewriteMap?e.mediaHostRewriteMap:void 0),F(Ck,this,Fy(e.maxManifestLoadAttempts)?e.maxManifestLoadAttempts:1/0),this.manifestLoadAttempts=0,this.manifestLoadError=void 0,F(Fk,this,Qb(l))}setChildren(t){const e=Qb(t);return M(Ok,this,Jk).call(this,e,{emit:!0})}addChild(t){const e=Yb(t),n=N(Fk,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(Ok,this,Jk).call(this,n,{emit:!0})}removeChild(t){const e=Xb(t);if(!e)return this.children;const n=N(Fk,this).filter((t=>(null==t?void 0:t.nodeId)!==e));return n.length===N(Fk,this).length?this.children:M(Ok,this,Jk).call(this,n,{emit:!0})}async load(t={}){const{loadingMode:e="full",signal:n}=t;bk.info(`[load] [${this.id}] Loading node in '${e}' mode`);try{if(n&&n.aborted)throw sb();"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(Ok,this,Kk).call(this,t,e,n))),l=s?M(Ok,this,Xk).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(Ok,this,Xk).call(this,t.segment,t.track,n);if(n&&n.aborted)throw sb();return this.trigger("node:loaded",{nodeId:this.id,node:this,loadingMode:e}),this}catch(t){if(ab(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(bk.info(`[loadMediaSegmentsAtOffset] [${this.id}] Loading media segments at offset ${n}`),!Number.isFinite(n))return;const{signal:i}=e;if(i&&i.aborted)throw sb();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(Ok,this,Kk).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)<=wk&&!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(Ok,this,Xk).call(this,t,e,i)))),i&&i.aborted)throw sb();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(Tk,this)}catch(t){if(!ab(t)||e&&e.aborted)throw t;i=!0;continue}if(e&&e.aborted)throw sb();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(Ok,this,jk).call(this);return this.state="resolving",this.error=void 0,F(Tk,this,(async()=>{try{const t=await M(Ok,this,Yk).call(this,{signal:e,manifestOverride:n});if(e&&e.aborted)throw sb();let i=nk.parse(t);return i=M(Ok,this,Wk).call(this,i),this.tracks=(i.tracks||[]).map((t=>t instanceof Kb?t:new Kb(t))),this.mainTrackId=i.mainTrackId||this.mainTrackId,this.metadata=i.metadata||this.metadata,M(Ok,this,tw).call(this),M(Ok,this,Zk).call(this),await M(Ok,this,Qk).call(this),this.state="ready",this}catch(n){if(ab(n,e))throw M(Ok,this,$k).call(this,t),n;throw this.state="failed",this.error=n,n}})()),N(Tk,this)}return N(Tk,this)}evict(){this.tracks.forEach((t=>{(t.segments||[]).forEach((t=>{t.evict()}))}))}get children(){return N(Fk,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?Fy(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+=Fy(e.retainedByteLength)?e.retainedByteLength:0}))})),t}get buffered(){if("ready"!==this.state)return kk;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||!Fy(e))return kk;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 kk;if(n.length===this.tracks.length&&n.every((({track:t,range:e})=>{const n=t.endTime,i=Fy(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 kk;const r=Math.min(i,e);return r>0?{start:0,end:r}:kk}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(Ck,this))||N(Ck,this)<=0)return!1;if(!this.manifestLoadError)return!1;const t=Number(this.manifestLoadAttempts);return Number.isFinite(t)&&t>=N(Ck,this)}}function Rk(t){return function(t,e){if(!t||"string"!=typeof t)return t;if(!e||"object"!=typeof e)return t;const n=Dd&&"function"==typeof Dd.URL?Dd.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(Nk,this))}function Dk(){return N(Ak,this)||void 0===Dd.VideoDecoder}function Bk(){return this.manifestRef&&"object"==typeof this.manifestRef&&"assets-delivery-service"===this.manifestRef.type}function Lk(t){if(!M(Ok,this,Bk).call(this))return!1;if(!M(Ok,this,Dk).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 zk(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 Fy(n)?n:Fy(N(Ek,this))?N(Ek,this):void 0}function Wk(t){if(this.imageFallbackActive=!1,!M(Ok,this,Lk).call(this,t))return t;if(!N(Ik,this)||"function"!=typeof N(Ik,this).resolveImageOne)return t;const e=N(Ik,this).resolveImageOne(this.manifestRef),n=M(Ok,this,Rk).call(this,null==e?void 0:e.url);if(!n)return t;const i={typeHint:"image",url:n,duration:M(Ok,this,zk).call(this,t),width:N(Sk,this),height:N(Mk,this)},r=nk.parse(i);return t&&"object"==typeof t.metadata&&!Array.isArray(t.metadata)&&(r.metadata=t.metadata),this.imageFallbackActive=!0,r}function jk(){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 $k(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 Uk(){const t=Number(this.manifestLoadAttempts);this.manifestLoadAttempts=Number.isFinite(t)&&t>0?t+1:1,this.manifestLoadError=void 0}function qk(t){this.manifestLoadError=t||new Error("Manifest load failed")}function Vk(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 Hk(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 Gk(t,e){t&&("function"!=typeof t.setLoadError?t.loadError=e||new Error("Segment load failed"):t.setLoadError(e))}async function Kk(t,e,n){const i=M(Ok,this,Vk).call(this,e);try{const i=e.representations.map((async i=>{const r=M(Ok,this,Rk).call(this,i.url),o=await gb(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(ab(t,n))throw M(Ok,this,Hk).call(this,e,i),t;throw M(Ok,this,Gk).call(this,e,t),t}}async function Xk(t,e,n){const i=N(_k,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(Ok,this,Vk).call(this,t);try{const i=M(Ok,this,Rk).call(this,s.url),r=await gb(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(ab(e,n))throw M(Ok,this,Hk).call(this,t,a),e;throw M(Ok,this,Gk).call(this,t,e),e}}async function Yk(t={}){const{signal:e,manifestOverride:n}=t;if(e&&e.aborted)throw sb();M(Ok,this,Uk).call(this);try{let t=this.manifestRef;if(n&&"object"==typeof n){if(M(Ok,this,Bk).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(Ok,this,Rk).call(this,n.url);return{typeHint:n.typeHint,url:t,mimeType:n.mimeType,body:n.body,duration:N(Ek,this),width:N(Sk,this),height:N(Mk,this)}}"string"==typeof n.url&&n.url&&(t=n)}if(t&&"object"==typeof t&&"assets-delivery-service"===t.type){if(!N(Ik,this)||"function"!=typeof N(Ik,this).resolveOne)throw new Error("AssetsDeliveryService is required for assets-delivery-service manifestRef");const n=await N(Ik,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(Ok,this,Rk).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(Ek,this),width:N(Sk,this),height:N(Mk,this)};throw new Error("AssetsDeliveryService returned unsupported manifest shape")}if(t&&"object"==typeof t){const e=M(Ok,this,Rk).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(Ok,this,Rk).call(this,n),r="object"==typeof t?t.typeHint:void 0,o="object"==typeof t?t.mimeType:void 0;if("image"===nk.inferType({typeHint:r,url:i,mimeType:o})){const e="object"==typeof t&&Fy(t.duration)?t.duration:N(Ek,this);return{typeHint:"image",url:i,mimeType:o,duration:e,width:"object"==typeof t&&Fy(t.width)?t.width:N(Sk,this),height:"object"==typeof t&&Fy(t.height)?t.height:N(Mk,this)}}const s=await gb(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(ab(t,e))throw t;throw M(Ok,this,qk).call(this,t),t}}async function Qk(){const t=gk.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 Jk(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(Fk,this),t)||(F(Fk,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 Zk(){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 tw(){if(!Array.isArray(this.tracks)||!this.tracks.length)return;const t=this.duration;if(!Fy(t))return;const e=[new qb({name:"nodestart",timestamp:0,data:{id:this.id},isSticky:!0}),new qb({name:"nodeend",timestamp:t,data:{id:this.id}})],n=new Kb({id:`${this.id}-auto-cue`,type:"cue",cues:e,offset:0,duration:t});this.tracks.push(n)}var ew=new WeakMap,nw=new WeakMap,iw=new WeakMap,rw=new WeakMap,ow=new WeakSet;class sw extends Od{constructor(...t){super(...t),O(this,ow),C(this,ew,new Map),C(this,nw,new Map),C(this,iw,void 0),C(this,rw,void 0);const[e,n]=t;F(iw,this,e),F(rw,this,n)}get name(){return"NodeRepository"}get defaults(){return{enabledRepFilters:["containers","force-video-codec","media-capabilities"],disabledTracks:wb("disabledTracks"),forceVideoCodec:wb("forceVideoCodec"),forceImageFallback:wb("forceImageFallback"),mediaHostRewriteMap:wb("mediaHostRewriteMap"),maxManifestLoadAttempts:3}}get methodsExcludedFromAutoLog(){return new Set([...super.methodsExcludedFromAutoLog,"get","list"])}onDispose(){N(ew,this).forEach(((t,e)=>{const n=N(nw,this).get(e);n&&t&&"function"==typeof t.off&&t.off(Ld.NODE_CHILDREN_CHANGED,n)})),N(nw,this).clear(),N(ew,this).clear()}add(t){const e=t instanceof Pk?t:new Pk(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(iw,this),assetsDeliveryService:N(rw,this)});if(!e.id)throw new Error("NodeRepository.add requires node with id");if(N(ew,this).has(e.id))throw new Error(`NodeRepository.add: node with id ${e.id} already exists`);return N(ew,this).set(e.id,e),M(ow,this,aw).call(this,e),this.trigger(Ld.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(ew,this).get(e)}list(){return Array.from(N(ew,this).values())}}function aw(t){if(!t||"function"!=typeof t.on||!t.id)return;const e=t=>{this.trigger(Ld.NODE_CHILDREN_CHANGED,t)};t.on(Ld.NODE_CHILDREN_CHANGED,e),N(nw,this).set(t.id,e)}var lw=new WeakMap,cw=new WeakMap,uw=new WeakSet;class dw extends Od{constructor(...t){super(...t),O(this,uw),C(this,lw,void 0),C(this,cw,new Map);const[e]=t;F(lw,this,e)}get name(){return"ABRSelector"}get defaults(){return{safetyMargin:.35,minBufferForUpgrade:5,minBufferCritical:1,hysteresisRatio:1.1,abrStrategy:wb("abrStrategy")}}select(t={}){var e;const{representations:n=[],bufferSeconds:i}=t;if(!Array.isArray(n)||0===n.length)return;const r=N(lw,this)&&"function"==typeof N(lw,this).getKbps?N(lw,this).getKbps():void 0,o=M(uw,this,hw).call(this,n[0]),s=N(cw,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(uw,this,fw).call(this,t.bandwidth)-M(uw,this,fw).call(this,e.bandwidth)));if("bottom"===a){const e=l[0];return M(uw,this,vw).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(uw,this,vw).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(uw,this,vw).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=Fy(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(uw,this,vw).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(uw,this,fw).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&&Fy(e.bandwidth)&&Fy(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(uw,this,vw).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(cw,this).clear(),F(lw,this,null)}}function hw(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 fw(t){return Fy(t)?t/1e3:0}function pw(t){return Fy(t)?t/1e3:void 0}function mw(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(uw,this,pw).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(uw,this,pw).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 vw(t,e,n={}){if(!t)return;const i=M(uw,this,mw).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(uw,this,hw).call(this,t);N(cw,this).set(r,t.id)}var gw=new WeakMap,yw=new WeakSet;class bw extends Od{constructor(...t){super(...t),O(this,yw),C(this,gw,void 0);const[e]=t;if(F(gw,this,e),!N(gw,this)||"function"!=typeof N(gw,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(gw,this,null)}getPrioritizationSnapshot(t){const e=N(gw,this).list();if(!e.length)return{orderedIds:[],reachableIds:[]};const{levels:n,weights:i}=M(yw,this,kw).call(this,e,t);return{orderedIds:M(yw,this,ww).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 kw(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=Fy(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 ww(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 _w(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 Iw(t){return"string"==typeof t&&t.startsWith("cmaf:")}function Tw(t){return"image"===(null==t?void 0:t.assetType)?"image":"ivd"}function Ew(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 Sw=new WeakMap,Mw=new WeakMap,Aw=new WeakSet;class Nw extends Od{constructor(...t){super(...t),O(this,Aw),C(this,Sw,void 0),C(this,Mw,void 0);const[,e={}]=t;F(Sw,this,"function"==typeof e.fetchFn?e.fetchFn:void 0),F(Mw,this,ob())}get name(){return"AssetsDeliveryService"}get defaults(){return{assetsDeliveryServiceUrl:"https://assets.eko.com",profile:wb("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(Aw,this,Fw).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(Aw,this,Fw).call(this,t)));if(!n.length)return[];const i=M(Aw,this,Cw).call(this,e);if(i&&i.aborted)return[];const r=[],o=this.settings.profile;n.forEach((t=>{if("image"!==Tw(t))return;const e=this.resolveImageOne(t);e&&e.url&&r.push({manifestRef:_w(t,e.encodeProfile),manifest:{typeHint:"image",url:e.url}})}));const s=n.filter((t=>"image"!==Tw(t))).map((t=>function(t,e){const n=xw(t,e);return{ref:t,profile:n,route:Iw(n)?"dash":"ivd"}}(t,o))),a=M(Aw,this,Pw).call(this,s);for(const{refs:t,route:e}of a){if(i&&i.aborted)return r;const{url:n}=M(Aw,this,Rw).call(this,t,e),o=await M(Aw,this,Dw).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:_w(t,e),manifest:Ew(i)})}))}return r}onDispose(){N(Mw,this)&&N(Mw,this).abort(),F(Mw,this,null),F(Sw,this,null)}}function Cw(t){return t&&t.signal?t.signal:N(Mw,this)?N(Mw,this).signal:void 0}function Fw(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 Ow(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 Pw(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(Aw,this,Ow).call(this,t.refs,this.settings.maxBatchSize).forEach((e=>{n.push({route:t.route,refs:e})}))})),n}function Rw(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 Dw(t,e){return N(Sw,this)?N(Sw,this).call(this,t,e):await gb(t,{returnType:"json",method:(null==e?void 0:e.method)||"GET",signal:null==e?void 0:e.signal})}function Bw({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 Lw=(Dd.requestAnimationFrame||Dd.mozRequestAnimationFrame||Dd.webkitRequestAnimationFrame||Dd.msRequestAnimationFrame||(t=>Dd.setTimeout(t,1e3/60))).bind(Dd),zw=(Dd.cancelAnimationFrame||Dd.mozCancelAnimationFrame||Dd.webkitCancelAnimationFrame||Dd.msCancelAnimationFrame||(t=>Dd.clearTimeout(t))).bind(Dd),Ww=Ed("ticker","warn");let jw,$w=[],Uw=null,qw=rb();function Vw(){qw=rb();const t=[];let e,n;for(n=$w.length-1;n>=0;--n)e=$w[n],qw>=e.lastTick+e.interval&&t.push(e);for(n=t.length-1;n>=0;--n)if(e=t[n],!e.stopped){e.lastTick=qw;try{e.callback()}catch(t){console&&"function"==typeof console.error?console.error(t):Ww.error(t)}}jw=Lw(Vw)}function Hw(){rb()-qw>=200&&(zw(jw),Vw())}function Gw(t){let e=-1;for(let n=0;n<$w.length;n+=1)if($w[n].callback===t){e=n;break}return e}function Kw(t,e=0){if(!t||"function"!=typeof t||"number"!=typeof e||e<0)return void Ww.error("[start] Invalid arguments given to start method.",arguments);const n=Gw(t);return-1!==n?(Ww.debug("[start] Callback already exists, overriding interval.",arguments),$w[n].interval=e,t):($w.push({callback:t,interval:e,lastTick:rb()}),1===$w.length&&(jw=Lw(Vw),Uw||(Uw=Dd.setInterval(Hw,1e3))),t)}function Xw(t){const e=Gw(t);-1!==e?($w[e].stopped=!0,$w.splice(e,1),$w.length||(zw(jw),Dd.clearInterval(Uw),Uw=null)):Ww.debug("[stop] Callback not found, doing nothing.",arguments)}function Yw(t){return-1!==Gw(t)}function Qw(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 Ww.error("[createThrottler] Bad argument given to createThrottler, first argument must be a function.",arguments);Ww.debug("[createThrottler] Creating a new throttler instance.",arguments);const s=[];function a(){Ww.debug("[onThrottlerTick] Calling callback with "+s.length+" queued items.");const e=s.slice(0);s.length=0,Xw(a),t(e)}const l={push:function(t){Ww.debug("[push] Queuing argument:",t),0===s.length&&Kw(a,e),s.push(t),o+=1,(o<=r||s.length>=i)&&a()},flush:function(){Ww.debug("[flush] Flushing queue."),0!==s.length&&a()},dispose:function(){Ww.debug("[dispose] Disposing of throttler.");const t=s.slice(0);return s.length=0,Xw(a),t}};return Object.defineProperty(l,"interval",{enumerable:!0,get:function(){return e},set:function(t){"number"==typeof t&&(e=t)}}),l}function Jw(t,e){if(t&&"function"==typeof t)return t.__tickerThrottler||(t.__tickerThrottler=Qw((function(){t()}),e)),"number"==typeof e&&(t.__tickerThrottler.interval=e),t.__tickerThrottler.push(),t.__tickerThrottler;Ww.error("[scheduleExecution] Bad argument given to scheduleExecution, first argument must be a function.",arguments)}var Zw=new WeakMap,tx=new WeakMap,ex=new WeakMap,nx=new WeakMap,ix=new WeakMap,rx=new WeakMap,ox=new WeakMap,sx=new WeakMap,ax=new WeakMap,lx=new WeakMap,cx=new WeakMap,ux=new WeakMap,dx=new WeakMap,hx=new WeakMap,fx=new WeakMap,px=new WeakMap,mx=new WeakSet;class vx extends Od{constructor(...t){super(...t),O(this,mx),C(this,Zw,void 0),C(this,tx,void 0),C(this,ex,void 0),C(this,nx,void 0),C(this,ix,[]),C(this,rx,[]),C(this,ox,new Set),C(this,sx,new Set),C(this,ax,!1),C(this,lx,void 0),C(this,cx,void 0),C(this,ux,void 0),C(this,dx,void 0),C(this,hx,void 0),C(this,fx,void 0),C(this,px,void 0);const[e,n,i,r]=t;F(Zw,this,e),F(tx,this,n),F(ex,this,i),F(nx,this,r),F(lx,this,ob());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(px,this,(()=>M(mx,this,Sx).call(this))),M(mx,this,kx).call(this),M(mx,this,bx).call(this)}get name(){return"NodeResolver"}get defaults(){return{maxConcurrent:5}}onDispose(){var t;N(lx,this)&&N(lx,this).abort(),F(lx,this,null),N(nx,this)&&"function"==typeof N(nx,this).off&&N(ux,this)&&N(nx,this).off(Ld.PLACEMENT_ADDED,N(ux,this)),N(nx,this)&&"function"==typeof N(nx,this).off&&N(fx,this)&&N(nx,this).off(Ld.TIMELINE_RESET,N(fx,this)),N(Zw,this)&&"function"==typeof N(Zw,this).off&&N(dx,this)&&N(Zw,this).off(Ld.NODE_ADD,N(dx,this)),N(Zw,this)&&"function"==typeof N(Zw,this).off&&N(hx,this)&&N(Zw,this).off(Ld.NODE_CHILDREN_CHANGED,N(hx,this)),F(ux,this,null),F(dx,this,null),F(hx,this,null),F(fx,this,null),F(ix,this,[]),F(rx,this,[]),N(ox,this).clear(),N(sx,this).clear(),F(ax,this,!1),F(cx,this,void 0),null!==(t=N(px,this))&&void 0!==t&&t.__tickerThrottler&&N(px,this).__tickerThrottler.dispose(),F(px,this,null)}}function gx(){return N(lx,this)?N(lx,this).signal:void 0}function yx(){return this._disposed||N(lx,this)&&N(lx,this).signal.aborted}function bx(){N(nx,this)&&"function"==typeof N(nx,this).on&&(F(ux,this,(t=>{M(mx,this,xx).call(this,null==t?void 0:t.nodeId)})),N(nx,this).on(Ld.PLACEMENT_ADDED,N(ux,this)),F(fx,this,(()=>M(mx,this,wx).call(this))),N(nx,this).on(Ld.TIMELINE_RESET,N(fx,this))),N(Zw,this)&&"function"==typeof N(Zw,this).on&&(F(dx,this,(({node:t})=>{(null==t?void 0:t.id)&&M(mx,this,xx).call(this,t.id,{fromRepoAdd:!0})})),N(Zw,this).on(Ld.NODE_ADD,N(dx,this)),F(hx,this,(()=>{Jw(N(px,this),100)})),N(Zw,this).on(Ld.NODE_CHILDREN_CHANGED,N(hx,this)))}function kx(){const t=N(nx,this)&&Array.isArray(N(nx,this).placements)?N(nx,this).placements:[];t.forEach((t=>M(mx,this,xx).call(this,t.nodeId)));const e=t.length?t[t.length-1]:void 0;e&&e.nodeId&&F(cx,this,e.nodeId)}function wx(){N(lx,this)&&N(lx,this).abort(),F(lx,this,ob()),F(ix,this,[]),F(rx,this,[]),N(ox,this).clear(),F(ax,this,!1),F(cx,this,void 0)}function xx(t,{fromRepoAdd:e=!1}={}){M(mx,this,yx).call(this)||t&&(N(sx,this).has(t)||N(ox,this).has(t)||(N(ix,this).push(t),N(cx,this)||e||F(cx,this,t),!N(ax,this)&&e||M(mx,this,_x).call(this)))}function _x(){if(N(ax,this))return void M(mx,this,Ix).call(this);if(0===N(ix,this).length)return;F(ax,this,!0);const t=N(ix,this).shift();M(mx,this,Mx).call(this,t).finally((()=>{M(mx,this,Ix).call(this)}))}async function Ix(){if(!M(mx,this,yx).call(this))for(N(ix,this).length||N(rx,this).length||F(rx,this,M(mx,this,Tx).call(this));N(ox,this).size<this.settings.maxConcurrent;){const t=this.settings.maxConcurrent-N(ox,this).size;if(t<=0)break;const e=[];for(;e.length<t&&(N(ix,this).length||N(rx,this).length);){let t=N(ix,this).shift();t||(t=N(rx,this).shift()),t&&e.push(t)}if(!e.length)break;const n=M(mx,this,Ax).call(this,e);n.length&&N(ex,this)&&"function"==typeof N(ex,this).resolve&&M(mx,this,Nx).call(this,n).finally((()=>M(mx,this,Ix).call(this))),e.filter((t=>!n.find((e=>e.nodeId===t)))).forEach((t=>{M(mx,this,Mx).call(this,t).finally((()=>M(mx,this,Ix).call(this)))}))}}function Tx(){const t=new Set([...N(sx,this),...N(ox,this),...N(ix,this)]);return M(mx,this,Ex).call(this,t)}function Ex(t){const e=N(nx,this)&&Array.isArray(N(nx,this).placements)?N(nx,this).placements:[],n=(e.length?e[e.length-1].nodeId:void 0)||N(cx,this);return Bw({prioritizer:N(tx,this),repository:N(Zw,this),startNodeId:n,pendingIds:t,fallbackToRepository:!1})}function Sx(){M(mx,this,yx).call(this)||(N(ax,this)||0!==N(ix,this).length)&&(F(rx,this,M(mx,this,Tx).call(this)),N(ax,this)&&M(mx,this,Ix).call(this))}async function Mx(t,e){if(!t||N(sx,this).has(t)||N(ox,this).has(t))return;const n=M(mx,this,gx).call(this);if(n&&n.aborted)return;const i=N(Zw,this)&&"function"==typeof N(Zw,this).get?N(Zw,this).get(t):void 0;if(i&&"function"==typeof i.resolve)if("function"==typeof i.hasExceededManifestLoadAttempts&&i.hasExceededManifestLoadAttempts())N(sx,this).add(t);else{N(ox,this).add(t);try{const r={signal:n};e&&(r.manifestOverride=e),await i.resolve(r),N(sx,this).add(t)}catch(e){if(ab(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(sx,this).add(t)}finally{N(ox,this).delete(t)}}}function Ax(t){const e=[];return t.forEach((t=>{const n=N(Zw,this)&&"function"==typeof N(Zw,this).get?N(Zw,this).get(t):void 0;n&&n.manifestRef&&"assets-delivery-service"===n.manifestRef.type&&e.push({nodeId:t,ref:n.manifestRef})})),e}async function Nx(t){const e=M(mx,this,gx).call(this);if(!e||!e.aborted){t.forEach((({nodeId:t})=>N(ox,this).add(t)));try{const n=t.map((t=>t.ref)),i=await N(ex,this).resolve(n,{signal:e});t.forEach((({nodeId:t,ref:e})=>{var n;const r=N(Zw,this)&&"function"==typeof N(Zw,this).get?N(Zw,this).get(t):void 0;if(N(ox,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(mx,this,Cx).call(this,o.manifest,s):void 0;M(mx,this,Mx).call(this,t,a)}))}catch(n){ab(n,e)||this.log.warn(`NodeResolver ADS batch failed: ${(null==n?void 0:n.message)||n}`),t.forEach((({nodeId:t})=>N(ox,this).delete(t)))}}}function Cx(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 Fx=.001,Ox="priority";function Px(t){const e=Number(t);return Number.isFinite(e)?e:0}var Rx=new WeakMap,Dx=new WeakMap,Bx=new WeakMap,Lx=new WeakMap,zx=new WeakMap,Wx=new WeakMap,jx=new WeakMap,$x=new WeakMap,Ux=new WeakMap,qx=new WeakMap,Vx=new WeakMap,Hx=new WeakMap,Gx=new WeakMap,Kx=new WeakMap,Xx=new WeakMap,Yx=new WeakMap,Qx=new WeakMap,Jx=new WeakMap,Zx=new WeakMap,t_=new WeakMap,e_=new WeakSet;class n_ extends Od{constructor(...t){super(...t),O(this,e_),C(this,Rx,void 0),C(this,Dx,void 0),C(this,Bx,void 0),C(this,Lx,new Map),C(this,zx,new Map),C(this,Wx,[]),C(this,jx,new Set),C(this,$x,new Map),C(this,Ux,!1),C(this,qx,void 0),C(this,Vx,void 0),C(this,Hx,void 0),C(this,Gx,void 0),C(this,Kx,void 0),C(this,Xx,void 0),C(this,Yx,void 0),C(this,Qx,void 0),C(this,Jx,!1),C(this,Zx,[]),C(this,t_,void 0);const[e,n,i]=t;F(Rx,this,e),F(Dx,this,n),F(Bx,this,i),F(Vx,this,ob()),F(t_,this,(()=>M(e_,this,L_).call(this))),M(e_,this,g_).call(this)}get name(){return"SegmentLoadCoordinator"}get defaults(){return{maxConcurrentLoads:3,maxSegmentLoadAttempts:3}}onDispose(){var t;N(Vx,this)&&N(Vx,this).abort(),F(Vx,this,null),N($x,this).size&&N($x,this).forEach((t=>{(null==t?void 0:t.controller)&&t.controller.abort()})),N($x,this).clear(),N(Bx,this)&&"function"==typeof N(Bx,this).off&&(N(Hx,this)&&N(Bx,this).off(Ld.PLACEMENT_ADDED,N(Hx,this)),N(Kx,this)&&N(Bx,this).off(Ld.TIMELINE_SEEKING,N(Kx,this)),N(Xx,this)&&N(Bx,this).off(Ld.TIMELINE_SEEKED,N(Xx,this)),N(Yx,this)&&N(Bx,this).off(Ld.TIMELINE_RESET,N(Yx,this))),N(Rx,this)&&"function"==typeof N(Rx,this).off&&N(Gx,this)&&N(Rx,this).off(Ld.NODE_CHILDREN_CHANGED,N(Gx,this)),N(Qx,this)&&"function"==typeof Dd.removeEventListener&&Dd.removeEventListener("online",N(Qx,this)),F(Hx,this,null),F(Gx,this,null),F(Kx,this,null),F(Xx,this,null),F(Yx,this,null),F(Qx,this,null),N(Lx,this).clear(),N(zx,this).clear(),F(Wx,this,[]),N(jx,this).clear(),N($x,this).clear(),F(Ux,this,!1),F(qx,this,void 0),F(Jx,this,!1),F(Zx,this,[]),null!==(t=N(t_,this))&&void 0!==t&&t.__tickerThrottler&&N(t_,this).__tickerThrottler.dispose(),F(t_,this,null)}}function i_(){return N(Vx,this)?N(Vx,this).signal:void 0}function r_(){return this._disposed||N(Vx,this)&&N(Vx,this).signal.aborted}function o_(){const t=Number(this.settings.maxSegmentLoadAttempts);return Number.isFinite(t)&&t>0?t:1/0}function s_(t){const e=M(e_,this,o_).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 a_(t){return!!t&&(!!M(e_,this,s_).call(this,t)||M(e_,this,l_).call(this,t))}function l_(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 c_(t){if(!t||M(e_,this,l_).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 u_(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(e_,this,c_).call(this,t)}))})))}function d_(){(N(Rx,this)&&"function"==typeof N(Rx,this).list?N(Rx,this).list():[]).forEach((t=>{M(e_,this,u_).call(this,t)}))}function h_(t,{allowSeekKeep:e=!1,segmentOffset:n}={}){const i=ob(),r=i?i.signal:M(e_,this,i_).call(this);return t&&N($x,this).set(t,{controller:i,allowSeekKeep:!!e,segmentOffset:n}),{signal:r,controller:i}}function f_(t,e,n={}){const i=N($x,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 p_(t,e){const n=N($x,this).get(t);n&&(e&&n.controller!==e||N($x,this).delete(t))}function m_(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(Rx,this)&&"function"==typeof N(Rx,this).get?N(Rx,this).get(i):void 0;if(!r)return;const o=M(e_,this,M_).call(this,r,t,e);Number.isFinite(o)&&n.add(`${i}:${o}`)})),n}function v_(t){N($x,this).size&&N($x,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 g_(){N(Bx,this)&&"function"==typeof N(Bx,this).on&&(F(Hx,this,(t=>{M(e_,this,__).call(this,t)})),N(Bx,this).on(Ld.PLACEMENT_ADDED,N(Hx,this)),F(Kx,this,(t=>M(e_,this,y_).call(this,t))),N(Bx,this).on(Ld.TIMELINE_SEEKING,N(Kx,this)),F(Xx,this,(t=>M(e_,this,b_).call(this,t))),N(Bx,this).on(Ld.TIMELINE_SEEKED,N(Xx,this)),F(Yx,this,(()=>M(e_,this,x_).call(this))),N(Bx,this).on(Ld.TIMELINE_RESET,N(Yx,this))),N(Rx,this)&&"function"==typeof N(Rx,this).on&&(F(Gx,this,(()=>{Jw(N(t_,this),100)})),N(Rx,this).on(Ld.NODE_CHILDREN_CHANGED,N(Gx,this))),"function"==typeof Dd.addEventListener&&(F(Qx,this,(()=>M(e_,this,w_).call(this))),Dd.addEventListener("online",N(Qx,this)))}function y_(t={}){if(M(e_,this,r_).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(e_,this,m_).call(this,n,e);M(e_,this,v_).call(this,i),F(Jx,this,!0),F(Zx,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(e_,this,T_).call(this)),0)}function b_(t={}){var e;if(M(e_,this,r_).call(this))return;F(Jx,this,!1),F(Zx,this,[]);const n=Number.isFinite(null==t?void 0:t.targetTime)?Number(t.targetTime):Number(null===(e=N(Bx,this))||void 0===e?void 0:e.currentTime);M(e_,this,k_).call(this,n),setTimeout((()=>M(e_,this,T_).call(this)),0)}function k_(t){var e;(Array.isArray(null===(e=N(Bx,this))||void 0===e?void 0:e.placements)?N(Bx,this).placements:[]).forEach((e=>{if(!e)return;const n=qm(e);if(Number.isFinite(n)){if(Number.isFinite(t)){if(n>=t)return void M(e_,this,__).call(this,e);const i=$m(e,N(Rx,this));return Number.isFinite(i)?void(n+i>t&&M(e_,this,__).call(this,e)):void(n<=t&&M(e_,this,__).call(this,e))}M(e_,this,__).call(this,e)}}))}function w_(){var t;M(e_,this,r_).call(this)||(M(e_,this,d_).call(this),F(Jx,this,!1),F(Zx,this,[]),M(e_,this,k_).call(this,Number(null===(t=N(Bx,this))||void 0===t?void 0:t.currentTime)),F(Wx,this,M(e_,this,D_).call(this)),setTimeout((()=>M(e_,this,T_).call(this)),0))}function x_(){N(Vx,this)&&N(Vx,this).abort(),F(Vx,this,ob()),N($x,this).size&&N($x,this).forEach((t=>{(null==t?void 0:t.controller)&&t.controller.abort()})),N($x,this).clear(),N(Lx,this).clear(),N(zx,this).clear(),F(Wx,this,[]),N(jx,this).clear(),F(Ux,this,!1),F(qx,this,void 0),F(Jx,this,!1),F(Zx,this,[])}function __(t){if(M(e_,this,r_).call(this))return;const e=null==t?void 0:t.nodeId;if(!e)return;const n=N(Lx,this).get(e);if(n){const i=qm(n),r=qm(t);Number.isFinite(i)?Number.isFinite(r)&&r<i&&N(Lx,this).set(e,t):Number.isFinite(r)&&N(Lx,this).set(e,t)}else N(Lx,this).set(e,t);const i=N(qx,this);F(qx,this,e),i&&i!==e&&F(Wx,this,[]),N(Ux,this)?setTimeout((()=>M(e_,this,T_).call(this)),0):M(e_,this,I_).call(this)}function I_(){N(Ux,this)||N(Lx,this).size&&(F(Ux,this,!0),M(e_,this,T_).call(this))}async function T_(){if(M(e_,this,r_).call(this))return;if(N(jx,this).size>=this.settings.maxConcurrentLoads)return;if(N(Jx,this))return void(N(Zx,this).length&&M(e_,this,E_).call(this));const t=M(e_,this,C_).call(this);if(t.hasPending)M(e_,this,F_).call(this,t);else for(N(Wx,this).length||F(Wx,this,M(e_,this,D_).call(this));N(jx,this).size<this.settings.maxConcurrentLoads&&N(Wx,this).length;){const t=N(Wx,this).shift();M(e_,this,z_).call(this,t,"partial").finally((()=>{setTimeout((()=>M(e_,this,T_).call(this)),0)}))}}function E_(){if(M(e_,this,r_).call(this))return;const t=Math.max(0,this.settings.maxConcurrentLoads-N(jx,this).size);if(!t||!N(Zx,this).length)return;const e=[],n=[];for(let i=0;i<N(Zx,this).length;i+=1){const r=N(Zx,this)[i];(null==r?void 0:r.nodeId)&&(e.length<t&&!N(jx,this).has(r.nodeId)?e.push(r):n.push(r))}F(Zx,this,n),e.forEach((t=>{M(e_,this,S_).call(this,t).finally((()=>{setTimeout((()=>M(e_,this,T_).call(this)),0)}))}))}async function S_(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(jx,this).has(e))return;const{signal:r,controller:o}=M(e_,this,h_).call(this,e);if(r&&r.aborted)M(e_,this,p_).call(this,e,o);else{N(jx,this).add(e);try{const t=N(Rx,this)&&"function"==typeof N(Rx,this).get?N(Rx,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(e_,this,M_).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(e_,this,f_).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){ab(t,r)||this.log.warn(`[#loadSeekWork] SegmentLoadCoordinator failed to seek-load node ${e}: ${(null==t?void 0:t.message)||t}`)}finally{N(jx,this).delete(e),M(e_,this,p_).call(this,e,o)}}}function M_(t,e,n){var i;const r=qm(e);if(!Number.isFinite(r))return;const o=Px(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=Px(null===(i=l)||void 0===i?void 0:i.offset),d=Hb(c,Math.max(0,s-u),{preferRepresentationTime:!0}),h=Number(null==d?void 0:d.offset);return Number.isFinite(h)?h:void 0}function A_(t,e,n=(t=>null===(t=N(Bx,this))||void 0===t?void 0:t.currentTime)()){var i;const r=(Array.isArray(null===(i=N(Bx,this))||void 0===i?void 0:i.placements)?N(Bx,this).placements:[]).filter((e=>(null==e?void 0:e.nodeId)===t&&Number.isFinite(qm(e)))).sort(((t,e)=>qm(t)-qm(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=qm(e);if(!Number.isFinite(n))continue;const i=$m(e,N(Rx,this)),l=Number.isFinite(i)&&i>=0;(!a&&n>=o-Fx&&(a=e),l)?o+Fx>=n&&o<n+i-Fx&&(s=e):o+Fx>=n&&(s=e)}return s||a||r[r.length-1]}function N_(t,e){var n;const i=Number(qm(e));if(!Number.isFinite(i))return;const r=$m(e,N(Rx,this)),o=Number.isFinite(r)&&r>=0?i+r:void 0,s=(Array.isArray(null===(n=N(Bx,this))||void 0===n?void 0:n.placements)?N(Bx,this).placements:[]).filter((e=>(null==e?void 0:e.nodeId)===t&&Number.isFinite(qm(e)))).sort(((t,e)=>qm(t)-qm(e)));for(let t=0;t<s.length;t+=1){const e=s[t],n=Number(qm(e));if(Number.isFinite(n)&&!(n<=i+Fx)){if(Number.isFinite(o)&&n>o+Fx)return;return e}}}function C_(){const t=[];let e=!1,n=1/0;if(N(Lx,this).forEach(((i,r)=>{if(!r||!i)return;const o=N(zx,this).get(r);if(o)return e=!0,void(n=Math.min(n,Px(o.timelineStart)));const s=M(e_,this,O_).call(this,r,i);s&&(e=!0,n=Math.min(n,Px(s.timelineStart)),t.push(s))})),!e||!Number.isFinite(n))return{hasPending:!1,waveTime:void 0,startable:[]};const i=t.filter((t=>Px(t.timelineStart)===n&&!N(jx,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 F_({waveTime:t,startable:e}){const n=Math.max(0,this.settings.maxConcurrentLoads-N(jx,this).size);n&&e.length&&e.slice(0,n).forEach((e=>{M(e_,this,R_).call(this,e,t).finally((()=>{setTimeout((()=>M(e_,this,T_).call(this)),0)}))}))}function O_(t,e){var n,i;const r=N(Rx,this)&&"function"==typeof N(Rx,this).get?N(Rx,this).get(t):void 0;if(!r)return;if("function"==typeof r.hasExceededManifestLoadAttempts&&r.hasExceededManifestLoadAttempts())return void N(Lx,this).delete(t);const o=M(e_,this,A_).call(this,t,e,null===(n=N(Bx,this))||void 0===n?void 0:n.currentTime),s=Number(qm(o)),a=Px(null===(i=N(Bx,this))||void 0===i?void 0:i.currentTime),l="function"==typeof r.loadMediaSegmentsAtOffset,c="function"==typeof r.load;if(!l&&!c)return void N(Lx,this).delete(t);if(r.isLoaded)return void N(Lx,this).delete(t);if("ready"!==r.state){if(!Number.isFinite(s))return;return{nodeId:t,segmentOffset:0,timelineStart:s}}if(!M(e_,this,W_).call(this,r))return void N(Lx,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(e_,this,a_).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/Fx)*Fx;h.add(t)}}))}));const f=Array.from(h).sort(((t,e)=>t-e)),p=e=>{const n=Number(qm(e));if(!Number.isFinite(n))return{status:"none"};const i=Px(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+Fx;t+=1)s=t;const l=f.slice(s);if(!l.some((t=>M(e_,this,P_).call(this,r,t))))return{status:f.slice(0,s).some((t=>M(e_,this,P_).call(this,r,t)))?"beforeOnly":"none"};const c=l.find((t=>M(e_,this,P_).call(this,r,t))),u=Math.max(0,Px(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(Lx,this).delete(t)}else{const e=M(e_,this,N_).call(this,t,o);if(e){const t=p(e);if("work"===t.status)return t.work}}}function P_(t,e){const n=Array.isArray(null==t?void 0:t.tracks)?t.tracks:[],i=Px(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)<=Fx&&!M(e_,this,a_).call(this,t)}))))}async function R_(t,e){const n=null==t?void 0:t.nodeId,i=null==t?void 0:t.segmentOffset;if(this.log.debug(`[#loadP0Work] Loading ${Ox} node [${n}] at segmentOffset=${i} wave=${e}`),!n)return;const r=N(Rx,this)&&"function"==typeof N(Rx,this).get?N(Rx,this).get(n):void 0;if(!r)return void N(Lx,this).delete(n);const o="function"==typeof r.loadMediaSegmentsAtOffset&&Number.isFinite(i),{signal:s,controller:a}=M(e_,this,h_).call(this,n,{allowSeekKeep:o,segmentOffset:i});if(s&&s.aborted)M(e_,this,p_).call(this,n,a);else{N(jx,this).add(n),N(zx,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(ab(t,s))return;const e=`[#loadP0Work] SegmentLoadCoordinator failed to load ${Ox} work for node ${n}: ${(null==t?void 0:t.message)||t}`;this.log.warn(e)}finally{this.log.debug(`[#loadP0Work] Finished ${Ox} work for node [${n}]`),N(zx,this).delete(n),N(jx,this).delete(n),M(e_,this,p_).call(this,n,a)}}}function D_(){const t=new Set([...N(Lx,this).keys(),...N(jx,this)]),e=M(e_,this,B_).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(e_,this,j_).call(this,t));if(i){const e=Bw({prioritizer:N(Dx,this),repository:N(Rx,this),startNodeId:N(qx,this),prioritizedIds:n,pendingIds:t,allowedIds:i,filter:r});if(e.length)return e}return Bw({prioritizer:N(Dx,this),repository:N(Rx,this),startNodeId:N(qx,this),prioritizedIds:n,pendingIds:t,filter:r})}function B_(){return N(Dx,this)&&N(qx,this)?"function"==typeof N(Dx,this).getPrioritizationSnapshot?N(Dx,this).getPrioritizationSnapshot(N(qx,this)):{orderedIds:"function"==typeof N(Dx,this).sortNodes?N(Dx,this).sortNodes(N(qx,this)):[],reachableIds:"function"==typeof N(Dx,this).getReachableNodeIds?N(Dx,this).getReachableNodeIds(N(qx,this)):[]}:null}function L_(){M(e_,this,r_).call(this)||(N(Ux,this)||N(Lx,this).size)&&(F(Wx,this,M(e_,this,D_).call(this)),N(Ux,this)&&!N(Jx,this)&&M(e_,this,T_).call(this))}async function z_(t,e){if(this.log.debug(`[#loadNode] Loading node [${t}] in '${e}' mode`),!t)return;const n=N(Rx,this)&&"function"==typeof N(Rx,this).get?N(Rx,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(e_,this,h_).call(this,t,{allowSeekKeep:!1});if(i&&i.aborted)M(e_,this,p_).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(e_,this,j_).call(this,n))return void this.log.debug(`[#loadNode] Skipping load for ${t}: partial already loaded`);if(!M(e_,this,W_).call(this,n))return void this.log.debug(`[#loadNode] Skipping load for ${t}: no loadable tracks`);N(jx,this).add(t),await n.load({loadingMode:e,signal:i})}catch(e){if(ab(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(jx,this).delete(t),M(e_,this,p_).call(this,t,r)}}function W_(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 j_(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(e_,this,a_).call(this,n)||i&&!M(e_,this,a_).call(this,i))}))}class $_ extends Od{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 U_(t){if(!t)throw new Error("Assertion failed.")}const q_=t=>t&&t[t.length-1],V_=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)},H_=t=>t.constructor===Uint8Array?t:ArrayBuffer.isView(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):new Uint8Array(t),G_=t=>t.constructor===DataView?t:ArrayBuffer.isView(t)?new DataView(t.buffer,t.byteOffset,t.byteLength):new DataView(t),K_=new TextDecoder,X_=t=>Object.fromEntries(Object.entries(t).map((([t,e])=>[e,t]))),Y_={bt709:1,bt470bg:5,smpte170m:6,bt2020:9,smpte432:12},Q_=X_(Y_),J_={bt709:1,smpte170m:6,linear:8,"iec61966-2-1":13,pq:16,hlg:18},Z_=X_(J_),tI={rgb:0,bt709:1,bt470bg:5,smpte170m:6,"bt2020-ncl":9},eI=X_(tI),nI=t=>[...t].map((t=>t.toString(16).padStart(2,"0"))).join(""),iI=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,rI=(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},oI=(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},sI=()=>{let t,e;return{promise:new Promise(((n,i)=>{t=n,e=i})),resolve:t,reject:e}},aI=(t,e,n)=>t.getUint8(e)<<16|t.getUint8(e+1)<<8|t.getUint8(e+2),lI=(t,e,n)=>Math.max(e,Math.min(n,t)),cI=/^[a-z]{3}$/,uI=1e6*(1+Number.EPSILON);let dI=null;let hI=null;const fI=()=>{if(null!==hI)return hI;if("undefined"==typeof navigator)return null;const t=/\bChrome\/(\d+)/.exec(navigator.userAgent);return t?hI=Number(t[1]):null},pI=t=>"number"==typeof t&&!Number.isNaN(t);class mI{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 vI={default:!0,forced:!1,original:!1,commentary:!1,hearingImpaired:!1,visuallyImpaired:!1};class gI{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 gI(this.bytes);return t.pos=this.pos,t}}const yI=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350],bI=[-1,1,2,3,4,5,6,8],kI=t=>{if(!t||t.byteLength<2)throw new TypeError("AAC description must be at least 2 bytes long.");const e=new gI(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<yI.length&&(r=yI[i]);const o=e.readBits(4);let s=null;return o>=1&&o<=7&&(s=bI[o]),{objectType:n,frequencyIndex:i,sampleRate:r,channelConfiguration:o,numberOfChannels:s}},wI=["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}],_I=t=>{const{codec:e,codecDescription:n,colorSpace:i,avcCodecInfo:r,hevcCodecInfo:o,vp9CodecInfo:s,av1CodecInfo:a}=t;if("avc"===e){if(U_(null!==t.avcType),r){const e=new Uint8Array([r.avcProfileIndication,r.profileCompatibility,r.avcLevelIndication]);return`avc${t.avcType}.${nI(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}.${nI(n.subarray(1,4))}`}if("hevc"===e){let t,e,i,r,s,a;if(o)t=o.generalProfileSpace,e=o.generalProfileIdc,i=iI(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=G_(n),l=o.getUint8(1);t=l>>6&3,e=31&l,i=iI(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=q_(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=q_(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?Y_[i.primaries]:1,u=null!=i&&i.transfer?J_[i.transfer]:1,d=null!=i&&i.matrix?tI[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}'.`)},II=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:kI(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&&wI.includes(e))return e;throw new TypeError(`Unhandled codec '${e}'.`)},TI=/^pcm-([usf])(\d+)+(be)?$/,EI=[48e3,44100,32e3],SI=[24e3,22050,16e3];var MI,AI;!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"}(MI||(MI={})),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"}(AI||(AI={}));const NI=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})},CI=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=aI(i,n):(U_(4===e),t=i.getUint32(n,!1)),n+=e,yield{offset:n,length:t},n+=t}},FI=t=>31&t,OI=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)},PI=t=>t>>1&63,RI=function*(t){const e=new gI(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);U_(e.pos%8==0),yield{type:i,data:t.subarray(e.pos/8,e.pos/8+s)},e.skipBits(8*s)}};var DI;!function(t){t[t.STREAMINFO=0]="STREAMINFO",t[t.VORBIS_COMMENT=4]="VORBIS_COMMENT",t[t.PICTURE=6]="PICTURE"}(DI||(DI={}));const BI=[2,1,2,3,3,4,4,5];class LI{constructor(t){this.input=t}}const zI=[],WI=[],jI=new Uint8Array(0);class $I{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===jI&&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===jI}get microsecondTimestamp(){return Math.trunc(uI*this.timestamp)}get microsecondDuration(){return Math.trunc(uI*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 $I(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 $I(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 UI=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.")},qI=t=>{if(!pI(t))throw new TypeError("timestamp must be a number.")},VI=(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 HI{constructor(t){if(!(t instanceof GI))throw new TypeError("track must be an InputTrack.");this._track=t}getFirstPacket(t={}){if(UI(t),this._track.input._disposed)throw new bT;return VI(this._track,this._track._backing.getFirstPacket(t),t)}async getFirstKeyPacket(t={}){UI(t);const e=await this.getFirstPacket(t);return e?"key"===e.type?e:this.getNextKeyPacket(e,t):null}getPacket(t,e={}){if(qI(t),UI(e),this._track.input._disposed)throw new bT;return VI(this._track,this._track._backing.getPacket(t,e),e)}getNextPacket(t,e={}){if(!(t instanceof $I))throw new TypeError("packet must be an EncodedPacket.");if(UI(e),this._track.input._disposed)throw new bT;return VI(this._track,this._track._backing.getNextPacket(t,e),e)}async getKeyPacket(t,e={}){if(qI(t),UI(e),this._track.input._disposed)throw new bT;if(!e.verifyKeyPackets)return this._track._backing.getKeyPacket(t,e);const n=await this._track._backing.getKeyPacket(t,e);return n?(U_("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 $I))throw new TypeError("packet must be an EncodedPacket.");if(UI(e),this._track.input._disposed)throw new bT;if(!e.verifyKeyPackets)return this._track._backing.getNextKeyPacket(t,e);const n=await this._track._backing.getNextKeyPacket(t,e);return n?(U_("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 $I))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 $I))throw new TypeError("endPacket must be an EncodedPacket.");if(UI(n),this._track.input._disposed)throw new bT;const i=[];let{promise:r,resolve:o}=sI(),{promise:s,resolve:a}=sI(),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}=sI()),await s):(i.push(u),o(),({promise:r,resolve:o}=sI()),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 bT;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 GI{constructor(t,e){this.input=t,this._backing=e}isVideoTrack(){return this instanceof KI}isAudioTrack(){return this instanceof XI}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 HI(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 KI extends GI{constructor(t,e){super(t,e),this._backing=e,this.pixelAspectRatio=(t=>{U_(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 U_(null!==e),zI.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 $I))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 U_(e),((t,e,n)=>{switch(t){case"avc":for(const t of((t,e)=>{if(e.description){const n=3&H_(e.description)[4];return CI(t,n+1)}return NI(t)})(n,e)){const e=n[t.offset],r=FI(e);if(r>=MI.NON_IDR_SLICE&&r<=MI.SLICE_DPC)return"delta";if(r===MI.IDR)return"key";if(r===MI.SEI&&(i=void 0,!(null!==dI?dI:dI=!("undefined"==typeof navigator||(null===(i=navigator.vendor)||void 0===i||!i.includes("Google Inc"))&&!/Chrome/.test(navigator.userAgent)))||fI()>=144)){const e=n.subarray(t.offset,t.offset+t.length),i=OI(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 gI(i);t.pos=8*r;const e=V_(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&H_(e.description)[21];return CI(t,n+1)}return NI(t)})(n,e)){const e=PI(n[t.offset]);if(e<AI.BLA_W_LP)return"delta";if(e<=AI.RSV_IRAP_VCL23)return"key"}return"delta";case"vp8":return 1&n[0]?"delta":"key";case"vp9":{const t=new gI(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 RI(n))if(1===e){const e=new gI(i);e.skipBits(4),t=!!e.readBits(1)}else if(3===e||6===e||7===e){if(t)return"key";const e=new gI(i);return e.readBits(1)?null:0===e.readBits(2)?"key":"delta"}return null}default:(t=>{throw new Error(`Unexpected value: ${t}`)})(t),U_(!1)}var i})(this.codec,e,t.data)}}class XI extends GI{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 U_(null!==e),WI.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 $I))throw new TypeError("packet must be an EncodedPacket.");return null===this.codec?null:"key"}}const YI=t=>{let e=MT(t);const n=OT(t,4);let i=8;1===e&&(e=NT(t),i=16);const r=e-i;return r<0?null:{name:n,totalSize:e,headerSize:i,contentSize:r}},QI=t=>AT(t)/65536,JI=t=>AT(t)/1073741824,ZI=t=>{let e=0;for(let n=0;n<4;n++){e<<=7;const n=IT(t);if(e|=127&n,!(128&n))break}return e},tT=t=>{let e=TT(t);return t.skip(2),e=Math.min(e,t.remainingLength),K_.decode(_T(t,e))},eT=t=>{const e=YI(t);if(!e||"data"!==e.name)return null;if(t.remainingLength<8)return null;const n=MT(t);t.skip(4);const i=_T(t,e.contentSize-8);switch(n){case 1:return K_.decode(i);case 2:return new TextDecoder("utf-16be").decode(i);case 13:return new mI(i,"image/jpeg");case 14:return new mI(i,"image/png");case 27:return new mI(i,"image/bmp");default:return i}};class nT extends LI{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=YI(e);if(!i)break;if("ftyp"===i.name){const t=OT(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),U_(t);const e=MT(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=YI(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,U_(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&&wI.includes(t.info.codec)&&0===n.sampleCompositionTimeOffsets.length){var r;U_("audio"===(null===(r=t.info)||void 0===r?void 0:r.type));const e=(t=>{if(U_(wI.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=TI.exec(t);let n;return U_(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=oI(n.sampleTimingEntries,a,(t=>t.startIndex)),u=n.sampleTimingEntries[c],d=oI(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=q_(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),U_(n);const i=YI(n);U_("moof"===(null==i?void 0:i.name));let r=this.reader.requestSlice(t,i.totalSize);r instanceof Promise&&(r=await r),U_(r),this.traverseBox(r);const o=this.lastReadFragment;U_(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)uT(t,i.timestamp);else{const e=oI(n,o.moofOffset-1,(t=>t.moofOffset));if(-1!==e){const i=n[e];uT(t,i.endTimestamp)}}t.startTimestampIsFinal=!0}const i=oI(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=YI(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=YI(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=IT(t);t.skip(3),1===e?(t.skip(16),this.movieTimescale=MT(t),this.movieDurationInTimescale=NT(t)):(t.skip(8),this.movieTimescale=MT(t),this.movieDurationInTimescale=MT(t))}break;case"trak":{const e={id:-1,demuxer:this,inputTrack:null,disposition:{...vI},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 KI(this.input,new rT(t)),this.tracks.push(e)}else if("audio"===e.info.type&&-1!==e.info.numberOfChannels){const t=e;e.inputTrack=new XI(this.input,new oT(t)),this.tracks.push(e)}this.currentTrack=null}break;case"tkhd":{const e=this.currentTrack;if(!e)break;const n=IT(t),i=!!(1&ET(t));if(e.disposition.default=i,0===n)t.skip(8),e.id=MT(t),t.skip(4),e.durationInMovieTimescale=MT(t);else{if(1!==n)throw new Error(`Incorrect track header version ${n}.`);t.skip(16),e.id=MT(t),t.skip(4),e.durationInMovieTimescale=NT(t)}t.skip(16);const r=[QI(t),QI(t),JI(t),QI(t),QI(t),JI(t),QI(t),QI(t),JI(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=dT(r),90*Math.round(Ft/90)));U_(0===o||90===o||180===o||270===o),e.rotation=o}break;case"elst":{const e=this.currentTrack;if(!e)break;const n=IT(t);t.skip(3);let i=!1,r=0;const o=MT(t);for(let s=0;s<o;s++){const o=1===n?NT(t):MT(t),s=1===n?CT(t):AT(t),a=QI(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=IT(t);t.skip(3),0===n?(t.skip(8),e.timescale=MT(t),e.durationInMediaTimescale=MT(t)):1===n&&(t.skip(16),e.timescale=MT(t),e.durationInMediaTimescale=NT(t));let i=TT(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,cI.test(Ct)||(e.languageCode="und")}}break;case"hdlr":{const e=this.currentTrack;if(!e)break;t.skip(8);const n=OT(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=IT(t);t.skip(3);const i=MT(t);for(let r=0;r<i;r++){const i=t.filePos,r=YI(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=TT(t),e.info.height=TT(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=TT(t);t.skip(6);let a=TT(t),l=TT(t);t.skip(4);let c=MT(t)/65536;if(0===n&&s>0)if(1===s)t.skip(4),l=8*MT(t),t.skip(8);else if(2===s){t.skip(4),c=FT(t),a=MT(t),t.skip(4),l=MT(t);const n=MT(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;U_(e.info),e.info.codecDescription=_T(t,L.contentSize)}break;case"hvcC":{const e=this.currentTrack;if(!e)break;U_(e.info),e.info.codecDescription=_T(t,L.contentSize)}break;case"vpcC":{var j;const e=this.currentTrack;if(!e)break;U_("video"===(null===(j=e.info)||void 0===j?void 0:j.type)),t.skip(4);const n=IT(t),i=IT(t),r=IT(t),o=r>>4,s=r>>1&7,a=1&r,l=IT(t),c=IT(t),u=IT(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;U_("video"===(null===($=e.info)||void 0===$?void 0:$.type)),t.skip(1);const n=IT(t),i=n>>5,r=31&n,o=IT(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(U_("video"===(null===(U=e.info)||void 0===U?void 0:U.type)),"nclx"!==OT(t,4))break;const n=TT(t),i=TT(t),r=TT(t),o=Boolean(128&IT(t));e.info.colorSpace={primaries:Q_[n],transfer:Z_[i],matrix:eI[r],fullRange:o}}break;case"pasp":{var q;const e=this.currentTrack;if(!e)break;U_("video"===(null===(q=e.info)||void 0===q?void 0:q.type));const n=MT(t),i=MT(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;U_("audio"===(null===(V=e.info)||void 0===V?void 0:V.type)),t.skip(4),U_(3===IT(t)),ZI(t),t.skip(2);const n=IT(t),i=!!(64&n),r=!!(32&n);if(!!(128&n)&&t.skip(2),i){const e=IT(t);t.skip(e)}r&&t.skip(2),U_(4===IT(t));const o=ZI(t),s=t.filePos,a=IT(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){U_(5===IT(t));const n=ZI(t);if(e.info.codecDescription=_T(t,n),"aac"===e.info.codec){const t=kI(e.info.codecDescription);null!==t.numberOfChannels&&(e.info.numberOfChannels=t.numberOfChannels),null!==t.sampleRate&&(e.info.sampleRate=t.sampleRate)}}}break;case"enda":{var H;const e=this.currentTrack;if(!e)break;U_("audio"===(null===(H=e.info)||void 0===H?void 0:H.type)),255&TT(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 G;const e=this.currentTrack;if(!e)break;U_("audio"===(null===(G=e.info)||void 0===G?void 0:G.type)),t.skip(4);const n=IT(t),i=Boolean(1&n),r=IT(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;U_("audio"===(null===(K=e.info)||void 0===K?void 0:K.type)),t.skip(1);const n=IT(t),i=TT(t),r=MT(t),o=ST(t),s=IT(t);let a;a=0!==s?_T(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;U_("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=IT(t),o=ET(t);if((r&n)===DI.STREAMINFO){t.skip(10);const n=MT(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=_T(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;U_("audio"===(null===(Y=e.info)||void 0===Y?void 0:Y.type));const n=_T(t,3),i=new gI(n),r=i.readBits(2);i.skipBits(8);const o=i.readBits(3),s=i.readBits(1);r<3&&(e.info.sampleRate=EI[r]),e.info.numberOfChannels=BI[o]+s}break;case"dec3":{var Q;const e=this.currentTrack;if(!e)break;U_("audio"===(null===(Q=e.info)||void 0===Q?void 0:Q.type));const n=(t=>{if(t.length<2)return null;const e=new gI(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}})(_T(t,L.contentSize));if(!n){console.warn("Invalid dec3 box contents, ignoring.");break}const i=(t=>{const e=t.substreams[0];return U_(e),e.fscod<3?EI[e.fscod]:null!==e.fscod2&&e.fscod2<3?SI[e.fscod2]:null})(n);null!==i&&(e.info.sampleRate=i),e.info.numberOfChannels=(t=>{const e=t.substreams[0];U_(e);let n=BI[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=MT(t);let i=0,r=0;for(let o=0;o<n;o++){const n=MT(t),o=MT(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=MT(t);let i=0;for(let r=0;r<n;r++){const n=MT(t),r=AT(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=MT(t),i=MT(t);if(0===n)for(let n=0;n<i;n++){const n=MT(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=IT(t),i=MT(t),r=_T(t,Math.ceil(i*n/8)),o=new gI(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=MT(t);for(let i=0;i<n;i++){const n=MT(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=MT(t);for(let i=0;i<n;i++){const n=MT(t)-1,i=MT(t),r=MT(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=MT(t);for(let i=0;i<n;i++){const n=MT(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=MT(t);for(let i=0;i<n;i++){const n=NT(t);e.sampleTable.chunkOffsets.push(n)}}break;case"mvex":this.isFragmented=!0,this.readContiguousBoxes(t.slice(z,L.contentSize));break;case"mehd":{const e=IT(t);t.skip(3);const n=1===e?NT(t):MT(t);this.movieDurationInTimescale=n}break;case"trex":{t.skip(4);const e=MT(t),n=MT(t),i=MT(t),r=MT(t),o=MT(t);this.fragmentTrackDefaults.push({trackId:e,defaultSampleDescriptionIndex:n,defaultSampleDuration:i,defaultSampleSize:r,defaultSampleFlags:o})}break;case"tfra":{const e=IT(t);t.skip(3);const n=MT(t),i=this.tracks.find((t=>t.id===n));if(!i)break;const r=MT(t),o=(12&r)>>2,s=3&r,a=[IT,TT,ET,MT],l=a[(48&r)>>4],c=a[o],u=a[s],d=MT(t);for(let n=0;n<d;n++){const n=1===e?NT(t):MT(t),r=1===e?NT(t):MT(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(U_(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;U_(e),null!==e.startTimestamp&&(uT(t,e.startTimestamp),t.startTimestampIsFinal=!0)}this.currentTrack.currentFragmentState=null,this.currentTrack=null}break;case"tfhd":{var J,Z,tt,et;U_(this.currentFragment),t.skip(1);const e=ET(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=MT(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=NT(t):l&&(u.currentFragmentState.baseDataOffset=this.currentFragment.moofOffset),i&&(u.currentFragmentState.sampleDescriptionIndex=MT(t)),r&&(u.currentFragmentState.defaultSampleDuration=MT(t)),o&&(u.currentFragmentState.defaultSampleSize=MT(t)),s&&(u.currentFragmentState.defaultSampleFlags=MT(t)),a&&(u.currentFragmentState.defaultSampleDuration=0)}break;case"tfdt":{const e=this.currentTrack;if(!e)break;U_(e.currentFragmentState);const n=IT(t);t.skip(3);const i=0===n?MT(t):NT(t);e.currentFragmentState.startTimestamp=i}break;case"trun":{const e=this.currentTrack;if(!e)break;if(U_(this.currentFragment),U_(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=IT(t),i=ET(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=MT(t);let d=e.currentFragmentState.baseDataOffset;r&&(d+=AT(t));let h=null;o&&(h=MT(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=MT(t):(U_(null!==e.currentFragmentState.defaultSampleDuration),r=e.currentFragmentState.defaultSampleDuration),a?o=MT(t):(U_(null!==e.currentFragmentState.defaultSampleSize),o=e.currentFragmentState.defaultSampleSize),l?u=MT(t):(U_(null!==e.currentFragmentState.defaultSampleFlags),u=e.currentFragmentState.defaultSampleFlags),0===i&&null!==h&&(u=h);let d=0;c&&(d=0===n?MT(t):AT(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[q_(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]=tT(y)):null!==(ct=(at=this.metadataTags.raw)[lt=t.name])&&void 0!==ct||(at[lt]=_T(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=K_.decode(_T(y,t.contentSize)):null!==(n=(e=this.metadataTags).title)&&void 0!==n||(e.title=tT(y));break;case"©des":this.currentTrack||null!==(r=(i=this.metadataTags).description)&&void 0!==r||(i.description=tT(y));break;case"©ART":this.currentTrack||null!==(s=(o=this.metadataTags).artist)&&void 0!==s||(o.artist=tT(y));break;case"©alb":this.currentTrack||null!==(l=(a=this.metadataTags).album)&&void 0!==l||(a.album=tT(y));break;case"albr":this.currentTrack||null!==(u=(c=this.metadataTags).albumArtist)&&void 0!==u||(c.albumArtist=tT(y));break;case"©gen":this.currentTrack||null!==(h=(d=this.metadataTags).genre)&&void 0!==h||(d.genre=tT(y));break;case"©day":if(!this.currentTrack){var ut,dt;const t=new Date(tT(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=tT(y));break;case"©lyr":this.currentTrack||null!==(v=(m=this.metadataTags).lyrics)&&void 0!==v||(m.lyrics=tT(y))}}}break;case"meta":{if(this.currentTrack)break;const e=0!==MT(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=MT(t);for(let n=0;n<e;n++){const e=MT(t);t.skip(4);const i=K_.decode(_T(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=eT(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 mI?(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=G_(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=G_(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 iT{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=sT(i,n),o=await this.fetchPacketForSampleIndex(r,e);return hT(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=oI(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=aT(i,n),o=await this.fetchPacketForSampleIndex(r,e);return hT(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=cT(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 U_(-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=lT(n,t);if(!i)return null;let r;if(e.metadataOnly)r=jI;else{let t=this.internalTrack.demuxer.reader.requestSlice(i.sampleOffset,i.sampleSize);t instanceof Promise&&(t=await t),U_(t),r=_T(t,i.sampleSize)}const o=(i.presentationTimestamp-this.internalTrack.editListOffset)/this.internalTrack.timescale,s=i.duration/this.internalTrack.timescale,a=new $I(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(U_(i),n.metadataOnly)r=jI;else{let t=this.internalTrack.demuxer.reader.requestSlice(i.byteOffset,i.byteSize);t instanceof Promise&&(t=await t),U_(t),r=_T(t,i.byteSize)}const o=(i.presentationTimestamp-this.internalTrack.editListOffset)/this.internalTrack.timescale,s=i.duration/this.internalTrack.timescale,a=new $I(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=oI(this.internalTrack.fragmentLookupTable,n,(t=>t.timestamp)),h=-1!==d?this.internalTrack.fragmentLookupTable[d]:null,f=oI(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=YI(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];U_(!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 rT extends iT{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 RI(t)){if(1!==e)continue;const t=new gI(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 gI(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=q_(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:_I(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 oT extends iT{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:II(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 sT=(t,e)=>{if(t.presentationTimestamps){const n=oI(t.presentationTimestamps,e,(t=>t.presentationTimestamp));return-1===n?-1:t.presentationTimestamps[n].sampleIndex}{const n=oI(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)}},aT=(t,e)=>{if(!t.keySampleIndices)return sT(t,e);if(t.presentationTimestamps){const n=oI(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!==rI(t.keySampleIndices,n,(t=>t)))return n}return-1}{var n;const i=sT(t,e),r=oI(t.keySampleIndices,i,(t=>t));return null!==(n=t.keySampleIndices[r])&&void 0!==n?n:-1}},lT=(t,e)=>{const n=oI(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=oI(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=oI(t.sampleToChunk,e,(t=>t.startSampleIndex)),c=t.sampleToChunk[l];U_(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];U_(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!==rI(t.keySampleIndices,e,(t=>t))}},cT=(t,e)=>{var n;if(!t.keySampleIndices)return e+1;const i=oI(t.keySampleIndices,e,(t=>t));return null!==(n=t.keySampleIndices[i+1])&&void 0!==n?n:-1},uT=(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},dT=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},hT=t=>0===t.sampleSizes.length;class fT{}class pT extends fT{async _getMajorBrand(t){let e=t._reader.requestSlice(0,12);return e instanceof Promise&&(e=await e),e?(e.skip(4),"ftyp"!==OT(e,4)?null:OT(e,4)):null}_createDemuxer(t){return new nT(t)}}const mT=new class extends pT{async _canReadInput(t){const e=await this._getMajorBrand(t);return!!e&&"qt "!==e}get name(){return"MP4"}get mimeType(){return"video/mp4"}};class vT{constructor(){this._disposed=!1,this._sizePromise=null,this.onread=null}async getSizeOrNull(){var t;if(this._disposed)throw new bT;return null!==(t=this._sizePromise)&&void 0!==t?t:this._sizePromise=Promise.resolve(this._retrieveSize())}async getSize(){if(this._disposed)throw new bT;const t=await this.getSizeOrNull();if(null===t)throw new Error("Cannot determine the size of an unsized source.");return t}}class gT extends vT{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&&(!pI(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=oI(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:G_(o),offset:t};this._currentIndex>r&&this._throwDueToCacheMiss();const{promise:s,resolve:a,reject:l}=sI();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:G_(e.bytes),offset:e.start}),this._pendingSlices.splice(t,1),t--))}for(this._cache.push({start:i,end:r,bytes:n,view:G_(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 yT{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 fT))))throw new TypeError("options.formats must be an array of InputFormat.");if(!(t.source instanceof vT))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 kT(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(),U_(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 bT extends Error{constructor(t="Input has been disposed."){super(t),this.name="InputDisposedError"}}class kT{constructor(t){this.source=t}requestSlice(t,e){if(this.source._disposed)throw new bT;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 wT(e.bytes,e.view,e.offset,t,n):null)):i?new wT(i.bytes,i.view,i.offset,t,n):null}requestSliceRange(t,e,n){if(this.source._disposed)throw new bT;if(t<0)return null;if(null!==this.fileSize)return this.requestSlice(t,lI(this.fileSize-t,e,n));{const i=this.requestSlice(t,n),r=i=>{if(i)return i;const r=i=>(U_(null!==i),this.requestSlice(t,lI(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 wT{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 wT(t,G_(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 wT(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.`)},_T=(t,e)=>{xT(t,e);const n=t.bytes.subarray(t.bufferPos,t.bufferPos+e);return t.bufferPos+=e,n},IT=t=>(xT(t,1),t.view.getUint8(t.bufferPos++)),TT=t=>{xT(t,2);const e=t.view.getUint16(t.bufferPos,!1);return t.bufferPos+=2,e},ET=t=>{xT(t,3);const e=aI(t.view,t.bufferPos);return t.bufferPos+=3,e},ST=t=>{xT(t,2);const e=t.view.getInt16(t.bufferPos,!1);return t.bufferPos+=2,e},MT=t=>{xT(t,4);const e=t.view.getUint32(t.bufferPos,!1);return t.bufferPos+=4,e},AT=t=>{xT(t,4);const e=t.view.getInt32(t.bufferPos,!1);return t.bufferPos+=4,e},NT=t=>4294967296*MT(t)+MT(t),CT=t=>4294967296*AT(t)+MT(t),FT=t=>{xT(t,8);const e=t.view.getFloat64(t.bufferPos,!1);return t.bufferPos+=8,e},OT=(t,e)=>{xT(t,e);let n="";for(let i=0;i<e;i++)n+=String.fromCharCode(t.bytes[t.bufferPos++]);return n};var PT=new WeakMap,RT=new WeakMap,DT=new WeakMap,BT=new WeakMap,LT=new WeakMap,zT=new WeakMap,WT=new WeakMap,jT=new WeakMap,$T=new WeakMap,UT=new WeakMap,qT=new WeakMap,VT=new WeakMap,HT=new WeakMap,GT=new WeakMap,KT=new WeakMap,XT=new WeakSet;class YT extends Od{constructor(...t){super(...t),O(this,XT),C(this,PT,null),C(this,RT,null),C(this,DT,null),C(this,BT,null),C(this,LT,!1),C(this,zT,!1),C(this,WT,!1),C(this,jT,!1),C(this,$T,void 0),C(this,UT,null),C(this,qT,null),C(this,VT,!1),C(this,HT,!1),C(this,GT,null),C(this,KT,!1)}get name(){return"FMP4Demuxer"}get defaults(){return{}}get methodsExcludedFromAutoLog(){return new Set([...super.methodsExcludedFromAutoLog,"pushChunk","endOfStream"])}pushChunk(t,e={}){if(N(WT,this)||N(jT,this))return;const n=t instanceof Uint8Array?t:new Uint8Array(t),i=!!e.isInit;F(UT,this,M(XT,this,nE).call(this,n,e,i)),i&&(F($T,this,n),F(qT,this,null),this.trigger("demux:init",{data:n})),M(XT,this,eE).call(this);try{var r;const t=null===(r=N(PT,this))||void 0===r?void 0:r.write(n);t&&"function"==typeof t.catch&&t.catch((t=>{M(XT,this,iE).call(this,t)}))}catch(t){if(N(WT,this)||M(XT,this,QT).call(this,t))return;return this.log.warn("[FMP4Demuxer] mediabunny demux failed",t),void M(XT,this,iE).call(this,t)}const o=M(XT,this,sE).call(this);o&&"function"==typeof o.catch&&o.catch((t=>{M(XT,this,iE).call(this,t)}))}endOfStream(){if(N(jT,this))return;if(N(VT,this))return;let t;F(VT,this,!0),F(HT,this,!1),F(KT,this,!1);try{var e;t=null===(e=N(PT,this))||void 0===e?void 0:e.close()}catch(e){t=Promise.resolve()}let n=!1;M(XT,this,ZT).call(this),F(GT,this,setTimeout((()=>{F(GT,this,null),n||N(HT,this)||N(jT,this)||M(XT,this,tE).call(this)}),20)),Promise.resolve(t).catch((()=>{})).finally((()=>{n=!0,M(XT,this,ZT).call(this),M(XT,this,tE).call(this)}))}onDispose(){super.onDispose(),F(jT,this,!0);try{var t,e;null===(t=N(DT,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(RT,this))||void 0===n||null===(i=n.dispose)||void 0===i||i.call(n)}catch(t){}F(DT,this,null),F(RT,this,null),F(WT,this,!1),F(UT,this,null),F(BT,this,null),F(LT,this,!1),F(zT,this,!1),F(VT,this,!1),F(HT,this,!1),F(KT,this,!1),M(XT,this,ZT).call(this)}}function QT(t){return!!N(jT,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 JT(){try{var t,e;const n=null===(t=N(PT,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(PT,this,null)}function ZT(){null!==N(GT,this)&&(clearTimeout(N(GT,this)),F(GT,this,null))}function tE(){if(N(HT,this)||N(jT,this)||N(WT,this))return;if(F(HT,this,!0),N(zT,this))return void F(KT,this,!0);F(KT,this,!1);const t=M(XT,this,sE).call(this);t&&"function"==typeof t.catch&&t.catch((t=>{M(XT,this,iE).call(this,t)}))}function eE(){if(N(RT,this)&&N(PT,this))return;const t=Dd.TransformStream;if(void 0===t)throw new Error("TransformStream is not available in this environment");const{readable:e,writable:n}=new t;F(PT,this,n.getWriter()),F(RT,this,new yT({source:new gT(e),formats:[mT]})),F(LT,this,!1)}function nE(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 iE(t){if(N(WT,this)||M(XT,this,QT).call(this,t))return;if(M(XT,this,oE).call(this,t))return void F(LT,this,!1);F(WT,this,!0),M(XT,this,JT).call(this);try{var e,n;null===(e=N(DT,this))||void 0===e||null===(n=e.close)||void 0===n||n.call(e)}catch(t){}F(DT,this,null);try{var i,r;null===(i=N(RT,this))||void 0===i||null===(r=i.dispose)||void 0===r||r.call(i)}catch(t){}F(RT,this,null);const o={error:t,recoverable:!1,severity:"fatal",streamClosed:N(VT,this),streamFinalized:N(HT,this)};N(UT,this)&&(o.context={...N(UT,this)}),this.trigger("demux:error",o)}function rE(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 oE(t){return!!M(XT,this,rE).call(this,t)&&(!N(HT,this)||N(KT,this))}async function sE(){if(!(N(jT,this)||N(WT,this)||N(LT,this)||N(zT,this))){F(zT,this,!0);try{M(XT,this,eE).call(this);const t=await N(RT,this).getPrimaryVideoTrack(),e=t?null:await N(RT,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(RT,this).getMimeType();this.trigger("demux:init",{...N($T,this)?{data:N($T,this)}:{},decoderConfig:i,codec:r,mimeType:o}),F(DT,this,new HI(n)),F(LT,this,!0),F(BT,this,(async()=>{try{for await(const t of N(DT,this).packets()){if(N(jT,this))break;const e="number"==typeof t.timestamp?t.timestamp:0;null===N(qT,this)&&F(qT,this,e);let n=e-N(qT,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(XT,this,iE).call(this,t)}})())}catch(t){if(M(XT,this,oE).call(this,t))return;throw t}finally{F(zT,this,!1),!N(KT,this)||N(WT,this)||N(jT,this)||M(XT,this,tE).call(this)}}}const aE=1e6,lE=24e3/1001,cE={primaries:"bt709",transfer:"bt709",matrix:"bt709",fullRange:!0},uE=new Uint8Array;function dE(t){return t?t instanceof Uint8Array?t:t instanceof ArrayBuffer?new Uint8Array(t):uE:uE}let hE=null;const fE={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 $_{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,rS).call(this,this.settings.maxDecodedFrames)),F(fe,this,M(Ue,this,sS).call(this,this.settings.maxDecodeQueueSize)),F(ze,this,$v()),F(We,this,M(Ue,this,YE).call(this,this.settings.convertFramesToBitmapsOnAndroid)),F(je,this,M(Ue,this,QE).call(this,this.settings.androidFixEndOfSegmentDelta)),F(pe,this,(()=>0)),F(ve,this,(()=>M(Ue,this,WE).call(this)));const e=this.settings.demuxerOptions?{FMP4Demuxer:this.settings.demuxerOptions}:{};F(ce,this,new YT(e)),N(ce,this).on("demux:init",(t=>M(Ue,this,NE).call(this,t))),N(ce,this).on("demux:sample",(t=>M(Ue,this,CE).call(this,t))),N(ce,this).on("demux:complete",(()=>M(Ue,this,FE).call(this))),N(ce,this).on("demux:error",(t=>M(Ue,this,bE).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,dS).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,EE).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,UE).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,EE).call(this)}}),audio:(qe=new WeakMap,Ve=new WeakMap,He=new WeakMap,Ge=new WeakMap,Ke=new WeakMap,Xe=new WeakMap,Ye=new WeakMap,Qe=new WeakSet,class extends $_{constructor(...t){super(...t),O(this,Qe),C(this,qe,void 0),C(this,Ve,[]),C(this,He,0),C(this,Ge,!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,dE(t.arrayBuffer));const e=t.arrayBuffer;e&&M(Qe,this,vE).call(this,dE(e),!0)}decodeChunk(t,e={}){if(!t)return;if(e.isInit)return void F(qe,this,dE(t));const n=dE(t);if(!n.length)return;N(Ve,this).push(n),F(He,this,N(He,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,pE).call(this)}endOfStream(){M(Qe,this,pE).call(this)}onDispose(){super.onDispose(),F(qe,this,void 0),F(Ve,this,[]),F(He,this,0),F(Ge,this,!1),F(Ke,this,!1),F(Xe,this,void 0)}}),image:class extends $_{#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 Dd.Blob)return;const n="string"==typeof e?e:"";return new Dd.Blob([t],n?{type:n}:void 0)}(t,e);if(!n)throw new Error("Image decode requires Blob support");let i;if("function"==typeof Dd.Image&&Dd.URL&&"function"==typeof Dd.URL.createObjectURL&&"function"==typeof Dd.URL.revokeObjectURL){const t=Dd.URL.createObjectURL(n);try{const e=new Dd.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{Dd.URL.revokeObjectURL(t)}}if("function"==typeof Dd.createImageBitmap)try{return Dd.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&&(Fy(o.width)||(o.width=e.width),Fy(o.height)||(o.height=e.height)),this.trigger("decoder:frame",{pts:this.#W,duration:Fy(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 pE(){if(N(Ge,this)||N(Ke,this))return;if(!N(He,this))return;const t=M(Qe,this,mE).call(this);t.length&&M(Qe,this,vE).call(this,t,!1)}function mE(){const t=N(qe,this),e=t?t.length:0,n=e+N(He,this);if(!n)return uE;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 vE(t,e){if(N(Ge,this)||N(Ke,this))return;const n=e?M(Qe,this,gE).call(this,t):t;if(!n||!n.length)return;const i=function(){if(hE)return hE;const t=Dd.AudioContext||Dd.webkitAudioContext;return t?(hE=new t,hE):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(Ge,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(He,this,0),F(Ke,this,!1)}))}function gE(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 yE(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 bE(t){const e=(null==t?void 0:t.error)||t,n=M(Ue,this,yE).call(this,t,e);if(M(Ue,this,kE).call(this,t,e))return this.log.warn("[onDemuxError] recoverable demux error",n),void M(Ue,this,FE).call(this);const i=M(Ue,this,AE).call(this,t),r=M(Ue,this,wE).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,FE).call(this);let o=n;i&&(o={...n,missingFrameStats:i}),this.log.warn(`[onDemuxError] demux error${r}`,o),this.trigger("decoder:error",t)}function kE(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 wE(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 _E(t,e={}){return{expectedFrames:null,demuxedFrames:N(Re,this),missingFrames:null,reason:t,...e}}function IE(t){const e=Number(t);return Number.isFinite(e)?e:null}function TE(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,_E).call(this,"segment_duration_unavailable",{segmentDurationSeconds:M(Ue,this,IE).call(this,s),demuxedCoverageSeconds:N(Le,this),frameDurationSeconds:null});const a=M(Ue,this,ME).call(this);if(!Number.isFinite(a)||a<=0){const t=Math.max(1,Math.round(s*lE));return{expectedFrames:t,demuxedFrames:N(Re,this),missingFrames:Math.max(0,t-N(Re,this)),reason:"fallback_fps",fallbackFps:lE,segmentDurationSeconds:s,demuxedCoverageSeconds:N(Le,this),frameDurationSeconds:M(Ue,this,IE).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 EE(){F(Re,this,0),F(De,this,0),F(Be,this,0),F(Le,this,0)}function SE(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 ME(){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 AE(t){return M(Ue,this,TE).call(this,t)}function NE(t){(null==t?void 0:t.data)instanceof Uint8Array&&(F(Se,this,t.data.buffer),M(Ue,this,VE).call(this)),null!=t&&t.decoderConfig&&(F(Ae,this,t.decoderConfig),F(Ee,this,t.decoderConfig.codec||N(Ee,this)),M(Ue,this,VE).call(this)),this.trigger("decoder:init",t)}function CE(t){M(Ue,this,SE).call(this,t),N(me,this).push(t),M(Ue,this,WE).call(this)}function FE(){F(be,this,!0),M(Ue,this,GE).call(this)}function OE(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 PE(t){return N(me,this).some((e=>{const n=M(Ue,this,OE).call(this,e);return Number.isFinite(n)&&n>=t}))}function RE(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,OE).call(this,r);Number.isFinite(o)&&(null==r?void 0:r.isKey)&&o<=t&&(e=i,n=o)}return{chosenIndex:e,chosenPtsSeconds:n}}function DE(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,OE).call(this,r);if(Number.isFinite(o)&&null!=r&&r.isKey&&(e=i,n=o,o>=t))break}return{chosenIndex:e,chosenPtsSeconds:n}}function BE(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,DE).call(this,n);return Number.isFinite(r)?Math.max(e,r):e}function LE(t){const e=N(Ce,this);Number.isFinite(e)&&Number.isFinite(t)&&t>=e&&(F(Ce,this,null),F(Oe,this,null))}function zE(){const t=N(Ce,this);if(!Number.isFinite(t)||N(Fe,this))return!0;if(!M(Ue,this,PE).call(this,t)&&!N(be,this))return!1;const e=M(Ue,this,RE).call(this,t);let n=e;if(-1===e.chosenIndex&&(n=M(Ue,this,DE).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 WE(){const t=N(pe,this)?N(pe,this).call(this):0,e=M(Ue,this,BE).call(this,t);if(M(Ue,this,nS).call(this,t),M(Ue,this,iS).call(this),!M(Ue,this,zE).call(this))return void M(Ue,this,$E).call(this);const n=void 0!==Dd.VideoDecoder&&void 0!==Dd.EncodedVideoChunk;for(n&&!N(_e,this)&&N(Ae,this)&&M(Ue,this,VE).call(this);N(me,this).length&&!M(Ue,this,oS).call(this)&&!(n&&N(xe,this)&&M(Ue,this,aS).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,jE).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*aE));N(ge,this).set(e,!!t.isKey);try{const n=new Dd.EncodedVideoChunk({type:t.isKey?"key":"delta",timestamp:e,duration:t.duration?Math.round(t.duration*aE):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,jE).call(this,t)}}M(Ue,this,GE).call(this),M(Ue,this,$E).call(this)}function jE(t){const e=N(pe,this)?N(pe,this).call(this):0,n=M(Ue,this,BE).call(this,e),i=N(Ne,this)+("number"==typeof t.pts?t.pts:0);if(i<e||i>n)return;M(Ue,this,nS).call(this,e);const r={pts:i,duration:t.duration,data:t.data,isKey:t.isKey};N(ue,this).push(r),M(Ue,this,iS).call(this),this.trigger("decoder:frame",r),M(Ue,this,LE).call(this,i)}function $E(){if(N(me,this).length>0&&void 0!==Dd.VideoDecoder){if(Yw(N(ve,this)))return;Kw(N(ve,this),50)}else M(Ue,this,UE).call(this)}function UE(){N(ve,this)&&Yw(N(ve,this))&&Xw(N(ve,this))}function qE(){return null!=Dd&&Dd.performance&&"function"==typeof Dd.performance.now?Dd.performance.now():Date.now()}function VE(){if(N(_e,this))return;if(void 0===Dd.VideoDecoder)return;if(!N(Ae,this))return;if(N(Ie,this)&&M(Ue,this,qE).call(this)<N(Te,this))return;const t=M(Ue,this,HE).call(this);try{F(xe,this,new Dd.VideoDecoder({output:t=>M(Ue,this,XE).call(this,t),error:t=>M(Ue,this,KE).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,WE).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 HE(){const t={...N(Ae,this)};return M(Ue,this,cS).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,uS).call(this,t),t}function GE(){void 0!==Dd.VideoDecoder&&void 0!==Dd.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 KE(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,qE).call(this)+1e3)}function XE(t){F($e,this,N($e,this).then((()=>{var e;if(!this._disposed)return M(Ue,this,eS).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 YE(t){return"boolean"!=typeof t||t}function QE(t){const e=Number(t);return!Number.isFinite(e)||e<0?.2:e}function JE(){return!!N(We,this)&&"function"==typeof Dd.createImageBitmap&&N(ze,this)}function ZE(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 tS(t,e){try{var n;const i=M(Ue,this,ZE).call(this,e),r=await Dd.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 eS(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/aE:N(pe,this)?N(pe,this).call(this):0,s="number"==typeof t.duration?t.duration/aE: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,BE).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,JE).call(this)){var h,f,p,m;if(i=await M(Ue,this,tS).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,BE).call(this,e),o<e||o>n)return void(null===(p=(m=i).close)||void 0===p||p.call(m))}if(M(Ue,this,nS).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,iS).call(this),this.trigger("decoder:frame",r),M(Ue,this,LE).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 nS(t){const e=M(Ue,this,BE).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 iS(){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 rS(t){const e=Number(t);return!Number.isFinite(e)||e<=0?0:Math.floor(e)}function oS(){const t=N(he,this);return!(!Number.isFinite(t)||t<=0)&&N(ue,this).length>=t}function sS(t){const e=Number(t);return!Number.isFinite(e)||e<=0?0:Math.floor(e)}function aS(){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 lS(t){return"string"==typeof t&&t.toLowerCase().startsWith("av01")}function cS(t){var e;return!1!==this.settings.av1ColorSpaceOverrideEnabled&&M(Ue,this,lS).call(this,(null===(e=N(Me,this))||void 0===e?void 0:e.codec)||(null==t?void 0:t.codec))}function uS(t){M(Ue,this,cS).call(this,t)&&(t.colorSpace={...cE})}function dS(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 hS extends Od{#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 $_(e);const n=fE[t.type];return n?(this.log.debug(`[#create] [${t.type}] Creating decoder:`,n),new n(e)):new $_(e)}}class fS{#V;#H;#G;#K;constructor(t={}){this.#V=t.getActiveRenderPlacement,this.#H=t.getPlacementsActiveAtTime,this.#G=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.#G)return;const n="function"==typeof this.#H?this.#H:()=>[],i=n(e),r=new Set;i.forEach((t=>{null!=t&&t.placementId&&r.add(t.placementId),this.#G(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.#G(t,s)}))}dispose(){}}class pS{#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 mS=new Set(["video","audio","image"]);function vS(t){const e=Number(t);return Number.isFinite(e)?e:0}var gS=new WeakMap,yS=new WeakMap,bS=new WeakMap,kS=new WeakMap,wS=new WeakMap,xS=new WeakMap,_S=new WeakMap,IS=new WeakMap,TS=new WeakMap,ES=new WeakMap,SS=new WeakMap,MS=new WeakMap,AS=new WeakMap,NS=new WeakMap,CS=new WeakMap,FS=new WeakMap,OS=new WeakMap,PS=new WeakMap,RS=new WeakMap,DS=new WeakSet;class BS extends Od{constructor(...t){super(...t),O(this,DS),C(this,gS,void 0),C(this,yS,void 0),C(this,bS,void 0),C(this,kS,void 0),C(this,wS,void 0),C(this,xS,void 0),C(this,_S,void 0),C(this,IS,void 0),C(this,TS,void 0),C(this,ES,void 0),C(this,SS,void 0),C(this,MS,new Map),C(this,AS,new Map),C(this,NS,new Map),C(this,CS,new Map),C(this,FS,new Set),C(this,OS,0),C(this,PS,!1),C(this,RS,null);const[e,n,i]=t;F(gS,this,e),F(yS,this,n),F(bS,this,i||new hS),F(kS,this,new pS({getNode:t=>M(DS,this,lM).call(this,t),getPlacementState:t=>N(MS,this).get(t),getDecodeTracks:t=>M(DS,this,iM).call(this,t),getSegmentIdForTrackAtTime:(t,e,n)=>M(DS,this,VS).call(this,t,e,n),decodeLoadedMediaSegment:(t,e,n)=>{M(DS,this,MM).call(this,t,e,n)},decodeLoadedMediaSegmentsAfter:(t,e,n)=>{M(DS,this,kM).call(this,t,e,n)}})),F(wS,this,new fS({getActiveRenderPlacement:t=>{var e,n;return null===(e=N(yS,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(yS,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(kS,this))||void 0===n||null===(i=n.ensureDecodedForPlacementAtTime)||void 0===i||i.call(n,t,e)}})),M(DS,this,LS).call(this),M(DS,this,tM).call(this)}get name(){return"DecodeCoordinator"}onDispose(){var t,e;N(yS,this)&&"function"==typeof N(yS,this).off&&N(xS,this)&&N(yS,this).off(Ld.PLACEMENT_ADDED,N(xS,this)),N(yS,this)&&"function"==typeof N(yS,this).off&&N(_S,this)&&N(yS,this).off(Ld.TIMELINE_SEEKING,N(_S,this)),N(yS,this)&&"function"==typeof N(yS,this).off&&N(IS,this)&&N(yS,this).off(Ld.TIMELINE_SEEKED,N(IS,this)),N(yS,this)&&"function"==typeof N(yS,this).off&&N(TS,this)&&N(yS,this).off(Ld.TIMELINE_TIME_UPDATE,N(TS,this)),N(yS,this)&&"function"==typeof N(yS,this).off&&N(ES,this)&&N(yS,this).off(Ld.TIMELINE_RESET,N(ES,this)),M(DS,this,zS).call(this),F(xS,this,null),F(_S,this,null),F(IS,this,null),F(TS,this,null),F(ES,this,null),null!==(t=N(kS,this))&&void 0!==t&&null!==(e=t.dispose)&&void 0!==e&&e.call(t),F(kS,this,null),N(wS,this)&&"function"==typeof N(wS,this).dispose&&N(wS,this).dispose(),F(wS,this,null),N(AS,this).forEach(((t,e)=>{const n=M(DS,this,lM).call(this,e);n&&"function"==typeof n.off&&n.off("node:loaded",t)})),N(AS,this).clear(),N(NS,this).forEach(((t,e)=>{const n=M(DS,this,lM).call(this,e);n&&"function"==typeof n.off&&n.off("segment:chunk",t)})),N(NS,this).clear(),N(CS,this).clear(),N(FS,this).clear(),M(DS,this,YS).call(this),N(MS,this).forEach((({trackStates:t})=>{t&&t.forEach((t=>{M(DS,this,hM).call(this,t)}))})),N(MS,this).clear()}}function LS(){N(yS,this)&&"function"==typeof N(yS,this).on&&(F(xS,this,(t=>{M(DS,this,eM).call(this,t)})),N(yS,this).on(Ld.PLACEMENT_ADDED,N(xS,this)),F(_S,this,(t=>M(DS,this,WS).call(this,t))),N(yS,this).on(Ld.TIMELINE_SEEKING,N(_S,this)),F(IS,this,(()=>M(DS,this,jS).call(this))),N(yS,this).on(Ld.TIMELINE_SEEKED,N(IS,this)),F(TS,this,(t=>M(DS,this,$S).call(this,t))),N(yS,this).on(Ld.TIMELINE_TIME_UPDATE,N(TS,this)),F(ES,this,(()=>M(DS,this,US).call(this))),N(yS,this).on(Ld.TIMELINE_RESET,N(ES,this))),(null==Dd?void 0:Dd.document)&&"function"==typeof Dd.document.addEventListener&&(F(SS,this,(()=>{M(DS,this,QS).call(this)})),Dd.document.addEventListener("visibilitychange",N(SS,this)))}function zS(){N(SS,this)&&null!=Dd&&Dd.document&&"function"==typeof Dd.document.removeEventListener&&Dd.document.removeEventListener("visibilitychange",N(SS,this)),F(SS,this,null)}function WS(t={}){const e=Number(null==t?void 0:t.targetTime);Number.isFinite(e)&&(N(MS,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(DS,this,qS).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(MS,this).get(n);if(!r||!r.trackStates)return;const o=M(DS,this,lM).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(DS,this,qS).call(this,n,r.placement||t,e)})),M(DS,this,bM).call(this,r.placement||t,o))})))}function jS(){N(MS,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 $S(t={}){var e,n;M(DS,this,yM).call(this,null==t?void 0:t.time),null!==(e=N(wS,this))&&void 0!==e&&null!==(n=e.handleTimeUpdate)&&void 0!==n&&n.call(e,t),M(DS,this,QS).call(this),M(DS,this,fM).call(this,null==t?void 0:t.time)}function US(){N(AS,this).forEach(((t,e)=>{const n=M(DS,this,lM).call(this,e);n&&"function"==typeof n.off&&n.off("node:loaded",t)})),N(AS,this).clear(),N(NS,this).forEach(((t,e)=>{const n=M(DS,this,lM).call(this,e);n&&"function"==typeof n.off&&n.off("segment:chunk",t)})),N(NS,this).clear(),N(CS,this).clear(),N(FS,this).clear(),N(MS,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(MS,this).clear()}function qS(t,e,n){t&&(M(DS,this,hM).call(this,t),t.seekSegmentId=M(DS,this,VS).call(this,t.track,e,n))}function VS(t,e,n){if(!t||!e||!Array.isArray(t.segments))return null;const i=qm(e);if(!Number.isFinite(i))return null;const r=vS(null==e?void 0:e.nodeOffsetOverride),o=Math.max(0,n-i+r),s=vS(null==t?void 0:t.offset),a=Math.max(0,o-s),l="function"==typeof t.getMediaSegmentAtTime?t.getMediaSegmentAtTime(a,{preferRepresentationTime:!0}):Hb(t.segments,a,{preferRepresentationTime:!0});return(null==l?void 0:l.id)||null}function HS(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 GS(){const t=null==Dd?void 0:Dd.document;return!t||"string"!=typeof t.visibilityState||"visible"===t.visibilityState}function KS(){var t;const e=N(yS,this);if(!e||"number"!=typeof e.currentTime)return!1;if(e.state===eg)return!1;const n=Date.now();if(n<N(OS,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(DS,this,XS).call(this,i),!Number.isFinite(a))return!1;return F(OS,this,n+1500),this.log.warn("[DecodeCoordinator] attempting decoder recovery seek"),e.currentTime=a,!0}function XS(t){var e;const n=N(yS,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=qm(t);if(!Number.isFinite(e))return;(!Number.isFinite(d)||e<d)&&(d=e);const n=$m(t,N(gS,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 YS(){F(PS,this,!1),F(RS,this,null)}function QS(){N(PS,this)&&M(DS,this,GS).call(this)&&M(DS,this,KS).call(this)}function JS(t){if(!M(DS,this,HS).call(this,t))return;const e=N(yS,this);e&&"number"==typeof e.currentTime&&(F(PS,this,!0),F(RS,this,t),M(DS,this,GS).call(this)&&M(DS,this,KS).call(this))}function ZS(t){var e;return!!t&&(Array.isArray(null===(e=N(yS,this))||void 0===e?void 0:e.placements)?N(yS,this).placements:[]).includes(t)}function tM(t){var e;(Array.isArray(null===(e=N(yS,this))||void 0===e?void 0:e.placements)?[...N(yS,this).placements]:[]).filter((e=>"function"!=typeof t||t(e))).sort(((t,e)=>{const n=qm(t),i=qm(e);return(Number.isFinite(n)?n:Number.POSITIVE_INFINITY)-(Number.isFinite(i)?i:Number.POSITIVE_INFINITY)})).forEach((t=>{M(DS,this,eM).call(this,t)}))}async function eM(t){if(!t||!t.placementId||N(MS,this).has(t.placementId))return;if(!M(DS,this,ZS).call(this,t))return;const e=t.nodeId;if(!e||!N(gS,this)||"function"!=typeof N(gS,this).get)return;const n=M(DS,this,lM).call(this,e);if(n){if(n.state&&"ready"!==n.state){if("function"==typeof n.resolve)try{await n.resolve()}catch(n){if(!M(DS,this,ZS).call(this,t))return;return void this.log.warn(`[#processPlacement] Failed to resolve node ${e}`,n)}if(!M(DS,this,ZS).call(this,t))return;if("ready"!==n.state)return}if(M(DS,this,gM).call(this,t))return M(DS,this,vM).call(this,t,n),void N(FS,this).add(t.placementId);M(DS,this,mM).call(this,t,n)}}function nM(t){return M(DS,this,iM).call(this,t).every((t=>M(DS,this,pM).call(this,t)))}function iM(t){return(Array.isArray(null==t?void 0:t.tracks)?t.tracks:[]).filter((t=>mS.has(null==t?void 0:t.type)))}function rM(t){if(!t||!t.id||"function"!=typeof t.on)return;if(N(AS,this).has(t.id))return;const e=()=>{M(DS,this,wM).call(this,t.id)};t.on("node:loaded",e),N(AS,this).set(t.id,e)}function oM(t){if(!t||!t.id||"function"!=typeof t.on)return;if(N(NS,this).has(t.id))return;const e=t=>M(DS,this,xM).call(this,t);t.on("segment:chunk",e),N(NS,this).set(t.id,e)}function sM(t,e){if(!t||!e)return;const n=N(CS,this).get(t)||new Set;n.add(e),N(CS,this).set(t,n)}function aM(t){return N(CS,this).get(t)||new Set}function lM(t){if(t&&N(gS,this)&&"function"==typeof N(gS,this).get)return N(gS,this).get(t)}function cM(t){if(!t)return;const e=t.fullBufferRetryTimer;null!=e&&("function"==typeof(null==Dd?void 0:Dd.clearTimeout)?Dd.clearTimeout.bind(Dd):clearTimeout)(e),t.fullBufferRetryTimer=null,t.fullBufferDecodeScheduled=!1,t.fullBufferRetryAttempts=0}function uM(t){const e=null==t?void 0:t.segmentStates;e&&"function"==typeof e.forEach&&e.forEach((t=>{M(DS,this,cM).call(this,t)}))}function dM(t,e,n,i){var r,o;if(!(t&&e&&n&&i))return!1;const s=N(MS,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 hM(t){if(!t)return;M(DS,this,uM).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 fM(t){const e=vS(t);if(!Number.isFinite(e))return;const n=e-2;Number.isFinite(n)&&N(MS,this).forEach((t=>{const e=null==t?void 0:t.placement;if(!e)return;const i=qm(e),r=$m(e,N(gS,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(DS,this,hM).call(this,t)}))}))}function pM(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 mM(t,e){if(this.log.debug(`[#startDecode] [${t.placementId}] [${e.id}] Starting decode`),M(DS,this,vM).call(this,t,e)){if(M(DS,this,sM).call(this,e.id,t.placementId),!M(DS,this,nM).call(this,e))return M(DS,this,rM).call(this,e),void M(DS,this,oM).call(this,e);M(DS,this,bM).call(this,t,e),M(DS,this,oM).call(this,e)}}function vM(t,e){if(!t||!t.placementId||!e)return;const n=N(MS,this).get(t.placementId);if(n)return n.placement=t,n;const i=M(DS,this,iM).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(Ld.DECODE_ERROR,jd({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(MS,this).set(t.placementId,o),o}function gM(t){var e;const n=qm(t),i=vS(null===(e=N(yS,this))||void 0===e?void 0:e.currentTime);return!Number.isFinite(n)||!!Number.isFinite(i)&&n-i>2}function yM(t){if(!N(FS,this).size)return;const e=vS(t);if(!Number.isFinite(e))return;const n=[];N(FS,this).forEach((t=>{const i=N(MS,this).get(t),r=null==i?void 0:i.placement;if(!r)return void n.push(t);const o=qm(r);Number.isFinite(o)&&o-e<=2&&n.push(t)})),n.forEach((t=>{N(FS,this).delete(t);const e=N(MS,this).get(t),n=null==e?void 0:e.placement;if(!n)return;const i=M(DS,this,lM).call(this,n.nodeId);i&&M(DS,this,mM).call(this,n,i)}))}function bM(t,e){const n=N(MS,this).get(t.placementId);n&&M(DS,this,iM).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(DS,this,MM).call(this,t,i,n),r.seekSegmentId&&"video"===(null==i?void 0:i.type)&&M(DS,this,kM).call(this,t,i,n),r.ready=!0,this.trigger(Ld.DECODE_READY,Wd({placementId:t.placementId,nodeId:e.id,trackId:i.id,trackType:i.type}))}catch(n){this.trigger(Ld.DECODE_ERROR,jd({placementId:t.placementId,nodeId:e.id,trackId:null==i?void 0:i.id,trackType:null==i?void 0:i.type,error:n}))}}))}function kM(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(MS,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(DS,this,MM).call(this,t,e,i),u+=1,u>=2)break}}function wM(t){const e=M(DS,this,lM).call(this,t);e&&M(DS,this,nM).call(this,e)&&M(DS,this,aM).call(this,t).forEach((t=>{const n=N(MS,this).get(t);M(DS,this,bM).call(this,(null==n?void 0:n.placement)||{placementId:t},e)}))}function xM(t){t&&t.nodeId&&t.trackId&&t.chunk&&M(DS,this,aM).call(this,t.nodeId).forEach((e=>M(DS,this,_M).call(this,e,t)))}function _M(t,e){const n=N(MS,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(DS,this,MM).call(this,n.placement,s,a)&&(i.ready=!0,this.trigger(Ld.DECODE_READY,Wd({placementId:t,nodeId:e.nodeId,trackId:e.trackId,trackType:e.trackType}))));if((null===(o=N(yS,this))||void 0===o?void 0:o.state)===eg&&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(DS,this,EM).call(this,n.placement,s,a);if(!u||"function"!=typeof u.decodeChunk)return;if(i.hasInit&&!c.initSent){const t=M(DS,this,SM).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(DS,this,IM).call(this,c,e)?d&&!c.ended&&M(DS,this,TM).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(Ld.DECODE_READY,Wd({placementId:t,nodeId:e.nodeId,trackId:e.trackId,trackType:e.trackType})))}catch(n){this.trigger(Ld.DECODE_ERROR,jd({placementId:t,nodeId:e.nodeId,trackId:e.trackId,trackType:e.trackType,error:n}))}}function IM(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 TM(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==Dd?void 0:Dd.setTimeout)?Dd.setTimeout.bind(Dd):setTimeout;i.fullBufferDecodeScheduled=!0,i.fullBufferRetryAttempts=0;const l=()=>{if(!M(DS,this,dM).call(this,r,o,s,i)||i.ended)return void M(DS,this,cM).call(this,i);if(M(DS,this,MM).call(this,t,e,n))return void M(DS,this,cM).call(this,i);i.fullBufferRetryAttempts+=1;const c=i.fullBufferRetryAttempts<=8?0:50;i.fullBufferRetryTimer=a((()=>{l()}),c)};i.fullBufferRetryTimer=a((()=>{l()}),0)}function EM(t,e,n){var i,r;const o=null==t?void 0:t.placementId;if(!o||!e||!n)return;const s=N(MS,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(bS,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(yS,this))||void 0===t?void 0:t.currentTime)?N(yS,this).currentTime:0})),c&&"function"==typeof c.setTimeOffsetSeconds){var u,d;const i=qm(t),r=vS(null==e?void 0:e.offset),o=vS(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(yS,this))||void 0===r?void 0:r.state)===eg&&"video"===(null==e?void 0:e.type)&&c.setSeekTargetTimeSeconds(N(yS,this).currentTime),c&&"function"==typeof c.on&&(c.on(Ld.DECODER_FRAME,(i=>{i&&(!N(PS,this)||"video"!==(null==e?void 0:e.type)&&"image"!==(null==e?void 0:e.type)||(F(PS,this,!1),F(RS,this,null)),N(yS,this)&&"function"==typeof N(yS,this).notifyDecodedFrame&&(i.frame||i.data)&&N(yS,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(Ld.DECODER_AUDIO,(i=>{i&&i.audioBuffer&&this.trigger(Ld.DECODER_AUDIO,Wd({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(Ld.DECODER_ERROR,(i=>{const r=(null==i?void 0:i.error)||i;this.trigger(Ld.DECODER_ERROR,jd({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(DS,this,JS).call(this,r)}))),a.segmentDecoders.set(n.id,c),c}function SM(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 MM(t,e,n){var i;if(!t||!e||!n)return!1;const r=t.placementId,o=N(MS,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(DS,this,EM).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(DS,this,cM).call(this,l),!0;if(s.hasInit&&!l.initSent){const t=M(DS,this,SM).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(DS,this,cM).call(this,l),0))}const AM=1e-6;var NM=new WeakMap,CM=new WeakMap,FM=new WeakMap,OM=new WeakMap,PM=new WeakMap,RM=new WeakMap,DM=new WeakMap,BM=new WeakMap,LM=new WeakSet;class zM extends Od{get name(){return"TransitionManager"}get defaults(){return{durationSeconds:.5}}constructor(t,e,n){super(n),O(this,LM),C(this,NM,void 0),C(this,CM,void 0),C(this,FM,null),C(this,OM,null),C(this,PM,null),C(this,RM,0),C(this,DM,[]),C(this,BM,null),F(NM,this,t),F(CM,this,e),N(NM,this)&&"function"==typeof N(NM,this).on&&(F(BM,this,(()=>M(LM,this,KM).call(this))),N(NM,this).on(Ld.TIMELINE_RESET,N(BM,this)))}transitionTo(t,e={}){const n=Number(t);if(!Number.isFinite(n))throw new Error("TransitionManager.transitionTo requires a numeric time");M(LM,this,KM).call(this);const i=M(LM,this,WM).call(this),r=M(LM,this,qM).call(this,n,e);return r?M(LM,this,VM).call(this,n,e,i,r):Promise.resolve()}onDispose(){N(NM,this)&&"function"==typeof N(NM,this).off&&N(BM,this)&&N(NM,this).off(Ld.TIMELINE_RESET,N(BM,this)),F(BM,this,null),M(LM,this,KM).call(this),F(CM,this,null),F(NM,this,null)}}function WM(){return F(RM,this,N(RM,this)+1),N(RM,this)}function jM(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 $M(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 UM(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 qM(t,e={}){var n;const i=N(CM,this),r=M(LM,this,jM).call(this,e);if(!i||"function"!=typeof i.startTransition)return N(NM,this).currentTime=t,null;if(!(r>0))return N(NM,this).currentTime=t,null!==(n=i.resetTransition)&&void 0!==n&&n.call(i),null;const o=M(LM,this,$M).call(this,e,r);"function"==typeof(null==e?void 0:e.onTransitionInStart)&&e.onTransitionInStart();const s=i.startTransition(o),{outDurationMs:a,inDurationMs:l}=M(LM,this,UM).call(this,r,s);return{renderer:i,transitionOptions:o,outDurationMs:a,inDurationMs:l,shouldWaitForFrames:!1!==(null==e?void 0:e.waitForVisualFrames)}}function VM(t,e={},n,i){const{renderer:r,transitionOptions:o,outDurationMs:s,inDurationMs:a,shouldWaitForFrames:l}=i,c=M(LM,this,ZM).call(this,t,e,n),u=l?M(LM,this,tA).call(this,t,n):Promise.resolve();let d=!1,h=!1,f=!1,p=!l;const m=()=>{var t;M(LM,this,XM).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(OM,this,setTimeout((()=>{var t;M(LM,this,XM).call(this,n)&&(null!==(t=r.resetTransition)&&void 0!==t&&t.call(r),"function"==typeof(null==e?void 0:e.onTransitionOutEnd)&&e.onTransitionOutEnd(),M(LM,this,HM).call(this))}),a)))};return F(FM,this,setTimeout((()=>{d=!0,m()}),s)),c.then((()=>{h=!0,m()})).catch((()=>{var t;M(LM,this,XM).call(this,n)&&(null!==(t=r.resetTransition)&&void 0!==t&&t.call(r),M(LM,this,HM).call(this))})),u.then((()=>{p=!0,m()})).catch((()=>{p=!0,m()})),N(NM,this).currentTime=t,new Promise((t=>{F(PM,this,t)}))}function HM(){const t=N(PM,this);F(PM,this,null),M(LM,this,GM).call(this),M(LM,this,JM).call(this),t&&t()}function GM(){N(FM,this)&&clearTimeout(N(FM,this)),N(OM,this)&&clearTimeout(N(OM,this)),F(FM,this,null),F(OM,this,null)}function KM(){var t,e;N(CM,this)&&null!==(t=(e=N(CM,this)).resetTransition)&&void 0!==t&&t.call(e),M(LM,this,GM).call(this),M(LM,this,JM).call(this),N(PM,this)&&(N(PM,this).call(this),F(PM,this,null))}function XM(t){return N(RM,this)===t}function YM(t,e){N(NM,this)&&"function"==typeof N(NM,this).on&&(N(NM,this).on(t,e),N(DM,this).push({eventName:t,handler:e}))}function QM(t,e){N(NM,this)&&"function"==typeof N(NM,this).off&&(N(NM,this).off(t,e),F(DM,this,N(DM,this).filter((n=>n.eventName!==t||n.handler!==e))))}function JM(){N(NM,this)&&"function"==typeof N(NM,this).off?(N(DM,this).forEach((t=>{N(NM,this).off(t.eventName,t.handler)})),F(DM,this,[])):F(DM,this,[])}function ZM(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(NM,this)||"function"!=typeof N(NM,this).on)return Promise.resolve();const r=M(LM,this,eA).call(this);return new Promise((e=>{let i=!1;const o=r?Ld.TIMELINE_SEEKED:"nodestart";let s,a;const l=()=>{M(LM,this,QM).call(this,Ld.TIMELINE_SEEKING,s),M(LM,this,QM).call(this,o,a),e()};s=(e={})=>{M(LM,this,XM).call(this,n)?M(LM,this,nA).call(this,e,t)&&(i=!0):l()},a=(e={})=>{M(LM,this,XM).call(this,n)?(o!==Ld.TIMELINE_SEEKED||M(LM,this,nA).call(this,e,t))&&(o===Ld.TIMELINE_SEEKED||i)&&l():l()},M(LM,this,YM).call(this,Ld.TIMELINE_SEEKING,s),M(LM,this,YM).call(this,o,a)}))}function tA(t,e){if(!N(NM,this)||"function"!=typeof N(NM,this).on)return Promise.resolve();const n=Number(t);return new Promise((t=>{const i=(r={})=>{if(!M(LM,this,XM).call(this,e))return M(LM,this,QM).call(this,Ld.VISUAL_FRAMES_AVAILABLE,i),void t();const o=Number(null==r?void 0:r.time);Number.isFinite(n)&&Number.isFinite(o)&&o+AM<n||(Array.isArray(null==r?void 0:r.frames)?r.frames:[]).length&&(M(LM,this,QM).call(this,Ld.VISUAL_FRAMES_AVAILABLE,i),t())};M(LM,this,YM).call(this,Ld.VISUAL_FRAMES_AVAILABLE,i)}))}function eA(){var t,e;const n=null===(t=N(NM,this))||void 0===t?void 0:t.state;if(n===tg||n===Yv)return!0;const i=null===(e=N(NM,this))||void 0===e?void 0:e.placements;return!Array.isArray(i)||0===i.length}function nA(t,e){const n=Number(null==t?void 0:t.targetTime);return!Number.isFinite(n)||Math.abs(n-e)<AM}function iA(t,e=0){const n=Number(t);return Number.isFinite(n)?n:e}var rA=new WeakMap,oA=new WeakMap,sA=new WeakMap,aA=new WeakMap,lA=new WeakMap,cA=new WeakMap,uA=new WeakMap,dA=new WeakMap,hA=new WeakMap,fA=new WeakMap,pA=new WeakMap,mA=new WeakMap,vA=new WeakMap,gA=new WeakMap,yA=new WeakSet;class bA extends Od{get name(){return"AudioPlaybackManager"}get defaults(){return{muted:!1,volume:1,lookaheadSeconds:1}}constructor(t,e,n){super(n),O(this,yA),C(this,rA,void 0),C(this,oA,void 0),C(this,sA,null),C(this,aA,null),C(this,lA,[]),C(this,cA,new Set),C(this,uA,new Map),C(this,dA,!1),C(this,hA,1),C(this,fA,!0),C(this,pA,null),C(this,mA,null),C(this,vA,null),C(this,gA,null),F(rA,this,t),F(oA,this,e),F(dA,this,!!this.settings.muted),F(hA,this,Wm(this.settings.volume));const i=Array.isArray(null==n?void 0:n.disabledTracks)?n.disabledTracks:[];F(fA,this,!i.includes("audio")),M(yA,this,kA).call(this)}get muted(){return N(dA,this)}set muted(t){F(dA,this,!!t),M(yA,this,CA).call(this)}get volume(){return N(hA,this)}set volume(t){F(hA,this,Wm(t)),M(yA,this,CA).call(this)}handleDecodedAudio(t={}){if(!N(fA,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=iA(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(cA,this).has(s)||(N(lA,this).push({key:s,placementId:n,pts:r,duration:o,audioBuffer:e}),N(lA,this).sort(((t,e)=>t.pts-e.pts)),M(yA,this,TA).call(this))}onDispose(){M(yA,this,wA).call(this),M(yA,this,AA).call(this,!0),N(sA,this)&&"function"==typeof N(sA,this).close&&N(sA,this).close(),F(sA,this,null),F(aA,this,null),F(rA,this,null),F(oA,this,null)}}function kA(){N(rA,this)&&"function"==typeof N(rA,this).on&&(F(pA,this,(t=>M(yA,this,xA).call(this,t))),N(rA,this).on(Ld.TIMELINE_TIME_UPDATE,N(pA,this)),F(mA,this,(t=>M(yA,this,_A).call(this,t))),N(rA,this).on(Ld.TIMELINE_STATE_CHANGE,N(mA,this)),F(gA,this,(()=>M(yA,this,IA).call(this))),N(rA,this).on(Ld.TIMELINE_RESET,N(gA,this))),N(oA,this)&&"function"==typeof N(oA,this).on&&(F(vA,this,(t=>this.handleDecodedAudio(t))),N(oA,this).on(Ld.DECODER_AUDIO,N(vA,this)))}function wA(){N(rA,this)&&"function"==typeof N(rA,this).off&&(N(pA,this)&&N(rA,this).off(Ld.TIMELINE_TIME_UPDATE,N(pA,this)),N(mA,this)&&N(rA,this).off(Ld.TIMELINE_STATE_CHANGE,N(mA,this)),N(gA,this)&&N(rA,this).off(Ld.TIMELINE_RESET,N(gA,this))),N(oA,this)&&"function"==typeof N(oA,this).off&&N(vA,this)&&N(oA,this).off(Ld.DECODER_AUDIO,N(vA,this)),F(pA,this,null),F(mA,this,null),F(vA,this,null),F(gA,this,null)}function xA(){M(yA,this,TA).call(this)}function _A(t={}){const e=null==t?void 0:t.to;if(e)return e===Qv?(M(yA,this,FA).call(this),void M(yA,this,TA).call(this)):void(e!==tg&&e!==Zv?e!==eg&&e!==ng||M(yA,this,IA).call(this):M(yA,this,OA).call(this))}function IA(){M(yA,this,OA).call(this),M(yA,this,AA).call(this,!0),F(lA,this,[])}function TA(){if(!N(fA,this)||!N(rA,this))return;if(N(rA,this).state!==Qv)return;const t=M(yA,this,NA).call(this);if(!t)return;const e=iA(N(rA,this).currentTime,0),n=e+Math.max(0,iA(this.settings.lookaheadSeconds,1)),i=[];for(let r=0;r<N(lA,this).length;r+=1){const o=N(lA,this)[r];o&&(o.pts>n?i.push(o):M(yA,this,EA).call(this,o)&&M(yA,this,MA).call(this,o,t,e))}F(lA,this,i)}function EA(t){if(!t||!N(rA,this))return!1;const e=M(yA,this,SA).call(this,t.pts);return!(!e||e!==t.placementId)}function SA(t){if(!N(rA,this)||"function"!=typeof N(rA,this).getPlacementsActiveAtTime)return null;const e=N(rA,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 MA(t,e,n){const i=t.key;if(N(cA,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(aA,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(cA,this).add(i),N(uA,this).set(i,l),l.onended=()=>{N(uA,this).delete(i)}}function AA(t){N(uA,this).forEach(((t,e)=>{if(t&&"function"==typeof t.stop)try{t.stop()}catch(t){}N(uA,this).delete(e)})),t&&N(cA,this).clear()}function NA(){if(N(sA,this))return N(sA,this);const t=Dd.AudioContext||Dd.webkitAudioContext;if(!t)return this.log.warn("[AudioPlaybackManager] AudioContext is not available."),null;try{return F(sA,this,new t),F(aA,this,N(sA,this).createGain()),N(aA,this).connect(N(sA,this).destination),M(yA,this,CA).call(this),N(sA,this)}catch(t){return this.log.warn("[AudioPlaybackManager] Failed to initialize AudioContext",t),F(sA,this,null),F(aA,this,null),null}}function CA(){if(!N(aA,this))return;const t=N(dA,this)?0:N(hA,this);N(aA,this).gain.value=t}function FA(){N(sA,this)&&"function"==typeof N(sA,this).resume&&"suspended"===N(sA,this).state&&N(sA,this).resume().catch((()=>{}))}function OA(){N(sA,this)&&"function"==typeof N(sA,this).suspend&&"running"===N(sA,this).state&&N(sA,this).suspend().catch((()=>{}))}var PA=new WeakMap,RA=new WeakMap,DA=new WeakMap,BA=new WeakMap,LA=new WeakMap,zA=new WeakSet;class WA extends Od{constructor(...t){super(...t),O(this,zA),C(this,PA,void 0),C(this,RA,void 0),C(this,DA,void 0),C(this,BA,void 0),C(this,LA,void 0),F(PA,this,M(zA,this,$A).call(this,this.settings.currentTime)),F(RA,this,M(zA,this,UA).call(this,this.settings.playbackRate)),F(DA,this,null),F(BA,this,!1),F(LA,this,M(zA,this,jA).bind(this))}get name(){return"PlaybackClock"}get defaults(){return{currentTime:0,playbackRate:wb("playbackRate")}}get currentTime(){return N(PA,this)}get playbackRate(){return N(RA,this)}set playbackRate(t){F(RA,this,M(zA,this,UA).call(this,t))}play(){N(BA,this)||(F(BA,this,!0),F(DA,this,rb()),Kw(N(LA,this),0))}pause(){N(BA,this)&&(F(BA,this,!1),Xw(N(LA,this)))}seek(t){F(PA,this,M(zA,this,$A).call(this,t)),F(DA,this,rb())}reset(){this.pause(),F(PA,this,0),F(DA,this,null)}onDispose(){this.pause(),F(LA,this,null)}}function jA(){const t=rb();if(null===N(DA,this))return F(DA,this,t),void this.trigger(Ld.CLOCK_TICK,{currentTime:N(PA,this)});const e=t-N(DA,this);F(DA,this,t);const n=e/1e3;F(PA,this,N(PA,this)+n*N(RA,this)),this.trigger(Ld.CLOCK_TICK,{currentTime:N(PA,this)})}function $A(t){return"number"!=typeof t||Number.isNaN(t)||!Number.isFinite(t)||t<0?0:t}function UA(t){return"number"!=typeof t||Number.isNaN(t)||!Number.isFinite(t)||t<=0?N(RA,this)||1:t}var qA=new WeakMap,VA=new WeakSet;class HA extends Od{constructor(...t){super(...t),O(this,VA),C(this,qA,new Map)}get name(){return"TrackBuffers"}get defaults(){return{}}refreshNode(t){if(!t||!Array.isArray(t.tracks))return;const e=t.id,n=N(qA,this).get(e)||new Map;N(qA,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(Ld.TRACK_BUFFER_UPDATE,{nodeId:e,trackType:i,range:r})),!s&&a?this.trigger(Ld.TRACK_READY,{nodeId:e,trackType:i,range:r}):s&&!a&&this.trigger(Ld.TRACK_UNDERFLOW,{nodeId:e,trackType:i,range:r})}))}getTrackRange(t,e){const n=N(qA,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(VA,this,KA).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(qA,this)}reset(){N(qA,this).clear()}onDispose(){N(qA,this).clear(),"function"==typeof this.off&&this.off()}}function GA(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 KA(t,e,n=0){var i,r;const o=qm(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(VA,this,XA).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(VA,this,GA).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(VA,this,XA).call(this,s,h,o,e):void 0}function XA(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 YA{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 QA extends Od{constructor(t,e){super(e),this.timeline=t}get methodsExcludedFromAutoLog(){return new Set([...super.methodsExcludedFromAutoLog,"handleDecodedFrame","handleClockTick","handleMainTrackBufferUpdate"])}enter(){}exit(){}play(){this.timeline.transitionTo(Qv)}pause(){this.timeline.transitionTo(tg)}wait(){this.timeline.transitionTo(Zv)}reset(){this.timeline.transitionTo(ng)}seek(t){this.timeline.transitionTo(eg,{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()||tg;this.timeline.transitionTo(e)}handleMainTrackBufferUpdate(t){}handleDecodedFrame(t){}handleClockTick(t){}onDispose(){this.timeline=null}}const JA=24e3/1001;function ZA(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 tN(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 eN(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 nN(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 iN(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:JA)}(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+tN(t)}function rN(t,e=(null==t?void 0:t.currentTime)){const n=ZA(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=eN(o);if(!s)return!0;if(!t.hasDecodedFirstFrame(r,s))return!0}return!1}function oN(t,e=(null==t?void 0:t.currentTime)){return rN(t,e)||function(t,e=(null==t?void 0:t.currentTime)){const n=ZA(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=nN(s);if(null!=a&&a.id&&!iN(t,o,a.id,a.type,n))return!0}return!1}(t,e)}function sN(t,e=(null==t?void 0:t.currentTime)){if("function"!=typeof(null==t?void 0:t.computeBuffered))return!1;const n=ZA(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=tN(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=qm(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 aN={[Yv]:class extends QA{get name(){return Yv}get defaults(){return{autoplay:wb("autoplay")}}enter(){this.timeline.recordStableState(tg),this.timeline.stopPlaybackClock()}play(){const t=oN(this.timeline),e=t?Zv:this.timeline.getPlaybackStartState();if(this.emitPlayerStateEvent("play",{from:this.timeline.state,to:e}),t)return this.timeline.recordStableState(Qv),void this.timeline.transitionTo(Zv);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(oN(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)}},[Jv]:class extends QA{get name(){return Jv}enter(t={}){const{from:e,to:n}=t;this.timeline.recordStableState(Qv),this.timeline.stopPlaybackClock(),this.emitPlayerStateEvent("canplay",{from:e,to:n})}play(){}handleMainTrackUnderflow(){}pause(){this.timeline.transitionTo(tg)}},[Qv]:class extends QA{get name(){return Qv}enter(t={}){const{from:e,to:n,fromFirstFramePending:i}=t;this.timeline.recordStableState(Qv),this.timeline.startPlaybackClock(),!0!==i&&this.emitPlayerStateEvent("canplay",{from:e,to:n}),this.emitPlayerStateEvent("playing",{from:e,to:n})}play(){}pause(){this.timeline.transitionTo(tg)}handleClockTick(t){const e=this.timeline.currentTime;oN(this.timeline,e)&&(this.timeline.recordStableState(Qv),this.timeline.transitionTo(Zv))}},[Zv]:(Je=new WeakMap,Ze=new WeakMap,tn=new WeakSet,class extends QA{constructor(...t){super(...t),O(this,tn),C(this,Je,void 0),C(this,Ze,null)}get name(){return Zv}enter(t={}){const{from:e,to:n}=t;this.timeline.stopPlaybackClock(),M(tn,this,lN).call(this),M(tn,this,uN).call(this),this.emitPlayerStateEvent("waiting",{from:e,to:n}),M(tn,this,fN).call(this)}exit(){M(tn,this,cN).call(this),M(tn,this,dN).call(this)}play(){this.timeline.recordStableState(Qv);const t=M(tn,this,hN).call(this),e=t?Zv:this.timeline.getPlaybackStartState();this.emitPlayerStateEvent("play",{from:this.timeline.state,to:e}),t||this.timeline.transitionTo(e)}pause(){this.timeline.transitionTo(tg)}handleMainTrackReady(t){const e=this.timeline.getLastStableState()||tg;e!==Qv?this.timeline.transitionTo(e):M(tn,this,fN).call(this)}handleDecodedFrame(t){M(tn,this,fN).call(this)}handleMainTrackBufferUpdate(t){M(tn,this,fN).call(this)}}),[tg]:class extends QA{get name(){return tg}enter(t={}){const{from:e,to:n}=t;this.timeline.recordStableState(tg),this.timeline.stopPlaybackClock(),this.emitPlayerStateEvent("pause",{from:e,to:n})}play(){const t=oN(this.timeline),e=t?Zv:this.timeline.getPlaybackStartState();if(this.emitPlayerStateEvent("play",{from:this.timeline.state,to:e}),t)return this.timeline.recordStableState(Qv),void this.timeline.transitionTo(Zv);this.timeline.transitionTo(e)}pause(){}},[eg]:class extends QA{get name(){return eg}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===Qv||n===Jv,r=i&&"function"==typeof this.timeline.getPlaybackStartState?this.timeline.getPlaybackStartState(e):i?Qv:tg;this.timeline.transitionTo(r,{fromSeeking:!0})}play(){var t;if(this.timeline&&"function"==typeof this.timeline.setSeekReturnState)return void this.timeline.setSeekReturnState(Qv);const e="function"==typeof(null===(t=this.timeline)||void 0===t?void 0:t.getPlaybackStartState)?this.timeline.getPlaybackStartState():Qv;this.timeline.transitionTo(e)}pause(){this.timeline&&"function"==typeof this.timeline.setSeekReturnState?this.timeline.setSeekReturnState(tg):this.timeline.transitionTo(tg)}handleDecodedFrame(t){this.timeline&&"function"==typeof this.timeline.maybeCompleteSeek&&this.timeline.maybeCompleteSeek(t)}},[ng]:class extends QA{get name(){return ng}enter(){this.timeline.resetClock(),this.timeline.transitionTo(Yv,{fromReset:!0})}play(){}pause(){}get buffered(){return{start:0,end:0}}}};function lN(){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(Ld.TRACK_BUFFER_UPDATE,N(Je,this)))}function cN(){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(Ld.TRACK_BUFFER_UPDATE,N(Je,this)),F(Je,this,null)):F(Je,this,null)}function uN(){if(null!==N(Ze,this))return;const t="function"==typeof(null==Dd?void 0:Dd.setInterval)?Dd.setInterval.bind(Dd):setInterval;F(Ze,this,t((()=>{var t;(null===(t=this.timeline)||void 0===t?void 0:t.state)===Zv&&M(tn,this,fN).call(this)}),200))}function dN(){null!==N(Ze,this)&&(("function"==typeof(null==Dd?void 0:Dd.clearInterval)?Dd.clearInterval.bind(Dd):clearInterval)(N(Ze,this)),F(Ze,this,null))}function hN(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!!rN(t,e)||!0===n.skipBufferResume||!sN(t,e)}(this.timeline,t)}function fN(t=(t=>null===(t=this.timeline)||void 0===t?void 0:t.currentTime)()){return(this.timeline.getLastStableState()||tg)===Qv&&!M(tn,this,hN).call(this,t)&&(this.timeline.transitionTo(this.timeline.getPlaybackStartState(t)),!0)}function pN(t){return t&&("string"!=typeof t.state||"ready"===t.state)}function mN(t){return(Array.isArray(null==t?void 0:t.tracks)?t.tracks:[]).some((t=>"video"===(null==t?void 0:t.type)))}function vN(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 gN(t){return t===Qv||t===Jv}var yN=new WeakMap,bN=new WeakMap,kN=new WeakMap,wN=new WeakMap,xN=new WeakMap,_N=new WeakMap,IN=new WeakMap,TN=new WeakMap,EN=new WeakMap,SN=new WeakMap,MN=new WeakMap,AN=new WeakMap,NN=new WeakMap,CN=new WeakMap,FN=new WeakSet;class ON{constructor(t={}){O(this,FN),C(this,yN,void 0),C(this,bN,void 0),C(this,kN,void 0),C(this,wN,void 0),C(this,xN,void 0),C(this,_N,void 0),C(this,IN,void 0),C(this,TN,void 0),C(this,EN,void 0),C(this,SN,null),C(this,MN,tg),C(this,AN,[]),C(this,NN,new Set),C(this,CN,new Map),F(yN,this,t.getState),F(bN,this,t.getNode),F(kN,this,t.getPlacementsActiveAtTime),F(wN,this,t.getLastStableState),F(xN,this,t.getPlaybackStartState),F(_N,this,t.clearVisualFrameBuffers),F(IN,this,t.updateTime),F(TN,this,t.transitionTo),F(EN,this,t.trigger)}start(t,e){const n=Number(t);if(!Number.isFinite(n))return;let i=e;i===eg?i=N(MN,this):i===Zv&&"function"==typeof N(wN,this)&&(i=N(wN,this).call(this)),F(MN,this,gN(i)?Qv:tg),F(SN,this,n),N(NN,this).clear(),N(CN,this).clear(),F(AN,this,"function"==typeof N(kN,this)?N(kN,this).call(this,n):[]),"function"==typeof N(_N,this)&&N(_N,this).call(this),"function"==typeof N(IN,this)&&N(IN,this).call(this,n,{source:"seek"}),"function"==typeof N(EN,this)&&N(EN,this).call(this,Ld.TIMELINE_SEEKING,{targetTime:n,placements:N(AN,this).slice()}),this.maybeComplete()}setReturnState(t){F(MN,this,gN(t)?Qv:tg)}maybeComplete(t){if(("function"==typeof N(yN,this)?N(yN,this).call(this):void 0)!==eg)return;const e=N(SN,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(NN,this).add(i);const t=N(CN,this).get(i);(!Number.isFinite(t)||n<t)&&N(CN,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(NN,this).add(i);const r=Array.isArray(N(AN,this))?N(AN,this):[];if(r.length){if("function"==typeof N(bN,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(bN,this).call(this,e.nodeId);if(!pN(i))return;if(vN(i)&&!N(NN,this).has(n))return}M(FN,this,PN).call(this,e,r)}}else M(FN,this,PN).call(this,e,[])}dispose(){F(AN,this,[]),N(NN,this).clear(),N(CN,this).clear(),F(SN,this,null)}}function PN(t,e){const n=M(FN,this,RN).call(this,t,e);if("function"==typeof N(IN,this)&&N(IN,this).call(this,n,{source:"seek"}),F(SN,this,null),F(AN,this,[]),N(NN,this).clear(),N(CN,this).clear(),"function"==typeof N(EN,this)&&N(EN,this).call(this,Ld.TIMELINE_SEEKED,{targetTime:t,placements:Array.isArray(e)?e.slice():[]}),"function"==typeof N(TN,this)){const t=N(MN,this)===Qv&&"function"==typeof N(xN,this)?N(xN,this).call(this,n):N(MN,this);N(TN,this).call(this,t,{fromSeeking:!0})}}function RN(t,e){const n=Number(t);if(!Number.isFinite(n))return t;if(!Array.isArray(e)||!e.length||"function"!=typeof N(bN,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(!mN(N(bN,this).call(this,n.nodeId)))continue;const o=N(CN,this).get(r);Number.isFinite(o)&&o>i&&(i=o)}return i}function DN(t){if(t&&"function"==typeof t.close)try{t.close()}catch(t){}}function BN(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=>DN(null==t?void 0:t.frame)))}function LN(t){return qm(t)}function zN(t){return Number.isFinite(null==t?void 0:t.loopRootOffset)?t.loopRootOffset:LN(t)}function WN(t,e){return"string"==typeof(null==t?void 0:t.loopRootPlacementId)&&t.loopRootPlacementId?t.loopRootPlacementId:e}function jN(t){if("string"!=typeof t)return Number.NaN;const e=t.match(/(\d+)/);return e?Number(e[1]):Number.NaN}function $N(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 UN=1e-6;function qN(t){return t&&("string"!=typeof t.state||"ready"===t.state)}function VN(t){const e=Number(t);return Number.isFinite(e)?e:0}function HN(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 GN(t){return t&&"cue"===t.type&&Array.isArray(t.cues)?t.cues:[]}var 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 WeakSet;class iC{constructor(t={}){O(this,nC),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,-1e-6),C(this,eC,null),F(KN,this,t.getPlacements),F(XN,this,t.getPlacementsActiveAtTime),F(YN,this,t.getPlacementDuration),F(QN,this,t.getNode),F(JN,this,t.triggerTimeline),F(ZN,this,t.triggerNode)}handleSeeking(t,e){const n=VN(t);F(eC,this,n)}handleSeeked(t){const e=VN(t),n=N(eC,this);F(eC,this,null),Number.isFinite(n)?(M(nC,this,oC).call(this,n,e),F(tC,this,e)):F(tC,this,e)}handleTimeUpdate(t,e={}){const n=VN(t),i=N(tC,this);!0===(null==e?void 0:e.isSeeking)?F(tC,this,n):Number.isFinite(i)?n<=i?n<i&&F(tC,this,n-UN):(M(nC,this,rC).call(this,i,n),F(tC,this,n)):F(tC,this,n)}dispose(){F(eC,this,null),F(tC,this,-1e-6)}}function rC(t,e){const n="function"==typeof N(KN,this)?N(KN,this).call(this):[];M(nC,this,sC).call(this,n,t,e,{onlySticky:!1})}function oC(t,e){if("function"!=typeof N(XN,this))return;const n=N(XN,this).call(this,e);M(nC,this,sC).call(this,n,t,e,{onlySticky:!0})}function sC(t,e,n,i={}){if("function"!=typeof N(QN,this)||"function"!=typeof N(JN,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(QN,this).call(this,l);if(!qN(c))continue;const u=HN(c);if(!u.length)continue;const d=qm(s);if(!Number.isFinite(d))continue;const h=Number.isFinite(null==s?void 0:s.nodeOffsetOverride)?s.nodeOffsetOverride:0,f="function"==typeof N(YN,this)?N(YN,this).call(this,s):void 0,p="number"==typeof f&&Number.isFinite(f)?d+f:Number.POSITIVE_INFINITY,m=r?d-UN:e;for(let t=0;t<u.length;t+=1){const e=GN(u[t]);for(let i=0;i<e.length;i+=1){const s=e[i],c=VN(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(JN,this).call(this,"cuepoint",n),N(JN,this).call(this,e.name,n),"function"==typeof N(ZN,this)&&(N(ZN,this).call(this,t.nodeId,"cuepoint",n),N(ZN,this).call(this,t.nodeId,e.name,n))})))}class aC{#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 lC=24e3/1001;function cC(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}:$N(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 uC=new WeakMap,dC=new WeakMap,hC=new WeakMap,fC=new WeakMap,pC=new WeakMap,mC=new WeakMap,vC=new WeakMap,gC=new WeakMap,yC=new WeakMap,bC=new WeakMap,kC=new WeakMap,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 WeakMap,NC=new WeakMap,CC=new WeakMap,FC=new WeakMap,OC=new WeakMap,PC=new WeakMap,RC=new WeakMap,DC=new WeakMap,BC=new WeakMap,LC=new WeakMap,zC=new WeakMap,WC=new WeakMap,jC=new WeakMap,$C=new WeakMap,UC=new WeakSet;class qC extends Od{constructor(...t){super(...t),O(this,UC),C(this,uC,void 0),C(this,dC,void 0),C(this,hC,void 0),C(this,fC,void 0),C(this,pC,void 0),C(this,mC,!1),C(this,vC,[]),C(this,gC,new aC("placement-")),C(this,yC,[]),C(this,bC,new aC("renderplacement-")),C(this,kC,void 0),C(this,wC,void 0),C(this,xC,void 0),C(this,_C,!1),C(this,IC,new Set),C(this,TC,new Set),C(this,EC,new Map),C(this,SC,[]),C(this,MC,0),C(this,AC,new Set),C(this,NC,new Set),C(this,CC,Number.NEGATIVE_INFINITY),C(this,FC,[]),C(this,OC,Number.NEGATIVE_INFINITY),C(this,PC,0),C(this,RC,void 0),C(this,DC,void 0),C(this,BC,new Map),C(this,LC,null),C(this,zC,void 0),C(this,WC,void 0),C(this,jC,void 0),C(this,$C,void 0);const[e,n={}]=t;F(uC,this,e),F(RC,this,n),F(pC,this,new WA(n)),F(kC,this,new HA(n)),F(fC,this,tg),M(UC,this,eF).call(this),M(UC,this,nF).call(this),F(zC,this,new ON({getState:()=>this.state,getNode:t=>N(uC,this)&&"function"==typeof N(uC,this).get?N(uC,this).get(t):void 0,getPlacementsActiveAtTime:t=>M(UC,this,RF).call(this,t,{endEpsilonSeconds:M(UC,this,qF).call(this)}),getLastStableState:()=>this.getLastStableState(),getPlaybackStartState:t=>this.getPlaybackStartState(t),clearVisualFrameBuffers:()=>M(UC,this,OF).call(this),updateTime:(t,e)=>this.updateTime(t,e),transitionTo:(t,e)=>this.transitionTo(t,e),trigger:(t,e)=>this.trigger(t,e)})),F(WC,this,new iC({getPlacements:()=>N(vC,this).slice(),getPlacementsActiveAtTime:t=>M(UC,this,RF).call(this,t),getPlacementDuration:t=>M(UC,this,vF).call(this,t),getNode:t=>N(uC,this)&&"function"==typeof N(uC,this).get?N(uC,this).get(t):void 0,triggerTimeline:(t,e)=>this.trigger(t,e),triggerNode:(t,e,n)=>{const i=N(uC,this)&&"function"==typeof N(uC,this).get?N(uC,this).get(t):void 0;i&&"function"==typeof i.trigger&&i.trigger(e,n)}})),F(jC,this,(()=>{var t,e;null===(t=N(WC,this))||void 0===t||null===(e=t.handleSeeked)||void 0===e||e.call(t,this.currentTime)})),this.on(Ld.TIMELINE_SEEKED,N(jC,this)),F($C,this,(t=>M(UC,this,cF).call(this,t))),this.on("nodestart",N($C,this)),this.transitionTo(Yv)}get name(){return"Timeline"}get defaults(){return{snapToFps:lC,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(hC,this),i=function(t,e,n={}){const i=aN[t];return i?new i(e,n):null}(t,this,N(RC,this)),r=e&&"object"==typeof e&&!Array.isArray(e)?{...e,from:n,to:t}:{from:n,to:t};i?(N(dC,this)&&"function"==typeof N(dC,this).exit&&N(dC,this).exit(),F(dC,this,i),F(hC,this,t),"function"==typeof i.enter&&i.enter(r),this.trigger(Ld.TIMELINE_STATE_CHANGE,{from:n,to:t,options:e})):this.log.warn(`Unknown state "${t}"`)}recordStableState(t){F(fC,this,t)}getLastStableState(){return N(fC,this)}enableFirstFrameRenderedGate(){F(mC,this,!0)}getPlaybackStartState(t=this.currentTime){return this.shouldWaitForFirstRenderedFrame(t)?Jv:Qv}shouldWaitForFirstRenderedFrame(t=this.currentTime){if(!N(mC,this)||N(_C,this))return!1;const e=Number.isFinite(t)?t:this.currentTime,n=M(UC,this,RF).call(this,e);return Array.isArray(n)&&n.length>0}notifyFirstFrameRendered(){N(_C,this)||(F(_C,this,!0),this.state===Jv&&this.transitionTo(Qv,{fromFirstFramePending:!0}))}get state(){return N(hC,this)}get paused(){return N(hC,this)===Yv||N(hC,this)===tg}get currentTime(){return N(pC,this).currentTime}set currentTime(t){N(dC,this).seek(t)}get playbackRate(){return N(pC,this).playbackRate}set playbackRate(t){N(pC,this).playbackRate=t}play(){N(dC,this).play()}pause(){N(dC,this).pause()}reset(){N(dC,this).reset()}seekToPlacement(t){if(!t)throw new Error("Timeline.seekToPlacement requires placement id");M(UC,this,hF).call(this);const e=M(UC,this,WF).call(this,t);if(!e)throw new Error("Timeline.seekToPlacement requires placement id");const n=qm(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(UC,this,hF).call(this),M(UC,this,fF).call(this),N(pC,this).seek(t),M(UC,this,PF).call(this,this.currentTime),M(UC,this,DF).call(this);const r="string"==typeof(null==e?void 0:e.source)?e.source:"set";null!==(n=N(WC,this))&&void 0!==n&&null!==(i=n.handleTimeUpdate)&&void 0!==i&&i.call(n,this.currentTime,{isSeeking:this.state===eg}),M(UC,this,uF).call(this,this.currentTime),M(UC,this,MF).call(this,this.currentTime),this.trigger(Ld.TIMELINE_TIME_UPDATE,zd(this.currentTime,r))}startSeeking(t,e){var n,i;null!==(n=N(WC,this))&&void 0!==n&&null!==(i=n.handleSeeking)&&void 0!==i&&i.call(n,this.currentTime,t),N(zC,this)&&"function"==typeof N(zC,this).start&&N(zC,this).start(t,e)}setSeekReturnState(t){N(zC,this)&&"function"==typeof N(zC,this).setReturnState&&N(zC,this).setReturnState(t)}maybeCompleteSeek(t){N(zC,this)&&"function"==typeof N(zC,this).maybeComplete&&N(zC,this).maybeComplete(t)}startPlaybackClock(){N(pC,this).play()}stopPlaybackClock(){N(pC,this).pause()}resetClock(){var t,e;F(_C,this,!1),N(pC,this).reset(),this.trigger(Ld.TIMELINE_RESET,{reason:"reset"}),null===(t=N(WC,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(UC,this,VC).call(this),M(UC,this,HC).call(this,e),M(UC,this,GC).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(gC,this).claim(n.placementId),o=n.nodeOffsetOverride||n.offset,s=n.nodeDurationOverride||n.duration,a=Ym(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}:Xm(e,n);let u,d,h,f=!1;const p=null!==a;if(M(UC,this,hF).call(this),a){const t=N(vC,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=qm(t);if("start"===a.anchor)Number.isFinite(e)?u=M(UC,this,gF).call(this,e,{nodeOffsetOverride:o}):f=!0;else{const n=M(UC,this,vF).call(this,t);if(Number.isFinite(e)&&n>0){const t=e+n,i=M(UC,this,gF).call(this,t,{nodeOffsetOverride:o});u=Math.max(i,t)}else f=!0}}else if(l){const t=n.offsetAnchorPlacementId?N(vC,this).find((t=>(null==t?void 0:t.placementId)===n.offsetAnchorPlacementId)):N(vC,this).length?N(vC,this)[N(vC,this).length-1]:void 0;if(d=n.offsetAnchorPlacementId||(null==t?void 0:t.placementId),d){const e=qm(t),n=M(UC,this,vF).call(this,t);Number.isFinite(e)&&n>0?u=M(UC,this,gF).call(this,e+n-c,{nodeOffsetOverride:o}):(f=!0,h="end")}else u=M(UC,this,gF).call(this,-c,{nodeOffsetOverride:o})}else u=Km(e),u=M(UC,this,gF).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 YA({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(vC,this).push(y),Hm(N(vC,this)),M(UC,this,EF).call(this,y),M(UC,this,IF).call(this),f&&d){const t=N(vC,this).find((t=>(null==t?void 0:t.placementId)===d));M(UC,this,bF).call(this,null==t?void 0:t.nodeId)}return this.trigger(Ld.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(UC,this,yF).call(this,e,i),s=o.offset,a=!0===o.offsetPending,l=o.offsetAnchorPlacementId,c=o.offsetAnchorEdge,u=o.offsetAnchorIsReference,d=N(bC,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;Qm(N(yC,this),t,e,"Timeline.placeRenderNodeOnTimeline does not allow overlapping render node placements")}if(N(yC,this).push(v),Hm(N(yC,this)),a&&l){const t=N(vC,this).find((t=>(null==t?void 0:t.placementId)===l));M(UC,this,bF).call(this,null==t?void 0:t.nodeId)}return this.trigger(Ld.RENDER_PLACEMENT_ADDED,v),d}get placements(){return N(vC,this).slice()}getPlacementsActiveAtTime(t){return M(UC,this,RF).call(this,t)}getNodesAtTime(t){const e=M(UC,this,jF).call(this,t);if(!Number.isFinite(e))return[];const n=M(UC,this,RF).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(UC,this,vF).call(this,t)}getNode(t){if(N(uC,this)&&"function"==typeof N(uC,this).get)return N(uC,this).get(t)}get renderPlacements(){return N(yC,this).slice()}get placementsAhead(){const t=this.currentTime;return N(vC,this).filter((e=>{const n=qm(e);if(!Number.isFinite(n))return!1;const i=M(UC,this,vF).call(this,e);return"number"==typeof i?n+i>t:n>=t}))}get buffered(){return N(dC,this)?N(dC,this).buffered:{start:0,end:0}}get trackBuffers(){return N(kC,this)}onDispose(){M(UC,this,ZC).call(this),N(TC,this)&&N(TC,this).clear(),N(WC,this)&&"function"==typeof N(WC,this).dispose&&N(WC,this).dispose(),F(WC,this,null),M(UC,this,JC).call(this),M(UC,this,tF).call(this),N(zC,this)&&"function"==typeof N(zC,this).dispose&&N(zC,this).dispose(),F(zC,this,null),N(pC,this)&&"function"==typeof N(pC,this).dispose&&(N(DC,this)&&"function"==typeof N(pC,this).off&&(N(pC,this).off("tick",N(DC,this)),F(DC,this,null)),N(pC,this).dispose(),F(pC,this,null)),M(UC,this,xF).call(this),F(dC,this,null),F(hC,this,null),F(vC,this,[]),F(yC,this,[]),M(UC,this,_F).call(this),M(UC,this,IF).call(this),N(BC,this).clear(),F(LC,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(IC,this).add(i),M(UC,this,FF).call(this,t),M(UC,this,DF).call(this),N(dC,this)&&"function"==typeof N(dC,this).handleDecodedFrame&&N(dC,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=cC(t);Number.isFinite(i)&&i>0&&(e.totalBytes+=i)}))}return e.available=!0,e}(N(BC,this))}hasDecodedFirstFrame(t,e){return!(!t||!e)&&N(IC,this).has(`${t}:${e}`)}getDecodedVisualBuffer(t,e){if(t&&e)return N(BC,this).get(`${t}:${e}`)}computeBuffered(t){const e=N(uC,this);if(e&&"function"==typeof e.get)return N(kC,this).computeBuffered(N(vC,this),t,e)}getActiveRenderPlacement(t=this.currentTime){const e=Number.isFinite(t)?t:this.currentTime,n=Array.isArray(N(yC,this))?N(yC,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 VC(){F(_C,this,!1),this.trigger(Ld.TIMELINE_RESET,{reason:"switch"}),M(UC,this,OF).call(this),N(kC,this)&&"function"==typeof N(kC,this).reset&&N(kC,this).reset(),N(TC,this)&&N(TC,this).clear(),F(vC,this,[]),F(yC,this,[]),M(UC,this,_F).call(this),M(UC,this,IF).call(this),N(gC,this).reset(),N(bC,this).reset()}function HC(t=[]){for(let e=0;e<t.length;e+=1){const n=t[e];if(!n||!n.nodeId)continue;const i=M(UC,this,KC).call(this,n),r=M(UC,this,YC).call(this,n);this.placeOnTimeline(n.nodeId,r,i)}}function GC(t=[]){for(let e=0;e<t.length;e+=1){const n=t[e];if(!n||!n.type)continue;const i=M(UC,this,XC).call(this,n),r=M(UC,this,QC).call(this,n);this.placeRenderNodeOnTimeline(n.type,r,n.duration,i)}}function KC(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 XC(t){const e={};return t.renderPlacementId&&(e.renderPlacementId=t.renderPlacementId),t.params&&"object"==typeof t.params&&(e.params=t.params),e}function YC(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 QC(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 JC(){N(dC,this)&&"function"==typeof N(dC,this).exit&&N(dC,this).exit()}function ZC(){N(jC,this)&&"function"==typeof this.off&&(this.off(Ld.TIMELINE_SEEKED,N(jC,this)),F(jC,this,null)),N($C,this)&&"function"==typeof this.off&&(this.off("nodestart",N($C,this)),F($C,this,null))}function tF(){N(kC,this)&&(N(wC,this)&&(N(kC,this).off("track:underflow",N(wC,this)),F(wC,this,null)),N(xC,this)&&(N(kC,this).off("track:ready",N(xC,this)),F(xC,this,null)),"function"==typeof N(kC,this).dispose&&N(kC,this).dispose(),F(kC,this,null))}function eF(){N(kC,this)&&"function"==typeof N(kC,this).on&&(F(wC,this,(t=>M(UC,this,rF).call(this,t))),F(xC,this,(t=>M(UC,this,oF).call(this,t))),N(kC,this).on(Ld.TRACK_UNDERFLOW,N(wC,this)),N(kC,this).on(Ld.TRACK_READY,N(xC,this)))}function nF(){N(pC,this)&&"function"==typeof N(pC,this).on&&(F(DC,this,(t=>M(UC,this,iF).call(this,t))),N(pC,this).on(Ld.CLOCK_TICK,N(DC,this)))}function iF(t){var e,n;M(UC,this,hF).call(this),M(UC,this,DF).call(this),null!==(e=N(WC,this))&&void 0!==e&&null!==(n=e.handleTimeUpdate)&&void 0!==n&&n.call(e,this.currentTime,{isSeeking:!1}),M(UC,this,uF).call(this,this.currentTime),this.trigger(Ld.TIMELINE_TIME_UPDATE,zd(this.currentTime,"clock")),N(dC,this)&&"function"==typeof N(dC,this).handleClockTick&&N(dC,this).handleClockTick(t)}function rF(t){M(UC,this,hF).call(this);const e=M(UC,this,sF).call(this);e&&(null==t?void 0:t.trackType)===e.trackType&&(N(dC,this)&&"function"==typeof N(dC,this).handleMainTrackUnderflow?N(dC,this).handleMainTrackUnderflow(t):this.transitionTo(Zv))}function oF(t){if(M(UC,this,hF).call(this),this.state!==Zv)return;const e=M(UC,this,sF).call(this);if(!e)return;if((null==t?void 0:t.trackType)!==e.trackType)return;if(N(dC,this)&&"function"==typeof N(dC,this).handleMainTrackReady)return void N(dC,this).handleMainTrackReady(t);const n=this.getLastStableState()||tg;this.transitionTo(n)}function sF(t=this.currentTime){const e=M(UC,this,lF).call(this,t);if(!e)return;const n=N(uC,this)&&"function"==typeof N(uC,this).get?N(uC,this).get(e.nodeId):void 0;if(!n)return;const i=M(UC,this,aF).call(this,n);return i?{placement:e,trackType:i}:void 0}function aF(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 lF(t=this.currentTime){const e=N(vC,this)||[];let n;for(let i=0;i<e.length;i+=1){const r=e[i],o=qm(r);if(!Number.isFinite(o))continue;const s=M(UC,this,vF).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 cF(t={}){if(this.state!==Qv)return;const e=null==t?void 0:t.placementId;if(!e)return;const n=M(UC,this,WF).call(this,e);n&&M(UC,this,dF).call(this,n)}function uF(t=this.currentTime){if(this.state!==Qv)return;const e=M(UC,this,RF).call(this,t);Array.isArray(e)&&e.length&&e.forEach((t=>M(UC,this,dF).call(this,t)))}function dF(t){const e=null==t?void 0:t.placementId;if(!e)return;if(N(TC,this).has(e))return;if(!t||!0!==t.loop)return;if(!t.nodeId)return;const n=M(UC,this,vF).call(this,t);if(!Number.isFinite(n)||n<=0)return;const i=qm(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(TC,this).add(e),this.placeOnTimeline(t.nodeId,r,{nodeOffsetOverride:t.nodeOffsetOverride,nodeDurationOverride:t.nodeDurationOverride,loop:!0,loopRootPlacementId:o,loopRootOffset:s})}function hF(){const t=Gm(N(vC,this),{getPlacementDuration:t=>M(UC,this,vF).call(this,t),snapPlacementOffset:(t,e)=>M(UC,this,gF).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(UC,this,kF).call(this,null==e?void 0:e.nodeId)}});return t.updated&&(M(UC,this,IF).call(this),t.resolvedPlacements.forEach((t=>{M(UC,this,EF).call(this,t),this.trigger(Ld.PLACEMENT_ADDED,t)}))),t.updated}function fF(){if(!N(yC,this).length||!N(vC,this).length)return!1;const t=new Map;N(vC,this).forEach((e=>{(null==e?void 0:e.placementId)&&t.set(e.placementId,e)}));const e=N(yC,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(UC,this,pF).call(this,o,t)&&(n=!0,i.push(o))}return n&&(Hm(N(yC,this)),i.forEach((t=>{this.trigger(Ld.RENDER_PLACEMENT_ADDED,t)}))),n}function pF(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(UC,this,mF).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 Qm(N(yC,this).filter((e=>e!==t&&!0!==(null==e?void 0:e.offsetPending))),s,a,"Timeline.placeRenderNodeOnTimeline does not allow overlapping render node placements"),M(UC,this,kF).call(this,null==r?void 0:r.nodeId),!0}function mF(t,e){const n=qm(t);if(!Number.isFinite(n))return;if("start"===e.offsetAnchorEdge)return M(UC,this,gF).call(this,n);const i=M(UC,this,vF).call(this,t);if(!(i>0))return;const r=n+i;if(!Number.isFinite(r))return;const o=M(UC,this,gF).call(this,r);return!0===e.offsetAnchorIsReference?Math.max(o,r):o}function vF(t){return $m(t,N(uC,this))}function gF(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 yF(t,e={}){const n=Ym(t);if("string"==typeof t&&t.includes("@")&&!n)throw new Error("Timeline.placeRenderNodeOnTimeline requires valid placement reference");if(!n){const n=Km(t);return{offset:M(UC,this,gF).call(this,n,e)}}const i=N(vC,this).find((t=>(null==t?void 0:t.placementId)===n.placementId));if(!i)throw new Error("Timeline.placeRenderNodeOnTimeline requires valid placement reference");const r=qm(i);if("start"===n.anchor)return Number.isFinite(r)?{offset:M(UC,this,gF).call(this,r,e)}:{offset:void 0,offsetPending:!0,offsetAnchorPlacementId:i.placementId,offsetAnchorEdge:"start",offsetAnchorIsReference:!0};const o=M(UC,this,vF).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(UC,this,gF).call(this,s,e);return{offset:Math.max(a,s)}}function bF(t){if(!t||!N(uC,this)||"function"!=typeof N(uC,this).get)return;if(N(EC,this).has(t))return;let e;try{e=N(uC,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(UC,this,kF).call(this,t)};e.on(Ld.NODE_LOADED,n),N(EC,this).set(t,n)}function kF(t){if(!t)return;if(M(UC,this,wF).call(this,t))return;const e=N(EC,this).get(t);if(!e)return;let n;try{n=N(uC,this).get(t)}catch(t){n=null}n&&"function"==typeof n.off&&n.off(Ld.NODE_LOADED,e),N(EC,this).delete(t)}function wF(t){if(!t)return!1;const e=new Map;N(vC,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(vC,this).some((t=>n(t)))||!!N(yC,this).some((t=>n(t)))}function xF(){N(EC,this).size&&N(uC,this)?(N(EC,this).forEach(((t,e)=>{let n;try{n=N(uC,this).get(e)}catch(t){n=null}n&&"function"==typeof n.off&&n.off(Ld.NODE_LOADED,t)})),N(EC,this).clear()):N(EC,this).clear()}function _F(){F(SC,this,[]),F(MC,this,0),N(AC,this).clear(),N(NC,this).clear(),F(CC,this,Number.NEGATIVE_INFINITY)}function IF(){F(FC,this,[]),F(PC,this,0),F(OC,this,Number.NEGATIVE_INFINITY)}function TF(t,e){const n=N(SC,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(MC,this)&&F(MC,this,N(MC,this)+1)}function EF(t){const e=null==t?void 0:t.placementId;if(!e||N(AC,this).has(e))return;const n=qm(t),i=M(UC,this,vF).call(this,t);if(!Number.isFinite(n)||!Number.isFinite(i)||i<0)return void N(NC,this).add(e);const r=n+i;Number.isFinite(r)&&(N(AC,this).add(e),N(NC,this).delete(e),M(UC,this,TF).call(this,e,r))}function SF(){N(NC,this).size&&Array.from(N(NC,this)).forEach((t=>{const e=M(UC,this,WF).call(this,t);e?M(UC,this,EF).call(this,e):N(NC,this).delete(t)}))}function MF(t){const e=Number(t);if(!Number.isFinite(e))return;if(e<N(CC,this))return void F(CC,this,e);if(F(CC,this,e),M(UC,this,SF).call(this),!N(SC,this).length)return;const n=new Set;let i=N(MC,this);for(;i<N(SC,this).length;){const t=N(SC,this)[i];if(!t||!Number.isFinite(t.endTime)||t.endTime>e)break;t.placementId&&n.add(t.placementId),i+=1}i!==N(MC,this)&&(F(MC,this,i),n.size&&(M(UC,this,CF).call(this,n),M(UC,this,AF).call(this,n)))}function AF(t){if(t&&t.size)for(const e of N(IC,this)){const n=e.split(":")[0];t.has(n)&&N(IC,this).delete(e)}}function NF(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 CF(t){if(t&&t.size)for(const[e,n]of N(BC,this).entries())t.has(null==n?void 0:n.placementId)&&(M(UC,this,NF).call(this,n),N(BC,this).delete(e))}function FF(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=$N(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(BC,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(BC,this).set(f,m)}function OF(){for(const t of N(BC,this).values())M(UC,this,NF).call(this,t);N(BC,this).clear(),F(LC,this,null),N(IC,this).clear()}function PF(t){const e=Number.isFinite(t)?t:this.currentTime;if(!Number.isFinite(e))return;e<N(OC,this)&&(F(FC,this,[]),F(PC,this,0));const n=Array.isArray(N(vC,this))?N(vC,this):[],i=[],r=new Set;N(FC,this).forEach((t=>{M(UC,this,VF).call(this,t,e)&&(i.push(t),(null==t?void 0:t.placementId)&&r.add(t.placementId))}));let o=N(PC,this);for(;o<n.length;){const t=n[o],s=qm(t);if(!Number.isFinite(s))break;if(s>e)break;if(M(UC,this,VF).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(FC,this,i),F(PC,this,o),F(OC,this,e)}function RF(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(OC,this)?N(FC,this).slice():(Array.isArray(N(vC,this))?N(vC,this):[]).filter((t=>M(UC,this,VF).call(this,t,n,i)))}function DF(){const t=this.currentTime,e=M(UC,this,LF).call(this,t);if(!e.length)return void F(LC,this,null);const n=this.getActiveRenderPlacement(t),i=M(UC,this,zF).call(this,e,n);(i!==N(LC,this)||M(UC,this,BF).call(this,t,n))&&(F(LC,this,i),this.trigger(Ld.VISUAL_FRAMES_AVAILABLE,{time:t,frames:e}))}function BF(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 LF(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){BN(c),a.push(t);continue}if("function"==typeof r&&!r(u,n)){const e=LN(u),i="function"==typeof o?o(u):void 0;Number.isFinite(i)&&Number.isFinite(e)&&n>=e+i&&(BN(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&&DN(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:LN(u),placementSortOffset:zN(u),placementSortId:WN(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=jN(r),a=jN(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(BC,this),time:t,getPlacementById:t=>M(UC,this,WF).call(this,t),isPlacementActiveAtTime:(t,e)=>M(UC,this,VF).call(this,t,e),getPlacementDuration:t=>M(UC,this,vF).call(this,t)})}function zF(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 WF(t){if(t)return(N(vC,this)||[]).find((e=>(null==e?void 0:e.placementId)===t))}function jF(t){if("end"===t){const t=M(UC,this,$F).call(this);if(!Number.isFinite(t))return;const e=M(UC,this,UF).call(this);return Math.max(0,t-Math.min(t,e))}const e=Number(t);return Number.isFinite(e)?e:0}function $F(){let t;return(Array.isArray(N(vC,this))?N(vC,this):[]).forEach((e=>{const n=qm(e);if(!Number.isFinite(n))return;const i=M(UC,this,vF).call(this,e);if(!Number.isFinite(i))return;const r=n+i;Number.isFinite(r)&&(!Number.isFinite(t)||r>t)&&(t=r)})),t}function UF(){const t=M(UC,this,qF).call(this);return t>0?t:.001}function qF(){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 VF(t,e,n=0){if(!Vm(t,e,N(uC,this)))return!1;const i=Number(n);if(!Number.isFinite(i)||i<=0)return!0;const r=M(UC,this,vF).call(this,t);if(!Number.isFinite(r))return!0;const o=qm(t);return!Number.isFinite(o)||e<o+r-i}var HF=new WeakMap,GF=new WeakMap,KF=new WeakMap,XF=new WeakMap,YF=new WeakMap,QF=new WeakMap,JF=new WeakMap,ZF=new WeakMap,tO=new WeakMap,eO=new WeakMap,nO=new WeakMap,iO=new WeakMap,rO=new WeakMap,oO=new WeakMap,sO=new WeakMap,aO=new WeakMap,lO=new WeakMap,cO=new WeakSet;class uO extends Od{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,cO),C(this,HF,void 0),C(this,GF,void 0),C(this,KF,1),C(this,XF,1),C(this,YF,1),C(this,QF,""),C(this,JF,0),C(this,ZF,[]),C(this,tO,null),C(this,eO,void 0),C(this,nO,[]),C(this,iO,null),C(this,rO,null),C(this,oO,0),C(this,sO,0),C(this,aO,0),C(this,lO,void 0);const[e]=t;F(HF,this,e),F(oO,this,rb()),F(lO,this,M(cO,this,dO).call(this)),M(cO,this,hO).call(this),M(cO,this,fO).call(this),M(cO,this,yO).call(this),M(cO,this,vO).call(this)}get publicAPI(){return N(lO,this)}calcScore(){M(cO,this,SO).call(this)}onDispose(){N(HF,this)&&N(GF,this)&&"function"==typeof N(HF,this).off&&N(HF,this).off(Ld.TIMELINE_PLAYER_STATE,N(GF,this)),F(GF,this,null),M(cO,this,gO).call(this),M(cO,this,bO).call(this),F(HF,this,null),F(nO,this,[]),F(ZF,this,[]),F(lO,this,null)}}function dO(){const t=this;return{get score(){return N(KF,t)},get status(){return N(QF,t)},get streamQualityScore(){return N(XF,t)},get fpsScore(){return N(YF,t)},get browserFps(){return N(JF,t)},get waitingSeconds(){return N(sO,t)/1e3},get playingSeconds(){return N(aO,t)/1e3}}}function hO(){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 fO(){N(HF,this)&&"function"==typeof N(HF,this).on&&(F(GF,this,(t=>M(cO,this,pO).call(this,t))),N(HF,this).on(Ld.TIMELINE_PLAYER_STATE,N(GF,this)))}function pO(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(cO,this,mO).call(this,null):M(cO,this,mO).call(this,"waiting"):M(cO,this,mO).call(this,"playing")}function mO(t){if(t===N(iO,this))return;const e=rb();N(iO,this)&&Number.isFinite(N(rO,this))&&N(nO,this).push({state:N(iO,this),startMs:N(rO,this),endMs:e}),F(iO,this,t),F(rO,this,t?e:null),M(cO,this,xO).call(this,e)}function vO(){const t=Number(this.settings.calcScoreInterval);!Number.isFinite(t)||t<=0||(F(eO,this,(()=>M(cO,this,SO).call(this))),Kw(N(eO,this),1e3*t))}function gO(){N(eO,this)&&Xw(N(eO,this)),F(eO,this,null)}function yO(){if("function"!=typeof Lw)return;const t=()=>{if(this._disposed)return;const e=rb();F(JF,this,M(cO,this,kO).call(this,N(ZF,this),e)),F(tO,this,Lw(t))};F(tO,this,Lw(t))}function bO(){N(tO,this)&&"function"==typeof zw&&zw(N(tO,this)),F(tO,this,null)}function kO(t,e){const n=M(cO,this,wO).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 wO(){const t=Number(this.settings.windowSeconds);return!Number.isFinite(t)||t<=0?3e4:1e3*t}function xO(t){const e=t-M(cO,this,wO).call(this);for(;N(nO,this).length&&N(nO,this)[0].endMs<=e;)N(nO,this).shift()}function _O(t){const e=t-M(cO,this,wO).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(nO,this).forEach((t=>{r(t.state,t.startMs,t.endMs)})),N(iO,this)&&Number.isFinite(N(rO,this))&&r(N(iO,this),N(rO,this),t),F(sO,this,n),F(aO,this,i),{waitingMs:n,playingMs:i}}function IO(t,e){if(t<=0)return 1;if(t>e)return 0;const n=e||1;return Wm(1-t*this.settings.waitingMultiplier/n)}function TO(){if(rb()-N(oO,this)<=1e3*this.settings.fpsGracePeriod)return 1;const t=Number(N(JF,this)),e=Kv.isDesktop()?this.settings.bestFpsDesktop:this.settings.bestFpsMobile,n=Wm(e>0?t/e:0);return"quad"===this.settings.fpsMathFuncType?n*n:n}function EO(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 SO(){const t=rb(),{waitingMs:e,playingMs:n}=M(cO,this,_O).call(this,t),i=M(cO,this,IO).call(this,e,n),r=M(cO,this,TO).call(this),o=Wm(i*this.settings.streamQualityWeight+r*this.settings.fpsWeight);o!==N(KF,this)&&(F(KF,this,o),this.trigger(Ld.QOE_SCORE,o)),F(XF,this,i),F(YF,this,r);const s=M(cO,this,EO).call(this,o,e);s!==N(QF,this)&&(F(QF,this,s),this.trigger(Ld.QOE_STATUS,s))}function MO(t,e=0){const n=Number(t);return Number.isFinite(n)?n:e}function AO(t){const e=Number(t);return!Number.isFinite(e)||e<0?0:e}var NO=new WeakMap,CO=new WeakMap,FO=new WeakMap,OO=new WeakMap,PO=new WeakSet;class RO extends Od{get name(){return"SegmentEvictionCoordinator"}get defaults(){return{enabled:wb("segmentEvictionEnabled"),bufferBehindSeconds:wb("segmentEvictionBufferBehindSeconds"),bufferAheadSeconds:wb("segmentEvictionBufferAheadSeconds"),maxRetainedBytes:wb("segmentEvictionMaxRetainedBytes")}}get methodsExcludedFromAutoLog(){return new Set([...super.methodsExcludedFromAutoLog,"evictAtTime"])}constructor(t,e,n={}){super(n),O(this,PO),C(this,NO,void 0),C(this,CO,void 0),C(this,FO,void 0),C(this,OO,void 0),F(NO,this,t),F(CO,this,e),F(FO,this,(t=>M(PO,this,DO).call(this,t))),F(OO,this,(t=>M(PO,this,BO).call(this,t))),N(NO,this)&&"function"==typeof N(NO,this).on&&(N(NO,this).on(Ld.TIMELINE_TIME_UPDATE,N(FO,this)),N(NO,this).on(Ld.TIMELINE_SEEKED,N(OO,this)))}onDispose(){N(NO,this)&&"function"==typeof N(NO,this).off&&(N(NO,this).off(Ld.TIMELINE_TIME_UPDATE,N(FO,this)),N(NO,this).off(Ld.TIMELINE_SEEKED,N(OO,this))),F(NO,this,null),F(CO,this,null),F(FO,this,null),F(OO,this,null)}evictAtTime(t){if(!0!==this.settings.enabled)return;const e=Number(t);if(!Number.isFinite(e))return;const n=AO(this.settings.bufferBehindSeconds),i=AO(this.settings.bufferAheadSeconds),r=e-n,o=e+i,s=M(PO,this,LO).call(this);if(!s.length)return;const a=Number(this.settings.maxRetainedBytes);if(Number.isFinite(a)&&a>0&&M(PO,this,zO).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=qm(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(PO,this,WO).call(this,e);if(!n)return;const i=t.filter((t=>M(PO,this,jO).call(this,t,r,o)));i.length?M(PO,this,$O).call(this,n,i,r,o):"function"==typeof n.evict&&n.evict()}))}}function DO(t){var e,n;if(!0!==this.settings.enabled)return;if((null===(e=N(NO,this))||void 0===e?void 0:e.state)===eg)return;const i=Number(null==t?void 0:t.time),r=Number.isFinite(i)?i:Number(null===(n=N(NO,this))||void 0===n?void 0:n.currentTime);this.evictAtTime(r)}function BO(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(NO,this))||void 0===e?void 0:e.currentTime);this.evictAtTime(i)}function LO(){var t;const e=null===(t=N(NO,this))||void 0===t?void 0:t.placements;return Array.isArray(e)?e:[]}function zO(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(PO,this,WO).call(this,i),o=Number(null==r?void 0:r.retainedByteLength);Fy(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=>{Fy(null==t?void 0:t.retainedByteLength)&&(n+=t.retainedByteLength)}))}))})),n}function WO(t){if(N(CO,this)&&"function"==typeof N(CO,this).get)return N(CO,this).get(t)}function jO(t,e,n){const i=qm(t);if(!Number.isFinite(i))return!1;const r=$m(t,N(CO,this));return(Number.isFinite(r)?i+r:Number.POSITIVE_INFINITY)>e&&i<n}function $O(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=MO(null==t?void 0:t.offset,0);r.forEach((t=>{if(!t||!Fy(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=qm(a);if(!Number.isFinite(l))continue;const c=MO(null==a?void 0:a.nodeOffsetOverride,0),u=MO(null==t?void 0:t.offset,NaN);if(!Number.isFinite(u))continue;const d=MO(null==t?void 0:t.duration,0),h=l+o+u-c,f=h+(d>0?d:0),p=$m(a,N(CO,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 UO=new WeakMap,qO=new WeakMap,VO=new WeakMap,HO=new WeakSet;class GO extends Od{get name(){return"DocumentVisibility"}get defaults(){return{autoPauseOnVisibilityChange:!0,autoResumeOnVisibilityChange:!0}}constructor(t,e={}){super(e),O(this,HO),C(this,UO,void 0),C(this,qO,null),C(this,VO,!1),F(UO,this,t),M(HO,this,KO).call(this)}onDispose(){M(HO,this,XO).call(this),F(UO,this,null),F(VO,this,!1)}}function KO(){const t=null==Dd?void 0:Dd.document;t&&"function"==typeof t.addEventListener&&(F(qO,this,(()=>M(HO,this,YO).call(this))),t.addEventListener("visibilitychange",N(qO,this)))}function XO(){const t=null==Dd?void 0:Dd.document;N(qO,this)&&t&&"function"==typeof t.removeEventListener&&t.removeEventListener("visibilitychange",N(qO,this)),F(qO,this,null)}function YO(){const t=null==Dd?void 0:Dd.document,e=null==t?void 0:t.visibilityState;"string"==typeof e&&("hidden"!==e?"visible"===e&&M(HO,this,JO).call(this):M(HO,this,QO).call(this))}function QO(){var t;(null===(t=this.settings)||void 0===t?void 0:t.autoPauseOnVisibilityChange)&&N(UO,this)&&"function"==typeof N(UO,this).pause&&(N(UO,this).state===Qv?(this.log.info("[#handleHidden] Pausing timeline due to document visibility change"),N(UO,this).pause(),F(VO,this,!0)):F(VO,this,!1))}function JO(){var t;N(VO,this)&&(null===(t=this.settings)||void 0===t?void 0:t.autoResumeOnVisibilityChange)&&N(UO,this)&&"function"==typeof N(UO,this).play&&(N(UO,this).state!==Qv?(this.log.info("[#handleVisible] Resuming timeline due to document visibility change"),N(UO,this).play(),F(VO,this,!1)):F(VO,this,!1))}const ZO=[{event:"canplay",once:!0,trackAs:"canplay"},{event:"playing",once:!0,trackAs:"startedplaying"},"seeked","canvas.webglcontextlost"];function tP(t,e=0){return Number.isFinite(t)?t:e}function eP(t){const e=null==t?void 0:t.exposedPlayerAPI;return e&&"object"==typeof e?e:t}const nP=[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:tP(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:tP(null==r?void 0:r.volume),playercontainerwidth:tP(null==r?void 0:r.containerWidth),playercontainerheight:tP(null==r?void 0:r.containerHeight)}}}},function(t){return{schema:"iglu:com.helloeko/currentnode/jsonschema/1-0-2",match:/^.*$/,getData:()=>{var e;const n=eP(t),i=function(t){const e=eP(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==Dd||null===(t=Dd.eko)||void 0===t||null===(t=t.environment)||void 0===t?void 0:t.embeddingApp;return e?{embeddingapp:e}:{}}}}],iP=Object.freeze({once:!1,trackAs:""});var rP=new WeakMap,oP=new WeakMap,sP=new WeakMap,aP=new WeakMap,lP=new WeakMap,cP=new WeakMap,uP=new WeakSet;class dP extends Od{get name(){return"Tracker"}get defaults(){return{tag:null,trackingEnabled:wb("trackingEnabled"),defaultForwarders:ZO,defaultContextPackers:nP}}constructor(t,e={}){var n,i;super(e),O(this,uP),C(this,rP,void 0),C(this,oP,new Map),C(this,sP,[]),C(this,aP,!1),C(this,lP,void 0),C(this,cP,void 0),F(cP,this,!this.settings.tag),F(lP,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(rP,this,t),M(uP,this,yP).call(this),M(uP,this,fP).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(uP,this,kP).call(this);n&&n("track",t,...e,N(lP,this))}registerContextPacker(t){if(!t||"object"!=typeof t)return void this.log.warn("[registerContextPacker] Expected a packer object.");const e={tag:N(lP,this),schema:t.schema,match:t.match,getData:M(uP,this,hP).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(uP,this,kP).call(this);n&&n("registerContextPacker",e)}onDispose(){if(M(uP,this,gP).call(this),M(uP,this,bP).call(this),F(rP,this,null),N(cP,this)){const t=M(uP,this,kP).call(this);t&&(t("reset",N(lP,this)),F(lP,this,null))}}}function hP(t){return"function"!=typeof t?null:(...e)=>e.pop()!==N(lP,this)?null:t(...e)}function fP(){(Array.isArray(this.settings.defaultForwarders)?this.settings.defaultForwarders:[]).forEach((t=>M(uP,this,pP).call(this,t)))}function pP(t){const e=M(uP,this,mP).call(this,t);if(!e)return void this.log.warn("[#addEventForwarder] Invalid forwarder input.",t);const n=N(rP,this);if(!n||"function"!=typeof n.on)return;const i=M(uP,this,vP).call(this,e);if(N(oP,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(oP,this).set(i,{event:e.event,listener:r})}function mP(t){return"string"==typeof t&&t?{event:t,...iP}: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 vP({event:t,once:e,trackAs:n}){return`${t}:${e}:${n}`}function gP(){const t=N(rP,this);t&&"function"==typeof t.off&&N(oP,this).forEach((({event:e,listener:n})=>{t.off(e,n)})),N(oP,this).clear()}function yP(){(Array.isArray(this.settings.defaultContextPackers)?this.settings.defaultContextPackers:[]).forEach((t=>{if("function"!=typeof t)return;const e=t(N(rP,this),this);e&&"object"==typeof e&&("function"==typeof e.dispose&&N(sP,this).push(e.dispose),e.disabled||this.registerContextPacker({schema:e.schema,match:e.match,getData:e.getData}))}))}function bP(){N(sP,this).forEach((t=>{try{t()}catch(t){this.log.warn("[#teardownContextPackers] Failed disposing context packer.",t)}})),F(sP,this,[])}function kP(){const t=null==Dd?void 0:Dd.EkoAnalytics;return"function"==typeof t?t:(M(uP,this,wP).call(this),null)}function wP(){this.settings.trackingEnabled&&!N(aP,this)&&(this.log.warn("EkoAnalytics not found on window."),F(aP,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 Yd(t,n,e),this.#ot=new ah(this.#rt,e),this.#st=new Nw(e),this.#at=new Mb(e),this.#lt=new dw(this.#at,e),this.#ct=new sw(this.#lt,this.#st,e),this.#ut=new bw(this.#ct,e),this.#dt=new qC(this.#ct,e),this.#ht=new GO(this.#dt,e),this.#wt=new RO(this.#dt,this.#ct,e),this.#ft=new vx(this.#ct,this.#ut,this.#st,this.#dt,e),this.#pt=new n_(this.#ct,this.#ut,this.#dt,e),this.#mt=new hS(e),this.#vt=new BS(this.#ct,this.#dt,this.#mt,e),this.#yt=new uO(this.#dt,e),this.#xt=new dP(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 Vg(this.#dt,this.#rt,this.#ot,e),this.#gt=o?o({timeline:this.#dt,decodeCoordinator:this.#vt,options:e}):new bA(this.#dt,this.#vt,e),this.#kt=new zM(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 _P="main.1274514";var IP={isPlainObject:Md,deepMerge:Ad,get:tb,set:eb,ekoGlobalStore:nb,download:gb,isPositiveNumber:Fy,clamp01:Wm,root:Dd,now:rb,getFrameDimensions:$N,codecs:jb,useragent:Xv,requestAnimationFrame:Lw,cancelAnimationFrame:zw,start:Kw,stop:Xw,isTicking:Yw,predicator:function(t,e){const n=e||{};if("function"!=typeof t)return void Ww.error("[predicator] Bad argument given to predicator, first argument must be a function.",arguments);if(t.apply())return Ww.debug("[predicator] Invoking onFulfilled immediately."),void("function"==typeof n.onFulfilled&&n.onFulfilled.call(null,0));const i=n.timeout||1e4,r=n.interval,o=rb();let s,a,l,c,u;c=function(){t.apply()&&l()},l=function(){Xw(c),Dd.clearTimeout(s),u=rb()-o,Ww.debug("[predicator] Invoking onFulfilled after "+u+" ms."),"function"==typeof n.onFulfilled&&n.onFulfilled.call(null,u)},a=function(){Xw(c),u=rb()-o,Ww.debug("[predicator] Invoking onTimeout after "+u+" ms."),"function"==typeof n.onTimeout&&n.onTimeout.call(null,u)},s=Dd.setTimeout(a,i),Kw(c,r)},createThrottler:Qw,scheduleExecution:Jw},TP=new WeakMap,EP=new WeakMap,SP=new WeakMap,MP=new WeakMap,AP=new WeakMap,NP=new WeakMap,CP=new WeakMap,FP=new WeakSet;class OP{constructor(t){O(this,FP),C(this,TP,[]),C(this,EP,[]),C(this,SP,new aC("placement-")),C(this,MP,new aC("renderplacement-")),C(this,AP,void 0),C(this,NP,new Map),C(this,CP,void 0),F(AP,this,t),F(CP,this,{allowUnready:!0,getNode:t=>M(FP,this,PP).call(this,t)})}get placements(){return N(TP,this).slice()}get renderPlacements(){return N(EP,this).slice()}getNodesAtTime(t){M(FP,this,RP).call(this);const e=M(FP,this,BP).call(this,t);if(!Number.isFinite(e))return[];const n=N(TP,this).filter((t=>Vm(t,e,null,N(CP,this)))),i=[];return n.forEach((t=>{const e=M(FP,this,PP).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(NP,this).set(r,i);const o=n.nodeOffsetOverride||n.offset,s=n.nodeDurationOverride||n.duration,a=Ym(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}:Xm(e,n);let u,d,h,f=!1;const p=null!==a;if(a){const t=N(TP,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=qm(t);if("start"===a.anchor)Number.isFinite(e)?u=e:f=!0;else{const n=M(FP,this,DP).call(this,t);Number.isFinite(e)&&n>0?u=e+n:f=!0}}else if(l){const t=n.offsetAnchorPlacementId?N(TP,this).find((t=>(null==t?void 0:t.placementId)===n.offsetAnchorPlacementId)):N(TP,this).length?N(TP,this)[N(TP,this).length-1]:void 0;if(d=n.offsetAnchorPlacementId||(null==t?void 0:t.placementId),d){const e=qm(t),n=M(FP,this,DP).call(this,t);Number.isFinite(e)&&n>0?u=e+n-c:(f=!0,h="end")}else u=-c}else u=Km(e);const m=N(SP,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(TP,this).push(v),Hm(N(TP,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=Ym(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(TP,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=qm(t);if("start"===c.anchor)Number.isFinite(e)?o=e:l=!0;else{const n=M(FP,this,DP).call(this,t);Number.isFinite(e)&&Number.isFinite(n)?o=e+n:l=!0}}else o=Km(e);const d=N(MP,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;Qm(N(EP,this),t,e,"TimelineDefinition.placeRenderNodeOnTimeline does not allow overlapping render nodes")}return N(EP,this).push(m),Hm(N(EP,this)),d}}function PP(t){if(t)return N(AP,this)&&"function"==typeof N(AP,this).get?N(AP,this).get(t):N(NP,this).get(t)}function RP(){return Gm(N(TP,this),{getPlacementDuration:t=>M(FP,this,DP).call(this,t)}).updated}function DP(t){return $m(t,null,N(CP,this))}function BP(t){if("end"===t){const t=M(FP,this,LP).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 LP(){let t;return N(TP,this).forEach((e=>{const n=qm(e);if(!Number.isFinite(n))return;const i=M(FP,this,DP).call(this,e);if(!Number.isFinite(i))return;const r=n+i;Number.isFinite(r)&&(!Number.isFinite(t)||r>t)&&(t=r)})),t}const zP=new Set(["canplay","play","playing","waiting","pause","seeking","seeked"]);var WP=new WeakMap,jP=new WeakMap,$P=new WeakMap,UP=new WeakMap,qP=new WeakMap,VP=new WeakMap,HP=new WeakMap,GP=new WeakMap,KP=new WeakMap,XP=new WeakMap,YP=new WeakMap,QP=new WeakMap,JP=new WeakMap,ZP=new WeakMap,tR=new WeakMap,eR=new WeakMap,nR=new WeakMap,iR=new WeakMap,rR=new WeakMap,oR=new WeakMap,sR=new WeakMap,aR=new WeakMap,lR=new WeakMap,cR=new WeakMap,uR=new WeakMap,dR=new WeakSet;class hR extends Od{get name(){return"EkoPlayer"}get exposedPlayerAPI(){return N(UP,this)}constructor(t,e={}){const{options:n,publicOptions:i}=function(t={}){const e=Ad({},bb,t);Object.entries(yb).forEach((([t,{targetPaths:n}])=>{void 0!==e[t]&&n.forEach((n=>{void 0===tb(e,n)&&eb(e,n,e[t])}))}));const n=function(t){const e={};return Object.keys(yb).forEach((n=>{Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})),Object.freeze(e)}(e);return kb.info("Processed options:",e),kb.info("Public options:",n),{options:e,publicOptions:n}}(e);return super(n),O(this,dR),C(this,WP,void 0),C(this,jP,void 0),C(this,$P,void 0),C(this,UP,void 0),C(this,qP,void 0),C(this,VP,void 0),C(this,HP,void 0),C(this,GP,void 0),C(this,KP,void 0),C(this,XP,void 0),C(this,YP,void 0),C(this,QP,void 0),C(this,JP,void 0),C(this,ZP,void 0),C(this,tR,void 0),C(this,eR,void 0),C(this,nR,void 0),C(this,iR,void 0),C(this,rR,void 0),C(this,oR,void 0),C(this,sR,void 0),C(this,aR,void 0),C(this,lR,void 0),C(this,cR,void 0),C(this,uR,0),F($P,this,i),this.log.info("Initializing EkoPlayer with options:",i),F(QP,this,new xP(t,n,this)),M(dR,this,xR).call(this,N(QP,this)),F(tR,this,(t=>M(dR,this,fR).call(this,t))),N(jP,this)&&"function"==typeof N(jP,this).on&&N(jP,this).on(Ld.TIMELINE_CUEPOINT,N(tR,this)),F(eR,this,null),F(iR,this,(t=>M(dR,this,pR).call(this,t))),F(rR,this,(t=>{const e=t&&"object"==typeof t?t:{};M(dR,this,pR).call(this,{...e,event:"seeking"})})),F(oR,this,(t=>{const e=t&&"object"==typeof t?t:{};M(dR,this,pR).call(this,{...e,event:"seeked"})})),N(jP,this)&&"function"==typeof N(jP,this).on&&(N(jP,this).on(Ld.TIMELINE_PLAYER_STATE,N(iR,this)),N(jP,this).on(Ld.TIMELINE_SEEKING,N(rR,this)),N(jP,this).on(Ld.TIMELINE_SEEKED,N(oR,this))),F(lR,this,(t=>{const e=t&&"object"==typeof t?t:{};this.trigger(Ld.CONTAINER_RESIZE,e)})),N(JP,this)&&"function"==typeof N(JP,this).on&&N(JP,this).on(Ld.CONTAINER_RESIZE,N(lR,this)),M(dR,this,yR).call(this),M(dR,this,gR).call(this),F(UP,this,M(dR,this,wR).call(this)),N(UP,this)}onDispose(){N(jP,this)&&"function"==typeof N(jP,this).off&&N(tR,this)&&N(jP,this).off(Ld.TIMELINE_CUEPOINT,N(tR,this)),F(tR,this,null),N(jP,this)&&"function"==typeof N(jP,this).off&&(N(iR,this)&&N(jP,this).off(Ld.TIMELINE_PLAYER_STATE,N(iR,this)),N(rR,this)&&N(jP,this).off(Ld.TIMELINE_SEEKING,N(rR,this)),N(oR,this)&&N(jP,this).off(Ld.TIMELINE_SEEKED,N(oR,this))),F(iR,this,null),F(rR,this,null),F(oR,this,null),F(eR,this,null),N(JP,this)&&"function"==typeof N(JP,this).off&&N(lR,this)&&N(JP,this).off(Ld.CONTAINER_RESIZE,N(lR,this)),F(lR,this,null),N(YP,this)&&"function"==typeof N(YP,this).off&&(N(sR,this)&&N(YP,this).off("qoescore",N(sR,this)),N(aR,this)&&N(YP,this).off("qoestatus",N(aR,this))),F(sR,this,null),F(aR,this,null),N(XP,this)&&"function"==typeof N(XP,this).off&&N(cR,this)&&N(XP,this).off(Ld.DECODER_ERROR,N(cR,this)),F(cR,this,null),F(uR,this,0),N(ZP,this)&&"function"==typeof N(ZP,this).dispose&&N(ZP,this).dispose(),F(ZP,this,null),N(QP,this)&&"function"==typeof N(QP,this).dispose&&N(QP,this).dispose(),F(jP,this,null),F(WP,this,null),F(VP,this,null),F(HP,this,null),F(GP,this,null),F(KP,this,null),F(XP,this,null),F(YP,this,null),F(JP,this,null),F(qP,this,null),F(UP,this,null),F(QP,this,null)}}function fR(t={}){var e;this.trigger(Ld.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 pR(t={}){const e="string"==typeof(null==t?void 0:t.event)?t.event:"";if(!zP.has(e))return;if("playing"!==e||Number.isFinite(N(nR,this))||(F(nR,this,rb()),this.log.info(`[#handlePlayerStateEvent] Playback started @ ${(N(nR,this)/1e3).toFixed(3)}s (${Date.now()})`)),N(eR,this)===e)return;F(eR,this,e);const n=Number.isFinite(null==t?void 0:t.time)?t.time:N(jP,this)&&Number.isFinite(N(jP,this).currentTime)?N(jP,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 mR(){return new OP(N(WP,this))}function vR(t){if(!t||"object"!=typeof t)throw new Error("EkoPlayer.switchTimeline requires a timeline definition");if(!N(jP,this)||"function"!=typeof N(jP,this).applyTimelineDefinition)throw new Error("EkoPlayer.switchTimeline requires an active timeline");N(jP,this).applyTimelineDefinition(t),"function"==typeof N(jP,this).play&&N(jP,this).play()}function gR(){N(YP,this)&&"function"==typeof N(YP,this).on&&(F(sR,this,(t=>{this.trigger(Ld.QOE_SCORE,t)})),F(aR,this,(t=>{this.trigger(Ld.QOE_STATUS,t)})),N(YP,this).on(Ld.QOE_SCORE,N(sR,this)),N(YP,this).on(Ld.QOE_STATUS,N(aR,this)))}function yR(){N(XP,this)&&"function"==typeof N(XP,this).on&&(F(cR,this,(t=>{const e=t&&"object"==typeof t?t:{error:t};this.trigger(Ld.DECODER_ERROR,e),M(dR,this,bR).call(this,e)})),N(XP,this).on(Ld.DECODER_ERROR,N(cR,this)))}function bR(t={}){var e;const n=N(jP,this);if(!n||"number"!=typeof n.currentTime)return;const i=Date.now();if(i<N(uR,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(uR,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 kR(t={}){var e;if(N(ZP,this))return N(ZP,this);const n=t&&"object"==typeof t&&!Array.isArray(t)?{...t}:{},i=N(qP,this)&&N(qP,this).element?N(qP,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==Dd?void 0:Dd.document)){if(Bd(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 Bd(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 IB})),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($P,this),n.playerVersion=_P,F(ZP,this,s({mountElement:r,canvasElement:i,timeline:N(jP,this),assetsDeliveryServiceUrl:null===(e=N(QP,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(WP,this)&&"function"==typeof N(WP,this).get?N(WP,this).get(t):void 0,listNodes:()=>N(WP,this)&&"function"==typeof N(WP,this).list?N(WP,this).list():[],downloadSpeed:N(QP,this)?N(QP,this).downloadSpeed:void 0,downloadEvents:Yy,qoe:N(YP,this)?N(YP,this).publicAPI:void 0,qoeEvents:this,options:n,playbackStartedAtMs:N(nR,this)})),N(ZP,this)}function wR(){const t=this;return{createTimeline:()=>M(dR,t,mR).call(t),switchTimeline:e=>M(dR,t,vR).call(t,e),play:N(jP,this).play,pause:N(jP,this).pause,reset:N(jP,this).reset,placeOnTimeline:N(jP,this).placeOnTimeline,placeRenderNodeOnTimeline:N(jP,this).placeRenderNodeOnTimeline,addNode:N(WP,this).add,getNode:N(WP,this).get,listNodes:N(WP,this).list,getNodesAtTime:e=>N(jP,t).getNodesAtTime(e),dispose:this.dispose,on:t.on,off:t.off,once:t.once,trigger:t.trigger,transitionTo:(e,n)=>N(HP,t).transitionTo(e,n),track:(e,...n)=>{if(N(KP,t)&&"function"==typeof N(KP,t).track)return N(KP,t).track(e,...n)},seekToPlacement:e=>N(jP,t).seekToPlacement(e),get currentTime(){return N(jP,t).currentTime},set currentTime(e){N(jP,t).currentTime=e},get buffered(){return N(jP,t).buffered},get options(){return N($P,t)},get containerWidth(){return N(JP,t)?N(JP,t).containerWidth:0},get containerHeight(){return N(JP,t)?N(JP,t).containerHeight:0},get playbackRate(){return N(jP,t).playbackRate},set playbackRate(e){N(jP,t).playbackRate=e},get paused(){return!!N(jP,t)&&!0===N(jP,t).paused},get muted(){return!!N(GP,t)&&N(GP,t).muted},set muted(e){N(GP,t)&&(N(GP,t).muted=e)},get volume(){return N(GP,t)?N(GP,t).volume:1},set volume(e){N(GP,t)&&(N(GP,t).volume=e)},get qoe(){return N(YP,t)?N(YP,t).publicAPI:void 0},get utils(){return IP},get version(){return _P},loadDebugOverlay:(...e)=>M(dR,t,kR).call(t,...e)}}function xR(t){t&&(F(qP,this,t.canvas),F(WP,this,t.nodeRepository),F(jP,this,t.timeline),F(GP,this,t.audioAdapter||t.audioPlaybackManager),F(KP,this,t.tracker),F(XP,this,t.parsingManager),F(YP,this,t.qoe),F(VP,this,t.renderAdapter||t.renderer),F(HP,this,t.transitionManager),F(JP,this,t.containerSize))}class _R{constructor({target:t,props:e}){if(!t)throw new Error("`options.target` is required");to(this.#_t,e,!0),this.#_t.v.EkoPlayer=hR;const n=t.hasChildNodes()?$s:js;this.#It=n(ld,{target:t,props:this.#_t.v})}#It;#_t=Jr(ro({}));destroy(t){if(this.#It)return function(t,e){const n=Vs.get(t);return n?(Vs.delete(t),n(e)):Promise.resolve()}(this.#It,t)}get props(){return ms(this.#_t)}}const IR=u("gallery-react");const TR=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((()=>(IR.setDataStorage("gallery-react",{config:i}),window.eko=window.eko||{},window.eko.config=i,window.eko.gallery={version:"4.0.17"},()=>{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 _R({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}));TR.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},TR.displayName="EkoGallerySvelte";const ER=n("v2"),SR=n("v1"),MR="undefined"!=typeof self&&self||"undefined"!=typeof window&&window||"undefined"!=typeof global&&global||{},AR=MR&&MR.performance,NR=AR&&"function"==typeof AR.now?()=>AR.now():()=>Date.now(),CR=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"}),FR=["ui-monospace,","SFMono-Regular,","Menlo,","Monaco,","Consolas,",'"Liberation Mono",','"Courier New",',"monospace"].join(" "),OR=`11px ${FR}`,PR=`12px ${FR}`;function RR(t){return"number"==typeof t&&Number.isFinite(t)}function DR(t){return RR(t)&&t>0}function BR(t){return RR(t)?Math.min(1,Math.max(0,t)):0}function LR(t,e=3){return RR(t)?t.toFixed(e):String(t)}function zR(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 WR=new WeakMap,jR=new WeakMap,$R=new WeakMap,UR=new WeakMap,qR=new WeakMap,VR=new WeakMap,HR=new WeakMap,GR=new WeakSet;class KR{constructor({width:t=220,height:e=48,windowMs:n=6e4,maxValue:i=60,autoScale:r=!1,formatValue:o}={}){O(this,GR),C(this,WR,void 0),C(this,jR,void 0),C(this,$R,[]),C(this,UR,void 0),C(this,qR,void 0),C(this,VR,void 0),C(this,HR,void 0);const s=null==MR?void 0:MR.document;if(!s||"function"!=typeof s.createElement)throw new Error("Debug overlay graph requires document.createElement.");F(WR,this,s.createElement("canvas")),N(WR,this).width=t,N(WR,this).height=e,N(WR,this).style.width=`${t}px`,N(WR,this).style.height=`${e}px`,N(WR,this).style.borderRadius="6px",N(WR,this).style.background="#111",F(jR,this,N(WR,this).getContext("2d")),F(UR,this,n),F(qR,this,i),F(VR,this,!!r),F(HR,this,"function"==typeof o?o:null)}get element(){return N(WR,this)}push(t,e){if(N(WR,this)&&N(jR,this)&&Number.isFinite(t)&&Number.isFinite(e)){for(N($R,this).push({t:e,v:t});N($R,this).length&&e-N($R,this)[0].t>N(UR,this);)N($R,this).shift();M(GR,this,XR).call(this)}}dispose(){F($R,this,[]),F(jR,this,null),F(WR,this,null)}}function XR(){const t=N(jR,this),e=N(WR,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($R,this).length)return;const r=N($R,this)[0].t;if(!(N($R,this)[N($R,this).length-1].t>r))return;const o=N(VR,this)?N($R,this).reduce(((t,e)=>e.v>t?e.v:t),0):N(qR,this),s=o>0?o:N(qR,this);t.strokeStyle="#0f0",t.lineWidth=2,t.beginPath();for(let e=0;e<N($R,this).length;e+=1){const o=N($R,this)[e],a=(o.t-r)/N(UR,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($R,this).length?N($R,this)[N($R,this).length-1]:null,l=Number.isFinite(null==a?void 0:a.v)?a.v:null;if(null===l)return;const c=N(HR,this)?N(HR,this).call(this,l):l.toFixed(1);if("string"!=typeof c||!c)return;t.font=OR,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 YR=new Intl.NumberFormat("en-US");function QR(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 JR(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 ZR(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 tD(t,e){var n;const i=ZR(t,e);return(null==i?void 0:i.abrDecision)||(null==i||null===(n=i.chosenRepresentation)||void 0===n?void 0:n.abrDecision)}function eD(t){const e=Number(t);return!Number.isFinite(e)||e<=0?"n/a":`${YR.format(Math.round(e))}kbps`}function nD(t){const e=Number(t);return!Number.isFinite(e)||e<=0?"n/a":`${YR.format(Math.round(e/1e3))}kbps`}function iD(t,e=3){const n=Number(t);return Number.isFinite(n)?n.toLocaleString("en-US",{minimumFractionDigits:e,maximumFractionDigits:e}):String(t)}function rD(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 oD(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 sD(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=ZR(t,e))||void 0===n?void 0:n.chosenRepresentation}(t,e);if(!o)return RR(i)&&RR(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 aD(t){const e=Number(t);if(Number.isFinite(e)&&!(e<=0))return e/1e3}function lD(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 cD(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=ZR(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:aD(null==t?void 0:t.bandwidth)})}))}!r.length&&(null==n?void 0:n.id)&&r.push({id:n.id,bandwidthKbps:aD(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(lD)}const uD=1024,dD=1048576,hD=1073741824;function fD(t){return RR(t)?t>=1e3?`${LR(t/1e3,1)} Mbps`:`${LR(t,1)} kbps`:"n/a"}function pD({downloadSpeed:t,downloadEvents:e}={}){const n=MR.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=PR;const n=t.createElement("div"),i=t.createElement("div");return e.appendChild(n),e.appendChild(i),{metricsRow:e,setInitial:t=>{n.textContent=`initial=${fD(t)}`},setTotal:t=>{var e;i.textContent="total="+(RR(e=t)?e<uD?`${Math.round(e)} B`:e<dD?`${LR(e/uD,1)} KB`:e<hD?`${LR(e/dD,2)} MB`:`${LR(e/hD,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=OR,i.style.opacity="0.9";const r=RR(e)&&e>0?e:1,o=new KR({autoScale:!0,maxValue:r,formatValue:fD});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!=MR&&MR.performance&&"function"==typeof MR.performance.now?MR.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 mD(t){return RR(t)?LR(t,3):"n/a"}function vD(){return null!=MR&&MR.performance&&"function"==typeof MR.performance.now?MR.performance.now():Date.now()}var gD,yD,bD,kD={exports:{}},wD=(gD||(gD=1,yD=kD,function(t,e){yD.exports?yD.exports=e():t.log=e()}(kD.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}))),kD.exports),xD=(bD=wD)&&bD.__esModule&&Object.prototype.hasOwnProperty.call(bD,"default")?bD.default:bD;const _D=()=>{},ID=["trace","log","debug","info","warn","error","getLevel","setLevel"],TD=["trace","debug","info","warn","error","silent"],ED={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;"},SD="undefined"!=typeof self&&self||"undefined"!=typeof window&&window||"undefined"!=typeof global&&global;let MD={level:"trace",appName:""},AD=[];const ND="object"==typeof SD&&SD.performance&&"function"==typeof SD.performance.now?SD.performance.now.bind(SD.performance):Date.now.bind(Date),CD=t=>t&&"string"==typeof t?t.toLowerCase().trim():"",FD=(()=>{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[CD(e)]=CD(i)||"trace"})),n}catch(t){return{}}})(),OD=(t,e="")=>{const n=CD(t),i=xD.getLogger(n);if(i.__ekologger)return i.__ekologger;e||FD[n]||FD["*"]||(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)=>(ND()/1e3).toFixed(e))()}] %c[${s}] ${MD.appName?`[${MD.appName}] `:""}[${t}]`,ED[s],...e)}},e=FD[n]||FD["*"]||e||MD.level,i.setLevel(e,!1);const o=(...t)=>i.log(...t);return ID.forEach((t=>{o[t]=(...e)=>(AD.forEach((n=>{n[t](...e)})),i[t](...e))})),i.__ekologger=o,o};OD.setDefaults=({appName:t="",level:e})=>{t&&"string"==typeof t&&(MD.appName=t),(e=CD(e))&&TD.includes(e)&&(MD.level=e,Object.values(xD.getLoggers()).filter((t=>t.__noExplicitLevel)).forEach((t=>t.setLevel(MD.level,!1))))},OD.installDriver=t=>{const e={...ID.reduce(((e,n)=>(e[n]="function"==typeof(null==t?void 0:t[n])?t[n]:_D,e)),{})};AD.push(e)},OD("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)),{})),OD("config","warn");const PD=18,RD="rgba(83,170,255,0.9)",DD={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)"},BD={border:"1px solid rgba(102,214,141,0.28)",background:"rgba(102,214,141,0.16)",color:"rgba(167,240,185,1)"},LD={border:"1px solid rgba(255,200,87,0.3)",background:"rgba(255,200,87,0.16)",color:"rgba(255,227,171,1)"},zD="noop",WD="seek",jD="copy-node-id",$D="copy-node-context",UD="copy-source-video-url",qD=[{value:zD,label:"NOOP"},{value:WD,label:"Seek"},{value:jD,label:"Copy Node ID"},{value:$D,label:"Copy Node Context"},{value:UD,label:"Copy Source Video URL"}],VD=["type","url","mimeType","assetId","assetRevision","encodeProfile","duration","width","height"],HD=["id","url","mime","codecs","baseCodec","bandwidth","timescale","sizeBytes","width","height","frameRate","segStart","segDuration"];function GD(t,e){if(DR(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 DR(i)?i:null}function KD(t){const e=Number(null==t?void 0:t.duration);return e===Number.POSITIVE_INFINITY?Number.POSITIVE_INFINITY:DR(e)?e:null}function XD(t){return t===Number.POSITIVE_INFINITY}function YD(t){return RR(t)?String(t):""}function QD(t,e=[]){return e.reduce(((e,n)=>(void 0!==(null==t?void 0:t[n])&&(e[n]=t[n]),e)),{})}function JD(t){const e=qD.find((e=>e.value===t));return e?e.value:zD}function ZD(t){return t?"string"==typeof(null==t?void 0:t.message)&&t.message?t.message:"string"==typeof t&&t?t:null:null}function tB(t){return t&&RR(t.start)&&RR(t.end)?{start:t.start,end:t.end}:null}function eB(t){return t?QD(t,HD):null}function nB(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:QD(t,VD):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:RR(null==t?void 0:t.offset)?t.offset:void 0,duration:GD(t,e),offsetPending:!0===(null==t?void 0:t.offsetPending),nodeOffsetOverride:RR(null==t?void 0:t.nodeOffsetOverride)?t.nodeOffsetOverride:void 0,nodeDurationOverride:RR(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:RR(i.duration)?i.duration:null,mainTrackId:"string"==typeof i.mainTrackId?i.mainTrackId:void 0,assetId:"string"==typeof o?o:void 0,manifestRef:r,buffered:tB(i.buffered),imageFallbackActive:!0===i.imageFallbackActive,retainedByteLength:RR(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:RR(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:RR(t.offset)?t.offset:0,duration:RR(t.duration)?t.duration:null,endTime:RR(t.endTime)?t.endTime:null,buffered:tB(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:RR(t.offset)?t.offset:0,duration:RR(t.duration)?t.duration:0,bufferedRatio:RR(t.bufferedRatio)?t.bufferedRatio:0,retainedByteLength:RR(t.retainedByteLength)?t.retainedByteLength:0,isLoaded:!0===t.isLoaded,loadAttempts:RR(Number(t.loadAttempts))?Number(t.loadAttempts):0,appliedFilters:Array.isArray(t.appliedFilters)?t.appliedFilters.slice():[],chosenRepresentation:eB(t.chosenRepresentation),representations:Array.isArray(t.representations)?t.representations.map((t=>eB(t))).filter(Boolean):[]},n=ZD(t.loadError);return n&&(e.loadError=n),e}(t))).filter(Boolean):[]}:null}(t))).filter(Boolean):[]}:null};if(i){const t=Number(i.manifestLoadAttempts);RR(t)&&t>0&&(s.node.manifestLoadAttempts=t);const e=ZD(i.manifestLoadError);e&&(s.node.manifestLoadError=e);const n=ZD(i.error);n&&(s.node.error=n)}return s}function iB(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:"",YD(t.offset),YD(GD(t,e)),!0===t.offsetPending?"1":"0",YD(t.nodeOffsetOverride),YD(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=YD(t.offset),r=KD(t);return[e,n,i,r===Number.POSITIVE_INFINITY?"inf":YD(r),!0===t.offsetPending?"1":"0"].join("|")})).join(";"):""}(e)}`}function rB(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(DR(i.nodeDurationOverride))continue;if("function"!=typeof e)return!0;const r=e(i.nodeId);if(!DR(null==r?void 0:r.duration))return!0}return!1}function oB(t=[]){return!(!Array.isArray(t)||!t.length)&&t.some((t=>!0===(null==t?void 0:t.offsetPending)))}function sB(t=[],e=[]){return oB(t)||oB(e)}function aB(t,e=[],n){if(!t||!Array.isArray(e)||!e.length)return;const i=t.querySelector('[data-segment-boundary="true"]');e.forEach((e=>{if(!e||!RR(e.startRatio)||!RR(e.endRatio))return;const r=BR(e.startRatio),o=BR(e.endRatio);if(!(o>r))return;const s=MR.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 lB(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=MR.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 cB({timeline:t,getNode:e,assetsDeliveryServiceUrl:n}={}){const i=null==MR?void 0:MR.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=OR,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=OR,s.style.maxWidth="260px",s.style.flexDirection="column",s.style.gap="6px";const a=i.createElement("div");a.style.font=PR,a.style.opacity="0.95";const l=i.createElement("div");l.style.font=OR,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=PR,h.style.opacity="0.9";const f=i.createElement("div");f.style.font=OR,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=OR;const m=i.createElement("span");m.textContent="Click action";const v=i.createElement("select");v.style.font=OR,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",qD.forEach((t=>{const e=i.createElement("option");e.value=t.value,e.textContent=t.label,v.appendChild(e)})),v.value=zD;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=BD.border,g.style.background=BD.background,g.style.color=BD.color,g.style.font=OR,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=OR,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=zD,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==MR?void 0:MR.clearTimeout)||clearTimeout)(W),W=null)}function V(){j&&(((null==MR?void 0:MR.clearTimeout)||clearTimeout)(j),j=null)}function H(){g.style.display="none",g.style.opacity="0",g.style.transform="translateY(2px)",g.textContent=""}function G(){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=iB(_,I,e);return t!==R&&(R=t,at(),ut(),!0)}function Y(){G()?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,G()&&(K()||X()||Y())}}):U()}function Q(t,e){const n=e>0?T/e:0;t.style.left=100*BR(n)+"%",t.style.transform="translateX(-1px)"}function J(){o.style.display="none"}function Z(){q(),V(),H()}function tt(t,{tone:e="success"}={}){if(!t)return void Z();q(),V(),function(t="success"){const e=function(t="success"){return"warning"===t?LD:BD}(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==MR?void 0:MR.setTimeout)||setTimeout;W=n((()=>{W=null,function(){q(),V(),g.style.opacity="0",g.style.transform="translateY(-2px)";const t=(null==MR?void 0:MR.setTimeout)||setTimeout;j=t((()=>{j=null,H()}),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=DR(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=DD[s]||DD.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=${LR(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)||lB(N.get(t),!1)})),i.forEach((t=>{F.has(t)||lB(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);lB(t,n&&RR(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&&lB(C.get(O),!1),i&&O!==i&&lB(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);lB(t,n&&RR(e)&&e>=i&&e<r)}))}function ot(t){const n=GD(t,e);if(!DR(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 BR(e);const n=Number(null==t?void 0:t.retainedByteLength);if(!DR(n))return 0;const i=null==t?void 0:t.chosenRepresentation,r=DR(null==i?void 0:i.sizeBytes)?i.sizeBytes:null;return DR(r)?BR(n/r):1},s=Array.isArray(r.segments)?r.segments:[],a=RR(null==r?void 0:r.offset)?r.offset:0,l=RR(null==t?void 0:t.nodeOffsetOverride)?t.nodeOffsetOverride:0;if(!s.length){const t=null==i?void 0:i.buffered,e=RR(null==t?void 0:t.start)?t.start-l:0,r=RR(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:BR(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;RR(null==t?void 0:t.offset)&&(a=t.offset);const l=a;if(!RR(l))return;const c=RR(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)*BR(h);s.push({startRatio:t/e,endRatio:i/e})}}c>0&&(RR(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())),aB(n,ot(i).buffered,RD))}}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||!RR(i))return;const o=`${e}:${n}`,s=M.get(o)||{},a={loaded:Math.max(RR(s.loaded)?s.loaded:0,i),total:DR(r)?r:s.total};M.set(o,a),function(){if(P)return;P=!0;const t=null==MR?void 0:MR.requestAnimationFrame;"function"!=typeof t?((null==MR?void 0:MR.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=OR,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=BR(e);if(DR(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=MR.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:DR(r),onClick:w}),y&&(x.title=y),RR(o)&&(x.dataset.start=String(o)),DR(s)||XD(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",aB(x,l,RD),function(t,e=[]){t&&Array.isArray(e)&&e.length&&e.forEach((e=>{if(!RR(e)||e<=0||e>=1)return;const n=MR.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*BR(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),lB(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=JD(E);if(a===zD)return;if(a===WD)return void function(e,n,i){if(!t)return;if(!DR(n)||!i)return;const r="function"==typeof i.getBoundingClientRect?i.getBoundingClientRect():null,o=DR(null==r?void 0:r.width)?r.width:i.clientWidth;if(!DR(o))return;const s=RR(null==r?void 0:r.left)?r.left:0,a=BR(((RR(null==e?void 0:e.clientX)?e.clientX:0)-s)/o)*n;RR(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===jD?l:a===$D?JSON.stringify(nB(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===jD?"Copied node ID":a===$D?"Copied node context":"Copied source video URL";if(u)try{await async function(t,e){const n=null==MR||null===(e=MR.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===UD&&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=RR(null==n?void 0:n.offset)?n.offset:void 0;if(!RR(i))return;const r=GD(n,e);t=DR(r)?Math.max(t,i+r):Math.max(t,i)})),i.forEach((e=>{const n=RR(null==e?void 0:e.offset)?e.offset:0,i=KD(e);t=DR(i)?Math.max(t,n+i):Math.max(t,n)})),DR(t)?t:1}();S=n,h.textContent=`t=${LR(T)}s`,f.textContent=`range=0-${LR(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=RR(null==t?void 0:t.offset)?t.offset:void 0;if(!RR(n))return null;const i=GD(t,e);return{placement:t,offset:n,duration:i,end:DR(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=RR(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*PD+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=!!RR(T)&&T>=i&&(!DR(r)||T<i+r),a=ot(n),l=JD(E)!==zD;lt({track:w.track,color:"rgba(255,255,255,0.16)",start:BR(i/e),duration:DR(r)?BR(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:PD,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=RR(null==t?void 0:t.offset)?t.offset:void 0;if(!RR(e))return;const n=KD(t),i=XD(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==MR?void 0:MR.switchTo)&&MR.switchTo("next")}:void 0;let l=!1;RR(T)&&(i?l=T>=e:DR(n)&&(l=T>=e&&T<e+n));const c=i&&DR(s)?BR((s-e)/s):DR(n)?BR(n/s):null;lt({track:x.track,color:"rgba(248,162,62,0.9)",start:BR(e/s),duration:c,startTime:e,durationSeconds:n,label:r,placementId:null==t?void 0:t.renderPlacementId,rowIndex:0,rowHeight:PD,rowGap:0,laneId:"render",isClickable:!!o,isActive:l,tooltip:(null==t?void 0:t.type)||(null==t?void 0:t.renderPlacementId),showLabel:DR(n)||i,onClick:a})})),Q(w.indicator,n),Q(x.indicator,n),rt(),st(),D=sB(_,I)||rB(_,e),R=D?iB(_,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=sB(_,I)||rB(_,e),at(),ut()}return v.addEventListener("change",(()=>{E=JD(v.value),v.value=E,ut()})),{id:"timeline",title:"Timeline",render:t=>{t.appendChild(r),ut()},updatePlacements:dt,updateTime:function(t){if(T=RR(t)?t:T,K())return;if(D&&X())return;const e=S;RR(e)&&(h.textContent=`t=${LR(T)}s`,f.textContent=`range=0-${LR(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 uB=1024,dB=1048576,hB=1073741824;function fB(t){return RR(t)?t<uB?`${Math.round(t)} B`:t<dB?`${LR(t/uB,1)} KB`:t<hB?`${LR(t/dB,2)} MB`:`${LR(t/hB,2)} GB`:"n/a"}const pB="ekoplayer-debug-overlay";var mB=new WeakMap,vB=new WeakMap,gB=new WeakMap,yB=new WeakMap,bB=new WeakSet;class kB{constructor({tabBarEl:t,contentEl:e}){O(this,bB),C(this,mB,[]),C(this,vB,void 0),C(this,gB,void 0),C(this,yB,void 0),F(gB,this,t),F(yB,this,e)}registerTab(t){t&&"string"==typeof t.id&&"string"==typeof t.title&&"function"==typeof t.render&&(N(mB,this).some((e=>e.id===t.id))||(N(mB,this).push(t),M(bB,this,wB).call(this),N(vB,this)||this.selectTab(t.id)))}selectTab(t){N(mB,this).find((e=>e.id===t))&&(F(vB,this,t),M(bB,this,wB).call(this),M(bB,this,xB).call(this))}dispose(){N(gB,this)&&(N(gB,this).innerHTML=""),N(yB,this)&&(N(yB,this).innerHTML=""),F(mB,this,[]),F(gB,this,null),F(yB,this,null)}}function wB(){const t=N(gB,this);t&&(t.innerHTML="",N(mB,this).forEach((e=>{const n=MR.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(vB,this)?"rgba(255,255,255,0.18)":"rgba(0,0,0,0.2)",n.style.color="#fff",n.style.font=PR,n.addEventListener("click",(()=>this.selectTab(e.id))),t.appendChild(n)})))}function xB(){const t=N(yB,this);if(!t)return;t.innerHTML="";const e=N(mB,this).find((t=>t.id===N(vB,this)));e&&e.render(t)}function _B({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==MR?void 0:MR.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=MR.document.getElementById(pB);f&&f.parentNode&&f.parentNode.removeChild(f);const p=function({mountElement:t,playerVersion:e}){const n=null==MR?void 0:MR.document;if(!n||"function"!=typeof n.createElement)throw new Error("Debug overlay requires document.createElement.");const i=n.createElement("div");i.id=pB,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=OR,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 kB({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=cB({timeline:n,getNode:r,assetsDeliveryServiceUrl:i}),k=function({getNode:t}){const e=MR.document,n=e.createElement("pre");n.style.margin="0",n.style.whiteSpace="pre-wrap",n.style.font=PR,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 KR({maxValue:60}),s=new KR({maxValue:60}),a=e.createElement("div"),l=e.createElement("div");l.textContent="browserfps",l.style.font=OR,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(QR):[];if(!s.length)return n.textContent="",void(i.innerHTML="");n.textContent=`t=${iD(r)}s tracks=${s.length}`,i.innerHTML="";for(let n=0;n<s.length;n+=1){const r=s[n],o=sD(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=nD(null==o?void 0:o.bandwidth),u=zR(null==o?void 0:o.width,null==o?void 0:o.height),d=rD(t,r)||"n/a",h=oD(t,r),f=h?` fallback=${h}`:"",p=tD(t,r),m=(null==p?void 0:p.strategy)||"n/a",v=(null==p?void 0:p.decisionReason)||"n/a",g=eD(null==p?void 0:p.measuredDownloadSpeedKbps),y=eD(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=PR,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=${iD(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=cD(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||"?"} ${eD(t.bandwidthKbps)}`,n.appendChild(i)})),t.appendChild(n),b.appendChild(t)}i.appendChild(b)}},dispose:()=>{o.dispose(),s.dispose()}}}({getNode:r}),w=pD({downloadSpeed:s,downloadEvents:a}),x=function({qoe:t,qoeEvents:e}={}){const n=null==MR?void 0:MR.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=PR;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=OR,n.style.opacity="0.9";const i=new KR({maxValue:1,windowMs:3e4,formatValue:t=>mD(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=${mD(t.score)}`,`status=${e}`,`streamQualityScore=${mD(t.streamQualityScore)}`,`fpsScore=${mD(t.fpsScore)}`,`browserFps=${mD(t.browserFps)}`,`waitingSeconds=${mD(t.waitingSeconds)}`,`playingSeconds=${mD(t.playingSeconds)}`].join("\n")}(t)},l=()=>{if(!t)return;const e=Number(t.score);Number.isFinite(e)&&o.push(e,vD())},c=t=>{const e=Number(t);Number.isFinite(e)&&o.push(e,vD()),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==MR?void 0:MR.setInterval)?MR.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==MR?void 0:MR.clearInterval)?MR.clearInterval:clearInterval)(s),s=null),o.dispose()}}}({qoe:l,qoeEvents:c}),_=function({timeline:t,getNode:e,listNodes:n,options:i}={}){const r=null==MR?void 0:MR.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=PR;const s=r.createElement("div");s.textContent="nodes",s.style.marginTop="10px",s.style.font=OR,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=PR;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=RR(r)&&r>=0,s=o?fB(r):"n/a";return{active:o&&RR(e)&&e>r,thresholdLabel:s}}(i,r.available?r.totalBytes:NaN),c=l.active?"on":"off",u=s.available?fB(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=${fB(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}: ${fB(t.bytes)}`));a.textContent=h.join("\n")};c();const u="function"==typeof(null==MR?void 0:MR.setInterval)?MR.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==MR?void 0:MR.clearInterval)?MR.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==MR?void 0:MR.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=PR,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)))}MR.window&&"function"==typeof MR.window.requestAnimationFrame&&(M=MR.window.requestAnimationFrame((function t(e){A||(E=JR(I,e),F(e),M=MR.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!=MR&&MR.performance&&"function"==typeof MR.performance.now?MR.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=JR(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 @ ${LR(t)}s`}const R=(t={})=>{if(!A&&void 0===P&&"playing"===(null==t?void 0:t.event)&&(P=NR(),p.footerPlayback)){const t=P/1e3;p.footerPlayback.textContent=`Playback started @ ${LR(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(CR.VISUAL_FRAMES_AVAILABLE,O),n.on(CR.TIMELINE_TIME_UPDATE,B),n.on(CR.PLACEMENT_ADDED,L),n.on(CR.RENDER_PLACEMENT_ADDED,z),n.on(CR.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&&MR.window&&"function"==typeof MR.window.cancelAnimationFrame&&MR.window.cancelAnimationFrame(M),M=null,n&&"function"==typeof n.off&&(n.off(CR.VISUAL_FRAMES_AVAILABLE,O),n.off(CR.TIMELINE_TIME_UPDATE,B),n.off(CR.PLACEMENT_ADDED,L),n.off(CR.RENDER_PLACEMENT_ADDED,z),n.off(CR.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 IB=Object.freeze({__proto__:null,createDebugOverlay:_B,default:_B});exports.EkoGallery=TR,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=ER,exports.getEkoProductConfigUrlLegacy=SR;