@sesamy/sesamy-js 1.50.1 → 1.52.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 +1 -1
- package/dist/sesamy-js.d.ts +69 -151
- package/dist/sesamy-js.iife.js +1 -1
- package/dist/sesamy-js.mjs +1 -1
- package/package.json +6 -4
package/dist/sesamy-js.cjs
CHANGED
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
* Please keep this comment intact in order to properly abide by the MIT License.
|
|
33
33
|
*
|
|
34
34
|
**/var Zo={d:(t,e)=>{for(var r in e)Zo.o(e,r)&&!Zo.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)},ks={};Zo.d(ks,{A:()=>ng,k:()=>Os});var kr=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())})},Or=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 Os(){return kr(this,void 0,Promise,function(){return Or(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 kr(this,void 0,void 0,function(){var h,d;return Or(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 kr(this,void 0,Promise,function(){return Or(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(m){var P=m.target.result,y=function(b){i(b)};try{P.createObjectStore("t",{autoIncrement:!0}).put(new Blob),y(!1)}catch(b){(b instanceof Error&&typeof b.message=="string"?b.message:String(b)).includes("are not yet supported")?y(!0):y(!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 m,P,y,b=window;return(y=(P=(m=b?.performance)===null||m===void 0?void 0:m.memory)===null||P===void 0?void 0:P.jsHeapSizeLimit)!==null&&y!==void 0?y: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 kr(this,void 0,Promise,function(){var d,v,p;return Or(this,function(m){switch(m.label){case 0:if(typeof((h=navigator.storage)===null||h===void 0?void 0:h.getDirectory)!="function")return[3,5];m.label=1;case 1:return m.trys.push([1,3,,4]),[4,navigator.storage.getDirectory()];case 2:return m.sent(),i(!1),[3,4];case 3:return d=m.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)},m.label=6;case 6:return[2]}})})}(function(){return kr(this,void 0,Promise,function(){return Or(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=Os);const ng=Os;ks.A;const ag=ks.k,rn="sesamy_incognito_mode";function Cs(){try{const t=sessionStorage.getItem(rn);return t===null?void 0:t==="true"}catch{return}}async function ig(){try{const t=sessionStorage.getItem(rn);if(t!==null)return t==="true";const{isPrivate:e}=await ag();return sessionStorage.setItem(rn,e.toString()),e}catch{try{sessionStorage.setItem(rn,"false")}catch{}return!1}}function qr(){return typeof window<"u"}function rd(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 og="function",sg="string",ot="undefined",cg="boolean",fn="object",ug="array",lg="number",fg="symbol",dg="null",Yo=function(){},rv="any",nv="*",Wt="__",hg="form",vg="input",pg="button",mg="select",dn=typeof process!==ot?process:{};dn.env&&dn.env.NODE_ENV;var xe=typeof document!==ot;dn.versions!=null&&dn.versions.node!=null;typeof Deno!==ot&&Deno.core;xe&&window.name==="nodejs"||typeof navigator!==ot&&typeof navigator.userAgent!==ot&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom"));function av(t,e){return e.charAt(0)[t]()+e.slice(1)}var gg=av.bind(null,"toUpperCase"),yg=av.bind(null,"toLowerCase");function wg(t){return iv(t)?gg(dg):typeof t===fn?Pg(t):Object.prototype.toString.call(t).slice(8,-1)}function hn(t,e){e===void 0&&(e=!0);var r=wg(t);return e?yg(r):r}function Gr(t,e){return typeof e===t}var Ve=Gr.bind(null,og),At=Gr.bind(null,sg),or=Gr.bind(null,ot),bg=Gr.bind(null,cg);Gr.bind(null,fg);function iv(t){return t===null}function Sg(t){return hn(t)===lg&&!isNaN(t)}function ov(t){return hn(t)===ug}function We(t){if(!Ig(t))return!1;for(var e=t;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function Ig(t){return t&&(typeof t===fn||t!==null)}function Pg(t){return Ve(t.constructor)?t.constructor.name:null}function Eg(t){return t instanceof Error||At(t.message)&&t.constructor&&Sg(t.constructor.stackTraceLimit)}function sv(t,e){if(typeof e!="object"||iv(e))return!1;if(e instanceof t)return!0;var r=hn(new t(""));if(Eg(e))for(;e;){if(hn(e)===r)return!0;e=Object.getPrototypeOf(e)}return!1}sv.bind(null,TypeError);sv.bind(null,SyntaxError);function jn(t,e){var r=t instanceof Element||t instanceof HTMLDocument;return r&&e?Rg(t,e):r}function Rg(t,e){return e===void 0&&(e=""),t&&t.nodeName===e.toUpperCase()}function Ln(t){var e=[].slice.call(arguments,1);return function(){return t.apply(void 0,[].slice.call(arguments).concat(e))}}Ln(jn,hg);Ln(jn,pg);Ln(jn,vg);Ln(jn,mg);function _g(t){return t?ov(t)?t:[t]:[]}function nd(t){try{return decodeURIComponent(t.replace(/\+/g," "))}catch{return null}}function Tg(){if(xe){var t=navigator,e=t.languages;return t.userLanguage||(e&&e.length?e[0]:t.language)}}function kg(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function Og(t){return(function(e){for(var r,n=Object.create(null),a=/([^&=]+)=?([^&]*)/g;r=a.exec(e);){var i=nd(r[1]),o=nd(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&&(Cg(n,l.map(function(c){return c.replace(/[?[\]\\ ]/g,"")}),n[u]),delete n[u])}return n})((function(e){return xe&&window.location.search.substring(1)})())}function Cg(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 Nn(){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 Ag(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 zt="global",dr=Wt+zt+Wt,hr=typeof self===fn&&self.self===self&&self||typeof global===fn&&global[zt]===global&&global||void 0;function Vt(t){return hr[dr][t]}function Jt(t,e){return hr[dr][t]=e}function Ir(t){delete hr[dr][t]}function Pr(t,e,r){var n;try{if(As(t)){var a=window[t];n=a[e].bind(a)}}catch{}return n||r}hr[dr]||(hr[dr]={});var Vr={};function As(t){if(typeof Vr[t]!==ot)return Vr[t];try{var e=window[t];e.setItem(ot,ot),e.removeItem(ot)}catch{return Vr[t]=!1}return Vr[t]=!0}function ae(){return ae=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},ae.apply(null,arguments)}var Ot="function",It="undefined",Lr="reducer",cv="@@redux/",Xo=cv+"INIT",Ug=cv+Math.random().toString(36),ad=(function(){return typeof Symbol===Ot&&Symbol.observable||"@@observable"})(),Jr=" != "+Ot;function uv(t,e,r){var n;if(typeof e===Ot&&typeof r===It&&(r=e,e=void 0),typeof r!==It){if(typeof r!==Ot)throw new Error("enhancer"+Jr);return r(uv)(t,e)}if(typeof t!==Ot)throw new Error(Lr+Jr);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!==Ot)throw new Error("Listener"+Jr);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(!We(d))throw new Error("Act != obj");if(typeof d.type===It)throw new Error("ActType "+It);if(u)throw new Error("Dispatch in "+Lr);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:Xo}),(n={dispatch:h,subscribe:f,getState:c,replaceReducer:function(d){if(typeof d!==Ot)throw new Error("next "+Lr+Jr);a=d,h({type:Xo})}})[ad]=function(){var d,v=f;return(d={subscribe:function(p){if(typeof p!="object")throw new TypeError("Observer != obj");function m(){p.next&&p.next(c())}return m(),{unsubscribe:v(m)}}})[ad]=function(){return this},d},n}function jg(t,e){var r=e&&e.type;return"action "+(r&&r.toString()||"?")+Lr+" "+t+" returns "+It}function vr(){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 Lg(){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)}),ae({},o,{dispatch:s=vr.apply(void 0,i)(o.dispatch)})}}}var Ut=Wt+"anon_id",Ht=Wt+"user_id",cr=Wt+"user_traits",Qo="analytics",kt="userId",sr="anonymousId",nn=["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"],es=["name","EVENTS","config","loaded"],ne=nn.reduce(function(t,e){return t[e]=e,t},{registerPluginType:function(t){return"registerPlugin:"+t},pluginReadyType:function(t){return"ready:"+t}}),id=/^utm_/,od=/^an_prop_/,sd=/^an_trait_/;function Ng(t){var e=t.storage.setItem;return function(r){return function(n){return function(a){if(a.type===ne.bootstrap){var i=a.params,o=a.user,s=a.persistedUser,u=a.initialUser,l=s.userId===o.userId;s.anonymousId!==o.anonymousId&&e(Ut,o.anonymousId),l||e(Ht,o.userId),u.traits&&e(cr,ae({},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(id)||p.match(/^(d|g)clid/)){var m=p.replace(id,"");v.campaign[m==="campaign"?"name":m]=i[p]}return p.match(od)&&(v.props[p.replace(od,"")]=i[p]),p.match(sd)&&(v.traits[p.replace(sd,"")]=i[p]),v},{campaign:{},props:{},traits:{}});r.dispatch(ae({type:ne.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:ne.campaign,campaign:d.campaign})}}return n(a)}}}}function qg(t){return function(e,r){if(e===void 0&&(e={}),r===void 0&&(r={}),r.type===ne.setItemEnd){if(r.key===Ut)return ae({},e,{anonymousId:r.value});if(r.key===Ht)return ae({},e,{userId:r.value})}switch(r.type){case ne.identify:return Object.assign({},e,{userId:r.userId,traits:ae({},e.traits,r.traits)});case ne.reset:return[Ht,Ut,cr].forEach(function(n){t.removeItem(n)}),Object.assign({},e,{userId:null,anonymousId:null,traits:{}});default:return e}}}function cd(t){return{userId:t.getItem(Ht),anonymousId:t.getItem(Ut),traits:t.getItem(cr)}}var ts=function(t){return Wt+"TEMP"+Wt+t};function xg(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===ne.reset&&([Ht,cr,Ut].forEach(function(d){n(d)}),[kt,sr,"traits"].forEach(function(d){Ir(ts(d))})),s.type===ne.identify){a(Ut)||r(Ut,Nn());var f=a(Ht),h=a(cr)||{};f&&f!==u&&i.dispatch({type:ne.userIdChanged,old:{userId:f,traits:h},new:{userId:u,traits:l},options:c}),u&&r(Ht,u),l&&r(cr,ae({},h,l))}return o(s)}}}}var Ar={};function ud(t,e){Ar[t]&&Ve(Ar[t])&&(Ar[t](e),delete Ar[t])}function lv(t,e,r){return new Promise(function(n,a){return e()?n(t):r<1?a(ae({},t,{queue:!0})):new Promise(function(i){return setTimeout(i,10)}).then(function(i){return lv(t,e,r-10).then(n,a)})})}function $g(t){return{abort:t}}function fv(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&&Ve(p)){var m,P=(function(g,w){return g===void 0&&(g={}),w===void 0&&(w={}),[kt,sr].reduce(function(A,x){return g.hasOwnProperty(x)&&w[x]&&w[x]!==g[x]&&(A[x]=w[x]),A},g)})(h.payload,u),y=n[P.meta.rid];if(!y&&(m=p({payload:P,config:o[d].config,instance:r,abort:$g}))&&We(m)&&m.abort)return void(n[P.meta.rid]=!0);if(!y){var b=v+":"+d;t.dispatch(ae({},P,{type:b,_:{called:b,from:"queueDrain"}}))}}});var c=s.actions.filter(function(f,h){return!~l.processIndex.indexOf(h)});s.actions=c}}}var qo=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(ur),d=e.exact.map(function(m){return m.pluginName});h&&(d=o.during.map(function(m){return m.pluginName}));var v=(function(m,P){return function(y,b,g){var w=b.config,A=b.name,x=A+"."+y.type;g&&(x=g.event);var N=y.type.match(ur)?(function(z,B,ie,j,D){return function(L,k){var Y=j?j.name:z,te=k&&xr(k)?k:ie;if(j&&(!(te=k&&xr(k)?k:[z]).includes(z)||te.length!==1))throw new Error("Method "+B+" can only abort "+z+" plugin. "+JSON.stringify(te)+" input valid");return ae({},D,{abort:{reason:L,plugins:te,caller:B,_:Y}})}})(A,x,P,g,y):(function(z,B){return function(){throw new Error(z.type+" action not cancellable. Remove abort in "+B)}})(y,x);return{payload:Dg(y),instance:m,config:w||{},abort:N}}})(n,d),p=e.exact.reduce(function(m,P){var y=P.pluginName,b=P.methodName,g=!1;return b.match(/^initialize/)||b.match(/^reset/)||(g=!l[y].loaded),c.offline&&b.match(/^(page|track|identify)/)&&(g=!0),m[""+y]=g,m},{});return Promise.resolve(e.exact.reduce(function(m,P,y){var b=P.pluginName;return Promise.resolve(m).then(function(g){function w(){return Promise.resolve(g)}var A=(function(){if(e.namespaced&&e.namespaced[b])return Promise.resolve(e.namespaced[b].reduce(function(x,N,z){return Promise.resolve(x).then(function(B){return N.method&&Ve(N.method)?((function(L,k){var Y=md(L);if(Y&&Y.name===k){var te=md(Y.method);throw new Error([k+" plugin is calling method "+L,"Plugins cant call self","Use "+Y.method+" "+(te?"or "+te.method:"")+" in "+k+" plugin insteadof "+L].join(`
|
|
35
|
-
`))}})(N.methodName,N.pluginName),Promise.resolve(N.method({payload:B,instance:n,abort:(ie=B,j=b,D=N.pluginName,function(L,k){return ae({},ie,{abort:{reason:L,plugins:k||[j],caller:f,from:D||j}})}),config:dd(N.pluginName,l,i),plugins:l})).then(function(L){var k=We(L)?L:{};return Promise.resolve(ae({},B,k))})):B;var ie,j,D})},Promise.resolve(r))).then(function(x){g[b]=x});g[b]=r})();return A&&A.then?A.then(w):w()})},Promise.resolve({}))).then(function(m){return Promise.resolve(e.exact.reduce(function(P,y,b){try{var g=e.exact.length===b+1,w=y.pluginName,A=i[w];return Promise.resolve(P).then(function(x){var N=m[w]?m[w]:{};if(h&&(N=x),$o(N,w))return xo({data:N,method:f,instance:n,pluginName:w,store:s}),Promise.resolve(x);if($o(x,w))return g&&xo({data:x,method:f,instance:n,store:s}),Promise.resolve(x);if(p.hasOwnProperty(w)&&p[w]===!0)return s.dispatch({type:"queue",plugin:w,payload:N,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(x);var z=v(m[w],i[w]);return Promise.resolve(A[f]({abort:z.abort,payload:N,instance:n,config:dd(w,l,i),plugins:l})).then(function(B){var ie=We(B)?B:{},j=ae({},x,ie),D=m[w];if($o(D,w))xo({data:D,method:f,instance:n,pluginName:w,store:s});else{var L=f+":"+w;(L.match(/:/g)||[]).length<2&&!f.match(ld)&&!f.match(fd)&&n.dispatch(ae({},h?j:N,{type:L,_:{called:L,from:"submethod"}}))}return Promise.resolve(j)})})}catch(x){return Promise.reject(x)}},Promise.resolve(r))).then(function(P){if(!(f.match(ur)||f.match(/^registerPlugin/)||f.match(fd)||f.match(ld)||f.match(/^params/)||f.match(/^userIdChanged/))){if(u.plugins.includes(f),P._&&P._.originalAction===f)return P;var y=ae({},P,{_:{originalAction:P.type,called:P.type,from:"engineEnd"}});dv(P,e.exact.length)&&!f.match(/End$/)&&(y=ae({},y,{type:P.type+"Aborted"})),s.dispatch(y)}return P})})}catch(m){return Promise.reject(m)}},ur=/Start$/,ld=/^bootstrap/,fd=/^ready/;function xo(t){var e=t.pluginName,r=t.method+"Aborted"+(e?":"+e:"");t.store.dispatch(ae({},t.data,{type:r,_:{called:r,from:"abort"}}))}function dd(t,e,r){var n=e[t]||r[t];return n&&n.config?n.config:{}}function hd(t,e){return e.reduce(function(r,n){return n[t]?r.concat({methodName:t,pluginName:n.name,method:n[t]}):r},[])}function vd(t,e){var r=t.replace(ur,""),n=e?":"+e:"";return[""+t+n,""+r+n,r+"End"+n]}function $o(t,e){var r=t.abort;return!!r&&(r===!0||pd(r,e)||r&&pd(r.plugins,e))}function dv(t,e){var r=t.abort;if(!r)return!1;if(r===!0||At(r))return!0;var n=r.plugins;return xr(r)&&r.length===e||xr(n)&&n.length===e}function xr(t){return Array.isArray(t)}function pd(t,e){return!(!t||!xr(t))&&t.includes(e)}function md(t){var e=t.match(/(.*):(.*)/);return!!e&&{method:e[1],name:e[2]}}function Dg(t){return Object.keys(t).reduce(function(e,r){return r==="type"||(e[r]=We(t[r])?Object.assign({},t[r]):t[r]),e},{})}function Mg(t,e,r){var n={};return function(a){return function(i){return function(o){try{var s,u=function(g){return s?g:i(f)},l=o.type,c=o.plugins,f=o;if(o.abort)return Promise.resolve(i(o));if(l===ne.enablePlugin&&a.dispatch({type:ne.initializeStart,plugins:c,disabled:[],fromEnable:!0,meta:o.meta}),l===ne.disablePlugin&&setTimeout(function(){return ud(o.meta.rid,{payload:o})},0),l===ne.initializeEnd){var h=e(),d=Object.keys(h),v=d.filter(function(g){return c.includes(g)}).map(function(g){return h[g]}),p=[],m=[],P=o.disabled,y=v.map(function(g){var w=g.loaded,A=g.name,x=g.config;return lv(g,function(){return w({config:x})},1e4).then(function(N){return n[A]||(a.dispatch({type:ne.pluginReadyType(A),name:A,events:Object.keys(g).filter(function(z){return!es.includes(z)})}),n[A]=!0),p=p.concat(A),g}).catch(function(N){if(N instanceof Error)throw new Error(N);return m=m.concat(N.name),N})});Promise.all(y).then(function(g){var w={plugins:p,failed:m,disabled:P};setTimeout(function(){d.length===y.length+P.length&&a.dispatch(ae({},{type:ne.ready},w))},0)})}var b=(function(){if(l!==ne.bootstrap)return/^ready:([^:]*)$/.test(l)&&setTimeout(function(){return fv(a,e,t)},0),Promise.resolve((function(g,w,A,x,N){try{var z=Ve(w)?w():w,B=g.type,ie=B.replace(ur,"");if(g._&&g._.called)return Promise.resolve(g);var j=A.getState(),D=(Y=z,(te=j.plugins)===void 0&&(te={}),(Q=g.options)===void 0&&(Q={}),Object.keys(Y).filter(function(S){var _=Q.plugins||{};return bg(_[S])?_[S]:_.all!==!1&&(!te[S]||te[S].enabled!==!1)}).map(function(S){return Y[S]}));B===ne.initializeStart&&g.fromEnable&&(D=Object.keys(j.plugins).filter(function(S){var _=j.plugins[S];return g.plugins.includes(S)&&!_.initialized}).map(function(S){return z[S]}));var L=D.map(function(S){return S.name}),k=(function(S,_){var q=vd(S).map(function(F){return hd(F,_)});return _.reduce(function(F,Z){var V=Z.name,he=vd(S,V).map(function(Re){return hd(Re,_)}),oe=he[0],le=he[1],se=he[2];return oe.length&&(F.beforeNS[V]=oe),le.length&&(F.duringNS[V]=le),se.length&&(F.afterNS[V]=se),F},{before:q[0],beforeNS:{},during:q[1],duringNS:{},after:q[2],afterNS:{}})})(B,D);return Promise.resolve(qo({action:g,data:{exact:k.before,namespaced:k.beforeNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(S){function _(){var Z=(function(){if(B.match(ur))return Promise.resolve(qo({action:ae({},q,{type:ie+"End"}),data:{exact:k.after,namespaced:k.afterNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(V){V.meta&&V.meta.hasCallback&&ud(V.meta.rid,{payload:V})})})();return Z&&Z.then?Z.then(function(){return S}):S}if(dv(S,L.length))return S;var q,F=(function(){if(B!==ie)return Promise.resolve(qo({action:ae({},S,{type:ie}),data:{exact:k.during,namespaced:k.duringNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(Z){q=Z});q=S})();return F&&F.then?F.then(_):_()})}catch(S){return Promise.reject(S)}var Y,te,Q})(o,e,t,a,r)).then(function(g){var w=i(g);return s=1,w})})();return Promise.resolve(b&&b.then?b.then(u):u(b))}catch(g){return Promise.reject(g)}}}}}function Fg(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===ne.setItem||a===ne.removeItem){if(n.abort)return r(n);a===ne.setItem?t.setItem(i,o,s):t.removeItem(i,s)}return r(n)}}}}var Kg=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 vr.apply(void 0,o)(n)(a)}}}}};function zg(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=gd(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},ae({},e,n)}if(/^initialize:([^:]*)$/.test(r.type)){var u=gd(r.type,ne.initialize),l=t()[u];return l&&u?(n[u]=ae({},e[u],{initialized:!0,loaded:!!l.loaded({config:l.config})}),ae({},e,n)):e}if(/^ready:([^:]*)$/.test(r.type))return n[r.name]=ae({},e[r.name],{loaded:!0}),ae({},e,n);switch(r.type){case ne.disablePlugin:return ae({},e,yd(r.plugins,!1,e));case ne.enablePlugin:return ae({},e,yd(r.plugins,!0,e));default:return e}}}function gd(t,e){return t.substring(e.length+1,t.length)}function yd(t,e,r){return t.reduce(function(n,a){return n[a]=ae({},r[a],{enabled:e}),n},r)}function hv(t){try{return JSON.parse(JSON.stringify(t))}catch{}return t}var Hg={last:{},history:[]};function Bg(t,e){t===void 0&&(t=Hg);var r=e.options,n=e.meta;if(e.type===ne.track){var a=hv(ae({event:e.event,properties:e.properties},Object.keys(r).length&&{options:r},{meta:n}));return ae({},t,{last:a,history:t.history.concat(a)})}return t}var Gg={actions:[]};function Wg(t,e){t===void 0&&(t=Gg);var r=e.payload;switch(e.type){case"queue":var n;return n=r&&r.type&&r.type===ne.identify?[e].concat(t.actions):t.actions.concat(e),ae({},t,{actions:n});case"dequeue":return[];default:return t}}var vv=/#.*$/;function Vg(t){var e=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(t);return"/"+(e&&e[3]?e[3].split("?")[0].replace(vv,""):"")}var pv,mv,gv,yv,Jg=function(t){if(t===void 0&&(t={}),!xe)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(xe){for(var v,p=document.getElementsByTagName("link"),m=0;v=p[m];m++)if(v.getAttribute("rel")==="canonical")return v.getAttribute("href")}})();return d?d.match(/\?/)?d:d+h:window.location.href.replace(vv,"")})(l),f={title:r,url:c,path:Vg(c),hash:u,search:l,width:o,height:s};return n&&n!==""&&(f.referrer=n),ae({},f,t)},Zg={last:{},history:[]};function Yg(t,e){t===void 0&&(t=Zg);var r=e.options;if(e.type===ne.page){var n=hv(ae({properties:e.properties,meta:e.meta},Object.keys(r).length&&{options:r}));return ae({},t,{last:n,history:t.history.concat(n)})}return t}pv=(function(){if(!xe)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"})(),mv=xe?document.referrer:null,gv=Tg(),yv=kg();var wd={initialized:!1,sessionId:Nn(),app:null,version:null,debug:!1,offline:!!xe&&!navigator.onLine,os:{name:pv},userAgent:xe?navigator.userAgent:"node",library:{name:Qo,version:"0.13.1"},timezone:yv,locale:gv,campaign:{},referrer:mv};function Xg(t,e){t===void 0&&(t=wd);var r=t.initialized,n=e.campaign;switch(e.type){case ne.campaign:return ae({},t,{campaign:n});case ne.offline:return ae({},t,{offline:!0});case ne.online:return ae({},t,{offline:!1});default:return r?t:ae({},wd,t,{initialized:!0})}}var Qg=["plugins","reducers","storage"];function ey(t,e,r){if(xe){var n=window[(r?"add":"remove")+"EventListener"];t.split(" ").forEach(function(a){n(a,e)})}}function ty(t){var e=ey.bind(null,"online offline",function(r){return Promise.resolve(!navigator.onLine).then(t)});return e(!0),function(r){return e(!1)}}function wv(){return Jt(Qo,[]),function(t){return function(e,r,n){var a=t(e,r,n),i=a.dispatch;return Object.assign(a,{dispatch:function(o){return hr[dr][Qo].push(o.action||o),i(o)}})}}}function bd(t){return function(){return vr(vr.apply(null,arguments),wv())}}function Do(t){return t?ov(t)?t:[t]:[]}function Sd(t,e,r){t===void 0&&(t={});var n,a,i=Nn();return e&&(Ar[i]=(n=e,a=(function(o){for(var s,u=o||Array.prototype.slice.call(arguments),l=0;l<u.length;l++)if(Ve(u[l])){s=u[l];break}return s})(r),function(o){a&&a(o),n(o)})),ae({},t,{rid:i,ts:new Date().getTime()},e?{hasCallback:!0}:{})}function ry(t){t===void 0&&(t={});var e=t.reducers||{},r=t.initialUser||{},n=(t.plugins||[]).reduce(function(S,_){if(Ve(_))return S.middlewares=S.middlewares.concat(_),S;if(_.NAMESPACE&&(_.name=_.NAMESPACE),!_.name)throw new Error("https://lytics.dev/errors/1");_.config||(_.config={});var q=_.EVENTS?Object.keys(_.EVENTS).map(function(V){return _.EVENTS[V]}):[];S.pluginEnabled[_.name]=!(_.enabled===!1||_.config.enabled===!1),delete _.enabled,_.methods&&(S.methods[_.name]=Object.keys(_.methods).reduce(function(V,he){var oe;return V[he]=(oe=_.methods[he],function(){for(var le=Array.prototype.slice.call(arguments),se=new Array(oe.length),Re=0;Re<le.length;Re++)se[Re]=le[Re];return se[se.length]=w,oe.apply({instance:w},se)}),V},{}),delete _.methods);var F=Object.keys(_).concat(q),Z=new Set(S.events.concat(F));if(S.events=Array.from(Z),S.pluginsArray=S.pluginsArray.concat(_),S.plugins[_.name])throw new Error(_.name+"AlreadyLoaded");return S.plugins[_.name]=_,S.plugins[_.name].loaded||(S.plugins[_.name].loaded=function(){return!0}),S},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),a=t.storage?t.storage:{getItem:Vt,setItem:Jt,removeItem:Ir},i=(function(S){return function(_,q,F){return q.getState("user")[_]||(F&&We(F)&&F[_]?F[_]:cd(S)[_]||Vt(ts(_))||null)}})(a),o=n.plugins,s=n.events.filter(function(S){return!es.includes(S)}).sort(),u=new Set(s.concat(nn).filter(function(S){return!es.includes(S)})),l=Array.from(u).sort(),c=function(){return o},f=new Kg,h=f.addMiddleware,d=f.removeMiddleware,v=f.dynamicMiddlewares,p=function(){throw new Error("Abort disabled inListener")},m=Og(),P=cd(a),y=ae({},P,r,m.an_uid?{userId:m.an_uid}:{},m.an_aid?{anonymousId:m.an_aid}:{});y.anonymousId||(y.anonymousId=Nn());var b=ae({enable:function(S,_){return new Promise(function(q){k.dispatch({type:ne.enablePlugin,plugins:Do(S),_:{originalAction:ne.enablePlugin}},q,[_])})},disable:function(S,_){return new Promise(function(q){k.dispatch({type:ne.disablePlugin,plugins:Do(S),_:{originalAction:ne.disablePlugin}},q,[_])})}},n.methods),g=!1,w={identify:function(S,_,q,F){try{var Z=At(S)?S:null,V=We(S)?S:_,he=q||{},oe=w.user();Jt(ts(kt),Z);var le=Z||V.userId||i(kt,w,V);return Promise.resolve(new Promise(function(se){k.dispatch(ae({type:ne.identifyStart,userId:le,traits:V||{},options:he,anonymousId:oe.anonymousId},oe.id&&oe.id!==Z&&{previousId:oe.id}),se,[_,q,F])}))}catch(se){return Promise.reject(se)}},track:function(S,_,q,F){try{var Z=We(S)?S.event:S;if(!Z||!At(Z))throw new Error("EventMissing");var V=We(S)?S:_||{},he=We(q)?q:{};return Promise.resolve(new Promise(function(oe){k.dispatch({type:ne.trackStart,event:Z,properties:V,options:he,userId:i(kt,w,_),anonymousId:i(sr,w,_)},oe,[_,q,F])}))}catch(oe){return Promise.reject(oe)}},page:function(S,_,q){try{var F=We(S)?S:{},Z=We(_)?_:{};return Promise.resolve(new Promise(function(V){k.dispatch({type:ne.pageStart,properties:Jg(F),options:Z,userId:i(kt,w,F),anonymousId:i(sr,w,F)},V,[S,_,q])}))}catch(V){return Promise.reject(V)}},user:function(S){if(S===kt||S==="id")return i(kt,w);if(S===sr||S==="anonId")return i(sr,w);var _=w.getState("user");return S?rd(_,S):_},reset:function(S){return new Promise(function(_){k.dispatch({type:ne.resetStart},_,S)})},ready:function(S){return g&&S({plugins:b,instance:w}),w.on(ne.ready,function(_){S&&S(_),g=!0})},on:function(S,_){if(!S||!Ve(_))return!1;if(S===ne.bootstrap)throw new Error(".on disabled for "+S);var q=/Start$|Start:/;if(S==="*"){var F=function(oe){return function(le){return function(se){return se.type.match(q)&&_({payload:se,instance:w,plugins:o}),le(se)}}},Z=function(oe){return function(le){return function(se){return se.type.match(q)||_({payload:se,instance:w,plugins:o}),le(se)}}};return h(F,Zr),h(Z,Yr),function(){d(F,Zr),d(Z,Yr)}}var V=S.match(q)?Zr:Yr,he=function(oe){return function(le){return function(se){return se.type===S&&_({payload:se,instance:w,plugins:o,abort:p}),le(se)}}};return h(he,V),function(){return d(he,V)}},once:function(S,_){if(!S||!Ve(_))return!1;if(S===ne.bootstrap)throw new Error(".once disabled for "+S);var q=w.on(S,function(F){_({payload:F.payload,instance:w,plugins:o,abort:p}),q()});return q},getState:function(S){var _=k.getState();return S?rd(_,S):Object.assign({},_)},dispatch:function(S){var _=At(S)?{type:S}:S;if(nn.includes(_.type))throw new Error("reserved action "+_.type);var q=ae({},_,{_:ae({originalAction:_.type},S._||{})});k.dispatch(q)},enablePlugin:b.enable,disablePlugin:b.disable,plugins:b,storage:{getItem:a.getItem,setItem:function(S,_,q){k.dispatch({type:ne.setItemStart,key:S,value:_,options:q})},removeItem:function(S,_){k.dispatch({type:ne.removeItemStart,key:S,options:_})}},setAnonymousId:function(S,_){w.storage.setItem(Ut,S,_)},events:{core:nn,plugins:s}},A=n.middlewares.concat([function(S){return function(_){return function(q){return q.meta||(q.meta=Sd()),_(q)}}},v(Zr),Mg(w,c,{all:l,plugins:s}),Fg(a),Ng(w),xg(w),v(Yr)]),x={context:Xg,user:qg(a),page:Yg,track:Bg,plugins:zg(c),queue:Wg},N=vr,z=vr;if(xe&&t.debug){var B=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;B&&(N=B({trace:!0,traceLimit:25})),z=function(){return arguments.length===0?wv():We(typeof arguments[0])?bd():bd().apply(null,arguments)}}var ie,j=(function(S){return Object.keys(S).reduce(function(_,q){return Qg.includes(q)||(_[q]=S[q]),_},{})})(t),D=n.pluginsArray.reduce(function(S,_){var q=_.name,F=_.config,Z=_.loaded,V=n.pluginEnabled[q];return S[q]={enabled:V,initialized:!!V&&!_.initialize,loaded:!!Z({config:F}),config:F},S},{}),L={context:j,user:y,plugins:D},k=uv((function(S){for(var _=Object.keys(S),q={},F=0;F<_.length;F++){var Z=_[F];typeof S[Z]===Ot&&(q[Z]=S[Z])}var V,he=Object.keys(q);try{(function(oe){Object.keys(oe).forEach(function(le){var se=oe[le];if(typeof se(void 0,{type:Xo})===It||typeof se(void 0,{type:Ug})===It)throw new Error(Lr+" "+le+" "+It)})})(q)}catch(oe){V=oe}return function(oe,le){if(oe===void 0&&(oe={}),V)throw V;for(var se=!1,Re={},Ue=0;Ue<he.length;Ue++){var Fe=he[Ue],ke=oe[Fe],Ze=(0,q[Fe])(ke,le);if(typeof Ze===It){var ut=jg(Fe,le);throw new Error(ut)}Re[Fe]=Ze,se=se||Ze!==ke}return se?Re:oe}})(ae({},x,e)),L,z(N(Lg.apply(void 0,A))));k.dispatch=(ie=k.dispatch,function(S,_,q){var F=ae({},S,{meta:Sd(S.meta,_,Do(q))});return ie.apply(null,[F])});var Y=Object.keys(o);k.dispatch({type:ne.bootstrap,plugins:Y,config:j,params:m,user:y,initialUser:r,persistedUser:P});var te=Y.filter(function(S){return n.pluginEnabled[S]}),Q=Y.filter(function(S){return!n.pluginEnabled[S]});return k.dispatch({type:ne.registerPlugins,plugins:Y,enabled:n.pluginEnabled}),n.pluginsArray.map(function(S,_){var q=S.bootstrap,F=S.config,Z=S.name;q&&Ve(q)&&q({instance:w,config:F,payload:S}),k.dispatch({type:ne.registerPluginType(Z),name:Z,enabled:n.pluginEnabled[Z],plugin:S}),n.pluginsArray.length===_+1&&k.dispatch({type:ne.initializeStart,plugins:te,disabled:Q})}),ty(function(S){k.dispatch({type:S?ne.offline:ne.online})}),(function(S,_,q){setInterval(function(){return fv(S,_,q)},3e3)})(k,c,w),w}var Zr="before",Yr="after",Bt="cookie",Mt=Iv(),bv=qn,ny=qn;function Sv(t){return Mt?qn(t,"",-1):Ir(t)}function Iv(){if(Mt!==void 0)return Mt;var t=Bt+Bt;try{qn(t,t),Mt=document.cookie.indexOf(t)!==-1,Sv(t)}catch{Mt=!1}return Mt}function qn(t,e,r,n,a,i){if(typeof window<"u"){var o=arguments.length>1;return Mt===!1&&(o?Jt(t,e):Vt(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 Pt="localStorage",ay=As.bind(null,Pt);Pr(Pt,"getItem",Vt);Pr(Pt,"setItem",Jt);Pr(Pt,"removeItem",Ir);var Et="sessionStorage",iy=As.bind(null,Et);Pr(Et,"getItem",Vt);Pr(Et,"setItem",Jt);Pr(Et,"removeItem",Ir);function lr(t){var e=t;try{if((e=JSON.parse(t))==="true")return!0;if(e==="false")return!1;if(We(e))return e;parseFloat(e)===e&&(e=parseFloat(e))}catch{}if(e!==null&&e!=="")return e}var oy=ay(),sy=iy(),cy=Iv();function Gt(t,e){if(t){var r=Us(e),n=!qs(r),a=js(r)?lr(localStorage.getItem(t)):void 0;if(n&&!or(a))return a;var i=Ls(r)?lr(bv(t)):void 0;if(n&&i)return i;var o=Ns(r)?lr(sessionStorage.getItem(t)):void 0;if(n&&o)return o;var s=Vt(t);return n?s:{localStorage:a,sessionStorage:o,cookie:i,global:s}}}function vn(t,e,r){if(t&&!or(e)){var n={},a=Us(r),i=JSON.stringify(e),o=!qs(a);return js(a)&&(n[Pt]=Xr(Pt,e,lr(localStorage.getItem(t))),localStorage.setItem(t,i),o)?n[Pt]:Ls(a)&&(n[Bt]=Xr(Bt,e,lr(bv(t))),ny(t,i),o)?n[Bt]:Ns(a)&&(n[Et]=Xr(Et,e,lr(sessionStorage.getItem(t))),sessionStorage.setItem(t,i),o)?n[Et]:(n[zt]=Xr(zt,e,Vt(t)),Jt(t,e),o?n[zt]:n)}}function uy(t,e){if(t){var r=Us(e),n=Gt(t,nv),a={};return!or(n.localStorage)&&js(r)&&(localStorage.removeItem(t),a[Pt]=n.localStorage),!or(n.cookie)&&Ls(r)&&(Sv(t),a[Bt]=n.cookie),!or(n.sessionStorage)&&Ns(r)&&(sessionStorage.removeItem(t),a[Et]=n.sessionStorage),!or(n.global)&&xn(r,zt)&&(Ir(t),a[zt]=n.global),a}}function Us(t){return t?At(t)?t:t.storage:rv}function js(t){return oy&&xn(t,Pt)}function Ls(t){return cy&&xn(t,Bt)}function Ns(t){return sy&&xn(t,Et)}function qs(t){return t===nv||t==="all"}function xn(t,e){return t===rv||t===e||qs(t)}function Xr(t,e,r){return{location:t,current:e,previous:r}}var ly={setItem:vn,getItem:Gt,removeItem:uy};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 Id(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 Pd(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Id(Object(r),!0).forEach(function(n){fy(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Id(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function dy(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e={storage:ly};return ry(Pd(Pd({},e),t))}const xs="@sesamy/sesamy-js",$n="1.50.1";function hy(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=py(l);return a!==c&&(a=c,setTimeout(()=>t(l),0)),s.apply(r,u)}})}function vy(t,e){const r=t.indexOf(e);return r>-1?t.slice(0,r):t}function py(t){return["#","?"].forEach(e=>t=vy(t,e)),t}function my(){hy(()=>{bt.page()})}var Mo="up",Fo="down";function gy(t){if(t===void 0&&(t={}),!xe)return Yo;var e=Rd(),r=rs(),n=Ed(),a=Qr(n,e),i=Qr(r,e),o=[],s=[],u=[],l=n,c=a,f=i,h=Object.keys(t);if(!h.length)return Yo;var d=h.map(function(p){return Number(p)}),v=Ag(function(){var p=Rd(),m=(function(j,D){return D.map(function(L){return L===100?j-5:j*(L/100)})})(p,d),P=rs(),y=Ed(),b=Qr(y,p),g=Qr(P,p);if(c=b>c?b:c,f=g<f?g:f,!(o.length>=d.length)){var w=l===y,A=Mo;w?A="initial":l<=y&&(A=Fo);var x=m,N=d;(A===Mo||w)&&(x=m.slice().reverse(),N=d.slice().reverse());var z=N.reduce(function(j,D,L){var k=x[L];return u.includes(D)&&y<=k&&(u=u.filter(function(Y){return Y!==D}),j.singleFunction=D),A===Fo&&!o.includes(D)&&y>=k&&D>i?(s.push(D),j.callbacks=j.callbacks.concat(D),j):A===Mo&&!o.includes(D)&&y<=k&&D<=b?(j.foundFunc=[D],j):(w&&y>=k&&j.foundFunc.length===0&&(j.foundFunc=[D]),!s.includes(D)&&y>=k&&(s.push(D),j.singleFunction?u.push(D):j.singleFunction=D),j)},{foundFunc:[],singleFunction:null,callbacks:[],direction:A});if(l=y,A===Fo&&z.callbacks&&z.callbacks.forEach(function(j){Ve(t[j])&&(t[j]({trigger:j,direction:A,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(j))}),z.singleFunction){var B=z.singleFunction,ie=z.direction;Ve(t[B])&&t[B]({trigger:B,direction:ie,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(B)}}},500);return window.addEventListener("scroll",v),function(){return window.removeEventListener("scroll",v)}}function rs(){return xe?document.body.scrollTop||document.documentElement.scrollTop:0}function yy(){return xe?window.innerHeight||document.documentElement.clientHeight:0}function Ed(){return Math.round(rs()+yy())}function Rd(){if(!xe)return 0;var t=document.body,e=document.documentElement;return Math.max(t.scrollHeight,t.offsetHeight,e.clientHeight,e.scrollHeight,e.offsetHeight)}function Qr(t,e){return Math.round(t/e*100)}var $s="Event",_d=$s+"Listener";function wy(t){return function(e,r,n,a){var i=n||Yo,o=a||!1;if(!xe)return i;var s=pn(r),u=pn(e,!0);if(!u.length)throw new Error("noElements");if(!s.length)throw new Error("no"+$s);var l=[];return(function c(f){f&&(l=[]);for(var h=f?"add"+_d:"remove"+_d,d=0;d<u.length;d++){var v=u[d];l[d]=f?o&&o.once?by(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 pn(t,e){if(At(t))return e?pn(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=_g(t);return e?i.map(function(o){return At(o)?pn(o,!0):o}).flat():i}function by(t,e){var r;return function(){return t&&(r=t.apply(this,arguments),t=null),r}}var Ko=wy($s);function Pv(t,e){return xe&&Ve(window[t])?(r=window[t],n=e,(a=window)===void 0&&(a=null),Ve(r)?function(){r.apply(a,arguments),n.apply(a,arguments)}:n):window[t]=e;var r,n,a}Pv.bind(null,"onerror");Pv.bind(null,"onload");var Ev=typeof window>"u",Td="hidden";function Sy(t){if(Ev)return!1;var e=Iy(),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 Iy(){var t=["webkit","moz","ms","o"];return Ev||Td in document?Td:t.reduce(function(e,r){var n=r+"Hidden";return!e&&n in document?n:e},null)}var Py=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function Ey(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=Sy(function(s){s||r({type:"tabVisible"})});return n=[o].concat(Py.map(function(s){return Ko(document,s,r)})).concat(Ko(window,"load",r)).concat(Ko(window,"scroll",r,{capture:!0,passive:!0})),i}function i(){n.map(function(o){return o()})}return a(),function(){return i(),a}}function Ry(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(m){d(),i&&!c&&i(Cr(h),m),a&&c&&(c=!1,a(Cr(r),m),h=new Date),e=setTimeout(function(){c=!0,n&&(r=new Date,n(Cr(h),m))},s)}var p=Ey(v,{throttle:l});return{disable:function(){f=!0,c=!1,d();var m=p();return function(){return f=!1,h=new Date,v({type:"load"}),m()}},getStatus:function(){return{isIdle:c,isDisabled:f,active:c?0:Cr(h,f),idle:c?Cr(r,f):0}}}}function Cr(t,e){return e?0:Math.round((new Date-t)/1e3)}const kd=5e3;class _y{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),Ry({onIdle:r=>this.handleAwake(!1,r),onWakeUp:r=>this.handleAwake(!0,r),timeout:kd}),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*kd: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 Rv(t){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}function Ty(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 Od="sesamy_session_id";function ky(){let t=sessionStorage.getItem(Od);return t||(t=Math.random().toString(36).slice(2,9),sessionStorage.setItem(Od,t)),t}function _v(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)}let Xe={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"}},Tv=[],an;function kv(){const t=window.location.pathname;return Tv.find(e=>e.path?t.includes(e.path):!0)}function Oy(t,e){Tv=t.content||[];const r=kv();r&&r.type==="article"&&(Xe={...Xe,...r.selectors}),an=e}function Cy(t,e){const{selector:r}=e;return r===Xe.article.selector?t:t.querySelector(r)}function Ov(t,e){if(t)return e.attribute?e.attribute==="textContent"?t.textContent??void 0:t.getAttribute(e.attribute)??Ov(t.parentElement,e):t.textContent??void 0}function fr(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 Cv({publisherContentId:t,key:e,defaultValue:r=""}){return(t?document.body.querySelector(`sesamy-content-data[id='${t}']`):null)?.getAttribute(e)||fr(`sesamy:${e}`)||fr(`og:${e}`)||fr(e)||r}function Ay(){const t=document.querySelectorAll(Xe.article.selector);return Array.from(t).map(Ds).filter(e=>e!==null)}function Ds(t){const e=typeof t=="string"?document.querySelector(t):t;if(!e)return null;const r={element:e,selector:typeof t=="string"?t:_v(e)},n=(i,o,s,u)=>{const l=Cy(e,o);if(l){const c=Ov(l,o)||Cv({publisherContentId:s,key:i});c!==void 0&&(r[i]=u?u(c):c)}};n("id",Xe.id),n("title",Xe.title,r.id),n("excerpt",Xe.excerpt,r.id),n("image",Xe.image,r.id),n("price",Xe.price,r.id,i=>parseFloat(i)),n("currency",Xe.currency,r.id),n("url",Xe.url,r.id),n("pass",Xe.pass,r.id),n("accessLevel",Xe.accessLevel,r.id,i=>i||"entitlement");const a=kv();return 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)),r}async function Uy(t,e){const r=typeof t=="string"?document.querySelector(t):t;if(!r)throw new Error("Could not find element");const n=Ds(r);if(!n?.url)throw new Error("Could not find content for element");const a=await an.entitlements.hasAccess(n.url||"",n.pass?.split(",")||[]);if(!a)throw new Error("User does not have access to the content");const i=await an.entitlements.access(a.id);if(!i.token)throw new Error("Could not get access token");const o=e||_v(r.parentElement||r);return an.proxy.getContent(i.token,n.url,o)}let Av=!1,on,mn,ns;function Uv(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:ns,requestId:Math.random().toString(36).slice(2,9),sessionId:ky(),timestamp:new Date().toISOString(),version:$n,event:e.event,context:{...e.context,page:{url:window.location.href,title:document.title,referrer:document.referrer,itemSrc:fr("sesamy:item-src"),publisherContentId:fr("sesamy:publisher-content-id")},campaign:r,locale:navigator.language,library:xs,userAgent:navigator.userAgent,clientId:ns}}}))}const jv=Ty(async t=>{if(t.length>0){const e=Uv(t);Av?navigator.sendBeacon(mn,e):(await fetch(mn,{method:"POST",body:e,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function zo(t){if(t.anonymousId)if(t.properties?.flushing){const e={...t};delete e.properties.flushing,navigator.sendBeacon(mn,Uv([e]))}else jv.push(t)}function jy(){return Av=!0,jv.flush()}function Ly(t,e,r){on=e,mn=`${ht("logs",r)}/events`,ns=t}const Ny={name:"custom-analytics-plugin",page:({payload:t})=>{if(!on)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;zo({anonymousId:r,userId:n,properties:e,event:a,type:"page"})},track:({payload:t})=>{if(!on)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;zo({anonymousId:r,userId:n,properties:e,event:a,type:"track"})},identify:({payload:t})=>{if(!on)return;const{properties:e,anonymousId:r,userId:n}=t;zo({anonymousId:r,userId:n,properties:e,type:"identify"})}},Cd=["source","medium","campaign","term","content"],Ct="utm_",qy=1800*1e3;function Lv(t){return t?Date.now()-parseInt(t,10)>qy:!0}function Ad(){const t=document.referrer||"";if(!t)return;const e=Gt(`${Ct}set_at`);(Lv(e)||!Gt(`${Ct}referrer`))&&vn(`${Ct}referrer`,t)}function xy(){const t=()=>{const r={};for(const a of Cd){const i=Gt(`${Ct}${a}`);i&&(r[`utm_${a}`]=i)}const n=Gt(`${Ct}referrer`);return n&&(r.utm_referrer=n),r};return{name:"attribution-tracking",initialize(){Ad()},campaign({payload:r}){const n=r?.campaign||{},a=Gt(`${Ct}set_at`);if(Object.keys(n).length>0&&Lv(a)){for(const o of Cd){const s=n[o];s&&vn(`${Ct}${o}`,s)}vn(`${Ct}set_at`,String(Date.now()))}Ad()},page({payload:r}){return r.properties.campaign=t(),r},track({payload:r}){return r.properties.campaign=t(),r},getStoredCampaignData:t}}const $y=xy(),Ud=new Map,jd=new Map;function Dy({clientId:t,enabled:e=!0,environment:r}){Ly(t,e,r),e&&(window.addEventListener("beforeunload",()=>{jd.forEach((n,a)=>{n.bind(a)()}),jy()}),window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&Ud.forEach((n,a)=>{n.bind(a)()})}),my(),Rv(()=>{const n=new _y({element:document.body,viewCallback:()=>{bt.page()},activeDurationCallback:(a,i,o)=>{bt.track("activeDuration",{duration:a,durationStart:o,flushing:i})},idleDurationCallback:(a,i,o)=>{bt.track("idleDuration",{duration:a,durationStart:o,flushing:i})},scrollCallback:a=>{bt.track("scroll",{scroll:a.scrollMax})}});jd.set(document.body,()=>{n.flush()}),Ud.set(document.body,()=>{n.handleVisibilityChange()})}),window.addEventListener(Je.AUTHENTICATED,async n=>{const a=n;await bt.identify(a.detail.sub)}),window.addEventListener(Je.LOGOUT,async()=>{await bt.track("logout",{}),await bt.reset()}))}const bt=dy({app:xs,version:$n,plugins:[$y,Ny]});function Nv(t,e){bt.track(t,e)}function qv(t,e,r=!1){const n={name:t,data:e},a=new CustomEvent(t,{detail:n,cancelable:r,bubbles:!0});Nv(`event:${t}`,{...e,timestamp:new Date().toISOString()});const i=window.dispatchEvent(a);return r&&!i?{canceled:!0,message:n.cancellationMessage}:{canceled:!1}}function My(t,e){t.cancelable&&(t.detail.cancellationMessage=e,t.preventDefault())}function Fy(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function Ky(){return/android/i.test(navigator.userAgent)}let qe,xv,Nr,as=!1,sn=!1;qr()&&window.addEventListener("pageshow",()=>{sn=!1});const pr="sesamyAccessToken",Ho="sesamyRefreshToken",gn="sesamySilentAuthThrottle",zy=300*1e3;async function Dn(){return as?!0:new Promise((t,e)=>{const r=setTimeout(()=>{as?t(!0):e(new Error("Initialization failed: Timeout"))},2e3);window.addEventListener(Je.AUTH_INITIALIZED,()=>{clearTimeout(r),t(!0)})})}async function Hy(t){if(!t)return null;const e=localStorage.getItem(Ho);if(!e)return pe("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(Ho),new Error("Renew token failed");const i=await a.json();return localStorage.setItem(Ho,i.refresh_token),localStorage.setItem(pr,i.access_token),i.access_token}catch{Ks()}}async function Ms(){const t=localStorage.getItem(pr);if(!t)return null;const e=zs(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3){const r=await Hy(e);if(r)return r;localStorage.removeItem(pr)}return t}let en=null;const By=64;function Gy(){try{if(en!==null)return en;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===By)return en=!0,!0}}catch(t){pe(`Error checking for existing auth0 tokens: ${t.message}`)}return en=!1,!1}function Wy(t){if(t.domains&&t.domains.length>0){const e=mr(window.location.href);if(e){for(const r of t.domains)if(mr(`https://${r}`)===e)return pe(`Found matching domain in domains array: ${r} for TLD: ${e}`),r;pe(`No matching domain found in domains array for TLD: ${e}`)}}if(t.domain)return pe(`Using fallback domain property: ${t.domain}`),t.domain}function mr(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 Vy(t){if(t.enabled===!1)return;xv=t.organization;const e=Wy(t);Nr=e&&!Gy()?e:tv("token",t.environment);const r={domain:Nr,clientId:t.clientId,useCookiesForTransactions:!0};r.cacheLocation="localstorage",mr(window.location.href)!==mr(`https://${Nr}`)&&(r.useRefreshTokens=!0),pe(`Initializing auth0 client: ${JSON.stringify(r)}`),qe=await Qm(r);const n=new URLSearchParams(window.location.search),a=n.get("code"),i=n.get("state");if(a)if(window.opener)pe("Code found in URL, posting to opener"),window.opener.postMessage({type:"authorization_response",response:{code:a,state:i}},window.location.origin);else{pe("Code found in URL, handling redirect");try{const u=await qe.handleRedirectCallback();pe(`Login result: ${JSON.stringify(u)}`);const l=await qe.getUser();if(!l)throw pe("No user found"),new Error("No user found");pe(`User found ${JSON.stringify(l)}`),Fs(),jt(Je.AUTHENTICATED,l),pe("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())}as=!0,jt(Je.AUTH_INITIALIZED,{})}async function $r(){return await Dn(),await Ms()?!0:qe?qe.isAuthenticated():!1}async function Jy(){return await Dn(),await Ms()?(pe("Using local user"),{sub:"local",name:"Local User"}):qe?qe.getUser():null}function $v(t){if(sn)return pe("Login already in progress"),null;if(sn=!0,setTimeout(()=>{sn=!1},3e3),localStorage.removeItem(pr),!qe)throw new Error("Auth0 client not initialized");const e=t?.authorizationParams||{};return{...t,authorizationParams:{organization:xv,redirect_uri:window.location.href,ui_locales:ln(),incognito:Cs(),...e}}}async function Mn(t){const e=$v(t);if(e)return qe.loginWithRedirect(e)}async function Dv(t){const e=$v(t);if(!e)return;await qe.loginWithPopup(e,{timeoutInSeconds:1800}),Fs(),qv(Je.AUTHENTICATED,await qe.getUser()).canceled||window.location.reload()}async function Zy(t){return Nr&&mr(window.location.href)!==mr(`https://${Nr}`)&&(Fy()||Ky()||Cs())?Dv(t):Mn(t)}function Yy(){try{const t=sessionStorage.getItem(gn);if(!t)return!1;const{timestamp:e}=JSON.parse(t);return Date.now()-e<zy}catch{return sessionStorage.removeItem(gn),!1}}function Xy(){try{const t={timestamp:Date.now()};sessionStorage.setItem(gn,JSON.stringify(t))}catch{pe("Failed to set silent auth throttle in sessionStorage")}}function Fs(){try{sessionStorage.removeItem(gn)}catch{}}async function xt(t=!0,e=!1){await Dn();const r=await Ms();if(r)return r;if(!e&&Yy()){if(pe("Silent auth is throttled due to recent failures, skipping request"),t)throw new Error("Silent auth throttled");return null}try{if(!qe)return pe("Auth client not initialized"),null;let n=await qe.getTokenSilently();const a=zs(n);return e&&a?.exp&&a.exp+3600<new Date().getTime()/1e3&&(n=await qe.getTokenSilently({cacheMode:e?"off":"on"})),Fs(),n}catch(n){const a=n;if(pe(`Failed to get token silently: ${a.message}`),Xy(),await qe.isAuthenticated()&&(a.message==="Invalid refresh token"||a.message.includes("Missing Refresh Token"))&&await Ks(),t)throw n;return null}}async function Ks(t={}){if(await Dn(),localStorage.removeItem(pr),jt(Je.LOGOUT,{}),!!qe)return pe(`Logout with options: ${JSON.stringify(t)}`),qe.logout({...t,logoutParams:{returnTo:window.location.href,...t.logoutParams}})}function zs(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 is(t){const e=zs(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3)throw new Error("Invalid token");pe("Set token"),localStorage.setItem(pr,t),jt(Je.AUTHENTICATED,e)}const Qy=(t,e)=>e.skipDedupe||e.method!=="GET",ew=(t,e)=>e.method+"@"+t,tw=t=>t.clone(),Ld=({skip:t=Qy,key:e=ew,resolver:r=tw}={})=>{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)}}},rw=(t,e)=>t*e,nw=t=>t&&t.ok,Nd=({delayTimer:t=500,delayRamp:e=rw,maxAttempts:r=10,until:n=nw,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(m=>{const P=e(t,f);setTimeout(()=>{typeof a=="function"?Promise.resolve(a({response:d,error:v,url:l,options:c})).then((y={})=>{var b,g;m(u((b=y&&y.url)!==null&&b!==void 0?b:l,(g=y&&y.options)!==null&&g!==void 0?g:c))}):m(u(l,c))},P)}).then(h).catch(m=>{if(!i)throw m;return h(null,m)}):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 aw{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 os(t){let e;try{e=new URL(t)}catch{return!1}return e.protocol==="http:"||e.protocol==="https:"}function Mv(t,e){if(os(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 qd(t){return t.endsWith("/")?t.slice(0,-1):t}function xd(t,e){if(!os(t)||!os(e))return!1;const r=new URL(t),n=new URL(e);return r.origin===n.origin&&qd(r.pathname)===qd(n.pathname)}function iw(t,e,r){const n=new URL(`${ht("checkout3",t.environment)}`);if(e.language&&n.searchParams.set("lang",e.language),e.sku)n.searchParams.set("sku",e.sku),e.purchaseOptionId&&n.searchParams.set("po-id",e.purchaseOptionId);else if(e.itemSrc){const{sku:s,purchaseOption:u,itemSrc:l}=Mv(e.itemSrc,e.purchaseOptionId);l&&n.searchParams.set("url",l),s&&n.searchParams.set("sku",s),u&&n.searchParams.set("po-id",u)}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 a=["_ga","_gid","_fbp","_fbc"];document.cookie.split(";").map(s=>{const[u,l]=s.trim().split("=");return{key:u,value:l}}).filter(s=>a.some(u=>u===s.key)).forEach(s=>{n.searchParams.append(s.key,s.value)});let o=new URL(window.location.href);if(e.redirectUrl)try{o=new URL(e.redirectUrl)}catch{console.warn("Invalid redirect URL provided, using current URL instead:",e.redirectUrl)}return o.searchParams.set("force-refetch-entitlements","true"),e.itemSrc&&o.searchParams.set("sesamy-purchase",e.itemSrc),n.searchParams.set("redirect-url",o.toString()),e.paymentMethodsFilter&&n.searchParams.set("paymentmethods-filter",e.paymentMethodsFilter.flatMap(({provider:s,methods:u})=>u?u.map(l=>`${s}|${l}`):s).join(",")),n}const Fv="sesamySignedURLs";function Hs(){const t=sessionStorage.getItem(Fv);return t?JSON.parse(t):[]}function ow(t){const e=Hs();e.push(t),pe(`Adding signed URL: ${t}`),sessionStorage.setItem(Fv,JSON.stringify(e))}function sw(t){const e={};return Object.keys(t).forEach(r=>{const n=t[r];n!=null&&(e[r]=n.toString())}),e}const ss="sesamyAttribution";function cw(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 uw(t){return Object.keys(t).find(e=>e.startsWith("utm_"))?{utmSource:void 0,utmMedium:void 0,utmCampaign:void 0,...t}:t}function yn(){return cw(ss)||{}}function Kv(t){if(t===null)localStorage.removeItem(ss);else{pe(`Setting attribution ${JSON.stringify(t)}`);const e=yn()??{},r=sw({...e,...uw(t)});localStorage.setItem(ss,JSON.stringify({value:r}))}}function lw(t){const e=t.endpoint||ht("api2",t.environment),r=async()=>{const T=await xt(!0);if(!T)throw new Error("No access token available");return T},n=Ce.client({baseUrl:e,tokenProvider:r,libraryName:xs,libraryVersion:$n,vendorId:t.vendorId,cache:{mode:Ce.CacheMode.BROWSER,storage:new aw}}),a=T=>async(K,J)=>{let re=sessionStorage.getItem(ed);re||(re=Date.now().toString(),sessionStorage.setItem(ed,re));const me={...J,headers:{...J.headers,"Cache-Timestamp":re}};return T(K,me)},i=(T=!0)=>K=>async(J,re)=>{let me=null;if(me=await xt(T),!me){if(T)throw new Error("No access token available");return K(J,re)}const Ke={...re,headers:{...re.headers,...me?{Authorization:`Bearer ${me}`}:{}}};return K(J,Ke)},o=T=>(K,J)=>{if(J.headers&&"Authorization"in J.headers)return T(K,J);const re=localStorage.getItem("__anon_id"),me=btoa(`${t.clientId}|${re}:`),Ke={...J,headers:{...J.headers,Authorization:`Basic ${me}`}};return T(K,Ke)},s=Ce.wretch(e).headers({"Content-Type":"application/json"}).middlewares([a,i(),Ld(),Nd({delayTimer:1e3,delayRamp:(T,K)=>T*K,maxAttempts:3,until:T=>!!(T&&(T.ok||T.status>=400&&T.status<500)),retryOnNetworkError:!1})]),u=Ce.wretch(e).headers({"Content-Type":"application/json"}).middlewares([a,i(!1),o,Ld(),Nd({delayTimer:1e3,delayRamp:(T,K)=>T*K,maxAttempts:3,until:T=>!!(T&&(T.ok||T.status>=400&&T.status<500)),retryOnNetworkError:!1})]);async function l(T={}){const{waitForEntitlementAfter:K,includeSignedLinks:J=!0}=T,re=await $r()?await n.entitlements.list({waitForEntitlementAfter:K?.toISOString()}):[];return J&&re.push(...Hs()),re}async function c(T,K=[]){return(await l())?.find(me=>{const{sku:Ke,purchaseOption:M}=Mv(T);return!!("sku"in me&&Ke===me.sku||M&&"purchaseOptionsId"in me&&M===me.purchaseOptionsId||xd(T,me.url)||K.some(ee=>xd(ee,me.url)))})}async function f(T){return n.entitlements.get(T)}async function h(T){return n.entitlements.getAccess(T)}async function d(T,K,J){const re=new URL(ht("api2",t.environment));return re.pathname="/proxy",re.searchParams.set("url",K),J&&re.searchParams.set("selector",J),Ce.wretch(re.toString()).headers({Authorization:`Bearer ${T}`}).get().text()}async function v(T){if(!T)throw new Error("SKU is required to get fulfillments");return await $r()?await s.get(`/fulfillments?sku=${encodeURIComponent(T)}`).json():[]}async function p(T,K){if(!T||!K)throw new Error("SKU and itemId are required to request delivery");return(await s.post({sku:T},`/fulfillments/${encodeURIComponent(K)}/request-delivery?`).res()).ok}async function m(){return s.get("/contracts").json()}async function P(T){return(await s.get("/contracts").json())?.find(J=>J.id===T)}async function y(T){const K=await s.post({},`/contracts/${encodeURIComponent(T)}/cancel`).res();return Ce.clearCache(),K.ok}async function b(){return console.warn("getSubscriptions is deprecated, use getContracts instead"),s.get("/subscriptions").json()}async function g(){return s.get("/bills").json()}async function w(T){return(await s.get("/bills").json())?.find(J=>J.id===T)}async function A(){return s.get("/transactions").json()}async function x(T){return(await s.get("/transactions").json())?.find(J=>J.id===T)}async function N(T,K){const J=await s.url(`/user-metadata/${encodeURIComponent(T)}`).put(K).json();return jt(Je.USER_ATTRIBUTE_CHANGED,{}),Ce.clearCache(),J}async function z(T){const K=await s.url(`/user-metadata/${encodeURIComponent(T)}`).delete().res();return Ce.clearCache(),K.ok}async function B(){return await s.url("/user-metadata").get().json()}async function ie(T){return(await B())[T]||null}async function j(){return await s.url("/tags").get().json()}async function D(T){const K=await s.url(`/tags/${encodeURIComponent(T)}`).delete().res();return Ce.clearCache(),K.ok}async function L(T){const K=await s.url("/tags").post(encodeURIComponent(T)).res();return jt(Je.USER_ATTRIBUTE_CHANGED,{}),Ce.clearCache(),K.ok}async function k(T){return(await u.url("/tallies").get().json())[T]}async function Y(){return await u.url("/tallies").get().json()}async function te(T){const K=await u.url(`/tallies/${T}`).delete().res();return Ce.clearCache(),K.ok}async function Q(T,K){return await u.url(`/tallies/${encodeURIComponent(T)}/push`).post(K).json()}async function S(T){return n.products.get(T)}async function _(){return await xt(!1)?await s.url("/profile").get().json():null}async function q(T){const K=await s.url("/profile").patch(T).res();return Ce.clearCache(),K.ok}async function F(){return await s.url("/payment-issues").get().json()}async function Z(){return(await s.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function V(){return(await s.url("/profile/unlink-spotify").post().res()).ok}async function he(T){const K=await xt(!1);if(!K)throw new Error("No access token available");const J=new URL(`${ht("access-sync",t.environment)}/spotify/sesamy-callback`);J.searchParams.set("access_token",K),J.searchParams.set("state",T),window.location.href=J.toString()}async function oe(T){const K=await s.url(`/products/${encodeURIComponent(T)}/auto-onboard`).post().json();return K.length&&Ce.clearCache(),K}async function le(T,K=3600){const{shortlink:J}=await Ce.wretch(rg).post({url:T,ttl:K}).json();return J}async function se(T){const K=await xt(!1,!0);let J;const re=T.language||ln(),me=yn();switch(T.target){case"account":J=new URL(`${ht("account",t.environment)}/${encodeURIComponent(T.language||re)}/subscriptions/${encodeURIComponent(t.clientId)}${T.contractId?`/${encodeURIComponent(T.contractId)}`:""}`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"change-payment":J=new URL(`${ht("account",t.environment)}/${encodeURIComponent(T.language||re)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.contractId)}/change-payment-method`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"change-plan":J=new URL(`${ht("account",t.environment)}/${encodeURIComponent(T.language||re)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.contractId)}/edit-plan`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"consume":J=new URL(`${ht("consume",t.environment)}/${encodeURIComponent(T.language||re)}/@${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.sku)}`),T.episodeId?J.href+=`/${T.episodeId}`:J.href+="/listen",J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"checkout":J=iw(t,{language:re,...T},me);break;default:throw new Error("Invalid target")}return K&&(J.hash=`#access_token=${K}`),T.shorten?le(J.href,T.ttl):J.href}async function Re(T){const K=yn(),J=["_ga","_gid","_fbp","_fbc"];return document.cookie.split(";").forEach(me=>{const Ke=K,[M,ee]=me.trim().split("=");J.includes(M)&&!Ke[M]&&(Ke[M]=ee)}),(await u.url("/checkouts").post({language:ln(),...T,attribution:{...K,...T.attribution},vendorId:t.vendorId})).json()}async function Ue(T,K){return(await u.url(`/checkouts/${T}`).patch(K)).json()}async function Fe(T){return(await u.url(`/checkouts/${T}`).get()).json()}async function ke(T){return(await u.url(`/paywalls/${T}`).get()).json()}async function Ze(){return(await u.url("/vendor").get()).json()}async function ut(){return(await s.url("/vendors").get()).json()}async function lt(T){return(await s.url(`/contracts/${encodeURIComponent(T.contractId)}/amendments`).post({amendmentType:T.amendmentType,discountCode:T.discountCode})).json()}async function mt(T){return await s.url(`/amendments/${encodeURIComponent(T)}/confirm`).post(),!0}async function gt(){const T=await xt(!1),K=new URL(`${ht("account",t.environment)}/subscriptions/${t.clientId}`);T&&(K.hash=`#access_token=${T}`),window.location.href=K.toString()}return{autoOnboardProduct:oe,cancelContract:y,confirmAmendment:mt,createAmendment:lt,createCheckout:Re,deleteTag:D,deleteTally:te,deleteUserMetadata:z,generateLink:se,getBill:w,getBills:g,getCheckout:Fe,getProxyContent:d,getContract:P,getContracts:m,getEntitlement:f,getEntitlementAccess:h,getEntitlements:l,getFulfillments:v,requestDelivery:p,getPaywall:ke,getPaymentIssues:F,getProfile:_,getProduct:S,getSubscriptions:b,getTally:k,getTallies:Y,getTags:j,getTransaction:x,getTransactions:A,getUserMetadata:ie,hasAccess:c,isSpotifyLinked:Z,linkSpotify:he,listUserMetadata:B,openHostedAccountPage:gt,pushTally:Q,setTag:L,setUserMetadata:N,unlinkSpotify:V,updateCheckout:Ue,updateProfile:q,getVendorSettings:Ze,listVendors:ut}}const fw=["AdHeader","AdContainer","AD_Top","homead","ad-lead"];function dw(){return new Promise(t=>{const e=fw.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 hw(){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}}const zv="sesamyFlags";async function Hv(t){try{localStorage.setItem(zv,JSON.stringify(t))}catch{pe("Failed to save flags to localStorage")}}async function vw(t,e){const r=await Fn();r[t]=e,await Hv(r)}async function pw(t){return(await Fn())[t]}async function mw(t){const e=await Fn();t in e&&(delete e[t],await Hv(e))}async function Fn(){try{const t=localStorage.getItem(zv);return t?JSON.parse(t):{}}catch{return{}}}function gw(t){const{autoOnboardProduct:e,cancelContract:r,createCheckout:n,deleteTag:a,deleteTally:i,deleteUserMetadata:o,generateLink:s,getBill:u,getBills:l,getCheckout:c,getContract:f,getContracts:h,getEntitlement:d,getEntitlementAccess:v,getEntitlements:p,getFulfillments:m,getPaywall:P,getPaymentIssues:y,getProfile:b,getProduct:g,getProxyContent:w,getSubscriptions:A,getTags:x,getTally:N,getTallies:z,getTransaction:B,getTransactions:ie,getUserMetadata:j,getVendorSettings:D,listVendors:L,hasAccess:k,isSpotifyLinked:Y,linkSpotify:te,listUserMetadata:Q,openHostedAccountPage:S,pushTally:_,requestDelivery:q,setTag:F,setUserMetadata:Z,unlinkSpotify:V,updateCheckout:he,updateProfile:oe}=lw(t),le={analytics:{track:Nv},attribution:{get:yn,set:Kv},auth:{getUser:b,getTokenSilently:xt,isAuthenticated:$r,loginWithRedirect:Mn,loginWithPopup:Dv,login:Zy,logout:Ks,setToken:is},bills:{get:u,list:l},browser:{detectAdblock:dw,isInAppBrowser:hw,isIncognito:Cs},checkouts:{create:n,get:c,update:he},clearCache:Ce.clearCache,content:{list:Ay,get:Ds,getLanguage:ln,unlock:Uy,getPropertyFromHTML:Cv},contracts:{cancel:r,get:f,list:h},entitlements:{access:v,get:d,hasAccess:k,list:p,signedLinks:Hs},events:{emit:qv,cancel:My},flags:{get:pw,set:vw,list:Fn,delete:mw},fulfillments:{list:m,requestDelivery:q},generateLink:s,getPaymentIssues:y,getVersion:yw,isReady:()=>exports.isInitialized,log:pe,paywalls:{get:P},products:{autoOnboard:e,get:g,linkSpotify:te},profile:{get:b,isSpotifyLinked:Y,openHostedAccountPage:S,unlinkSpotify:V,update:oe},proxy:{getContent:w},subscriptions:{list:A},tags:{delete:a,list:x,set:F},tallies:{delete:i,get:N,list:z,push:_},transactions:{get:B,list:ie},userMetadata:{delete:o,get:j,list:Q,set:Z},vendors:{get:D,list:L},setToken:is};return t.namespace&&(window[t.namespace]=le),le}function yw(){return $n}function ww(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
|
+
`))}})(N.methodName,N.pluginName),Promise.resolve(N.method({payload:B,instance:n,abort:(ie=B,j=b,D=N.pluginName,function(L,k){return ae({},ie,{abort:{reason:L,plugins:k||[j],caller:f,from:D||j}})}),config:dd(N.pluginName,l,i),plugins:l})).then(function(L){var k=We(L)?L:{};return Promise.resolve(ae({},B,k))})):B;var ie,j,D})},Promise.resolve(r))).then(function(x){g[b]=x});g[b]=r})();return A&&A.then?A.then(w):w()})},Promise.resolve({}))).then(function(m){return Promise.resolve(e.exact.reduce(function(P,y,b){try{var g=e.exact.length===b+1,w=y.pluginName,A=i[w];return Promise.resolve(P).then(function(x){var N=m[w]?m[w]:{};if(h&&(N=x),$o(N,w))return xo({data:N,method:f,instance:n,pluginName:w,store:s}),Promise.resolve(x);if($o(x,w))return g&&xo({data:x,method:f,instance:n,store:s}),Promise.resolve(x);if(p.hasOwnProperty(w)&&p[w]===!0)return s.dispatch({type:"queue",plugin:w,payload:N,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(x);var z=v(m[w],i[w]);return Promise.resolve(A[f]({abort:z.abort,payload:N,instance:n,config:dd(w,l,i),plugins:l})).then(function(B){var ie=We(B)?B:{},j=ae({},x,ie),D=m[w];if($o(D,w))xo({data:D,method:f,instance:n,pluginName:w,store:s});else{var L=f+":"+w;(L.match(/:/g)||[]).length<2&&!f.match(ld)&&!f.match(fd)&&n.dispatch(ae({},h?j:N,{type:L,_:{called:L,from:"submethod"}}))}return Promise.resolve(j)})})}catch(x){return Promise.reject(x)}},Promise.resolve(r))).then(function(P){if(!(f.match(ur)||f.match(/^registerPlugin/)||f.match(fd)||f.match(ld)||f.match(/^params/)||f.match(/^userIdChanged/))){if(u.plugins.includes(f),P._&&P._.originalAction===f)return P;var y=ae({},P,{_:{originalAction:P.type,called:P.type,from:"engineEnd"}});dv(P,e.exact.length)&&!f.match(/End$/)&&(y=ae({},y,{type:P.type+"Aborted"})),s.dispatch(y)}return P})})}catch(m){return Promise.reject(m)}},ur=/Start$/,ld=/^bootstrap/,fd=/^ready/;function xo(t){var e=t.pluginName,r=t.method+"Aborted"+(e?":"+e:"");t.store.dispatch(ae({},t.data,{type:r,_:{called:r,from:"abort"}}))}function dd(t,e,r){var n=e[t]||r[t];return n&&n.config?n.config:{}}function hd(t,e){return e.reduce(function(r,n){return n[t]?r.concat({methodName:t,pluginName:n.name,method:n[t]}):r},[])}function vd(t,e){var r=t.replace(ur,""),n=e?":"+e:"";return[""+t+n,""+r+n,r+"End"+n]}function $o(t,e){var r=t.abort;return!!r&&(r===!0||pd(r,e)||r&&pd(r.plugins,e))}function dv(t,e){var r=t.abort;if(!r)return!1;if(r===!0||At(r))return!0;var n=r.plugins;return xr(r)&&r.length===e||xr(n)&&n.length===e}function xr(t){return Array.isArray(t)}function pd(t,e){return!(!t||!xr(t))&&t.includes(e)}function md(t){var e=t.match(/(.*):(.*)/);return!!e&&{method:e[1],name:e[2]}}function Dg(t){return Object.keys(t).reduce(function(e,r){return r==="type"||(e[r]=We(t[r])?Object.assign({},t[r]):t[r]),e},{})}function Mg(t,e,r){var n={};return function(a){return function(i){return function(o){try{var s,u=function(g){return s?g:i(f)},l=o.type,c=o.plugins,f=o;if(o.abort)return Promise.resolve(i(o));if(l===ne.enablePlugin&&a.dispatch({type:ne.initializeStart,plugins:c,disabled:[],fromEnable:!0,meta:o.meta}),l===ne.disablePlugin&&setTimeout(function(){return ud(o.meta.rid,{payload:o})},0),l===ne.initializeEnd){var h=e(),d=Object.keys(h),v=d.filter(function(g){return c.includes(g)}).map(function(g){return h[g]}),p=[],m=[],P=o.disabled,y=v.map(function(g){var w=g.loaded,A=g.name,x=g.config;return lv(g,function(){return w({config:x})},1e4).then(function(N){return n[A]||(a.dispatch({type:ne.pluginReadyType(A),name:A,events:Object.keys(g).filter(function(z){return!es.includes(z)})}),n[A]=!0),p=p.concat(A),g}).catch(function(N){if(N instanceof Error)throw new Error(N);return m=m.concat(N.name),N})});Promise.all(y).then(function(g){var w={plugins:p,failed:m,disabled:P};setTimeout(function(){d.length===y.length+P.length&&a.dispatch(ae({},{type:ne.ready},w))},0)})}var b=(function(){if(l!==ne.bootstrap)return/^ready:([^:]*)$/.test(l)&&setTimeout(function(){return fv(a,e,t)},0),Promise.resolve((function(g,w,A,x,N){try{var z=Ve(w)?w():w,B=g.type,ie=B.replace(ur,"");if(g._&&g._.called)return Promise.resolve(g);var j=A.getState(),D=(Y=z,(te=j.plugins)===void 0&&(te={}),(Q=g.options)===void 0&&(Q={}),Object.keys(Y).filter(function(S){var _=Q.plugins||{};return bg(_[S])?_[S]:_.all!==!1&&(!te[S]||te[S].enabled!==!1)}).map(function(S){return Y[S]}));B===ne.initializeStart&&g.fromEnable&&(D=Object.keys(j.plugins).filter(function(S){var _=j.plugins[S];return g.plugins.includes(S)&&!_.initialized}).map(function(S){return z[S]}));var L=D.map(function(S){return S.name}),k=(function(S,_){var q=vd(S).map(function(F){return hd(F,_)});return _.reduce(function(F,Z){var V=Z.name,he=vd(S,V).map(function(Re){return hd(Re,_)}),oe=he[0],le=he[1],se=he[2];return oe.length&&(F.beforeNS[V]=oe),le.length&&(F.duringNS[V]=le),se.length&&(F.afterNS[V]=se),F},{before:q[0],beforeNS:{},during:q[1],duringNS:{},after:q[2],afterNS:{}})})(B,D);return Promise.resolve(qo({action:g,data:{exact:k.before,namespaced:k.beforeNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(S){function _(){var Z=(function(){if(B.match(ur))return Promise.resolve(qo({action:ae({},q,{type:ie+"End"}),data:{exact:k.after,namespaced:k.afterNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(V){V.meta&&V.meta.hasCallback&&ud(V.meta.rid,{payload:V})})})();return Z&&Z.then?Z.then(function(){return S}):S}if(dv(S,L.length))return S;var q,F=(function(){if(B!==ie)return Promise.resolve(qo({action:ae({},S,{type:ie}),data:{exact:k.during,namespaced:k.duringNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(Z){q=Z});q=S})();return F&&F.then?F.then(_):_()})}catch(S){return Promise.reject(S)}var Y,te,Q})(o,e,t,a,r)).then(function(g){var w=i(g);return s=1,w})})();return Promise.resolve(b&&b.then?b.then(u):u(b))}catch(g){return Promise.reject(g)}}}}}function Fg(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===ne.setItem||a===ne.removeItem){if(n.abort)return r(n);a===ne.setItem?t.setItem(i,o,s):t.removeItem(i,s)}return r(n)}}}}var Kg=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 vr.apply(void 0,o)(n)(a)}}}}};function zg(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=gd(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},ae({},e,n)}if(/^initialize:([^:]*)$/.test(r.type)){var u=gd(r.type,ne.initialize),l=t()[u];return l&&u?(n[u]=ae({},e[u],{initialized:!0,loaded:!!l.loaded({config:l.config})}),ae({},e,n)):e}if(/^ready:([^:]*)$/.test(r.type))return n[r.name]=ae({},e[r.name],{loaded:!0}),ae({},e,n);switch(r.type){case ne.disablePlugin:return ae({},e,yd(r.plugins,!1,e));case ne.enablePlugin:return ae({},e,yd(r.plugins,!0,e));default:return e}}}function gd(t,e){return t.substring(e.length+1,t.length)}function yd(t,e,r){return t.reduce(function(n,a){return n[a]=ae({},r[a],{enabled:e}),n},r)}function hv(t){try{return JSON.parse(JSON.stringify(t))}catch{}return t}var Hg={last:{},history:[]};function Bg(t,e){t===void 0&&(t=Hg);var r=e.options,n=e.meta;if(e.type===ne.track){var a=hv(ae({event:e.event,properties:e.properties},Object.keys(r).length&&{options:r},{meta:n}));return ae({},t,{last:a,history:t.history.concat(a)})}return t}var Gg={actions:[]};function Wg(t,e){t===void 0&&(t=Gg);var r=e.payload;switch(e.type){case"queue":var n;return n=r&&r.type&&r.type===ne.identify?[e].concat(t.actions):t.actions.concat(e),ae({},t,{actions:n});case"dequeue":return[];default:return t}}var vv=/#.*$/;function Vg(t){var e=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(t);return"/"+(e&&e[3]?e[3].split("?")[0].replace(vv,""):"")}var pv,mv,gv,yv,Jg=function(t){if(t===void 0&&(t={}),!xe)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(xe){for(var v,p=document.getElementsByTagName("link"),m=0;v=p[m];m++)if(v.getAttribute("rel")==="canonical")return v.getAttribute("href")}})();return d?d.match(/\?/)?d:d+h:window.location.href.replace(vv,"")})(l),f={title:r,url:c,path:Vg(c),hash:u,search:l,width:o,height:s};return n&&n!==""&&(f.referrer=n),ae({},f,t)},Zg={last:{},history:[]};function Yg(t,e){t===void 0&&(t=Zg);var r=e.options;if(e.type===ne.page){var n=hv(ae({properties:e.properties,meta:e.meta},Object.keys(r).length&&{options:r}));return ae({},t,{last:n,history:t.history.concat(n)})}return t}pv=(function(){if(!xe)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"})(),mv=xe?document.referrer:null,gv=Tg(),yv=kg();var wd={initialized:!1,sessionId:Nn(),app:null,version:null,debug:!1,offline:!!xe&&!navigator.onLine,os:{name:pv},userAgent:xe?navigator.userAgent:"node",library:{name:Qo,version:"0.13.1"},timezone:yv,locale:gv,campaign:{},referrer:mv};function Xg(t,e){t===void 0&&(t=wd);var r=t.initialized,n=e.campaign;switch(e.type){case ne.campaign:return ae({},t,{campaign:n});case ne.offline:return ae({},t,{offline:!0});case ne.online:return ae({},t,{offline:!1});default:return r?t:ae({},wd,t,{initialized:!0})}}var Qg=["plugins","reducers","storage"];function ey(t,e,r){if(xe){var n=window[(r?"add":"remove")+"EventListener"];t.split(" ").forEach(function(a){n(a,e)})}}function ty(t){var e=ey.bind(null,"online offline",function(r){return Promise.resolve(!navigator.onLine).then(t)});return e(!0),function(r){return e(!1)}}function wv(){return Jt(Qo,[]),function(t){return function(e,r,n){var a=t(e,r,n),i=a.dispatch;return Object.assign(a,{dispatch:function(o){return hr[dr][Qo].push(o.action||o),i(o)}})}}}function bd(t){return function(){return vr(vr.apply(null,arguments),wv())}}function Do(t){return t?ov(t)?t:[t]:[]}function Sd(t,e,r){t===void 0&&(t={});var n,a,i=Nn();return e&&(Ar[i]=(n=e,a=(function(o){for(var s,u=o||Array.prototype.slice.call(arguments),l=0;l<u.length;l++)if(Ve(u[l])){s=u[l];break}return s})(r),function(o){a&&a(o),n(o)})),ae({},t,{rid:i,ts:new Date().getTime()},e?{hasCallback:!0}:{})}function ry(t){t===void 0&&(t={});var e=t.reducers||{},r=t.initialUser||{},n=(t.plugins||[]).reduce(function(S,_){if(Ve(_))return S.middlewares=S.middlewares.concat(_),S;if(_.NAMESPACE&&(_.name=_.NAMESPACE),!_.name)throw new Error("https://lytics.dev/errors/1");_.config||(_.config={});var q=_.EVENTS?Object.keys(_.EVENTS).map(function(V){return _.EVENTS[V]}):[];S.pluginEnabled[_.name]=!(_.enabled===!1||_.config.enabled===!1),delete _.enabled,_.methods&&(S.methods[_.name]=Object.keys(_.methods).reduce(function(V,he){var oe;return V[he]=(oe=_.methods[he],function(){for(var le=Array.prototype.slice.call(arguments),se=new Array(oe.length),Re=0;Re<le.length;Re++)se[Re]=le[Re];return se[se.length]=w,oe.apply({instance:w},se)}),V},{}),delete _.methods);var F=Object.keys(_).concat(q),Z=new Set(S.events.concat(F));if(S.events=Array.from(Z),S.pluginsArray=S.pluginsArray.concat(_),S.plugins[_.name])throw new Error(_.name+"AlreadyLoaded");return S.plugins[_.name]=_,S.plugins[_.name].loaded||(S.plugins[_.name].loaded=function(){return!0}),S},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),a=t.storage?t.storage:{getItem:Vt,setItem:Jt,removeItem:Ir},i=(function(S){return function(_,q,F){return q.getState("user")[_]||(F&&We(F)&&F[_]?F[_]:cd(S)[_]||Vt(ts(_))||null)}})(a),o=n.plugins,s=n.events.filter(function(S){return!es.includes(S)}).sort(),u=new Set(s.concat(nn).filter(function(S){return!es.includes(S)})),l=Array.from(u).sort(),c=function(){return o},f=new Kg,h=f.addMiddleware,d=f.removeMiddleware,v=f.dynamicMiddlewares,p=function(){throw new Error("Abort disabled inListener")},m=Og(),P=cd(a),y=ae({},P,r,m.an_uid?{userId:m.an_uid}:{},m.an_aid?{anonymousId:m.an_aid}:{});y.anonymousId||(y.anonymousId=Nn());var b=ae({enable:function(S,_){return new Promise(function(q){k.dispatch({type:ne.enablePlugin,plugins:Do(S),_:{originalAction:ne.enablePlugin}},q,[_])})},disable:function(S,_){return new Promise(function(q){k.dispatch({type:ne.disablePlugin,plugins:Do(S),_:{originalAction:ne.disablePlugin}},q,[_])})}},n.methods),g=!1,w={identify:function(S,_,q,F){try{var Z=At(S)?S:null,V=We(S)?S:_,he=q||{},oe=w.user();Jt(ts(kt),Z);var le=Z||V.userId||i(kt,w,V);return Promise.resolve(new Promise(function(se){k.dispatch(ae({type:ne.identifyStart,userId:le,traits:V||{},options:he,anonymousId:oe.anonymousId},oe.id&&oe.id!==Z&&{previousId:oe.id}),se,[_,q,F])}))}catch(se){return Promise.reject(se)}},track:function(S,_,q,F){try{var Z=We(S)?S.event:S;if(!Z||!At(Z))throw new Error("EventMissing");var V=We(S)?S:_||{},he=We(q)?q:{};return Promise.resolve(new Promise(function(oe){k.dispatch({type:ne.trackStart,event:Z,properties:V,options:he,userId:i(kt,w,_),anonymousId:i(sr,w,_)},oe,[_,q,F])}))}catch(oe){return Promise.reject(oe)}},page:function(S,_,q){try{var F=We(S)?S:{},Z=We(_)?_:{};return Promise.resolve(new Promise(function(V){k.dispatch({type:ne.pageStart,properties:Jg(F),options:Z,userId:i(kt,w,F),anonymousId:i(sr,w,F)},V,[S,_,q])}))}catch(V){return Promise.reject(V)}},user:function(S){if(S===kt||S==="id")return i(kt,w);if(S===sr||S==="anonId")return i(sr,w);var _=w.getState("user");return S?rd(_,S):_},reset:function(S){return new Promise(function(_){k.dispatch({type:ne.resetStart},_,S)})},ready:function(S){return g&&S({plugins:b,instance:w}),w.on(ne.ready,function(_){S&&S(_),g=!0})},on:function(S,_){if(!S||!Ve(_))return!1;if(S===ne.bootstrap)throw new Error(".on disabled for "+S);var q=/Start$|Start:/;if(S==="*"){var F=function(oe){return function(le){return function(se){return se.type.match(q)&&_({payload:se,instance:w,plugins:o}),le(se)}}},Z=function(oe){return function(le){return function(se){return se.type.match(q)||_({payload:se,instance:w,plugins:o}),le(se)}}};return h(F,Zr),h(Z,Yr),function(){d(F,Zr),d(Z,Yr)}}var V=S.match(q)?Zr:Yr,he=function(oe){return function(le){return function(se){return se.type===S&&_({payload:se,instance:w,plugins:o,abort:p}),le(se)}}};return h(he,V),function(){return d(he,V)}},once:function(S,_){if(!S||!Ve(_))return!1;if(S===ne.bootstrap)throw new Error(".once disabled for "+S);var q=w.on(S,function(F){_({payload:F.payload,instance:w,plugins:o,abort:p}),q()});return q},getState:function(S){var _=k.getState();return S?rd(_,S):Object.assign({},_)},dispatch:function(S){var _=At(S)?{type:S}:S;if(nn.includes(_.type))throw new Error("reserved action "+_.type);var q=ae({},_,{_:ae({originalAction:_.type},S._||{})});k.dispatch(q)},enablePlugin:b.enable,disablePlugin:b.disable,plugins:b,storage:{getItem:a.getItem,setItem:function(S,_,q){k.dispatch({type:ne.setItemStart,key:S,value:_,options:q})},removeItem:function(S,_){k.dispatch({type:ne.removeItemStart,key:S,options:_})}},setAnonymousId:function(S,_){w.storage.setItem(Ut,S,_)},events:{core:nn,plugins:s}},A=n.middlewares.concat([function(S){return function(_){return function(q){return q.meta||(q.meta=Sd()),_(q)}}},v(Zr),Mg(w,c,{all:l,plugins:s}),Fg(a),Ng(w),xg(w),v(Yr)]),x={context:Xg,user:qg(a),page:Yg,track:Bg,plugins:zg(c),queue:Wg},N=vr,z=vr;if(xe&&t.debug){var B=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;B&&(N=B({trace:!0,traceLimit:25})),z=function(){return arguments.length===0?wv():We(typeof arguments[0])?bd():bd().apply(null,arguments)}}var ie,j=(function(S){return Object.keys(S).reduce(function(_,q){return Qg.includes(q)||(_[q]=S[q]),_},{})})(t),D=n.pluginsArray.reduce(function(S,_){var q=_.name,F=_.config,Z=_.loaded,V=n.pluginEnabled[q];return S[q]={enabled:V,initialized:!!V&&!_.initialize,loaded:!!Z({config:F}),config:F},S},{}),L={context:j,user:y,plugins:D},k=uv((function(S){for(var _=Object.keys(S),q={},F=0;F<_.length;F++){var Z=_[F];typeof S[Z]===Ot&&(q[Z]=S[Z])}var V,he=Object.keys(q);try{(function(oe){Object.keys(oe).forEach(function(le){var se=oe[le];if(typeof se(void 0,{type:Xo})===It||typeof se(void 0,{type:Ug})===It)throw new Error(Lr+" "+le+" "+It)})})(q)}catch(oe){V=oe}return function(oe,le){if(oe===void 0&&(oe={}),V)throw V;for(var se=!1,Re={},Ue=0;Ue<he.length;Ue++){var Fe=he[Ue],ke=oe[Fe],Ze=(0,q[Fe])(ke,le);if(typeof Ze===It){var ut=jg(Fe,le);throw new Error(ut)}Re[Fe]=Ze,se=se||Ze!==ke}return se?Re:oe}})(ae({},x,e)),L,z(N(Lg.apply(void 0,A))));k.dispatch=(ie=k.dispatch,function(S,_,q){var F=ae({},S,{meta:Sd(S.meta,_,Do(q))});return ie.apply(null,[F])});var Y=Object.keys(o);k.dispatch({type:ne.bootstrap,plugins:Y,config:j,params:m,user:y,initialUser:r,persistedUser:P});var te=Y.filter(function(S){return n.pluginEnabled[S]}),Q=Y.filter(function(S){return!n.pluginEnabled[S]});return k.dispatch({type:ne.registerPlugins,plugins:Y,enabled:n.pluginEnabled}),n.pluginsArray.map(function(S,_){var q=S.bootstrap,F=S.config,Z=S.name;q&&Ve(q)&&q({instance:w,config:F,payload:S}),k.dispatch({type:ne.registerPluginType(Z),name:Z,enabled:n.pluginEnabled[Z],plugin:S}),n.pluginsArray.length===_+1&&k.dispatch({type:ne.initializeStart,plugins:te,disabled:Q})}),ty(function(S){k.dispatch({type:S?ne.offline:ne.online})}),(function(S,_,q){setInterval(function(){return fv(S,_,q)},3e3)})(k,c,w),w}var Zr="before",Yr="after",Bt="cookie",Mt=Iv(),bv=qn,ny=qn;function Sv(t){return Mt?qn(t,"",-1):Ir(t)}function Iv(){if(Mt!==void 0)return Mt;var t=Bt+Bt;try{qn(t,t),Mt=document.cookie.indexOf(t)!==-1,Sv(t)}catch{Mt=!1}return Mt}function qn(t,e,r,n,a,i){if(typeof window<"u"){var o=arguments.length>1;return Mt===!1&&(o?Jt(t,e):Vt(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 Pt="localStorage",ay=As.bind(null,Pt);Pr(Pt,"getItem",Vt);Pr(Pt,"setItem",Jt);Pr(Pt,"removeItem",Ir);var Et="sessionStorage",iy=As.bind(null,Et);Pr(Et,"getItem",Vt);Pr(Et,"setItem",Jt);Pr(Et,"removeItem",Ir);function lr(t){var e=t;try{if((e=JSON.parse(t))==="true")return!0;if(e==="false")return!1;if(We(e))return e;parseFloat(e)===e&&(e=parseFloat(e))}catch{}if(e!==null&&e!=="")return e}var oy=ay(),sy=iy(),cy=Iv();function Gt(t,e){if(t){var r=Us(e),n=!qs(r),a=js(r)?lr(localStorage.getItem(t)):void 0;if(n&&!or(a))return a;var i=Ls(r)?lr(bv(t)):void 0;if(n&&i)return i;var o=Ns(r)?lr(sessionStorage.getItem(t)):void 0;if(n&&o)return o;var s=Vt(t);return n?s:{localStorage:a,sessionStorage:o,cookie:i,global:s}}}function vn(t,e,r){if(t&&!or(e)){var n={},a=Us(r),i=JSON.stringify(e),o=!qs(a);return js(a)&&(n[Pt]=Xr(Pt,e,lr(localStorage.getItem(t))),localStorage.setItem(t,i),o)?n[Pt]:Ls(a)&&(n[Bt]=Xr(Bt,e,lr(bv(t))),ny(t,i),o)?n[Bt]:Ns(a)&&(n[Et]=Xr(Et,e,lr(sessionStorage.getItem(t))),sessionStorage.setItem(t,i),o)?n[Et]:(n[zt]=Xr(zt,e,Vt(t)),Jt(t,e),o?n[zt]:n)}}function uy(t,e){if(t){var r=Us(e),n=Gt(t,nv),a={};return!or(n.localStorage)&&js(r)&&(localStorage.removeItem(t),a[Pt]=n.localStorage),!or(n.cookie)&&Ls(r)&&(Sv(t),a[Bt]=n.cookie),!or(n.sessionStorage)&&Ns(r)&&(sessionStorage.removeItem(t),a[Et]=n.sessionStorage),!or(n.global)&&xn(r,zt)&&(Ir(t),a[zt]=n.global),a}}function Us(t){return t?At(t)?t:t.storage:rv}function js(t){return oy&&xn(t,Pt)}function Ls(t){return cy&&xn(t,Bt)}function Ns(t){return sy&&xn(t,Et)}function qs(t){return t===nv||t==="all"}function xn(t,e){return t===rv||t===e||qs(t)}function Xr(t,e,r){return{location:t,current:e,previous:r}}var ly={setItem:vn,getItem:Gt,removeItem:uy};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 Id(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 Pd(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Id(Object(r),!0).forEach(function(n){fy(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Id(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function dy(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e={storage:ly};return ry(Pd(Pd({},e),t))}const xs="@sesamy/sesamy-js",$n="1.52.0";function hy(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=py(l);return a!==c&&(a=c,setTimeout(()=>t(l),0)),s.apply(r,u)}})}function vy(t,e){const r=t.indexOf(e);return r>-1?t.slice(0,r):t}function py(t){return["#","?"].forEach(e=>t=vy(t,e)),t}function my(){hy(()=>{bt.page()})}var Mo="up",Fo="down";function gy(t){if(t===void 0&&(t={}),!xe)return Yo;var e=Rd(),r=rs(),n=Ed(),a=Qr(n,e),i=Qr(r,e),o=[],s=[],u=[],l=n,c=a,f=i,h=Object.keys(t);if(!h.length)return Yo;var d=h.map(function(p){return Number(p)}),v=Ag(function(){var p=Rd(),m=(function(j,D){return D.map(function(L){return L===100?j-5:j*(L/100)})})(p,d),P=rs(),y=Ed(),b=Qr(y,p),g=Qr(P,p);if(c=b>c?b:c,f=g<f?g:f,!(o.length>=d.length)){var w=l===y,A=Mo;w?A="initial":l<=y&&(A=Fo);var x=m,N=d;(A===Mo||w)&&(x=m.slice().reverse(),N=d.slice().reverse());var z=N.reduce(function(j,D,L){var k=x[L];return u.includes(D)&&y<=k&&(u=u.filter(function(Y){return Y!==D}),j.singleFunction=D),A===Fo&&!o.includes(D)&&y>=k&&D>i?(s.push(D),j.callbacks=j.callbacks.concat(D),j):A===Mo&&!o.includes(D)&&y<=k&&D<=b?(j.foundFunc=[D],j):(w&&y>=k&&j.foundFunc.length===0&&(j.foundFunc=[D]),!s.includes(D)&&y>=k&&(s.push(D),j.singleFunction?u.push(D):j.singleFunction=D),j)},{foundFunc:[],singleFunction:null,callbacks:[],direction:A});if(l=y,A===Fo&&z.callbacks&&z.callbacks.forEach(function(j){Ve(t[j])&&(t[j]({trigger:j,direction:A,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(j))}),z.singleFunction){var B=z.singleFunction,ie=z.direction;Ve(t[B])&&t[B]({trigger:B,direction:ie,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(B)}}},500);return window.addEventListener("scroll",v),function(){return window.removeEventListener("scroll",v)}}function rs(){return xe?document.body.scrollTop||document.documentElement.scrollTop:0}function yy(){return xe?window.innerHeight||document.documentElement.clientHeight:0}function Ed(){return Math.round(rs()+yy())}function Rd(){if(!xe)return 0;var t=document.body,e=document.documentElement;return Math.max(t.scrollHeight,t.offsetHeight,e.clientHeight,e.scrollHeight,e.offsetHeight)}function Qr(t,e){return Math.round(t/e*100)}var $s="Event",_d=$s+"Listener";function wy(t){return function(e,r,n,a){var i=n||Yo,o=a||!1;if(!xe)return i;var s=pn(r),u=pn(e,!0);if(!u.length)throw new Error("noElements");if(!s.length)throw new Error("no"+$s);var l=[];return(function c(f){f&&(l=[]);for(var h=f?"add"+_d:"remove"+_d,d=0;d<u.length;d++){var v=u[d];l[d]=f?o&&o.once?by(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 pn(t,e){if(At(t))return e?pn(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=_g(t);return e?i.map(function(o){return At(o)?pn(o,!0):o}).flat():i}function by(t,e){var r;return function(){return t&&(r=t.apply(this,arguments),t=null),r}}var Ko=wy($s);function Pv(t,e){return xe&&Ve(window[t])?(r=window[t],n=e,(a=window)===void 0&&(a=null),Ve(r)?function(){r.apply(a,arguments),n.apply(a,arguments)}:n):window[t]=e;var r,n,a}Pv.bind(null,"onerror");Pv.bind(null,"onload");var Ev=typeof window>"u",Td="hidden";function Sy(t){if(Ev)return!1;var e=Iy(),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 Iy(){var t=["webkit","moz","ms","o"];return Ev||Td in document?Td:t.reduce(function(e,r){var n=r+"Hidden";return!e&&n in document?n:e},null)}var Py=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function Ey(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=Sy(function(s){s||r({type:"tabVisible"})});return n=[o].concat(Py.map(function(s){return Ko(document,s,r)})).concat(Ko(window,"load",r)).concat(Ko(window,"scroll",r,{capture:!0,passive:!0})),i}function i(){n.map(function(o){return o()})}return a(),function(){return i(),a}}function Ry(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(m){d(),i&&!c&&i(Cr(h),m),a&&c&&(c=!1,a(Cr(r),m),h=new Date),e=setTimeout(function(){c=!0,n&&(r=new Date,n(Cr(h),m))},s)}var p=Ey(v,{throttle:l});return{disable:function(){f=!0,c=!1,d();var m=p();return function(){return f=!1,h=new Date,v({type:"load"}),m()}},getStatus:function(){return{isIdle:c,isDisabled:f,active:c?0:Cr(h,f),idle:c?Cr(r,f):0}}}}function Cr(t,e){return e?0:Math.round((new Date-t)/1e3)}const kd=5e3;class _y{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),Ry({onIdle:r=>this.handleAwake(!1,r),onWakeUp:r=>this.handleAwake(!0,r),timeout:kd}),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*kd: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 Rv(t){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}function Ty(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 Od="sesamy_session_id";function ky(){let t=sessionStorage.getItem(Od);return t||(t=Math.random().toString(36).slice(2,9),sessionStorage.setItem(Od,t)),t}function _v(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)}let Xe={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"}},Tv=[],an;function kv(){const t=window.location.pathname;return Tv.find(e=>e.path?t.includes(e.path):!0)}function Oy(t,e){Tv=t.content||[];const r=kv();r&&r.type==="article"&&(Xe={...Xe,...r.selectors}),an=e}function Cy(t,e){const{selector:r}=e;return r===Xe.article.selector?t:t.querySelector(r)}function Ov(t,e){if(t)return e.attribute?e.attribute==="textContent"?t.textContent??void 0:t.getAttribute(e.attribute)??Ov(t.parentElement,e):t.textContent??void 0}function fr(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 Cv({publisherContentId:t,key:e,defaultValue:r=""}){return(t?document.body.querySelector(`sesamy-content-data[id='${t}']`):null)?.getAttribute(e)||fr(`sesamy:${e}`)||fr(`og:${e}`)||fr(e)||r}function Ay(){const t=document.querySelectorAll(Xe.article.selector);return Array.from(t).map(Ds).filter(e=>e!==null)}function Ds(t){const e=typeof t=="string"?document.querySelector(t):t;if(!e)return null;const r={element:e,selector:typeof t=="string"?t:_v(e)},n=(i,o,s,u)=>{const l=Cy(e,o);if(l){const c=Ov(l,o)||Cv({publisherContentId:s,key:i});c!==void 0&&(r[i]=u?u(c):c)}};n("id",Xe.id),n("title",Xe.title,r.id),n("excerpt",Xe.excerpt,r.id),n("image",Xe.image,r.id),n("price",Xe.price,r.id,i=>parseFloat(i)),n("currency",Xe.currency,r.id),n("url",Xe.url,r.id),n("pass",Xe.pass,r.id),n("accessLevel",Xe.accessLevel,r.id,i=>i||"entitlement");const a=kv();return 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)),r}async function Uy(t,e){const r=typeof t=="string"?document.querySelector(t):t;if(!r)throw new Error("Could not find element");const n=Ds(r);if(!n?.url)throw new Error("Could not find content for element");const a=await an.entitlements.hasAccess(n.url||"",n.pass?.split(",")||[]);if(!a)throw new Error("User does not have access to the content");const i=await an.entitlements.access(a.id);if(!i.token)throw new Error("Could not get access token");const o=e||_v(r.parentElement||r);return an.proxy.getContent(i.token,n.url,o)}let Av=!1,on,mn,ns;function Uv(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:ns,requestId:Math.random().toString(36).slice(2,9),sessionId:ky(),timestamp:new Date().toISOString(),version:$n,event:e.event,context:{...e.context,page:{url:window.location.href,title:document.title,referrer:document.referrer,itemSrc:fr("sesamy:item-src"),publisherContentId:fr("sesamy:publisher-content-id")},campaign:r,locale:navigator.language,library:xs,userAgent:navigator.userAgent,clientId:ns}}}))}const jv=Ty(async t=>{if(t.length>0){const e=Uv(t);Av?navigator.sendBeacon(mn,e):(await fetch(mn,{method:"POST",body:e,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function zo(t){if(t.anonymousId)if(t.properties?.flushing){const e={...t};delete e.properties.flushing,navigator.sendBeacon(mn,Uv([e]))}else jv.push(t)}function jy(){return Av=!0,jv.flush()}function Ly(t,e,r){on=e,mn=`${ht("logs",r)}/events`,ns=t}const Ny={name:"custom-analytics-plugin",page:({payload:t})=>{if(!on)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;zo({anonymousId:r,userId:n,properties:e,event:a,type:"page"})},track:({payload:t})=>{if(!on)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;zo({anonymousId:r,userId:n,properties:e,event:a,type:"track"})},identify:({payload:t})=>{if(!on)return;const{properties:e,anonymousId:r,userId:n}=t;zo({anonymousId:r,userId:n,properties:e,type:"identify"})}},Cd=["source","medium","campaign","term","content"],Ct="utm_",qy=1800*1e3;function Lv(t){return t?Date.now()-parseInt(t,10)>qy:!0}function Ad(){const t=document.referrer||"";if(!t)return;const e=Gt(`${Ct}set_at`);(Lv(e)||!Gt(`${Ct}referrer`))&&vn(`${Ct}referrer`,t)}function xy(){const t=()=>{const r={};for(const a of Cd){const i=Gt(`${Ct}${a}`);i&&(r[`utm_${a}`]=i)}const n=Gt(`${Ct}referrer`);return n&&(r.utm_referrer=n),r};return{name:"attribution-tracking",initialize(){Ad()},campaign({payload:r}){const n=r?.campaign||{},a=Gt(`${Ct}set_at`);if(Object.keys(n).length>0&&Lv(a)){for(const o of Cd){const s=n[o];s&&vn(`${Ct}${o}`,s)}vn(`${Ct}set_at`,String(Date.now()))}Ad()},page({payload:r}){return r.properties.campaign=t(),r},track({payload:r}){return r.properties.campaign=t(),r},getStoredCampaignData:t}}const $y=xy(),Ud=new Map,jd=new Map;function Dy({clientId:t,enabled:e=!0,environment:r}){Ly(t,e,r),e&&(window.addEventListener("beforeunload",()=>{jd.forEach((n,a)=>{n.bind(a)()}),jy()}),window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&Ud.forEach((n,a)=>{n.bind(a)()})}),my(),Rv(()=>{const n=new _y({element:document.body,viewCallback:()=>{bt.page()},activeDurationCallback:(a,i,o)=>{bt.track("activeDuration",{duration:a,durationStart:o,flushing:i})},idleDurationCallback:(a,i,o)=>{bt.track("idleDuration",{duration:a,durationStart:o,flushing:i})},scrollCallback:a=>{bt.track("scroll",{scroll:a.scrollMax})}});jd.set(document.body,()=>{n.flush()}),Ud.set(document.body,()=>{n.handleVisibilityChange()})}),window.addEventListener(Je.AUTHENTICATED,async n=>{const a=n;await bt.identify(a.detail.sub)}),window.addEventListener(Je.LOGOUT,async()=>{await bt.track("logout",{}),await bt.reset()}))}const bt=dy({app:xs,version:$n,plugins:[$y,Ny]});function Nv(t,e){bt.track(t,e)}function qv(t,e,r=!1){const n={name:t,data:e},a=new CustomEvent(t,{detail:n,cancelable:r,bubbles:!0});Nv(`event:${t}`,{...e,timestamp:new Date().toISOString()});const i=window.dispatchEvent(a);return r&&!i?{canceled:!0,message:n.cancellationMessage}:{canceled:!1}}function My(t,e){t.cancelable&&(t.detail.cancellationMessage=e,t.preventDefault())}function Fy(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function Ky(){return/android/i.test(navigator.userAgent)}let qe,xv,Nr,as=!1,sn=!1;qr()&&window.addEventListener("pageshow",()=>{sn=!1});const pr="sesamyAccessToken",Ho="sesamyRefreshToken",gn="sesamySilentAuthThrottle",zy=300*1e3;async function Dn(){return as?!0:new Promise((t,e)=>{const r=setTimeout(()=>{as?t(!0):e(new Error("Initialization failed: Timeout"))},2e3);window.addEventListener(Je.AUTH_INITIALIZED,()=>{clearTimeout(r),t(!0)})})}async function Hy(t){if(!t)return null;const e=localStorage.getItem(Ho);if(!e)return pe("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(Ho),new Error("Renew token failed");const i=await a.json();return localStorage.setItem(Ho,i.refresh_token),localStorage.setItem(pr,i.access_token),i.access_token}catch{Ks()}}async function Ms(){const t=localStorage.getItem(pr);if(!t)return null;const e=zs(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3){const r=await Hy(e);if(r)return r;localStorage.removeItem(pr)}return t}let en=null;const By=64;function Gy(){try{if(en!==null)return en;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===By)return en=!0,!0}}catch(t){pe(`Error checking for existing auth0 tokens: ${t.message}`)}return en=!1,!1}function Wy(t){if(t.domains&&t.domains.length>0){const e=mr(window.location.href);if(e){for(const r of t.domains)if(mr(`https://${r}`)===e)return pe(`Found matching domain in domains array: ${r} for TLD: ${e}`),r;pe(`No matching domain found in domains array for TLD: ${e}`)}}if(t.domain)return pe(`Using fallback domain property: ${t.domain}`),t.domain}function mr(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 Vy(t){if(t.enabled===!1)return;xv=t.organization;const e=Wy(t);Nr=e&&!Gy()?e:tv("token",t.environment);const r={domain:Nr,clientId:t.clientId,useCookiesForTransactions:!0};r.cacheLocation="localstorage",mr(window.location.href)!==mr(`https://${Nr}`)&&(r.useRefreshTokens=!0),pe(`Initializing auth0 client: ${JSON.stringify(r)}`),qe=await Qm(r);const n=new URLSearchParams(window.location.search),a=n.get("code"),i=n.get("state");if(a)if(window.opener)pe("Code found in URL, posting to opener"),window.opener.postMessage({type:"authorization_response",response:{code:a,state:i}},window.location.origin);else{pe("Code found in URL, handling redirect");try{const u=await qe.handleRedirectCallback();pe(`Login result: ${JSON.stringify(u)}`);const l=await qe.getUser();if(!l)throw pe("No user found"),new Error("No user found");pe(`User found ${JSON.stringify(l)}`),Fs(),jt(Je.AUTHENTICATED,l),pe("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())}as=!0,jt(Je.AUTH_INITIALIZED,{})}async function $r(){return await Dn(),await Ms()?!0:qe?qe.isAuthenticated():!1}async function Jy(){return await Dn(),await Ms()?(pe("Using local user"),{sub:"local",name:"Local User"}):qe?qe.getUser():null}function $v(t){if(sn)return pe("Login already in progress"),null;if(sn=!0,setTimeout(()=>{sn=!1},3e3),localStorage.removeItem(pr),!qe)throw new Error("Auth0 client not initialized");const e=t?.authorizationParams||{};return{...t,authorizationParams:{organization:xv,redirect_uri:window.location.href,ui_locales:ln(),incognito:Cs(),...e}}}async function Mn(t){const e=$v(t);if(e)return qe.loginWithRedirect(e)}async function Dv(t){const e=$v(t);if(!e)return;await qe.loginWithPopup(e,{timeoutInSeconds:1800}),Fs(),qv(Je.AUTHENTICATED,await qe.getUser()).canceled||window.location.reload()}async function Zy(t){return Nr&&mr(window.location.href)!==mr(`https://${Nr}`)&&(Fy()||Ky()||Cs())?Dv(t):Mn(t)}function Yy(){try{const t=sessionStorage.getItem(gn);if(!t)return!1;const{timestamp:e}=JSON.parse(t);return Date.now()-e<zy}catch{return sessionStorage.removeItem(gn),!1}}function Xy(){try{const t={timestamp:Date.now()};sessionStorage.setItem(gn,JSON.stringify(t))}catch{pe("Failed to set silent auth throttle in sessionStorage")}}function Fs(){try{sessionStorage.removeItem(gn)}catch{}}async function xt(t=!0,e=!1){await Dn();const r=await Ms();if(r)return r;if(!e&&Yy()){if(pe("Silent auth is throttled due to recent failures, skipping request"),t)throw new Error("Silent auth throttled");return null}try{if(!qe)return pe("Auth client not initialized"),null;let n=await qe.getTokenSilently();const a=zs(n);return e&&a?.exp&&a.exp+3600<new Date().getTime()/1e3&&(n=await qe.getTokenSilently({cacheMode:e?"off":"on"})),Fs(),n}catch(n){const a=n;if(pe(`Failed to get token silently: ${a.message}`),Xy(),await qe.isAuthenticated()&&(a.message==="Invalid refresh token"||a.message.includes("Missing Refresh Token"))&&await Ks(),t)throw n;return null}}async function Ks(t={}){if(await Dn(),localStorage.removeItem(pr),jt(Je.LOGOUT,{}),!!qe)return pe(`Logout with options: ${JSON.stringify(t)}`),qe.logout({...t,logoutParams:{returnTo:window.location.href,...t.logoutParams}})}function zs(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 is(t){const e=zs(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3)throw new Error("Invalid token");pe("Set token"),localStorage.setItem(pr,t),jt(Je.AUTHENTICATED,e)}const Qy=(t,e)=>e.skipDedupe||e.method!=="GET",ew=(t,e)=>e.method+"@"+t,tw=t=>t.clone(),Ld=({skip:t=Qy,key:e=ew,resolver:r=tw}={})=>{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)}}},rw=(t,e)=>t*e,nw=t=>t&&t.ok,Nd=({delayTimer:t=500,delayRamp:e=rw,maxAttempts:r=10,until:n=nw,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(m=>{const P=e(t,f);setTimeout(()=>{typeof a=="function"?Promise.resolve(a({response:d,error:v,url:l,options:c})).then((y={})=>{var b,g;m(u((b=y&&y.url)!==null&&b!==void 0?b:l,(g=y&&y.options)!==null&&g!==void 0?g:c))}):m(u(l,c))},P)}).then(h).catch(m=>{if(!i)throw m;return h(null,m)}):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 aw{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 os(t){let e;try{e=new URL(t)}catch{return!1}return e.protocol==="http:"||e.protocol==="https:"}function Mv(t,e){if(os(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 qd(t){return t.endsWith("/")?t.slice(0,-1):t}function xd(t,e){if(!os(t)||!os(e))return!1;const r=new URL(t),n=new URL(e);return r.origin===n.origin&&qd(r.pathname)===qd(n.pathname)}function iw(t,e,r){const n=new URL(`${ht("checkout3",t.environment)}`);if(e.language&&n.searchParams.set("lang",e.language),e.sku)n.searchParams.set("sku",e.sku),e.purchaseOptionId&&n.searchParams.set("po-id",e.purchaseOptionId);else if(e.itemSrc){const{sku:s,purchaseOption:u,itemSrc:l}=Mv(e.itemSrc,e.purchaseOptionId);l&&n.searchParams.set("url",l),s&&n.searchParams.set("sku",s),u&&n.searchParams.set("po-id",u)}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 a=["_ga","_gid","_fbp","_fbc"];document.cookie.split(";").map(s=>{const[u,l]=s.trim().split("=");return{key:u,value:l}}).filter(s=>a.some(u=>u===s.key)).forEach(s=>{n.searchParams.append(s.key,s.value)});let o=new URL(window.location.href);if(e.redirectUrl)try{o=new URL(e.redirectUrl)}catch{console.warn("Invalid redirect URL provided, using current URL instead:",e.redirectUrl)}return o.searchParams.set("force-refetch-entitlements","true"),e.itemSrc&&o.searchParams.set("sesamy-purchase",e.itemSrc),n.searchParams.set("redirect-url",o.toString()),e.paymentMethodsFilter&&n.searchParams.set("paymentmethods-filter",e.paymentMethodsFilter.flatMap(({provider:s,methods:u})=>u?u.map(l=>`${s}|${l}`):s).join(",")),n}const Fv="sesamySignedURLs";function Hs(){const t=sessionStorage.getItem(Fv);return t?JSON.parse(t):[]}function ow(t){const e=Hs();e.push(t),pe(`Adding signed URL: ${t}`),sessionStorage.setItem(Fv,JSON.stringify(e))}function sw(t){const e={};return Object.keys(t).forEach(r=>{const n=t[r];n!=null&&(e[r]=n.toString())}),e}const ss="sesamyAttribution";function cw(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 uw(t){return Object.keys(t).find(e=>e.startsWith("utm_"))?{utmSource:void 0,utmMedium:void 0,utmCampaign:void 0,...t}:t}function yn(){return cw(ss)||{}}function Kv(t){if(t===null)localStorage.removeItem(ss);else{pe(`Setting attribution ${JSON.stringify(t)}`);const e=yn()??{},r=sw({...e,...uw(t)});localStorage.setItem(ss,JSON.stringify({value:r}))}}function lw(t){const e=t.endpoint||ht("api2",t.environment),r=async()=>{const T=await xt(!0);if(!T)throw new Error("No access token available");return T},n=Ce.client({baseUrl:e,tokenProvider:r,libraryName:xs,libraryVersion:$n,vendorId:t.vendorId,cache:{mode:Ce.CacheMode.BROWSER,storage:new aw}}),a=T=>async(K,J)=>{let re=sessionStorage.getItem(ed);re||(re=Date.now().toString(),sessionStorage.setItem(ed,re));const me={...J,headers:{...J.headers,"Cache-Timestamp":re}};return T(K,me)},i=(T=!0)=>K=>async(J,re)=>{let me=null;if(me=await xt(T),!me){if(T)throw new Error("No access token available");return K(J,re)}const Ke={...re,headers:{...re.headers,...me?{Authorization:`Bearer ${me}`}:{}}};return K(J,Ke)},o=T=>(K,J)=>{if(J.headers&&"Authorization"in J.headers)return T(K,J);const re=localStorage.getItem("__anon_id"),me=btoa(`${t.clientId}|${re}:`),Ke={...J,headers:{...J.headers,Authorization:`Basic ${me}`}};return T(K,Ke)},s=Ce.wretch(e).headers({"Content-Type":"application/json"}).middlewares([a,i(),Ld(),Nd({delayTimer:1e3,delayRamp:(T,K)=>T*K,maxAttempts:3,until:T=>!!(T&&(T.ok||T.status>=400&&T.status<500)),retryOnNetworkError:!1})]),u=Ce.wretch(e).headers({"Content-Type":"application/json"}).middlewares([a,i(!1),o,Ld(),Nd({delayTimer:1e3,delayRamp:(T,K)=>T*K,maxAttempts:3,until:T=>!!(T&&(T.ok||T.status>=400&&T.status<500)),retryOnNetworkError:!1})]);async function l(T={}){const{waitForEntitlementAfter:K,includeSignedLinks:J=!0}=T,re=await $r()?await n.entitlements.list({waitForEntitlementAfter:K?.toISOString()}):[];return J&&re.push(...Hs()),re}async function c(T,K=[]){return(await l())?.find(me=>{const{sku:Ke,purchaseOption:M}=Mv(T);return!!("sku"in me&&Ke===me.sku||M&&"purchaseOptionsId"in me&&M===me.purchaseOptionsId||xd(T,me.url)||K.some(ee=>xd(ee,me.url)))})}async function f(T){return n.entitlements.get(T)}async function h(T){return n.entitlements.getAccess(T)}async function d(T,K,J){const re=new URL(ht("api2",t.environment));return re.pathname="/proxy",re.searchParams.set("url",K),J&&re.searchParams.set("selector",J),Ce.wretch(re.toString()).headers({Authorization:`Bearer ${T}`}).get().text()}async function v(T){if(!T)throw new Error("SKU is required to get fulfillments");return await $r()?await s.get(`/fulfillments?sku=${encodeURIComponent(T)}`).json():[]}async function p(T,K){if(!T||!K)throw new Error("SKU and itemId are required to request delivery");return(await s.post({sku:T},`/fulfillments/${encodeURIComponent(K)}/request-delivery?`).res()).ok}async function m(){return s.get("/contracts").json()}async function P(T){return(await s.get("/contracts").json())?.find(J=>J.id===T)}async function y(T){const K=await s.post({},`/contracts/${encodeURIComponent(T)}/cancel`).res();return Ce.clearCache(),K.ok}async function b(){return console.warn("getSubscriptions is deprecated, use getContracts instead"),s.get("/subscriptions").json()}async function g(){return s.get("/bills").json()}async function w(T){return(await s.get("/bills").json())?.find(J=>J.id===T)}async function A(){return s.get("/transactions").json()}async function x(T){return(await s.get("/transactions").json())?.find(J=>J.id===T)}async function N(T,K){const J=await s.url(`/user-metadata/${encodeURIComponent(T)}`).put(K).json();return jt(Je.USER_ATTRIBUTE_CHANGED,{}),Ce.clearCache(),J}async function z(T){const K=await s.url(`/user-metadata/${encodeURIComponent(T)}`).delete().res();return Ce.clearCache(),K.ok}async function B(){return await s.url("/user-metadata").get().json()}async function ie(T){return(await B())[T]||null}async function j(){return await s.url("/tags").get().json()}async function D(T){const K=await s.url(`/tags/${encodeURIComponent(T)}`).delete().res();return Ce.clearCache(),K.ok}async function L(T){const K=await s.url("/tags").post(encodeURIComponent(T)).res();return jt(Je.USER_ATTRIBUTE_CHANGED,{}),Ce.clearCache(),K.ok}async function k(T){return(await u.url("/tallies").get().json())[T]}async function Y(){return await u.url("/tallies").get().json()}async function te(T){const K=await u.url(`/tallies/${T}`).delete().res();return Ce.clearCache(),K.ok}async function Q(T,K){return await u.url(`/tallies/${encodeURIComponent(T)}/push`).post(K).json()}async function S(T){return n.products.get(T)}async function _(){return await xt(!1)?await s.url("/profile").get().json():null}async function q(T){const K=await s.url("/profile").patch(T).res();return Ce.clearCache(),K.ok}async function F(){return await s.url("/payment-issues").get().json()}async function Z(){return(await s.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function V(){return(await s.url("/profile/unlink-spotify").post().res()).ok}async function he(T){const K=await xt(!1);if(!K)throw new Error("No access token available");const J=new URL(`${ht("access-sync",t.environment)}/spotify/sesamy-callback`);J.searchParams.set("access_token",K),J.searchParams.set("state",T),window.location.href=J.toString()}async function oe(T){const K=await s.url(`/products/${encodeURIComponent(T)}/auto-onboard`).post().json();return K.length&&Ce.clearCache(),K}async function le(T,K=3600){const{shortlink:J}=await Ce.wretch(rg).post({url:T,ttl:K}).json();return J}async function se(T){const K=await xt(!1,!0);let J;const re=T.language||ln(),me=yn();switch(T.target){case"account":J=new URL(`${ht("account",t.environment)}/${encodeURIComponent(T.language||re)}/subscriptions/${encodeURIComponent(t.clientId)}${T.contractId?`/${encodeURIComponent(T.contractId)}`:""}`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"change-payment":J=new URL(`${ht("account",t.environment)}/${encodeURIComponent(T.language||re)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.contractId)}/change-payment-method`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"change-plan":J=new URL(`${ht("account",t.environment)}/${encodeURIComponent(T.language||re)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.contractId)}/edit-plan`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"consume":J=new URL(`${ht("consume",t.environment)}/${encodeURIComponent(T.language||re)}/@${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.sku)}`),T.episodeId?J.href+=`/${T.episodeId}`:J.href+="/listen",J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"checkout":J=iw(t,{language:re,...T},me);break;default:throw new Error("Invalid target")}return K&&(J.hash=`#access_token=${K}`),T.shorten?le(J.href,T.ttl):J.href}async function Re(T){const K=yn(),J=["_ga","_gid","_fbp","_fbc"];return document.cookie.split(";").forEach(me=>{const Ke=K,[M,ee]=me.trim().split("=");J.includes(M)&&!Ke[M]&&(Ke[M]=ee)}),(await u.url("/checkouts").post({language:ln(),...T,attribution:{...K,...T.attribution},vendorId:t.vendorId})).json()}async function Ue(T,K){return(await u.url(`/checkouts/${T}`).patch(K)).json()}async function Fe(T){return(await u.url(`/checkouts/${T}`).get()).json()}async function ke(T){return(await u.url(`/paywalls/${T}`).get()).json()}async function Ze(){return(await u.url("/vendor").get()).json()}async function ut(){return(await s.url("/vendors").get()).json()}async function lt(T){return(await s.url(`/contracts/${encodeURIComponent(T.contractId)}/amendments`).post({amendmentType:T.amendmentType,discountCode:T.discountCode})).json()}async function mt(T){return await s.url(`/amendments/${encodeURIComponent(T)}/confirm`).post(),!0}async function gt(){const T=await xt(!1),K=new URL(`${ht("account",t.environment)}/subscriptions/${t.clientId}`);T&&(K.hash=`#access_token=${T}`),window.location.href=K.toString()}return{autoOnboardProduct:oe,cancelContract:y,confirmAmendment:mt,createAmendment:lt,createCheckout:Re,deleteTag:D,deleteTally:te,deleteUserMetadata:z,generateLink:se,getBill:w,getBills:g,getCheckout:Fe,getProxyContent:d,getContract:P,getContracts:m,getEntitlement:f,getEntitlementAccess:h,getEntitlements:l,getFulfillments:v,requestDelivery:p,getPaywall:ke,getPaymentIssues:F,getProfile:_,getProduct:S,getSubscriptions:b,getTally:k,getTallies:Y,getTags:j,getTransaction:x,getTransactions:A,getUserMetadata:ie,hasAccess:c,isSpotifyLinked:Z,linkSpotify:he,listUserMetadata:B,openHostedAccountPage:gt,pushTally:Q,setTag:L,setUserMetadata:N,unlinkSpotify:V,updateCheckout:Ue,updateProfile:q,getVendorSettings:Ze,listVendors:ut}}const fw=["AdHeader","AdContainer","AD_Top","homead","ad-lead"];function dw(){return new Promise(t=>{const e=fw.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 hw(){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}}const zv="sesamyFlags";async function Hv(t){try{localStorage.setItem(zv,JSON.stringify(t))}catch{pe("Failed to save flags to localStorage")}}async function vw(t,e){const r=await Fn();r[t]=e,await Hv(r)}async function pw(t){return(await Fn())[t]}async function mw(t){const e=await Fn();t in e&&(delete e[t],await Hv(e))}async function Fn(){try{const t=localStorage.getItem(zv);return t?JSON.parse(t):{}}catch{return{}}}function gw(t){const{autoOnboardProduct:e,cancelContract:r,createCheckout:n,deleteTag:a,deleteTally:i,deleteUserMetadata:o,generateLink:s,getBill:u,getBills:l,getCheckout:c,getContract:f,getContracts:h,getEntitlement:d,getEntitlementAccess:v,getEntitlements:p,getFulfillments:m,getPaywall:P,getPaymentIssues:y,getProfile:b,getProduct:g,getProxyContent:w,getSubscriptions:A,getTags:x,getTally:N,getTallies:z,getTransaction:B,getTransactions:ie,getUserMetadata:j,getVendorSettings:D,listVendors:L,hasAccess:k,isSpotifyLinked:Y,linkSpotify:te,listUserMetadata:Q,openHostedAccountPage:S,pushTally:_,requestDelivery:q,setTag:F,setUserMetadata:Z,unlinkSpotify:V,updateCheckout:he,updateProfile:oe}=lw(t),le={analytics:{track:Nv},attribution:{get:yn,set:Kv},auth:{getUser:b,getTokenSilently:xt,isAuthenticated:$r,loginWithRedirect:Mn,loginWithPopup:Dv,login:Zy,logout:Ks,setToken:is},bills:{get:u,list:l},browser:{detectAdblock:dw,isInAppBrowser:hw,isIncognito:Cs},checkouts:{create:n,get:c,update:he},clearCache:Ce.clearCache,content:{list:Ay,get:Ds,getLanguage:ln,unlock:Uy,getPropertyFromHTML:Cv},contracts:{cancel:r,get:f,list:h},entitlements:{access:v,get:d,hasAccess:k,list:p,signedLinks:Hs},events:{emit:qv,cancel:My},flags:{get:pw,set:vw,list:Fn,delete:mw},fulfillments:{list:m,requestDelivery:q},generateLink:s,getPaymentIssues:y,getVersion:yw,isReady:()=>exports.isInitialized,log:pe,paywalls:{get:P},products:{autoOnboard:e,get:g,linkSpotify:te},profile:{get:b,isSpotifyLinked:Y,openHostedAccountPage:S,unlinkSpotify:V,update:oe},proxy:{getContent:w},subscriptions:{list:A},tags:{delete:a,list:x,set:F},tallies:{delete:i,get:N,list:z,push:_},transactions:{get:B,list:ie},userMetadata:{delete:o,get:j,list:Q,set:Z},vendors:{get:D,list:L},setToken:is};return t.namespace&&(window[t.namespace]=le),le}function yw(){return $n}function ww(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=`
|
|
36
36
|
${e.selector}::before {
|
|
37
37
|
content: '';
|
|
38
38
|
position: absolute;
|
package/dist/sesamy-js.d.ts
CHANGED
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
import { Access } from '@sesamy/sdk';
|
|
2
|
-
import { Bill } from '@sesamy/
|
|
3
|
-
import { Checkout } from '@sesamy/
|
|
2
|
+
import { Bill } from '@sesamy/sdk';
|
|
3
|
+
import { Checkout } from '@sesamy/sdk';
|
|
4
4
|
import { Contract } from '@sesamy/sdk';
|
|
5
|
-
import { Contract as Contract_2 } from '@sesamy/types';
|
|
6
5
|
import { Entitlement } from '@sesamy/sdk';
|
|
7
|
-
import {
|
|
8
|
-
import { Fulfillment } from '@sesamy/types';
|
|
6
|
+
import { Fulfillment } from '@sesamy/sdk';
|
|
9
7
|
import { LogoutOptions } from '@auth0/auth0-spa-js';
|
|
10
|
-
import { Product } from '@sesamy/
|
|
8
|
+
import { Product } from '@sesamy/sdk';
|
|
11
9
|
import { Profile } from '@sesamy/sdk';
|
|
12
|
-
import { Profile as Profile_2 } from '@sesamy/types';
|
|
13
10
|
import { RedirectLoginOptions } from '@auth0/auth0-spa-js';
|
|
14
|
-
import { Subscription } from '@sesamy/
|
|
15
|
-
import { TallyInsert } from '@sesamy/
|
|
16
|
-
import {
|
|
11
|
+
import { Subscription } from '@sesamy/sdk';
|
|
12
|
+
import { TallyInsert } from '@sesamy/sdk';
|
|
13
|
+
import { TallyValue } from '@sesamy/sdk';
|
|
14
|
+
import { Transaction } from '@sesamy/sdk';
|
|
17
15
|
|
|
18
16
|
declare interface Address {
|
|
19
17
|
street?: string;
|
|
@@ -357,47 +355,7 @@ declare function registerAPI(config: ApiConfig): {
|
|
|
357
355
|
set: typeof setAttribution;
|
|
358
356
|
};
|
|
359
357
|
auth: {
|
|
360
|
-
getUser: () => Promise<
|
|
361
|
-
updatedAt: string;
|
|
362
|
-
createdAt: string;
|
|
363
|
-
userId: string;
|
|
364
|
-
name?: string | undefined;
|
|
365
|
-
lastName?: string | undefined;
|
|
366
|
-
firstName?: string | undefined;
|
|
367
|
-
email?: string | undefined;
|
|
368
|
-
emailVerified?: boolean | undefined;
|
|
369
|
-
locale?: string | undefined;
|
|
370
|
-
nickname?: string | undefined;
|
|
371
|
-
picture?: string | undefined;
|
|
372
|
-
mobilePhone?: string | undefined;
|
|
373
|
-
workPhone?: string | undefined;
|
|
374
|
-
homePhone?: string | undefined;
|
|
375
|
-
tags?: string[] | undefined;
|
|
376
|
-
user_metadata?: Record<string, string | number> | undefined;
|
|
377
|
-
billingAddress?: {
|
|
378
|
-
country?: string | undefined;
|
|
379
|
-
zip?: string | undefined;
|
|
380
|
-
city?: string | undefined;
|
|
381
|
-
street?: string | undefined;
|
|
382
|
-
co?: string | undefined;
|
|
383
|
-
lastName?: string | undefined;
|
|
384
|
-
firstName?: string | undefined;
|
|
385
|
-
} | undefined;
|
|
386
|
-
deliveryAddress?: {
|
|
387
|
-
country?: string | undefined;
|
|
388
|
-
zip?: string | undefined;
|
|
389
|
-
city?: string | undefined;
|
|
390
|
-
street?: string | undefined;
|
|
391
|
-
co?: string | undefined;
|
|
392
|
-
lastName?: string | undefined;
|
|
393
|
-
firstName?: string | undefined;
|
|
394
|
-
} | undefined;
|
|
395
|
-
company?: string | undefined;
|
|
396
|
-
sub?: string | undefined;
|
|
397
|
-
given_name?: string | undefined;
|
|
398
|
-
family_name?: string | undefined;
|
|
399
|
-
phone_number?: string | undefined;
|
|
400
|
-
} | null>;
|
|
358
|
+
getUser: () => Promise<Profile | null>;
|
|
401
359
|
getTokenSilently: typeof getTokenSilently;
|
|
402
360
|
isAuthenticated: typeof isAuthenticated;
|
|
403
361
|
loginWithRedirect: typeof loginWithRedirect;
|
|
@@ -408,20 +366,20 @@ declare function registerAPI(config: ApiConfig): {
|
|
|
408
366
|
};
|
|
409
367
|
bills: {
|
|
410
368
|
get: (billId: string) => Promise<{
|
|
411
|
-
status: string;
|
|
412
369
|
id: string;
|
|
413
370
|
items: {
|
|
414
|
-
title: string;
|
|
415
371
|
sku: string;
|
|
416
|
-
|
|
372
|
+
title: string;
|
|
373
|
+
purchaseOptionId?: string;
|
|
417
374
|
}[];
|
|
418
375
|
price: number;
|
|
376
|
+
currency?: string;
|
|
419
377
|
receiptUrl: string;
|
|
420
378
|
paymentProvider: string;
|
|
421
379
|
paymentMethod: string;
|
|
380
|
+
status: string;
|
|
422
381
|
updatedAt: string;
|
|
423
382
|
createdAt: string;
|
|
424
|
-
currency?: string | undefined;
|
|
425
383
|
} | undefined>;
|
|
426
384
|
list: () => Promise<Bill[]>;
|
|
427
385
|
};
|
|
@@ -446,51 +404,51 @@ declare function registerAPI(config: ApiConfig): {
|
|
|
446
404
|
contracts: {
|
|
447
405
|
cancel: (contractId: string) => Promise<boolean>;
|
|
448
406
|
get: (contractId: string) => Promise<{
|
|
449
|
-
status: string;
|
|
450
407
|
id: string;
|
|
451
408
|
name: string;
|
|
409
|
+
userId: string;
|
|
410
|
+
createdAt: string;
|
|
411
|
+
updatedAt: string;
|
|
412
|
+
price: number;
|
|
413
|
+
nextBillAt: string | null;
|
|
414
|
+
nextPrice: number | null;
|
|
415
|
+
currency: string;
|
|
416
|
+
manageUrl?: string;
|
|
417
|
+
contractDuration?: "RECURRING" | "RENEWABLE" | "PERPETUAL";
|
|
418
|
+
issuesRemaining?: number;
|
|
452
419
|
items: {
|
|
453
|
-
name: string;
|
|
454
420
|
sku: string;
|
|
455
|
-
purchaseOptionId?: string
|
|
456
|
-
purchaseOptionName?: string
|
|
457
|
-
|
|
458
|
-
|
|
421
|
+
purchaseOptionId?: string;
|
|
422
|
+
purchaseOptionName?: string;
|
|
423
|
+
name: string;
|
|
424
|
+
cover?: string;
|
|
425
|
+
purchaseType?: string;
|
|
459
426
|
}[];
|
|
427
|
+
status: string;
|
|
428
|
+
isActive: boolean;
|
|
429
|
+
recurringInterval?: "DAY" | "WEEK" | "MONTH" | "YEAR";
|
|
430
|
+
recurringTime?: number;
|
|
431
|
+
willCancelAt: string | null;
|
|
432
|
+
expiresAt?: string;
|
|
433
|
+
paymentData?: {
|
|
434
|
+
method?: string;
|
|
435
|
+
description?: string;
|
|
436
|
+
brand?: string;
|
|
437
|
+
};
|
|
460
438
|
appliedDiscounts: {
|
|
461
439
|
code: string;
|
|
462
|
-
id: string;
|
|
463
440
|
name: string;
|
|
464
441
|
description: string;
|
|
442
|
+
id: string;
|
|
465
443
|
}[];
|
|
466
|
-
currency: string;
|
|
467
|
-
price: number;
|
|
468
|
-
updatedAt: string;
|
|
469
|
-
createdAt: string;
|
|
470
|
-
userId: string;
|
|
471
|
-
nextBillAt: string | null;
|
|
472
|
-
nextPrice: number | null;
|
|
473
|
-
isActive: boolean;
|
|
474
|
-
willCancelAt: string | null;
|
|
475
|
-
paymentData?: {
|
|
476
|
-
description?: string | undefined;
|
|
477
|
-
method?: string | undefined;
|
|
478
|
-
brand?: string | undefined;
|
|
479
|
-
} | undefined;
|
|
480
|
-
manageUrl?: string | undefined;
|
|
481
|
-
contractDuration?: "RECURRING" | "RENEWABLE" | "PERPETUAL" | undefined;
|
|
482
|
-
issuesRemaining?: number | undefined;
|
|
483
|
-
recurringInterval?: "DAY" | "WEEK" | "MONTH" | "YEAR" | undefined;
|
|
484
|
-
recurringTime?: number | undefined;
|
|
485
|
-
expiresAt?: string | undefined;
|
|
486
444
|
} | undefined>;
|
|
487
|
-
list: () => Promise<
|
|
445
|
+
list: () => Promise<Contract[]>;
|
|
488
446
|
};
|
|
489
447
|
entitlements: {
|
|
490
448
|
access: (entitlementId: string) => Promise<Access>;
|
|
491
|
-
get: (entitlementId: string) => Promise<
|
|
492
|
-
hasAccess: (itemSrc: string, passes?: string[]) => Promise<
|
|
493
|
-
list: (params?: GetEntitlementsOptions) => Promise<
|
|
449
|
+
get: (entitlementId: string) => Promise<Entitlement>;
|
|
450
|
+
hasAccess: (itemSrc: string, passes?: string[]) => Promise<Entitlement | undefined>;
|
|
451
|
+
list: (params?: GetEntitlementsOptions) => Promise<Entitlement[]>;
|
|
494
452
|
signedLinks: typeof getSignedLinks;
|
|
495
453
|
};
|
|
496
454
|
events: {
|
|
@@ -518,78 +476,38 @@ declare function registerAPI(config: ApiConfig): {
|
|
|
518
476
|
products: {
|
|
519
477
|
autoOnboard: (sku: string) => Promise<{
|
|
520
478
|
id: string;
|
|
521
|
-
type: "article" | "audiobook" | "ebook" | "bundle" | "podcast" | "pass" | "publication" | "physical_issue";
|
|
522
|
-
title: string;
|
|
523
479
|
sku: string;
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
url?: string
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
purchaseOption?: string | undefined;
|
|
532
|
-
presentationUrl?: string | undefined;
|
|
480
|
+
purchaseOption?: string;
|
|
481
|
+
cover?: string;
|
|
482
|
+
title: string;
|
|
483
|
+
url?: string;
|
|
484
|
+
presentationUrl?: string;
|
|
485
|
+
publisherContentId?: string;
|
|
486
|
+
type: "article" | "audiobook" | "ebook" | "bundle" | "podcast" | "pass" | "publication" | "physical_issue";
|
|
533
487
|
origin?: {
|
|
534
|
-
id: string;
|
|
535
|
-
name: string;
|
|
536
488
|
type: "EXTERNAL";
|
|
489
|
+
id: string;
|
|
537
490
|
listId: string;
|
|
491
|
+
name: string;
|
|
538
492
|
} | {
|
|
539
493
|
type: "PAYMENTS";
|
|
540
494
|
contractId: string;
|
|
541
|
-
}
|
|
542
|
-
|
|
495
|
+
};
|
|
496
|
+
hasAccess: boolean;
|
|
497
|
+
createdAt: string;
|
|
498
|
+
updatedAt: string;
|
|
499
|
+
token?: string;
|
|
500
|
+
expiresAt?: string;
|
|
543
501
|
}[]>;
|
|
544
502
|
get: (sku: string) => Promise<Product>;
|
|
545
503
|
linkSpotify: (sku: string) => Promise<void>;
|
|
546
504
|
};
|
|
547
505
|
profile: {
|
|
548
|
-
get: () => Promise<
|
|
549
|
-
updatedAt: string;
|
|
550
|
-
createdAt: string;
|
|
551
|
-
userId: string;
|
|
552
|
-
name?: string | undefined;
|
|
553
|
-
lastName?: string | undefined;
|
|
554
|
-
firstName?: string | undefined;
|
|
555
|
-
email?: string | undefined;
|
|
556
|
-
emailVerified?: boolean | undefined;
|
|
557
|
-
locale?: string | undefined;
|
|
558
|
-
nickname?: string | undefined;
|
|
559
|
-
picture?: string | undefined;
|
|
560
|
-
mobilePhone?: string | undefined;
|
|
561
|
-
workPhone?: string | undefined;
|
|
562
|
-
homePhone?: string | undefined;
|
|
563
|
-
tags?: string[] | undefined;
|
|
564
|
-
user_metadata?: Record<string, string | number> | undefined;
|
|
565
|
-
billingAddress?: {
|
|
566
|
-
country?: string | undefined;
|
|
567
|
-
zip?: string | undefined;
|
|
568
|
-
city?: string | undefined;
|
|
569
|
-
street?: string | undefined;
|
|
570
|
-
co?: string | undefined;
|
|
571
|
-
lastName?: string | undefined;
|
|
572
|
-
firstName?: string | undefined;
|
|
573
|
-
} | undefined;
|
|
574
|
-
deliveryAddress?: {
|
|
575
|
-
country?: string | undefined;
|
|
576
|
-
zip?: string | undefined;
|
|
577
|
-
city?: string | undefined;
|
|
578
|
-
street?: string | undefined;
|
|
579
|
-
co?: string | undefined;
|
|
580
|
-
lastName?: string | undefined;
|
|
581
|
-
firstName?: string | undefined;
|
|
582
|
-
} | undefined;
|
|
583
|
-
company?: string | undefined;
|
|
584
|
-
sub?: string | undefined;
|
|
585
|
-
given_name?: string | undefined;
|
|
586
|
-
family_name?: string | undefined;
|
|
587
|
-
phone_number?: string | undefined;
|
|
588
|
-
} | null>;
|
|
506
|
+
get: () => Promise<Profile | null>;
|
|
589
507
|
isSpotifyLinked: () => Promise<boolean>;
|
|
590
508
|
openHostedAccountPage: () => Promise<void>;
|
|
591
509
|
unlinkSpotify: () => Promise<boolean>;
|
|
592
|
-
update: (profile: Partial<
|
|
510
|
+
update: (profile: Partial<Profile>) => Promise<boolean>;
|
|
593
511
|
};
|
|
594
512
|
proxy: {
|
|
595
513
|
getContent: (accessToken: string, url: string, selector?: string) => Promise<string>;
|
|
@@ -604,25 +522,25 @@ declare function registerAPI(config: ApiConfig): {
|
|
|
604
522
|
};
|
|
605
523
|
tallies: {
|
|
606
524
|
delete: (id: string) => Promise<boolean>;
|
|
607
|
-
get: (id: string) => Promise<
|
|
525
|
+
get: (id: string) => Promise<TallyValue>;
|
|
608
526
|
list: () => Promise<{
|
|
609
|
-
[id: string]:
|
|
527
|
+
[id: string]: TallyValue;
|
|
610
528
|
}>;
|
|
611
529
|
push: (id: string, tally: TallyInsert) => Promise<{
|
|
612
|
-
[id: string]:
|
|
530
|
+
[id: string]: TallyValue;
|
|
613
531
|
}[]>;
|
|
614
532
|
};
|
|
615
533
|
transactions: {
|
|
616
534
|
get: (transactionsId: string) => Promise<{
|
|
617
535
|
id: string;
|
|
618
|
-
contractId: string;
|
|
619
|
-
updatedAt: string;
|
|
620
|
-
createdAt: string;
|
|
621
|
-
userId: string;
|
|
622
536
|
amount: number;
|
|
537
|
+
currency?: string;
|
|
538
|
+
contractId: string;
|
|
623
539
|
isRefund: boolean;
|
|
540
|
+
userId: string;
|
|
624
541
|
billId: string;
|
|
625
|
-
|
|
542
|
+
updatedAt: string;
|
|
543
|
+
createdAt: string;
|
|
626
544
|
} | undefined>;
|
|
627
545
|
list: () => Promise<Transaction[]>;
|
|
628
546
|
};
|
package/dist/sesamy-js.iife.js
CHANGED
|
@@ -32,7 +32,7 @@ var sesamyJs=(function(mt,ke){"use strict";var Ws=typeof globalThis<"u"?globalTh
|
|
|
32
32
|
* Please keep this comment intact in order to properly abide by the MIT License.
|
|
33
33
|
*
|
|
34
34
|
**/var ts={d:(t,e)=>{for(var r in e)ts.o(e,r)&&!ts.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)},rs={};ts.d(rs,{A:()=>ag,k:()=>ns});var xr=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())})},$r=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 ns(){return xr(this,void 0,Promise,function(){return $r(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 xr(this,void 0,void 0,function(){var h,d;return $r(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 xr(this,void 0,Promise,function(){return $r(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(m){var P=m.target.result,y=function(b){i(b)};try{P.createObjectStore("t",{autoIncrement:!0}).put(new Blob),y(!1)}catch(b){(b instanceof Error&&typeof b.message=="string"?b.message:String(b)).includes("are not yet supported")?y(!0):y(!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 m,P,y,b=window;return(y=(P=(m=b?.performance)===null||m===void 0?void 0:m.memory)===null||P===void 0?void 0:P.jsHeapSizeLimit)!==null&&y!==void 0?y: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 xr(this,void 0,Promise,function(){var d,v,p;return $r(this,function(m){switch(m.label){case 0:if(typeof((h=navigator.storage)===null||h===void 0?void 0:h.getDirectory)!="function")return[3,5];m.label=1;case 1:return m.trys.push([1,3,,4]),[4,navigator.storage.getDirectory()];case 2:return m.sent(),i(!1),[3,4];case 3:return d=m.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)},m.label=6;case 6:return[2]}})})}(function(){return xr(this,void 0,Promise,function(){return $r(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=ns);const ag=ns;rs.A;const ig=rs.k,vn="sesamy_incognito_mode";function as(){try{const t=sessionStorage.getItem(vn);return t===null?void 0:t==="true"}catch{return}}async function og(){try{const t=sessionStorage.getItem(vn);if(t!==null)return t==="true";const{isPrivate:e}=await ig();return sessionStorage.setItem(vn,e.toString()),e}catch{try{sessionStorage.setItem(vn,"false")}catch{}return!1}}function Dr(){return typeof window<"u"}function Xd(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 sg="function",cg="string",ct="undefined",ug="boolean",pn="object",lg="array",fg="number",dg="symbol",hg="null",is=function(){},Qd="any",eh="*",Ht="__",vg="form",pg="input",mg="button",gg="select",mn=typeof process!==ct?process:{};mn.env&&mn.env.NODE_ENV;var Ne=typeof document!==ct;mn.versions!=null&&mn.versions.node!=null,typeof Deno!==ct&&Deno.core,Ne&&window.name==="nodejs"||typeof navigator!==ct&&typeof navigator.userAgent!==ct&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom"));function th(t,e){return e.charAt(0)[t]()+e.slice(1)}var yg=th.bind(null,"toUpperCase"),wg=th.bind(null,"toLowerCase");function bg(t){return rh(t)?yg(hg):typeof t===pn?Eg(t):Object.prototype.toString.call(t).slice(8,-1)}function gn(t,e){e===void 0&&(e=!0);var r=bg(t);return e?wg(r):r}function Mr(t,e){return typeof e===t}var We=Mr.bind(null,sg),Ct=Mr.bind(null,cg),sr=Mr.bind(null,ct),Sg=Mr.bind(null,ug);Mr.bind(null,dg);function rh(t){return t===null}function Ig(t){return gn(t)===fg&&!isNaN(t)}function nh(t){return gn(t)===lg}function Ve(t){if(!Pg(t))return!1;for(var e=t;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function Pg(t){return t&&(typeof t===pn||t!==null)}function Eg(t){return We(t.constructor)?t.constructor.name:null}function Rg(t){return t instanceof Error||Ct(t.message)&&t.constructor&&Ig(t.constructor.stackTraceLimit)}function ah(t,e){if(typeof e!="object"||rh(e))return!1;if(e instanceof t)return!0;var r=gn(new t(""));if(Rg(e))for(;e;){if(gn(e)===r)return!0;e=Object.getPrototypeOf(e)}return!1}ah.bind(null,TypeError),ah.bind(null,SyntaxError);function yn(t,e){var r=t instanceof Element||t instanceof HTMLDocument;return r&&e?_g(t,e):r}function _g(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(yn,vg),wn(yn,mg),wn(yn,pg),wn(yn,gg);function Tg(t){return t?nh(t)?t:[t]:[]}function ih(t){try{return decodeURIComponent(t.replace(/\+/g," "))}catch{return null}}function kg(){if(Ne){var t=navigator,e=t.languages;return t.userLanguage||(e&&e.length?e[0]:t.language)}}function Og(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function Cg(t){return(function(e){for(var r,n=Object.create(null),a=/([^&=]+)=?([^&]*)/g;r=a.exec(e);){var i=ih(r[1]),o=ih(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&&(Ag(n,l.map(function(c){return c.replace(/[?[\]\\ ]/g,"")}),n[u]),delete n[u])}return n})((function(e){return Ne&&window.location.search.substring(1)})())}function Ag(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 bn(){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 Ug(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 Bt="global",cr=Ht+Bt+Ht,ur=typeof self===pn&&self.self===self&&self||typeof global===pn&&global[Bt]===global&&global||void 0;function Gt(t){return ur[cr][t]}function Wt(t,e){return ur[cr][t]=e}function lr(t){delete ur[cr][t]}function fr(t,e,r){var n;try{if(os(t)){var a=window[t];n=a[e].bind(a)}}catch{}return n||r}ur[cr]||(ur[cr]={});var Sn={};function os(t){if(typeof Sn[t]!==ct)return Sn[t];try{var e=window[t];e.setItem(ct,ct),e.removeItem(ct)}catch{return Sn[t]=!1}return Sn[t]=!0}function te(){return te=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},te.apply(null,arguments)}var At="function",St="undefined",Fr="reducer",oh="@@redux/",ss=oh+"INIT",jg=oh+Math.random().toString(36),sh=(function(){return typeof Symbol===At&&Symbol.observable||"@@observable"})(),In=" != "+At;function ch(t,e,r){var n;if(typeof e===At&&typeof r===St&&(r=e,e=void 0),typeof r!==St){if(typeof r!==At)throw new Error("enhancer"+In);return r(ch)(t,e)}if(typeof t!==At)throw new Error(Fr+In);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!==At)throw new Error("Listener"+In);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(!Ve(d))throw new Error("Act != obj");if(typeof d.type===St)throw new Error("ActType "+St);if(u)throw new Error("Dispatch in "+Fr);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:ss}),(n={dispatch:h,subscribe:f,getState:c,replaceReducer:function(d){if(typeof d!==At)throw new Error("next "+Fr+In);a=d,h({type:ss})}})[sh]=function(){var d,v=f;return(d={subscribe:function(p){if(typeof p!="object")throw new TypeError("Observer != obj");function m(){p.next&&p.next(c())}return m(),{unsubscribe:v(m)}}})[sh]=function(){return this},d},n}function Lg(t,e){var r=e&&e.type;return"action "+(r&&r.toString()||"?")+Fr+" "+t+" returns "+St}function dr(){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 Ng(){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)}),te({},o,{dispatch:s=dr.apply(void 0,i)(o.dispatch)})}}}var Ut=Ht+"anon_id",Vt=Ht+"user_id",hr=Ht+"user_traits",cs="analytics",jt="userId",vr="anonymousId",Pn=["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"],us=["name","EVENTS","config","loaded"],re=Pn.reduce(function(t,e){return t[e]=e,t},{registerPluginType:function(t){return"registerPlugin:"+t},pluginReadyType:function(t){return"ready:"+t}}),uh=/^utm_/,lh=/^an_prop_/,fh=/^an_trait_/;function qg(t){var e=t.storage.setItem;return function(r){return function(n){return function(a){if(a.type===re.bootstrap){var i=a.params,o=a.user,s=a.persistedUser,u=a.initialUser,l=s.userId===o.userId;s.anonymousId!==o.anonymousId&&e(Ut,o.anonymousId),l||e(Vt,o.userId),u.traits&&e(hr,te({},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(uh)||p.match(/^(d|g)clid/)){var m=p.replace(uh,"");v.campaign[m==="campaign"?"name":m]=i[p]}return p.match(lh)&&(v.props[p.replace(lh,"")]=i[p]),p.match(fh)&&(v.traits[p.replace(fh,"")]=i[p]),v},{campaign:{},props:{},traits:{}});r.dispatch(te({type:re.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:re.campaign,campaign:d.campaign})}}return n(a)}}}}function xg(t){return function(e,r){if(e===void 0&&(e={}),r===void 0&&(r={}),r.type===re.setItemEnd){if(r.key===Ut)return te({},e,{anonymousId:r.value});if(r.key===Vt)return te({},e,{userId:r.value})}switch(r.type){case re.identify:return Object.assign({},e,{userId:r.userId,traits:te({},e.traits,r.traits)});case re.reset:return[Vt,Ut,hr].forEach(function(n){t.removeItem(n)}),Object.assign({},e,{userId:null,anonymousId:null,traits:{}});default:return e}}}function dh(t){return{userId:t.getItem(Vt),anonymousId:t.getItem(Ut),traits:t.getItem(hr)}}var ls=function(t){return Ht+"TEMP"+Ht+t};function $g(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===re.reset&&([Vt,hr,Ut].forEach(function(d){n(d)}),[jt,vr,"traits"].forEach(function(d){lr(ls(d))})),s.type===re.identify){a(Ut)||r(Ut,bn());var f=a(Vt),h=a(hr)||{};f&&f!==u&&i.dispatch({type:re.userIdChanged,old:{userId:f,traits:h},new:{userId:u,traits:l},options:c}),u&&r(Vt,u),l&&r(hr,te({},h,l))}return o(s)}}}}var Kr={};function hh(t,e){Kr[t]&&We(Kr[t])&&(Kr[t](e),delete Kr[t])}function vh(t,e,r){return new Promise(function(n,a){return e()?n(t):r<1?a(te({},t,{queue:!0})):new Promise(function(i){return setTimeout(i,10)}).then(function(i){return vh(t,e,r-10).then(n,a)})})}function Dg(t){return{abort:t}}function ph(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&&We(p)){var m,P=(function(g,w){return g===void 0&&(g={}),w===void 0&&(w={}),[jt,vr].reduce(function(A,x){return g.hasOwnProperty(x)&&w[x]&&w[x]!==g[x]&&(A[x]=w[x]),A},g)})(h.payload,u),y=n[P.meta.rid];if(!y&&(m=p({payload:P,config:o[d].config,instance:r,abort:Dg}))&&Ve(m)&&m.abort)return void(n[P.meta.rid]=!0);if(!y){var b=v+":"+d;t.dispatch(te({},P,{type:b,_:{called:b,from:"queueDrain"}}))}}});var c=s.actions.filter(function(f,h){return!~l.processIndex.indexOf(h)});s.actions=c}}}var fs=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(pr),d=e.exact.map(function(m){return m.pluginName});h&&(d=o.during.map(function(m){return m.pluginName}));var v=(function(m,P){return function(y,b,g){var w=b.config,A=b.name,x=A+"."+y.type;g&&(x=g.event);var N=y.type.match(pr)?(function(z,B,ie,j,D){return function(L,k){var Y=j?j.name:z,ne=k&&zr(k)?k:ie;if(j&&(!(ne=k&&zr(k)?k:[z]).includes(z)||ne.length!==1))throw new Error("Method "+B+" can only abort "+z+" plugin. "+JSON.stringify(ne)+" input valid");return te({},D,{abort:{reason:L,plugins:ne,caller:B,_:Y}})}})(A,x,P,g,y):(function(z,B){return function(){throw new Error(z.type+" action not cancellable. Remove abort in "+B)}})(y,x);return{payload:Mg(y),instance:m,config:w||{},abort:N}}})(n,d),p=e.exact.reduce(function(m,P){var y=P.pluginName,b=P.methodName,g=!1;return b.match(/^initialize/)||b.match(/^reset/)||(g=!l[y].loaded),c.offline&&b.match(/^(page|track|identify)/)&&(g=!0),m[""+y]=g,m},{});return Promise.resolve(e.exact.reduce(function(m,P,y){var b=P.pluginName;return Promise.resolve(m).then(function(g){function w(){return Promise.resolve(g)}var A=(function(){if(e.namespaced&&e.namespaced[b])return Promise.resolve(e.namespaced[b].reduce(function(x,N,z){return Promise.resolve(x).then(function(B){return N.method&&We(N.method)?((function(L,k){var Y=Ph(L);if(Y&&Y.name===k){var ne=Ph(Y.method);throw new Error([k+" plugin is calling method "+L,"Plugins cant call self","Use "+Y.method+" "+(ne?"or "+ne.method:"")+" in "+k+" plugin insteadof "+L].join(`
|
|
35
|
-
`))}})(N.methodName,N.pluginName),Promise.resolve(N.method({payload:B,instance:n,abort:(ie=B,j=b,D=N.pluginName,function(L,k){return te({},ie,{abort:{reason:L,plugins:k||[j],caller:f,from:D||j}})}),config:yh(N.pluginName,l,i),plugins:l})).then(function(L){var k=Ve(L)?L:{};return Promise.resolve(te({},B,k))})):B;var ie,j,D})},Promise.resolve(r))).then(function(x){g[b]=x});g[b]=r})();return A&&A.then?A.then(w):w()})},Promise.resolve({}))).then(function(m){return Promise.resolve(e.exact.reduce(function(P,y,b){try{var g=e.exact.length===b+1,w=y.pluginName,A=i[w];return Promise.resolve(P).then(function(x){var N=m[w]?m[w]:{};if(h&&(N=x),hs(N,w))return ds({data:N,method:f,instance:n,pluginName:w,store:s}),Promise.resolve(x);if(hs(x,w))return g&&ds({data:x,method:f,instance:n,store:s}),Promise.resolve(x);if(p.hasOwnProperty(w)&&p[w]===!0)return s.dispatch({type:"queue",plugin:w,payload:N,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(x);var z=v(m[w],i[w]);return Promise.resolve(A[f]({abort:z.abort,payload:N,instance:n,config:yh(w,l,i),plugins:l})).then(function(B){var ie=Ve(B)?B:{},j=te({},x,ie),D=m[w];if(hs(D,w))ds({data:D,method:f,instance:n,pluginName:w,store:s});else{var L=f+":"+w;(L.match(/:/g)||[]).length<2&&!f.match(mh)&&!f.match(gh)&&n.dispatch(te({},h?j:N,{type:L,_:{called:L,from:"submethod"}}))}return Promise.resolve(j)})})}catch(x){return Promise.reject(x)}},Promise.resolve(r))).then(function(P){if(!(f.match(pr)||f.match(/^registerPlugin/)||f.match(gh)||f.match(mh)||f.match(/^params/)||f.match(/^userIdChanged/))){if(u.plugins.includes(f),P._&&P._.originalAction===f)return P;var y=te({},P,{_:{originalAction:P.type,called:P.type,from:"engineEnd"}});Sh(P,e.exact.length)&&!f.match(/End$/)&&(y=te({},y,{type:P.type+"Aborted"})),s.dispatch(y)}return P})})}catch(m){return Promise.reject(m)}},pr=/Start$/,mh=/^bootstrap/,gh=/^ready/;function ds(t){var e=t.pluginName,r=t.method+"Aborted"+(e?":"+e:"");t.store.dispatch(te({},t.data,{type:r,_:{called:r,from:"abort"}}))}function yh(t,e,r){var n=e[t]||r[t];return n&&n.config?n.config:{}}function wh(t,e){return e.reduce(function(r,n){return n[t]?r.concat({methodName:t,pluginName:n.name,method:n[t]}):r},[])}function bh(t,e){var r=t.replace(pr,""),n=e?":"+e:"";return[""+t+n,""+r+n,r+"End"+n]}function hs(t,e){var r=t.abort;return!!r&&(r===!0||Ih(r,e)||r&&Ih(r.plugins,e))}function Sh(t,e){var r=t.abort;if(!r)return!1;if(r===!0||Ct(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 Ih(t,e){return!(!t||!zr(t))&&t.includes(e)}function Ph(t){var e=t.match(/(.*):(.*)/);return!!e&&{method:e[1],name:e[2]}}function Mg(t){return Object.keys(t).reduce(function(e,r){return r==="type"||(e[r]=Ve(t[r])?Object.assign({},t[r]):t[r]),e},{})}function Fg(t,e,r){var n={};return function(a){return function(i){return function(o){try{var s,u=function(g){return s?g:i(f)},l=o.type,c=o.plugins,f=o;if(o.abort)return Promise.resolve(i(o));if(l===re.enablePlugin&&a.dispatch({type:re.initializeStart,plugins:c,disabled:[],fromEnable:!0,meta:o.meta}),l===re.disablePlugin&&setTimeout(function(){return hh(o.meta.rid,{payload:o})},0),l===re.initializeEnd){var h=e(),d=Object.keys(h),v=d.filter(function(g){return c.includes(g)}).map(function(g){return h[g]}),p=[],m=[],P=o.disabled,y=v.map(function(g){var w=g.loaded,A=g.name,x=g.config;return vh(g,function(){return w({config:x})},1e4).then(function(N){return n[A]||(a.dispatch({type:re.pluginReadyType(A),name:A,events:Object.keys(g).filter(function(z){return!us.includes(z)})}),n[A]=!0),p=p.concat(A),g}).catch(function(N){if(N instanceof Error)throw new Error(N);return m=m.concat(N.name),N})});Promise.all(y).then(function(g){var w={plugins:p,failed:m,disabled:P};setTimeout(function(){d.length===y.length+P.length&&a.dispatch(te({},{type:re.ready},w))},0)})}var b=(function(){if(l!==re.bootstrap)return/^ready:([^:]*)$/.test(l)&&setTimeout(function(){return ph(a,e,t)},0),Promise.resolve((function(g,w,A,x,N){try{var z=We(w)?w():w,B=g.type,ie=B.replace(pr,"");if(g._&&g._.called)return Promise.resolve(g);var j=A.getState(),D=(Y=z,(ne=j.plugins)===void 0&&(ne={}),(Q=g.options)===void 0&&(Q={}),Object.keys(Y).filter(function(S){var _=Q.plugins||{};return Sg(_[S])?_[S]:_.all!==!1&&(!ne[S]||ne[S].enabled!==!1)}).map(function(S){return Y[S]}));B===re.initializeStart&&g.fromEnable&&(D=Object.keys(j.plugins).filter(function(S){var _=j.plugins[S];return g.plugins.includes(S)&&!_.initialized}).map(function(S){return z[S]}));var L=D.map(function(S){return S.name}),k=(function(S,_){var q=bh(S).map(function(F){return wh(F,_)});return _.reduce(function(F,Z){var V=Z.name,he=bh(S,V).map(function(_e){return wh(_e,_)}),oe=he[0],le=he[1],se=he[2];return oe.length&&(F.beforeNS[V]=oe),le.length&&(F.duringNS[V]=le),se.length&&(F.afterNS[V]=se),F},{before:q[0],beforeNS:{},during:q[1],duringNS:{},after:q[2],afterNS:{}})})(B,D);return Promise.resolve(fs({action:g,data:{exact:k.before,namespaced:k.beforeNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(S){function _(){var Z=(function(){if(B.match(pr))return Promise.resolve(fs({action:te({},q,{type:ie+"End"}),data:{exact:k.after,namespaced:k.afterNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(V){V.meta&&V.meta.hasCallback&&hh(V.meta.rid,{payload:V})})})();return Z&&Z.then?Z.then(function(){return S}):S}if(Sh(S,L.length))return S;var q,F=(function(){if(B!==ie)return Promise.resolve(fs({action:te({},S,{type:ie}),data:{exact:k.during,namespaced:k.duringNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(Z){q=Z});q=S})();return F&&F.then?F.then(_):_()})}catch(S){return Promise.reject(S)}var Y,ne,Q})(o,e,t,a,r)).then(function(g){var w=i(g);return s=1,w})})();return Promise.resolve(b&&b.then?b.then(u):u(b))}catch(g){return Promise.reject(g)}}}}}function Kg(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===re.setItem||a===re.removeItem){if(n.abort)return r(n);a===re.setItem?t.setItem(i,o,s):t.removeItem(i,s)}return r(n)}}}}var zg=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 dr.apply(void 0,o)(n)(a)}}}}};function Hg(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=Eh(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},te({},e,n)}if(/^initialize:([^:]*)$/.test(r.type)){var u=Eh(r.type,re.initialize),l=t()[u];return l&&u?(n[u]=te({},e[u],{initialized:!0,loaded:!!l.loaded({config:l.config})}),te({},e,n)):e}if(/^ready:([^:]*)$/.test(r.type))return n[r.name]=te({},e[r.name],{loaded:!0}),te({},e,n);switch(r.type){case re.disablePlugin:return te({},e,Rh(r.plugins,!1,e));case re.enablePlugin:return te({},e,Rh(r.plugins,!0,e));default:return e}}}function Eh(t,e){return t.substring(e.length+1,t.length)}function Rh(t,e,r){return t.reduce(function(n,a){return n[a]=te({},r[a],{enabled:e}),n},r)}function _h(t){try{return JSON.parse(JSON.stringify(t))}catch{}return t}var Bg={last:{},history:[]};function Gg(t,e){t===void 0&&(t=Bg);var r=e.options,n=e.meta;if(e.type===re.track){var a=_h(te({event:e.event,properties:e.properties},Object.keys(r).length&&{options:r},{meta:n}));return te({},t,{last:a,history:t.history.concat(a)})}return t}var Wg={actions:[]};function Vg(t,e){t===void 0&&(t=Wg);var r=e.payload;switch(e.type){case"queue":var n;return n=r&&r.type&&r.type===re.identify?[e].concat(t.actions):t.actions.concat(e),te({},t,{actions:n});case"dequeue":return[];default:return t}}var Th=/#.*$/;function Jg(t){var e=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(t);return"/"+(e&&e[3]?e[3].split("?")[0].replace(Th,""):"")}var kh,Oh,Ch,Ah,Zg=function(t){if(t===void 0&&(t={}),!Ne)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(Ne){for(var v,p=document.getElementsByTagName("link"),m=0;v=p[m];m++)if(v.getAttribute("rel")==="canonical")return v.getAttribute("href")}})();return d?d.match(/\?/)?d:d+h:window.location.href.replace(Th,"")})(l),f={title:r,url:c,path:Jg(c),hash:u,search:l,width:o,height:s};return n&&n!==""&&(f.referrer=n),te({},f,t)},Yg={last:{},history:[]};function Xg(t,e){t===void 0&&(t=Yg);var r=e.options;if(e.type===re.page){var n=_h(te({properties:e.properties,meta:e.meta},Object.keys(r).length&&{options:r}));return te({},t,{last:n,history:t.history.concat(n)})}return t}kh=(function(){if(!Ne)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"})(),Oh=Ne?document.referrer:null,Ch=kg(),Ah=Og();var Uh={initialized:!1,sessionId:bn(),app:null,version:null,debug:!1,offline:!!Ne&&!navigator.onLine,os:{name:kh},userAgent:Ne?navigator.userAgent:"node",library:{name:cs,version:"0.13.1"},timezone:Ah,locale:Ch,campaign:{},referrer:Oh};function Qg(t,e){t===void 0&&(t=Uh);var r=t.initialized,n=e.campaign;switch(e.type){case re.campaign:return te({},t,{campaign:n});case re.offline:return te({},t,{offline:!0});case re.online:return te({},t,{offline:!1});default:return r?t:te({},Uh,t,{initialized:!0})}}var ey=["plugins","reducers","storage"];function ty(t,e,r){if(Ne){var n=window[(r?"add":"remove")+"EventListener"];t.split(" ").forEach(function(a){n(a,e)})}}function ry(t){var e=ty.bind(null,"online offline",function(r){return Promise.resolve(!navigator.onLine).then(t)});return e(!0),function(r){return e(!1)}}function jh(){return Wt(cs,[]),function(t){return function(e,r,n){var a=t(e,r,n),i=a.dispatch;return Object.assign(a,{dispatch:function(o){return ur[cr][cs].push(o.action||o),i(o)}})}}}function Lh(t){return function(){return dr(dr.apply(null,arguments),jh())}}function vs(t){return t?nh(t)?t:[t]:[]}function Nh(t,e,r){t===void 0&&(t={});var n,a,i=bn();return e&&(Kr[i]=(n=e,a=(function(o){for(var s,u=o||Array.prototype.slice.call(arguments),l=0;l<u.length;l++)if(We(u[l])){s=u[l];break}return s})(r),function(o){a&&a(o),n(o)})),te({},t,{rid:i,ts:new Date().getTime()},e?{hasCallback:!0}:{})}function ny(t){t===void 0&&(t={});var e=t.reducers||{},r=t.initialUser||{},n=(t.plugins||[]).reduce(function(S,_){if(We(_))return S.middlewares=S.middlewares.concat(_),S;if(_.NAMESPACE&&(_.name=_.NAMESPACE),!_.name)throw new Error("https://lytics.dev/errors/1");_.config||(_.config={});var q=_.EVENTS?Object.keys(_.EVENTS).map(function(V){return _.EVENTS[V]}):[];S.pluginEnabled[_.name]=!(_.enabled===!1||_.config.enabled===!1),delete _.enabled,_.methods&&(S.methods[_.name]=Object.keys(_.methods).reduce(function(V,he){var oe;return V[he]=(oe=_.methods[he],function(){for(var le=Array.prototype.slice.call(arguments),se=new Array(oe.length),_e=0;_e<le.length;_e++)se[_e]=le[_e];return se[se.length]=w,oe.apply({instance:w},se)}),V},{}),delete _.methods);var F=Object.keys(_).concat(q),Z=new Set(S.events.concat(F));if(S.events=Array.from(Z),S.pluginsArray=S.pluginsArray.concat(_),S.plugins[_.name])throw new Error(_.name+"AlreadyLoaded");return S.plugins[_.name]=_,S.plugins[_.name].loaded||(S.plugins[_.name].loaded=function(){return!0}),S},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),a=t.storage?t.storage:{getItem:Gt,setItem:Wt,removeItem:lr},i=(function(S){return function(_,q,F){return q.getState("user")[_]||(F&&Ve(F)&&F[_]?F[_]:dh(S)[_]||Gt(ls(_))||null)}})(a),o=n.plugins,s=n.events.filter(function(S){return!us.includes(S)}).sort(),u=new Set(s.concat(Pn).filter(function(S){return!us.includes(S)})),l=Array.from(u).sort(),c=function(){return o},f=new zg,h=f.addMiddleware,d=f.removeMiddleware,v=f.dynamicMiddlewares,p=function(){throw new Error("Abort disabled inListener")},m=Cg(),P=dh(a),y=te({},P,r,m.an_uid?{userId:m.an_uid}:{},m.an_aid?{anonymousId:m.an_aid}:{});y.anonymousId||(y.anonymousId=bn());var b=te({enable:function(S,_){return new Promise(function(q){k.dispatch({type:re.enablePlugin,plugins:vs(S),_:{originalAction:re.enablePlugin}},q,[_])})},disable:function(S,_){return new Promise(function(q){k.dispatch({type:re.disablePlugin,plugins:vs(S),_:{originalAction:re.disablePlugin}},q,[_])})}},n.methods),g=!1,w={identify:function(S,_,q,F){try{var Z=Ct(S)?S:null,V=Ve(S)?S:_,he=q||{},oe=w.user();Wt(ls(jt),Z);var le=Z||V.userId||i(jt,w,V);return Promise.resolve(new Promise(function(se){k.dispatch(te({type:re.identifyStart,userId:le,traits:V||{},options:he,anonymousId:oe.anonymousId},oe.id&&oe.id!==Z&&{previousId:oe.id}),se,[_,q,F])}))}catch(se){return Promise.reject(se)}},track:function(S,_,q,F){try{var Z=Ve(S)?S.event:S;if(!Z||!Ct(Z))throw new Error("EventMissing");var V=Ve(S)?S:_||{},he=Ve(q)?q:{};return Promise.resolve(new Promise(function(oe){k.dispatch({type:re.trackStart,event:Z,properties:V,options:he,userId:i(jt,w,_),anonymousId:i(vr,w,_)},oe,[_,q,F])}))}catch(oe){return Promise.reject(oe)}},page:function(S,_,q){try{var F=Ve(S)?S:{},Z=Ve(_)?_:{};return Promise.resolve(new Promise(function(V){k.dispatch({type:re.pageStart,properties:Zg(F),options:Z,userId:i(jt,w,F),anonymousId:i(vr,w,F)},V,[S,_,q])}))}catch(V){return Promise.reject(V)}},user:function(S){if(S===jt||S==="id")return i(jt,w);if(S===vr||S==="anonId")return i(vr,w);var _=w.getState("user");return S?Xd(_,S):_},reset:function(S){return new Promise(function(_){k.dispatch({type:re.resetStart},_,S)})},ready:function(S){return g&&S({plugins:b,instance:w}),w.on(re.ready,function(_){S&&S(_),g=!0})},on:function(S,_){if(!S||!We(_))return!1;if(S===re.bootstrap)throw new Error(".on disabled for "+S);var q=/Start$|Start:/;if(S==="*"){var F=function(oe){return function(le){return function(se){return se.type.match(q)&&_({payload:se,instance:w,plugins:o}),le(se)}}},Z=function(oe){return function(le){return function(se){return se.type.match(q)||_({payload:se,instance:w,plugins:o}),le(se)}}};return h(F,En),h(Z,Rn),function(){d(F,En),d(Z,Rn)}}var V=S.match(q)?En:Rn,he=function(oe){return function(le){return function(se){return se.type===S&&_({payload:se,instance:w,plugins:o,abort:p}),le(se)}}};return h(he,V),function(){return d(he,V)}},once:function(S,_){if(!S||!We(_))return!1;if(S===re.bootstrap)throw new Error(".once disabled for "+S);var q=w.on(S,function(F){_({payload:F.payload,instance:w,plugins:o,abort:p}),q()});return q},getState:function(S){var _=k.getState();return S?Xd(_,S):Object.assign({},_)},dispatch:function(S){var _=Ct(S)?{type:S}:S;if(Pn.includes(_.type))throw new Error("reserved action "+_.type);var q=te({},_,{_:te({originalAction:_.type},S._||{})});k.dispatch(q)},enablePlugin:b.enable,disablePlugin:b.disable,plugins:b,storage:{getItem:a.getItem,setItem:function(S,_,q){k.dispatch({type:re.setItemStart,key:S,value:_,options:q})},removeItem:function(S,_){k.dispatch({type:re.removeItemStart,key:S,options:_})}},setAnonymousId:function(S,_){w.storage.setItem(Ut,S,_)},events:{core:Pn,plugins:s}},A=n.middlewares.concat([function(S){return function(_){return function(q){return q.meta||(q.meta=Nh()),_(q)}}},v(En),Fg(w,c,{all:l,plugins:s}),Kg(a),qg(w),$g(w),v(Rn)]),x={context:Qg,user:xg(a),page:Xg,track:Gg,plugins:Hg(c),queue:Vg},N=dr,z=dr;if(Ne&&t.debug){var B=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;B&&(N=B({trace:!0,traceLimit:25})),z=function(){return arguments.length===0?jh():Ve(typeof arguments[0])?Lh():Lh().apply(null,arguments)}}var ie,j=(function(S){return Object.keys(S).reduce(function(_,q){return ey.includes(q)||(_[q]=S[q]),_},{})})(t),D=n.pluginsArray.reduce(function(S,_){var q=_.name,F=_.config,Z=_.loaded,V=n.pluginEnabled[q];return S[q]={enabled:V,initialized:!!V&&!_.initialize,loaded:!!Z({config:F}),config:F},S},{}),L={context:j,user:y,plugins:D},k=ch((function(S){for(var _=Object.keys(S),q={},F=0;F<_.length;F++){var Z=_[F];typeof S[Z]===At&&(q[Z]=S[Z])}var V,he=Object.keys(q);try{(function(oe){Object.keys(oe).forEach(function(le){var se=oe[le];if(typeof se(void 0,{type:ss})===St||typeof se(void 0,{type:jg})===St)throw new Error(Fr+" "+le+" "+St)})})(q)}catch(oe){V=oe}return function(oe,le){if(oe===void 0&&(oe={}),V)throw V;for(var se=!1,_e={},xe=0;xe<he.length;xe++){var Ke=he[xe],Ce=oe[Ke],Ye=(0,q[Ke])(Ce,le);if(typeof Ye===St){var dt=Lg(Ke,le);throw new Error(dt)}_e[Ke]=Ye,se=se||Ye!==Ce}return se?_e:oe}})(te({},x,e)),L,z(N(Ng.apply(void 0,A))));k.dispatch=(ie=k.dispatch,function(S,_,q){var F=te({},S,{meta:Nh(S.meta,_,vs(q))});return ie.apply(null,[F])});var Y=Object.keys(o);k.dispatch({type:re.bootstrap,plugins:Y,config:j,params:m,user:y,initialUser:r,persistedUser:P});var ne=Y.filter(function(S){return n.pluginEnabled[S]}),Q=Y.filter(function(S){return!n.pluginEnabled[S]});return k.dispatch({type:re.registerPlugins,plugins:Y,enabled:n.pluginEnabled}),n.pluginsArray.map(function(S,_){var q=S.bootstrap,F=S.config,Z=S.name;q&&We(q)&&q({instance:w,config:F,payload:S}),k.dispatch({type:re.registerPluginType(Z),name:Z,enabled:n.pluginEnabled[Z],plugin:S}),n.pluginsArray.length===_+1&&k.dispatch({type:re.initializeStart,plugins:ne,disabled:Q})}),ry(function(S){k.dispatch({type:S?re.offline:re.online})}),(function(S,_,q){setInterval(function(){return ph(S,_,q)},3e3)})(k,c,w),w}var En="before",Rn="after",Jt="cookie",Zt=$h(),qh=_n,ay=_n;function xh(t){return Zt?_n(t,"",-1):lr(t)}function $h(){if(Zt!==void 0)return Zt;var t=Jt+Jt;try{_n(t,t),Zt=document.cookie.indexOf(t)!==-1,xh(t)}catch{Zt=!1}return Zt}function _n(t,e,r,n,a,i){if(typeof window<"u"){var o=arguments.length>1;return Zt===!1&&(o?Wt(t,e):Gt(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 It="localStorage",iy=os.bind(null,It);fr(It,"getItem",Gt),fr(It,"setItem",Wt),fr(It,"removeItem",lr);var Pt="sessionStorage",oy=os.bind(null,Pt);fr(Pt,"getItem",Gt),fr(Pt,"setItem",Wt),fr(Pt,"removeItem",lr);function mr(t){var e=t;try{if((e=JSON.parse(t))==="true")return!0;if(e==="false")return!1;if(Ve(e))return e;parseFloat(e)===e&&(e=parseFloat(e))}catch{}if(e!==null&&e!=="")return e}var sy=iy(),cy=oy(),uy=$h();function Yt(t,e){if(t){var r=ps(e),n=!ws(r),a=ms(r)?mr(localStorage.getItem(t)):void 0;if(n&&!sr(a))return a;var i=gs(r)?mr(qh(t)):void 0;if(n&&i)return i;var o=ys(r)?mr(sessionStorage.getItem(t)):void 0;if(n&&o)return o;var s=Gt(t);return n?s:{localStorage:a,sessionStorage:o,cookie:i,global:s}}}function Tn(t,e,r){if(t&&!sr(e)){var n={},a=ps(r),i=JSON.stringify(e),o=!ws(a);return ms(a)&&(n[It]=On(It,e,mr(localStorage.getItem(t))),localStorage.setItem(t,i),o)?n[It]:gs(a)&&(n[Jt]=On(Jt,e,mr(qh(t))),ay(t,i),o)?n[Jt]:ys(a)&&(n[Pt]=On(Pt,e,mr(sessionStorage.getItem(t))),sessionStorage.setItem(t,i),o)?n[Pt]:(n[Bt]=On(Bt,e,Gt(t)),Wt(t,e),o?n[Bt]:n)}}function ly(t,e){if(t){var r=ps(e),n=Yt(t,eh),a={};return!sr(n.localStorage)&&ms(r)&&(localStorage.removeItem(t),a[It]=n.localStorage),!sr(n.cookie)&&gs(r)&&(xh(t),a[Jt]=n.cookie),!sr(n.sessionStorage)&&ys(r)&&(sessionStorage.removeItem(t),a[Pt]=n.sessionStorage),!sr(n.global)&&kn(r,Bt)&&(lr(t),a[Bt]=n.global),a}}function ps(t){return t?Ct(t)?t:t.storage:Qd}function ms(t){return sy&&kn(t,It)}function gs(t){return uy&&kn(t,Jt)}function ys(t){return cy&&kn(t,Pt)}function ws(t){return t===eh||t==="all"}function kn(t,e){return t===Qd||t===e||ws(t)}function On(t,e,r){return{location:t,current:e,previous:r}}var fy={setItem:Tn,getItem:Yt,removeItem:ly};function dy(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Dh(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 Mh(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Dh(Object(r),!0).forEach(function(n){dy(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Dh(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function hy(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e={storage:fy};return ny(Mh(Mh({},e),t))}const bs="@sesamy/sesamy-js",Cn="1.50.1";function vy(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=my(l);return a!==c&&(a=c,setTimeout(()=>t(l),0)),s.apply(r,u)}})}function py(t,e){const r=t.indexOf(e);return r>-1?t.slice(0,r):t}function my(t){return["#","?"].forEach(e=>t=py(t,e)),t}function gy(){vy(()=>{Et.page()})}var Ss="up",Is="down";function yy(t){if(t===void 0&&(t={}),!Ne)return is;var e=Kh(),r=Ps(),n=Fh(),a=An(n,e),i=An(r,e),o=[],s=[],u=[],l=n,c=a,f=i,h=Object.keys(t);if(!h.length)return is;var d=h.map(function(p){return Number(p)}),v=Ug(function(){var p=Kh(),m=(function(j,D){return D.map(function(L){return L===100?j-5:j*(L/100)})})(p,d),P=Ps(),y=Fh(),b=An(y,p),g=An(P,p);if(c=b>c?b:c,f=g<f?g:f,!(o.length>=d.length)){var w=l===y,A=Ss;w?A="initial":l<=y&&(A=Is);var x=m,N=d;(A===Ss||w)&&(x=m.slice().reverse(),N=d.slice().reverse());var z=N.reduce(function(j,D,L){var k=x[L];return u.includes(D)&&y<=k&&(u=u.filter(function(Y){return Y!==D}),j.singleFunction=D),A===Is&&!o.includes(D)&&y>=k&&D>i?(s.push(D),j.callbacks=j.callbacks.concat(D),j):A===Ss&&!o.includes(D)&&y<=k&&D<=b?(j.foundFunc=[D],j):(w&&y>=k&&j.foundFunc.length===0&&(j.foundFunc=[D]),!s.includes(D)&&y>=k&&(s.push(D),j.singleFunction?u.push(D):j.singleFunction=D),j)},{foundFunc:[],singleFunction:null,callbacks:[],direction:A});if(l=y,A===Is&&z.callbacks&&z.callbacks.forEach(function(j){We(t[j])&&(t[j]({trigger:j,direction:A,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(j))}),z.singleFunction){var B=z.singleFunction,ie=z.direction;We(t[B])&&t[B]({trigger:B,direction:ie,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(B)}}},500);return window.addEventListener("scroll",v),function(){return window.removeEventListener("scroll",v)}}function Ps(){return Ne?document.body.scrollTop||document.documentElement.scrollTop:0}function wy(){return Ne?window.innerHeight||document.documentElement.clientHeight:0}function Fh(){return Math.round(Ps()+wy())}function Kh(){if(!Ne)return 0;var t=document.body,e=document.documentElement;return Math.max(t.scrollHeight,t.offsetHeight,e.clientHeight,e.scrollHeight,e.offsetHeight)}function An(t,e){return Math.round(t/e*100)}var Es="Event",zh=Es+"Listener";function by(t){return function(e,r,n,a){var i=n||is,o=a||!1;if(!Ne)return i;var s=Un(r),u=Un(e,!0);if(!u.length)throw new Error("noElements");if(!s.length)throw new Error("no"+Es);var l=[];return(function c(f){f&&(l=[]);for(var h=f?"add"+zh:"remove"+zh,d=0;d<u.length;d++){var v=u[d];l[d]=f?o&&o.once?Sy(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 Un(t,e){if(Ct(t))return e?Un(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=Tg(t);return e?i.map(function(o){return Ct(o)?Un(o,!0):o}).flat():i}function Sy(t,e){var r;return function(){return t&&(r=t.apply(this,arguments),t=null),r}}var Rs=by(Es);function Hh(t,e){return Ne&&We(window[t])?(r=window[t],n=e,(a=window)===void 0&&(a=null),We(r)?function(){r.apply(a,arguments),n.apply(a,arguments)}:n):window[t]=e;var r,n,a}Hh.bind(null,"onerror"),Hh.bind(null,"onload");var Bh=typeof window>"u",Gh="hidden";function Iy(t){if(Bh)return!1;var e=Py(),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 Py(){var t=["webkit","moz","ms","o"];return Bh||Gh in document?Gh:t.reduce(function(e,r){var n=r+"Hidden";return!e&&n in document?n:e},null)}var Ey=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function Ry(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=Iy(function(s){s||r({type:"tabVisible"})});return n=[o].concat(Ey.map(function(s){return Rs(document,s,r)})).concat(Rs(window,"load",r)).concat(Rs(window,"scroll",r,{capture:!0,passive:!0})),i}function i(){n.map(function(o){return o()})}return a(),function(){return i(),a}}function _y(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(m){d(),i&&!c&&i(Hr(h),m),a&&c&&(c=!1,a(Hr(r),m),h=new Date),e=setTimeout(function(){c=!0,n&&(r=new Date,n(Hr(h),m))},s)}var p=Ry(v,{throttle:l});return{disable:function(){f=!0,c=!1,d();var m=p();return function(){return f=!1,h=new Date,v({type:"load"}),m()}},getStatus:function(){return{isIdle:c,isDisabled:f,active:c?0:Hr(h,f),idle:c?Hr(r,f):0}}}}function Hr(t,e){return e?0:Math.round((new Date-t)/1e3)}const Wh=5e3;class Ty{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),_y({onIdle:r=>this.handleAwake(!1,r),onWakeUp:r=>this.handleAwake(!0,r),timeout:Wh}),yy({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*Wh: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 Vh(t){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}function ky(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 Jh="sesamy_session_id";function Oy(){let t=sessionStorage.getItem(Jh);return t||(t=Math.random().toString(36).slice(2,9),sessionStorage.setItem(Jh,t)),t}function Zh(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)}let Ze={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"}},Yh=[],jn;function Xh(){const t=window.location.pathname;return Yh.find(e=>e.path?t.includes(e.path):!0)}function Cy(t,e){Yh=t.content||[];const r=Xh();r&&r.type==="article"&&(Ze={...Ze,...r.selectors}),jn=e}function Ay(t,e){const{selector:r}=e;return r===Ze.article.selector?t:t.querySelector(r)}function Qh(t,e){if(t)return e.attribute?e.attribute==="textContent"?t.textContent??void 0:t.getAttribute(e.attribute)??Qh(t.parentElement,e):t.textContent??void 0}function gr(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 ev({publisherContentId:t,key:e,defaultValue:r=""}){return(t?document.body.querySelector(`sesamy-content-data[id='${t}']`):null)?.getAttribute(e)||gr(`sesamy:${e}`)||gr(`og:${e}`)||gr(e)||r}function Uy(){const t=document.querySelectorAll(Ze.article.selector);return Array.from(t).map(_s).filter(e=>e!==null)}function _s(t){const e=typeof t=="string"?document.querySelector(t):t;if(!e)return null;const r={element:e,selector:typeof t=="string"?t:Zh(e)},n=(i,o,s,u)=>{const l=Ay(e,o);if(l){const c=Qh(l,o)||ev({publisherContentId:s,key:i});c!==void 0&&(r[i]=u?u(c):c)}};n("id",Ze.id),n("title",Ze.title,r.id),n("excerpt",Ze.excerpt,r.id),n("image",Ze.image,r.id),n("price",Ze.price,r.id,i=>parseFloat(i)),n("currency",Ze.currency,r.id),n("url",Ze.url,r.id),n("pass",Ze.pass,r.id),n("accessLevel",Ze.accessLevel,r.id,i=>i||"entitlement");const a=Xh();return 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)),r}async function jy(t,e){const r=typeof t=="string"?document.querySelector(t):t;if(!r)throw new Error("Could not find element");const n=_s(r);if(!n?.url)throw new Error("Could not find content for element");const a=await jn.entitlements.hasAccess(n.url||"",n.pass?.split(",")||[]);if(!a)throw new Error("User does not have access to the content");const i=await jn.entitlements.access(a.id);if(!i.token)throw new Error("Could not get access token");const o=e||Zh(r.parentElement||r);return jn.proxy.getContent(i.token,n.url,o)}let tv=!1,Ln,Nn,Ts;function rv(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:Ts,requestId:Math.random().toString(36).slice(2,9),sessionId:Oy(),timestamp:new Date().toISOString(),version:Cn,event:e.event,context:{...e.context,page:{url:window.location.href,title:document.title,referrer:document.referrer,itemSrc:gr("sesamy:item-src"),publisherContentId:gr("sesamy:publisher-content-id")},campaign:r,locale:navigator.language,library:bs,userAgent:navigator.userAgent,clientId:Ts}}}))}const nv=ky(async t=>{if(t.length>0){const e=rv(t);tv?navigator.sendBeacon(Nn,e):(await fetch(Nn,{method:"POST",body:e,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function ks(t){if(t.anonymousId)if(t.properties?.flushing){const e={...t};delete e.properties.flushing,navigator.sendBeacon(Nn,rv([e]))}else nv.push(t)}function Ly(){return tv=!0,nv.flush()}function Ny(t,e,r){Ln=e,Nn=`${ft("logs",r)}/events`,Ts=t}const qy={name:"custom-analytics-plugin",page:({payload:t})=>{if(!Ln)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;ks({anonymousId:r,userId:n,properties:e,event:a,type:"page"})},track:({payload:t})=>{if(!Ln)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;ks({anonymousId:r,userId:n,properties:e,event:a,type:"track"})},identify:({payload:t})=>{if(!Ln)return;const{properties:e,anonymousId:r,userId:n}=t;ks({anonymousId:r,userId:n,properties:e,type:"identify"})}},av=["source","medium","campaign","term","content"],Lt="utm_",xy=1800*1e3;function iv(t){return t?Date.now()-parseInt(t,10)>xy:!0}function ov(){const t=document.referrer||"";if(!t)return;const e=Yt(`${Lt}set_at`);(iv(e)||!Yt(`${Lt}referrer`))&&Tn(`${Lt}referrer`,t)}function $y(){const t=()=>{const r={};for(const a of av){const i=Yt(`${Lt}${a}`);i&&(r[`utm_${a}`]=i)}const n=Yt(`${Lt}referrer`);return n&&(r.utm_referrer=n),r};return{name:"attribution-tracking",initialize(){ov()},campaign({payload:r}){const n=r?.campaign||{},a=Yt(`${Lt}set_at`);if(Object.keys(n).length>0&&iv(a)){for(const o of av){const s=n[o];s&&Tn(`${Lt}${o}`,s)}Tn(`${Lt}set_at`,String(Date.now()))}ov()},page({payload:r}){return r.properties.campaign=t(),r},track({payload:r}){return r.properties.campaign=t(),r},getStoredCampaignData:t}}const Dy=$y(),sv=new Map,cv=new Map;function My({clientId:t,enabled:e=!0,environment:r}){Ny(t,e,r),e&&(window.addEventListener("beforeunload",()=>{cv.forEach((n,a)=>{n.bind(a)()}),Ly()}),window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&sv.forEach((n,a)=>{n.bind(a)()})}),gy(),Vh(()=>{const n=new Ty({element:document.body,viewCallback:()=>{Et.page()},activeDurationCallback:(a,i,o)=>{Et.track("activeDuration",{duration:a,durationStart:o,flushing:i})},idleDurationCallback:(a,i,o)=>{Et.track("idleDuration",{duration:a,durationStart:o,flushing:i})},scrollCallback:a=>{Et.track("scroll",{scroll:a.scrollMax})}});cv.set(document.body,()=>{n.flush()}),sv.set(document.body,()=>{n.handleVisibilityChange()})}),window.addEventListener(Ge.AUTHENTICATED,async n=>{const a=n;await Et.identify(a.detail.sub)}),window.addEventListener(Ge.LOGOUT,async()=>{await Et.track("logout",{}),await Et.reset()}))}const Et=hy({app:bs,version:Cn,plugins:[Dy,qy]});function uv(t,e){Et.track(t,e)}function lv(t,e,r=!1){const n={name:t,data:e},a=new CustomEvent(t,{detail:n,cancelable:r,bubbles:!0});uv(`event:${t}`,{...e,timestamp:new Date().toISOString()});const i=window.dispatchEvent(a);return r&&!i?{canceled:!0,message:n.cancellationMessage}:{canceled:!1}}function Fy(t,e){t.cancelable&&(t.detail.cancellationMessage=e,t.preventDefault())}function Ky(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function zy(){return/android/i.test(navigator.userAgent)}let qe,fv,Br,Os=!1,qn=!1;Dr()&&window.addEventListener("pageshow",()=>{qn=!1});const yr="sesamyAccessToken",Cs="sesamyRefreshToken",xn="sesamySilentAuthThrottle",Hy=300*1e3;async function $n(){return Os?!0:new Promise((t,e)=>{const r=setTimeout(()=>{Os?t(!0):e(new Error("Initialization failed: Timeout"))},2e3);window.addEventListener(Ge.AUTH_INITIALIZED,()=>{clearTimeout(r),t(!0)})})}async function By(t){if(!t)return null;const e=localStorage.getItem(Cs);if(!e)return ve("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(Cs),new Error("Renew token failed");const i=await a.json();return localStorage.setItem(Cs,i.refresh_token),localStorage.setItem(yr,i.access_token),i.access_token}catch{js()}}async function As(){const t=localStorage.getItem(yr);if(!t)return null;const e=Ls(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3){const r=await By(e);if(r)return r;localStorage.removeItem(yr)}return t}let Dn=null;const Gy=64;function Wy(){try{if(Dn!==null)return Dn;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===Gy)return Dn=!0,!0}}catch(t){ve(`Error checking for existing auth0 tokens: ${t.message}`)}return Dn=!1,!1}function Vy(t){if(t.domains&&t.domains.length>0){const e=wr(window.location.href);if(e){for(const r of t.domains)if(wr(`https://${r}`)===e)return ve(`Found matching domain in domains array: ${r} for TLD: ${e}`),r;ve(`No matching domain found in domains array for TLD: ${e}`)}}if(t.domain)return ve(`Using fallback domain property: ${t.domain}`),t.domain}function wr(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 Jy(t){if(t.enabled===!1)return;fv=t.organization;const e=Vy(t);Br=e&&!Wy()?e:Yd("token",t.environment);const r={domain:Br,clientId:t.clientId,useCookiesForTransactions:!0};r.cacheLocation="localstorage",wr(window.location.href)!==wr(`https://${Br}`)&&(r.useRefreshTokens=!0),ve(`Initializing auth0 client: ${JSON.stringify(r)}`),qe=await eg(r);const n=new URLSearchParams(window.location.search),a=n.get("code"),i=n.get("state");if(a)if(window.opener)ve("Code found in URL, posting to opener"),window.opener.postMessage({type:"authorization_response",response:{code:a,state:i}},window.location.origin);else{ve("Code found in URL, handling redirect");try{const u=await qe.handleRedirectCallback();ve(`Login result: ${JSON.stringify(u)}`);const l=await qe.getUser();if(!l)throw ve("No user found"),new Error("No user found");ve(`User found ${JSON.stringify(l)}`),Us(),Ot(Ge.AUTHENTICATED,l),ve("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())}Os=!0,Ot(Ge.AUTH_INITIALIZED,{})}async function Gr(){return await $n(),await As()?!0:qe?qe.isAuthenticated():!1}async function Zy(){return await $n(),await As()?(ve("Using local user"),{sub:"local",name:"Local User"}):qe?qe.getUser():null}function dv(t){if(qn)return ve("Login already in progress"),null;if(qn=!0,setTimeout(()=>{qn=!1},3e3),localStorage.removeItem(yr),!qe)throw new Error("Auth0 client not initialized");const e=t?.authorizationParams||{};return{...t,authorizationParams:{organization:fv,redirect_uri:window.location.href,ui_locales:hn(),incognito:as(),...e}}}async function Mn(t){const e=dv(t);if(e)return qe.loginWithRedirect(e)}async function hv(t){const e=dv(t);if(!e)return;await qe.loginWithPopup(e,{timeoutInSeconds:1800}),Us(),lv(Ge.AUTHENTICATED,await qe.getUser()).canceled||window.location.reload()}async function Yy(t){return Br&&wr(window.location.href)!==wr(`https://${Br}`)&&(Ky()||zy()||as())?hv(t):Mn(t)}function Xy(){try{const t=sessionStorage.getItem(xn);if(!t)return!1;const{timestamp:e}=JSON.parse(t);return Date.now()-e<Hy}catch{return sessionStorage.removeItem(xn),!1}}function Qy(){try{const t={timestamp:Date.now()};sessionStorage.setItem(xn,JSON.stringify(t))}catch{ve("Failed to set silent auth throttle in sessionStorage")}}function Us(){try{sessionStorage.removeItem(xn)}catch{}}async function Xt(t=!0,e=!1){await $n();const r=await As();if(r)return r;if(!e&&Xy()){if(ve("Silent auth is throttled due to recent failures, skipping request"),t)throw new Error("Silent auth throttled");return null}try{if(!qe)return ve("Auth client not initialized"),null;let n=await qe.getTokenSilently();const a=Ls(n);return e&&a?.exp&&a.exp+3600<new Date().getTime()/1e3&&(n=await qe.getTokenSilently({cacheMode:e?"off":"on"})),Us(),n}catch(n){const a=n;if(ve(`Failed to get token silently: ${a.message}`),Qy(),await qe.isAuthenticated()&&(a.message==="Invalid refresh token"||a.message.includes("Missing Refresh Token"))&&await js(),t)throw n;return null}}async function js(t={}){if(await $n(),localStorage.removeItem(yr),Ot(Ge.LOGOUT,{}),!!qe)return ve(`Logout with options: ${JSON.stringify(t)}`),qe.logout({...t,logoutParams:{returnTo:window.location.href,...t.logoutParams}})}function Ls(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 Ns(t){const e=Ls(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3)throw new Error("Invalid token");ve("Set token"),localStorage.setItem(yr,t),Ot(Ge.AUTHENTICATED,e)}const ew=(t,e)=>e.skipDedupe||e.method!=="GET",tw=(t,e)=>e.method+"@"+t,rw=t=>t.clone(),vv=({skip:t=ew,key:e=tw,resolver:r=rw}={})=>{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)}}},nw=(t,e)=>t*e,aw=t=>t&&t.ok,pv=({delayTimer:t=500,delayRamp:e=nw,maxAttempts:r=10,until:n=aw,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(m=>{const P=e(t,f);setTimeout(()=>{typeof a=="function"?Promise.resolve(a({response:d,error:v,url:l,options:c})).then((y={})=>{var b,g;m(u((b=y&&y.url)!==null&&b!==void 0?b:l,(g=y&&y.options)!==null&&g!==void 0?g:c))}):m(u(l,c))},P)}).then(h).catch(m=>{if(!i)throw m;return h(null,m)}):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 iw{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 qs(t){let e;try{e=new URL(t)}catch{return!1}return e.protocol==="http:"||e.protocol==="https:"}function mv(t,e){if(qs(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 gv(t){return t.endsWith("/")?t.slice(0,-1):t}function yv(t,e){if(!qs(t)||!qs(e))return!1;const r=new URL(t),n=new URL(e);return r.origin===n.origin&&gv(r.pathname)===gv(n.pathname)}function ow(t,e,r){const n=new URL(`${ft("checkout3",t.environment)}`);if(e.language&&n.searchParams.set("lang",e.language),e.sku)n.searchParams.set("sku",e.sku),e.purchaseOptionId&&n.searchParams.set("po-id",e.purchaseOptionId);else if(e.itemSrc){const{sku:s,purchaseOption:u,itemSrc:l}=mv(e.itemSrc,e.purchaseOptionId);l&&n.searchParams.set("url",l),s&&n.searchParams.set("sku",s),u&&n.searchParams.set("po-id",u)}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 a=["_ga","_gid","_fbp","_fbc"];document.cookie.split(";").map(s=>{const[u,l]=s.trim().split("=");return{key:u,value:l}}).filter(s=>a.some(u=>u===s.key)).forEach(s=>{n.searchParams.append(s.key,s.value)});let o=new URL(window.location.href);if(e.redirectUrl)try{o=new URL(e.redirectUrl)}catch{console.warn("Invalid redirect URL provided, using current URL instead:",e.redirectUrl)}return o.searchParams.set("force-refetch-entitlements","true"),e.itemSrc&&o.searchParams.set("sesamy-purchase",e.itemSrc),n.searchParams.set("redirect-url",o.toString()),e.paymentMethodsFilter&&n.searchParams.set("paymentmethods-filter",e.paymentMethodsFilter.flatMap(({provider:s,methods:u})=>u?u.map(l=>`${s}|${l}`):s).join(",")),n}const wv="sesamySignedURLs";function xs(){const t=sessionStorage.getItem(wv);return t?JSON.parse(t):[]}function sw(t){const e=xs();e.push(t),ve(`Adding signed URL: ${t}`),sessionStorage.setItem(wv,JSON.stringify(e))}function cw(t){const e={};return Object.keys(t).forEach(r=>{const n=t[r];n!=null&&(e[r]=n.toString())}),e}const $s="sesamyAttribution";function uw(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 lw(t){return Object.keys(t).find(e=>e.startsWith("utm_"))?{utmSource:void 0,utmMedium:void 0,utmCampaign:void 0,...t}:t}function Fn(){return uw($s)||{}}function bv(t){if(t===null)localStorage.removeItem($s);else{ve(`Setting attribution ${JSON.stringify(t)}`);const e=Fn()??{},r=cw({...e,...lw(t)});localStorage.setItem($s,JSON.stringify({value:r}))}}function fw(t){const e=t.endpoint||ft("api2",t.environment),r=async()=>{const T=await Xt(!0);if(!T)throw new Error("No access token available");return T},n=ke.client({baseUrl:e,tokenProvider:r,libraryName:bs,libraryVersion:Cn,vendorId:t.vendorId,cache:{mode:ke.CacheMode.BROWSER,storage:new iw}}),a=T=>async(K,J)=>{let ae=sessionStorage.getItem(Jd);ae||(ae=Date.now().toString(),sessionStorage.setItem(Jd,ae));const me={...J,headers:{...J.headers,"Cache-Timestamp":ae}};return T(K,me)},i=(T=!0)=>K=>async(J,ae)=>{let me=null;if(me=await Xt(T),!me){if(T)throw new Error("No access token available");return K(J,ae)}const ze={...ae,headers:{...ae.headers,...me?{Authorization:`Bearer ${me}`}:{}}};return K(J,ze)},o=T=>(K,J)=>{if(J.headers&&"Authorization"in J.headers)return T(K,J);const ae=localStorage.getItem("__anon_id"),me=btoa(`${t.clientId}|${ae}:`),ze={...J,headers:{...J.headers,Authorization:`Basic ${me}`}};return T(K,ze)},s=ke.wretch(e).headers({"Content-Type":"application/json"}).middlewares([a,i(),vv(),pv({delayTimer:1e3,delayRamp:(T,K)=>T*K,maxAttempts:3,until:T=>!!(T&&(T.ok||T.status>=400&&T.status<500)),retryOnNetworkError:!1})]),u=ke.wretch(e).headers({"Content-Type":"application/json"}).middlewares([a,i(!1),o,vv(),pv({delayTimer:1e3,delayRamp:(T,K)=>T*K,maxAttempts:3,until:T=>!!(T&&(T.ok||T.status>=400&&T.status<500)),retryOnNetworkError:!1})]);async function l(T={}){const{waitForEntitlementAfter:K,includeSignedLinks:J=!0}=T,ae=await Gr()?await n.entitlements.list({waitForEntitlementAfter:K?.toISOString()}):[];return J&&ae.push(...xs()),ae}async function c(T,K=[]){return(await l())?.find(me=>{const{sku:ze,purchaseOption:M}=mv(T);return!!("sku"in me&&ze===me.sku||M&&"purchaseOptionsId"in me&&M===me.purchaseOptionsId||yv(T,me.url)||K.some(ee=>yv(ee,me.url)))})}async function f(T){return n.entitlements.get(T)}async function h(T){return n.entitlements.getAccess(T)}async function d(T,K,J){const ae=new URL(ft("api2",t.environment));return ae.pathname="/proxy",ae.searchParams.set("url",K),J&&ae.searchParams.set("selector",J),ke.wretch(ae.toString()).headers({Authorization:`Bearer ${T}`}).get().text()}async function v(T){if(!T)throw new Error("SKU is required to get fulfillments");return await Gr()?await s.get(`/fulfillments?sku=${encodeURIComponent(T)}`).json():[]}async function p(T,K){if(!T||!K)throw new Error("SKU and itemId are required to request delivery");return(await s.post({sku:T},`/fulfillments/${encodeURIComponent(K)}/request-delivery?`).res()).ok}async function m(){return s.get("/contracts").json()}async function P(T){return(await s.get("/contracts").json())?.find(J=>J.id===T)}async function y(T){const K=await s.post({},`/contracts/${encodeURIComponent(T)}/cancel`).res();return ke.clearCache(),K.ok}async function b(){return console.warn("getSubscriptions is deprecated, use getContracts instead"),s.get("/subscriptions").json()}async function g(){return s.get("/bills").json()}async function w(T){return(await s.get("/bills").json())?.find(J=>J.id===T)}async function A(){return s.get("/transactions").json()}async function x(T){return(await s.get("/transactions").json())?.find(J=>J.id===T)}async function N(T,K){const J=await s.url(`/user-metadata/${encodeURIComponent(T)}`).put(K).json();return Ot(Ge.USER_ATTRIBUTE_CHANGED,{}),ke.clearCache(),J}async function z(T){const K=await s.url(`/user-metadata/${encodeURIComponent(T)}`).delete().res();return ke.clearCache(),K.ok}async function B(){return await s.url("/user-metadata").get().json()}async function ie(T){return(await B())[T]||null}async function j(){return await s.url("/tags").get().json()}async function D(T){const K=await s.url(`/tags/${encodeURIComponent(T)}`).delete().res();return ke.clearCache(),K.ok}async function L(T){const K=await s.url("/tags").post(encodeURIComponent(T)).res();return Ot(Ge.USER_ATTRIBUTE_CHANGED,{}),ke.clearCache(),K.ok}async function k(T){return(await u.url("/tallies").get().json())[T]}async function Y(){return await u.url("/tallies").get().json()}async function ne(T){const K=await u.url(`/tallies/${T}`).delete().res();return ke.clearCache(),K.ok}async function Q(T,K){return await u.url(`/tallies/${encodeURIComponent(T)}/push`).post(K).json()}async function S(T){return n.products.get(T)}async function _(){return await Xt(!1)?await s.url("/profile").get().json():null}async function q(T){const K=await s.url("/profile").patch(T).res();return ke.clearCache(),K.ok}async function F(){return await s.url("/payment-issues").get().json()}async function Z(){return(await s.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function V(){return(await s.url("/profile/unlink-spotify").post().res()).ok}async function he(T){const K=await Xt(!1);if(!K)throw new Error("No access token available");const J=new URL(`${ft("access-sync",t.environment)}/spotify/sesamy-callback`);J.searchParams.set("access_token",K),J.searchParams.set("state",T),window.location.href=J.toString()}async function oe(T){const K=await s.url(`/products/${encodeURIComponent(T)}/auto-onboard`).post().json();return K.length&&ke.clearCache(),K}async function le(T,K=3600){const{shortlink:J}=await ke.wretch(ng).post({url:T,ttl:K}).json();return J}async function se(T){const K=await Xt(!1,!0);let J;const ae=T.language||hn(),me=Fn();switch(T.target){case"account":J=new URL(`${ft("account",t.environment)}/${encodeURIComponent(T.language||ae)}/subscriptions/${encodeURIComponent(t.clientId)}${T.contractId?`/${encodeURIComponent(T.contractId)}`:""}`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"change-payment":J=new URL(`${ft("account",t.environment)}/${encodeURIComponent(T.language||ae)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.contractId)}/change-payment-method`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"change-plan":J=new URL(`${ft("account",t.environment)}/${encodeURIComponent(T.language||ae)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.contractId)}/edit-plan`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"consume":J=new URL(`${ft("consume",t.environment)}/${encodeURIComponent(T.language||ae)}/@${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.sku)}`),T.episodeId?J.href+=`/${T.episodeId}`:J.href+="/listen",J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"checkout":J=ow(t,{language:ae,...T},me);break;default:throw new Error("Invalid target")}return K&&(J.hash=`#access_token=${K}`),T.shorten?le(J.href,T.ttl):J.href}async function _e(T){const K=Fn(),J=["_ga","_gid","_fbp","_fbc"];return document.cookie.split(";").forEach(me=>{const ze=K,[M,ee]=me.trim().split("=");J.includes(M)&&!ze[M]&&(ze[M]=ee)}),(await u.url("/checkouts").post({language:hn(),...T,attribution:{...K,...T.attribution},vendorId:t.vendorId})).json()}async function xe(T,K){return(await u.url(`/checkouts/${T}`).patch(K)).json()}async function Ke(T){return(await u.url(`/checkouts/${T}`).get()).json()}async function Ce(T){return(await u.url(`/paywalls/${T}`).get()).json()}async function Ye(){return(await u.url("/vendor").get()).json()}async function dt(){return(await s.url("/vendors").get()).json()}async function ht(T){return(await s.url(`/contracts/${encodeURIComponent(T.contractId)}/amendments`).post({amendmentType:T.amendmentType,discountCode:T.discountCode})).json()}async function Rt(T){return await s.url(`/amendments/${encodeURIComponent(T)}/confirm`).post(),!0}async function _t(){const T=await Xt(!1),K=new URL(`${ft("account",t.environment)}/subscriptions/${t.clientId}`);T&&(K.hash=`#access_token=${T}`),window.location.href=K.toString()}return{autoOnboardProduct:oe,cancelContract:y,confirmAmendment:Rt,createAmendment:ht,createCheckout:_e,deleteTag:D,deleteTally:ne,deleteUserMetadata:z,generateLink:se,getBill:w,getBills:g,getCheckout:Ke,getProxyContent:d,getContract:P,getContracts:m,getEntitlement:f,getEntitlementAccess:h,getEntitlements:l,getFulfillments:v,requestDelivery:p,getPaywall:Ce,getPaymentIssues:F,getProfile:_,getProduct:S,getSubscriptions:b,getTally:k,getTallies:Y,getTags:j,getTransaction:x,getTransactions:A,getUserMetadata:ie,hasAccess:c,isSpotifyLinked:Z,linkSpotify:he,listUserMetadata:B,openHostedAccountPage:_t,pushTally:Q,setTag:L,setUserMetadata:N,unlinkSpotify:V,updateCheckout:xe,updateProfile:q,getVendorSettings:Ye,listVendors:dt}}const dw=["AdHeader","AdContainer","AD_Top","homead","ad-lead"];function hw(){return new Promise(t=>{const e=dw.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 vw(){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}}const Sv="sesamyFlags";async function Iv(t){try{localStorage.setItem(Sv,JSON.stringify(t))}catch{ve("Failed to save flags to localStorage")}}async function pw(t,e){const r=await Kn();r[t]=e,await Iv(r)}async function mw(t){return(await Kn())[t]}async function gw(t){const e=await Kn();t in e&&(delete e[t],await Iv(e))}async function Kn(){try{const t=localStorage.getItem(Sv);return t?JSON.parse(t):{}}catch{return{}}}function yw(t){const{autoOnboardProduct:e,cancelContract:r,createCheckout:n,deleteTag:a,deleteTally:i,deleteUserMetadata:o,generateLink:s,getBill:u,getBills:l,getCheckout:c,getContract:f,getContracts:h,getEntitlement:d,getEntitlementAccess:v,getEntitlements:p,getFulfillments:m,getPaywall:P,getPaymentIssues:y,getProfile:b,getProduct:g,getProxyContent:w,getSubscriptions:A,getTags:x,getTally:N,getTallies:z,getTransaction:B,getTransactions:ie,getUserMetadata:j,getVendorSettings:D,listVendors:L,hasAccess:k,isSpotifyLinked:Y,linkSpotify:ne,listUserMetadata:Q,openHostedAccountPage:S,pushTally:_,requestDelivery:q,setTag:F,setUserMetadata:Z,unlinkSpotify:V,updateCheckout:he,updateProfile:oe}=fw(t),le={analytics:{track:uv},attribution:{get:Fn,set:bv},auth:{getUser:b,getTokenSilently:Xt,isAuthenticated:Gr,loginWithRedirect:Mn,loginWithPopup:hv,login:Yy,logout:js,setToken:Ns},bills:{get:u,list:l},browser:{detectAdblock:hw,isInAppBrowser:vw,isIncognito:as},checkouts:{create:n,get:c,update:he},clearCache:ke.clearCache,content:{list:Uy,get:_s,getLanguage:hn,unlock:jy,getPropertyFromHTML:ev},contracts:{cancel:r,get:f,list:h},entitlements:{access:v,get:d,hasAccess:k,list:p,signedLinks:xs},events:{emit:lv,cancel:Fy},flags:{get:mw,set:pw,list:Kn,delete:gw},fulfillments:{list:m,requestDelivery:q},generateLink:s,getPaymentIssues:y,getVersion:ww,isReady:()=>mt.isInitialized,log:ve,paywalls:{get:P},products:{autoOnboard:e,get:g,linkSpotify:ne},profile:{get:b,isSpotifyLinked:Y,openHostedAccountPage:S,unlinkSpotify:V,update:oe},proxy:{getContent:w},subscriptions:{list:A},tags:{delete:a,list:x,set:F},tallies:{delete:i,get:N,list:z,push:_},transactions:{get:B,list:ie},userMetadata:{delete:o,get:j,list:Q,set:Z},vendors:{get:D,list:L},setToken:Ns};return t.namespace&&(window[t.namespace]=le),le}function ww(){return Cn}function bw(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
|
+
`))}})(N.methodName,N.pluginName),Promise.resolve(N.method({payload:B,instance:n,abort:(ie=B,j=b,D=N.pluginName,function(L,k){return te({},ie,{abort:{reason:L,plugins:k||[j],caller:f,from:D||j}})}),config:yh(N.pluginName,l,i),plugins:l})).then(function(L){var k=Ve(L)?L:{};return Promise.resolve(te({},B,k))})):B;var ie,j,D})},Promise.resolve(r))).then(function(x){g[b]=x});g[b]=r})();return A&&A.then?A.then(w):w()})},Promise.resolve({}))).then(function(m){return Promise.resolve(e.exact.reduce(function(P,y,b){try{var g=e.exact.length===b+1,w=y.pluginName,A=i[w];return Promise.resolve(P).then(function(x){var N=m[w]?m[w]:{};if(h&&(N=x),hs(N,w))return ds({data:N,method:f,instance:n,pluginName:w,store:s}),Promise.resolve(x);if(hs(x,w))return g&&ds({data:x,method:f,instance:n,store:s}),Promise.resolve(x);if(p.hasOwnProperty(w)&&p[w]===!0)return s.dispatch({type:"queue",plugin:w,payload:N,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(x);var z=v(m[w],i[w]);return Promise.resolve(A[f]({abort:z.abort,payload:N,instance:n,config:yh(w,l,i),plugins:l})).then(function(B){var ie=Ve(B)?B:{},j=te({},x,ie),D=m[w];if(hs(D,w))ds({data:D,method:f,instance:n,pluginName:w,store:s});else{var L=f+":"+w;(L.match(/:/g)||[]).length<2&&!f.match(mh)&&!f.match(gh)&&n.dispatch(te({},h?j:N,{type:L,_:{called:L,from:"submethod"}}))}return Promise.resolve(j)})})}catch(x){return Promise.reject(x)}},Promise.resolve(r))).then(function(P){if(!(f.match(pr)||f.match(/^registerPlugin/)||f.match(gh)||f.match(mh)||f.match(/^params/)||f.match(/^userIdChanged/))){if(u.plugins.includes(f),P._&&P._.originalAction===f)return P;var y=te({},P,{_:{originalAction:P.type,called:P.type,from:"engineEnd"}});Sh(P,e.exact.length)&&!f.match(/End$/)&&(y=te({},y,{type:P.type+"Aborted"})),s.dispatch(y)}return P})})}catch(m){return Promise.reject(m)}},pr=/Start$/,mh=/^bootstrap/,gh=/^ready/;function ds(t){var e=t.pluginName,r=t.method+"Aborted"+(e?":"+e:"");t.store.dispatch(te({},t.data,{type:r,_:{called:r,from:"abort"}}))}function yh(t,e,r){var n=e[t]||r[t];return n&&n.config?n.config:{}}function wh(t,e){return e.reduce(function(r,n){return n[t]?r.concat({methodName:t,pluginName:n.name,method:n[t]}):r},[])}function bh(t,e){var r=t.replace(pr,""),n=e?":"+e:"";return[""+t+n,""+r+n,r+"End"+n]}function hs(t,e){var r=t.abort;return!!r&&(r===!0||Ih(r,e)||r&&Ih(r.plugins,e))}function Sh(t,e){var r=t.abort;if(!r)return!1;if(r===!0||Ct(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 Ih(t,e){return!(!t||!zr(t))&&t.includes(e)}function Ph(t){var e=t.match(/(.*):(.*)/);return!!e&&{method:e[1],name:e[2]}}function Mg(t){return Object.keys(t).reduce(function(e,r){return r==="type"||(e[r]=Ve(t[r])?Object.assign({},t[r]):t[r]),e},{})}function Fg(t,e,r){var n={};return function(a){return function(i){return function(o){try{var s,u=function(g){return s?g:i(f)},l=o.type,c=o.plugins,f=o;if(o.abort)return Promise.resolve(i(o));if(l===re.enablePlugin&&a.dispatch({type:re.initializeStart,plugins:c,disabled:[],fromEnable:!0,meta:o.meta}),l===re.disablePlugin&&setTimeout(function(){return hh(o.meta.rid,{payload:o})},0),l===re.initializeEnd){var h=e(),d=Object.keys(h),v=d.filter(function(g){return c.includes(g)}).map(function(g){return h[g]}),p=[],m=[],P=o.disabled,y=v.map(function(g){var w=g.loaded,A=g.name,x=g.config;return vh(g,function(){return w({config:x})},1e4).then(function(N){return n[A]||(a.dispatch({type:re.pluginReadyType(A),name:A,events:Object.keys(g).filter(function(z){return!us.includes(z)})}),n[A]=!0),p=p.concat(A),g}).catch(function(N){if(N instanceof Error)throw new Error(N);return m=m.concat(N.name),N})});Promise.all(y).then(function(g){var w={plugins:p,failed:m,disabled:P};setTimeout(function(){d.length===y.length+P.length&&a.dispatch(te({},{type:re.ready},w))},0)})}var b=(function(){if(l!==re.bootstrap)return/^ready:([^:]*)$/.test(l)&&setTimeout(function(){return ph(a,e,t)},0),Promise.resolve((function(g,w,A,x,N){try{var z=We(w)?w():w,B=g.type,ie=B.replace(pr,"");if(g._&&g._.called)return Promise.resolve(g);var j=A.getState(),D=(Y=z,(ne=j.plugins)===void 0&&(ne={}),(Q=g.options)===void 0&&(Q={}),Object.keys(Y).filter(function(S){var _=Q.plugins||{};return Sg(_[S])?_[S]:_.all!==!1&&(!ne[S]||ne[S].enabled!==!1)}).map(function(S){return Y[S]}));B===re.initializeStart&&g.fromEnable&&(D=Object.keys(j.plugins).filter(function(S){var _=j.plugins[S];return g.plugins.includes(S)&&!_.initialized}).map(function(S){return z[S]}));var L=D.map(function(S){return S.name}),k=(function(S,_){var q=bh(S).map(function(F){return wh(F,_)});return _.reduce(function(F,Z){var V=Z.name,he=bh(S,V).map(function(_e){return wh(_e,_)}),oe=he[0],le=he[1],se=he[2];return oe.length&&(F.beforeNS[V]=oe),le.length&&(F.duringNS[V]=le),se.length&&(F.afterNS[V]=se),F},{before:q[0],beforeNS:{},during:q[1],duringNS:{},after:q[2],afterNS:{}})})(B,D);return Promise.resolve(fs({action:g,data:{exact:k.before,namespaced:k.beforeNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(S){function _(){var Z=(function(){if(B.match(pr))return Promise.resolve(fs({action:te({},q,{type:ie+"End"}),data:{exact:k.after,namespaced:k.afterNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(V){V.meta&&V.meta.hasCallback&&hh(V.meta.rid,{payload:V})})})();return Z&&Z.then?Z.then(function(){return S}):S}if(Sh(S,L.length))return S;var q,F=(function(){if(B!==ie)return Promise.resolve(fs({action:te({},S,{type:ie}),data:{exact:k.during,namespaced:k.duringNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(Z){q=Z});q=S})();return F&&F.then?F.then(_):_()})}catch(S){return Promise.reject(S)}var Y,ne,Q})(o,e,t,a,r)).then(function(g){var w=i(g);return s=1,w})})();return Promise.resolve(b&&b.then?b.then(u):u(b))}catch(g){return Promise.reject(g)}}}}}function Kg(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===re.setItem||a===re.removeItem){if(n.abort)return r(n);a===re.setItem?t.setItem(i,o,s):t.removeItem(i,s)}return r(n)}}}}var zg=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 dr.apply(void 0,o)(n)(a)}}}}};function Hg(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=Eh(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},te({},e,n)}if(/^initialize:([^:]*)$/.test(r.type)){var u=Eh(r.type,re.initialize),l=t()[u];return l&&u?(n[u]=te({},e[u],{initialized:!0,loaded:!!l.loaded({config:l.config})}),te({},e,n)):e}if(/^ready:([^:]*)$/.test(r.type))return n[r.name]=te({},e[r.name],{loaded:!0}),te({},e,n);switch(r.type){case re.disablePlugin:return te({},e,Rh(r.plugins,!1,e));case re.enablePlugin:return te({},e,Rh(r.plugins,!0,e));default:return e}}}function Eh(t,e){return t.substring(e.length+1,t.length)}function Rh(t,e,r){return t.reduce(function(n,a){return n[a]=te({},r[a],{enabled:e}),n},r)}function _h(t){try{return JSON.parse(JSON.stringify(t))}catch{}return t}var Bg={last:{},history:[]};function Gg(t,e){t===void 0&&(t=Bg);var r=e.options,n=e.meta;if(e.type===re.track){var a=_h(te({event:e.event,properties:e.properties},Object.keys(r).length&&{options:r},{meta:n}));return te({},t,{last:a,history:t.history.concat(a)})}return t}var Wg={actions:[]};function Vg(t,e){t===void 0&&(t=Wg);var r=e.payload;switch(e.type){case"queue":var n;return n=r&&r.type&&r.type===re.identify?[e].concat(t.actions):t.actions.concat(e),te({},t,{actions:n});case"dequeue":return[];default:return t}}var Th=/#.*$/;function Jg(t){var e=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(t);return"/"+(e&&e[3]?e[3].split("?")[0].replace(Th,""):"")}var kh,Oh,Ch,Ah,Zg=function(t){if(t===void 0&&(t={}),!Ne)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(Ne){for(var v,p=document.getElementsByTagName("link"),m=0;v=p[m];m++)if(v.getAttribute("rel")==="canonical")return v.getAttribute("href")}})();return d?d.match(/\?/)?d:d+h:window.location.href.replace(Th,"")})(l),f={title:r,url:c,path:Jg(c),hash:u,search:l,width:o,height:s};return n&&n!==""&&(f.referrer=n),te({},f,t)},Yg={last:{},history:[]};function Xg(t,e){t===void 0&&(t=Yg);var r=e.options;if(e.type===re.page){var n=_h(te({properties:e.properties,meta:e.meta},Object.keys(r).length&&{options:r}));return te({},t,{last:n,history:t.history.concat(n)})}return t}kh=(function(){if(!Ne)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"})(),Oh=Ne?document.referrer:null,Ch=kg(),Ah=Og();var Uh={initialized:!1,sessionId:bn(),app:null,version:null,debug:!1,offline:!!Ne&&!navigator.onLine,os:{name:kh},userAgent:Ne?navigator.userAgent:"node",library:{name:cs,version:"0.13.1"},timezone:Ah,locale:Ch,campaign:{},referrer:Oh};function Qg(t,e){t===void 0&&(t=Uh);var r=t.initialized,n=e.campaign;switch(e.type){case re.campaign:return te({},t,{campaign:n});case re.offline:return te({},t,{offline:!0});case re.online:return te({},t,{offline:!1});default:return r?t:te({},Uh,t,{initialized:!0})}}var ey=["plugins","reducers","storage"];function ty(t,e,r){if(Ne){var n=window[(r?"add":"remove")+"EventListener"];t.split(" ").forEach(function(a){n(a,e)})}}function ry(t){var e=ty.bind(null,"online offline",function(r){return Promise.resolve(!navigator.onLine).then(t)});return e(!0),function(r){return e(!1)}}function jh(){return Wt(cs,[]),function(t){return function(e,r,n){var a=t(e,r,n),i=a.dispatch;return Object.assign(a,{dispatch:function(o){return ur[cr][cs].push(o.action||o),i(o)}})}}}function Lh(t){return function(){return dr(dr.apply(null,arguments),jh())}}function vs(t){return t?nh(t)?t:[t]:[]}function Nh(t,e,r){t===void 0&&(t={});var n,a,i=bn();return e&&(Kr[i]=(n=e,a=(function(o){for(var s,u=o||Array.prototype.slice.call(arguments),l=0;l<u.length;l++)if(We(u[l])){s=u[l];break}return s})(r),function(o){a&&a(o),n(o)})),te({},t,{rid:i,ts:new Date().getTime()},e?{hasCallback:!0}:{})}function ny(t){t===void 0&&(t={});var e=t.reducers||{},r=t.initialUser||{},n=(t.plugins||[]).reduce(function(S,_){if(We(_))return S.middlewares=S.middlewares.concat(_),S;if(_.NAMESPACE&&(_.name=_.NAMESPACE),!_.name)throw new Error("https://lytics.dev/errors/1");_.config||(_.config={});var q=_.EVENTS?Object.keys(_.EVENTS).map(function(V){return _.EVENTS[V]}):[];S.pluginEnabled[_.name]=!(_.enabled===!1||_.config.enabled===!1),delete _.enabled,_.methods&&(S.methods[_.name]=Object.keys(_.methods).reduce(function(V,he){var oe;return V[he]=(oe=_.methods[he],function(){for(var le=Array.prototype.slice.call(arguments),se=new Array(oe.length),_e=0;_e<le.length;_e++)se[_e]=le[_e];return se[se.length]=w,oe.apply({instance:w},se)}),V},{}),delete _.methods);var F=Object.keys(_).concat(q),Z=new Set(S.events.concat(F));if(S.events=Array.from(Z),S.pluginsArray=S.pluginsArray.concat(_),S.plugins[_.name])throw new Error(_.name+"AlreadyLoaded");return S.plugins[_.name]=_,S.plugins[_.name].loaded||(S.plugins[_.name].loaded=function(){return!0}),S},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),a=t.storage?t.storage:{getItem:Gt,setItem:Wt,removeItem:lr},i=(function(S){return function(_,q,F){return q.getState("user")[_]||(F&&Ve(F)&&F[_]?F[_]:dh(S)[_]||Gt(ls(_))||null)}})(a),o=n.plugins,s=n.events.filter(function(S){return!us.includes(S)}).sort(),u=new Set(s.concat(Pn).filter(function(S){return!us.includes(S)})),l=Array.from(u).sort(),c=function(){return o},f=new zg,h=f.addMiddleware,d=f.removeMiddleware,v=f.dynamicMiddlewares,p=function(){throw new Error("Abort disabled inListener")},m=Cg(),P=dh(a),y=te({},P,r,m.an_uid?{userId:m.an_uid}:{},m.an_aid?{anonymousId:m.an_aid}:{});y.anonymousId||(y.anonymousId=bn());var b=te({enable:function(S,_){return new Promise(function(q){k.dispatch({type:re.enablePlugin,plugins:vs(S),_:{originalAction:re.enablePlugin}},q,[_])})},disable:function(S,_){return new Promise(function(q){k.dispatch({type:re.disablePlugin,plugins:vs(S),_:{originalAction:re.disablePlugin}},q,[_])})}},n.methods),g=!1,w={identify:function(S,_,q,F){try{var Z=Ct(S)?S:null,V=Ve(S)?S:_,he=q||{},oe=w.user();Wt(ls(jt),Z);var le=Z||V.userId||i(jt,w,V);return Promise.resolve(new Promise(function(se){k.dispatch(te({type:re.identifyStart,userId:le,traits:V||{},options:he,anonymousId:oe.anonymousId},oe.id&&oe.id!==Z&&{previousId:oe.id}),se,[_,q,F])}))}catch(se){return Promise.reject(se)}},track:function(S,_,q,F){try{var Z=Ve(S)?S.event:S;if(!Z||!Ct(Z))throw new Error("EventMissing");var V=Ve(S)?S:_||{},he=Ve(q)?q:{};return Promise.resolve(new Promise(function(oe){k.dispatch({type:re.trackStart,event:Z,properties:V,options:he,userId:i(jt,w,_),anonymousId:i(vr,w,_)},oe,[_,q,F])}))}catch(oe){return Promise.reject(oe)}},page:function(S,_,q){try{var F=Ve(S)?S:{},Z=Ve(_)?_:{};return Promise.resolve(new Promise(function(V){k.dispatch({type:re.pageStart,properties:Zg(F),options:Z,userId:i(jt,w,F),anonymousId:i(vr,w,F)},V,[S,_,q])}))}catch(V){return Promise.reject(V)}},user:function(S){if(S===jt||S==="id")return i(jt,w);if(S===vr||S==="anonId")return i(vr,w);var _=w.getState("user");return S?Xd(_,S):_},reset:function(S){return new Promise(function(_){k.dispatch({type:re.resetStart},_,S)})},ready:function(S){return g&&S({plugins:b,instance:w}),w.on(re.ready,function(_){S&&S(_),g=!0})},on:function(S,_){if(!S||!We(_))return!1;if(S===re.bootstrap)throw new Error(".on disabled for "+S);var q=/Start$|Start:/;if(S==="*"){var F=function(oe){return function(le){return function(se){return se.type.match(q)&&_({payload:se,instance:w,plugins:o}),le(se)}}},Z=function(oe){return function(le){return function(se){return se.type.match(q)||_({payload:se,instance:w,plugins:o}),le(se)}}};return h(F,En),h(Z,Rn),function(){d(F,En),d(Z,Rn)}}var V=S.match(q)?En:Rn,he=function(oe){return function(le){return function(se){return se.type===S&&_({payload:se,instance:w,plugins:o,abort:p}),le(se)}}};return h(he,V),function(){return d(he,V)}},once:function(S,_){if(!S||!We(_))return!1;if(S===re.bootstrap)throw new Error(".once disabled for "+S);var q=w.on(S,function(F){_({payload:F.payload,instance:w,plugins:o,abort:p}),q()});return q},getState:function(S){var _=k.getState();return S?Xd(_,S):Object.assign({},_)},dispatch:function(S){var _=Ct(S)?{type:S}:S;if(Pn.includes(_.type))throw new Error("reserved action "+_.type);var q=te({},_,{_:te({originalAction:_.type},S._||{})});k.dispatch(q)},enablePlugin:b.enable,disablePlugin:b.disable,plugins:b,storage:{getItem:a.getItem,setItem:function(S,_,q){k.dispatch({type:re.setItemStart,key:S,value:_,options:q})},removeItem:function(S,_){k.dispatch({type:re.removeItemStart,key:S,options:_})}},setAnonymousId:function(S,_){w.storage.setItem(Ut,S,_)},events:{core:Pn,plugins:s}},A=n.middlewares.concat([function(S){return function(_){return function(q){return q.meta||(q.meta=Nh()),_(q)}}},v(En),Fg(w,c,{all:l,plugins:s}),Kg(a),qg(w),$g(w),v(Rn)]),x={context:Qg,user:xg(a),page:Xg,track:Gg,plugins:Hg(c),queue:Vg},N=dr,z=dr;if(Ne&&t.debug){var B=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;B&&(N=B({trace:!0,traceLimit:25})),z=function(){return arguments.length===0?jh():Ve(typeof arguments[0])?Lh():Lh().apply(null,arguments)}}var ie,j=(function(S){return Object.keys(S).reduce(function(_,q){return ey.includes(q)||(_[q]=S[q]),_},{})})(t),D=n.pluginsArray.reduce(function(S,_){var q=_.name,F=_.config,Z=_.loaded,V=n.pluginEnabled[q];return S[q]={enabled:V,initialized:!!V&&!_.initialize,loaded:!!Z({config:F}),config:F},S},{}),L={context:j,user:y,plugins:D},k=ch((function(S){for(var _=Object.keys(S),q={},F=0;F<_.length;F++){var Z=_[F];typeof S[Z]===At&&(q[Z]=S[Z])}var V,he=Object.keys(q);try{(function(oe){Object.keys(oe).forEach(function(le){var se=oe[le];if(typeof se(void 0,{type:ss})===St||typeof se(void 0,{type:jg})===St)throw new Error(Fr+" "+le+" "+St)})})(q)}catch(oe){V=oe}return function(oe,le){if(oe===void 0&&(oe={}),V)throw V;for(var se=!1,_e={},xe=0;xe<he.length;xe++){var Ke=he[xe],Ce=oe[Ke],Ye=(0,q[Ke])(Ce,le);if(typeof Ye===St){var dt=Lg(Ke,le);throw new Error(dt)}_e[Ke]=Ye,se=se||Ye!==Ce}return se?_e:oe}})(te({},x,e)),L,z(N(Ng.apply(void 0,A))));k.dispatch=(ie=k.dispatch,function(S,_,q){var F=te({},S,{meta:Nh(S.meta,_,vs(q))});return ie.apply(null,[F])});var Y=Object.keys(o);k.dispatch({type:re.bootstrap,plugins:Y,config:j,params:m,user:y,initialUser:r,persistedUser:P});var ne=Y.filter(function(S){return n.pluginEnabled[S]}),Q=Y.filter(function(S){return!n.pluginEnabled[S]});return k.dispatch({type:re.registerPlugins,plugins:Y,enabled:n.pluginEnabled}),n.pluginsArray.map(function(S,_){var q=S.bootstrap,F=S.config,Z=S.name;q&&We(q)&&q({instance:w,config:F,payload:S}),k.dispatch({type:re.registerPluginType(Z),name:Z,enabled:n.pluginEnabled[Z],plugin:S}),n.pluginsArray.length===_+1&&k.dispatch({type:re.initializeStart,plugins:ne,disabled:Q})}),ry(function(S){k.dispatch({type:S?re.offline:re.online})}),(function(S,_,q){setInterval(function(){return ph(S,_,q)},3e3)})(k,c,w),w}var En="before",Rn="after",Jt="cookie",Zt=$h(),qh=_n,ay=_n;function xh(t){return Zt?_n(t,"",-1):lr(t)}function $h(){if(Zt!==void 0)return Zt;var t=Jt+Jt;try{_n(t,t),Zt=document.cookie.indexOf(t)!==-1,xh(t)}catch{Zt=!1}return Zt}function _n(t,e,r,n,a,i){if(typeof window<"u"){var o=arguments.length>1;return Zt===!1&&(o?Wt(t,e):Gt(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 It="localStorage",iy=os.bind(null,It);fr(It,"getItem",Gt),fr(It,"setItem",Wt),fr(It,"removeItem",lr);var Pt="sessionStorage",oy=os.bind(null,Pt);fr(Pt,"getItem",Gt),fr(Pt,"setItem",Wt),fr(Pt,"removeItem",lr);function mr(t){var e=t;try{if((e=JSON.parse(t))==="true")return!0;if(e==="false")return!1;if(Ve(e))return e;parseFloat(e)===e&&(e=parseFloat(e))}catch{}if(e!==null&&e!=="")return e}var sy=iy(),cy=oy(),uy=$h();function Yt(t,e){if(t){var r=ps(e),n=!ws(r),a=ms(r)?mr(localStorage.getItem(t)):void 0;if(n&&!sr(a))return a;var i=gs(r)?mr(qh(t)):void 0;if(n&&i)return i;var o=ys(r)?mr(sessionStorage.getItem(t)):void 0;if(n&&o)return o;var s=Gt(t);return n?s:{localStorage:a,sessionStorage:o,cookie:i,global:s}}}function Tn(t,e,r){if(t&&!sr(e)){var n={},a=ps(r),i=JSON.stringify(e),o=!ws(a);return ms(a)&&(n[It]=On(It,e,mr(localStorage.getItem(t))),localStorage.setItem(t,i),o)?n[It]:gs(a)&&(n[Jt]=On(Jt,e,mr(qh(t))),ay(t,i),o)?n[Jt]:ys(a)&&(n[Pt]=On(Pt,e,mr(sessionStorage.getItem(t))),sessionStorage.setItem(t,i),o)?n[Pt]:(n[Bt]=On(Bt,e,Gt(t)),Wt(t,e),o?n[Bt]:n)}}function ly(t,e){if(t){var r=ps(e),n=Yt(t,eh),a={};return!sr(n.localStorage)&&ms(r)&&(localStorage.removeItem(t),a[It]=n.localStorage),!sr(n.cookie)&&gs(r)&&(xh(t),a[Jt]=n.cookie),!sr(n.sessionStorage)&&ys(r)&&(sessionStorage.removeItem(t),a[Pt]=n.sessionStorage),!sr(n.global)&&kn(r,Bt)&&(lr(t),a[Bt]=n.global),a}}function ps(t){return t?Ct(t)?t:t.storage:Qd}function ms(t){return sy&&kn(t,It)}function gs(t){return uy&&kn(t,Jt)}function ys(t){return cy&&kn(t,Pt)}function ws(t){return t===eh||t==="all"}function kn(t,e){return t===Qd||t===e||ws(t)}function On(t,e,r){return{location:t,current:e,previous:r}}var fy={setItem:Tn,getItem:Yt,removeItem:ly};function dy(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Dh(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 Mh(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Dh(Object(r),!0).forEach(function(n){dy(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Dh(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function hy(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e={storage:fy};return ny(Mh(Mh({},e),t))}const bs="@sesamy/sesamy-js",Cn="1.52.0";function vy(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=my(l);return a!==c&&(a=c,setTimeout(()=>t(l),0)),s.apply(r,u)}})}function py(t,e){const r=t.indexOf(e);return r>-1?t.slice(0,r):t}function my(t){return["#","?"].forEach(e=>t=py(t,e)),t}function gy(){vy(()=>{Et.page()})}var Ss="up",Is="down";function yy(t){if(t===void 0&&(t={}),!Ne)return is;var e=Kh(),r=Ps(),n=Fh(),a=An(n,e),i=An(r,e),o=[],s=[],u=[],l=n,c=a,f=i,h=Object.keys(t);if(!h.length)return is;var d=h.map(function(p){return Number(p)}),v=Ug(function(){var p=Kh(),m=(function(j,D){return D.map(function(L){return L===100?j-5:j*(L/100)})})(p,d),P=Ps(),y=Fh(),b=An(y,p),g=An(P,p);if(c=b>c?b:c,f=g<f?g:f,!(o.length>=d.length)){var w=l===y,A=Ss;w?A="initial":l<=y&&(A=Is);var x=m,N=d;(A===Ss||w)&&(x=m.slice().reverse(),N=d.slice().reverse());var z=N.reduce(function(j,D,L){var k=x[L];return u.includes(D)&&y<=k&&(u=u.filter(function(Y){return Y!==D}),j.singleFunction=D),A===Is&&!o.includes(D)&&y>=k&&D>i?(s.push(D),j.callbacks=j.callbacks.concat(D),j):A===Ss&&!o.includes(D)&&y<=k&&D<=b?(j.foundFunc=[D],j):(w&&y>=k&&j.foundFunc.length===0&&(j.foundFunc=[D]),!s.includes(D)&&y>=k&&(s.push(D),j.singleFunction?u.push(D):j.singleFunction=D),j)},{foundFunc:[],singleFunction:null,callbacks:[],direction:A});if(l=y,A===Is&&z.callbacks&&z.callbacks.forEach(function(j){We(t[j])&&(t[j]({trigger:j,direction:A,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(j))}),z.singleFunction){var B=z.singleFunction,ie=z.direction;We(t[B])&&t[B]({trigger:B,direction:ie,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(B)}}},500);return window.addEventListener("scroll",v),function(){return window.removeEventListener("scroll",v)}}function Ps(){return Ne?document.body.scrollTop||document.documentElement.scrollTop:0}function wy(){return Ne?window.innerHeight||document.documentElement.clientHeight:0}function Fh(){return Math.round(Ps()+wy())}function Kh(){if(!Ne)return 0;var t=document.body,e=document.documentElement;return Math.max(t.scrollHeight,t.offsetHeight,e.clientHeight,e.scrollHeight,e.offsetHeight)}function An(t,e){return Math.round(t/e*100)}var Es="Event",zh=Es+"Listener";function by(t){return function(e,r,n,a){var i=n||is,o=a||!1;if(!Ne)return i;var s=Un(r),u=Un(e,!0);if(!u.length)throw new Error("noElements");if(!s.length)throw new Error("no"+Es);var l=[];return(function c(f){f&&(l=[]);for(var h=f?"add"+zh:"remove"+zh,d=0;d<u.length;d++){var v=u[d];l[d]=f?o&&o.once?Sy(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 Un(t,e){if(Ct(t))return e?Un(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=Tg(t);return e?i.map(function(o){return Ct(o)?Un(o,!0):o}).flat():i}function Sy(t,e){var r;return function(){return t&&(r=t.apply(this,arguments),t=null),r}}var Rs=by(Es);function Hh(t,e){return Ne&&We(window[t])?(r=window[t],n=e,(a=window)===void 0&&(a=null),We(r)?function(){r.apply(a,arguments),n.apply(a,arguments)}:n):window[t]=e;var r,n,a}Hh.bind(null,"onerror"),Hh.bind(null,"onload");var Bh=typeof window>"u",Gh="hidden";function Iy(t){if(Bh)return!1;var e=Py(),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 Py(){var t=["webkit","moz","ms","o"];return Bh||Gh in document?Gh:t.reduce(function(e,r){var n=r+"Hidden";return!e&&n in document?n:e},null)}var Ey=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function Ry(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=Iy(function(s){s||r({type:"tabVisible"})});return n=[o].concat(Ey.map(function(s){return Rs(document,s,r)})).concat(Rs(window,"load",r)).concat(Rs(window,"scroll",r,{capture:!0,passive:!0})),i}function i(){n.map(function(o){return o()})}return a(),function(){return i(),a}}function _y(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(m){d(),i&&!c&&i(Hr(h),m),a&&c&&(c=!1,a(Hr(r),m),h=new Date),e=setTimeout(function(){c=!0,n&&(r=new Date,n(Hr(h),m))},s)}var p=Ry(v,{throttle:l});return{disable:function(){f=!0,c=!1,d();var m=p();return function(){return f=!1,h=new Date,v({type:"load"}),m()}},getStatus:function(){return{isIdle:c,isDisabled:f,active:c?0:Hr(h,f),idle:c?Hr(r,f):0}}}}function Hr(t,e){return e?0:Math.round((new Date-t)/1e3)}const Wh=5e3;class Ty{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),_y({onIdle:r=>this.handleAwake(!1,r),onWakeUp:r=>this.handleAwake(!0,r),timeout:Wh}),yy({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*Wh: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 Vh(t){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}function ky(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 Jh="sesamy_session_id";function Oy(){let t=sessionStorage.getItem(Jh);return t||(t=Math.random().toString(36).slice(2,9),sessionStorage.setItem(Jh,t)),t}function Zh(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)}let Ze={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"}},Yh=[],jn;function Xh(){const t=window.location.pathname;return Yh.find(e=>e.path?t.includes(e.path):!0)}function Cy(t,e){Yh=t.content||[];const r=Xh();r&&r.type==="article"&&(Ze={...Ze,...r.selectors}),jn=e}function Ay(t,e){const{selector:r}=e;return r===Ze.article.selector?t:t.querySelector(r)}function Qh(t,e){if(t)return e.attribute?e.attribute==="textContent"?t.textContent??void 0:t.getAttribute(e.attribute)??Qh(t.parentElement,e):t.textContent??void 0}function gr(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 ev({publisherContentId:t,key:e,defaultValue:r=""}){return(t?document.body.querySelector(`sesamy-content-data[id='${t}']`):null)?.getAttribute(e)||gr(`sesamy:${e}`)||gr(`og:${e}`)||gr(e)||r}function Uy(){const t=document.querySelectorAll(Ze.article.selector);return Array.from(t).map(_s).filter(e=>e!==null)}function _s(t){const e=typeof t=="string"?document.querySelector(t):t;if(!e)return null;const r={element:e,selector:typeof t=="string"?t:Zh(e)},n=(i,o,s,u)=>{const l=Ay(e,o);if(l){const c=Qh(l,o)||ev({publisherContentId:s,key:i});c!==void 0&&(r[i]=u?u(c):c)}};n("id",Ze.id),n("title",Ze.title,r.id),n("excerpt",Ze.excerpt,r.id),n("image",Ze.image,r.id),n("price",Ze.price,r.id,i=>parseFloat(i)),n("currency",Ze.currency,r.id),n("url",Ze.url,r.id),n("pass",Ze.pass,r.id),n("accessLevel",Ze.accessLevel,r.id,i=>i||"entitlement");const a=Xh();return 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)),r}async function jy(t,e){const r=typeof t=="string"?document.querySelector(t):t;if(!r)throw new Error("Could not find element");const n=_s(r);if(!n?.url)throw new Error("Could not find content for element");const a=await jn.entitlements.hasAccess(n.url||"",n.pass?.split(",")||[]);if(!a)throw new Error("User does not have access to the content");const i=await jn.entitlements.access(a.id);if(!i.token)throw new Error("Could not get access token");const o=e||Zh(r.parentElement||r);return jn.proxy.getContent(i.token,n.url,o)}let tv=!1,Ln,Nn,Ts;function rv(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:Ts,requestId:Math.random().toString(36).slice(2,9),sessionId:Oy(),timestamp:new Date().toISOString(),version:Cn,event:e.event,context:{...e.context,page:{url:window.location.href,title:document.title,referrer:document.referrer,itemSrc:gr("sesamy:item-src"),publisherContentId:gr("sesamy:publisher-content-id")},campaign:r,locale:navigator.language,library:bs,userAgent:navigator.userAgent,clientId:Ts}}}))}const nv=ky(async t=>{if(t.length>0){const e=rv(t);tv?navigator.sendBeacon(Nn,e):(await fetch(Nn,{method:"POST",body:e,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function ks(t){if(t.anonymousId)if(t.properties?.flushing){const e={...t};delete e.properties.flushing,navigator.sendBeacon(Nn,rv([e]))}else nv.push(t)}function Ly(){return tv=!0,nv.flush()}function Ny(t,e,r){Ln=e,Nn=`${ft("logs",r)}/events`,Ts=t}const qy={name:"custom-analytics-plugin",page:({payload:t})=>{if(!Ln)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;ks({anonymousId:r,userId:n,properties:e,event:a,type:"page"})},track:({payload:t})=>{if(!Ln)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;ks({anonymousId:r,userId:n,properties:e,event:a,type:"track"})},identify:({payload:t})=>{if(!Ln)return;const{properties:e,anonymousId:r,userId:n}=t;ks({anonymousId:r,userId:n,properties:e,type:"identify"})}},av=["source","medium","campaign","term","content"],Lt="utm_",xy=1800*1e3;function iv(t){return t?Date.now()-parseInt(t,10)>xy:!0}function ov(){const t=document.referrer||"";if(!t)return;const e=Yt(`${Lt}set_at`);(iv(e)||!Yt(`${Lt}referrer`))&&Tn(`${Lt}referrer`,t)}function $y(){const t=()=>{const r={};for(const a of av){const i=Yt(`${Lt}${a}`);i&&(r[`utm_${a}`]=i)}const n=Yt(`${Lt}referrer`);return n&&(r.utm_referrer=n),r};return{name:"attribution-tracking",initialize(){ov()},campaign({payload:r}){const n=r?.campaign||{},a=Yt(`${Lt}set_at`);if(Object.keys(n).length>0&&iv(a)){for(const o of av){const s=n[o];s&&Tn(`${Lt}${o}`,s)}Tn(`${Lt}set_at`,String(Date.now()))}ov()},page({payload:r}){return r.properties.campaign=t(),r},track({payload:r}){return r.properties.campaign=t(),r},getStoredCampaignData:t}}const Dy=$y(),sv=new Map,cv=new Map;function My({clientId:t,enabled:e=!0,environment:r}){Ny(t,e,r),e&&(window.addEventListener("beforeunload",()=>{cv.forEach((n,a)=>{n.bind(a)()}),Ly()}),window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&sv.forEach((n,a)=>{n.bind(a)()})}),gy(),Vh(()=>{const n=new Ty({element:document.body,viewCallback:()=>{Et.page()},activeDurationCallback:(a,i,o)=>{Et.track("activeDuration",{duration:a,durationStart:o,flushing:i})},idleDurationCallback:(a,i,o)=>{Et.track("idleDuration",{duration:a,durationStart:o,flushing:i})},scrollCallback:a=>{Et.track("scroll",{scroll:a.scrollMax})}});cv.set(document.body,()=>{n.flush()}),sv.set(document.body,()=>{n.handleVisibilityChange()})}),window.addEventListener(Ge.AUTHENTICATED,async n=>{const a=n;await Et.identify(a.detail.sub)}),window.addEventListener(Ge.LOGOUT,async()=>{await Et.track("logout",{}),await Et.reset()}))}const Et=hy({app:bs,version:Cn,plugins:[Dy,qy]});function uv(t,e){Et.track(t,e)}function lv(t,e,r=!1){const n={name:t,data:e},a=new CustomEvent(t,{detail:n,cancelable:r,bubbles:!0});uv(`event:${t}`,{...e,timestamp:new Date().toISOString()});const i=window.dispatchEvent(a);return r&&!i?{canceled:!0,message:n.cancellationMessage}:{canceled:!1}}function Fy(t,e){t.cancelable&&(t.detail.cancellationMessage=e,t.preventDefault())}function Ky(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function zy(){return/android/i.test(navigator.userAgent)}let qe,fv,Br,Os=!1,qn=!1;Dr()&&window.addEventListener("pageshow",()=>{qn=!1});const yr="sesamyAccessToken",Cs="sesamyRefreshToken",xn="sesamySilentAuthThrottle",Hy=300*1e3;async function $n(){return Os?!0:new Promise((t,e)=>{const r=setTimeout(()=>{Os?t(!0):e(new Error("Initialization failed: Timeout"))},2e3);window.addEventListener(Ge.AUTH_INITIALIZED,()=>{clearTimeout(r),t(!0)})})}async function By(t){if(!t)return null;const e=localStorage.getItem(Cs);if(!e)return ve("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(Cs),new Error("Renew token failed");const i=await a.json();return localStorage.setItem(Cs,i.refresh_token),localStorage.setItem(yr,i.access_token),i.access_token}catch{js()}}async function As(){const t=localStorage.getItem(yr);if(!t)return null;const e=Ls(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3){const r=await By(e);if(r)return r;localStorage.removeItem(yr)}return t}let Dn=null;const Gy=64;function Wy(){try{if(Dn!==null)return Dn;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===Gy)return Dn=!0,!0}}catch(t){ve(`Error checking for existing auth0 tokens: ${t.message}`)}return Dn=!1,!1}function Vy(t){if(t.domains&&t.domains.length>0){const e=wr(window.location.href);if(e){for(const r of t.domains)if(wr(`https://${r}`)===e)return ve(`Found matching domain in domains array: ${r} for TLD: ${e}`),r;ve(`No matching domain found in domains array for TLD: ${e}`)}}if(t.domain)return ve(`Using fallback domain property: ${t.domain}`),t.domain}function wr(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 Jy(t){if(t.enabled===!1)return;fv=t.organization;const e=Vy(t);Br=e&&!Wy()?e:Yd("token",t.environment);const r={domain:Br,clientId:t.clientId,useCookiesForTransactions:!0};r.cacheLocation="localstorage",wr(window.location.href)!==wr(`https://${Br}`)&&(r.useRefreshTokens=!0),ve(`Initializing auth0 client: ${JSON.stringify(r)}`),qe=await eg(r);const n=new URLSearchParams(window.location.search),a=n.get("code"),i=n.get("state");if(a)if(window.opener)ve("Code found in URL, posting to opener"),window.opener.postMessage({type:"authorization_response",response:{code:a,state:i}},window.location.origin);else{ve("Code found in URL, handling redirect");try{const u=await qe.handleRedirectCallback();ve(`Login result: ${JSON.stringify(u)}`);const l=await qe.getUser();if(!l)throw ve("No user found"),new Error("No user found");ve(`User found ${JSON.stringify(l)}`),Us(),Ot(Ge.AUTHENTICATED,l),ve("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())}Os=!0,Ot(Ge.AUTH_INITIALIZED,{})}async function Gr(){return await $n(),await As()?!0:qe?qe.isAuthenticated():!1}async function Zy(){return await $n(),await As()?(ve("Using local user"),{sub:"local",name:"Local User"}):qe?qe.getUser():null}function dv(t){if(qn)return ve("Login already in progress"),null;if(qn=!0,setTimeout(()=>{qn=!1},3e3),localStorage.removeItem(yr),!qe)throw new Error("Auth0 client not initialized");const e=t?.authorizationParams||{};return{...t,authorizationParams:{organization:fv,redirect_uri:window.location.href,ui_locales:hn(),incognito:as(),...e}}}async function Mn(t){const e=dv(t);if(e)return qe.loginWithRedirect(e)}async function hv(t){const e=dv(t);if(!e)return;await qe.loginWithPopup(e,{timeoutInSeconds:1800}),Us(),lv(Ge.AUTHENTICATED,await qe.getUser()).canceled||window.location.reload()}async function Yy(t){return Br&&wr(window.location.href)!==wr(`https://${Br}`)&&(Ky()||zy()||as())?hv(t):Mn(t)}function Xy(){try{const t=sessionStorage.getItem(xn);if(!t)return!1;const{timestamp:e}=JSON.parse(t);return Date.now()-e<Hy}catch{return sessionStorage.removeItem(xn),!1}}function Qy(){try{const t={timestamp:Date.now()};sessionStorage.setItem(xn,JSON.stringify(t))}catch{ve("Failed to set silent auth throttle in sessionStorage")}}function Us(){try{sessionStorage.removeItem(xn)}catch{}}async function Xt(t=!0,e=!1){await $n();const r=await As();if(r)return r;if(!e&&Xy()){if(ve("Silent auth is throttled due to recent failures, skipping request"),t)throw new Error("Silent auth throttled");return null}try{if(!qe)return ve("Auth client not initialized"),null;let n=await qe.getTokenSilently();const a=Ls(n);return e&&a?.exp&&a.exp+3600<new Date().getTime()/1e3&&(n=await qe.getTokenSilently({cacheMode:e?"off":"on"})),Us(),n}catch(n){const a=n;if(ve(`Failed to get token silently: ${a.message}`),Qy(),await qe.isAuthenticated()&&(a.message==="Invalid refresh token"||a.message.includes("Missing Refresh Token"))&&await js(),t)throw n;return null}}async function js(t={}){if(await $n(),localStorage.removeItem(yr),Ot(Ge.LOGOUT,{}),!!qe)return ve(`Logout with options: ${JSON.stringify(t)}`),qe.logout({...t,logoutParams:{returnTo:window.location.href,...t.logoutParams}})}function Ls(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 Ns(t){const e=Ls(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3)throw new Error("Invalid token");ve("Set token"),localStorage.setItem(yr,t),Ot(Ge.AUTHENTICATED,e)}const ew=(t,e)=>e.skipDedupe||e.method!=="GET",tw=(t,e)=>e.method+"@"+t,rw=t=>t.clone(),vv=({skip:t=ew,key:e=tw,resolver:r=rw}={})=>{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)}}},nw=(t,e)=>t*e,aw=t=>t&&t.ok,pv=({delayTimer:t=500,delayRamp:e=nw,maxAttempts:r=10,until:n=aw,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(m=>{const P=e(t,f);setTimeout(()=>{typeof a=="function"?Promise.resolve(a({response:d,error:v,url:l,options:c})).then((y={})=>{var b,g;m(u((b=y&&y.url)!==null&&b!==void 0?b:l,(g=y&&y.options)!==null&&g!==void 0?g:c))}):m(u(l,c))},P)}).then(h).catch(m=>{if(!i)throw m;return h(null,m)}):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 iw{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 qs(t){let e;try{e=new URL(t)}catch{return!1}return e.protocol==="http:"||e.protocol==="https:"}function mv(t,e){if(qs(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 gv(t){return t.endsWith("/")?t.slice(0,-1):t}function yv(t,e){if(!qs(t)||!qs(e))return!1;const r=new URL(t),n=new URL(e);return r.origin===n.origin&&gv(r.pathname)===gv(n.pathname)}function ow(t,e,r){const n=new URL(`${ft("checkout3",t.environment)}`);if(e.language&&n.searchParams.set("lang",e.language),e.sku)n.searchParams.set("sku",e.sku),e.purchaseOptionId&&n.searchParams.set("po-id",e.purchaseOptionId);else if(e.itemSrc){const{sku:s,purchaseOption:u,itemSrc:l}=mv(e.itemSrc,e.purchaseOptionId);l&&n.searchParams.set("url",l),s&&n.searchParams.set("sku",s),u&&n.searchParams.set("po-id",u)}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 a=["_ga","_gid","_fbp","_fbc"];document.cookie.split(";").map(s=>{const[u,l]=s.trim().split("=");return{key:u,value:l}}).filter(s=>a.some(u=>u===s.key)).forEach(s=>{n.searchParams.append(s.key,s.value)});let o=new URL(window.location.href);if(e.redirectUrl)try{o=new URL(e.redirectUrl)}catch{console.warn("Invalid redirect URL provided, using current URL instead:",e.redirectUrl)}return o.searchParams.set("force-refetch-entitlements","true"),e.itemSrc&&o.searchParams.set("sesamy-purchase",e.itemSrc),n.searchParams.set("redirect-url",o.toString()),e.paymentMethodsFilter&&n.searchParams.set("paymentmethods-filter",e.paymentMethodsFilter.flatMap(({provider:s,methods:u})=>u?u.map(l=>`${s}|${l}`):s).join(",")),n}const wv="sesamySignedURLs";function xs(){const t=sessionStorage.getItem(wv);return t?JSON.parse(t):[]}function sw(t){const e=xs();e.push(t),ve(`Adding signed URL: ${t}`),sessionStorage.setItem(wv,JSON.stringify(e))}function cw(t){const e={};return Object.keys(t).forEach(r=>{const n=t[r];n!=null&&(e[r]=n.toString())}),e}const $s="sesamyAttribution";function uw(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 lw(t){return Object.keys(t).find(e=>e.startsWith("utm_"))?{utmSource:void 0,utmMedium:void 0,utmCampaign:void 0,...t}:t}function Fn(){return uw($s)||{}}function bv(t){if(t===null)localStorage.removeItem($s);else{ve(`Setting attribution ${JSON.stringify(t)}`);const e=Fn()??{},r=cw({...e,...lw(t)});localStorage.setItem($s,JSON.stringify({value:r}))}}function fw(t){const e=t.endpoint||ft("api2",t.environment),r=async()=>{const T=await Xt(!0);if(!T)throw new Error("No access token available");return T},n=ke.client({baseUrl:e,tokenProvider:r,libraryName:bs,libraryVersion:Cn,vendorId:t.vendorId,cache:{mode:ke.CacheMode.BROWSER,storage:new iw}}),a=T=>async(K,J)=>{let ae=sessionStorage.getItem(Jd);ae||(ae=Date.now().toString(),sessionStorage.setItem(Jd,ae));const me={...J,headers:{...J.headers,"Cache-Timestamp":ae}};return T(K,me)},i=(T=!0)=>K=>async(J,ae)=>{let me=null;if(me=await Xt(T),!me){if(T)throw new Error("No access token available");return K(J,ae)}const ze={...ae,headers:{...ae.headers,...me?{Authorization:`Bearer ${me}`}:{}}};return K(J,ze)},o=T=>(K,J)=>{if(J.headers&&"Authorization"in J.headers)return T(K,J);const ae=localStorage.getItem("__anon_id"),me=btoa(`${t.clientId}|${ae}:`),ze={...J,headers:{...J.headers,Authorization:`Basic ${me}`}};return T(K,ze)},s=ke.wretch(e).headers({"Content-Type":"application/json"}).middlewares([a,i(),vv(),pv({delayTimer:1e3,delayRamp:(T,K)=>T*K,maxAttempts:3,until:T=>!!(T&&(T.ok||T.status>=400&&T.status<500)),retryOnNetworkError:!1})]),u=ke.wretch(e).headers({"Content-Type":"application/json"}).middlewares([a,i(!1),o,vv(),pv({delayTimer:1e3,delayRamp:(T,K)=>T*K,maxAttempts:3,until:T=>!!(T&&(T.ok||T.status>=400&&T.status<500)),retryOnNetworkError:!1})]);async function l(T={}){const{waitForEntitlementAfter:K,includeSignedLinks:J=!0}=T,ae=await Gr()?await n.entitlements.list({waitForEntitlementAfter:K?.toISOString()}):[];return J&&ae.push(...xs()),ae}async function c(T,K=[]){return(await l())?.find(me=>{const{sku:ze,purchaseOption:M}=mv(T);return!!("sku"in me&&ze===me.sku||M&&"purchaseOptionsId"in me&&M===me.purchaseOptionsId||yv(T,me.url)||K.some(ee=>yv(ee,me.url)))})}async function f(T){return n.entitlements.get(T)}async function h(T){return n.entitlements.getAccess(T)}async function d(T,K,J){const ae=new URL(ft("api2",t.environment));return ae.pathname="/proxy",ae.searchParams.set("url",K),J&&ae.searchParams.set("selector",J),ke.wretch(ae.toString()).headers({Authorization:`Bearer ${T}`}).get().text()}async function v(T){if(!T)throw new Error("SKU is required to get fulfillments");return await Gr()?await s.get(`/fulfillments?sku=${encodeURIComponent(T)}`).json():[]}async function p(T,K){if(!T||!K)throw new Error("SKU and itemId are required to request delivery");return(await s.post({sku:T},`/fulfillments/${encodeURIComponent(K)}/request-delivery?`).res()).ok}async function m(){return s.get("/contracts").json()}async function P(T){return(await s.get("/contracts").json())?.find(J=>J.id===T)}async function y(T){const K=await s.post({},`/contracts/${encodeURIComponent(T)}/cancel`).res();return ke.clearCache(),K.ok}async function b(){return console.warn("getSubscriptions is deprecated, use getContracts instead"),s.get("/subscriptions").json()}async function g(){return s.get("/bills").json()}async function w(T){return(await s.get("/bills").json())?.find(J=>J.id===T)}async function A(){return s.get("/transactions").json()}async function x(T){return(await s.get("/transactions").json())?.find(J=>J.id===T)}async function N(T,K){const J=await s.url(`/user-metadata/${encodeURIComponent(T)}`).put(K).json();return Ot(Ge.USER_ATTRIBUTE_CHANGED,{}),ke.clearCache(),J}async function z(T){const K=await s.url(`/user-metadata/${encodeURIComponent(T)}`).delete().res();return ke.clearCache(),K.ok}async function B(){return await s.url("/user-metadata").get().json()}async function ie(T){return(await B())[T]||null}async function j(){return await s.url("/tags").get().json()}async function D(T){const K=await s.url(`/tags/${encodeURIComponent(T)}`).delete().res();return ke.clearCache(),K.ok}async function L(T){const K=await s.url("/tags").post(encodeURIComponent(T)).res();return Ot(Ge.USER_ATTRIBUTE_CHANGED,{}),ke.clearCache(),K.ok}async function k(T){return(await u.url("/tallies").get().json())[T]}async function Y(){return await u.url("/tallies").get().json()}async function ne(T){const K=await u.url(`/tallies/${T}`).delete().res();return ke.clearCache(),K.ok}async function Q(T,K){return await u.url(`/tallies/${encodeURIComponent(T)}/push`).post(K).json()}async function S(T){return n.products.get(T)}async function _(){return await Xt(!1)?await s.url("/profile").get().json():null}async function q(T){const K=await s.url("/profile").patch(T).res();return ke.clearCache(),K.ok}async function F(){return await s.url("/payment-issues").get().json()}async function Z(){return(await s.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function V(){return(await s.url("/profile/unlink-spotify").post().res()).ok}async function he(T){const K=await Xt(!1);if(!K)throw new Error("No access token available");const J=new URL(`${ft("access-sync",t.environment)}/spotify/sesamy-callback`);J.searchParams.set("access_token",K),J.searchParams.set("state",T),window.location.href=J.toString()}async function oe(T){const K=await s.url(`/products/${encodeURIComponent(T)}/auto-onboard`).post().json();return K.length&&ke.clearCache(),K}async function le(T,K=3600){const{shortlink:J}=await ke.wretch(ng).post({url:T,ttl:K}).json();return J}async function se(T){const K=await Xt(!1,!0);let J;const ae=T.language||hn(),me=Fn();switch(T.target){case"account":J=new URL(`${ft("account",t.environment)}/${encodeURIComponent(T.language||ae)}/subscriptions/${encodeURIComponent(t.clientId)}${T.contractId?`/${encodeURIComponent(T.contractId)}`:""}`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"change-payment":J=new URL(`${ft("account",t.environment)}/${encodeURIComponent(T.language||ae)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.contractId)}/change-payment-method`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"change-plan":J=new URL(`${ft("account",t.environment)}/${encodeURIComponent(T.language||ae)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.contractId)}/edit-plan`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"consume":J=new URL(`${ft("consume",t.environment)}/${encodeURIComponent(T.language||ae)}/@${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.sku)}`),T.episodeId?J.href+=`/${T.episodeId}`:J.href+="/listen",J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"checkout":J=ow(t,{language:ae,...T},me);break;default:throw new Error("Invalid target")}return K&&(J.hash=`#access_token=${K}`),T.shorten?le(J.href,T.ttl):J.href}async function _e(T){const K=Fn(),J=["_ga","_gid","_fbp","_fbc"];return document.cookie.split(";").forEach(me=>{const ze=K,[M,ee]=me.trim().split("=");J.includes(M)&&!ze[M]&&(ze[M]=ee)}),(await u.url("/checkouts").post({language:hn(),...T,attribution:{...K,...T.attribution},vendorId:t.vendorId})).json()}async function xe(T,K){return(await u.url(`/checkouts/${T}`).patch(K)).json()}async function Ke(T){return(await u.url(`/checkouts/${T}`).get()).json()}async function Ce(T){return(await u.url(`/paywalls/${T}`).get()).json()}async function Ye(){return(await u.url("/vendor").get()).json()}async function dt(){return(await s.url("/vendors").get()).json()}async function ht(T){return(await s.url(`/contracts/${encodeURIComponent(T.contractId)}/amendments`).post({amendmentType:T.amendmentType,discountCode:T.discountCode})).json()}async function Rt(T){return await s.url(`/amendments/${encodeURIComponent(T)}/confirm`).post(),!0}async function _t(){const T=await Xt(!1),K=new URL(`${ft("account",t.environment)}/subscriptions/${t.clientId}`);T&&(K.hash=`#access_token=${T}`),window.location.href=K.toString()}return{autoOnboardProduct:oe,cancelContract:y,confirmAmendment:Rt,createAmendment:ht,createCheckout:_e,deleteTag:D,deleteTally:ne,deleteUserMetadata:z,generateLink:se,getBill:w,getBills:g,getCheckout:Ke,getProxyContent:d,getContract:P,getContracts:m,getEntitlement:f,getEntitlementAccess:h,getEntitlements:l,getFulfillments:v,requestDelivery:p,getPaywall:Ce,getPaymentIssues:F,getProfile:_,getProduct:S,getSubscriptions:b,getTally:k,getTallies:Y,getTags:j,getTransaction:x,getTransactions:A,getUserMetadata:ie,hasAccess:c,isSpotifyLinked:Z,linkSpotify:he,listUserMetadata:B,openHostedAccountPage:_t,pushTally:Q,setTag:L,setUserMetadata:N,unlinkSpotify:V,updateCheckout:xe,updateProfile:q,getVendorSettings:Ye,listVendors:dt}}const dw=["AdHeader","AdContainer","AD_Top","homead","ad-lead"];function hw(){return new Promise(t=>{const e=dw.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 vw(){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}}const Sv="sesamyFlags";async function Iv(t){try{localStorage.setItem(Sv,JSON.stringify(t))}catch{ve("Failed to save flags to localStorage")}}async function pw(t,e){const r=await Kn();r[t]=e,await Iv(r)}async function mw(t){return(await Kn())[t]}async function gw(t){const e=await Kn();t in e&&(delete e[t],await Iv(e))}async function Kn(){try{const t=localStorage.getItem(Sv);return t?JSON.parse(t):{}}catch{return{}}}function yw(t){const{autoOnboardProduct:e,cancelContract:r,createCheckout:n,deleteTag:a,deleteTally:i,deleteUserMetadata:o,generateLink:s,getBill:u,getBills:l,getCheckout:c,getContract:f,getContracts:h,getEntitlement:d,getEntitlementAccess:v,getEntitlements:p,getFulfillments:m,getPaywall:P,getPaymentIssues:y,getProfile:b,getProduct:g,getProxyContent:w,getSubscriptions:A,getTags:x,getTally:N,getTallies:z,getTransaction:B,getTransactions:ie,getUserMetadata:j,getVendorSettings:D,listVendors:L,hasAccess:k,isSpotifyLinked:Y,linkSpotify:ne,listUserMetadata:Q,openHostedAccountPage:S,pushTally:_,requestDelivery:q,setTag:F,setUserMetadata:Z,unlinkSpotify:V,updateCheckout:he,updateProfile:oe}=fw(t),le={analytics:{track:uv},attribution:{get:Fn,set:bv},auth:{getUser:b,getTokenSilently:Xt,isAuthenticated:Gr,loginWithRedirect:Mn,loginWithPopup:hv,login:Yy,logout:js,setToken:Ns},bills:{get:u,list:l},browser:{detectAdblock:hw,isInAppBrowser:vw,isIncognito:as},checkouts:{create:n,get:c,update:he},clearCache:ke.clearCache,content:{list:Uy,get:_s,getLanguage:hn,unlock:jy,getPropertyFromHTML:ev},contracts:{cancel:r,get:f,list:h},entitlements:{access:v,get:d,hasAccess:k,list:p,signedLinks:xs},events:{emit:lv,cancel:Fy},flags:{get:mw,set:pw,list:Kn,delete:gw},fulfillments:{list:m,requestDelivery:q},generateLink:s,getPaymentIssues:y,getVersion:ww,isReady:()=>mt.isInitialized,log:ve,paywalls:{get:P},products:{autoOnboard:e,get:g,linkSpotify:ne},profile:{get:b,isSpotifyLinked:Y,openHostedAccountPage:S,unlinkSpotify:V,update:oe},proxy:{getContent:w},subscriptions:{list:A},tags:{delete:a,list:x,set:F},tallies:{delete:i,get:N,list:z,push:_},transactions:{get:B,list:ie},userMetadata:{delete:o,get:j,list:Q,set:Z},vendors:{get:D,list:L},setToken:Ns};return t.namespace&&(window[t.namespace]=le),le}function ww(){return Cn}function bw(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=`
|
|
36
36
|
${e.selector}::before {
|
|
37
37
|
content: '';
|
|
38
38
|
position: absolute;
|
package/dist/sesamy-js.mjs
CHANGED
|
@@ -6118,7 +6118,7 @@ function py() {
|
|
|
6118
6118
|
};
|
|
6119
6119
|
return iy(Rd(Rd({}, e), t));
|
|
6120
6120
|
}
|
|
6121
|
-
const Ds = "@sesamy/sesamy-js", Mn = "1.
|
|
6121
|
+
const Ds = "@sesamy/sesamy-js", Mn = "1.52.0";
|
|
6122
6122
|
function my(t) {
|
|
6123
6123
|
if (typeof window > "u") return;
|
|
6124
6124
|
const { addEventListener: e, history: r, location: n } = window;
|
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.52.0",
|
|
10
10
|
"main": "dist/sesamy-js.cjs",
|
|
11
11
|
"module": "dist/sesamy-js.mjs",
|
|
12
12
|
"types": "dist/sesamy-js.d.ts",
|
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
"@types/node": "^24.2.0",
|
|
30
30
|
"@typescript-eslint/eslint-plugin": "^8.39.0",
|
|
31
31
|
"@typescript-eslint/parser": "^8.39.0",
|
|
32
|
+
"dts-bundle-generator": "^9.5.1",
|
|
32
33
|
"eslint": "9.x",
|
|
33
34
|
"eslint-config-prettier": "^10.1.8",
|
|
34
35
|
"eslint-plugin-compat": "^6.0.2",
|
|
@@ -41,6 +42,7 @@
|
|
|
41
42
|
"typescript": "^5.6.0",
|
|
42
43
|
"typescript-eslint": "^8.39.0",
|
|
43
44
|
"vite": "^7.0.6",
|
|
45
|
+
"vite-plugin-dts": "^4.5.4",
|
|
44
46
|
"vitest": "^3.2.4"
|
|
45
47
|
},
|
|
46
48
|
"dependencies": {
|
|
@@ -52,7 +54,7 @@
|
|
|
52
54
|
"core-js": "^3.45.0",
|
|
53
55
|
"detectincognitojs": "^1.6.0",
|
|
54
56
|
"saturated": "^1.0.0",
|
|
55
|
-
"@sesamy/sdk": "1.
|
|
57
|
+
"@sesamy/sdk": "1.9.0"
|
|
56
58
|
},
|
|
57
59
|
"peerDependencies": {
|
|
58
60
|
"wretch": "^2.9.0"
|
|
@@ -60,8 +62,8 @@
|
|
|
60
62
|
"scripts": {
|
|
61
63
|
"dev": "vite",
|
|
62
64
|
"test": "vitest",
|
|
63
|
-
"build": "rimraf dist/**/* &&
|
|
64
|
-
"build:prod": "rimraf dist/**/* &&
|
|
65
|
+
"build": "rimraf dist/**/* && vite build",
|
|
66
|
+
"build:prod": "rimraf dist/**/* && vite build",
|
|
65
67
|
"preview": "vite preview",
|
|
66
68
|
"type-check": "tsc",
|
|
67
69
|
"lint": "eslint src",
|