@sesamy/sesamy-js 1.69.0 → 1.70.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/sesamy-js.cjs +2 -2
- package/dist/sesamy-js.iife.js +2 -2
- package/dist/sesamy-js.mjs +5 -5
- package/package.json +2 -2
package/dist/sesamy-js.cjs
CHANGED
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
* Please keep this comment intact in order to properly abide by the MIT License.
|
|
33
33
|
*
|
|
34
34
|
**/var ds={d:(t,e)=>{for(var r in e)ds.o(e,r)&&!ds.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)},Hs={};ds.d(Hs,{A:()=>Ug,k:()=>Bs});var jr=function(t,e,r,n){return new(r||(r=Promise))(function(a,i){function o(l){try{u(n.next(l))}catch(c){i(c)}}function s(l){try{u(n.throw(l))}catch(c){i(c)}}function u(l){var c;l.done?a(l.value):(c=l.value,c instanceof r?c:new r(function(f){f(c)})).then(o,s)}u((n=n.apply(t,[])).next())})},Nr=function(t,e){var r,n,a,i,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},typeof Symbol=="function"&&(i[Symbol.iterator]=function(){return this}),i;function s(u){return function(l){return(function(c){if(r)throw new TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(o=0)),o;)try{if(r=1,n&&(a=2&c[0]?n.return:c[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,c[1])).done)return a;switch(n=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,n=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(a=o.trys,!((a=a.length>0&&a[a.length-1])||c[0]!==6&&c[0]!==2)){o=0;continue}if(c[0]===3&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(c[0]===6&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=e.call(t,o)}catch(f){c=[6,f],n=0}finally{r=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}})([u,l])}}};function Bs(){return jr(this,void 0,Promise,function(){return Nr(this,function(t){switch(t.label){case 0:return[4,new Promise(function(e,r){var n="Unknown",a=!1;function i(h){a||(a=!0,e({isPrivate:h,browserName:n}))}function o(){var h=0,d=parseInt("-1");try{d.toFixed(d)}catch(v){h=v.message.length}return h}function s(){return jr(this,void 0,void 0,function(){var h,d;return Nr(this,function(v){switch(v.label){case 0:return v.trys.push([0,2,,3]),[4,navigator.storage.getDirectory()];case 1:return v.sent(),i(!1),[3,3];case 2:return h=v.sent(),d=h instanceof Error&&typeof h.message=="string"?h.message:String(h),i(d.includes("unknown transient reason")),[3,3];case 3:return[2]}})})}function u(){var h;return jr(this,void 0,Promise,function(){return Nr(this,function(d){switch(d.label){case 0:return typeof((h=navigator.storage)===null||h===void 0?void 0:h.getDirectory)!="function"?[3,2]:[4,s()];case 1:return d.sent(),[3,3];case 2:navigator.maxTouchPoints!==void 0?(function(){var v=String(Math.random());try{var p=indexedDB.open(v,1);p.onupgradeneeded=function(g){var P=g.target.result,w=function(y){i(y)};try{P.createObjectStore("t",{autoIncrement:!0}).put(new Blob),w(!1)}catch(y){(y instanceof Error&&typeof y.message=="string"?y.message:String(y)).includes("are not yet supported")?w(!0):w(!1)}finally{P.close(),indexedDB.deleteDatabase(v)}},p.onerror=function(){return i(!1)}}catch{i(!1)}})():(function(){var v=window.openDatabase,p=window.localStorage;try{v(null,null,null,null)}catch{return void i(!0)}try{p.setItem("test","1"),p.removeItem("test")}catch{return void i(!0)}i(!1)})(),d.label=3;case 3:return[2]}})})}function l(){navigator.webkitTemporaryStorage.queryUsageAndQuota(function(h,d){var v=Math.round(d/1048576),p=2*Math.round((function(){var g,P,w,y=window;return(w=(P=(g=y?.performance)===null||g===void 0?void 0:g.memory)===null||P===void 0?void 0:P.jsHeapSizeLimit)!==null&&w!==void 0?w:1073741824})()/1048576);i(v<p)},function(h){r(new Error("detectIncognito somehow failed to query storage quota: "+h.message))})}function c(){self.Promise!==void 0&&self.Promise.allSettled!==void 0?l():(0,window.webkitRequestFileSystem)(0,1,function(){i(!1)},function(){i(!0)})}function f(){var h;return jr(this,void 0,Promise,function(){var d,v,p;return Nr(this,function(g){switch(g.label){case 0:if(typeof((h=navigator.storage)===null||h===void 0?void 0:h.getDirectory)!="function")return[3,5];g.label=1;case 1:return g.trys.push([1,3,,4]),[4,navigator.storage.getDirectory()];case 2:return g.sent(),i(!1),[3,4];case 3:return d=g.sent(),v=d instanceof Error&&typeof d.message=="string"?d.message:String(d),i(v.includes("Security error")),[2];case 4:return[3,6];case 5:(p=indexedDB.open("inPrivate")).onerror=function(P){p.error&&p.error.name==="InvalidStateError"&&P.preventDefault(),i(!0)},p.onsuccess=function(){indexedDB.deleteDatabase("inPrivate"),i(!1)},g.label=6;case 6:return[2]}})})}(function(){return jr(this,void 0,Promise,function(){return Nr(this,function(h){switch(h.label){case 0:return o()!==44&&o()!==43?[3,2]:(n="Safari",[4,u()]);case 1:return h.sent(),[3,6];case 2:return o()!==51?[3,3]:(d=navigator.userAgent,n=d.match(/Chrome/)?navigator.brave!==void 0?"Brave":d.match(/Edg/)?"Edge":d.match(/OPR/)?"Opera":"Chrome":"Chromium",c(),[3,6]);case 3:return o()!==25?[3,5]:(n="Firefox",[4,f()]);case 4:return h.sent(),[3,6];case 5:navigator.msSaveBlob!==void 0?(n="Internet Explorer",i(window.indexedDB===void 0)):r(new Error("detectIncognito cannot determine the browser")),h.label=6;case 6:return[2]}var d})})})().catch(r)})];case 1:return[2,t.sent()]}})})}typeof window<"u"&&(window.detectIncognito=Bs);const Ug=Bs;Hs.A;const $g=Hs.k,gn="sesamy_incognito_mode";function Gs(){try{const t=sessionStorage.getItem(gn);return t===null?void 0:t==="true"}catch{return}}async function Lg(){try{const t=sessionStorage.getItem(gn);if(t!==null)return t==="true";const{isPrivate:e}=await $g();return sessionStorage.setItem(gn,e.toString()),e}catch{try{sessionStorage.setItem(gn,"false")}catch{}return!1}}function Jr(){return typeof window<"u"}function yd(t,e,r,n,a){for(e=e.split?e.split("."):e,n=0;n<e.length;n++)t=t?t[e[n]]:a;return t===a?r:t}var qg="function",jg="string",tt="undefined",Ng="boolean",Pn="object",xg="array",Dg="number",Mg="symbol",Fg="null",hs=function(){},Pv="any",Ev="*",Vt="__",Kg="form",zg="input",Hg="button",Bg="select",En=typeof process!==tt?process:{};En.env&&En.env.NODE_ENV;var Ce=typeof document!==tt;En.versions!=null&&En.versions.node!=null;typeof Deno!==tt&&Deno.core;Ce&&window.name==="nodejs"||typeof navigator!==tt&&typeof navigator.userAgent!==tt&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom"));function kv(t,e){return e.charAt(0)[t]()+e.slice(1)}var Gg=kv.bind(null,"toUpperCase"),Wg=kv.bind(null,"toLowerCase");function Vg(t){return _v(t)?Gg(Fg):typeof t===Pn?Xg(t):Object.prototype.toString.call(t).slice(8,-1)}function kn(t,e){e===void 0&&(e=!0);var r=Vg(t);return e?Wg(r):r}function an(t,e){return typeof e===t}var ze=an.bind(null,qg),_t=an.bind(null,jg),fr=an.bind(null,tt),Jg=an.bind(null,Ng);an.bind(null,Mg);function _v(t){return t===null}function Zg(t){return kn(t)===Dg&&!isNaN(t)}function Tv(t){return kn(t)===xg}function Ke(t){if(!Yg(t))return!1;for(var e=t;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function Yg(t){return t&&(typeof t===Pn||t!==null)}function Xg(t){return ze(t.constructor)?t.constructor.name:null}function Qg(t){return t instanceof Error||_t(t.message)&&t.constructor&&Zg(t.constructor.stackTraceLimit)}function Rv(t,e){if(typeof e!="object"||_v(e))return!1;if(e instanceof t)return!0;var r=kn(new t(""));if(Qg(e))for(;e;){if(kn(e)===r)return!0;e=Object.getPrototypeOf(e)}return!1}Rv.bind(null,TypeError);Rv.bind(null,SyntaxError);function Gn(t,e){var r=t instanceof Element||t instanceof HTMLDocument;return r&&e?ey(t,e):r}function ey(t,e){return e===void 0&&(e=""),t&&t.nodeName===e.toUpperCase()}function Wn(t){var e=[].slice.call(arguments,1);return function(){return t.apply(void 0,[].slice.call(arguments).concat(e))}}Wn(Gn,Kg);Wn(Gn,Hg);Wn(Gn,zg);Wn(Gn,Bg);function ty(t){return t?Tv(t)?t:[t]:[]}function wd(t){try{return decodeURIComponent(t.replace(/\+/g," "))}catch{return null}}function ry(){if(Ce){var t=navigator,e=t.languages;return t.userLanguage||(e&&e.length?e[0]:t.language)}}function ny(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function ay(t){return(function(e){for(var r,n=Object.create(null),a=/([^&=]+)=?([^&]*)/g;r=a.exec(e);){var i=wd(r[1]),o=wd(r[2]);if(i)if(i.substring(i.length-2)==="[]"){var s=n[i=i.substring(0,i.length-2)]||(n[i]=[]);n[i]=Array.isArray(s)?s:[],n[i].push(o)}else n[i]=o===""||o}for(var u in n){var l=u.split("[");l.length>1&&(iy(n,l.map(function(c){return c.replace(/[?[\]\\ ]/g,"")}),n[u]),delete n[u])}return n})((function(e){return Ce&&window.location.search.substring(1)})())}function iy(t,e,r){for(var n=e.length-1,a=0;a<n;++a){var i=e[a];if(i==="__proto__"||i==="constructor")break;i in t||(t[i]={}),t=t[i]}t[e[n]]=r}function Vn(){for(var t="",e=0,r=4294967295*Math.random()|0;e++<36;){var n="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[e-1],a=15&r;t+=n=="-"||n=="4"?n:(n=="x"?a:3&a|8).toString(16),r=e%8==0?4294967295*Math.random()|0:r>>4}return t}function oy(t,e){var r,n,a,i=null,o=0,s=function(){o=new Date,i=null,a=t.apply(r,n)};return function(){var u=new Date;o||(o=u);var l=e-(u-o);return r=this,n=arguments,l<=0?(clearTimeout(i),i=null,o=u,a=t.apply(r,n)):i||(i=setTimeout(s,l)),a}}var Ft="global",yr=Vt+Ft+Vt,wr=typeof self===Pn&&self.self===self&&self||typeof global===Pn&&global[Ft]===global&&global||void 0;function Jt(t){return wr[yr][t]}function Zt(t,e){return wr[yr][t]=e}function Or(t){delete wr[yr][t]}function Cr(t,e,r){var n;try{if(Ws(t)){var a=window[t];n=a[e].bind(a)}}catch{}return n||r}wr[yr]||(wr[yr]={});var un={};function Ws(t){if(typeof un[t]!==tt)return un[t];try{var e=window[t];e.setItem(tt,tt),e.removeItem(tt)}catch{return un[t]=!1}return un[t]=!0}function ee(){return ee=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)({}).hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},ee.apply(null,arguments)}var Et="function",vt="undefined",Gr="reducer",Ov="@@redux/",vs=Ov+"INIT",sy=Ov+Math.random().toString(36),bd=(function(){return typeof Symbol===Et&&Symbol.observable||"@@observable"})(),ln=" != "+Et;function Cv(t,e,r){var n;if(typeof e===Et&&typeof r===vt&&(r=e,e=void 0),typeof r!==vt){if(typeof r!==Et)throw new Error("enhancer"+ln);return r(Cv)(t,e)}if(typeof t!==Et)throw new Error(Gr+ln);var a=t,i=e,o=[],s=o,u=!1;function l(){s===o&&(s=o.slice())}function c(){return i}function f(d){if(typeof d!==Et)throw new Error("Listener"+ln);var v=!0;return l(),s.push(d),function(){if(v){v=!1,l();var p=s.indexOf(d);s.splice(p,1)}}}function h(d){if(!Ke(d))throw new Error("Act != obj");if(typeof d.type===vt)throw new Error("ActType "+vt);if(u)throw new Error("Dispatch in "+Gr);try{u=!0,i=a(i,d)}finally{u=!1}for(var v=o=s,p=0;p<v.length;p++)(0,v[p])();return d}return h({type:vs}),(n={dispatch:h,subscribe:f,getState:c,replaceReducer:function(d){if(typeof d!==Et)throw new Error("next "+Gr+ln);a=d,h({type:vs})}})[bd]=function(){var d,v=f;return(d={subscribe:function(p){if(typeof p!="object")throw new TypeError("Observer != obj");function g(){p.next&&p.next(c())}return g(),{unsubscribe:v(g)}}})[bd]=function(){return this},d},n}function cy(t,e){var r=e&&e.type;return"action "+(r&&r.toString()||"?")+Gr+" "+t+" returns "+vt}function br(){var t=[].slice.call(arguments);return t.length===0?function(e){return e}:t.length===1?t[0]:t.reduce(function(e,r){return function(){return e(r.apply(void 0,[].slice.call(arguments)))}})}function uy(){var t=arguments;return function(e){return function(r,n,a){var i,o=e(r,n,a),s=o.dispatch,u={getState:o.getState,dispatch:function(l){return s(l)}};return i=[].slice.call(t).map(function(l){return l(u)}),ee({},o,{dispatch:s=br.apply(void 0,i)(o.dispatch)})}}}var Tt=Vt+"anon_id",Kt=Vt+"user_id",hr=Vt+"user_traits",ps="analytics",Pt="userId",dr="anonymousId",yn=["bootstrap","params","campaign","initializeStart","initialize","initializeEnd","ready","resetStart","reset","resetEnd","pageStart","page","pageEnd","pageAborted","trackStart","track","trackEnd","trackAborted","identifyStart","identify","identifyEnd","identifyAborted","userIdChanged","registerPlugins","enablePlugin","disablePlugin","online","offline","setItemStart","setItem","setItemEnd","setItemAborted","removeItemStart","removeItem","removeItemEnd","removeItemAborted"],ms=["name","EVENTS","config","loaded"],Q=yn.reduce(function(t,e){return t[e]=e,t},{registerPluginType:function(t){return"registerPlugin:"+t},pluginReadyType:function(t){return"ready:"+t}}),Sd=/^utm_/,Id=/^an_prop_/,Pd=/^an_trait_/;function ly(t){var e=t.storage.setItem;return function(r){return function(n){return function(a){if(a.type===Q.bootstrap){var i=a.params,o=a.user,s=a.persistedUser,u=a.initialUser,l=s.userId===o.userId;s.anonymousId!==o.anonymousId&&e(Tt,o.anonymousId),l||e(Kt,o.userId),u.traits&&e(hr,ee({},l&&s.traits?s.traits:{},u.traits));var c=Object.keys(a.params);if(c.length){var f=i.an_uid,h=i.an_event,d=c.reduce(function(v,p){if(p.match(Sd)||p.match(/^(d|g)clid/)){var g=p.replace(Sd,"");v.campaign[g==="campaign"?"name":g]=i[p]}return p.match(Id)&&(v.props[p.replace(Id,"")]=i[p]),p.match(Pd)&&(v.traits[p.replace(Pd,"")]=i[p]),v},{campaign:{},props:{},traits:{}});r.dispatch(ee({type:Q.params,raw:i},d,f?{userId:f}:{})),f&&setTimeout(function(){return t.identify(f,d.traits)},0),h&&setTimeout(function(){return t.track(h,d.props)},0),Object.keys(d.campaign).length&&r.dispatch({type:Q.campaign,campaign:d.campaign})}}return n(a)}}}}function fy(t){return function(e,r){if(e===void 0&&(e={}),r===void 0&&(r={}),r.type===Q.setItemEnd){if(r.key===Tt)return ee({},e,{anonymousId:r.value});if(r.key===Kt)return ee({},e,{userId:r.value})}switch(r.type){case Q.identify:return Object.assign({},e,{userId:r.userId,traits:ee({},e.traits,r.traits)});case Q.reset:return[Kt,Tt,hr].forEach(function(n){t.removeItem(n)}),Object.assign({},e,{userId:null,anonymousId:null,traits:{}});default:return e}}}function Ed(t){return{userId:t.getItem(Kt),anonymousId:t.getItem(Tt),traits:t.getItem(hr)}}var gs=function(t){return Vt+"TEMP"+Vt+t};function dy(t){var e=t.storage,r=e.setItem,n=e.removeItem,a=e.getItem;return function(i){return function(o){return function(s){var u=s.userId,l=s.traits,c=s.options;if(s.type===Q.reset&&([Kt,hr,Tt].forEach(function(d){n(d)}),[Pt,dr,"traits"].forEach(function(d){Or(gs(d))})),s.type===Q.identify){a(Tt)||r(Tt,Vn());var f=a(Kt),h=a(hr)||{};f&&f!==u&&i.dispatch({type:Q.userIdChanged,old:{userId:f,traits:h},new:{userId:u,traits:l},options:c}),u&&r(Kt,u),l&&r(hr,ee({},h,l))}return o(s)}}}}var Fr={};function kd(t,e){Fr[t]&&ze(Fr[t])&&(Fr[t](e),delete Fr[t])}function Av(t,e,r){return new Promise(function(n,a){return e()?n(t):r<1?a(ee({},t,{queue:!0})):new Promise(function(i){return setTimeout(i,10)}).then(function(i){return Av(t,e,r-10).then(n,a)})})}function hy(t){return{abort:t}}function Uv(t,e,r){var n={},a=e(),i=t.getState(),o=i.plugins,s=i.queue,u=i.user;if(!i.context.offline&&s&&s.actions&&s.actions.length){var l=s.actions.reduce(function(f,h,d){return o[h.plugin].loaded?(f.process.push(h),f.processIndex.push(d)):(f.requeue.push(h),f.requeueIndex.push(d)),f},{processIndex:[],process:[],requeue:[],requeueIndex:[]});if(l.processIndex&&l.processIndex.length){l.processIndex.forEach(function(f){var h=s.actions[f],d=h.plugin,v=h.payload.type,p=a[d][v];if(p&&ze(p)){var g,P=(function(m,b){return m===void 0&&(m={}),b===void 0&&(b={}),[Pt,dr].reduce(function(R,A){return m.hasOwnProperty(A)&&b[A]&&b[A]!==m[A]&&(R[A]=b[A]),R},m)})(h.payload,u),w=n[P.meta.rid];if(!w&&(g=p({payload:P,config:o[d].config,instance:r,abort:hy}))&&Ke(g)&&g.abort)return void(n[P.meta.rid]=!0);if(!w){var y=v+":"+d;t.dispatch(ee({},P,{type:y,_:{called:y,from:"queueDrain"}}))}}});var c=s.actions.filter(function(f,h){return!~l.processIndex.indexOf(h)});s.actions=c}}}var Vo=function(t){var e=t.data,r=t.action,n=t.instance,a=t.state,i=t.allPlugins,o=t.allMatches,s=t.store,u=t.EVENTS;try{var l=a.plugins,c=a.context,f=r.type,h=f.match(vr),d=e.exact.map(function(g){return g.pluginName});h&&(d=o.during.map(function(g){return g.pluginName}));var v=(function(g,P){return function(w,y,m){var b=y.config,R=y.name,A=R+"."+w.type;m&&(A=m.event);var j=w.type.match(vr)?(function(z,V,te,L,M){return function(N,S){var O=L?L.name:z,q=S&&Zr(S)?S:te;if(L&&(!(q=S&&Zr(S)?S:[z]).includes(z)||q.length!==1))throw new Error("Method "+V+" can only abort "+z+" plugin. "+JSON.stringify(q)+" input valid");return ee({},M,{abort:{reason:N,plugins:q,caller:V,_:O}})}})(R,A,P,m,w):(function(z,V){return function(){throw new Error(z.type+" action not cancellable. Remove abort in "+V)}})(w,A);return{payload:vy(w),instance:g,config:b||{},abort:j}}})(n,d),p=e.exact.reduce(function(g,P){var w=P.pluginName,y=P.methodName,m=!1;return y.match(/^initialize/)||y.match(/^reset/)||(m=!l[w].loaded),c.offline&&y.match(/^(page|track|identify)/)&&(m=!0),g[""+w]=m,g},{});return Promise.resolve(e.exact.reduce(function(g,P,w){var y=P.pluginName;return Promise.resolve(g).then(function(m){function b(){return Promise.resolve(m)}var R=(function(){if(e.namespaced&&e.namespaced[y])return Promise.resolve(e.namespaced[y].reduce(function(A,j,z){return Promise.resolve(A).then(function(V){return j.method&&ze(j.method)?((function(N,S){var O=Ud(N);if(O&&O.name===S){var q=Ud(O.method);throw new Error([S+" plugin is calling method "+N,"Plugins cant call self","Use "+O.method+" "+(q?"or "+q.method:"")+" in "+S+" plugin insteadof "+N].join(`
|
|
35
|
-
`))}})(j.methodName,j.pluginName),Promise.resolve(j.method({payload:V,instance:n,abort:(te=V,L=y,M=j.pluginName,function(N,S){return ee({},te,{abort:{reason:N,plugins:S||[L],caller:f,from:M||L}})}),config:Rd(j.pluginName,l,i),plugins:l})).then(function(N){var S=Ke(N)?N:{};return Promise.resolve(ee({},V,S))})):V;var te,L,M})},Promise.resolve(r))).then(function(A){m[y]=A});m[y]=r})();return R&&R.then?R.then(b):b()})},Promise.resolve({}))).then(function(g){return Promise.resolve(e.exact.reduce(function(P,w,y){try{var m=e.exact.length===y+1,b=w.pluginName,R=i[b];return Promise.resolve(P).then(function(A){var j=g[b]?g[b]:{};if(h&&(j=A),Zo(j,b))return Jo({data:j,method:f,instance:n,pluginName:b,store:s}),Promise.resolve(A);if(Zo(A,b))return m&&Jo({data:A,method:f,instance:n,store:s}),Promise.resolve(A);if(p.hasOwnProperty(b)&&p[b]===!0)return s.dispatch({type:"queue",plugin:b,payload:j,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(A);var z=v(g[b],i[b]);return Promise.resolve(R[f]({abort:z.abort,payload:j,instance:n,config:Rd(b,l,i),plugins:l})).then(function(V){var te=Ke(V)?V:{},L=ee({},A,te),M=g[b];if(Zo(M,b))Jo({data:M,method:f,instance:n,pluginName:b,store:s});else{var N=f+":"+b;(N.match(/:/g)||[]).length<2&&!f.match(_d)&&!f.match(Td)&&n.dispatch(ee({},h?L:j,{type:N,_:{called:N,from:"submethod"}}))}return Promise.resolve(L)})})}catch(A){return Promise.reject(A)}},Promise.resolve(r))).then(function(P){if(!(f.match(vr)||f.match(/^registerPlugin/)||f.match(Td)||f.match(_d)||f.match(/^params/)||f.match(/^userIdChanged/))){if(u.plugins.includes(f),P._&&P._.originalAction===f)return P;var w=ee({},P,{_:{originalAction:P.type,called:P.type,from:"engineEnd"}});$v(P,e.exact.length)&&!f.match(/End$/)&&(w=ee({},w,{type:P.type+"Aborted"})),s.dispatch(w)}return P})})}catch(g){return Promise.reject(g)}},vr=/Start$/,_d=/^bootstrap/,Td=/^ready/;function Jo(t){var e=t.pluginName,r=t.method+"Aborted"+(e?":"+e:"");t.store.dispatch(ee({},t.data,{type:r,_:{called:r,from:"abort"}}))}function Rd(t,e,r){var n=e[t]||r[t];return n&&n.config?n.config:{}}function Od(t,e){return e.reduce(function(r,n){return n[t]?r.concat({methodName:t,pluginName:n.name,method:n[t]}):r},[])}function Cd(t,e){var r=t.replace(vr,""),n=e?":"+e:"";return[""+t+n,""+r+n,r+"End"+n]}function Zo(t,e){var r=t.abort;return!!r&&(r===!0||Ad(r,e)||r&&Ad(r.plugins,e))}function $v(t,e){var r=t.abort;if(!r)return!1;if(r===!0||_t(r))return!0;var n=r.plugins;return Zr(r)&&r.length===e||Zr(n)&&n.length===e}function Zr(t){return Array.isArray(t)}function Ad(t,e){return!(!t||!Zr(t))&&t.includes(e)}function Ud(t){var e=t.match(/(.*):(.*)/);return!!e&&{method:e[1],name:e[2]}}function vy(t){return Object.keys(t).reduce(function(e,r){return r==="type"||(e[r]=Ke(t[r])?Object.assign({},t[r]):t[r]),e},{})}function py(t,e,r){var n={};return function(a){return function(i){return function(o){try{var s,u=function(m){return s?m:i(f)},l=o.type,c=o.plugins,f=o;if(o.abort)return Promise.resolve(i(o));if(l===Q.enablePlugin&&a.dispatch({type:Q.initializeStart,plugins:c,disabled:[],fromEnable:!0,meta:o.meta}),l===Q.disablePlugin&&setTimeout(function(){return kd(o.meta.rid,{payload:o})},0),l===Q.initializeEnd){var h=e(),d=Object.keys(h),v=d.filter(function(m){return c.includes(m)}).map(function(m){return h[m]}),p=[],g=[],P=o.disabled,w=v.map(function(m){var b=m.loaded,R=m.name,A=m.config;return Av(m,function(){return b({config:A})},1e4).then(function(j){return n[R]||(a.dispatch({type:Q.pluginReadyType(R),name:R,events:Object.keys(m).filter(function(z){return!ms.includes(z)})}),n[R]=!0),p=p.concat(R),m}).catch(function(j){if(j instanceof Error)throw new Error(j);return g=g.concat(j.name),j})});Promise.all(w).then(function(m){var b={plugins:p,failed:g,disabled:P};setTimeout(function(){d.length===w.length+P.length&&a.dispatch(ee({},{type:Q.ready},b))},0)})}var y=(function(){if(l!==Q.bootstrap)return/^ready:([^:]*)$/.test(l)&&setTimeout(function(){return Uv(a,e,t)},0),Promise.resolve((function(m,b,R,A,j){try{var z=ze(b)?b():b,V=m.type,te=V.replace(vr,"");if(m._&&m._.called)return Promise.resolve(m);var L=R.getState(),M=(O=z,(q=L.plugins)===void 0&&(q={}),(F=m.options)===void 0&&(F={}),Object.keys(O).filter(function(I){var _=F.plugins||{};return Jg(_[I])?_[I]:_.all!==!1&&(!q[I]||q[I].enabled!==!1)}).map(function(I){return O[I]}));V===Q.initializeStart&&m.fromEnable&&(M=Object.keys(L.plugins).filter(function(I){var _=L.plugins[I];return m.plugins.includes(I)&&!_.initialized}).map(function(I){return z[I]}));var N=M.map(function(I){return I.name}),S=(function(I,_){var x=Cd(I).map(function(H){return Od(H,_)});return _.reduce(function(H,Y){var J=Y.name,fe=Cd(I,J).map(function(ke){return Od(ke,_)}),ne=fe[0],ce=fe[1],ae=fe[2];return ne.length&&(H.beforeNS[J]=ne),ce.length&&(H.duringNS[J]=ce),ae.length&&(H.afterNS[J]=ae),H},{before:x[0],beforeNS:{},during:x[1],duringNS:{},after:x[2],afterNS:{}})})(V,M);return Promise.resolve(Vo({action:m,data:{exact:S.before,namespaced:S.beforeNS},state:L,allPlugins:z,allMatches:S,instance:R,store:A,EVENTS:j})).then(function(I){function _(){var Y=(function(){if(V.match(vr))return Promise.resolve(Vo({action:ee({},x,{type:te+"End"}),data:{exact:S.after,namespaced:S.afterNS},state:L,allPlugins:z,allMatches:S,instance:R,store:A,EVENTS:j})).then(function(J){J.meta&&J.meta.hasCallback&&kd(J.meta.rid,{payload:J})})})();return Y&&Y.then?Y.then(function(){return I}):I}if($v(I,N.length))return I;var x,H=(function(){if(V!==te)return Promise.resolve(Vo({action:ee({},I,{type:te}),data:{exact:S.during,namespaced:S.duringNS},state:L,allPlugins:z,allMatches:S,instance:R,store:A,EVENTS:j})).then(function(Y){x=Y});x=I})();return H&&H.then?H.then(_):_()})}catch(I){return Promise.reject(I)}var O,q,F})(o,e,t,a,r)).then(function(m){var b=i(m);return s=1,b})})();return Promise.resolve(y&&y.then?y.then(u):u(y))}catch(m){return Promise.reject(m)}}}}}function my(t){return function(e){return function(r){return function(n){var a=n.type,i=n.key,o=n.value,s=n.options;if(a===Q.setItem||a===Q.removeItem){if(n.abort)return r(n);a===Q.setItem?t.setItem(i,o,s):t.removeItem(i,s)}return r(n)}}}}var gy=function(){var t=this;this.before=[],this.after=[],this.addMiddleware=function(e,r){t[r]=t[r].concat(e)},this.removeMiddleware=function(e,r){var n=t[r].findIndex(function(a){return a===e});n!==-1&&(t[r]=[].concat(t[r].slice(0,n),t[r].slice(n+1)))},this.dynamicMiddlewares=function(e){return function(r){return function(n){return function(a){var i={getState:r.getState,dispatch:function(s){return r.dispatch(s)}},o=t[e].map(function(s){return s(i)});return br.apply(void 0,o)(n)(a)}}}}};function yy(t){return function(e,r){e===void 0&&(e={});var n={};if(r.type==="initialize:aborted")return e;if(/^registerPlugin:([^:]*)$/.test(r.type)){var a=$d(r.type,"registerPlugin"),i=t()[a];if(!i||!a)return e;var o=r.enabled,s=i.config;return n[a]={enabled:o,initialized:!!o&&!i.initialize,loaded:!!o&&!!i.loaded({config:s}),config:s},ee({},e,n)}if(/^initialize:([^:]*)$/.test(r.type)){var u=$d(r.type,Q.initialize),l=t()[u];return l&&u?(n[u]=ee({},e[u],{initialized:!0,loaded:!!l.loaded({config:l.config})}),ee({},e,n)):e}if(/^ready:([^:]*)$/.test(r.type))return n[r.name]=ee({},e[r.name],{loaded:!0}),ee({},e,n);switch(r.type){case Q.disablePlugin:return ee({},e,Ld(r.plugins,!1,e));case Q.enablePlugin:return ee({},e,Ld(r.plugins,!0,e));default:return e}}}function $d(t,e){return t.substring(e.length+1,t.length)}function Ld(t,e,r){return t.reduce(function(n,a){return n[a]=ee({},r[a],{enabled:e}),n},r)}function Lv(t){try{return JSON.parse(JSON.stringify(t))}catch{}return t}var wy={last:{},history:[]};function by(t,e){t===void 0&&(t=wy);var r=e.options,n=e.meta;if(e.type===Q.track){var a=Lv(ee({event:e.event,properties:e.properties},Object.keys(r).length&&{options:r},{meta:n}));return ee({},t,{last:a,history:t.history.concat(a)})}return t}var Sy={actions:[]};function Iy(t,e){t===void 0&&(t=Sy);var r=e.payload;switch(e.type){case"queue":var n;return n=r&&r.type&&r.type===Q.identify?[e].concat(t.actions):t.actions.concat(e),ee({},t,{actions:n});case"dequeue":return[];default:return t}}var qv=/#.*$/;function Py(t){var e=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(t);return"/"+(e&&e[3]?e[3].split("?")[0].replace(qv,""):"")}var jv,Nv,xv,Dv,Ey=function(t){if(t===void 0&&(t={}),!Ce)return t;var e=document,r=e.title,n=e.referrer,a=window,i=a.location,o=a.innerWidth,s=a.innerHeight,u=i.hash,l=i.search,c=(function(h){var d=(function(){if(Ce){for(var v,p=document.getElementsByTagName("link"),g=0;v=p[g];g++)if(v.getAttribute("rel")==="canonical")return v.getAttribute("href")}})();return d?d.match(/\?/)?d:d+h:window.location.href.replace(qv,"")})(l),f={title:r,url:c,path:Py(c),hash:u,search:l,width:o,height:s};return n&&n!==""&&(f.referrer=n),ee({},f,t)},ky={last:{},history:[]};function _y(t,e){t===void 0&&(t=ky);var r=e.options;if(e.type===Q.page){var n=Lv(ee({properties:e.properties,meta:e.meta},Object.keys(r).length&&{options:r}));return ee({},t,{last:n,history:t.history.concat(n)})}return t}jv=(function(){if(!Ce)return!1;var t=navigator.appVersion;return~t.indexOf("Win")?"Windows":~t.indexOf("Mac")?"MacOS":~t.indexOf("X11")?"UNIX":~t.indexOf("Linux")?"Linux":"Unknown OS"})(),Nv=Ce?document.referrer:null,xv=ry(),Dv=ny();var qd={initialized:!1,sessionId:Vn(),app:null,version:null,debug:!1,offline:!!Ce&&!navigator.onLine,os:{name:jv},userAgent:Ce?navigator.userAgent:"node",library:{name:ps,version:"0.13.1"},timezone:Dv,locale:xv,campaign:{},referrer:Nv};function Ty(t,e){t===void 0&&(t=qd);var r=t.initialized,n=e.campaign;switch(e.type){case Q.campaign:return ee({},t,{campaign:n});case Q.offline:return ee({},t,{offline:!0});case Q.online:return ee({},t,{offline:!1});default:return r?t:ee({},qd,t,{initialized:!0})}}var Ry=["plugins","reducers","storage"];function Oy(t,e,r){if(Ce){var n=window[(r?"add":"remove")+"EventListener"];t.split(" ").forEach(function(a){n(a,e)})}}function Cy(t){var e=Oy.bind(null,"online offline",function(r){return Promise.resolve(!navigator.onLine).then(t)});return e(!0),function(r){return e(!1)}}function Mv(){return Zt(ps,[]),function(t){return function(e,r,n){var a=t(e,r,n),i=a.dispatch;return Object.assign(a,{dispatch:function(o){return wr[yr][ps].push(o.action||o),i(o)}})}}}function jd(t){return function(){return br(br.apply(null,arguments),Mv())}}function Yo(t){return t?Tv(t)?t:[t]:[]}function Nd(t,e,r){t===void 0&&(t={});var n,a,i=Vn();return e&&(Fr[i]=(n=e,a=(function(o){for(var s,u=o||Array.prototype.slice.call(arguments),l=0;l<u.length;l++)if(ze(u[l])){s=u[l];break}return s})(r),function(o){a&&a(o),n(o)})),ee({},t,{rid:i,ts:new Date().getTime()},e?{hasCallback:!0}:{})}function Ay(t){t===void 0&&(t={});var e=t.reducers||{},r=t.initialUser||{},n=(t.plugins||[]).reduce(function(I,_){if(ze(_))return I.middlewares=I.middlewares.concat(_),I;if(_.NAMESPACE&&(_.name=_.NAMESPACE),!_.name)throw new Error("https://lytics.dev/errors/1");_.config||(_.config={});var x=_.EVENTS?Object.keys(_.EVENTS).map(function(J){return _.EVENTS[J]}):[];I.pluginEnabled[_.name]=!(_.enabled===!1||_.config.enabled===!1),delete _.enabled,_.methods&&(I.methods[_.name]=Object.keys(_.methods).reduce(function(J,fe){var ne;return J[fe]=(ne=_.methods[fe],function(){for(var ce=Array.prototype.slice.call(arguments),ae=new Array(ne.length),ke=0;ke<ce.length;ke++)ae[ke]=ce[ke];return ae[ae.length]=b,ne.apply({instance:b},ae)}),J},{}),delete _.methods);var H=Object.keys(_).concat(x),Y=new Set(I.events.concat(H));if(I.events=Array.from(Y),I.pluginsArray=I.pluginsArray.concat(_),I.plugins[_.name])throw new Error(_.name+"AlreadyLoaded");return I.plugins[_.name]=_,I.plugins[_.name].loaded||(I.plugins[_.name].loaded=function(){return!0}),I},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),a=t.storage?t.storage:{getItem:Jt,setItem:Zt,removeItem:Or},i=(function(I){return function(_,x,H){return x.getState("user")[_]||(H&&Ke(H)&&H[_]?H[_]:Ed(I)[_]||Jt(gs(_))||null)}})(a),o=n.plugins,s=n.events.filter(function(I){return!ms.includes(I)}).sort(),u=new Set(s.concat(yn).filter(function(I){return!ms.includes(I)})),l=Array.from(u).sort(),c=function(){return o},f=new gy,h=f.addMiddleware,d=f.removeMiddleware,v=f.dynamicMiddlewares,p=function(){throw new Error("Abort disabled inListener")},g=ay(),P=Ed(a),w=ee({},P,r,g.an_uid?{userId:g.an_uid}:{},g.an_aid?{anonymousId:g.an_aid}:{});w.anonymousId||(w.anonymousId=Vn());var y=ee({enable:function(I,_){return new Promise(function(x){S.dispatch({type:Q.enablePlugin,plugins:Yo(I),_:{originalAction:Q.enablePlugin}},x,[_])})},disable:function(I,_){return new Promise(function(x){S.dispatch({type:Q.disablePlugin,plugins:Yo(I),_:{originalAction:Q.disablePlugin}},x,[_])})}},n.methods),m=!1,b={identify:function(I,_,x,H){try{var Y=_t(I)?I:null,J=Ke(I)?I:_,fe=x||{},ne=b.user();Zt(gs(Pt),Y);var ce=Y||J.userId||i(Pt,b,J);return Promise.resolve(new Promise(function(ae){S.dispatch(ee({type:Q.identifyStart,userId:ce,traits:J||{},options:fe,anonymousId:ne.anonymousId},ne.id&&ne.id!==Y&&{previousId:ne.id}),ae,[_,x,H])}))}catch(ae){return Promise.reject(ae)}},track:function(I,_,x,H){try{var Y=Ke(I)?I.event:I;if(!Y||!_t(Y))throw new Error("EventMissing");var J=Ke(I)?I:_||{},fe=Ke(x)?x:{};return Promise.resolve(new Promise(function(ne){S.dispatch({type:Q.trackStart,event:Y,properties:J,options:fe,userId:i(Pt,b,_),anonymousId:i(dr,b,_)},ne,[_,x,H])}))}catch(ne){return Promise.reject(ne)}},page:function(I,_,x){try{var H=Ke(I)?I:{},Y=Ke(_)?_:{};return Promise.resolve(new Promise(function(J){S.dispatch({type:Q.pageStart,properties:Ey(H),options:Y,userId:i(Pt,b,H),anonymousId:i(dr,b,H)},J,[I,_,x])}))}catch(J){return Promise.reject(J)}},user:function(I){if(I===Pt||I==="id")return i(Pt,b);if(I===dr||I==="anonId")return i(dr,b);var _=b.getState("user");return I?yd(_,I):_},reset:function(I){return new Promise(function(_){S.dispatch({type:Q.resetStart},_,I)})},ready:function(I){return m&&I({plugins:y,instance:b}),b.on(Q.ready,function(_){I&&I(_),m=!0})},on:function(I,_){if(!I||!ze(_))return!1;if(I===Q.bootstrap)throw new Error(".on disabled for "+I);var x=/Start$|Start:/;if(I==="*"){var H=function(ne){return function(ce){return function(ae){return ae.type.match(x)&&_({payload:ae,instance:b,plugins:o}),ce(ae)}}},Y=function(ne){return function(ce){return function(ae){return ae.type.match(x)||_({payload:ae,instance:b,plugins:o}),ce(ae)}}};return h(H,fn),h(Y,dn),function(){d(H,fn),d(Y,dn)}}var J=I.match(x)?fn:dn,fe=function(ne){return function(ce){return function(ae){return ae.type===I&&_({payload:ae,instance:b,plugins:o,abort:p}),ce(ae)}}};return h(fe,J),function(){return d(fe,J)}},once:function(I,_){if(!I||!ze(_))return!1;if(I===Q.bootstrap)throw new Error(".once disabled for "+I);var x=b.on(I,function(H){_({payload:H.payload,instance:b,plugins:o,abort:p}),x()});return x},getState:function(I){var _=S.getState();return I?yd(_,I):Object.assign({},_)},dispatch:function(I){var _=_t(I)?{type:I}:I;if(yn.includes(_.type))throw new Error("reserved action "+_.type);var x=ee({},_,{_:ee({originalAction:_.type},I._||{})});S.dispatch(x)},enablePlugin:y.enable,disablePlugin:y.disable,plugins:y,storage:{getItem:a.getItem,setItem:function(I,_,x){S.dispatch({type:Q.setItemStart,key:I,value:_,options:x})},removeItem:function(I,_){S.dispatch({type:Q.removeItemStart,key:I,options:_})}},setAnonymousId:function(I,_){b.storage.setItem(Tt,I,_)},events:{core:yn,plugins:s}},R=n.middlewares.concat([function(I){return function(_){return function(x){return x.meta||(x.meta=Nd()),_(x)}}},v(fn),py(b,c,{all:l,plugins:s}),my(a),ly(b),dy(b),v(dn)]),A={context:Ty,user:fy(a),page:_y,track:by,plugins:yy(c),queue:Iy},j=br,z=br;if(Ce&&t.debug){var V=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;V&&(j=V({trace:!0,traceLimit:25})),z=function(){return arguments.length===0?Mv():Ke(typeof arguments[0])?jd():jd().apply(null,arguments)}}var te,L=(function(I){return Object.keys(I).reduce(function(_,x){return Ry.includes(x)||(_[x]=I[x]),_},{})})(t),M=n.pluginsArray.reduce(function(I,_){var x=_.name,H=_.config,Y=_.loaded,J=n.pluginEnabled[x];return I[x]={enabled:J,initialized:!!J&&!_.initialize,loaded:!!Y({config:H}),config:H},I},{}),N={context:L,user:w,plugins:M},S=Cv((function(I){for(var _=Object.keys(I),x={},H=0;H<_.length;H++){var Y=_[H];typeof I[Y]===Et&&(x[Y]=I[Y])}var J,fe=Object.keys(x);try{(function(ne){Object.keys(ne).forEach(function(ce){var ae=ne[ce];if(typeof ae(void 0,{type:vs})===vt||typeof ae(void 0,{type:sy})===vt)throw new Error(Gr+" "+ce+" "+vt)})})(x)}catch(ne){J=ne}return function(ne,ce){if(ne===void 0&&(ne={}),J)throw J;for(var ae=!1,ke={},Ne=0;Ne<fe.length;Ne++){var De=fe[Ne],Le=ne[De],Qe=(0,x[De])(Le,ce);if(typeof Qe===vt){var St=cy(De,ce);throw new Error(St)}ke[De]=Qe,ae=ae||Qe!==Le}return ae?ke:ne}})(ee({},A,e)),N,z(j(uy.apply(void 0,R))));S.dispatch=(te=S.dispatch,function(I,_,x){var H=ee({},I,{meta:Nd(I.meta,_,Yo(x))});return te.apply(null,[H])});var O=Object.keys(o);S.dispatch({type:Q.bootstrap,plugins:O,config:L,params:g,user:w,initialUser:r,persistedUser:P});var q=O.filter(function(I){return n.pluginEnabled[I]}),F=O.filter(function(I){return!n.pluginEnabled[I]});return S.dispatch({type:Q.registerPlugins,plugins:O,enabled:n.pluginEnabled}),n.pluginsArray.map(function(I,_){var x=I.bootstrap,H=I.config,Y=I.name;x&&ze(x)&&x({instance:b,config:H,payload:I}),S.dispatch({type:Q.registerPluginType(Y),name:Y,enabled:n.pluginEnabled[Y],plugin:I}),n.pluginsArray.length===_+1&&S.dispatch({type:Q.initializeStart,plugins:q,disabled:F})}),Cy(function(I){S.dispatch({type:I?Q.offline:Q.online})}),(function(I,_,x){setInterval(function(){return Uv(I,_,x)},3e3)})(S,c,b),b}var fn="before",dn="after",zt="cookie",xt=zv(),Fv=Jn,Uy=Jn;function Kv(t){return xt?Jn(t,"",-1):Or(t)}function zv(){if(xt!==void 0)return xt;var t=zt+zt;try{Jn(t,t),xt=document.cookie.indexOf(t)!==-1,Kv(t)}catch{xt=!1}return xt}function Jn(t,e,r,n,a,i){if(typeof window<"u"){var o=arguments.length>1;return xt===!1&&(o?Zt(t,e):Jt(t)),o?document.cookie=t+"="+encodeURIComponent(e)+(r?"; expires="+new Date(+new Date+1e3*r).toUTCString()+(n?"; path="+n:"")+(a?"; domain="+a:"")+(i?"; secure":""):""):decodeURIComponent((("; "+document.cookie).split("; "+t+"=")[1]||"").split(";")[0])}}var mt="localStorage",$y=Ws.bind(null,mt);Cr(mt,"getItem",Jt);Cr(mt,"setItem",Zt);Cr(mt,"removeItem",Or);var gt="sessionStorage",Ly=Ws.bind(null,gt);Cr(gt,"getItem",Jt);Cr(gt,"setItem",Zt);Cr(gt,"removeItem",Or);function pr(t){var e=t;try{if((e=JSON.parse(t))==="true")return!0;if(e==="false")return!1;if(Ke(e))return e;parseFloat(e)===e&&(e=parseFloat(e))}catch{}if(e!==null&&e!=="")return e}var qy=$y(),jy=Ly(),Ny=zv();function Ht(t,e){if(t){var r=Vs(e),n=!Xs(r),a=Js(r)?pr(localStorage.getItem(t)):void 0;if(n&&!fr(a))return a;var i=Zs(r)?pr(Fv(t)):void 0;if(n&&i)return i;var o=Ys(r)?pr(sessionStorage.getItem(t)):void 0;if(n&&o)return o;var s=Jt(t);return n?s:{localStorage:a,sessionStorage:o,cookie:i,global:s}}}function _n(t,e,r){if(t&&!fr(e)){var n={},a=Vs(r),i=JSON.stringify(e),o=!Xs(a);return Js(a)&&(n[mt]=hn(mt,e,pr(localStorage.getItem(t))),localStorage.setItem(t,i),o)?n[mt]:Zs(a)&&(n[zt]=hn(zt,e,pr(Fv(t))),Uy(t,i),o)?n[zt]:Ys(a)&&(n[gt]=hn(gt,e,pr(sessionStorage.getItem(t))),sessionStorage.setItem(t,i),o)?n[gt]:(n[Ft]=hn(Ft,e,Jt(t)),Zt(t,e),o?n[Ft]:n)}}function xy(t,e){if(t){var r=Vs(e),n=Ht(t,Ev),a={};return!fr(n.localStorage)&&Js(r)&&(localStorage.removeItem(t),a[mt]=n.localStorage),!fr(n.cookie)&&Zs(r)&&(Kv(t),a[zt]=n.cookie),!fr(n.sessionStorage)&&Ys(r)&&(sessionStorage.removeItem(t),a[gt]=n.sessionStorage),!fr(n.global)&&Zn(r,Ft)&&(Or(t),a[Ft]=n.global),a}}function Vs(t){return t?_t(t)?t:t.storage:Pv}function Js(t){return qy&&Zn(t,mt)}function Zs(t){return Ny&&Zn(t,zt)}function Ys(t){return jy&&Zn(t,gt)}function Xs(t){return t===Ev||t==="all"}function Zn(t,e){return t===Pv||t===e||Xs(t)}function hn(t,e,r){return{location:t,current:e,previous:r}}var Dy={setItem:_n,getItem:Ht,removeItem:xy};function My(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function xd(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,n)}return r}function Dd(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?xd(Object(r),!0).forEach(function(n){My(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):xd(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function Fy(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e={storage:Dy};return Ay(Dd(Dd({},e),t))}const Qs="@sesamy/sesamy-js",Yn="1.69.0";function Ky(t){if(typeof window>"u")return;const{addEventListener:e,history:r,location:n}=window;let a=n.pathname;e("popstate",()=>t(n.pathname)),["push","replace"].map(i=>{const o=`${i}State`;if(o!=="pushState"&&o!=="replaceState")return;const s=r[o];r[o]=function(...u){const l=u[2]?.toString()||"",c=Hy(l);return a!==c&&(a=c,setTimeout(()=>t(l),0)),s.apply(r,u)}})}function zy(t,e){const r=t.indexOf(e);return r>-1?t.slice(0,r):t}function Hy(t){return["#","?"].forEach(e=>t=zy(t,e)),t}function By(){Ky(()=>{dt.page()})}var Xo="up",Qo="down";function Gy(t){if(t===void 0&&(t={}),!Ce)return hs;var e=Fd(),r=ys(),n=Md(),a=vn(n,e),i=vn(r,e),o=[],s=[],u=[],l=n,c=a,f=i,h=Object.keys(t);if(!h.length)return hs;var d=h.map(function(p){return Number(p)}),v=oy(function(){var p=Fd(),g=(function(L,M){return M.map(function(N){return N===100?L-5:L*(N/100)})})(p,d),P=ys(),w=Md(),y=vn(w,p),m=vn(P,p);if(c=y>c?y:c,f=m<f?m:f,!(o.length>=d.length)){var b=l===w,R=Xo;b?R="initial":l<=w&&(R=Qo);var A=g,j=d;(R===Xo||b)&&(A=g.slice().reverse(),j=d.slice().reverse());var z=j.reduce(function(L,M,N){var S=A[N];return u.includes(M)&&w<=S&&(u=u.filter(function(O){return O!==M}),L.singleFunction=M),R===Qo&&!o.includes(M)&&w>=S&&M>i?(s.push(M),L.callbacks=L.callbacks.concat(M),L):R===Xo&&!o.includes(M)&&w<=S&&M<=y?(L.foundFunc=[M],L):(b&&w>=S&&L.foundFunc.length===0&&(L.foundFunc=[M]),!s.includes(M)&&w>=S&&(s.push(M),L.singleFunction?u.push(M):L.singleFunction=M),L)},{foundFunc:[],singleFunction:null,callbacks:[],direction:R});if(l=w,R===Qo&&z.callbacks&&z.callbacks.forEach(function(L){ze(t[L])&&(t[L]({trigger:L,direction:R,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(L))}),z.singleFunction){var V=z.singleFunction,te=z.direction;ze(t[V])&&t[V]({trigger:V,direction:te,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(V)}}},500);return window.addEventListener("scroll",v),function(){return window.removeEventListener("scroll",v)}}function ys(){return Ce?document.body.scrollTop||document.documentElement.scrollTop:0}function Wy(){return Ce?window.innerHeight||document.documentElement.clientHeight:0}function Md(){return Math.round(ys()+Wy())}function Fd(){if(!Ce)return 0;var t=document.body,e=document.documentElement;return Math.max(t.scrollHeight,t.offsetHeight,e.clientHeight,e.scrollHeight,e.offsetHeight)}function vn(t,e){return Math.round(t/e*100)}var ec="Event",Kd=ec+"Listener";function Vy(t){return function(e,r,n,a){var i=n||hs,o=a||!1;if(!Ce)return i;var s=Tn(r),u=Tn(e,!0);if(!u.length)throw new Error("noElements");if(!s.length)throw new Error("no"+ec);var l=[];return(function c(f){f&&(l=[]);for(var h=f?"add"+Kd:"remove"+Kd,d=0;d<u.length;d++){var v=u[d];l[d]=f?o&&o.once?Jy(i):i:l[d]||i;for(var p=0;p<s.length;p++)v[h]?v["on"+s[p]]=f?l[d]:null:v[h](s[p],l[d],o)}return c.bind(null,!f)})(t)}}function Tn(t,e){if(_t(t))return e?Tn(document.querySelectorAll(t)):(r=t).split(r.indexOf(",")>-1?",":" ").map(function(o){return o.trim()});var r;if(NodeList.prototype.isPrototypeOf(t)){for(var n=[],a=t.length>>>0;a--;)n[a]=t[a];return n}var i=ty(t);return e?i.map(function(o){return _t(o)?Tn(o,!0):o}).flat():i}function Jy(t,e){var r;return function(){return t&&(r=t.apply(this,arguments),t=null),r}}var es=Vy(ec);function Hv(t,e){return Ce&&ze(window[t])?(r=window[t],n=e,(a=window)===void 0&&(a=null),ze(r)?function(){r.apply(a,arguments),n.apply(a,arguments)}:n):window[t]=e;var r,n,a}Hv.bind(null,"onerror");Hv.bind(null,"onload");var Bv=typeof window>"u",zd="hidden";function Zy(t){if(Bv)return!1;var e=Yy(),r="".concat(e.replace(/[H|h]idden/,""),"visibilitychange"),n=function(){return t(!!document[e])},a=function(){return document.addEventListener(r,n)};return a(),function(){return document.removeEventListener(r,n),a}}function Yy(){var t=["webkit","moz","ms","o"];return Bv||zd in document?zd:t.reduce(function(e,r){var n=r+"Hidden";return!e&&n in document?n:e},null)}var Xy=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function Qy(t,e){e===void 0&&(e={});var r=(function(o,s){var u=this,l=!1;return function(c){l||(o.call(u,c),l=!0,setTimeout(function(){return l=!1},s))}})(t,e.throttle||1e4),n=[];function a(){var o=Zy(function(s){s||r({type:"tabVisible"})});return n=[o].concat(Xy.map(function(s){return es(document,s,r)})).concat(es(window,"load",r)).concat(es(window,"scroll",r,{capture:!0,passive:!0})),i}function i(){n.map(function(o){return o()})}return a(),function(){return i(),a}}function ew(t){var e,r,n=t.onIdle,a=t.onWakeUp,i=t.onHeartbeat,o=t.timeout,s=o,u=t.throttle,l=u===void 0?2e3:u,c=!1,f=!1,h=new Date,d=function(){return clearTimeout(e)};function v(g){d(),i&&!c&&i(xr(h),g),a&&c&&(c=!1,a(xr(r),g),h=new Date),e=setTimeout(function(){c=!0,n&&(r=new Date,n(xr(h),g))},s)}var p=Qy(v,{throttle:l});return{disable:function(){f=!0,c=!1,d();var g=p();return function(){return f=!1,h=new Date,v({type:"load"}),g()}},getStatus:function(){return{isIdle:c,isDisabled:f,active:c?0:xr(h,f),idle:c?xr(r,f):0}}}}function xr(t,e){return e?0:Math.round((new Date-t)/1e3)}const Hd=5e3;class tw{element;isInViewport=!1;isAwake=!1;isFlushing;observer;lastEventAt=Date.now();registeredView=!1;viewCallback;activeDurationCallback;idleDurationCallback;scrollCallback;constructor(e){this.element=e.element,this.viewCallback=e.viewCallback,this.activeDurationCallback=e.activeDurationCallback,this.idleDurationCallback=e.idleDurationCallback,this.scrollCallback=e.scrollCallback,this.observer=new IntersectionObserver(r=>{r.forEach(n=>{this.handleInViewPort(n.isIntersecting)})},{threshold:0}),this.observer.observe(this.element),ew({onIdle:r=>this.handleAwake(!1,r),onWakeUp:r=>this.handleAwake(!0,r),timeout:Hd}),Gy({25:this.handleScroll.bind(this),50:this.handleScroll.bind(this),75:this.handleScroll.bind(this),90:this.handleScroll.bind(this),100:this.handleScroll.bind(this)})}flush(){this.isFlushing=!0,this.handleAwake(!this.isAwake)}handleInViewPort(e){e?(this.isAwake=!0,this.trackInViewport()):this.handleAwake(!1),this.isInViewport=e}handleAwake(e,r=Math.round((Date.now()-this.lastEventAt)/1e3)){this.isAwake=e,this.lastEventAt=e?Date.now()-r*Hd:Date.now(),this.isInViewport&&this.trackAwake(e,r)}handleScroll(e){this.scrollCallback&&this.scrollCallback(e)}handleVisibilityChange(){this.isAwake=!1;const e=Math.round((Date.now()-this.lastEventAt)/1e3);e>1&&(this.lastEventAt=Date.now(),this.trackAwake(!1,e))}trackAwake(e,r){!e&&this.activeDurationCallback&&this.activeDurationCallback(r,this.isFlushing,this.lastEventAt),e&&this.idleDurationCallback&&this.idleDurationCallback(r,this.isFlushing,this.lastEventAt)}trackInViewport(){this.registeredView||(this.registeredView=!0,this.viewCallback&&this.viewCallback())}}function Gv(t){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}function rw(t,e){e=e||{};var r,n,a=[],i=e.max||1/0;function o(){clearInterval(r),t(a.splice(0,i)),s()}function s(){r=setInterval(o,e.interval||1e4)}return s(),{flush:o,push:function(u){return n=a.push(u),n>=i&&o(),n},size:function(){return a.length},end:function(u){u&&o(),clearInterval(r)}}}const Bd="sesamy_session_id";function nw(){let t=sessionStorage.getItem(Bd);return t||(t=Math.random().toString(36).slice(2,9),sessionStorage.setItem(Bd,t)),t}function Wv(t){function e(n){return n.id?`#${n.id}`:n.classList.length>0?Array.from(n.classList).map(i=>`.${i}`).join(""):null}function r(n){const a=[];let i=n;for(;i&&i!==document.body&&i!==document.documentElement;){const o=e(i);if(o){a.unshift(o);break}if(i.parentElement){const s=Array.from(i.parentElement.children),u=s.indexOf(i)+1,l=i.tagName.toLowerCase();s.filter(f=>f.tagName.toLowerCase()===l).length>1?a.unshift(`${l}:nth-child(${u})`):a.unshift(l)}i=i.parentElement}return a.join(" > ")}return r(t)}function aw(t){return t?Object.fromEntries(Object.entries(t).filter(([e,r])=>r!==void 0)):{}}let Fe={article:{selector:"sesamy-article"},image:{selector:"img",attribute:"src"},title:{selector:"h1",attribute:"textContent"},excerpt:{selector:"p",attribute:"textContent"},price:{selector:"sesamy-article",attribute:"price"},currency:{selector:"sesamy-article",attribute:"currency"},url:{selector:"sesamy-article",attribute:"item-src"},accessLevel:{selector:"sesamy-article",attribute:"access-level"},id:{selector:"sesamy-article",attribute:"publisher-content-id"},pass:{selector:"sesamy-article",attribute:"pass"},paywallUrl:{selector:"sesamy-article",attribute:"paywall-url"}},Vv=[],Jv=!1,Bt;function Zv(){const t=window.location.pathname;return Vv.find(e=>e.path?t.includes(e.path):!0)}function iw(t,e){Vv=t.content||[];const r=Zv();r&&r.type==="article"&&(Fe={...Fe,...aw(r.selectors)},Jv=r.enablePaywallSettingsUrlFallback||!1),Bt=e}function ow(t,e){const{selector:r}=e;return r===Fe.article.selector||t.matches(r)?t:t.querySelector(r)}function Yv(t,e){if(t)return e.attribute?e.attribute==="textContent"?t.textContent??void 0:t.getAttribute(e.attribute)??Yv(t.parentElement,e):t.textContent??void 0}function mr(t){const e=document.head.querySelectorAll(`[property~='${t}'][content]`);for(let n=0;n<e.length;n+=1)if(e[n].content)return e[n].content;const r=document.head.querySelectorAll(`[name~='${t}'][content]`);for(let n=0;n<r.length;n+=1)if(r[n].content)return r[n].content}function tc({publisherContentId:t,key:e,defaultValue:r=""}){return(t?document.body.querySelector(`sesamy-content-data[id='${t}']`):null)?.getAttribute(e)||mr(`sesamy:${e}`)||mr(`og:${e}`)||mr(e)||r}function Xv(){const t=document.querySelectorAll(Fe.article.selector);return Array.from(t).map(on).filter(e=>e!==null)}function on(t){const e=typeof t=="string"?document.querySelector(t):t;if(!e)return null;const r={element:e,selector:typeof t=="string"?t:Wv(e)},n=(i,o,s,u)=>{const l=ow(e,o);if(l){const c=Yv(l,o)||tc({publisherContentId:s,key:i});c!==void 0&&(r[i]=u?u(c):c)}};n("id",Fe.id),n("title",Fe.title,r.id),n("excerpt",Fe.excerpt,r.id),n("image",Fe.image,r.id),n("price",Fe.price,r.id,i=>parseFloat(i)),n("currency",Fe.currency,r.id),n("url",Fe.url,r.id),n("pass",Fe.pass,r.id),n("paywallUrl",Fe.paywallUrl,r.id),n("accessLevel",Fe.accessLevel,r.id,i=>i||"entitlement");const a=Zv();if(a&&a.type==="article"&&(a.pass&&(r.pass=r.pass?`${r.pass},${a.pass}`:a.pass),a.price&&!r.price&&(r.price=a.price.amount),a.price?.currency&&!r.currency&&(r.currency=a.price.currency),a.paywallUrl&&!r.paywallUrl&&(r.paywallUrl=a.paywallUrl)),Jv&&!r.paywallUrl){const i=document.querySelector("sesamy-paywall");if(i){const o=i.getAttribute("settings-url");o&&(r.paywallUrl=o)}}return r.url||(r.url=window.location.href),r}async function sw(t){const e=on(t);if(!e)throw new Error("Could not find article element");if(e.paywallUrl&&((await Bt.paywalls.get(e.paywallUrl)).settings.template==="LOGIN"?"logged-in":"entitlement")==="logged-in")return await Bt.auth.isAuthenticated()?{}:null;if(!e.url)throw new Error("Article must have a URL");return await Bt.entitlements.hasAccess(e.url,e.pass?.split(",")||[])||null}async function Qv(t,e){const r=typeof t=="string"?document.querySelector(t):t;if(!r)throw new Error("Could not find element");const n=on(r);if(!n?.url)throw new Error("Could not find content for element");const a=await Bt.entitlements.hasAccess(n.url||"",n.pass?.split(",")||[]);if(!a)throw new Error("User does not have access to the content");const i=await Bt.entitlements.access(a.id);if(!i.token)throw new Error("Could not get access token");const o=e||Wv(r.parentElement||r);return Bt.proxy.getContent(i.token,n.url,o)}let ep=!1,wn,Rn,ws;function tp(t){return JSON.stringify(t.map(e=>{const{campaign:r,...n}=e.properties||{};return{anonymousId:e.anonymousId,userId:e.userId,type:e.type,properties:n,clientId:ws,requestId:Math.random().toString(36).slice(2,9),sessionId:nw(),timestamp:new Date().toISOString(),version:Yn,event:e.event,context:{...e.context,page:{url:window.location.href,title:document.title,referrer:document.referrer,itemSrc:mr("sesamy:item-src"),publisherContentId:mr("sesamy:publisher-content-id")},campaign:r,locale:navigator.language,library:Qs,userAgent:navigator.userAgent,clientId:ws}}}))}const rp=rw(async t=>{if(t.length>0){const e=tp(t);ep?navigator.sendBeacon(Rn,e):(await fetch(Rn,{method:"POST",body:e,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function ts(t){if(t.anonymousId)if(t.properties?.flushing){const e={...t};delete e.properties.flushing,navigator.sendBeacon(Rn,tp([e]))}else rp.push(t)}function cw(){return ep=!0,rp.flush()}function uw(t,e,r){wn=e,Rn=`${ot("logs",r)}/events`,ws=t}const lw={name:"custom-analytics-plugin",page:({payload:t})=>{if(!wn)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;ts({anonymousId:r,userId:n,properties:e,event:a,type:"page"})},track:({payload:t})=>{if(!wn)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;ts({anonymousId:r,userId:n,properties:e,event:a,type:"track"})},identify:({payload:t})=>{if(!wn)return;const{properties:e,anonymousId:r,userId:n}=t;ts({anonymousId:r,userId:n,properties:e,type:"identify"})}},Gd=["source","medium","campaign","term","content"],kt="utm_",fw=1800*1e3;function np(t){return t?Date.now()-parseInt(t,10)>fw:!0}function Wd(){const t=document.referrer||"";if(!t)return;const e=Ht(`${kt}set_at`);(np(e)||!Ht(`${kt}referrer`))&&_n(`${kt}referrer`,t)}function dw(){const t=()=>{const r={};for(const a of Gd){const i=Ht(`${kt}${a}`);i&&(r[`utm_${a}`]=i)}const n=Ht(`${kt}referrer`);return n&&(r.utm_referrer=n),r};return{name:"attribution-tracking",initialize(){Wd()},campaign({payload:r}){const n=r?.campaign||{},a=Ht(`${kt}set_at`);if(Object.keys(n).length>0&&np(a)){for(const o of Gd){const s=n[o];s&&_n(`${kt}${o}`,s)}_n(`${kt}set_at`,String(Date.now()))}Wd()},page({payload:r}){return r.properties.campaign=t(),r},track({payload:r}){return r.properties.campaign=t(),r},getStoredCampaignData:t}}const hw=dw(),Vd=new Map,Jd=new Map;function vw({clientId:t,enabled:e=!0,environment:r}){uw(t,e,r),e&&(window.addEventListener("beforeunload",()=>{Jd.forEach((n,a)=>{n.bind(a)()}),cw()}),window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&Vd.forEach((n,a)=>{n.bind(a)()})}),By(),Gv(()=>{const n=new tw({element:document.body,viewCallback:()=>{dt.page()},activeDurationCallback:(a,i,o)=>{dt.track("activeDuration",{duration:a,durationStart:o,flushing:i})},idleDurationCallback:(a,i,o)=>{dt.track("idleDuration",{duration:a,durationStart:o,flushing:i})},scrollCallback:a=>{dt.track("scroll",{scroll:a.scrollMax})}});Jd.set(document.body,()=>{n.flush()}),Vd.set(document.body,()=>{n.handleVisibilityChange()})}),window.addEventListener(Be.AUTHENTICATED,async n=>{const a=n;await dt.identify(a.detail.sub)}),window.addEventListener(Be.LOGOUT,async()=>{await dt.track("logout",{}),await dt.reset()}))}const dt=Fy({app:Qs,version:Yn,plugins:[hw,lw]});function ap(t,e){dt.track(t,e)}function ip(t,e,r=!1){const n={name:t,data:e},a=new CustomEvent(t,{detail:n,cancelable:r,bubbles:!0});ap(`event:${t}`,{...e,timestamp:new Date().toISOString()});const i=window.dispatchEvent(a);return r&&!i?{canceled:!0,message:n.cancellationMessage}:{canceled:!1}}function pw(t,e){t.cancelable&&(t.detail.cancellationMessage=e,t.preventDefault())}function mw(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function gw(){return/android/i.test(navigator.userAgent)}let Oe,op,Wr,bs=!1,bn=!1;Jr()&&window.addEventListener("pageshow",()=>{bn=!1});const Sr="sesamyAccessToken",rs="sesamyRefreshToken",On="sesamySilentAuthThrottle",yw=300*1e3;async function Xn(){return bs?!0:new Promise((t,e)=>{const r=setTimeout(()=>{bs?t(!0):e(new Error("Initialization failed: Timeout"))},2e3);window.addEventListener(Be.AUTH_INITIALIZED,()=>{clearTimeout(r),t(!0)})})}async function ww(t){if(!t)return null;const e=localStorage.getItem(rs);if(!e)return le("No refresh token found in localstorage"),null;const r=new URLSearchParams;r.set("client_id",t.iss),r.set("refresh_token",e),r.set("grant_type","refresh_token");const n=new URL(t.iss);n.pathname="/oauth/token",n.searchParams.set("user_id",t.sub);try{const a=await fetch(n.href,{body:r.toString(),method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"}});if(!a.ok)throw localStorage.removeItem(rs),new Error("Renew token failed");const i=await a.json();return localStorage.setItem(rs,i.refresh_token),localStorage.setItem(Sr,i.access_token),i.access_token}catch{ac()}}async function rc(){const t=localStorage.getItem(Sr);if(!t)return null;const e=ic(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3){const r=await ww(e);if(r)return r;localStorage.removeItem(Sr)}return t}let pn=null;const bw=64;function Sw(){try{if(pn!==null)return pn;const e=Object.keys(localStorage).filter(r=>r.startsWith("@@auth0spajs@@"));for(const r of e){const n=JSON.parse(localStorage.getItem(r)||"{}");let a;if(typeof n=="object"&&(n.body&&typeof n.body=="object"&&"refresh_token"in n.body?a=n.body.refresh_token:"refresh_token"in n&&(a=n.refresh_token)),a&&typeof a=="string"&&a.length===bw)return pn=!0,!0}}catch(t){le(`Error checking for existing auth0 tokens: ${t.message}`)}return pn=!1,!1}function Iw(t){if(t.domains&&t.domains.length>0){const e=Ir(window.location.href);if(e){for(const r of t.domains)if(Ir(`https://${r}`)===e)return le(`Found matching domain in domains array: ${r} for TLD: ${e}`),r;le(`No matching domain found in domains array for TLD: ${e}`)}}if(t.domain)return le(`Using fallback domain property: ${t.domain}`),t.domain}function Ir(t){try{const e=new URL(t).hostname,r=e.split(".");if(r.length<=1)return e;const n=["co.uk","com.au","co.nz","co.za","com.br","co.jp","gov.uk","ac.uk","org.uk","net.uk","com.sg","com.my","co.in","co.id","co.th","co.kr","com.mx","com.ar","com.co","com.pe","com.ph","com.pk","com.sa","com.eg","com.ng","co.ke","co.tz","co.zw","co.bw","co.mz","gov.au","edu.au","org.au","net.au","asn.au","id.au"];for(const a of n)if(e.endsWith(`.${a}`)){const i=a.split(".").length+1;return r.slice(-i).join(".")}return r.slice(-2).join(".")}catch{return null}}async function Pw(t){if(t.enabled===!1)return;op=t.organization;const e=Iw(t);Wr=e&&!Sw()?e:Iv("token",t.environment);const r={domain:Wr,clientId:t.clientId,useCookiesForTransactions:!0};r.cacheLocation="localstorage",Ir(window.location.href)!==Ir(`https://${Wr}`)&&(r.useRefreshTokens=!0),le(`Initializing auth0 client: ${JSON.stringify(r)}`),Oe=await Rg(r);const n=new URLSearchParams(window.location.search),a=n.get("code"),i=n.get("state");if(a)if(window.opener)le("Code found in URL, posting to opener"),window.opener.postMessage({type:"authorization_response",response:{code:a,state:i}},window.location.origin);else{le("Code found in URL, handling redirect");try{const u=await Oe.handleRedirectCallback();le(`Login result: ${JSON.stringify(u)}`);const l=await Oe.getUser();if(!l)throw le("No user found"),new Error("No user found");le(`User found ${JSON.stringify(l)}`),nc(),Wt(Be.AUTHENTICATED,l),le("Rewrite url")}catch(u){alert("There was an error logging in"),console.error(u)}const o=new URL(location.href),s=o.searchParams;s.delete("code"),s.delete("state"),o.search=s.toString(),window.history.replaceState({},document.title,o.toString())}bs=!0,Wt(Be.AUTH_INITIALIZED,{})}async function gr(){return await Xn(),await rc()?!0:Oe?Oe.isAuthenticated():!1}async function Ew(){return await Xn(),await rc()?(le("Using local user"),{sub:"local",name:"Local User"}):Oe?Oe.getUser():null}function sp(t){if(bn)return le("Login already in progress"),null;if(bn=!0,setTimeout(()=>{bn=!1},3e3),localStorage.removeItem(Sr),!Oe)throw new Error("Auth0 client not initialized");const e=t?.authorizationParams||{};return{...t,authorizationParams:{organization:op,redirect_uri:window.location.href,ui_locales:Br(),incognito:Gs(),...e}}}async function Qn(t){const e=sp(t);if(e)return Oe.loginWithRedirect(e)}async function cp(t){const e=sp(t);if(!e)return;await Oe.loginWithPopup(e,{timeoutInSeconds:1800}),nc(),ip(Be.AUTHENTICATED,await Oe.getUser()).canceled||window.location.reload()}async function kw(t){return Wr&&Ir(window.location.href)!==Ir(`https://${Wr}`)&&(mw()||gw()||Gs())?cp(t):Qn(t)}function _w(){try{const t=sessionStorage.getItem(On);if(!t)return!1;const{timestamp:e}=JSON.parse(t);return Date.now()-e<yw}catch{return sessionStorage.removeItem(On),!1}}function Tw(){try{const t={timestamp:Date.now()};sessionStorage.setItem(On,JSON.stringify(t))}catch{le("Failed to set silent auth throttle in sessionStorage")}}function nc(){try{sessionStorage.removeItem(On)}catch{}}async function qt(t=!0,e=!1){await Xn();const r=await rc();if(r)return r;if(!e&&_w()){if(le("Silent auth is throttled due to recent failures, skipping request"),t)throw new Error("Silent auth throttled");return null}try{if(!Oe)return le("Auth client not initialized"),null;let n=await Oe.getTokenSilently();const a=ic(n);return e&&a?.exp&&a.exp+3600<new Date().getTime()/1e3&&(n=await Oe.getTokenSilently({cacheMode:e?"off":"on"})),nc(),n}catch(n){const a=n;if(le(`Failed to get token silently: ${a.message}`),Tw(),await Oe.isAuthenticated()&&(a.message==="Invalid refresh token"||a.message.includes("Missing Refresh Token"))&&await ac(),t)throw n;return null}}async function ac(t={}){if(await Xn(),localStorage.removeItem(Sr),Wt(Be.LOGOUT,{}),!!Oe)return le(`Logout with options: ${JSON.stringify(t)}`),Oe.logout({...t,logoutParams:{returnTo:window.location.href,...t.logoutParams}})}function ic(t){const e=t.split(".");if(e.length!==3)return null;const n=e[1].replace(/-/g,"+").replace(/_/g,"/"),a=decodeURIComponent(atob(n).split("").map(function(i){return"%"+("00"+i.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(a)}async function Ss(t){const e=ic(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3)throw new Error("Invalid token");le("Set token"),localStorage.setItem(Sr,t),Wt(Be.AUTHENTICATED,e)}const Rw=(t,e)=>e.skipDedupe||e.method!=="GET",Ow=(t,e)=>e.method+"@"+t,Cw=t=>t.clone(),Aw=({skip:t=Rw,key:e=Ow,resolver:r=Cw}={})=>{const n=new Map;return a=>(i,o)=>{if(t(i,o))return a(i,o);const s=e(i,o);if(!n.has(s))n.set(s,[]);else return new Promise((u,l)=>{n.get(s).push([u,l])});try{return a(i,o).then(u=>(n.get(s).forEach(([l])=>l(r(u))),n.delete(s),u)).catch(u=>{throw n.get(s).forEach(([,l])=>l(u)),n.delete(s),u})}catch(u){return n.delete(s),Promise.reject(u)}}},Uw=(t,e)=>t*e,$w=t=>t&&t.ok,Lw=({delayTimer:t=500,delayRamp:e=Uw,maxAttempts:r=10,until:n=$w,onRetry:a=null,retryOnNetworkError:i=!1,resolveWithLatestResponse:o=!1,skip:s}={})=>u=>(l,c)=>{let f=0;if(s&&s(l,c))return u(l,c);const h=(d,v)=>Promise.resolve(n(d,v)).then(p=>p?d&&o?d:v?Promise.reject(v):d:(f++,!r||f<=r?new Promise(g=>{const P=e(t,f);setTimeout(()=>{typeof a=="function"?Promise.resolve(a({response:d,error:v,url:l,options:c})).then((w={})=>{var y,m;g(u((y=w&&w.url)!==null&&y!==void 0?y:l,(m=w&&w.options)!==null&&m!==void 0?m:c))}):g(u(l,c))},P)}).then(h).catch(g=>{if(!i)throw g;return h(null,g)}):d&&o?d:Promise.reject(v||new Error("Number of attempts exceeded."))));return u(l,c).then(h).catch(d=>{if(!i)throw d;return h(null,d)})};class Vr extends Error{status;statusText;url;body;constructor(e,r,n,a,i){super(a),this.name="APIError",this.status=e,this.statusText=r,this.url=n,this.body=i,Error.captureStackTrace&&Error.captureStackTrace(this,Vr)}isClientError(){return this.status>=400&&this.status<500}isServerError(){return this.status>=500}isForbiddenError(){return this.status===403}isNotFoundError(){return this.status===404}}var Cn=(t=>(t.BROWSER="browser",t.NORMAL="normal",t))(Cn||{});const qw="application/json",up="Content-Type",or=Symbol(),lp=Symbol();function Zd(t={}){var e;const r=t instanceof Array?Object.fromEntries(t):t;return(e=Object.entries(r).find(([n])=>n.toLowerCase()===up.toLowerCase()))===null||e===void 0?void 0:e[1]}function Yd(t){return/^application\/.*json.*/.test(t)}const Gt=function(t,e,r=!1){return Object.entries(e).reduce((n,[a,i])=>{const o=t[a];return Array.isArray(o)&&Array.isArray(i)?n[a]=r?[...o,...i]:i:typeof o=="object"&&typeof i=="object"?n[a]=Gt(o,i,r):n[a]=i,n},{...t})},Pr={options:{},errorType:"text",polyfills:{},polyfill(t,e=!0,r=!1,...n){const a=this.polyfills[t]||(typeof self<"u"?self[t]:null)||(typeof global<"u"?global[t]:null);if(e&&!a)throw new Error(t+" is not defined");return r&&a?new a(...n):a}};function jw(t,e=!1){Pr.options=e?t:Gt(Pr.options,t)}function Nw(t,e=!1){Pr.polyfills=e?t:Gt(Pr.polyfills,t)}function xw(t){Pr.errorType=t}const Dw=t=>e=>t.reduceRight((r,n)=>n(r),e)||e;class fp extends Error{}const Mw=t=>{const e=Object.create(null);t=t._addons.reduce((y,m)=>m.beforeRequest&&m.beforeRequest(y,t._options,e)||y,t);const{_url:r,_options:n,_config:a,_catchers:i,_resolvers:o,_middlewares:s,_addons:u}=t,l=new Map(i),c=Gt(a.options,n);let f=r;const h=Dw(s)((y,m)=>(f=y,a.polyfill("fetch")(y,m)))(r,c),d=new Error,v=h.catch(y=>{throw{[or]:y}}).then(y=>{var m;if(!y.ok){const b=new fp;if(b.cause=d,b.stack=b.stack+`
|
|
36
|
-
CAUSE: `+d.stack,b.response=y,b.status=y.status,b.url=f,y.type==="opaque")throw b;const R=a.errorType==="json"||((m=y.headers.get("Content-Type"))===null||m===void 0?void 0:m.split(";")[0])==="application/json";return(a.errorType?R?y.text():y[a.errorType]():Promise.resolve(y.body)).then(A=>{if(b.message=typeof A=="string"?A:y.statusText,A)if(R&&typeof A=="string"){b.text=A;try{b.json=JSON.parse(A)}catch{}}else b[a.errorType]=A;throw b})}return y}),p=y=>y.catch(m=>{const b=Object.prototype.hasOwnProperty.call(m,or),R=b?m[or]:m,A=R?.status&&l.get(R.status)||l.get(R?.name)||b&&l.has(or)&&l.get(or);if(A)return A(R,t);const j=l.get(lp);if(j)return j(R,t);throw R}),g=y=>m=>p(y?v.then(b=>b&&b[y]()).then(b=>m?m(b):b):v.then(b=>m?m(b):b)),P={_wretchReq:t,_fetchReq:h,_sharedState:e,res:g(null),json:g("json"),blob:g("blob"),formData:g("formData"),arrayBuffer:g("arrayBuffer"),text:g("text"),error(y,m){return l.set(y,m),this},badRequest(y){return this.error(400,y)},unauthorized(y){return this.error(401,y)},forbidden(y){return this.error(403,y)},notFound(y){return this.error(404,y)},timeout(y){return this.error(408,y)},internalError(y){return this.error(500,y)},fetchError(y){return this.error(or,y)}},w=u.reduce((y,m)=>({...y,...typeof m.resolver=="function"?m.resolver(y):m.resolver}),P);return o.reduce((y,m)=>m(y,t),w)},Fw={_url:"",_options:{},_config:Pr,_catchers:new Map,_resolvers:[],_deferred:[],_middlewares:[],_addons:[],addon(t){return{...this,_addons:[...this._addons,t],...t.wretch}},errorType(t){return{...this,_config:{...this._config,errorType:t}}},polyfills(t,e=!1){return{...this,_config:{...this._config,polyfills:e?t:Gt(this._config.polyfills,t)}}},url(t,e=!1){if(e)return{...this,_url:t};const r=this._url.split("?");return{...this,_url:r.length>1?r[0]+t+"?"+r[1]:this._url+t}},options(t,e=!1){return{...this,_options:e?t:Gt(this._options,t)}},headers(t){const e=t?Array.isArray(t)?Object.fromEntries(t):"entries"in t?Object.fromEntries(t.entries()):t:{};return{...this,_options:Gt(this._options,{headers:e})}},accept(t){return this.headers({Accept:t})},content(t){return this.headers({[up]:t})},auth(t){return this.headers({Authorization:t})},catcher(t,e){const r=new Map(this._catchers);return r.set(t,e),{...this,_catchers:r}},catcherFallback(t){return this.catcher(lp,t)},resolve(t,e=!1){return{...this,_resolvers:e?[t]:[...this._resolvers,t]}},defer(t,e=!1){return{...this,_deferred:e?[t]:[...this._deferred,t]}},middlewares(t,e=!1){return{...this,_middlewares:e?t:[...this._middlewares,...t]}},fetch(t=this._options.method,e="",r=null){let n=this.url(e).options({method:t});const a=Zd(n._options.headers),i=this._config.polyfill("FormData",!1),o=typeof r=="object"&&!(i&&r instanceof i)&&(!n._options.headers||!a||Yd(a));return n=r?o?n.json(r,a):n.body(r):n,Mw(n._deferred.reduce((s,u)=>u(s,s._url,s._options),n))},get(t=""){return this.fetch("GET",t)},delete(t=""){return this.fetch("DELETE",t)},put(t,e=""){return this.fetch("PUT",e,t)},post(t,e=""){return this.fetch("POST",e,t)},patch(t,e=""){return this.fetch("PATCH",e,t)},head(t=""){return this.fetch("HEAD",t)},opts(t=""){return this.fetch("OPTIONS",t)},body(t){return{...this,_options:{...this._options,body:t}}},json(t,e){const r=Zd(this._options.headers);return this.content(e||Yd(r)&&r||qw).body(JSON.stringify(t))}};function ct(t="",e={}){return{...Fw,_url:t,_options:e}}ct.default=ct;ct.options=jw;ct.errorType=xw;ct.polyfills=Nw;ct.WretchError=fp;const Kw=(t,e)=>e.skipDedupe||e.method!=="GET",zw=(t,e)=>e.method+"@"+t,Hw=t=>t.clone(),Bw=({skip:t=Kw,key:e=zw,resolver:r=Hw}={})=>{const n=new Map;return a=>(i,o)=>{if(t(i,o))return a(i,o);const s=e(i,o);if(!n.has(s))n.set(s,[]);else return new Promise((u,l)=>{n.get(s).push([u,l])});try{return a(i,o).then(u=>(n.get(s).forEach(([l])=>l(r(u))),n.delete(s),u)).catch(u=>{throw n.get(s).forEach(([,l])=>l(u)),n.delete(s),u})}catch(u){return n.delete(s),Promise.reject(u)}}},Gw=(t,e)=>e.skipCache||e.method!=="GET",Ww=(t,e)=>e.method+"@"+t,Vw=()=>!1,Jw=()=>null,Zw=t=>t.ok,Yw=({throttle:t=1e3,skip:e=Gw,key:r=Ww,clear:n=Vw,invalidate:a=Jw,condition:i=Zw,flagResponseOnCacheHit:o="__cached"}={})=>{const s=new Map,u=new Map,l=new Set,c=h=>{t&&!l.has(h)&&(l.add(h),setTimeout(()=>{l.delete(h)},t))},f=h=>(d,v)=>{const p=r(d,v);let g=a(d,v);if(g&&(g instanceof Array||(g=[g]),g.forEach(P=>{typeof P=="string"?s.delete(P):P instanceof RegExp&&s.forEach((w,y)=>{P.test(y)&&s.delete(y)})})),n(d,v)&&s.clear(),e(d,v))return h(d,v);if(l.has(p)){if(s.has(p)){const P=s.get(p).clone();return o&&Object.defineProperty(P,o,{value:p,enumerable:!1}),Promise.resolve(P)}else if(u.has(p))return new Promise((P,w)=>{u.get(p).push([P,w])})}return u.has(p)||u.set(p,[]),c(p),h(d,v).then(P=>(i(P.clone())&&s.set(p,P.clone()),u.get(p).forEach(([w])=>w(P.clone())),u.delete(p),P)).catch(P=>{throw u.get(p).forEach(([,w])=>w(P)),u.delete(p),P})};return f.cacheResponse=function(h,d){c(h),s.set(h,d)},f.cache=s,f.inflight=u,f.throttling=l,f},Xw=(t,e)=>t*e,Qw=t=>t&&t.ok,eb=({delayTimer:t=500,delayRamp:e=Xw,maxAttempts:r=10,until:n=Qw,onRetry:a=null,retryOnNetworkError:i=!1,resolveWithLatestResponse:o=!1,skip:s}={})=>u=>(l,c)=>{let f=0;if(s&&s(l,c))return u(l,c);const h=(d,v)=>Promise.resolve(n(d,v)).then(p=>p?d&&o?d:v?Promise.reject(v):d:(f++,!r||f<=r?new Promise(g=>{const P=e(t,f);setTimeout(()=>{typeof a=="function"?Promise.resolve(a({response:d,error:v,url:l,options:c})).then((w={})=>{var y,m;g(u((y=w&&w.url)!==null&&y!==void 0?y:l,(m=w&&w.options)!==null&&m!==void 0?m:c))}):g(u(l,c))},P)}).then(h).catch(g=>{if(!i)throw g;return h(null,g)}):d&&o?d:Promise.reject(v||new Error("Number of attempts exceeded."))));return u(l,c).then(h).catch(d=>{if(!i)throw d;return h(null,d)})},tb="@sesamy/sdk",rb="1.19.0";class nb{cache=new Map;get(e){return this.cache.get(e)||null}set(e,r){this.cache.set(e,r)}remove(e){this.cache.delete(e)}clear(){this.cache.clear()}}const Kr="sesamyCacheTimestamp",ab=t=>{const{libraryName:e=tb,libraryVersion:r=rb,cache:n}=t,a=n?.storage||new nb,i=[s=>async(u,l)=>{if(n?.mode===Cn.BROWSER){let c;typeof sessionStorage<"u"?(c=sessionStorage.getItem(Kr),c||(c=Date.now().toString(),sessionStorage.setItem(Kr,c))):(c=a.get(Kr),c||(c=Date.now().toString(),a.set(Kr,c)));const f={...l,headers:{...l.headers,"Cache-Timestamp":c}};return s(u,f)}return s(u,l)},s=>async(u,l)=>{const c=await t.tokenProvider(),f={...l,headers:{...l.headers,Authorization:c}};return s(u,f)},Bw()];n?.mode===Cn.NORMAL&&i.push(Yw({throttle:300*1e3,skip:(s,u)=>u.method!=="GET"})),i.push(eb({delayTimer:1e3,delayRamp:(s,u)=>s*u,maxAttempts:3,until:s=>!!(s&&(s.ok||s.status>=400&&s.status<500)),retryOnNetworkError:!1}));const o=ct(t.baseUrl).headers({"Content-Type":"application/json","X-Sesamy-Client":`${e}/${r}`,...t.headers}).middlewares(i);return{async request(s,u={}){try{const l=/^https?:\/\//.test(s);let c=o.url(s,l);u.headers&&(c=c.headers(u.headers));const f=(u.method||"GET").toLowerCase();let h;switch(f){case"get":h=c.get();break;case"post":h=c.post(u.body);break;case"put":h=c.put(u.body);break;case"patch":h=c.patch(u.body);break;case"delete":h=c.delete();break;default:h=c.get()}const d=await h.res();if(d.ok&&["post","patch","put","delete"].includes(f)&&pt(),d.status===204)return null;if(!d.ok){const v=await d.text().catch(()=>"Unknown error");throw new Vr(d.status,d.statusText,d.url,`API Error ${d.status}: ${v}`,v)}return await d.json()}catch(l){if(l instanceof Vr)throw l;const c=l.status||500,f=l.message||"Unknown error",h=`${t.baseUrl}${s}`;throw new Vr(c,f,h,`API Error ${c}: ${l.message||"Unknown error"}`,l.message||"Unknown error")}}}},pt=()=>(typeof sessionStorage<"u"&&sessionStorage.removeItem(Kr),"Cache cleared"),Dr={get:async(t,e)=>t.request(`/profile/${e}`),update:async(t,e,r)=>t.request(`/profile/${e}`,{method:"PATCH",body:JSON.stringify(r)}),checkSpotifyLink:async t=>t.request("/profile/spotify-link"),unlinkSpotify:async t=>t.request("/profile/unlink-spotify",{method:"POST"}),delete:async t=>{await t.request("/profile",{method:"DELETE"})}},ns={list:async(t,e)=>{const r=new URLSearchParams;e?.type&&r.append("type",e.type),e?.sku&&r.append("sku",e.sku),e?.purchaseOptionId&&r.append("purchase-option-id",e.purchaseOptionId),e?.waitForEntitlementAfter&&r.append("wait-for-entitlement-after",e.waitForEntitlementAfter);const n=r.toString(),a=n?`/entitlements?${n}`:"/entitlements";return t.request(a)},get:async(t,e)=>t.request(`/entitlements/${e}`),getAccess:async(t,e)=>t.request(`/entitlements/${e}/access`)},Xd={list:async t=>t.request("/subscriptions"),get:async(t,e)=>t.request(`/subscriptions/${e}`)},Qd={get:async(t,e)=>t.request(`/products/${e}`),autoOnboard:async(t,e)=>t.request(`/products/${e}/auto-onboard`,{method:"POST"})},Mr={list:async t=>t.request("/contracts"),get:async(t,e)=>t.request(`/contracts/${e}`),cancel:async(t,e)=>t.request(`/contracts/${e}/cancel`,{method:"POST"}),createAmendment:async(t,e,r)=>t.request(`/contracts/${e}/amendments`,{method:"POST",body:JSON.stringify(r)}),confirmAmendment:async(t,e,r)=>t.request(`/contracts/${e}/amendments/${r}/confirm`,{method:"POST"})},as={get:async t=>t.request("/user-metadata"),set:async(t,e,r)=>{await t.request(`/user-metadata/${e}`,{method:"PUT",body:r})},delete:async(t,e)=>{await t.request(`/user-metadata/${e}`,{method:"DELETE"})}},sr={list:async t=>t.request("/tallies"),get:async(t,e)=>t.request(`/tallies/${e}`),update:async(t,e,r)=>t.request(`/tallies/${e}`,{method:"PUT",body:JSON.stringify(r)}),create:async(t,e)=>t.request("/tallies",{method:"POST",body:JSON.stringify(e)}),delete:async(t,e)=>{try{return await t.request(`/tallies/${e}`,{method:"DELETE"}),!0}catch{return!1}},push:async(t,e,r)=>t.request(`/tallies/${e}/push`,{method:"POST",body:JSON.stringify(r)})},is={list:async t=>t.request("/tags"),add:async(t,e)=>{await t.request("/tags",{method:"POST",body:JSON.stringify({tag:e})})},remove:async(t,e)=>{await t.request(`/tags/${e}`,{method:"DELETE"})}},cr={generateCheckoutLink:(t,e)=>{const r=new URL(`${t.apiUrl}/checkouts`);return e.items&&r.searchParams.set("items",JSON.stringify(e.items)),e.email&&r.searchParams.set("email",e.email),e.language&&r.searchParams.set("lang",e.language),e.redirectUrl&&r.searchParams.set("redirect-url",e.redirectUrl),e.giftMode&&r.searchParams.set("gift-mode","true"),e.payerEmail&&r.searchParams.set("payer-email",e.payerEmail),e.requireAddress&&r.searchParams.set("require-address","true"),e.metadata&&Object.entries(e.metadata).forEach(([n,a])=>{r.searchParams.set(`meta-${n}`,a)}),r.toString()},generateAccountLink:(t,e)=>{const r=e.language||"en",n=new URL(`${t.baseUrl}/account/${encodeURIComponent(r)}/subscriptions/${encodeURIComponent(t.clientId)}${e.contractId?`/${encodeURIComponent(e.contractId)}`:""}`);return n.searchParams.set("sesamy-redirect-url",e.redirectUrl||"/"),n.toString()},generateChangePaymentLink:(t,e)=>{const r=e.language||"en",n=new URL(`${t.baseUrl}/account/${encodeURIComponent(r)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(e.contractId)}/change-payment-method`);return n.searchParams.set("sesamy-redirect-url",e.redirectUrl||"/"),n.toString()},generateChangePlanLink:(t,e)=>{const r=e.language||"en",n=new URL(`${t.baseUrl}/account/${encodeURIComponent(r)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(e.contractId)}/edit-plan`);return n.searchParams.set("sesamy-redirect-url",e.redirectUrl||"/"),n.toString()},generateConsumeLink:(t,e)=>{const r=e.language||"en";let n=new URL(`${t.baseUrl}/consume/${encodeURIComponent(r)}/@${encodeURIComponent(t.clientId)}/${encodeURIComponent(e.sku)}`);return e.episodeId?n.href+=`/${encodeURIComponent(e.episodeId)}`:n.href+="/listen",n.searchParams.set("sesamy-redirect-url",e.redirectUrl||"/"),n.toString()}},os={generateLink:(t,e)=>{const r=new URL(`${t.apiUrl}/checkouts`);return e.items&&r.searchParams.set("items",JSON.stringify(e.items)),e.email&&r.searchParams.set("email",e.email),e.language&&r.searchParams.set("lang",e.language),e.redirectUrl&&r.searchParams.set("redirect-url",e.redirectUrl),e.giftMode&&r.searchParams.set("gift-mode","true"),e.payerEmail&&r.searchParams.set("payer-email",e.payerEmail),e.requireAddress&&r.searchParams.set("require-address","true"),e.metadata&&Object.entries(e.metadata).forEach(([n,a])=>{r.searchParams.set(`meta-${n}`,a)}),r.toString()},create:async(t,e)=>t.request("/checkouts",{method:"POST",body:JSON.stringify(e)}),get:async(t,e)=>t.request(`/checkouts/${e}`),update:async(t,e,r)=>t.request(`/checkouts/${e}`,{method:"PATCH",body:JSON.stringify(r)})},eh={list:async t=>t.request("/bills"),get:async(t,e)=>t.request(`/bills/${e}`)},th={list:async t=>t.request("/fulfillments"),create:async(t,e)=>t.request("/fulfillments",{method:"POST",body:JSON.stringify(e)})},ib={get:async(t,e)=>{try{return new URL(e),t.request(e)}catch{return t.request(`/paywalls/${e}`)}}},ob={list:async t=>t.request("/payment-issues")},sb={content:async(t,e,r,n,a)=>{const i=new URLSearchParams({url:e});return r&&i.append("selector",r),n&&i.append("cache",n),t.request(`/proxy?${i.toString()}`,a)}},cb={list:async(t,e)=>{const r=(e?new URLSearchParams({q:e}):new URLSearchParams).toString(),n=r?`/transactions?${r}`:"/transactions";return t.request(n)}},rh={get:async t=>t.request("/vendor"),list:async t=>t.request("/vendors")},ub=t=>{const e=ab(t);return{profile:{get:r=>Dr.get(e,r),update:(r,n)=>Dr.update(e,r,n),checkSpotifyLink:()=>Dr.checkSpotifyLink(e),unlinkSpotify:()=>Dr.unlinkSpotify(e),delete:()=>Dr.delete(e)},entitlements:{list:r=>ns.list(e,r),get:r=>ns.get(e,r),getAccess:r=>ns.getAccess(e,r)},subscriptions:{list:()=>Xd.list(e),get:r=>Xd.get(e,r)},products:{get:r=>Qd.get(e,r),autoOnboard:r=>Qd.autoOnboard(e,r)},contracts:{list:()=>Mr.list(e),get:r=>Mr.get(e,r),cancel:r=>Mr.cancel(e,r),createAmendment:(r,n)=>Mr.createAmendment(e,r,n),confirmAmendment:(r,n)=>Mr.confirmAmendment(e,r,n)},userMetadata:{get:()=>as.get(e),set:(r,n)=>as.set(e,r,n),delete:r=>as.delete(e,r)},tallies:{list:()=>sr.list(e),get:r=>sr.get(e,r),update:(r,n)=>sr.update(e,r,n),create:r=>sr.create(e,r),delete:r=>sr.delete(e,r),push:(r,n)=>sr.push(e,r,n)},tags:{list:()=>is.list(e),add:r=>is.add(e,r),remove:r=>is.remove(e,r)},checkouts:{generateLink:(r,n)=>cr.generateCheckoutLink(r,n),create:r=>os.create(e,r),get:r=>os.get(e,r),update:(r,n)=>os.update(e,r,n)},links:{generateCheckoutLink:(r,n)=>cr.generateCheckoutLink(r,n),generateAccountLink:(r,n)=>cr.generateAccountLink(r,n),generateChangePaymentLink:(r,n)=>cr.generateChangePaymentLink(r,n),generateChangePlanLink:(r,n)=>cr.generateChangePlanLink(r,n),generateConsumeLink:(r,n)=>cr.generateConsumeLink(r,n)},bills:{list:()=>eh.list(e),get:r=>eh.get(e,r)},fulfillments:{list:()=>th.list(e),create:r=>th.create(e,r)},paywalls:{get:r=>ib.get(e,r)},paymentIssues:{list:()=>ob.list(e)},proxy:{content:(r,n,a,i)=>sb.content(e,r,n,a,i)},transactions:{list:r=>cb.list(e,r)},vendor:{get:()=>rh.get(e),list:()=>rh.list(e)}}};class lb{get(e){return typeof sessionStorage>"u"?null:sessionStorage.getItem(e)}set(e,r){typeof sessionStorage<"u"&&sessionStorage.setItem(e,r)}remove(e){typeof sessionStorage<"u"&&sessionStorage.removeItem(e)}clear(){}}function Is(t){let e;try{e=new URL(t)}catch{return!1}return e.protocol==="http:"||e.protocol==="https:"}function dp(t,e){if(Is(t))return{itemSrc:t};const r=t.split(":");if(r.length<2)throw new Error(`Invalid itemSrc format: expected at least 2 segments separated by ':', got ${r.length}`);const[n,a,i]=r;if(!a)throw new Error("Invalid itemSrc format: sku segment is empty");return{sku:`${n}:${a}`,purchaseOption:e||i}}function nh(t){return t.endsWith("/")?t.slice(0,-1):t}function ah(t,e){if(!Is(t)||!Is(e))return!1;const r=new URL(t),n=new URL(e);return r.origin===n.origin&&nh(r.pathname)===nh(n.pathname)}function fb(t,e,r){const n=new URL(`${ot("checkout3",t.environment)}`);e.language&&n.searchParams.set("lang",e.language);let a=e.sku,i=e.purchaseOptionId,o=e.itemSrc;if(e.itemSrc){const c=dp(e.itemSrc,e.purchaseOptionId);a=c.sku||a,i=c.purchaseOption||i,o=c.itemSrc}a?(n.searchParams.set("sku",a),i&&n.searchParams.set("po-id",i)):o&&n.searchParams.set("url",o),e.email&&n.searchParams.set("email",e.email),e.business&&n.searchParams.set("business","true"),e.currency&&n.searchParams.set("currency",e.currency),e.price&&n.searchParams.set("price",e.price.toString()),e.discountCode&&n.searchParams.set("discount-code",e.discountCode),e.attributionItemSrc?n.searchParams.set("itemSrc",e.attributionItemSrc):r.itemSrc&&n.searchParams.set("itemSrc",r.itemSrc),e.attributionPublisherContentId?n.searchParams.set("publisherContentId",e.attributionPublisherContentId):r.publisherContentId&&n.searchParams.set("publisherContentId",r.publisherContentId),e.utmSource?n.searchParams.set("utm_source",e.utmSource):r.utmSource&&n.searchParams.set("utm_source",r.utmSource),e.utmMedium?n.searchParams.set("utm_medium",e.utmMedium):r.utmMedium&&n.searchParams.set("utm_medium",r.utmMedium),e.utmCampaign?n.searchParams.set("utm_campaign",e.utmCampaign):r.utmCampaign&&n.searchParams.set("utm_campaign",r.utmCampaign),e.utmTerm?n.searchParams.set("utm_term",e.utmTerm):r.utmTerm&&n.searchParams.set("utm_term",r.utmTerm),e.utmContent?n.searchParams.set("utm_content",e.utmContent):r.utmContent&&n.searchParams.set("utm_content",r.utmContent);const s=["_ga","_gid","_fbp","_fbc"];document.cookie.split(";").map(c=>{const[f,h]=c.trim().split("=");return{key:f,value:h}}).filter(c=>s.some(f=>f===c.key)).forEach(c=>{n.searchParams.append(c.key,c.value)});let l=new URL(window.location.href);if(e.redirectUrl)try{l=new URL(e.redirectUrl)}catch{console.warn("Invalid redirect URL provided, using current URL instead:",e.redirectUrl)}return l.searchParams.set("force-refetch-entitlements","true"),e.itemSrc&&l.searchParams.set("sesamy-purchase",e.itemSrc),n.searchParams.set("redirect-url",l.toString()),e.paymentMethodsFilter&&n.searchParams.set("paymentmethods-filter",e.paymentMethodsFilter.flatMap(({provider:c,methods:f})=>f?f.map(h=>`${c}|${h}`):c).join(",")),e.requireAddress&&n.searchParams.set("require-address","true"),e.giftMode&&n.searchParams.set("gift-mode","true"),e.payerEmail&&n.searchParams.set("payer-email",e.payerEmail),e.metadata&&Object.entries(e.metadata).forEach(([c,f])=>{n.searchParams.set(`meta-${c}`,String(f))}),n}const hp="sesamySignedURLs";function oc(){const t=sessionStorage.getItem(hp);return t?JSON.parse(t):[]}function db(t){const e=oc();e.push(t),le(`Adding signed URL: ${t}`),sessionStorage.setItem(hp,JSON.stringify(e))}function hb(t){const e={};return Object.keys(t).forEach(r=>{const n=t[r];n!=null&&(e[r]=n.toString())}),e}const Ps="sesamyAttribution";function vb(t){const e=localStorage.getItem(t);if(!e)return null;try{return JSON.parse(e).value}catch{return console.error(`Failed to parse ${t}`),null}}function pb(t){return Object.keys(t).find(e=>e.startsWith("utm_"))?{utmSource:void 0,utmMedium:void 0,utmCampaign:void 0,...t}:t}function An(){return vb(Ps)||{}}function vp(t){if(t===null)localStorage.removeItem(Ps);else{le(`Setting attribution ${JSON.stringify(t)}`);const e=An()??{},r=hb({...e,...pb(t)});localStorage.setItem(Ps,JSON.stringify({value:r}))}}const pp="sesamyFlags";async function mp(t){try{localStorage.setItem(pp,JSON.stringify(t))}catch{le("Failed to save flags to localStorage")}}async function gp(t,e){const r=await sn();r[t]=e,await mp(r)}async function yp(t){return(await sn())[t]}async function wp(t){const e=await sn();t in e&&(delete e[t],await mp(e))}async function sn(){try{const t=localStorage.getItem(pp);return t?JSON.parse(t):{}}catch{return{}}}function mb(t){const e=t.endpoint||ot("api2",t.environment),n=ub({baseUrl:e,tokenProvider:async()=>{if(await gr())try{const q=await qt(!1);if(q)return`Bearer ${q}`}catch{}const S=localStorage.getItem("__anon_id");return`Basic ${btoa(`${t.clientId}|${S}:`)}`},libraryName:Qs,libraryVersion:Yn,vendorId:t.vendorId,cache:{mode:Cn.BROWSER,storage:new lb}}),a=S=>async(O,q)=>{let F=sessionStorage.getItem(md);F||(F=Date.now().toString(),sessionStorage.setItem(md,F));const I={...q,headers:{...q.headers,"Cache-Timestamp":F}};return S(O,I)},i=(S=!0)=>O=>async(q,F)=>{let I=null;if(I=await qt(S),!I){if(S)throw new Error("No access token available");return O(q,F)}const _={...F,headers:{...F.headers,...I?{Authorization:`Bearer ${I}`}:{}}};return O(q,_)},o=ct(e).headers({"Content-Type":"application/json"}).middlewares([a,i(),Aw(),Lw({delayTimer:1e3,delayRamp:(S,O)=>S*O,maxAttempts:3,until:S=>!!(S&&(S.ok||S.status>=400&&S.status<500)),retryOnNetworkError:!1})]);async function s(S={}){const{waitForEntitlementAfter:O,includeSignedLinks:q=!0}=S,F=await gr()?await n.entitlements.list({waitForEntitlementAfter:O?.toISOString()}):[];return q&&F.push(...oc()),F}async function u(S,O=[]){return(await s())?.find(I=>{if(S){const{sku:_,purchaseOption:x}=dp(S);if("sku"in I&&_===I.sku||x&&"purchaseOptionsId"in I&&x===I.purchaseOptionsId||ah(S,I.url))return!0}return!!O.some(_=>ah(_,I.url))})}async function l(S,O,q){const F=new URL(ot("api2",t.environment));return F.pathname="/proxy",F.searchParams.set("url",O),q&&F.searchParams.set("selector",q),ct(F.toString()).headers({Authorization:`Bearer ${S}`}).get().text()}async function c(S){if(!S)throw new Error("SKU is required to get fulfillments");return await gr()?await o.get(`/fulfillments?sku=${encodeURIComponent(S)}`).json():[]}async function f(S,O){if(!S||!O)throw new Error("SKU and itemId are required to request delivery");return(await o.post({sku:S},`/fulfillments/${encodeURIComponent(O)}/request-delivery?`).res()).ok}async function h(){return console.warn("getSubscriptions is deprecated, use getContracts instead"),o.get("/subscriptions").json()}async function d(S){return(await n.transactions.list())?.find(q=>q.id===S)}async function v(){return await o.url("/tags").get().json()}async function p(S){const O=await o.url(`/tags/${encodeURIComponent(S)}`).delete().res();return pt(),O.ok}async function g(S){const O=await o.url("/tags").post(encodeURIComponent(S)).res();return Wt(Be.USER_ATTRIBUTE_CHANGED,{}),pt(),O.ok}async function P(S){return(await n.tallies.get(S)).value}async function w(){const S=await n.tallies.list(),O={};for(const q of S)O[q.id]=q.value;return O}async function y(S){return await n.tallies.delete(S)}async function m(S,O){return await n.tallies.push(S,O)}async function b(){return await qt(!1)?await o.url("/profile").get().json():null}async function R(S){const O=await o.url("/profile").patch(S).res();return pt(),O.ok}async function A(){return(await o.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function j(){return(await o.url("/profile/unlink-spotify").post().res()).ok}async function z(S){const O=await qt(!1);if(!O)throw new Error("No access token available");const q=new URL(`${ot("access-sync",t.environment)}/spotify/sesamy-callback`);q.searchParams.set("access_token",O),q.searchParams.set("state",S),window.location.href=q.toString()}async function V(S){const O=await o.url(`/products/${encodeURIComponent(S)}/auto-onboard`).post().json();return O.length&&pt(),O}async function te(S,O=3600){const{shortlink:q}=await ct(Ag).post({url:S,ttl:O}).json();return q}async function L(S){const O=await qt(!1,!0);let q;const F=S.language||Br(),I=An();switch(S.target){case"account":q=new URL(`${ot("account",t.environment)}/${encodeURIComponent(S.language||F)}/subscriptions/${encodeURIComponent(t.clientId)}${S.contractId?`/${encodeURIComponent(S.contractId)}`:""}`),q.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"change-payment":q=new URL(`${ot("account",t.environment)}/${encodeURIComponent(S.language||F)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(S.contractId)}/change-payment-method`),q.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"change-plan":q=new URL(`${ot("account",t.environment)}/${encodeURIComponent(S.language||F)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(S.contractId)}/edit-plan`),q.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"consume":q=new URL(`${ot("consume",t.environment)}/${encodeURIComponent(S.language||F)}/@${encodeURIComponent(t.clientId)}/${encodeURIComponent(S.sku)}`),S.episodeId?q.href+=`/${S.episodeId}`:q.href+="/listen",q.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"checkout":q=fb(t,{language:F,...S},I);break;default:throw new Error("Invalid target")}return O&&(q.hash=`#access_token=${O}`),S.shorten?te(q.href,S.ttl):q.href}async function M(){const S=await qt(!1),O=new URL(`${ot("account",t.environment)}/subscriptions/${t.clientId}`);S&&(O.hash=`#access_token=${S}`),window.location.href=O.toString()}async function N(S){const O=An(),q=["_ga","_gid","_fbp","_fbc"];return document.cookie.split(";").forEach(F=>{const[I,_]=F.trim().split("=");q.includes(I)&&!O[I]&&(O[I]=_)}),n.checkouts.create({language:Br(),...S,attribution:{...O,...S.attribution}})}return{autoOnboardProduct:V,bills:n.bills,checkouts:{create:N,get:n.checkouts.get,update:n.checkouts.update},content:{list:Xv,get:on,getLanguage:Br,unlock:Qv,getPropertyFromHTML:tc},contracts:n.contracts,deleteTag:p,deleteTally:y,entitlements:n.entitlements,flags:{get:yp,set:gp,list:sn,delete:wp},generateLink:L,getProxyContent:l,getEntitlements:s,getFulfillments:c,requestDelivery:f,hasAccess:u,isSpotifyLinked:A,linkSpotify:z,openHostedAccountPage:M,paywalls:n.paywalls,paymentIssues:n.paymentIssues,getProfile:b,products:n.products,getSubscriptions:h,getTally:P,getTallies:w,getTags:v,getTransaction:d,transactions:n.transactions,userMetadata:n.userMetadata,pushTally:m,setTag:g,unlinkSpotify:j,updateProfile:R,vendor:n.vendor}}const gb=["AdHeader","AdContainer","AD_Top","homead","ad-lead"];function yb(){return new Promise(t=>{const e=gb.map(r=>{const n=document.createElement("div");return n.innerHTML=" ",n.id=r,n.style.position="absolute",document.body.appendChild(n),n});window.setTimeout(()=>{const r=!e.every(n=>document.querySelector(`#${n.id}`)?.offsetParent);e.forEach(n=>n.remove()),t(r)},100)})}function wb(){const t=navigator.userAgent.toLowerCase(),e=[{name:"Facebook",regex:/fbav|fban/i},{name:"LinkedIn",regex:/linkedin/i},{name:"Instagram",regex:/instagram/i},{name:"Gmail",regex:/gmail/i},{name:"Twitter",regex:/twitter/i},{name:"WeChat",regex:/micromessenger/i},{name:"Line",regex:/line/i},{name:"Snapchat",regex:/snapchat/i},{name:"Pinterest",regex:/pinterest/i},{name:"Kakao",regex:/kakaotalk/i},{name:"Skype",regex:/skype/i},{name:"WhatsApp",regex:/whatsapp/i}];for(const r of e)if(r.regex.test(t))return{isInAppBrowser:!0,browserName:r.name};return/; wv\)/.test(t)?{isInAppBrowser:!0,browserName:"Unknown In-App Browser"}:{isInAppBrowser:!1,browserName:null}}function bb(t){const{autoOnboardProduct:e,bills:r,checkouts:n,contracts:a,deleteTag:i,deleteTally:o,entitlements:s,generateLink:u,getEntitlements:l,getFulfillments:c,getProfile:f,getProxyContent:h,getSubscriptions:d,getTags:v,getTally:p,getTallies:g,getTransaction:P,hasAccess:w,isSpotifyLinked:y,linkSpotify:m,openHostedAccountPage:b,paywalls:R,paymentIssues:A,products:j,pushTally:z,requestDelivery:V,setTag:te,transactions:L,unlinkSpotify:M,updateProfile:N,userMetadata:S,vendor:O}=mb(t),q=()=>A.list(),F={analytics:{track:ap},attribution:{get:An,set:vp},auth:{getUser:f,getTokenSilently:qt,isAuthenticated:gr,loginWithRedirect:Qn,loginWithPopup:cp,login:kw,logout:ac,setToken:Ss},bills:r,browser:{detectAdblock:yb,isInAppBrowser:wb,isIncognito:Gs},checkouts:n,clearCache:pt,content:{list:Xv,get:on,getLanguage:Br,hasAccess:sw,unlock:Qv,getPropertyFromHTML:tc},contracts:a,entitlements:{...s,access:s.getAccess,hasAccess:w,list:l,signedLinks:oc},events:{emit:ip,cancel:pw},flags:{get:yp,set:gp,list:sn,delete:wp},fulfillments:{list:c,requestDelivery:V},generateLink:u,getPaymentIssues:q,getVersion:Sb,isReady:()=>exports.isInitialized,log:le,paywalls:R,paymentIssues:A,products:{...j,autoOnboard:e,linkSpotify:m},profile:{get:f,isSpotifyLinked:y,openHostedAccountPage:b,unlinkSpotify:M,update:N},proxy:{getContent:h},subscriptions:{list:d},tags:{delete:i,list:v,set:te},tallies:{delete:o,get:p,list:g,push:z},transactions:{...L,get:P},userMetadata:S,vendor:O,setToken:Ss};return t.namespace&&(window[t.namespace]=F),F}function Sb(){return Yn}function Ib(t,e){t.style.position="relative",t.style.height="200px",t.style.overflow="hidden";let n=0;const a=Array.from(t.children);for(const o of a){const s=o.offsetHeight;n+s>200?o.remove():n+=s}const i=document.createElement("style");i.innerHTML=`
|
|
35
|
+
`))}})(j.methodName,j.pluginName),Promise.resolve(j.method({payload:V,instance:n,abort:(te=V,L=y,M=j.pluginName,function(N,S){return ee({},te,{abort:{reason:N,plugins:S||[L],caller:f,from:M||L}})}),config:Rd(j.pluginName,l,i),plugins:l})).then(function(N){var S=Ke(N)?N:{};return Promise.resolve(ee({},V,S))})):V;var te,L,M})},Promise.resolve(r))).then(function(A){m[y]=A});m[y]=r})();return R&&R.then?R.then(b):b()})},Promise.resolve({}))).then(function(g){return Promise.resolve(e.exact.reduce(function(P,w,y){try{var m=e.exact.length===y+1,b=w.pluginName,R=i[b];return Promise.resolve(P).then(function(A){var j=g[b]?g[b]:{};if(h&&(j=A),Zo(j,b))return Jo({data:j,method:f,instance:n,pluginName:b,store:s}),Promise.resolve(A);if(Zo(A,b))return m&&Jo({data:A,method:f,instance:n,store:s}),Promise.resolve(A);if(p.hasOwnProperty(b)&&p[b]===!0)return s.dispatch({type:"queue",plugin:b,payload:j,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(A);var z=v(g[b],i[b]);return Promise.resolve(R[f]({abort:z.abort,payload:j,instance:n,config:Rd(b,l,i),plugins:l})).then(function(V){var te=Ke(V)?V:{},L=ee({},A,te),M=g[b];if(Zo(M,b))Jo({data:M,method:f,instance:n,pluginName:b,store:s});else{var N=f+":"+b;(N.match(/:/g)||[]).length<2&&!f.match(_d)&&!f.match(Td)&&n.dispatch(ee({},h?L:j,{type:N,_:{called:N,from:"submethod"}}))}return Promise.resolve(L)})})}catch(A){return Promise.reject(A)}},Promise.resolve(r))).then(function(P){if(!(f.match(vr)||f.match(/^registerPlugin/)||f.match(Td)||f.match(_d)||f.match(/^params/)||f.match(/^userIdChanged/))){if(u.plugins.includes(f),P._&&P._.originalAction===f)return P;var w=ee({},P,{_:{originalAction:P.type,called:P.type,from:"engineEnd"}});$v(P,e.exact.length)&&!f.match(/End$/)&&(w=ee({},w,{type:P.type+"Aborted"})),s.dispatch(w)}return P})})}catch(g){return Promise.reject(g)}},vr=/Start$/,_d=/^bootstrap/,Td=/^ready/;function Jo(t){var e=t.pluginName,r=t.method+"Aborted"+(e?":"+e:"");t.store.dispatch(ee({},t.data,{type:r,_:{called:r,from:"abort"}}))}function Rd(t,e,r){var n=e[t]||r[t];return n&&n.config?n.config:{}}function Od(t,e){return e.reduce(function(r,n){return n[t]?r.concat({methodName:t,pluginName:n.name,method:n[t]}):r},[])}function Cd(t,e){var r=t.replace(vr,""),n=e?":"+e:"";return[""+t+n,""+r+n,r+"End"+n]}function Zo(t,e){var r=t.abort;return!!r&&(r===!0||Ad(r,e)||r&&Ad(r.plugins,e))}function $v(t,e){var r=t.abort;if(!r)return!1;if(r===!0||_t(r))return!0;var n=r.plugins;return Zr(r)&&r.length===e||Zr(n)&&n.length===e}function Zr(t){return Array.isArray(t)}function Ad(t,e){return!(!t||!Zr(t))&&t.includes(e)}function Ud(t){var e=t.match(/(.*):(.*)/);return!!e&&{method:e[1],name:e[2]}}function vy(t){return Object.keys(t).reduce(function(e,r){return r==="type"||(e[r]=Ke(t[r])?Object.assign({},t[r]):t[r]),e},{})}function py(t,e,r){var n={};return function(a){return function(i){return function(o){try{var s,u=function(m){return s?m:i(f)},l=o.type,c=o.plugins,f=o;if(o.abort)return Promise.resolve(i(o));if(l===Q.enablePlugin&&a.dispatch({type:Q.initializeStart,plugins:c,disabled:[],fromEnable:!0,meta:o.meta}),l===Q.disablePlugin&&setTimeout(function(){return kd(o.meta.rid,{payload:o})},0),l===Q.initializeEnd){var h=e(),d=Object.keys(h),v=d.filter(function(m){return c.includes(m)}).map(function(m){return h[m]}),p=[],g=[],P=o.disabled,w=v.map(function(m){var b=m.loaded,R=m.name,A=m.config;return Av(m,function(){return b({config:A})},1e4).then(function(j){return n[R]||(a.dispatch({type:Q.pluginReadyType(R),name:R,events:Object.keys(m).filter(function(z){return!ms.includes(z)})}),n[R]=!0),p=p.concat(R),m}).catch(function(j){if(j instanceof Error)throw new Error(j);return g=g.concat(j.name),j})});Promise.all(w).then(function(m){var b={plugins:p,failed:g,disabled:P};setTimeout(function(){d.length===w.length+P.length&&a.dispatch(ee({},{type:Q.ready},b))},0)})}var y=(function(){if(l!==Q.bootstrap)return/^ready:([^:]*)$/.test(l)&&setTimeout(function(){return Uv(a,e,t)},0),Promise.resolve((function(m,b,R,A,j){try{var z=ze(b)?b():b,V=m.type,te=V.replace(vr,"");if(m._&&m._.called)return Promise.resolve(m);var L=R.getState(),M=(O=z,(q=L.plugins)===void 0&&(q={}),(F=m.options)===void 0&&(F={}),Object.keys(O).filter(function(I){var _=F.plugins||{};return Jg(_[I])?_[I]:_.all!==!1&&(!q[I]||q[I].enabled!==!1)}).map(function(I){return O[I]}));V===Q.initializeStart&&m.fromEnable&&(M=Object.keys(L.plugins).filter(function(I){var _=L.plugins[I];return m.plugins.includes(I)&&!_.initialized}).map(function(I){return z[I]}));var N=M.map(function(I){return I.name}),S=(function(I,_){var x=Cd(I).map(function(H){return Od(H,_)});return _.reduce(function(H,Y){var J=Y.name,fe=Cd(I,J).map(function(ke){return Od(ke,_)}),ne=fe[0],ce=fe[1],ae=fe[2];return ne.length&&(H.beforeNS[J]=ne),ce.length&&(H.duringNS[J]=ce),ae.length&&(H.afterNS[J]=ae),H},{before:x[0],beforeNS:{},during:x[1],duringNS:{},after:x[2],afterNS:{}})})(V,M);return Promise.resolve(Vo({action:m,data:{exact:S.before,namespaced:S.beforeNS},state:L,allPlugins:z,allMatches:S,instance:R,store:A,EVENTS:j})).then(function(I){function _(){var Y=(function(){if(V.match(vr))return Promise.resolve(Vo({action:ee({},x,{type:te+"End"}),data:{exact:S.after,namespaced:S.afterNS},state:L,allPlugins:z,allMatches:S,instance:R,store:A,EVENTS:j})).then(function(J){J.meta&&J.meta.hasCallback&&kd(J.meta.rid,{payload:J})})})();return Y&&Y.then?Y.then(function(){return I}):I}if($v(I,N.length))return I;var x,H=(function(){if(V!==te)return Promise.resolve(Vo({action:ee({},I,{type:te}),data:{exact:S.during,namespaced:S.duringNS},state:L,allPlugins:z,allMatches:S,instance:R,store:A,EVENTS:j})).then(function(Y){x=Y});x=I})();return H&&H.then?H.then(_):_()})}catch(I){return Promise.reject(I)}var O,q,F})(o,e,t,a,r)).then(function(m){var b=i(m);return s=1,b})})();return Promise.resolve(y&&y.then?y.then(u):u(y))}catch(m){return Promise.reject(m)}}}}}function my(t){return function(e){return function(r){return function(n){var a=n.type,i=n.key,o=n.value,s=n.options;if(a===Q.setItem||a===Q.removeItem){if(n.abort)return r(n);a===Q.setItem?t.setItem(i,o,s):t.removeItem(i,s)}return r(n)}}}}var gy=function(){var t=this;this.before=[],this.after=[],this.addMiddleware=function(e,r){t[r]=t[r].concat(e)},this.removeMiddleware=function(e,r){var n=t[r].findIndex(function(a){return a===e});n!==-1&&(t[r]=[].concat(t[r].slice(0,n),t[r].slice(n+1)))},this.dynamicMiddlewares=function(e){return function(r){return function(n){return function(a){var i={getState:r.getState,dispatch:function(s){return r.dispatch(s)}},o=t[e].map(function(s){return s(i)});return br.apply(void 0,o)(n)(a)}}}}};function yy(t){return function(e,r){e===void 0&&(e={});var n={};if(r.type==="initialize:aborted")return e;if(/^registerPlugin:([^:]*)$/.test(r.type)){var a=$d(r.type,"registerPlugin"),i=t()[a];if(!i||!a)return e;var o=r.enabled,s=i.config;return n[a]={enabled:o,initialized:!!o&&!i.initialize,loaded:!!o&&!!i.loaded({config:s}),config:s},ee({},e,n)}if(/^initialize:([^:]*)$/.test(r.type)){var u=$d(r.type,Q.initialize),l=t()[u];return l&&u?(n[u]=ee({},e[u],{initialized:!0,loaded:!!l.loaded({config:l.config})}),ee({},e,n)):e}if(/^ready:([^:]*)$/.test(r.type))return n[r.name]=ee({},e[r.name],{loaded:!0}),ee({},e,n);switch(r.type){case Q.disablePlugin:return ee({},e,Ld(r.plugins,!1,e));case Q.enablePlugin:return ee({},e,Ld(r.plugins,!0,e));default:return e}}}function $d(t,e){return t.substring(e.length+1,t.length)}function Ld(t,e,r){return t.reduce(function(n,a){return n[a]=ee({},r[a],{enabled:e}),n},r)}function Lv(t){try{return JSON.parse(JSON.stringify(t))}catch{}return t}var wy={last:{},history:[]};function by(t,e){t===void 0&&(t=wy);var r=e.options,n=e.meta;if(e.type===Q.track){var a=Lv(ee({event:e.event,properties:e.properties},Object.keys(r).length&&{options:r},{meta:n}));return ee({},t,{last:a,history:t.history.concat(a)})}return t}var Sy={actions:[]};function Iy(t,e){t===void 0&&(t=Sy);var r=e.payload;switch(e.type){case"queue":var n;return n=r&&r.type&&r.type===Q.identify?[e].concat(t.actions):t.actions.concat(e),ee({},t,{actions:n});case"dequeue":return[];default:return t}}var qv=/#.*$/;function Py(t){var e=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(t);return"/"+(e&&e[3]?e[3].split("?")[0].replace(qv,""):"")}var jv,Nv,xv,Dv,Ey=function(t){if(t===void 0&&(t={}),!Ce)return t;var e=document,r=e.title,n=e.referrer,a=window,i=a.location,o=a.innerWidth,s=a.innerHeight,u=i.hash,l=i.search,c=(function(h){var d=(function(){if(Ce){for(var v,p=document.getElementsByTagName("link"),g=0;v=p[g];g++)if(v.getAttribute("rel")==="canonical")return v.getAttribute("href")}})();return d?d.match(/\?/)?d:d+h:window.location.href.replace(qv,"")})(l),f={title:r,url:c,path:Py(c),hash:u,search:l,width:o,height:s};return n&&n!==""&&(f.referrer=n),ee({},f,t)},ky={last:{},history:[]};function _y(t,e){t===void 0&&(t=ky);var r=e.options;if(e.type===Q.page){var n=Lv(ee({properties:e.properties,meta:e.meta},Object.keys(r).length&&{options:r}));return ee({},t,{last:n,history:t.history.concat(n)})}return t}jv=(function(){if(!Ce)return!1;var t=navigator.appVersion;return~t.indexOf("Win")?"Windows":~t.indexOf("Mac")?"MacOS":~t.indexOf("X11")?"UNIX":~t.indexOf("Linux")?"Linux":"Unknown OS"})(),Nv=Ce?document.referrer:null,xv=ry(),Dv=ny();var qd={initialized:!1,sessionId:Vn(),app:null,version:null,debug:!1,offline:!!Ce&&!navigator.onLine,os:{name:jv},userAgent:Ce?navigator.userAgent:"node",library:{name:ps,version:"0.13.1"},timezone:Dv,locale:xv,campaign:{},referrer:Nv};function Ty(t,e){t===void 0&&(t=qd);var r=t.initialized,n=e.campaign;switch(e.type){case Q.campaign:return ee({},t,{campaign:n});case Q.offline:return ee({},t,{offline:!0});case Q.online:return ee({},t,{offline:!1});default:return r?t:ee({},qd,t,{initialized:!0})}}var Ry=["plugins","reducers","storage"];function Oy(t,e,r){if(Ce){var n=window[(r?"add":"remove")+"EventListener"];t.split(" ").forEach(function(a){n(a,e)})}}function Cy(t){var e=Oy.bind(null,"online offline",function(r){return Promise.resolve(!navigator.onLine).then(t)});return e(!0),function(r){return e(!1)}}function Mv(){return Zt(ps,[]),function(t){return function(e,r,n){var a=t(e,r,n),i=a.dispatch;return Object.assign(a,{dispatch:function(o){return wr[yr][ps].push(o.action||o),i(o)}})}}}function jd(t){return function(){return br(br.apply(null,arguments),Mv())}}function Yo(t){return t?Tv(t)?t:[t]:[]}function Nd(t,e,r){t===void 0&&(t={});var n,a,i=Vn();return e&&(Fr[i]=(n=e,a=(function(o){for(var s,u=o||Array.prototype.slice.call(arguments),l=0;l<u.length;l++)if(ze(u[l])){s=u[l];break}return s})(r),function(o){a&&a(o),n(o)})),ee({},t,{rid:i,ts:new Date().getTime()},e?{hasCallback:!0}:{})}function Ay(t){t===void 0&&(t={});var e=t.reducers||{},r=t.initialUser||{},n=(t.plugins||[]).reduce(function(I,_){if(ze(_))return I.middlewares=I.middlewares.concat(_),I;if(_.NAMESPACE&&(_.name=_.NAMESPACE),!_.name)throw new Error("https://lytics.dev/errors/1");_.config||(_.config={});var x=_.EVENTS?Object.keys(_.EVENTS).map(function(J){return _.EVENTS[J]}):[];I.pluginEnabled[_.name]=!(_.enabled===!1||_.config.enabled===!1),delete _.enabled,_.methods&&(I.methods[_.name]=Object.keys(_.methods).reduce(function(J,fe){var ne;return J[fe]=(ne=_.methods[fe],function(){for(var ce=Array.prototype.slice.call(arguments),ae=new Array(ne.length),ke=0;ke<ce.length;ke++)ae[ke]=ce[ke];return ae[ae.length]=b,ne.apply({instance:b},ae)}),J},{}),delete _.methods);var H=Object.keys(_).concat(x),Y=new Set(I.events.concat(H));if(I.events=Array.from(Y),I.pluginsArray=I.pluginsArray.concat(_),I.plugins[_.name])throw new Error(_.name+"AlreadyLoaded");return I.plugins[_.name]=_,I.plugins[_.name].loaded||(I.plugins[_.name].loaded=function(){return!0}),I},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),a=t.storage?t.storage:{getItem:Jt,setItem:Zt,removeItem:Or},i=(function(I){return function(_,x,H){return x.getState("user")[_]||(H&&Ke(H)&&H[_]?H[_]:Ed(I)[_]||Jt(gs(_))||null)}})(a),o=n.plugins,s=n.events.filter(function(I){return!ms.includes(I)}).sort(),u=new Set(s.concat(yn).filter(function(I){return!ms.includes(I)})),l=Array.from(u).sort(),c=function(){return o},f=new gy,h=f.addMiddleware,d=f.removeMiddleware,v=f.dynamicMiddlewares,p=function(){throw new Error("Abort disabled inListener")},g=ay(),P=Ed(a),w=ee({},P,r,g.an_uid?{userId:g.an_uid}:{},g.an_aid?{anonymousId:g.an_aid}:{});w.anonymousId||(w.anonymousId=Vn());var y=ee({enable:function(I,_){return new Promise(function(x){S.dispatch({type:Q.enablePlugin,plugins:Yo(I),_:{originalAction:Q.enablePlugin}},x,[_])})},disable:function(I,_){return new Promise(function(x){S.dispatch({type:Q.disablePlugin,plugins:Yo(I),_:{originalAction:Q.disablePlugin}},x,[_])})}},n.methods),m=!1,b={identify:function(I,_,x,H){try{var Y=_t(I)?I:null,J=Ke(I)?I:_,fe=x||{},ne=b.user();Zt(gs(Pt),Y);var ce=Y||J.userId||i(Pt,b,J);return Promise.resolve(new Promise(function(ae){S.dispatch(ee({type:Q.identifyStart,userId:ce,traits:J||{},options:fe,anonymousId:ne.anonymousId},ne.id&&ne.id!==Y&&{previousId:ne.id}),ae,[_,x,H])}))}catch(ae){return Promise.reject(ae)}},track:function(I,_,x,H){try{var Y=Ke(I)?I.event:I;if(!Y||!_t(Y))throw new Error("EventMissing");var J=Ke(I)?I:_||{},fe=Ke(x)?x:{};return Promise.resolve(new Promise(function(ne){S.dispatch({type:Q.trackStart,event:Y,properties:J,options:fe,userId:i(Pt,b,_),anonymousId:i(dr,b,_)},ne,[_,x,H])}))}catch(ne){return Promise.reject(ne)}},page:function(I,_,x){try{var H=Ke(I)?I:{},Y=Ke(_)?_:{};return Promise.resolve(new Promise(function(J){S.dispatch({type:Q.pageStart,properties:Ey(H),options:Y,userId:i(Pt,b,H),anonymousId:i(dr,b,H)},J,[I,_,x])}))}catch(J){return Promise.reject(J)}},user:function(I){if(I===Pt||I==="id")return i(Pt,b);if(I===dr||I==="anonId")return i(dr,b);var _=b.getState("user");return I?yd(_,I):_},reset:function(I){return new Promise(function(_){S.dispatch({type:Q.resetStart},_,I)})},ready:function(I){return m&&I({plugins:y,instance:b}),b.on(Q.ready,function(_){I&&I(_),m=!0})},on:function(I,_){if(!I||!ze(_))return!1;if(I===Q.bootstrap)throw new Error(".on disabled for "+I);var x=/Start$|Start:/;if(I==="*"){var H=function(ne){return function(ce){return function(ae){return ae.type.match(x)&&_({payload:ae,instance:b,plugins:o}),ce(ae)}}},Y=function(ne){return function(ce){return function(ae){return ae.type.match(x)||_({payload:ae,instance:b,plugins:o}),ce(ae)}}};return h(H,fn),h(Y,dn),function(){d(H,fn),d(Y,dn)}}var J=I.match(x)?fn:dn,fe=function(ne){return function(ce){return function(ae){return ae.type===I&&_({payload:ae,instance:b,plugins:o,abort:p}),ce(ae)}}};return h(fe,J),function(){return d(fe,J)}},once:function(I,_){if(!I||!ze(_))return!1;if(I===Q.bootstrap)throw new Error(".once disabled for "+I);var x=b.on(I,function(H){_({payload:H.payload,instance:b,plugins:o,abort:p}),x()});return x},getState:function(I){var _=S.getState();return I?yd(_,I):Object.assign({},_)},dispatch:function(I){var _=_t(I)?{type:I}:I;if(yn.includes(_.type))throw new Error("reserved action "+_.type);var x=ee({},_,{_:ee({originalAction:_.type},I._||{})});S.dispatch(x)},enablePlugin:y.enable,disablePlugin:y.disable,plugins:y,storage:{getItem:a.getItem,setItem:function(I,_,x){S.dispatch({type:Q.setItemStart,key:I,value:_,options:x})},removeItem:function(I,_){S.dispatch({type:Q.removeItemStart,key:I,options:_})}},setAnonymousId:function(I,_){b.storage.setItem(Tt,I,_)},events:{core:yn,plugins:s}},R=n.middlewares.concat([function(I){return function(_){return function(x){return x.meta||(x.meta=Nd()),_(x)}}},v(fn),py(b,c,{all:l,plugins:s}),my(a),ly(b),dy(b),v(dn)]),A={context:Ty,user:fy(a),page:_y,track:by,plugins:yy(c),queue:Iy},j=br,z=br;if(Ce&&t.debug){var V=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;V&&(j=V({trace:!0,traceLimit:25})),z=function(){return arguments.length===0?Mv():Ke(typeof arguments[0])?jd():jd().apply(null,arguments)}}var te,L=(function(I){return Object.keys(I).reduce(function(_,x){return Ry.includes(x)||(_[x]=I[x]),_},{})})(t),M=n.pluginsArray.reduce(function(I,_){var x=_.name,H=_.config,Y=_.loaded,J=n.pluginEnabled[x];return I[x]={enabled:J,initialized:!!J&&!_.initialize,loaded:!!Y({config:H}),config:H},I},{}),N={context:L,user:w,plugins:M},S=Cv((function(I){for(var _=Object.keys(I),x={},H=0;H<_.length;H++){var Y=_[H];typeof I[Y]===Et&&(x[Y]=I[Y])}var J,fe=Object.keys(x);try{(function(ne){Object.keys(ne).forEach(function(ce){var ae=ne[ce];if(typeof ae(void 0,{type:vs})===vt||typeof ae(void 0,{type:sy})===vt)throw new Error(Gr+" "+ce+" "+vt)})})(x)}catch(ne){J=ne}return function(ne,ce){if(ne===void 0&&(ne={}),J)throw J;for(var ae=!1,ke={},Ne=0;Ne<fe.length;Ne++){var De=fe[Ne],Le=ne[De],Qe=(0,x[De])(Le,ce);if(typeof Qe===vt){var St=cy(De,ce);throw new Error(St)}ke[De]=Qe,ae=ae||Qe!==Le}return ae?ke:ne}})(ee({},A,e)),N,z(j(uy.apply(void 0,R))));S.dispatch=(te=S.dispatch,function(I,_,x){var H=ee({},I,{meta:Nd(I.meta,_,Yo(x))});return te.apply(null,[H])});var O=Object.keys(o);S.dispatch({type:Q.bootstrap,plugins:O,config:L,params:g,user:w,initialUser:r,persistedUser:P});var q=O.filter(function(I){return n.pluginEnabled[I]}),F=O.filter(function(I){return!n.pluginEnabled[I]});return S.dispatch({type:Q.registerPlugins,plugins:O,enabled:n.pluginEnabled}),n.pluginsArray.map(function(I,_){var x=I.bootstrap,H=I.config,Y=I.name;x&&ze(x)&&x({instance:b,config:H,payload:I}),S.dispatch({type:Q.registerPluginType(Y),name:Y,enabled:n.pluginEnabled[Y],plugin:I}),n.pluginsArray.length===_+1&&S.dispatch({type:Q.initializeStart,plugins:q,disabled:F})}),Cy(function(I){S.dispatch({type:I?Q.offline:Q.online})}),(function(I,_,x){setInterval(function(){return Uv(I,_,x)},3e3)})(S,c,b),b}var fn="before",dn="after",zt="cookie",xt=zv(),Fv=Jn,Uy=Jn;function Kv(t){return xt?Jn(t,"",-1):Or(t)}function zv(){if(xt!==void 0)return xt;var t=zt+zt;try{Jn(t,t),xt=document.cookie.indexOf(t)!==-1,Kv(t)}catch{xt=!1}return xt}function Jn(t,e,r,n,a,i){if(typeof window<"u"){var o=arguments.length>1;return xt===!1&&(o?Zt(t,e):Jt(t)),o?document.cookie=t+"="+encodeURIComponent(e)+(r?"; expires="+new Date(+new Date+1e3*r).toUTCString()+(n?"; path="+n:"")+(a?"; domain="+a:"")+(i?"; secure":""):""):decodeURIComponent((("; "+document.cookie).split("; "+t+"=")[1]||"").split(";")[0])}}var mt="localStorage",$y=Ws.bind(null,mt);Cr(mt,"getItem",Jt);Cr(mt,"setItem",Zt);Cr(mt,"removeItem",Or);var gt="sessionStorage",Ly=Ws.bind(null,gt);Cr(gt,"getItem",Jt);Cr(gt,"setItem",Zt);Cr(gt,"removeItem",Or);function pr(t){var e=t;try{if((e=JSON.parse(t))==="true")return!0;if(e==="false")return!1;if(Ke(e))return e;parseFloat(e)===e&&(e=parseFloat(e))}catch{}if(e!==null&&e!=="")return e}var qy=$y(),jy=Ly(),Ny=zv();function Ht(t,e){if(t){var r=Vs(e),n=!Xs(r),a=Js(r)?pr(localStorage.getItem(t)):void 0;if(n&&!fr(a))return a;var i=Zs(r)?pr(Fv(t)):void 0;if(n&&i)return i;var o=Ys(r)?pr(sessionStorage.getItem(t)):void 0;if(n&&o)return o;var s=Jt(t);return n?s:{localStorage:a,sessionStorage:o,cookie:i,global:s}}}function _n(t,e,r){if(t&&!fr(e)){var n={},a=Vs(r),i=JSON.stringify(e),o=!Xs(a);return Js(a)&&(n[mt]=hn(mt,e,pr(localStorage.getItem(t))),localStorage.setItem(t,i),o)?n[mt]:Zs(a)&&(n[zt]=hn(zt,e,pr(Fv(t))),Uy(t,i),o)?n[zt]:Ys(a)&&(n[gt]=hn(gt,e,pr(sessionStorage.getItem(t))),sessionStorage.setItem(t,i),o)?n[gt]:(n[Ft]=hn(Ft,e,Jt(t)),Zt(t,e),o?n[Ft]:n)}}function xy(t,e){if(t){var r=Vs(e),n=Ht(t,Ev),a={};return!fr(n.localStorage)&&Js(r)&&(localStorage.removeItem(t),a[mt]=n.localStorage),!fr(n.cookie)&&Zs(r)&&(Kv(t),a[zt]=n.cookie),!fr(n.sessionStorage)&&Ys(r)&&(sessionStorage.removeItem(t),a[gt]=n.sessionStorage),!fr(n.global)&&Zn(r,Ft)&&(Or(t),a[Ft]=n.global),a}}function Vs(t){return t?_t(t)?t:t.storage:Pv}function Js(t){return qy&&Zn(t,mt)}function Zs(t){return Ny&&Zn(t,zt)}function Ys(t){return jy&&Zn(t,gt)}function Xs(t){return t===Ev||t==="all"}function Zn(t,e){return t===Pv||t===e||Xs(t)}function hn(t,e,r){return{location:t,current:e,previous:r}}var Dy={setItem:_n,getItem:Ht,removeItem:xy};function My(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function xd(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,n)}return r}function Dd(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?xd(Object(r),!0).forEach(function(n){My(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):xd(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function Fy(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e={storage:Dy};return Ay(Dd(Dd({},e),t))}const Qs="@sesamy/sesamy-js",Yn="1.70.0";function Ky(t){if(typeof window>"u")return;const{addEventListener:e,history:r,location:n}=window;let a=n.pathname;e("popstate",()=>t(n.pathname)),["push","replace"].map(i=>{const o=`${i}State`;if(o!=="pushState"&&o!=="replaceState")return;const s=r[o];r[o]=function(...u){const l=u[2]?.toString()||"",c=Hy(l);return a!==c&&(a=c,setTimeout(()=>t(l),0)),s.apply(r,u)}})}function zy(t,e){const r=t.indexOf(e);return r>-1?t.slice(0,r):t}function Hy(t){return["#","?"].forEach(e=>t=zy(t,e)),t}function By(){Ky(()=>{dt.page()})}var Xo="up",Qo="down";function Gy(t){if(t===void 0&&(t={}),!Ce)return hs;var e=Fd(),r=ys(),n=Md(),a=vn(n,e),i=vn(r,e),o=[],s=[],u=[],l=n,c=a,f=i,h=Object.keys(t);if(!h.length)return hs;var d=h.map(function(p){return Number(p)}),v=oy(function(){var p=Fd(),g=(function(L,M){return M.map(function(N){return N===100?L-5:L*(N/100)})})(p,d),P=ys(),w=Md(),y=vn(w,p),m=vn(P,p);if(c=y>c?y:c,f=m<f?m:f,!(o.length>=d.length)){var b=l===w,R=Xo;b?R="initial":l<=w&&(R=Qo);var A=g,j=d;(R===Xo||b)&&(A=g.slice().reverse(),j=d.slice().reverse());var z=j.reduce(function(L,M,N){var S=A[N];return u.includes(M)&&w<=S&&(u=u.filter(function(O){return O!==M}),L.singleFunction=M),R===Qo&&!o.includes(M)&&w>=S&&M>i?(s.push(M),L.callbacks=L.callbacks.concat(M),L):R===Xo&&!o.includes(M)&&w<=S&&M<=y?(L.foundFunc=[M],L):(b&&w>=S&&L.foundFunc.length===0&&(L.foundFunc=[M]),!s.includes(M)&&w>=S&&(s.push(M),L.singleFunction?u.push(M):L.singleFunction=M),L)},{foundFunc:[],singleFunction:null,callbacks:[],direction:R});if(l=w,R===Qo&&z.callbacks&&z.callbacks.forEach(function(L){ze(t[L])&&(t[L]({trigger:L,direction:R,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(L))}),z.singleFunction){var V=z.singleFunction,te=z.direction;ze(t[V])&&t[V]({trigger:V,direction:te,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(V)}}},500);return window.addEventListener("scroll",v),function(){return window.removeEventListener("scroll",v)}}function ys(){return Ce?document.body.scrollTop||document.documentElement.scrollTop:0}function Wy(){return Ce?window.innerHeight||document.documentElement.clientHeight:0}function Md(){return Math.round(ys()+Wy())}function Fd(){if(!Ce)return 0;var t=document.body,e=document.documentElement;return Math.max(t.scrollHeight,t.offsetHeight,e.clientHeight,e.scrollHeight,e.offsetHeight)}function vn(t,e){return Math.round(t/e*100)}var ec="Event",Kd=ec+"Listener";function Vy(t){return function(e,r,n,a){var i=n||hs,o=a||!1;if(!Ce)return i;var s=Tn(r),u=Tn(e,!0);if(!u.length)throw new Error("noElements");if(!s.length)throw new Error("no"+ec);var l=[];return(function c(f){f&&(l=[]);for(var h=f?"add"+Kd:"remove"+Kd,d=0;d<u.length;d++){var v=u[d];l[d]=f?o&&o.once?Jy(i):i:l[d]||i;for(var p=0;p<s.length;p++)v[h]?v["on"+s[p]]=f?l[d]:null:v[h](s[p],l[d],o)}return c.bind(null,!f)})(t)}}function Tn(t,e){if(_t(t))return e?Tn(document.querySelectorAll(t)):(r=t).split(r.indexOf(",")>-1?",":" ").map(function(o){return o.trim()});var r;if(NodeList.prototype.isPrototypeOf(t)){for(var n=[],a=t.length>>>0;a--;)n[a]=t[a];return n}var i=ty(t);return e?i.map(function(o){return _t(o)?Tn(o,!0):o}).flat():i}function Jy(t,e){var r;return function(){return t&&(r=t.apply(this,arguments),t=null),r}}var es=Vy(ec);function Hv(t,e){return Ce&&ze(window[t])?(r=window[t],n=e,(a=window)===void 0&&(a=null),ze(r)?function(){r.apply(a,arguments),n.apply(a,arguments)}:n):window[t]=e;var r,n,a}Hv.bind(null,"onerror");Hv.bind(null,"onload");var Bv=typeof window>"u",zd="hidden";function Zy(t){if(Bv)return!1;var e=Yy(),r="".concat(e.replace(/[H|h]idden/,""),"visibilitychange"),n=function(){return t(!!document[e])},a=function(){return document.addEventListener(r,n)};return a(),function(){return document.removeEventListener(r,n),a}}function Yy(){var t=["webkit","moz","ms","o"];return Bv||zd in document?zd:t.reduce(function(e,r){var n=r+"Hidden";return!e&&n in document?n:e},null)}var Xy=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function Qy(t,e){e===void 0&&(e={});var r=(function(o,s){var u=this,l=!1;return function(c){l||(o.call(u,c),l=!0,setTimeout(function(){return l=!1},s))}})(t,e.throttle||1e4),n=[];function a(){var o=Zy(function(s){s||r({type:"tabVisible"})});return n=[o].concat(Xy.map(function(s){return es(document,s,r)})).concat(es(window,"load",r)).concat(es(window,"scroll",r,{capture:!0,passive:!0})),i}function i(){n.map(function(o){return o()})}return a(),function(){return i(),a}}function ew(t){var e,r,n=t.onIdle,a=t.onWakeUp,i=t.onHeartbeat,o=t.timeout,s=o,u=t.throttle,l=u===void 0?2e3:u,c=!1,f=!1,h=new Date,d=function(){return clearTimeout(e)};function v(g){d(),i&&!c&&i(xr(h),g),a&&c&&(c=!1,a(xr(r),g),h=new Date),e=setTimeout(function(){c=!0,n&&(r=new Date,n(xr(h),g))},s)}var p=Qy(v,{throttle:l});return{disable:function(){f=!0,c=!1,d();var g=p();return function(){return f=!1,h=new Date,v({type:"load"}),g()}},getStatus:function(){return{isIdle:c,isDisabled:f,active:c?0:xr(h,f),idle:c?xr(r,f):0}}}}function xr(t,e){return e?0:Math.round((new Date-t)/1e3)}const Hd=5e3;class tw{element;isInViewport=!1;isAwake=!1;isFlushing;observer;lastEventAt=Date.now();registeredView=!1;viewCallback;activeDurationCallback;idleDurationCallback;scrollCallback;constructor(e){this.element=e.element,this.viewCallback=e.viewCallback,this.activeDurationCallback=e.activeDurationCallback,this.idleDurationCallback=e.idleDurationCallback,this.scrollCallback=e.scrollCallback,this.observer=new IntersectionObserver(r=>{r.forEach(n=>{this.handleInViewPort(n.isIntersecting)})},{threshold:0}),this.observer.observe(this.element),ew({onIdle:r=>this.handleAwake(!1,r),onWakeUp:r=>this.handleAwake(!0,r),timeout:Hd}),Gy({25:this.handleScroll.bind(this),50:this.handleScroll.bind(this),75:this.handleScroll.bind(this),90:this.handleScroll.bind(this),100:this.handleScroll.bind(this)})}flush(){this.isFlushing=!0,this.handleAwake(!this.isAwake)}handleInViewPort(e){e?(this.isAwake=!0,this.trackInViewport()):this.handleAwake(!1),this.isInViewport=e}handleAwake(e,r=Math.round((Date.now()-this.lastEventAt)/1e3)){this.isAwake=e,this.lastEventAt=e?Date.now()-r*Hd:Date.now(),this.isInViewport&&this.trackAwake(e,r)}handleScroll(e){this.scrollCallback&&this.scrollCallback(e)}handleVisibilityChange(){this.isAwake=!1;const e=Math.round((Date.now()-this.lastEventAt)/1e3);e>1&&(this.lastEventAt=Date.now(),this.trackAwake(!1,e))}trackAwake(e,r){!e&&this.activeDurationCallback&&this.activeDurationCallback(r,this.isFlushing,this.lastEventAt),e&&this.idleDurationCallback&&this.idleDurationCallback(r,this.isFlushing,this.lastEventAt)}trackInViewport(){this.registeredView||(this.registeredView=!0,this.viewCallback&&this.viewCallback())}}function Gv(t){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}function rw(t,e){e=e||{};var r,n,a=[],i=e.max||1/0;function o(){clearInterval(r),t(a.splice(0,i)),s()}function s(){r=setInterval(o,e.interval||1e4)}return s(),{flush:o,push:function(u){return n=a.push(u),n>=i&&o(),n},size:function(){return a.length},end:function(u){u&&o(),clearInterval(r)}}}const Bd="sesamy_session_id";function nw(){let t=sessionStorage.getItem(Bd);return t||(t=Math.random().toString(36).slice(2,9),sessionStorage.setItem(Bd,t)),t}function Wv(t){function e(n){return n.id?`#${n.id}`:n.classList.length>0?Array.from(n.classList).map(i=>`.${i}`).join(""):null}function r(n){const a=[];let i=n;for(;i&&i!==document.body&&i!==document.documentElement;){const o=e(i);if(o){a.unshift(o);break}if(i.parentElement){const s=Array.from(i.parentElement.children),u=s.indexOf(i)+1,l=i.tagName.toLowerCase();s.filter(f=>f.tagName.toLowerCase()===l).length>1?a.unshift(`${l}:nth-child(${u})`):a.unshift(l)}i=i.parentElement}return a.join(" > ")}return r(t)}function aw(t){return t?Object.fromEntries(Object.entries(t).filter(([e,r])=>r!==void 0)):{}}let Fe={article:{selector:"sesamy-article"},image:{selector:"img",attribute:"src"},title:{selector:"h1",attribute:"textContent"},excerpt:{selector:"p",attribute:"textContent"},price:{selector:"sesamy-article",attribute:"price"},currency:{selector:"sesamy-article",attribute:"currency"},url:{selector:"sesamy-article",attribute:"item-src"},accessLevel:{selector:"sesamy-article",attribute:"access-level"},id:{selector:"sesamy-article",attribute:"publisher-content-id"},pass:{selector:"sesamy-article",attribute:"pass"},paywallUrl:{selector:"sesamy-article",attribute:"paywall-url"}},Vv=[],Jv=!1,Bt;function Zv(){const t=window.location.pathname;return Vv.find(e=>e.path?t.includes(e.path):!0)}function iw(t,e){Vv=t.content||[];const r=Zv();r&&r.type==="article"&&(Fe={...Fe,...aw(r.selectors)},Jv=r.enablePaywallSettingsUrlFallback||!1),Bt=e}function ow(t,e){const{selector:r}=e;return r===Fe.article.selector||t.matches(r)?t:t.querySelector(r)}function Yv(t,e){if(t)return e.attribute?e.attribute==="textContent"?t.textContent??void 0:t.getAttribute(e.attribute)??Yv(t.parentElement,e):t.textContent??void 0}function mr(t){const e=document.head.querySelectorAll(`[property~='${t}'][content]`);for(let n=0;n<e.length;n+=1)if(e[n].content)return e[n].content;const r=document.head.querySelectorAll(`[name~='${t}'][content]`);for(let n=0;n<r.length;n+=1)if(r[n].content)return r[n].content}function tc({publisherContentId:t,key:e,defaultValue:r=""}){return(t?document.body.querySelector(`sesamy-content-data[id='${t}']`):null)?.getAttribute(e)||mr(`sesamy:${e}`)||mr(`og:${e}`)||mr(e)||r}function Xv(){const t=document.querySelectorAll(Fe.article.selector);return Array.from(t).map(on).filter(e=>e!==null)}function on(t){const e=typeof t=="string"?document.querySelector(t):t;if(!e)return null;const r={element:e,selector:typeof t=="string"?t:Wv(e)},n=(i,o,s,u)=>{const l=ow(e,o);if(l){const c=Yv(l,o)||tc({publisherContentId:s,key:i});c!==void 0&&(r[i]=u?u(c):c)}};n("id",Fe.id),n("title",Fe.title,r.id),n("excerpt",Fe.excerpt,r.id),n("image",Fe.image,r.id),n("price",Fe.price,r.id,i=>parseFloat(i)),n("currency",Fe.currency,r.id),n("url",Fe.url,r.id),n("pass",Fe.pass,r.id),n("paywallUrl",Fe.paywallUrl,r.id),n("accessLevel",Fe.accessLevel,r.id,i=>i||"entitlement");const a=Zv();if(a&&a.type==="article"&&(a.pass&&(r.pass=r.pass?`${r.pass},${a.pass}`:a.pass),a.price&&!r.price&&(r.price=a.price.amount),a.price?.currency&&!r.currency&&(r.currency=a.price.currency),a.paywallUrl&&!r.paywallUrl&&(r.paywallUrl=a.paywallUrl)),Jv&&!r.paywallUrl){const i=document.querySelector("sesamy-paywall");if(i){const o=i.getAttribute("settings-url");o&&(r.paywallUrl=o)}}return r.url||(r.url=window.location.href),r}async function sw(t){const e=on(t);if(!e)throw new Error("Could not find article element");if(e.paywallUrl&&((await Bt.paywalls.get(e.paywallUrl)).settings.template==="LOGIN"?"logged-in":"entitlement")==="logged-in")return await Bt.auth.isAuthenticated()?{}:null;if(!e.url)throw new Error("Article must have a URL");return await Bt.entitlements.hasAccess(e.url,e.pass?.split(",")||[])||null}async function Qv(t,e){const r=typeof t=="string"?document.querySelector(t):t;if(!r)throw new Error("Could not find element");const n=on(r);if(!n?.url)throw new Error("Could not find content for element");const a=await Bt.entitlements.hasAccess(n.url||"",n.pass?.split(",")||[]);if(!a)throw new Error("User does not have access to the content");const i=await Bt.entitlements.access(a.id);if(!i.token)throw new Error("Could not get access token");const o=e||Wv(r.parentElement||r);return Bt.proxy.getContent(i.token,n.url,o)}let ep=!1,wn,Rn,ws;function tp(t){return JSON.stringify(t.map(e=>{const{campaign:r,...n}=e.properties||{};return{anonymousId:e.anonymousId,userId:e.userId,type:e.type,properties:n,clientId:ws,requestId:Math.random().toString(36).slice(2,9),sessionId:nw(),timestamp:new Date().toISOString(),version:Yn,event:e.event,context:{...e.context,page:{url:window.location.href,title:document.title,referrer:document.referrer,itemSrc:mr("sesamy:item-src"),publisherContentId:mr("sesamy:publisher-content-id")},campaign:r,locale:navigator.language,library:Qs,userAgent:navigator.userAgent,clientId:ws}}}))}const rp=rw(async t=>{if(t.length>0){const e=tp(t);ep?navigator.sendBeacon(Rn,e):(await fetch(Rn,{method:"POST",body:e,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function ts(t){if(t.anonymousId)if(t.properties?.flushing){const e={...t};delete e.properties.flushing,navigator.sendBeacon(Rn,tp([e]))}else rp.push(t)}function cw(){return ep=!0,rp.flush()}function uw(t,e,r){wn=e,Rn=`${ot("logs",r)}/events`,ws=t}const lw={name:"custom-analytics-plugin",page:({payload:t})=>{if(!wn)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;ts({anonymousId:r,userId:n,properties:e,event:a,type:"page"})},track:({payload:t})=>{if(!wn)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;ts({anonymousId:r,userId:n,properties:e,event:a,type:"track"})},identify:({payload:t})=>{if(!wn)return;const{properties:e,anonymousId:r,userId:n}=t;ts({anonymousId:r,userId:n,properties:e,type:"identify"})}},Gd=["source","medium","campaign","term","content"],kt="utm_",fw=1800*1e3;function np(t){return t?Date.now()-parseInt(t,10)>fw:!0}function Wd(){const t=document.referrer||"";if(!t)return;const e=Ht(`${kt}set_at`);(np(e)||!Ht(`${kt}referrer`))&&_n(`${kt}referrer`,t)}function dw(){const t=()=>{const r={};for(const a of Gd){const i=Ht(`${kt}${a}`);i&&(r[`utm_${a}`]=i)}const n=Ht(`${kt}referrer`);return n&&(r.utm_referrer=n),r};return{name:"attribution-tracking",initialize(){Wd()},campaign({payload:r}){const n=r?.campaign||{},a=Ht(`${kt}set_at`);if(Object.keys(n).length>0&&np(a)){for(const o of Gd){const s=n[o];s&&_n(`${kt}${o}`,s)}_n(`${kt}set_at`,String(Date.now()))}Wd()},page({payload:r}){return r.properties.campaign=t(),r},track({payload:r}){return r.properties.campaign=t(),r},getStoredCampaignData:t}}const hw=dw(),Vd=new Map,Jd=new Map;function vw({clientId:t,enabled:e=!0,environment:r}){uw(t,e,r),e&&(window.addEventListener("beforeunload",()=>{Jd.forEach((n,a)=>{n.bind(a)()}),cw()}),window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&Vd.forEach((n,a)=>{n.bind(a)()})}),By(),Gv(()=>{const n=new tw({element:document.body,viewCallback:()=>{dt.page()},activeDurationCallback:(a,i,o)=>{dt.track("activeDuration",{duration:a,durationStart:o,flushing:i})},idleDurationCallback:(a,i,o)=>{dt.track("idleDuration",{duration:a,durationStart:o,flushing:i})},scrollCallback:a=>{dt.track("scroll",{scroll:a.scrollMax})}});Jd.set(document.body,()=>{n.flush()}),Vd.set(document.body,()=>{n.handleVisibilityChange()})}),window.addEventListener(Be.AUTHENTICATED,async n=>{const a=n;await dt.identify(a.detail.sub)}),window.addEventListener(Be.LOGOUT,async()=>{await dt.track("logout",{}),await dt.reset()}))}const dt=Fy({app:Qs,version:Yn,plugins:[hw,lw]});function ap(t,e){dt.track(t,e)}function ip(t,e,r=!1){const n={name:t,data:e},a=new CustomEvent(t,{detail:n,cancelable:r,bubbles:!0});ap(`event:${t}`,{...e,timestamp:new Date().toISOString()});const i=window.dispatchEvent(a);return r&&!i?{canceled:!0,message:n.cancellationMessage}:{canceled:!1}}function pw(t,e){t.cancelable&&(t.detail.cancellationMessage=e,t.preventDefault())}function mw(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function gw(){return/android/i.test(navigator.userAgent)}let Oe,op,Wr,bs=!1,bn=!1;Jr()&&window.addEventListener("pageshow",()=>{bn=!1});const Sr="sesamyAccessToken",rs="sesamyRefreshToken",On="sesamySilentAuthThrottle",yw=300*1e3;async function Xn(){return bs?!0:new Promise((t,e)=>{const r=setTimeout(()=>{bs?t(!0):e(new Error("Initialization failed: Timeout"))},2e3);window.addEventListener(Be.AUTH_INITIALIZED,()=>{clearTimeout(r),t(!0)})})}async function ww(t){if(!t)return null;const e=localStorage.getItem(rs);if(!e)return le("No refresh token found in localstorage"),null;const r=new URLSearchParams;r.set("client_id",t.iss),r.set("refresh_token",e),r.set("grant_type","refresh_token");const n=new URL(t.iss);n.pathname="/oauth/token",n.searchParams.set("user_id",t.sub);try{const a=await fetch(n.href,{body:r.toString(),method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"}});if(!a.ok)throw localStorage.removeItem(rs),new Error("Renew token failed");const i=await a.json();return localStorage.setItem(rs,i.refresh_token),localStorage.setItem(Sr,i.access_token),i.access_token}catch{ac()}}async function rc(){const t=localStorage.getItem(Sr);if(!t)return null;const e=ic(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3){const r=await ww(e);if(r)return r;localStorage.removeItem(Sr)}return t}let pn=null;const bw=64;function Sw(){try{if(pn!==null)return pn;const e=Object.keys(localStorage).filter(r=>r.startsWith("@@auth0spajs@@"));for(const r of e){const n=JSON.parse(localStorage.getItem(r)||"{}");let a;if(typeof n=="object"&&(n.body&&typeof n.body=="object"&&"refresh_token"in n.body?a=n.body.refresh_token:"refresh_token"in n&&(a=n.refresh_token)),a&&typeof a=="string"&&a.length===bw)return pn=!0,!0}}catch(t){le(`Error checking for existing auth0 tokens: ${t.message}`)}return pn=!1,!1}function Iw(t){if(t.domains&&t.domains.length>0){const e=Ir(window.location.href);if(e){for(const r of t.domains)if(Ir(`https://${r}`)===e)return le(`Found matching domain in domains array: ${r} for TLD: ${e}`),r;le(`No matching domain found in domains array for TLD: ${e}`)}}if(t.domain)return le(`Using fallback domain property: ${t.domain}`),t.domain}function Ir(t){try{const e=new URL(t).hostname,r=e.split(".");if(r.length<=1)return e;const n=["co.uk","com.au","co.nz","co.za","com.br","co.jp","gov.uk","ac.uk","org.uk","net.uk","com.sg","com.my","co.in","co.id","co.th","co.kr","com.mx","com.ar","com.co","com.pe","com.ph","com.pk","com.sa","com.eg","com.ng","co.ke","co.tz","co.zw","co.bw","co.mz","gov.au","edu.au","org.au","net.au","asn.au","id.au"];for(const a of n)if(e.endsWith(`.${a}`)){const i=a.split(".").length+1;return r.slice(-i).join(".")}return r.slice(-2).join(".")}catch{return null}}async function Pw(t){if(t.enabled===!1)return;op=t.organization;const e=Iw(t);Wr=e&&!Sw()?e:Iv("token",t.environment);const r={domain:Wr,clientId:t.clientId,useCookiesForTransactions:!0};r.cacheLocation="localstorage",Ir(window.location.href)!==Ir(`https://${Wr}`)&&(r.useRefreshTokens=!0),le(`Initializing auth0 client: ${JSON.stringify(r)}`),Oe=await Rg(r);const n=new URLSearchParams(window.location.search),a=n.get("code"),i=n.get("state");if(a)if(window.opener)le("Code found in URL, posting to opener"),window.opener.postMessage({type:"authorization_response",response:{code:a,state:i}},window.location.origin);else{le("Code found in URL, handling redirect");try{const u=await Oe.handleRedirectCallback();le(`Login result: ${JSON.stringify(u)}`);const l=await Oe.getUser();if(!l)throw le("No user found"),new Error("No user found");le(`User found ${JSON.stringify(l)}`),nc(),Wt(Be.AUTHENTICATED,l),le("Rewrite url")}catch(u){alert("There was an error logging in"),console.error(u)}const o=new URL(location.href),s=o.searchParams;s.delete("code"),s.delete("state"),o.search=s.toString(),window.history.replaceState({},document.title,o.toString())}bs=!0,Wt(Be.AUTH_INITIALIZED,{})}async function gr(){return await Xn(),await rc()?!0:Oe?Oe.isAuthenticated():!1}async function Ew(){return await Xn(),await rc()?(le("Using local user"),{sub:"local",name:"Local User"}):Oe?Oe.getUser():null}function sp(t){if(bn)return le("Login already in progress"),null;if(bn=!0,setTimeout(()=>{bn=!1},3e3),localStorage.removeItem(Sr),!Oe)throw new Error("Auth0 client not initialized");const e=t?.authorizationParams||{};return{...t,authorizationParams:{organization:op,redirect_uri:window.location.href,ui_locales:Br(),incognito:Gs(),...e}}}async function Qn(t){const e=sp(t);if(e)return Oe.loginWithRedirect(e)}async function cp(t){const e=sp(t);if(!e)return;await Oe.loginWithPopup(e,{timeoutInSeconds:1800}),nc(),ip(Be.AUTHENTICATED,await Oe.getUser()).canceled||window.location.reload()}async function kw(t){return Wr&&Ir(window.location.href)!==Ir(`https://${Wr}`)&&(mw()||gw()||Gs())?cp(t):Qn(t)}function _w(){try{const t=sessionStorage.getItem(On);if(!t)return!1;const{timestamp:e}=JSON.parse(t);return Date.now()-e<yw}catch{return sessionStorage.removeItem(On),!1}}function Tw(){try{const t={timestamp:Date.now()};sessionStorage.setItem(On,JSON.stringify(t))}catch{le("Failed to set silent auth throttle in sessionStorage")}}function nc(){try{sessionStorage.removeItem(On)}catch{}}async function qt(t=!0,e=!1){await Xn();const r=await rc();if(r)return r;if(!e&&_w()){if(le("Silent auth is throttled due to recent failures, skipping request"),t)throw new Error("Silent auth throttled");return null}try{if(!Oe)return le("Auth client not initialized"),null;let n=await Oe.getTokenSilently();const a=ic(n);return e&&a?.exp&&a.exp+3600<new Date().getTime()/1e3&&(n=await Oe.getTokenSilently({cacheMode:e?"off":"on"})),nc(),n}catch(n){const a=n;if(le(`Failed to get token silently: ${a.message}`),Tw(),await Oe.isAuthenticated()&&(a.message==="Invalid refresh token"||a.message.includes("Missing Refresh Token"))&&await ac(),t)throw n;return null}}async function ac(t={}){if(await Xn(),localStorage.removeItem(Sr),Wt(Be.LOGOUT,{}),!!Oe)return le(`Logout with options: ${JSON.stringify(t)}`),Oe.logout({...t,logoutParams:{returnTo:window.location.href,...t.logoutParams}})}function ic(t){const e=t.split(".");if(e.length!==3)return null;const n=e[1].replace(/-/g,"+").replace(/_/g,"/"),a=decodeURIComponent(atob(n).split("").map(function(i){return"%"+("00"+i.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(a)}async function Ss(t){const e=ic(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3)throw new Error("Invalid token");le("Set token"),localStorage.setItem(Sr,t),Wt(Be.AUTHENTICATED,e)}const Rw=(t,e)=>e.skipDedupe||e.method!=="GET",Ow=(t,e)=>e.method+"@"+t,Cw=t=>t.clone(),Aw=({skip:t=Rw,key:e=Ow,resolver:r=Cw}={})=>{const n=new Map;return a=>(i,o)=>{if(t(i,o))return a(i,o);const s=e(i,o);if(!n.has(s))n.set(s,[]);else return new Promise((u,l)=>{n.get(s).push([u,l])});try{return a(i,o).then(u=>(n.get(s).forEach(([l])=>l(r(u))),n.delete(s),u)).catch(u=>{throw n.get(s).forEach(([,l])=>l(u)),n.delete(s),u})}catch(u){return n.delete(s),Promise.reject(u)}}},Uw=(t,e)=>t*e,$w=t=>t&&t.ok,Lw=({delayTimer:t=500,delayRamp:e=Uw,maxAttempts:r=10,until:n=$w,onRetry:a=null,retryOnNetworkError:i=!1,resolveWithLatestResponse:o=!1,skip:s}={})=>u=>(l,c)=>{let f=0;if(s&&s(l,c))return u(l,c);const h=(d,v)=>Promise.resolve(n(d,v)).then(p=>p?d&&o?d:v?Promise.reject(v):d:(f++,!r||f<=r?new Promise(g=>{const P=e(t,f);setTimeout(()=>{typeof a=="function"?Promise.resolve(a({response:d,error:v,url:l,options:c})).then((w={})=>{var y,m;g(u((y=w&&w.url)!==null&&y!==void 0?y:l,(m=w&&w.options)!==null&&m!==void 0?m:c))}):g(u(l,c))},P)}).then(h).catch(g=>{if(!i)throw g;return h(null,g)}):d&&o?d:Promise.reject(v||new Error("Number of attempts exceeded."))));return u(l,c).then(h).catch(d=>{if(!i)throw d;return h(null,d)})};class Vr extends Error{status;statusText;url;body;constructor(e,r,n,a,i){super(a),this.name="APIError",this.status=e,this.statusText=r,this.url=n,this.body=i,Error.captureStackTrace&&Error.captureStackTrace(this,Vr)}isClientError(){return this.status>=400&&this.status<500}isServerError(){return this.status>=500}isForbiddenError(){return this.status===403}isNotFoundError(){return this.status===404}}var Cn=(t=>(t.BROWSER="browser",t.NORMAL="normal",t))(Cn||{});const qw="application/json",up="Content-Type",or=Symbol(),lp=Symbol();function Zd(t={}){var e;const r=t instanceof Array?Object.fromEntries(t):t;return(e=Object.entries(r).find(([n])=>n.toLowerCase()===up.toLowerCase()))===null||e===void 0?void 0:e[1]}function Yd(t){return/^application\/.*json.*/.test(t)}const Gt=function(t,e,r=!1){return Object.entries(e).reduce((n,[a,i])=>{const o=t[a];return Array.isArray(o)&&Array.isArray(i)?n[a]=r?[...o,...i]:i:typeof o=="object"&&typeof i=="object"?n[a]=Gt(o,i,r):n[a]=i,n},{...t})},Pr={options:{},errorType:"text",polyfills:{},polyfill(t,e=!0,r=!1,...n){const a=this.polyfills[t]||(typeof self<"u"?self[t]:null)||(typeof global<"u"?global[t]:null);if(e&&!a)throw new Error(t+" is not defined");return r&&a?new a(...n):a}};function jw(t,e=!1){Pr.options=e?t:Gt(Pr.options,t)}function Nw(t,e=!1){Pr.polyfills=e?t:Gt(Pr.polyfills,t)}function xw(t){Pr.errorType=t}const Dw=t=>e=>t.reduceRight((r,n)=>n(r),e)||e;class fp extends Error{}const Mw=t=>{const e=Object.create(null);t=t._addons.reduce((y,m)=>m.beforeRequest&&m.beforeRequest(y,t._options,e)||y,t);const{_url:r,_options:n,_config:a,_catchers:i,_resolvers:o,_middlewares:s,_addons:u}=t,l=new Map(i),c=Gt(a.options,n);let f=r;const h=Dw(s)((y,m)=>(f=y,a.polyfill("fetch")(y,m)))(r,c),d=new Error,v=h.catch(y=>{throw{[or]:y}}).then(y=>{var m;if(!y.ok){const b=new fp;if(b.cause=d,b.stack=b.stack+`
|
|
36
|
+
CAUSE: `+d.stack,b.response=y,b.status=y.status,b.url=f,y.type==="opaque")throw b;const R=a.errorType==="json"||((m=y.headers.get("Content-Type"))===null||m===void 0?void 0:m.split(";")[0])==="application/json";return(a.errorType?R?y.text():y[a.errorType]():Promise.resolve(y.body)).then(A=>{if(b.message=typeof A=="string"?A:y.statusText,A)if(R&&typeof A=="string"){b.text=A;try{b.json=JSON.parse(A)}catch{}}else b[a.errorType]=A;throw b})}return y}),p=y=>y.catch(m=>{const b=Object.prototype.hasOwnProperty.call(m,or),R=b?m[or]:m,A=R?.status&&l.get(R.status)||l.get(R?.name)||b&&l.has(or)&&l.get(or);if(A)return A(R,t);const j=l.get(lp);if(j)return j(R,t);throw R}),g=y=>m=>p(y?v.then(b=>b&&b[y]()).then(b=>m?m(b):b):v.then(b=>m?m(b):b)),P={_wretchReq:t,_fetchReq:h,_sharedState:e,res:g(null),json:g("json"),blob:g("blob"),formData:g("formData"),arrayBuffer:g("arrayBuffer"),text:g("text"),error(y,m){return l.set(y,m),this},badRequest(y){return this.error(400,y)},unauthorized(y){return this.error(401,y)},forbidden(y){return this.error(403,y)},notFound(y){return this.error(404,y)},timeout(y){return this.error(408,y)},internalError(y){return this.error(500,y)},fetchError(y){return this.error(or,y)}},w=u.reduce((y,m)=>({...y,...typeof m.resolver=="function"?m.resolver(y):m.resolver}),P);return o.reduce((y,m)=>m(y,t),w)},Fw={_url:"",_options:{},_config:Pr,_catchers:new Map,_resolvers:[],_deferred:[],_middlewares:[],_addons:[],addon(t){return{...this,_addons:[...this._addons,t],...t.wretch}},errorType(t){return{...this,_config:{...this._config,errorType:t}}},polyfills(t,e=!1){return{...this,_config:{...this._config,polyfills:e?t:Gt(this._config.polyfills,t)}}},url(t,e=!1){if(e)return{...this,_url:t};const r=this._url.split("?");return{...this,_url:r.length>1?r[0]+t+"?"+r[1]:this._url+t}},options(t,e=!1){return{...this,_options:e?t:Gt(this._options,t)}},headers(t){const e=t?Array.isArray(t)?Object.fromEntries(t):"entries"in t?Object.fromEntries(t.entries()):t:{};return{...this,_options:Gt(this._options,{headers:e})}},accept(t){return this.headers({Accept:t})},content(t){return this.headers({[up]:t})},auth(t){return this.headers({Authorization:t})},catcher(t,e){const r=new Map(this._catchers);return r.set(t,e),{...this,_catchers:r}},catcherFallback(t){return this.catcher(lp,t)},resolve(t,e=!1){return{...this,_resolvers:e?[t]:[...this._resolvers,t]}},defer(t,e=!1){return{...this,_deferred:e?[t]:[...this._deferred,t]}},middlewares(t,e=!1){return{...this,_middlewares:e?t:[...this._middlewares,...t]}},fetch(t=this._options.method,e="",r=null){let n=this.url(e).options({method:t});const a=Zd(n._options.headers),i=this._config.polyfill("FormData",!1),o=typeof r=="object"&&!(i&&r instanceof i)&&(!n._options.headers||!a||Yd(a));return n=r?o?n.json(r,a):n.body(r):n,Mw(n._deferred.reduce((s,u)=>u(s,s._url,s._options),n))},get(t=""){return this.fetch("GET",t)},delete(t=""){return this.fetch("DELETE",t)},put(t,e=""){return this.fetch("PUT",e,t)},post(t,e=""){return this.fetch("POST",e,t)},patch(t,e=""){return this.fetch("PATCH",e,t)},head(t=""){return this.fetch("HEAD",t)},opts(t=""){return this.fetch("OPTIONS",t)},body(t){return{...this,_options:{...this._options,body:t}}},json(t,e){const r=Zd(this._options.headers);return this.content(e||Yd(r)&&r||qw).body(JSON.stringify(t))}};function ct(t="",e={}){return{...Fw,_url:t,_options:e}}ct.default=ct;ct.options=jw;ct.errorType=xw;ct.polyfills=Nw;ct.WretchError=fp;const Kw=(t,e)=>e.skipDedupe||e.method!=="GET",zw=(t,e)=>e.method+"@"+t,Hw=t=>t.clone(),Bw=({skip:t=Kw,key:e=zw,resolver:r=Hw}={})=>{const n=new Map;return a=>(i,o)=>{if(t(i,o))return a(i,o);const s=e(i,o);if(!n.has(s))n.set(s,[]);else return new Promise((u,l)=>{n.get(s).push([u,l])});try{return a(i,o).then(u=>(n.get(s).forEach(([l])=>l(r(u))),n.delete(s),u)).catch(u=>{throw n.get(s).forEach(([,l])=>l(u)),n.delete(s),u})}catch(u){return n.delete(s),Promise.reject(u)}}},Gw=(t,e)=>e.skipCache||e.method!=="GET",Ww=(t,e)=>e.method+"@"+t,Vw=()=>!1,Jw=()=>null,Zw=t=>t.ok,Yw=({throttle:t=1e3,skip:e=Gw,key:r=Ww,clear:n=Vw,invalidate:a=Jw,condition:i=Zw,flagResponseOnCacheHit:o="__cached"}={})=>{const s=new Map,u=new Map,l=new Set,c=h=>{t&&!l.has(h)&&(l.add(h),setTimeout(()=>{l.delete(h)},t))},f=h=>(d,v)=>{const p=r(d,v);let g=a(d,v);if(g&&(g instanceof Array||(g=[g]),g.forEach(P=>{typeof P=="string"?s.delete(P):P instanceof RegExp&&s.forEach((w,y)=>{P.test(y)&&s.delete(y)})})),n(d,v)&&s.clear(),e(d,v))return h(d,v);if(l.has(p)){if(s.has(p)){const P=s.get(p).clone();return o&&Object.defineProperty(P,o,{value:p,enumerable:!1}),Promise.resolve(P)}else if(u.has(p))return new Promise((P,w)=>{u.get(p).push([P,w])})}return u.has(p)||u.set(p,[]),c(p),h(d,v).then(P=>(i(P.clone())&&s.set(p,P.clone()),u.get(p).forEach(([w])=>w(P.clone())),u.delete(p),P)).catch(P=>{throw u.get(p).forEach(([,w])=>w(P)),u.delete(p),P})};return f.cacheResponse=function(h,d){c(h),s.set(h,d)},f.cache=s,f.inflight=u,f.throttling=l,f},Xw=(t,e)=>t*e,Qw=t=>t&&t.ok,eb=({delayTimer:t=500,delayRamp:e=Xw,maxAttempts:r=10,until:n=Qw,onRetry:a=null,retryOnNetworkError:i=!1,resolveWithLatestResponse:o=!1,skip:s}={})=>u=>(l,c)=>{let f=0;if(s&&s(l,c))return u(l,c);const h=(d,v)=>Promise.resolve(n(d,v)).then(p=>p?d&&o?d:v?Promise.reject(v):d:(f++,!r||f<=r?new Promise(g=>{const P=e(t,f);setTimeout(()=>{typeof a=="function"?Promise.resolve(a({response:d,error:v,url:l,options:c})).then((w={})=>{var y,m;g(u((y=w&&w.url)!==null&&y!==void 0?y:l,(m=w&&w.options)!==null&&m!==void 0?m:c))}):g(u(l,c))},P)}).then(h).catch(g=>{if(!i)throw g;return h(null,g)}):d&&o?d:Promise.reject(v||new Error("Number of attempts exceeded."))));return u(l,c).then(h).catch(d=>{if(!i)throw d;return h(null,d)})},tb="@sesamy/sdk",rb="1.20.0";class nb{cache=new Map;get(e){return this.cache.get(e)||null}set(e,r){this.cache.set(e,r)}remove(e){this.cache.delete(e)}clear(){this.cache.clear()}}const Kr="sesamyCacheTimestamp",ab=t=>{const{libraryName:e=tb,libraryVersion:r=rb,cache:n}=t,a=n?.storage||new nb,i=[s=>async(u,l)=>{if(n?.mode===Cn.BROWSER){let c;typeof sessionStorage<"u"?(c=sessionStorage.getItem(Kr),c||(c=Date.now().toString(),sessionStorage.setItem(Kr,c))):(c=a.get(Kr),c||(c=Date.now().toString(),a.set(Kr,c)));const f={...l,headers:{...l.headers,"Cache-Timestamp":c}};return s(u,f)}return s(u,l)},s=>async(u,l)=>{const c=await t.tokenProvider(),f={...l,headers:{...l.headers,Authorization:c}};return s(u,f)},Bw()];n?.mode===Cn.NORMAL&&i.push(Yw({throttle:300*1e3,skip:(s,u)=>u.method!=="GET"})),i.push(eb({delayTimer:1e3,delayRamp:(s,u)=>s*u,maxAttempts:3,until:s=>!!(s&&(s.ok||s.status>=400&&s.status<500)),retryOnNetworkError:!1}));const o=ct(t.baseUrl).headers({"Content-Type":"application/json","X-Sesamy-Client":`${e}/${r}`,...t.headers}).middlewares(i);return{async request(s,u={}){try{const l=/^https?:\/\//.test(s);let c=o.url(s,l);u.headers&&(c=c.headers(u.headers));const f=(u.method||"GET").toLowerCase();let h;switch(f){case"get":h=c.get();break;case"post":h=c.post(u.body);break;case"put":h=c.put(u.body);break;case"patch":h=c.patch(u.body);break;case"delete":h=c.delete();break;default:h=c.get()}const d=await h.res();if(d.ok&&["post","patch","put","delete"].includes(f)&&pt(),d.status===204)return null;if(!d.ok){const v=await d.text().catch(()=>"Unknown error");throw new Vr(d.status,d.statusText,d.url,`API Error ${d.status}: ${v}`,v)}return await d.json()}catch(l){if(l instanceof Vr)throw l;const c=l.status||500,f=l.message||"Unknown error",h=`${t.baseUrl}${s}`;throw new Vr(c,f,h,`API Error ${c}: ${l.message||"Unknown error"}`,l.message||"Unknown error")}}}},pt=()=>(typeof sessionStorage<"u"&&sessionStorage.removeItem(Kr),"Cache cleared"),Dr={get:async(t,e)=>t.request(`/profile/${e}`),update:async(t,e,r)=>t.request(`/profile/${e}`,{method:"PATCH",body:JSON.stringify(r)}),checkSpotifyLink:async t=>t.request("/profile/spotify-link"),unlinkSpotify:async t=>t.request("/profile/unlink-spotify",{method:"POST"}),delete:async t=>{await t.request("/profile",{method:"DELETE"})}},ns={list:async(t,e)=>{const r=new URLSearchParams;e?.type&&r.append("type",e.type),e?.sku&&r.append("sku",e.sku),e?.purchaseOptionId&&r.append("purchase-option-id",e.purchaseOptionId),e?.waitForEntitlementAfter&&r.append("wait-for-entitlement-after",e.waitForEntitlementAfter);const n=r.toString(),a=n?`/entitlements?${n}`:"/entitlements";return t.request(a)},get:async(t,e)=>t.request(`/entitlements/${e}`),getAccess:async(t,e)=>t.request(`/entitlements/${e}/access`)},Xd={list:async t=>t.request("/subscriptions"),get:async(t,e)=>t.request(`/subscriptions/${e}`)},Qd={get:async(t,e)=>t.request(`/products/${e}`),autoOnboard:async(t,e)=>t.request(`/products/${e}/auto-onboard`,{method:"POST"})},Mr={list:async t=>t.request("/contracts"),get:async(t,e)=>t.request(`/contracts/${e}`),cancel:async(t,e)=>t.request(`/contracts/${e}/cancel`,{method:"POST"}),createAmendment:async(t,e,r)=>t.request(`/contracts/${e}/amendments`,{method:"POST",body:JSON.stringify(r)}),confirmAmendment:async(t,e,r)=>t.request(`/contracts/${e}/amendments/${r}/confirm`,{method:"POST"})},as={get:async t=>t.request("/user-metadata"),set:async(t,e,r)=>{await t.request(`/user-metadata/${e}`,{method:"PUT",body:r})},delete:async(t,e)=>{await t.request(`/user-metadata/${e}`,{method:"DELETE"})}},sr={list:async t=>t.request("/tallies"),get:async(t,e)=>t.request(`/tallies/${e}`),update:async(t,e,r)=>t.request(`/tallies/${e}`,{method:"PUT",body:JSON.stringify(r)}),create:async(t,e)=>t.request("/tallies",{method:"POST",body:JSON.stringify(e)}),delete:async(t,e)=>{try{return await t.request(`/tallies/${e}`,{method:"DELETE"}),!0}catch{return!1}},push:async(t,e,r)=>t.request(`/tallies/${e}/push`,{method:"POST",body:JSON.stringify(r)})},is={list:async t=>t.request("/tags"),add:async(t,e)=>{await t.request("/tags",{method:"POST",body:JSON.stringify({tag:e})})},remove:async(t,e)=>{await t.request(`/tags/${e}`,{method:"DELETE"})}},cr={generateCheckoutLink:(t,e)=>{const r=new URL(`${t.apiUrl}/checkouts`);return e.items&&r.searchParams.set("items",JSON.stringify(e.items)),e.email&&r.searchParams.set("email",e.email),e.language&&r.searchParams.set("lang",e.language),e.redirectUrl&&r.searchParams.set("redirect-url",e.redirectUrl),e.giftMode&&r.searchParams.set("gift-mode","true"),e.payerEmail&&r.searchParams.set("payer-email",e.payerEmail),e.requireAddress&&r.searchParams.set("require-address","true"),e.metadata&&Object.entries(e.metadata).forEach(([n,a])=>{r.searchParams.set(`metadata.${n}`,a)}),r.toString()},generateAccountLink:(t,e)=>{const r=e.language||"en",n=new URL(`${t.baseUrl}/account/${encodeURIComponent(r)}/subscriptions/${encodeURIComponent(t.clientId)}${e.contractId?`/${encodeURIComponent(e.contractId)}`:""}`);return n.searchParams.set("sesamy-redirect-url",e.redirectUrl||"/"),n.toString()},generateChangePaymentLink:(t,e)=>{const r=e.language||"en",n=new URL(`${t.baseUrl}/account/${encodeURIComponent(r)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(e.contractId)}/change-payment-method`);return n.searchParams.set("sesamy-redirect-url",e.redirectUrl||"/"),n.toString()},generateChangePlanLink:(t,e)=>{const r=e.language||"en",n=new URL(`${t.baseUrl}/account/${encodeURIComponent(r)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(e.contractId)}/edit-plan`);return n.searchParams.set("sesamy-redirect-url",e.redirectUrl||"/"),n.toString()},generateConsumeLink:(t,e)=>{const r=e.language||"en";let n=new URL(`${t.baseUrl}/consume/${encodeURIComponent(r)}/@${encodeURIComponent(t.clientId)}/${encodeURIComponent(e.sku)}`);return e.episodeId?n.href+=`/${encodeURIComponent(e.episodeId)}`:n.href+="/listen",n.searchParams.set("sesamy-redirect-url",e.redirectUrl||"/"),n.toString()}},os={generateLink:(t,e)=>{const r=new URL(`${t.apiUrl}/checkouts`);return e.items&&r.searchParams.set("items",JSON.stringify(e.items)),e.email&&r.searchParams.set("email",e.email),e.language&&r.searchParams.set("lang",e.language),e.redirectUrl&&r.searchParams.set("redirect-url",e.redirectUrl),e.giftMode&&r.searchParams.set("gift-mode","true"),e.payerEmail&&r.searchParams.set("payer-email",e.payerEmail),e.requireAddress&&r.searchParams.set("require-address","true"),e.metadata&&Object.entries(e.metadata).forEach(([n,a])=>{r.searchParams.set(`metadata.${n}`,a)}),r.toString()},create:async(t,e)=>t.request("/checkouts",{method:"POST",body:JSON.stringify(e)}),get:async(t,e)=>t.request(`/checkouts/${e}`),update:async(t,e,r)=>t.request(`/checkouts/${e}`,{method:"PATCH",body:JSON.stringify(r)})},eh={list:async t=>t.request("/bills"),get:async(t,e)=>t.request(`/bills/${e}`)},th={list:async t=>t.request("/fulfillments"),create:async(t,e)=>t.request("/fulfillments",{method:"POST",body:JSON.stringify(e)})},ib={get:async(t,e)=>{try{return new URL(e),t.request(e)}catch{return t.request(`/paywalls/${e}`)}}},ob={list:async t=>t.request("/payment-issues")},sb={content:async(t,e,r,n,a)=>{const i=new URLSearchParams({url:e});return r&&i.append("selector",r),n&&i.append("cache",n),t.request(`/proxy?${i.toString()}`,a)}},cb={list:async(t,e)=>{const r=(e?new URLSearchParams({q:e}):new URLSearchParams).toString(),n=r?`/transactions?${r}`:"/transactions";return t.request(n)}},rh={get:async t=>t.request("/vendor"),list:async t=>t.request("/vendors")},ub=t=>{const e=ab(t);return{profile:{get:r=>Dr.get(e,r),update:(r,n)=>Dr.update(e,r,n),checkSpotifyLink:()=>Dr.checkSpotifyLink(e),unlinkSpotify:()=>Dr.unlinkSpotify(e),delete:()=>Dr.delete(e)},entitlements:{list:r=>ns.list(e,r),get:r=>ns.get(e,r),getAccess:r=>ns.getAccess(e,r)},subscriptions:{list:()=>Xd.list(e),get:r=>Xd.get(e,r)},products:{get:r=>Qd.get(e,r),autoOnboard:r=>Qd.autoOnboard(e,r)},contracts:{list:()=>Mr.list(e),get:r=>Mr.get(e,r),cancel:r=>Mr.cancel(e,r),createAmendment:(r,n)=>Mr.createAmendment(e,r,n),confirmAmendment:(r,n)=>Mr.confirmAmendment(e,r,n)},userMetadata:{get:()=>as.get(e),set:(r,n)=>as.set(e,r,n),delete:r=>as.delete(e,r)},tallies:{list:()=>sr.list(e),get:r=>sr.get(e,r),update:(r,n)=>sr.update(e,r,n),create:r=>sr.create(e,r),delete:r=>sr.delete(e,r),push:(r,n)=>sr.push(e,r,n)},tags:{list:()=>is.list(e),add:r=>is.add(e,r),remove:r=>is.remove(e,r)},checkouts:{generateLink:(r,n)=>cr.generateCheckoutLink(r,n),create:r=>os.create(e,r),get:r=>os.get(e,r),update:(r,n)=>os.update(e,r,n)},links:{generateCheckoutLink:(r,n)=>cr.generateCheckoutLink(r,n),generateAccountLink:(r,n)=>cr.generateAccountLink(r,n),generateChangePaymentLink:(r,n)=>cr.generateChangePaymentLink(r,n),generateChangePlanLink:(r,n)=>cr.generateChangePlanLink(r,n),generateConsumeLink:(r,n)=>cr.generateConsumeLink(r,n)},bills:{list:()=>eh.list(e),get:r=>eh.get(e,r)},fulfillments:{list:()=>th.list(e),create:r=>th.create(e,r)},paywalls:{get:r=>ib.get(e,r)},paymentIssues:{list:()=>ob.list(e)},proxy:{content:(r,n,a,i)=>sb.content(e,r,n,a,i)},transactions:{list:r=>cb.list(e,r)},vendor:{get:()=>rh.get(e),list:()=>rh.list(e)}}};class lb{get(e){return typeof sessionStorage>"u"?null:sessionStorage.getItem(e)}set(e,r){typeof sessionStorage<"u"&&sessionStorage.setItem(e,r)}remove(e){typeof sessionStorage<"u"&&sessionStorage.removeItem(e)}clear(){}}function Is(t){let e;try{e=new URL(t)}catch{return!1}return e.protocol==="http:"||e.protocol==="https:"}function dp(t,e){if(Is(t))return{itemSrc:t};const r=t.split(":");if(r.length<2)throw new Error(`Invalid itemSrc format: expected at least 2 segments separated by ':', got ${r.length}`);const[n,a,i]=r;if(!a)throw new Error("Invalid itemSrc format: sku segment is empty");return{sku:`${n}:${a}`,purchaseOption:e||i}}function nh(t){return t.endsWith("/")?t.slice(0,-1):t}function ah(t,e){if(!Is(t)||!Is(e))return!1;const r=new URL(t),n=new URL(e);return r.origin===n.origin&&nh(r.pathname)===nh(n.pathname)}function fb(t,e,r){const n=new URL(`${ot("checkout3",t.environment)}`);e.language&&n.searchParams.set("lang",e.language);let a=e.sku,i=e.purchaseOptionId,o=e.itemSrc;if(e.itemSrc){const c=dp(e.itemSrc,e.purchaseOptionId);a=c.sku||a,i=c.purchaseOption||i,o=c.itemSrc}a?(n.searchParams.set("sku",a),i&&n.searchParams.set("po-id",i)):o&&n.searchParams.set("url",o),e.email&&n.searchParams.set("email",e.email),e.business&&n.searchParams.set("business","true"),e.currency&&n.searchParams.set("currency",e.currency),e.price&&n.searchParams.set("price",e.price.toString()),e.discountCode&&n.searchParams.set("discount-code",e.discountCode),e.attributionItemSrc?n.searchParams.set("itemSrc",e.attributionItemSrc):r.itemSrc&&n.searchParams.set("itemSrc",r.itemSrc),e.attributionPublisherContentId?n.searchParams.set("publisherContentId",e.attributionPublisherContentId):r.publisherContentId&&n.searchParams.set("publisherContentId",r.publisherContentId),e.utmSource?n.searchParams.set("utm_source",e.utmSource):r.utmSource&&n.searchParams.set("utm_source",r.utmSource),e.utmMedium?n.searchParams.set("utm_medium",e.utmMedium):r.utmMedium&&n.searchParams.set("utm_medium",r.utmMedium),e.utmCampaign?n.searchParams.set("utm_campaign",e.utmCampaign):r.utmCampaign&&n.searchParams.set("utm_campaign",r.utmCampaign),e.utmTerm?n.searchParams.set("utm_term",e.utmTerm):r.utmTerm&&n.searchParams.set("utm_term",r.utmTerm),e.utmContent?n.searchParams.set("utm_content",e.utmContent):r.utmContent&&n.searchParams.set("utm_content",r.utmContent);const s=["_ga","_gid","_fbp","_fbc"];document.cookie.split(";").map(c=>{const[f,h]=c.trim().split("=");return{key:f,value:h}}).filter(c=>s.some(f=>f===c.key)).forEach(c=>{n.searchParams.append(c.key,c.value)});let l=new URL(window.location.href);if(e.redirectUrl)try{l=new URL(e.redirectUrl)}catch{console.warn("Invalid redirect URL provided, using current URL instead:",e.redirectUrl)}return l.searchParams.set("force-refetch-entitlements","true"),e.itemSrc&&l.searchParams.set("sesamy-purchase",e.itemSrc),n.searchParams.set("redirect-url",l.toString()),e.paymentMethodsFilter&&n.searchParams.set("paymentmethods-filter",e.paymentMethodsFilter.flatMap(({provider:c,methods:f})=>f?f.map(h=>`${c}|${h}`):c).join(",")),e.requireAddress&&n.searchParams.set("require-address","true"),e.giftMode&&n.searchParams.set("gift-mode","true"),e.payerEmail&&n.searchParams.set("payer-email",e.payerEmail),e.metadata&&Object.entries(e.metadata).forEach(([c,f])=>{n.searchParams.set(`metadata.${c}`,String(f))}),n}const hp="sesamySignedURLs";function oc(){const t=sessionStorage.getItem(hp);return t?JSON.parse(t):[]}function db(t){const e=oc();e.push(t),le(`Adding signed URL: ${t}`),sessionStorage.setItem(hp,JSON.stringify(e))}function hb(t){const e={};return Object.keys(t).forEach(r=>{const n=t[r];n!=null&&(e[r]=n.toString())}),e}const Ps="sesamyAttribution";function vb(t){const e=localStorage.getItem(t);if(!e)return null;try{return JSON.parse(e).value}catch{return console.error(`Failed to parse ${t}`),null}}function pb(t){return Object.keys(t).find(e=>e.startsWith("utm_"))?{utmSource:void 0,utmMedium:void 0,utmCampaign:void 0,...t}:t}function An(){return vb(Ps)||{}}function vp(t){if(t===null)localStorage.removeItem(Ps);else{le(`Setting attribution ${JSON.stringify(t)}`);const e=An()??{},r=hb({...e,...pb(t)});localStorage.setItem(Ps,JSON.stringify({value:r}))}}const pp="sesamyFlags";async function mp(t){try{localStorage.setItem(pp,JSON.stringify(t))}catch{le("Failed to save flags to localStorage")}}async function gp(t,e){const r=await sn();r[t]=e,await mp(r)}async function yp(t){return(await sn())[t]}async function wp(t){const e=await sn();t in e&&(delete e[t],await mp(e))}async function sn(){try{const t=localStorage.getItem(pp);return t?JSON.parse(t):{}}catch{return{}}}function mb(t){const e=t.endpoint||ot("api2",t.environment),n=ub({baseUrl:e,tokenProvider:async()=>{if(await gr())try{const q=await qt(!1);if(q)return`Bearer ${q}`}catch{}const S=localStorage.getItem("__anon_id");return`Basic ${btoa(`${t.clientId}|${S}:`)}`},libraryName:Qs,libraryVersion:Yn,vendorId:t.vendorId,cache:{mode:Cn.BROWSER,storage:new lb}}),a=S=>async(O,q)=>{let F=sessionStorage.getItem(md);F||(F=Date.now().toString(),sessionStorage.setItem(md,F));const I={...q,headers:{...q.headers,"Cache-Timestamp":F}};return S(O,I)},i=(S=!0)=>O=>async(q,F)=>{let I=null;if(I=await qt(S),!I){if(S)throw new Error("No access token available");return O(q,F)}const _={...F,headers:{...F.headers,...I?{Authorization:`Bearer ${I}`}:{}}};return O(q,_)},o=ct(e).headers({"Content-Type":"application/json"}).middlewares([a,i(),Aw(),Lw({delayTimer:1e3,delayRamp:(S,O)=>S*O,maxAttempts:3,until:S=>!!(S&&(S.ok||S.status>=400&&S.status<500)),retryOnNetworkError:!1})]);async function s(S={}){const{waitForEntitlementAfter:O,includeSignedLinks:q=!0}=S,F=await gr()?await n.entitlements.list({waitForEntitlementAfter:O?.toISOString()}):[];return q&&F.push(...oc()),F}async function u(S,O=[]){return(await s())?.find(I=>{if(S){const{sku:_,purchaseOption:x}=dp(S);if("sku"in I&&_===I.sku||x&&"purchaseOptionsId"in I&&x===I.purchaseOptionsId||ah(S,I.url))return!0}return!!O.some(_=>ah(_,I.url))})}async function l(S,O,q){const F=new URL(ot("api2",t.environment));return F.pathname="/proxy",F.searchParams.set("url",O),q&&F.searchParams.set("selector",q),ct(F.toString()).headers({Authorization:`Bearer ${S}`}).get().text()}async function c(S){if(!S)throw new Error("SKU is required to get fulfillments");return await gr()?await o.get(`/fulfillments?sku=${encodeURIComponent(S)}`).json():[]}async function f(S,O){if(!S||!O)throw new Error("SKU and itemId are required to request delivery");return(await o.post({sku:S},`/fulfillments/${encodeURIComponent(O)}/request-delivery?`).res()).ok}async function h(){return console.warn("getSubscriptions is deprecated, use getContracts instead"),o.get("/subscriptions").json()}async function d(S){return(await n.transactions.list())?.find(q=>q.id===S)}async function v(){return await o.url("/tags").get().json()}async function p(S){const O=await o.url(`/tags/${encodeURIComponent(S)}`).delete().res();return pt(),O.ok}async function g(S){const O=await o.url("/tags").post(encodeURIComponent(S)).res();return Wt(Be.USER_ATTRIBUTE_CHANGED,{}),pt(),O.ok}async function P(S){return(await n.tallies.get(S)).value}async function w(){const S=await n.tallies.list(),O={};for(const q of S)O[q.id]=q.value;return O}async function y(S){return await n.tallies.delete(S)}async function m(S,O){return await n.tallies.push(S,O)}async function b(){return await qt(!1)?await o.url("/profile").get().json():null}async function R(S){const O=await o.url("/profile").patch(S).res();return pt(),O.ok}async function A(){return(await o.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function j(){return(await o.url("/profile/unlink-spotify").post().res()).ok}async function z(S){const O=await qt(!1);if(!O)throw new Error("No access token available");const q=new URL(`${ot("access-sync",t.environment)}/spotify/sesamy-callback`);q.searchParams.set("access_token",O),q.searchParams.set("state",S),window.location.href=q.toString()}async function V(S){const O=await o.url(`/products/${encodeURIComponent(S)}/auto-onboard`).post().json();return O.length&&pt(),O}async function te(S,O=3600){const{shortlink:q}=await ct(Ag).post({url:S,ttl:O}).json();return q}async function L(S){const O=await qt(!1,!0);let q;const F=S.language||Br(),I=An();switch(S.target){case"account":q=new URL(`${ot("account",t.environment)}/${encodeURIComponent(S.language||F)}/subscriptions/${encodeURIComponent(t.clientId)}${S.contractId?`/${encodeURIComponent(S.contractId)}`:""}`),q.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"change-payment":q=new URL(`${ot("account",t.environment)}/${encodeURIComponent(S.language||F)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(S.contractId)}/change-payment-method`),q.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"change-plan":q=new URL(`${ot("account",t.environment)}/${encodeURIComponent(S.language||F)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(S.contractId)}/edit-plan`),q.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"consume":q=new URL(`${ot("consume",t.environment)}/${encodeURIComponent(S.language||F)}/@${encodeURIComponent(t.clientId)}/${encodeURIComponent(S.sku)}`),S.episodeId?q.href+=`/${S.episodeId}`:q.href+="/listen",q.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"checkout":q=fb(t,{language:F,...S},I);break;default:throw new Error("Invalid target")}return O&&(q.hash=`#access_token=${O}`),S.shorten?te(q.href,S.ttl):q.href}async function M(){const S=await qt(!1),O=new URL(`${ot("account",t.environment)}/subscriptions/${t.clientId}`);S&&(O.hash=`#access_token=${S}`),window.location.href=O.toString()}async function N(S){const O=An(),q=["_ga","_gid","_fbp","_fbc"];return document.cookie.split(";").forEach(F=>{const[I,_]=F.trim().split("=");q.includes(I)&&!O[I]&&(O[I]=_)}),n.checkouts.create({language:Br(),...S,attribution:{...O,...S.attribution}})}return{autoOnboardProduct:V,bills:n.bills,checkouts:{create:N,get:n.checkouts.get,update:n.checkouts.update},content:{list:Xv,get:on,getLanguage:Br,unlock:Qv,getPropertyFromHTML:tc},contracts:n.contracts,deleteTag:p,deleteTally:y,entitlements:n.entitlements,flags:{get:yp,set:gp,list:sn,delete:wp},generateLink:L,getProxyContent:l,getEntitlements:s,getFulfillments:c,requestDelivery:f,hasAccess:u,isSpotifyLinked:A,linkSpotify:z,openHostedAccountPage:M,paywalls:n.paywalls,paymentIssues:n.paymentIssues,getProfile:b,products:n.products,getSubscriptions:h,getTally:P,getTallies:w,getTags:v,getTransaction:d,transactions:n.transactions,userMetadata:n.userMetadata,pushTally:m,setTag:g,unlinkSpotify:j,updateProfile:R,vendor:n.vendor}}const gb=["AdHeader","AdContainer","AD_Top","homead","ad-lead"];function yb(){return new Promise(t=>{const e=gb.map(r=>{const n=document.createElement("div");return n.innerHTML=" ",n.id=r,n.style.position="absolute",document.body.appendChild(n),n});window.setTimeout(()=>{const r=!e.every(n=>document.querySelector(`#${n.id}`)?.offsetParent);e.forEach(n=>n.remove()),t(r)},100)})}function wb(){const t=navigator.userAgent.toLowerCase(),e=[{name:"Facebook",regex:/fbav|fban/i},{name:"LinkedIn",regex:/linkedin/i},{name:"Instagram",regex:/instagram/i},{name:"Gmail",regex:/gmail/i},{name:"Twitter",regex:/twitter/i},{name:"WeChat",regex:/micromessenger/i},{name:"Line",regex:/line/i},{name:"Snapchat",regex:/snapchat/i},{name:"Pinterest",regex:/pinterest/i},{name:"Kakao",regex:/kakaotalk/i},{name:"Skype",regex:/skype/i},{name:"WhatsApp",regex:/whatsapp/i}];for(const r of e)if(r.regex.test(t))return{isInAppBrowser:!0,browserName:r.name};return/; wv\)/.test(t)?{isInAppBrowser:!0,browserName:"Unknown In-App Browser"}:{isInAppBrowser:!1,browserName:null}}function bb(t){const{autoOnboardProduct:e,bills:r,checkouts:n,contracts:a,deleteTag:i,deleteTally:o,entitlements:s,generateLink:u,getEntitlements:l,getFulfillments:c,getProfile:f,getProxyContent:h,getSubscriptions:d,getTags:v,getTally:p,getTallies:g,getTransaction:P,hasAccess:w,isSpotifyLinked:y,linkSpotify:m,openHostedAccountPage:b,paywalls:R,paymentIssues:A,products:j,pushTally:z,requestDelivery:V,setTag:te,transactions:L,unlinkSpotify:M,updateProfile:N,userMetadata:S,vendor:O}=mb(t),q=()=>A.list(),F={analytics:{track:ap},attribution:{get:An,set:vp},auth:{getUser:f,getTokenSilently:qt,isAuthenticated:gr,loginWithRedirect:Qn,loginWithPopup:cp,login:kw,logout:ac,setToken:Ss},bills:r,browser:{detectAdblock:yb,isInAppBrowser:wb,isIncognito:Gs},checkouts:n,clearCache:pt,content:{list:Xv,get:on,getLanguage:Br,hasAccess:sw,unlock:Qv,getPropertyFromHTML:tc},contracts:a,entitlements:{...s,access:s.getAccess,hasAccess:w,list:l,signedLinks:oc},events:{emit:ip,cancel:pw},flags:{get:yp,set:gp,list:sn,delete:wp},fulfillments:{list:c,requestDelivery:V},generateLink:u,getPaymentIssues:q,getVersion:Sb,isReady:()=>exports.isInitialized,log:le,paywalls:R,paymentIssues:A,products:{...j,autoOnboard:e,linkSpotify:m},profile:{get:f,isSpotifyLinked:y,openHostedAccountPage:b,unlinkSpotify:M,update:N},proxy:{getContent:h},subscriptions:{list:d},tags:{delete:i,list:v,set:te},tallies:{delete:o,get:p,list:g,push:z},transactions:{...L,get:P},userMetadata:S,vendor:O,setToken:Ss};return t.namespace&&(window[t.namespace]=F),F}function Sb(){return Yn}function Ib(t,e){t.style.position="relative",t.style.height="200px",t.style.overflow="hidden";let n=0;const a=Array.from(t.children);for(const o of a){const s=o.offsetHeight;n+s>200?o.remove():n+=s}const i=document.createElement("style");i.innerHTML=`
|
|
37
37
|
${e.selector}::before {
|
|
38
38
|
content: '';
|
|
39
39
|
position: absolute;
|
package/dist/sesamy-js.iife.js
CHANGED
|
@@ -32,8 +32,8 @@ var sesamyJs=(function(lt){"use strict";var uc=typeof globalThis<"u"?globalThis:
|
|
|
32
32
|
* Please keep this comment intact in order to properly abide by the MIT License.
|
|
33
33
|
*
|
|
34
34
|
**/var hs={d:(t,e)=>{for(var r in e)hs.o(e,r)&&!hs.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)},vs={};hs.d(vs,{A:()=>$g,k:()=>ps});var Br=function(t,e,r,n){return new(r||(r=Promise))(function(a,i){function o(l){try{u(n.next(l))}catch(c){i(c)}}function s(l){try{u(n.throw(l))}catch(c){i(c)}}function u(l){var c;l.done?a(l.value):(c=l.value,c instanceof r?c:new r(function(f){f(c)})).then(o,s)}u((n=n.apply(t,[])).next())})},Gr=function(t,e){var r,n,a,i,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},typeof Symbol=="function"&&(i[Symbol.iterator]=function(){return this}),i;function s(u){return function(l){return(function(c){if(r)throw new TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(o=0)),o;)try{if(r=1,n&&(a=2&c[0]?n.return:c[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,c[1])).done)return a;switch(n=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,n=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(a=o.trys,!((a=a.length>0&&a[a.length-1])||c[0]!==6&&c[0]!==2)){o=0;continue}if(c[0]===3&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(c[0]===6&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=e.call(t,o)}catch(f){c=[6,f],n=0}finally{r=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}})([u,l])}}};function ps(){return Br(this,void 0,Promise,function(){return Gr(this,function(t){switch(t.label){case 0:return[4,new Promise(function(e,r){var n="Unknown",a=!1;function i(h){a||(a=!0,e({isPrivate:h,browserName:n}))}function o(){var h=0,d=parseInt("-1");try{d.toFixed(d)}catch(v){h=v.message.length}return h}function s(){return Br(this,void 0,void 0,function(){var h,d;return Gr(this,function(v){switch(v.label){case 0:return v.trys.push([0,2,,3]),[4,navigator.storage.getDirectory()];case 1:return v.sent(),i(!1),[3,3];case 2:return h=v.sent(),d=h instanceof Error&&typeof h.message=="string"?h.message:String(h),i(d.includes("unknown transient reason")),[3,3];case 3:return[2]}})})}function u(){var h;return Br(this,void 0,Promise,function(){return Gr(this,function(d){switch(d.label){case 0:return typeof((h=navigator.storage)===null||h===void 0?void 0:h.getDirectory)!="function"?[3,2]:[4,s()];case 1:return d.sent(),[3,3];case 2:navigator.maxTouchPoints!==void 0?(function(){var v=String(Math.random());try{var p=indexedDB.open(v,1);p.onupgradeneeded=function(g){var P=g.target.result,w=function(y){i(y)};try{P.createObjectStore("t",{autoIncrement:!0}).put(new Blob),w(!1)}catch(y){(y instanceof Error&&typeof y.message=="string"?y.message:String(y)).includes("are not yet supported")?w(!0):w(!1)}finally{P.close(),indexedDB.deleteDatabase(v)}},p.onerror=function(){return i(!1)}}catch{i(!1)}})():(function(){var v=window.openDatabase,p=window.localStorage;try{v(null,null,null,null)}catch{return void i(!0)}try{p.setItem("test","1"),p.removeItem("test")}catch{return void i(!0)}i(!1)})(),d.label=3;case 3:return[2]}})})}function l(){navigator.webkitTemporaryStorage.queryUsageAndQuota(function(h,d){var v=Math.round(d/1048576),p=2*Math.round((function(){var g,P,w,y=window;return(w=(P=(g=y?.performance)===null||g===void 0?void 0:g.memory)===null||P===void 0?void 0:P.jsHeapSizeLimit)!==null&&w!==void 0?w:1073741824})()/1048576);i(v<p)},function(h){r(new Error("detectIncognito somehow failed to query storage quota: "+h.message))})}function c(){self.Promise!==void 0&&self.Promise.allSettled!==void 0?l():(0,window.webkitRequestFileSystem)(0,1,function(){i(!1)},function(){i(!0)})}function f(){var h;return Br(this,void 0,Promise,function(){var d,v,p;return Gr(this,function(g){switch(g.label){case 0:if(typeof((h=navigator.storage)===null||h===void 0?void 0:h.getDirectory)!="function")return[3,5];g.label=1;case 1:return g.trys.push([1,3,,4]),[4,navigator.storage.getDirectory()];case 2:return g.sent(),i(!1),[3,4];case 3:return d=g.sent(),v=d instanceof Error&&typeof d.message=="string"?d.message:String(d),i(v.includes("Security error")),[2];case 4:return[3,6];case 5:(p=indexedDB.open("inPrivate")).onerror=function(P){p.error&&p.error.name==="InvalidStateError"&&P.preventDefault(),i(!0)},p.onsuccess=function(){indexedDB.deleteDatabase("inPrivate"),i(!1)},g.label=6;case 6:return[2]}})})}(function(){return Br(this,void 0,Promise,function(){return Gr(this,function(h){switch(h.label){case 0:return o()!==44&&o()!==43?[3,2]:(n="Safari",[4,u()]);case 1:return h.sent(),[3,6];case 2:return o()!==51?[3,3]:(d=navigator.userAgent,n=d.match(/Chrome/)?navigator.brave!==void 0?"Brave":d.match(/Edg/)?"Edge":d.match(/OPR/)?"Opera":"Chrome":"Chromium",c(),[3,6]);case 3:return o()!==25?[3,5]:(n="Firefox",[4,f()]);case 4:return h.sent(),[3,6];case 5:navigator.msSaveBlob!==void 0?(n="Internet Explorer",i(window.indexedDB===void 0)):r(new Error("detectIncognito cannot determine the browser")),h.label=6;case 6:return[2]}var d})})})().catch(r)})];case 1:return[2,t.sent()]}})})}typeof window<"u"&&(window.detectIncognito=ps);const $g=ps;vs.A;const Lg=vs.k,Tn="sesamy_incognito_mode";function ms(){try{const t=sessionStorage.getItem(Tn);return t===null?void 0:t==="true"}catch{return}}async function qg(){try{const t=sessionStorage.getItem(Tn);if(t!==null)return t==="true";const{isPrivate:e}=await Lg();return sessionStorage.setItem(Tn,e.toString()),e}catch{try{sessionStorage.setItem(Tn,"false")}catch{}return!1}}function Wr(){return typeof window<"u"}function vh(t,e,r,n,a){for(e=e.split?e.split("."):e,n=0;n<e.length;n++)t=t?t[e[n]]:a;return t===a?r:t}var jg="function",Ng="string",tt="undefined",xg="boolean",Rn="object",Dg="array",Mg="number",Fg="symbol",Kg="null",gs=function(){},ph="any",mh="*",Dt="__",zg="form",Hg="input",Bg="button",Gg="select",On=typeof process!==tt?process:{};On.env&&On.env.NODE_ENV;var Re=typeof document!==tt;On.versions!=null&&On.versions.node!=null,typeof Deno!==tt&&Deno.core,Re&&window.name==="nodejs"||typeof navigator!==tt&&typeof navigator.userAgent!==tt&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom"));function gh(t,e){return e.charAt(0)[t]()+e.slice(1)}var Wg=gh.bind(null,"toUpperCase"),Vg=gh.bind(null,"toLowerCase");function Jg(t){return yh(t)?Wg(Kg):typeof t===Rn?Qg(t):Object.prototype.toString.call(t).slice(8,-1)}function Cn(t,e){e===void 0&&(e=!0);var r=Jg(t);return e?Vg(r):r}function Vr(t,e){return typeof e===t}var De=Vr.bind(null,jg),It=Vr.bind(null,Ng),cr=Vr.bind(null,tt),Zg=Vr.bind(null,xg);Vr.bind(null,Fg);function yh(t){return t===null}function Yg(t){return Cn(t)===Mg&&!isNaN(t)}function wh(t){return Cn(t)===Dg}function Me(t){if(!Xg(t))return!1;for(var e=t;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function Xg(t){return t&&(typeof t===Rn||t!==null)}function Qg(t){return De(t.constructor)?t.constructor.name:null}function ey(t){return t instanceof Error||It(t.message)&&t.constructor&&Yg(t.constructor.stackTraceLimit)}function bh(t,e){if(typeof e!="object"||yh(e))return!1;if(e instanceof t)return!0;var r=Cn(new t(""));if(ey(e))for(;e;){if(Cn(e)===r)return!0;e=Object.getPrototypeOf(e)}return!1}bh.bind(null,TypeError),bh.bind(null,SyntaxError);function An(t,e){var r=t instanceof Element||t instanceof HTMLDocument;return r&&e?ty(t,e):r}function ty(t,e){return e===void 0&&(e=""),t&&t.nodeName===e.toUpperCase()}function Un(t){var e=[].slice.call(arguments,1);return function(){return t.apply(void 0,[].slice.call(arguments).concat(e))}}Un(An,zg),Un(An,Bg),Un(An,Hg),Un(An,Gg);function ry(t){return t?wh(t)?t:[t]:[]}function Sh(t){try{return decodeURIComponent(t.replace(/\+/g," "))}catch{return null}}function ny(){if(Re){var t=navigator,e=t.languages;return t.userLanguage||(e&&e.length?e[0]:t.language)}}function ay(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function iy(t){return(function(e){for(var r,n=Object.create(null),a=/([^&=]+)=?([^&]*)/g;r=a.exec(e);){var i=Sh(r[1]),o=Sh(r[2]);if(i)if(i.substring(i.length-2)==="[]"){var s=n[i=i.substring(0,i.length-2)]||(n[i]=[]);n[i]=Array.isArray(s)?s:[],n[i].push(o)}else n[i]=o===""||o}for(var u in n){var l=u.split("[");l.length>1&&(oy(n,l.map(function(c){return c.replace(/[?[\]\\ ]/g,"")}),n[u]),delete n[u])}return n})((function(e){return Re&&window.location.search.substring(1)})())}function oy(t,e,r){for(var n=e.length-1,a=0;a<n;++a){var i=e[a];if(i==="__proto__"||i==="constructor")break;i in t||(t[i]={}),t=t[i]}t[e[n]]=r}function $n(){for(var t="",e=0,r=4294967295*Math.random()|0;e++<36;){var n="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[e-1],a=15&r;t+=n=="-"||n=="4"?n:(n=="x"?a:3&a|8).toString(16),r=e%8==0?4294967295*Math.random()|0:r>>4}return t}function sy(t,e){var r,n,a,i=null,o=0,s=function(){o=new Date,i=null,a=t.apply(r,n)};return function(){var u=new Date;o||(o=u);var l=e-(u-o);return r=this,n=arguments,l<=0?(clearTimeout(i),i=null,o=u,a=t.apply(r,n)):i||(i=setTimeout(s,l)),a}}var Mt="global",ur=Dt+Mt+Dt,lr=typeof self===Rn&&self.self===self&&self||typeof global===Rn&&global[Mt]===global&&global||void 0;function Ft(t){return lr[ur][t]}function Kt(t,e){return lr[ur][t]=e}function fr(t){delete lr[ur][t]}function dr(t,e,r){var n;try{if(ys(t)){var a=window[t];n=a[e].bind(a)}}catch{}return n||r}lr[ur]||(lr[ur]={});var Ln={};function ys(t){if(typeof Ln[t]!==tt)return Ln[t];try{var e=window[t];e.setItem(tt,tt),e.removeItem(tt)}catch{return Ln[t]=!1}return Ln[t]=!0}function Q(){return Q=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)({}).hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},Q.apply(null,arguments)}var Pt="function",pt="undefined",Jr="reducer",Ih="@@redux/",ws=Ih+"INIT",cy=Ih+Math.random().toString(36),Ph=(function(){return typeof Symbol===Pt&&Symbol.observable||"@@observable"})(),qn=" != "+Pt;function Eh(t,e,r){var n;if(typeof e===Pt&&typeof r===pt&&(r=e,e=void 0),typeof r!==pt){if(typeof r!==Pt)throw new Error("enhancer"+qn);return r(Eh)(t,e)}if(typeof t!==Pt)throw new Error(Jr+qn);var a=t,i=e,o=[],s=o,u=!1;function l(){s===o&&(s=o.slice())}function c(){return i}function f(d){if(typeof d!==Pt)throw new Error("Listener"+qn);var v=!0;return l(),s.push(d),function(){if(v){v=!1,l();var p=s.indexOf(d);s.splice(p,1)}}}function h(d){if(!Me(d))throw new Error("Act != obj");if(typeof d.type===pt)throw new Error("ActType "+pt);if(u)throw new Error("Dispatch in "+Jr);try{u=!0,i=a(i,d)}finally{u=!1}for(var v=o=s,p=0;p<v.length;p++)(0,v[p])();return d}return h({type:ws}),(n={dispatch:h,subscribe:f,getState:c,replaceReducer:function(d){if(typeof d!==Pt)throw new Error("next "+Jr+qn);a=d,h({type:ws})}})[Ph]=function(){var d,v=f;return(d={subscribe:function(p){if(typeof p!="object")throw new TypeError("Observer != obj");function g(){p.next&&p.next(c())}return g(),{unsubscribe:v(g)}}})[Ph]=function(){return this},d},n}function uy(t,e){var r=e&&e.type;return"action "+(r&&r.toString()||"?")+Jr+" "+t+" returns "+pt}function hr(){var t=[].slice.call(arguments);return t.length===0?function(e){return e}:t.length===1?t[0]:t.reduce(function(e,r){return function(){return e(r.apply(void 0,[].slice.call(arguments)))}})}function ly(){var t=arguments;return function(e){return function(r,n,a){var i,o=e(r,n,a),s=o.dispatch,u={getState:o.getState,dispatch:function(l){return s(l)}};return i=[].slice.call(t).map(function(l){return l(u)}),Q({},o,{dispatch:s=hr.apply(void 0,i)(o.dispatch)})}}}var Et=Dt+"anon_id",zt=Dt+"user_id",vr=Dt+"user_traits",bs="analytics",kt="userId",pr="anonymousId",jn=["bootstrap","params","campaign","initializeStart","initialize","initializeEnd","ready","resetStart","reset","resetEnd","pageStart","page","pageEnd","pageAborted","trackStart","track","trackEnd","trackAborted","identifyStart","identify","identifyEnd","identifyAborted","userIdChanged","registerPlugins","enablePlugin","disablePlugin","online","offline","setItemStart","setItem","setItemEnd","setItemAborted","removeItemStart","removeItem","removeItemEnd","removeItemAborted"],Ss=["name","EVENTS","config","loaded"],ee=jn.reduce(function(t,e){return t[e]=e,t},{registerPluginType:function(t){return"registerPlugin:"+t},pluginReadyType:function(t){return"ready:"+t}}),kh=/^utm_/,_h=/^an_prop_/,Th=/^an_trait_/;function fy(t){var e=t.storage.setItem;return function(r){return function(n){return function(a){if(a.type===ee.bootstrap){var i=a.params,o=a.user,s=a.persistedUser,u=a.initialUser,l=s.userId===o.userId;s.anonymousId!==o.anonymousId&&e(Et,o.anonymousId),l||e(zt,o.userId),u.traits&&e(vr,Q({},l&&s.traits?s.traits:{},u.traits));var c=Object.keys(a.params);if(c.length){var f=i.an_uid,h=i.an_event,d=c.reduce(function(v,p){if(p.match(kh)||p.match(/^(d|g)clid/)){var g=p.replace(kh,"");v.campaign[g==="campaign"?"name":g]=i[p]}return p.match(_h)&&(v.props[p.replace(_h,"")]=i[p]),p.match(Th)&&(v.traits[p.replace(Th,"")]=i[p]),v},{campaign:{},props:{},traits:{}});r.dispatch(Q({type:ee.params,raw:i},d,f?{userId:f}:{})),f&&setTimeout(function(){return t.identify(f,d.traits)},0),h&&setTimeout(function(){return t.track(h,d.props)},0),Object.keys(d.campaign).length&&r.dispatch({type:ee.campaign,campaign:d.campaign})}}return n(a)}}}}function dy(t){return function(e,r){if(e===void 0&&(e={}),r===void 0&&(r={}),r.type===ee.setItemEnd){if(r.key===Et)return Q({},e,{anonymousId:r.value});if(r.key===zt)return Q({},e,{userId:r.value})}switch(r.type){case ee.identify:return Object.assign({},e,{userId:r.userId,traits:Q({},e.traits,r.traits)});case ee.reset:return[zt,Et,vr].forEach(function(n){t.removeItem(n)}),Object.assign({},e,{userId:null,anonymousId:null,traits:{}});default:return e}}}function Rh(t){return{userId:t.getItem(zt),anonymousId:t.getItem(Et),traits:t.getItem(vr)}}var Is=function(t){return Dt+"TEMP"+Dt+t};function hy(t){var e=t.storage,r=e.setItem,n=e.removeItem,a=e.getItem;return function(i){return function(o){return function(s){var u=s.userId,l=s.traits,c=s.options;if(s.type===ee.reset&&([zt,vr,Et].forEach(function(d){n(d)}),[kt,pr,"traits"].forEach(function(d){fr(Is(d))})),s.type===ee.identify){a(Et)||r(Et,$n());var f=a(zt),h=a(vr)||{};f&&f!==u&&i.dispatch({type:ee.userIdChanged,old:{userId:f,traits:h},new:{userId:u,traits:l},options:c}),u&&r(zt,u),l&&r(vr,Q({},h,l))}return o(s)}}}}var Zr={};function Oh(t,e){Zr[t]&&De(Zr[t])&&(Zr[t](e),delete Zr[t])}function Ch(t,e,r){return new Promise(function(n,a){return e()?n(t):r<1?a(Q({},t,{queue:!0})):new Promise(function(i){return setTimeout(i,10)}).then(function(i){return Ch(t,e,r-10).then(n,a)})})}function vy(t){return{abort:t}}function Ah(t,e,r){var n={},a=e(),i=t.getState(),o=i.plugins,s=i.queue,u=i.user;if(!i.context.offline&&s&&s.actions&&s.actions.length){var l=s.actions.reduce(function(f,h,d){return o[h.plugin].loaded?(f.process.push(h),f.processIndex.push(d)):(f.requeue.push(h),f.requeueIndex.push(d)),f},{processIndex:[],process:[],requeue:[],requeueIndex:[]});if(l.processIndex&&l.processIndex.length){l.processIndex.forEach(function(f){var h=s.actions[f],d=h.plugin,v=h.payload.type,p=a[d][v];if(p&&De(p)){var g,P=(function(m,b){return m===void 0&&(m={}),b===void 0&&(b={}),[kt,pr].reduce(function(R,A){return m.hasOwnProperty(A)&&b[A]&&b[A]!==m[A]&&(R[A]=b[A]),R},m)})(h.payload,u),w=n[P.meta.rid];if(!w&&(g=p({payload:P,config:o[d].config,instance:r,abort:vy}))&&Me(g)&&g.abort)return void(n[P.meta.rid]=!0);if(!w){var y=v+":"+d;t.dispatch(Q({},P,{type:y,_:{called:y,from:"queueDrain"}}))}}});var c=s.actions.filter(function(f,h){return!~l.processIndex.indexOf(h)});s.actions=c}}}var Ps=function(t){var e=t.data,r=t.action,n=t.instance,a=t.state,i=t.allPlugins,o=t.allMatches,s=t.store,u=t.EVENTS;try{var l=a.plugins,c=a.context,f=r.type,h=f.match(mr),d=e.exact.map(function(g){return g.pluginName});h&&(d=o.during.map(function(g){return g.pluginName}));var v=(function(g,P){return function(w,y,m){var b=y.config,R=y.name,A=R+"."+w.type;m&&(A=m.event);var j=w.type.match(mr)?(function(z,V,te,L,M){return function(N,S){var O=L?L.name:z,q=S&&Yr(S)?S:te;if(L&&(!(q=S&&Yr(S)?S:[z]).includes(z)||q.length!==1))throw new Error("Method "+V+" can only abort "+z+" plugin. "+JSON.stringify(q)+" input valid");return Q({},M,{abort:{reason:N,plugins:q,caller:V,_:O}})}})(R,A,P,m,w):(function(z,V){return function(){throw new Error(z.type+" action not cancellable. Remove abort in "+V)}})(w,A);return{payload:py(w),instance:g,config:b||{},abort:j}}})(n,d),p=e.exact.reduce(function(g,P){var w=P.pluginName,y=P.methodName,m=!1;return y.match(/^initialize/)||y.match(/^reset/)||(m=!l[w].loaded),c.offline&&y.match(/^(page|track|identify)/)&&(m=!0),g[""+w]=m,g},{});return Promise.resolve(e.exact.reduce(function(g,P,w){var y=P.pluginName;return Promise.resolve(g).then(function(m){function b(){return Promise.resolve(m)}var R=(function(){if(e.namespaced&&e.namespaced[y])return Promise.resolve(e.namespaced[y].reduce(function(A,j,z){return Promise.resolve(A).then(function(V){return j.method&&De(j.method)?((function(N,S){var O=Dh(N);if(O&&O.name===S){var q=Dh(O.method);throw new Error([S+" plugin is calling method "+N,"Plugins cant call self","Use "+O.method+" "+(q?"or "+q.method:"")+" in "+S+" plugin insteadof "+N].join(`
|
|
35
|
-
`))}})(j.methodName,j.pluginName),Promise.resolve(j.method({payload:V,instance:n,abort:(te=V,L=y,M=j.pluginName,function(N,S){return Q({},te,{abort:{reason:N,plugins:S||[L],caller:f,from:M||L}})}),config:Lh(j.pluginName,l,i),plugins:l})).then(function(N){var S=Me(N)?N:{};return Promise.resolve(Q({},V,S))})):V;var te,L,M})},Promise.resolve(r))).then(function(A){m[y]=A});m[y]=r})();return R&&R.then?R.then(b):b()})},Promise.resolve({}))).then(function(g){return Promise.resolve(e.exact.reduce(function(P,w,y){try{var m=e.exact.length===y+1,b=w.pluginName,R=i[b];return Promise.resolve(P).then(function(A){var j=g[b]?g[b]:{};if(h&&(j=A),ks(j,b))return Es({data:j,method:f,instance:n,pluginName:b,store:s}),Promise.resolve(A);if(ks(A,b))return m&&Es({data:A,method:f,instance:n,store:s}),Promise.resolve(A);if(p.hasOwnProperty(b)&&p[b]===!0)return s.dispatch({type:"queue",plugin:b,payload:j,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(A);var z=v(g[b],i[b]);return Promise.resolve(R[f]({abort:z.abort,payload:j,instance:n,config:Lh(b,l,i),plugins:l})).then(function(V){var te=Me(V)?V:{},L=Q({},A,te),M=g[b];if(ks(M,b))Es({data:M,method:f,instance:n,pluginName:b,store:s});else{var N=f+":"+b;(N.match(/:/g)||[]).length<2&&!f.match(Uh)&&!f.match($h)&&n.dispatch(Q({},h?L:j,{type:N,_:{called:N,from:"submethod"}}))}return Promise.resolve(L)})})}catch(A){return Promise.reject(A)}},Promise.resolve(r))).then(function(P){if(!(f.match(mr)||f.match(/^registerPlugin/)||f.match($h)||f.match(Uh)||f.match(/^params/)||f.match(/^userIdChanged/))){if(u.plugins.includes(f),P._&&P._.originalAction===f)return P;var w=Q({},P,{_:{originalAction:P.type,called:P.type,from:"engineEnd"}});Nh(P,e.exact.length)&&!f.match(/End$/)&&(w=Q({},w,{type:P.type+"Aborted"})),s.dispatch(w)}return P})})}catch(g){return Promise.reject(g)}},mr=/Start$/,Uh=/^bootstrap/,$h=/^ready/;function Es(t){var e=t.pluginName,r=t.method+"Aborted"+(e?":"+e:"");t.store.dispatch(Q({},t.data,{type:r,_:{called:r,from:"abort"}}))}function Lh(t,e,r){var n=e[t]||r[t];return n&&n.config?n.config:{}}function qh(t,e){return e.reduce(function(r,n){return n[t]?r.concat({methodName:t,pluginName:n.name,method:n[t]}):r},[])}function jh(t,e){var r=t.replace(mr,""),n=e?":"+e:"";return[""+t+n,""+r+n,r+"End"+n]}function ks(t,e){var r=t.abort;return!!r&&(r===!0||xh(r,e)||r&&xh(r.plugins,e))}function Nh(t,e){var r=t.abort;if(!r)return!1;if(r===!0||It(r))return!0;var n=r.plugins;return Yr(r)&&r.length===e||Yr(n)&&n.length===e}function Yr(t){return Array.isArray(t)}function xh(t,e){return!(!t||!Yr(t))&&t.includes(e)}function Dh(t){var e=t.match(/(.*):(.*)/);return!!e&&{method:e[1],name:e[2]}}function py(t){return Object.keys(t).reduce(function(e,r){return r==="type"||(e[r]=Me(t[r])?Object.assign({},t[r]):t[r]),e},{})}function my(t,e,r){var n={};return function(a){return function(i){return function(o){try{var s,u=function(m){return s?m:i(f)},l=o.type,c=o.plugins,f=o;if(o.abort)return Promise.resolve(i(o));if(l===ee.enablePlugin&&a.dispatch({type:ee.initializeStart,plugins:c,disabled:[],fromEnable:!0,meta:o.meta}),l===ee.disablePlugin&&setTimeout(function(){return Oh(o.meta.rid,{payload:o})},0),l===ee.initializeEnd){var h=e(),d=Object.keys(h),v=d.filter(function(m){return c.includes(m)}).map(function(m){return h[m]}),p=[],g=[],P=o.disabled,w=v.map(function(m){var b=m.loaded,R=m.name,A=m.config;return Ch(m,function(){return b({config:A})},1e4).then(function(j){return n[R]||(a.dispatch({type:ee.pluginReadyType(R),name:R,events:Object.keys(m).filter(function(z){return!Ss.includes(z)})}),n[R]=!0),p=p.concat(R),m}).catch(function(j){if(j instanceof Error)throw new Error(j);return g=g.concat(j.name),j})});Promise.all(w).then(function(m){var b={plugins:p,failed:g,disabled:P};setTimeout(function(){d.length===w.length+P.length&&a.dispatch(Q({},{type:ee.ready},b))},0)})}var y=(function(){if(l!==ee.bootstrap)return/^ready:([^:]*)$/.test(l)&&setTimeout(function(){return Ah(a,e,t)},0),Promise.resolve((function(m,b,R,A,j){try{var z=De(b)?b():b,V=m.type,te=V.replace(mr,"");if(m._&&m._.called)return Promise.resolve(m);var L=R.getState(),M=(O=z,(q=L.plugins)===void 0&&(q={}),(F=m.options)===void 0&&(F={}),Object.keys(O).filter(function(I){var _=F.plugins||{};return Zg(_[I])?_[I]:_.all!==!1&&(!q[I]||q[I].enabled!==!1)}).map(function(I){return O[I]}));V===ee.initializeStart&&m.fromEnable&&(M=Object.keys(L.plugins).filter(function(I){var _=L.plugins[I];return m.plugins.includes(I)&&!_.initialized}).map(function(I){return z[I]}));var N=M.map(function(I){return I.name}),S=(function(I,_){var x=jh(I).map(function(H){return qh(H,_)});return _.reduce(function(H,Y){var J=Y.name,fe=jh(I,J).map(function(Ce){return qh(Ce,_)}),ne=fe[0],ue=fe[1],ae=fe[2];return ne.length&&(H.beforeNS[J]=ne),ue.length&&(H.duringNS[J]=ue),ae.length&&(H.afterNS[J]=ae),H},{before:x[0],beforeNS:{},during:x[1],duringNS:{},after:x[2],afterNS:{}})})(V,M);return Promise.resolve(Ps({action:m,data:{exact:S.before,namespaced:S.beforeNS},state:L,allPlugins:z,allMatches:S,instance:R,store:A,EVENTS:j})).then(function(I){function _(){var Y=(function(){if(V.match(mr))return Promise.resolve(Ps({action:Q({},x,{type:te+"End"}),data:{exact:S.after,namespaced:S.afterNS},state:L,allPlugins:z,allMatches:S,instance:R,store:A,EVENTS:j})).then(function(J){J.meta&&J.meta.hasCallback&&Oh(J.meta.rid,{payload:J})})})();return Y&&Y.then?Y.then(function(){return I}):I}if(Nh(I,N.length))return I;var x,H=(function(){if(V!==te)return Promise.resolve(Ps({action:Q({},I,{type:te}),data:{exact:S.during,namespaced:S.duringNS},state:L,allPlugins:z,allMatches:S,instance:R,store:A,EVENTS:j})).then(function(Y){x=Y});x=I})();return H&&H.then?H.then(_):_()})}catch(I){return Promise.reject(I)}var O,q,F})(o,e,t,a,r)).then(function(m){var b=i(m);return s=1,b})})();return Promise.resolve(y&&y.then?y.then(u):u(y))}catch(m){return Promise.reject(m)}}}}}function gy(t){return function(e){return function(r){return function(n){var a=n.type,i=n.key,o=n.value,s=n.options;if(a===ee.setItem||a===ee.removeItem){if(n.abort)return r(n);a===ee.setItem?t.setItem(i,o,s):t.removeItem(i,s)}return r(n)}}}}var yy=function(){var t=this;this.before=[],this.after=[],this.addMiddleware=function(e,r){t[r]=t[r].concat(e)},this.removeMiddleware=function(e,r){var n=t[r].findIndex(function(a){return a===e});n!==-1&&(t[r]=[].concat(t[r].slice(0,n),t[r].slice(n+1)))},this.dynamicMiddlewares=function(e){return function(r){return function(n){return function(a){var i={getState:r.getState,dispatch:function(s){return r.dispatch(s)}},o=t[e].map(function(s){return s(i)});return hr.apply(void 0,o)(n)(a)}}}}};function wy(t){return function(e,r){e===void 0&&(e={});var n={};if(r.type==="initialize:aborted")return e;if(/^registerPlugin:([^:]*)$/.test(r.type)){var a=Mh(r.type,"registerPlugin"),i=t()[a];if(!i||!a)return e;var o=r.enabled,s=i.config;return n[a]={enabled:o,initialized:!!o&&!i.initialize,loaded:!!o&&!!i.loaded({config:s}),config:s},Q({},e,n)}if(/^initialize:([^:]*)$/.test(r.type)){var u=Mh(r.type,ee.initialize),l=t()[u];return l&&u?(n[u]=Q({},e[u],{initialized:!0,loaded:!!l.loaded({config:l.config})}),Q({},e,n)):e}if(/^ready:([^:]*)$/.test(r.type))return n[r.name]=Q({},e[r.name],{loaded:!0}),Q({},e,n);switch(r.type){case ee.disablePlugin:return Q({},e,Fh(r.plugins,!1,e));case ee.enablePlugin:return Q({},e,Fh(r.plugins,!0,e));default:return e}}}function Mh(t,e){return t.substring(e.length+1,t.length)}function Fh(t,e,r){return t.reduce(function(n,a){return n[a]=Q({},r[a],{enabled:e}),n},r)}function Kh(t){try{return JSON.parse(JSON.stringify(t))}catch{}return t}var by={last:{},history:[]};function Sy(t,e){t===void 0&&(t=by);var r=e.options,n=e.meta;if(e.type===ee.track){var a=Kh(Q({event:e.event,properties:e.properties},Object.keys(r).length&&{options:r},{meta:n}));return Q({},t,{last:a,history:t.history.concat(a)})}return t}var Iy={actions:[]};function Py(t,e){t===void 0&&(t=Iy);var r=e.payload;switch(e.type){case"queue":var n;return n=r&&r.type&&r.type===ee.identify?[e].concat(t.actions):t.actions.concat(e),Q({},t,{actions:n});case"dequeue":return[];default:return t}}var zh=/#.*$/;function Ey(t){var e=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(t);return"/"+(e&&e[3]?e[3].split("?")[0].replace(zh,""):"")}var Hh,Bh,Gh,Wh,ky=function(t){if(t===void 0&&(t={}),!Re)return t;var e=document,r=e.title,n=e.referrer,a=window,i=a.location,o=a.innerWidth,s=a.innerHeight,u=i.hash,l=i.search,c=(function(h){var d=(function(){if(Re){for(var v,p=document.getElementsByTagName("link"),g=0;v=p[g];g++)if(v.getAttribute("rel")==="canonical")return v.getAttribute("href")}})();return d?d.match(/\?/)?d:d+h:window.location.href.replace(zh,"")})(l),f={title:r,url:c,path:Ey(c),hash:u,search:l,width:o,height:s};return n&&n!==""&&(f.referrer=n),Q({},f,t)},_y={last:{},history:[]};function Ty(t,e){t===void 0&&(t=_y);var r=e.options;if(e.type===ee.page){var n=Kh(Q({properties:e.properties,meta:e.meta},Object.keys(r).length&&{options:r}));return Q({},t,{last:n,history:t.history.concat(n)})}return t}Hh=(function(){if(!Re)return!1;var t=navigator.appVersion;return~t.indexOf("Win")?"Windows":~t.indexOf("Mac")?"MacOS":~t.indexOf("X11")?"UNIX":~t.indexOf("Linux")?"Linux":"Unknown OS"})(),Bh=Re?document.referrer:null,Gh=ny(),Wh=ay();var Vh={initialized:!1,sessionId:$n(),app:null,version:null,debug:!1,offline:!!Re&&!navigator.onLine,os:{name:Hh},userAgent:Re?navigator.userAgent:"node",library:{name:bs,version:"0.13.1"},timezone:Wh,locale:Gh,campaign:{},referrer:Bh};function Ry(t,e){t===void 0&&(t=Vh);var r=t.initialized,n=e.campaign;switch(e.type){case ee.campaign:return Q({},t,{campaign:n});case ee.offline:return Q({},t,{offline:!0});case ee.online:return Q({},t,{offline:!1});default:return r?t:Q({},Vh,t,{initialized:!0})}}var Oy=["plugins","reducers","storage"];function Cy(t,e,r){if(Re){var n=window[(r?"add":"remove")+"EventListener"];t.split(" ").forEach(function(a){n(a,e)})}}function Ay(t){var e=Cy.bind(null,"online offline",function(r){return Promise.resolve(!navigator.onLine).then(t)});return e(!0),function(r){return e(!1)}}function Jh(){return Kt(bs,[]),function(t){return function(e,r,n){var a=t(e,r,n),i=a.dispatch;return Object.assign(a,{dispatch:function(o){return lr[ur][bs].push(o.action||o),i(o)}})}}}function Zh(t){return function(){return hr(hr.apply(null,arguments),Jh())}}function _s(t){return t?wh(t)?t:[t]:[]}function Yh(t,e,r){t===void 0&&(t={});var n,a,i=$n();return e&&(Zr[i]=(n=e,a=(function(o){for(var s,u=o||Array.prototype.slice.call(arguments),l=0;l<u.length;l++)if(De(u[l])){s=u[l];break}return s})(r),function(o){a&&a(o),n(o)})),Q({},t,{rid:i,ts:new Date().getTime()},e?{hasCallback:!0}:{})}function Uy(t){t===void 0&&(t={});var e=t.reducers||{},r=t.initialUser||{},n=(t.plugins||[]).reduce(function(I,_){if(De(_))return I.middlewares=I.middlewares.concat(_),I;if(_.NAMESPACE&&(_.name=_.NAMESPACE),!_.name)throw new Error("https://lytics.dev/errors/1");_.config||(_.config={});var x=_.EVENTS?Object.keys(_.EVENTS).map(function(J){return _.EVENTS[J]}):[];I.pluginEnabled[_.name]=!(_.enabled===!1||_.config.enabled===!1),delete _.enabled,_.methods&&(I.methods[_.name]=Object.keys(_.methods).reduce(function(J,fe){var ne;return J[fe]=(ne=_.methods[fe],function(){for(var ue=Array.prototype.slice.call(arguments),ae=new Array(ne.length),Ce=0;Ce<ue.length;Ce++)ae[Ce]=ue[Ce];return ae[ae.length]=b,ne.apply({instance:b},ae)}),J},{}),delete _.methods);var H=Object.keys(_).concat(x),Y=new Set(I.events.concat(H));if(I.events=Array.from(Y),I.pluginsArray=I.pluginsArray.concat(_),I.plugins[_.name])throw new Error(_.name+"AlreadyLoaded");return I.plugins[_.name]=_,I.plugins[_.name].loaded||(I.plugins[_.name].loaded=function(){return!0}),I},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),a=t.storage?t.storage:{getItem:Ft,setItem:Kt,removeItem:fr},i=(function(I){return function(_,x,H){return x.getState("user")[_]||(H&&Me(H)&&H[_]?H[_]:Rh(I)[_]||Ft(Is(_))||null)}})(a),o=n.plugins,s=n.events.filter(function(I){return!Ss.includes(I)}).sort(),u=new Set(s.concat(jn).filter(function(I){return!Ss.includes(I)})),l=Array.from(u).sort(),c=function(){return o},f=new yy,h=f.addMiddleware,d=f.removeMiddleware,v=f.dynamicMiddlewares,p=function(){throw new Error("Abort disabled inListener")},g=iy(),P=Rh(a),w=Q({},P,r,g.an_uid?{userId:g.an_uid}:{},g.an_aid?{anonymousId:g.an_aid}:{});w.anonymousId||(w.anonymousId=$n());var y=Q({enable:function(I,_){return new Promise(function(x){S.dispatch({type:ee.enablePlugin,plugins:_s(I),_:{originalAction:ee.enablePlugin}},x,[_])})},disable:function(I,_){return new Promise(function(x){S.dispatch({type:ee.disablePlugin,plugins:_s(I),_:{originalAction:ee.disablePlugin}},x,[_])})}},n.methods),m=!1,b={identify:function(I,_,x,H){try{var Y=It(I)?I:null,J=Me(I)?I:_,fe=x||{},ne=b.user();Kt(Is(kt),Y);var ue=Y||J.userId||i(kt,b,J);return Promise.resolve(new Promise(function(ae){S.dispatch(Q({type:ee.identifyStart,userId:ue,traits:J||{},options:fe,anonymousId:ne.anonymousId},ne.id&&ne.id!==Y&&{previousId:ne.id}),ae,[_,x,H])}))}catch(ae){return Promise.reject(ae)}},track:function(I,_,x,H){try{var Y=Me(I)?I.event:I;if(!Y||!It(Y))throw new Error("EventMissing");var J=Me(I)?I:_||{},fe=Me(x)?x:{};return Promise.resolve(new Promise(function(ne){S.dispatch({type:ee.trackStart,event:Y,properties:J,options:fe,userId:i(kt,b,_),anonymousId:i(pr,b,_)},ne,[_,x,H])}))}catch(ne){return Promise.reject(ne)}},page:function(I,_,x){try{var H=Me(I)?I:{},Y=Me(_)?_:{};return Promise.resolve(new Promise(function(J){S.dispatch({type:ee.pageStart,properties:ky(H),options:Y,userId:i(kt,b,H),anonymousId:i(pr,b,H)},J,[I,_,x])}))}catch(J){return Promise.reject(J)}},user:function(I){if(I===kt||I==="id")return i(kt,b);if(I===pr||I==="anonId")return i(pr,b);var _=b.getState("user");return I?vh(_,I):_},reset:function(I){return new Promise(function(_){S.dispatch({type:ee.resetStart},_,I)})},ready:function(I){return m&&I({plugins:y,instance:b}),b.on(ee.ready,function(_){I&&I(_),m=!0})},on:function(I,_){if(!I||!De(_))return!1;if(I===ee.bootstrap)throw new Error(".on disabled for "+I);var x=/Start$|Start:/;if(I==="*"){var H=function(ne){return function(ue){return function(ae){return ae.type.match(x)&&_({payload:ae,instance:b,plugins:o}),ue(ae)}}},Y=function(ne){return function(ue){return function(ae){return ae.type.match(x)||_({payload:ae,instance:b,plugins:o}),ue(ae)}}};return h(H,Nn),h(Y,xn),function(){d(H,Nn),d(Y,xn)}}var J=I.match(x)?Nn:xn,fe=function(ne){return function(ue){return function(ae){return ae.type===I&&_({payload:ae,instance:b,plugins:o,abort:p}),ue(ae)}}};return h(fe,J),function(){return d(fe,J)}},once:function(I,_){if(!I||!De(_))return!1;if(I===ee.bootstrap)throw new Error(".once disabled for "+I);var x=b.on(I,function(H){_({payload:H.payload,instance:b,plugins:o,abort:p}),x()});return x},getState:function(I){var _=S.getState();return I?vh(_,I):Object.assign({},_)},dispatch:function(I){var _=It(I)?{type:I}:I;if(jn.includes(_.type))throw new Error("reserved action "+_.type);var x=Q({},_,{_:Q({originalAction:_.type},I._||{})});S.dispatch(x)},enablePlugin:y.enable,disablePlugin:y.disable,plugins:y,storage:{getItem:a.getItem,setItem:function(I,_,x){S.dispatch({type:ee.setItemStart,key:I,value:_,options:x})},removeItem:function(I,_){S.dispatch({type:ee.removeItemStart,key:I,options:_})}},setAnonymousId:function(I,_){b.storage.setItem(Et,I,_)},events:{core:jn,plugins:s}},R=n.middlewares.concat([function(I){return function(_){return function(x){return x.meta||(x.meta=Yh()),_(x)}}},v(Nn),my(b,c,{all:l,plugins:s}),gy(a),fy(b),hy(b),v(xn)]),A={context:Ry,user:dy(a),page:Ty,track:Sy,plugins:wy(c),queue:Py},j=hr,z=hr;if(Re&&t.debug){var V=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;V&&(j=V({trace:!0,traceLimit:25})),z=function(){return arguments.length===0?Jh():Me(typeof arguments[0])?Zh():Zh().apply(null,arguments)}}var te,L=(function(I){return Object.keys(I).reduce(function(_,x){return Oy.includes(x)||(_[x]=I[x]),_},{})})(t),M=n.pluginsArray.reduce(function(I,_){var x=_.name,H=_.config,Y=_.loaded,J=n.pluginEnabled[x];return I[x]={enabled:J,initialized:!!J&&!_.initialize,loaded:!!Y({config:H}),config:H},I},{}),N={context:L,user:w,plugins:M},S=Eh((function(I){for(var _=Object.keys(I),x={},H=0;H<_.length;H++){var Y=_[H];typeof I[Y]===Pt&&(x[Y]=I[Y])}var J,fe=Object.keys(x);try{(function(ne){Object.keys(ne).forEach(function(ue){var ae=ne[ue];if(typeof ae(void 0,{type:ws})===pt||typeof ae(void 0,{type:cy})===pt)throw new Error(Jr+" "+ue+" "+pt)})})(x)}catch(ne){J=ne}return function(ne,ue){if(ne===void 0&&(ne={}),J)throw J;for(var ae=!1,Ce={},Ne=0;Ne<fe.length;Ne++){var Ke=fe[Ne],qe=ne[Ke],rt=(0,x[Ke])(qe,ue);if(typeof rt===pt){var Tt=uy(Ke,ue);throw new Error(Tt)}Ce[Ke]=rt,ae=ae||rt!==qe}return ae?Ce:ne}})(Q({},A,e)),N,z(j(ly.apply(void 0,R))));S.dispatch=(te=S.dispatch,function(I,_,x){var H=Q({},I,{meta:Yh(I.meta,_,_s(x))});return te.apply(null,[H])});var O=Object.keys(o);S.dispatch({type:ee.bootstrap,plugins:O,config:L,params:g,user:w,initialUser:r,persistedUser:P});var q=O.filter(function(I){return n.pluginEnabled[I]}),F=O.filter(function(I){return!n.pluginEnabled[I]});return S.dispatch({type:ee.registerPlugins,plugins:O,enabled:n.pluginEnabled}),n.pluginsArray.map(function(I,_){var x=I.bootstrap,H=I.config,Y=I.name;x&&De(x)&&x({instance:b,config:H,payload:I}),S.dispatch({type:ee.registerPluginType(Y),name:Y,enabled:n.pluginEnabled[Y],plugin:I}),n.pluginsArray.length===_+1&&S.dispatch({type:ee.initializeStart,plugins:q,disabled:F})}),Ay(function(I){S.dispatch({type:I?ee.offline:ee.online})}),(function(I,_,x){setInterval(function(){return Ah(I,_,x)},3e3)})(S,c,b),b}var Nn="before",xn="after",Ht="cookie",Bt=ev(),Xh=Dn,$y=Dn;function Qh(t){return Bt?Dn(t,"",-1):fr(t)}function ev(){if(Bt!==void 0)return Bt;var t=Ht+Ht;try{Dn(t,t),Bt=document.cookie.indexOf(t)!==-1,Qh(t)}catch{Bt=!1}return Bt}function Dn(t,e,r,n,a,i){if(typeof window<"u"){var o=arguments.length>1;return Bt===!1&&(o?Kt(t,e):Ft(t)),o?document.cookie=t+"="+encodeURIComponent(e)+(r?"; expires="+new Date(+new Date+1e3*r).toUTCString()+(n?"; path="+n:"")+(a?"; domain="+a:"")+(i?"; secure":""):""):decodeURIComponent((("; "+document.cookie).split("; "+t+"=")[1]||"").split(";")[0])}}var mt="localStorage",Ly=ys.bind(null,mt);dr(mt,"getItem",Ft),dr(mt,"setItem",Kt),dr(mt,"removeItem",fr);var gt="sessionStorage",qy=ys.bind(null,gt);dr(gt,"getItem",Ft),dr(gt,"setItem",Kt),dr(gt,"removeItem",fr);function gr(t){var e=t;try{if((e=JSON.parse(t))==="true")return!0;if(e==="false")return!1;if(Me(e))return e;parseFloat(e)===e&&(e=parseFloat(e))}catch{}if(e!==null&&e!=="")return e}var jy=Ly(),Ny=qy(),xy=ev();function Gt(t,e){if(t){var r=Ts(e),n=!As(r),a=Rs(r)?gr(localStorage.getItem(t)):void 0;if(n&&!cr(a))return a;var i=Os(r)?gr(Xh(t)):void 0;if(n&&i)return i;var o=Cs(r)?gr(sessionStorage.getItem(t)):void 0;if(n&&o)return o;var s=Ft(t);return n?s:{localStorage:a,sessionStorage:o,cookie:i,global:s}}}function Mn(t,e,r){if(t&&!cr(e)){var n={},a=Ts(r),i=JSON.stringify(e),o=!As(a);return Rs(a)&&(n[mt]=Kn(mt,e,gr(localStorage.getItem(t))),localStorage.setItem(t,i),o)?n[mt]:Os(a)&&(n[Ht]=Kn(Ht,e,gr(Xh(t))),$y(t,i),o)?n[Ht]:Cs(a)&&(n[gt]=Kn(gt,e,gr(sessionStorage.getItem(t))),sessionStorage.setItem(t,i),o)?n[gt]:(n[Mt]=Kn(Mt,e,Ft(t)),Kt(t,e),o?n[Mt]:n)}}function Dy(t,e){if(t){var r=Ts(e),n=Gt(t,mh),a={};return!cr(n.localStorage)&&Rs(r)&&(localStorage.removeItem(t),a[mt]=n.localStorage),!cr(n.cookie)&&Os(r)&&(Qh(t),a[Ht]=n.cookie),!cr(n.sessionStorage)&&Cs(r)&&(sessionStorage.removeItem(t),a[gt]=n.sessionStorage),!cr(n.global)&&Fn(r,Mt)&&(fr(t),a[Mt]=n.global),a}}function Ts(t){return t?It(t)?t:t.storage:ph}function Rs(t){return jy&&Fn(t,mt)}function Os(t){return xy&&Fn(t,Ht)}function Cs(t){return Ny&&Fn(t,gt)}function As(t){return t===mh||t==="all"}function Fn(t,e){return t===ph||t===e||As(t)}function Kn(t,e,r){return{location:t,current:e,previous:r}}var My={setItem:Mn,getItem:Gt,removeItem:Dy};function Fy(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function tv(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,n)}return r}function rv(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?tv(Object(r),!0).forEach(function(n){Fy(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):tv(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function Ky(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e={storage:My};return Uy(rv(rv({},e),t))}const Us="@sesamy/sesamy-js",zn="1.69.0";function zy(t){if(typeof window>"u")return;const{addEventListener:e,history:r,location:n}=window;let a=n.pathname;e("popstate",()=>t(n.pathname)),["push","replace"].map(i=>{const o=`${i}State`;if(o!=="pushState"&&o!=="replaceState")return;const s=r[o];r[o]=function(...u){const l=u[2]?.toString()||"",c=By(l);return a!==c&&(a=c,setTimeout(()=>t(l),0)),s.apply(r,u)}})}function Hy(t,e){const r=t.indexOf(e);return r>-1?t.slice(0,r):t}function By(t){return["#","?"].forEach(e=>t=Hy(t,e)),t}function Gy(){zy(()=>{yt.page()})}var $s="up",Ls="down";function Wy(t){if(t===void 0&&(t={}),!Re)return gs;var e=av(),r=qs(),n=nv(),a=Hn(n,e),i=Hn(r,e),o=[],s=[],u=[],l=n,c=a,f=i,h=Object.keys(t);if(!h.length)return gs;var d=h.map(function(p){return Number(p)}),v=sy(function(){var p=av(),g=(function(L,M){return M.map(function(N){return N===100?L-5:L*(N/100)})})(p,d),P=qs(),w=nv(),y=Hn(w,p),m=Hn(P,p);if(c=y>c?y:c,f=m<f?m:f,!(o.length>=d.length)){var b=l===w,R=$s;b?R="initial":l<=w&&(R=Ls);var A=g,j=d;(R===$s||b)&&(A=g.slice().reverse(),j=d.slice().reverse());var z=j.reduce(function(L,M,N){var S=A[N];return u.includes(M)&&w<=S&&(u=u.filter(function(O){return O!==M}),L.singleFunction=M),R===Ls&&!o.includes(M)&&w>=S&&M>i?(s.push(M),L.callbacks=L.callbacks.concat(M),L):R===$s&&!o.includes(M)&&w<=S&&M<=y?(L.foundFunc=[M],L):(b&&w>=S&&L.foundFunc.length===0&&(L.foundFunc=[M]),!s.includes(M)&&w>=S&&(s.push(M),L.singleFunction?u.push(M):L.singleFunction=M),L)},{foundFunc:[],singleFunction:null,callbacks:[],direction:R});if(l=w,R===Ls&&z.callbacks&&z.callbacks.forEach(function(L){De(t[L])&&(t[L]({trigger:L,direction:R,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(L))}),z.singleFunction){var V=z.singleFunction,te=z.direction;De(t[V])&&t[V]({trigger:V,direction:te,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(V)}}},500);return window.addEventListener("scroll",v),function(){return window.removeEventListener("scroll",v)}}function qs(){return Re?document.body.scrollTop||document.documentElement.scrollTop:0}function Vy(){return Re?window.innerHeight||document.documentElement.clientHeight:0}function nv(){return Math.round(qs()+Vy())}function av(){if(!Re)return 0;var t=document.body,e=document.documentElement;return Math.max(t.scrollHeight,t.offsetHeight,e.clientHeight,e.scrollHeight,e.offsetHeight)}function Hn(t,e){return Math.round(t/e*100)}var js="Event",iv=js+"Listener";function Jy(t){return function(e,r,n,a){var i=n||gs,o=a||!1;if(!Re)return i;var s=Bn(r),u=Bn(e,!0);if(!u.length)throw new Error("noElements");if(!s.length)throw new Error("no"+js);var l=[];return(function c(f){f&&(l=[]);for(var h=f?"add"+iv:"remove"+iv,d=0;d<u.length;d++){var v=u[d];l[d]=f?o&&o.once?Zy(i):i:l[d]||i;for(var p=0;p<s.length;p++)v[h]?v["on"+s[p]]=f?l[d]:null:v[h](s[p],l[d],o)}return c.bind(null,!f)})(t)}}function Bn(t,e){if(It(t))return e?Bn(document.querySelectorAll(t)):(r=t).split(r.indexOf(",")>-1?",":" ").map(function(o){return o.trim()});var r;if(NodeList.prototype.isPrototypeOf(t)){for(var n=[],a=t.length>>>0;a--;)n[a]=t[a];return n}var i=ry(t);return e?i.map(function(o){return It(o)?Bn(o,!0):o}).flat():i}function Zy(t,e){var r;return function(){return t&&(r=t.apply(this,arguments),t=null),r}}var Ns=Jy(js);function ov(t,e){return Re&&De(window[t])?(r=window[t],n=e,(a=window)===void 0&&(a=null),De(r)?function(){r.apply(a,arguments),n.apply(a,arguments)}:n):window[t]=e;var r,n,a}ov.bind(null,"onerror"),ov.bind(null,"onload");var sv=typeof window>"u",cv="hidden";function Yy(t){if(sv)return!1;var e=Xy(),r="".concat(e.replace(/[H|h]idden/,""),"visibilitychange"),n=function(){return t(!!document[e])},a=function(){return document.addEventListener(r,n)};return a(),function(){return document.removeEventListener(r,n),a}}function Xy(){var t=["webkit","moz","ms","o"];return sv||cv in document?cv:t.reduce(function(e,r){var n=r+"Hidden";return!e&&n in document?n:e},null)}var Qy=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function ew(t,e){e===void 0&&(e={});var r=(function(o,s){var u=this,l=!1;return function(c){l||(o.call(u,c),l=!0,setTimeout(function(){return l=!1},s))}})(t,e.throttle||1e4),n=[];function a(){var o=Yy(function(s){s||r({type:"tabVisible"})});return n=[o].concat(Qy.map(function(s){return Ns(document,s,r)})).concat(Ns(window,"load",r)).concat(Ns(window,"scroll",r,{capture:!0,passive:!0})),i}function i(){n.map(function(o){return o()})}return a(),function(){return i(),a}}function tw(t){var e,r,n=t.onIdle,a=t.onWakeUp,i=t.onHeartbeat,o=t.timeout,s=o,u=t.throttle,l=u===void 0?2e3:u,c=!1,f=!1,h=new Date,d=function(){return clearTimeout(e)};function v(g){d(),i&&!c&&i(Xr(h),g),a&&c&&(c=!1,a(Xr(r),g),h=new Date),e=setTimeout(function(){c=!0,n&&(r=new Date,n(Xr(h),g))},s)}var p=ew(v,{throttle:l});return{disable:function(){f=!0,c=!1,d();var g=p();return function(){return f=!1,h=new Date,v({type:"load"}),g()}},getStatus:function(){return{isIdle:c,isDisabled:f,active:c?0:Xr(h,f),idle:c?Xr(r,f):0}}}}function Xr(t,e){return e?0:Math.round((new Date-t)/1e3)}const uv=5e3;class rw{element;isInViewport=!1;isAwake=!1;isFlushing;observer;lastEventAt=Date.now();registeredView=!1;viewCallback;activeDurationCallback;idleDurationCallback;scrollCallback;constructor(e){this.element=e.element,this.viewCallback=e.viewCallback,this.activeDurationCallback=e.activeDurationCallback,this.idleDurationCallback=e.idleDurationCallback,this.scrollCallback=e.scrollCallback,this.observer=new IntersectionObserver(r=>{r.forEach(n=>{this.handleInViewPort(n.isIntersecting)})},{threshold:0}),this.observer.observe(this.element),tw({onIdle:r=>this.handleAwake(!1,r),onWakeUp:r=>this.handleAwake(!0,r),timeout:uv}),Wy({25:this.handleScroll.bind(this),50:this.handleScroll.bind(this),75:this.handleScroll.bind(this),90:this.handleScroll.bind(this),100:this.handleScroll.bind(this)})}flush(){this.isFlushing=!0,this.handleAwake(!this.isAwake)}handleInViewPort(e){e?(this.isAwake=!0,this.trackInViewport()):this.handleAwake(!1),this.isInViewport=e}handleAwake(e,r=Math.round((Date.now()-this.lastEventAt)/1e3)){this.isAwake=e,this.lastEventAt=e?Date.now()-r*uv:Date.now(),this.isInViewport&&this.trackAwake(e,r)}handleScroll(e){this.scrollCallback&&this.scrollCallback(e)}handleVisibilityChange(){this.isAwake=!1;const e=Math.round((Date.now()-this.lastEventAt)/1e3);e>1&&(this.lastEventAt=Date.now(),this.trackAwake(!1,e))}trackAwake(e,r){!e&&this.activeDurationCallback&&this.activeDurationCallback(r,this.isFlushing,this.lastEventAt),e&&this.idleDurationCallback&&this.idleDurationCallback(r,this.isFlushing,this.lastEventAt)}trackInViewport(){this.registeredView||(this.registeredView=!0,this.viewCallback&&this.viewCallback())}}function lv(t){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}function nw(t,e){e=e||{};var r,n,a=[],i=e.max||1/0;function o(){clearInterval(r),t(a.splice(0,i)),s()}function s(){r=setInterval(o,e.interval||1e4)}return s(),{flush:o,push:function(u){return n=a.push(u),n>=i&&o(),n},size:function(){return a.length},end:function(u){u&&o(),clearInterval(r)}}}const fv="sesamy_session_id";function aw(){let t=sessionStorage.getItem(fv);return t||(t=Math.random().toString(36).slice(2,9),sessionStorage.setItem(fv,t)),t}function dv(t){function e(n){return n.id?`#${n.id}`:n.classList.length>0?Array.from(n.classList).map(i=>`.${i}`).join(""):null}function r(n){const a=[];let i=n;for(;i&&i!==document.body&&i!==document.documentElement;){const o=e(i);if(o){a.unshift(o);break}if(i.parentElement){const s=Array.from(i.parentElement.children),u=s.indexOf(i)+1,l=i.tagName.toLowerCase();s.filter(f=>f.tagName.toLowerCase()===l).length>1?a.unshift(`${l}:nth-child(${u})`):a.unshift(l)}i=i.parentElement}return a.join(" > ")}return r(t)}function iw(t){return t?Object.fromEntries(Object.entries(t).filter(([e,r])=>r!==void 0)):{}}let Fe={article:{selector:"sesamy-article"},image:{selector:"img",attribute:"src"},title:{selector:"h1",attribute:"textContent"},excerpt:{selector:"p",attribute:"textContent"},price:{selector:"sesamy-article",attribute:"price"},currency:{selector:"sesamy-article",attribute:"currency"},url:{selector:"sesamy-article",attribute:"item-src"},accessLevel:{selector:"sesamy-article",attribute:"access-level"},id:{selector:"sesamy-article",attribute:"publisher-content-id"},pass:{selector:"sesamy-article",attribute:"pass"},paywallUrl:{selector:"sesamy-article",attribute:"paywall-url"}},hv=[],vv=!1,Wt;function pv(){const t=window.location.pathname;return hv.find(e=>e.path?t.includes(e.path):!0)}function ow(t,e){hv=t.content||[];const r=pv();r&&r.type==="article"&&(Fe={...Fe,...iw(r.selectors)},vv=r.enablePaywallSettingsUrlFallback||!1),Wt=e}function sw(t,e){const{selector:r}=e;return r===Fe.article.selector||t.matches(r)?t:t.querySelector(r)}function mv(t,e){if(t)return e.attribute?e.attribute==="textContent"?t.textContent??void 0:t.getAttribute(e.attribute)??mv(t.parentElement,e):t.textContent??void 0}function yr(t){const e=document.head.querySelectorAll(`[property~='${t}'][content]`);for(let n=0;n<e.length;n+=1)if(e[n].content)return e[n].content;const r=document.head.querySelectorAll(`[name~='${t}'][content]`);for(let n=0;n<r.length;n+=1)if(r[n].content)return r[n].content}function xs({publisherContentId:t,key:e,defaultValue:r=""}){return(t?document.body.querySelector(`sesamy-content-data[id='${t}']`):null)?.getAttribute(e)||yr(`sesamy:${e}`)||yr(`og:${e}`)||yr(e)||r}function gv(){const t=document.querySelectorAll(Fe.article.selector);return Array.from(t).map(Qr).filter(e=>e!==null)}function Qr(t){const e=typeof t=="string"?document.querySelector(t):t;if(!e)return null;const r={element:e,selector:typeof t=="string"?t:dv(e)},n=(i,o,s,u)=>{const l=sw(e,o);if(l){const c=mv(l,o)||xs({publisherContentId:s,key:i});c!==void 0&&(r[i]=u?u(c):c)}};n("id",Fe.id),n("title",Fe.title,r.id),n("excerpt",Fe.excerpt,r.id),n("image",Fe.image,r.id),n("price",Fe.price,r.id,i=>parseFloat(i)),n("currency",Fe.currency,r.id),n("url",Fe.url,r.id),n("pass",Fe.pass,r.id),n("paywallUrl",Fe.paywallUrl,r.id),n("accessLevel",Fe.accessLevel,r.id,i=>i||"entitlement");const a=pv();if(a&&a.type==="article"&&(a.pass&&(r.pass=r.pass?`${r.pass},${a.pass}`:a.pass),a.price&&!r.price&&(r.price=a.price.amount),a.price?.currency&&!r.currency&&(r.currency=a.price.currency),a.paywallUrl&&!r.paywallUrl&&(r.paywallUrl=a.paywallUrl)),vv&&!r.paywallUrl){const i=document.querySelector("sesamy-paywall");if(i){const o=i.getAttribute("settings-url");o&&(r.paywallUrl=o)}}return r.url||(r.url=window.location.href),r}async function cw(t){const e=Qr(t);if(!e)throw new Error("Could not find article element");if(e.paywallUrl&&((await Wt.paywalls.get(e.paywallUrl)).settings.template==="LOGIN"?"logged-in":"entitlement")==="logged-in")return await Wt.auth.isAuthenticated()?{}:null;if(!e.url)throw new Error("Article must have a URL");return await Wt.entitlements.hasAccess(e.url,e.pass?.split(",")||[])||null}async function yv(t,e){const r=typeof t=="string"?document.querySelector(t):t;if(!r)throw new Error("Could not find element");const n=Qr(r);if(!n?.url)throw new Error("Could not find content for element");const a=await Wt.entitlements.hasAccess(n.url||"",n.pass?.split(",")||[]);if(!a)throw new Error("User does not have access to the content");const i=await Wt.entitlements.access(a.id);if(!i.token)throw new Error("Could not get access token");const o=e||dv(r.parentElement||r);return Wt.proxy.getContent(i.token,n.url,o)}let wv=!1,Gn,Wn,Ds;function bv(t){return JSON.stringify(t.map(e=>{const{campaign:r,...n}=e.properties||{};return{anonymousId:e.anonymousId,userId:e.userId,type:e.type,properties:n,clientId:Ds,requestId:Math.random().toString(36).slice(2,9),sessionId:aw(),timestamp:new Date().toISOString(),version:zn,event:e.event,context:{...e.context,page:{url:window.location.href,title:document.title,referrer:document.referrer,itemSrc:yr("sesamy:item-src"),publisherContentId:yr("sesamy:publisher-content-id")},campaign:r,locale:navigator.language,library:Us,userAgent:navigator.userAgent,clientId:Ds}}}))}const Sv=nw(async t=>{if(t.length>0){const e=bv(t);wv?navigator.sendBeacon(Wn,e):(await fetch(Wn,{method:"POST",body:e,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function Ms(t){if(t.anonymousId)if(t.properties?.flushing){const e={...t};delete e.properties.flushing,navigator.sendBeacon(Wn,bv([e]))}else Sv.push(t)}function uw(){return wv=!0,Sv.flush()}function lw(t,e,r){Gn=e,Wn=`${ot("logs",r)}/events`,Ds=t}const fw={name:"custom-analytics-plugin",page:({payload:t})=>{if(!Gn)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;Ms({anonymousId:r,userId:n,properties:e,event:a,type:"page"})},track:({payload:t})=>{if(!Gn)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;Ms({anonymousId:r,userId:n,properties:e,event:a,type:"track"})},identify:({payload:t})=>{if(!Gn)return;const{properties:e,anonymousId:r,userId:n}=t;Ms({anonymousId:r,userId:n,properties:e,type:"identify"})}},Iv=["source","medium","campaign","term","content"],_t="utm_",dw=1800*1e3;function Pv(t){return t?Date.now()-parseInt(t,10)>dw:!0}function Ev(){const t=document.referrer||"";if(!t)return;const e=Gt(`${_t}set_at`);(Pv(e)||!Gt(`${_t}referrer`))&&Mn(`${_t}referrer`,t)}function hw(){const t=()=>{const r={};for(const a of Iv){const i=Gt(`${_t}${a}`);i&&(r[`utm_${a}`]=i)}const n=Gt(`${_t}referrer`);return n&&(r.utm_referrer=n),r};return{name:"attribution-tracking",initialize(){Ev()},campaign({payload:r}){const n=r?.campaign||{},a=Gt(`${_t}set_at`);if(Object.keys(n).length>0&&Pv(a)){for(const o of Iv){const s=n[o];s&&Mn(`${_t}${o}`,s)}Mn(`${_t}set_at`,String(Date.now()))}Ev()},page({payload:r}){return r.properties.campaign=t(),r},track({payload:r}){return r.properties.campaign=t(),r},getStoredCampaignData:t}}const vw=hw(),kv=new Map,_v=new Map;function pw({clientId:t,enabled:e=!0,environment:r}){lw(t,e,r),e&&(window.addEventListener("beforeunload",()=>{_v.forEach((n,a)=>{n.bind(a)()}),uw()}),window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&kv.forEach((n,a)=>{n.bind(a)()})}),Gy(),lv(()=>{const n=new rw({element:document.body,viewCallback:()=>{yt.page()},activeDurationCallback:(a,i,o)=>{yt.track("activeDuration",{duration:a,durationStart:o,flushing:i})},idleDurationCallback:(a,i,o)=>{yt.track("idleDuration",{duration:a,durationStart:o,flushing:i})},scrollCallback:a=>{yt.track("scroll",{scroll:a.scrollMax})}});_v.set(document.body,()=>{n.flush()}),kv.set(document.body,()=>{n.handleVisibilityChange()})}),window.addEventListener(He.AUTHENTICATED,async n=>{const a=n;await yt.identify(a.detail.sub)}),window.addEventListener(He.LOGOUT,async()=>{await yt.track("logout",{}),await yt.reset()}))}const yt=Ky({app:Us,version:zn,plugins:[vw,fw]});function Tv(t,e){yt.track(t,e)}function Rv(t,e,r=!1){const n={name:t,data:e},a=new CustomEvent(t,{detail:n,cancelable:r,bubbles:!0});Tv(`event:${t}`,{...e,timestamp:new Date().toISOString()});const i=window.dispatchEvent(a);return r&&!i?{canceled:!0,message:n.cancellationMessage}:{canceled:!1}}function mw(t,e){t.cancelable&&(t.detail.cancellationMessage=e,t.preventDefault())}function gw(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function yw(){return/android/i.test(navigator.userAgent)}let Oe,Ov,en,Fs=!1,Vn=!1;Wr()&&window.addEventListener("pageshow",()=>{Vn=!1});const wr="sesamyAccessToken",Ks="sesamyRefreshToken",Jn="sesamySilentAuthThrottle",ww=300*1e3;async function Zn(){return Fs?!0:new Promise((t,e)=>{const r=setTimeout(()=>{Fs?t(!0):e(new Error("Initialization failed: Timeout"))},2e3);window.addEventListener(He.AUTH_INITIALIZED,()=>{clearTimeout(r),t(!0)})})}async function bw(t){if(!t)return null;const e=localStorage.getItem(Ks);if(!e)return ce("No refresh token found in localstorage"),null;const r=new URLSearchParams;r.set("client_id",t.iss),r.set("refresh_token",e),r.set("grant_type","refresh_token");const n=new URL(t.iss);n.pathname="/oauth/token",n.searchParams.set("user_id",t.sub);try{const a=await fetch(n.href,{body:r.toString(),method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"}});if(!a.ok)throw localStorage.removeItem(Ks),new Error("Renew token failed");const i=await a.json();return localStorage.setItem(Ks,i.refresh_token),localStorage.setItem(wr,i.access_token),i.access_token}catch{Bs()}}async function zs(){const t=localStorage.getItem(wr);if(!t)return null;const e=Gs(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3){const r=await bw(e);if(r)return r;localStorage.removeItem(wr)}return t}let Yn=null;const Sw=64;function Iw(){try{if(Yn!==null)return Yn;const e=Object.keys(localStorage).filter(r=>r.startsWith("@@auth0spajs@@"));for(const r of e){const n=JSON.parse(localStorage.getItem(r)||"{}");let a;if(typeof n=="object"&&(n.body&&typeof n.body=="object"&&"refresh_token"in n.body?a=n.body.refresh_token:"refresh_token"in n&&(a=n.refresh_token)),a&&typeof a=="string"&&a.length===Sw)return Yn=!0,!0}}catch(t){ce(`Error checking for existing auth0 tokens: ${t.message}`)}return Yn=!1,!1}function Pw(t){if(t.domains&&t.domains.length>0){const e=br(window.location.href);if(e){for(const r of t.domains)if(br(`https://${r}`)===e)return ce(`Found matching domain in domains array: ${r} for TLD: ${e}`),r;ce(`No matching domain found in domains array for TLD: ${e}`)}}if(t.domain)return ce(`Using fallback domain property: ${t.domain}`),t.domain}function br(t){try{const e=new URL(t).hostname,r=e.split(".");if(r.length<=1)return e;const n=["co.uk","com.au","co.nz","co.za","com.br","co.jp","gov.uk","ac.uk","org.uk","net.uk","com.sg","com.my","co.in","co.id","co.th","co.kr","com.mx","com.ar","com.co","com.pe","com.ph","com.pk","com.sa","com.eg","com.ng","co.ke","co.tz","co.zw","co.bw","co.mz","gov.au","edu.au","org.au","net.au","asn.au","id.au"];for(const a of n)if(e.endsWith(`.${a}`)){const i=a.split(".").length+1;return r.slice(-i).join(".")}return r.slice(-2).join(".")}catch{return null}}async function Ew(t){if(t.enabled===!1)return;Ov=t.organization;const e=Pw(t);en=e&&!Iw()?e:hh("token",t.environment);const r={domain:en,clientId:t.clientId,useCookiesForTransactions:!0};r.cacheLocation="localstorage",br(window.location.href)!==br(`https://${en}`)&&(r.useRefreshTokens=!0),ce(`Initializing auth0 client: ${JSON.stringify(r)}`),Oe=await Og(r);const n=new URLSearchParams(window.location.search),a=n.get("code"),i=n.get("state");if(a)if(window.opener)ce("Code found in URL, posting to opener"),window.opener.postMessage({type:"authorization_response",response:{code:a,state:i}},window.location.origin);else{ce("Code found in URL, handling redirect");try{const u=await Oe.handleRedirectCallback();ce(`Login result: ${JSON.stringify(u)}`);const l=await Oe.getUser();if(!l)throw ce("No user found"),new Error("No user found");ce(`User found ${JSON.stringify(l)}`),Hs(),Ut(He.AUTHENTICATED,l),ce("Rewrite url")}catch(u){alert("There was an error logging in"),console.error(u)}const o=new URL(location.href),s=o.searchParams;s.delete("code"),s.delete("state"),o.search=s.toString(),window.history.replaceState({},document.title,o.toString())}Fs=!0,Ut(He.AUTH_INITIALIZED,{})}async function Sr(){return await Zn(),await zs()?!0:Oe?Oe.isAuthenticated():!1}async function kw(){return await Zn(),await zs()?(ce("Using local user"),{sub:"local",name:"Local User"}):Oe?Oe.getUser():null}function Cv(t){if(Vn)return ce("Login already in progress"),null;if(Vn=!0,setTimeout(()=>{Vn=!1},3e3),localStorage.removeItem(wr),!Oe)throw new Error("Auth0 client not initialized");const e=t?.authorizationParams||{};return{...t,authorizationParams:{organization:Ov,redirect_uri:window.location.href,ui_locales:Hr(),incognito:ms(),...e}}}async function Xn(t){const e=Cv(t);if(e)return Oe.loginWithRedirect(e)}async function Av(t){const e=Cv(t);if(!e)return;await Oe.loginWithPopup(e,{timeoutInSeconds:1800}),Hs(),Rv(He.AUTHENTICATED,await Oe.getUser()).canceled||window.location.reload()}async function _w(t){return en&&br(window.location.href)!==br(`https://${en}`)&&(gw()||yw()||ms())?Av(t):Xn(t)}function Tw(){try{const t=sessionStorage.getItem(Jn);if(!t)return!1;const{timestamp:e}=JSON.parse(t);return Date.now()-e<ww}catch{return sessionStorage.removeItem(Jn),!1}}function Rw(){try{const t={timestamp:Date.now()};sessionStorage.setItem(Jn,JSON.stringify(t))}catch{ce("Failed to set silent auth throttle in sessionStorage")}}function Hs(){try{sessionStorage.removeItem(Jn)}catch{}}async function Vt(t=!0,e=!1){await Zn();const r=await zs();if(r)return r;if(!e&&Tw()){if(ce("Silent auth is throttled due to recent failures, skipping request"),t)throw new Error("Silent auth throttled");return null}try{if(!Oe)return ce("Auth client not initialized"),null;let n=await Oe.getTokenSilently();const a=Gs(n);return e&&a?.exp&&a.exp+3600<new Date().getTime()/1e3&&(n=await Oe.getTokenSilently({cacheMode:e?"off":"on"})),Hs(),n}catch(n){const a=n;if(ce(`Failed to get token silently: ${a.message}`),Rw(),await Oe.isAuthenticated()&&(a.message==="Invalid refresh token"||a.message.includes("Missing Refresh Token"))&&await Bs(),t)throw n;return null}}async function Bs(t={}){if(await Zn(),localStorage.removeItem(wr),Ut(He.LOGOUT,{}),!!Oe)return ce(`Logout with options: ${JSON.stringify(t)}`),Oe.logout({...t,logoutParams:{returnTo:window.location.href,...t.logoutParams}})}function Gs(t){const e=t.split(".");if(e.length!==3)return null;const n=e[1].replace(/-/g,"+").replace(/_/g,"/"),a=decodeURIComponent(atob(n).split("").map(function(i){return"%"+("00"+i.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(a)}async function Ws(t){const e=Gs(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3)throw new Error("Invalid token");ce("Set token"),localStorage.setItem(wr,t),Ut(He.AUTHENTICATED,e)}const Ow=(t,e)=>e.skipDedupe||e.method!=="GET",Cw=(t,e)=>e.method+"@"+t,Aw=t=>t.clone(),Uw=({skip:t=Ow,key:e=Cw,resolver:r=Aw}={})=>{const n=new Map;return a=>(i,o)=>{if(t(i,o))return a(i,o);const s=e(i,o);if(!n.has(s))n.set(s,[]);else return new Promise((u,l)=>{n.get(s).push([u,l])});try{return a(i,o).then(u=>(n.get(s).forEach(([l])=>l(r(u))),n.delete(s),u)).catch(u=>{throw n.get(s).forEach(([,l])=>l(u)),n.delete(s),u})}catch(u){return n.delete(s),Promise.reject(u)}}},$w=(t,e)=>t*e,Lw=t=>t&&t.ok,qw=({delayTimer:t=500,delayRamp:e=$w,maxAttempts:r=10,until:n=Lw,onRetry:a=null,retryOnNetworkError:i=!1,resolveWithLatestResponse:o=!1,skip:s}={})=>u=>(l,c)=>{let f=0;if(s&&s(l,c))return u(l,c);const h=(d,v)=>Promise.resolve(n(d,v)).then(p=>p?d&&o?d:v?Promise.reject(v):d:(f++,!r||f<=r?new Promise(g=>{const P=e(t,f);setTimeout(()=>{typeof a=="function"?Promise.resolve(a({response:d,error:v,url:l,options:c})).then((w={})=>{var y,m;g(u((y=w&&w.url)!==null&&y!==void 0?y:l,(m=w&&w.options)!==null&&m!==void 0?m:c))}):g(u(l,c))},P)}).then(h).catch(g=>{if(!i)throw g;return h(null,g)}):d&&o?d:Promise.reject(v||new Error("Number of attempts exceeded."))));return u(l,c).then(h).catch(d=>{if(!i)throw d;return h(null,d)})};class tn extends Error{status;statusText;url;body;constructor(e,r,n,a,i){super(a),this.name="APIError",this.status=e,this.statusText=r,this.url=n,this.body=i,Error.captureStackTrace&&Error.captureStackTrace(this,tn)}isClientError(){return this.status>=400&&this.status<500}isServerError(){return this.status>=500}isForbiddenError(){return this.status===403}isNotFoundError(){return this.status===404}}var Qn=(t=>(t.BROWSER="browser",t.NORMAL="normal",t))(Qn||{});const jw="application/json",Uv="Content-Type",Ir=Symbol(),$v=Symbol();function Lv(t={}){var e;const r=t instanceof Array?Object.fromEntries(t):t;return(e=Object.entries(r).find(([n])=>n.toLowerCase()===Uv.toLowerCase()))===null||e===void 0?void 0:e[1]}function qv(t){return/^application\/.*json.*/.test(t)}const Jt=function(t,e,r=!1){return Object.entries(e).reduce((n,[a,i])=>{const o=t[a];return Array.isArray(o)&&Array.isArray(i)?n[a]=r?[...o,...i]:i:typeof o=="object"&&typeof i=="object"?n[a]=Jt(o,i,r):n[a]=i,n},{...t})},Pr={options:{},errorType:"text",polyfills:{},polyfill(t,e=!0,r=!1,...n){const a=this.polyfills[t]||(typeof self<"u"?self[t]:null)||(typeof global<"u"?global[t]:null);if(e&&!a)throw new Error(t+" is not defined");return r&&a?new a(...n):a}};function Nw(t,e=!1){Pr.options=e?t:Jt(Pr.options,t)}function xw(t,e=!1){Pr.polyfills=e?t:Jt(Pr.polyfills,t)}function Dw(t){Pr.errorType=t}const Mw=t=>e=>t.reduceRight((r,n)=>n(r),e)||e;class jv extends Error{}const Fw=t=>{const e=Object.create(null);t=t._addons.reduce((y,m)=>m.beforeRequest&&m.beforeRequest(y,t._options,e)||y,t);const{_url:r,_options:n,_config:a,_catchers:i,_resolvers:o,_middlewares:s,_addons:u}=t,l=new Map(i),c=Jt(a.options,n);let f=r;const h=Mw(s)((y,m)=>(f=y,a.polyfill("fetch")(y,m)))(r,c),d=new Error,v=h.catch(y=>{throw{[Ir]:y}}).then(y=>{var m;if(!y.ok){const b=new jv;if(b.cause=d,b.stack=b.stack+`
|
|
36
|
-
CAUSE: `+d.stack,b.response=y,b.status=y.status,b.url=f,y.type==="opaque")throw b;const R=a.errorType==="json"||((m=y.headers.get("Content-Type"))===null||m===void 0?void 0:m.split(";")[0])==="application/json";return(a.errorType?R?y.text():y[a.errorType]():Promise.resolve(y.body)).then(A=>{if(b.message=typeof A=="string"?A:y.statusText,A)if(R&&typeof A=="string"){b.text=A;try{b.json=JSON.parse(A)}catch{}}else b[a.errorType]=A;throw b})}return y}),p=y=>y.catch(m=>{const b=Object.prototype.hasOwnProperty.call(m,Ir),R=b?m[Ir]:m,A=R?.status&&l.get(R.status)||l.get(R?.name)||b&&l.has(Ir)&&l.get(Ir);if(A)return A(R,t);const j=l.get($v);if(j)return j(R,t);throw R}),g=y=>m=>p(y?v.then(b=>b&&b[y]()).then(b=>m?m(b):b):v.then(b=>m?m(b):b)),P={_wretchReq:t,_fetchReq:h,_sharedState:e,res:g(null),json:g("json"),blob:g("blob"),formData:g("formData"),arrayBuffer:g("arrayBuffer"),text:g("text"),error(y,m){return l.set(y,m),this},badRequest(y){return this.error(400,y)},unauthorized(y){return this.error(401,y)},forbidden(y){return this.error(403,y)},notFound(y){return this.error(404,y)},timeout(y){return this.error(408,y)},internalError(y){return this.error(500,y)},fetchError(y){return this.error(Ir,y)}},w=u.reduce((y,m)=>({...y,...typeof m.resolver=="function"?m.resolver(y):m.resolver}),P);return o.reduce((y,m)=>m(y,t),w)},Kw={_url:"",_options:{},_config:Pr,_catchers:new Map,_resolvers:[],_deferred:[],_middlewares:[],_addons:[],addon(t){return{...this,_addons:[...this._addons,t],...t.wretch}},errorType(t){return{...this,_config:{...this._config,errorType:t}}},polyfills(t,e=!1){return{...this,_config:{...this._config,polyfills:e?t:Jt(this._config.polyfills,t)}}},url(t,e=!1){if(e)return{...this,_url:t};const r=this._url.split("?");return{...this,_url:r.length>1?r[0]+t+"?"+r[1]:this._url+t}},options(t,e=!1){return{...this,_options:e?t:Jt(this._options,t)}},headers(t){const e=t?Array.isArray(t)?Object.fromEntries(t):"entries"in t?Object.fromEntries(t.entries()):t:{};return{...this,_options:Jt(this._options,{headers:e})}},accept(t){return this.headers({Accept:t})},content(t){return this.headers({[Uv]:t})},auth(t){return this.headers({Authorization:t})},catcher(t,e){const r=new Map(this._catchers);return r.set(t,e),{...this,_catchers:r}},catcherFallback(t){return this.catcher($v,t)},resolve(t,e=!1){return{...this,_resolvers:e?[t]:[...this._resolvers,t]}},defer(t,e=!1){return{...this,_deferred:e?[t]:[...this._deferred,t]}},middlewares(t,e=!1){return{...this,_middlewares:e?t:[...this._middlewares,...t]}},fetch(t=this._options.method,e="",r=null){let n=this.url(e).options({method:t});const a=Lv(n._options.headers),i=this._config.polyfill("FormData",!1),o=typeof r=="object"&&!(i&&r instanceof i)&&(!n._options.headers||!a||qv(a));return n=r?o?n.json(r,a):n.body(r):n,Fw(n._deferred.reduce((s,u)=>u(s,s._url,s._options),n))},get(t=""){return this.fetch("GET",t)},delete(t=""){return this.fetch("DELETE",t)},put(t,e=""){return this.fetch("PUT",e,t)},post(t,e=""){return this.fetch("POST",e,t)},patch(t,e=""){return this.fetch("PATCH",e,t)},head(t=""){return this.fetch("HEAD",t)},opts(t=""){return this.fetch("OPTIONS",t)},body(t){return{...this,_options:{...this._options,body:t}}},json(t,e){const r=Lv(this._options.headers);return this.content(e||qv(r)&&r||jw).body(JSON.stringify(t))}};function st(t="",e={}){return{...Kw,_url:t,_options:e}}st.default=st,st.options=Nw,st.errorType=Dw,st.polyfills=xw,st.WretchError=jv;const zw=(t,e)=>e.skipDedupe||e.method!=="GET",Hw=(t,e)=>e.method+"@"+t,Bw=t=>t.clone(),Gw=({skip:t=zw,key:e=Hw,resolver:r=Bw}={})=>{const n=new Map;return a=>(i,o)=>{if(t(i,o))return a(i,o);const s=e(i,o);if(!n.has(s))n.set(s,[]);else return new Promise((u,l)=>{n.get(s).push([u,l])});try{return a(i,o).then(u=>(n.get(s).forEach(([l])=>l(r(u))),n.delete(s),u)).catch(u=>{throw n.get(s).forEach(([,l])=>l(u)),n.delete(s),u})}catch(u){return n.delete(s),Promise.reject(u)}}},Ww=(t,e)=>e.skipCache||e.method!=="GET",Vw=(t,e)=>e.method+"@"+t,Jw=()=>!1,Zw=()=>null,Yw=t=>t.ok,Xw=({throttle:t=1e3,skip:e=Ww,key:r=Vw,clear:n=Jw,invalidate:a=Zw,condition:i=Yw,flagResponseOnCacheHit:o="__cached"}={})=>{const s=new Map,u=new Map,l=new Set,c=h=>{t&&!l.has(h)&&(l.add(h),setTimeout(()=>{l.delete(h)},t))},f=h=>(d,v)=>{const p=r(d,v);let g=a(d,v);if(g&&(g instanceof Array||(g=[g]),g.forEach(P=>{typeof P=="string"?s.delete(P):P instanceof RegExp&&s.forEach((w,y)=>{P.test(y)&&s.delete(y)})})),n(d,v)&&s.clear(),e(d,v))return h(d,v);if(l.has(p)){if(s.has(p)){const P=s.get(p).clone();return o&&Object.defineProperty(P,o,{value:p,enumerable:!1}),Promise.resolve(P)}else if(u.has(p))return new Promise((P,w)=>{u.get(p).push([P,w])})}return u.has(p)||u.set(p,[]),c(p),h(d,v).then(P=>(i(P.clone())&&s.set(p,P.clone()),u.get(p).forEach(([w])=>w(P.clone())),u.delete(p),P)).catch(P=>{throw u.get(p).forEach(([,w])=>w(P)),u.delete(p),P})};return f.cacheResponse=function(h,d){c(h),s.set(h,d)},f.cache=s,f.inflight=u,f.throttling=l,f},Qw=(t,e)=>t*e,eb=t=>t&&t.ok,tb=({delayTimer:t=500,delayRamp:e=Qw,maxAttempts:r=10,until:n=eb,onRetry:a=null,retryOnNetworkError:i=!1,resolveWithLatestResponse:o=!1,skip:s}={})=>u=>(l,c)=>{let f=0;if(s&&s(l,c))return u(l,c);const h=(d,v)=>Promise.resolve(n(d,v)).then(p=>p?d&&o?d:v?Promise.reject(v):d:(f++,!r||f<=r?new Promise(g=>{const P=e(t,f);setTimeout(()=>{typeof a=="function"?Promise.resolve(a({response:d,error:v,url:l,options:c})).then((w={})=>{var y,m;g(u((y=w&&w.url)!==null&&y!==void 0?y:l,(m=w&&w.options)!==null&&m!==void 0?m:c))}):g(u(l,c))},P)}).then(h).catch(g=>{if(!i)throw g;return h(null,g)}):d&&o?d:Promise.reject(v||new Error("Number of attempts exceeded."))));return u(l,c).then(h).catch(d=>{if(!i)throw d;return h(null,d)})},rb="@sesamy/sdk",nb="1.19.0";class ab{cache=new Map;get(e){return this.cache.get(e)||null}set(e,r){this.cache.set(e,r)}remove(e){this.cache.delete(e)}clear(){this.cache.clear()}}const rn="sesamyCacheTimestamp",ib=t=>{const{libraryName:e=rb,libraryVersion:r=nb,cache:n}=t,a=n?.storage||new ab,i=[s=>async(u,l)=>{if(n?.mode===Qn.BROWSER){let c;typeof sessionStorage<"u"?(c=sessionStorage.getItem(rn),c||(c=Date.now().toString(),sessionStorage.setItem(rn,c))):(c=a.get(rn),c||(c=Date.now().toString(),a.set(rn,c)));const f={...l,headers:{...l.headers,"Cache-Timestamp":c}};return s(u,f)}return s(u,l)},s=>async(u,l)=>{const c=await t.tokenProvider(),f={...l,headers:{...l.headers,Authorization:c}};return s(u,f)},Gw()];n?.mode===Qn.NORMAL&&i.push(Xw({throttle:300*1e3,skip:(s,u)=>u.method!=="GET"})),i.push(tb({delayTimer:1e3,delayRamp:(s,u)=>s*u,maxAttempts:3,until:s=>!!(s&&(s.ok||s.status>=400&&s.status<500)),retryOnNetworkError:!1}));const o=st(t.baseUrl).headers({"Content-Type":"application/json","X-Sesamy-Client":`${e}/${r}`,...t.headers}).middlewares(i);return{async request(s,u={}){try{const l=/^https?:\/\//.test(s);let c=o.url(s,l);u.headers&&(c=c.headers(u.headers));const f=(u.method||"GET").toLowerCase();let h;switch(f){case"get":h=c.get();break;case"post":h=c.post(u.body);break;case"put":h=c.put(u.body);break;case"patch":h=c.patch(u.body);break;case"delete":h=c.delete();break;default:h=c.get()}const d=await h.res();if(d.ok&&["post","patch","put","delete"].includes(f)&&wt(),d.status===204)return null;if(!d.ok){const v=await d.text().catch(()=>"Unknown error");throw new tn(d.status,d.statusText,d.url,`API Error ${d.status}: ${v}`,v)}return await d.json()}catch(l){if(l instanceof tn)throw l;const c=l.status||500,f=l.message||"Unknown error",h=`${t.baseUrl}${s}`;throw new tn(c,f,h,`API Error ${c}: ${l.message||"Unknown error"}`,l.message||"Unknown error")}}}},wt=()=>(typeof sessionStorage<"u"&&sessionStorage.removeItem(rn),"Cache cleared"),nn={get:async(t,e)=>t.request(`/profile/${e}`),update:async(t,e,r)=>t.request(`/profile/${e}`,{method:"PATCH",body:JSON.stringify(r)}),checkSpotifyLink:async t=>t.request("/profile/spotify-link"),unlinkSpotify:async t=>t.request("/profile/unlink-spotify",{method:"POST"}),delete:async t=>{await t.request("/profile",{method:"DELETE"})}},Vs={list:async(t,e)=>{const r=new URLSearchParams;e?.type&&r.append("type",e.type),e?.sku&&r.append("sku",e.sku),e?.purchaseOptionId&&r.append("purchase-option-id",e.purchaseOptionId),e?.waitForEntitlementAfter&&r.append("wait-for-entitlement-after",e.waitForEntitlementAfter);const n=r.toString(),a=n?`/entitlements?${n}`:"/entitlements";return t.request(a)},get:async(t,e)=>t.request(`/entitlements/${e}`),getAccess:async(t,e)=>t.request(`/entitlements/${e}/access`)},Nv={list:async t=>t.request("/subscriptions"),get:async(t,e)=>t.request(`/subscriptions/${e}`)},xv={get:async(t,e)=>t.request(`/products/${e}`),autoOnboard:async(t,e)=>t.request(`/products/${e}/auto-onboard`,{method:"POST"})},an={list:async t=>t.request("/contracts"),get:async(t,e)=>t.request(`/contracts/${e}`),cancel:async(t,e)=>t.request(`/contracts/${e}/cancel`,{method:"POST"}),createAmendment:async(t,e,r)=>t.request(`/contracts/${e}/amendments`,{method:"POST",body:JSON.stringify(r)}),confirmAmendment:async(t,e,r)=>t.request(`/contracts/${e}/amendments/${r}/confirm`,{method:"POST"})},Js={get:async t=>t.request("/user-metadata"),set:async(t,e,r)=>{await t.request(`/user-metadata/${e}`,{method:"PUT",body:r})},delete:async(t,e)=>{await t.request(`/user-metadata/${e}`,{method:"DELETE"})}},Er={list:async t=>t.request("/tallies"),get:async(t,e)=>t.request(`/tallies/${e}`),update:async(t,e,r)=>t.request(`/tallies/${e}`,{method:"PUT",body:JSON.stringify(r)}),create:async(t,e)=>t.request("/tallies",{method:"POST",body:JSON.stringify(e)}),delete:async(t,e)=>{try{return await t.request(`/tallies/${e}`,{method:"DELETE"}),!0}catch{return!1}},push:async(t,e,r)=>t.request(`/tallies/${e}/push`,{method:"POST",body:JSON.stringify(r)})},Zs={list:async t=>t.request("/tags"),add:async(t,e)=>{await t.request("/tags",{method:"POST",body:JSON.stringify({tag:e})})},remove:async(t,e)=>{await t.request(`/tags/${e}`,{method:"DELETE"})}},kr={generateCheckoutLink:(t,e)=>{const r=new URL(`${t.apiUrl}/checkouts`);return e.items&&r.searchParams.set("items",JSON.stringify(e.items)),e.email&&r.searchParams.set("email",e.email),e.language&&r.searchParams.set("lang",e.language),e.redirectUrl&&r.searchParams.set("redirect-url",e.redirectUrl),e.giftMode&&r.searchParams.set("gift-mode","true"),e.payerEmail&&r.searchParams.set("payer-email",e.payerEmail),e.requireAddress&&r.searchParams.set("require-address","true"),e.metadata&&Object.entries(e.metadata).forEach(([n,a])=>{r.searchParams.set(`meta-${n}`,a)}),r.toString()},generateAccountLink:(t,e)=>{const r=e.language||"en",n=new URL(`${t.baseUrl}/account/${encodeURIComponent(r)}/subscriptions/${encodeURIComponent(t.clientId)}${e.contractId?`/${encodeURIComponent(e.contractId)}`:""}`);return n.searchParams.set("sesamy-redirect-url",e.redirectUrl||"/"),n.toString()},generateChangePaymentLink:(t,e)=>{const r=e.language||"en",n=new URL(`${t.baseUrl}/account/${encodeURIComponent(r)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(e.contractId)}/change-payment-method`);return n.searchParams.set("sesamy-redirect-url",e.redirectUrl||"/"),n.toString()},generateChangePlanLink:(t,e)=>{const r=e.language||"en",n=new URL(`${t.baseUrl}/account/${encodeURIComponent(r)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(e.contractId)}/edit-plan`);return n.searchParams.set("sesamy-redirect-url",e.redirectUrl||"/"),n.toString()},generateConsumeLink:(t,e)=>{const r=e.language||"en";let n=new URL(`${t.baseUrl}/consume/${encodeURIComponent(r)}/@${encodeURIComponent(t.clientId)}/${encodeURIComponent(e.sku)}`);return e.episodeId?n.href+=`/${encodeURIComponent(e.episodeId)}`:n.href+="/listen",n.searchParams.set("sesamy-redirect-url",e.redirectUrl||"/"),n.toString()}},Ys={generateLink:(t,e)=>{const r=new URL(`${t.apiUrl}/checkouts`);return e.items&&r.searchParams.set("items",JSON.stringify(e.items)),e.email&&r.searchParams.set("email",e.email),e.language&&r.searchParams.set("lang",e.language),e.redirectUrl&&r.searchParams.set("redirect-url",e.redirectUrl),e.giftMode&&r.searchParams.set("gift-mode","true"),e.payerEmail&&r.searchParams.set("payer-email",e.payerEmail),e.requireAddress&&r.searchParams.set("require-address","true"),e.metadata&&Object.entries(e.metadata).forEach(([n,a])=>{r.searchParams.set(`meta-${n}`,a)}),r.toString()},create:async(t,e)=>t.request("/checkouts",{method:"POST",body:JSON.stringify(e)}),get:async(t,e)=>t.request(`/checkouts/${e}`),update:async(t,e,r)=>t.request(`/checkouts/${e}`,{method:"PATCH",body:JSON.stringify(r)})},Dv={list:async t=>t.request("/bills"),get:async(t,e)=>t.request(`/bills/${e}`)},Mv={list:async t=>t.request("/fulfillments"),create:async(t,e)=>t.request("/fulfillments",{method:"POST",body:JSON.stringify(e)})},ob={get:async(t,e)=>{try{return new URL(e),t.request(e)}catch{return t.request(`/paywalls/${e}`)}}},sb={list:async t=>t.request("/payment-issues")},cb={content:async(t,e,r,n,a)=>{const i=new URLSearchParams({url:e});return r&&i.append("selector",r),n&&i.append("cache",n),t.request(`/proxy?${i.toString()}`,a)}},ub={list:async(t,e)=>{const r=(e?new URLSearchParams({q:e}):new URLSearchParams).toString(),n=r?`/transactions?${r}`:"/transactions";return t.request(n)}},Fv={get:async t=>t.request("/vendor"),list:async t=>t.request("/vendors")},lb=t=>{const e=ib(t);return{profile:{get:r=>nn.get(e,r),update:(r,n)=>nn.update(e,r,n),checkSpotifyLink:()=>nn.checkSpotifyLink(e),unlinkSpotify:()=>nn.unlinkSpotify(e),delete:()=>nn.delete(e)},entitlements:{list:r=>Vs.list(e,r),get:r=>Vs.get(e,r),getAccess:r=>Vs.getAccess(e,r)},subscriptions:{list:()=>Nv.list(e),get:r=>Nv.get(e,r)},products:{get:r=>xv.get(e,r),autoOnboard:r=>xv.autoOnboard(e,r)},contracts:{list:()=>an.list(e),get:r=>an.get(e,r),cancel:r=>an.cancel(e,r),createAmendment:(r,n)=>an.createAmendment(e,r,n),confirmAmendment:(r,n)=>an.confirmAmendment(e,r,n)},userMetadata:{get:()=>Js.get(e),set:(r,n)=>Js.set(e,r,n),delete:r=>Js.delete(e,r)},tallies:{list:()=>Er.list(e),get:r=>Er.get(e,r),update:(r,n)=>Er.update(e,r,n),create:r=>Er.create(e,r),delete:r=>Er.delete(e,r),push:(r,n)=>Er.push(e,r,n)},tags:{list:()=>Zs.list(e),add:r=>Zs.add(e,r),remove:r=>Zs.remove(e,r)},checkouts:{generateLink:(r,n)=>kr.generateCheckoutLink(r,n),create:r=>Ys.create(e,r),get:r=>Ys.get(e,r),update:(r,n)=>Ys.update(e,r,n)},links:{generateCheckoutLink:(r,n)=>kr.generateCheckoutLink(r,n),generateAccountLink:(r,n)=>kr.generateAccountLink(r,n),generateChangePaymentLink:(r,n)=>kr.generateChangePaymentLink(r,n),generateChangePlanLink:(r,n)=>kr.generateChangePlanLink(r,n),generateConsumeLink:(r,n)=>kr.generateConsumeLink(r,n)},bills:{list:()=>Dv.list(e),get:r=>Dv.get(e,r)},fulfillments:{list:()=>Mv.list(e),create:r=>Mv.create(e,r)},paywalls:{get:r=>ob.get(e,r)},paymentIssues:{list:()=>sb.list(e)},proxy:{content:(r,n,a,i)=>cb.content(e,r,n,a,i)},transactions:{list:r=>ub.list(e,r)},vendor:{get:()=>Fv.get(e),list:()=>Fv.list(e)}}};class fb{get(e){return typeof sessionStorage>"u"?null:sessionStorage.getItem(e)}set(e,r){typeof sessionStorage<"u"&&sessionStorage.setItem(e,r)}remove(e){typeof sessionStorage<"u"&&sessionStorage.removeItem(e)}clear(){}}function Xs(t){let e;try{e=new URL(t)}catch{return!1}return e.protocol==="http:"||e.protocol==="https:"}function Kv(t,e){if(Xs(t))return{itemSrc:t};const r=t.split(":");if(r.length<2)throw new Error(`Invalid itemSrc format: expected at least 2 segments separated by ':', got ${r.length}`);const[n,a,i]=r;if(!a)throw new Error("Invalid itemSrc format: sku segment is empty");return{sku:`${n}:${a}`,purchaseOption:e||i}}function zv(t){return t.endsWith("/")?t.slice(0,-1):t}function Hv(t,e){if(!Xs(t)||!Xs(e))return!1;const r=new URL(t),n=new URL(e);return r.origin===n.origin&&zv(r.pathname)===zv(n.pathname)}function db(t,e,r){const n=new URL(`${ot("checkout3",t.environment)}`);e.language&&n.searchParams.set("lang",e.language);let a=e.sku,i=e.purchaseOptionId,o=e.itemSrc;if(e.itemSrc){const c=Kv(e.itemSrc,e.purchaseOptionId);a=c.sku||a,i=c.purchaseOption||i,o=c.itemSrc}a?(n.searchParams.set("sku",a),i&&n.searchParams.set("po-id",i)):o&&n.searchParams.set("url",o),e.email&&n.searchParams.set("email",e.email),e.business&&n.searchParams.set("business","true"),e.currency&&n.searchParams.set("currency",e.currency),e.price&&n.searchParams.set("price",e.price.toString()),e.discountCode&&n.searchParams.set("discount-code",e.discountCode),e.attributionItemSrc?n.searchParams.set("itemSrc",e.attributionItemSrc):r.itemSrc&&n.searchParams.set("itemSrc",r.itemSrc),e.attributionPublisherContentId?n.searchParams.set("publisherContentId",e.attributionPublisherContentId):r.publisherContentId&&n.searchParams.set("publisherContentId",r.publisherContentId),e.utmSource?n.searchParams.set("utm_source",e.utmSource):r.utmSource&&n.searchParams.set("utm_source",r.utmSource),e.utmMedium?n.searchParams.set("utm_medium",e.utmMedium):r.utmMedium&&n.searchParams.set("utm_medium",r.utmMedium),e.utmCampaign?n.searchParams.set("utm_campaign",e.utmCampaign):r.utmCampaign&&n.searchParams.set("utm_campaign",r.utmCampaign),e.utmTerm?n.searchParams.set("utm_term",e.utmTerm):r.utmTerm&&n.searchParams.set("utm_term",r.utmTerm),e.utmContent?n.searchParams.set("utm_content",e.utmContent):r.utmContent&&n.searchParams.set("utm_content",r.utmContent);const s=["_ga","_gid","_fbp","_fbc"];document.cookie.split(";").map(c=>{const[f,h]=c.trim().split("=");return{key:f,value:h}}).filter(c=>s.some(f=>f===c.key)).forEach(c=>{n.searchParams.append(c.key,c.value)});let l=new URL(window.location.href);if(e.redirectUrl)try{l=new URL(e.redirectUrl)}catch{console.warn("Invalid redirect URL provided, using current URL instead:",e.redirectUrl)}return l.searchParams.set("force-refetch-entitlements","true"),e.itemSrc&&l.searchParams.set("sesamy-purchase",e.itemSrc),n.searchParams.set("redirect-url",l.toString()),e.paymentMethodsFilter&&n.searchParams.set("paymentmethods-filter",e.paymentMethodsFilter.flatMap(({provider:c,methods:f})=>f?f.map(h=>`${c}|${h}`):c).join(",")),e.requireAddress&&n.searchParams.set("require-address","true"),e.giftMode&&n.searchParams.set("gift-mode","true"),e.payerEmail&&n.searchParams.set("payer-email",e.payerEmail),e.metadata&&Object.entries(e.metadata).forEach(([c,f])=>{n.searchParams.set(`meta-${c}`,String(f))}),n}const Bv="sesamySignedURLs";function Qs(){const t=sessionStorage.getItem(Bv);return t?JSON.parse(t):[]}function hb(t){const e=Qs();e.push(t),ce(`Adding signed URL: ${t}`),sessionStorage.setItem(Bv,JSON.stringify(e))}function vb(t){const e={};return Object.keys(t).forEach(r=>{const n=t[r];n!=null&&(e[r]=n.toString())}),e}const ec="sesamyAttribution";function pb(t){const e=localStorage.getItem(t);if(!e)return null;try{return JSON.parse(e).value}catch{return console.error(`Failed to parse ${t}`),null}}function mb(t){return Object.keys(t).find(e=>e.startsWith("utm_"))?{utmSource:void 0,utmMedium:void 0,utmCampaign:void 0,...t}:t}function ea(){return pb(ec)||{}}function Gv(t){if(t===null)localStorage.removeItem(ec);else{ce(`Setting attribution ${JSON.stringify(t)}`);const e=ea()??{},r=vb({...e,...mb(t)});localStorage.setItem(ec,JSON.stringify({value:r}))}}const Wv="sesamyFlags";async function Vv(t){try{localStorage.setItem(Wv,JSON.stringify(t))}catch{ce("Failed to save flags to localStorage")}}async function Jv(t,e){const r=await on();r[t]=e,await Vv(r)}async function Zv(t){return(await on())[t]}async function Yv(t){const e=await on();t in e&&(delete e[t],await Vv(e))}async function on(){try{const t=localStorage.getItem(Wv);return t?JSON.parse(t):{}}catch{return{}}}function gb(t){const e=t.endpoint||ot("api2",t.environment),n=lb({baseUrl:e,tokenProvider:async()=>{if(await Sr())try{const q=await Vt(!1);if(q)return`Bearer ${q}`}catch{}const S=localStorage.getItem("__anon_id");return`Basic ${btoa(`${t.clientId}|${S}:`)}`},libraryName:Us,libraryVersion:zn,vendorId:t.vendorId,cache:{mode:Qn.BROWSER,storage:new fb}}),a=S=>async(O,q)=>{let F=sessionStorage.getItem(fh);F||(F=Date.now().toString(),sessionStorage.setItem(fh,F));const I={...q,headers:{...q.headers,"Cache-Timestamp":F}};return S(O,I)},i=(S=!0)=>O=>async(q,F)=>{let I=null;if(I=await Vt(S),!I){if(S)throw new Error("No access token available");return O(q,F)}const _={...F,headers:{...F.headers,...I?{Authorization:`Bearer ${I}`}:{}}};return O(q,_)},o=st(e).headers({"Content-Type":"application/json"}).middlewares([a,i(),Uw(),qw({delayTimer:1e3,delayRamp:(S,O)=>S*O,maxAttempts:3,until:S=>!!(S&&(S.ok||S.status>=400&&S.status<500)),retryOnNetworkError:!1})]);async function s(S={}){const{waitForEntitlementAfter:O,includeSignedLinks:q=!0}=S,F=await Sr()?await n.entitlements.list({waitForEntitlementAfter:O?.toISOString()}):[];return q&&F.push(...Qs()),F}async function u(S,O=[]){return(await s())?.find(I=>{if(S){const{sku:_,purchaseOption:x}=Kv(S);if("sku"in I&&_===I.sku||x&&"purchaseOptionsId"in I&&x===I.purchaseOptionsId||Hv(S,I.url))return!0}return!!O.some(_=>Hv(_,I.url))})}async function l(S,O,q){const F=new URL(ot("api2",t.environment));return F.pathname="/proxy",F.searchParams.set("url",O),q&&F.searchParams.set("selector",q),st(F.toString()).headers({Authorization:`Bearer ${S}`}).get().text()}async function c(S){if(!S)throw new Error("SKU is required to get fulfillments");return await Sr()?await o.get(`/fulfillments?sku=${encodeURIComponent(S)}`).json():[]}async function f(S,O){if(!S||!O)throw new Error("SKU and itemId are required to request delivery");return(await o.post({sku:S},`/fulfillments/${encodeURIComponent(O)}/request-delivery?`).res()).ok}async function h(){return console.warn("getSubscriptions is deprecated, use getContracts instead"),o.get("/subscriptions").json()}async function d(S){return(await n.transactions.list())?.find(q=>q.id===S)}async function v(){return await o.url("/tags").get().json()}async function p(S){const O=await o.url(`/tags/${encodeURIComponent(S)}`).delete().res();return wt(),O.ok}async function g(S){const O=await o.url("/tags").post(encodeURIComponent(S)).res();return Ut(He.USER_ATTRIBUTE_CHANGED,{}),wt(),O.ok}async function P(S){return(await n.tallies.get(S)).value}async function w(){const S=await n.tallies.list(),O={};for(const q of S)O[q.id]=q.value;return O}async function y(S){return await n.tallies.delete(S)}async function m(S,O){return await n.tallies.push(S,O)}async function b(){return await Vt(!1)?await o.url("/profile").get().json():null}async function R(S){const O=await o.url("/profile").patch(S).res();return wt(),O.ok}async function A(){return(await o.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function j(){return(await o.url("/profile/unlink-spotify").post().res()).ok}async function z(S){const O=await Vt(!1);if(!O)throw new Error("No access token available");const q=new URL(`${ot("access-sync",t.environment)}/spotify/sesamy-callback`);q.searchParams.set("access_token",O),q.searchParams.set("state",S),window.location.href=q.toString()}async function V(S){const O=await o.url(`/products/${encodeURIComponent(S)}/auto-onboard`).post().json();return O.length&&wt(),O}async function te(S,O=3600){const{shortlink:q}=await st(Ug).post({url:S,ttl:O}).json();return q}async function L(S){const O=await Vt(!1,!0);let q;const F=S.language||Hr(),I=ea();switch(S.target){case"account":q=new URL(`${ot("account",t.environment)}/${encodeURIComponent(S.language||F)}/subscriptions/${encodeURIComponent(t.clientId)}${S.contractId?`/${encodeURIComponent(S.contractId)}`:""}`),q.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"change-payment":q=new URL(`${ot("account",t.environment)}/${encodeURIComponent(S.language||F)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(S.contractId)}/change-payment-method`),q.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"change-plan":q=new URL(`${ot("account",t.environment)}/${encodeURIComponent(S.language||F)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(S.contractId)}/edit-plan`),q.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"consume":q=new URL(`${ot("consume",t.environment)}/${encodeURIComponent(S.language||F)}/@${encodeURIComponent(t.clientId)}/${encodeURIComponent(S.sku)}`),S.episodeId?q.href+=`/${S.episodeId}`:q.href+="/listen",q.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"checkout":q=db(t,{language:F,...S},I);break;default:throw new Error("Invalid target")}return O&&(q.hash=`#access_token=${O}`),S.shorten?te(q.href,S.ttl):q.href}async function M(){const S=await Vt(!1),O=new URL(`${ot("account",t.environment)}/subscriptions/${t.clientId}`);S&&(O.hash=`#access_token=${S}`),window.location.href=O.toString()}async function N(S){const O=ea(),q=["_ga","_gid","_fbp","_fbc"];return document.cookie.split(";").forEach(F=>{const[I,_]=F.trim().split("=");q.includes(I)&&!O[I]&&(O[I]=_)}),n.checkouts.create({language:Hr(),...S,attribution:{...O,...S.attribution}})}return{autoOnboardProduct:V,bills:n.bills,checkouts:{create:N,get:n.checkouts.get,update:n.checkouts.update},content:{list:gv,get:Qr,getLanguage:Hr,unlock:yv,getPropertyFromHTML:xs},contracts:n.contracts,deleteTag:p,deleteTally:y,entitlements:n.entitlements,flags:{get:Zv,set:Jv,list:on,delete:Yv},generateLink:L,getProxyContent:l,getEntitlements:s,getFulfillments:c,requestDelivery:f,hasAccess:u,isSpotifyLinked:A,linkSpotify:z,openHostedAccountPage:M,paywalls:n.paywalls,paymentIssues:n.paymentIssues,getProfile:b,products:n.products,getSubscriptions:h,getTally:P,getTallies:w,getTags:v,getTransaction:d,transactions:n.transactions,userMetadata:n.userMetadata,pushTally:m,setTag:g,unlinkSpotify:j,updateProfile:R,vendor:n.vendor}}const yb=["AdHeader","AdContainer","AD_Top","homead","ad-lead"];function wb(){return new Promise(t=>{const e=yb.map(r=>{const n=document.createElement("div");return n.innerHTML=" ",n.id=r,n.style.position="absolute",document.body.appendChild(n),n});window.setTimeout(()=>{const r=!e.every(n=>document.querySelector(`#${n.id}`)?.offsetParent);e.forEach(n=>n.remove()),t(r)},100)})}function bb(){const t=navigator.userAgent.toLowerCase(),e=[{name:"Facebook",regex:/fbav|fban/i},{name:"LinkedIn",regex:/linkedin/i},{name:"Instagram",regex:/instagram/i},{name:"Gmail",regex:/gmail/i},{name:"Twitter",regex:/twitter/i},{name:"WeChat",regex:/micromessenger/i},{name:"Line",regex:/line/i},{name:"Snapchat",regex:/snapchat/i},{name:"Pinterest",regex:/pinterest/i},{name:"Kakao",regex:/kakaotalk/i},{name:"Skype",regex:/skype/i},{name:"WhatsApp",regex:/whatsapp/i}];for(const r of e)if(r.regex.test(t))return{isInAppBrowser:!0,browserName:r.name};return/; wv\)/.test(t)?{isInAppBrowser:!0,browserName:"Unknown In-App Browser"}:{isInAppBrowser:!1,browserName:null}}function Sb(t){const{autoOnboardProduct:e,bills:r,checkouts:n,contracts:a,deleteTag:i,deleteTally:o,entitlements:s,generateLink:u,getEntitlements:l,getFulfillments:c,getProfile:f,getProxyContent:h,getSubscriptions:d,getTags:v,getTally:p,getTallies:g,getTransaction:P,hasAccess:w,isSpotifyLinked:y,linkSpotify:m,openHostedAccountPage:b,paywalls:R,paymentIssues:A,products:j,pushTally:z,requestDelivery:V,setTag:te,transactions:L,unlinkSpotify:M,updateProfile:N,userMetadata:S,vendor:O}=gb(t),q=()=>A.list(),F={analytics:{track:Tv},attribution:{get:ea,set:Gv},auth:{getUser:f,getTokenSilently:Vt,isAuthenticated:Sr,loginWithRedirect:Xn,loginWithPopup:Av,login:_w,logout:Bs,setToken:Ws},bills:r,browser:{detectAdblock:wb,isInAppBrowser:bb,isIncognito:ms},checkouts:n,clearCache:wt,content:{list:gv,get:Qr,getLanguage:Hr,hasAccess:cw,unlock:yv,getPropertyFromHTML:xs},contracts:a,entitlements:{...s,access:s.getAccess,hasAccess:w,list:l,signedLinks:Qs},events:{emit:Rv,cancel:mw},flags:{get:Zv,set:Jv,list:on,delete:Yv},fulfillments:{list:c,requestDelivery:V},generateLink:u,getPaymentIssues:q,getVersion:Ib,isReady:()=>lt.isInitialized,log:ce,paywalls:R,paymentIssues:A,products:{...j,autoOnboard:e,linkSpotify:m},profile:{get:f,isSpotifyLinked:y,openHostedAccountPage:b,unlinkSpotify:M,update:N},proxy:{getContent:h},subscriptions:{list:d},tags:{delete:i,list:v,set:te},tallies:{delete:o,get:p,list:g,push:z},transactions:{...L,get:P},userMetadata:S,vendor:O,setToken:Ws};return t.namespace&&(window[t.namespace]=F),F}function Ib(){return zn}function Pb(t,e){t.style.position="relative",t.style.height="200px",t.style.overflow="hidden";let n=0;const a=Array.from(t.children);for(const o of a){const s=o.offsetHeight;n+s>200?o.remove():n+=s}const i=document.createElement("style");i.innerHTML=`
|
|
35
|
+
`))}})(j.methodName,j.pluginName),Promise.resolve(j.method({payload:V,instance:n,abort:(te=V,L=y,M=j.pluginName,function(N,S){return Q({},te,{abort:{reason:N,plugins:S||[L],caller:f,from:M||L}})}),config:Lh(j.pluginName,l,i),plugins:l})).then(function(N){var S=Me(N)?N:{};return Promise.resolve(Q({},V,S))})):V;var te,L,M})},Promise.resolve(r))).then(function(A){m[y]=A});m[y]=r})();return R&&R.then?R.then(b):b()})},Promise.resolve({}))).then(function(g){return Promise.resolve(e.exact.reduce(function(P,w,y){try{var m=e.exact.length===y+1,b=w.pluginName,R=i[b];return Promise.resolve(P).then(function(A){var j=g[b]?g[b]:{};if(h&&(j=A),ks(j,b))return Es({data:j,method:f,instance:n,pluginName:b,store:s}),Promise.resolve(A);if(ks(A,b))return m&&Es({data:A,method:f,instance:n,store:s}),Promise.resolve(A);if(p.hasOwnProperty(b)&&p[b]===!0)return s.dispatch({type:"queue",plugin:b,payload:j,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(A);var z=v(g[b],i[b]);return Promise.resolve(R[f]({abort:z.abort,payload:j,instance:n,config:Lh(b,l,i),plugins:l})).then(function(V){var te=Me(V)?V:{},L=Q({},A,te),M=g[b];if(ks(M,b))Es({data:M,method:f,instance:n,pluginName:b,store:s});else{var N=f+":"+b;(N.match(/:/g)||[]).length<2&&!f.match(Uh)&&!f.match($h)&&n.dispatch(Q({},h?L:j,{type:N,_:{called:N,from:"submethod"}}))}return Promise.resolve(L)})})}catch(A){return Promise.reject(A)}},Promise.resolve(r))).then(function(P){if(!(f.match(mr)||f.match(/^registerPlugin/)||f.match($h)||f.match(Uh)||f.match(/^params/)||f.match(/^userIdChanged/))){if(u.plugins.includes(f),P._&&P._.originalAction===f)return P;var w=Q({},P,{_:{originalAction:P.type,called:P.type,from:"engineEnd"}});Nh(P,e.exact.length)&&!f.match(/End$/)&&(w=Q({},w,{type:P.type+"Aborted"})),s.dispatch(w)}return P})})}catch(g){return Promise.reject(g)}},mr=/Start$/,Uh=/^bootstrap/,$h=/^ready/;function Es(t){var e=t.pluginName,r=t.method+"Aborted"+(e?":"+e:"");t.store.dispatch(Q({},t.data,{type:r,_:{called:r,from:"abort"}}))}function Lh(t,e,r){var n=e[t]||r[t];return n&&n.config?n.config:{}}function qh(t,e){return e.reduce(function(r,n){return n[t]?r.concat({methodName:t,pluginName:n.name,method:n[t]}):r},[])}function jh(t,e){var r=t.replace(mr,""),n=e?":"+e:"";return[""+t+n,""+r+n,r+"End"+n]}function ks(t,e){var r=t.abort;return!!r&&(r===!0||xh(r,e)||r&&xh(r.plugins,e))}function Nh(t,e){var r=t.abort;if(!r)return!1;if(r===!0||It(r))return!0;var n=r.plugins;return Yr(r)&&r.length===e||Yr(n)&&n.length===e}function Yr(t){return Array.isArray(t)}function xh(t,e){return!(!t||!Yr(t))&&t.includes(e)}function Dh(t){var e=t.match(/(.*):(.*)/);return!!e&&{method:e[1],name:e[2]}}function py(t){return Object.keys(t).reduce(function(e,r){return r==="type"||(e[r]=Me(t[r])?Object.assign({},t[r]):t[r]),e},{})}function my(t,e,r){var n={};return function(a){return function(i){return function(o){try{var s,u=function(m){return s?m:i(f)},l=o.type,c=o.plugins,f=o;if(o.abort)return Promise.resolve(i(o));if(l===ee.enablePlugin&&a.dispatch({type:ee.initializeStart,plugins:c,disabled:[],fromEnable:!0,meta:o.meta}),l===ee.disablePlugin&&setTimeout(function(){return Oh(o.meta.rid,{payload:o})},0),l===ee.initializeEnd){var h=e(),d=Object.keys(h),v=d.filter(function(m){return c.includes(m)}).map(function(m){return h[m]}),p=[],g=[],P=o.disabled,w=v.map(function(m){var b=m.loaded,R=m.name,A=m.config;return Ch(m,function(){return b({config:A})},1e4).then(function(j){return n[R]||(a.dispatch({type:ee.pluginReadyType(R),name:R,events:Object.keys(m).filter(function(z){return!Ss.includes(z)})}),n[R]=!0),p=p.concat(R),m}).catch(function(j){if(j instanceof Error)throw new Error(j);return g=g.concat(j.name),j})});Promise.all(w).then(function(m){var b={plugins:p,failed:g,disabled:P};setTimeout(function(){d.length===w.length+P.length&&a.dispatch(Q({},{type:ee.ready},b))},0)})}var y=(function(){if(l!==ee.bootstrap)return/^ready:([^:]*)$/.test(l)&&setTimeout(function(){return Ah(a,e,t)},0),Promise.resolve((function(m,b,R,A,j){try{var z=De(b)?b():b,V=m.type,te=V.replace(mr,"");if(m._&&m._.called)return Promise.resolve(m);var L=R.getState(),M=(O=z,(q=L.plugins)===void 0&&(q={}),(F=m.options)===void 0&&(F={}),Object.keys(O).filter(function(I){var _=F.plugins||{};return Zg(_[I])?_[I]:_.all!==!1&&(!q[I]||q[I].enabled!==!1)}).map(function(I){return O[I]}));V===ee.initializeStart&&m.fromEnable&&(M=Object.keys(L.plugins).filter(function(I){var _=L.plugins[I];return m.plugins.includes(I)&&!_.initialized}).map(function(I){return z[I]}));var N=M.map(function(I){return I.name}),S=(function(I,_){var x=jh(I).map(function(H){return qh(H,_)});return _.reduce(function(H,Y){var J=Y.name,fe=jh(I,J).map(function(Ce){return qh(Ce,_)}),ne=fe[0],ue=fe[1],ae=fe[2];return ne.length&&(H.beforeNS[J]=ne),ue.length&&(H.duringNS[J]=ue),ae.length&&(H.afterNS[J]=ae),H},{before:x[0],beforeNS:{},during:x[1],duringNS:{},after:x[2],afterNS:{}})})(V,M);return Promise.resolve(Ps({action:m,data:{exact:S.before,namespaced:S.beforeNS},state:L,allPlugins:z,allMatches:S,instance:R,store:A,EVENTS:j})).then(function(I){function _(){var Y=(function(){if(V.match(mr))return Promise.resolve(Ps({action:Q({},x,{type:te+"End"}),data:{exact:S.after,namespaced:S.afterNS},state:L,allPlugins:z,allMatches:S,instance:R,store:A,EVENTS:j})).then(function(J){J.meta&&J.meta.hasCallback&&Oh(J.meta.rid,{payload:J})})})();return Y&&Y.then?Y.then(function(){return I}):I}if(Nh(I,N.length))return I;var x,H=(function(){if(V!==te)return Promise.resolve(Ps({action:Q({},I,{type:te}),data:{exact:S.during,namespaced:S.duringNS},state:L,allPlugins:z,allMatches:S,instance:R,store:A,EVENTS:j})).then(function(Y){x=Y});x=I})();return H&&H.then?H.then(_):_()})}catch(I){return Promise.reject(I)}var O,q,F})(o,e,t,a,r)).then(function(m){var b=i(m);return s=1,b})})();return Promise.resolve(y&&y.then?y.then(u):u(y))}catch(m){return Promise.reject(m)}}}}}function gy(t){return function(e){return function(r){return function(n){var a=n.type,i=n.key,o=n.value,s=n.options;if(a===ee.setItem||a===ee.removeItem){if(n.abort)return r(n);a===ee.setItem?t.setItem(i,o,s):t.removeItem(i,s)}return r(n)}}}}var yy=function(){var t=this;this.before=[],this.after=[],this.addMiddleware=function(e,r){t[r]=t[r].concat(e)},this.removeMiddleware=function(e,r){var n=t[r].findIndex(function(a){return a===e});n!==-1&&(t[r]=[].concat(t[r].slice(0,n),t[r].slice(n+1)))},this.dynamicMiddlewares=function(e){return function(r){return function(n){return function(a){var i={getState:r.getState,dispatch:function(s){return r.dispatch(s)}},o=t[e].map(function(s){return s(i)});return hr.apply(void 0,o)(n)(a)}}}}};function wy(t){return function(e,r){e===void 0&&(e={});var n={};if(r.type==="initialize:aborted")return e;if(/^registerPlugin:([^:]*)$/.test(r.type)){var a=Mh(r.type,"registerPlugin"),i=t()[a];if(!i||!a)return e;var o=r.enabled,s=i.config;return n[a]={enabled:o,initialized:!!o&&!i.initialize,loaded:!!o&&!!i.loaded({config:s}),config:s},Q({},e,n)}if(/^initialize:([^:]*)$/.test(r.type)){var u=Mh(r.type,ee.initialize),l=t()[u];return l&&u?(n[u]=Q({},e[u],{initialized:!0,loaded:!!l.loaded({config:l.config})}),Q({},e,n)):e}if(/^ready:([^:]*)$/.test(r.type))return n[r.name]=Q({},e[r.name],{loaded:!0}),Q({},e,n);switch(r.type){case ee.disablePlugin:return Q({},e,Fh(r.plugins,!1,e));case ee.enablePlugin:return Q({},e,Fh(r.plugins,!0,e));default:return e}}}function Mh(t,e){return t.substring(e.length+1,t.length)}function Fh(t,e,r){return t.reduce(function(n,a){return n[a]=Q({},r[a],{enabled:e}),n},r)}function Kh(t){try{return JSON.parse(JSON.stringify(t))}catch{}return t}var by={last:{},history:[]};function Sy(t,e){t===void 0&&(t=by);var r=e.options,n=e.meta;if(e.type===ee.track){var a=Kh(Q({event:e.event,properties:e.properties},Object.keys(r).length&&{options:r},{meta:n}));return Q({},t,{last:a,history:t.history.concat(a)})}return t}var Iy={actions:[]};function Py(t,e){t===void 0&&(t=Iy);var r=e.payload;switch(e.type){case"queue":var n;return n=r&&r.type&&r.type===ee.identify?[e].concat(t.actions):t.actions.concat(e),Q({},t,{actions:n});case"dequeue":return[];default:return t}}var zh=/#.*$/;function Ey(t){var e=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(t);return"/"+(e&&e[3]?e[3].split("?")[0].replace(zh,""):"")}var Hh,Bh,Gh,Wh,ky=function(t){if(t===void 0&&(t={}),!Re)return t;var e=document,r=e.title,n=e.referrer,a=window,i=a.location,o=a.innerWidth,s=a.innerHeight,u=i.hash,l=i.search,c=(function(h){var d=(function(){if(Re){for(var v,p=document.getElementsByTagName("link"),g=0;v=p[g];g++)if(v.getAttribute("rel")==="canonical")return v.getAttribute("href")}})();return d?d.match(/\?/)?d:d+h:window.location.href.replace(zh,"")})(l),f={title:r,url:c,path:Ey(c),hash:u,search:l,width:o,height:s};return n&&n!==""&&(f.referrer=n),Q({},f,t)},_y={last:{},history:[]};function Ty(t,e){t===void 0&&(t=_y);var r=e.options;if(e.type===ee.page){var n=Kh(Q({properties:e.properties,meta:e.meta},Object.keys(r).length&&{options:r}));return Q({},t,{last:n,history:t.history.concat(n)})}return t}Hh=(function(){if(!Re)return!1;var t=navigator.appVersion;return~t.indexOf("Win")?"Windows":~t.indexOf("Mac")?"MacOS":~t.indexOf("X11")?"UNIX":~t.indexOf("Linux")?"Linux":"Unknown OS"})(),Bh=Re?document.referrer:null,Gh=ny(),Wh=ay();var Vh={initialized:!1,sessionId:$n(),app:null,version:null,debug:!1,offline:!!Re&&!navigator.onLine,os:{name:Hh},userAgent:Re?navigator.userAgent:"node",library:{name:bs,version:"0.13.1"},timezone:Wh,locale:Gh,campaign:{},referrer:Bh};function Ry(t,e){t===void 0&&(t=Vh);var r=t.initialized,n=e.campaign;switch(e.type){case ee.campaign:return Q({},t,{campaign:n});case ee.offline:return Q({},t,{offline:!0});case ee.online:return Q({},t,{offline:!1});default:return r?t:Q({},Vh,t,{initialized:!0})}}var Oy=["plugins","reducers","storage"];function Cy(t,e,r){if(Re){var n=window[(r?"add":"remove")+"EventListener"];t.split(" ").forEach(function(a){n(a,e)})}}function Ay(t){var e=Cy.bind(null,"online offline",function(r){return Promise.resolve(!navigator.onLine).then(t)});return e(!0),function(r){return e(!1)}}function Jh(){return Kt(bs,[]),function(t){return function(e,r,n){var a=t(e,r,n),i=a.dispatch;return Object.assign(a,{dispatch:function(o){return lr[ur][bs].push(o.action||o),i(o)}})}}}function Zh(t){return function(){return hr(hr.apply(null,arguments),Jh())}}function _s(t){return t?wh(t)?t:[t]:[]}function Yh(t,e,r){t===void 0&&(t={});var n,a,i=$n();return e&&(Zr[i]=(n=e,a=(function(o){for(var s,u=o||Array.prototype.slice.call(arguments),l=0;l<u.length;l++)if(De(u[l])){s=u[l];break}return s})(r),function(o){a&&a(o),n(o)})),Q({},t,{rid:i,ts:new Date().getTime()},e?{hasCallback:!0}:{})}function Uy(t){t===void 0&&(t={});var e=t.reducers||{},r=t.initialUser||{},n=(t.plugins||[]).reduce(function(I,_){if(De(_))return I.middlewares=I.middlewares.concat(_),I;if(_.NAMESPACE&&(_.name=_.NAMESPACE),!_.name)throw new Error("https://lytics.dev/errors/1");_.config||(_.config={});var x=_.EVENTS?Object.keys(_.EVENTS).map(function(J){return _.EVENTS[J]}):[];I.pluginEnabled[_.name]=!(_.enabled===!1||_.config.enabled===!1),delete _.enabled,_.methods&&(I.methods[_.name]=Object.keys(_.methods).reduce(function(J,fe){var ne;return J[fe]=(ne=_.methods[fe],function(){for(var ue=Array.prototype.slice.call(arguments),ae=new Array(ne.length),Ce=0;Ce<ue.length;Ce++)ae[Ce]=ue[Ce];return ae[ae.length]=b,ne.apply({instance:b},ae)}),J},{}),delete _.methods);var H=Object.keys(_).concat(x),Y=new Set(I.events.concat(H));if(I.events=Array.from(Y),I.pluginsArray=I.pluginsArray.concat(_),I.plugins[_.name])throw new Error(_.name+"AlreadyLoaded");return I.plugins[_.name]=_,I.plugins[_.name].loaded||(I.plugins[_.name].loaded=function(){return!0}),I},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),a=t.storage?t.storage:{getItem:Ft,setItem:Kt,removeItem:fr},i=(function(I){return function(_,x,H){return x.getState("user")[_]||(H&&Me(H)&&H[_]?H[_]:Rh(I)[_]||Ft(Is(_))||null)}})(a),o=n.plugins,s=n.events.filter(function(I){return!Ss.includes(I)}).sort(),u=new Set(s.concat(jn).filter(function(I){return!Ss.includes(I)})),l=Array.from(u).sort(),c=function(){return o},f=new yy,h=f.addMiddleware,d=f.removeMiddleware,v=f.dynamicMiddlewares,p=function(){throw new Error("Abort disabled inListener")},g=iy(),P=Rh(a),w=Q({},P,r,g.an_uid?{userId:g.an_uid}:{},g.an_aid?{anonymousId:g.an_aid}:{});w.anonymousId||(w.anonymousId=$n());var y=Q({enable:function(I,_){return new Promise(function(x){S.dispatch({type:ee.enablePlugin,plugins:_s(I),_:{originalAction:ee.enablePlugin}},x,[_])})},disable:function(I,_){return new Promise(function(x){S.dispatch({type:ee.disablePlugin,plugins:_s(I),_:{originalAction:ee.disablePlugin}},x,[_])})}},n.methods),m=!1,b={identify:function(I,_,x,H){try{var Y=It(I)?I:null,J=Me(I)?I:_,fe=x||{},ne=b.user();Kt(Is(kt),Y);var ue=Y||J.userId||i(kt,b,J);return Promise.resolve(new Promise(function(ae){S.dispatch(Q({type:ee.identifyStart,userId:ue,traits:J||{},options:fe,anonymousId:ne.anonymousId},ne.id&&ne.id!==Y&&{previousId:ne.id}),ae,[_,x,H])}))}catch(ae){return Promise.reject(ae)}},track:function(I,_,x,H){try{var Y=Me(I)?I.event:I;if(!Y||!It(Y))throw new Error("EventMissing");var J=Me(I)?I:_||{},fe=Me(x)?x:{};return Promise.resolve(new Promise(function(ne){S.dispatch({type:ee.trackStart,event:Y,properties:J,options:fe,userId:i(kt,b,_),anonymousId:i(pr,b,_)},ne,[_,x,H])}))}catch(ne){return Promise.reject(ne)}},page:function(I,_,x){try{var H=Me(I)?I:{},Y=Me(_)?_:{};return Promise.resolve(new Promise(function(J){S.dispatch({type:ee.pageStart,properties:ky(H),options:Y,userId:i(kt,b,H),anonymousId:i(pr,b,H)},J,[I,_,x])}))}catch(J){return Promise.reject(J)}},user:function(I){if(I===kt||I==="id")return i(kt,b);if(I===pr||I==="anonId")return i(pr,b);var _=b.getState("user");return I?vh(_,I):_},reset:function(I){return new Promise(function(_){S.dispatch({type:ee.resetStart},_,I)})},ready:function(I){return m&&I({plugins:y,instance:b}),b.on(ee.ready,function(_){I&&I(_),m=!0})},on:function(I,_){if(!I||!De(_))return!1;if(I===ee.bootstrap)throw new Error(".on disabled for "+I);var x=/Start$|Start:/;if(I==="*"){var H=function(ne){return function(ue){return function(ae){return ae.type.match(x)&&_({payload:ae,instance:b,plugins:o}),ue(ae)}}},Y=function(ne){return function(ue){return function(ae){return ae.type.match(x)||_({payload:ae,instance:b,plugins:o}),ue(ae)}}};return h(H,Nn),h(Y,xn),function(){d(H,Nn),d(Y,xn)}}var J=I.match(x)?Nn:xn,fe=function(ne){return function(ue){return function(ae){return ae.type===I&&_({payload:ae,instance:b,plugins:o,abort:p}),ue(ae)}}};return h(fe,J),function(){return d(fe,J)}},once:function(I,_){if(!I||!De(_))return!1;if(I===ee.bootstrap)throw new Error(".once disabled for "+I);var x=b.on(I,function(H){_({payload:H.payload,instance:b,plugins:o,abort:p}),x()});return x},getState:function(I){var _=S.getState();return I?vh(_,I):Object.assign({},_)},dispatch:function(I){var _=It(I)?{type:I}:I;if(jn.includes(_.type))throw new Error("reserved action "+_.type);var x=Q({},_,{_:Q({originalAction:_.type},I._||{})});S.dispatch(x)},enablePlugin:y.enable,disablePlugin:y.disable,plugins:y,storage:{getItem:a.getItem,setItem:function(I,_,x){S.dispatch({type:ee.setItemStart,key:I,value:_,options:x})},removeItem:function(I,_){S.dispatch({type:ee.removeItemStart,key:I,options:_})}},setAnonymousId:function(I,_){b.storage.setItem(Et,I,_)},events:{core:jn,plugins:s}},R=n.middlewares.concat([function(I){return function(_){return function(x){return x.meta||(x.meta=Yh()),_(x)}}},v(Nn),my(b,c,{all:l,plugins:s}),gy(a),fy(b),hy(b),v(xn)]),A={context:Ry,user:dy(a),page:Ty,track:Sy,plugins:wy(c),queue:Py},j=hr,z=hr;if(Re&&t.debug){var V=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;V&&(j=V({trace:!0,traceLimit:25})),z=function(){return arguments.length===0?Jh():Me(typeof arguments[0])?Zh():Zh().apply(null,arguments)}}var te,L=(function(I){return Object.keys(I).reduce(function(_,x){return Oy.includes(x)||(_[x]=I[x]),_},{})})(t),M=n.pluginsArray.reduce(function(I,_){var x=_.name,H=_.config,Y=_.loaded,J=n.pluginEnabled[x];return I[x]={enabled:J,initialized:!!J&&!_.initialize,loaded:!!Y({config:H}),config:H},I},{}),N={context:L,user:w,plugins:M},S=Eh((function(I){for(var _=Object.keys(I),x={},H=0;H<_.length;H++){var Y=_[H];typeof I[Y]===Pt&&(x[Y]=I[Y])}var J,fe=Object.keys(x);try{(function(ne){Object.keys(ne).forEach(function(ue){var ae=ne[ue];if(typeof ae(void 0,{type:ws})===pt||typeof ae(void 0,{type:cy})===pt)throw new Error(Jr+" "+ue+" "+pt)})})(x)}catch(ne){J=ne}return function(ne,ue){if(ne===void 0&&(ne={}),J)throw J;for(var ae=!1,Ce={},Ne=0;Ne<fe.length;Ne++){var Ke=fe[Ne],qe=ne[Ke],rt=(0,x[Ke])(qe,ue);if(typeof rt===pt){var Tt=uy(Ke,ue);throw new Error(Tt)}Ce[Ke]=rt,ae=ae||rt!==qe}return ae?Ce:ne}})(Q({},A,e)),N,z(j(ly.apply(void 0,R))));S.dispatch=(te=S.dispatch,function(I,_,x){var H=Q({},I,{meta:Yh(I.meta,_,_s(x))});return te.apply(null,[H])});var O=Object.keys(o);S.dispatch({type:ee.bootstrap,plugins:O,config:L,params:g,user:w,initialUser:r,persistedUser:P});var q=O.filter(function(I){return n.pluginEnabled[I]}),F=O.filter(function(I){return!n.pluginEnabled[I]});return S.dispatch({type:ee.registerPlugins,plugins:O,enabled:n.pluginEnabled}),n.pluginsArray.map(function(I,_){var x=I.bootstrap,H=I.config,Y=I.name;x&&De(x)&&x({instance:b,config:H,payload:I}),S.dispatch({type:ee.registerPluginType(Y),name:Y,enabled:n.pluginEnabled[Y],plugin:I}),n.pluginsArray.length===_+1&&S.dispatch({type:ee.initializeStart,plugins:q,disabled:F})}),Ay(function(I){S.dispatch({type:I?ee.offline:ee.online})}),(function(I,_,x){setInterval(function(){return Ah(I,_,x)},3e3)})(S,c,b),b}var Nn="before",xn="after",Ht="cookie",Bt=ev(),Xh=Dn,$y=Dn;function Qh(t){return Bt?Dn(t,"",-1):fr(t)}function ev(){if(Bt!==void 0)return Bt;var t=Ht+Ht;try{Dn(t,t),Bt=document.cookie.indexOf(t)!==-1,Qh(t)}catch{Bt=!1}return Bt}function Dn(t,e,r,n,a,i){if(typeof window<"u"){var o=arguments.length>1;return Bt===!1&&(o?Kt(t,e):Ft(t)),o?document.cookie=t+"="+encodeURIComponent(e)+(r?"; expires="+new Date(+new Date+1e3*r).toUTCString()+(n?"; path="+n:"")+(a?"; domain="+a:"")+(i?"; secure":""):""):decodeURIComponent((("; "+document.cookie).split("; "+t+"=")[1]||"").split(";")[0])}}var mt="localStorage",Ly=ys.bind(null,mt);dr(mt,"getItem",Ft),dr(mt,"setItem",Kt),dr(mt,"removeItem",fr);var gt="sessionStorage",qy=ys.bind(null,gt);dr(gt,"getItem",Ft),dr(gt,"setItem",Kt),dr(gt,"removeItem",fr);function gr(t){var e=t;try{if((e=JSON.parse(t))==="true")return!0;if(e==="false")return!1;if(Me(e))return e;parseFloat(e)===e&&(e=parseFloat(e))}catch{}if(e!==null&&e!=="")return e}var jy=Ly(),Ny=qy(),xy=ev();function Gt(t,e){if(t){var r=Ts(e),n=!As(r),a=Rs(r)?gr(localStorage.getItem(t)):void 0;if(n&&!cr(a))return a;var i=Os(r)?gr(Xh(t)):void 0;if(n&&i)return i;var o=Cs(r)?gr(sessionStorage.getItem(t)):void 0;if(n&&o)return o;var s=Ft(t);return n?s:{localStorage:a,sessionStorage:o,cookie:i,global:s}}}function Mn(t,e,r){if(t&&!cr(e)){var n={},a=Ts(r),i=JSON.stringify(e),o=!As(a);return Rs(a)&&(n[mt]=Kn(mt,e,gr(localStorage.getItem(t))),localStorage.setItem(t,i),o)?n[mt]:Os(a)&&(n[Ht]=Kn(Ht,e,gr(Xh(t))),$y(t,i),o)?n[Ht]:Cs(a)&&(n[gt]=Kn(gt,e,gr(sessionStorage.getItem(t))),sessionStorage.setItem(t,i),o)?n[gt]:(n[Mt]=Kn(Mt,e,Ft(t)),Kt(t,e),o?n[Mt]:n)}}function Dy(t,e){if(t){var r=Ts(e),n=Gt(t,mh),a={};return!cr(n.localStorage)&&Rs(r)&&(localStorage.removeItem(t),a[mt]=n.localStorage),!cr(n.cookie)&&Os(r)&&(Qh(t),a[Ht]=n.cookie),!cr(n.sessionStorage)&&Cs(r)&&(sessionStorage.removeItem(t),a[gt]=n.sessionStorage),!cr(n.global)&&Fn(r,Mt)&&(fr(t),a[Mt]=n.global),a}}function Ts(t){return t?It(t)?t:t.storage:ph}function Rs(t){return jy&&Fn(t,mt)}function Os(t){return xy&&Fn(t,Ht)}function Cs(t){return Ny&&Fn(t,gt)}function As(t){return t===mh||t==="all"}function Fn(t,e){return t===ph||t===e||As(t)}function Kn(t,e,r){return{location:t,current:e,previous:r}}var My={setItem:Mn,getItem:Gt,removeItem:Dy};function Fy(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function tv(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,n)}return r}function rv(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?tv(Object(r),!0).forEach(function(n){Fy(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):tv(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function Ky(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e={storage:My};return Uy(rv(rv({},e),t))}const Us="@sesamy/sesamy-js",zn="1.70.0";function zy(t){if(typeof window>"u")return;const{addEventListener:e,history:r,location:n}=window;let a=n.pathname;e("popstate",()=>t(n.pathname)),["push","replace"].map(i=>{const o=`${i}State`;if(o!=="pushState"&&o!=="replaceState")return;const s=r[o];r[o]=function(...u){const l=u[2]?.toString()||"",c=By(l);return a!==c&&(a=c,setTimeout(()=>t(l),0)),s.apply(r,u)}})}function Hy(t,e){const r=t.indexOf(e);return r>-1?t.slice(0,r):t}function By(t){return["#","?"].forEach(e=>t=Hy(t,e)),t}function Gy(){zy(()=>{yt.page()})}var $s="up",Ls="down";function Wy(t){if(t===void 0&&(t={}),!Re)return gs;var e=av(),r=qs(),n=nv(),a=Hn(n,e),i=Hn(r,e),o=[],s=[],u=[],l=n,c=a,f=i,h=Object.keys(t);if(!h.length)return gs;var d=h.map(function(p){return Number(p)}),v=sy(function(){var p=av(),g=(function(L,M){return M.map(function(N){return N===100?L-5:L*(N/100)})})(p,d),P=qs(),w=nv(),y=Hn(w,p),m=Hn(P,p);if(c=y>c?y:c,f=m<f?m:f,!(o.length>=d.length)){var b=l===w,R=$s;b?R="initial":l<=w&&(R=Ls);var A=g,j=d;(R===$s||b)&&(A=g.slice().reverse(),j=d.slice().reverse());var z=j.reduce(function(L,M,N){var S=A[N];return u.includes(M)&&w<=S&&(u=u.filter(function(O){return O!==M}),L.singleFunction=M),R===Ls&&!o.includes(M)&&w>=S&&M>i?(s.push(M),L.callbacks=L.callbacks.concat(M),L):R===$s&&!o.includes(M)&&w<=S&&M<=y?(L.foundFunc=[M],L):(b&&w>=S&&L.foundFunc.length===0&&(L.foundFunc=[M]),!s.includes(M)&&w>=S&&(s.push(M),L.singleFunction?u.push(M):L.singleFunction=M),L)},{foundFunc:[],singleFunction:null,callbacks:[],direction:R});if(l=w,R===Ls&&z.callbacks&&z.callbacks.forEach(function(L){De(t[L])&&(t[L]({trigger:L,direction:R,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(L))}),z.singleFunction){var V=z.singleFunction,te=z.direction;De(t[V])&&t[V]({trigger:V,direction:te,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(V)}}},500);return window.addEventListener("scroll",v),function(){return window.removeEventListener("scroll",v)}}function qs(){return Re?document.body.scrollTop||document.documentElement.scrollTop:0}function Vy(){return Re?window.innerHeight||document.documentElement.clientHeight:0}function nv(){return Math.round(qs()+Vy())}function av(){if(!Re)return 0;var t=document.body,e=document.documentElement;return Math.max(t.scrollHeight,t.offsetHeight,e.clientHeight,e.scrollHeight,e.offsetHeight)}function Hn(t,e){return Math.round(t/e*100)}var js="Event",iv=js+"Listener";function Jy(t){return function(e,r,n,a){var i=n||gs,o=a||!1;if(!Re)return i;var s=Bn(r),u=Bn(e,!0);if(!u.length)throw new Error("noElements");if(!s.length)throw new Error("no"+js);var l=[];return(function c(f){f&&(l=[]);for(var h=f?"add"+iv:"remove"+iv,d=0;d<u.length;d++){var v=u[d];l[d]=f?o&&o.once?Zy(i):i:l[d]||i;for(var p=0;p<s.length;p++)v[h]?v["on"+s[p]]=f?l[d]:null:v[h](s[p],l[d],o)}return c.bind(null,!f)})(t)}}function Bn(t,e){if(It(t))return e?Bn(document.querySelectorAll(t)):(r=t).split(r.indexOf(",")>-1?",":" ").map(function(o){return o.trim()});var r;if(NodeList.prototype.isPrototypeOf(t)){for(var n=[],a=t.length>>>0;a--;)n[a]=t[a];return n}var i=ry(t);return e?i.map(function(o){return It(o)?Bn(o,!0):o}).flat():i}function Zy(t,e){var r;return function(){return t&&(r=t.apply(this,arguments),t=null),r}}var Ns=Jy(js);function ov(t,e){return Re&&De(window[t])?(r=window[t],n=e,(a=window)===void 0&&(a=null),De(r)?function(){r.apply(a,arguments),n.apply(a,arguments)}:n):window[t]=e;var r,n,a}ov.bind(null,"onerror"),ov.bind(null,"onload");var sv=typeof window>"u",cv="hidden";function Yy(t){if(sv)return!1;var e=Xy(),r="".concat(e.replace(/[H|h]idden/,""),"visibilitychange"),n=function(){return t(!!document[e])},a=function(){return document.addEventListener(r,n)};return a(),function(){return document.removeEventListener(r,n),a}}function Xy(){var t=["webkit","moz","ms","o"];return sv||cv in document?cv:t.reduce(function(e,r){var n=r+"Hidden";return!e&&n in document?n:e},null)}var Qy=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function ew(t,e){e===void 0&&(e={});var r=(function(o,s){var u=this,l=!1;return function(c){l||(o.call(u,c),l=!0,setTimeout(function(){return l=!1},s))}})(t,e.throttle||1e4),n=[];function a(){var o=Yy(function(s){s||r({type:"tabVisible"})});return n=[o].concat(Qy.map(function(s){return Ns(document,s,r)})).concat(Ns(window,"load",r)).concat(Ns(window,"scroll",r,{capture:!0,passive:!0})),i}function i(){n.map(function(o){return o()})}return a(),function(){return i(),a}}function tw(t){var e,r,n=t.onIdle,a=t.onWakeUp,i=t.onHeartbeat,o=t.timeout,s=o,u=t.throttle,l=u===void 0?2e3:u,c=!1,f=!1,h=new Date,d=function(){return clearTimeout(e)};function v(g){d(),i&&!c&&i(Xr(h),g),a&&c&&(c=!1,a(Xr(r),g),h=new Date),e=setTimeout(function(){c=!0,n&&(r=new Date,n(Xr(h),g))},s)}var p=ew(v,{throttle:l});return{disable:function(){f=!0,c=!1,d();var g=p();return function(){return f=!1,h=new Date,v({type:"load"}),g()}},getStatus:function(){return{isIdle:c,isDisabled:f,active:c?0:Xr(h,f),idle:c?Xr(r,f):0}}}}function Xr(t,e){return e?0:Math.round((new Date-t)/1e3)}const uv=5e3;class rw{element;isInViewport=!1;isAwake=!1;isFlushing;observer;lastEventAt=Date.now();registeredView=!1;viewCallback;activeDurationCallback;idleDurationCallback;scrollCallback;constructor(e){this.element=e.element,this.viewCallback=e.viewCallback,this.activeDurationCallback=e.activeDurationCallback,this.idleDurationCallback=e.idleDurationCallback,this.scrollCallback=e.scrollCallback,this.observer=new IntersectionObserver(r=>{r.forEach(n=>{this.handleInViewPort(n.isIntersecting)})},{threshold:0}),this.observer.observe(this.element),tw({onIdle:r=>this.handleAwake(!1,r),onWakeUp:r=>this.handleAwake(!0,r),timeout:uv}),Wy({25:this.handleScroll.bind(this),50:this.handleScroll.bind(this),75:this.handleScroll.bind(this),90:this.handleScroll.bind(this),100:this.handleScroll.bind(this)})}flush(){this.isFlushing=!0,this.handleAwake(!this.isAwake)}handleInViewPort(e){e?(this.isAwake=!0,this.trackInViewport()):this.handleAwake(!1),this.isInViewport=e}handleAwake(e,r=Math.round((Date.now()-this.lastEventAt)/1e3)){this.isAwake=e,this.lastEventAt=e?Date.now()-r*uv:Date.now(),this.isInViewport&&this.trackAwake(e,r)}handleScroll(e){this.scrollCallback&&this.scrollCallback(e)}handleVisibilityChange(){this.isAwake=!1;const e=Math.round((Date.now()-this.lastEventAt)/1e3);e>1&&(this.lastEventAt=Date.now(),this.trackAwake(!1,e))}trackAwake(e,r){!e&&this.activeDurationCallback&&this.activeDurationCallback(r,this.isFlushing,this.lastEventAt),e&&this.idleDurationCallback&&this.idleDurationCallback(r,this.isFlushing,this.lastEventAt)}trackInViewport(){this.registeredView||(this.registeredView=!0,this.viewCallback&&this.viewCallback())}}function lv(t){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}function nw(t,e){e=e||{};var r,n,a=[],i=e.max||1/0;function o(){clearInterval(r),t(a.splice(0,i)),s()}function s(){r=setInterval(o,e.interval||1e4)}return s(),{flush:o,push:function(u){return n=a.push(u),n>=i&&o(),n},size:function(){return a.length},end:function(u){u&&o(),clearInterval(r)}}}const fv="sesamy_session_id";function aw(){let t=sessionStorage.getItem(fv);return t||(t=Math.random().toString(36).slice(2,9),sessionStorage.setItem(fv,t)),t}function dv(t){function e(n){return n.id?`#${n.id}`:n.classList.length>0?Array.from(n.classList).map(i=>`.${i}`).join(""):null}function r(n){const a=[];let i=n;for(;i&&i!==document.body&&i!==document.documentElement;){const o=e(i);if(o){a.unshift(o);break}if(i.parentElement){const s=Array.from(i.parentElement.children),u=s.indexOf(i)+1,l=i.tagName.toLowerCase();s.filter(f=>f.tagName.toLowerCase()===l).length>1?a.unshift(`${l}:nth-child(${u})`):a.unshift(l)}i=i.parentElement}return a.join(" > ")}return r(t)}function iw(t){return t?Object.fromEntries(Object.entries(t).filter(([e,r])=>r!==void 0)):{}}let Fe={article:{selector:"sesamy-article"},image:{selector:"img",attribute:"src"},title:{selector:"h1",attribute:"textContent"},excerpt:{selector:"p",attribute:"textContent"},price:{selector:"sesamy-article",attribute:"price"},currency:{selector:"sesamy-article",attribute:"currency"},url:{selector:"sesamy-article",attribute:"item-src"},accessLevel:{selector:"sesamy-article",attribute:"access-level"},id:{selector:"sesamy-article",attribute:"publisher-content-id"},pass:{selector:"sesamy-article",attribute:"pass"},paywallUrl:{selector:"sesamy-article",attribute:"paywall-url"}},hv=[],vv=!1,Wt;function pv(){const t=window.location.pathname;return hv.find(e=>e.path?t.includes(e.path):!0)}function ow(t,e){hv=t.content||[];const r=pv();r&&r.type==="article"&&(Fe={...Fe,...iw(r.selectors)},vv=r.enablePaywallSettingsUrlFallback||!1),Wt=e}function sw(t,e){const{selector:r}=e;return r===Fe.article.selector||t.matches(r)?t:t.querySelector(r)}function mv(t,e){if(t)return e.attribute?e.attribute==="textContent"?t.textContent??void 0:t.getAttribute(e.attribute)??mv(t.parentElement,e):t.textContent??void 0}function yr(t){const e=document.head.querySelectorAll(`[property~='${t}'][content]`);for(let n=0;n<e.length;n+=1)if(e[n].content)return e[n].content;const r=document.head.querySelectorAll(`[name~='${t}'][content]`);for(let n=0;n<r.length;n+=1)if(r[n].content)return r[n].content}function xs({publisherContentId:t,key:e,defaultValue:r=""}){return(t?document.body.querySelector(`sesamy-content-data[id='${t}']`):null)?.getAttribute(e)||yr(`sesamy:${e}`)||yr(`og:${e}`)||yr(e)||r}function gv(){const t=document.querySelectorAll(Fe.article.selector);return Array.from(t).map(Qr).filter(e=>e!==null)}function Qr(t){const e=typeof t=="string"?document.querySelector(t):t;if(!e)return null;const r={element:e,selector:typeof t=="string"?t:dv(e)},n=(i,o,s,u)=>{const l=sw(e,o);if(l){const c=mv(l,o)||xs({publisherContentId:s,key:i});c!==void 0&&(r[i]=u?u(c):c)}};n("id",Fe.id),n("title",Fe.title,r.id),n("excerpt",Fe.excerpt,r.id),n("image",Fe.image,r.id),n("price",Fe.price,r.id,i=>parseFloat(i)),n("currency",Fe.currency,r.id),n("url",Fe.url,r.id),n("pass",Fe.pass,r.id),n("paywallUrl",Fe.paywallUrl,r.id),n("accessLevel",Fe.accessLevel,r.id,i=>i||"entitlement");const a=pv();if(a&&a.type==="article"&&(a.pass&&(r.pass=r.pass?`${r.pass},${a.pass}`:a.pass),a.price&&!r.price&&(r.price=a.price.amount),a.price?.currency&&!r.currency&&(r.currency=a.price.currency),a.paywallUrl&&!r.paywallUrl&&(r.paywallUrl=a.paywallUrl)),vv&&!r.paywallUrl){const i=document.querySelector("sesamy-paywall");if(i){const o=i.getAttribute("settings-url");o&&(r.paywallUrl=o)}}return r.url||(r.url=window.location.href),r}async function cw(t){const e=Qr(t);if(!e)throw new Error("Could not find article element");if(e.paywallUrl&&((await Wt.paywalls.get(e.paywallUrl)).settings.template==="LOGIN"?"logged-in":"entitlement")==="logged-in")return await Wt.auth.isAuthenticated()?{}:null;if(!e.url)throw new Error("Article must have a URL");return await Wt.entitlements.hasAccess(e.url,e.pass?.split(",")||[])||null}async function yv(t,e){const r=typeof t=="string"?document.querySelector(t):t;if(!r)throw new Error("Could not find element");const n=Qr(r);if(!n?.url)throw new Error("Could not find content for element");const a=await Wt.entitlements.hasAccess(n.url||"",n.pass?.split(",")||[]);if(!a)throw new Error("User does not have access to the content");const i=await Wt.entitlements.access(a.id);if(!i.token)throw new Error("Could not get access token");const o=e||dv(r.parentElement||r);return Wt.proxy.getContent(i.token,n.url,o)}let wv=!1,Gn,Wn,Ds;function bv(t){return JSON.stringify(t.map(e=>{const{campaign:r,...n}=e.properties||{};return{anonymousId:e.anonymousId,userId:e.userId,type:e.type,properties:n,clientId:Ds,requestId:Math.random().toString(36).slice(2,9),sessionId:aw(),timestamp:new Date().toISOString(),version:zn,event:e.event,context:{...e.context,page:{url:window.location.href,title:document.title,referrer:document.referrer,itemSrc:yr("sesamy:item-src"),publisherContentId:yr("sesamy:publisher-content-id")},campaign:r,locale:navigator.language,library:Us,userAgent:navigator.userAgent,clientId:Ds}}}))}const Sv=nw(async t=>{if(t.length>0){const e=bv(t);wv?navigator.sendBeacon(Wn,e):(await fetch(Wn,{method:"POST",body:e,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function Ms(t){if(t.anonymousId)if(t.properties?.flushing){const e={...t};delete e.properties.flushing,navigator.sendBeacon(Wn,bv([e]))}else Sv.push(t)}function uw(){return wv=!0,Sv.flush()}function lw(t,e,r){Gn=e,Wn=`${ot("logs",r)}/events`,Ds=t}const fw={name:"custom-analytics-plugin",page:({payload:t})=>{if(!Gn)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;Ms({anonymousId:r,userId:n,properties:e,event:a,type:"page"})},track:({payload:t})=>{if(!Gn)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;Ms({anonymousId:r,userId:n,properties:e,event:a,type:"track"})},identify:({payload:t})=>{if(!Gn)return;const{properties:e,anonymousId:r,userId:n}=t;Ms({anonymousId:r,userId:n,properties:e,type:"identify"})}},Iv=["source","medium","campaign","term","content"],_t="utm_",dw=1800*1e3;function Pv(t){return t?Date.now()-parseInt(t,10)>dw:!0}function Ev(){const t=document.referrer||"";if(!t)return;const e=Gt(`${_t}set_at`);(Pv(e)||!Gt(`${_t}referrer`))&&Mn(`${_t}referrer`,t)}function hw(){const t=()=>{const r={};for(const a of Iv){const i=Gt(`${_t}${a}`);i&&(r[`utm_${a}`]=i)}const n=Gt(`${_t}referrer`);return n&&(r.utm_referrer=n),r};return{name:"attribution-tracking",initialize(){Ev()},campaign({payload:r}){const n=r?.campaign||{},a=Gt(`${_t}set_at`);if(Object.keys(n).length>0&&Pv(a)){for(const o of Iv){const s=n[o];s&&Mn(`${_t}${o}`,s)}Mn(`${_t}set_at`,String(Date.now()))}Ev()},page({payload:r}){return r.properties.campaign=t(),r},track({payload:r}){return r.properties.campaign=t(),r},getStoredCampaignData:t}}const vw=hw(),kv=new Map,_v=new Map;function pw({clientId:t,enabled:e=!0,environment:r}){lw(t,e,r),e&&(window.addEventListener("beforeunload",()=>{_v.forEach((n,a)=>{n.bind(a)()}),uw()}),window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&kv.forEach((n,a)=>{n.bind(a)()})}),Gy(),lv(()=>{const n=new rw({element:document.body,viewCallback:()=>{yt.page()},activeDurationCallback:(a,i,o)=>{yt.track("activeDuration",{duration:a,durationStart:o,flushing:i})},idleDurationCallback:(a,i,o)=>{yt.track("idleDuration",{duration:a,durationStart:o,flushing:i})},scrollCallback:a=>{yt.track("scroll",{scroll:a.scrollMax})}});_v.set(document.body,()=>{n.flush()}),kv.set(document.body,()=>{n.handleVisibilityChange()})}),window.addEventListener(He.AUTHENTICATED,async n=>{const a=n;await yt.identify(a.detail.sub)}),window.addEventListener(He.LOGOUT,async()=>{await yt.track("logout",{}),await yt.reset()}))}const yt=Ky({app:Us,version:zn,plugins:[vw,fw]});function Tv(t,e){yt.track(t,e)}function Rv(t,e,r=!1){const n={name:t,data:e},a=new CustomEvent(t,{detail:n,cancelable:r,bubbles:!0});Tv(`event:${t}`,{...e,timestamp:new Date().toISOString()});const i=window.dispatchEvent(a);return r&&!i?{canceled:!0,message:n.cancellationMessage}:{canceled:!1}}function mw(t,e){t.cancelable&&(t.detail.cancellationMessage=e,t.preventDefault())}function gw(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function yw(){return/android/i.test(navigator.userAgent)}let Oe,Ov,en,Fs=!1,Vn=!1;Wr()&&window.addEventListener("pageshow",()=>{Vn=!1});const wr="sesamyAccessToken",Ks="sesamyRefreshToken",Jn="sesamySilentAuthThrottle",ww=300*1e3;async function Zn(){return Fs?!0:new Promise((t,e)=>{const r=setTimeout(()=>{Fs?t(!0):e(new Error("Initialization failed: Timeout"))},2e3);window.addEventListener(He.AUTH_INITIALIZED,()=>{clearTimeout(r),t(!0)})})}async function bw(t){if(!t)return null;const e=localStorage.getItem(Ks);if(!e)return ce("No refresh token found in localstorage"),null;const r=new URLSearchParams;r.set("client_id",t.iss),r.set("refresh_token",e),r.set("grant_type","refresh_token");const n=new URL(t.iss);n.pathname="/oauth/token",n.searchParams.set("user_id",t.sub);try{const a=await fetch(n.href,{body:r.toString(),method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"}});if(!a.ok)throw localStorage.removeItem(Ks),new Error("Renew token failed");const i=await a.json();return localStorage.setItem(Ks,i.refresh_token),localStorage.setItem(wr,i.access_token),i.access_token}catch{Bs()}}async function zs(){const t=localStorage.getItem(wr);if(!t)return null;const e=Gs(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3){const r=await bw(e);if(r)return r;localStorage.removeItem(wr)}return t}let Yn=null;const Sw=64;function Iw(){try{if(Yn!==null)return Yn;const e=Object.keys(localStorage).filter(r=>r.startsWith("@@auth0spajs@@"));for(const r of e){const n=JSON.parse(localStorage.getItem(r)||"{}");let a;if(typeof n=="object"&&(n.body&&typeof n.body=="object"&&"refresh_token"in n.body?a=n.body.refresh_token:"refresh_token"in n&&(a=n.refresh_token)),a&&typeof a=="string"&&a.length===Sw)return Yn=!0,!0}}catch(t){ce(`Error checking for existing auth0 tokens: ${t.message}`)}return Yn=!1,!1}function Pw(t){if(t.domains&&t.domains.length>0){const e=br(window.location.href);if(e){for(const r of t.domains)if(br(`https://${r}`)===e)return ce(`Found matching domain in domains array: ${r} for TLD: ${e}`),r;ce(`No matching domain found in domains array for TLD: ${e}`)}}if(t.domain)return ce(`Using fallback domain property: ${t.domain}`),t.domain}function br(t){try{const e=new URL(t).hostname,r=e.split(".");if(r.length<=1)return e;const n=["co.uk","com.au","co.nz","co.za","com.br","co.jp","gov.uk","ac.uk","org.uk","net.uk","com.sg","com.my","co.in","co.id","co.th","co.kr","com.mx","com.ar","com.co","com.pe","com.ph","com.pk","com.sa","com.eg","com.ng","co.ke","co.tz","co.zw","co.bw","co.mz","gov.au","edu.au","org.au","net.au","asn.au","id.au"];for(const a of n)if(e.endsWith(`.${a}`)){const i=a.split(".").length+1;return r.slice(-i).join(".")}return r.slice(-2).join(".")}catch{return null}}async function Ew(t){if(t.enabled===!1)return;Ov=t.organization;const e=Pw(t);en=e&&!Iw()?e:hh("token",t.environment);const r={domain:en,clientId:t.clientId,useCookiesForTransactions:!0};r.cacheLocation="localstorage",br(window.location.href)!==br(`https://${en}`)&&(r.useRefreshTokens=!0),ce(`Initializing auth0 client: ${JSON.stringify(r)}`),Oe=await Og(r);const n=new URLSearchParams(window.location.search),a=n.get("code"),i=n.get("state");if(a)if(window.opener)ce("Code found in URL, posting to opener"),window.opener.postMessage({type:"authorization_response",response:{code:a,state:i}},window.location.origin);else{ce("Code found in URL, handling redirect");try{const u=await Oe.handleRedirectCallback();ce(`Login result: ${JSON.stringify(u)}`);const l=await Oe.getUser();if(!l)throw ce("No user found"),new Error("No user found");ce(`User found ${JSON.stringify(l)}`),Hs(),Ut(He.AUTHENTICATED,l),ce("Rewrite url")}catch(u){alert("There was an error logging in"),console.error(u)}const o=new URL(location.href),s=o.searchParams;s.delete("code"),s.delete("state"),o.search=s.toString(),window.history.replaceState({},document.title,o.toString())}Fs=!0,Ut(He.AUTH_INITIALIZED,{})}async function Sr(){return await Zn(),await zs()?!0:Oe?Oe.isAuthenticated():!1}async function kw(){return await Zn(),await zs()?(ce("Using local user"),{sub:"local",name:"Local User"}):Oe?Oe.getUser():null}function Cv(t){if(Vn)return ce("Login already in progress"),null;if(Vn=!0,setTimeout(()=>{Vn=!1},3e3),localStorage.removeItem(wr),!Oe)throw new Error("Auth0 client not initialized");const e=t?.authorizationParams||{};return{...t,authorizationParams:{organization:Ov,redirect_uri:window.location.href,ui_locales:Hr(),incognito:ms(),...e}}}async function Xn(t){const e=Cv(t);if(e)return Oe.loginWithRedirect(e)}async function Av(t){const e=Cv(t);if(!e)return;await Oe.loginWithPopup(e,{timeoutInSeconds:1800}),Hs(),Rv(He.AUTHENTICATED,await Oe.getUser()).canceled||window.location.reload()}async function _w(t){return en&&br(window.location.href)!==br(`https://${en}`)&&(gw()||yw()||ms())?Av(t):Xn(t)}function Tw(){try{const t=sessionStorage.getItem(Jn);if(!t)return!1;const{timestamp:e}=JSON.parse(t);return Date.now()-e<ww}catch{return sessionStorage.removeItem(Jn),!1}}function Rw(){try{const t={timestamp:Date.now()};sessionStorage.setItem(Jn,JSON.stringify(t))}catch{ce("Failed to set silent auth throttle in sessionStorage")}}function Hs(){try{sessionStorage.removeItem(Jn)}catch{}}async function Vt(t=!0,e=!1){await Zn();const r=await zs();if(r)return r;if(!e&&Tw()){if(ce("Silent auth is throttled due to recent failures, skipping request"),t)throw new Error("Silent auth throttled");return null}try{if(!Oe)return ce("Auth client not initialized"),null;let n=await Oe.getTokenSilently();const a=Gs(n);return e&&a?.exp&&a.exp+3600<new Date().getTime()/1e3&&(n=await Oe.getTokenSilently({cacheMode:e?"off":"on"})),Hs(),n}catch(n){const a=n;if(ce(`Failed to get token silently: ${a.message}`),Rw(),await Oe.isAuthenticated()&&(a.message==="Invalid refresh token"||a.message.includes("Missing Refresh Token"))&&await Bs(),t)throw n;return null}}async function Bs(t={}){if(await Zn(),localStorage.removeItem(wr),Ut(He.LOGOUT,{}),!!Oe)return ce(`Logout with options: ${JSON.stringify(t)}`),Oe.logout({...t,logoutParams:{returnTo:window.location.href,...t.logoutParams}})}function Gs(t){const e=t.split(".");if(e.length!==3)return null;const n=e[1].replace(/-/g,"+").replace(/_/g,"/"),a=decodeURIComponent(atob(n).split("").map(function(i){return"%"+("00"+i.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(a)}async function Ws(t){const e=Gs(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3)throw new Error("Invalid token");ce("Set token"),localStorage.setItem(wr,t),Ut(He.AUTHENTICATED,e)}const Ow=(t,e)=>e.skipDedupe||e.method!=="GET",Cw=(t,e)=>e.method+"@"+t,Aw=t=>t.clone(),Uw=({skip:t=Ow,key:e=Cw,resolver:r=Aw}={})=>{const n=new Map;return a=>(i,o)=>{if(t(i,o))return a(i,o);const s=e(i,o);if(!n.has(s))n.set(s,[]);else return new Promise((u,l)=>{n.get(s).push([u,l])});try{return a(i,o).then(u=>(n.get(s).forEach(([l])=>l(r(u))),n.delete(s),u)).catch(u=>{throw n.get(s).forEach(([,l])=>l(u)),n.delete(s),u})}catch(u){return n.delete(s),Promise.reject(u)}}},$w=(t,e)=>t*e,Lw=t=>t&&t.ok,qw=({delayTimer:t=500,delayRamp:e=$w,maxAttempts:r=10,until:n=Lw,onRetry:a=null,retryOnNetworkError:i=!1,resolveWithLatestResponse:o=!1,skip:s}={})=>u=>(l,c)=>{let f=0;if(s&&s(l,c))return u(l,c);const h=(d,v)=>Promise.resolve(n(d,v)).then(p=>p?d&&o?d:v?Promise.reject(v):d:(f++,!r||f<=r?new Promise(g=>{const P=e(t,f);setTimeout(()=>{typeof a=="function"?Promise.resolve(a({response:d,error:v,url:l,options:c})).then((w={})=>{var y,m;g(u((y=w&&w.url)!==null&&y!==void 0?y:l,(m=w&&w.options)!==null&&m!==void 0?m:c))}):g(u(l,c))},P)}).then(h).catch(g=>{if(!i)throw g;return h(null,g)}):d&&o?d:Promise.reject(v||new Error("Number of attempts exceeded."))));return u(l,c).then(h).catch(d=>{if(!i)throw d;return h(null,d)})};class tn extends Error{status;statusText;url;body;constructor(e,r,n,a,i){super(a),this.name="APIError",this.status=e,this.statusText=r,this.url=n,this.body=i,Error.captureStackTrace&&Error.captureStackTrace(this,tn)}isClientError(){return this.status>=400&&this.status<500}isServerError(){return this.status>=500}isForbiddenError(){return this.status===403}isNotFoundError(){return this.status===404}}var Qn=(t=>(t.BROWSER="browser",t.NORMAL="normal",t))(Qn||{});const jw="application/json",Uv="Content-Type",Ir=Symbol(),$v=Symbol();function Lv(t={}){var e;const r=t instanceof Array?Object.fromEntries(t):t;return(e=Object.entries(r).find(([n])=>n.toLowerCase()===Uv.toLowerCase()))===null||e===void 0?void 0:e[1]}function qv(t){return/^application\/.*json.*/.test(t)}const Jt=function(t,e,r=!1){return Object.entries(e).reduce((n,[a,i])=>{const o=t[a];return Array.isArray(o)&&Array.isArray(i)?n[a]=r?[...o,...i]:i:typeof o=="object"&&typeof i=="object"?n[a]=Jt(o,i,r):n[a]=i,n},{...t})},Pr={options:{},errorType:"text",polyfills:{},polyfill(t,e=!0,r=!1,...n){const a=this.polyfills[t]||(typeof self<"u"?self[t]:null)||(typeof global<"u"?global[t]:null);if(e&&!a)throw new Error(t+" is not defined");return r&&a?new a(...n):a}};function Nw(t,e=!1){Pr.options=e?t:Jt(Pr.options,t)}function xw(t,e=!1){Pr.polyfills=e?t:Jt(Pr.polyfills,t)}function Dw(t){Pr.errorType=t}const Mw=t=>e=>t.reduceRight((r,n)=>n(r),e)||e;class jv extends Error{}const Fw=t=>{const e=Object.create(null);t=t._addons.reduce((y,m)=>m.beforeRequest&&m.beforeRequest(y,t._options,e)||y,t);const{_url:r,_options:n,_config:a,_catchers:i,_resolvers:o,_middlewares:s,_addons:u}=t,l=new Map(i),c=Jt(a.options,n);let f=r;const h=Mw(s)((y,m)=>(f=y,a.polyfill("fetch")(y,m)))(r,c),d=new Error,v=h.catch(y=>{throw{[Ir]:y}}).then(y=>{var m;if(!y.ok){const b=new jv;if(b.cause=d,b.stack=b.stack+`
|
|
36
|
+
CAUSE: `+d.stack,b.response=y,b.status=y.status,b.url=f,y.type==="opaque")throw b;const R=a.errorType==="json"||((m=y.headers.get("Content-Type"))===null||m===void 0?void 0:m.split(";")[0])==="application/json";return(a.errorType?R?y.text():y[a.errorType]():Promise.resolve(y.body)).then(A=>{if(b.message=typeof A=="string"?A:y.statusText,A)if(R&&typeof A=="string"){b.text=A;try{b.json=JSON.parse(A)}catch{}}else b[a.errorType]=A;throw b})}return y}),p=y=>y.catch(m=>{const b=Object.prototype.hasOwnProperty.call(m,Ir),R=b?m[Ir]:m,A=R?.status&&l.get(R.status)||l.get(R?.name)||b&&l.has(Ir)&&l.get(Ir);if(A)return A(R,t);const j=l.get($v);if(j)return j(R,t);throw R}),g=y=>m=>p(y?v.then(b=>b&&b[y]()).then(b=>m?m(b):b):v.then(b=>m?m(b):b)),P={_wretchReq:t,_fetchReq:h,_sharedState:e,res:g(null),json:g("json"),blob:g("blob"),formData:g("formData"),arrayBuffer:g("arrayBuffer"),text:g("text"),error(y,m){return l.set(y,m),this},badRequest(y){return this.error(400,y)},unauthorized(y){return this.error(401,y)},forbidden(y){return this.error(403,y)},notFound(y){return this.error(404,y)},timeout(y){return this.error(408,y)},internalError(y){return this.error(500,y)},fetchError(y){return this.error(Ir,y)}},w=u.reduce((y,m)=>({...y,...typeof m.resolver=="function"?m.resolver(y):m.resolver}),P);return o.reduce((y,m)=>m(y,t),w)},Kw={_url:"",_options:{},_config:Pr,_catchers:new Map,_resolvers:[],_deferred:[],_middlewares:[],_addons:[],addon(t){return{...this,_addons:[...this._addons,t],...t.wretch}},errorType(t){return{...this,_config:{...this._config,errorType:t}}},polyfills(t,e=!1){return{...this,_config:{...this._config,polyfills:e?t:Jt(this._config.polyfills,t)}}},url(t,e=!1){if(e)return{...this,_url:t};const r=this._url.split("?");return{...this,_url:r.length>1?r[0]+t+"?"+r[1]:this._url+t}},options(t,e=!1){return{...this,_options:e?t:Jt(this._options,t)}},headers(t){const e=t?Array.isArray(t)?Object.fromEntries(t):"entries"in t?Object.fromEntries(t.entries()):t:{};return{...this,_options:Jt(this._options,{headers:e})}},accept(t){return this.headers({Accept:t})},content(t){return this.headers({[Uv]:t})},auth(t){return this.headers({Authorization:t})},catcher(t,e){const r=new Map(this._catchers);return r.set(t,e),{...this,_catchers:r}},catcherFallback(t){return this.catcher($v,t)},resolve(t,e=!1){return{...this,_resolvers:e?[t]:[...this._resolvers,t]}},defer(t,e=!1){return{...this,_deferred:e?[t]:[...this._deferred,t]}},middlewares(t,e=!1){return{...this,_middlewares:e?t:[...this._middlewares,...t]}},fetch(t=this._options.method,e="",r=null){let n=this.url(e).options({method:t});const a=Lv(n._options.headers),i=this._config.polyfill("FormData",!1),o=typeof r=="object"&&!(i&&r instanceof i)&&(!n._options.headers||!a||qv(a));return n=r?o?n.json(r,a):n.body(r):n,Fw(n._deferred.reduce((s,u)=>u(s,s._url,s._options),n))},get(t=""){return this.fetch("GET",t)},delete(t=""){return this.fetch("DELETE",t)},put(t,e=""){return this.fetch("PUT",e,t)},post(t,e=""){return this.fetch("POST",e,t)},patch(t,e=""){return this.fetch("PATCH",e,t)},head(t=""){return this.fetch("HEAD",t)},opts(t=""){return this.fetch("OPTIONS",t)},body(t){return{...this,_options:{...this._options,body:t}}},json(t,e){const r=Lv(this._options.headers);return this.content(e||qv(r)&&r||jw).body(JSON.stringify(t))}};function st(t="",e={}){return{...Kw,_url:t,_options:e}}st.default=st,st.options=Nw,st.errorType=Dw,st.polyfills=xw,st.WretchError=jv;const zw=(t,e)=>e.skipDedupe||e.method!=="GET",Hw=(t,e)=>e.method+"@"+t,Bw=t=>t.clone(),Gw=({skip:t=zw,key:e=Hw,resolver:r=Bw}={})=>{const n=new Map;return a=>(i,o)=>{if(t(i,o))return a(i,o);const s=e(i,o);if(!n.has(s))n.set(s,[]);else return new Promise((u,l)=>{n.get(s).push([u,l])});try{return a(i,o).then(u=>(n.get(s).forEach(([l])=>l(r(u))),n.delete(s),u)).catch(u=>{throw n.get(s).forEach(([,l])=>l(u)),n.delete(s),u})}catch(u){return n.delete(s),Promise.reject(u)}}},Ww=(t,e)=>e.skipCache||e.method!=="GET",Vw=(t,e)=>e.method+"@"+t,Jw=()=>!1,Zw=()=>null,Yw=t=>t.ok,Xw=({throttle:t=1e3,skip:e=Ww,key:r=Vw,clear:n=Jw,invalidate:a=Zw,condition:i=Yw,flagResponseOnCacheHit:o="__cached"}={})=>{const s=new Map,u=new Map,l=new Set,c=h=>{t&&!l.has(h)&&(l.add(h),setTimeout(()=>{l.delete(h)},t))},f=h=>(d,v)=>{const p=r(d,v);let g=a(d,v);if(g&&(g instanceof Array||(g=[g]),g.forEach(P=>{typeof P=="string"?s.delete(P):P instanceof RegExp&&s.forEach((w,y)=>{P.test(y)&&s.delete(y)})})),n(d,v)&&s.clear(),e(d,v))return h(d,v);if(l.has(p)){if(s.has(p)){const P=s.get(p).clone();return o&&Object.defineProperty(P,o,{value:p,enumerable:!1}),Promise.resolve(P)}else if(u.has(p))return new Promise((P,w)=>{u.get(p).push([P,w])})}return u.has(p)||u.set(p,[]),c(p),h(d,v).then(P=>(i(P.clone())&&s.set(p,P.clone()),u.get(p).forEach(([w])=>w(P.clone())),u.delete(p),P)).catch(P=>{throw u.get(p).forEach(([,w])=>w(P)),u.delete(p),P})};return f.cacheResponse=function(h,d){c(h),s.set(h,d)},f.cache=s,f.inflight=u,f.throttling=l,f},Qw=(t,e)=>t*e,eb=t=>t&&t.ok,tb=({delayTimer:t=500,delayRamp:e=Qw,maxAttempts:r=10,until:n=eb,onRetry:a=null,retryOnNetworkError:i=!1,resolveWithLatestResponse:o=!1,skip:s}={})=>u=>(l,c)=>{let f=0;if(s&&s(l,c))return u(l,c);const h=(d,v)=>Promise.resolve(n(d,v)).then(p=>p?d&&o?d:v?Promise.reject(v):d:(f++,!r||f<=r?new Promise(g=>{const P=e(t,f);setTimeout(()=>{typeof a=="function"?Promise.resolve(a({response:d,error:v,url:l,options:c})).then((w={})=>{var y,m;g(u((y=w&&w.url)!==null&&y!==void 0?y:l,(m=w&&w.options)!==null&&m!==void 0?m:c))}):g(u(l,c))},P)}).then(h).catch(g=>{if(!i)throw g;return h(null,g)}):d&&o?d:Promise.reject(v||new Error("Number of attempts exceeded."))));return u(l,c).then(h).catch(d=>{if(!i)throw d;return h(null,d)})},rb="@sesamy/sdk",nb="1.20.0";class ab{cache=new Map;get(e){return this.cache.get(e)||null}set(e,r){this.cache.set(e,r)}remove(e){this.cache.delete(e)}clear(){this.cache.clear()}}const rn="sesamyCacheTimestamp",ib=t=>{const{libraryName:e=rb,libraryVersion:r=nb,cache:n}=t,a=n?.storage||new ab,i=[s=>async(u,l)=>{if(n?.mode===Qn.BROWSER){let c;typeof sessionStorage<"u"?(c=sessionStorage.getItem(rn),c||(c=Date.now().toString(),sessionStorage.setItem(rn,c))):(c=a.get(rn),c||(c=Date.now().toString(),a.set(rn,c)));const f={...l,headers:{...l.headers,"Cache-Timestamp":c}};return s(u,f)}return s(u,l)},s=>async(u,l)=>{const c=await t.tokenProvider(),f={...l,headers:{...l.headers,Authorization:c}};return s(u,f)},Gw()];n?.mode===Qn.NORMAL&&i.push(Xw({throttle:300*1e3,skip:(s,u)=>u.method!=="GET"})),i.push(tb({delayTimer:1e3,delayRamp:(s,u)=>s*u,maxAttempts:3,until:s=>!!(s&&(s.ok||s.status>=400&&s.status<500)),retryOnNetworkError:!1}));const o=st(t.baseUrl).headers({"Content-Type":"application/json","X-Sesamy-Client":`${e}/${r}`,...t.headers}).middlewares(i);return{async request(s,u={}){try{const l=/^https?:\/\//.test(s);let c=o.url(s,l);u.headers&&(c=c.headers(u.headers));const f=(u.method||"GET").toLowerCase();let h;switch(f){case"get":h=c.get();break;case"post":h=c.post(u.body);break;case"put":h=c.put(u.body);break;case"patch":h=c.patch(u.body);break;case"delete":h=c.delete();break;default:h=c.get()}const d=await h.res();if(d.ok&&["post","patch","put","delete"].includes(f)&&wt(),d.status===204)return null;if(!d.ok){const v=await d.text().catch(()=>"Unknown error");throw new tn(d.status,d.statusText,d.url,`API Error ${d.status}: ${v}`,v)}return await d.json()}catch(l){if(l instanceof tn)throw l;const c=l.status||500,f=l.message||"Unknown error",h=`${t.baseUrl}${s}`;throw new tn(c,f,h,`API Error ${c}: ${l.message||"Unknown error"}`,l.message||"Unknown error")}}}},wt=()=>(typeof sessionStorage<"u"&&sessionStorage.removeItem(rn),"Cache cleared"),nn={get:async(t,e)=>t.request(`/profile/${e}`),update:async(t,e,r)=>t.request(`/profile/${e}`,{method:"PATCH",body:JSON.stringify(r)}),checkSpotifyLink:async t=>t.request("/profile/spotify-link"),unlinkSpotify:async t=>t.request("/profile/unlink-spotify",{method:"POST"}),delete:async t=>{await t.request("/profile",{method:"DELETE"})}},Vs={list:async(t,e)=>{const r=new URLSearchParams;e?.type&&r.append("type",e.type),e?.sku&&r.append("sku",e.sku),e?.purchaseOptionId&&r.append("purchase-option-id",e.purchaseOptionId),e?.waitForEntitlementAfter&&r.append("wait-for-entitlement-after",e.waitForEntitlementAfter);const n=r.toString(),a=n?`/entitlements?${n}`:"/entitlements";return t.request(a)},get:async(t,e)=>t.request(`/entitlements/${e}`),getAccess:async(t,e)=>t.request(`/entitlements/${e}/access`)},Nv={list:async t=>t.request("/subscriptions"),get:async(t,e)=>t.request(`/subscriptions/${e}`)},xv={get:async(t,e)=>t.request(`/products/${e}`),autoOnboard:async(t,e)=>t.request(`/products/${e}/auto-onboard`,{method:"POST"})},an={list:async t=>t.request("/contracts"),get:async(t,e)=>t.request(`/contracts/${e}`),cancel:async(t,e)=>t.request(`/contracts/${e}/cancel`,{method:"POST"}),createAmendment:async(t,e,r)=>t.request(`/contracts/${e}/amendments`,{method:"POST",body:JSON.stringify(r)}),confirmAmendment:async(t,e,r)=>t.request(`/contracts/${e}/amendments/${r}/confirm`,{method:"POST"})},Js={get:async t=>t.request("/user-metadata"),set:async(t,e,r)=>{await t.request(`/user-metadata/${e}`,{method:"PUT",body:r})},delete:async(t,e)=>{await t.request(`/user-metadata/${e}`,{method:"DELETE"})}},Er={list:async t=>t.request("/tallies"),get:async(t,e)=>t.request(`/tallies/${e}`),update:async(t,e,r)=>t.request(`/tallies/${e}`,{method:"PUT",body:JSON.stringify(r)}),create:async(t,e)=>t.request("/tallies",{method:"POST",body:JSON.stringify(e)}),delete:async(t,e)=>{try{return await t.request(`/tallies/${e}`,{method:"DELETE"}),!0}catch{return!1}},push:async(t,e,r)=>t.request(`/tallies/${e}/push`,{method:"POST",body:JSON.stringify(r)})},Zs={list:async t=>t.request("/tags"),add:async(t,e)=>{await t.request("/tags",{method:"POST",body:JSON.stringify({tag:e})})},remove:async(t,e)=>{await t.request(`/tags/${e}`,{method:"DELETE"})}},kr={generateCheckoutLink:(t,e)=>{const r=new URL(`${t.apiUrl}/checkouts`);return e.items&&r.searchParams.set("items",JSON.stringify(e.items)),e.email&&r.searchParams.set("email",e.email),e.language&&r.searchParams.set("lang",e.language),e.redirectUrl&&r.searchParams.set("redirect-url",e.redirectUrl),e.giftMode&&r.searchParams.set("gift-mode","true"),e.payerEmail&&r.searchParams.set("payer-email",e.payerEmail),e.requireAddress&&r.searchParams.set("require-address","true"),e.metadata&&Object.entries(e.metadata).forEach(([n,a])=>{r.searchParams.set(`metadata.${n}`,a)}),r.toString()},generateAccountLink:(t,e)=>{const r=e.language||"en",n=new URL(`${t.baseUrl}/account/${encodeURIComponent(r)}/subscriptions/${encodeURIComponent(t.clientId)}${e.contractId?`/${encodeURIComponent(e.contractId)}`:""}`);return n.searchParams.set("sesamy-redirect-url",e.redirectUrl||"/"),n.toString()},generateChangePaymentLink:(t,e)=>{const r=e.language||"en",n=new URL(`${t.baseUrl}/account/${encodeURIComponent(r)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(e.contractId)}/change-payment-method`);return n.searchParams.set("sesamy-redirect-url",e.redirectUrl||"/"),n.toString()},generateChangePlanLink:(t,e)=>{const r=e.language||"en",n=new URL(`${t.baseUrl}/account/${encodeURIComponent(r)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(e.contractId)}/edit-plan`);return n.searchParams.set("sesamy-redirect-url",e.redirectUrl||"/"),n.toString()},generateConsumeLink:(t,e)=>{const r=e.language||"en";let n=new URL(`${t.baseUrl}/consume/${encodeURIComponent(r)}/@${encodeURIComponent(t.clientId)}/${encodeURIComponent(e.sku)}`);return e.episodeId?n.href+=`/${encodeURIComponent(e.episodeId)}`:n.href+="/listen",n.searchParams.set("sesamy-redirect-url",e.redirectUrl||"/"),n.toString()}},Ys={generateLink:(t,e)=>{const r=new URL(`${t.apiUrl}/checkouts`);return e.items&&r.searchParams.set("items",JSON.stringify(e.items)),e.email&&r.searchParams.set("email",e.email),e.language&&r.searchParams.set("lang",e.language),e.redirectUrl&&r.searchParams.set("redirect-url",e.redirectUrl),e.giftMode&&r.searchParams.set("gift-mode","true"),e.payerEmail&&r.searchParams.set("payer-email",e.payerEmail),e.requireAddress&&r.searchParams.set("require-address","true"),e.metadata&&Object.entries(e.metadata).forEach(([n,a])=>{r.searchParams.set(`metadata.${n}`,a)}),r.toString()},create:async(t,e)=>t.request("/checkouts",{method:"POST",body:JSON.stringify(e)}),get:async(t,e)=>t.request(`/checkouts/${e}`),update:async(t,e,r)=>t.request(`/checkouts/${e}`,{method:"PATCH",body:JSON.stringify(r)})},Dv={list:async t=>t.request("/bills"),get:async(t,e)=>t.request(`/bills/${e}`)},Mv={list:async t=>t.request("/fulfillments"),create:async(t,e)=>t.request("/fulfillments",{method:"POST",body:JSON.stringify(e)})},ob={get:async(t,e)=>{try{return new URL(e),t.request(e)}catch{return t.request(`/paywalls/${e}`)}}},sb={list:async t=>t.request("/payment-issues")},cb={content:async(t,e,r,n,a)=>{const i=new URLSearchParams({url:e});return r&&i.append("selector",r),n&&i.append("cache",n),t.request(`/proxy?${i.toString()}`,a)}},ub={list:async(t,e)=>{const r=(e?new URLSearchParams({q:e}):new URLSearchParams).toString(),n=r?`/transactions?${r}`:"/transactions";return t.request(n)}},Fv={get:async t=>t.request("/vendor"),list:async t=>t.request("/vendors")},lb=t=>{const e=ib(t);return{profile:{get:r=>nn.get(e,r),update:(r,n)=>nn.update(e,r,n),checkSpotifyLink:()=>nn.checkSpotifyLink(e),unlinkSpotify:()=>nn.unlinkSpotify(e),delete:()=>nn.delete(e)},entitlements:{list:r=>Vs.list(e,r),get:r=>Vs.get(e,r),getAccess:r=>Vs.getAccess(e,r)},subscriptions:{list:()=>Nv.list(e),get:r=>Nv.get(e,r)},products:{get:r=>xv.get(e,r),autoOnboard:r=>xv.autoOnboard(e,r)},contracts:{list:()=>an.list(e),get:r=>an.get(e,r),cancel:r=>an.cancel(e,r),createAmendment:(r,n)=>an.createAmendment(e,r,n),confirmAmendment:(r,n)=>an.confirmAmendment(e,r,n)},userMetadata:{get:()=>Js.get(e),set:(r,n)=>Js.set(e,r,n),delete:r=>Js.delete(e,r)},tallies:{list:()=>Er.list(e),get:r=>Er.get(e,r),update:(r,n)=>Er.update(e,r,n),create:r=>Er.create(e,r),delete:r=>Er.delete(e,r),push:(r,n)=>Er.push(e,r,n)},tags:{list:()=>Zs.list(e),add:r=>Zs.add(e,r),remove:r=>Zs.remove(e,r)},checkouts:{generateLink:(r,n)=>kr.generateCheckoutLink(r,n),create:r=>Ys.create(e,r),get:r=>Ys.get(e,r),update:(r,n)=>Ys.update(e,r,n)},links:{generateCheckoutLink:(r,n)=>kr.generateCheckoutLink(r,n),generateAccountLink:(r,n)=>kr.generateAccountLink(r,n),generateChangePaymentLink:(r,n)=>kr.generateChangePaymentLink(r,n),generateChangePlanLink:(r,n)=>kr.generateChangePlanLink(r,n),generateConsumeLink:(r,n)=>kr.generateConsumeLink(r,n)},bills:{list:()=>Dv.list(e),get:r=>Dv.get(e,r)},fulfillments:{list:()=>Mv.list(e),create:r=>Mv.create(e,r)},paywalls:{get:r=>ob.get(e,r)},paymentIssues:{list:()=>sb.list(e)},proxy:{content:(r,n,a,i)=>cb.content(e,r,n,a,i)},transactions:{list:r=>ub.list(e,r)},vendor:{get:()=>Fv.get(e),list:()=>Fv.list(e)}}};class fb{get(e){return typeof sessionStorage>"u"?null:sessionStorage.getItem(e)}set(e,r){typeof sessionStorage<"u"&&sessionStorage.setItem(e,r)}remove(e){typeof sessionStorage<"u"&&sessionStorage.removeItem(e)}clear(){}}function Xs(t){let e;try{e=new URL(t)}catch{return!1}return e.protocol==="http:"||e.protocol==="https:"}function Kv(t,e){if(Xs(t))return{itemSrc:t};const r=t.split(":");if(r.length<2)throw new Error(`Invalid itemSrc format: expected at least 2 segments separated by ':', got ${r.length}`);const[n,a,i]=r;if(!a)throw new Error("Invalid itemSrc format: sku segment is empty");return{sku:`${n}:${a}`,purchaseOption:e||i}}function zv(t){return t.endsWith("/")?t.slice(0,-1):t}function Hv(t,e){if(!Xs(t)||!Xs(e))return!1;const r=new URL(t),n=new URL(e);return r.origin===n.origin&&zv(r.pathname)===zv(n.pathname)}function db(t,e,r){const n=new URL(`${ot("checkout3",t.environment)}`);e.language&&n.searchParams.set("lang",e.language);let a=e.sku,i=e.purchaseOptionId,o=e.itemSrc;if(e.itemSrc){const c=Kv(e.itemSrc,e.purchaseOptionId);a=c.sku||a,i=c.purchaseOption||i,o=c.itemSrc}a?(n.searchParams.set("sku",a),i&&n.searchParams.set("po-id",i)):o&&n.searchParams.set("url",o),e.email&&n.searchParams.set("email",e.email),e.business&&n.searchParams.set("business","true"),e.currency&&n.searchParams.set("currency",e.currency),e.price&&n.searchParams.set("price",e.price.toString()),e.discountCode&&n.searchParams.set("discount-code",e.discountCode),e.attributionItemSrc?n.searchParams.set("itemSrc",e.attributionItemSrc):r.itemSrc&&n.searchParams.set("itemSrc",r.itemSrc),e.attributionPublisherContentId?n.searchParams.set("publisherContentId",e.attributionPublisherContentId):r.publisherContentId&&n.searchParams.set("publisherContentId",r.publisherContentId),e.utmSource?n.searchParams.set("utm_source",e.utmSource):r.utmSource&&n.searchParams.set("utm_source",r.utmSource),e.utmMedium?n.searchParams.set("utm_medium",e.utmMedium):r.utmMedium&&n.searchParams.set("utm_medium",r.utmMedium),e.utmCampaign?n.searchParams.set("utm_campaign",e.utmCampaign):r.utmCampaign&&n.searchParams.set("utm_campaign",r.utmCampaign),e.utmTerm?n.searchParams.set("utm_term",e.utmTerm):r.utmTerm&&n.searchParams.set("utm_term",r.utmTerm),e.utmContent?n.searchParams.set("utm_content",e.utmContent):r.utmContent&&n.searchParams.set("utm_content",r.utmContent);const s=["_ga","_gid","_fbp","_fbc"];document.cookie.split(";").map(c=>{const[f,h]=c.trim().split("=");return{key:f,value:h}}).filter(c=>s.some(f=>f===c.key)).forEach(c=>{n.searchParams.append(c.key,c.value)});let l=new URL(window.location.href);if(e.redirectUrl)try{l=new URL(e.redirectUrl)}catch{console.warn("Invalid redirect URL provided, using current URL instead:",e.redirectUrl)}return l.searchParams.set("force-refetch-entitlements","true"),e.itemSrc&&l.searchParams.set("sesamy-purchase",e.itemSrc),n.searchParams.set("redirect-url",l.toString()),e.paymentMethodsFilter&&n.searchParams.set("paymentmethods-filter",e.paymentMethodsFilter.flatMap(({provider:c,methods:f})=>f?f.map(h=>`${c}|${h}`):c).join(",")),e.requireAddress&&n.searchParams.set("require-address","true"),e.giftMode&&n.searchParams.set("gift-mode","true"),e.payerEmail&&n.searchParams.set("payer-email",e.payerEmail),e.metadata&&Object.entries(e.metadata).forEach(([c,f])=>{n.searchParams.set(`metadata.${c}`,String(f))}),n}const Bv="sesamySignedURLs";function Qs(){const t=sessionStorage.getItem(Bv);return t?JSON.parse(t):[]}function hb(t){const e=Qs();e.push(t),ce(`Adding signed URL: ${t}`),sessionStorage.setItem(Bv,JSON.stringify(e))}function vb(t){const e={};return Object.keys(t).forEach(r=>{const n=t[r];n!=null&&(e[r]=n.toString())}),e}const ec="sesamyAttribution";function pb(t){const e=localStorage.getItem(t);if(!e)return null;try{return JSON.parse(e).value}catch{return console.error(`Failed to parse ${t}`),null}}function mb(t){return Object.keys(t).find(e=>e.startsWith("utm_"))?{utmSource:void 0,utmMedium:void 0,utmCampaign:void 0,...t}:t}function ea(){return pb(ec)||{}}function Gv(t){if(t===null)localStorage.removeItem(ec);else{ce(`Setting attribution ${JSON.stringify(t)}`);const e=ea()??{},r=vb({...e,...mb(t)});localStorage.setItem(ec,JSON.stringify({value:r}))}}const Wv="sesamyFlags";async function Vv(t){try{localStorage.setItem(Wv,JSON.stringify(t))}catch{ce("Failed to save flags to localStorage")}}async function Jv(t,e){const r=await on();r[t]=e,await Vv(r)}async function Zv(t){return(await on())[t]}async function Yv(t){const e=await on();t in e&&(delete e[t],await Vv(e))}async function on(){try{const t=localStorage.getItem(Wv);return t?JSON.parse(t):{}}catch{return{}}}function gb(t){const e=t.endpoint||ot("api2",t.environment),n=lb({baseUrl:e,tokenProvider:async()=>{if(await Sr())try{const q=await Vt(!1);if(q)return`Bearer ${q}`}catch{}const S=localStorage.getItem("__anon_id");return`Basic ${btoa(`${t.clientId}|${S}:`)}`},libraryName:Us,libraryVersion:zn,vendorId:t.vendorId,cache:{mode:Qn.BROWSER,storage:new fb}}),a=S=>async(O,q)=>{let F=sessionStorage.getItem(fh);F||(F=Date.now().toString(),sessionStorage.setItem(fh,F));const I={...q,headers:{...q.headers,"Cache-Timestamp":F}};return S(O,I)},i=(S=!0)=>O=>async(q,F)=>{let I=null;if(I=await Vt(S),!I){if(S)throw new Error("No access token available");return O(q,F)}const _={...F,headers:{...F.headers,...I?{Authorization:`Bearer ${I}`}:{}}};return O(q,_)},o=st(e).headers({"Content-Type":"application/json"}).middlewares([a,i(),Uw(),qw({delayTimer:1e3,delayRamp:(S,O)=>S*O,maxAttempts:3,until:S=>!!(S&&(S.ok||S.status>=400&&S.status<500)),retryOnNetworkError:!1})]);async function s(S={}){const{waitForEntitlementAfter:O,includeSignedLinks:q=!0}=S,F=await Sr()?await n.entitlements.list({waitForEntitlementAfter:O?.toISOString()}):[];return q&&F.push(...Qs()),F}async function u(S,O=[]){return(await s())?.find(I=>{if(S){const{sku:_,purchaseOption:x}=Kv(S);if("sku"in I&&_===I.sku||x&&"purchaseOptionsId"in I&&x===I.purchaseOptionsId||Hv(S,I.url))return!0}return!!O.some(_=>Hv(_,I.url))})}async function l(S,O,q){const F=new URL(ot("api2",t.environment));return F.pathname="/proxy",F.searchParams.set("url",O),q&&F.searchParams.set("selector",q),st(F.toString()).headers({Authorization:`Bearer ${S}`}).get().text()}async function c(S){if(!S)throw new Error("SKU is required to get fulfillments");return await Sr()?await o.get(`/fulfillments?sku=${encodeURIComponent(S)}`).json():[]}async function f(S,O){if(!S||!O)throw new Error("SKU and itemId are required to request delivery");return(await o.post({sku:S},`/fulfillments/${encodeURIComponent(O)}/request-delivery?`).res()).ok}async function h(){return console.warn("getSubscriptions is deprecated, use getContracts instead"),o.get("/subscriptions").json()}async function d(S){return(await n.transactions.list())?.find(q=>q.id===S)}async function v(){return await o.url("/tags").get().json()}async function p(S){const O=await o.url(`/tags/${encodeURIComponent(S)}`).delete().res();return wt(),O.ok}async function g(S){const O=await o.url("/tags").post(encodeURIComponent(S)).res();return Ut(He.USER_ATTRIBUTE_CHANGED,{}),wt(),O.ok}async function P(S){return(await n.tallies.get(S)).value}async function w(){const S=await n.tallies.list(),O={};for(const q of S)O[q.id]=q.value;return O}async function y(S){return await n.tallies.delete(S)}async function m(S,O){return await n.tallies.push(S,O)}async function b(){return await Vt(!1)?await o.url("/profile").get().json():null}async function R(S){const O=await o.url("/profile").patch(S).res();return wt(),O.ok}async function A(){return(await o.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function j(){return(await o.url("/profile/unlink-spotify").post().res()).ok}async function z(S){const O=await Vt(!1);if(!O)throw new Error("No access token available");const q=new URL(`${ot("access-sync",t.environment)}/spotify/sesamy-callback`);q.searchParams.set("access_token",O),q.searchParams.set("state",S),window.location.href=q.toString()}async function V(S){const O=await o.url(`/products/${encodeURIComponent(S)}/auto-onboard`).post().json();return O.length&&wt(),O}async function te(S,O=3600){const{shortlink:q}=await st(Ug).post({url:S,ttl:O}).json();return q}async function L(S){const O=await Vt(!1,!0);let q;const F=S.language||Hr(),I=ea();switch(S.target){case"account":q=new URL(`${ot("account",t.environment)}/${encodeURIComponent(S.language||F)}/subscriptions/${encodeURIComponent(t.clientId)}${S.contractId?`/${encodeURIComponent(S.contractId)}`:""}`),q.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"change-payment":q=new URL(`${ot("account",t.environment)}/${encodeURIComponent(S.language||F)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(S.contractId)}/change-payment-method`),q.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"change-plan":q=new URL(`${ot("account",t.environment)}/${encodeURIComponent(S.language||F)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(S.contractId)}/edit-plan`),q.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"consume":q=new URL(`${ot("consume",t.environment)}/${encodeURIComponent(S.language||F)}/@${encodeURIComponent(t.clientId)}/${encodeURIComponent(S.sku)}`),S.episodeId?q.href+=`/${S.episodeId}`:q.href+="/listen",q.searchParams.set("sesamy-redirect-url",S.redirectUrl||window.location.href);break;case"checkout":q=db(t,{language:F,...S},I);break;default:throw new Error("Invalid target")}return O&&(q.hash=`#access_token=${O}`),S.shorten?te(q.href,S.ttl):q.href}async function M(){const S=await Vt(!1),O=new URL(`${ot("account",t.environment)}/subscriptions/${t.clientId}`);S&&(O.hash=`#access_token=${S}`),window.location.href=O.toString()}async function N(S){const O=ea(),q=["_ga","_gid","_fbp","_fbc"];return document.cookie.split(";").forEach(F=>{const[I,_]=F.trim().split("=");q.includes(I)&&!O[I]&&(O[I]=_)}),n.checkouts.create({language:Hr(),...S,attribution:{...O,...S.attribution}})}return{autoOnboardProduct:V,bills:n.bills,checkouts:{create:N,get:n.checkouts.get,update:n.checkouts.update},content:{list:gv,get:Qr,getLanguage:Hr,unlock:yv,getPropertyFromHTML:xs},contracts:n.contracts,deleteTag:p,deleteTally:y,entitlements:n.entitlements,flags:{get:Zv,set:Jv,list:on,delete:Yv},generateLink:L,getProxyContent:l,getEntitlements:s,getFulfillments:c,requestDelivery:f,hasAccess:u,isSpotifyLinked:A,linkSpotify:z,openHostedAccountPage:M,paywalls:n.paywalls,paymentIssues:n.paymentIssues,getProfile:b,products:n.products,getSubscriptions:h,getTally:P,getTallies:w,getTags:v,getTransaction:d,transactions:n.transactions,userMetadata:n.userMetadata,pushTally:m,setTag:g,unlinkSpotify:j,updateProfile:R,vendor:n.vendor}}const yb=["AdHeader","AdContainer","AD_Top","homead","ad-lead"];function wb(){return new Promise(t=>{const e=yb.map(r=>{const n=document.createElement("div");return n.innerHTML=" ",n.id=r,n.style.position="absolute",document.body.appendChild(n),n});window.setTimeout(()=>{const r=!e.every(n=>document.querySelector(`#${n.id}`)?.offsetParent);e.forEach(n=>n.remove()),t(r)},100)})}function bb(){const t=navigator.userAgent.toLowerCase(),e=[{name:"Facebook",regex:/fbav|fban/i},{name:"LinkedIn",regex:/linkedin/i},{name:"Instagram",regex:/instagram/i},{name:"Gmail",regex:/gmail/i},{name:"Twitter",regex:/twitter/i},{name:"WeChat",regex:/micromessenger/i},{name:"Line",regex:/line/i},{name:"Snapchat",regex:/snapchat/i},{name:"Pinterest",regex:/pinterest/i},{name:"Kakao",regex:/kakaotalk/i},{name:"Skype",regex:/skype/i},{name:"WhatsApp",regex:/whatsapp/i}];for(const r of e)if(r.regex.test(t))return{isInAppBrowser:!0,browserName:r.name};return/; wv\)/.test(t)?{isInAppBrowser:!0,browserName:"Unknown In-App Browser"}:{isInAppBrowser:!1,browserName:null}}function Sb(t){const{autoOnboardProduct:e,bills:r,checkouts:n,contracts:a,deleteTag:i,deleteTally:o,entitlements:s,generateLink:u,getEntitlements:l,getFulfillments:c,getProfile:f,getProxyContent:h,getSubscriptions:d,getTags:v,getTally:p,getTallies:g,getTransaction:P,hasAccess:w,isSpotifyLinked:y,linkSpotify:m,openHostedAccountPage:b,paywalls:R,paymentIssues:A,products:j,pushTally:z,requestDelivery:V,setTag:te,transactions:L,unlinkSpotify:M,updateProfile:N,userMetadata:S,vendor:O}=gb(t),q=()=>A.list(),F={analytics:{track:Tv},attribution:{get:ea,set:Gv},auth:{getUser:f,getTokenSilently:Vt,isAuthenticated:Sr,loginWithRedirect:Xn,loginWithPopup:Av,login:_w,logout:Bs,setToken:Ws},bills:r,browser:{detectAdblock:wb,isInAppBrowser:bb,isIncognito:ms},checkouts:n,clearCache:wt,content:{list:gv,get:Qr,getLanguage:Hr,hasAccess:cw,unlock:yv,getPropertyFromHTML:xs},contracts:a,entitlements:{...s,access:s.getAccess,hasAccess:w,list:l,signedLinks:Qs},events:{emit:Rv,cancel:mw},flags:{get:Zv,set:Jv,list:on,delete:Yv},fulfillments:{list:c,requestDelivery:V},generateLink:u,getPaymentIssues:q,getVersion:Ib,isReady:()=>lt.isInitialized,log:ce,paywalls:R,paymentIssues:A,products:{...j,autoOnboard:e,linkSpotify:m},profile:{get:f,isSpotifyLinked:y,openHostedAccountPage:b,unlinkSpotify:M,update:N},proxy:{getContent:h},subscriptions:{list:d},tags:{delete:i,list:v,set:te},tallies:{delete:o,get:p,list:g,push:z},transactions:{...L,get:P},userMetadata:S,vendor:O,setToken:Ws};return t.namespace&&(window[t.namespace]=F),F}function Ib(){return zn}function Pb(t,e){t.style.position="relative",t.style.height="200px",t.style.overflow="hidden";let n=0;const a=Array.from(t.children);for(const o of a){const s=o.offsetHeight;n+s>200?o.remove():n+=s}const i=document.createElement("style");i.innerHTML=`
|
|
37
37
|
${e.selector}::before {
|
|
38
38
|
content: '';
|
|
39
39
|
position: absolute;
|
package/dist/sesamy-js.mjs
CHANGED
|
@@ -6117,7 +6117,7 @@ function Fy() {
|
|
|
6117
6117
|
};
|
|
6118
6118
|
return Ay(Md(Md({}, e), t));
|
|
6119
6119
|
}
|
|
6120
|
-
const ec = "@sesamy/sesamy-js", Xn = "1.
|
|
6120
|
+
const ec = "@sesamy/sesamy-js", Xn = "1.70.0";
|
|
6121
6121
|
function Ky(t) {
|
|
6122
6122
|
if (typeof window > "u") return;
|
|
6123
6123
|
const { addEventListener: e, history: r, location: n } = window;
|
|
@@ -7473,7 +7473,7 @@ const Kw = (t, e) => e.skipDedupe || e.method !== "GET", Hw = (t, e) => e.method
|
|
|
7473
7473
|
throw d;
|
|
7474
7474
|
return h(null, d);
|
|
7475
7475
|
});
|
|
7476
|
-
}, tb = "@sesamy/sdk", rb = "1.
|
|
7476
|
+
}, tb = "@sesamy/sdk", rb = "1.20.0";
|
|
7477
7477
|
class nb {
|
|
7478
7478
|
cache = /* @__PURE__ */ new Map();
|
|
7479
7479
|
get(e) {
|
|
@@ -7859,7 +7859,7 @@ const Kr = "sesamyCacheTimestamp", ab = (t) => {
|
|
|
7859
7859
|
generateCheckoutLink: (t, e) => {
|
|
7860
7860
|
const r = new URL(`${t.apiUrl}/checkouts`);
|
|
7861
7861
|
return e.items && r.searchParams.set("items", JSON.stringify(e.items)), e.email && r.searchParams.set("email", e.email), e.language && r.searchParams.set("lang", e.language), e.redirectUrl && r.searchParams.set("redirect-url", e.redirectUrl), e.giftMode && r.searchParams.set("gift-mode", "true"), e.payerEmail && r.searchParams.set("payer-email", e.payerEmail), e.requireAddress && r.searchParams.set("require-address", "true"), e.metadata && Object.entries(e.metadata).forEach(([n, a]) => {
|
|
7862
|
-
r.searchParams.set(`
|
|
7862
|
+
r.searchParams.set(`metadata.${n}`, a);
|
|
7863
7863
|
}), r.toString();
|
|
7864
7864
|
},
|
|
7865
7865
|
/**
|
|
@@ -7921,7 +7921,7 @@ const Kr = "sesamyCacheTimestamp", ab = (t) => {
|
|
|
7921
7921
|
generateLink: (t, e) => {
|
|
7922
7922
|
const r = new URL(`${t.apiUrl}/checkouts`);
|
|
7923
7923
|
return e.items && r.searchParams.set("items", JSON.stringify(e.items)), e.email && r.searchParams.set("email", e.email), e.language && r.searchParams.set("lang", e.language), e.redirectUrl && r.searchParams.set("redirect-url", e.redirectUrl), e.giftMode && r.searchParams.set("gift-mode", "true"), e.payerEmail && r.searchParams.set("payer-email", e.payerEmail), e.requireAddress && r.searchParams.set("require-address", "true"), e.metadata && Object.entries(e.metadata).forEach(([n, a]) => {
|
|
7924
|
-
r.searchParams.set(`
|
|
7924
|
+
r.searchParams.set(`metadata.${n}`, a);
|
|
7925
7925
|
}), r.toString();
|
|
7926
7926
|
},
|
|
7927
7927
|
/**
|
|
@@ -8203,7 +8203,7 @@ function fb(t, e, r) {
|
|
|
8203
8203
|
({ provider: c, methods: f }) => f ? f.map((h) => `${c}|${h}`) : c
|
|
8204
8204
|
).join(",")
|
|
8205
8205
|
), e.requireAddress && n.searchParams.set("require-address", "true"), e.giftMode && n.searchParams.set("gift-mode", "true"), e.payerEmail && n.searchParams.set("payer-email", e.payerEmail), e.metadata && Object.entries(e.metadata).forEach(([c, f]) => {
|
|
8206
|
-
n.searchParams.set(`
|
|
8206
|
+
n.searchParams.set(`metadata.${c}`, String(f));
|
|
8207
8207
|
}), n;
|
|
8208
8208
|
}
|
|
8209
8209
|
const vp = "sesamySignedURLs";
|
package/package.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"registry": "https://registry.npmjs.org/",
|
|
7
7
|
"tag": "latest"
|
|
8
8
|
},
|
|
9
|
-
"version": "1.
|
|
9
|
+
"version": "1.70.0",
|
|
10
10
|
"main": "dist/sesamy-js.cjs",
|
|
11
11
|
"module": "dist/sesamy-js.mjs",
|
|
12
12
|
"types": "dist/sesamy-js.d.ts",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"core-js": "^3.45.0",
|
|
55
55
|
"detectincognitojs": "^1.6.0",
|
|
56
56
|
"saturated": "^1.0.0",
|
|
57
|
-
"@sesamy/sdk": "1.
|
|
57
|
+
"@sesamy/sdk": "1.20.0"
|
|
58
58
|
},
|
|
59
59
|
"peerDependencies": {
|
|
60
60
|
"wretch": "^2.9.0"
|