@sesamy/sesamy-js 1.3.1 → 1.3.3
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/index.d.ts +108 -0
- package/dist/sesamy-js.cjs +6 -0
- package/dist/sesamy-js.iife.js +6 -0
- package/dist/sesamy-js.mjs +3082 -0
- package/package.json +4 -2
- package/.env +0 -2
- package/.env.production +0 -2
- package/.eslintignore +0 -4
- package/.eslintrc +0 -18
- package/.github/workflows/release.yml +0 -23
- package/.nvmrc +0 -1
- package/.prettierignore +0 -4
- package/.prettierrc +0 -5
- package/CHANGELOG.md +0 -132
- package/README.md +0 -69
- package/article.html +0 -65
- package/contracts.html +0 -23
- package/dts-bundle-generator.config.ts +0 -11
- package/entitlements.html +0 -23
- package/index.html +0 -24
- package/renovate.json +0 -4
- package/src/SesamyContracts.ts +0 -86
- package/src/SesamyEntitlements.ts +0 -85
- package/src/app.ts +0 -101
- package/src/constants.ts +0 -2
- package/src/controllers/index.ts +0 -1
- package/src/controllers/paywall.ts +0 -14
- package/src/entitlementsStyle.css +0 -147
- package/src/events/ready.ts +0 -12
- package/src/index.ts +0 -36
- package/src/javascript-api.ts +0 -84
- package/src/services/analytics/element-tracker.ts +0 -117
- package/src/services/analytics/index.ts +0 -234
- package/src/services/analytics/listeners/index.ts +0 -2
- package/src/services/analytics/listeners/route.ts +0 -9
- package/src/services/analytics/listeners/scroll.ts +0 -62
- package/src/services/analytics/session-id.ts +0 -11
- package/src/services/analytics/types/analytics-activity-utils.d.ts +0 -54
- package/src/services/analytics/types/analytics-router-utils.d.ts +0 -7
- package/src/services/analytics/types/analytics-scroll-utils.d.ts +0 -4
- package/src/services/analytics/types/track-event.ts +0 -70
- package/src/services/auth/index.ts +0 -74
- package/src/services/sesamy/index.ts +0 -160
- package/src/state.ts +0 -3
- package/src/style.css +0 -99
- package/src/types/Bills.ts +0 -12
- package/src/types/Config.ts +0 -11
- package/src/types/Contracts.ts +0 -12
- package/src/types/Entitlement.ts +0 -9
- package/src/types/Events.ts +0 -6
- package/src/types/Tag.ts +0 -16
- package/src/vite-env.d.ts +0 -1
- package/tsconfig.json +0 -23
- package/vite.config.ts +0 -43
- package/vite.dev.config.ts +0 -14
- /package/{public → dist}/sesamy.png +0 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
// Generated by dts-bundle-generator v9.3.1
|
|
2
|
+
|
|
3
|
+
export interface Config {
|
|
4
|
+
clientId: string;
|
|
5
|
+
namespace?: string;
|
|
6
|
+
analytics?: Partial<AnalyticsConfig>;
|
|
7
|
+
}
|
|
8
|
+
export interface AnalyticsConfig {
|
|
9
|
+
clientId: string;
|
|
10
|
+
enabled?: boolean;
|
|
11
|
+
endpoint?: string;
|
|
12
|
+
}
|
|
13
|
+
declare function isAuthenticated(): Promise<boolean>;
|
|
14
|
+
declare function getUser(): Promise<import("@auth0/auth0-spa-js").User | undefined>;
|
|
15
|
+
declare function loginWithRedirect(): Promise<void>;
|
|
16
|
+
declare function logout(): Promise<void>;
|
|
17
|
+
export type Entitlement = {
|
|
18
|
+
id: string;
|
|
19
|
+
sku: string;
|
|
20
|
+
cover: string;
|
|
21
|
+
title: string;
|
|
22
|
+
description: string;
|
|
23
|
+
createdAt: string;
|
|
24
|
+
updatedAt: string;
|
|
25
|
+
};
|
|
26
|
+
export type Contract = {
|
|
27
|
+
id: string;
|
|
28
|
+
items: [
|
|
29
|
+
{
|
|
30
|
+
sku: string;
|
|
31
|
+
title: string;
|
|
32
|
+
purchaseOption: string;
|
|
33
|
+
}
|
|
34
|
+
];
|
|
35
|
+
status: string;
|
|
36
|
+
createdAt: string;
|
|
37
|
+
};
|
|
38
|
+
export type Bill = {
|
|
39
|
+
id: string;
|
|
40
|
+
items: [
|
|
41
|
+
{
|
|
42
|
+
sku: string;
|
|
43
|
+
title: string;
|
|
44
|
+
purchaseOption: string;
|
|
45
|
+
}
|
|
46
|
+
];
|
|
47
|
+
status: string;
|
|
48
|
+
createdAt: string;
|
|
49
|
+
};
|
|
50
|
+
export type TagValue = string | number | (string | number)[];
|
|
51
|
+
export type Tag = {
|
|
52
|
+
id: string;
|
|
53
|
+
value: TagValue;
|
|
54
|
+
policies?: {
|
|
55
|
+
ttl?: number;
|
|
56
|
+
maxItems?: number;
|
|
57
|
+
unique?: boolean;
|
|
58
|
+
overflow?: "block" | "fifo";
|
|
59
|
+
ipSessionSharing?: boolean;
|
|
60
|
+
};
|
|
61
|
+
updatedAt: string;
|
|
62
|
+
createdAt: string;
|
|
63
|
+
};
|
|
64
|
+
declare function getEntitlements(): Promise<Entitlement[]>;
|
|
65
|
+
declare function getEntitlement(entitlementId: string): Promise<Entitlement | undefined>;
|
|
66
|
+
declare function getContracts(): Promise<Contract[]>;
|
|
67
|
+
declare function getContract(contractId: string): Promise<Contract | undefined>;
|
|
68
|
+
declare function getBills(): Promise<Bill[]>;
|
|
69
|
+
declare function getBill(billId: string): Promise<Bill | undefined>;
|
|
70
|
+
declare function getTags(): Promise<{
|
|
71
|
+
[id: string]: TagValue;
|
|
72
|
+
}[]>;
|
|
73
|
+
declare function setTag(id: string, value: string | number | (string | number)[]): Promise<{
|
|
74
|
+
[id: string]: Tag;
|
|
75
|
+
}[]>;
|
|
76
|
+
declare function pushTag(id: string, value: string | number): Promise<{
|
|
77
|
+
[id: string]: TagValue;
|
|
78
|
+
}[]>;
|
|
79
|
+
declare function accessArticle(articleId: string): Promise<{
|
|
80
|
+
status: string;
|
|
81
|
+
}>;
|
|
82
|
+
declare function getVersion(): string;
|
|
83
|
+
export interface SesamyApi {
|
|
84
|
+
articles: {
|
|
85
|
+
access: typeof accessArticle;
|
|
86
|
+
};
|
|
87
|
+
auth: {
|
|
88
|
+
getUser: typeof getUser;
|
|
89
|
+
isAuthenticated: typeof isAuthenticated;
|
|
90
|
+
loginWithRedirect: typeof loginWithRedirect;
|
|
91
|
+
logout: typeof logout;
|
|
92
|
+
};
|
|
93
|
+
tags: {
|
|
94
|
+
list: typeof getTags;
|
|
95
|
+
set: typeof setTag;
|
|
96
|
+
push: typeof pushTag;
|
|
97
|
+
};
|
|
98
|
+
getEntitlement: typeof getEntitlement;
|
|
99
|
+
getEntitlements: typeof getEntitlements;
|
|
100
|
+
getContract: typeof getContract;
|
|
101
|
+
getContracts: typeof getContracts;
|
|
102
|
+
getBill: typeof getBill;
|
|
103
|
+
getBills: typeof getBills;
|
|
104
|
+
getVersion: typeof getVersion;
|
|
105
|
+
}
|
|
106
|
+
export declare function init(config: Config): Promise<SesamyApi>;
|
|
107
|
+
|
|
108
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";var yr=Object.defineProperty;var vr=(t,e,n)=>e in t?yr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var B=(t,e,n)=>(vr(t,typeof e!="symbol"?e+"":e,n),n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function rt(t,e){const n=new CustomEvent(t,{detail:e,bubbles:!0,composed:!0});dispatchEvent(n)}function Q(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function"){var i=0;for(r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]])}return n}var ce=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Tt(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function jt(t,e){return t(e={exports:{}},e.exports),e.exports}var ae=jt(function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function r(){var i=this;this.locked=new Map,this.addToLocked=function(o,a){var s=i.locked.get(o);s===void 0?a===void 0?i.locked.set(o,[]):i.locked.set(o,[a]):a!==void 0&&(s.unshift(a),i.locked.set(o,s))},this.isLocked=function(o){return i.locked.has(o)},this.lock=function(o){return new Promise(function(a,s){i.isLocked(o)?i.addToLocked(o,a):(i.addToLocked(o),a())})},this.unlock=function(o){var a=i.locked.get(o);if(a!==void 0&&a.length!==0){var s=a.pop();i.locked.set(o,a),s!==void 0&&setTimeout(s,0)}else i.locked.delete(o)}}return r.getInstance=function(){return r.instance===void 0&&(r.instance=new r),r.instance},r}();e.default=function(){return n.getInstance()}});Tt(ae);var wr=Tt(jt(function(t,e){var n=ce&&ce.__awaiter||function(u,c,h,d){return new(h||(h=Promise))(function(w,k){function v(y){try{_(d.next(y))}catch(l){k(l)}}function I(y){try{_(d.throw(y))}catch(l){k(l)}}function _(y){y.done?w(y.value):new h(function(l){l(y.value)}).then(v,I)}_((d=d.apply(u,c||[])).next())})},r=ce&&ce.__generator||function(u,c){var h,d,w,k,v={label:0,sent:function(){if(1&w[0])throw w[1];return w[1]},trys:[],ops:[]};return k={next:I(0),throw:I(1),return:I(2)},typeof Symbol=="function"&&(k[Symbol.iterator]=function(){return this}),k;function I(_){return function(y){return function(l){if(h)throw new TypeError("Generator is already executing.");for(;v;)try{if(h=1,d&&(w=2&l[0]?d.return:l[0]?d.throw||((w=d.return)&&w.call(d),0):d.next)&&!(w=w.call(d,l[1])).done)return w;switch(d=0,w&&(l=[2&l[0],w.value]),l[0]){case 0:case 1:w=l;break;case 4:return v.label++,{value:l[1],done:!1};case 5:v.label++,d=l[1],l=[0];continue;case 7:l=v.ops.pop(),v.trys.pop();continue;default:if(w=v.trys,!((w=w.length>0&&w[w.length-1])||l[0]!==6&&l[0]!==2)){v=0;continue}if(l[0]===3&&(!w||l[1]>w[0]&&l[1]<w[3])){v.label=l[1];break}if(l[0]===6&&v.label<w[1]){v.label=w[1],w=l;break}if(w&&v.label<w[2]){v.label=w[2],v.ops.push(l);break}w[2]&&v.ops.pop(),v.trys.pop();continue}l=c.call(u,v)}catch(b){l=[6,b],d=0}finally{h=w=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([_,y])}}},i=ce;Object.defineProperty(e,"__esModule",{value:!0});var o="browser-tabs-lock-key",a={key:function(u){return n(i,void 0,void 0,function(){return r(this,function(c){throw new Error("Unsupported")})})},getItem:function(u){return n(i,void 0,void 0,function(){return r(this,function(c){throw new Error("Unsupported")})})},clear:function(){return n(i,void 0,void 0,function(){return r(this,function(u){return[2,window.localStorage.clear()]})})},removeItem:function(u){return n(i,void 0,void 0,function(){return r(this,function(c){throw new Error("Unsupported")})})},setItem:function(u,c){return n(i,void 0,void 0,function(){return r(this,function(h){throw new Error("Unsupported")})})},keySync:function(u){return window.localStorage.key(u)},getItemSync:function(u){return window.localStorage.getItem(u)},clearSync:function(){return window.localStorage.clear()},removeItemSync:function(u){return window.localStorage.removeItem(u)},setItemSync:function(u,c){return window.localStorage.setItem(u,c)}};function s(u){return new Promise(function(c){return setTimeout(c,u)})}function m(u){for(var c="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz",h="",d=0;d<u;d++)h+=c[Math.floor(Math.random()*c.length)];return h}var p=function(){function u(c){this.acquiredIatSet=new Set,this.storageHandler=void 0,this.id=Date.now().toString()+m(15),this.acquireLock=this.acquireLock.bind(this),this.releaseLock=this.releaseLock.bind(this),this.releaseLock__private__=this.releaseLock__private__.bind(this),this.waitForSomethingToChange=this.waitForSomethingToChange.bind(this),this.refreshLockWhileAcquired=this.refreshLockWhileAcquired.bind(this),this.storageHandler=c,u.waiters===void 0&&(u.waiters=[])}return u.prototype.acquireLock=function(c,h){return h===void 0&&(h=5e3),n(this,void 0,void 0,function(){var d,w,k,v,I,_,y;return r(this,function(l){switch(l.label){case 0:d=Date.now()+m(4),w=Date.now()+h,k=o+"-"+c,v=this.storageHandler===void 0?a:this.storageHandler,l.label=1;case 1:return Date.now()<w?[4,s(30)]:[3,8];case 2:return l.sent(),v.getItemSync(k)!==null?[3,5]:(I=this.id+"-"+c+"-"+d,[4,s(Math.floor(25*Math.random()))]);case 3:return l.sent(),v.setItemSync(k,JSON.stringify({id:this.id,iat:d,timeoutKey:I,timeAcquired:Date.now(),timeRefreshed:Date.now()})),[4,s(30)];case 4:return l.sent(),(_=v.getItemSync(k))!==null&&(y=JSON.parse(_)).id===this.id&&y.iat===d?(this.acquiredIatSet.add(d),this.refreshLockWhileAcquired(k,d),[2,!0]):[3,7];case 5:return u.lockCorrector(this.storageHandler===void 0?a:this.storageHandler),[4,this.waitForSomethingToChange(w)];case 6:l.sent(),l.label=7;case 7:return d=Date.now()+m(4),[3,1];case 8:return[2,!1]}})})},u.prototype.refreshLockWhileAcquired=function(c,h){return n(this,void 0,void 0,function(){var d=this;return r(this,function(w){return setTimeout(function(){return n(d,void 0,void 0,function(){var k,v,I;return r(this,function(_){switch(_.label){case 0:return[4,ae.default().lock(h)];case 1:return _.sent(),this.acquiredIatSet.has(h)?(k=this.storageHandler===void 0?a:this.storageHandler,(v=k.getItemSync(c))===null?(ae.default().unlock(h),[2]):((I=JSON.parse(v)).timeRefreshed=Date.now(),k.setItemSync(c,JSON.stringify(I)),ae.default().unlock(h),this.refreshLockWhileAcquired(c,h),[2])):(ae.default().unlock(h),[2])}})})},1e3),[2]})})},u.prototype.waitForSomethingToChange=function(c){return n(this,void 0,void 0,function(){return r(this,function(h){switch(h.label){case 0:return[4,new Promise(function(d){var w=!1,k=Date.now(),v=!1;function I(){if(v||(window.removeEventListener("storage",I),u.removeFromWaiting(I),clearTimeout(_),v=!0),!w){w=!0;var y=50-(Date.now()-k);y>0?setTimeout(d,y):d(null)}}window.addEventListener("storage",I),u.addToWaiting(I);var _=setTimeout(I,Math.max(0,c-Date.now()))})];case 1:return h.sent(),[2]}})})},u.addToWaiting=function(c){this.removeFromWaiting(c),u.waiters!==void 0&&u.waiters.push(c)},u.removeFromWaiting=function(c){u.waiters!==void 0&&(u.waiters=u.waiters.filter(function(h){return h!==c}))},u.notifyWaiters=function(){u.waiters!==void 0&&u.waiters.slice().forEach(function(c){return c()})},u.prototype.releaseLock=function(c){return n(this,void 0,void 0,function(){return r(this,function(h){switch(h.label){case 0:return[4,this.releaseLock__private__(c)];case 1:return[2,h.sent()]}})})},u.prototype.releaseLock__private__=function(c){return n(this,void 0,void 0,function(){var h,d,w,k;return r(this,function(v){switch(v.label){case 0:return h=this.storageHandler===void 0?a:this.storageHandler,d=o+"-"+c,(w=h.getItemSync(d))===null?[2]:(k=JSON.parse(w)).id!==this.id?[3,2]:[4,ae.default().lock(k.iat)];case 1:v.sent(),this.acquiredIatSet.delete(k.iat),h.removeItemSync(d),ae.default().unlock(k.iat),u.notifyWaiters(),v.label=2;case 2:return[2]}})})},u.lockCorrector=function(c){for(var h=Date.now()-5e3,d=c,w=[],k=0;;){var v=d.keySync(k);if(v===null)break;w.push(v),k++}for(var I=!1,_=0;_<w.length;_++){var y=w[_];if(y.includes(o)){var l=d.getItemSync(y);if(l!==null){var b=JSON.parse(l);(b.timeRefreshed===void 0&&b.timeAcquired<h||b.timeRefreshed!==void 0&&b.timeRefreshed<h)&&(d.removeItemSync(y),I=!0)}}}I&&u.notifyWaiters()},u.waiters=void 0,u}();e.default=p}));const br={timeoutInSeconds:60},En={name:"auth0-spa-js",version:"2.1.3"},On=()=>Date.now();let V=class kt extends Error{constructor(e,n){super(n),this.error=e,this.error_description=n,Object.setPrototypeOf(this,kt.prototype)}static fromPayload({error:e,error_description:n}){return new kt(e,n)}},kr=class Pn extends V{constructor(e,n,r,i=null){super(e,n),this.state=r,this.appState=i,Object.setPrototypeOf(this,Pn.prototype)}},It=class Tn extends V{constructor(){super("timeout","Timeout"),Object.setPrototypeOf(this,Tn.prototype)}},Ir=class jn extends It{constructor(e){super(),this.popup=e,Object.setPrototypeOf(this,jn.prototype)}},_r=class xn extends V{constructor(e){super("cancelled","Popup closed"),this.popup=e,Object.setPrototypeOf(this,xn.prototype)}},Sr=class Cn extends V{constructor(e,n,r){super(e,n),this.mfa_token=r,Object.setPrototypeOf(this,Cn.prototype)}},$n=class An extends V{constructor(e,n){super("missing_refresh_token",`Missing Refresh Token (audience: '${Zt(e,["default"])}', scope: '${Zt(n)}')`),this.audience=e,this.scope=n,Object.setPrototypeOf(this,An.prototype)}};function Zt(t,e=[]){return t&&!e.includes(t)?t:""}const Be=()=>window.crypto,dt=()=>{const t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_~.";let e="";return Array.from(Be().getRandomValues(new Uint8Array(43))).forEach(n=>e+=t[n%t.length]),e},Wt=t=>btoa(t),_t=t=>{var{clientId:e}=t,n=Q(t,["clientId"]);return new URLSearchParams((r=>Object.keys(r).filter(i=>r[i]!==void 0).reduce((i,o)=>Object.assign(Object.assign({},i),{[o]:r[o]}),{}))(Object.assign({client_id:e},n))).toString()},Kt=t=>(e=>decodeURIComponent(atob(e).split("").map(n=>"%"+("00"+n.charCodeAt(0).toString(16)).slice(-2)).join("")))(t.replace(/_/g,"/").replace(/-/g,"+")),Er=async(t,e)=>{const n=await fetch(t,e);return{ok:n.ok,json:await n.json()}},Or=async(t,e,n)=>{const r=new AbortController;let i;return e.signal=r.signal,Promise.race([Er(t,e),new Promise((o,a)=>{i=setTimeout(()=>{r.abort(),a(new Error("Timeout when executing 'fetch'"))},n)})]).finally(()=>{clearTimeout(i)})},Pr=async(t,e,n,r,i,o,a)=>{return s={auth:{audience:e,scope:n},timeout:i,fetchUrl:t,fetchOptions:r,useFormData:a},m=o,new Promise(function(p,u){const c=new MessageChannel;c.port1.onmessage=function(h){h.data.error?u(new Error(h.data.error)):p(h.data),c.port1.close()},m.postMessage(s,[c.port2])});var s,m},Tr=async(t,e,n,r,i,o,a=1e4)=>i?Pr(t,e,n,r,a,i,o):Or(t,r,a);async function jr(t,e){var{baseUrl:n,timeout:r,audience:i,scope:o,auth0Client:a,useFormData:s}=t,m=Q(t,["baseUrl","timeout","audience","scope","auth0Client","useFormData"]);const p=s?_t(m):JSON.stringify(m);return await async function(u,c,h,d,w,k,v){let I,_=null;for(let x=0;x<3;x++)try{I=await Tr(u,h,d,w,k,v,c),_=null;break}catch(L){_=L}if(_)throw _;const y=I.json,{error:l,error_description:b}=y,T=Q(y,["error","error_description"]),{ok:P}=I;if(!P){const x=b||`HTTP error. Unable to fetch ${u}`;throw l==="mfa_required"?new Sr(l,x,T.mfa_token):l==="missing_refresh_token"?new $n(h,d):new V(l||"request_error",x)}return T}(`${n}/oauth/token`,r,i||"default",o,{method:"POST",body:p,headers:{"Content-Type":s?"application/x-www-form-urlencoded":"application/json","Auth0-Client":btoa(JSON.stringify(a||En))}},e,s)}const Xe=(...t)=>{return(e=t.filter(Boolean).join(" ").trim().split(/\s+/),Array.from(new Set(e))).join(" ");var e};let le=class St{constructor(e,n="@@auth0spajs@@",r){this.prefix=n,this.suffix=r,this.clientId=e.clientId,this.scope=e.scope,this.audience=e.audience}toKey(){return[this.prefix,this.clientId,this.audience,this.scope,this.suffix].filter(Boolean).join("::")}static fromKey(e){const[n,r,i,o]=e.split("::");return new St({clientId:r,scope:o,audience:i},n)}static fromCacheEntry(e){const{scope:n,audience:r,client_id:i}=e;return new St({scope:n,audience:r,clientId:i})}},xr=class{set(e,n){localStorage.setItem(e,JSON.stringify(n))}get(e){const n=window.localStorage.getItem(e);if(n)try{return JSON.parse(n)}catch{return}}remove(e){localStorage.removeItem(e)}allKeys(){return Object.keys(window.localStorage).filter(e=>e.startsWith("@@auth0spajs@@"))}},zn=class{constructor(){this.enclosedCache=function(){let e={};return{set(n,r){e[n]=r},get(n){const r=e[n];if(r)return r},remove(n){delete e[n]},allKeys:()=>Object.keys(e)}}()}},Cr=class{constructor(e,n,r){this.cache=e,this.keyManifest=n,this.nowProvider=r||On}async setIdToken(e,n,r){var i;const o=this.getIdTokenCacheKey(e);await this.cache.set(o,{id_token:n,decodedToken:r}),await((i=this.keyManifest)===null||i===void 0?void 0:i.add(o))}async getIdToken(e){const n=await this.cache.get(this.getIdTokenCacheKey(e.clientId));if(!n&&e.scope&&e.audience){const r=await this.get(e);return!r||!r.id_token||!r.decodedToken?void 0:{id_token:r.id_token,decodedToken:r.decodedToken}}if(n)return{id_token:n.id_token,decodedToken:n.decodedToken}}async get(e,n=0){var r;let i=await this.cache.get(e.toKey());if(!i){const s=await this.getCacheKeys();if(!s)return;const m=this.matchExistingCacheKey(e,s);m&&(i=await this.cache.get(m))}if(!i)return;const o=await this.nowProvider(),a=Math.floor(o/1e3);return i.expiresAt-n<a?i.body.refresh_token?(i.body={refresh_token:i.body.refresh_token},await this.cache.set(e.toKey(),i),i.body):(await this.cache.remove(e.toKey()),void await((r=this.keyManifest)===null||r===void 0?void 0:r.remove(e.toKey()))):i.body}async set(e){var n;const r=new le({clientId:e.client_id,scope:e.scope,audience:e.audience}),i=await this.wrapCacheEntry(e);await this.cache.set(r.toKey(),i),await((n=this.keyManifest)===null||n===void 0?void 0:n.add(r.toKey()))}async clear(e){var n;const r=await this.getCacheKeys();r&&(await r.filter(i=>!e||i.includes(e)).reduce(async(i,o)=>{await i,await this.cache.remove(o)},Promise.resolve()),await((n=this.keyManifest)===null||n===void 0?void 0:n.clear()))}async wrapCacheEntry(e){const n=await this.nowProvider();return{body:e,expiresAt:Math.floor(n/1e3)+e.expires_in}}async getCacheKeys(){var e;return this.keyManifest?(e=await this.keyManifest.get())===null||e===void 0?void 0:e.keys:this.cache.allKeys?this.cache.allKeys():void 0}getIdTokenCacheKey(e){return new le({clientId:e},"@@auth0spajs@@","@@user@@").toKey()}matchExistingCacheKey(e,n){return n.filter(r=>{var i;const o=le.fromKey(r),a=new Set(o.scope&&o.scope.split(" ")),s=((i=e.scope)===null||i===void 0?void 0:i.split(" "))||[],m=o.scope&&s.reduce((p,u)=>p&&a.has(u),!0);return o.prefix==="@@auth0spajs@@"&&o.clientId===e.clientId&&o.audience===e.audience&&m})[0]}},$r=class{constructor(e,n,r){this.storage=e,this.clientId=n,this.cookieDomain=r,this.storageKey=`a0.spajs.txs.${this.clientId}`}create(e){this.storage.save(this.storageKey,e,{daysUntilExpire:1,cookieDomain:this.cookieDomain})}get(){return this.storage.get(this.storageKey)}remove(){this.storage.remove(this.storageKey,{cookieDomain:this.cookieDomain})}};const ze=t=>typeof t=="number",Ar=["iss","aud","exp","nbf","iat","jti","azp","nonce","auth_time","at_hash","c_hash","acr","amr","sub_jwk","cnf","sip_from_tag","sip_date","sip_callid","sip_cseq_num","sip_via_branch","orig","dest","mky","events","toe","txn","rph","sid","vot","vtm"],zr=t=>{if(!t.id_token)throw new Error("ID token is required but missing");const e=(o=>{const a=o.split("."),[s,m,p]=a;if(a.length!==3||!s||!m||!p)throw new Error("ID token could not be decoded");const u=JSON.parse(Kt(m)),c={__raw:o},h={};return Object.keys(u).forEach(d=>{c[d]=u[d],Ar.includes(d)||(h[d]=u[d])}),{encoded:{header:s,payload:m,signature:p},header:JSON.parse(Kt(s)),claims:c,user:h}})(t.id_token);if(!e.claims.iss)throw new Error("Issuer (iss) claim must be a string present in the ID token");if(e.claims.iss!==t.iss)throw new Error(`Issuer (iss) claim mismatch in the ID token; expected "${t.iss}", found "${e.claims.iss}"`);if(!e.user.sub)throw new Error("Subject (sub) claim must be a string present in the ID token");if(e.header.alg!=="RS256")throw new Error(`Signature algorithm of "${e.header.alg}" is not supported. Expected the ID token to be signed with "RS256".`);if(!e.claims.aud||typeof e.claims.aud!="string"&&!Array.isArray(e.claims.aud))throw new Error("Audience (aud) claim must be a string or array of strings present in the ID token");if(Array.isArray(e.claims.aud)){if(!e.claims.aud.includes(t.aud))throw new Error(`Audience (aud) claim mismatch in the ID token; expected "${t.aud}" but was not one of "${e.claims.aud.join(", ")}"`);if(e.claims.aud.length>1){if(!e.claims.azp)throw new Error("Authorized Party (azp) claim must be a string present in the ID token when Audience (aud) claim has multiple values");if(e.claims.azp!==t.aud)throw new Error(`Authorized Party (azp) claim mismatch in the ID token; expected "${t.aud}", found "${e.claims.azp}"`)}}else if(e.claims.aud!==t.aud)throw new Error(`Audience (aud) claim mismatch in the ID token; expected "${t.aud}" but found "${e.claims.aud}"`);if(t.nonce){if(!e.claims.nonce)throw new Error("Nonce (nonce) claim must be a string present in the ID token");if(e.claims.nonce!==t.nonce)throw new Error(`Nonce (nonce) claim mismatch in the ID token; expected "${t.nonce}", found "${e.claims.nonce}"`)}if(t.max_age&&!ze(e.claims.auth_time))throw new Error("Authentication Time (auth_time) claim must be a number present in the ID token when Max Age (max_age) is specified");if(e.claims.exp==null||!ze(e.claims.exp))throw new Error("Expiration Time (exp) claim must be a number present in the ID token");if(!ze(e.claims.iat))throw new Error("Issued At (iat) claim must be a number present in the ID token");const n=t.leeway||60,r=new Date(t.now||Date.now()),i=new Date(0);if(i.setUTCSeconds(e.claims.exp+n),r>i)throw new Error(`Expiration Time (exp) claim error in the ID token; current time (${r}) is after expiration time (${i})`);if(e.claims.nbf!=null&&ze(e.claims.nbf)){const o=new Date(0);if(o.setUTCSeconds(e.claims.nbf-n),r<o)throw new Error(`Not Before time (nbf) claim in the ID token indicates that this token can't be used just yet. Current time (${r}) is before ${o}`)}if(e.claims.auth_time!=null&&ze(e.claims.auth_time)){const o=new Date(0);if(o.setUTCSeconds(parseInt(e.claims.auth_time)+t.max_age+n),r>o)throw new Error(`Authentication Time (auth_time) claim in the ID token indicates that too much time has passed since the last end-user authentication. Current time (${r}) is after last auth at ${o}`)}if(t.organization){const o=t.organization.trim();if(o.startsWith("org_")){const a=o;if(!e.claims.org_id)throw new Error("Organization ID (org_id) claim must be a string present in the ID token");if(a!==e.claims.org_id)throw new Error(`Organization ID (org_id) claim mismatch in the ID token; expected "${a}", found "${e.claims.org_id}"`)}else{const a=o.toLowerCase();if(!e.claims.org_name)throw new Error("Organization Name (org_name) claim must be a string present in the ID token");if(a!==e.claims.org_name)throw new Error(`Organization Name (org_name) claim mismatch in the ID token; expected "${a}", found "${e.claims.org_name}"`)}}return e};var de=jt(function(t,e){var n=ce&&ce.__assign||function(){return n=Object.assign||function(m){for(var p,u=1,c=arguments.length;u<c;u++)for(var h in p=arguments[u])Object.prototype.hasOwnProperty.call(p,h)&&(m[h]=p[h]);return m},n.apply(this,arguments)};function r(m,p){if(!p)return"";var u="; "+m;return p===!0?u:u+"="+p}function i(m,p,u){return encodeURIComponent(m).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/\(/g,"%28").replace(/\)/g,"%29")+"="+encodeURIComponent(p).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent)+function(c){if(typeof c.expires=="number"){var h=new Date;h.setMilliseconds(h.getMilliseconds()+864e5*c.expires),c.expires=h}return r("Expires",c.expires?c.expires.toUTCString():"")+r("Domain",c.domain)+r("Path",c.path)+r("Secure",c.secure)+r("SameSite",c.sameSite)}(u)}function o(m){for(var p={},u=m?m.split("; "):[],c=/(%[\dA-F]{2})+/gi,h=0;h<u.length;h++){var d=u[h].split("="),w=d.slice(1).join("=");w.charAt(0)==='"'&&(w=w.slice(1,-1));try{p[d[0].replace(c,decodeURIComponent)]=w.replace(c,decodeURIComponent)}catch{}}return p}function a(){return o(document.cookie)}function s(m,p,u){document.cookie=i(m,p,n({path:"/"},u))}e.__esModule=!0,e.encode=i,e.parse=o,e.getAll=a,e.get=function(m){return a()[m]},e.set=s,e.remove=function(m,p){s(m,"",n(n({},p),{expires:-1}))}});Tt(de),de.encode,de.parse,de.getAll;var Nr=de.get,Nn=de.set,Dn=de.remove;const we={get(t){const e=Nr(t);if(e!==void 0)return JSON.parse(e)},save(t,e,n){let r={};window.location.protocol==="https:"&&(r={secure:!0,sameSite:"none"}),n!=null&&n.daysUntilExpire&&(r.expires=n.daysUntilExpire),n!=null&&n.cookieDomain&&(r.domain=n.cookieDomain),Nn(t,JSON.stringify(e),r)},remove(t,e){let n={};e!=null&&e.cookieDomain&&(n.domain=e.cookieDomain),Dn(t,n)}},Dr={get(t){return we.get(t)||we.get(`_legacy_${t}`)},save(t,e,n){let r={};window.location.protocol==="https:"&&(r={secure:!0}),n!=null&&n.daysUntilExpire&&(r.expires=n.daysUntilExpire),n!=null&&n.cookieDomain&&(r.domain=n.cookieDomain),Nn(`_legacy_${t}`,JSON.stringify(e),r),we.save(t,e,n)},remove(t,e){let n={};e!=null&&e.cookieDomain&&(n.domain=e.cookieDomain),Dn(t,n),we.remove(t,e),we.remove(`_legacy_${t}`,e)}},Lr={get(t){if(typeof sessionStorage>"u")return;const e=sessionStorage.getItem(t);return e!=null?JSON.parse(e):void 0},save(t,e){sessionStorage.setItem(t,JSON.stringify(e))},remove(t){sessionStorage.removeItem(t)}};function Ur(t,e,n){var r=e===void 0?null:e,i=function(m,p){var u=atob(m);if(p){for(var c=new Uint8Array(u.length),h=0,d=u.length;h<d;++h)c[h]=u.charCodeAt(h);return String.fromCharCode.apply(null,new Uint16Array(c.buffer))}return u}(t,n!==void 0&&n),o=i.indexOf(`
|
|
2
|
+
`,10)+1,a=i.substring(o)+(r?"//# sourceMappingURL="+r:""),s=new Blob([a],{type:"application/javascript"});return URL.createObjectURL(s)}var Mt,Xt,Ft,ht,Rr=(Mt="Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7Y2xhc3MgZSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKHQscil7c3VwZXIociksdGhpcy5lcnJvcj10LHRoaXMuZXJyb3JfZGVzY3JpcHRpb249cixPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxlLnByb3RvdHlwZSl9c3RhdGljIGZyb21QYXlsb2FkKHtlcnJvcjp0LGVycm9yX2Rlc2NyaXB0aW9uOnJ9KXtyZXR1cm4gbmV3IGUodCxyKX19Y2xhc3MgdCBleHRlbmRzIGV7Y29uc3RydWN0b3IoZSxzKXtzdXBlcigibWlzc2luZ19yZWZyZXNoX3Rva2VuIixgTWlzc2luZyBSZWZyZXNoIFRva2VuIChhdWRpZW5jZTogJyR7cihlLFsiZGVmYXVsdCJdKX0nLCBzY29wZTogJyR7cihzKX0nKWApLHRoaXMuYXVkaWVuY2U9ZSx0aGlzLnNjb3BlPXMsT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsdC5wcm90b3R5cGUpfX1mdW5jdGlvbiByKGUsdD1bXSl7cmV0dXJuIGUmJiF0LmluY2x1ZGVzKGUpP2U6IiJ9ImZ1bmN0aW9uIj09dHlwZW9mIFN1cHByZXNzZWRFcnJvciYmU3VwcHJlc3NlZEVycm9yO2NvbnN0IHM9ZT0+e3ZhcntjbGllbnRJZDp0fT1lLHI9ZnVuY3Rpb24oZSx0KXt2YXIgcj17fTtmb3IodmFyIHMgaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxzKSYmdC5pbmRleE9mKHMpPDAmJihyW3NdPWVbc10pO2lmKG51bGwhPWUmJiJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgbz0wO2ZvcihzPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7bzxzLmxlbmd0aDtvKyspdC5pbmRleE9mKHNbb10pPDAmJk9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLHNbb10pJiYocltzW29dXT1lW3Nbb11dKX1yZXR1cm4gcn0oZSxbImNsaWVudElkIl0pO3JldHVybiBuZXcgVVJMU2VhcmNoUGFyYW1zKChlPT5PYmplY3Qua2V5cyhlKS5maWx0ZXIoKHQ9PnZvaWQgMCE9PWVbdF0pKS5yZWR1Y2UoKCh0LHIpPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse1tyXTplW3JdfSkpLHt9KSkoT2JqZWN0LmFzc2lnbih7Y2xpZW50X2lkOnR9LHIpKSkudG9TdHJpbmcoKX07bGV0IG89e307Y29uc3Qgbj0oZSx0KT0+YCR7ZX18JHt0fWA7YWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsKGFzeW5jKHtkYXRhOnt0aW1lb3V0OmUsYXV0aDpyLGZldGNoVXJsOmksZmV0Y2hPcHRpb25zOmMsdXNlRm9ybURhdGE6YX0scG9ydHM6W3BdfSk9PntsZXQgZjtjb25zdHthdWRpZW5jZTp1LHNjb3BlOmx9PXJ8fHt9O3RyeXtjb25zdCByPWE/KGU9Pntjb25zdCB0PW5ldyBVUkxTZWFyY2hQYXJhbXMoZSkscj17fTtyZXR1cm4gdC5mb3JFYWNoKCgoZSx0KT0+e3JbdF09ZX0pKSxyfSkoYy5ib2R5KTpKU09OLnBhcnNlKGMuYm9keSk7aWYoIXIucmVmcmVzaF90b2tlbiYmInJlZnJlc2hfdG9rZW4iPT09ci5ncmFudF90eXBlKXtjb25zdCBlPSgoZSx0KT0+b1tuKGUsdCldKSh1LGwpO2lmKCFlKXRocm93IG5ldyB0KHUsbCk7Yy5ib2R5PWE/cyhPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30scikse3JlZnJlc2hfdG9rZW46ZX0pKTpKU09OLnN0cmluZ2lmeShPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30scikse3JlZnJlc2hfdG9rZW46ZX0pKX1sZXQgaCxnOyJmdW5jdGlvbiI9PXR5cGVvZiBBYm9ydENvbnRyb2xsZXImJihoPW5ldyBBYm9ydENvbnRyb2xsZXIsYy5zaWduYWw9aC5zaWduYWwpO3RyeXtnPWF3YWl0IFByb21pc2UucmFjZShbKGQ9ZSxuZXcgUHJvbWlzZSgoZT0+c2V0VGltZW91dChlLGQpKSkpLGZldGNoKGksT2JqZWN0LmFzc2lnbih7fSxjKSldKX1jYXRjaChlKXtyZXR1cm4gdm9pZCBwLnBvc3RNZXNzYWdlKHtlcnJvcjplLm1lc3NhZ2V9KX1pZighZylyZXR1cm4gaCYmaC5hYm9ydCgpLHZvaWQgcC5wb3N0TWVzc2FnZSh7ZXJyb3I6IlRpbWVvdXQgd2hlbiBleGVjdXRpbmcgJ2ZldGNoJyJ9KTtmPWF3YWl0IGcuanNvbigpLGYucmVmcmVzaF90b2tlbj8oKChlLHQscik9PntvW24odCxyKV09ZX0pKGYucmVmcmVzaF90b2tlbix1LGwpLGRlbGV0ZSBmLnJlZnJlc2hfdG9rZW4pOigoZSx0KT0+e2RlbGV0ZSBvW24oZSx0KV19KSh1LGwpLHAucG9zdE1lc3NhZ2Uoe29rOmcub2ssanNvbjpmfSl9Y2F0Y2goZSl7cC5wb3N0TWVzc2FnZSh7b2s6ITEsanNvbjp7ZXJyb3I6ZS5lcnJvcixlcnJvcl9kZXNjcmlwdGlvbjplLm1lc3NhZ2V9fSl9dmFyIGR9KSl9KCk7Cgo=",Xt=null,Ft=!1,function(t){return ht=ht||Ur(Mt,Xt,Ft),new Worker(ht,t)});const ft={};let Zr=class{constructor(e,n){this.cache=e,this.clientId=n,this.manifestKey=this.createManifestKeyFrom(this.clientId)}async add(e){var n;const r=new Set(((n=await this.cache.get(this.manifestKey))===null||n===void 0?void 0:n.keys)||[]);r.add(e),await this.cache.set(this.manifestKey,{keys:[...r]})}async remove(e){const n=await this.cache.get(this.manifestKey);if(n){const r=new Set(n.keys);return r.delete(e),r.size>0?await this.cache.set(this.manifestKey,{keys:[...r]}):await this.cache.remove(this.manifestKey)}}get(){return this.cache.get(this.manifestKey)}clear(){return this.cache.remove(this.manifestKey)}createManifestKeyFrom(e){return`@@auth0spajs@@::${e}`}};const Wr={memory:()=>new zn().enclosedCache,localstorage:()=>new xr},Jt=t=>Wr[t],Ht=t=>{const{openUrl:e,onRedirect:n}=t,r=Q(t,["openUrl","onRedirect"]);return Object.assign(Object.assign({},r),{openUrl:e===!1||e?e:n})},pt=new wr;let Kr=class{constructor(e){let n,r;if(this.userCache=new zn().enclosedCache,this.defaultOptions={authorizationParams:{scope:"openid profile email"},useRefreshTokensFallback:!1,useFormData:!0},this._releaseLockOnPageHide=async()=>{await pt.releaseLock("auth0.lock.getTokenSilently"),window.removeEventListener("pagehide",this._releaseLockOnPageHide)},this.options=Object.assign(Object.assign(Object.assign({},this.defaultOptions),e),{authorizationParams:Object.assign(Object.assign({},this.defaultOptions.authorizationParams),e.authorizationParams)}),typeof window<"u"&&(()=>{if(!Be())throw new Error("For security reasons, `window.crypto` is required to run `auth0-spa-js`.");if(Be().subtle===void 0)throw new Error(`
|
|
3
|
+
auth0-spa-js must run on a secure origin. See https://github.com/auth0/auth0-spa-js/blob/main/FAQ.md#why-do-i-get-auth0-spa-js-must-run-on-a-secure-origin for more information.
|
|
4
|
+
`)})(),e.cache&&e.cacheLocation&&console.warn("Both `cache` and `cacheLocation` options have been specified in the Auth0Client configuration; ignoring `cacheLocation` and using `cache`."),e.cache)r=e.cache;else{if(n=e.cacheLocation||"memory",!Jt(n))throw new Error(`Invalid cache location "${n}"`);r=Jt(n)()}this.httpTimeoutMs=e.httpTimeoutInSeconds?1e3*e.httpTimeoutInSeconds:1e4,this.cookieStorage=e.legacySameSiteCookie===!1?we:Dr,this.orgHintCookieName=`auth0.${this.options.clientId}.organization_hint`,this.isAuthenticatedCookieName=(a=>`auth0.${a}.is.authenticated`)(this.options.clientId),this.sessionCheckExpiryDays=e.sessionCheckExpiryDays||1;const i=e.useCookiesForTransactions?this.cookieStorage:Lr;var o;this.scope=Xe("openid",this.options.authorizationParams.scope,this.options.useRefreshTokens?"offline_access":""),this.transactionManager=new $r(i,this.options.clientId,this.options.cookieDomain),this.nowProvider=this.options.nowProvider||On,this.cacheManager=new Cr(r,r.allKeys?void 0:new Zr(r,this.options.clientId),this.nowProvider),this.domainUrl=(o=this.options.domain,/^https?:\/\//.test(o)?o:`https://${o}`),this.tokenIssuer=((a,s)=>a?a.startsWith("https://")?a:`https://${a}/`:`${s}/`)(this.options.issuer,this.domainUrl),typeof window<"u"&&window.Worker&&this.options.useRefreshTokens&&n==="memory"&&(this.options.workerUrl?this.worker=new Worker(this.options.workerUrl):this.worker=new Rr)}_url(e){const n=encodeURIComponent(btoa(JSON.stringify(this.options.auth0Client||En)));return`${this.domainUrl}${e}&auth0Client=${n}`}_authorizeUrl(e){return this._url(`/authorize?${_t(e)}`)}async _verifyIdToken(e,n,r){const i=await this.nowProvider();return zr({iss:this.tokenIssuer,aud:this.options.clientId,id_token:e,nonce:n,organization:r,leeway:this.options.leeway,max_age:(o=this.options.authorizationParams.max_age,typeof o!="string"?o:parseInt(o,10)||void 0),now:i});var o}_processOrgHint(e){e?this.cookieStorage.save(this.orgHintCookieName,e,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}):this.cookieStorage.remove(this.orgHintCookieName,{cookieDomain:this.options.cookieDomain})}async _prepareAuthorizeUrl(e,n,r){const i=Wt(dt()),o=Wt(dt()),a=dt(),s=(u=>{const c=new Uint8Array(u);return(h=>{const d={"+":"-","/":"_","=":""};return h.replace(/[+/=]/g,w=>d[w])})(window.btoa(String.fromCharCode(...Array.from(c))))})(await(async u=>await Be().subtle.digest({name:"SHA-256"},new TextEncoder().encode(u)))(a)),m=((u,c,h,d,w,k,v,I)=>Object.assign(Object.assign(Object.assign({client_id:u.clientId},u.authorizationParams),h),{scope:Xe(c,h.scope),response_type:"code",response_mode:I||"query",state:d,nonce:w,redirect_uri:v||u.authorizationParams.redirect_uri,code_challenge:k,code_challenge_method:"S256"}))(this.options,this.scope,e,i,o,s,e.redirect_uri||this.options.authorizationParams.redirect_uri||r,n==null?void 0:n.response_mode),p=this._authorizeUrl(m);return{nonce:o,code_verifier:a,scope:m.scope,audience:m.audience||"default",redirect_uri:m.redirect_uri,state:i,url:p}}async loginWithPopup(e,n){var r;if(e=e||{},!(n=n||{}).popup&&(n.popup=(s=>{const m=window.screenX+(window.innerWidth-400)/2,p=window.screenY+(window.innerHeight-600)/2;return window.open(s,"auth0:authorize:popup",`left=${m},top=${p},width=400,height=600,resizable,scrollbars=yes,status=1`)})(""),!n.popup))throw new Error("Unable to open a popup for loginWithPopup - window.open returned `null`");const i=await this._prepareAuthorizeUrl(e.authorizationParams||{},{response_mode:"web_message"},window.location.origin);n.popup.location.href=i.url;const o=await(s=>new Promise((m,p)=>{let u;const c=setInterval(()=>{s.popup&&s.popup.closed&&(clearInterval(c),clearTimeout(h),window.removeEventListener("message",u,!1),p(new _r(s.popup)))},1e3),h=setTimeout(()=>{clearInterval(c),p(new Ir(s.popup)),window.removeEventListener("message",u,!1)},1e3*(s.timeoutInSeconds||60));u=function(d){if(d.data&&d.data.type==="authorization_response"){if(clearTimeout(h),clearInterval(c),window.removeEventListener("message",u,!1),s.popup.close(),d.data.response.error)return p(V.fromPayload(d.data.response));m(d.data.response)}},window.addEventListener("message",u)}))(Object.assign(Object.assign({},n),{timeoutInSeconds:n.timeoutInSeconds||this.options.authorizeTimeoutInSeconds||60}));if(i.state!==o.state)throw new V("state_mismatch","Invalid state");const a=((r=e.authorizationParams)===null||r===void 0?void 0:r.organization)||this.options.authorizationParams.organization;await this._requestToken({audience:i.audience,scope:i.scope,code_verifier:i.code_verifier,grant_type:"authorization_code",code:o.code,redirect_uri:i.redirect_uri},{nonceIn:i.nonce,organization:a})}async getUser(){var e;const n=await this._getIdTokenFromCache();return(e=n==null?void 0:n.decodedToken)===null||e===void 0?void 0:e.user}async getIdTokenClaims(){var e;const n=await this._getIdTokenFromCache();return(e=n==null?void 0:n.decodedToken)===null||e===void 0?void 0:e.claims}async loginWithRedirect(e={}){var n;const r=Ht(e),{openUrl:i,fragment:o,appState:a}=r,s=Q(r,["openUrl","fragment","appState"]),m=((n=s.authorizationParams)===null||n===void 0?void 0:n.organization)||this.options.authorizationParams.organization,p=await this._prepareAuthorizeUrl(s.authorizationParams||{}),{url:u}=p,c=Q(p,["url"]);this.transactionManager.create(Object.assign(Object.assign(Object.assign({},c),{appState:a}),m&&{organization:m}));const h=o?`${u}#${o}`:u;i?await i(h):window.location.assign(h)}async handleRedirectCallback(e=window.location.href){const n=e.split("?").slice(1);if(n.length===0)throw new Error("There are no query params available for parsing.");const{state:r,code:i,error:o,error_description:a}=(c=>{c.indexOf("#")>-1&&(c=c.substring(0,c.indexOf("#")));const h=new URLSearchParams(c);return{state:h.get("state"),code:h.get("code")||void 0,error:h.get("error")||void 0,error_description:h.get("error_description")||void 0}})(n.join("")),s=this.transactionManager.get();if(!s)throw new V("missing_transaction","Invalid state");if(this.transactionManager.remove(),o)throw new kr(o,a||o,r,s.appState);if(!s.code_verifier||s.state&&s.state!==r)throw new V("state_mismatch","Invalid state");const m=s.organization,p=s.nonce,u=s.redirect_uri;return await this._requestToken(Object.assign({audience:s.audience,scope:s.scope,code_verifier:s.code_verifier,grant_type:"authorization_code",code:i},u?{redirect_uri:u}:{}),{nonceIn:p,organization:m}),{appState:s.appState}}async checkSession(e){if(!this.cookieStorage.get(this.isAuthenticatedCookieName)){if(!this.cookieStorage.get("auth0.is.authenticated"))return;this.cookieStorage.save(this.isAuthenticatedCookieName,!0,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}),this.cookieStorage.remove("auth0.is.authenticated")}try{await this.getTokenSilently(e)}catch{}}async getTokenSilently(e={}){var n;const r=Object.assign(Object.assign({cacheMode:"on"},e),{authorizationParams:Object.assign(Object.assign(Object.assign({},this.options.authorizationParams),e.authorizationParams),{scope:Xe(this.scope,(n=e.authorizationParams)===null||n===void 0?void 0:n.scope)})}),i=await((o,a)=>{let s=ft[a];return s||(s=o().finally(()=>{delete ft[a],s=null}),ft[a]=s),s})(()=>this._getTokenSilently(r),`${this.options.clientId}::${r.authorizationParams.audience}::${r.authorizationParams.scope}`);return e.detailedResponse?i:i==null?void 0:i.access_token}async _getTokenSilently(e){const{cacheMode:n}=e,r=Q(e,["cacheMode"]);if(n!=="off"){const i=await this._getEntryFromCache({scope:r.authorizationParams.scope,audience:r.authorizationParams.audience||"default",clientId:this.options.clientId});if(i)return i}if(n!=="cache-only"){if(!await(async(i,o=3)=>{for(let a=0;a<o;a++)if(await i())return!0;return!1})(()=>pt.acquireLock("auth0.lock.getTokenSilently",5e3),10))throw new It;try{if(window.addEventListener("pagehide",this._releaseLockOnPageHide),n!=="off"){const p=await this._getEntryFromCache({scope:r.authorizationParams.scope,audience:r.authorizationParams.audience||"default",clientId:this.options.clientId});if(p)return p}const i=this.options.useRefreshTokens?await this._getTokenUsingRefreshToken(r):await this._getTokenFromIFrame(r),{id_token:o,access_token:a,oauthTokenScope:s,expires_in:m}=i;return Object.assign(Object.assign({id_token:o,access_token:a},s?{scope:s}:null),{expires_in:m})}finally{await pt.releaseLock("auth0.lock.getTokenSilently"),window.removeEventListener("pagehide",this._releaseLockOnPageHide)}}}async getTokenWithPopup(e={},n={}){var r;const i=Object.assign(Object.assign({},e),{authorizationParams:Object.assign(Object.assign(Object.assign({},this.options.authorizationParams),e.authorizationParams),{scope:Xe(this.scope,(r=e.authorizationParams)===null||r===void 0?void 0:r.scope)})});return n=Object.assign(Object.assign({},br),n),await this.loginWithPopup(i,n),(await this.cacheManager.get(new le({scope:i.authorizationParams.scope,audience:i.authorizationParams.audience||"default",clientId:this.options.clientId}))).access_token}async isAuthenticated(){return!!await this.getUser()}_buildLogoutUrl(e){e.clientId!==null?e.clientId=e.clientId||this.options.clientId:delete e.clientId;const n=e.logoutParams||{},{federated:r}=n,i=Q(n,["federated"]),o=r?"&federated":"";return this._url(`/v2/logout?${_t(Object.assign({clientId:e.clientId},i))}`)+o}async logout(e={}){const n=Ht(e),{openUrl:r}=n,i=Q(n,["openUrl"]);e.clientId===null?await this.cacheManager.clear():await this.cacheManager.clear(e.clientId||this.options.clientId),this.cookieStorage.remove(this.orgHintCookieName,{cookieDomain:this.options.cookieDomain}),this.cookieStorage.remove(this.isAuthenticatedCookieName,{cookieDomain:this.options.cookieDomain}),this.userCache.remove("@@user@@");const o=this._buildLogoutUrl(i);r?await r(o):r!==!1&&window.location.assign(o)}async _getTokenFromIFrame(e){const n=Object.assign(Object.assign({},e.authorizationParams),{prompt:"none"}),r=this.cookieStorage.get(this.orgHintCookieName);r&&!n.organization&&(n.organization=r);const{url:i,state:o,nonce:a,code_verifier:s,redirect_uri:m,scope:p,audience:u}=await this._prepareAuthorizeUrl(n,{response_mode:"web_message"},window.location.origin);try{if(window.crossOriginIsolated)throw new V("login_required","The application is running in a Cross-Origin Isolated context, silently retrieving a token without refresh token is not possible.");const c=e.timeoutInSeconds||this.options.authorizeTimeoutInSeconds,h=await((w,k,v=60)=>new Promise((I,_)=>{const y=window.document.createElement("iframe");y.setAttribute("width","0"),y.setAttribute("height","0"),y.style.display="none";const l=()=>{window.document.body.contains(y)&&(window.document.body.removeChild(y),window.removeEventListener("message",b,!1))};let b;const T=setTimeout(()=>{_(new It),l()},1e3*v);b=function(P){if(P.origin!=k||!P.data||P.data.type!=="authorization_response")return;const x=P.source;x&&x.close(),P.data.response.error?_(V.fromPayload(P.data.response)):I(P.data.response),clearTimeout(T),window.removeEventListener("message",b,!1),setTimeout(l,2e3)},window.addEventListener("message",b,!1),window.document.body.appendChild(y),y.setAttribute("src",w)}))(i,this.domainUrl,c);if(o!==h.state)throw new V("state_mismatch","Invalid state");const d=await this._requestToken(Object.assign(Object.assign({},e.authorizationParams),{code_verifier:s,code:h.code,grant_type:"authorization_code",redirect_uri:m,timeout:e.authorizationParams.timeout||this.httpTimeoutMs}),{nonceIn:a,organization:n.organization});return Object.assign(Object.assign({},d),{scope:p,oauthTokenScope:d.scope,audience:u})}catch(c){throw c.error==="login_required"&&this.logout({openUrl:!1}),c}}async _getTokenUsingRefreshToken(e){const n=await this.cacheManager.get(new le({scope:e.authorizationParams.scope,audience:e.authorizationParams.audience||"default",clientId:this.options.clientId}));if(!(n&&n.refresh_token||this.worker)){if(this.options.useRefreshTokensFallback)return await this._getTokenFromIFrame(e);throw new $n(e.authorizationParams.audience||"default",e.authorizationParams.scope)}const r=e.authorizationParams.redirect_uri||this.options.authorizationParams.redirect_uri||window.location.origin,i=typeof e.timeoutInSeconds=="number"?1e3*e.timeoutInSeconds:null;try{const o=await this._requestToken(Object.assign(Object.assign(Object.assign({},e.authorizationParams),{grant_type:"refresh_token",refresh_token:n&&n.refresh_token,redirect_uri:r}),i&&{timeout:i}));return Object.assign(Object.assign({},o),{scope:e.authorizationParams.scope,oauthTokenScope:o.scope,audience:e.authorizationParams.audience||"default"})}catch(o){if((o.message.indexOf("Missing Refresh Token")>-1||o.message&&o.message.indexOf("invalid refresh token")>-1)&&this.options.useRefreshTokensFallback)return await this._getTokenFromIFrame(e);throw o}}async _saveEntryInCache(e){const{id_token:n,decodedToken:r}=e,i=Q(e,["id_token","decodedToken"]);this.userCache.set("@@user@@",{id_token:n,decodedToken:r}),await this.cacheManager.setIdToken(this.options.clientId,e.id_token,e.decodedToken),await this.cacheManager.set(i)}async _getIdTokenFromCache(){const e=this.options.authorizationParams.audience||"default",n=await this.cacheManager.getIdToken(new le({clientId:this.options.clientId,audience:e,scope:this.scope})),r=this.userCache.get("@@user@@");return n&&n.id_token===(r==null?void 0:r.id_token)?r:(this.userCache.set("@@user@@",n),n)}async _getEntryFromCache({scope:e,audience:n,clientId:r}){const i=await this.cacheManager.get(new le({scope:e,audience:n,clientId:r}),60);if(i&&i.access_token){const{access_token:o,oauthTokenScope:a,expires_in:s}=i,m=await this._getIdTokenFromCache();return m&&Object.assign(Object.assign({id_token:m.id_token,access_token:o},a?{scope:a}:null),{expires_in:s})}}async _requestToken(e,n){const{nonceIn:r,organization:i}=n||{},o=await jr(Object.assign({baseUrl:this.domainUrl,client_id:this.options.clientId,auth0Client:this.options.auth0Client,useFormData:this.options.useFormData,timeout:this.httpTimeoutMs},e),this.worker),a=await this._verifyIdToken(o.id_token,r,i);return await this._saveEntryInCache(Object.assign(Object.assign(Object.assign(Object.assign({},o),{decodedToken:a,scope:e.scope,audience:e.audience||"default"}),o.scope?{oauthTokenScope:o.scope}:null),{client_id:this.options.clientId})),this.cookieStorage.save(this.isAuthenticatedCookieName,!0,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}),this._processOrgHint(i||a.claims.org_id),Object.assign(Object.assign({},o),{decodedToken:a})}};async function Mr(t){const e=new Kr(t);return await e.checkSession(),e}const xt="sesamy.com",Xr="https://logs.sesamy.com/events";var pe=(t=>(t.READY="sesamyReady",t.AUTHENTICATED="sesamyAuthenticated",t.LOGOUT="sesamyLogout",t.SOFT_PAYWALL="sesamySoftPaywall",t))(pe||{});let F;async function Fr({clientId:t}){if(F=await Mr({domain:`token.${xt}`,clientId:t,cacheLocation:"localstorage"}),window.location.search.includes("code="))try{await F.handleRedirectCallback();const e=await F.getUser();rt(pe.AUTHENTICATED,e),window.history.replaceState({},document.title,"/");const n=await F.getTokenSilently();localStorage.setItem("accessToken",n)}catch{}}async function Jr(){if(!F)throw new Error("Auth0 client not initialized");return F.isAuthenticated()}async function Hr(){if(!F)throw new Error("Auth0 client not initialized");return F.getUser()}function Vr(){if(!F)throw new Error("Auth0 client not initialized");return F.loginWithRedirect({authorizationParams:{redirect_uri:window.location.href}})}async function Yr(){if(!F)throw new Error("Auth0 client not initialized");return F.getTokenSilently()}async function Gr(){if(!F)throw new Error("Auth0 client not initialized");return rt(pe.LOGOUT,{}),F.logout({logoutParams:{returnTo:window.location.href}})}const Br=(t,e)=>e.skipDedupe||e.method!=="GET",qr=(t,e)=>e.method+"@"+t,Qr=t=>t.clone(),Ln=({skip:t=Br,key:e=qr,resolver:n=Qr}={})=>{const r=new Map;return i=>(o,a)=>{if(t(o,a))return i(o,a);const s=e(o,a);if(!r.has(s))r.set(s,[]);else return new Promise((m,p)=>{r.get(s).push([m,p])});try{return i(o,a).then(m=>(r.get(s).forEach(([p])=>p(n(m))),r.delete(s),m)).catch(m=>{throw r.get(s).forEach(([p,u])=>u(m)),r.delete(s),m})}catch(m){return r.delete(s),Promise.reject(m)}}},ei=(t,e)=>t*e,ti=t=>t&&t.ok,Un=({delayTimer:t=500,delayRamp:e=ei,maxAttempts:n=10,until:r=ti,onRetry:i=null,retryOnNetworkError:o=!1,resolveWithLatestResponse:a=!1,skip:s}={})=>m=>(p,u)=>{let c=0;if(s&&s(p,u))return m(p,u);const h=(d,w)=>Promise.resolve(r(d,w)).then(k=>k?d&&a?d:w?Promise.reject(w):d:(c++,!n||c<=n?new Promise(v=>{const I=e(t,c);setTimeout(()=>{typeof i=="function"?Promise.resolve(i({response:d,error:w,url:p,options:u})).then((_={})=>{var y,l;v(m((y=_&&_.url)!==null&&y!==void 0?y:p,(l=_&&_.options)!==null&&l!==void 0?l:u))}):v(m(p,u))},I)}).then(h).catch(v=>{if(!o)throw v;return h(null,v)}):d&&a?d:Promise.reject(w||new Error("Number of attempts exceeded."))));return m(p,u).then(h).catch(d=>{if(!o)throw d;return h(null,d)})},ni="application/json",Rn="Content-Type",ve=Symbol(),Zn=Symbol();function Vt(t={}){var e;return(e=Object.entries(t).find(([n])=>n.toLowerCase()===Rn.toLowerCase()))===null||e===void 0?void 0:e[1]}function Yt(t){return/^application\/.*json.*/.test(t)}const he=function(t,e,n=!1){return Object.entries(e).reduce((r,[i,o])=>{const a=t[i];return Array.isArray(a)&&Array.isArray(o)?r[i]=n?[...a,...o]:o:typeof a=="object"&&typeof o=="object"?r[i]=he(a,o,n):r[i]=o,r},{...t})},Ee={options:{},errorType:"text",polyfills:{},polyfill(t,e=!0,n=!1,...r){const i=this.polyfills[t]||(typeof self<"u"?self[t]:null)||(typeof global<"u"?global[t]:null);if(e&&!i)throw new Error(t+" is not defined");return n&&i?new i(...r):i}};function ri(t,e=!1){Ee.options=e?t:he(Ee.options,t)}function ii(t,e=!1){Ee.polyfills=e?t:he(Ee.polyfills,t)}function oi(t){Ee.errorType=t}const ai=t=>e=>t.reduceRight((n,r)=>r(n),e)||e;class Wn extends Error{}const si=t=>{const e=Object.create(null);t=t._addons.reduce((y,l)=>l.beforeRequest&&l.beforeRequest(y,t._options,e)||y,t);const{_url:n,_options:r,_config:i,_catchers:o,_resolvers:a,_middlewares:s,_addons:m}=t,p=new Map(o),u=he(i.options,r);let c=n;const h=ai(s)((y,l)=>(c=y,i.polyfill("fetch")(y,l)))(n,u),d=new Error,w=h.catch(y=>{throw{[ve]:y}}).then(y=>{if(!y.ok){const l=new Wn;if(l.cause=d,l.stack=l.stack+`
|
|
5
|
+
CAUSE: `+d.stack,l.response=y,l.url=c,y.type==="opaque")throw l;return y.text().then(b=>{var T;if(l.message=b,i.errorType==="json"||((T=y.headers.get("Content-Type"))===null||T===void 0?void 0:T.split(";")[0])==="application/json")try{l.json=JSON.parse(b)}catch{}throw l.text=b,l.status=y.status,l})}return y}),k=y=>y.catch(l=>{const b=l.hasOwnProperty(ve),T=b?l[ve]:l,P=(T==null?void 0:T.status)&&p.get(T.status)||p.get(T==null?void 0:T.name)||b&&p.has(ve)&&p.get(ve);if(P)return P(T,t);const x=p.get(Zn);if(x)return x(T,t);throw T}),v=y=>l=>k(y?w.then(b=>b&&b[y]()).then(b=>l?l(b):b):w.then(b=>l?l(b):b)),I={_wretchReq:t,_fetchReq:h,_sharedState:e,res:v(null),json:v("json"),blob:v("blob"),formData:v("formData"),arrayBuffer:v("arrayBuffer"),text:v("text"),error(y,l){return p.set(y,l),this},badRequest(y){return this.error(400,y)},unauthorized(y){return this.error(401,y)},forbidden(y){return this.error(403,y)},notFound(y){return this.error(404,y)},timeout(y){return this.error(408,y)},internalError(y){return this.error(500,y)},fetchError(y){return this.error(ve,y)}},_=m.reduce((y,l)=>({...y,...typeof l.resolver=="function"?l.resolver(y):l.resolver}),I);return a.reduce((y,l)=>l(y,t),_)},ci={_url:"",_options:{},_config:Ee,_catchers:new Map,_resolvers:[],_deferred:[],_middlewares:[],_addons:[],addon(t){return{...this,_addons:[...this._addons,t],...t.wretch}},errorType(t){return{...this,_config:{...this._config,errorType:t}}},polyfills(t,e=!1){return{...this,_config:{...this._config,polyfills:e?t:he(this._config.polyfills,t)}}},url(t,e=!1){if(e)return{...this,_url:t};const n=this._url.split("?");return{...this,_url:n.length>1?n[0]+t+"?"+n[1]:this._url+t}},options(t,e=!1){return{...this,_options:e?t:he(this._options,t)}},headers(t){const e=t?Array.isArray(t)?Object.fromEntries(t):"entries"in t?Object.fromEntries(t.entries()):t:{};return{...this,_options:he(this._options,{headers:e})}},accept(t){return this.headers({Accept:t})},content(t){return this.headers({[Rn]:t})},auth(t){return this.headers({Authorization:t})},catcher(t,e){const n=new Map(this._catchers);return n.set(t,e),{...this,_catchers:n}},catcherFallback(t){return this.catcher(Zn,t)},resolve(t,e=!1){return{...this,_resolvers:e?[t]:[...this._resolvers,t]}},defer(t,e=!1){return{...this,_deferred:e?[t]:[...this._deferred,t]}},middlewares(t,e=!1){return{...this,_middlewares:e?t:[...this._middlewares,...t]}},fetch(t=this._options.method,e="",n=null){let r=this.url(e).options({method:t});const i=Vt(r._options.headers),o=typeof n=="object"&&(!r._options.headers||!i||Yt(i));return r=n?o?r.json(n,i):r.body(n):r,si(r._deferred.reduce((a,s)=>s(a,a._url,a._options),r))},get(t=""){return this.fetch("GET",t)},delete(t=""){return this.fetch("DELETE",t)},put(t,e=""){return this.fetch("PUT",e,t)},post(t,e=""){return this.fetch("POST",e,t)},patch(t,e=""){return this.fetch("PATCH",e,t)},head(t=""){return this.fetch("HEAD",t)},opts(t=""){return this.fetch("OPTIONS",t)},body(t){return{...this,_options:{...this._options,body:t}}},json(t,e){const n=Vt(this._options.headers);return this.content(e||Yt(n)&&n||ni).body(JSON.stringify(t))}};function oe(t="",e={}){return{...ci,_url:t,_options:e}}oe.default=oe;oe.options=ri;oe.errorType=oi;oe.polyfills=ii;oe.WretchError=Wn;const ui=t=>(e,n)=>new Promise(async(r,i)=>{try{const o=await Yr(),a={...n,headers:{...n.headers,Authorization:`Bearer ${o}`}};r(t(e,a))}catch(o){console.error("Error fetching access token:",o),i(o)}}),li=t=>(e,n)=>{const r=localStorage.getItem("__anon_id"),i=btoa(`${r}:`),o={...n,headers:{...n.headers,Authorization:`Basic ${i}`}};return t(e,o)},je=oe(`https://api2.${xt}`).headers({"Content-Type":"application/json"}).middlewares([ui,Ln(),Un({delayTimer:1e3,delayRamp:(t,e)=>t*e,maxAttempts:3,until:t=>(t==null?void 0:t.ok)||!1,retryOnNetworkError:!1})]),it=oe(`https://api2.${xt}`).headers({"Content-Type":"application/json"}).middlewares([li,Ln(),Un({delayTimer:1e3,delayRamp:(t,e)=>t*e,maxAttempts:3,until:t=>(t==null?void 0:t.ok)||!1,retryOnNetworkError:!1})]);async function di(){return je.get("/entitlements").json()}async function hi(t){const e=await je.get("/entitlements").json();return e==null?void 0:e.find(n=>n.id===t)}async function fi(){return je.get("/contracts").json()}async function pi(t){const e=await je.get("/contracts").json();return e==null?void 0:e.find(n=>n.id===t)}async function mi(){return je.get("/bills").json()}async function gi(t){const e=await je.get("/bills").json();return e==null?void 0:e.find(n=>n.id===t)}async function yi(){return await it.get("/tags").json()}async function vi(t,e){return await it.url(`/tags/${t}`).put({value:e}).json()}async function wi(t,e){return await it.url(`/tags/${t}/push`).put({value:e}).json()}async function bi(t){const e=localStorage.getItem("__anon_id");if(!e)throw new Error("User id not found");return it.url("/articles/access").post({articleId:t.articleId,userId:e}).json()}async function ki(t){const e=await bi({articleId:t});return e.status!=="ok"&&rt(pe.SOFT_PAYWALL,{}),e}const Kn="@sesamy/sesamy-js",Ct="1.3.2";function Ii(){return Ct}function _i(t="sesamy"){const e={auth:{getUser:Hr,isAuthenticated:Jr,loginWithRedirect:Vr,logout:Gr},articles:{access:ki},tags:{list:yi,set:vi,push:wi},getEntitlement:hi,getEntitlements:di,getContract:pi,getContracts:fi,getBill:gi,getBills:mi,getVersion:Ii};return t!==null&&(window[t]=e),e}function Gt(t,e,n,r,i){for(e=e.split?e.split("."):e,r=0;r<e.length;r++)t=t?t[e[r]]:i;return t===i?n:t}var Fe="undefined",Bt="object",Si=function(){},Mn="any",Xn="*",me="__",Qe=typeof process<"u"?process:{};Qe.env&&Qe.env.NODE_ENV;var Y=typeof document<"u";Qe.versions!=null&&Qe.versions.node!=null;typeof Deno<"u"&&Deno.core;Y&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent!==void 0&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom"));function Fn(t,e){return e.charAt(0)[t]()+e.slice(1)}var Ei=Fn.bind(null,"toUpperCase"),Oi=Fn.bind(null,"toLowerCase");function Pi(t){return Jn(t)?Ei("null"):typeof t=="object"?Ci(t):Object.prototype.toString.call(t).slice(8,-1)}function et(t,e){e===void 0&&(e=!0);var n=Pi(t);return e?Oi(n):n}function Ke(t,e){return typeof e===t}var G=Ke.bind(null,"function"),re=Ke.bind(null,"string"),be=Ke.bind(null,"undefined"),Ti=Ke.bind(null,"boolean");Ke.bind(null,"symbol");function Jn(t){return t===null}function ji(t){return et(t)==="number"&&!isNaN(t)}function Hn(t){return et(t)==="array"}function X(t){if(!xi(t))return!1;for(var e=t;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function xi(t){return t&&(typeof t=="object"||t!==null)}function Ci(t){return G(t.constructor)?t.constructor.name:null}function $i(t){return t instanceof Error||re(t.message)&&t.constructor&&ji(t.constructor.stackTraceLimit)}function Vn(t,e){if(typeof e!="object"||Jn(e))return!1;if(e instanceof t)return!0;var n=et(new t(""));if($i(e))for(;e;){if(et(e)===n)return!0;e=Object.getPrototypeOf(e)}return!1}Vn.bind(null,TypeError);Vn.bind(null,SyntaxError);function ot(t,e){var n=t instanceof Element||t instanceof HTMLDocument;return n&&e?Ai(t,e):n}function Ai(t,e){return e===void 0&&(e=""),t&&t.nodeName===e.toUpperCase()}function at(t){var e=[].slice.call(arguments,1);return function(){return t.apply(void 0,[].slice.call(arguments).concat(e))}}at(ot,"form");at(ot,"button");at(ot,"input");at(ot,"select");function zi(t){return t?Hn(t)?t:[t]:[]}function qt(t){try{return decodeURIComponent(t.replace(/\+/g," "))}catch{return null}}function Ni(){if(Y){var t=navigator,e=t.languages;return t.userLanguage||(e&&e.length?e[0]:t.language)}}function Di(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function Li(t){return function(e){for(var n,r=Object.create(null),i=/([^&=]+)=?([^&]*)/g;n=i.exec(e);){var o=qt(n[1]),a=qt(n[2]);o.substring(o.length-2)==="[]"?(r[o=o.substring(0,o.length-2)]||(r[o]=[])).push(a):r[o]=a===""||a}for(var s in r){var m=s.split("[");m.length>1&&(Ui(r,m.map(function(p){return p.replace(/[?[\]\\ ]/g,"")}),r[s]),delete r[s])}return r}(function(e){if(e){var n=e.match(/\?(.*)/);return n&&n[1]?n[1].split("#")[0]:""}return Y&&window.location.search.substring(1)}(t))}function Ui(t,e,n){for(var r=e.length-1,i=0;i<r;++i){var o=e[i];if(o==="__proto__"||o==="constructor")break;o in t||(t[o]={}),t=t[o]}t[e[r]]=n}function st(){for(var t="",e=0,n=4294967295*Math.random()|0;e++<36;){var r="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[e-1],i=15&n;t+=r=="-"||r=="4"?r:(r=="x"?i:3&i|8).toString(16),n=e%8==0?4294967295*Math.random()|0:n>>4}return t}var Le="global",Oe=me+"global"+me,Pe=typeof self===Bt&&self.self===self&&self||typeof global===Bt&&global.global===global&&global||void 0;function ge(t){return Pe[Oe][t]}function ye(t,e){return Pe[Oe][t]=e}function xe(t){delete Pe[Oe][t]}function Ce(t,e,n){var r;try{if($t(t)){var i=window[t];r=i[e].bind(i)}}catch{}return r||n}Pe[Oe]||(Pe[Oe]={});var Je={};function $t(t){if(typeof Je[t]!==Fe)return Je[t];try{var e=window[t];e.setItem(Fe,Fe),e.removeItem(Fe)}catch{return Je[t]=!1}return Je[t]=!0}function O(){return O=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},O.apply(this,arguments)}var ne="function",ee="undefined",Ri="@@redux/"+Math.random().toString(36),Qt=function(){return typeof Symbol===ne&&Symbol.observable||"@@observable"}(),He=" != "+ne;function Yn(t,e,n){var r;if(typeof e===ne&&typeof n===ee&&(n=e,e=void 0),typeof n!==ee){if(typeof n!==ne)throw new Error("enhancer"+He);return n(Yn)(t,e)}if(typeof t!==ne)throw new Error("reducer"+He);var i=t,o=e,a=[],s=a,m=!1;function p(){s===a&&(s=a.slice())}function u(){return o}function c(d){if(typeof d!==ne)throw new Error("Listener"+He);var w=!0;return p(),s.push(d),function(){if(w){w=!1,p();var k=s.indexOf(d);s.splice(k,1)}}}function h(d){if(!X(d))throw new Error("Act != obj");if(typeof d.type===ee)throw new Error("ActType "+ee);if(m)throw new Error("Dispatch in reducer");try{m=!0,o=i(o,d)}finally{m=!1}for(var w=a=s,k=0;k<w.length;k++)(0,w[k])();return d}return h({type:"@@redux/INIT"}),(r={dispatch:h,subscribe:c,getState:u,replaceReducer:function(d){if(typeof d!==ne)throw new Error("next reducer"+He);i=d,h({type:"@@redux/INIT"})}})[Qt]=function(){var d,w=c;return(d={subscribe:function(k){if(typeof k!="object")throw new TypeError("Observer != obj");function v(){k.next&&k.next(u())}return v(),{unsubscribe:w(v)}}})[Qt]=function(){return this},d},r}function Zi(t,e){var n=e&&e.type;return"action "+(n&&n.toString()||"?")+"reducer "+t+" returns "+ee}function Te(){var t=[].slice.call(arguments);return t.length===0?function(e){return e}:t.length===1?t[0]:t.reduce(function(e,n){return function(){return e(n.apply(void 0,[].slice.call(arguments)))}})}function Wi(){var t=arguments;return function(e){return function(n,r,i){var o,a=e(n,r,i),s=a.dispatch,m={getState:a.getState,dispatch:function(p){return s(p)}};return o=[].slice.call(t).map(function(p){return p(m)}),O({},a,{dispatch:s=Te.apply(void 0,o)(a.dispatch)})}}}var ie=me+"anon_id",fe=me+"user_id",Ie=me+"user_traits",te="userId",ke="anonymousId",qe=["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"],Et=["name","EVENTS","config","loaded"],E=qe.reduce(function(t,e){return t[e]=e,t},{registerPluginType:function(t){return"registerPlugin:"+t},pluginReadyType:function(t){return"ready:"+t}}),en=/^utm_/,tn=/^an_prop_/,nn=/^an_trait_/;function Ki(t){var e=t.storage.setItem;return function(n){return function(r){return function(i){if(i.type===E.bootstrap){var o=i.params,a=i.user,s=i.persistedUser,m=i.initialUser,p=s.userId===a.userId;s.anonymousId!==a.anonymousId&&e(ie,a.anonymousId),p||e(fe,a.userId),m.traits&&e(Ie,O({},p&&s.traits?s.traits:{},m.traits));var u=Object.keys(i.params);if(u.length){var c=o.an_uid,h=o.an_event,d=u.reduce(function(w,k){if(k.match(en)||k.match(/^(d|g)clid/)){var v=k.replace(en,"");w.campaign[v==="campaign"?"name":v]=o[k]}return k.match(tn)&&(w.props[k.replace(tn,"")]=o[k]),k.match(nn)&&(w.traits[k.replace(nn,"")]=o[k]),w},{campaign:{},props:{},traits:{}});n.dispatch(O({type:E.params,raw:o},d,c?{userId:c}:{})),c&&setTimeout(function(){return t.identify(c,d.traits)},0),h&&setTimeout(function(){return t.track(h,d.props)},0),Object.keys(d.campaign).length&&n.dispatch({type:E.campaign,campaign:d.campaign})}}return r(i)}}}}function Mi(t){return function(e,n){if(e===void 0&&(e={}),n===void 0&&(n={}),n.type===E.setItemEnd){if(n.key===ie)return O({},e,{anonymousId:n.value});if(n.key===fe)return O({},e,{userId:n.value})}switch(n.type){case E.identify:return Object.assign({},e,{userId:n.userId,traits:O({},e.traits,n.traits)});case E.reset:return[fe,ie,Ie].forEach(function(r){t.removeItem(r)}),Object.assign({},e,{userId:null,anonymousId:null,traits:{}});default:return e}}}function rn(t){return{userId:t.getItem(fe),anonymousId:t.getItem(ie),traits:t.getItem(Ie)}}var Ot=function(t){return me+"TEMP"+me+t};function Xi(t){var e=t.storage,n=e.setItem,r=e.removeItem,i=e.getItem;return function(o){return function(a){return function(s){var m=s.userId,p=s.traits,u=s.options;if(s.type===E.reset&&([fe,Ie,ie].forEach(function(d){r(d)}),[te,ke,"traits"].forEach(function(d){xe(Ot(d))})),s.type===E.identify){i(ie)||n(ie,st());var c=i(fe),h=i(Ie)||{};c&&c!==m&&o.dispatch({type:E.userIdChanged,old:{userId:c,traits:h},new:{userId:m,traits:p},options:u}),m&&n(fe,m),p&&n(Ie,O({},h,p))}return a(s)}}}}var De={};function on(t,e){De[t]&&G(De[t])&&(De[t](e),delete De[t])}function Gn(t,e,n){return new Promise(function(r,i){return e()?r(t):n<1?i(O({},t,{queue:!0})):new Promise(function(o){return setTimeout(o,10)}).then(function(o){return Gn(t,e,n-10).then(r,i)})})}function Fi(t){return{abort:t}}function Bn(t,e,n){var r={},i=e(),o=t.getState(),a=o.plugins,s=o.queue,m=o.user;if(!o.context.offline&&s&&s.actions&&s.actions.length){var p=s.actions.reduce(function(c,h,d){return a[h.plugin].loaded?(c.process.push(h),c.processIndex.push(d)):(c.requeue.push(h),c.requeueIndex.push(d)),c},{processIndex:[],process:[],requeue:[],requeueIndex:[]});if(p.processIndex&&p.processIndex.length){p.processIndex.forEach(function(c){var h=s.actions[c],d=h.plugin,w=h.payload.type,k=i[d][w];if(k&&G(k)){var v,I=function(l,b){return l===void 0&&(l={}),b===void 0&&(b={}),[te,ke].reduce(function(T,P){return l.hasOwnProperty(P)&&b[P]&&b[P]!==l[P]&&(T[P]=b[P]),T},l)}(h.payload,m),_=r[I.meta.rid];if(!_&&(v=k({payload:I,config:a[d].config,instance:n,abort:Fi}))&&X(v)&&v.abort)return void(r[I.meta.rid]=!0);if(!_){var y=w+":"+d;t.dispatch(O({},I,{type:y,_:{called:y,from:"queueDrain"}}))}}});var u=s.actions.filter(function(c,h){return!~p.processIndex.indexOf(h)});s.actions=u}}}var mt=function(t){var e=t.data,n=t.action,r=t.instance,i=t.state,o=t.allPlugins,a=t.allMatches,s=t.store,m=t.EVENTS;try{var p=i.plugins,u=i.context,c=n.type,h=c.match(_e),d=e.exact.map(function(v){return v.pluginName});h&&(d=a.during.map(function(v){return v.pluginName}));var w=function(v,I){return function(_,y,l){var b=y.config,T=y.name,P=T+"."+_.type;l&&(P=l.event);var x=_.type.match(_e)?function(L,D,J,U,H){return function(Z,j){var K=U?U.name:L,M=j&&We(j)?j:J;if(U&&(!(M=j&&We(j)?j:[L]).includes(L)||M.length!==1))throw new Error("Method "+D+" can only abort "+L+" plugin. "+JSON.stringify(M)+" input valid");return O({},H,{abort:{reason:Z,plugins:M,caller:D,_:K}})}}(T,P,I,l,_):function(L,D){return function(){throw new Error(L.type+" action not cancellable. Remove abort in "+D)}}(_,P);return{payload:Ji(_),instance:v,config:b||{},abort:x}}}(r,d),k=e.exact.reduce(function(v,I){var _=I.pluginName,y=I.methodName,l=!1;return y.match(/^initialize/)||y.match(/^reset/)||(l=!p[_].loaded),u.offline&&y.match(/^(page|track|identify)/)&&(l=!0),v[""+_]=l,v},{});return Promise.resolve(e.exact.reduce(function(v,I,_){try{var y=I.pluginName;return Promise.resolve(v).then(function(l){function b(){return Promise.resolve(l)}var T=function(){if(e.namespaced&&e.namespaced[y])return Promise.resolve(e.namespaced[y].reduce(function(P,x,L){try{return Promise.resolve(P).then(function(D){return x.method&&G(x.method)?(function(Z,j){var K=hn(Z);if(K&&K.name===j){var M=hn(K.method);throw new Error([j+" plugin is calling method "+Z,"Plugins cant call self","Use "+K.method+" "+(M?"or "+M.method:"")+" in "+j+" plugin insteadof "+Z].join(`
|
|
6
|
+
`))}}(x.methodName,x.pluginName),Promise.resolve(x.method({payload:D,instance:r,abort:(J=D,U=y,H=x.pluginName,function(Z,j){return O({},J,{abort:{reason:Z,plugins:j||[U],caller:c,from:H||U}})}),config:cn(x.pluginName,p,o),plugins:p})).then(function(Z){var j=X(Z)?Z:{};return Promise.resolve(O({},D,j))})):D;var J,U,H})}catch(D){return Promise.reject(D)}},Promise.resolve(n))).then(function(P){l[y]=P});l[y]=n}();return T&&T.then?T.then(b):b()})}catch(l){return Promise.reject(l)}},Promise.resolve({}))).then(function(v){return Promise.resolve(e.exact.reduce(function(I,_,y){try{var l=e.exact.length===y+1,b=_.pluginName,T=o[b];return Promise.resolve(I).then(function(P){var x=v[b]?v[b]:{};if(h&&(x=P),yt(x,b))return gt({data:x,method:c,instance:r,pluginName:b,store:s}),Promise.resolve(P);if(yt(P,b))return l&>({data:P,method:c,instance:r,store:s}),Promise.resolve(P);if(k.hasOwnProperty(b)&&k[b]===!0)return s.dispatch({type:"queue",plugin:b,payload:x,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(P);var L=w(v[b],o[b]);return Promise.resolve(T[c]({abort:L.abort,payload:x,instance:r,config:cn(b,p,o),plugins:p})).then(function(D){var J=X(D)?D:{},U=O({},P,J),H=v[b];if(yt(H,b))gt({data:H,method:c,instance:r,pluginName:b,store:s});else{var Z=c+":"+b;(Z.match(/:/g)||[]).length<2&&!c.match(an)&&!c.match(sn)&&r.dispatch(O({},h?U:x,{type:Z,_:{called:Z,from:"submethod"}}))}return Promise.resolve(U)})})}catch(P){return Promise.reject(P)}},Promise.resolve(n))).then(function(I){if(!(c.match(_e)||c.match(/^registerPlugin/)||c.match(sn)||c.match(an)||c.match(/^params/)||c.match(/^userIdChanged/))){if(m.plugins.includes(c),I._&&I._.originalAction===c)return I;var _=O({},I,{_:{originalAction:I.type,called:I.type,from:"engineEnd"}});qn(I,e.exact.length)&&!c.match(/End$/)&&(_=O({},_,{type:I.type+"Aborted"})),s.dispatch(_)}return I})})}catch(v){return Promise.reject(v)}},_e=/Start$/,an=/^bootstrap/,sn=/^ready/;function gt(t){var e=t.pluginName,n=t.method+"Aborted"+(e?":"+e:"");t.store.dispatch(O({},t.data,{type:n,_:{called:n,from:"abort"}}))}function cn(t,e,n){var r=e[t]||n[t];return r&&r.config?r.config:{}}function un(t,e){return e.reduce(function(n,r){return r[t]?n.concat({methodName:t,pluginName:r.name,method:r[t]}):n},[])}function ln(t,e){var n=t.replace(_e,""),r=e?":"+e:"";return[""+t+r,""+n+r,n+"End"+r]}function yt(t,e){var n=t.abort;return!!n&&(n===!0||dn(n,e)||n&&dn(n.plugins,e))}function qn(t,e){var n=t.abort;if(!n)return!1;if(n===!0||re(n))return!0;var r=n.plugins;return We(n)&&n.length===e||We(r)&&r.length===e}function We(t){return Array.isArray(t)}function dn(t,e){return!(!t||!We(t))&&t.includes(e)}function hn(t){var e=t.match(/(.*):(.*)/);return!!e&&{method:e[1],name:e[2]}}function Ji(t){return Object.keys(t).reduce(function(e,n){return n==="type"||(e[n]=X(t[n])?Object.assign({},t[n]):t[n]),e},{})}function Hi(t,e,n){var r={};return function(i){return function(o){return function(a){try{var s,m=function(l){return s?l:o(c)},p=a.type,u=a.plugins,c=a;if(a.abort)return Promise.resolve(o(a));if(p===E.enablePlugin&&i.dispatch({type:E.initializeStart,plugins:u,disabled:[],fromEnable:!0,meta:a.meta}),p===E.disablePlugin&&setTimeout(function(){return on(a.meta.rid,{payload:a})},0),p===E.initializeEnd){var h=e(),d=Object.keys(h),w=d.filter(function(l){return u.includes(l)}).map(function(l){return h[l]}),k=[],v=[],I=a.disabled,_=w.map(function(l){var b=l.loaded,T=l.name,P=l.config;return Gn(l,function(){return b({config:P})},1e4).then(function(x){return r[T]||(i.dispatch({type:E.pluginReadyType(T),name:T,events:Object.keys(l).filter(function(L){return!Et.includes(L)})}),r[T]=!0),k=k.concat(T),l}).catch(function(x){if(x instanceof Error)throw new Error(x);return v=v.concat(x.name),x})});Promise.all(_).then(function(l){var b={plugins:k,failed:v,disabled:I};setTimeout(function(){d.length===_.length+I.length&&i.dispatch(O({},{type:E.ready},b))},0)})}var y=function(){if(p!==E.bootstrap)return/^ready:([^:]*)$/.test(p)&&setTimeout(function(){return Bn(i,e,t)},0),Promise.resolve(function(l,b,T,P,x){try{var L=G(b)?b():b,D=l.type,J=D.replace(_e,"");if(l._&&l._.called)return Promise.resolve(l);var U=T.getState(),H=(K=L,(M=U.plugins)===void 0&&(M={}),($e=l.options)===void 0&&($e={}),Object.keys(K).filter(function(f){var g=$e.plugins||{};return Ti(g[f])?g[f]:g.all!==!1&&(!M[f]||M[f].enabled!==!1)}).map(function(f){return K[f]}));D===E.initializeStart&&l.fromEnable&&(H=Object.keys(U.plugins).filter(function(f){var g=U.plugins[f];return l.plugins.includes(f)&&!g.initialized}).map(function(f){return L[f]}));var Z=H.map(function(f){return f.name}),j=function(f,g,S){var C=ln(f).map(function($){return un($,g)});return g.reduce(function($,A){var W=A.name,N=ln(f,W).map(function(Ae){return un(Ae,g)}),R=N[0],z=N[1],q=N[2];return R.length&&($.beforeNS[W]=R),z.length&&($.duringNS[W]=z),q.length&&($.afterNS[W]=q),$},{before:C[0],beforeNS:{},during:C[1],duringNS:{},after:C[2],afterNS:{}})}(D,H);return Promise.resolve(mt({action:l,data:{exact:j.before,namespaced:j.beforeNS},state:U,allPlugins:L,allMatches:j,instance:T,store:P,EVENTS:x})).then(function(f){function g(){var $=function(){if(D.match(_e))return Promise.resolve(mt({action:O({},S,{type:J+"End"}),data:{exact:j.after,namespaced:j.afterNS},state:U,allPlugins:L,allMatches:j,instance:T,store:P,EVENTS:x})).then(function(A){A.meta&&A.meta.hasCallback&&on(A.meta.rid,{payload:A})})}();return $&&$.then?$.then(function(){return f}):f}if(qn(f,Z.length))return f;var S,C=function(){if(D!==J)return Promise.resolve(mt({action:O({},f,{type:J}),data:{exact:j.during,namespaced:j.duringNS},state:U,allPlugins:L,allMatches:j,instance:T,store:P,EVENTS:x})).then(function($){S=$});S=f}();return C&&C.then?C.then(g):g()})}catch(f){return Promise.reject(f)}var K,M,$e}(a,e,t,i,n)).then(function(l){return s=1,o(l)})}();return Promise.resolve(y&&y.then?y.then(m):m(y))}catch(l){return Promise.reject(l)}}}}}function Vi(t){return function(e){return function(n){return function(r){var i=r.type,o=r.key,a=r.value,s=r.options;if(i===E.setItem||i===E.removeItem){if(r.abort)return n(r);i===E.setItem?t.setItem(o,a,s):t.removeItem(o,s)}return n(r)}}}}var Yi=function(){var t=this;this.before=[],this.after=[],this.addMiddleware=function(e,n){t[n]=t[n].concat(e)},this.removeMiddleware=function(e,n){var r=t[n].findIndex(function(i){return i===e});r!==-1&&(t[n]=[].concat(t[n].slice(0,r),t[n].slice(r+1)))},this.dynamicMiddlewares=function(e){return function(n){return function(r){return function(i){var o={getState:n.getState,dispatch:function(s){return n.dispatch(s)}},a=t[e].map(function(s){return s(o)});return Te.apply(void 0,a)(r)(i)}}}}};function Gi(t){return function(e,n){e===void 0&&(e={});var r={};if(n.type==="initialize:aborted")return e;if(/^registerPlugin:([^:]*)$/.test(n.type)){var i=fn(n.type,"registerPlugin"),o=t()[i];if(!o||!i)return e;var a=n.enabled,s=o.config;return r[i]={enabled:a,initialized:!!a&&!o.initialize,loaded:!!a&&!!o.loaded({config:s}),config:s},O({},e,r)}if(/^initialize:([^:]*)$/.test(n.type)){var m=fn(n.type,E.initialize),p=t()[m];return p&&m?(r[m]=O({},e[m],{initialized:!0,loaded:!!p.loaded({config:p.config})}),O({},e,r)):e}if(/^ready:([^:]*)$/.test(n.type))return r[n.name]=O({},e[n.name],{loaded:!0}),O({},e,r);switch(n.type){case E.disablePlugin:return O({},e,pn(n.plugins,!1,e));case E.enablePlugin:return O({},e,pn(n.plugins,!0,e));default:return e}}}function fn(t,e){return t.substring(e.length+1,t.length)}function pn(t,e,n){return t.reduce(function(r,i){return r[i]=O({},n[i],{enabled:e}),r},n)}function Qn(t){try{return JSON.parse(JSON.stringify(t))}catch{}return t}var Bi={last:{},history:[]};function qi(t,e){t===void 0&&(t=Bi);var n=e.options,r=e.meta;if(e.type===E.track){var i=Qn(O({event:e.event,properties:e.properties},Object.keys(n).length&&{options:n},{meta:r}));return O({},t,{last:i,history:t.history.concat(i)})}return t}var Qi={actions:[]};function eo(t,e){t===void 0&&(t=Qi);var n=e.payload;switch(e.type){case"queue":var r;return r=n&&n.type&&n.type===E.identify?[e].concat(t.actions):t.actions.concat(e),O({},t,{actions:r});case"dequeue":return[];default:return t}}var er=/#.*$/;function to(t){var e=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(t);return"/"+(e&&e[3]?e[3].split("?")[0].replace(er,""):"")}var tr,nr,rr,ir,no=function(t){if(t===void 0&&(t={}),!Y)return t;var e=document,n=e.title,r=e.referrer,i=window,o=i.location,a=i.innerWidth,s=i.innerHeight,m=o.hash,p=o.search,u=function(h){var d=function(){if(Y){for(var w,k=document.getElementsByTagName("link"),v=0;w=k[v];v++)if(w.getAttribute("rel")==="canonical")return w.getAttribute("href")}}();return d?d.match(/\?/)?d:d+h:window.location.href.replace(er,"")}(p),c={title:n,url:u,path:to(u),hash:m,search:p,width:a,height:s};return r&&r!==""&&(c.referrer=r),O({},c,t)},ro={last:{},history:[]};function io(t,e){t===void 0&&(t=ro);var n=e.options;if(e.type===E.page){var r=Qn(O({properties:e.properties,meta:e.meta},Object.keys(n).length&&{options:n}));return O({},t,{last:r,history:t.history.concat(r)})}return t}tr=function(){if(!Y)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"}(),nr=Y?document.referrer:null,rr=Ni(),ir=Di();var mn={initialized:!1,sessionId:st(),app:null,version:null,debug:!1,offline:!!Y&&!navigator.onLine,os:{name:tr},userAgent:Y?navigator.userAgent:"node",library:{name:"analytics",version:"0.12.7"},timezone:ir,locale:rr,campaign:{},referrer:nr};function oo(t,e){t===void 0&&(t=mn);var n=t.initialized,r=e.campaign;switch(e.type){case E.campaign:return O({},t,{campaign:r});case E.offline:return O({},t,{offline:!0});case E.online:return O({},t,{offline:!1});default:return n?t:O({},mn,t,{initialized:!0})}}var ao=["plugins","reducers","storage"];function so(t,e,n){if(Y){var r=window[(n?"add":"remove")+"EventListener"];t.split(" ").forEach(function(i){r(i,e)})}}function co(t){var e=so.bind(null,"online offline",function(n){return Promise.resolve(!navigator.onLine).then(t)});return e(!0),function(n){return e(!1)}}function or(){return ye("analytics",[]),function(t){return function(e,n,r){var i=t(e,n,r),o=i.dispatch;return Object.assign(i,{dispatch:function(a){return Pe[Oe].analytics.push(a.action||a),o(a)}})}}}function gn(t){return function(){return Te(Te.apply(null,arguments),or())}}function vt(t){return t?Hn(t)?t:[t]:[]}function yn(t,e,n){t===void 0&&(t={});var r,i,o=st();return e&&(De[o]=(r=e,i=function(a){for(var s,m=a||Array.prototype.slice.call(arguments),p=0;p<m.length;p++)if(G(m[p])){s=m[p];break}return s}(n),function(a){i&&i(a),r(a)})),O({},t,{rid:o,ts:new Date().getTime()},e?{hasCallback:!0}:{})}function uo(t){t===void 0&&(t={});var e=t.reducers||{},n=t.initialUser||{},r=(t.plugins||[]).reduce(function(f,g){if(G(g))return f.middlewares=f.middlewares.concat(g),f;if(g.NAMESPACE&&(g.name=g.NAMESPACE),!g.name)throw new Error("https://lytics.dev/errors/1");g.config||(g.config={});var S=g.EVENTS?Object.keys(g.EVENTS).map(function(A){return g.EVENTS[A]}):[];f.pluginEnabled[g.name]=!(g.enabled===!1||g.config.enabled===!1),delete g.enabled,g.methods&&(f.methods[g.name]=Object.keys(g.methods).reduce(function(A,W){var N;return A[W]=(N=g.methods[W],function(){for(var R=Array.prototype.slice.call(arguments),z=new Array(N.length),q=0;q<R.length;q++)z[q]=R[q];return z[z.length]=b,N.apply({instance:b},z)}),A},{}),delete g.methods);var C=Object.keys(g).concat(S),$=new Set(f.events.concat(C));if(f.events=Array.from($),f.pluginsArray=f.pluginsArray.concat(g),f.plugins[g.name])throw new Error(g.name+"AlreadyLoaded");return f.plugins[g.name]=g,f.plugins[g.name].loaded||(f.plugins[g.name].loaded=function(){return!0}),f},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),i=t.storage?t.storage:{getItem:ge,setItem:ye,removeItem:xe},o=function(f){return function(g,S,C){return S.getState("user")[g]||(C&&X(C)&&C[g]?C[g]:rn(f)[g]||ge(Ot(g))||null)}}(i),a=r.plugins,s=r.events.filter(function(f){return!Et.includes(f)}).sort(),m=new Set(s.concat(qe).filter(function(f){return!Et.includes(f)})),p=Array.from(m).sort(),u=function(){return a},c=new Yi,h=c.addMiddleware,d=c.removeMiddleware,w=c.dynamicMiddlewares,k=function(){throw new Error("Abort disabled inListener")},v=Li(),I=rn(i),_=O({},I,n,v.an_uid?{userId:v.an_uid}:{},v.an_aid?{anonymousId:v.an_aid}:{});_.anonymousId||(_.anonymousId=st());var y=O({enable:function(f,g){return new Promise(function(S){j.dispatch({type:E.enablePlugin,plugins:vt(f),_:{originalAction:E.enablePlugin}},S,[g])})},disable:function(f,g){return new Promise(function(S){j.dispatch({type:E.disablePlugin,plugins:vt(f),_:{originalAction:E.disablePlugin}},S,[g])})}},r.methods),l=!1,b={identify:function(f,g,S,C){try{var $=re(f)?f:null,A=X(f)?f:g,W=S||{},N=b.user();ye(Ot(te),$);var R=$||A.userId||o(te,b,A);return Promise.resolve(new Promise(function(z){j.dispatch(O({type:E.identifyStart,userId:R,traits:A||{},options:W,anonymousId:N.anonymousId},N.id&&N.id!==$&&{previousId:N.id}),z,[g,S,C])}))}catch(z){return Promise.reject(z)}},track:function(f,g,S,C){try{var $=X(f)?f.event:f;if(!$||!re($))throw new Error("EventMissing");var A=X(f)?f:g||{},W=X(S)?S:{};return Promise.resolve(new Promise(function(N){j.dispatch({type:E.trackStart,event:$,properties:A,options:W,userId:o(te,b,g),anonymousId:o(ke,b,g)},N,[g,S,C])}))}catch(N){return Promise.reject(N)}},page:function(f,g,S){try{var C=X(f)?f:{},$=X(g)?g:{};return Promise.resolve(new Promise(function(A){j.dispatch({type:E.pageStart,properties:no(C),options:$,userId:o(te,b,C),anonymousId:o(ke,b,C)},A,[f,g,S])}))}catch(A){return Promise.reject(A)}},user:function(f){if(f===te||f==="id")return o(te,b);if(f===ke||f==="anonId")return o(ke,b);var g=b.getState("user");return f?Gt(g,f):g},reset:function(f){return new Promise(function(g){j.dispatch({type:E.resetStart},g,f)})},ready:function(f){return l&&f({plugins:y,instance:b}),b.on(E.ready,function(g){f(g),l=!0})},on:function(f,g){if(!f||!G(g))return!1;if(f===E.bootstrap)throw new Error(".on disabled for "+f);var S=/Start$|Start:/;if(f==="*"){var C=function(N){return function(R){return function(z){return z.type.match(S)&&g({payload:z,instance:b,plugins:a}),R(z)}}},$=function(N){return function(R){return function(z){return z.type.match(S)||g({payload:z,instance:b,plugins:a}),R(z)}}};return h(C,Ve),h($,Ye),function(){d(C,Ve),d($,Ye)}}var A=f.match(S)?Ve:Ye,W=function(N){return function(R){return function(z){return z.type===f&&g({payload:z,instance:b,plugins:a,abort:k}),R(z)}}};return h(W,A),function(){return d(W,A)}},once:function(f,g){if(!f||!G(g))return!1;if(f===E.bootstrap)throw new Error(".once disabled for "+f);var S=b.on(f,function(C){g({payload:C.payload,instance:b,plugins:a,abort:k}),S()});return S},getState:function(f){var g=j.getState();return f?Gt(g,f):Object.assign({},g)},dispatch:function(f){var g=re(f)?{type:f}:f;if(qe.includes(g.type))throw new Error("reserved action "+g.type);var S=O({},g,{_:O({originalAction:g.type},f._||{})});j.dispatch(S)},enablePlugin:y.enable,disablePlugin:y.disable,plugins:y,storage:{getItem:i.getItem,setItem:function(f,g,S){j.dispatch({type:E.setItemStart,key:f,value:g,options:S})},removeItem:function(f,g){j.dispatch({type:E.removeItemStart,key:f,options:g})}},setAnonymousId:function(f,g){b.storage.setItem(ie,f,g)},events:{core:qe,plugins:s}},T=r.middlewares.concat([function(f){return function(g){return function(S){return S.meta||(S.meta=yn()),g(S)}}},w(Ve),Hi(b,u,{all:p,plugins:s}),Vi(i),Ki(b),Xi(b),w(Ye)]),P={context:oo,user:Mi(i),page:io,track:qi,plugins:Gi(u),queue:eo},x=Te,L=Te;if(Y&&t.debug){var D=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;D&&(x=D({trace:!0,traceLimit:25})),L=function(){return arguments.length===0?or():X(typeof arguments[0])?gn():gn().apply(null,arguments)}}var J,U=function(f){return Object.keys(f).reduce(function(g,S){return ao.includes(S)||(g[S]=f[S]),g},{})}(t),H=r.pluginsArray.reduce(function(f,g){var S=g.name,C=g.config,$=g.loaded,A=r.pluginEnabled[S];return f[S]={enabled:A,initialized:!!A&&!g.initialize,loaded:!!$({config:C}),config:C},f},{}),Z={context:U,user:_,plugins:H},j=Yn(function(f){for(var g=Object.keys(f),S={},C=0;C<g.length;C++){var $=g[C];typeof f[$]===ne&&(S[$]=f[$])}var A,W=Object.keys(S);try{(function(N){Object.keys(N).forEach(function(R){var z=N[R];if(typeof z(void 0,{type:"@@redux/INIT"})===ee||typeof z(void 0,{type:Ri})===ee)throw new Error("reducer "+R+" "+ee)})})(S)}catch(N){A=N}return function(N,R){if(N===void 0&&(N={}),A)throw A;for(var z=!1,q={},Ae=0;Ae<W.length;Ae++){var Me=W[Ae],Rt=N[Me],lt=(0,S[Me])(Rt,R);if(typeof lt===ee){var gr=Zi(Me,R);throw new Error(gr)}q[Me]=lt,z=z||lt!==Rt}return z?q:N}}(O({},P,e)),Z,L(x(Wi.apply(void 0,T))));j.dispatch=(J=j.dispatch,function(f,g,S){var C=O({},f,{meta:yn(f.meta,g,vt(S))});return J.apply(null,[C])});var K=Object.keys(a);j.dispatch({type:E.bootstrap,plugins:K,config:U,params:v,user:_,initialUser:n,persistedUser:I});var M=K.filter(function(f){return r.pluginEnabled[f]}),$e=K.filter(function(f){return!r.pluginEnabled[f]});return j.dispatch({type:E.registerPlugins,plugins:K,enabled:r.pluginEnabled}),r.pluginsArray.map(function(f,g){var S=f.bootstrap,C=f.config,$=f.name;S&&G(S)&&S({instance:b,config:C,payload:f}),j.dispatch({type:E.registerPluginType($),name:$,enabled:r.pluginEnabled[$],plugin:f}),r.pluginsArray.length===g+1&&j.dispatch({type:E.initializeStart,plugins:M,disabled:$e})}),co(function(f){j.dispatch({type:f?E.offline:E.online})}),function(f,g,S){setInterval(function(){return Bn(f,g,S)},3e3)}(j,u,b),b}var Ve="before",Ye="after",Ue="cookie",ue=cr(),ar=ct,lo=ct;function sr(t){return ue?ct(t,"",-1):xe(t)}function cr(){if(ue!==void 0)return ue;var t="cookiecookie";try{ct(t,t),ue=document.cookie.indexOf(t)!==-1,sr(t)}catch{ue=!1}return ue}function ct(t,e,n,r,i,o){if(typeof window<"u"){var a=arguments.length>1;return ue===!1&&(a?ye(t,e):ge(t)),a?document.cookie=t+"="+encodeURIComponent(e)+(n?"; expires="+new Date(+new Date+1e3*n).toUTCString()+(r?"; path="+r:"")+(i?"; domain="+i:"")+(o?"; secure":""):""):decodeURIComponent((("; "+document.cookie).split("; "+t+"=")[1]||"").split(";")[0])}}var Re="localStorage",ho=$t.bind(null,"localStorage");Ce("localStorage","getItem",ge);Ce("localStorage","setItem",ye);Ce("localStorage","removeItem",xe);var Ze="sessionStorage",fo=$t.bind(null,"sessionStorage");Ce("sessionStorage","getItem",ge);Ce("sessionStorage","setItem",ye);Ce("sessionStorage","removeItem",xe);function Se(t){var e=t;try{if((e=JSON.parse(t))==="true")return!0;if(e==="false")return!1;if(X(e))return e;parseFloat(e)===e&&(e=parseFloat(e))}catch{}if(e!==null&&e!=="")return e}var po=ho(),mo=fo(),go=cr();function ur(t,e){if(t){var n=At(e),r=!Lt(n),i=zt(n)?Se(localStorage.getItem(t)):void 0;if(r&&!be(i))return i;var o=Nt(n)?Se(ar(t)):void 0;if(r&&o)return o;var a=Dt(n)?Se(sessionStorage.getItem(t)):void 0;if(r&&a)return a;var s=ge(t);return r?s:{localStorage:i,sessionStorage:a,cookie:o,global:s}}}function yo(t,e,n){if(t&&!be(e)){var r={},i=At(n),o=JSON.stringify(e),a=!Lt(i);return zt(i)&&(r[Re]=Ge(Re,e,Se(localStorage.getItem(t))),localStorage.setItem(t,o),a)?r[Re]:Nt(i)&&(r[Ue]=Ge(Ue,e,Se(ar(t))),lo(t,o),a)?r[Ue]:Dt(i)&&(r[Ze]=Ge(Ze,e,Se(sessionStorage.getItem(t))),sessionStorage.setItem(t,o),a)?r[Ze]:(r[Le]=Ge(Le,e,ge(t)),ye(t,e),a?r[Le]:r)}}function vo(t,e){if(t){var n=At(e),r=ur(t,Xn),i={};return!be(r.localStorage)&&zt(n)&&(localStorage.removeItem(t),i[Re]=r.localStorage),!be(r.cookie)&&Nt(n)&&(sr(t),i[Ue]=r.cookie),!be(r.sessionStorage)&&Dt(n)&&(sessionStorage.removeItem(t),i[Ze]=r.sessionStorage),!be(r.global)&&ut(n,Le)&&(xe(t),i[Le]=r.global),i}}function At(t){return t?re(t)?t:t.storage:Mn}function zt(t){return po&&ut(t,Re)}function Nt(t){return go&&ut(t,Ue)}function Dt(t){return mo&&ut(t,Ze)}function Lt(t){return t===Xn||t==="all"}function ut(t,e){return t===Mn||t===e||Lt(t)}function Ge(t,e,n){return{location:t,current:e,previous:n}}var wo={setItem:yo,getItem:ur,removeItem:vo};function bo(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function vn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function wn(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?vn(Object(n),!0).forEach(function(r){bo(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):vn(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function ko(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e={storage:wo};return uo(wn(wn({},e),t))}function Io(t,e){e=e||{};var n,r,i=[],o=e.max||1/0;function a(){clearInterval(n),t(i.splice(0,o)),s()}function s(){n=setInterval(a,e.interval||1e4)}return s(),{flush:a,push:function(m){return r=i.push(m),r>=o&&a(),r},size:function(){return i.length},end:function(m){m&&a(),clearInterval(n)}}}function _o(t){if(!(typeof window>"u")){var e=window,n=e.addEventListener,r=e.history,i=e.location,o=i.pathname;n("popstate",function(){return t(i.pathname)}),["push","replace"].map(function(a){var s="".concat(a,"State"),m=r[s];r[s]=function(){var p=arguments,u=Eo(arguments[2]);return o!==u&&(o=u,setTimeout(function(){return t(p[2])},0)),m.apply(r,arguments)}})}}function So(t,e){var n=t.indexOf(e);return n>-1?t.slice(0,n):t}function Eo(t){return["#","?"].forEach(function(e){return t=So(t,e)}),t}function Oo(){_o(()=>{se.page()})}var bn="EventListener";function Po(t){return function(e,n,r,i){var o=r||Si,a=i||!1;if(!Y)return o;var s=tt(n),m=tt(e,!0);if(!m.length)throw new Error("noElements");if(!s.length)throw new Error("noEvent");var p=[];return function u(c){c&&(p=[]);for(var h=c?"add"+bn:"remove"+bn,d=0;d<m.length;d++){var w=m[d];p[d]=c?a&&a.once?To(o):o:p[d]||o;for(var k=0;k<s.length;k++)w[h]?w["on"+s[k]]=c?p[d]:null:w[h](s[k],p[d],a)}return u.bind(null,!c)}(t)}}function tt(t,e){if(re(t))return e?tt(document.querySelectorAll(t)):(n=t).split(n.indexOf(",")>-1?",":" ").map(function(a){return a.trim()});var n;if(NodeList.prototype.isPrototypeOf(t)){for(var r=[],i=t.length>>>0;i--;)r[i]=t[i];return r}var o=zi(t);return e?o.map(function(a){return re(a)?tt(a,!0):a}).flat():o}function To(t,e){var n;return function(){return t&&(n=t.apply(e||this,arguments),t=null),n}}var wt=Po("Event");function lr(t,e){return Y&&G(window[t])?(n=window[t],r=e,(i=window)===void 0&&(i=null),G(n)?function(){n.apply(i,arguments),r.apply(i,arguments)}:r):window[t]=e;var n,r,i}lr.bind(null,"onerror");lr.bind(null,"onload");var dr=typeof window>"u",kn="hidden";function jo(t){if(dr)return!1;var e=xo(),n="".concat(e.replace(/[H|h]idden/,""),"visibilitychange"),r=function(){return t(!!document[e])},i=function(){return document.addEventListener(n,r)};return i(),function(){return document.removeEventListener(n,r),i}}function xo(){var t=["webkit","moz","ms","o"];return dr||kn in document?kn:t.reduce(function(e,n){var r=n+"Hidden";return!e&&r in document?r:e},null)}var Co=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function $o(t,e){e===void 0&&(e={});var n=function(a,s){var m=this,p=!1;return function(u){p||(a.call(m,u),p=!0,setTimeout(function(){return p=!1},s))}}(t,e.throttle||1e4),r=[];function i(){var a=jo(function(s){s||n({type:"tabVisible"})});return r=[a].concat(Co.map(function(s){return wt(document,s,n)})).concat(wt(window,"load",n)).concat(wt(window,"scroll",n,{capture:!0,passive:!0})),o}function o(){r.map(function(a){return a()})}return i(),function(){return o(),i}}function Ao(t){var e,n,r=t.onIdle,i=t.onWakeUp,o=t.onHeartbeat,a=t.timeout,s=a===void 0?1e4:a,m=t.throttle,p=m===void 0?2e3:m,u=!1,c=!1,h=new Date,d=function(){return clearTimeout(e)};function w(v){d(),o&&!u&&o(Ne(h),v),i&&u&&(u=!1,i(Ne(n),v),h=new Date),e=setTimeout(function(){u=!0,r&&(n=new Date,r(Ne(h),v))},s)}var k=$o(w,{throttle:p});return{disable:function(){c=!0,u=!1,d();var v=k();return function(){return c=!1,h=new Date,w({type:"load"}),v()}},getStatus:function(){return{isIdle:u,isDisabled:c,active:u?0:Ne(h,c),idle:u?Ne(n,c):0}}}}function Ne(t,e){return e?0:Math.round((new Date-t)/1e3)}const In=5e3;class zo{constructor(e){B(this,"element");B(this,"isInViewport",!1);B(this,"isAwake",!1);B(this,"isFlushing");B(this,"observer");B(this,"lastEventAt",Date.now());B(this,"registeredView",!1);B(this,"viewCallback");B(this,"activeDurationCallback");B(this,"idleDurationCallback");this.element=e.element,this.viewCallback=e.viewCallback,this.activeDurationCallback=e.activeDurationCallback,this.idleDurationCallback=e.idleDurationCallback,this.observer=new IntersectionObserver(n=>{n.forEach(r=>{this.handleInViewPort(r.isIntersecting)})},{threshold:0}),this.observer.observe(this.element),Ao({onIdle:n=>this.handleAwake(!1,n),onWakeUp:n=>this.handleAwake(!0,n),timeout:In})}flush(){this.isFlushing=!0,this.handleAwake(!this.isAwake,Math.round((Date.now()-this.lastEventAt)/1e3))}handleInViewPort(e){e?(this.isAwake=!0,this.trackInViewport()):this.handleAwake(!1,Math.round((Date.now()-this.lastEventAt)/1e3)),this.isInViewport=e}handleAwake(e,n){this.isAwake=e,this.lastEventAt=e?Date.now()-n*In:Date.now(),this.isInViewport&&this.trackAwake(e,n)}trackAwake(e,n){!e&&this.activeDurationCallback&&this.activeDurationCallback(n,this.isFlushing),e&&this.idleDurationCallback&&this.idleDurationCallback(n,this.isFlushing)}trackInViewport(){this.registeredView||(this.registeredView=!0,this.viewCallback&&this.viewCallback())}}const _n="sesamy_session_id";function No(){let t=sessionStorage.getItem(_n);return t||(t=Math.random().toString(36).slice(2,9),sessionStorage.setItem(_n,t)),t}let hr=!1,Pt,Sn,nt;function Do({clientId:t,enabled:e=!0,endpoint:n=Xr}){if(Pt=t,Sn=e,nt=n,!Sn)return;Oo();const r=new zo({element:document.body,viewCallback:()=>{se.page()},activeDurationCallback:(i,o)=>{se.track("activeDuration",{duration:i,flushing:o})},idleDurationCallback:(i,o)=>{se.track("idleDuration",{duration:i,flushing:o})}});Uo(document.body,()=>{r.flush()}),window.addEventListener(pe.AUTHENTICATED,async i=>{const o=i;await se.identify(o.detail.sub)}),window.addEventListener(pe.LOGOUT,async()=>{await se.track("logout",{}),Ut.flush(),await se.reset()})}function fr(t){return JSON.stringify(t.map(e=>({...e,clientId:Pt,requestId:Math.random().toString(36).slice(2,9),sessionId:No(),timestamp:new Date().toISOString(),version:Ct,event:e.event,context:{page:{url:window.location.hostname,path:window.location.pathname,title:document.title,search:window.location.search,referrer:document.referrer},locale:navigator.language,library:Kn,userAgent:navigator.userAgent,clientId:Pt}})))}const Ut=Io(async t=>{if(t.length>0){const e=fr(t);hr?navigator.sendBeacon(nt,e):(await fetch(nt,{method:"POST",body:e,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function bt(t){var e;if(t.anonymousId)if((e=t.properties)!=null&&e.flushing){const n={...t};delete n.properties.flushing,navigator.sendBeacon(nt,fr([n]))}else Ut.push(t)}const se=ko({app:Kn,version:Ct,plugins:[{name:"custom-analytics-plugin",page:({payload:t})=>{const{properties:e,anonymousId:n,userId:r,event:i}=t;bt({anonymousId:n,userId:r,properties:e,event:i,type:"page"})},track:({payload:t})=>{const{properties:e,anonymousId:n,userId:r,event:i}=t;bt({anonymousId:n,userId:r,properties:e,event:i,type:"track"})},identify:({payload:t})=>{const{properties:e,anonymousId:n,userId:r}=t;bt({anonymousId:n,userId:r,properties:e,type:"identify"})}}]});function Lo(){return hr=!0,Ut.flush()}const pr=new Map;function Uo(t,e){pr.set(t,e)}window.addEventListener("beforeunload",()=>{pr.forEach((t,e)=>{t.bind(e)()}),Lo()});async function mr(t){Do({clientId:t.clientId,...t.analytics}),await Fr(t);const e=_i(t.namespace);return rt(pe.READY,{}),e}if(typeof document<"u"){const t=document.getElementById("sesamy-js");if(t!=null&&t.textContent)try{const e=JSON.parse(t.textContent);mr(e)}catch(e){console.error("Failed to parse config",e)}}exports.init=mr;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
var sesamyJs=function(te){"use strict";var Uo=Object.defineProperty;var Ro=(te,B,K)=>B in te?Uo(te,B,{enumerable:!0,configurable:!0,writable:!0,value:K}):te[B]=K;var Q=(te,B,K)=>(Ro(te,typeof B!="symbol"?B+"":B,K),K);function B(t,e){const n=new CustomEvent(t,{detail:e,bubbles:!0,composed:!0});dispatchEvent(n)}function K(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function"){var i=0;for(r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]])}return n}typeof SuppressedError=="function"&&SuppressedError;var ce=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function dt(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function ht(t,e){return t(e={exports:{}},e.exports),e.exports}var ue=ht(function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function r(){var i=this;this.locked=new Map,this.addToLocked=function(o,a){var s=i.locked.get(o);s===void 0?a===void 0?i.locked.set(o,[]):i.locked.set(o,[a]):a!==void 0&&(s.unshift(a),i.locked.set(o,s))},this.isLocked=function(o){return i.locked.has(o)},this.lock=function(o){return new Promise(function(a,s){i.isLocked(o)?i.addToLocked(o,a):(i.addToLocked(o),a())})},this.unlock=function(o){var a=i.locked.get(o);if(a!==void 0&&a.length!==0){var s=a.pop();i.locked.set(o,a),s!==void 0&&setTimeout(s,0)}else i.locked.delete(o)}}return r.getInstance=function(){return r.instance===void 0&&(r.instance=new r),r.instance},r}();e.default=function(){return n.getInstance()}});dt(ue);var yr=dt(ht(function(t,e){var n=ce&&ce.__awaiter||function(u,c,h,d){return new(h||(h=Promise))(function(w,k){function v(y){try{_(d.next(y))}catch(l){k(l)}}function I(y){try{_(d.throw(y))}catch(l){k(l)}}function _(y){y.done?w(y.value):new h(function(l){l(y.value)}).then(v,I)}_((d=d.apply(u,c||[])).next())})},r=ce&&ce.__generator||function(u,c){var h,d,w,k,v={label:0,sent:function(){if(1&w[0])throw w[1];return w[1]},trys:[],ops:[]};return k={next:I(0),throw:I(1),return:I(2)},typeof Symbol=="function"&&(k[Symbol.iterator]=function(){return this}),k;function I(_){return function(y){return function(l){if(h)throw new TypeError("Generator is already executing.");for(;v;)try{if(h=1,d&&(w=2&l[0]?d.return:l[0]?d.throw||((w=d.return)&&w.call(d),0):d.next)&&!(w=w.call(d,l[1])).done)return w;switch(d=0,w&&(l=[2&l[0],w.value]),l[0]){case 0:case 1:w=l;break;case 4:return v.label++,{value:l[1],done:!1};case 5:v.label++,d=l[1],l=[0];continue;case 7:l=v.ops.pop(),v.trys.pop();continue;default:if(w=v.trys,!((w=w.length>0&&w[w.length-1])||l[0]!==6&&l[0]!==2)){v=0;continue}if(l[0]===3&&(!w||l[1]>w[0]&&l[1]<w[3])){v.label=l[1];break}if(l[0]===6&&v.label<w[1]){v.label=w[1],w=l;break}if(w&&v.label<w[2]){v.label=w[2],v.ops.push(l);break}w[2]&&v.ops.pop(),v.trys.pop();continue}l=c.call(u,v)}catch(b){l=[6,b],d=0}finally{h=w=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([_,y])}}},i=ce;Object.defineProperty(e,"__esModule",{value:!0});var o="browser-tabs-lock-key",a={key:function(u){return n(i,void 0,void 0,function(){return r(this,function(c){throw new Error("Unsupported")})})},getItem:function(u){return n(i,void 0,void 0,function(){return r(this,function(c){throw new Error("Unsupported")})})},clear:function(){return n(i,void 0,void 0,function(){return r(this,function(u){return[2,window.localStorage.clear()]})})},removeItem:function(u){return n(i,void 0,void 0,function(){return r(this,function(c){throw new Error("Unsupported")})})},setItem:function(u,c){return n(i,void 0,void 0,function(){return r(this,function(h){throw new Error("Unsupported")})})},keySync:function(u){return window.localStorage.key(u)},getItemSync:function(u){return window.localStorage.getItem(u)},clearSync:function(){return window.localStorage.clear()},removeItemSync:function(u){return window.localStorage.removeItem(u)},setItemSync:function(u,c){return window.localStorage.setItem(u,c)}};function s(u){return new Promise(function(c){return setTimeout(c,u)})}function m(u){for(var c="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz",h="",d=0;d<u;d++)h+=c[Math.floor(Math.random()*c.length)];return h}var p=function(){function u(c){this.acquiredIatSet=new Set,this.storageHandler=void 0,this.id=Date.now().toString()+m(15),this.acquireLock=this.acquireLock.bind(this),this.releaseLock=this.releaseLock.bind(this),this.releaseLock__private__=this.releaseLock__private__.bind(this),this.waitForSomethingToChange=this.waitForSomethingToChange.bind(this),this.refreshLockWhileAcquired=this.refreshLockWhileAcquired.bind(this),this.storageHandler=c,u.waiters===void 0&&(u.waiters=[])}return u.prototype.acquireLock=function(c,h){return h===void 0&&(h=5e3),n(this,void 0,void 0,function(){var d,w,k,v,I,_,y;return r(this,function(l){switch(l.label){case 0:d=Date.now()+m(4),w=Date.now()+h,k=o+"-"+c,v=this.storageHandler===void 0?a:this.storageHandler,l.label=1;case 1:return Date.now()<w?[4,s(30)]:[3,8];case 2:return l.sent(),v.getItemSync(k)!==null?[3,5]:(I=this.id+"-"+c+"-"+d,[4,s(Math.floor(25*Math.random()))]);case 3:return l.sent(),v.setItemSync(k,JSON.stringify({id:this.id,iat:d,timeoutKey:I,timeAcquired:Date.now(),timeRefreshed:Date.now()})),[4,s(30)];case 4:return l.sent(),(_=v.getItemSync(k))!==null&&(y=JSON.parse(_)).id===this.id&&y.iat===d?(this.acquiredIatSet.add(d),this.refreshLockWhileAcquired(k,d),[2,!0]):[3,7];case 5:return u.lockCorrector(this.storageHandler===void 0?a:this.storageHandler),[4,this.waitForSomethingToChange(w)];case 6:l.sent(),l.label=7;case 7:return d=Date.now()+m(4),[3,1];case 8:return[2,!1]}})})},u.prototype.refreshLockWhileAcquired=function(c,h){return n(this,void 0,void 0,function(){var d=this;return r(this,function(w){return setTimeout(function(){return n(d,void 0,void 0,function(){var k,v,I;return r(this,function(_){switch(_.label){case 0:return[4,ue.default().lock(h)];case 1:return _.sent(),this.acquiredIatSet.has(h)?(k=this.storageHandler===void 0?a:this.storageHandler,(v=k.getItemSync(c))===null?(ue.default().unlock(h),[2]):((I=JSON.parse(v)).timeRefreshed=Date.now(),k.setItemSync(c,JSON.stringify(I)),ue.default().unlock(h),this.refreshLockWhileAcquired(c,h),[2])):(ue.default().unlock(h),[2])}})})},1e3),[2]})})},u.prototype.waitForSomethingToChange=function(c){return n(this,void 0,void 0,function(){return r(this,function(h){switch(h.label){case 0:return[4,new Promise(function(d){var w=!1,k=Date.now(),v=!1;function I(){if(v||(window.removeEventListener("storage",I),u.removeFromWaiting(I),clearTimeout(_),v=!0),!w){w=!0;var y=50-(Date.now()-k);y>0?setTimeout(d,y):d(null)}}window.addEventListener("storage",I),u.addToWaiting(I);var _=setTimeout(I,Math.max(0,c-Date.now()))})];case 1:return h.sent(),[2]}})})},u.addToWaiting=function(c){this.removeFromWaiting(c),u.waiters!==void 0&&u.waiters.push(c)},u.removeFromWaiting=function(c){u.waiters!==void 0&&(u.waiters=u.waiters.filter(function(h){return h!==c}))},u.notifyWaiters=function(){u.waiters!==void 0&&u.waiters.slice().forEach(function(c){return c()})},u.prototype.releaseLock=function(c){return n(this,void 0,void 0,function(){return r(this,function(h){switch(h.label){case 0:return[4,this.releaseLock__private__(c)];case 1:return[2,h.sent()]}})})},u.prototype.releaseLock__private__=function(c){return n(this,void 0,void 0,function(){var h,d,w,k;return r(this,function(v){switch(v.label){case 0:return h=this.storageHandler===void 0?a:this.storageHandler,d=o+"-"+c,(w=h.getItemSync(d))===null?[2]:(k=JSON.parse(w)).id!==this.id?[3,2]:[4,ue.default().lock(k.iat)];case 1:v.sent(),this.acquiredIatSet.delete(k.iat),h.removeItemSync(d),ue.default().unlock(k.iat),u.notifyWaiters(),v.label=2;case 2:return[2]}})})},u.lockCorrector=function(c){for(var h=Date.now()-5e3,d=c,w=[],k=0;;){var v=d.keySync(k);if(v===null)break;w.push(v),k++}for(var I=!1,_=0;_<w.length;_++){var y=w[_];if(y.includes(o)){var l=d.getItemSync(y);if(l!==null){var b=JSON.parse(l);(b.timeRefreshed===void 0&&b.timeAcquired<h||b.timeRefreshed!==void 0&&b.timeRefreshed<h)&&(d.removeItemSync(y),I=!0)}}}I&&u.notifyWaiters()},u.waiters=void 0,u}();e.default=p}));const vr={timeoutInSeconds:60},Zt={name:"auth0-spa-js",version:"2.1.3"},Wt=()=>Date.now();let H=class Ut extends Error{constructor(e,n){super(n),this.error=e,this.error_description=n,Object.setPrototypeOf(this,Ut.prototype)}static fromPayload({error:e,error_description:n}){return new Ut(e,n)}},wr=class dr extends H{constructor(e,n,r,i=null){super(e,n),this.state=r,this.appState=i,Object.setPrototypeOf(this,dr.prototype)}},ft=class hr extends H{constructor(){super("timeout","Timeout"),Object.setPrototypeOf(this,hr.prototype)}},br=class fr extends ft{constructor(e){super(),this.popup=e,Object.setPrototypeOf(this,fr.prototype)}},kr=class pr extends H{constructor(e){super("cancelled","Popup closed"),this.popup=e,Object.setPrototypeOf(this,pr.prototype)}},Ir=class mr extends H{constructor(e,n,r){super(e,n),this.mfa_token=r,Object.setPrototypeOf(this,mr.prototype)}},Kt=class gr extends H{constructor(e,n){super("missing_refresh_token",`Missing Refresh Token (audience: '${Mt(e,["default"])}', scope: '${Mt(n)}')`),this.audience=e,this.scope=n,Object.setPrototypeOf(this,gr.prototype)}};function Mt(t,e=[]){return t&&!e.includes(t)?t:""}const Fe=()=>window.crypto,pt=()=>{const t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_~.";let e="";return Array.from(Fe().getRandomValues(new Uint8Array(43))).forEach(n=>e+=t[n%t.length]),e},Xt=t=>btoa(t),mt=t=>{var{clientId:e}=t,n=K(t,["clientId"]);return new URLSearchParams((r=>Object.keys(r).filter(i=>r[i]!==void 0).reduce((i,o)=>Object.assign(Object.assign({},i),{[o]:r[o]}),{}))(Object.assign({client_id:e},n))).toString()},Ft=t=>(e=>decodeURIComponent(atob(e).split("").map(n=>"%"+("00"+n.charCodeAt(0).toString(16)).slice(-2)).join("")))(t.replace(/_/g,"/").replace(/-/g,"+")),_r=async(t,e)=>{const n=await fetch(t,e);return{ok:n.ok,json:await n.json()}},Sr=async(t,e,n)=>{const r=new AbortController;let i;return e.signal=r.signal,Promise.race([_r(t,e),new Promise((o,a)=>{i=setTimeout(()=>{r.abort(),a(new Error("Timeout when executing 'fetch'"))},n)})]).finally(()=>{clearTimeout(i)})},Er=async(t,e,n,r,i,o,a)=>{return s={auth:{audience:e,scope:n},timeout:i,fetchUrl:t,fetchOptions:r,useFormData:a},m=o,new Promise(function(p,u){const c=new MessageChannel;c.port1.onmessage=function(h){h.data.error?u(new Error(h.data.error)):p(h.data),c.port1.close()},m.postMessage(s,[c.port2])});var s,m},Or=async(t,e,n,r,i,o,a=1e4)=>i?Er(t,e,n,r,a,i,o):Sr(t,r,a);async function Pr(t,e){var{baseUrl:n,timeout:r,audience:i,scope:o,auth0Client:a,useFormData:s}=t,m=K(t,["baseUrl","timeout","audience","scope","auth0Client","useFormData"]);const p=s?mt(m):JSON.stringify(m);return await async function(u,c,h,d,w,k,v){let I,_=null;for(let x=0;x<3;x++)try{I=await Or(u,h,d,w,k,v,c),_=null;break}catch(L){_=L}if(_)throw _;const y=I.json,{error:l,error_description:b}=y,T=K(y,["error","error_description"]),{ok:P}=I;if(!P){const x=b||`HTTP error. Unable to fetch ${u}`;throw l==="mfa_required"?new Ir(l,x,T.mfa_token):l==="missing_refresh_token"?new Kt(h,d):new H(l||"request_error",x)}return T}(`${n}/oauth/token`,r,i||"default",o,{method:"POST",body:p,headers:{"Content-Type":s?"application/x-www-form-urlencoded":"application/json","Auth0-Client":btoa(JSON.stringify(a||Zt))}},e,s)}const Je=(...t)=>{return(e=t.filter(Boolean).join(" ").trim().split(/\s+/),Array.from(new Set(e))).join(" ");var e};let le=class Rt{constructor(e,n="@@auth0spajs@@",r){this.prefix=n,this.suffix=r,this.clientId=e.clientId,this.scope=e.scope,this.audience=e.audience}toKey(){return[this.prefix,this.clientId,this.audience,this.scope,this.suffix].filter(Boolean).join("::")}static fromKey(e){const[n,r,i,o]=e.split("::");return new Rt({clientId:r,scope:o,audience:i},n)}static fromCacheEntry(e){const{scope:n,audience:r,client_id:i}=e;return new Rt({scope:n,audience:r,clientId:i})}},Tr=class{set(e,n){localStorage.setItem(e,JSON.stringify(n))}get(e){const n=window.localStorage.getItem(e);if(n)try{return JSON.parse(n)}catch{return}}remove(e){localStorage.removeItem(e)}allKeys(){return Object.keys(window.localStorage).filter(e=>e.startsWith("@@auth0spajs@@"))}},Jt=class{constructor(){this.enclosedCache=function(){let e={};return{set(n,r){e[n]=r},get(n){const r=e[n];if(r)return r},remove(n){delete e[n]},allKeys:()=>Object.keys(e)}}()}},jr=class{constructor(e,n,r){this.cache=e,this.keyManifest=n,this.nowProvider=r||Wt}async setIdToken(e,n,r){var i;const o=this.getIdTokenCacheKey(e);await this.cache.set(o,{id_token:n,decodedToken:r}),await((i=this.keyManifest)===null||i===void 0?void 0:i.add(o))}async getIdToken(e){const n=await this.cache.get(this.getIdTokenCacheKey(e.clientId));if(!n&&e.scope&&e.audience){const r=await this.get(e);return!r||!r.id_token||!r.decodedToken?void 0:{id_token:r.id_token,decodedToken:r.decodedToken}}if(n)return{id_token:n.id_token,decodedToken:n.decodedToken}}async get(e,n=0){var r;let i=await this.cache.get(e.toKey());if(!i){const s=await this.getCacheKeys();if(!s)return;const m=this.matchExistingCacheKey(e,s);m&&(i=await this.cache.get(m))}if(!i)return;const o=await this.nowProvider(),a=Math.floor(o/1e3);return i.expiresAt-n<a?i.body.refresh_token?(i.body={refresh_token:i.body.refresh_token},await this.cache.set(e.toKey(),i),i.body):(await this.cache.remove(e.toKey()),void await((r=this.keyManifest)===null||r===void 0?void 0:r.remove(e.toKey()))):i.body}async set(e){var n;const r=new le({clientId:e.client_id,scope:e.scope,audience:e.audience}),i=await this.wrapCacheEntry(e);await this.cache.set(r.toKey(),i),await((n=this.keyManifest)===null||n===void 0?void 0:n.add(r.toKey()))}async clear(e){var n;const r=await this.getCacheKeys();r&&(await r.filter(i=>!e||i.includes(e)).reduce(async(i,o)=>{await i,await this.cache.remove(o)},Promise.resolve()),await((n=this.keyManifest)===null||n===void 0?void 0:n.clear()))}async wrapCacheEntry(e){const n=await this.nowProvider();return{body:e,expiresAt:Math.floor(n/1e3)+e.expires_in}}async getCacheKeys(){var e;return this.keyManifest?(e=await this.keyManifest.get())===null||e===void 0?void 0:e.keys:this.cache.allKeys?this.cache.allKeys():void 0}getIdTokenCacheKey(e){return new le({clientId:e},"@@auth0spajs@@","@@user@@").toKey()}matchExistingCacheKey(e,n){return n.filter(r=>{var i;const o=le.fromKey(r),a=new Set(o.scope&&o.scope.split(" ")),s=((i=e.scope)===null||i===void 0?void 0:i.split(" "))||[],m=o.scope&&s.reduce((p,u)=>p&&a.has(u),!0);return o.prefix==="@@auth0spajs@@"&&o.clientId===e.clientId&&o.audience===e.audience&&m})[0]}},xr=class{constructor(e,n,r){this.storage=e,this.clientId=n,this.cookieDomain=r,this.storageKey=`a0.spajs.txs.${this.clientId}`}create(e){this.storage.save(this.storageKey,e,{daysUntilExpire:1,cookieDomain:this.cookieDomain})}get(){return this.storage.get(this.storageKey)}remove(){this.storage.remove(this.storageKey,{cookieDomain:this.cookieDomain})}};const ze=t=>typeof t=="number",Cr=["iss","aud","exp","nbf","iat","jti","azp","nonce","auth_time","at_hash","c_hash","acr","amr","sub_jwk","cnf","sip_from_tag","sip_date","sip_callid","sip_cseq_num","sip_via_branch","orig","dest","mky","events","toe","txn","rph","sid","vot","vtm"],$r=t=>{if(!t.id_token)throw new Error("ID token is required but missing");const e=(o=>{const a=o.split("."),[s,m,p]=a;if(a.length!==3||!s||!m||!p)throw new Error("ID token could not be decoded");const u=JSON.parse(Ft(m)),c={__raw:o},h={};return Object.keys(u).forEach(d=>{c[d]=u[d],Cr.includes(d)||(h[d]=u[d])}),{encoded:{header:s,payload:m,signature:p},header:JSON.parse(Ft(s)),claims:c,user:h}})(t.id_token);if(!e.claims.iss)throw new Error("Issuer (iss) claim must be a string present in the ID token");if(e.claims.iss!==t.iss)throw new Error(`Issuer (iss) claim mismatch in the ID token; expected "${t.iss}", found "${e.claims.iss}"`);if(!e.user.sub)throw new Error("Subject (sub) claim must be a string present in the ID token");if(e.header.alg!=="RS256")throw new Error(`Signature algorithm of "${e.header.alg}" is not supported. Expected the ID token to be signed with "RS256".`);if(!e.claims.aud||typeof e.claims.aud!="string"&&!Array.isArray(e.claims.aud))throw new Error("Audience (aud) claim must be a string or array of strings present in the ID token");if(Array.isArray(e.claims.aud)){if(!e.claims.aud.includes(t.aud))throw new Error(`Audience (aud) claim mismatch in the ID token; expected "${t.aud}" but was not one of "${e.claims.aud.join(", ")}"`);if(e.claims.aud.length>1){if(!e.claims.azp)throw new Error("Authorized Party (azp) claim must be a string present in the ID token when Audience (aud) claim has multiple values");if(e.claims.azp!==t.aud)throw new Error(`Authorized Party (azp) claim mismatch in the ID token; expected "${t.aud}", found "${e.claims.azp}"`)}}else if(e.claims.aud!==t.aud)throw new Error(`Audience (aud) claim mismatch in the ID token; expected "${t.aud}" but found "${e.claims.aud}"`);if(t.nonce){if(!e.claims.nonce)throw new Error("Nonce (nonce) claim must be a string present in the ID token");if(e.claims.nonce!==t.nonce)throw new Error(`Nonce (nonce) claim mismatch in the ID token; expected "${t.nonce}", found "${e.claims.nonce}"`)}if(t.max_age&&!ze(e.claims.auth_time))throw new Error("Authentication Time (auth_time) claim must be a number present in the ID token when Max Age (max_age) is specified");if(e.claims.exp==null||!ze(e.claims.exp))throw new Error("Expiration Time (exp) claim must be a number present in the ID token");if(!ze(e.claims.iat))throw new Error("Issued At (iat) claim must be a number present in the ID token");const n=t.leeway||60,r=new Date(t.now||Date.now()),i=new Date(0);if(i.setUTCSeconds(e.claims.exp+n),r>i)throw new Error(`Expiration Time (exp) claim error in the ID token; current time (${r}) is after expiration time (${i})`);if(e.claims.nbf!=null&&ze(e.claims.nbf)){const o=new Date(0);if(o.setUTCSeconds(e.claims.nbf-n),r<o)throw new Error(`Not Before time (nbf) claim in the ID token indicates that this token can't be used just yet. Current time (${r}) is before ${o}`)}if(e.claims.auth_time!=null&&ze(e.claims.auth_time)){const o=new Date(0);if(o.setUTCSeconds(parseInt(e.claims.auth_time)+t.max_age+n),r>o)throw new Error(`Authentication Time (auth_time) claim in the ID token indicates that too much time has passed since the last end-user authentication. Current time (${r}) is after last auth at ${o}`)}if(t.organization){const o=t.organization.trim();if(o.startsWith("org_")){const a=o;if(!e.claims.org_id)throw new Error("Organization ID (org_id) claim must be a string present in the ID token");if(a!==e.claims.org_id)throw new Error(`Organization ID (org_id) claim mismatch in the ID token; expected "${a}", found "${e.claims.org_id}"`)}else{const a=o.toLowerCase();if(!e.claims.org_name)throw new Error("Organization Name (org_name) claim must be a string present in the ID token");if(a!==e.claims.org_name)throw new Error(`Organization Name (org_name) claim mismatch in the ID token; expected "${a}", found "${e.claims.org_name}"`)}}return e};var de=ht(function(t,e){var n=ce&&ce.__assign||function(){return n=Object.assign||function(m){for(var p,u=1,c=arguments.length;u<c;u++)for(var h in p=arguments[u])Object.prototype.hasOwnProperty.call(p,h)&&(m[h]=p[h]);return m},n.apply(this,arguments)};function r(m,p){if(!p)return"";var u="; "+m;return p===!0?u:u+"="+p}function i(m,p,u){return encodeURIComponent(m).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/\(/g,"%28").replace(/\)/g,"%29")+"="+encodeURIComponent(p).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent)+function(c){if(typeof c.expires=="number"){var h=new Date;h.setMilliseconds(h.getMilliseconds()+864e5*c.expires),c.expires=h}return r("Expires",c.expires?c.expires.toUTCString():"")+r("Domain",c.domain)+r("Path",c.path)+r("Secure",c.secure)+r("SameSite",c.sameSite)}(u)}function o(m){for(var p={},u=m?m.split("; "):[],c=/(%[\dA-F]{2})+/gi,h=0;h<u.length;h++){var d=u[h].split("="),w=d.slice(1).join("=");w.charAt(0)==='"'&&(w=w.slice(1,-1));try{p[d[0].replace(c,decodeURIComponent)]=w.replace(c,decodeURIComponent)}catch{}}return p}function a(){return o(document.cookie)}function s(m,p,u){document.cookie=i(m,p,n({path:"/"},u))}e.__esModule=!0,e.encode=i,e.parse=o,e.getAll=a,e.get=function(m){return a()[m]},e.set=s,e.remove=function(m,p){s(m,"",n(n({},p),{expires:-1}))}});dt(de),de.encode,de.parse,de.getAll;var Ar=de.get,Ht=de.set,Vt=de.remove;const be={get(t){const e=Ar(t);if(e!==void 0)return JSON.parse(e)},save(t,e,n){let r={};window.location.protocol==="https:"&&(r={secure:!0,sameSite:"none"}),n!=null&&n.daysUntilExpire&&(r.expires=n.daysUntilExpire),n!=null&&n.cookieDomain&&(r.domain=n.cookieDomain),Ht(t,JSON.stringify(e),r)},remove(t,e){let n={};e!=null&&e.cookieDomain&&(n.domain=e.cookieDomain),Vt(t,n)}},zr={get(t){return be.get(t)||be.get(`_legacy_${t}`)},save(t,e,n){let r={};window.location.protocol==="https:"&&(r={secure:!0}),n!=null&&n.daysUntilExpire&&(r.expires=n.daysUntilExpire),n!=null&&n.cookieDomain&&(r.domain=n.cookieDomain),Ht(`_legacy_${t}`,JSON.stringify(e),r),be.save(t,e,n)},remove(t,e){let n={};e!=null&&e.cookieDomain&&(n.domain=e.cookieDomain),Vt(t,n),be.remove(t,e),be.remove(`_legacy_${t}`,e)}},Nr={get(t){if(typeof sessionStorage>"u")return;const e=sessionStorage.getItem(t);return e!=null?JSON.parse(e):void 0},save(t,e){sessionStorage.setItem(t,JSON.stringify(e))},remove(t){sessionStorage.removeItem(t)}};function Dr(t,e,n){var r=e===void 0?null:e,i=function(m,p){var u=atob(m);if(p){for(var c=new Uint8Array(u.length),h=0,d=u.length;h<d;++h)c[h]=u.charCodeAt(h);return String.fromCharCode.apply(null,new Uint16Array(c.buffer))}return u}(t,n!==void 0&&n),o=i.indexOf(`
|
|
2
|
+
`,10)+1,a=i.substring(o)+(r?"//# sourceMappingURL="+r:""),s=new Blob([a],{type:"application/javascript"});return URL.createObjectURL(s)}var Yt,Gt,Bt,gt,Lr=(Yt="Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7Y2xhc3MgZSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKHQscil7c3VwZXIociksdGhpcy5lcnJvcj10LHRoaXMuZXJyb3JfZGVzY3JpcHRpb249cixPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxlLnByb3RvdHlwZSl9c3RhdGljIGZyb21QYXlsb2FkKHtlcnJvcjp0LGVycm9yX2Rlc2NyaXB0aW9uOnJ9KXtyZXR1cm4gbmV3IGUodCxyKX19Y2xhc3MgdCBleHRlbmRzIGV7Y29uc3RydWN0b3IoZSxzKXtzdXBlcigibWlzc2luZ19yZWZyZXNoX3Rva2VuIixgTWlzc2luZyBSZWZyZXNoIFRva2VuIChhdWRpZW5jZTogJyR7cihlLFsiZGVmYXVsdCJdKX0nLCBzY29wZTogJyR7cihzKX0nKWApLHRoaXMuYXVkaWVuY2U9ZSx0aGlzLnNjb3BlPXMsT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsdC5wcm90b3R5cGUpfX1mdW5jdGlvbiByKGUsdD1bXSl7cmV0dXJuIGUmJiF0LmluY2x1ZGVzKGUpP2U6IiJ9ImZ1bmN0aW9uIj09dHlwZW9mIFN1cHByZXNzZWRFcnJvciYmU3VwcHJlc3NlZEVycm9yO2NvbnN0IHM9ZT0+e3ZhcntjbGllbnRJZDp0fT1lLHI9ZnVuY3Rpb24oZSx0KXt2YXIgcj17fTtmb3IodmFyIHMgaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxzKSYmdC5pbmRleE9mKHMpPDAmJihyW3NdPWVbc10pO2lmKG51bGwhPWUmJiJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgbz0wO2ZvcihzPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7bzxzLmxlbmd0aDtvKyspdC5pbmRleE9mKHNbb10pPDAmJk9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLHNbb10pJiYocltzW29dXT1lW3Nbb11dKX1yZXR1cm4gcn0oZSxbImNsaWVudElkIl0pO3JldHVybiBuZXcgVVJMU2VhcmNoUGFyYW1zKChlPT5PYmplY3Qua2V5cyhlKS5maWx0ZXIoKHQ9PnZvaWQgMCE9PWVbdF0pKS5yZWR1Y2UoKCh0LHIpPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse1tyXTplW3JdfSkpLHt9KSkoT2JqZWN0LmFzc2lnbih7Y2xpZW50X2lkOnR9LHIpKSkudG9TdHJpbmcoKX07bGV0IG89e307Y29uc3Qgbj0oZSx0KT0+YCR7ZX18JHt0fWA7YWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsKGFzeW5jKHtkYXRhOnt0aW1lb3V0OmUsYXV0aDpyLGZldGNoVXJsOmksZmV0Y2hPcHRpb25zOmMsdXNlRm9ybURhdGE6YX0scG9ydHM6W3BdfSk9PntsZXQgZjtjb25zdHthdWRpZW5jZTp1LHNjb3BlOmx9PXJ8fHt9O3RyeXtjb25zdCByPWE/KGU9Pntjb25zdCB0PW5ldyBVUkxTZWFyY2hQYXJhbXMoZSkscj17fTtyZXR1cm4gdC5mb3JFYWNoKCgoZSx0KT0+e3JbdF09ZX0pKSxyfSkoYy5ib2R5KTpKU09OLnBhcnNlKGMuYm9keSk7aWYoIXIucmVmcmVzaF90b2tlbiYmInJlZnJlc2hfdG9rZW4iPT09ci5ncmFudF90eXBlKXtjb25zdCBlPSgoZSx0KT0+b1tuKGUsdCldKSh1LGwpO2lmKCFlKXRocm93IG5ldyB0KHUsbCk7Yy5ib2R5PWE/cyhPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30scikse3JlZnJlc2hfdG9rZW46ZX0pKTpKU09OLnN0cmluZ2lmeShPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30scikse3JlZnJlc2hfdG9rZW46ZX0pKX1sZXQgaCxnOyJmdW5jdGlvbiI9PXR5cGVvZiBBYm9ydENvbnRyb2xsZXImJihoPW5ldyBBYm9ydENvbnRyb2xsZXIsYy5zaWduYWw9aC5zaWduYWwpO3RyeXtnPWF3YWl0IFByb21pc2UucmFjZShbKGQ9ZSxuZXcgUHJvbWlzZSgoZT0+c2V0VGltZW91dChlLGQpKSkpLGZldGNoKGksT2JqZWN0LmFzc2lnbih7fSxjKSldKX1jYXRjaChlKXtyZXR1cm4gdm9pZCBwLnBvc3RNZXNzYWdlKHtlcnJvcjplLm1lc3NhZ2V9KX1pZighZylyZXR1cm4gaCYmaC5hYm9ydCgpLHZvaWQgcC5wb3N0TWVzc2FnZSh7ZXJyb3I6IlRpbWVvdXQgd2hlbiBleGVjdXRpbmcgJ2ZldGNoJyJ9KTtmPWF3YWl0IGcuanNvbigpLGYucmVmcmVzaF90b2tlbj8oKChlLHQscik9PntvW24odCxyKV09ZX0pKGYucmVmcmVzaF90b2tlbix1LGwpLGRlbGV0ZSBmLnJlZnJlc2hfdG9rZW4pOigoZSx0KT0+e2RlbGV0ZSBvW24oZSx0KV19KSh1LGwpLHAucG9zdE1lc3NhZ2Uoe29rOmcub2ssanNvbjpmfSl9Y2F0Y2goZSl7cC5wb3N0TWVzc2FnZSh7b2s6ITEsanNvbjp7ZXJyb3I6ZS5lcnJvcixlcnJvcl9kZXNjcmlwdGlvbjplLm1lc3NhZ2V9fSl9dmFyIGR9KSl9KCk7Cgo=",Gt=null,Bt=!1,function(t){return gt=gt||Dr(Yt,Gt,Bt),new Worker(gt,t)});const yt={};let Ur=class{constructor(e,n){this.cache=e,this.clientId=n,this.manifestKey=this.createManifestKeyFrom(this.clientId)}async add(e){var n;const r=new Set(((n=await this.cache.get(this.manifestKey))===null||n===void 0?void 0:n.keys)||[]);r.add(e),await this.cache.set(this.manifestKey,{keys:[...r]})}async remove(e){const n=await this.cache.get(this.manifestKey);if(n){const r=new Set(n.keys);return r.delete(e),r.size>0?await this.cache.set(this.manifestKey,{keys:[...r]}):await this.cache.remove(this.manifestKey)}}get(){return this.cache.get(this.manifestKey)}clear(){return this.cache.remove(this.manifestKey)}createManifestKeyFrom(e){return`@@auth0spajs@@::${e}`}};const Rr={memory:()=>new Jt().enclosedCache,localstorage:()=>new Tr},qt=t=>Rr[t],Qt=t=>{const{openUrl:e,onRedirect:n}=t,r=K(t,["openUrl","onRedirect"]);return Object.assign(Object.assign({},r),{openUrl:e===!1||e?e:n})},vt=new yr;let Zr=class{constructor(e){let n,r;if(this.userCache=new Jt().enclosedCache,this.defaultOptions={authorizationParams:{scope:"openid profile email"},useRefreshTokensFallback:!1,useFormData:!0},this._releaseLockOnPageHide=async()=>{await vt.releaseLock("auth0.lock.getTokenSilently"),window.removeEventListener("pagehide",this._releaseLockOnPageHide)},this.options=Object.assign(Object.assign(Object.assign({},this.defaultOptions),e),{authorizationParams:Object.assign(Object.assign({},this.defaultOptions.authorizationParams),e.authorizationParams)}),typeof window<"u"&&(()=>{if(!Fe())throw new Error("For security reasons, `window.crypto` is required to run `auth0-spa-js`.");if(Fe().subtle===void 0)throw new Error(`
|
|
3
|
+
auth0-spa-js must run on a secure origin. See https://github.com/auth0/auth0-spa-js/blob/main/FAQ.md#why-do-i-get-auth0-spa-js-must-run-on-a-secure-origin for more information.
|
|
4
|
+
`)})(),e.cache&&e.cacheLocation&&console.warn("Both `cache` and `cacheLocation` options have been specified in the Auth0Client configuration; ignoring `cacheLocation` and using `cache`."),e.cache)r=e.cache;else{if(n=e.cacheLocation||"memory",!qt(n))throw new Error(`Invalid cache location "${n}"`);r=qt(n)()}this.httpTimeoutMs=e.httpTimeoutInSeconds?1e3*e.httpTimeoutInSeconds:1e4,this.cookieStorage=e.legacySameSiteCookie===!1?be:zr,this.orgHintCookieName=`auth0.${this.options.clientId}.organization_hint`,this.isAuthenticatedCookieName=(a=>`auth0.${a}.is.authenticated`)(this.options.clientId),this.sessionCheckExpiryDays=e.sessionCheckExpiryDays||1;const i=e.useCookiesForTransactions?this.cookieStorage:Nr;var o;this.scope=Je("openid",this.options.authorizationParams.scope,this.options.useRefreshTokens?"offline_access":""),this.transactionManager=new xr(i,this.options.clientId,this.options.cookieDomain),this.nowProvider=this.options.nowProvider||Wt,this.cacheManager=new jr(r,r.allKeys?void 0:new Ur(r,this.options.clientId),this.nowProvider),this.domainUrl=(o=this.options.domain,/^https?:\/\//.test(o)?o:`https://${o}`),this.tokenIssuer=((a,s)=>a?a.startsWith("https://")?a:`https://${a}/`:`${s}/`)(this.options.issuer,this.domainUrl),typeof window<"u"&&window.Worker&&this.options.useRefreshTokens&&n==="memory"&&(this.options.workerUrl?this.worker=new Worker(this.options.workerUrl):this.worker=new Lr)}_url(e){const n=encodeURIComponent(btoa(JSON.stringify(this.options.auth0Client||Zt)));return`${this.domainUrl}${e}&auth0Client=${n}`}_authorizeUrl(e){return this._url(`/authorize?${mt(e)}`)}async _verifyIdToken(e,n,r){const i=await this.nowProvider();return $r({iss:this.tokenIssuer,aud:this.options.clientId,id_token:e,nonce:n,organization:r,leeway:this.options.leeway,max_age:(o=this.options.authorizationParams.max_age,typeof o!="string"?o:parseInt(o,10)||void 0),now:i});var o}_processOrgHint(e){e?this.cookieStorage.save(this.orgHintCookieName,e,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}):this.cookieStorage.remove(this.orgHintCookieName,{cookieDomain:this.options.cookieDomain})}async _prepareAuthorizeUrl(e,n,r){const i=Xt(pt()),o=Xt(pt()),a=pt(),s=(u=>{const c=new Uint8Array(u);return(h=>{const d={"+":"-","/":"_","=":""};return h.replace(/[+/=]/g,w=>d[w])})(window.btoa(String.fromCharCode(...Array.from(c))))})(await(async u=>await Fe().subtle.digest({name:"SHA-256"},new TextEncoder().encode(u)))(a)),m=((u,c,h,d,w,k,v,I)=>Object.assign(Object.assign(Object.assign({client_id:u.clientId},u.authorizationParams),h),{scope:Je(c,h.scope),response_type:"code",response_mode:I||"query",state:d,nonce:w,redirect_uri:v||u.authorizationParams.redirect_uri,code_challenge:k,code_challenge_method:"S256"}))(this.options,this.scope,e,i,o,s,e.redirect_uri||this.options.authorizationParams.redirect_uri||r,n==null?void 0:n.response_mode),p=this._authorizeUrl(m);return{nonce:o,code_verifier:a,scope:m.scope,audience:m.audience||"default",redirect_uri:m.redirect_uri,state:i,url:p}}async loginWithPopup(e,n){var r;if(e=e||{},!(n=n||{}).popup&&(n.popup=(s=>{const m=window.screenX+(window.innerWidth-400)/2,p=window.screenY+(window.innerHeight-600)/2;return window.open(s,"auth0:authorize:popup",`left=${m},top=${p},width=400,height=600,resizable,scrollbars=yes,status=1`)})(""),!n.popup))throw new Error("Unable to open a popup for loginWithPopup - window.open returned `null`");const i=await this._prepareAuthorizeUrl(e.authorizationParams||{},{response_mode:"web_message"},window.location.origin);n.popup.location.href=i.url;const o=await(s=>new Promise((m,p)=>{let u;const c=setInterval(()=>{s.popup&&s.popup.closed&&(clearInterval(c),clearTimeout(h),window.removeEventListener("message",u,!1),p(new kr(s.popup)))},1e3),h=setTimeout(()=>{clearInterval(c),p(new br(s.popup)),window.removeEventListener("message",u,!1)},1e3*(s.timeoutInSeconds||60));u=function(d){if(d.data&&d.data.type==="authorization_response"){if(clearTimeout(h),clearInterval(c),window.removeEventListener("message",u,!1),s.popup.close(),d.data.response.error)return p(H.fromPayload(d.data.response));m(d.data.response)}},window.addEventListener("message",u)}))(Object.assign(Object.assign({},n),{timeoutInSeconds:n.timeoutInSeconds||this.options.authorizeTimeoutInSeconds||60}));if(i.state!==o.state)throw new H("state_mismatch","Invalid state");const a=((r=e.authorizationParams)===null||r===void 0?void 0:r.organization)||this.options.authorizationParams.organization;await this._requestToken({audience:i.audience,scope:i.scope,code_verifier:i.code_verifier,grant_type:"authorization_code",code:o.code,redirect_uri:i.redirect_uri},{nonceIn:i.nonce,organization:a})}async getUser(){var e;const n=await this._getIdTokenFromCache();return(e=n==null?void 0:n.decodedToken)===null||e===void 0?void 0:e.user}async getIdTokenClaims(){var e;const n=await this._getIdTokenFromCache();return(e=n==null?void 0:n.decodedToken)===null||e===void 0?void 0:e.claims}async loginWithRedirect(e={}){var n;const r=Qt(e),{openUrl:i,fragment:o,appState:a}=r,s=K(r,["openUrl","fragment","appState"]),m=((n=s.authorizationParams)===null||n===void 0?void 0:n.organization)||this.options.authorizationParams.organization,p=await this._prepareAuthorizeUrl(s.authorizationParams||{}),{url:u}=p,c=K(p,["url"]);this.transactionManager.create(Object.assign(Object.assign(Object.assign({},c),{appState:a}),m&&{organization:m}));const h=o?`${u}#${o}`:u;i?await i(h):window.location.assign(h)}async handleRedirectCallback(e=window.location.href){const n=e.split("?").slice(1);if(n.length===0)throw new Error("There are no query params available for parsing.");const{state:r,code:i,error:o,error_description:a}=(c=>{c.indexOf("#")>-1&&(c=c.substring(0,c.indexOf("#")));const h=new URLSearchParams(c);return{state:h.get("state"),code:h.get("code")||void 0,error:h.get("error")||void 0,error_description:h.get("error_description")||void 0}})(n.join("")),s=this.transactionManager.get();if(!s)throw new H("missing_transaction","Invalid state");if(this.transactionManager.remove(),o)throw new wr(o,a||o,r,s.appState);if(!s.code_verifier||s.state&&s.state!==r)throw new H("state_mismatch","Invalid state");const m=s.organization,p=s.nonce,u=s.redirect_uri;return await this._requestToken(Object.assign({audience:s.audience,scope:s.scope,code_verifier:s.code_verifier,grant_type:"authorization_code",code:i},u?{redirect_uri:u}:{}),{nonceIn:p,organization:m}),{appState:s.appState}}async checkSession(e){if(!this.cookieStorage.get(this.isAuthenticatedCookieName)){if(!this.cookieStorage.get("auth0.is.authenticated"))return;this.cookieStorage.save(this.isAuthenticatedCookieName,!0,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}),this.cookieStorage.remove("auth0.is.authenticated")}try{await this.getTokenSilently(e)}catch{}}async getTokenSilently(e={}){var n;const r=Object.assign(Object.assign({cacheMode:"on"},e),{authorizationParams:Object.assign(Object.assign(Object.assign({},this.options.authorizationParams),e.authorizationParams),{scope:Je(this.scope,(n=e.authorizationParams)===null||n===void 0?void 0:n.scope)})}),i=await((o,a)=>{let s=yt[a];return s||(s=o().finally(()=>{delete yt[a],s=null}),yt[a]=s),s})(()=>this._getTokenSilently(r),`${this.options.clientId}::${r.authorizationParams.audience}::${r.authorizationParams.scope}`);return e.detailedResponse?i:i==null?void 0:i.access_token}async _getTokenSilently(e){const{cacheMode:n}=e,r=K(e,["cacheMode"]);if(n!=="off"){const i=await this._getEntryFromCache({scope:r.authorizationParams.scope,audience:r.authorizationParams.audience||"default",clientId:this.options.clientId});if(i)return i}if(n!=="cache-only"){if(!await(async(i,o=3)=>{for(let a=0;a<o;a++)if(await i())return!0;return!1})(()=>vt.acquireLock("auth0.lock.getTokenSilently",5e3),10))throw new ft;try{if(window.addEventListener("pagehide",this._releaseLockOnPageHide),n!=="off"){const p=await this._getEntryFromCache({scope:r.authorizationParams.scope,audience:r.authorizationParams.audience||"default",clientId:this.options.clientId});if(p)return p}const i=this.options.useRefreshTokens?await this._getTokenUsingRefreshToken(r):await this._getTokenFromIFrame(r),{id_token:o,access_token:a,oauthTokenScope:s,expires_in:m}=i;return Object.assign(Object.assign({id_token:o,access_token:a},s?{scope:s}:null),{expires_in:m})}finally{await vt.releaseLock("auth0.lock.getTokenSilently"),window.removeEventListener("pagehide",this._releaseLockOnPageHide)}}}async getTokenWithPopup(e={},n={}){var r;const i=Object.assign(Object.assign({},e),{authorizationParams:Object.assign(Object.assign(Object.assign({},this.options.authorizationParams),e.authorizationParams),{scope:Je(this.scope,(r=e.authorizationParams)===null||r===void 0?void 0:r.scope)})});return n=Object.assign(Object.assign({},vr),n),await this.loginWithPopup(i,n),(await this.cacheManager.get(new le({scope:i.authorizationParams.scope,audience:i.authorizationParams.audience||"default",clientId:this.options.clientId}))).access_token}async isAuthenticated(){return!!await this.getUser()}_buildLogoutUrl(e){e.clientId!==null?e.clientId=e.clientId||this.options.clientId:delete e.clientId;const n=e.logoutParams||{},{federated:r}=n,i=K(n,["federated"]),o=r?"&federated":"";return this._url(`/v2/logout?${mt(Object.assign({clientId:e.clientId},i))}`)+o}async logout(e={}){const n=Qt(e),{openUrl:r}=n,i=K(n,["openUrl"]);e.clientId===null?await this.cacheManager.clear():await this.cacheManager.clear(e.clientId||this.options.clientId),this.cookieStorage.remove(this.orgHintCookieName,{cookieDomain:this.options.cookieDomain}),this.cookieStorage.remove(this.isAuthenticatedCookieName,{cookieDomain:this.options.cookieDomain}),this.userCache.remove("@@user@@");const o=this._buildLogoutUrl(i);r?await r(o):r!==!1&&window.location.assign(o)}async _getTokenFromIFrame(e){const n=Object.assign(Object.assign({},e.authorizationParams),{prompt:"none"}),r=this.cookieStorage.get(this.orgHintCookieName);r&&!n.organization&&(n.organization=r);const{url:i,state:o,nonce:a,code_verifier:s,redirect_uri:m,scope:p,audience:u}=await this._prepareAuthorizeUrl(n,{response_mode:"web_message"},window.location.origin);try{if(window.crossOriginIsolated)throw new H("login_required","The application is running in a Cross-Origin Isolated context, silently retrieving a token without refresh token is not possible.");const c=e.timeoutInSeconds||this.options.authorizeTimeoutInSeconds,h=await((w,k,v=60)=>new Promise((I,_)=>{const y=window.document.createElement("iframe");y.setAttribute("width","0"),y.setAttribute("height","0"),y.style.display="none";const l=()=>{window.document.body.contains(y)&&(window.document.body.removeChild(y),window.removeEventListener("message",b,!1))};let b;const T=setTimeout(()=>{_(new ft),l()},1e3*v);b=function(P){if(P.origin!=k||!P.data||P.data.type!=="authorization_response")return;const x=P.source;x&&x.close(),P.data.response.error?_(H.fromPayload(P.data.response)):I(P.data.response),clearTimeout(T),window.removeEventListener("message",b,!1),setTimeout(l,2e3)},window.addEventListener("message",b,!1),window.document.body.appendChild(y),y.setAttribute("src",w)}))(i,this.domainUrl,c);if(o!==h.state)throw new H("state_mismatch","Invalid state");const d=await this._requestToken(Object.assign(Object.assign({},e.authorizationParams),{code_verifier:s,code:h.code,grant_type:"authorization_code",redirect_uri:m,timeout:e.authorizationParams.timeout||this.httpTimeoutMs}),{nonceIn:a,organization:n.organization});return Object.assign(Object.assign({},d),{scope:p,oauthTokenScope:d.scope,audience:u})}catch(c){throw c.error==="login_required"&&this.logout({openUrl:!1}),c}}async _getTokenUsingRefreshToken(e){const n=await this.cacheManager.get(new le({scope:e.authorizationParams.scope,audience:e.authorizationParams.audience||"default",clientId:this.options.clientId}));if(!(n&&n.refresh_token||this.worker)){if(this.options.useRefreshTokensFallback)return await this._getTokenFromIFrame(e);throw new Kt(e.authorizationParams.audience||"default",e.authorizationParams.scope)}const r=e.authorizationParams.redirect_uri||this.options.authorizationParams.redirect_uri||window.location.origin,i=typeof e.timeoutInSeconds=="number"?1e3*e.timeoutInSeconds:null;try{const o=await this._requestToken(Object.assign(Object.assign(Object.assign({},e.authorizationParams),{grant_type:"refresh_token",refresh_token:n&&n.refresh_token,redirect_uri:r}),i&&{timeout:i}));return Object.assign(Object.assign({},o),{scope:e.authorizationParams.scope,oauthTokenScope:o.scope,audience:e.authorizationParams.audience||"default"})}catch(o){if((o.message.indexOf("Missing Refresh Token")>-1||o.message&&o.message.indexOf("invalid refresh token")>-1)&&this.options.useRefreshTokensFallback)return await this._getTokenFromIFrame(e);throw o}}async _saveEntryInCache(e){const{id_token:n,decodedToken:r}=e,i=K(e,["id_token","decodedToken"]);this.userCache.set("@@user@@",{id_token:n,decodedToken:r}),await this.cacheManager.setIdToken(this.options.clientId,e.id_token,e.decodedToken),await this.cacheManager.set(i)}async _getIdTokenFromCache(){const e=this.options.authorizationParams.audience||"default",n=await this.cacheManager.getIdToken(new le({clientId:this.options.clientId,audience:e,scope:this.scope})),r=this.userCache.get("@@user@@");return n&&n.id_token===(r==null?void 0:r.id_token)?r:(this.userCache.set("@@user@@",n),n)}async _getEntryFromCache({scope:e,audience:n,clientId:r}){const i=await this.cacheManager.get(new le({scope:e,audience:n,clientId:r}),60);if(i&&i.access_token){const{access_token:o,oauthTokenScope:a,expires_in:s}=i,m=await this._getIdTokenFromCache();return m&&Object.assign(Object.assign({id_token:m.id_token,access_token:o},a?{scope:a}:null),{expires_in:s})}}async _requestToken(e,n){const{nonceIn:r,organization:i}=n||{},o=await Pr(Object.assign({baseUrl:this.domainUrl,client_id:this.options.clientId,auth0Client:this.options.auth0Client,useFormData:this.options.useFormData,timeout:this.httpTimeoutMs},e),this.worker),a=await this._verifyIdToken(o.id_token,r,i);return await this._saveEntryInCache(Object.assign(Object.assign(Object.assign(Object.assign({},o),{decodedToken:a,scope:e.scope,audience:e.audience||"default"}),o.scope?{oauthTokenScope:o.scope}:null),{client_id:this.options.clientId})),this.cookieStorage.save(this.isAuthenticatedCookieName,!0,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}),this._processOrgHint(i||a.claims.org_id),Object.assign(Object.assign({},o),{decodedToken:a})}};async function Wr(t){const e=new Zr(t);return await e.checkSession(),e}const wt="sesamy.com",Kr="https://logs.sesamy.com/events";var he=(t=>(t.READY="sesamyReady",t.AUTHENTICATED="sesamyAuthenticated",t.LOGOUT="sesamyLogout",t.SOFT_PAYWALL="sesamySoftPaywall",t))(he||{});let X;async function Mr({clientId:t}){if(X=await Wr({domain:`token.${wt}`,clientId:t,cacheLocation:"localstorage"}),window.location.search.includes("code="))try{await X.handleRedirectCallback();const e=await X.getUser();B(he.AUTHENTICATED,e),window.history.replaceState({},document.title,"/");const n=await X.getTokenSilently();localStorage.setItem("accessToken",n)}catch{}}async function Xr(){if(!X)throw new Error("Auth0 client not initialized");return X.isAuthenticated()}async function Fr(){if(!X)throw new Error("Auth0 client not initialized");return X.getUser()}function Jr(){if(!X)throw new Error("Auth0 client not initialized");return X.loginWithRedirect({authorizationParams:{redirect_uri:window.location.href}})}async function Hr(){if(!X)throw new Error("Auth0 client not initialized");return X.getTokenSilently()}async function Vr(){if(!X)throw new Error("Auth0 client not initialized");return B(he.LOGOUT,{}),X.logout({logoutParams:{returnTo:window.location.href}})}const Yr=(t,e)=>e.skipDedupe||e.method!=="GET",Gr=(t,e)=>e.method+"@"+t,Br=t=>t.clone(),en=({skip:t=Yr,key:e=Gr,resolver:n=Br}={})=>{const r=new Map;return i=>(o,a)=>{if(t(o,a))return i(o,a);const s=e(o,a);if(!r.has(s))r.set(s,[]);else return new Promise((m,p)=>{r.get(s).push([m,p])});try{return i(o,a).then(m=>(r.get(s).forEach(([p])=>p(n(m))),r.delete(s),m)).catch(m=>{throw r.get(s).forEach(([p,u])=>u(m)),r.delete(s),m})}catch(m){return r.delete(s),Promise.reject(m)}}},qr=(t,e)=>t*e,Qr=t=>t&&t.ok,tn=({delayTimer:t=500,delayRamp:e=qr,maxAttempts:n=10,until:r=Qr,onRetry:i=null,retryOnNetworkError:o=!1,resolveWithLatestResponse:a=!1,skip:s}={})=>m=>(p,u)=>{let c=0;if(s&&s(p,u))return m(p,u);const h=(d,w)=>Promise.resolve(r(d,w)).then(k=>k?d&&a?d:w?Promise.reject(w):d:(c++,!n||c<=n?new Promise(v=>{const I=e(t,c);setTimeout(()=>{typeof i=="function"?Promise.resolve(i({response:d,error:w,url:p,options:u})).then((_={})=>{var y,l;v(m((y=_&&_.url)!==null&&y!==void 0?y:p,(l=_&&_.options)!==null&&l!==void 0?l:u))}):v(m(p,u))},I)}).then(h).catch(v=>{if(!o)throw v;return h(null,v)}):d&&a?d:Promise.reject(w||new Error("Number of attempts exceeded."))));return m(p,u).then(h).catch(d=>{if(!o)throw d;return h(null,d)})},ei="application/json",nn="Content-Type",ke=Symbol(),rn=Symbol();function on(t={}){var e;return(e=Object.entries(t).find(([n])=>n.toLowerCase()===nn.toLowerCase()))===null||e===void 0?void 0:e[1]}function an(t){return/^application\/.*json.*/.test(t)}const fe=function(t,e,n=!1){return Object.entries(e).reduce((r,[i,o])=>{const a=t[i];return Array.isArray(a)&&Array.isArray(o)?r[i]=n?[...a,...o]:o:typeof a=="object"&&typeof o=="object"?r[i]=fe(a,o,n):r[i]=o,r},{...t})},Ie={options:{},errorType:"text",polyfills:{},polyfill(t,e=!0,n=!1,...r){const i=this.polyfills[t]||(typeof self<"u"?self[t]:null)||(typeof global<"u"?global[t]:null);if(e&&!i)throw new Error(t+" is not defined");return n&&i?new i(...r):i}};function ti(t,e=!1){Ie.options=e?t:fe(Ie.options,t)}function ni(t,e=!1){Ie.polyfills=e?t:fe(Ie.polyfills,t)}function ri(t){Ie.errorType=t}const ii=t=>e=>t.reduceRight((n,r)=>r(n),e)||e;class sn extends Error{}const oi=t=>{const e=Object.create(null);t=t._addons.reduce((y,l)=>l.beforeRequest&&l.beforeRequest(y,t._options,e)||y,t);const{_url:n,_options:r,_config:i,_catchers:o,_resolvers:a,_middlewares:s,_addons:m}=t,p=new Map(o),u=fe(i.options,r);let c=n;const h=ii(s)((y,l)=>(c=y,i.polyfill("fetch")(y,l)))(n,u),d=new Error,w=h.catch(y=>{throw{[ke]:y}}).then(y=>{if(!y.ok){const l=new sn;if(l.cause=d,l.stack=l.stack+`
|
|
5
|
+
CAUSE: `+d.stack,l.response=y,l.url=c,y.type==="opaque")throw l;return y.text().then(b=>{var T;if(l.message=b,i.errorType==="json"||((T=y.headers.get("Content-Type"))===null||T===void 0?void 0:T.split(";")[0])==="application/json")try{l.json=JSON.parse(b)}catch{}throw l.text=b,l.status=y.status,l})}return y}),k=y=>y.catch(l=>{const b=l.hasOwnProperty(ke),T=b?l[ke]:l,P=(T==null?void 0:T.status)&&p.get(T.status)||p.get(T==null?void 0:T.name)||b&&p.has(ke)&&p.get(ke);if(P)return P(T,t);const x=p.get(rn);if(x)return x(T,t);throw T}),v=y=>l=>k(y?w.then(b=>b&&b[y]()).then(b=>l?l(b):b):w.then(b=>l?l(b):b)),I={_wretchReq:t,_fetchReq:h,_sharedState:e,res:v(null),json:v("json"),blob:v("blob"),formData:v("formData"),arrayBuffer:v("arrayBuffer"),text:v("text"),error(y,l){return p.set(y,l),this},badRequest(y){return this.error(400,y)},unauthorized(y){return this.error(401,y)},forbidden(y){return this.error(403,y)},notFound(y){return this.error(404,y)},timeout(y){return this.error(408,y)},internalError(y){return this.error(500,y)},fetchError(y){return this.error(ke,y)}},_=m.reduce((y,l)=>({...y,...typeof l.resolver=="function"?l.resolver(y):l.resolver}),I);return a.reduce((y,l)=>l(y,t),_)},ai={_url:"",_options:{},_config:Ie,_catchers:new Map,_resolvers:[],_deferred:[],_middlewares:[],_addons:[],addon(t){return{...this,_addons:[...this._addons,t],...t.wretch}},errorType(t){return{...this,_config:{...this._config,errorType:t}}},polyfills(t,e=!1){return{...this,_config:{...this._config,polyfills:e?t:fe(this._config.polyfills,t)}}},url(t,e=!1){if(e)return{...this,_url:t};const n=this._url.split("?");return{...this,_url:n.length>1?n[0]+t+"?"+n[1]:this._url+t}},options(t,e=!1){return{...this,_options:e?t:fe(this._options,t)}},headers(t){const e=t?Array.isArray(t)?Object.fromEntries(t):"entries"in t?Object.fromEntries(t.entries()):t:{};return{...this,_options:fe(this._options,{headers:e})}},accept(t){return this.headers({Accept:t})},content(t){return this.headers({[nn]:t})},auth(t){return this.headers({Authorization:t})},catcher(t,e){const n=new Map(this._catchers);return n.set(t,e),{...this,_catchers:n}},catcherFallback(t){return this.catcher(rn,t)},resolve(t,e=!1){return{...this,_resolvers:e?[t]:[...this._resolvers,t]}},defer(t,e=!1){return{...this,_deferred:e?[t]:[...this._deferred,t]}},middlewares(t,e=!1){return{...this,_middlewares:e?t:[...this._middlewares,...t]}},fetch(t=this._options.method,e="",n=null){let r=this.url(e).options({method:t});const i=on(r._options.headers),o=typeof n=="object"&&(!r._options.headers||!i||an(i));return r=n?o?r.json(n,i):r.body(n):r,oi(r._deferred.reduce((a,s)=>s(a,a._url,a._options),r))},get(t=""){return this.fetch("GET",t)},delete(t=""){return this.fetch("DELETE",t)},put(t,e=""){return this.fetch("PUT",e,t)},post(t,e=""){return this.fetch("POST",e,t)},patch(t,e=""){return this.fetch("PATCH",e,t)},head(t=""){return this.fetch("HEAD",t)},opts(t=""){return this.fetch("OPTIONS",t)},body(t){return{...this,_options:{...this._options,body:t}}},json(t,e){const n=on(this._options.headers);return this.content(e||an(n)&&n||ei).body(JSON.stringify(t))}};function re(t="",e={}){return{...ai,_url:t,_options:e}}re.default=re,re.options=ti,re.errorType=ri,re.polyfills=ni,re.WretchError=sn;const si=t=>(e,n)=>new Promise(async(r,i)=>{try{const o=await Hr(),a={...n,headers:{...n.headers,Authorization:`Bearer ${o}`}};r(t(e,a))}catch(o){console.error("Error fetching access token:",o),i(o)}}),ci=t=>(e,n)=>{const r=localStorage.getItem("__anon_id"),i=btoa(`${r}:`),o={...n,headers:{...n.headers,Authorization:`Basic ${i}`}};return t(e,o)},_e=re(`https://api2.${wt}`).headers({"Content-Type":"application/json"}).middlewares([si,en(),tn({delayTimer:1e3,delayRamp:(t,e)=>t*e,maxAttempts:3,until:t=>(t==null?void 0:t.ok)||!1,retryOnNetworkError:!1})]),He=re(`https://api2.${wt}`).headers({"Content-Type":"application/json"}).middlewares([ci,en(),tn({delayTimer:1e3,delayRamp:(t,e)=>t*e,maxAttempts:3,until:t=>(t==null?void 0:t.ok)||!1,retryOnNetworkError:!1})]);async function ui(){return _e.get("/entitlements").json()}async function li(t){const e=await _e.get("/entitlements").json();return e==null?void 0:e.find(n=>n.id===t)}async function di(){return _e.get("/contracts").json()}async function hi(t){const e=await _e.get("/contracts").json();return e==null?void 0:e.find(n=>n.id===t)}async function fi(){return _e.get("/bills").json()}async function pi(t){const e=await _e.get("/bills").json();return e==null?void 0:e.find(n=>n.id===t)}async function mi(){return await He.get("/tags").json()}async function gi(t,e){return await He.url(`/tags/${t}`).put({value:e}).json()}async function yi(t,e){return await He.url(`/tags/${t}/push`).put({value:e}).json()}async function vi(t){const e=localStorage.getItem("__anon_id");if(!e)throw new Error("User id not found");return He.url("/articles/access").post({articleId:t.articleId,userId:e}).json()}async function wi(t){const e=await vi({articleId:t});return e.status!=="ok"&&B(he.SOFT_PAYWALL,{}),e}const cn="@sesamy/sesamy-js",bt="1.3.2";function bi(){return bt}function ki(t="sesamy"){const e={auth:{getUser:Fr,isAuthenticated:Xr,loginWithRedirect:Jr,logout:Vr},articles:{access:wi},tags:{list:mi,set:gi,push:yi},getEntitlement:li,getEntitlements:ui,getContract:hi,getContracts:di,getBill:pi,getBills:fi,getVersion:bi};return t!==null&&(window[t]=e),e}function un(t,e,n,r,i){for(e=e.split?e.split("."):e,r=0;r<e.length;r++)t=t?t[e[r]]:i;return t===i?n:t}var Ve="undefined",ln="object",Ii=function(){},dn="any",hn="*",pe="__",Ye=typeof process<"u"?process:{};Ye.env&&Ye.env.NODE_ENV;var V=typeof document<"u";Ye.versions!=null&&Ye.versions.node!=null,typeof Deno<"u"&&Deno.core,V&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent!==void 0&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom"));function fn(t,e){return e.charAt(0)[t]()+e.slice(1)}var _i=fn.bind(null,"toUpperCase"),Si=fn.bind(null,"toLowerCase");function Ei(t){return pn(t)?_i("null"):typeof t=="object"?ji(t):Object.prototype.toString.call(t).slice(8,-1)}function Ge(t,e){e===void 0&&(e=!0);var n=Ei(t);return e?Si(n):n}function Ne(t,e){return typeof e===t}var q=Ne.bind(null,"function"),ie=Ne.bind(null,"string"),Se=Ne.bind(null,"undefined"),Oi=Ne.bind(null,"boolean");Ne.bind(null,"symbol");function pn(t){return t===null}function Pi(t){return Ge(t)==="number"&&!isNaN(t)}function mn(t){return Ge(t)==="array"}function F(t){if(!Ti(t))return!1;for(var e=t;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function Ti(t){return t&&(typeof t=="object"||t!==null)}function ji(t){return q(t.constructor)?t.constructor.name:null}function xi(t){return t instanceof Error||ie(t.message)&&t.constructor&&Pi(t.constructor.stackTraceLimit)}function gn(t,e){if(typeof e!="object"||pn(e))return!1;if(e instanceof t)return!0;var n=Ge(new t(""));if(xi(e))for(;e;){if(Ge(e)===n)return!0;e=Object.getPrototypeOf(e)}return!1}gn.bind(null,TypeError),gn.bind(null,SyntaxError);function Be(t,e){var n=t instanceof Element||t instanceof HTMLDocument;return n&&e?Ci(t,e):n}function Ci(t,e){return e===void 0&&(e=""),t&&t.nodeName===e.toUpperCase()}function qe(t){var e=[].slice.call(arguments,1);return function(){return t.apply(void 0,[].slice.call(arguments).concat(e))}}qe(Be,"form"),qe(Be,"button"),qe(Be,"input"),qe(Be,"select");function $i(t){return t?mn(t)?t:[t]:[]}function yn(t){try{return decodeURIComponent(t.replace(/\+/g," "))}catch{return null}}function Ai(){if(V){var t=navigator,e=t.languages;return t.userLanguage||(e&&e.length?e[0]:t.language)}}function zi(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function Ni(t){return function(e){for(var n,r=Object.create(null),i=/([^&=]+)=?([^&]*)/g;n=i.exec(e);){var o=yn(n[1]),a=yn(n[2]);o.substring(o.length-2)==="[]"?(r[o=o.substring(0,o.length-2)]||(r[o]=[])).push(a):r[o]=a===""||a}for(var s in r){var m=s.split("[");m.length>1&&(Di(r,m.map(function(p){return p.replace(/[?[\]\\ ]/g,"")}),r[s]),delete r[s])}return r}(function(e){if(e){var n=e.match(/\?(.*)/);return n&&n[1]?n[1].split("#")[0]:""}return V&&window.location.search.substring(1)}(t))}function Di(t,e,n){for(var r=e.length-1,i=0;i<r;++i){var o=e[i];if(o==="__proto__"||o==="constructor")break;o in t||(t[o]={}),t=t[o]}t[e[r]]=n}function Qe(){for(var t="",e=0,n=4294967295*Math.random()|0;e++<36;){var r="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[e-1],i=15&n;t+=r=="-"||r=="4"?r:(r=="x"?i:3&i|8).toString(16),n=e%8==0?4294967295*Math.random()|0:n>>4}return t}var De="global",Ee=pe+"global"+pe,Oe=typeof self===ln&&self.self===self&&self||typeof global===ln&&global.global===global&&global||void 0;function me(t){return Oe[Ee][t]}function ge(t,e){return Oe[Ee][t]=e}function Pe(t){delete Oe[Ee][t]}function Te(t,e,n){var r;try{if(kt(t)){var i=window[t];r=i[e].bind(i)}}catch{}return r||n}Oe[Ee]||(Oe[Ee]={});var et={};function kt(t){if(typeof et[t]!==Ve)return et[t];try{var e=window[t];e.setItem(Ve,Ve),e.removeItem(Ve)}catch{return et[t]=!1}return et[t]=!0}function E(){return E=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},E.apply(this,arguments)}var oe="function",ne="undefined",Li="@@redux/"+Math.random().toString(36),vn=function(){return typeof Symbol===oe&&Symbol.observable||"@@observable"}(),tt=" != "+oe;function wn(t,e,n){var r;if(typeof e===oe&&typeof n===ne&&(n=e,e=void 0),typeof n!==ne){if(typeof n!==oe)throw new Error("enhancer"+tt);return n(wn)(t,e)}if(typeof t!==oe)throw new Error("reducer"+tt);var i=t,o=e,a=[],s=a,m=!1;function p(){s===a&&(s=a.slice())}function u(){return o}function c(d){if(typeof d!==oe)throw new Error("Listener"+tt);var w=!0;return p(),s.push(d),function(){if(w){w=!1,p();var k=s.indexOf(d);s.splice(k,1)}}}function h(d){if(!F(d))throw new Error("Act != obj");if(typeof d.type===ne)throw new Error("ActType "+ne);if(m)throw new Error("Dispatch in reducer");try{m=!0,o=i(o,d)}finally{m=!1}for(var w=a=s,k=0;k<w.length;k++)(0,w[k])();return d}return h({type:"@@redux/INIT"}),(r={dispatch:h,subscribe:c,getState:u,replaceReducer:function(d){if(typeof d!==oe)throw new Error("next reducer"+tt);i=d,h({type:"@@redux/INIT"})}})[vn]=function(){var d,w=c;return(d={subscribe:function(k){if(typeof k!="object")throw new TypeError("Observer != obj");function v(){k.next&&k.next(u())}return v(),{unsubscribe:w(v)}}})[vn]=function(){return this},d},r}function Ui(t,e){var n=e&&e.type;return"action "+(n&&n.toString()||"?")+"reducer "+t+" returns "+ne}function je(){var t=[].slice.call(arguments);return t.length===0?function(e){return e}:t.length===1?t[0]:t.reduce(function(e,n){return function(){return e(n.apply(void 0,[].slice.call(arguments)))}})}function Ri(){var t=arguments;return function(e){return function(n,r,i){var o,a=e(n,r,i),s=a.dispatch,m={getState:a.getState,dispatch:function(p){return s(p)}};return o=[].slice.call(t).map(function(p){return p(m)}),E({},a,{dispatch:s=je.apply(void 0,o)(a.dispatch)})}}}var ae=pe+"anon_id",ye=pe+"user_id",xe=pe+"user_traits",se="userId",Ce="anonymousId",nt=["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"],It=["name","EVENTS","config","loaded"],O=nt.reduce(function(t,e){return t[e]=e,t},{registerPluginType:function(t){return"registerPlugin:"+t},pluginReadyType:function(t){return"ready:"+t}}),bn=/^utm_/,kn=/^an_prop_/,In=/^an_trait_/;function Zi(t){var e=t.storage.setItem;return function(n){return function(r){return function(i){if(i.type===O.bootstrap){var o=i.params,a=i.user,s=i.persistedUser,m=i.initialUser,p=s.userId===a.userId;s.anonymousId!==a.anonymousId&&e(ae,a.anonymousId),p||e(ye,a.userId),m.traits&&e(xe,E({},p&&s.traits?s.traits:{},m.traits));var u=Object.keys(i.params);if(u.length){var c=o.an_uid,h=o.an_event,d=u.reduce(function(w,k){if(k.match(bn)||k.match(/^(d|g)clid/)){var v=k.replace(bn,"");w.campaign[v==="campaign"?"name":v]=o[k]}return k.match(kn)&&(w.props[k.replace(kn,"")]=o[k]),k.match(In)&&(w.traits[k.replace(In,"")]=o[k]),w},{campaign:{},props:{},traits:{}});n.dispatch(E({type:O.params,raw:o},d,c?{userId:c}:{})),c&&setTimeout(function(){return t.identify(c,d.traits)},0),h&&setTimeout(function(){return t.track(h,d.props)},0),Object.keys(d.campaign).length&&n.dispatch({type:O.campaign,campaign:d.campaign})}}return r(i)}}}}function Wi(t){return function(e,n){if(e===void 0&&(e={}),n===void 0&&(n={}),n.type===O.setItemEnd){if(n.key===ae)return E({},e,{anonymousId:n.value});if(n.key===ye)return E({},e,{userId:n.value})}switch(n.type){case O.identify:return Object.assign({},e,{userId:n.userId,traits:E({},e.traits,n.traits)});case O.reset:return[ye,ae,xe].forEach(function(r){t.removeItem(r)}),Object.assign({},e,{userId:null,anonymousId:null,traits:{}});default:return e}}}function _n(t){return{userId:t.getItem(ye),anonymousId:t.getItem(ae),traits:t.getItem(xe)}}var _t=function(t){return pe+"TEMP"+pe+t};function Ki(t){var e=t.storage,n=e.setItem,r=e.removeItem,i=e.getItem;return function(o){return function(a){return function(s){var m=s.userId,p=s.traits,u=s.options;if(s.type===O.reset&&([ye,xe,ae].forEach(function(d){r(d)}),[se,Ce,"traits"].forEach(function(d){Pe(_t(d))})),s.type===O.identify){i(ae)||n(ae,Qe());var c=i(ye),h=i(xe)||{};c&&c!==m&&o.dispatch({type:O.userIdChanged,old:{userId:c,traits:h},new:{userId:m,traits:p},options:u}),m&&n(ye,m),p&&n(xe,E({},h,p))}return a(s)}}}}var Le={};function Sn(t,e){Le[t]&&q(Le[t])&&(Le[t](e),delete Le[t])}function En(t,e,n){return new Promise(function(r,i){return e()?r(t):n<1?i(E({},t,{queue:!0})):new Promise(function(o){return setTimeout(o,10)}).then(function(o){return En(t,e,n-10).then(r,i)})})}function Mi(t){return{abort:t}}function On(t,e,n){var r={},i=e(),o=t.getState(),a=o.plugins,s=o.queue,m=o.user;if(!o.context.offline&&s&&s.actions&&s.actions.length){var p=s.actions.reduce(function(c,h,d){return a[h.plugin].loaded?(c.process.push(h),c.processIndex.push(d)):(c.requeue.push(h),c.requeueIndex.push(d)),c},{processIndex:[],process:[],requeue:[],requeueIndex:[]});if(p.processIndex&&p.processIndex.length){p.processIndex.forEach(function(c){var h=s.actions[c],d=h.plugin,w=h.payload.type,k=i[d][w];if(k&&q(k)){var v,I=function(l,b){return l===void 0&&(l={}),b===void 0&&(b={}),[se,Ce].reduce(function(T,P){return l.hasOwnProperty(P)&&b[P]&&b[P]!==l[P]&&(T[P]=b[P]),T},l)}(h.payload,m),_=r[I.meta.rid];if(!_&&(v=k({payload:I,config:a[d].config,instance:n,abort:Mi}))&&F(v)&&v.abort)return void(r[I.meta.rid]=!0);if(!_){var y=w+":"+d;t.dispatch(E({},I,{type:y,_:{called:y,from:"queueDrain"}}))}}});var u=s.actions.filter(function(c,h){return!~p.processIndex.indexOf(h)});s.actions=u}}}var St=function(t){var e=t.data,n=t.action,r=t.instance,i=t.state,o=t.allPlugins,a=t.allMatches,s=t.store,m=t.EVENTS;try{var p=i.plugins,u=i.context,c=n.type,h=c.match($e),d=e.exact.map(function(v){return v.pluginName});h&&(d=a.during.map(function(v){return v.pluginName}));var w=function(v,I){return function(_,y,l){var b=y.config,T=y.name,P=T+"."+_.type;l&&(P=l.event);var x=_.type.match($e)?function(L,D,Y,U,G){return function(Z,j){var M=U?U.name:L,J=j&&Ue(j)?j:Y;if(U&&(!(J=j&&Ue(j)?j:[L]).includes(L)||J.length!==1))throw new Error("Method "+D+" can only abort "+L+" plugin. "+JSON.stringify(J)+" input valid");return E({},G,{abort:{reason:Z,plugins:J,caller:D,_:M}})}}(T,P,I,l,_):function(L,D){return function(){throw new Error(L.type+" action not cancellable. Remove abort in "+D)}}(_,P);return{payload:Xi(_),instance:v,config:b||{},abort:x}}}(r,d),k=e.exact.reduce(function(v,I){var _=I.pluginName,y=I.methodName,l=!1;return y.match(/^initialize/)||y.match(/^reset/)||(l=!p[_].loaded),u.offline&&y.match(/^(page|track|identify)/)&&(l=!0),v[""+_]=l,v},{});return Promise.resolve(e.exact.reduce(function(v,I,_){try{var y=I.pluginName;return Promise.resolve(v).then(function(l){function b(){return Promise.resolve(l)}var T=function(){if(e.namespaced&&e.namespaced[y])return Promise.resolve(e.namespaced[y].reduce(function(P,x,L){try{return Promise.resolve(P).then(function(D){return x.method&&q(x.method)?(function(Z,j){var M=zn(Z);if(M&&M.name===j){var J=zn(M.method);throw new Error([j+" plugin is calling method "+Z,"Plugins cant call self","Use "+M.method+" "+(J?"or "+J.method:"")+" in "+j+" plugin insteadof "+Z].join(`
|
|
6
|
+
`))}}(x.methodName,x.pluginName),Promise.resolve(x.method({payload:D,instance:r,abort:(Y=D,U=y,G=x.pluginName,function(Z,j){return E({},Y,{abort:{reason:Z,plugins:j||[U],caller:c,from:G||U}})}),config:jn(x.pluginName,p,o),plugins:p})).then(function(Z){var j=F(Z)?Z:{};return Promise.resolve(E({},D,j))})):D;var Y,U,G})}catch(D){return Promise.reject(D)}},Promise.resolve(n))).then(function(P){l[y]=P});l[y]=n}();return T&&T.then?T.then(b):b()})}catch(l){return Promise.reject(l)}},Promise.resolve({}))).then(function(v){return Promise.resolve(e.exact.reduce(function(I,_,y){try{var l=e.exact.length===y+1,b=_.pluginName,T=o[b];return Promise.resolve(I).then(function(P){var x=v[b]?v[b]:{};if(h&&(x=P),Ot(x,b))return Et({data:x,method:c,instance:r,pluginName:b,store:s}),Promise.resolve(P);if(Ot(P,b))return l&&Et({data:P,method:c,instance:r,store:s}),Promise.resolve(P);if(k.hasOwnProperty(b)&&k[b]===!0)return s.dispatch({type:"queue",plugin:b,payload:x,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(P);var L=w(v[b],o[b]);return Promise.resolve(T[c]({abort:L.abort,payload:x,instance:r,config:jn(b,p,o),plugins:p})).then(function(D){var Y=F(D)?D:{},U=E({},P,Y),G=v[b];if(Ot(G,b))Et({data:G,method:c,instance:r,pluginName:b,store:s});else{var Z=c+":"+b;(Z.match(/:/g)||[]).length<2&&!c.match(Pn)&&!c.match(Tn)&&r.dispatch(E({},h?U:x,{type:Z,_:{called:Z,from:"submethod"}}))}return Promise.resolve(U)})})}catch(P){return Promise.reject(P)}},Promise.resolve(n))).then(function(I){if(!(c.match($e)||c.match(/^registerPlugin/)||c.match(Tn)||c.match(Pn)||c.match(/^params/)||c.match(/^userIdChanged/))){if(m.plugins.includes(c),I._&&I._.originalAction===c)return I;var _=E({},I,{_:{originalAction:I.type,called:I.type,from:"engineEnd"}});$n(I,e.exact.length)&&!c.match(/End$/)&&(_=E({},_,{type:I.type+"Aborted"})),s.dispatch(_)}return I})})}catch(v){return Promise.reject(v)}},$e=/Start$/,Pn=/^bootstrap/,Tn=/^ready/;function Et(t){var e=t.pluginName,n=t.method+"Aborted"+(e?":"+e:"");t.store.dispatch(E({},t.data,{type:n,_:{called:n,from:"abort"}}))}function jn(t,e,n){var r=e[t]||n[t];return r&&r.config?r.config:{}}function xn(t,e){return e.reduce(function(n,r){return r[t]?n.concat({methodName:t,pluginName:r.name,method:r[t]}):n},[])}function Cn(t,e){var n=t.replace($e,""),r=e?":"+e:"";return[""+t+r,""+n+r,n+"End"+r]}function Ot(t,e){var n=t.abort;return!!n&&(n===!0||An(n,e)||n&&An(n.plugins,e))}function $n(t,e){var n=t.abort;if(!n)return!1;if(n===!0||ie(n))return!0;var r=n.plugins;return Ue(n)&&n.length===e||Ue(r)&&r.length===e}function Ue(t){return Array.isArray(t)}function An(t,e){return!(!t||!Ue(t))&&t.includes(e)}function zn(t){var e=t.match(/(.*):(.*)/);return!!e&&{method:e[1],name:e[2]}}function Xi(t){return Object.keys(t).reduce(function(e,n){return n==="type"||(e[n]=F(t[n])?Object.assign({},t[n]):t[n]),e},{})}function Fi(t,e,n){var r={};return function(i){return function(o){return function(a){try{var s,m=function(l){return s?l:o(c)},p=a.type,u=a.plugins,c=a;if(a.abort)return Promise.resolve(o(a));if(p===O.enablePlugin&&i.dispatch({type:O.initializeStart,plugins:u,disabled:[],fromEnable:!0,meta:a.meta}),p===O.disablePlugin&&setTimeout(function(){return Sn(a.meta.rid,{payload:a})},0),p===O.initializeEnd){var h=e(),d=Object.keys(h),w=d.filter(function(l){return u.includes(l)}).map(function(l){return h[l]}),k=[],v=[],I=a.disabled,_=w.map(function(l){var b=l.loaded,T=l.name,P=l.config;return En(l,function(){return b({config:P})},1e4).then(function(x){return r[T]||(i.dispatch({type:O.pluginReadyType(T),name:T,events:Object.keys(l).filter(function(L){return!It.includes(L)})}),r[T]=!0),k=k.concat(T),l}).catch(function(x){if(x instanceof Error)throw new Error(x);return v=v.concat(x.name),x})});Promise.all(_).then(function(l){var b={plugins:k,failed:v,disabled:I};setTimeout(function(){d.length===_.length+I.length&&i.dispatch(E({},{type:O.ready},b))},0)})}var y=function(){if(p!==O.bootstrap)return/^ready:([^:]*)$/.test(p)&&setTimeout(function(){return On(i,e,t)},0),Promise.resolve(function(l,b,T,P,x){try{var L=q(b)?b():b,D=l.type,Y=D.replace($e,"");if(l._&&l._.called)return Promise.resolve(l);var U=T.getState(),G=(M=L,(J=U.plugins)===void 0&&(J={}),(Me=l.options)===void 0&&(Me={}),Object.keys(M).filter(function(f){var g=Me.plugins||{};return Oi(g[f])?g[f]:g.all!==!1&&(!J[f]||J[f].enabled!==!1)}).map(function(f){return M[f]}));D===O.initializeStart&&l.fromEnable&&(G=Object.keys(U.plugins).filter(function(f){var g=U.plugins[f];return l.plugins.includes(f)&&!g.initialized}).map(function(f){return L[f]}));var Z=G.map(function(f){return f.name}),j=function(f,g,S){var C=Cn(f).map(function($){return xn($,g)});return g.reduce(function($,A){var W=A.name,N=Cn(f,W).map(function(Xe){return xn(Xe,g)}),R=N[0],z=N[1],ee=N[2];return R.length&&($.beforeNS[W]=R),z.length&&($.duringNS[W]=z),ee.length&&($.afterNS[W]=ee),$},{before:C[0],beforeNS:{},during:C[1],duringNS:{},after:C[2],afterNS:{}})}(D,G);return Promise.resolve(St({action:l,data:{exact:j.before,namespaced:j.beforeNS},state:U,allPlugins:L,allMatches:j,instance:T,store:P,EVENTS:x})).then(function(f){function g(){var $=function(){if(D.match($e))return Promise.resolve(St({action:E({},S,{type:Y+"End"}),data:{exact:j.after,namespaced:j.afterNS},state:U,allPlugins:L,allMatches:j,instance:T,store:P,EVENTS:x})).then(function(A){A.meta&&A.meta.hasCallback&&Sn(A.meta.rid,{payload:A})})}();return $&&$.then?$.then(function(){return f}):f}if($n(f,Z.length))return f;var S,C=function(){if(D!==Y)return Promise.resolve(St({action:E({},f,{type:Y}),data:{exact:j.during,namespaced:j.duringNS},state:U,allPlugins:L,allMatches:j,instance:T,store:P,EVENTS:x})).then(function($){S=$});S=f}();return C&&C.then?C.then(g):g()})}catch(f){return Promise.reject(f)}var M,J,Me}(a,e,t,i,n)).then(function(l){return s=1,o(l)})}();return Promise.resolve(y&&y.then?y.then(m):m(y))}catch(l){return Promise.reject(l)}}}}}function Ji(t){return function(e){return function(n){return function(r){var i=r.type,o=r.key,a=r.value,s=r.options;if(i===O.setItem||i===O.removeItem){if(r.abort)return n(r);i===O.setItem?t.setItem(o,a,s):t.removeItem(o,s)}return n(r)}}}}var Hi=function(){var t=this;this.before=[],this.after=[],this.addMiddleware=function(e,n){t[n]=t[n].concat(e)},this.removeMiddleware=function(e,n){var r=t[n].findIndex(function(i){return i===e});r!==-1&&(t[n]=[].concat(t[n].slice(0,r),t[n].slice(r+1)))},this.dynamicMiddlewares=function(e){return function(n){return function(r){return function(i){var o={getState:n.getState,dispatch:function(s){return n.dispatch(s)}},a=t[e].map(function(s){return s(o)});return je.apply(void 0,a)(r)(i)}}}}};function Vi(t){return function(e,n){e===void 0&&(e={});var r={};if(n.type==="initialize:aborted")return e;if(/^registerPlugin:([^:]*)$/.test(n.type)){var i=Nn(n.type,"registerPlugin"),o=t()[i];if(!o||!i)return e;var a=n.enabled,s=o.config;return r[i]={enabled:a,initialized:!!a&&!o.initialize,loaded:!!a&&!!o.loaded({config:s}),config:s},E({},e,r)}if(/^initialize:([^:]*)$/.test(n.type)){var m=Nn(n.type,O.initialize),p=t()[m];return p&&m?(r[m]=E({},e[m],{initialized:!0,loaded:!!p.loaded({config:p.config})}),E({},e,r)):e}if(/^ready:([^:]*)$/.test(n.type))return r[n.name]=E({},e[n.name],{loaded:!0}),E({},e,r);switch(n.type){case O.disablePlugin:return E({},e,Dn(n.plugins,!1,e));case O.enablePlugin:return E({},e,Dn(n.plugins,!0,e));default:return e}}}function Nn(t,e){return t.substring(e.length+1,t.length)}function Dn(t,e,n){return t.reduce(function(r,i){return r[i]=E({},n[i],{enabled:e}),r},n)}function Ln(t){try{return JSON.parse(JSON.stringify(t))}catch{}return t}var Yi={last:{},history:[]};function Gi(t,e){t===void 0&&(t=Yi);var n=e.options,r=e.meta;if(e.type===O.track){var i=Ln(E({event:e.event,properties:e.properties},Object.keys(n).length&&{options:n},{meta:r}));return E({},t,{last:i,history:t.history.concat(i)})}return t}var Bi={actions:[]};function qi(t,e){t===void 0&&(t=Bi);var n=e.payload;switch(e.type){case"queue":var r;return r=n&&n.type&&n.type===O.identify?[e].concat(t.actions):t.actions.concat(e),E({},t,{actions:r});case"dequeue":return[];default:return t}}var Un=/#.*$/;function Qi(t){var e=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(t);return"/"+(e&&e[3]?e[3].split("?")[0].replace(Un,""):"")}var Rn,Zn,Wn,Kn,eo=function(t){if(t===void 0&&(t={}),!V)return t;var e=document,n=e.title,r=e.referrer,i=window,o=i.location,a=i.innerWidth,s=i.innerHeight,m=o.hash,p=o.search,u=function(h){var d=function(){if(V){for(var w,k=document.getElementsByTagName("link"),v=0;w=k[v];v++)if(w.getAttribute("rel")==="canonical")return w.getAttribute("href")}}();return d?d.match(/\?/)?d:d+h:window.location.href.replace(Un,"")}(p),c={title:n,url:u,path:Qi(u),hash:m,search:p,width:a,height:s};return r&&r!==""&&(c.referrer=r),E({},c,t)},to={last:{},history:[]};function no(t,e){t===void 0&&(t=to);var n=e.options;if(e.type===O.page){var r=Ln(E({properties:e.properties,meta:e.meta},Object.keys(n).length&&{options:n}));return E({},t,{last:r,history:t.history.concat(r)})}return t}Rn=function(){if(!V)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"}(),Zn=V?document.referrer:null,Wn=Ai(),Kn=zi();var Mn={initialized:!1,sessionId:Qe(),app:null,version:null,debug:!1,offline:!!V&&!navigator.onLine,os:{name:Rn},userAgent:V?navigator.userAgent:"node",library:{name:"analytics",version:"0.12.7"},timezone:Kn,locale:Wn,campaign:{},referrer:Zn};function ro(t,e){t===void 0&&(t=Mn);var n=t.initialized,r=e.campaign;switch(e.type){case O.campaign:return E({},t,{campaign:r});case O.offline:return E({},t,{offline:!0});case O.online:return E({},t,{offline:!1});default:return n?t:E({},Mn,t,{initialized:!0})}}var io=["plugins","reducers","storage"];function oo(t,e,n){if(V){var r=window[(n?"add":"remove")+"EventListener"];t.split(" ").forEach(function(i){r(i,e)})}}function ao(t){var e=oo.bind(null,"online offline",function(n){return Promise.resolve(!navigator.onLine).then(t)});return e(!0),function(n){return e(!1)}}function Xn(){return ge("analytics",[]),function(t){return function(e,n,r){var i=t(e,n,r),o=i.dispatch;return Object.assign(i,{dispatch:function(a){return Oe[Ee].analytics.push(a.action||a),o(a)}})}}}function Fn(t){return function(){return je(je.apply(null,arguments),Xn())}}function Pt(t){return t?mn(t)?t:[t]:[]}function Jn(t,e,n){t===void 0&&(t={});var r,i,o=Qe();return e&&(Le[o]=(r=e,i=function(a){for(var s,m=a||Array.prototype.slice.call(arguments),p=0;p<m.length;p++)if(q(m[p])){s=m[p];break}return s}(n),function(a){i&&i(a),r(a)})),E({},t,{rid:o,ts:new Date().getTime()},e?{hasCallback:!0}:{})}function so(t){t===void 0&&(t={});var e=t.reducers||{},n=t.initialUser||{},r=(t.plugins||[]).reduce(function(f,g){if(q(g))return f.middlewares=f.middlewares.concat(g),f;if(g.NAMESPACE&&(g.name=g.NAMESPACE),!g.name)throw new Error("https://lytics.dev/errors/1");g.config||(g.config={});var S=g.EVENTS?Object.keys(g.EVENTS).map(function(A){return g.EVENTS[A]}):[];f.pluginEnabled[g.name]=!(g.enabled===!1||g.config.enabled===!1),delete g.enabled,g.methods&&(f.methods[g.name]=Object.keys(g.methods).reduce(function(A,W){var N;return A[W]=(N=g.methods[W],function(){for(var R=Array.prototype.slice.call(arguments),z=new Array(N.length),ee=0;ee<R.length;ee++)z[ee]=R[ee];return z[z.length]=b,N.apply({instance:b},z)}),A},{}),delete g.methods);var C=Object.keys(g).concat(S),$=new Set(f.events.concat(C));if(f.events=Array.from($),f.pluginsArray=f.pluginsArray.concat(g),f.plugins[g.name])throw new Error(g.name+"AlreadyLoaded");return f.plugins[g.name]=g,f.plugins[g.name].loaded||(f.plugins[g.name].loaded=function(){return!0}),f},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),i=t.storage?t.storage:{getItem:me,setItem:ge,removeItem:Pe},o=function(f){return function(g,S,C){return S.getState("user")[g]||(C&&F(C)&&C[g]?C[g]:_n(f)[g]||me(_t(g))||null)}}(i),a=r.plugins,s=r.events.filter(function(f){return!It.includes(f)}).sort(),m=new Set(s.concat(nt).filter(function(f){return!It.includes(f)})),p=Array.from(m).sort(),u=function(){return a},c=new Hi,h=c.addMiddleware,d=c.removeMiddleware,w=c.dynamicMiddlewares,k=function(){throw new Error("Abort disabled inListener")},v=Ni(),I=_n(i),_=E({},I,n,v.an_uid?{userId:v.an_uid}:{},v.an_aid?{anonymousId:v.an_aid}:{});_.anonymousId||(_.anonymousId=Qe());var y=E({enable:function(f,g){return new Promise(function(S){j.dispatch({type:O.enablePlugin,plugins:Pt(f),_:{originalAction:O.enablePlugin}},S,[g])})},disable:function(f,g){return new Promise(function(S){j.dispatch({type:O.disablePlugin,plugins:Pt(f),_:{originalAction:O.disablePlugin}},S,[g])})}},r.methods),l=!1,b={identify:function(f,g,S,C){try{var $=ie(f)?f:null,A=F(f)?f:g,W=S||{},N=b.user();ge(_t(se),$);var R=$||A.userId||o(se,b,A);return Promise.resolve(new Promise(function(z){j.dispatch(E({type:O.identifyStart,userId:R,traits:A||{},options:W,anonymousId:N.anonymousId},N.id&&N.id!==$&&{previousId:N.id}),z,[g,S,C])}))}catch(z){return Promise.reject(z)}},track:function(f,g,S,C){try{var $=F(f)?f.event:f;if(!$||!ie($))throw new Error("EventMissing");var A=F(f)?f:g||{},W=F(S)?S:{};return Promise.resolve(new Promise(function(N){j.dispatch({type:O.trackStart,event:$,properties:A,options:W,userId:o(se,b,g),anonymousId:o(Ce,b,g)},N,[g,S,C])}))}catch(N){return Promise.reject(N)}},page:function(f,g,S){try{var C=F(f)?f:{},$=F(g)?g:{};return Promise.resolve(new Promise(function(A){j.dispatch({type:O.pageStart,properties:eo(C),options:$,userId:o(se,b,C),anonymousId:o(Ce,b,C)},A,[f,g,S])}))}catch(A){return Promise.reject(A)}},user:function(f){if(f===se||f==="id")return o(se,b);if(f===Ce||f==="anonId")return o(Ce,b);var g=b.getState("user");return f?un(g,f):g},reset:function(f){return new Promise(function(g){j.dispatch({type:O.resetStart},g,f)})},ready:function(f){return l&&f({plugins:y,instance:b}),b.on(O.ready,function(g){f(g),l=!0})},on:function(f,g){if(!f||!q(g))return!1;if(f===O.bootstrap)throw new Error(".on disabled for "+f);var S=/Start$|Start:/;if(f==="*"){var C=function(N){return function(R){return function(z){return z.type.match(S)&&g({payload:z,instance:b,plugins:a}),R(z)}}},$=function(N){return function(R){return function(z){return z.type.match(S)||g({payload:z,instance:b,plugins:a}),R(z)}}};return h(C,rt),h($,it),function(){d(C,rt),d($,it)}}var A=f.match(S)?rt:it,W=function(N){return function(R){return function(z){return z.type===f&&g({payload:z,instance:b,plugins:a,abort:k}),R(z)}}};return h(W,A),function(){return d(W,A)}},once:function(f,g){if(!f||!q(g))return!1;if(f===O.bootstrap)throw new Error(".once disabled for "+f);var S=b.on(f,function(C){g({payload:C.payload,instance:b,plugins:a,abort:k}),S()});return S},getState:function(f){var g=j.getState();return f?un(g,f):Object.assign({},g)},dispatch:function(f){var g=ie(f)?{type:f}:f;if(nt.includes(g.type))throw new Error("reserved action "+g.type);var S=E({},g,{_:E({originalAction:g.type},f._||{})});j.dispatch(S)},enablePlugin:y.enable,disablePlugin:y.disable,plugins:y,storage:{getItem:i.getItem,setItem:function(f,g,S){j.dispatch({type:O.setItemStart,key:f,value:g,options:S})},removeItem:function(f,g){j.dispatch({type:O.removeItemStart,key:f,options:g})}},setAnonymousId:function(f,g){b.storage.setItem(ae,f,g)},events:{core:nt,plugins:s}},T=r.middlewares.concat([function(f){return function(g){return function(S){return S.meta||(S.meta=Jn()),g(S)}}},w(rt),Fi(b,u,{all:p,plugins:s}),Ji(i),Zi(b),Ki(b),w(it)]),P={context:ro,user:Wi(i),page:no,track:Gi,plugins:Vi(u),queue:qi},x=je,L=je;if(V&&t.debug){var D=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;D&&(x=D({trace:!0,traceLimit:25})),L=function(){return arguments.length===0?Xn():F(typeof arguments[0])?Fn():Fn().apply(null,arguments)}}var Y,U=function(f){return Object.keys(f).reduce(function(g,S){return io.includes(S)||(g[S]=f[S]),g},{})}(t),G=r.pluginsArray.reduce(function(f,g){var S=g.name,C=g.config,$=g.loaded,A=r.pluginEnabled[S];return f[S]={enabled:A,initialized:!!A&&!g.initialize,loaded:!!$({config:C}),config:C},f},{}),Z={context:U,user:_,plugins:G},j=wn(function(f){for(var g=Object.keys(f),S={},C=0;C<g.length;C++){var $=g[C];typeof f[$]===oe&&(S[$]=f[$])}var A,W=Object.keys(S);try{(function(N){Object.keys(N).forEach(function(R){var z=N[R];if(typeof z(void 0,{type:"@@redux/INIT"})===ne||typeof z(void 0,{type:Li})===ne)throw new Error("reducer "+R+" "+ne)})})(S)}catch(N){A=N}return function(N,R){if(N===void 0&&(N={}),A)throw A;for(var z=!1,ee={},Xe=0;Xe<W.length;Xe++){var lt=W[Xe],lr=N[lt],Lt=(0,S[lt])(lr,R);if(typeof Lt===ne){var Lo=Ui(lt,R);throw new Error(Lo)}ee[lt]=Lt,z=z||Lt!==lr}return z?ee:N}}(E({},P,e)),Z,L(x(Ri.apply(void 0,T))));j.dispatch=(Y=j.dispatch,function(f,g,S){var C=E({},f,{meta:Jn(f.meta,g,Pt(S))});return Y.apply(null,[C])});var M=Object.keys(a);j.dispatch({type:O.bootstrap,plugins:M,config:U,params:v,user:_,initialUser:n,persistedUser:I});var J=M.filter(function(f){return r.pluginEnabled[f]}),Me=M.filter(function(f){return!r.pluginEnabled[f]});return j.dispatch({type:O.registerPlugins,plugins:M,enabled:r.pluginEnabled}),r.pluginsArray.map(function(f,g){var S=f.bootstrap,C=f.config,$=f.name;S&&q(S)&&S({instance:b,config:C,payload:f}),j.dispatch({type:O.registerPluginType($),name:$,enabled:r.pluginEnabled[$],plugin:f}),r.pluginsArray.length===g+1&&j.dispatch({type:O.initializeStart,plugins:J,disabled:Me})}),ao(function(f){j.dispatch({type:f?O.offline:O.online})}),function(f,g,S){setInterval(function(){return On(f,g,S)},3e3)}(j,u,b),b}var rt="before",it="after",Re="cookie",ve=Yn(),Hn=ot,co=ot;function Vn(t){return ve?ot(t,"",-1):Pe(t)}function Yn(){if(ve!==void 0)return ve;var t="cookiecookie";try{ot(t,t),ve=document.cookie.indexOf(t)!==-1,Vn(t)}catch{ve=!1}return ve}function ot(t,e,n,r,i,o){if(typeof window<"u"){var a=arguments.length>1;return ve===!1&&(a?ge(t,e):me(t)),a?document.cookie=t+"="+encodeURIComponent(e)+(n?"; expires="+new Date(+new Date+1e3*n).toUTCString()+(r?"; path="+r:"")+(i?"; domain="+i:"")+(o?"; secure":""):""):decodeURIComponent((("; "+document.cookie).split("; "+t+"=")[1]||"").split(";")[0])}}var Ze="localStorage",uo=kt.bind(null,"localStorage");Te("localStorage","getItem",me),Te("localStorage","setItem",ge),Te("localStorage","removeItem",Pe);var We="sessionStorage",lo=kt.bind(null,"sessionStorage");Te("sessionStorage","getItem",me),Te("sessionStorage","setItem",ge),Te("sessionStorage","removeItem",Pe);function Ae(t){var e=t;try{if((e=JSON.parse(t))==="true")return!0;if(e==="false")return!1;if(F(e))return e;parseFloat(e)===e&&(e=parseFloat(e))}catch{}if(e!==null&&e!=="")return e}var ho=uo(),fo=lo(),po=Yn();function Gn(t,e){if(t){var n=Tt(e),r=!$t(n),i=jt(n)?Ae(localStorage.getItem(t)):void 0;if(r&&!Se(i))return i;var o=xt(n)?Ae(Hn(t)):void 0;if(r&&o)return o;var a=Ct(n)?Ae(sessionStorage.getItem(t)):void 0;if(r&&a)return a;var s=me(t);return r?s:{localStorage:i,sessionStorage:a,cookie:o,global:s}}}function mo(t,e,n){if(t&&!Se(e)){var r={},i=Tt(n),o=JSON.stringify(e),a=!$t(i);return jt(i)&&(r[Ze]=st(Ze,e,Ae(localStorage.getItem(t))),localStorage.setItem(t,o),a)?r[Ze]:xt(i)&&(r[Re]=st(Re,e,Ae(Hn(t))),co(t,o),a)?r[Re]:Ct(i)&&(r[We]=st(We,e,Ae(sessionStorage.getItem(t))),sessionStorage.setItem(t,o),a)?r[We]:(r[De]=st(De,e,me(t)),ge(t,e),a?r[De]:r)}}function go(t,e){if(t){var n=Tt(e),r=Gn(t,hn),i={};return!Se(r.localStorage)&&jt(n)&&(localStorage.removeItem(t),i[Ze]=r.localStorage),!Se(r.cookie)&&xt(n)&&(Vn(t),i[Re]=r.cookie),!Se(r.sessionStorage)&&Ct(n)&&(sessionStorage.removeItem(t),i[We]=r.sessionStorage),!Se(r.global)&&at(n,De)&&(Pe(t),i[De]=r.global),i}}function Tt(t){return t?ie(t)?t:t.storage:dn}function jt(t){return ho&&at(t,Ze)}function xt(t){return po&&at(t,Re)}function Ct(t){return fo&&at(t,We)}function $t(t){return t===hn||t==="all"}function at(t,e){return t===dn||t===e||$t(t)}function st(t,e,n){return{location:t,current:e,previous:n}}var yo={setItem:mo,getItem:Gn,removeItem:go};function vo(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Bn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function qn(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Bn(Object(n),!0).forEach(function(r){vo(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Bn(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function wo(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e={storage:yo};return so(qn(qn({},e),t))}function bo(t,e){e=e||{};var n,r,i=[],o=e.max||1/0;function a(){clearInterval(n),t(i.splice(0,o)),s()}function s(){n=setInterval(a,e.interval||1e4)}return s(),{flush:a,push:function(m){return r=i.push(m),r>=o&&a(),r},size:function(){return i.length},end:function(m){m&&a(),clearInterval(n)}}}function ko(t){if(!(typeof window>"u")){var e=window,n=e.addEventListener,r=e.history,i=e.location,o=i.pathname;n("popstate",function(){return t(i.pathname)}),["push","replace"].map(function(a){var s="".concat(a,"State"),m=r[s];r[s]=function(){var p=arguments,u=_o(arguments[2]);return o!==u&&(o=u,setTimeout(function(){return t(p[2])},0)),m.apply(r,arguments)}})}}function Io(t,e){var n=t.indexOf(e);return n>-1?t.slice(0,n):t}function _o(t){return["#","?"].forEach(function(e){return t=Io(t,e)}),t}function So(){ko(()=>{we.page()})}var Qn="EventListener";function Eo(t){return function(e,n,r,i){var o=r||Ii,a=i||!1;if(!V)return o;var s=ct(n),m=ct(e,!0);if(!m.length)throw new Error("noElements");if(!s.length)throw new Error("noEvent");var p=[];return function u(c){c&&(p=[]);for(var h=c?"add"+Qn:"remove"+Qn,d=0;d<m.length;d++){var w=m[d];p[d]=c?a&&a.once?Oo(o):o:p[d]||o;for(var k=0;k<s.length;k++)w[h]?w["on"+s[k]]=c?p[d]:null:w[h](s[k],p[d],a)}return u.bind(null,!c)}(t)}}function ct(t,e){if(ie(t))return e?ct(document.querySelectorAll(t)):(n=t).split(n.indexOf(",")>-1?",":" ").map(function(a){return a.trim()});var n;if(NodeList.prototype.isPrototypeOf(t)){for(var r=[],i=t.length>>>0;i--;)r[i]=t[i];return r}var o=$i(t);return e?o.map(function(a){return ie(a)?ct(a,!0):a}).flat():o}function Oo(t,e){var n;return function(){return t&&(n=t.apply(e||this,arguments),t=null),n}}var At=Eo("Event");function er(t,e){return V&&q(window[t])?(n=window[t],r=e,(i=window)===void 0&&(i=null),q(n)?function(){n.apply(i,arguments),r.apply(i,arguments)}:r):window[t]=e;var n,r,i}er.bind(null,"onerror"),er.bind(null,"onload");var tr=typeof window>"u",nr="hidden";function Po(t){if(tr)return!1;var e=To(),n="".concat(e.replace(/[H|h]idden/,""),"visibilitychange"),r=function(){return t(!!document[e])},i=function(){return document.addEventListener(n,r)};return i(),function(){return document.removeEventListener(n,r),i}}function To(){var t=["webkit","moz","ms","o"];return tr||nr in document?nr:t.reduce(function(e,n){var r=n+"Hidden";return!e&&r in document?r:e},null)}var jo=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function xo(t,e){e===void 0&&(e={});var n=function(a,s){var m=this,p=!1;return function(u){p||(a.call(m,u),p=!0,setTimeout(function(){return p=!1},s))}}(t,e.throttle||1e4),r=[];function i(){var a=Po(function(s){s||n({type:"tabVisible"})});return r=[a].concat(jo.map(function(s){return At(document,s,n)})).concat(At(window,"load",n)).concat(At(window,"scroll",n,{capture:!0,passive:!0})),o}function o(){r.map(function(a){return a()})}return i(),function(){return o(),i}}function Co(t){var e,n,r=t.onIdle,i=t.onWakeUp,o=t.onHeartbeat,a=t.timeout,s=a===void 0?1e4:a,m=t.throttle,p=m===void 0?2e3:m,u=!1,c=!1,h=new Date,d=function(){return clearTimeout(e)};function w(v){d(),o&&!u&&o(Ke(h),v),i&&u&&(u=!1,i(Ke(n),v),h=new Date),e=setTimeout(function(){u=!0,r&&(n=new Date,r(Ke(h),v))},s)}var k=xo(w,{throttle:p});return{disable:function(){c=!0,u=!1,d();var v=k();return function(){return c=!1,h=new Date,w({type:"load"}),v()}},getStatus:function(){return{isIdle:u,isDisabled:c,active:u?0:Ke(h,c),idle:u?Ke(n,c):0}}}}function Ke(t,e){return e?0:Math.round((new Date-t)/1e3)}const rr=5e3;class $o{constructor(e){Q(this,"element");Q(this,"isInViewport",!1);Q(this,"isAwake",!1);Q(this,"isFlushing");Q(this,"observer");Q(this,"lastEventAt",Date.now());Q(this,"registeredView",!1);Q(this,"viewCallback");Q(this,"activeDurationCallback");Q(this,"idleDurationCallback");this.element=e.element,this.viewCallback=e.viewCallback,this.activeDurationCallback=e.activeDurationCallback,this.idleDurationCallback=e.idleDurationCallback,this.observer=new IntersectionObserver(n=>{n.forEach(r=>{this.handleInViewPort(r.isIntersecting)})},{threshold:0}),this.observer.observe(this.element),Co({onIdle:n=>this.handleAwake(!1,n),onWakeUp:n=>this.handleAwake(!0,n),timeout:rr})}flush(){this.isFlushing=!0,this.handleAwake(!this.isAwake,Math.round((Date.now()-this.lastEventAt)/1e3))}handleInViewPort(e){e?(this.isAwake=!0,this.trackInViewport()):this.handleAwake(!1,Math.round((Date.now()-this.lastEventAt)/1e3)),this.isInViewport=e}handleAwake(e,n){this.isAwake=e,this.lastEventAt=e?Date.now()-n*rr:Date.now(),this.isInViewport&&this.trackAwake(e,n)}trackAwake(e,n){!e&&this.activeDurationCallback&&this.activeDurationCallback(n,this.isFlushing),e&&this.idleDurationCallback&&this.idleDurationCallback(n,this.isFlushing)}trackInViewport(){this.registeredView||(this.registeredView=!0,this.viewCallback&&this.viewCallback())}}const ir="sesamy_session_id";function Ao(){let t=sessionStorage.getItem(ir);return t||(t=Math.random().toString(36).slice(2,9),sessionStorage.setItem(ir,t)),t}let or=!1,zt,ar,ut;function zo({clientId:t,enabled:e=!0,endpoint:n=Kr}){if(zt=t,ar=e,ut=n,!ar)return;So();const r=new $o({element:document.body,viewCallback:()=>{we.page()},activeDurationCallback:(i,o)=>{we.track("activeDuration",{duration:i,flushing:o})},idleDurationCallback:(i,o)=>{we.track("idleDuration",{duration:i,flushing:o})}});Do(document.body,()=>{r.flush()}),window.addEventListener(he.AUTHENTICATED,async i=>{const o=i;await we.identify(o.detail.sub)}),window.addEventListener(he.LOGOUT,async()=>{await we.track("logout",{}),Nt.flush(),await we.reset()})}function sr(t){return JSON.stringify(t.map(e=>({...e,clientId:zt,requestId:Math.random().toString(36).slice(2,9),sessionId:Ao(),timestamp:new Date().toISOString(),version:bt,event:e.event,context:{page:{url:window.location.hostname,path:window.location.pathname,title:document.title,search:window.location.search,referrer:document.referrer},locale:navigator.language,library:cn,userAgent:navigator.userAgent,clientId:zt}})))}const Nt=bo(async t=>{if(t.length>0){const e=sr(t);or?navigator.sendBeacon(ut,e):(await fetch(ut,{method:"POST",body:e,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function Dt(t){var e;if(t.anonymousId)if((e=t.properties)!=null&&e.flushing){const n={...t};delete n.properties.flushing,navigator.sendBeacon(ut,sr([n]))}else Nt.push(t)}const we=wo({app:cn,version:bt,plugins:[{name:"custom-analytics-plugin",page:({payload:t})=>{const{properties:e,anonymousId:n,userId:r,event:i}=t;Dt({anonymousId:n,userId:r,properties:e,event:i,type:"page"})},track:({payload:t})=>{const{properties:e,anonymousId:n,userId:r,event:i}=t;Dt({anonymousId:n,userId:r,properties:e,event:i,type:"track"})},identify:({payload:t})=>{const{properties:e,anonymousId:n,userId:r}=t;Dt({anonymousId:n,userId:r,properties:e,type:"identify"})}}]});function No(){return or=!0,Nt.flush()}const cr=new Map;function Do(t,e){cr.set(t,e)}window.addEventListener("beforeunload",()=>{cr.forEach((t,e)=>{t.bind(e)()}),No()});async function ur(t){zo({clientId:t.clientId,...t.analytics}),await Mr(t);const e=ki(t.namespace);return B(he.READY,{}),e}if(typeof document<"u"){const t=document.getElementById("sesamy-js");if(t!=null&&t.textContent)try{const e=JSON.parse(t.textContent);ur(e)}catch(e){console.error("Failed to parse config",e)}}return te.init=ur,Object.defineProperty(te,Symbol.toStringTag,{value:"Module"}),te}({});
|