@imtbl/audience 2.15.1-alpha.2 → 2.15.1-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/index.js +3 -3
- package/dist/node/index.cjs +6 -5
- package/dist/node/index.js +3 -3
- package/dist/types/index.d.ts +140 -6
- package/package.json +1 -1
package/dist/browser/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
var bn=Object.create;var le=Object.defineProperty;var vn=Object.getOwnPropertyDescriptor;var In=Object.getOwnPropertyNames;var En=Object.getPrototypeOf,Sn=Object.prototype.hasOwnProperty;var he=(i,r)=>()=>(i&&(r=i(i=0)),r);var Bn=(i,r)=>()=>(r||i((r={exports:{}}).exports,r),r.exports);var An=(i,r,o,l)=>{if(r&&typeof r=="object"||typeof r=="function")for(let h of In(r))!Sn.call(i,h)&&h!==o&&le(i,h,{get:()=>r[h],enumerable:!(l=vn(r,h))||l.enumerable});return i};var _n=(i,r,o)=>(o=i!=null?bn(En(i)):{},An(le(o,"default",{value:i,enumerable:!0}),i));var U=he(()=>{});var k=he(()=>{});var me=Bn(rt=>{k();U();Object.defineProperty(rt,"__esModule",{value:!0});rt.clearGlobalNamespace=rt.getGlobalisedValue=void 0;var Un="globalise__singleton__",kn={},pe=()=>typeof window<"u"?window:typeof globalThis<"u"?globalThis:kn,On=(i,r)=>{if(typeof i!="string")throw "Invalid namespace key";if(typeof r!="string")throw "Invalid item key"},ge=i=>`${Un}${i}`,ye=i=>{let r=pe(),o=ge(i);return r[o]||(r[o]={}),r[o]},Nn=(i,r)=>ye(i)[r]||void 0,Ln=(i,r,o)=>{let l=ye(i);l[r]=o;},Rn=(i,r,o)=>{On(i,r);let l=Nn(i,r);return l!==void 0?l:(Ln(i,r,o),o)};rt.getGlobalisedValue=Rn;var Cn=i=>{let r=pe(),o=ge(i);r[o]!==void 0&&delete r[o];};rt.clearGlobalNamespace=Cn;});k();U();k();U();k();U();k();U();k();U();k();U();var Ut=class{constructor(r=0,o=0,l=!1){this.first=null,this.items=Object.create(null),this.last=null,this.max=r,this.resetTtl=l,this.size=0,this.ttl=o;}clear(){return this.first=null,this.items=Object.create(null),this.last=null,this.size=0,this}delete(r){if(this.has(r)){let o=this.items[r];delete this.items[r],this.size--,o.prev!==null&&(o.prev.next=o.next),o.next!==null&&(o.next.prev=o.prev),this.first===o&&(this.first=o.next),this.last===o&&(this.last=o.prev);}return this}entries(r=this.keys()){return r.map(o=>[o,this.get(o)])}evict(r=!1){if(r||this.size>0){let o=this.first;delete this.items[o.key],--this.size===0?(this.first=null,this.last=null):(this.first=o.next,this.first.prev=null);}return this}expiresAt(r){let o;return this.has(r)&&(o=this.items[r].expiry),o}get(r){let o;if(this.has(r)){let l=this.items[r];this.ttl>0&&l.expiry<=Date.now()?this.delete(r):(o=l.value,this.set(r,o,!0));}return o}has(r){return r in this.items}keys(){let r=[],o=this.first;for(;o!==null;)r.push(o.key),o=o.next;return r}set(r,o,l=!1,h=this.resetTtl){let c;if(l||this.has(r)){if(c=this.items[r],c.value=o,l===!1&&h&&(c.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl),this.last!==c){let a=this.last,y=c.next,w=c.prev;this.first===c&&(this.first=c.next),c.next=null,c.prev=this.last,a.next=c,w!==null&&(w.next=y),y!==null&&(y.prev=w);}}else this.max>0&&this.size===this.max&&this.evict(!0),c=this.items[r]={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:r,prev:this.last,next:null,value:o},++this.size===1?this.first=c:this.last.next=c;return this.last=c,this}values(r=this.keys()){return r.map(o=>this.get(o))}};function ce(i=1e3,r=0,o=!1){if(isNaN(i)||i<0)throw new TypeError("Invalid max value");if(isNaN(r)||r<0)throw new TypeError("Invalid ttl value");if(typeof o!="boolean")throw new TypeError("Invalid resetTtl value");return new Ut(i,r,o)}var Tn={max:1e3},de=(i,r={})=>{let{cache:o,cacheKeyResolver:l=kt,onHit:h,lruOptions:c={}}=r,a={...Tn,...c},y=o||ce(a.max,a.ttl);function w(...B){let b=l(...B),m=y.get(b);if(y.has(b))return h&&h(b,m,y),m;let p=i.apply(this,B);return y.set(b,p),p}return w._cache=y,w},kt=(...i)=>i.length===0?"no-args":i.map(r=>r===void 0?"undefined":r===null?"null":Array.isArray(r)?`[${kt(...r)}]`:typeof r=="object"?`{${kt(...xn(r))}}`:JSON.stringify(r)).join(","),xn=i=>Object.entries(i).sort((r,o)=>r[0]<o[0]?-1:1);var Ft=_n(me()),$n=Object.defineProperty,Mn=(i,r)=>{for(var o in r)$n(i,o,{get:r[o],enumerable:!0});};function jt(i){throw new Error("Node.js process "+i+" is not supported by JSPM core outside of Node.js")}var j=[],st=!1,W,bt=-1;function Dn(){!st||!W||(st=!1,W.length?j=W.concat(j):bt=-1,j.length&&Se());}function Se(){if(!st){var i=setTimeout(Dn,0);st=!0;for(var r=j.length;r;){for(W=j,j=[];++bt<r;)W&&W[bt].run();bt=-1,r=j.length;}W=null,st=!1,clearTimeout(i);}}function Pn(i){var r=new Array(arguments.length-1);if(arguments.length>1)for(var o=1;o<arguments.length;o++)r[o-1]=arguments[o];j.push(new Be(i,r)),j.length===1&&!st&&setTimeout(Se,0);}function Be(i,r){this.fun=i,this.array=r;}Be.prototype.run=function(){this.fun.apply(null,this.array);};var Fn="browser",jn="x64",qn="browser",Gn={PATH:"/usr/bin",LANG:navigator.language+".UTF-8",PWD:"/",HOME:"/home",TMP:"/tmp"},Vn=["/usr/bin/node"],Kn=[],zn="v16.8.0",Hn={},Yn=function(i,r){console.warn((r?r+": ":"")+i);},Jn=function(i){jt("binding");},Wn=function(i){return 0},Xn=function(){return "/"},Zn=function(i){},Qn={name:"node",sourceUrl:"",headersUrl:"",libUrl:""};function R(){}var ti=R,ei=[];function ni(i){jt("_linkedBinding");}var ii={},ri=!1,si={};function oi(i){jt("dlopen");}function ai(){return []}function ui(){return []}var fi=R,li=R,qt=function(){return {}},hi=qt,ci=qt,di=R,pi=R,gi=R,yi={};function mi(i,r){if(!i)throw new Error(r||"assertion error")}var wi={inspector:!1,debug:!1,uv:!1,ipv6:!1,tls_alpn:!1,tls_sni:!1,tls_ocsp:!1,tls:!1,cached_builtins:!0},bi=R,vi=R;function Ii(){return !1}var Ei=R,Si=R,Bi=R,Ai=R,_i=R,Ti=void 0,xi=void 0,Ui=void 0,ki=R,Oi=2,Ni=1,Li="/bin/usr/node",Ri=9229,Ci="node",$i=[],Mi=R,K={now:typeof performance<"u"?performance.now.bind(performance):void 0,timing:typeof performance<"u"?performance.timing:void 0};K.now===void 0&&(Ot=Date.now(),K.timing&&K.timing.navigationStart&&(Ot=K.timing.navigationStart),K.now=()=>Date.now()-Ot);var Ot;function Di(){return K.now()/1e3}var Lt=1e9;function Rt(i){var r=Math.floor((Date.now()-K.now())*.001),o=K.now()*.001,l=Math.floor(o)+r,h=Math.floor(o%1*1e9);return i&&(l=l-i[0],h=h-i[1],h<0&&(l--,h+=Lt)),[l,h]}Rt.bigint=function(i){var r=Rt(i);return typeof BigInt>"u"?r[0]*Lt+r[1]:BigInt(r[0]*Lt)+BigInt(r[1])};var Pi=10,Fi={},ji=0;function z(){return Ct}var qi=z,Gi=z,Vi=z,Ki=z,zi=z,Hi=R,Yi=z,Ji=z;function Wi(i){return []}var Ct={version:zn,versions:Hn,arch:jn,platform:qn,release:Qn,_rawDebug:ti,moduleLoadList:ei,binding:Jn,_linkedBinding:ni,_events:Fi,_eventsCount:ji,_maxListeners:Pi,on:z,addListener:qi,once:Gi,off:Vi,removeListener:Ki,removeAllListeners:zi,emit:Hi,prependListener:Yi,prependOnceListener:Ji,listeners:Wi,domain:ii,_exiting:ri,config:si,dlopen:oi,uptime:Di,_getActiveRequests:ai,_getActiveHandles:ui,reallyExit:fi,_kill:li,cpuUsage:qt,resourceUsage:hi,memoryUsage:ci,kill:di,exit:pi,openStdin:gi,allowedNodeEnvironmentFlags:yi,assert:mi,features:wi,_fatalExceptions:bi,setUncaughtExceptionCaptureCallback:vi,hasUncaughtExceptionCaptureCallback:Ii,emitWarning:Yn,nextTick:Pn,_tickCallback:Ei,_debugProcess:Si,_debugEnd:Bi,_startProfilerIdleNotifier:Ai,_stopProfilerIdleNotifier:_i,stdout:Ti,stdin:Ui,stderr:xi,abort:ki,umask:Wn,chdir:Zn,cwd:Xn,env:Gn,title:Fn,argv:Vn,execArgv:Kn,pid:Oi,ppid:Ni,execPath:Li,debugPort:Ri,hrtime:Rt,argv0:Ci,_preload_modules:$i,setSourceMapsEnabled:Mi},ct={},we=!1;function Xi(){if(we)return ct;we=!0,ct.byteLength=y,ct.toByteArray=B,ct.fromByteArray=v;for(var i=[],r=[],o=typeof Uint8Array<"u"?Uint8Array:Array,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",h=0,c=l.length;h<c;++h)i[h]=l[h],r[l.charCodeAt(h)]=h;r[45]=62,r[95]=63;function a(p){var g=p.length;if(g%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var I=p.indexOf("=");I===-1&&(I=g);var _=I===g?0:4-I%4;return [I,_]}function y(p){var g=a(p),I=g[0],_=g[1];return (I+_)*3/4-_}function w(p,g,I){return (g+I)*3/4-I}function B(p){var g,I=a(p),_=I[0],L=I[1],T=new o(w(p,_,L)),$=0,D=L>0?_-4:_,C;for(C=0;C<D;C+=4)g=r[p.charCodeAt(C)]<<18|r[p.charCodeAt(C+1)]<<12|r[p.charCodeAt(C+2)]<<6|r[p.charCodeAt(C+3)],T[$++]=g>>16&255,T[$++]=g>>8&255,T[$++]=g&255;return L===2&&(g=r[p.charCodeAt(C)]<<2|r[p.charCodeAt(C+1)]>>4,T[$++]=g&255),L===1&&(g=r[p.charCodeAt(C)]<<10|r[p.charCodeAt(C+1)]<<4|r[p.charCodeAt(C+2)]>>2,T[$++]=g>>8&255,T[$++]=g&255),T}function b(p){return i[p>>18&63]+i[p>>12&63]+i[p>>6&63]+i[p&63]}function m(p,g,I){for(var _,L=[],T=g;T<I;T+=3)_=(p[T]<<16&16711680)+(p[T+1]<<8&65280)+(p[T+2]&255),L.push(b(_));return L.join("")}function v(p){for(var g,I=p.length,_=I%3,L=[],T=16383,$=0,D=I-_;$<D;$+=T)L.push(m(p,$,$+T>D?D:$+T));return _===1?(g=p[I-1],L.push(i[g>>2]+i[g<<4&63]+"==")):_===2&&(g=(p[I-2]<<8)+p[I-1],L.push(i[g>>10]+i[g>>4&63]+i[g<<2&63]+"=")),L.join("")}return ct}var wt={},be=!1;function Zi(){return be?wt:(be=!0,wt.read=function(i,r,o,l,h){var c,a,y=h*8-l-1,w=(1<<y)-1,B=w>>1,b=-7,m=o?h-1:0,v=o?-1:1,p=i[r+m];for(m+=v,c=p&(1<<-b)-1,p>>=-b,b+=y;b>0;c=c*256+i[r+m],m+=v,b-=8);for(a=c&(1<<-b)-1,c>>=-b,b+=l;b>0;a=a*256+i[r+m],m+=v,b-=8);if(c===0)c=1-B;else {if(c===w)return a?NaN:(p?-1:1)*(1/0);a=a+Math.pow(2,l),c=c-B;}return (p?-1:1)*a*Math.pow(2,c-l)},wt.write=function(i,r,o,l,h,c){var a,y,w,B=c*8-h-1,b=(1<<B)-1,m=b>>1,v=h===23?Math.pow(2,-24)-Math.pow(2,-77):0,p=l?0:c-1,g=l?1:-1,I=r<0||r===0&&1/r<0?1:0;for(r=Math.abs(r),isNaN(r)||r===1/0?(y=isNaN(r)?1:0,a=b):(a=Math.floor(Math.log(r)/Math.LN2),r*(w=Math.pow(2,-a))<1&&(a--,w*=2),a+m>=1?r+=v/w:r+=v*Math.pow(2,1-m),r*w>=2&&(a++,w/=2),a+m>=b?(y=0,a=b):a+m>=1?(y=(r*w-1)*Math.pow(2,h),a=a+m):(y=r*Math.pow(2,m-1)*Math.pow(2,h),a=0));h>=8;i[o+p]=y&255,p+=g,y/=256,h-=8);for(a=a<<h|y,B+=h;B>0;i[o+p]=a&255,p+=g,a/=256,B-=8);i[o+p-g]|=I*128;},wt)}var J={},ve=!1;function Qi(){if(ve)return J;ve=!0;let i=Xi(),r=Zi(),o=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;J.Buffer=a,J.SlowBuffer=L,J.INSPECT_MAX_BYTES=50;let l=2147483647;J.kMaxLength=l,a.TYPED_ARRAY_SUPPORT=h(),!a.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function h(){try{let t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),t.foo()===42}catch{return !1}}Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}});function c(t){if(t>l)throw new RangeError('The value "'+t+'" is invalid for option "size"');let e=new Uint8Array(t);return Object.setPrototypeOf(e,a.prototype),e}function a(t,e,n){if(typeof t=="number"){if(typeof e=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return b(t)}return y(t,e,n)}a.poolSize=8192;function y(t,e,n){if(typeof t=="string")return m(t,e);if(ArrayBuffer.isView(t))return p(t);if(t==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(F(t,ArrayBuffer)||t&&F(t.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(F(t,SharedArrayBuffer)||t&&F(t.buffer,SharedArrayBuffer)))return g(t,e,n);if(typeof t=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let s=t.valueOf&&t.valueOf();if(s!=null&&s!==t)return a.from(s,e,n);let u=I(t);if(u)return u;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof t[Symbol.toPrimitive]=="function")return a.from(t[Symbol.toPrimitive]("string"),e,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}a.from=function(t,e,n){return y(t,e,n)},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,Uint8Array);function w(t){if(typeof t!="number")throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function B(t,e,n){return w(t),t<=0?c(t):e!==void 0?typeof n=="string"?c(t).fill(e,n):c(t).fill(e):c(t)}a.alloc=function(t,e,n){return B(t,e,n)};function b(t){return w(t),c(t<0?0:_(t)|0)}a.allocUnsafe=function(t){return b(t)},a.allocUnsafeSlow=function(t){return b(t)};function m(t,e){if((typeof e!="string"||e==="")&&(e="utf8"),!a.isEncoding(e))throw new TypeError("Unknown encoding: "+e);let n=T(t,e)|0,s=c(n),u=s.write(t,e);return u!==n&&(s=s.slice(0,u)),s}function v(t){let e=t.length<0?0:_(t.length)|0,n=c(e);for(let s=0;s<e;s+=1)n[s]=t[s]&255;return n}function p(t){if(F(t,Uint8Array)){let e=new Uint8Array(t);return g(e.buffer,e.byteOffset,e.byteLength)}return v(t)}function g(t,e,n){if(e<0||t.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(t.byteLength<e+(n||0))throw new RangeError('"length" is outside of buffer bounds');let s;return e===void 0&&n===void 0?s=new Uint8Array(t):n===void 0?s=new Uint8Array(t,e):s=new Uint8Array(t,e,n),Object.setPrototypeOf(s,a.prototype),s}function I(t){if(a.isBuffer(t)){let e=_(t.length)|0,n=c(e);return n.length===0||t.copy(n,0,0,e),n}if(t.length!==void 0)return typeof t.length!="number"||xt(t.length)?c(0):v(t);if(t.type==="Buffer"&&Array.isArray(t.data))return v(t.data)}function _(t){if(t>=l)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+l.toString(16)+" bytes");return t|0}function L(t){return +t!=t&&(t=0),a.alloc(+t)}a.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==a.prototype},a.compare=function(t,e){if(F(t,Uint8Array)&&(t=a.from(t,t.offset,t.byteLength)),F(e,Uint8Array)&&(e=a.from(e,e.offset,e.byteLength)),!a.isBuffer(t)||!a.isBuffer(e))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;let n=t.length,s=e.length;for(let u=0,f=Math.min(n,s);u<f;++u)if(t[u]!==e[u]){n=t[u],s=e[u];break}return n<s?-1:s<n?1:0},a.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return !0;default:return !1}},a.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(t.length===0)return a.alloc(0);let n;if(e===void 0)for(e=0,n=0;n<t.length;++n)e+=t[n].length;let s=a.allocUnsafe(e),u=0;for(n=0;n<t.length;++n){let f=t[n];if(F(f,Uint8Array))u+f.length>s.length?(a.isBuffer(f)||(f=a.from(f)),f.copy(s,u)):Uint8Array.prototype.set.call(s,f,u);else if(a.isBuffer(f))f.copy(s,u);else throw new TypeError('"list" argument must be an Array of Buffers');u+=f.length;}return s};function T(t,e){if(a.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||F(t,ArrayBuffer))return t.byteLength;if(typeof t!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);let n=t.length,s=arguments.length>2&&arguments[2]===!0;if(!s&&n===0)return 0;let u=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return Tt(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return n*2;case"hex":return n>>>1;case"base64":return fe(t).length;default:if(u)return s?-1:Tt(t).length;e=(""+e).toLowerCase(),u=!0;}}a.byteLength=T;function $(t,e,n){let s=!1;if((e===void 0||e<0)&&(e=0),e>this.length||((n===void 0||n>this.length)&&(n=this.length),n<=0)||(n>>>=0,e>>>=0,n<=e))return "";for(t||(t="utf8");;)switch(t){case"hex":return ln(this,e,n);case"utf8":case"utf-8":return te(this,e,n);case"ascii":return un(this,e,n);case"latin1":case"binary":return fn(this,e,n);case"base64":return on(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return hn(this,e,n);default:if(s)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),s=!0;}}a.prototype._isBuffer=!0;function D(t,e,n){let s=t[e];t[e]=t[n],t[n]=s;}a.prototype.swap16=function(){let t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let e=0;e<t;e+=2)D(this,e,e+1);return this},a.prototype.swap32=function(){let t=this.length;if(t%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let e=0;e<t;e+=4)D(this,e,e+3),D(this,e+1,e+2);return this},a.prototype.swap64=function(){let t=this.length;if(t%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let e=0;e<t;e+=8)D(this,e,e+7),D(this,e+1,e+6),D(this,e+2,e+5),D(this,e+3,e+4);return this},a.prototype.toString=function(){let t=this.length;return t===0?"":arguments.length===0?te(this,0,t):$.apply(this,arguments)},a.prototype.toLocaleString=a.prototype.toString,a.prototype.equals=function(t){if(!a.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t?!0:a.compare(this,t)===0},a.prototype.inspect=function(){let t="",e=J.INSPECT_MAX_BYTES;return t=this.toString("hex",0,e).replace(/(.{2})/g,"$1 ").trim(),this.length>e&&(t+=" ... "),"<Buffer "+t+">"},o&&(a.prototype[o]=a.prototype.inspect),a.prototype.compare=function(t,e,n,s,u){if(F(t,Uint8Array)&&(t=a.from(t,t.offset,t.byteLength)),!a.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(e===void 0&&(e=0),n===void 0&&(n=t?t.length:0),s===void 0&&(s=0),u===void 0&&(u=this.length),e<0||n>t.length||s<0||u>this.length)throw new RangeError("out of range index");if(s>=u&&e>=n)return 0;if(s>=u)return -1;if(e>=n)return 1;if(e>>>=0,n>>>=0,s>>>=0,u>>>=0,this===t)return 0;let f=u-s,d=n-e,S=Math.min(f,d),N=this.slice(s,u),A=t.slice(e,n);for(let E=0;E<S;++E)if(N[E]!==A[E]){f=N[E],d=A[E];break}return f<d?-1:d<f?1:0};function C(t,e,n,s,u){if(t.length===0)return -1;if(typeof n=="string"?(s=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,xt(n)&&(n=u?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(u)return -1;n=t.length-1;}else if(n<0)if(u)n=0;else return -1;if(typeof e=="string"&&(e=a.from(e,s)),a.isBuffer(e))return e.length===0?-1:Qt(t,e,n,s,u);if(typeof e=="number")return e=e&255,typeof Uint8Array.prototype.indexOf=="function"?u?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):Qt(t,[e],n,s,u);throw new TypeError("val must be string, number or Buffer")}function Qt(t,e,n,s,u){let f=1,d=t.length,S=e.length;if(s!==void 0&&(s=String(s).toLowerCase(),s==="ucs2"||s==="ucs-2"||s==="utf16le"||s==="utf-16le")){if(t.length<2||e.length<2)return -1;f=2,d/=2,S/=2,n/=2;}function N(E,x){return f===1?E[x]:E.readUInt16BE(x*f)}let A;if(u){let E=-1;for(A=n;A<d;A++)if(N(t,A)===N(e,E===-1?0:A-E)){if(E===-1&&(E=A),A-E+1===S)return E*f}else E!==-1&&(A-=A-E),E=-1;}else for(n+S>d&&(n=d-S),A=n;A>=0;A--){let E=!0;for(let x=0;x<S;x++)if(N(t,A+x)!==N(e,x)){E=!1;break}if(E)return A}return -1}a.prototype.includes=function(t,e,n){return this.indexOf(t,e,n)!==-1},a.prototype.indexOf=function(t,e,n){return C(this,t,e,n,!0)},a.prototype.lastIndexOf=function(t,e,n){return C(this,t,e,n,!1)};function tn(t,e,n,s){n=Number(n)||0;let u=t.length-n;s?(s=Number(s),s>u&&(s=u)):s=u;let f=e.length;s>f/2&&(s=f/2);let d;for(d=0;d<s;++d){let S=parseInt(e.substr(d*2,2),16);if(xt(S))return d;t[n+d]=S;}return d}function en(t,e,n,s){return mt(Tt(e,t.length-n),t,n,s)}function nn(t,e,n,s){return mt(gn(e),t,n,s)}function rn(t,e,n,s){return mt(fe(e),t,n,s)}function sn(t,e,n,s){return mt(yn(e,t.length-n),t,n,s)}a.prototype.write=function(t,e,n,s){if(e===void 0)s="utf8",n=this.length,e=0;else if(n===void 0&&typeof e=="string")s=e,n=this.length,e=0;else if(isFinite(e))e=e>>>0,isFinite(n)?(n=n>>>0,s===void 0&&(s="utf8")):(s=n,n=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let u=this.length-e;if((n===void 0||n>u)&&(n=u),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");s||(s="utf8");let f=!1;for(;;)switch(s){case"hex":return tn(this,t,e,n);case"utf8":case"utf-8":return en(this,t,e,n);case"ascii":case"latin1":case"binary":return nn(this,t,e,n);case"base64":return rn(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return sn(this,t,e,n);default:if(f)throw new TypeError("Unknown encoding: "+s);s=(""+s).toLowerCase(),f=!0;}},a.prototype.toJSON=function(){return {type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function on(t,e,n){return e===0&&n===t.length?i.fromByteArray(t):i.fromByteArray(t.slice(e,n))}function te(t,e,n){n=Math.min(t.length,n);let s=[],u=e;for(;u<n;){let f=t[u],d=null,S=f>239?4:f>223?3:f>191?2:1;if(u+S<=n){let N,A,E,x;switch(S){case 1:f<128&&(d=f);break;case 2:N=t[u+1],(N&192)===128&&(x=(f&31)<<6|N&63,x>127&&(d=x));break;case 3:N=t[u+1],A=t[u+2],(N&192)===128&&(A&192)===128&&(x=(f&15)<<12|(N&63)<<6|A&63,x>2047&&(x<55296||x>57343)&&(d=x));break;case 4:N=t[u+1],A=t[u+2],E=t[u+3],(N&192)===128&&(A&192)===128&&(E&192)===128&&(x=(f&15)<<18|(N&63)<<12|(A&63)<<6|E&63,x>65535&&x<1114112&&(d=x));}}d===null?(d=65533,S=1):d>65535&&(d-=65536,s.push(d>>>10&1023|55296),d=56320|d&1023),s.push(d),u+=S;}return an(s)}let ee=4096;function an(t){let e=t.length;if(e<=ee)return String.fromCharCode.apply(String,t);let n="",s=0;for(;s<e;)n+=String.fromCharCode.apply(String,t.slice(s,s+=ee));return n}function un(t,e,n){let s="";n=Math.min(t.length,n);for(let u=e;u<n;++u)s+=String.fromCharCode(t[u]&127);return s}function fn(t,e,n){let s="";n=Math.min(t.length,n);for(let u=e;u<n;++u)s+=String.fromCharCode(t[u]);return s}function ln(t,e,n){let s=t.length;(!e||e<0)&&(e=0),(!n||n<0||n>s)&&(n=s);let u="";for(let f=e;f<n;++f)u+=mn[t[f]];return u}function hn(t,e,n){let s=t.slice(e,n),u="";for(let f=0;f<s.length-1;f+=2)u+=String.fromCharCode(s[f]+s[f+1]*256);return u}a.prototype.slice=function(t,e){let n=this.length;t=~~t,e=e===void 0?n:~~e,t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),e<0?(e+=n,e<0&&(e=0)):e>n&&(e=n),e<t&&(e=t);let s=this.subarray(t,e);return Object.setPrototypeOf(s,a.prototype),s};function O(t,e,n){if(t%1!==0||t<0)throw new RangeError("offset is not uint");if(t+e>n)throw new RangeError("Trying to access beyond buffer length")}a.prototype.readUintLE=a.prototype.readUIntLE=function(t,e,n){t=t>>>0,e=e>>>0,n||O(t,e,this.length);let s=this[t],u=1,f=0;for(;++f<e&&(u*=256);)s+=this[t+f]*u;return s},a.prototype.readUintBE=a.prototype.readUIntBE=function(t,e,n){t=t>>>0,e=e>>>0,n||O(t,e,this.length);let s=this[t+--e],u=1;for(;e>0&&(u*=256);)s+=this[t+--e]*u;return s},a.prototype.readUint8=a.prototype.readUInt8=function(t,e){return t=t>>>0,e||O(t,1,this.length),this[t]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(t,e){return t=t>>>0,e||O(t,2,this.length),this[t]|this[t+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(t,e){return t=t>>>0,e||O(t,2,this.length),this[t]<<8|this[t+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(t,e){return t=t>>>0,e||O(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(t,e){return t=t>>>0,e||O(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])},a.prototype.readBigUInt64LE=q(function(t){t=t>>>0,it(t,"offset");let e=this[t],n=this[t+7];(e===void 0||n===void 0)&&ht(t,this.length-8);let s=e+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24,u=this[++t]+this[++t]*2**8+this[++t]*2**16+n*2**24;return BigInt(s)+(BigInt(u)<<BigInt(32))}),a.prototype.readBigUInt64BE=q(function(t){t=t>>>0,it(t,"offset");let e=this[t],n=this[t+7];(e===void 0||n===void 0)&&ht(t,this.length-8);let s=e*2**24+this[++t]*2**16+this[++t]*2**8+this[++t],u=this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+n;return (BigInt(s)<<BigInt(32))+BigInt(u)}),a.prototype.readIntLE=function(t,e,n){t=t>>>0,e=e>>>0,n||O(t,e,this.length);let s=this[t],u=1,f=0;for(;++f<e&&(u*=256);)s+=this[t+f]*u;return u*=128,s>=u&&(s-=Math.pow(2,8*e)),s},a.prototype.readIntBE=function(t,e,n){t=t>>>0,e=e>>>0,n||O(t,e,this.length);let s=e,u=1,f=this[t+--s];for(;s>0&&(u*=256);)f+=this[t+--s]*u;return u*=128,f>=u&&(f-=Math.pow(2,8*e)),f},a.prototype.readInt8=function(t,e){return t=t>>>0,e||O(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]},a.prototype.readInt16LE=function(t,e){t=t>>>0,e||O(t,2,this.length);let n=this[t]|this[t+1]<<8;return n&32768?n|4294901760:n},a.prototype.readInt16BE=function(t,e){t=t>>>0,e||O(t,2,this.length);let n=this[t+1]|this[t]<<8;return n&32768?n|4294901760:n},a.prototype.readInt32LE=function(t,e){return t=t>>>0,e||O(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},a.prototype.readInt32BE=function(t,e){return t=t>>>0,e||O(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},a.prototype.readBigInt64LE=q(function(t){t=t>>>0,it(t,"offset");let e=this[t],n=this[t+7];(e===void 0||n===void 0)&&ht(t,this.length-8);let s=this[t+4]+this[t+5]*2**8+this[t+6]*2**16+(n<<24);return (BigInt(s)<<BigInt(32))+BigInt(e+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24)}),a.prototype.readBigInt64BE=q(function(t){t=t>>>0,it(t,"offset");let e=this[t],n=this[t+7];(e===void 0||n===void 0)&&ht(t,this.length-8);let s=(e<<24)+this[++t]*2**16+this[++t]*2**8+this[++t];return (BigInt(s)<<BigInt(32))+BigInt(this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+n)}),a.prototype.readFloatLE=function(t,e){return t=t>>>0,e||O(t,4,this.length),r.read(this,t,!0,23,4)},a.prototype.readFloatBE=function(t,e){return t=t>>>0,e||O(t,4,this.length),r.read(this,t,!1,23,4)},a.prototype.readDoubleLE=function(t,e){return t=t>>>0,e||O(t,8,this.length),r.read(this,t,!0,52,8)},a.prototype.readDoubleBE=function(t,e){return t=t>>>0,e||O(t,8,this.length),r.read(this,t,!1,52,8)};function M(t,e,n,s,u,f){if(!a.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>u||e<f)throw new RangeError('"value" argument is out of bounds');if(n+s>t.length)throw new RangeError("Index out of range")}a.prototype.writeUintLE=a.prototype.writeUIntLE=function(t,e,n,s){if(t=+t,e=e>>>0,n=n>>>0,!s){let d=Math.pow(2,8*n)-1;M(this,t,e,n,d,0);}let u=1,f=0;for(this[e]=t&255;++f<n&&(u*=256);)this[e+f]=t/u&255;return e+n},a.prototype.writeUintBE=a.prototype.writeUIntBE=function(t,e,n,s){if(t=+t,e=e>>>0,n=n>>>0,!s){let d=Math.pow(2,8*n)-1;M(this,t,e,n,d,0);}let u=n-1,f=1;for(this[e+u]=t&255;--u>=0&&(f*=256);)this[e+u]=t/f&255;return e+n},a.prototype.writeUint8=a.prototype.writeUInt8=function(t,e,n){return t=+t,e=e>>>0,n||M(this,t,e,1,255,0),this[e]=t&255,e+1},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(t,e,n){return t=+t,e=e>>>0,n||M(this,t,e,2,65535,0),this[e]=t&255,this[e+1]=t>>>8,e+2},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(t,e,n){return t=+t,e=e>>>0,n||M(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=t&255,e+2},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(t,e,n){return t=+t,e=e>>>0,n||M(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=t&255,e+4},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(t,e,n){return t=+t,e=e>>>0,n||M(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=t&255,e+4};function ne(t,e,n,s,u){ue(e,s,u,t,n,7);let f=Number(e&BigInt(4294967295));t[n++]=f,f=f>>8,t[n++]=f,f=f>>8,t[n++]=f,f=f>>8,t[n++]=f;let d=Number(e>>BigInt(32)&BigInt(4294967295));return t[n++]=d,d=d>>8,t[n++]=d,d=d>>8,t[n++]=d,d=d>>8,t[n++]=d,n}function ie(t,e,n,s,u){ue(e,s,u,t,n,7);let f=Number(e&BigInt(4294967295));t[n+7]=f,f=f>>8,t[n+6]=f,f=f>>8,t[n+5]=f,f=f>>8,t[n+4]=f;let d=Number(e>>BigInt(32)&BigInt(4294967295));return t[n+3]=d,d=d>>8,t[n+2]=d,d=d>>8,t[n+1]=d,d=d>>8,t[n]=d,n+8}a.prototype.writeBigUInt64LE=q(function(t,e=0){return ne(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeBigUInt64BE=q(function(t,e=0){return ie(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeIntLE=function(t,e,n,s){if(t=+t,e=e>>>0,!s){let S=Math.pow(2,8*n-1);M(this,t,e,n,S-1,-S);}let u=0,f=1,d=0;for(this[e]=t&255;++u<n&&(f*=256);)t<0&&d===0&&this[e+u-1]!==0&&(d=1),this[e+u]=(t/f>>0)-d&255;return e+n},a.prototype.writeIntBE=function(t,e,n,s){if(t=+t,e=e>>>0,!s){let S=Math.pow(2,8*n-1);M(this,t,e,n,S-1,-S);}let u=n-1,f=1,d=0;for(this[e+u]=t&255;--u>=0&&(f*=256);)t<0&&d===0&&this[e+u+1]!==0&&(d=1),this[e+u]=(t/f>>0)-d&255;return e+n},a.prototype.writeInt8=function(t,e,n){return t=+t,e=e>>>0,n||M(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=t&255,e+1},a.prototype.writeInt16LE=function(t,e,n){return t=+t,e=e>>>0,n||M(this,t,e,2,32767,-32768),this[e]=t&255,this[e+1]=t>>>8,e+2},a.prototype.writeInt16BE=function(t,e,n){return t=+t,e=e>>>0,n||M(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=t&255,e+2},a.prototype.writeInt32LE=function(t,e,n){return t=+t,e=e>>>0,n||M(this,t,e,4,2147483647,-2147483648),this[e]=t&255,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},a.prototype.writeInt32BE=function(t,e,n){return t=+t,e=e>>>0,n||M(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=t&255,e+4},a.prototype.writeBigInt64LE=q(function(t,e=0){return ne(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),a.prototype.writeBigInt64BE=q(function(t,e=0){return ie(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function re(t,e,n,s,u,f){if(n+s>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function se(t,e,n,s,u){return e=+e,n=n>>>0,u||re(t,e,n,4),r.write(t,e,n,s,23,4),n+4}a.prototype.writeFloatLE=function(t,e,n){return se(this,t,e,!0,n)},a.prototype.writeFloatBE=function(t,e,n){return se(this,t,e,!1,n)};function oe(t,e,n,s,u){return e=+e,n=n>>>0,u||re(t,e,n,8),r.write(t,e,n,s,52,8),n+8}a.prototype.writeDoubleLE=function(t,e,n){return oe(this,t,e,!0,n)},a.prototype.writeDoubleBE=function(t,e,n){return oe(this,t,e,!1,n)},a.prototype.copy=function(t,e,n,s){if(!a.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),!s&&s!==0&&(s=this.length),e>=t.length&&(e=t.length),e||(e=0),s>0&&s<n&&(s=n),s===n||t.length===0||this.length===0)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("Index out of range");if(s<0)throw new RangeError("sourceEnd out of bounds");s>this.length&&(s=this.length),t.length-e<s-n&&(s=t.length-e+n);let u=s-n;return this===t&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(e,n,s):Uint8Array.prototype.set.call(t,this.subarray(n,s),e),u},a.prototype.fill=function(t,e,n,s){if(typeof t=="string"){if(typeof e=="string"?(s=e,e=0,n=this.length):typeof n=="string"&&(s=n,n=this.length),s!==void 0&&typeof s!="string")throw new TypeError("encoding must be a string");if(typeof s=="string"&&!a.isEncoding(s))throw new TypeError("Unknown encoding: "+s);if(t.length===1){let f=t.charCodeAt(0);(s==="utf8"&&f<128||s==="latin1")&&(t=f);}}else typeof t=="number"?t=t&255:typeof t=="boolean"&&(t=Number(t));if(e<0||this.length<e||this.length<n)throw new RangeError("Out of range index");if(n<=e)return this;e=e>>>0,n=n===void 0?this.length:n>>>0,t||(t=0);let u;if(typeof t=="number")for(u=e;u<n;++u)this[u]=t;else {let f=a.isBuffer(t)?t:a.from(t,s),d=f.length;if(d===0)throw new TypeError('The value "'+t+'" is invalid for argument "value"');for(u=0;u<n-e;++u)this[u+e]=f[u%d];}return this};let nt={};function _t(t,e,n){nt[t]=class extends n{constructor(){super(),Object.defineProperty(this,"message",{value:e.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${t}]`,this.stack,delete this.name;}get code(){return t}set code(s){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:s,writable:!0});}toString(){return `${this.name} [${t}]: ${this.message}`}};}_t("ERR_BUFFER_OUT_OF_BOUNDS",function(t){return t?`${t} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),_t("ERR_INVALID_ARG_TYPE",function(t,e){return `The "${t}" argument must be of type number. Received type ${typeof e}`},TypeError),_t("ERR_OUT_OF_RANGE",function(t,e,n){let s=`The value of "${t}" is out of range.`,u=n;return Number.isInteger(n)&&Math.abs(n)>2**32?u=ae(String(n)):typeof n=="bigint"&&(u=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(u=ae(u)),u+="n"),s+=` It must be ${e}. Received ${u}`,s},RangeError);function ae(t){let e="",n=t.length,s=t[0]==="-"?1:0;for(;n>=s+4;n-=3)e=`_${t.slice(n-3,n)}${e}`;return `${t.slice(0,n)}${e}`}function cn(t,e,n){it(e,"offset"),(t[e]===void 0||t[e+n]===void 0)&&ht(e,t.length-(n+1));}function ue(t,e,n,s,u,f){if(t>n||t<e){let d=typeof e=="bigint"?"n":"",S;throw e===0||e===BigInt(0)?S=`>= 0${d} and < 2${d} ** ${(f+1)*8}${d}`:S=`>= -(2${d} ** ${(f+1)*8-1}${d}) and < 2 ** ${(f+1)*8-1}${d}`,new nt.ERR_OUT_OF_RANGE("value",S,t)}cn(s,u,f);}function it(t,e){if(typeof t!="number")throw new nt.ERR_INVALID_ARG_TYPE(e,"number",t)}function ht(t,e,n){throw Math.floor(t)!==t?(it(t,n),new nt.ERR_OUT_OF_RANGE("offset","an integer",t)):e<0?new nt.ERR_BUFFER_OUT_OF_BOUNDS:new nt.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${e}`,t)}let dn=/[^+/0-9A-Za-z-_]/g;function pn(t){if(t=t.split("=")[0],t=t.trim().replace(dn,""),t.length<2)return "";for(;t.length%4!==0;)t=t+"=";return t}function Tt(t,e){e=e||1/0;let n,s=t.length,u=null,f=[];for(let d=0;d<s;++d){if(n=t.charCodeAt(d),n>55295&&n<57344){if(!u){if(n>56319){(e-=3)>-1&&f.push(239,191,189);continue}else if(d+1===s){(e-=3)>-1&&f.push(239,191,189);continue}u=n;continue}if(n<56320){(e-=3)>-1&&f.push(239,191,189),u=n;continue}n=(u-55296<<10|n-56320)+65536;}else u&&(e-=3)>-1&&f.push(239,191,189);if(u=null,n<128){if((e-=1)<0)break;f.push(n);}else if(n<2048){if((e-=2)<0)break;f.push(n>>6|192,n&63|128);}else if(n<65536){if((e-=3)<0)break;f.push(n>>12|224,n>>6&63|128,n&63|128);}else if(n<1114112){if((e-=4)<0)break;f.push(n>>18|240,n>>12&63|128,n>>6&63|128,n&63|128);}else throw new Error("Invalid code point")}return f}function gn(t){let e=[];for(let n=0;n<t.length;++n)e.push(t.charCodeAt(n)&255);return e}function yn(t,e){let n,s,u,f=[];for(let d=0;d<t.length&&!((e-=2)<0);++d)n=t.charCodeAt(d),s=n>>8,u=n%256,f.push(u),f.push(s);return f}function fe(t){return i.toByteArray(pn(t))}function mt(t,e,n,s){let u;for(u=0;u<s&&!(u+n>=e.length||u>=t.length);++u)e[u+n]=t[u];return u}function F(t,e){return t instanceof e||t!=null&&t.constructor!=null&&t.constructor.name!=null&&t.constructor.name===e.name}function xt(t){return t!==t}let mn=function(){let t="0123456789abcdef",e=new Array(256);for(let n=0;n<16;++n){let s=n*16;for(let u=0;u<16;++u)e[s+u]=t[n]+t[u];}return e}();function q(t){return typeof BigInt>"u"?wn:t}function wn(){throw new Error("BigInt not supported")}return J}var tt=Qi();tt.Buffer;tt.SlowBuffer;tt.INSPECT_MAX_BYTES;tt.kMaxLength;var Ie=tt.Buffer;tt.INSPECT_MAX_BYTES;tt.kMaxLength;var tr={};Mn(tr,{deleteItem:()=>rr,getItem:()=>$t,setItem:()=>It});var vt=()=>typeof window>"u",Ae=()=>!vt(),er="__IMX-",Gt=()=>Ae()&&window.localStorage,nr=i=>{if(i!==null)try{return JSON.parse(i)}catch{return i}},ir=i=>typeof i=="string"?i:JSON.stringify(i),Vt=i=>`${er}${i}`;function $t(i){if(Gt())return nr(window.localStorage.getItem(Vt(i)))}var It=(i,r)=>Gt()?(window.localStorage.setItem(Vt(i),ir(r)),!0):!1,rr=i=>Gt()?(window.localStorage.removeItem(Vt(i)),!0):!1,Mt=0,sr=i=>{let r=parseInt(i,10)*1e3,o=new Date(r),l=new Date;return Mt=o.getTime()-l.getTime(),Mt},or=()=>{let i=new Date().getTime()+Mt;return new Date(i).toISOString()},ar=(i=>(i.RUNTIME_ID="rid",i.PASSPORT_CLIENT_ID="passportClientId",i.ENVIRONMENT="env",i.PUBLISHABLE_API_KEY="pak",i.IDENTITY="uid",i.DOMAIN="domain",i.SDK_VERSION="sdkVersion",i))(ar||{}),ur="https://api.immutable.com",fr=i=>{if(typeof Ie<"u")return Ie.from(i,"utf-8").toString("base64");if(typeof btoa=="function")return btoa(unescape(encodeURIComponent(i)));throw new Error("Base64 encoding not supported in this environment")};async function _e(i,r){let o=JSON.stringify(r),l={payload:fr(o)},h=await fetch(`${ur}${i}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(l)});if(!h.ok){let c=await h.text().catch(()=>"");throw new Error(`Request failed (${h.status}): ${c||h.statusText}`)}return h.json()}var X,Z,lr=()=>{X=$t("metrics-events")||[],Z=$t("metrics-runtime")||{};};lr();var Q=(i,r)=>{Z={...Z,[i]:r},It("metrics-runtime",Z);},Dt=i=>{if(Z[i]!==void 0)return Z[i]},hr=()=>Z,cr=()=>X,dr=i=>{X.push(i),It("metrics-events",X);},pr=i=>{X=X.slice(i),It("metrics-events",X);},Te=i=>{let r=[];return Object.entries(i).forEach(([o,l])=>{(typeof o=="string"||typeof l=="string"||typeof l=="number"||typeof l=="boolean")&&r.push([o,l.toString()]);}),r},Nt="2.15.1-alpha.2",gr=()=>vt()?"":window.location.ancestorOrigins&&window.location.ancestorOrigins.length>0?new URL(window.location.ancestorOrigins[0]).hostname:document.referrer?new URL(window.document.referrer).hostname:"",yr=()=>{if(vt())return "";let i;try{window.self!==window.top&&(i=gr());}catch{}return i||(i=window.location.hostname),i},mr=()=>{if(Q("sdkVersion",Nt),vt())return {browser:"nodejs",sdkVersion:Nt};let i=yr();return i&&Q("domain",i),{sdkVersion:Nt,browser:window.navigator.userAgent,domain:i,tz:Intl.DateTimeFormat().resolvedOptions().timeZone,screen:`${window.screen.width}x${window.screen.height}`}},Pt=!1,wr=()=>Pt,br=async()=>{Pt=!0;try{let i=Te(mr()),r=Dt("rid"),o=Dt("uid"),l=await _e("/v1/sdk/initialise",{version:1,data:{runtimeDetails:i,runtimeId:r,uId:o}}),{runtimeId:h,sTime:c}=l;Q("rid",h),sr(c);}catch{Pt=!1;}};function P(i,r){return (...o)=>{try{let l=i(...o);return l instanceof Promise?l.catch(()=>r):l}catch{return r}}}function vr(){return Ae()||typeof Ct>"u"?!1:Ct.env.JEST_WORKER_ID!==void 0}var Ir=P(vr,!1),xe="imtbl__metrics",Er=5e3,Sr=1e3,dt=(i,r)=>(0, Ft.getGlobalisedValue)(xe,i,r),Br=(i,r)=>{let o=de(r,{lruOptions:{ttl:Er,max:Sr}});return (0, Ft.getGlobalisedValue)(xe,i,o)},Ar=5e3,_r=(i,r,o)=>{let l={event:`${i}.${r}`,time:or(),...o&&{properties:Te(o)}};dr(l);},ot=P(Br("track",_r)),Tr=async()=>{if(wr()===!1){await br();return}let i=cr();if(i.length===0)return;let r=i.length,o=hr();await _e("/v1/sdk/metrics",{version:1,data:{events:i,details:o}})instanceof Error||pr(r);},xr=P(Tr),Ue=async()=>{await xr(),setTimeout(Ue,Ar);},Ee=!1,Ur=()=>{Ee||(Ee=!0,Ue());};Ir()||P(dt("startFlushing",Ur))();var $r=(i,r,o,l)=>{let{message:h}=o,c=o.stack||"",{cause:a}=o;a instanceof Error&&(c=`${c}
|
|
1
|
+
var gn=Object.create;var lt=Object.defineProperty;var yn=Object.getOwnPropertyDescriptor;var mn=Object.getOwnPropertyNames;var wn=Object.getPrototypeOf,vn=Object.prototype.hasOwnProperty;var ft=(r,i)=>()=>(r&&(i=r(r=0)),i);var bn=(r,i)=>()=>(i||r((i={exports:{}}).exports,i),i.exports);var In=(r,i,o,f)=>{if(i&&typeof i=="object"||typeof i=="function")for(let c of mn(i))!vn.call(r,c)&&c!==o&<(r,c,{get:()=>i[c],enumerable:!(f=yn(i,c))||f.enumerable});return r};var En=(r,i,o)=>(o=r!=null?gn(wn(r)):{},In(lt(o,"default",{value:r,enumerable:!0}),r));var B=ft(()=>{});var T=ft(()=>{});var yt=bn(ie=>{T();B();Object.defineProperty(ie,"__esModule",{value:!0});ie.clearGlobalNamespace=ie.getGlobalisedValue=void 0;var An="globalise__singleton__",xn={},pt=()=>typeof window<"u"?window:typeof globalThis<"u"?globalThis:xn,Bn=(r,i)=>{if(typeof r!="string")throw "Invalid namespace key";if(typeof i!="string")throw "Invalid item key"},dt=r=>`${An}${r}`,gt=r=>{let i=pt(),o=dt(r);return i[o]||(i[o]={}),i[o]},Tn=(r,i)=>gt(r)[i]||void 0,Un=(r,i,o)=>{let f=gt(r);f[i]=o;},kn=(r,i,o)=>{Bn(r,i);let f=Tn(r,i);return f!==void 0?f:(Un(r,i,o),o)};ie.getGlobalisedValue=kn;var On=r=>{let i=pt(),o=dt(r);i[o]!==void 0&&delete i[o];};ie.clearGlobalNamespace=On;});T();B();T();B();T();B();T();B();T();B();T();B();var Ue=class{constructor(i=0,o=0,f=!1){this.first=null,this.items=Object.create(null),this.last=null,this.max=i,this.resetTtl=f,this.size=0,this.ttl=o;}clear(){return this.first=null,this.items=Object.create(null),this.last=null,this.size=0,this}delete(i){if(this.has(i)){let o=this.items[i];delete this.items[i],this.size--,o.prev!==null&&(o.prev.next=o.next),o.next!==null&&(o.next.prev=o.prev),this.first===o&&(this.first=o.next),this.last===o&&(this.last=o.prev);}return this}entries(i=this.keys()){return i.map(o=>[o,this.get(o)])}evict(i=!1){if(i||this.size>0){let o=this.first;delete this.items[o.key],--this.size===0?(this.first=null,this.last=null):(this.first=o.next,this.first.prev=null);}return this}expiresAt(i){let o;return this.has(i)&&(o=this.items[i].expiry),o}get(i){let o;if(this.has(i)){let f=this.items[i];this.ttl>0&&f.expiry<=Date.now()?this.delete(i):(o=f.value,this.set(i,o,!0));}return o}has(i){return i in this.items}keys(){let i=[],o=this.first;for(;o!==null;)i.push(o.key),o=o.next;return i}set(i,o,f=!1,c=this.resetTtl){let p;if(f||this.has(i)){if(p=this.items[i],p.value=o,f===!1&&c&&(p.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl),this.last!==p){let a=this.last,y=p.next,m=p.prev;this.first===p&&(this.first=p.next),p.next=null,p.prev=this.last,a.next=p,m!==null&&(m.next=y),y!==null&&(y.prev=m);}}else this.max>0&&this.size===this.max&&this.evict(!0),p=this.items[i]={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:i,prev:this.last,next:null,value:o},++this.size===1?this.first=p:this.last.next=p;return this.last=p,this}values(i=this.keys()){return i.map(o=>this.get(o))}};function ht(r=1e3,i=0,o=!1){if(isNaN(r)||r<0)throw new TypeError("Invalid max value");if(isNaN(i)||i<0)throw new TypeError("Invalid ttl value");if(typeof o!="boolean")throw new TypeError("Invalid resetTtl value");return new Ue(r,i,o)}var Sn={max:1e3},ct=(r,i={})=>{let{cache:o,cacheKeyResolver:f=ke,onHit:c,lruOptions:p={}}=i,a={...Sn,...p},y=o||ht(a.max,a.ttl);function m(...x){let v=f(...x),w=y.get(v);if(y.has(v))return c&&c(v,w,y),w;let d=r.apply(this,x);return y.set(v,d),d}return m._cache=y,m},ke=(...r)=>r.length===0?"no-args":r.map(i=>i===void 0?"undefined":i===null?"null":Array.isArray(i)?`[${ke(...i)}]`:typeof i=="object"?`{${ke(..._n(i))}}`:JSON.stringify(i)).join(","),_n=r=>Object.entries(r).sort((i,o)=>i[0]<o[0]?-1:1);var Fe=En(yt()),Pn=Object.defineProperty,Rn=(r,i)=>{for(var o in i)Pn(r,o,{get:i[o],enumerable:!0});};function je(r){throw new Error("Node.js process "+r+" is not supported by JSPM core outside of Node.js")}var q=[],se=!1,J,ve=-1;function Nn(){!se||!J||(se=!1,J.length?q=J.concat(q):ve=-1,q.length&&Et());}function Et(){if(!se){var r=setTimeout(Nn,0);se=!0;for(var i=q.length;i;){for(J=q,q=[];++ve<i;)J&&J[ve].run();ve=-1,i=q.length;}J=null,se=!1,clearTimeout(r);}}function Ln(r){var i=new Array(arguments.length-1);if(arguments.length>1)for(var o=1;o<arguments.length;o++)i[o-1]=arguments[o];q.push(new St(r,i)),q.length===1&&!se&&setTimeout(Et,0);}function St(r,i){this.fun=r,this.array=i;}St.prototype.run=function(){this.fun.apply(null,this.array);};var Cn="browser",$n="x64",Mn="browser",Dn={PATH:"/usr/bin",LANG:navigator.language+".UTF-8",PWD:"/",HOME:"/home",TMP:"/tmp"},Fn=["/usr/bin/node"],jn=[],Gn="v16.8.0",qn={},Vn=function(r,i){console.warn((i?i+": ":"")+r);},Kn=function(r){je("binding");},zn=function(r){return 0},Wn=function(){return "/"},Hn=function(r){},Yn={name:"node",sourceUrl:"",headersUrl:"",libUrl:""};function N(){}var Jn=N,Xn=[];function Qn(r){je("_linkedBinding");}var Zn={},er=!1,tr={};function nr(r){je("dlopen");}function rr(){return []}function ir(){return []}var sr=N,or=N,Ge=function(){return {}},ar=Ge,ur=Ge,lr=N,fr=N,hr=N,cr={};function pr(r,i){if(!r)throw new Error(i||"assertion error")}var dr={inspector:!1,debug:!1,uv:!1,ipv6:!1,tls_alpn:!1,tls_sni:!1,tls_ocsp:!1,tls:!1,cached_builtins:!0},gr=N,yr=N;function mr(){return !1}var wr=N,vr=N,br=N,Ir=N,Er=N,Sr=void 0,_r=void 0,Ar=void 0,xr=N,Br=2,Tr=1,Ur="/bin/usr/node",kr=9229,Or="node",Pr=[],Rr=N,K={now:typeof performance<"u"?performance.now.bind(performance):void 0,timing:typeof performance<"u"?performance.timing:void 0};K.now===void 0&&(Oe=Date.now(),K.timing&&K.timing.navigationStart&&(Oe=K.timing.navigationStart),K.now=()=>Date.now()-Oe);var Oe;function Nr(){return K.now()/1e3}var Re=1e9;function Ne(r){var i=Math.floor((Date.now()-K.now())*.001),o=K.now()*.001,f=Math.floor(o)+i,c=Math.floor(o%1*1e9);return r&&(f=f-r[0],c=c-r[1],c<0&&(f--,c+=Re)),[f,c]}Ne.bigint=function(r){var i=Ne(r);return typeof BigInt>"u"?i[0]*Re+i[1]:BigInt(i[0]*Re)+BigInt(i[1])};var Lr=10,Cr={},$r=0;function z(){return Le}var Mr=z,Dr=z,Fr=z,jr=z,Gr=z,qr=N,Vr=z,Kr=z;function zr(r){return []}var Le={version:Gn,versions:qn,arch:$n,platform:Mn,release:Yn,_rawDebug:Jn,moduleLoadList:Xn,binding:Kn,_linkedBinding:Qn,_events:Cr,_eventsCount:$r,_maxListeners:Lr,on:z,addListener:Mr,once:Dr,off:Fr,removeListener:jr,removeAllListeners:Gr,emit:qr,prependListener:Vr,prependOnceListener:Kr,listeners:zr,domain:Zn,_exiting:er,config:tr,dlopen:nr,uptime:Nr,_getActiveRequests:rr,_getActiveHandles:ir,reallyExit:sr,_kill:or,cpuUsage:Ge,resourceUsage:ar,memoryUsage:ur,kill:lr,exit:fr,openStdin:hr,allowedNodeEnvironmentFlags:cr,assert:pr,features:dr,_fatalExceptions:gr,setUncaughtExceptionCaptureCallback:yr,hasUncaughtExceptionCaptureCallback:mr,emitWarning:Vn,nextTick:Ln,_tickCallback:wr,_debugProcess:vr,_debugEnd:br,_startProfilerIdleNotifier:Ir,_stopProfilerIdleNotifier:Er,stdout:Sr,stdin:Ar,stderr:_r,abort:xr,umask:zn,chdir:Hn,cwd:Wn,env:Dn,title:Cn,argv:Fn,execArgv:jn,pid:Br,ppid:Tr,execPath:Ur,debugPort:kr,hrtime:Ne,argv0:Or,_preload_modules:Pr,setSourceMapsEnabled:Rr},ce={},mt=!1;function Wr(){if(mt)return ce;mt=!0,ce.byteLength=y,ce.toByteArray=x,ce.fromByteArray=b;for(var r=[],i=[],o=typeof Uint8Array<"u"?Uint8Array:Array,f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",c=0,p=f.length;c<p;++c)r[c]=f[c],i[f.charCodeAt(c)]=c;i[45]=62,i[95]=63;function a(d){var g=d.length;if(g%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var I=d.indexOf("=");I===-1&&(I=g);var A=I===g?0:4-I%4;return [I,A]}function y(d){var g=a(d),I=g[0],A=g[1];return (I+A)*3/4-A}function m(d,g,I){return (g+I)*3/4-I}function x(d){var g,I=a(d),A=I[0],R=I[1],U=new o(m(d,A,R)),C=0,M=R>0?A-4:A,L;for(L=0;L<M;L+=4)g=i[d.charCodeAt(L)]<<18|i[d.charCodeAt(L+1)]<<12|i[d.charCodeAt(L+2)]<<6|i[d.charCodeAt(L+3)],U[C++]=g>>16&255,U[C++]=g>>8&255,U[C++]=g&255;return R===2&&(g=i[d.charCodeAt(L)]<<2|i[d.charCodeAt(L+1)]>>4,U[C++]=g&255),R===1&&(g=i[d.charCodeAt(L)]<<10|i[d.charCodeAt(L+1)]<<4|i[d.charCodeAt(L+2)]>>2,U[C++]=g>>8&255,U[C++]=g&255),U}function v(d){return r[d>>18&63]+r[d>>12&63]+r[d>>6&63]+r[d&63]}function w(d,g,I){for(var A,R=[],U=g;U<I;U+=3)A=(d[U]<<16&16711680)+(d[U+1]<<8&65280)+(d[U+2]&255),R.push(v(A));return R.join("")}function b(d){for(var g,I=d.length,A=I%3,R=[],U=16383,C=0,M=I-A;C<M;C+=U)R.push(w(d,C,C+U>M?M:C+U));return A===1?(g=d[I-1],R.push(r[g>>2]+r[g<<4&63]+"==")):A===2&&(g=(d[I-2]<<8)+d[I-1],R.push(r[g>>10]+r[g>>4&63]+r[g<<2&63]+"=")),R.join("")}return ce}var we={},wt=!1;function Hr(){return wt?we:(wt=!0,we.read=function(r,i,o,f,c){var p,a,y=c*8-f-1,m=(1<<y)-1,x=m>>1,v=-7,w=o?c-1:0,b=o?-1:1,d=r[i+w];for(w+=b,p=d&(1<<-v)-1,d>>=-v,v+=y;v>0;p=p*256+r[i+w],w+=b,v-=8);for(a=p&(1<<-v)-1,p>>=-v,v+=f;v>0;a=a*256+r[i+w],w+=b,v-=8);if(p===0)p=1-x;else {if(p===m)return a?NaN:(d?-1:1)*(1/0);a=a+Math.pow(2,f),p=p-x;}return (d?-1:1)*a*Math.pow(2,p-f)},we.write=function(r,i,o,f,c,p){var a,y,m,x=p*8-c-1,v=(1<<x)-1,w=v>>1,b=c===23?Math.pow(2,-24)-Math.pow(2,-77):0,d=f?0:p-1,g=f?1:-1,I=i<0||i===0&&1/i<0?1:0;for(i=Math.abs(i),isNaN(i)||i===1/0?(y=isNaN(i)?1:0,a=v):(a=Math.floor(Math.log(i)/Math.LN2),i*(m=Math.pow(2,-a))<1&&(a--,m*=2),a+w>=1?i+=b/m:i+=b*Math.pow(2,1-w),i*m>=2&&(a++,m/=2),a+w>=v?(y=0,a=v):a+w>=1?(y=(i*m-1)*Math.pow(2,c),a=a+w):(y=i*Math.pow(2,w-1)*Math.pow(2,c),a=0));c>=8;r[o+d]=y&255,d+=g,y/=256,c-=8);for(a=a<<c|y,x+=c;x>0;r[o+d]=a&255,d+=g,a/=256,x-=8);r[o+d-g]|=I*128;},we)}var Y={},vt=!1;function Yr(){if(vt)return Y;vt=!0;let r=Wr(),i=Hr(),o=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;Y.Buffer=a,Y.SlowBuffer=R,Y.INSPECT_MAX_BYTES=50;let f=2147483647;Y.kMaxLength=f,a.TYPED_ARRAY_SUPPORT=c(),!a.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function c(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch{return !1}}Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}});function p(e){if(e>f)throw new RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,a.prototype),t}function a(e,t,n){if(typeof e=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return v(e)}return y(e,t,n)}a.poolSize=8192;function y(e,t,n){if(typeof e=="string")return w(e,t);if(ArrayBuffer.isView(e))return d(e);if(e==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(F(e,ArrayBuffer)||e&&F(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(F(e,SharedArrayBuffer)||e&&F(e.buffer,SharedArrayBuffer)))return g(e,t,n);if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let s=e.valueOf&&e.valueOf();if(s!=null&&s!==e)return a.from(s,t,n);let u=I(e);if(u)return u;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return a.from(e[Symbol.toPrimitive]("string"),t,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}a.from=function(e,t,n){return y(e,t,n)},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,Uint8Array);function m(e){if(typeof e!="number")throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function x(e,t,n){return m(e),e<=0?p(e):t!==void 0?typeof n=="string"?p(e).fill(t,n):p(e).fill(t):p(e)}a.alloc=function(e,t,n){return x(e,t,n)};function v(e){return m(e),p(e<0?0:A(e)|0)}a.allocUnsafe=function(e){return v(e)},a.allocUnsafeSlow=function(e){return v(e)};function w(e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!a.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let n=U(e,t)|0,s=p(n),u=s.write(e,t);return u!==n&&(s=s.slice(0,u)),s}function b(e){let t=e.length<0?0:A(e.length)|0,n=p(t);for(let s=0;s<t;s+=1)n[s]=e[s]&255;return n}function d(e){if(F(e,Uint8Array)){let t=new Uint8Array(e);return g(t.buffer,t.byteOffset,t.byteLength)}return b(e)}function g(e,t,n){if(t<0||e.byteLength<t)throw new RangeError('"offset" is outside of buffer bounds');if(e.byteLength<t+(n||0))throw new RangeError('"length" is outside of buffer bounds');let s;return t===void 0&&n===void 0?s=new Uint8Array(e):n===void 0?s=new Uint8Array(e,t):s=new Uint8Array(e,t,n),Object.setPrototypeOf(s,a.prototype),s}function I(e){if(a.isBuffer(e)){let t=A(e.length)|0,n=p(t);return n.length===0||e.copy(n,0,0,t),n}if(e.length!==void 0)return typeof e.length!="number"||Te(e.length)?p(0):b(e);if(e.type==="Buffer"&&Array.isArray(e.data))return b(e.data)}function A(e){if(e>=f)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+f.toString(16)+" bytes");return e|0}function R(e){return +e!=e&&(e=0),a.alloc(+e)}a.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==a.prototype},a.compare=function(e,t){if(F(e,Uint8Array)&&(e=a.from(e,e.offset,e.byteLength)),F(t,Uint8Array)&&(t=a.from(t,t.offset,t.byteLength)),!a.isBuffer(e)||!a.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;let n=e.length,s=t.length;for(let u=0,l=Math.min(n,s);u<l;++u)if(e[u]!==t[u]){n=e[u],s=t[u];break}return n<s?-1:s<n?1:0},a.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return !0;default:return !1}},a.concat=function(e,t){if(!Array.isArray(e))throw new TypeError('"list" argument must be an Array of Buffers');if(e.length===0)return a.alloc(0);let n;if(t===void 0)for(t=0,n=0;n<e.length;++n)t+=e[n].length;let s=a.allocUnsafe(t),u=0;for(n=0;n<e.length;++n){let l=e[n];if(F(l,Uint8Array))u+l.length>s.length?(a.isBuffer(l)||(l=a.from(l)),l.copy(s,u)):Uint8Array.prototype.set.call(s,l,u);else if(a.isBuffer(l))l.copy(s,u);else throw new TypeError('"list" argument must be an Array of Buffers');u+=l.length;}return s};function U(e,t){if(a.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||F(e,ArrayBuffer))return e.byteLength;if(typeof e!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let n=e.length,s=arguments.length>2&&arguments[2]===!0;if(!s&&n===0)return 0;let u=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return Be(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return n*2;case"hex":return n>>>1;case"base64":return ut(e).length;default:if(u)return s?-1:Be(e).length;t=(""+t).toLowerCase(),u=!0;}}a.byteLength=U;function C(e,t,n){let s=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((n===void 0||n>this.length)&&(n=this.length),n<=0)||(n>>>=0,t>>>=0,n<=t))return "";for(e||(e="utf8");;)switch(e){case"hex":return on(this,t,n);case"utf8":case"utf-8":return Ze(this,t,n);case"ascii":return rn(this,t,n);case"latin1":case"binary":return sn(this,t,n);case"base64":return tn(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return an(this,t,n);default:if(s)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),s=!0;}}a.prototype._isBuffer=!0;function M(e,t,n){let s=e[t];e[t]=e[n],e[n]=s;}a.prototype.swap16=function(){let e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;t<e;t+=2)M(this,t,t+1);return this},a.prototype.swap32=function(){let e=this.length;if(e%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let t=0;t<e;t+=4)M(this,t,t+3),M(this,t+1,t+2);return this},a.prototype.swap64=function(){let e=this.length;if(e%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let t=0;t<e;t+=8)M(this,t,t+7),M(this,t+1,t+6),M(this,t+2,t+5),M(this,t+3,t+4);return this},a.prototype.toString=function(){let e=this.length;return e===0?"":arguments.length===0?Ze(this,0,e):C.apply(this,arguments)},a.prototype.toLocaleString=a.prototype.toString,a.prototype.equals=function(e){if(!a.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e?!0:a.compare(this,e)===0},a.prototype.inspect=function(){let e="",t=Y.INSPECT_MAX_BYTES;return e=this.toString("hex",0,t).replace(/(.{2})/g,"$1 ").trim(),this.length>t&&(e+=" ... "),"<Buffer "+e+">"},o&&(a.prototype[o]=a.prototype.inspect),a.prototype.compare=function(e,t,n,s,u){if(F(e,Uint8Array)&&(e=a.from(e,e.offset,e.byteLength)),!a.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(t===void 0&&(t=0),n===void 0&&(n=e?e.length:0),s===void 0&&(s=0),u===void 0&&(u=this.length),t<0||n>e.length||s<0||u>this.length)throw new RangeError("out of range index");if(s>=u&&t>=n)return 0;if(s>=u)return -1;if(t>=n)return 1;if(t>>>=0,n>>>=0,s>>>=0,u>>>=0,this===e)return 0;let l=u-s,h=n-t,S=Math.min(l,h),P=this.slice(s,u),_=e.slice(t,n);for(let E=0;E<S;++E)if(P[E]!==_[E]){l=P[E],h=_[E];break}return l<h?-1:h<l?1:0};function L(e,t,n,s,u){if(e.length===0)return -1;if(typeof n=="string"?(s=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,Te(n)&&(n=u?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(u)return -1;n=e.length-1;}else if(n<0)if(u)n=0;else return -1;if(typeof t=="string"&&(t=a.from(t,s)),a.isBuffer(t))return t.length===0?-1:Qe(e,t,n,s,u);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?u?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):Qe(e,[t],n,s,u);throw new TypeError("val must be string, number or Buffer")}function Qe(e,t,n,s,u){let l=1,h=e.length,S=t.length;if(s!==void 0&&(s=String(s).toLowerCase(),s==="ucs2"||s==="ucs-2"||s==="utf16le"||s==="utf-16le")){if(e.length<2||t.length<2)return -1;l=2,h/=2,S/=2,n/=2;}function P(E,k){return l===1?E[k]:E.readUInt16BE(k*l)}let _;if(u){let E=-1;for(_=n;_<h;_++)if(P(e,_)===P(t,E===-1?0:_-E)){if(E===-1&&(E=_),_-E+1===S)return E*l}else E!==-1&&(_-=_-E),E=-1;}else for(n+S>h&&(n=h-S),_=n;_>=0;_--){let E=!0;for(let k=0;k<S;k++)if(P(e,_+k)!==P(t,k)){E=!1;break}if(E)return _}return -1}a.prototype.includes=function(e,t,n){return this.indexOf(e,t,n)!==-1},a.prototype.indexOf=function(e,t,n){return L(this,e,t,n,!0)},a.prototype.lastIndexOf=function(e,t,n){return L(this,e,t,n,!1)};function Jt(e,t,n,s){n=Number(n)||0;let u=e.length-n;s?(s=Number(s),s>u&&(s=u)):s=u;let l=t.length;s>l/2&&(s=l/2);let h;for(h=0;h<s;++h){let S=parseInt(t.substr(h*2,2),16);if(Te(S))return h;e[n+h]=S;}return h}function Xt(e,t,n,s){return me(Be(t,e.length-n),e,n,s)}function Qt(e,t,n,s){return me(hn(t),e,n,s)}function Zt(e,t,n,s){return me(ut(t),e,n,s)}function en(e,t,n,s){return me(cn(t,e.length-n),e,n,s)}a.prototype.write=function(e,t,n,s){if(t===void 0)s="utf8",n=this.length,t=0;else if(n===void 0&&typeof t=="string")s=t,n=this.length,t=0;else if(isFinite(t))t=t>>>0,isFinite(n)?(n=n>>>0,s===void 0&&(s="utf8")):(s=n,n=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let u=this.length-t;if((n===void 0||n>u)&&(n=u),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");s||(s="utf8");let l=!1;for(;;)switch(s){case"hex":return Jt(this,e,t,n);case"utf8":case"utf-8":return Xt(this,e,t,n);case"ascii":case"latin1":case"binary":return Qt(this,e,t,n);case"base64":return Zt(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return en(this,e,t,n);default:if(l)throw new TypeError("Unknown encoding: "+s);s=(""+s).toLowerCase(),l=!0;}},a.prototype.toJSON=function(){return {type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function tn(e,t,n){return t===0&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function Ze(e,t,n){n=Math.min(e.length,n);let s=[],u=t;for(;u<n;){let l=e[u],h=null,S=l>239?4:l>223?3:l>191?2:1;if(u+S<=n){let P,_,E,k;switch(S){case 1:l<128&&(h=l);break;case 2:P=e[u+1],(P&192)===128&&(k=(l&31)<<6|P&63,k>127&&(h=k));break;case 3:P=e[u+1],_=e[u+2],(P&192)===128&&(_&192)===128&&(k=(l&15)<<12|(P&63)<<6|_&63,k>2047&&(k<55296||k>57343)&&(h=k));break;case 4:P=e[u+1],_=e[u+2],E=e[u+3],(P&192)===128&&(_&192)===128&&(E&192)===128&&(k=(l&15)<<18|(P&63)<<12|(_&63)<<6|E&63,k>65535&&k<1114112&&(h=k));}}h===null?(h=65533,S=1):h>65535&&(h-=65536,s.push(h>>>10&1023|55296),h=56320|h&1023),s.push(h),u+=S;}return nn(s)}let et=4096;function nn(e){let t=e.length;if(t<=et)return String.fromCharCode.apply(String,e);let n="",s=0;for(;s<t;)n+=String.fromCharCode.apply(String,e.slice(s,s+=et));return n}function rn(e,t,n){let s="";n=Math.min(e.length,n);for(let u=t;u<n;++u)s+=String.fromCharCode(e[u]&127);return s}function sn(e,t,n){let s="";n=Math.min(e.length,n);for(let u=t;u<n;++u)s+=String.fromCharCode(e[u]);return s}function on(e,t,n){let s=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>s)&&(n=s);let u="";for(let l=t;l<n;++l)u+=pn[e[l]];return u}function an(e,t,n){let s=e.slice(t,n),u="";for(let l=0;l<s.length-1;l+=2)u+=String.fromCharCode(s[l]+s[l+1]*256);return u}a.prototype.slice=function(e,t){let n=this.length;e=~~e,t=t===void 0?n:~~t,e<0?(e+=n,e<0&&(e=0)):e>n&&(e=n),t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),t<e&&(t=e);let s=this.subarray(e,t);return Object.setPrototypeOf(s,a.prototype),s};function O(e,t,n){if(e%1!==0||e<0)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}a.prototype.readUintLE=a.prototype.readUIntLE=function(e,t,n){e=e>>>0,t=t>>>0,n||O(e,t,this.length);let s=this[e],u=1,l=0;for(;++l<t&&(u*=256);)s+=this[e+l]*u;return s},a.prototype.readUintBE=a.prototype.readUIntBE=function(e,t,n){e=e>>>0,t=t>>>0,n||O(e,t,this.length);let s=this[e+--t],u=1;for(;t>0&&(u*=256);)s+=this[e+--t]*u;return s},a.prototype.readUint8=a.prototype.readUInt8=function(e,t){return e=e>>>0,t||O(e,1,this.length),this[e]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(e,t){return e=e>>>0,t||O(e,2,this.length),this[e]|this[e+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(e,t){return e=e>>>0,t||O(e,2,this.length),this[e]<<8|this[e+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(e,t){return e=e>>>0,t||O(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(e,t){return e=e>>>0,t||O(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])},a.prototype.readBigUInt64LE=V(function(e){e=e>>>0,re(e,"offset");let t=this[e],n=this[e+7];(t===void 0||n===void 0)&&he(e,this.length-8);let s=t+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24,u=this[++e]+this[++e]*2**8+this[++e]*2**16+n*2**24;return BigInt(s)+(BigInt(u)<<BigInt(32))}),a.prototype.readBigUInt64BE=V(function(e){e=e>>>0,re(e,"offset");let t=this[e],n=this[e+7];(t===void 0||n===void 0)&&he(e,this.length-8);let s=t*2**24+this[++e]*2**16+this[++e]*2**8+this[++e],u=this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+n;return (BigInt(s)<<BigInt(32))+BigInt(u)}),a.prototype.readIntLE=function(e,t,n){e=e>>>0,t=t>>>0,n||O(e,t,this.length);let s=this[e],u=1,l=0;for(;++l<t&&(u*=256);)s+=this[e+l]*u;return u*=128,s>=u&&(s-=Math.pow(2,8*t)),s},a.prototype.readIntBE=function(e,t,n){e=e>>>0,t=t>>>0,n||O(e,t,this.length);let s=t,u=1,l=this[e+--s];for(;s>0&&(u*=256);)l+=this[e+--s]*u;return u*=128,l>=u&&(l-=Math.pow(2,8*t)),l},a.prototype.readInt8=function(e,t){return e=e>>>0,t||O(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]},a.prototype.readInt16LE=function(e,t){e=e>>>0,t||O(e,2,this.length);let n=this[e]|this[e+1]<<8;return n&32768?n|4294901760:n},a.prototype.readInt16BE=function(e,t){e=e>>>0,t||O(e,2,this.length);let n=this[e+1]|this[e]<<8;return n&32768?n|4294901760:n},a.prototype.readInt32LE=function(e,t){return e=e>>>0,t||O(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},a.prototype.readInt32BE=function(e,t){return e=e>>>0,t||O(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},a.prototype.readBigInt64LE=V(function(e){e=e>>>0,re(e,"offset");let t=this[e],n=this[e+7];(t===void 0||n===void 0)&&he(e,this.length-8);let s=this[e+4]+this[e+5]*2**8+this[e+6]*2**16+(n<<24);return (BigInt(s)<<BigInt(32))+BigInt(t+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24)}),a.prototype.readBigInt64BE=V(function(e){e=e>>>0,re(e,"offset");let t=this[e],n=this[e+7];(t===void 0||n===void 0)&&he(e,this.length-8);let s=(t<<24)+this[++e]*2**16+this[++e]*2**8+this[++e];return (BigInt(s)<<BigInt(32))+BigInt(this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+n)}),a.prototype.readFloatLE=function(e,t){return e=e>>>0,t||O(e,4,this.length),i.read(this,e,!0,23,4)},a.prototype.readFloatBE=function(e,t){return e=e>>>0,t||O(e,4,this.length),i.read(this,e,!1,23,4)},a.prototype.readDoubleLE=function(e,t){return e=e>>>0,t||O(e,8,this.length),i.read(this,e,!0,52,8)},a.prototype.readDoubleBE=function(e,t){return e=e>>>0,t||O(e,8,this.length),i.read(this,e,!1,52,8)};function $(e,t,n,s,u,l){if(!a.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>u||t<l)throw new RangeError('"value" argument is out of bounds');if(n+s>e.length)throw new RangeError("Index out of range")}a.prototype.writeUintLE=a.prototype.writeUIntLE=function(e,t,n,s){if(e=+e,t=t>>>0,n=n>>>0,!s){let h=Math.pow(2,8*n)-1;$(this,e,t,n,h,0);}let u=1,l=0;for(this[t]=e&255;++l<n&&(u*=256);)this[t+l]=e/u&255;return t+n},a.prototype.writeUintBE=a.prototype.writeUIntBE=function(e,t,n,s){if(e=+e,t=t>>>0,n=n>>>0,!s){let h=Math.pow(2,8*n)-1;$(this,e,t,n,h,0);}let u=n-1,l=1;for(this[t+u]=e&255;--u>=0&&(l*=256);)this[t+u]=e/l&255;return t+n},a.prototype.writeUint8=a.prototype.writeUInt8=function(e,t,n){return e=+e,t=t>>>0,n||$(this,e,t,1,255,0),this[t]=e&255,t+1},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(e,t,n){return e=+e,t=t>>>0,n||$(this,e,t,2,65535,0),this[t]=e&255,this[t+1]=e>>>8,t+2},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(e,t,n){return e=+e,t=t>>>0,n||$(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=e&255,t+2},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(e,t,n){return e=+e,t=t>>>0,n||$(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=e&255,t+4},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(e,t,n){return e=+e,t=t>>>0,n||$(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};function tt(e,t,n,s,u){at(t,s,u,e,n,7);let l=Number(t&BigInt(4294967295));e[n++]=l,l=l>>8,e[n++]=l,l=l>>8,e[n++]=l,l=l>>8,e[n++]=l;let h=Number(t>>BigInt(32)&BigInt(4294967295));return e[n++]=h,h=h>>8,e[n++]=h,h=h>>8,e[n++]=h,h=h>>8,e[n++]=h,n}function nt(e,t,n,s,u){at(t,s,u,e,n,7);let l=Number(t&BigInt(4294967295));e[n+7]=l,l=l>>8,e[n+6]=l,l=l>>8,e[n+5]=l,l=l>>8,e[n+4]=l;let h=Number(t>>BigInt(32)&BigInt(4294967295));return e[n+3]=h,h=h>>8,e[n+2]=h,h=h>>8,e[n+1]=h,h=h>>8,e[n]=h,n+8}a.prototype.writeBigUInt64LE=V(function(e,t=0){return tt(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeBigUInt64BE=V(function(e,t=0){return nt(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeIntLE=function(e,t,n,s){if(e=+e,t=t>>>0,!s){let S=Math.pow(2,8*n-1);$(this,e,t,n,S-1,-S);}let u=0,l=1,h=0;for(this[t]=e&255;++u<n&&(l*=256);)e<0&&h===0&&this[t+u-1]!==0&&(h=1),this[t+u]=(e/l>>0)-h&255;return t+n},a.prototype.writeIntBE=function(e,t,n,s){if(e=+e,t=t>>>0,!s){let S=Math.pow(2,8*n-1);$(this,e,t,n,S-1,-S);}let u=n-1,l=1,h=0;for(this[t+u]=e&255;--u>=0&&(l*=256);)e<0&&h===0&&this[t+u+1]!==0&&(h=1),this[t+u]=(e/l>>0)-h&255;return t+n},a.prototype.writeInt8=function(e,t,n){return e=+e,t=t>>>0,n||$(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=e&255,t+1},a.prototype.writeInt16LE=function(e,t,n){return e=+e,t=t>>>0,n||$(this,e,t,2,32767,-32768),this[t]=e&255,this[t+1]=e>>>8,t+2},a.prototype.writeInt16BE=function(e,t,n){return e=+e,t=t>>>0,n||$(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=e&255,t+2},a.prototype.writeInt32LE=function(e,t,n){return e=+e,t=t>>>0,n||$(this,e,t,4,2147483647,-2147483648),this[t]=e&255,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},a.prototype.writeInt32BE=function(e,t,n){return e=+e,t=t>>>0,n||$(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4},a.prototype.writeBigInt64LE=V(function(e,t=0){return tt(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),a.prototype.writeBigInt64BE=V(function(e,t=0){return nt(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function rt(e,t,n,s,u,l){if(n+s>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function it(e,t,n,s,u){return t=+t,n=n>>>0,u||rt(e,t,n,4),i.write(e,t,n,s,23,4),n+4}a.prototype.writeFloatLE=function(e,t,n){return it(this,e,t,!0,n)},a.prototype.writeFloatBE=function(e,t,n){return it(this,e,t,!1,n)};function st(e,t,n,s,u){return t=+t,n=n>>>0,u||rt(e,t,n,8),i.write(e,t,n,s,52,8),n+8}a.prototype.writeDoubleLE=function(e,t,n){return st(this,e,t,!0,n)},a.prototype.writeDoubleBE=function(e,t,n){return st(this,e,t,!1,n)},a.prototype.copy=function(e,t,n,s){if(!a.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),!s&&s!==0&&(s=this.length),t>=e.length&&(t=e.length),t||(t=0),s>0&&s<n&&(s=n),s===n||e.length===0||this.length===0)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("Index out of range");if(s<0)throw new RangeError("sourceEnd out of bounds");s>this.length&&(s=this.length),e.length-t<s-n&&(s=e.length-t+n);let u=s-n;return this===e&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(t,n,s):Uint8Array.prototype.set.call(e,this.subarray(n,s),t),u},a.prototype.fill=function(e,t,n,s){if(typeof e=="string"){if(typeof t=="string"?(s=t,t=0,n=this.length):typeof n=="string"&&(s=n,n=this.length),s!==void 0&&typeof s!="string")throw new TypeError("encoding must be a string");if(typeof s=="string"&&!a.isEncoding(s))throw new TypeError("Unknown encoding: "+s);if(e.length===1){let l=e.charCodeAt(0);(s==="utf8"&&l<128||s==="latin1")&&(e=l);}}else typeof e=="number"?e=e&255:typeof e=="boolean"&&(e=Number(e));if(t<0||this.length<t||this.length<n)throw new RangeError("Out of range index");if(n<=t)return this;t=t>>>0,n=n===void 0?this.length:n>>>0,e||(e=0);let u;if(typeof e=="number")for(u=t;u<n;++u)this[u]=e;else {let l=a.isBuffer(e)?e:a.from(e,s),h=l.length;if(h===0)throw new TypeError('The value "'+e+'" is invalid for argument "value"');for(u=0;u<n-t;++u)this[u+t]=l[u%h];}return this};let ne={};function xe(e,t,n){ne[e]=class extends n{constructor(){super(),Object.defineProperty(this,"message",{value:t.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${e}]`,this.stack,delete this.name;}get code(){return e}set code(s){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:s,writable:!0});}toString(){return `${this.name} [${e}]: ${this.message}`}};}xe("ERR_BUFFER_OUT_OF_BOUNDS",function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),xe("ERR_INVALID_ARG_TYPE",function(e,t){return `The "${e}" argument must be of type number. Received type ${typeof t}`},TypeError),xe("ERR_OUT_OF_RANGE",function(e,t,n){let s=`The value of "${e}" is out of range.`,u=n;return Number.isInteger(n)&&Math.abs(n)>2**32?u=ot(String(n)):typeof n=="bigint"&&(u=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(u=ot(u)),u+="n"),s+=` It must be ${t}. Received ${u}`,s},RangeError);function ot(e){let t="",n=e.length,s=e[0]==="-"?1:0;for(;n>=s+4;n-=3)t=`_${e.slice(n-3,n)}${t}`;return `${e.slice(0,n)}${t}`}function un(e,t,n){re(t,"offset"),(e[t]===void 0||e[t+n]===void 0)&&he(t,e.length-(n+1));}function at(e,t,n,s,u,l){if(e>n||e<t){let h=typeof t=="bigint"?"n":"",S;throw t===0||t===BigInt(0)?S=`>= 0${h} and < 2${h} ** ${(l+1)*8}${h}`:S=`>= -(2${h} ** ${(l+1)*8-1}${h}) and < 2 ** ${(l+1)*8-1}${h}`,new ne.ERR_OUT_OF_RANGE("value",S,e)}un(s,u,l);}function re(e,t){if(typeof e!="number")throw new ne.ERR_INVALID_ARG_TYPE(t,"number",e)}function he(e,t,n){throw Math.floor(e)!==e?(re(e,n),new ne.ERR_OUT_OF_RANGE("offset","an integer",e)):t<0?new ne.ERR_BUFFER_OUT_OF_BOUNDS:new ne.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${t}`,e)}let ln=/[^+/0-9A-Za-z-_]/g;function fn(e){if(e=e.split("=")[0],e=e.trim().replace(ln,""),e.length<2)return "";for(;e.length%4!==0;)e=e+"=";return e}function Be(e,t){t=t||1/0;let n,s=e.length,u=null,l=[];for(let h=0;h<s;++h){if(n=e.charCodeAt(h),n>55295&&n<57344){if(!u){if(n>56319){(t-=3)>-1&&l.push(239,191,189);continue}else if(h+1===s){(t-=3)>-1&&l.push(239,191,189);continue}u=n;continue}if(n<56320){(t-=3)>-1&&l.push(239,191,189),u=n;continue}n=(u-55296<<10|n-56320)+65536;}else u&&(t-=3)>-1&&l.push(239,191,189);if(u=null,n<128){if((t-=1)<0)break;l.push(n);}else if(n<2048){if((t-=2)<0)break;l.push(n>>6|192,n&63|128);}else if(n<65536){if((t-=3)<0)break;l.push(n>>12|224,n>>6&63|128,n&63|128);}else if(n<1114112){if((t-=4)<0)break;l.push(n>>18|240,n>>12&63|128,n>>6&63|128,n&63|128);}else throw new Error("Invalid code point")}return l}function hn(e){let t=[];for(let n=0;n<e.length;++n)t.push(e.charCodeAt(n)&255);return t}function cn(e,t){let n,s,u,l=[];for(let h=0;h<e.length&&!((t-=2)<0);++h)n=e.charCodeAt(h),s=n>>8,u=n%256,l.push(u),l.push(s);return l}function ut(e){return r.toByteArray(fn(e))}function me(e,t,n,s){let u;for(u=0;u<s&&!(u+n>=t.length||u>=e.length);++u)t[u+n]=e[u];return u}function F(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function Te(e){return e!==e}let pn=function(){let e="0123456789abcdef",t=new Array(256);for(let n=0;n<16;++n){let s=n*16;for(let u=0;u<16;++u)t[s+u]=e[n]+e[u];}return t}();function V(e){return typeof BigInt>"u"?dn:e}function dn(){throw new Error("BigInt not supported")}return Y}var ee=Yr();ee.Buffer;ee.SlowBuffer;ee.INSPECT_MAX_BYTES;ee.kMaxLength;var bt=ee.Buffer;ee.INSPECT_MAX_BYTES;ee.kMaxLength;var Jr={};Rn(Jr,{deleteItem:()=>ei,getItem:()=>Ce,setItem:()=>Ie});var be=()=>typeof window>"u",_t=()=>!be(),Xr="__IMX-",qe=()=>_t()&&window.localStorage,Qr=r=>{if(r!==null)try{return JSON.parse(r)}catch{return r}},Zr=r=>typeof r=="string"?r:JSON.stringify(r),Ve=r=>`${Xr}${r}`;function Ce(r){if(qe())return Qr(window.localStorage.getItem(Ve(r)))}var Ie=(r,i)=>qe()?(window.localStorage.setItem(Ve(r),Zr(i)),!0):!1,ei=r=>qe()?(window.localStorage.removeItem(Ve(r)),!0):!1,$e=0,ti=r=>{let i=parseInt(r,10)*1e3,o=new Date(i),f=new Date;return $e=o.getTime()-f.getTime(),$e},ni=()=>{let r=new Date().getTime()+$e;return new Date(r).toISOString()},ri=(r=>(r.RUNTIME_ID="rid",r.PASSPORT_CLIENT_ID="passportClientId",r.ENVIRONMENT="env",r.PUBLISHABLE_API_KEY="pak",r.IDENTITY="uid",r.DOMAIN="domain",r.SDK_VERSION="sdkVersion",r))(ri||{}),ii="https://api.immutable.com",si=r=>{if(typeof bt<"u")return bt.from(r,"utf-8").toString("base64");if(typeof btoa=="function")return btoa(unescape(encodeURIComponent(r)));throw new Error("Base64 encoding not supported in this environment")};async function At(r,i){let o=JSON.stringify(i),f={payload:si(o)},c=await fetch(`${ii}${r}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(f)});if(!c.ok){let p=await c.text().catch(()=>"");throw new Error(`Request failed (${c.status}): ${p||c.statusText}`)}return c.json()}var X,Q,oi=()=>{X=Ce("metrics-events")||[],Q=Ce("metrics-runtime")||{};};oi();var Z=(r,i)=>{Q={...Q,[r]:i},Ie("metrics-runtime",Q);},Me=r=>{if(Q[r]!==void 0)return Q[r]},ai=()=>Q,ui=()=>X,li=r=>{X.push(r),Ie("metrics-events",X);},fi=r=>{X=X.slice(r),Ie("metrics-events",X);},xt=r=>{let i=[];return Object.entries(r).forEach(([o,f])=>{(typeof o=="string"||typeof f=="string"||typeof f=="number"||typeof f=="boolean")&&i.push([o,f.toString()]);}),i},Pe="2.15.1-alpha.4",hi=()=>be()?"":window.location.ancestorOrigins&&window.location.ancestorOrigins.length>0?new URL(window.location.ancestorOrigins[0]).hostname:document.referrer?new URL(window.document.referrer).hostname:"",ci=()=>{if(be())return "";let r;try{window.self!==window.top&&(r=hi());}catch{}return r||(r=window.location.hostname),r},pi=()=>{if(Z("sdkVersion",Pe),be())return {browser:"nodejs",sdkVersion:Pe};let r=ci();return r&&Z("domain",r),{sdkVersion:Pe,browser:window.navigator.userAgent,domain:r,tz:Intl.DateTimeFormat().resolvedOptions().timeZone,screen:`${window.screen.width}x${window.screen.height}`}},De=!1,di=()=>De,gi=async()=>{De=!0;try{let r=xt(pi()),i=Me("rid"),o=Me("uid"),f=await At("/v1/sdk/initialise",{version:1,data:{runtimeDetails:r,runtimeId:i,uId:o}}),{runtimeId:c,sTime:p}=f;Z("rid",c),ti(p);}catch{De=!1;}};function D(r,i){return (...o)=>{try{let f=r(...o);return f instanceof Promise?f.catch(()=>i):f}catch{return i}}}function yi(){return _t()||typeof Le>"u"?!1:Le.env.JEST_WORKER_ID!==void 0}var mi=D(yi,!1),Bt="imtbl__metrics",wi=5e3,vi=1e3,pe=(r,i)=>(0, Fe.getGlobalisedValue)(Bt,r,i),bi=(r,i)=>{let o=ct(i,{lruOptions:{ttl:wi,max:vi}});return (0, Fe.getGlobalisedValue)(Bt,r,o)},Ii=5e3,Ei=(r,i,o)=>{let f={event:`${r}.${i}`,time:ni(),...o&&{properties:xt(o)}};li(f);},oe=D(bi("track",Ei)),Si=async()=>{if(di()===!1){await gi();return}let r=ui();if(r.length===0)return;let i=r.length,o=ai();await At("/v1/sdk/metrics",{version:1,data:{events:r,details:o}})instanceof Error||fi(i);},_i=D(Si),Tt=async()=>{await _i(),setTimeout(Tt,Ii);},It=!1,Ai=()=>{It||(It=!0,Tt());};mi()||D(pe("startFlushing",Ai))();var Pi=(r,i,o,f)=>{let{message:c}=o,p=o.stack||"",{cause:a}=o;a instanceof Error&&(p=`${p}
|
|
2
2
|
Cause: ${a.message}
|
|
3
|
-
${a.stack}`),ot(i,`trackError_${r}`,{...l||{},errorMessage:h,errorStack:c,isTrackError:!0});},ke=P($r),Pr=i=>{Q("env",i);};P(dt("setEnvironment",Pr));var Fr=i=>{Q("passportClientId",i);};P(dt("setPassportClientId",Fr));var jr=i=>{Q("pak",i);};P(dt("setPublishableApiKey",jr));P(dt("getDetail",Dt));var qr={Passport:"passport",Steam:"steam",Epic:"epic",Google:"google",Apple:"apple",Discord:"discord",Email:"email",Custom:"custom"},Gr={dev:"https://api.dev.immutable.com",sandbox:"https://api.sandbox.immutable.com",production:"https://api.immutable.com"},Re="/v1/audience/messages",Vr="/v1/audience/tracking-consent",Ce=5e3,$e=20,ut="imtbl_anon_id",at="_imtbl_sid",Kr=365*24*60*60*2,Oe=30*60,Me="session_start",De="session_end",Yt=i=>Gr[i],pt=()=>typeof window<"u"&&typeof document<"u",ft=()=>typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,i=>{let r=Math.trunc(Math.random()*16);return (i==="x"?r:r%4+8).toString(16)}),Pe=()=>new Date().toISOString();function St(i){if(!pt())return;let r=document.cookie.match(new RegExp(`(?:^|; )${i}=([^;]*)`));return r?decodeURIComponent(r[1]):void 0}function Et(i,r,o,l){if(!pt())return;let h=window.location.protocol==="https:"?"; Secure":"",c=l?`; domain=${l}`:"";document.cookie=`${i}=${encodeURIComponent(r)}; path=/; max-age=${o}; SameSite=Lax${c}${h}`;}function gt(i,r){Et(i,"",0,r);}function Bt(i){let r=St(ut);if(r)return r;let o=ft();return Et(ut,o,Kr,i),o}var Kt=class extends Error{status;endpoint;body;constructor(i){super(`audience transport failed: ${i.status||"network error"} ${i.endpoint}`,i.cause!==void 0?{cause:i.cause}:void 0),this.name="TransportError",this.status=i.status,this.endpoint=i.endpoint,this.body=i.body;}},zt=class extends Error{code;status;endpoint;responseBody;cause;constructor(i){super(i.message),this.name="AudienceError",this.code=i.code,this.status=i.status,this.endpoint=i.endpoint,this.responseBody=i.responseBody,this.cause=i.cause;}};function Fe(i,r,o){if(i.status===0)return new zt({code:"NETWORK_ERROR",message:r==="flush"?`Network error sending ${o??0} messages`:"Network error syncing consent",status:0,endpoint:i.endpoint,cause:i.cause});if(i.status>=200&&i.status<300){let l=i.body,h=l?.rejected??0,c=l?.accepted??0;return new zt({code:"VALIDATION_REJECTED",message:`Backend rejected ${h} of ${h+c} messages`,status:i.status,endpoint:i.endpoint,responseBody:i.body})}return new zt({code:r==="flush"?"FLUSH_FAILED":"CONSENT_SYNC_FAILED",message:r==="flush"?`Flush failed with status ${i.status}`:`Consent sync failed with status ${i.status}`,status:i.status,endpoint:i.endpoint,responseBody:i.body,cause:i.cause})}function je(i,r){if(i)try{i(r);}catch{}}async function Ne(i){let r=i.headers?.get?.("content-type")??"";try{return r.includes("application/json")?await i.json():await i.text()}catch{return}}var Jt=async(i,r,o,l)=>{try{let h=await fetch(i,{method:l?.method??"POST",headers:{"Content-Type":"application/json","x-immutable-publishable-key":r},body:JSON.stringify(o),keepalive:l?.keepalive});if(!h.ok){let a=await Ne(h);return ot("audience","transport_send_failed",{status:h.status}),{ok:!1,error:new Kt({status:h.status,endpoint:i,body:a})}}let c=await Ne(h);if(typeof c=="object"&&c!==null&&"rejected"in c){let a=c.rejected??0;if(a>0)return ot("audience","transport_partial_rejected",{status:h.status,rejected:a}),{ok:!1,error:new Kt({status:h.status,endpoint:i,body:c})}}return {ok:!0}}catch(h){let c=new Kt({status:0,endpoint:i,cause:h});return ke("audience","transport_send",c),{ok:!1,error:c}}},Wt="__imtbl_audience_";function Xt(){try{return pt()&&typeof localStorage<"u"}catch{return !1}}function zr(i,r=Wt){if(Xt())try{let o=localStorage.getItem(`${r}${i}`);return o?JSON.parse(o):void 0}catch{return}}function Hr(i,r,o=Wt){if(Xt())try{localStorage.setItem(`${o}${i}`,JSON.stringify(r));}catch{}}function Yr(i,r=Wt){if(Xt())try{localStorage.removeItem(`${r}${i}`);}catch{}}var Ht="queue",Le=100,qe=class{constructor(i,r,o,l,h,c){this.send=i,this.endpointUrl=r,this.publishableKey=o,this.flushIntervalMs=l,this.flushSize=h,this.onFlush=c?.onFlush,this.onError=c?.onError,this.storagePrefix=c?.storagePrefix;let a=zr(Ht,this.storagePrefix)??[];this.messages=c?.staleFilter?a.filter(c.staleFilter):a;}messages;timer=null;flushing=!1;unloadBound=!1;visibilityHandler;pagehideHandler;onFlush;onError;storagePrefix;start(){this.timer||(this.timer=setInterval(()=>this.flush(),this.flushIntervalMs),this.registerUnload());}stop(){this.timer&&(clearInterval(this.timer),this.timer=null),this.removeUnload();}destroy(){this.stop(),this.flushUnload();}enqueue(i){this.messages.push(i),this.persist(),this.messages.length>=this.flushSize&&this.flush();}async flush(){if(!(this.flushing||this.messages.length===0)){this.flushing=!0;try{let i=this.messages.slice(0,Le),r={messages:i},o=await this.send(this.endpointUrl,this.publishableKey,r),l;!o.ok&&o.error&&(l=Fe(o.error,"flush",i.length));let h=l?.code==="VALIDATION_REJECTED";(o.ok||h)&&(this.messages=this.messages.slice(i.length),this.persist()),this.onFlush?.(o.ok,i.length),l&&je(this.onError,l);}finally{this.flushing=!1;}}}flushUnload(){if(this.flushing||this.messages.length===0)return;let i=this.messages.slice(0,Le),r={messages:i};this.send(this.endpointUrl,this.publishableKey,r,{keepalive:!0}),this.messages=this.messages.slice(i.length),this.persist();}purge(i){this.messages=this.messages.filter(r=>!i(r)),this.persist();}transform(i){this.messages=this.messages.map(i),this.persist();}get length(){return this.messages.length}clear(){this.messages=[],Yr(Ht,this.storagePrefix);}registerUnload(){!pt()||this.unloadBound||(this.unloadBound=!0,this.pagehideHandler=()=>this.flushUnload(),this.visibilityHandler=()=>{document.visibilityState==="hidden"&&this.flushUnload();},document.addEventListener("visibilitychange",this.visibilityHandler),window.addEventListener("pagehide",this.pagehideHandler));}removeUnload(){this.unloadBound&&(this.visibilityHandler&&document.removeEventListener("visibilitychange",this.visibilityHandler),this.pagehideHandler&&window.removeEventListener("pagehide",this.pagehideHandler),this.unloadBound=!1);}persist(){Hr(Ht,this.messages,this.storagePrefix);}},Jr="2.15.1-alpha.2";function Ge(i="@imtbl/audience",r=Jr){let o={library:i,libraryVersion:r};return pt()&&(o.userAgent=navigator.userAgent,o.locale=navigator.language,o.timezone=Intl.DateTimeFormat().resolvedOptions().timeZone,o.screen=`${window.screen.width}x${window.screen.height}`,o.pageUrl=window.location.href,o.pagePath=window.location.pathname,o.pageReferrer=document.referrer,o.pageTitle=document.title),o}function Ve(i){let r=new Date(i).getTime();if(Number.isNaN(r))return !1;let o=Date.now();return r<=o+864e5&&r>=o-2592e6}function Ke(i,r,o,l){return i!==o||r!==l}function yt(i,r=256){return i.length>r?i.slice(0,r):i}function lt(i){let r=St(at);if(r)return Et(at,r,Oe,i),{sessionId:r,isNew:!1};let o=ft();return Et(at,o,Oe,i),{sessionId:o,isNew:!0}}var ze=["utm_source","utm_medium","utm_campaign","utm_content","utm_term"],He=["gclid","dclid","fbclid","ttclid","msclkid","li_fat_id"],Ye="__imtbl_attribution";function Wr(i){let r;try{r=new URL(i).searchParams;}catch{return {}}let o={};for(let h of [...ze,...He]){let c=r.get(h);c&&(o[h]=c);}let l=r.get("referral_code");return l&&(o.referral_code=l),o}function Xr(){try{let i=sessionStorage.getItem(Ye);return i?JSON.parse(i):null}catch{return null}}function Zr(i){try{sessionStorage.setItem(Ye,JSON.stringify(i));}catch{}}function Je(){let i=Xr();if(i)return i;let r=typeof window<"u"&&window.location?Wr(window.location.href):{},o=typeof document<"u"&&document.referrer||void 0,l=typeof window<"u"&&window.location?window.location.href:void 0,h=He.some(y=>y in r),c=ze.some(y=>y in r),a={...r,referrer:o,landing_page:l,touchpoint_type:h||c?"click":void 0};return Zr(a),a}function H(i){return i!=="none"}function et(i){return i==="full"}function We(i,r,o,l,h,c,a,y){let w=a??"none",B={none:0,anonymous:1,full:2};function b(m){let v=`${Yt(h)}${Vr}`;r(v,o,{anonymousId:l,status:m,source:c},{method:"PUT",keepalive:!0}).then(p=>{!p.ok&&p.error&&je(y,Fe(p.error,"consent"));});}return {get level(){return w},setLevel(m){m!==w&&(B[m]<B[w]&&(m==="none"?i.purge(()=>!0):m==="anonymous"&&(i.purge(v=>v.type==="identify"||v.type==="alias"),i.transform(v=>{if("userId"in v){let{userId:p,...g}=v;return g}return v}))),w=m,b(m));}}}k();U();k();U();var Xe="@imtbl/audience",Ze="2.15.1-alpha.2",Y="[audience]",Qe="WebSDK";var At=class{enabled;constructor(r=!1){this.enabled=r;}logEvent(r,o){this.enabled&&console.log(`${Y} ${r}`,o);}logFlush(r,o){this.enabled&&console.log(`${Y} flush ${r?"ok":"failed"} (${o} messages)`);}logConsent(r,o){this.enabled&&console.log(`${Y} consent ${r} \u2192 ${o}`);}logWarning(r){this.enabled&&console.warn(`${Y} ${r}`);}};var Zt=class i{static liveInstances=0;queue;consent;attribution;debug;cookieDomain;anonymousId;sessionId;sessionStartTime;userId;isFirstPage=!0;destroyed=!1;constructor(r){let{cookieDomain:o,environment:l,publishableKey:h}=r,c=r.consent??"none",a=Qe,y=r.flushInterval??Ce,w=r.flushSize??$e;this.cookieDomain=o,this.debug=new At(r.debug??!1);let B=!1;H(c)?(this.anonymousId=Bt(o),B=this.startSession()):this.anonymousId=St(ut)??ft();let b=`${Yt(l)}${Re}`;this.queue=new qe(Jt,b,h,y,w,{onFlush:(m,v)=>this.debug.logFlush(m,v),staleFilter:m=>Ve(m.eventTimestamp),storagePrefix:"__imtbl_web_"}),this.consent=We(this.queue,Jt,h,this.anonymousId,l,a,c),this.attribution=Je(),this.isTrackingDisabled()||(this.queue.start(),B&&this.trackSessionStart());}static init(r){if(!r.publishableKey?.trim())throw new Error(`${Y} publishableKey is required`);return i.liveInstances>0&&console.warn(`${Y} Multiple SDK instances detected. Ensure previous instances are shut down to avoid duplicate events.`),i.liveInstances+=1,new i(r)}isTrackingDisabled(){return !H(this.consent.level)}effectiveUserId(){return et(this.consent.level)?this.userId:void 0}startSession(){let r=lt(this.cookieDomain);return this.sessionId=r.sessionId,this.sessionStartTime=Date.now(),r.isNew}baseMessage(){return {messageId:ft(),eventTimestamp:Pe(),anonymousId:this.anonymousId,surface:"web",context:Ge(Xe,Ze)}}enqueue(r,o){this.queue.enqueue(o),this.debug.logEvent(r,o);}trackSessionStart(){this.sessionId&&this.enqueue("track(session_start)",{...this.baseMessage(),type:"track",eventName:Me,properties:{sessionId:this.sessionId,...this.attribution}});}trackSessionEnd(){this.sessionId&&this.enqueue("track(session_end)",{...this.baseMessage(),type:"track",eventName:De,properties:{sessionId:this.sessionId,...this.sessionStartTime&&{duration:Math.round((Date.now()-this.sessionStartTime)/1e3)}}});}page(r){if(this.isTrackingDisabled())return;lt(this.cookieDomain);let o={...r};this.isFirstPage&&(Object.assign(o,this.attribution),this.isFirstPage=!1),this.enqueue("page",{...this.baseMessage(),type:"page",properties:Object.keys(o).length>0?o:void 0,userId:this.effectiveUserId()});}track(r,o){this.isTrackingDisabled()||(lt(this.cookieDomain),this.enqueue("track",{...this.baseMessage(),type:"track",eventName:yt(r),properties:o,userId:this.effectiveUserId()}));}identify(r,o,l){if(!et(this.consent.level)){this.debug.logWarning("identify() requires full consent \u2014 call ignored.");return}if(lt(this.cookieDomain),r!==null&&typeof r=="object"&&!Array.isArray(r)){this.enqueue("identify",{...this.baseMessage(),type:"identify",traits:r});return}if(typeof r!="string")return;let h=yt(r);this.userId=h,this.enqueue("identify",{...this.baseMessage(),type:"identify",userId:h,identityType:o,traits:l});}alias(r,o){if(!et(this.consent.level)){this.debug.logWarning("alias() requires full consent \u2014 call ignored.");return}if(!Ke(r.id,r.identityType,o.id,o.identityType)){this.debug.logWarning("alias() from and to are identical \u2014 call ignored.");return}lt(this.cookieDomain),this.enqueue("alias",{...this.baseMessage(),type:"alias",fromId:yt(r.id),fromType:r.identityType,toId:yt(o.id),toType:o.identityType});}setConsent(r){let o=this.consent.level;if(r===o)return;this.debug.logConsent(o,r);let l=!H(o)&&H(r);if(l&&(this.anonymousId=Bt(this.cookieDomain)),H(r)||this.queue.stop(),this.consent.setLevel(r),H(r)?et(o)&&!et(r)&&(this.userId=void 0):(gt(ut,this.cookieDomain),gt(at,this.cookieDomain)),l){this.isFirstPage=!0;let h=this.startSession();this.queue.start(),h&&this.trackSessionStart();}}reset(){this.userId=void 0,this.queue.clear(),gt(ut,this.cookieDomain),gt(at,this.cookieDomain),this.isTrackingDisabled()?(this.anonymousId=ft(),this.sessionId=void 0,this.sessionStartTime=void 0):(this.anonymousId=Bt(this.cookieDomain),this.startSession()&&this.trackSessionStart()),this.isFirstPage=!0;}async flush(){await this.queue.flush();}shutdown(){this.destroyed||(this.destroyed=!0,this.isTrackingDisabled()||this.trackSessionEnd(),this.queue.destroy(),i.liveInstances=Math.max(0,i.liveInstances-1));}};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
|
|
3
|
+
${a.stack}`),oe(r,`trackError_${i}`,{...f||{},errorMessage:c,errorStack:p,isTrackError:!0});},Ut=D(Pi),Li=r=>{Z("env",r);};D(pe("setEnvironment",Li));var Ci=r=>{Z("passportClientId",r);};D(pe("setPassportClientId",Ci));var $i=r=>{Z("pak",r);};D(pe("setPublishableApiKey",$i));D(pe("getDetail",Me));var Mi={Passport:"passport",Steam:"steam",Epic:"epic",Google:"google",Apple:"apple",Discord:"discord",Email:"email",Custom:"custom"},Di="pk_imapik-test-",Fi="/v1/audience/messages",ji="/v1/audience/tracking-consent",ue="imtbl_anon_id",ae="_imtbl_sid",Pt="session_start",Rt="session_end",Nt=r=>r.startsWith(Di)?"https://api.sandbox.immutable.com":"https://api.immutable.com",de=()=>typeof window<"u"&&typeof document<"u",le=()=>typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,r=>{let i=Math.trunc(Math.random()*16);return (r==="x"?i:i%4+8).toString(16)}),Lt=()=>new Date().toISOString();function Se(r){if(!de())return;let i=document.cookie.match(new RegExp(`(?:^|; )${r}=([^;]*)`));return i?decodeURIComponent(i[1]):void 0}function Ee(r,i,o,f){if(!de())return;let c=window.location.protocol==="https:"?"; Secure":"",p=f?`; domain=${f}`:"";document.cookie=`${r}=${encodeURIComponent(i)}; path=/; max-age=${o}; SameSite=Lax${p}${c}`;}function ge(r,i){Ee(r,"",0,i);}function _e(r){let i=Se(ue);if(i)return i;let o=le();return Ee(ue,o,63072e3,r),o}var Ke=class extends Error{status;endpoint;body;constructor(r){super(`audience transport failed: ${r.status||"network error"} ${r.endpoint}`,r.cause!==void 0?{cause:r.cause}:void 0),this.name="TransportError",this.status=r.status,this.endpoint=r.endpoint,this.body=r.body;}},ze=class extends Error{code;status;endpoint;responseBody;cause;constructor(r){super(r.message),this.name="AudienceError",this.code=r.code,this.status=r.status,this.endpoint=r.endpoint,this.responseBody=r.responseBody,this.cause=r.cause;}};function Ct(r,i,o){if(r.status===0)return new ze({code:"NETWORK_ERROR",message:i==="flush"?`Network error sending ${o??0} messages`:"Network error syncing consent",status:0,endpoint:r.endpoint,cause:r.cause});if(r.status>=200&&r.status<300){let f=r.body,c=f?.rejected??0,p=f?.accepted??0;return new ze({code:"VALIDATION_REJECTED",message:`Backend rejected ${c} of ${c+p} messages`,status:r.status,endpoint:r.endpoint,responseBody:r.body})}return new ze({code:i==="flush"?"FLUSH_FAILED":"CONSENT_SYNC_FAILED",message:i==="flush"?`Flush failed with status ${r.status}`:`Consent sync failed with status ${r.status}`,status:r.status,endpoint:r.endpoint,responseBody:r.body,cause:r.cause})}function $t(r,i){if(r)try{r(i);}catch{}}async function kt(r){let i=r.headers?.get?.("content-type")??"";try{return i.includes("application/json")?await r.json():await r.text()}catch{return}}var He=async(r,i,o,f)=>{try{let c=await fetch(r,{method:f?.method??"POST",headers:{"Content-Type":"application/json","x-immutable-publishable-key":i},body:JSON.stringify(o),keepalive:f?.keepalive});if(!c.ok){let a=await kt(c);return oe("audience","transport_send_failed",{status:c.status}),{ok:!1,error:new Ke({status:c.status,endpoint:r,body:a})}}let p=await kt(c);if(typeof p=="object"&&p!==null&&"rejected"in p){let a=p.rejected??0;if(a>0)return oe("audience","transport_partial_rejected",{status:c.status,rejected:a}),{ok:!1,error:new Ke({status:c.status,endpoint:r,body:p})}}return {ok:!0}}catch(c){let p=new Ke({status:0,endpoint:r,cause:c});return Ut("audience","transport_send",p),{ok:!1,error:p}}},Ye="__imtbl_audience_";function Je(){try{return de()&&typeof localStorage<"u"}catch{return !1}}function Gi(r,i=Ye){if(Je())try{let o=localStorage.getItem(`${i}${r}`);return o?JSON.parse(o):void 0}catch{return}}function qi(r,i,o=Ye){if(Je())try{localStorage.setItem(`${o}${r}`,JSON.stringify(i));}catch{}}function Vi(r,i=Ye){if(Je())try{localStorage.removeItem(`${i}${r}`);}catch{}}var We="queue",Ot=100,Mt=class{constructor(r,i,o){this.send=r,this.publishableKey=i,this.endpointUrl=`${o?.baseUrl??Nt(i)}${Fi}`,this.flushIntervalMs=o?.flushIntervalMs??5e3,this.flushSize=o?.flushSize??20,this.onFlush=o?.onFlush,this.onError=o?.onError,this.storagePrefix=o?.storagePrefix;let f=Gi(We,this.storagePrefix)??[];this.messages=o?.staleFilter?f.filter(o.staleFilter):f;}messages;timer=null;flushing=!1;unloadBound=!1;visibilityHandler;pagehideHandler;onFlush;onError;storagePrefix;endpointUrl;flushIntervalMs;flushSize;start(){this.timer||(this.timer=setInterval(()=>this.flush(),this.flushIntervalMs),this.registerUnload());}stop(){this.timer&&(clearInterval(this.timer),this.timer=null),this.removeUnload();}destroy(){this.stop(),this.flushUnload();}enqueue(r){this.messages.push(r),this.persist(),this.messages.length>=this.flushSize&&this.flush();}async flush(){if(!(this.flushing||this.messages.length===0)){this.flushing=!0;try{let r=this.messages.slice(0,Ot),i={messages:r},o=await this.send(this.endpointUrl,this.publishableKey,i),f;!o.ok&&o.error&&(f=Ct(o.error,"flush",r.length));let c=f?.code==="VALIDATION_REJECTED";(o.ok||c)&&(this.messages=this.messages.slice(r.length),this.persist()),this.onFlush?.(o.ok,r.length),f&&$t(this.onError,f);}finally{this.flushing=!1;}}}flushUnload(){if(this.flushing||this.messages.length===0)return;let r=this.messages.slice(0,Ot),i={messages:r};this.send(this.endpointUrl,this.publishableKey,i,{keepalive:!0}),this.messages=this.messages.slice(r.length),this.persist();}purge(r){this.messages=this.messages.filter(i=>!r(i)),this.persist();}transform(r){this.messages=this.messages.map(r),this.persist();}get length(){return this.messages.length}clear(){this.messages=[],Vi(We,this.storagePrefix);}registerUnload(){!de()||this.unloadBound||(this.unloadBound=!0,this.pagehideHandler=()=>this.flushUnload(),this.visibilityHandler=()=>{document.visibilityState==="hidden"&&this.flushUnload();},document.addEventListener("visibilitychange",this.visibilityHandler),window.addEventListener("pagehide",this.pagehideHandler));}removeUnload(){this.unloadBound&&(this.visibilityHandler&&document.removeEventListener("visibilitychange",this.visibilityHandler),this.pagehideHandler&&window.removeEventListener("pagehide",this.pagehideHandler),this.unloadBound=!1);}persist(){qi(We,this.messages,this.storagePrefix);}},Ki="2.15.1-alpha.4";function Dt(r="@imtbl/audience",i=Ki){let o={library:r,libraryVersion:i};return de()&&(o.userAgent=navigator.userAgent,o.locale=navigator.language,o.timezone=Intl.DateTimeFormat().resolvedOptions().timeZone,o.screen=`${window.screen.width}x${window.screen.height}`,o.pageUrl=window.location.href,o.pagePath=window.location.pathname,o.pageReferrer=document.referrer,o.pageTitle=document.title),o}function Ft(r){let i=new Date(r).getTime();if(Number.isNaN(i))return !1;let o=Date.now();return i<=o+864e5&&i>=o-2592e6}function jt(r,i,o,f){return r!==o||i!==f}function ye(r,i=256){return r.length>i?r.slice(0,i):r}function fe(r){let i=Se(ae);if(i)return Ee(ae,i,1800,r),{sessionId:i,isNew:!1};let o=le();return Ee(ae,o,1800,r),{sessionId:o,isNew:!0}}var Gt=["utm_source","utm_medium","utm_campaign","utm_content","utm_term"],qt=["gclid","dclid","fbclid","ttclid","msclkid","li_fat_id"],Vt="__imtbl_attribution";function zi(r){let i;try{i=new URL(r).searchParams;}catch{return {}}let o={};for(let c of [...Gt,...qt]){let p=i.get(c);p&&(o[c]=p);}let f=i.get("referral_code");return f&&(o.referral_code=f),o}function Wi(){try{let r=sessionStorage.getItem(Vt);return r?JSON.parse(r):null}catch{return null}}function Hi(r){try{sessionStorage.setItem(Vt,JSON.stringify(r));}catch{}}function Kt(){let r=Wi();if(r)return r;let i=typeof window<"u"&&window.location?zi(window.location.href):{},o=typeof document<"u"&&document.referrer||void 0,f=typeof window<"u"&&window.location?window.location.href:void 0,c=qt.some(y=>y in i),p=Gt.some(y=>y in i),a={...i,referrer:o,landing_page:f,touchpoint_type:c||p?"click":void 0};return Hi(a),a}function W(r){return r!=="none"}function te(r){return r==="full"}function zt(r,i,o,f,c,p,a,y){let m=p??"none",x={none:0,anonymous:1,full:2};function v(w){let b=`${y??Nt(o)}${ji}`;i(b,o,{anonymousId:f,status:w,source:c},{method:"PUT",keepalive:!0}).then(d=>{!d.ok&&d.error&&$t(a,Ct(d.error,"consent"));});}return {get level(){return m},setLevel(w){w!==m&&(x[w]<x[m]&&(w==="none"?r.purge(()=>!0):w==="anonymous"&&(r.purge(b=>b.type==="identify"||b.type==="alias"),r.transform(b=>{if("userId"in b){let{userId:d,...g}=b;return g}return b}))),m=w,v(w));}}}T();B();T();B();var Wt="@imtbl/audience",Ht="2.15.1-alpha.4",H="[audience]",Yt="WebSDK";var Ae=class{enabled;constructor(i=!1){this.enabled=i;}logEvent(i,o){this.enabled&&console.log(`${H} ${i}`,o);}logFlush(i,o){this.enabled&&console.log(`${H} flush ${i?"ok":"failed"} (${o} messages)`);}logConsent(i,o){this.enabled&&console.log(`${H} consent ${i} \u2192 ${o}`);}logWarning(i){this.enabled&&console.warn(`${H} ${i}`);}};var Xe=class r{static liveInstances=0;queue;consent;attribution;debug;cookieDomain;anonymousId;sessionId;sessionStartTime;userId;isFirstPage=!0;destroyed=!1;constructor(i){let{cookieDomain:o,publishableKey:f}=i,c=i.consent??"none",p=Yt;this.cookieDomain=o,this.debug=new Ae(i.debug??!1);let a=!1;W(c)?(this.anonymousId=_e(o),a=this.startSession()):this.anonymousId=Se(ue)??le(),this.queue=new Mt(He,f,{baseUrl:i.baseUrl,flushIntervalMs:i.flushInterval,flushSize:i.flushSize,onFlush:(y,m)=>this.debug.logFlush(y,m),staleFilter:y=>Ft(y.eventTimestamp),storagePrefix:"__imtbl_web_"}),this.consent=zt(this.queue,He,f,this.anonymousId,p,c,void 0,i.baseUrl),this.attribution=Kt(),this.isTrackingDisabled()||(this.queue.start(),a&&this.trackSessionStart());}static init(i){if(!i.publishableKey?.trim())throw new Error(`${H} publishableKey is required`);return r.liveInstances>0&&console.warn(`${H} Multiple SDK instances detected. Ensure previous instances are shut down to avoid duplicate events.`),r.liveInstances+=1,new r(i)}isTrackingDisabled(){return !W(this.consent.level)}effectiveUserId(){return te(this.consent.level)?this.userId:void 0}startSession(){let i=fe(this.cookieDomain);return this.sessionId=i.sessionId,this.sessionStartTime=Date.now(),i.isNew}baseMessage(){return {messageId:le(),eventTimestamp:Lt(),anonymousId:this.anonymousId,surface:"web",context:Dt(Wt,Ht)}}enqueue(i,o){this.queue.enqueue(o),this.debug.logEvent(i,o);}trackSessionStart(){this.sessionId&&this.enqueue("track(session_start)",{...this.baseMessage(),type:"track",eventName:Pt,properties:{sessionId:this.sessionId,...this.attribution}});}trackSessionEnd(){this.sessionId&&this.enqueue("track(session_end)",{...this.baseMessage(),type:"track",eventName:Rt,properties:{sessionId:this.sessionId,...this.sessionStartTime&&{duration:Math.round((Date.now()-this.sessionStartTime)/1e3)}}});}page(i){if(this.isTrackingDisabled())return;fe(this.cookieDomain);let o={...i};this.isFirstPage&&(Object.assign(o,this.attribution),this.isFirstPage=!1),this.enqueue("page",{...this.baseMessage(),type:"page",properties:Object.keys(o).length>0?o:void 0,userId:this.effectiveUserId()});}track(i,...o){if(this.isTrackingDisabled())return;fe(this.cookieDomain);let[f]=o;this.enqueue("track",{...this.baseMessage(),type:"track",eventName:ye(i),properties:f,userId:this.effectiveUserId()});}identify(i,o,f){if(!te(this.consent.level)){this.debug.logWarning("identify() requires full consent \u2014 call ignored.");return}if(fe(this.cookieDomain),i!==null&&typeof i=="object"&&!Array.isArray(i)){this.enqueue("identify",{...this.baseMessage(),type:"identify",traits:i});return}if(typeof i!="string")return;let c=ye(i);this.userId=c,this.enqueue("identify",{...this.baseMessage(),type:"identify",userId:c,identityType:o,traits:f});}alias(i,o){if(!te(this.consent.level)){this.debug.logWarning("alias() requires full consent \u2014 call ignored.");return}if(!jt(i.id,i.identityType,o.id,o.identityType)){this.debug.logWarning("alias() from and to are identical \u2014 call ignored.");return}fe(this.cookieDomain),this.enqueue("alias",{...this.baseMessage(),type:"alias",fromId:ye(i.id),fromType:i.identityType,toId:ye(o.id),toType:o.identityType});}setConsent(i){let o=this.consent.level;if(i===o)return;this.debug.logConsent(o,i);let f=!W(o)&&W(i);if(f&&(this.anonymousId=_e(this.cookieDomain)),W(i)||this.queue.stop(),this.consent.setLevel(i),W(i)?te(o)&&!te(i)&&(this.userId=void 0):(ge(ue,this.cookieDomain),ge(ae,this.cookieDomain)),f){this.isFirstPage=!0;let c=this.startSession();this.queue.start(),c&&this.trackSessionStart();}}reset(){this.userId=void 0,this.queue.clear(),ge(ue,this.cookieDomain),ge(ae,this.cookieDomain),this.isTrackingDisabled()?(this.anonymousId=le(),this.sessionId=void 0,this.sessionStartTime=void 0):(this.anonymousId=_e(this.cookieDomain),this.startSession()&&this.trackSessionStart()),this.isFirstPage=!0;}async flush(){await this.queue.flush();}shutdown(){this.destroyed||(this.destroyed=!0,this.isTrackingDisabled()||this.trackSessionEnd(),this.queue.destroy(),r.liveInstances=Math.max(0,r.liveInstances-1));}};T();B();var Yi={SIGN_UP:"sign_up",SIGN_IN:"sign_in",WISHLIST_ADD:"wishlist_add",WISHLIST_REMOVE:"wishlist_remove",PURCHASE:"purchase",GAME_LAUNCH:"game_launch",PROGRESSION:"progression",RESOURCE:"resource",EMAIL_ACQUIRED:"email_acquired",GAME_PAGE_VIEWED:"game_page_viewed",LINK_CLICKED:"link_clicked"};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
|
|
4
4
|
/*! Bundled license information:
|
|
5
5
|
|
|
6
6
|
tiny-lru/dist/tiny-lru.js:
|
|
@@ -13,4 +13,4 @@ tiny-lru/dist/tiny-lru.js:
|
|
|
13
13
|
*)
|
|
14
14
|
*/
|
|
15
15
|
|
|
16
|
-
export {
|
|
16
|
+
export { Xe as Audience, Yi as AudienceEvents, Mi as IdentityType, te as canIdentify, W as canTrack };
|
package/dist/node/index.cjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var Me=Object.create;var ie=Object.defineProperty;var Fe=Object.getOwnPropertyDescriptor;var je=Object.getOwnPropertyNames;var qe=Object.getPrototypeOf,Ge=Object.prototype.hasOwnProperty;var Ke=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Ve=(e,t,s,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of je(t))!Ge.call(e,r)&&r!==s&&ie(e,r,{get:()=>t[r],enumerable:!(i=Fe(t,r))||i.enumerable});return e};var Be=(e,t,s)=>(s=e!=null?Me(qe(e)):{},Ve(ie(s,"default",{value:e,enumerable:!0}),e));var ue=Ke(b=>{Object.defineProperty(b,"__esModule",{value:!0});b.clearGlobalNamespace=b.getGlobalisedValue=void 0;var We="globalise__singleton__",Je={},oe=()=>typeof window<"u"?window:typeof globalThis<"u"?globalThis:Je,Ye=(e,t)=>{if(typeof e!="string")throw "Invalid namespace key";if(typeof t!="string")throw "Invalid item key"},ae=e=>`${We}${e}`,le=e=>{let t=oe(),s=ae(e);return t[s]||(t[s]={}),t[s]},Xe=(e,t)=>le(e)[t]||void 0,Qe=(e,t,s)=>{let i=le(e);i[t]=s;},Ze=(e,t,s)=>{Ye(e,t);let i=Xe(e,t);return i!==void 0?i:(Qe(e,t,s),s)};b.getGlobalisedValue=Ze;var et=e=>{let t=oe(),s=ae(e);t[s]!==void 0&&delete t[s];};b.clearGlobalNamespace=et;});var M=class{constructor(t=0,s=0,i=!1){this.first=null,this.items=Object.create(null),this.last=null,this.max=t,this.resetTtl=i,this.size=0,this.ttl=s;}clear(){return this.first=null,this.items=Object.create(null),this.last=null,this.size=0,this}delete(t){if(this.has(t)){let s=this.items[t];delete this.items[t],this.size--,s.prev!==null&&(s.prev.next=s.next),s.next!==null&&(s.next.prev=s.prev),this.first===s&&(this.first=s.next),this.last===s&&(this.last=s.prev);}return this}entries(t=this.keys()){return t.map(s=>[s,this.get(s)])}evict(t=!1){if(t||this.size>0){let s=this.first;delete this.items[s.key],--this.size===0?(this.first=null,this.last=null):(this.first=s.next,this.first.prev=null);}return this}expiresAt(t){let s;return this.has(t)&&(s=this.items[t].expiry),s}get(t){let s;if(this.has(t)){let i=this.items[t];this.ttl>0&&i.expiry<=Date.now()?this.delete(t):(s=i.value,this.set(t,s,!0));}return s}has(t){return t in this.items}keys(){let t=[],s=this.first;for(;s!==null;)t.push(s.key),s=s.next;return t}set(t,s,i=!1,r=this.resetTtl){let n;if(i||this.has(t)){if(n=this.items[t],n.value=s,i===!1&&r&&(n.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl),this.last!==n){let o=this.last,a=n.next,l=n.prev;this.first===n&&(this.first=n.next),n.next=null,n.prev=this.last,o.next=n,l!==null&&(l.next=a),a!==null&&(a.prev=l);}}else this.max>0&&this.size===this.max&&this.evict(!0),n=this.items[t]={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:t,prev:this.last,next:null,value:s},++this.size===1?this.first=n:this.last.next=n;return this.last=n,this}values(t=this.keys()){return t.map(s=>this.get(s))}};function re(e=1e3,t=0,s=!1){if(isNaN(e)||e<0)throw new TypeError("Invalid max value");if(isNaN(t)||t<0)throw new TypeError("Invalid ttl value");if(typeof s!="boolean")throw new TypeError("Invalid resetTtl value");return new M(e,t,s)}var ze={max:1e3},ne=(e,t={})=>{let{cache:s,cacheKeyResolver:i=F,onHit:r,lruOptions:n={}}=t,o={...ze,...n},a=s||re(o.max,o.ttl);function l(...h){let f=i(...h),c=a.get(f);if(a.has(f))return r&&r(f,c,a),c;let p=e.apply(this,h);return a.set(f,p),p}return l._cache=a,l},F=(...e)=>e.length===0?"no-args":e.map(t=>t===void 0?"undefined":t===null?"null":Array.isArray(t)?`[${F(...t)}]`:typeof t=="object"?`{${F(...He(t))}}`:JSON.stringify(t)).join(","),He=e=>Object.entries(e).sort((t,s)=>t[0]<s[0]?-1:1);var B=Be(ue()),tt=Object.defineProperty,st=(e,t)=>{for(var s in t)tt(e,s,{get:t[s],enumerable:!0});},it={};st(it,{deleteItem:()=>at,getItem:()=>q,setItem:()=>C});var O=()=>typeof window>"u",de=()=>!O(),rt="__IMX-",z=()=>de()&&window.localStorage,nt=e=>{if(e!==null)try{return JSON.parse(e)}catch{return e}},ot=e=>typeof e=="string"?e:JSON.stringify(e),H=e=>`${rt}${e}`;function q(e){if(z())return nt(window.localStorage.getItem(H(e)))}var C=(e,t)=>z()?(window.localStorage.setItem(H(e),ot(t)),!0):!1,at=e=>z()?(window.localStorage.removeItem(H(e)),!0):!1,G=0,lt=e=>{let t=parseInt(e,10)*1e3,s=new Date(t),i=new Date;return G=s.getTime()-i.getTime(),G},ut=()=>{let e=new Date().getTime()+G;return new Date(e).toISOString()},ct=(e=>(e.RUNTIME_ID="rid",e.PASSPORT_CLIENT_ID="passportClientId",e.ENVIRONMENT="env",e.PUBLISHABLE_API_KEY="pak",e.IDENTITY="uid",e.DOMAIN="domain",e.SDK_VERSION="sdkVersion",e))(ct||{}),dt="https://api.immutable.com",ht=e=>{if(typeof Buffer<"u")return Buffer.from(e,"utf-8").toString("base64");if(typeof btoa=="function")return btoa(unescape(encodeURIComponent(e)));throw new Error("Base64 encoding not supported in this environment")};async function he(e,t){let s=JSON.stringify(t),i={payload:ht(s)},r=await fetch(`${dt}${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)});if(!r.ok){let n=await r.text().catch(()=>"");throw new Error(`Request failed (${r.status}): ${n||r.statusText}`)}return r.json()}var y,v,pt=()=>{y=q("metrics-events")||[],v=q("metrics-runtime")||{};};pt();var w=(e,t)=>{v={...v,[e]:t},C("metrics-runtime",v);},K=e=>{if(v[e]!==void 0)return v[e]},ft=()=>v,mt=()=>y,gt=e=>{y.push(e),C("metrics-events",y);},yt=e=>{y=y.slice(e),C("metrics-events",y);},pe=e=>{let t=[];return Object.entries(e).forEach(([s,i])=>{(typeof s=="string"||typeof i=="string"||typeof i=="number"||typeof i=="boolean")&&t.push([s,i.toString()]);}),t},j="2.15.1-alpha.4",vt=()=>O()?"":window.location.ancestorOrigins&&window.location.ancestorOrigins.length>0?new URL(window.location.ancestorOrigins[0]).hostname:document.referrer?new URL(window.document.referrer).hostname:"",wt=()=>{if(O())return "";let e;try{window.self!==window.top&&(e=vt());}catch{}return e||(e=window.location.hostname),e},It=()=>{if(w("sdkVersion",j),O())return {browser:"nodejs",sdkVersion:j};let e=wt();return e&&w("domain",e),{sdkVersion:j,browser:window.navigator.userAgent,domain:e,tz:Intl.DateTimeFormat().resolvedOptions().timeZone,screen:`${window.screen.width}x${window.screen.height}`}},V=!1,bt=()=>V,St=async()=>{V=!0;try{let e=pe(It()),t=K("rid"),s=K("uid"),i=await he("/v1/sdk/initialise",{version:1,data:{runtimeDetails:e,runtimeId:t,uId:s}}),{runtimeId:r,sTime:n}=i;w("rid",r),lt(n);}catch{V=!1;}};function d(e,t){return (...s)=>{try{let i=e(...s);return i instanceof Promise?i.catch(()=>t):i}catch{return t}}}function Et(){return de()||typeof process>"u"?!1:process.env.JEST_WORKER_ID!==void 0}var xt=d(Et,!1),fe="imtbl__metrics",_t=5e3,kt=1e3,P=(e,t)=>(0, B.getGlobalisedValue)(fe,e,t),Pt=(e,t)=>{let s=ne(t,{lruOptions:{ttl:_t,max:kt}});return (0, B.getGlobalisedValue)(fe,e,s)},Tt=5e3,Nt=(e,t,s)=>{let i={event:`${e}.${t}`,time:ut(),...s&&{properties:pe(s)}};gt(i);},S=d(Pt("track",Nt)),At=async()=>{if(bt()===!1){await St();return}let e=mt();if(e.length===0)return;let t=e.length,s=ft();await he("/v1/sdk/metrics",{version:1,data:{events:e,details:s}})instanceof Error||yt(t);},Ot=d(At),me=async()=>{await Ot(),setTimeout(me,Tt);},ce=!1,Ct=()=>{ce||(ce=!0,me());};xt()||d(P("startFlushing",Ct))();var Ft=(e,t,s,i)=>{let{message:r}=s,n=s.stack||"",{cause:o}=s;o instanceof Error&&(n=`${n}
|
|
4
4
|
Cause: ${o.message}
|
|
5
|
-
${o.stack}`),S(e,`trackError_${t}`,{...i||{},errorMessage:n,errorStack:r,isTrackError:!0});},ye=d(qt),Ht=e=>{w("env",e);};d(k("setEnvironment",Ht));var zt=e=>{w("passportClientId",e);};d(k("setPassportClientId",zt));var Jt=e=>{w("pak",e);};d(k("setPublishableApiKey",Jt));d(k("getDetail",q));var Yt={Passport:"passport",Steam:"steam",Epic:"epic",Google:"google",Apple:"apple",Discord:"discord",Email:"email",Custom:"custom"},Wt={dev:"https://api.dev.immutable.com",sandbox:"https://api.sandbox.immutable.com",production:"https://api.immutable.com"},Ie="/v1/audience/messages",Xt="/v1/audience/tracking-consent",Se=5e3,Ee=20,x="imtbl_anon_id",E="_imtbl_sid",Zt=365*24*60*60*2,ve=30*60,xe="session_start",_e="session_end",X=e=>Wt[e],N=()=>typeof window<"u"&&typeof document<"u",_=()=>typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.trunc(Math.random()*16);return (e==="x"?t:t%4+8).toString(16)}),Te=()=>new Date().toISOString();function L(e){if(!N())return;let t=document.cookie.match(new RegExp(`(?:^|; )${e}=([^;]*)`));return t?decodeURIComponent(t[1]):void 0}function C(e,t,s,i){if(!N())return;let n=window.location.protocol==="https:"?"; Secure":"",r=i?`; domain=${i}`:"";document.cookie=`${e}=${encodeURIComponent(t)}; path=/; max-age=${s}; SameSite=Lax${r}${n}`;}function O(e,t){C(e,"",0,t);}function U(e){let t=L(x);if(t)return t;let s=_();return C(x,s,Zt,e),s}var J=class extends Error{status;endpoint;body;constructor(e){super(`audience transport failed: ${e.status||"network error"} ${e.endpoint}`,e.cause!==void 0?{cause:e.cause}:void 0),this.name="TransportError",this.status=e.status,this.endpoint=e.endpoint,this.body=e.body;}},Y=class extends Error{code;status;endpoint;responseBody;cause;constructor(e){super(e.message),this.name="AudienceError",this.code=e.code,this.status=e.status,this.endpoint=e.endpoint,this.responseBody=e.responseBody,this.cause=e.cause;}};function ke(e,t,s){if(e.status===0)return new Y({code:"NETWORK_ERROR",message:t==="flush"?`Network error sending ${s??0} messages`:"Network error syncing consent",status:0,endpoint:e.endpoint,cause:e.cause});if(e.status>=200&&e.status<300){let i=e.body,n=i?.rejected??0,r=i?.accepted??0;return new Y({code:"VALIDATION_REJECTED",message:`Backend rejected ${n} of ${n+r} messages`,status:e.status,endpoint:e.endpoint,responseBody:e.body})}return new Y({code:t==="flush"?"FLUSH_FAILED":"CONSENT_SYNC_FAILED",message:t==="flush"?`Flush failed with status ${e.status}`:`Consent sync failed with status ${e.status}`,status:e.status,endpoint:e.endpoint,responseBody:e.body,cause:e.cause})}function Ne(e,t){if(e)try{e(t);}catch{}}async function we(e){let t=e.headers?.get?.("content-type")??"";try{return t.includes("application/json")?await e.json():await e.text()}catch{return}}var Z=async(e,t,s,i)=>{try{let n=await fetch(e,{method:i?.method??"POST",headers:{"Content-Type":"application/json","x-immutable-publishable-key":t},body:JSON.stringify(s),keepalive:i?.keepalive});if(!n.ok){let o=await we(n);return S("audience","transport_send_failed",{status:n.status}),{ok:!1,error:new J({status:n.status,endpoint:e,body:o})}}let r=await we(n);if(typeof r=="object"&&r!==null&&"rejected"in r){let o=r.rejected??0;if(o>0)return S("audience","transport_partial_rejected",{status:n.status,rejected:o}),{ok:!1,error:new J({status:n.status,endpoint:e,body:r})}}return {ok:!0}}catch(n){let r=new J({status:0,endpoint:e,cause:n});return ye("audience","transport_send",r),{ok:!1,error:r}}},Q="__imtbl_audience_";function ee(){try{return N()&&typeof localStorage<"u"}catch{return !1}}function Qt(e,t=Q){if(ee())try{let s=localStorage.getItem(`${t}${e}`);return s?JSON.parse(s):void 0}catch{return}}function es(e,t,s=Q){if(ee())try{localStorage.setItem(`${s}${e}`,JSON.stringify(t));}catch{}}function ts(e,t=Q){if(ee())try{localStorage.removeItem(`${t}${e}`);}catch{}}var W="queue",be=100,Oe=class{constructor(e,t,s,i,n,r){this.send=e,this.endpointUrl=t,this.publishableKey=s,this.flushIntervalMs=i,this.flushSize=n,this.onFlush=r?.onFlush,this.onError=r?.onError,this.storagePrefix=r?.storagePrefix;let o=Qt(W,this.storagePrefix)??[];this.messages=r?.staleFilter?o.filter(r.staleFilter):o;}messages;timer=null;flushing=!1;unloadBound=!1;visibilityHandler;pagehideHandler;onFlush;onError;storagePrefix;start(){this.timer||(this.timer=setInterval(()=>this.flush(),this.flushIntervalMs),this.registerUnload());}stop(){this.timer&&(clearInterval(this.timer),this.timer=null),this.removeUnload();}destroy(){this.stop(),this.flushUnload();}enqueue(e){this.messages.push(e),this.persist(),this.messages.length>=this.flushSize&&this.flush();}async flush(){if(!(this.flushing||this.messages.length===0)){this.flushing=!0;try{let e=this.messages.slice(0,be),t={messages:e},s=await this.send(this.endpointUrl,this.publishableKey,t),i;!s.ok&&s.error&&(i=ke(s.error,"flush",e.length));let n=i?.code==="VALIDATION_REJECTED";(s.ok||n)&&(this.messages=this.messages.slice(e.length),this.persist()),this.onFlush?.(s.ok,e.length),i&&Ne(this.onError,i);}finally{this.flushing=!1;}}}flushUnload(){if(this.flushing||this.messages.length===0)return;let e=this.messages.slice(0,be),t={messages:e};this.send(this.endpointUrl,this.publishableKey,t,{keepalive:!0}),this.messages=this.messages.slice(e.length),this.persist();}purge(e){this.messages=this.messages.filter(t=>!e(t)),this.persist();}transform(e){this.messages=this.messages.map(e),this.persist();}get length(){return this.messages.length}clear(){this.messages=[],ts(W,this.storagePrefix);}registerUnload(){!N()||this.unloadBound||(this.unloadBound=!0,this.pagehideHandler=()=>this.flushUnload(),this.visibilityHandler=()=>{document.visibilityState==="hidden"&&this.flushUnload();},document.addEventListener("visibilitychange",this.visibilityHandler),window.addEventListener("pagehide",this.pagehideHandler));}removeUnload(){this.unloadBound&&(this.visibilityHandler&&document.removeEventListener("visibilitychange",this.visibilityHandler),this.pagehideHandler&&window.removeEventListener("pagehide",this.pagehideHandler),this.unloadBound=!1);}persist(){es(W,this.messages,this.storagePrefix);}},ss="2.15.1-alpha.2";function $e(e="@imtbl/audience",t=ss){let s={library:e,libraryVersion:t};return N()&&(s.userAgent=navigator.userAgent,s.locale=navigator.language,s.timezone=Intl.DateTimeFormat().resolvedOptions().timeZone,s.screen=`${window.screen.width}x${window.screen.height}`,s.pageUrl=window.location.href,s.pagePath=window.location.pathname,s.pageReferrer=document.referrer,s.pageTitle=document.title),s}function Ae(e){let t=new Date(e).getTime();if(Number.isNaN(t))return !1;let s=Date.now();return t<=s+864e5&&t>=s-2592e6}function De(e,t,s,i){return e!==s||t!==i}function $(e,t=256){return e.length>t?e.slice(0,t):e}function T(e){let t=L(E);if(t)return C(E,t,ve,e),{sessionId:t,isNew:!1};let s=_();return C(E,s,ve,e),{sessionId:s,isNew:!0}}var Ce=["utm_source","utm_medium","utm_campaign","utm_content","utm_term"],Le=["gclid","dclid","fbclid","ttclid","msclkid","li_fat_id"],Ue="__imtbl_attribution";function is(e){let t;try{t=new URL(e).searchParams;}catch{return {}}let s={};for(let n of [...Ce,...Le]){let r=t.get(n);r&&(s[n]=r);}let i=t.get("referral_code");return i&&(s.referral_code=i),s}function ns(){try{let e=sessionStorage.getItem(Ue);return e?JSON.parse(e):null}catch{return null}}function rs(e){try{sessionStorage.setItem(Ue,JSON.stringify(e));}catch{}}function Re(){let e=ns();if(e)return e;let t=typeof window<"u"&&window.location?is(window.location.href):{},s=typeof document<"u"&&document.referrer||void 0,i=typeof window<"u"&&window.location?window.location.href:void 0,n=Le.some(a=>a in t),r=Ce.some(a=>a in t),o={...t,referrer:s,landing_page:i,touchpoint_type:n||r?"click":void 0};return rs(o),o}function m(e){return e!=="none"}function b(e){return e==="full"}function Me(e,t,s,i,n,r,o,a){let c=o??"none",h={none:0,anonymous:1,full:2};function f(u){let l=`${X(n)}${Xt}`;t(l,s,{anonymousId:i,status:u,source:r},{method:"PUT",keepalive:!0}).then(p=>{!p.ok&&p.error&&Ne(a,ke(p.error,"consent"));});}return {get level(){return c},setLevel(u){u!==c&&(h[u]<h[c]&&(u==="none"?e.purge(()=>!0):u==="anonymous"&&(e.purge(l=>l.type==="identify"||l.type==="alias"),e.transform(l=>{if("userId"in l){let{userId:p,...M}=l;return M}return l}))),c=u,f(u));}}}var Pe="@imtbl/audience",Fe="2.15.1-alpha.2",g="[audience]",je="WebSDK";var R=class{enabled;constructor(t=!1){this.enabled=t;}logEvent(t,s){this.enabled&&console.log(`${g} ${t}`,s);}logFlush(t,s){this.enabled&&console.log(`${g} flush ${t?"ok":"failed"} (${s} messages)`);}logConsent(t,s){this.enabled&&console.log(`${g} consent ${t} \u2192 ${s}`);}logWarning(t){this.enabled&&console.warn(`${g} ${t}`);}};var te=class e{static liveInstances=0;queue;consent;attribution;debug;cookieDomain;anonymousId;sessionId;sessionStartTime;userId;isFirstPage=!0;destroyed=!1;constructor(t){let{cookieDomain:s,environment:i,publishableKey:n}=t,r=t.consent??"none",o=je,a=t.flushInterval??Se,c=t.flushSize??Ee;this.cookieDomain=s,this.debug=new R(t.debug??!1);let h=!1;m(r)?(this.anonymousId=U(s),h=this.startSession()):this.anonymousId=L(x)??_();let f=`${X(i)}${Ie}`;this.queue=new Oe(Z,f,n,a,c,{onFlush:(u,l)=>this.debug.logFlush(u,l),staleFilter:u=>Ae(u.eventTimestamp),storagePrefix:"__imtbl_web_"}),this.consent=Me(this.queue,Z,n,this.anonymousId,i,o,r),this.attribution=Re(),this.isTrackingDisabled()||(this.queue.start(),h&&this.trackSessionStart());}static init(t){if(!t.publishableKey?.trim())throw new Error(`${g} publishableKey is required`);return e.liveInstances>0&&console.warn(`${g} Multiple SDK instances detected. Ensure previous instances are shut down to avoid duplicate events.`),e.liveInstances+=1,new e(t)}isTrackingDisabled(){return !m(this.consent.level)}effectiveUserId(){return b(this.consent.level)?this.userId:void 0}startSession(){let t=T(this.cookieDomain);return this.sessionId=t.sessionId,this.sessionStartTime=Date.now(),t.isNew}baseMessage(){return {messageId:_(),eventTimestamp:Te(),anonymousId:this.anonymousId,surface:"web",context:$e(Pe,Fe)}}enqueue(t,s){this.queue.enqueue(s),this.debug.logEvent(t,s);}trackSessionStart(){this.sessionId&&this.enqueue("track(session_start)",{...this.baseMessage(),type:"track",eventName:xe,properties:{sessionId:this.sessionId,...this.attribution}});}trackSessionEnd(){this.sessionId&&this.enqueue("track(session_end)",{...this.baseMessage(),type:"track",eventName:_e,properties:{sessionId:this.sessionId,...this.sessionStartTime&&{duration:Math.round((Date.now()-this.sessionStartTime)/1e3)}}});}page(t){if(this.isTrackingDisabled())return;T(this.cookieDomain);let s={...t};this.isFirstPage&&(Object.assign(s,this.attribution),this.isFirstPage=!1),this.enqueue("page",{...this.baseMessage(),type:"page",properties:Object.keys(s).length>0?s:void 0,userId:this.effectiveUserId()});}track(t,s){this.isTrackingDisabled()||(T(this.cookieDomain),this.enqueue("track",{...this.baseMessage(),type:"track",eventName:$(t),properties:s,userId:this.effectiveUserId()}));}identify(t,s,i){if(!b(this.consent.level)){this.debug.logWarning("identify() requires full consent \u2014 call ignored.");return}if(T(this.cookieDomain),t!==null&&typeof t=="object"&&!Array.isArray(t)){this.enqueue("identify",{...this.baseMessage(),type:"identify",traits:t});return}if(typeof t!="string")return;let n=$(t);this.userId=n,this.enqueue("identify",{...this.baseMessage(),type:"identify",userId:n,identityType:s,traits:i});}alias(t,s){if(!b(this.consent.level)){this.debug.logWarning("alias() requires full consent \u2014 call ignored.");return}if(!De(t.id,t.identityType,s.id,s.identityType)){this.debug.logWarning("alias() from and to are identical \u2014 call ignored.");return}T(this.cookieDomain),this.enqueue("alias",{...this.baseMessage(),type:"alias",fromId:$(t.id),fromType:t.identityType,toId:$(s.id),toType:s.identityType});}setConsent(t){let s=this.consent.level;if(t===s)return;this.debug.logConsent(s,t);let i=!m(s)&&m(t);if(i&&(this.anonymousId=U(this.cookieDomain)),m(t)||this.queue.stop(),this.consent.setLevel(t),m(t)?b(s)&&!b(t)&&(this.userId=void 0):(O(x,this.cookieDomain),O(E,this.cookieDomain)),i){this.isFirstPage=!0;let n=this.startSession();this.queue.start(),n&&this.trackSessionStart();}}reset(){this.userId=void 0,this.queue.clear(),O(x,this.cookieDomain),O(E,this.cookieDomain),this.isTrackingDisabled()?(this.anonymousId=_(),this.sessionId=void 0,this.sessionStartTime=void 0):(this.anonymousId=U(this.cookieDomain),this.startSession()&&this.trackSessionStart()),this.isFirstPage=!0;}async flush(){await this.queue.flush();}shutdown(){this.destroyed||(this.destroyed=!0,this.isTrackingDisabled()||this.trackSessionEnd(),this.queue.destroy(),e.liveInstances=Math.max(0,e.liveInstances-1));}};/*! Bundled license information:
|
|
5
|
+
${o.stack}`),S(e,`trackError_${t}`,{...i||{},errorMessage:r,errorStack:n,isTrackError:!0});},ge=d(Ft),Gt=e=>{w("env",e);};d(P("setEnvironment",Gt));var Kt=e=>{w("passportClientId",e);};d(P("setPassportClientId",Kt));var Vt=e=>{w("pak",e);};d(P("setPublishableApiKey",Vt));d(P("getDetail",K));var Bt={Passport:"passport",Steam:"steam",Epic:"epic",Google:"google",Apple:"apple",Discord:"discord",Email:"email",Custom:"custom"},zt="pk_imapik-test-",Ht="/v1/audience/messages",Wt="/v1/audience/tracking-consent",x="imtbl_anon_id",E="_imtbl_sid",we="session_start",Ie="session_end",be=e=>e.startsWith(zt)?"https://api.sandbox.immutable.com":"https://api.immutable.com",T=()=>typeof window<"u"&&typeof document<"u",_=()=>typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.trunc(Math.random()*16);return (e==="x"?t:t%4+8).toString(16)}),Se=()=>new Date().toISOString();function $(e){if(!T())return;let t=document.cookie.match(new RegExp(`(?:^|; )${e}=([^;]*)`));return t?decodeURIComponent(t[1]):void 0}function D(e,t,s,i){if(!T())return;let r=window.location.protocol==="https:"?"; Secure":"",n=i?`; domain=${i}`:"";document.cookie=`${e}=${encodeURIComponent(t)}; path=/; max-age=${s}; SameSite=Lax${n}${r}`;}function N(e,t){D(e,"",0,t);}function R(e){let t=$(x);if(t)return t;let s=_();return D(x,s,63072e3,e),s}var W=class extends Error{status;endpoint;body;constructor(e){super(`audience transport failed: ${e.status||"network error"} ${e.endpoint}`,e.cause!==void 0?{cause:e.cause}:void 0),this.name="TransportError",this.status=e.status,this.endpoint=e.endpoint,this.body=e.body;}},J=class extends Error{code;status;endpoint;responseBody;cause;constructor(e){super(e.message),this.name="AudienceError",this.code=e.code,this.status=e.status,this.endpoint=e.endpoint,this.responseBody=e.responseBody,this.cause=e.cause;}};function Ee(e,t,s){if(e.status===0)return new J({code:"NETWORK_ERROR",message:t==="flush"?`Network error sending ${s??0} messages`:"Network error syncing consent",status:0,endpoint:e.endpoint,cause:e.cause});if(e.status>=200&&e.status<300){let i=e.body,r=i?.rejected??0,n=i?.accepted??0;return new J({code:"VALIDATION_REJECTED",message:`Backend rejected ${r} of ${r+n} messages`,status:e.status,endpoint:e.endpoint,responseBody:e.body})}return new J({code:t==="flush"?"FLUSH_FAILED":"CONSENT_SYNC_FAILED",message:t==="flush"?`Flush failed with status ${e.status}`:`Consent sync failed with status ${e.status}`,status:e.status,endpoint:e.endpoint,responseBody:e.body,cause:e.cause})}function xe(e,t){if(e)try{e(t);}catch{}}async function ye(e){let t=e.headers?.get?.("content-type")??"";try{return t.includes("application/json")?await e.json():await e.text()}catch{return}}var X=async(e,t,s,i)=>{try{let r=await fetch(e,{method:i?.method??"POST",headers:{"Content-Type":"application/json","x-immutable-publishable-key":t},body:JSON.stringify(s),keepalive:i?.keepalive});if(!r.ok){let o=await ye(r);return S("audience","transport_send_failed",{status:r.status}),{ok:!1,error:new W({status:r.status,endpoint:e,body:o})}}let n=await ye(r);if(typeof n=="object"&&n!==null&&"rejected"in n){let o=n.rejected??0;if(o>0)return S("audience","transport_partial_rejected",{status:r.status,rejected:o}),{ok:!1,error:new W({status:r.status,endpoint:e,body:n})}}return {ok:!0}}catch(r){let n=new W({status:0,endpoint:e,cause:r});return ge("audience","transport_send",n),{ok:!1,error:n}}},Q="__imtbl_audience_";function Z(){try{return T()&&typeof localStorage<"u"}catch{return !1}}function Jt(e,t=Q){if(Z())try{let s=localStorage.getItem(`${t}${e}`);return s?JSON.parse(s):void 0}catch{return}}function Yt(e,t,s=Q){if(Z())try{localStorage.setItem(`${s}${e}`,JSON.stringify(t));}catch{}}function Xt(e,t=Q){if(Z())try{localStorage.removeItem(`${t}${e}`);}catch{}}var Y="queue",ve=100,_e=class{constructor(e,t,s){this.send=e,this.publishableKey=t,this.endpointUrl=`${s?.baseUrl??be(t)}${Ht}`,this.flushIntervalMs=s?.flushIntervalMs??5e3,this.flushSize=s?.flushSize??20,this.onFlush=s?.onFlush,this.onError=s?.onError,this.storagePrefix=s?.storagePrefix;let i=Jt(Y,this.storagePrefix)??[];this.messages=s?.staleFilter?i.filter(s.staleFilter):i;}messages;timer=null;flushing=!1;unloadBound=!1;visibilityHandler;pagehideHandler;onFlush;onError;storagePrefix;endpointUrl;flushIntervalMs;flushSize;start(){this.timer||(this.timer=setInterval(()=>this.flush(),this.flushIntervalMs),this.registerUnload());}stop(){this.timer&&(clearInterval(this.timer),this.timer=null),this.removeUnload();}destroy(){this.stop(),this.flushUnload();}enqueue(e){this.messages.push(e),this.persist(),this.messages.length>=this.flushSize&&this.flush();}async flush(){if(!(this.flushing||this.messages.length===0)){this.flushing=!0;try{let e=this.messages.slice(0,ve),t={messages:e},s=await this.send(this.endpointUrl,this.publishableKey,t),i;!s.ok&&s.error&&(i=Ee(s.error,"flush",e.length));let r=i?.code==="VALIDATION_REJECTED";(s.ok||r)&&(this.messages=this.messages.slice(e.length),this.persist()),this.onFlush?.(s.ok,e.length),i&&xe(this.onError,i);}finally{this.flushing=!1;}}}flushUnload(){if(this.flushing||this.messages.length===0)return;let e=this.messages.slice(0,ve),t={messages:e};this.send(this.endpointUrl,this.publishableKey,t,{keepalive:!0}),this.messages=this.messages.slice(e.length),this.persist();}purge(e){this.messages=this.messages.filter(t=>!e(t)),this.persist();}transform(e){this.messages=this.messages.map(e),this.persist();}get length(){return this.messages.length}clear(){this.messages=[],Xt(Y,this.storagePrefix);}registerUnload(){!T()||this.unloadBound||(this.unloadBound=!0,this.pagehideHandler=()=>this.flushUnload(),this.visibilityHandler=()=>{document.visibilityState==="hidden"&&this.flushUnload();},document.addEventListener("visibilitychange",this.visibilityHandler),window.addEventListener("pagehide",this.pagehideHandler));}removeUnload(){this.unloadBound&&(this.visibilityHandler&&document.removeEventListener("visibilitychange",this.visibilityHandler),this.pagehideHandler&&window.removeEventListener("pagehide",this.pagehideHandler),this.unloadBound=!1);}persist(){Yt(Y,this.messages,this.storagePrefix);}},Qt="2.15.1-alpha.4";function ke(e="@imtbl/audience",t=Qt){let s={library:e,libraryVersion:t};return T()&&(s.userAgent=navigator.userAgent,s.locale=navigator.language,s.timezone=Intl.DateTimeFormat().resolvedOptions().timeZone,s.screen=`${window.screen.width}x${window.screen.height}`,s.pageUrl=window.location.href,s.pagePath=window.location.pathname,s.pageReferrer=document.referrer,s.pageTitle=document.title),s}function Pe(e){let t=new Date(e).getTime();if(Number.isNaN(t))return !1;let s=Date.now();return t<=s+864e5&&t>=s-2592e6}function Te(e,t,s,i){return e!==s||t!==i}function A(e,t=256){return e.length>t?e.slice(0,t):e}function k(e){let t=$(E);if(t)return D(E,t,1800,e),{sessionId:t,isNew:!1};let s=_();return D(E,s,1800,e),{sessionId:s,isNew:!0}}var Ne=["utm_source","utm_medium","utm_campaign","utm_content","utm_term"],Ae=["gclid","dclid","fbclid","ttclid","msclkid","li_fat_id"],Oe="__imtbl_attribution";function Zt(e){let t;try{t=new URL(e).searchParams;}catch{return {}}let s={};for(let r of [...Ne,...Ae]){let n=t.get(r);n&&(s[r]=n);}let i=t.get("referral_code");return i&&(s.referral_code=i),s}function es(){try{let e=sessionStorage.getItem(Oe);return e?JSON.parse(e):null}catch{return null}}function ts(e){try{sessionStorage.setItem(Oe,JSON.stringify(e));}catch{}}function Ce(){let e=es();if(e)return e;let t=typeof window<"u"&&window.location?Zt(window.location.href):{},s=typeof document<"u"&&document.referrer||void 0,i=typeof window<"u"&&window.location?window.location.href:void 0,r=Ae.some(a=>a in t),n=Ne.some(a=>a in t),o={...t,referrer:s,landing_page:i,touchpoint_type:r||n?"click":void 0};return ts(o),o}function m(e){return e!=="none"}function I(e){return e==="full"}function De(e,t,s,i,r,n,o,a){let l=n??"none",h={none:0,anonymous:1,full:2};function f(c){let u=`${a??be(s)}${Wt}`;t(u,s,{anonymousId:i,status:c,source:r},{method:"PUT",keepalive:!0}).then(p=>{!p.ok&&p.error&&xe(o,Ee(p.error,"consent"));});}return {get level(){return l},setLevel(c){c!==l&&(h[c]<h[l]&&(c==="none"?e.purge(()=>!0):c==="anonymous"&&(e.purge(u=>u.type==="identify"||u.type==="alias"),e.transform(u=>{if("userId"in u){let{userId:p,...U}=u;return U}return u}))),l=c,f(c));}}}var $e="@imtbl/audience",Re="2.15.1-alpha.4",g="[audience]",Le="WebSDK";var L=class{enabled;constructor(t=!1){this.enabled=t;}logEvent(t,s){this.enabled&&console.log(`${g} ${t}`,s);}logFlush(t,s){this.enabled&&console.log(`${g} flush ${t?"ok":"failed"} (${s} messages)`);}logConsent(t,s){this.enabled&&console.log(`${g} consent ${t} \u2192 ${s}`);}logWarning(t){this.enabled&&console.warn(`${g} ${t}`);}};var ee=class e{static liveInstances=0;queue;consent;attribution;debug;cookieDomain;anonymousId;sessionId;sessionStartTime;userId;isFirstPage=!0;destroyed=!1;constructor(t){let{cookieDomain:s,publishableKey:i}=t,r=t.consent??"none",n=Le;this.cookieDomain=s,this.debug=new L(t.debug??!1);let o=!1;m(r)?(this.anonymousId=R(s),o=this.startSession()):this.anonymousId=$(x)??_(),this.queue=new _e(X,i,{baseUrl:t.baseUrl,flushIntervalMs:t.flushInterval,flushSize:t.flushSize,onFlush:(a,l)=>this.debug.logFlush(a,l),staleFilter:a=>Pe(a.eventTimestamp),storagePrefix:"__imtbl_web_"}),this.consent=De(this.queue,X,i,this.anonymousId,n,r,void 0,t.baseUrl),this.attribution=Ce(),this.isTrackingDisabled()||(this.queue.start(),o&&this.trackSessionStart());}static init(t){if(!t.publishableKey?.trim())throw new Error(`${g} publishableKey is required`);return e.liveInstances>0&&console.warn(`${g} Multiple SDK instances detected. Ensure previous instances are shut down to avoid duplicate events.`),e.liveInstances+=1,new e(t)}isTrackingDisabled(){return !m(this.consent.level)}effectiveUserId(){return I(this.consent.level)?this.userId:void 0}startSession(){let t=k(this.cookieDomain);return this.sessionId=t.sessionId,this.sessionStartTime=Date.now(),t.isNew}baseMessage(){return {messageId:_(),eventTimestamp:Se(),anonymousId:this.anonymousId,surface:"web",context:ke($e,Re)}}enqueue(t,s){this.queue.enqueue(s),this.debug.logEvent(t,s);}trackSessionStart(){this.sessionId&&this.enqueue("track(session_start)",{...this.baseMessage(),type:"track",eventName:we,properties:{sessionId:this.sessionId,...this.attribution}});}trackSessionEnd(){this.sessionId&&this.enqueue("track(session_end)",{...this.baseMessage(),type:"track",eventName:Ie,properties:{sessionId:this.sessionId,...this.sessionStartTime&&{duration:Math.round((Date.now()-this.sessionStartTime)/1e3)}}});}page(t){if(this.isTrackingDisabled())return;k(this.cookieDomain);let s={...t};this.isFirstPage&&(Object.assign(s,this.attribution),this.isFirstPage=!1),this.enqueue("page",{...this.baseMessage(),type:"page",properties:Object.keys(s).length>0?s:void 0,userId:this.effectiveUserId()});}track(t,...s){if(this.isTrackingDisabled())return;k(this.cookieDomain);let[i]=s;this.enqueue("track",{...this.baseMessage(),type:"track",eventName:A(t),properties:i,userId:this.effectiveUserId()});}identify(t,s,i){if(!I(this.consent.level)){this.debug.logWarning("identify() requires full consent \u2014 call ignored.");return}if(k(this.cookieDomain),t!==null&&typeof t=="object"&&!Array.isArray(t)){this.enqueue("identify",{...this.baseMessage(),type:"identify",traits:t});return}if(typeof t!="string")return;let r=A(t);this.userId=r,this.enqueue("identify",{...this.baseMessage(),type:"identify",userId:r,identityType:s,traits:i});}alias(t,s){if(!I(this.consent.level)){this.debug.logWarning("alias() requires full consent \u2014 call ignored.");return}if(!Te(t.id,t.identityType,s.id,s.identityType)){this.debug.logWarning("alias() from and to are identical \u2014 call ignored.");return}k(this.cookieDomain),this.enqueue("alias",{...this.baseMessage(),type:"alias",fromId:A(t.id),fromType:t.identityType,toId:A(s.id),toType:s.identityType});}setConsent(t){let s=this.consent.level;if(t===s)return;this.debug.logConsent(s,t);let i=!m(s)&&m(t);if(i&&(this.anonymousId=R(this.cookieDomain)),m(t)||this.queue.stop(),this.consent.setLevel(t),m(t)?I(s)&&!I(t)&&(this.userId=void 0):(N(x,this.cookieDomain),N(E,this.cookieDomain)),i){this.isFirstPage=!0;let r=this.startSession();this.queue.start(),r&&this.trackSessionStart();}}reset(){this.userId=void 0,this.queue.clear(),N(x,this.cookieDomain),N(E,this.cookieDomain),this.isTrackingDisabled()?(this.anonymousId=_(),this.sessionId=void 0,this.sessionStartTime=void 0):(this.anonymousId=R(this.cookieDomain),this.startSession()&&this.trackSessionStart()),this.isFirstPage=!0;}async flush(){await this.queue.flush();}shutdown(){this.destroyed||(this.destroyed=!0,this.isTrackingDisabled()||this.trackSessionEnd(),this.queue.destroy(),e.liveInstances=Math.max(0,e.liveInstances-1));}};var ss={SIGN_UP:"sign_up",SIGN_IN:"sign_in",WISHLIST_ADD:"wishlist_add",WISHLIST_REMOVE:"wishlist_remove",PURCHASE:"purchase",GAME_LAUNCH:"game_launch",PROGRESSION:"progression",RESOURCE:"resource",EMAIL_ACQUIRED:"email_acquired",GAME_PAGE_VIEWED:"game_page_viewed",LINK_CLICKED:"link_clicked"};/*! Bundled license information:
|
|
6
6
|
|
|
7
7
|
tiny-lru/dist/tiny-lru.js:
|
|
8
8
|
(**
|
|
@@ -14,7 +14,8 @@ tiny-lru/dist/tiny-lru.js:
|
|
|
14
14
|
*)
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
exports.Audience =
|
|
18
|
-
exports.
|
|
19
|
-
exports.
|
|
17
|
+
exports.Audience = ee;
|
|
18
|
+
exports.AudienceEvents = ss;
|
|
19
|
+
exports.IdentityType = Bt;
|
|
20
|
+
exports.canIdentify = I;
|
|
20
21
|
exports.canTrack = m;
|
package/dist/node/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
var
|
|
1
|
+
var Me=Object.create;var ie=Object.defineProperty;var Fe=Object.getOwnPropertyDescriptor;var je=Object.getOwnPropertyNames;var qe=Object.getPrototypeOf,Ge=Object.prototype.hasOwnProperty;var Ke=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Ve=(e,t,s,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of je(t))!Ge.call(e,r)&&r!==s&&ie(e,r,{get:()=>t[r],enumerable:!(i=Fe(t,r))||i.enumerable});return e};var Be=(e,t,s)=>(s=e!=null?Me(qe(e)):{},Ve(ie(s,"default",{value:e,enumerable:!0}),e));var ue=Ke(b=>{Object.defineProperty(b,"__esModule",{value:!0});b.clearGlobalNamespace=b.getGlobalisedValue=void 0;var We="globalise__singleton__",Je={},oe=()=>typeof window<"u"?window:typeof globalThis<"u"?globalThis:Je,Ye=(e,t)=>{if(typeof e!="string")throw "Invalid namespace key";if(typeof t!="string")throw "Invalid item key"},ae=e=>`${We}${e}`,le=e=>{let t=oe(),s=ae(e);return t[s]||(t[s]={}),t[s]},Xe=(e,t)=>le(e)[t]||void 0,Qe=(e,t,s)=>{let i=le(e);i[t]=s;},Ze=(e,t,s)=>{Ye(e,t);let i=Xe(e,t);return i!==void 0?i:(Qe(e,t,s),s)};b.getGlobalisedValue=Ze;var et=e=>{let t=oe(),s=ae(e);t[s]!==void 0&&delete t[s];};b.clearGlobalNamespace=et;});var M=class{constructor(t=0,s=0,i=!1){this.first=null,this.items=Object.create(null),this.last=null,this.max=t,this.resetTtl=i,this.size=0,this.ttl=s;}clear(){return this.first=null,this.items=Object.create(null),this.last=null,this.size=0,this}delete(t){if(this.has(t)){let s=this.items[t];delete this.items[t],this.size--,s.prev!==null&&(s.prev.next=s.next),s.next!==null&&(s.next.prev=s.prev),this.first===s&&(this.first=s.next),this.last===s&&(this.last=s.prev);}return this}entries(t=this.keys()){return t.map(s=>[s,this.get(s)])}evict(t=!1){if(t||this.size>0){let s=this.first;delete this.items[s.key],--this.size===0?(this.first=null,this.last=null):(this.first=s.next,this.first.prev=null);}return this}expiresAt(t){let s;return this.has(t)&&(s=this.items[t].expiry),s}get(t){let s;if(this.has(t)){let i=this.items[t];this.ttl>0&&i.expiry<=Date.now()?this.delete(t):(s=i.value,this.set(t,s,!0));}return s}has(t){return t in this.items}keys(){let t=[],s=this.first;for(;s!==null;)t.push(s.key),s=s.next;return t}set(t,s,i=!1,r=this.resetTtl){let n;if(i||this.has(t)){if(n=this.items[t],n.value=s,i===!1&&r&&(n.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl),this.last!==n){let o=this.last,a=n.next,l=n.prev;this.first===n&&(this.first=n.next),n.next=null,n.prev=this.last,o.next=n,l!==null&&(l.next=a),a!==null&&(a.prev=l);}}else this.max>0&&this.size===this.max&&this.evict(!0),n=this.items[t]={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:t,prev:this.last,next:null,value:s},++this.size===1?this.first=n:this.last.next=n;return this.last=n,this}values(t=this.keys()){return t.map(s=>this.get(s))}};function re(e=1e3,t=0,s=!1){if(isNaN(e)||e<0)throw new TypeError("Invalid max value");if(isNaN(t)||t<0)throw new TypeError("Invalid ttl value");if(typeof s!="boolean")throw new TypeError("Invalid resetTtl value");return new M(e,t,s)}var ze={max:1e3},ne=(e,t={})=>{let{cache:s,cacheKeyResolver:i=F,onHit:r,lruOptions:n={}}=t,o={...ze,...n},a=s||re(o.max,o.ttl);function l(...h){let f=i(...h),c=a.get(f);if(a.has(f))return r&&r(f,c,a),c;let p=e.apply(this,h);return a.set(f,p),p}return l._cache=a,l},F=(...e)=>e.length===0?"no-args":e.map(t=>t===void 0?"undefined":t===null?"null":Array.isArray(t)?`[${F(...t)}]`:typeof t=="object"?`{${F(...He(t))}}`:JSON.stringify(t)).join(","),He=e=>Object.entries(e).sort((t,s)=>t[0]<s[0]?-1:1);var B=Be(ue()),tt=Object.defineProperty,st=(e,t)=>{for(var s in t)tt(e,s,{get:t[s],enumerable:!0});},it={};st(it,{deleteItem:()=>at,getItem:()=>q,setItem:()=>C});var O=()=>typeof window>"u",de=()=>!O(),rt="__IMX-",z=()=>de()&&window.localStorage,nt=e=>{if(e!==null)try{return JSON.parse(e)}catch{return e}},ot=e=>typeof e=="string"?e:JSON.stringify(e),H=e=>`${rt}${e}`;function q(e){if(z())return nt(window.localStorage.getItem(H(e)))}var C=(e,t)=>z()?(window.localStorage.setItem(H(e),ot(t)),!0):!1,at=e=>z()?(window.localStorage.removeItem(H(e)),!0):!1,G=0,lt=e=>{let t=parseInt(e,10)*1e3,s=new Date(t),i=new Date;return G=s.getTime()-i.getTime(),G},ut=()=>{let e=new Date().getTime()+G;return new Date(e).toISOString()},ct=(e=>(e.RUNTIME_ID="rid",e.PASSPORT_CLIENT_ID="passportClientId",e.ENVIRONMENT="env",e.PUBLISHABLE_API_KEY="pak",e.IDENTITY="uid",e.DOMAIN="domain",e.SDK_VERSION="sdkVersion",e))(ct||{}),dt="https://api.immutable.com",ht=e=>{if(typeof Buffer<"u")return Buffer.from(e,"utf-8").toString("base64");if(typeof btoa=="function")return btoa(unescape(encodeURIComponent(e)));throw new Error("Base64 encoding not supported in this environment")};async function he(e,t){let s=JSON.stringify(t),i={payload:ht(s)},r=await fetch(`${dt}${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)});if(!r.ok){let n=await r.text().catch(()=>"");throw new Error(`Request failed (${r.status}): ${n||r.statusText}`)}return r.json()}var y,v,pt=()=>{y=q("metrics-events")||[],v=q("metrics-runtime")||{};};pt();var w=(e,t)=>{v={...v,[e]:t},C("metrics-runtime",v);},K=e=>{if(v[e]!==void 0)return v[e]},ft=()=>v,mt=()=>y,gt=e=>{y.push(e),C("metrics-events",y);},yt=e=>{y=y.slice(e),C("metrics-events",y);},pe=e=>{let t=[];return Object.entries(e).forEach(([s,i])=>{(typeof s=="string"||typeof i=="string"||typeof i=="number"||typeof i=="boolean")&&t.push([s,i.toString()]);}),t},j="2.15.1-alpha.4",vt=()=>O()?"":window.location.ancestorOrigins&&window.location.ancestorOrigins.length>0?new URL(window.location.ancestorOrigins[0]).hostname:document.referrer?new URL(window.document.referrer).hostname:"",wt=()=>{if(O())return "";let e;try{window.self!==window.top&&(e=vt());}catch{}return e||(e=window.location.hostname),e},It=()=>{if(w("sdkVersion",j),O())return {browser:"nodejs",sdkVersion:j};let e=wt();return e&&w("domain",e),{sdkVersion:j,browser:window.navigator.userAgent,domain:e,tz:Intl.DateTimeFormat().resolvedOptions().timeZone,screen:`${window.screen.width}x${window.screen.height}`}},V=!1,bt=()=>V,St=async()=>{V=!0;try{let e=pe(It()),t=K("rid"),s=K("uid"),i=await he("/v1/sdk/initialise",{version:1,data:{runtimeDetails:e,runtimeId:t,uId:s}}),{runtimeId:r,sTime:n}=i;w("rid",r),lt(n);}catch{V=!1;}};function d(e,t){return (...s)=>{try{let i=e(...s);return i instanceof Promise?i.catch(()=>t):i}catch{return t}}}function Et(){return de()||typeof process>"u"?!1:process.env.JEST_WORKER_ID!==void 0}var xt=d(Et,!1),fe="imtbl__metrics",_t=5e3,kt=1e3,P=(e,t)=>(0, B.getGlobalisedValue)(fe,e,t),Pt=(e,t)=>{let s=ne(t,{lruOptions:{ttl:_t,max:kt}});return (0, B.getGlobalisedValue)(fe,e,s)},Tt=5e3,Nt=(e,t,s)=>{let i={event:`${e}.${t}`,time:ut(),...s&&{properties:pe(s)}};gt(i);},S=d(Pt("track",Nt)),At=async()=>{if(bt()===!1){await St();return}let e=mt();if(e.length===0)return;let t=e.length,s=ft();await he("/v1/sdk/metrics",{version:1,data:{events:e,details:s}})instanceof Error||yt(t);},Ot=d(At),me=async()=>{await Ot(),setTimeout(me,Tt);},ce=!1,Ct=()=>{ce||(ce=!0,me());};xt()||d(P("startFlushing",Ct))();var Ft=(e,t,s,i)=>{let{message:r}=s,n=s.stack||"",{cause:o}=s;o instanceof Error&&(n=`${n}
|
|
2
2
|
Cause: ${o.message}
|
|
3
|
-
${o.stack}`),S(e,`trackError_${t}`,{...i||{},errorMessage:n,errorStack:r,isTrackError:!0});},ye=d(qt),Ht=e=>{w("env",e);};d(k("setEnvironment",Ht));var zt=e=>{w("passportClientId",e);};d(k("setPassportClientId",zt));var Jt=e=>{w("pak",e);};d(k("setPublishableApiKey",Jt));d(k("getDetail",q));var Yt={Passport:"passport",Steam:"steam",Epic:"epic",Google:"google",Apple:"apple",Discord:"discord",Email:"email",Custom:"custom"},Wt={dev:"https://api.dev.immutable.com",sandbox:"https://api.sandbox.immutable.com",production:"https://api.immutable.com"},Ie="/v1/audience/messages",Xt="/v1/audience/tracking-consent",Se=5e3,Ee=20,x="imtbl_anon_id",E="_imtbl_sid",Zt=365*24*60*60*2,ve=30*60,xe="session_start",_e="session_end",X=e=>Wt[e],N=()=>typeof window<"u"&&typeof document<"u",_=()=>typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.trunc(Math.random()*16);return (e==="x"?t:t%4+8).toString(16)}),Te=()=>new Date().toISOString();function L(e){if(!N())return;let t=document.cookie.match(new RegExp(`(?:^|; )${e}=([^;]*)`));return t?decodeURIComponent(t[1]):void 0}function C(e,t,s,i){if(!N())return;let n=window.location.protocol==="https:"?"; Secure":"",r=i?`; domain=${i}`:"";document.cookie=`${e}=${encodeURIComponent(t)}; path=/; max-age=${s}; SameSite=Lax${r}${n}`;}function O(e,t){C(e,"",0,t);}function U(e){let t=L(x);if(t)return t;let s=_();return C(x,s,Zt,e),s}var J=class extends Error{status;endpoint;body;constructor(e){super(`audience transport failed: ${e.status||"network error"} ${e.endpoint}`,e.cause!==void 0?{cause:e.cause}:void 0),this.name="TransportError",this.status=e.status,this.endpoint=e.endpoint,this.body=e.body;}},Y=class extends Error{code;status;endpoint;responseBody;cause;constructor(e){super(e.message),this.name="AudienceError",this.code=e.code,this.status=e.status,this.endpoint=e.endpoint,this.responseBody=e.responseBody,this.cause=e.cause;}};function ke(e,t,s){if(e.status===0)return new Y({code:"NETWORK_ERROR",message:t==="flush"?`Network error sending ${s??0} messages`:"Network error syncing consent",status:0,endpoint:e.endpoint,cause:e.cause});if(e.status>=200&&e.status<300){let i=e.body,n=i?.rejected??0,r=i?.accepted??0;return new Y({code:"VALIDATION_REJECTED",message:`Backend rejected ${n} of ${n+r} messages`,status:e.status,endpoint:e.endpoint,responseBody:e.body})}return new Y({code:t==="flush"?"FLUSH_FAILED":"CONSENT_SYNC_FAILED",message:t==="flush"?`Flush failed with status ${e.status}`:`Consent sync failed with status ${e.status}`,status:e.status,endpoint:e.endpoint,responseBody:e.body,cause:e.cause})}function Ne(e,t){if(e)try{e(t);}catch{}}async function we(e){let t=e.headers?.get?.("content-type")??"";try{return t.includes("application/json")?await e.json():await e.text()}catch{return}}var Z=async(e,t,s,i)=>{try{let n=await fetch(e,{method:i?.method??"POST",headers:{"Content-Type":"application/json","x-immutable-publishable-key":t},body:JSON.stringify(s),keepalive:i?.keepalive});if(!n.ok){let o=await we(n);return S("audience","transport_send_failed",{status:n.status}),{ok:!1,error:new J({status:n.status,endpoint:e,body:o})}}let r=await we(n);if(typeof r=="object"&&r!==null&&"rejected"in r){let o=r.rejected??0;if(o>0)return S("audience","transport_partial_rejected",{status:n.status,rejected:o}),{ok:!1,error:new J({status:n.status,endpoint:e,body:r})}}return {ok:!0}}catch(n){let r=new J({status:0,endpoint:e,cause:n});return ye("audience","transport_send",r),{ok:!1,error:r}}},Q="__imtbl_audience_";function ee(){try{return N()&&typeof localStorage<"u"}catch{return !1}}function Qt(e,t=Q){if(ee())try{let s=localStorage.getItem(`${t}${e}`);return s?JSON.parse(s):void 0}catch{return}}function es(e,t,s=Q){if(ee())try{localStorage.setItem(`${s}${e}`,JSON.stringify(t));}catch{}}function ts(e,t=Q){if(ee())try{localStorage.removeItem(`${t}${e}`);}catch{}}var W="queue",be=100,Oe=class{constructor(e,t,s,i,n,r){this.send=e,this.endpointUrl=t,this.publishableKey=s,this.flushIntervalMs=i,this.flushSize=n,this.onFlush=r?.onFlush,this.onError=r?.onError,this.storagePrefix=r?.storagePrefix;let o=Qt(W,this.storagePrefix)??[];this.messages=r?.staleFilter?o.filter(r.staleFilter):o;}messages;timer=null;flushing=!1;unloadBound=!1;visibilityHandler;pagehideHandler;onFlush;onError;storagePrefix;start(){this.timer||(this.timer=setInterval(()=>this.flush(),this.flushIntervalMs),this.registerUnload());}stop(){this.timer&&(clearInterval(this.timer),this.timer=null),this.removeUnload();}destroy(){this.stop(),this.flushUnload();}enqueue(e){this.messages.push(e),this.persist(),this.messages.length>=this.flushSize&&this.flush();}async flush(){if(!(this.flushing||this.messages.length===0)){this.flushing=!0;try{let e=this.messages.slice(0,be),t={messages:e},s=await this.send(this.endpointUrl,this.publishableKey,t),i;!s.ok&&s.error&&(i=ke(s.error,"flush",e.length));let n=i?.code==="VALIDATION_REJECTED";(s.ok||n)&&(this.messages=this.messages.slice(e.length),this.persist()),this.onFlush?.(s.ok,e.length),i&&Ne(this.onError,i);}finally{this.flushing=!1;}}}flushUnload(){if(this.flushing||this.messages.length===0)return;let e=this.messages.slice(0,be),t={messages:e};this.send(this.endpointUrl,this.publishableKey,t,{keepalive:!0}),this.messages=this.messages.slice(e.length),this.persist();}purge(e){this.messages=this.messages.filter(t=>!e(t)),this.persist();}transform(e){this.messages=this.messages.map(e),this.persist();}get length(){return this.messages.length}clear(){this.messages=[],ts(W,this.storagePrefix);}registerUnload(){!N()||this.unloadBound||(this.unloadBound=!0,this.pagehideHandler=()=>this.flushUnload(),this.visibilityHandler=()=>{document.visibilityState==="hidden"&&this.flushUnload();},document.addEventListener("visibilitychange",this.visibilityHandler),window.addEventListener("pagehide",this.pagehideHandler));}removeUnload(){this.unloadBound&&(this.visibilityHandler&&document.removeEventListener("visibilitychange",this.visibilityHandler),this.pagehideHandler&&window.removeEventListener("pagehide",this.pagehideHandler),this.unloadBound=!1);}persist(){es(W,this.messages,this.storagePrefix);}},ss="2.15.1-alpha.2";function $e(e="@imtbl/audience",t=ss){let s={library:e,libraryVersion:t};return N()&&(s.userAgent=navigator.userAgent,s.locale=navigator.language,s.timezone=Intl.DateTimeFormat().resolvedOptions().timeZone,s.screen=`${window.screen.width}x${window.screen.height}`,s.pageUrl=window.location.href,s.pagePath=window.location.pathname,s.pageReferrer=document.referrer,s.pageTitle=document.title),s}function Ae(e){let t=new Date(e).getTime();if(Number.isNaN(t))return !1;let s=Date.now();return t<=s+864e5&&t>=s-2592e6}function De(e,t,s,i){return e!==s||t!==i}function $(e,t=256){return e.length>t?e.slice(0,t):e}function T(e){let t=L(E);if(t)return C(E,t,ve,e),{sessionId:t,isNew:!1};let s=_();return C(E,s,ve,e),{sessionId:s,isNew:!0}}var Ce=["utm_source","utm_medium","utm_campaign","utm_content","utm_term"],Le=["gclid","dclid","fbclid","ttclid","msclkid","li_fat_id"],Ue="__imtbl_attribution";function is(e){let t;try{t=new URL(e).searchParams;}catch{return {}}let s={};for(let n of [...Ce,...Le]){let r=t.get(n);r&&(s[n]=r);}let i=t.get("referral_code");return i&&(s.referral_code=i),s}function ns(){try{let e=sessionStorage.getItem(Ue);return e?JSON.parse(e):null}catch{return null}}function rs(e){try{sessionStorage.setItem(Ue,JSON.stringify(e));}catch{}}function Re(){let e=ns();if(e)return e;let t=typeof window<"u"&&window.location?is(window.location.href):{},s=typeof document<"u"&&document.referrer||void 0,i=typeof window<"u"&&window.location?window.location.href:void 0,n=Le.some(a=>a in t),r=Ce.some(a=>a in t),o={...t,referrer:s,landing_page:i,touchpoint_type:n||r?"click":void 0};return rs(o),o}function m(e){return e!=="none"}function b(e){return e==="full"}function Me(e,t,s,i,n,r,o,a){let c=o??"none",h={none:0,anonymous:1,full:2};function f(u){let l=`${X(n)}${Xt}`;t(l,s,{anonymousId:i,status:u,source:r},{method:"PUT",keepalive:!0}).then(p=>{!p.ok&&p.error&&Ne(a,ke(p.error,"consent"));});}return {get level(){return c},setLevel(u){u!==c&&(h[u]<h[c]&&(u==="none"?e.purge(()=>!0):u==="anonymous"&&(e.purge(l=>l.type==="identify"||l.type==="alias"),e.transform(l=>{if("userId"in l){let{userId:p,...M}=l;return M}return l}))),c=u,f(u));}}}var Pe="@imtbl/audience",Fe="2.15.1-alpha.2",g="[audience]",je="WebSDK";var R=class{enabled;constructor(t=!1){this.enabled=t;}logEvent(t,s){this.enabled&&console.log(`${g} ${t}`,s);}logFlush(t,s){this.enabled&&console.log(`${g} flush ${t?"ok":"failed"} (${s} messages)`);}logConsent(t,s){this.enabled&&console.log(`${g} consent ${t} \u2192 ${s}`);}logWarning(t){this.enabled&&console.warn(`${g} ${t}`);}};var te=class e{static liveInstances=0;queue;consent;attribution;debug;cookieDomain;anonymousId;sessionId;sessionStartTime;userId;isFirstPage=!0;destroyed=!1;constructor(t){let{cookieDomain:s,environment:i,publishableKey:n}=t,r=t.consent??"none",o=je,a=t.flushInterval??Se,c=t.flushSize??Ee;this.cookieDomain=s,this.debug=new R(t.debug??!1);let h=!1;m(r)?(this.anonymousId=U(s),h=this.startSession()):this.anonymousId=L(x)??_();let f=`${X(i)}${Ie}`;this.queue=new Oe(Z,f,n,a,c,{onFlush:(u,l)=>this.debug.logFlush(u,l),staleFilter:u=>Ae(u.eventTimestamp),storagePrefix:"__imtbl_web_"}),this.consent=Me(this.queue,Z,n,this.anonymousId,i,o,r),this.attribution=Re(),this.isTrackingDisabled()||(this.queue.start(),h&&this.trackSessionStart());}static init(t){if(!t.publishableKey?.trim())throw new Error(`${g} publishableKey is required`);return e.liveInstances>0&&console.warn(`${g} Multiple SDK instances detected. Ensure previous instances are shut down to avoid duplicate events.`),e.liveInstances+=1,new e(t)}isTrackingDisabled(){return !m(this.consent.level)}effectiveUserId(){return b(this.consent.level)?this.userId:void 0}startSession(){let t=T(this.cookieDomain);return this.sessionId=t.sessionId,this.sessionStartTime=Date.now(),t.isNew}baseMessage(){return {messageId:_(),eventTimestamp:Te(),anonymousId:this.anonymousId,surface:"web",context:$e(Pe,Fe)}}enqueue(t,s){this.queue.enqueue(s),this.debug.logEvent(t,s);}trackSessionStart(){this.sessionId&&this.enqueue("track(session_start)",{...this.baseMessage(),type:"track",eventName:xe,properties:{sessionId:this.sessionId,...this.attribution}});}trackSessionEnd(){this.sessionId&&this.enqueue("track(session_end)",{...this.baseMessage(),type:"track",eventName:_e,properties:{sessionId:this.sessionId,...this.sessionStartTime&&{duration:Math.round((Date.now()-this.sessionStartTime)/1e3)}}});}page(t){if(this.isTrackingDisabled())return;T(this.cookieDomain);let s={...t};this.isFirstPage&&(Object.assign(s,this.attribution),this.isFirstPage=!1),this.enqueue("page",{...this.baseMessage(),type:"page",properties:Object.keys(s).length>0?s:void 0,userId:this.effectiveUserId()});}track(t,s){this.isTrackingDisabled()||(T(this.cookieDomain),this.enqueue("track",{...this.baseMessage(),type:"track",eventName:$(t),properties:s,userId:this.effectiveUserId()}));}identify(t,s,i){if(!b(this.consent.level)){this.debug.logWarning("identify() requires full consent \u2014 call ignored.");return}if(T(this.cookieDomain),t!==null&&typeof t=="object"&&!Array.isArray(t)){this.enqueue("identify",{...this.baseMessage(),type:"identify",traits:t});return}if(typeof t!="string")return;let n=$(t);this.userId=n,this.enqueue("identify",{...this.baseMessage(),type:"identify",userId:n,identityType:s,traits:i});}alias(t,s){if(!b(this.consent.level)){this.debug.logWarning("alias() requires full consent \u2014 call ignored.");return}if(!De(t.id,t.identityType,s.id,s.identityType)){this.debug.logWarning("alias() from and to are identical \u2014 call ignored.");return}T(this.cookieDomain),this.enqueue("alias",{...this.baseMessage(),type:"alias",fromId:$(t.id),fromType:t.identityType,toId:$(s.id),toType:s.identityType});}setConsent(t){let s=this.consent.level;if(t===s)return;this.debug.logConsent(s,t);let i=!m(s)&&m(t);if(i&&(this.anonymousId=U(this.cookieDomain)),m(t)||this.queue.stop(),this.consent.setLevel(t),m(t)?b(s)&&!b(t)&&(this.userId=void 0):(O(x,this.cookieDomain),O(E,this.cookieDomain)),i){this.isFirstPage=!0;let n=this.startSession();this.queue.start(),n&&this.trackSessionStart();}}reset(){this.userId=void 0,this.queue.clear(),O(x,this.cookieDomain),O(E,this.cookieDomain),this.isTrackingDisabled()?(this.anonymousId=_(),this.sessionId=void 0,this.sessionStartTime=void 0):(this.anonymousId=U(this.cookieDomain),this.startSession()&&this.trackSessionStart()),this.isFirstPage=!0;}async flush(){await this.queue.flush();}shutdown(){this.destroyed||(this.destroyed=!0,this.isTrackingDisabled()||this.trackSessionEnd(),this.queue.destroy(),e.liveInstances=Math.max(0,e.liveInstances-1));}};/*! Bundled license information:
|
|
3
|
+
${o.stack}`),S(e,`trackError_${t}`,{...i||{},errorMessage:r,errorStack:n,isTrackError:!0});},ge=d(Ft),Gt=e=>{w("env",e);};d(P("setEnvironment",Gt));var Kt=e=>{w("passportClientId",e);};d(P("setPassportClientId",Kt));var Vt=e=>{w("pak",e);};d(P("setPublishableApiKey",Vt));d(P("getDetail",K));var Bt={Passport:"passport",Steam:"steam",Epic:"epic",Google:"google",Apple:"apple",Discord:"discord",Email:"email",Custom:"custom"},zt="pk_imapik-test-",Ht="/v1/audience/messages",Wt="/v1/audience/tracking-consent",x="imtbl_anon_id",E="_imtbl_sid",we="session_start",Ie="session_end",be=e=>e.startsWith(zt)?"https://api.sandbox.immutable.com":"https://api.immutable.com",T=()=>typeof window<"u"&&typeof document<"u",_=()=>typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.trunc(Math.random()*16);return (e==="x"?t:t%4+8).toString(16)}),Se=()=>new Date().toISOString();function $(e){if(!T())return;let t=document.cookie.match(new RegExp(`(?:^|; )${e}=([^;]*)`));return t?decodeURIComponent(t[1]):void 0}function D(e,t,s,i){if(!T())return;let r=window.location.protocol==="https:"?"; Secure":"",n=i?`; domain=${i}`:"";document.cookie=`${e}=${encodeURIComponent(t)}; path=/; max-age=${s}; SameSite=Lax${n}${r}`;}function N(e,t){D(e,"",0,t);}function R(e){let t=$(x);if(t)return t;let s=_();return D(x,s,63072e3,e),s}var W=class extends Error{status;endpoint;body;constructor(e){super(`audience transport failed: ${e.status||"network error"} ${e.endpoint}`,e.cause!==void 0?{cause:e.cause}:void 0),this.name="TransportError",this.status=e.status,this.endpoint=e.endpoint,this.body=e.body;}},J=class extends Error{code;status;endpoint;responseBody;cause;constructor(e){super(e.message),this.name="AudienceError",this.code=e.code,this.status=e.status,this.endpoint=e.endpoint,this.responseBody=e.responseBody,this.cause=e.cause;}};function Ee(e,t,s){if(e.status===0)return new J({code:"NETWORK_ERROR",message:t==="flush"?`Network error sending ${s??0} messages`:"Network error syncing consent",status:0,endpoint:e.endpoint,cause:e.cause});if(e.status>=200&&e.status<300){let i=e.body,r=i?.rejected??0,n=i?.accepted??0;return new J({code:"VALIDATION_REJECTED",message:`Backend rejected ${r} of ${r+n} messages`,status:e.status,endpoint:e.endpoint,responseBody:e.body})}return new J({code:t==="flush"?"FLUSH_FAILED":"CONSENT_SYNC_FAILED",message:t==="flush"?`Flush failed with status ${e.status}`:`Consent sync failed with status ${e.status}`,status:e.status,endpoint:e.endpoint,responseBody:e.body,cause:e.cause})}function xe(e,t){if(e)try{e(t);}catch{}}async function ye(e){let t=e.headers?.get?.("content-type")??"";try{return t.includes("application/json")?await e.json():await e.text()}catch{return}}var X=async(e,t,s,i)=>{try{let r=await fetch(e,{method:i?.method??"POST",headers:{"Content-Type":"application/json","x-immutable-publishable-key":t},body:JSON.stringify(s),keepalive:i?.keepalive});if(!r.ok){let o=await ye(r);return S("audience","transport_send_failed",{status:r.status}),{ok:!1,error:new W({status:r.status,endpoint:e,body:o})}}let n=await ye(r);if(typeof n=="object"&&n!==null&&"rejected"in n){let o=n.rejected??0;if(o>0)return S("audience","transport_partial_rejected",{status:r.status,rejected:o}),{ok:!1,error:new W({status:r.status,endpoint:e,body:n})}}return {ok:!0}}catch(r){let n=new W({status:0,endpoint:e,cause:r});return ge("audience","transport_send",n),{ok:!1,error:n}}},Q="__imtbl_audience_";function Z(){try{return T()&&typeof localStorage<"u"}catch{return !1}}function Jt(e,t=Q){if(Z())try{let s=localStorage.getItem(`${t}${e}`);return s?JSON.parse(s):void 0}catch{return}}function Yt(e,t,s=Q){if(Z())try{localStorage.setItem(`${s}${e}`,JSON.stringify(t));}catch{}}function Xt(e,t=Q){if(Z())try{localStorage.removeItem(`${t}${e}`);}catch{}}var Y="queue",ve=100,_e=class{constructor(e,t,s){this.send=e,this.publishableKey=t,this.endpointUrl=`${s?.baseUrl??be(t)}${Ht}`,this.flushIntervalMs=s?.flushIntervalMs??5e3,this.flushSize=s?.flushSize??20,this.onFlush=s?.onFlush,this.onError=s?.onError,this.storagePrefix=s?.storagePrefix;let i=Jt(Y,this.storagePrefix)??[];this.messages=s?.staleFilter?i.filter(s.staleFilter):i;}messages;timer=null;flushing=!1;unloadBound=!1;visibilityHandler;pagehideHandler;onFlush;onError;storagePrefix;endpointUrl;flushIntervalMs;flushSize;start(){this.timer||(this.timer=setInterval(()=>this.flush(),this.flushIntervalMs),this.registerUnload());}stop(){this.timer&&(clearInterval(this.timer),this.timer=null),this.removeUnload();}destroy(){this.stop(),this.flushUnload();}enqueue(e){this.messages.push(e),this.persist(),this.messages.length>=this.flushSize&&this.flush();}async flush(){if(!(this.flushing||this.messages.length===0)){this.flushing=!0;try{let e=this.messages.slice(0,ve),t={messages:e},s=await this.send(this.endpointUrl,this.publishableKey,t),i;!s.ok&&s.error&&(i=Ee(s.error,"flush",e.length));let r=i?.code==="VALIDATION_REJECTED";(s.ok||r)&&(this.messages=this.messages.slice(e.length),this.persist()),this.onFlush?.(s.ok,e.length),i&&xe(this.onError,i);}finally{this.flushing=!1;}}}flushUnload(){if(this.flushing||this.messages.length===0)return;let e=this.messages.slice(0,ve),t={messages:e};this.send(this.endpointUrl,this.publishableKey,t,{keepalive:!0}),this.messages=this.messages.slice(e.length),this.persist();}purge(e){this.messages=this.messages.filter(t=>!e(t)),this.persist();}transform(e){this.messages=this.messages.map(e),this.persist();}get length(){return this.messages.length}clear(){this.messages=[],Xt(Y,this.storagePrefix);}registerUnload(){!T()||this.unloadBound||(this.unloadBound=!0,this.pagehideHandler=()=>this.flushUnload(),this.visibilityHandler=()=>{document.visibilityState==="hidden"&&this.flushUnload();},document.addEventListener("visibilitychange",this.visibilityHandler),window.addEventListener("pagehide",this.pagehideHandler));}removeUnload(){this.unloadBound&&(this.visibilityHandler&&document.removeEventListener("visibilitychange",this.visibilityHandler),this.pagehideHandler&&window.removeEventListener("pagehide",this.pagehideHandler),this.unloadBound=!1);}persist(){Yt(Y,this.messages,this.storagePrefix);}},Qt="2.15.1-alpha.4";function ke(e="@imtbl/audience",t=Qt){let s={library:e,libraryVersion:t};return T()&&(s.userAgent=navigator.userAgent,s.locale=navigator.language,s.timezone=Intl.DateTimeFormat().resolvedOptions().timeZone,s.screen=`${window.screen.width}x${window.screen.height}`,s.pageUrl=window.location.href,s.pagePath=window.location.pathname,s.pageReferrer=document.referrer,s.pageTitle=document.title),s}function Pe(e){let t=new Date(e).getTime();if(Number.isNaN(t))return !1;let s=Date.now();return t<=s+864e5&&t>=s-2592e6}function Te(e,t,s,i){return e!==s||t!==i}function A(e,t=256){return e.length>t?e.slice(0,t):e}function k(e){let t=$(E);if(t)return D(E,t,1800,e),{sessionId:t,isNew:!1};let s=_();return D(E,s,1800,e),{sessionId:s,isNew:!0}}var Ne=["utm_source","utm_medium","utm_campaign","utm_content","utm_term"],Ae=["gclid","dclid","fbclid","ttclid","msclkid","li_fat_id"],Oe="__imtbl_attribution";function Zt(e){let t;try{t=new URL(e).searchParams;}catch{return {}}let s={};for(let r of [...Ne,...Ae]){let n=t.get(r);n&&(s[r]=n);}let i=t.get("referral_code");return i&&(s.referral_code=i),s}function es(){try{let e=sessionStorage.getItem(Oe);return e?JSON.parse(e):null}catch{return null}}function ts(e){try{sessionStorage.setItem(Oe,JSON.stringify(e));}catch{}}function Ce(){let e=es();if(e)return e;let t=typeof window<"u"&&window.location?Zt(window.location.href):{},s=typeof document<"u"&&document.referrer||void 0,i=typeof window<"u"&&window.location?window.location.href:void 0,r=Ae.some(a=>a in t),n=Ne.some(a=>a in t),o={...t,referrer:s,landing_page:i,touchpoint_type:r||n?"click":void 0};return ts(o),o}function m(e){return e!=="none"}function I(e){return e==="full"}function De(e,t,s,i,r,n,o,a){let l=n??"none",h={none:0,anonymous:1,full:2};function f(c){let u=`${a??be(s)}${Wt}`;t(u,s,{anonymousId:i,status:c,source:r},{method:"PUT",keepalive:!0}).then(p=>{!p.ok&&p.error&&xe(o,Ee(p.error,"consent"));});}return {get level(){return l},setLevel(c){c!==l&&(h[c]<h[l]&&(c==="none"?e.purge(()=>!0):c==="anonymous"&&(e.purge(u=>u.type==="identify"||u.type==="alias"),e.transform(u=>{if("userId"in u){let{userId:p,...U}=u;return U}return u}))),l=c,f(c));}}}var $e="@imtbl/audience",Re="2.15.1-alpha.4",g="[audience]",Le="WebSDK";var L=class{enabled;constructor(t=!1){this.enabled=t;}logEvent(t,s){this.enabled&&console.log(`${g} ${t}`,s);}logFlush(t,s){this.enabled&&console.log(`${g} flush ${t?"ok":"failed"} (${s} messages)`);}logConsent(t,s){this.enabled&&console.log(`${g} consent ${t} \u2192 ${s}`);}logWarning(t){this.enabled&&console.warn(`${g} ${t}`);}};var ee=class e{static liveInstances=0;queue;consent;attribution;debug;cookieDomain;anonymousId;sessionId;sessionStartTime;userId;isFirstPage=!0;destroyed=!1;constructor(t){let{cookieDomain:s,publishableKey:i}=t,r=t.consent??"none",n=Le;this.cookieDomain=s,this.debug=new L(t.debug??!1);let o=!1;m(r)?(this.anonymousId=R(s),o=this.startSession()):this.anonymousId=$(x)??_(),this.queue=new _e(X,i,{baseUrl:t.baseUrl,flushIntervalMs:t.flushInterval,flushSize:t.flushSize,onFlush:(a,l)=>this.debug.logFlush(a,l),staleFilter:a=>Pe(a.eventTimestamp),storagePrefix:"__imtbl_web_"}),this.consent=De(this.queue,X,i,this.anonymousId,n,r,void 0,t.baseUrl),this.attribution=Ce(),this.isTrackingDisabled()||(this.queue.start(),o&&this.trackSessionStart());}static init(t){if(!t.publishableKey?.trim())throw new Error(`${g} publishableKey is required`);return e.liveInstances>0&&console.warn(`${g} Multiple SDK instances detected. Ensure previous instances are shut down to avoid duplicate events.`),e.liveInstances+=1,new e(t)}isTrackingDisabled(){return !m(this.consent.level)}effectiveUserId(){return I(this.consent.level)?this.userId:void 0}startSession(){let t=k(this.cookieDomain);return this.sessionId=t.sessionId,this.sessionStartTime=Date.now(),t.isNew}baseMessage(){return {messageId:_(),eventTimestamp:Se(),anonymousId:this.anonymousId,surface:"web",context:ke($e,Re)}}enqueue(t,s){this.queue.enqueue(s),this.debug.logEvent(t,s);}trackSessionStart(){this.sessionId&&this.enqueue("track(session_start)",{...this.baseMessage(),type:"track",eventName:we,properties:{sessionId:this.sessionId,...this.attribution}});}trackSessionEnd(){this.sessionId&&this.enqueue("track(session_end)",{...this.baseMessage(),type:"track",eventName:Ie,properties:{sessionId:this.sessionId,...this.sessionStartTime&&{duration:Math.round((Date.now()-this.sessionStartTime)/1e3)}}});}page(t){if(this.isTrackingDisabled())return;k(this.cookieDomain);let s={...t};this.isFirstPage&&(Object.assign(s,this.attribution),this.isFirstPage=!1),this.enqueue("page",{...this.baseMessage(),type:"page",properties:Object.keys(s).length>0?s:void 0,userId:this.effectiveUserId()});}track(t,...s){if(this.isTrackingDisabled())return;k(this.cookieDomain);let[i]=s;this.enqueue("track",{...this.baseMessage(),type:"track",eventName:A(t),properties:i,userId:this.effectiveUserId()});}identify(t,s,i){if(!I(this.consent.level)){this.debug.logWarning("identify() requires full consent \u2014 call ignored.");return}if(k(this.cookieDomain),t!==null&&typeof t=="object"&&!Array.isArray(t)){this.enqueue("identify",{...this.baseMessage(),type:"identify",traits:t});return}if(typeof t!="string")return;let r=A(t);this.userId=r,this.enqueue("identify",{...this.baseMessage(),type:"identify",userId:r,identityType:s,traits:i});}alias(t,s){if(!I(this.consent.level)){this.debug.logWarning("alias() requires full consent \u2014 call ignored.");return}if(!Te(t.id,t.identityType,s.id,s.identityType)){this.debug.logWarning("alias() from and to are identical \u2014 call ignored.");return}k(this.cookieDomain),this.enqueue("alias",{...this.baseMessage(),type:"alias",fromId:A(t.id),fromType:t.identityType,toId:A(s.id),toType:s.identityType});}setConsent(t){let s=this.consent.level;if(t===s)return;this.debug.logConsent(s,t);let i=!m(s)&&m(t);if(i&&(this.anonymousId=R(this.cookieDomain)),m(t)||this.queue.stop(),this.consent.setLevel(t),m(t)?I(s)&&!I(t)&&(this.userId=void 0):(N(x,this.cookieDomain),N(E,this.cookieDomain)),i){this.isFirstPage=!0;let r=this.startSession();this.queue.start(),r&&this.trackSessionStart();}}reset(){this.userId=void 0,this.queue.clear(),N(x,this.cookieDomain),N(E,this.cookieDomain),this.isTrackingDisabled()?(this.anonymousId=_(),this.sessionId=void 0,this.sessionStartTime=void 0):(this.anonymousId=R(this.cookieDomain),this.startSession()&&this.trackSessionStart()),this.isFirstPage=!0;}async flush(){await this.queue.flush();}shutdown(){this.destroyed||(this.destroyed=!0,this.isTrackingDisabled()||this.trackSessionEnd(),this.queue.destroy(),e.liveInstances=Math.max(0,e.liveInstances-1));}};var ss={SIGN_UP:"sign_up",SIGN_IN:"sign_in",WISHLIST_ADD:"wishlist_add",WISHLIST_REMOVE:"wishlist_remove",PURCHASE:"purchase",GAME_LAUNCH:"game_launch",PROGRESSION:"progression",RESOURCE:"resource",EMAIL_ACQUIRED:"email_acquired",GAME_PAGE_VIEWED:"game_page_viewed",LINK_CLICKED:"link_clicked"};/*! Bundled license information:
|
|
4
4
|
|
|
5
5
|
tiny-lru/dist/tiny-lru.js:
|
|
6
6
|
(**
|
|
@@ -12,4 +12,4 @@ tiny-lru/dist/tiny-lru.js:
|
|
|
12
12
|
*)
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
|
-
export {
|
|
15
|
+
export { ee as Audience, ss as AudienceEvents, Bt as IdentityType, I as canIdentify, m as canTrack };
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
type Environment = 'dev' | 'sandbox' | 'production';
|
|
2
1
|
interface UserTraits {
|
|
3
2
|
email?: string;
|
|
4
3
|
name?: string;
|
|
@@ -35,12 +34,143 @@ type IdentityType = typeof IdentityType[keyof typeof IdentityType];
|
|
|
35
34
|
declare function canTrack(level: ConsentLevel): boolean;
|
|
36
35
|
declare function canIdentify(level: ConsentLevel): boolean;
|
|
37
36
|
|
|
37
|
+
declare const AudienceEvents: {
|
|
38
|
+
readonly SIGN_UP: "sign_up";
|
|
39
|
+
readonly SIGN_IN: "sign_in";
|
|
40
|
+
readonly WISHLIST_ADD: "wishlist_add";
|
|
41
|
+
readonly WISHLIST_REMOVE: "wishlist_remove";
|
|
42
|
+
readonly PURCHASE: "purchase";
|
|
43
|
+
readonly GAME_LAUNCH: "game_launch";
|
|
44
|
+
readonly PROGRESSION: "progression";
|
|
45
|
+
readonly RESOURCE: "resource";
|
|
46
|
+
readonly EMAIL_ACQUIRED: "email_acquired";
|
|
47
|
+
readonly GAME_PAGE_VIEWED: "game_page_viewed";
|
|
48
|
+
readonly LINK_CLICKED: "link_clicked";
|
|
49
|
+
};
|
|
50
|
+
interface SignUpProperties {
|
|
51
|
+
/** Optional. */
|
|
52
|
+
method?: string;
|
|
53
|
+
}
|
|
54
|
+
interface SignInProperties {
|
|
55
|
+
/** Optional. */
|
|
56
|
+
method?: string;
|
|
57
|
+
}
|
|
58
|
+
interface WishlistAddProperties {
|
|
59
|
+
/** Required. */
|
|
60
|
+
gameId: string;
|
|
61
|
+
/** Optional. */
|
|
62
|
+
source?: string;
|
|
63
|
+
/** Optional. */
|
|
64
|
+
platform?: string;
|
|
65
|
+
}
|
|
66
|
+
interface WishlistRemoveProperties {
|
|
67
|
+
/** Required. */
|
|
68
|
+
gameId: string;
|
|
69
|
+
}
|
|
70
|
+
interface PurchaseProperties {
|
|
71
|
+
/** Required. */
|
|
72
|
+
currency: string;
|
|
73
|
+
/** Required. */
|
|
74
|
+
value: number;
|
|
75
|
+
/** Optional. */
|
|
76
|
+
itemId?: string;
|
|
77
|
+
/** Optional. */
|
|
78
|
+
itemName?: string;
|
|
79
|
+
/** Optional. */
|
|
80
|
+
quantity?: number;
|
|
81
|
+
/** Optional. */
|
|
82
|
+
transactionId?: string;
|
|
83
|
+
}
|
|
84
|
+
interface GameLaunchProperties {
|
|
85
|
+
/** Optional. */
|
|
86
|
+
platform?: string;
|
|
87
|
+
/** Optional. */
|
|
88
|
+
version?: string;
|
|
89
|
+
/** Optional. */
|
|
90
|
+
buildId?: string;
|
|
91
|
+
}
|
|
92
|
+
type ProgressionStatus = 'start' | 'complete' | 'fail';
|
|
93
|
+
interface ProgressionProperties {
|
|
94
|
+
/** Required. */
|
|
95
|
+
status: ProgressionStatus;
|
|
96
|
+
/** Optional. */
|
|
97
|
+
world?: string;
|
|
98
|
+
/** Optional. */
|
|
99
|
+
level?: string;
|
|
100
|
+
/** Optional. */
|
|
101
|
+
stage?: string;
|
|
102
|
+
/** Optional. */
|
|
103
|
+
score?: number;
|
|
104
|
+
/** Optional. */
|
|
105
|
+
durationSec?: number;
|
|
106
|
+
}
|
|
107
|
+
type ResourceFlow = 'sink' | 'source';
|
|
108
|
+
interface ResourceProperties {
|
|
109
|
+
/** Required. */
|
|
110
|
+
flow: ResourceFlow;
|
|
111
|
+
/** Required. */
|
|
112
|
+
currency: string;
|
|
113
|
+
/** Required. */
|
|
114
|
+
amount: number;
|
|
115
|
+
/** Optional. */
|
|
116
|
+
itemType?: string;
|
|
117
|
+
/** Optional. */
|
|
118
|
+
itemId?: string;
|
|
119
|
+
}
|
|
120
|
+
interface EmailAcquiredProperties {
|
|
121
|
+
/** Optional. */
|
|
122
|
+
source?: string;
|
|
123
|
+
}
|
|
124
|
+
interface GamePageViewedProperties {
|
|
125
|
+
/** Required. */
|
|
126
|
+
gameId: string;
|
|
127
|
+
/** Optional. */
|
|
128
|
+
gameName?: string;
|
|
129
|
+
/** Optional. */
|
|
130
|
+
slug?: string;
|
|
131
|
+
}
|
|
132
|
+
interface LinkClickedProperties {
|
|
133
|
+
/** Required. */
|
|
134
|
+
url: string;
|
|
135
|
+
/** Optional. */
|
|
136
|
+
label?: string;
|
|
137
|
+
/** Optional. */
|
|
138
|
+
source?: string;
|
|
139
|
+
/** Optional. */
|
|
140
|
+
gameId?: string;
|
|
141
|
+
}
|
|
142
|
+
interface EventPropsMap {
|
|
143
|
+
sign_up: SignUpProperties;
|
|
144
|
+
sign_in: SignInProperties;
|
|
145
|
+
wishlist_add: WishlistAddProperties;
|
|
146
|
+
wishlist_remove: WishlistRemoveProperties;
|
|
147
|
+
purchase: PurchaseProperties;
|
|
148
|
+
game_launch: GameLaunchProperties;
|
|
149
|
+
progression: ProgressionProperties;
|
|
150
|
+
resource: ResourceProperties;
|
|
151
|
+
email_acquired: EmailAcquiredProperties;
|
|
152
|
+
game_page_viewed: GamePageViewedProperties;
|
|
153
|
+
link_clicked: LinkClickedProperties;
|
|
154
|
+
}
|
|
155
|
+
type AudienceEventName = keyof EventPropsMap;
|
|
156
|
+
/**
|
|
157
|
+
* Event name → property type. Falls back to `Record<string, unknown>` for
|
|
158
|
+
* unknown names. Used by `sdk.track()` to type-check property shapes at the
|
|
159
|
+
* call site. Invariants pinned by `sdk.test-d.ts` — run it before simplifying.
|
|
160
|
+
* For example, `sdk.track('purchase', { currency: 'USD' })` fails to compile
|
|
161
|
+
* because `PurchaseProperties.value` is missing.
|
|
162
|
+
*
|
|
163
|
+
* If you change `PropsFor` (e.g. remove `Record<string, unknown>`), run
|
|
164
|
+
* `pnpm typecheck` after any edit. `sdk.test-d.ts` has deliberately-wrong
|
|
165
|
+
* `sdk.track()` calls that should fail to compile. If your edit makes any
|
|
166
|
+
* of them start compiling, the build breaks.
|
|
167
|
+
*/
|
|
168
|
+
type PropsFor<E extends string> = E extends keyof EventPropsMap ? EventPropsMap[E] : Record<string, unknown>;
|
|
169
|
+
|
|
38
170
|
/** Configuration for the Immutable Web SDK. */
|
|
39
171
|
interface AudienceConfig {
|
|
40
172
|
/** Publishable API key from Immutable Hub (pk_imapik-...). */
|
|
41
173
|
publishableKey: string;
|
|
42
|
-
/** Target environment — controls which backend receives events. */
|
|
43
|
-
environment: Environment;
|
|
44
174
|
/** Initial consent level. Defaults to 'none' (no tracking until opted in). */
|
|
45
175
|
consent?: ConsentLevel;
|
|
46
176
|
/** Enable console logging of all events, flushes, and consent changes. */
|
|
@@ -51,6 +181,8 @@ interface AudienceConfig {
|
|
|
51
181
|
flushInterval?: number;
|
|
52
182
|
/** Number of queued messages that triggers an automatic flush. Defaults to 20. */
|
|
53
183
|
flushSize?: number;
|
|
184
|
+
/** Override the default API base URL. */
|
|
185
|
+
baseUrl?: string;
|
|
54
186
|
}
|
|
55
187
|
|
|
56
188
|
/**
|
|
@@ -98,9 +230,11 @@ declare class Audience {
|
|
|
98
230
|
/**
|
|
99
231
|
* Record a player action like a purchase, sign-up, or game launch.
|
|
100
232
|
* Pass the event name and any properties you want to analyse later.
|
|
233
|
+
* For the predefined event names (`sign_up`, `purchase`, etc.),
|
|
234
|
+
* TypeScript enforces the property shape at the call site.
|
|
101
235
|
* No-op when consent is 'none'.
|
|
102
236
|
*/
|
|
103
|
-
track(event:
|
|
237
|
+
track<E extends AudienceEventName | string & {}>(event: E, ...args: {} extends PropsFor<E> ? [properties?: PropsFor<E>] : [properties: PropsFor<E>]): void;
|
|
104
238
|
/**
|
|
105
239
|
* Tell the SDK who this player is. Call when a player logs in or links
|
|
106
240
|
* an account. Before identify(), the SDK only knows an anonymous cookie ID.
|
|
@@ -155,5 +289,5 @@ declare class Audience {
|
|
|
155
289
|
shutdown(): void;
|
|
156
290
|
}
|
|
157
291
|
|
|
158
|
-
export { Audience, IdentityType, canIdentify, canTrack };
|
|
159
|
-
export type { AudienceConfig, ConsentLevel,
|
|
292
|
+
export { Audience, AudienceEvents, IdentityType, canIdentify, canTrack };
|
|
293
|
+
export type { AudienceConfig, AudienceEventName, ConsentLevel, EmailAcquiredProperties, GameLaunchProperties, GamePageViewedProperties, LinkClickedProperties, ProgressionProperties, ProgressionStatus, PropsFor, PurchaseProperties, ResourceFlow, ResourceProperties, SignInProperties, SignUpProperties, UserTraits, WishlistAddProperties, WishlistRemoveProperties };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@imtbl/audience",
|
|
3
3
|
"description": "Immutable Audience — consent-aware event tracking and identity management",
|
|
4
|
-
"version": "2.15.1-alpha.
|
|
4
|
+
"version": "2.15.1-alpha.4",
|
|
5
5
|
"author": "Immutable",
|
|
6
6
|
"bugs": "https://github.com/immutable/ts-immutable-sdk/issues",
|
|
7
7
|
"devDependencies": {
|