@sesamy/sesamy-js 1.3.3 → 1.3.5
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/README.md +69 -0
- package/dist/sesamy-js.cjs +5 -5
- package/dist/sesamy-js.iife.js +5 -5
- package/dist/sesamy-js.mjs +77 -77
- package/package.json +2 -2
package/README.md
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# sesamy-js
|
|
2
|
+
|
|
3
|
+
The Sesamy browser javascript API
|
|
4
|
+
|
|
5
|
+
The project handles analytics, authentication and communication with the Seasmy API
|
|
6
|
+
|
|
7
|
+
## Analytics
|
|
8
|
+
|
|
9
|
+
The analytics module is used to track events and page views. It is using the [GetAnalytics](https://getanalytics.io/) library to send events to the Sesamy interaction endpoint.
|
|
10
|
+
|
|
11
|
+
The following events are tracked:
|
|
12
|
+
|
|
13
|
+
- Page views, with events triggered on router updates
|
|
14
|
+
|
|
15
|
+
## API
|
|
16
|
+
|
|
17
|
+
The following methods are available on the `sesamy` object:
|
|
18
|
+
|
|
19
|
+
- init - Initializes the sesamy-js library
|
|
20
|
+
- auth
|
|
21
|
+
- getUser: fetches the user's profile
|
|
22
|
+
- isAuthenticated: checks if the user is authenticated
|
|
23
|
+
- loginWithRedirect: redirects the user to the login page
|
|
24
|
+
- logout: logs the user out
|
|
25
|
+
- entitlements
|
|
26
|
+
- get: fetches a single entitlement by id
|
|
27
|
+
- list - fetches the user's entitlements
|
|
28
|
+
- profile
|
|
29
|
+
- get: fetches the user's profile
|
|
30
|
+
- update: updates the user's profile
|
|
31
|
+
- tags
|
|
32
|
+
- get: fetches the user's tags
|
|
33
|
+
- set: sets a tag for the user
|
|
34
|
+
- push: pushes a tag to a tag list
|
|
35
|
+
- getVersion: returns the version of the sesamy-js library
|
|
36
|
+
|
|
37
|
+
## Events
|
|
38
|
+
|
|
39
|
+
The following events are emitted by the sesamy-js library:
|
|
40
|
+
|
|
41
|
+
- `sesamyReady` - Emitted when the `sesamy-js` library is ready to be used
|
|
42
|
+
- `sesamyAuthenticated` - Emitted when the user is authenticated
|
|
43
|
+
|
|
44
|
+
## Usage
|
|
45
|
+
|
|
46
|
+
The script can either be initiated with a JSON object in a script tag or by calling the init method.
|
|
47
|
+
|
|
48
|
+
The script will look for a script tag with the id `sesamy-js`, and if it isn't found it will wait for a call to the init function before initializing. The only required part is the `clientId` attribute.
|
|
49
|
+
|
|
50
|
+
```html
|
|
51
|
+
<script type="application/json" id="sesamy-js">
|
|
52
|
+
{
|
|
53
|
+
"clientId": "demo"
|
|
54
|
+
}
|
|
55
|
+
</script>
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
These are the available configuration options, with their default values:
|
|
59
|
+
|
|
60
|
+
```javascript
|
|
61
|
+
{
|
|
62
|
+
clientId: null,
|
|
63
|
+
namespace: 'sesamy',
|
|
64
|
+
analytics: {
|
|
65
|
+
enabled: true,
|
|
66
|
+
endpoint: 'https://logs.sesamy.com/events'
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
```
|
package/dist/sesamy-js.cjs
CHANGED
|
@@ -1,6 +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,
|
|
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 Je=(...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,Jt,Xt,ht,Rr=(Mt="Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7Y2xhc3MgZSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKHQscil7c3VwZXIociksdGhpcy5lcnJvcj10LHRoaXMuZXJyb3JfZGVzY3JpcHRpb249cixPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxlLnByb3RvdHlwZSl9c3RhdGljIGZyb21QYXlsb2FkKHtlcnJvcjp0LGVycm9yX2Rlc2NyaXB0aW9uOnJ9KXtyZXR1cm4gbmV3IGUodCxyKX19Y2xhc3MgdCBleHRlbmRzIGV7Y29uc3RydWN0b3IoZSxzKXtzdXBlcigibWlzc2luZ19yZWZyZXNoX3Rva2VuIixgTWlzc2luZyBSZWZyZXNoIFRva2VuIChhdWRpZW5jZTogJyR7cihlLFsiZGVmYXVsdCJdKX0nLCBzY29wZTogJyR7cihzKX0nKWApLHRoaXMuYXVkaWVuY2U9ZSx0aGlzLnNjb3BlPXMsT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsdC5wcm90b3R5cGUpfX1mdW5jdGlvbiByKGUsdD1bXSl7cmV0dXJuIGUmJiF0LmluY2x1ZGVzKGUpP2U6IiJ9ImZ1bmN0aW9uIj09dHlwZW9mIFN1cHByZXNzZWRFcnJvciYmU3VwcHJlc3NlZEVycm9yO2NvbnN0IHM9ZT0+e3ZhcntjbGllbnRJZDp0fT1lLHI9ZnVuY3Rpb24oZSx0KXt2YXIgcj17fTtmb3IodmFyIHMgaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxzKSYmdC5pbmRleE9mKHMpPDAmJihyW3NdPWVbc10pO2lmKG51bGwhPWUmJiJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgbz0wO2ZvcihzPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7bzxzLmxlbmd0aDtvKyspdC5pbmRleE9mKHNbb10pPDAmJk9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLHNbb10pJiYocltzW29dXT1lW3Nbb11dKX1yZXR1cm4gcn0oZSxbImNsaWVudElkIl0pO3JldHVybiBuZXcgVVJMU2VhcmNoUGFyYW1zKChlPT5PYmplY3Qua2V5cyhlKS5maWx0ZXIoKHQ9PnZvaWQgMCE9PWVbdF0pKS5yZWR1Y2UoKCh0LHIpPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse1tyXTplW3JdfSkpLHt9KSkoT2JqZWN0LmFzc2lnbih7Y2xpZW50X2lkOnR9LHIpKSkudG9TdHJpbmcoKX07bGV0IG89e307Y29uc3Qgbj0oZSx0KT0+YCR7ZX18JHt0fWA7YWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsKGFzeW5jKHtkYXRhOnt0aW1lb3V0OmUsYXV0aDpyLGZldGNoVXJsOmksZmV0Y2hPcHRpb25zOmMsdXNlRm9ybURhdGE6YX0scG9ydHM6W3BdfSk9PntsZXQgZjtjb25zdHthdWRpZW5jZTp1LHNjb3BlOmx9PXJ8fHt9O3RyeXtjb25zdCByPWE/KGU9Pntjb25zdCB0PW5ldyBVUkxTZWFyY2hQYXJhbXMoZSkscj17fTtyZXR1cm4gdC5mb3JFYWNoKCgoZSx0KT0+e3JbdF09ZX0pKSxyfSkoYy5ib2R5KTpKU09OLnBhcnNlKGMuYm9keSk7aWYoIXIucmVmcmVzaF90b2tlbiYmInJlZnJlc2hfdG9rZW4iPT09ci5ncmFudF90eXBlKXtjb25zdCBlPSgoZSx0KT0+b1tuKGUsdCldKSh1LGwpO2lmKCFlKXRocm93IG5ldyB0KHUsbCk7Yy5ib2R5PWE/cyhPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30scikse3JlZnJlc2hfdG9rZW46ZX0pKTpKU09OLnN0cmluZ2lmeShPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30scikse3JlZnJlc2hfdG9rZW46ZX0pKX1sZXQgaCxnOyJmdW5jdGlvbiI9PXR5cGVvZiBBYm9ydENvbnRyb2xsZXImJihoPW5ldyBBYm9ydENvbnRyb2xsZXIsYy5zaWduYWw9aC5zaWduYWwpO3RyeXtnPWF3YWl0IFByb21pc2UucmFjZShbKGQ9ZSxuZXcgUHJvbWlzZSgoZT0+c2V0VGltZW91dChlLGQpKSkpLGZldGNoKGksT2JqZWN0LmFzc2lnbih7fSxjKSldKX1jYXRjaChlKXtyZXR1cm4gdm9pZCBwLnBvc3RNZXNzYWdlKHtlcnJvcjplLm1lc3NhZ2V9KX1pZighZylyZXR1cm4gaCYmaC5hYm9ydCgpLHZvaWQgcC5wb3N0TWVzc2FnZSh7ZXJyb3I6IlRpbWVvdXQgd2hlbiBleGVjdXRpbmcgJ2ZldGNoJyJ9KTtmPWF3YWl0IGcuanNvbigpLGYucmVmcmVzaF90b2tlbj8oKChlLHQscik9PntvW24odCxyKV09ZX0pKGYucmVmcmVzaF90b2tlbix1LGwpLGRlbGV0ZSBmLnJlZnJlc2hfdG9rZW4pOigoZSx0KT0+e2RlbGV0ZSBvW24oZSx0KV19KSh1LGwpLHAucG9zdE1lc3NhZ2Uoe29rOmcub2ssanNvbjpmfSl9Y2F0Y2goZSl7cC5wb3N0TWVzc2FnZSh7b2s6ITEsanNvbjp7ZXJyb3I6ZS5lcnJvcixlcnJvcl9kZXNjcmlwdGlvbjplLm1lc3NhZ2V9fSl9dmFyIGR9KSl9KCk7Cgo=",Jt=null,Xt=!1,function(t){return ht=ht||Ur(Mt,Jt,Xt),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},Ft=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
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;
|
|
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",!Ft(n))throw new Error(`Invalid cache location "${n}"`);r=Ft(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=Je("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: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 _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:Je(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:Je(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",Jr="https://logs.sesamy.com/events";var pe=(t=>(t.READY="sesamyJsReady",t.AUTHENTICATED="sesamyJsAuthenticated",t.LOGOUT="sesamyJsLogout",t.SOFT_PAYWALL="sesamyJsSoftPaywall",t))(pe||{});let X;async function Xr({clientId:t}){if(X=await Mr({domain:`token.${xt}`,clientId:t,cacheLocation:"localstorage"}),window.location.search.includes("code="))try{await X.handleRedirectCallback();const e=await X.getUser();rt(pe.AUTHENTICATED,e),window.history.replaceState({},document.title,"/");const n=await X.getTokenSilently();localStorage.setItem("accessToken",n)}catch{}}async function Fr(){if(!X)throw new Error("Auth0 client not initialized");return X.isAuthenticated()}async function Hr(){if(!X)throw new Error("Auth0 client not initialized");return X.getUser()}function Vr(){if(!X)throw new Error("Auth0 client not initialized");return X.loginWithRedirect({authorizationParams:{redirect_uri:window.location.href}})}async function Yr(){if(!X)throw new Error("Auth0 client not initialized");return X.getTokenSilently()}async function Gr(){if(!X)throw new Error("Auth0 client not initialized");return rt(pe.LOGOUT,{}),X.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:Fr,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 Xe="undefined",Bt="object",Si=function(){},Mn="any",Jn="*",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 Xn(t,e){return e.charAt(0)[t]()+e.slice(1)}var Ei=Xn.bind(null,"toUpperCase"),Oi=Xn.bind(null,"toLowerCase");function Pi(t){return Fn(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 Fn(t){return t===null}function ji(t){return et(t)==="number"&&!isNaN(t)}function Hn(t){return et(t)==="array"}function J(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"||Fn(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 Fe={};function $t(t){if(typeof Fe[t]!==Xe)return Fe[t];try{var e=window[t];e.setItem(Xe,Xe),e.removeItem(Xe)}catch{return Fe[t]=!1}return Fe[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(!J(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 Ji(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 Xi(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:Xi}))&&J(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,F,U,H){return function(Z,j){var K=U?U.name:L,M=j&&We(j)?j:F;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:Fi(_),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:(F=D,U=y,H=x.pluginName,function(Z,j){return O({},F,{abort:{reason:Z,plugins:j||[U],caller:c,from:H||U}})}),config:cn(x.pluginName,p,o),plugins:p})).then(function(Z){var j=J(Z)?Z:{};return Promise.resolve(O({},D,j))})):D;var F,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 F=J(D)?D:{},U=O({},P,F),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 Fi(t){return Object.keys(t).reduce(function(e,n){return n==="type"||(e[n]=J(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,F=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:F+"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!==F)return Promise.resolve(mt({action:O({},f,{type:F}),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&&J(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=J(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 $=J(f)?f.event:f;if(!$||!re($))throw new Error("EventMissing");var A=J(f)?f:g||{},W=J(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=J(f)?f:{},$=J(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),Ji(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():J(typeof arguments[0])?gn():gn().apply(null,arguments)}}var F,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=(F=j.dispatch,function(f,g,S){var C=O({},f,{meta:yn(f.meta,g,vt(S))});return F.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(J(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,Jn),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===Jn||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=Jr}){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 Xr(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;
|