@amplitude/session-replay-browser 1.28.11 → 1.28.13
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/lib/cjs/helpers.d.ts +1 -0
- package/lib/cjs/helpers.d.ts.map +1 -1
- package/lib/cjs/version.d.ts +1 -1
- package/lib/cjs/version.js +1 -1
- package/lib/cjs/version.js.map +1 -1
- package/lib/esm/helpers.d.ts +1 -0
- package/lib/esm/helpers.d.ts.map +1 -1
- package/lib/esm/version.d.ts +1 -1
- package/lib/esm/version.js +1 -1
- package/lib/esm/version.js.map +1 -1
- package/lib/scripts/index-min.js +2 -0
- package/lib/scripts/index-min.js.gz +0 -0
- package/lib/scripts/index-min.js.map +1 -0
- package/lib/scripts/observers-min.js +1 -1
- package/lib/scripts/observers-min.js.gz +0 -0
- package/lib/scripts/observers-min.js.map +1 -1
- package/lib/scripts/session-replay-browser-esm.js +1 -1
- package/lib/scripts/session-replay-browser-esm.js.gz +0 -0
- package/lib/scripts/session-replay-browser-min.js +1 -1
- package/lib/scripts/session-replay-browser-min.js.gz +0 -0
- package/lib/scripts/session-replay-browser-min.js.map +1 -1
- package/package.json +4 -4
- package/lib/scripts/session-replay-min.js +0 -2
- package/lib/scripts/session-replay-min.js.gz +0 -0
- package/lib/scripts/session-replay-min.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@amplitude/session-replay-browser",
|
|
3
|
-
"version": "1.28.
|
|
3
|
+
"version": "1.28.13",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "Amplitude Inc",
|
|
6
6
|
"homepage": "https://github.com/amplitude/Amplitude-TypeScript",
|
|
@@ -40,8 +40,8 @@
|
|
|
40
40
|
"url": "https://github.com/amplitude/Amplitude-TypeScript/issues"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@amplitude/analytics-client-common": "^2.
|
|
44
|
-
"@amplitude/analytics-core": "^2.
|
|
43
|
+
"@amplitude/analytics-client-common": "^2.4.1",
|
|
44
|
+
"@amplitude/analytics-core": "^2.26.0",
|
|
45
45
|
"@amplitude/analytics-remote-config": "^0.6.3",
|
|
46
46
|
"@amplitude/analytics-types": "^2.10.0",
|
|
47
47
|
"@amplitude/rrweb-packer": "2.0.0-alpha.32",
|
|
@@ -70,5 +70,5 @@
|
|
|
70
70
|
"files": [
|
|
71
71
|
"lib"
|
|
72
72
|
],
|
|
73
|
-
"gitHead": "
|
|
73
|
+
"gitHead": "0cbd13b5c022490e9259d5f74eae397661def90e"
|
|
74
74
|
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{_ as e,a as t,b as n,c as r,d as i,o}from"./targeting-min.js";var s,a;!function(e){e.SET="$set",e.SET_ONCE="$setOnce",e.ADD="$add",e.APPEND="$append",e.PREPEND="$prepend",e.REMOVE="$remove",e.PREINSERT="$preInsert",e.POSTINSERT="$postInsert",e.UNSET="$unset",e.CLEAR_ALL="$clearAll"}(s||(s={})),function(e){e.IDENTIFY="$identify",e.GROUP_IDENTIFY="$groupidentify",e.REVENUE="revenue_amount"}(a||(a={}));var l,c="".concat("AMP","_unsent"),d="$default_instance",u="https://api2.amplitude.com/2/httpapi";!function(e){e.Unknown="unknown",e.Skipped="skipped",e.Success="success",e.RateLimit="rate_limit",e.PayloadTooLarge="payload_too_large",e.Invalid="invalid",e.Failed="failed",e.Timeout="Timeout",e.SystemError="SystemError"}(l||(l={}));var h,v=function(){var e="ampIntegrationContext";return"undefined"!=typeof globalThis&&void 0!==globalThis[e]?globalThis[e]:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof self?self:"undefined"!=typeof global?global:void 0},g=function(e){return{promise:e||Promise.resolve()}};!function(e){e[e.None=0]="None",e[e.Error=1]="Error",e[e.Warn=2]="Warn",e[e.Verbose=3]="Verbose",e[e.Debug=4]="Debug"}(h||(h={}));var f="Amplitude Logger ",p=function(){function e(){this.logLevel=h.None}return e.prototype.disable=function(){this.logLevel=h.None},e.prototype.enable=function(e){void 0===e&&(e=h.Warn),this.logLevel=e},e.prototype.log=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.logLevel<h.Verbose||console.log("".concat(f,"[Log]: ").concat(e.join(" ")))},e.prototype.warn=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.logLevel<h.Warn||console.warn("".concat(f,"[Warn]: ").concat(e.join(" ")))},e.prototype.error=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.logLevel<h.Error||console.error("".concat(f,"[Error]: ").concat(e.join(" ")))},e.prototype.debug=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.logLevel<h.Debug||console.log("".concat(f,"[Debug]: ").concat(e.join(" ")))},e}(),m=function(){return{flushMaxRetries:12,flushQueueSize:200,flushIntervalMillis:1e4,instanceName:d,logLevel:h.Warn,loggerProvider:new p,offline:!1,optOut:!1,serverUrl:u,serverZone:"US",useBatch:!1}},y=function(){function e(e){var t,n,r,i;this._optOut=!1;var o=m();this.apiKey=e.apiKey,this.flushIntervalMillis=null!==(t=e.flushIntervalMillis)&&void 0!==t?t:o.flushIntervalMillis,this.flushMaxRetries=e.flushMaxRetries||o.flushMaxRetries,this.flushQueueSize=e.flushQueueSize||o.flushQueueSize,this.instanceName=e.instanceName||o.instanceName,this.loggerProvider=e.loggerProvider||o.loggerProvider,this.logLevel=null!==(n=e.logLevel)&&void 0!==n?n:o.logLevel,this.minIdLength=e.minIdLength,this.plan=e.plan,this.ingestionMetadata=e.ingestionMetadata,this.offline=void 0!==e.offline?e.offline:o.offline,this.optOut=null!==(r=e.optOut)&&void 0!==r?r:o.optOut,this.serverUrl=e.serverUrl,this.serverZone=e.serverZone||o.serverZone,this.storageProvider=e.storageProvider,this.transportProvider=e.transportProvider,this.useBatch=null!==(i=e.useBatch)&&void 0!==i?i:o.useBatch,this.loggerProvider.enable(this.logLevel);var s=b(e.serverUrl,e.serverZone,e.useBatch);this.serverZone=s.serverZone,this.serverUrl=s.serverUrl}return Object.defineProperty(e.prototype,"optOut",{get:function(){return this._optOut},set:function(e){this._optOut=e},enumerable:!1,configurable:!0}),e}(),S=function(e,t){return"EU"===e?t?"https://api.eu.amplitude.com/batch":"https://api.eu.amplitude.com/2/httpapi":t?"https://api2.amplitude.com/batch":u},b=function(e,t,n){if(void 0===e&&(e=""),void 0===t&&(t=m().serverZone),void 0===n&&(n=m().useBatch),e)return{serverUrl:e,serverZone:void 0};var r=["US","EU"].includes(t)?t:m().serverZone;return{serverZone:r,serverUrl:S(r,n)}},w=function(){function e(){}return e.prototype.getApplicationContext=function(){return{versionName:this.versionName,language:I(),platform:"Web",os:void 0,deviceModel:void 0}},e}(),I=function(){return"undefined"!=typeof navigator&&(navigator.languages&&navigator.languages[0]||navigator.language)||""},C=function(){function e(){this.queue=[]}return e.prototype.logEvent=function(e){this.receiver?this.receiver(e):this.queue.length<512&&this.queue.push(e)},e.prototype.setEventReceiver=function(e){this.receiver=e,this.queue.length>0&&(this.queue.forEach((function(t){e(t)})),this.queue=[])},e}(),E=function(){return E=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},E.apply(this,arguments)};function P(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function T(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s}"function"==typeof SuppressedError&&SuppressedError;var _=function(e,t){var n,r,i=typeof e;if(i!==typeof t)return!1;try{for(var o=P(["string","number","boolean","undefined"]),s=o.next();!s.done;s=o.next()){if(s.value===i)return e===t}}catch(e){n={error:e}}finally{try{s&&!s.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}if(null==e&&null==t)return!0;if(null==e||null==t)return!1;if(e.length!==t.length)return!1;var a=Array.isArray(e),l=Array.isArray(t);if(a!==l)return!1;if(!a||!l){var c=Object.keys(e).sort(),d=Object.keys(t).sort();if(!_(c,d))return!1;var u=!0;return Object.keys(e).forEach((function(n){_(e[n],t[n])||(u=!1)})),u}for(var h=0;h<e.length;h++)if(!_(e[h],t[h]))return!1;return!0};Object.entries||(Object.entries=function(e){for(var t=Object.keys(e),n=t.length,r=new Array(n);n--;)r[n]=[t[n],e[t[n]]];return r});var k,R=function(){function e(){this.identity={userProperties:{}},this.listeners=new Set}return e.prototype.editIdentity=function(){var e=this,t=E({},this.identity.userProperties),n=E(E({},this.identity),{userProperties:t});return{setUserId:function(e){return n.userId=e,this},setDeviceId:function(e){return n.deviceId=e,this},setUserProperties:function(e){return n.userProperties=e,this},setOptOut:function(e){return n.optOut=e,this},updateUserProperties:function(e){var t,r,i,o,s,a,l=n.userProperties||{};try{for(var c=P(Object.entries(e)),d=c.next();!d.done;d=c.next()){var u=T(d.value,2),h=u[0],v=u[1];switch(h){case"$set":try{for(var g=(i=void 0,P(Object.entries(v))),f=g.next();!f.done;f=g.next()){var p=T(f.value,2),m=p[0],y=p[1];l[m]=y}}catch(e){i={error:e}}finally{try{f&&!f.done&&(o=g.return)&&o.call(g)}finally{if(i)throw i.error}}break;case"$unset":try{for(var S=(s=void 0,P(Object.keys(v))),b=S.next();!b.done;b=S.next()){delete l[m=b.value]}}catch(e){s={error:e}}finally{try{b&&!b.done&&(a=S.return)&&a.call(S)}finally{if(s)throw s.error}}break;case"$clearAll":l={}}}}catch(e){t={error:e}}finally{try{d&&!d.done&&(r=c.return)&&r.call(c)}finally{if(t)throw t.error}}return n.userProperties=l,this},commit:function(){return e.setIdentity(n),this}}},e.prototype.getIdentity=function(){return E({},this.identity)},e.prototype.setIdentity=function(e){var t=E({},this.identity);this.identity=E({},e),_(t,this.identity)||this.listeners.forEach((function(t){t(e)}))},e.prototype.addIdentityListener=function(e){this.listeners.add(e)},e.prototype.removeIdentityListener=function(e){this.listeners.delete(e)},e}(),O="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof global?global:self,x=function(){function e(){this.identityStore=new R,this.eventBridge=new C,this.applicationContextProvider=new w}return e.getInstance=function(t){return O.analyticsConnectorInstances||(O.analyticsConnectorInstances={}),O.analyticsConnectorInstances[t]||(O.analyticsConnectorInstances[t]=new e),O.analyticsConnectorInstances[t]},e}(),M=function(){function e(){}return e.prototype.send=function(e,t){return Promise.resolve(null)},e.prototype.buildResponse=function(e){var t,n,r,i,o,s,a,c,d,u,h,v,g,f,p,m,y,S,b,w,I,C;if("object"!=typeof e)return null;var E=e.code||0,P=this.buildStatus(E);switch(P){case l.Success:return{status:P,statusCode:E,body:{eventsIngested:null!==(t=e.events_ingested)&&void 0!==t?t:0,payloadSizeBytes:null!==(n=e.payload_size_bytes)&&void 0!==n?n:0,serverUploadTime:null!==(r=e.server_upload_time)&&void 0!==r?r:0}};case l.Invalid:return{status:P,statusCode:E,body:{error:null!==(i=e.error)&&void 0!==i?i:"",missingField:null!==(o=e.missing_field)&&void 0!==o?o:"",eventsWithInvalidFields:null!==(s=e.events_with_invalid_fields)&&void 0!==s?s:{},eventsWithMissingFields:null!==(a=e.events_with_missing_fields)&&void 0!==a?a:{},eventsWithInvalidIdLengths:null!==(c=e.events_with_invalid_id_lengths)&&void 0!==c?c:{},epsThreshold:null!==(d=e.eps_threshold)&&void 0!==d?d:0,exceededDailyQuotaDevices:null!==(u=e.exceeded_daily_quota_devices)&&void 0!==u?u:{},silencedDevices:null!==(h=e.silenced_devices)&&void 0!==h?h:[],silencedEvents:null!==(v=e.silenced_events)&&void 0!==v?v:[],throttledDevices:null!==(g=e.throttled_devices)&&void 0!==g?g:{},throttledEvents:null!==(f=e.throttled_events)&&void 0!==f?f:[]}};case l.PayloadTooLarge:return{status:P,statusCode:E,body:{error:null!==(p=e.error)&&void 0!==p?p:""}};case l.RateLimit:return{status:P,statusCode:E,body:{error:null!==(m=e.error)&&void 0!==m?m:"",epsThreshold:null!==(y=e.eps_threshold)&&void 0!==y?y:0,throttledDevices:null!==(S=e.throttled_devices)&&void 0!==S?S:{},throttledUsers:null!==(b=e.throttled_users)&&void 0!==b?b:{},exceededDailyQuotaDevices:null!==(w=e.exceeded_daily_quota_devices)&&void 0!==w?w:{},exceededDailyQuotaUsers:null!==(I=e.exceeded_daily_quota_users)&&void 0!==I?I:{},throttledEvents:null!==(C=e.throttled_events)&&void 0!==C?C:[]}};case l.Timeout:default:return{status:P,statusCode:E}}},e.prototype.buildStatus=function(e){return e>=200&&e<300?l.Success:429===e?l.RateLimit:413===e?l.PayloadTooLarge:408===e?l.Timeout:e>=400&&e<500?l.Invalid:e>=500?l.Failed:l.Unknown},e}(),q=function(r){function i(){return null!==r&&r.apply(this,arguments)||this}return e(i,r),i.prototype.send=function(e,r){return t(this,void 0,void 0,(function(){var t,i,o;return n(this,(function(n){switch(n.label){case 0:if("undefined"==typeof fetch)throw new Error("FetchTransport is not supported");return t={headers:{"Content-Type":"application/json",Accept:"*/*"},body:JSON.stringify(r),method:"POST"},[4,fetch(e,t)];case 1:return[4,(i=n.sent()).text()];case 2:o=n.sent();try{return[2,this.buildResponse(JSON.parse(o))]}catch(e){return[2,this.buildResponse({code:i.status})]}return[2]}}))}))},i}(M);!function(e){e.US="US",e.EU="EU",e.STAGING="STAGING"}(k||(k={}));var L,N,D=(e=>(e[e.DomContentLoaded=0]="DomContentLoaded",e[e.Load=1]="Load",e[e.FullSnapshot=2]="FullSnapshot",e[e.IncrementalSnapshot=3]="IncrementalSnapshot",e[e.Meta=4]="Meta",e[e.Custom=5]="Custom",e[e.Plugin=6]="Plugin",e))(D||{}),$=(e=>(e[e.MouseUp=0]="MouseUp",e[e.MouseDown=1]="MouseDown",e[e.Click=2]="Click",e[e.ContextMenu=3]="ContextMenu",e[e.DblClick=4]="DblClick",e[e.Focus=5]="Focus",e[e.Blur=6]="Blur",e[e.TouchStart=7]="TouchStart",e[e.TouchMove_Departed=8]="TouchMove_Departed",e[e.TouchEnd=9]="TouchEnd",e[e.TouchCancel=10]="TouchCancel",e))($||{});!function(e){e.US="US",e.EU="EU",e.STAGING="STAGING"}(L||(L={})),function(e){e.Unknown="unknown",e.Skipped="skipped",e.Success="success",e.RateLimit="rate_limit",e.PayloadTooLarge="payload_too_large",e.Invalid="invalid",e.Failed="failed",e.Timeout="Timeout",e.SystemError="SystemError"}(N||(N={}));var j=function(){function e(){}return e.prototype.send=function(e,t){return Promise.resolve(null)},e.prototype.buildResponse=function(e){var t,n,r,i,o,s,a,l,c,d,u,h,v,g,f,p,m,y,S,b,w,I;if("object"!=typeof e)return null;var C=e.code||0,E=this.buildStatus(C);switch(E){case N.Success:return{status:E,statusCode:C,body:{eventsIngested:null!==(t=e.events_ingested)&&void 0!==t?t:0,payloadSizeBytes:null!==(n=e.payload_size_bytes)&&void 0!==n?n:0,serverUploadTime:null!==(r=e.server_upload_time)&&void 0!==r?r:0}};case N.Invalid:return{status:E,statusCode:C,body:{error:null!==(i=e.error)&&void 0!==i?i:"",missingField:null!==(o=e.missing_field)&&void 0!==o?o:"",eventsWithInvalidFields:null!==(s=e.events_with_invalid_fields)&&void 0!==s?s:{},eventsWithMissingFields:null!==(a=e.events_with_missing_fields)&&void 0!==a?a:{},eventsWithInvalidIdLengths:null!==(l=e.events_with_invalid_id_lengths)&&void 0!==l?l:{},epsThreshold:null!==(c=e.eps_threshold)&&void 0!==c?c:0,exceededDailyQuotaDevices:null!==(d=e.exceeded_daily_quota_devices)&&void 0!==d?d:{},silencedDevices:null!==(u=e.silenced_devices)&&void 0!==u?u:[],silencedEvents:null!==(h=e.silenced_events)&&void 0!==h?h:[],throttledDevices:null!==(v=e.throttled_devices)&&void 0!==v?v:{},throttledEvents:null!==(g=e.throttled_events)&&void 0!==g?g:[]}};case N.PayloadTooLarge:return{status:E,statusCode:C,body:{error:null!==(f=e.error)&&void 0!==f?f:""}};case N.RateLimit:return{status:E,statusCode:C,body:{error:null!==(p=e.error)&&void 0!==p?p:"",epsThreshold:null!==(m=e.eps_threshold)&&void 0!==m?m:0,throttledDevices:null!==(y=e.throttled_devices)&&void 0!==y?y:{},throttledUsers:null!==(S=e.throttled_users)&&void 0!==S?S:{},exceededDailyQuotaDevices:null!==(b=e.exceeded_daily_quota_devices)&&void 0!==b?b:{},exceededDailyQuotaUsers:null!==(w=e.exceeded_daily_quota_users)&&void 0!==w?w:{},throttledEvents:null!==(I=e.throttled_events)&&void 0!==I?I:[]}};case N.Timeout:default:return{status:E,statusCode:C}}},e.prototype.buildStatus=function(e){return e>=200&&e<300?N.Success:429===e?N.RateLimit:413===e?N.PayloadTooLarge:408===e?N.Timeout:e>=400&&e<500?N.Invalid:e>=500?N.Failed:N.Unknown},e}(),U="Remote config fetch rejected due to timeout after 5 seconds",F="Unexpected error occurred",A=function(){function e(e){var o=e.localConfig,s=e.configKeys,a=this;this.retryTimeout=1e3,this.attempts=0,this.sessionTargetingMatch=!1,this.metrics={},this.getRemoteNamespaceConfig=function(e,r){return t(a,void 0,void 0,(function(){var t,i,o;return n(this,(function(n){switch(n.label){case 0:return t=Date.now(),[4,this.fetchWithTimeout(r)];case 1:return(i=n.sent())&&(o=i.configs&&i.configs[e])?(this.metrics.fetchTimeAPISuccess=Date.now()-t,[2,o]):(this.metrics.fetchTimeAPIFail=Date.now()-t,[2,void 0])}}))}))},this.getRemoteConfig=function(e,r,i){return t(a,void 0,void 0,(function(){var t;return n(this,(function(n){switch(n.label){case 0:return[4,this.getRemoteNamespaceConfig(e,i)];case 1:return[2,null==(t=n.sent())?void 0:t[r]]}}))}))},this.fetchWithTimeout=function(e){return t(a,void 0,void 0,(function(){var t,r,i;return n(this,(function(n){switch(n.label){case 0:return t=new AbortController,r=setTimeout((function(){return t.abort()}),5e3),[4,this.fetchRemoteConfig(t.signal,e)];case 1:return i=n.sent(),clearTimeout(r),[2,i]}}))}))},this.fetchRemoteConfig=function(e,o){return t(a,void 0,void 0,(function(){var t,s,a,l,c,d,u,h,v,g,f,p;return n(this,(function(n){switch(n.label){case 0:if(o===this.lastFetchedSessionId&&this.attempts>=this.localConfig.flushMaxRetries)return[2,this.completeRequest({err:"Remote config fetch rejected due to exceeded retry count"})];if(e.aborted)return[2,this.completeRequest({err:U})];o!==this.lastFetchedSessionId&&(this.lastFetchedSessionId=o,this.attempts=0),n.label=1;case 1:n.trys.push([1,3,,4]),t=new URLSearchParams({api_key:this.localConfig.apiKey});try{for(s=r(this.configKeys),a=s.next();!a.done;a=s.next())l=a.value,t.append("config_keys",l)}catch(e){g={error:e}}finally{try{a&&!a.done&&(f=s.return)&&f.call(s)}finally{if(g)throw g.error}}return o&&t.set("session_id",String(o)),c={headers:{Accept:"*/*"},method:"GET"},d="".concat(this.getServerUrl(),"?").concat(t.toString()),this.attempts+=1,[4,fetch(d,i(i({},c),{signal:e}))];case 2:if(null===(u=n.sent()))return[2,this.completeRequest({err:F})];switch((new j).buildStatus(u.status)){case N.Success:return this.attempts=0,[2,this.parseAndStoreConfig(u)];case N.Failed:return[2,this.retryFetch(e,o)];default:return[2,this.completeRequest({err:"Network error occurred, remote config fetch failed"})]}case 3:return h=n.sent(),v=h,e.aborted?[2,this.completeRequest({err:U})]:[2,this.completeRequest({err:null!==(p=v.message)&&void 0!==p?p:F})];case 4:return[2]}}))}))},this.retryFetch=function(e,r){return t(a,void 0,void 0,(function(){var t=this;return n(this,(function(n){switch(n.label){case 0:return[4,new Promise((function(e){return setTimeout(e,t.attempts*t.retryTimeout)}))];case 1:return n.sent(),[2,this.fetchRemoteConfig(e,r)]}}))}))},this.parseAndStoreConfig=function(e){return t(a,void 0,void 0,(function(){var t;return n(this,(function(n){switch(n.label){case 0:return[4,e.json()];case 1:return t=n.sent(),this.completeRequest({success:"Remote config successfully fetched"}),[2,t]}}))}))},this.localConfig=o,this.configKeys=s}return e.prototype.getServerUrl=function(){return this.localConfig.configServerUrl?this.localConfig.configServerUrl:this.localConfig.serverZone===L.STAGING?"https://sr-client-cfg.stag2.amplitude.com/config":this.localConfig.serverZone===L.EU?"https://sr-client-cfg.eu.amplitude.com/config":"https://sr-client-cfg.amplitude.com/config"},e.prototype.completeRequest=function(e){var t=e.err,n=e.success;if(t)throw new Error(t);n&&this.localConfig.loggerProvider.log(n)},e}(),K=function(e){var r=e.localConfig,i=e.configKeys;return t(void 0,void 0,void 0,(function(){return n(this,(function(e){return[2,new A({localConfig:r,configKeys:i})]}))}))};const B="medium",W="[Amplitude]",z=`${W} Session Replay ID`,G=k.US,Q={enabled:!0},H=`${W} Session Replay Debug`,J="amp-mask";var V;!function(e){e.GET_SR_PROPS="get-sr-props",e.DEBUG_INFO="debug-info",e.FETCH_REQUEST="fetch-request",e.METADATA="metadata",e.TARGETING_DECISION="targeting-decision"}(V||(V={}));const Z=(e,t,n)=>{switch(t){case"light":{if("input"!==e)return!0;const t=n?function(e){const t=e.type;return e.hasAttribute("data-rr-is-password")?"password":t?t.toLowerCase():null}(n):"";return!!t&&(!!["password","hidden","email","tel"].includes(t)||!!n.autocomplete.startsWith("cc-"))}case"medium":case"conservative":return!0;default:return Z(e,B,n)}},X=(e,t)=>(n,r)=>((e,t={defaultMaskLevel:B},n)=>{var r,i,o;if(n){if(n.closest("."+J))return!0;const e=(null!==(r=t.maskSelector)&&void 0!==r?r:[]).some((e=>n.closest(e)));if(e)return!0;if(n.closest(".amp-unmask"))return!1;const o=(null!==(i=t.unmaskSelector)&&void 0!==i?i:[]).some((e=>n.closest(e)));if(o)return!1}return Z(e,null!==(o=t.defaultMaskLevel)&&void 0!==o?o:B,n)})(e,t,r)?n.replace(/[^\s]/g,"*"):n,Y=function(e){let t=0;if(0===e.length)return t;for(let n=0;n<e.length;n++){t=(t<<5)-t+e.charCodeAt(n),t|=0}return t},ee=(e,t)=>t||(e===k.STAGING?"https://api-sr.stag2.amplitude.com/sessions/v2/track":e===k.EU?"https://api-sr.eu.amplitude.com/sessions/v2/track":"https://api-sr.amplitude.com/sessions/v2/track"),te=e=>{const t=e.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*").replace(/\?/g,".");return new RegExp(`^${t}$`)},ne=(e,t)=>{for(const n of t){const t=te(n.selector);if(t.test(e))return e.replace(t,n.replacement)}return e},re=()=>t(void 0,void 0,void 0,(function*(){try{const e=v();if(e){const{usage:t,quota:n,usageDetails:r}=yield e.navigator.storage.estimate(),i=t?Math.round(t/1024):0;return{totalStorageSize:i,percentOfQuota:t&&n?Math.round(1e3*(t/n+Number.EPSILON))/1e3:0,usageDetails:JSON.stringify(r)}}}catch(e){}return{totalStorageSize:0,percentOfQuota:0,usageDetails:""}})),ie=e=>{const t=Object.assign({},e),{apiKey:n}=t;return t.apiKey=`****${n.substring(n.length-4)}`,t};class oe{constructor(e){this.logger=e,this.log=this.getSafeMethod("log"),this.warn=this.getSafeMethod("warn"),this.error=this.getSafeMethod("error"),this.debug=this.getSafeMethod("debug")}getSafeMethod(e){var t;if(!this.logger)return()=>{};const n=this.logger[e];if("function"==typeof n){return(null!==(t=n.__rrweb_original__)&&void 0!==t?t:n).bind(this.logger)}return()=>{}}enable(e){this.logger.enable(e)}disable(){this.logger.disable()}}class se extends y{constructor(e,t){var n,r,i,o,s;const a={flushMaxRetries:2,logLevel:h.Warn,loggerProvider:new p,transportProvider:new q};super(Object.assign(Object.assign({transportProvider:a.transportProvider,loggerProvider:new oe(t.loggerProvider||a.loggerProvider)},t),{apiKey:e})),this.flushMaxRetries=void 0!==t.flushMaxRetries&&t.flushMaxRetries<=a.flushMaxRetries?t.flushMaxRetries:a.flushMaxRetries,this.apiKey=e,this.sampleRate=t.sampleRate||0,this.serverZone=t.serverZone||G,this.configServerUrl=t.configServerUrl,this.trackServerUrl=t.trackServerUrl,this.shouldInlineStylesheet=t.shouldInlineStylesheet,this.version=t.version,this.performanceConfig=t.performanceConfig||Q,this.storeType=null!==(n=t.storeType)&&void 0!==n?n:"idb",this.applyBackgroundColorToBlockedElements=null!==(r=t.applyBackgroundColorToBlockedElements)&&void 0!==r&&r,this.enableUrlChangePolling=null!==(i=t.enableUrlChangePolling)&&void 0!==i&&i,this.urlChangePollingInterval=null!==(o=t.urlChangePollingInterval)&&void 0!==o?o:1e3,this.captureDocumentTitle=null!==(s=t.captureDocumentTitle)&&void 0!==s&&s,t.privacyConfig&&(this.privacyConfig=t.privacyConfig),t.interactionConfig&&(this.interactionConfig=t.interactionConfig,this.interactionConfig.ugcFilterRules&&(e=>{if(!e.every((e=>"string"==typeof e.selector&&"string"==typeof e.replacement)))throw new Error("ugcFilterRules must be an array of objects with selector and replacement properties");if(!e.every((e=>{return"string"==typeof(t=e.selector)&&""!==t.trim()&&!!/^\/|^https?:\/\/[^\s]+$/.test(t);var t})))throw new Error("ugcFilterRules must be an array of objects with valid globs")})(this.interactionConfig.ugcFilterRules)),t.debugMode&&(this.debugMode=t.debugMode),t.experimental&&(this.experimental=t.experimental),t.omitElementTags&&(this.omitElementTags=t.omitElementTags)}}class ae{constructor(e,t){this.localConfig=t,this.remoteConfigFetch=e}generateJoinedConfig(e){var n,r,i,o;return t(this,void 0,void 0,(function*(){const t=Object.assign({},this.localConfig);let s;t.optOut=this.localConfig.optOut,t.captureEnabled=!0;try{const r=yield this.remoteConfigFetch.getRemoteNamespaceConfig("sessionReplay",e);if(r){const e=r.sr_sampling_config,i=r.sr_privacy_config,o=r.sr_targeting_config,a=null===(n=t.interactionConfig)||void 0===n?void 0:n.ugcFilterRules;t.interactionConfig=r.sr_interaction_config,t.interactionConfig&&a&&(t.interactionConfig.ugcFilterRules=a),t.loggingConfig=r.sr_logging_config,(e||i||o)&&(s={},e&&(s.sr_sampling_config=e),i&&(s.sr_privacy_config=i),o&&(s.sr_targeting_config=o))}}catch(e){const n=e;this.localConfig.loggerProvider.warn(n.message),t.captureEnabled=!1}if(!s)return{localConfig:this.localConfig,joinedConfig:t,remoteConfig:s};const{sr_sampling_config:a,sr_privacy_config:l,sr_targeting_config:c}=s;if(a&&Object.keys(a).length>0?(Object.prototype.hasOwnProperty.call(a,"capture_enabled")?t.captureEnabled=a.capture_enabled:t.captureEnabled=!1,Object.prototype.hasOwnProperty.call(a,"sample_rate")&&(t.sampleRate=a.sample_rate)):(t.captureEnabled=!0,this.localConfig.loggerProvider.debug("Remote config successfully fetched, but no values set for project, Session Replay capture enabled.")),l){const e=null!==(r=t.privacyConfig)&&void 0!==r?r:{},n={defaultMaskLevel:null!==(o=null!==(i=l.defaultMaskLevel)&&void 0!==i?i:e.defaultMaskLevel)&&void 0!==o?o:"medium",blockSelector:[],maskSelector:[],unmaskSelector:[]},s=e=>{var t,n,r;const i={};"string"==typeof e.blockSelector&&(e.blockSelector=[e.blockSelector]);for(const n of null!==(t=e.blockSelector)&&void 0!==t?t:[])i[n]="block";for(const t of null!==(n=e.maskSelector)&&void 0!==n?n:[])i[t]="mask";for(const t of null!==(r=e.unmaskSelector)&&void 0!==r?r:[])i[t]="unmask";return i},a=Object.assign(Object.assign({},s(e)),s(l));for(const[e,t]of Object.entries(a))"mask"===t?n.maskSelector.push(e):"block"===t?n.blockSelector.push(e):"unmask"===t&&n.unmaskSelector.push(e);t.privacyConfig=((e,t)=>{const n=document.createDocumentFragment(),r=(e=[])=>{if("string"==typeof e&&(e=[e]),e=e.filter((e=>{try{n.querySelector(e)}catch(n){return t.warn(`[session-replay-browser] omitting selector "${e}" because it is invalid`),!1}return!0})),0!==e.length)return e};return e.blockSelector=r(e.blockSelector),e.maskSelector=r(e.maskSelector),e.unmaskSelector=r(e.unmaskSelector),e})(n,this.localConfig.loggerProvider)}return c&&Object.keys(c).length>0&&(t.targetingConfig=c),this.localConfig.loggerProvider.debug(JSON.stringify({name:"session replay joined config",config:ie(t)},null,2)),{localConfig:this.localConfig,joinedConfig:t,remoteConfig:s}}))}}var le=Uint8Array,ce=Uint16Array,de=Uint32Array,ue=new le([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),he=new le([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),ve=new le([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),ge=function(e,t){for(var n=new ce(31),r=0;r<31;++r)n[r]=t+=1<<e[r-1];var i=new de(n[30]);for(r=1;r<30;++r)for(var o=n[r];o<n[r+1];++o)i[o]=o-n[r]<<5|r;return[n,i]},fe=ge(ue,2),pe=fe[0],me=fe[1];pe[28]=258,me[258]=28;for(var ye=ge(he,0)[1],Se=new ce(32768),be=0;be<32768;++be){var we=(43690&be)>>>1|(21845&be)<<1;we=(61680&(we=(52428&we)>>>2|(13107&we)<<2))>>>4|(3855&we)<<4,Se[be]=((65280&we)>>>8|(255&we)<<8)>>>1}var Ie=function(e,t,n){for(var r=e.length,i=0,o=new ce(t);i<r;++i)++o[e[i]-1];var s,a=new ce(t);for(i=0;i<t;++i)a[i]=a[i-1]+o[i-1]<<1;if(n){s=new ce(1<<t);var l=15-t;for(i=0;i<r;++i)if(e[i])for(var c=i<<4|e[i],d=t-e[i],u=a[e[i]-1]++<<d,h=u|(1<<d)-1;u<=h;++u)s[Se[u]>>>l]=c}else for(s=new ce(r),i=0;i<r;++i)s[i]=Se[a[e[i]-1]++]>>>15-e[i];return s},Ce=new le(288);for(be=0;be<144;++be)Ce[be]=8;for(be=144;be<256;++be)Ce[be]=9;for(be=256;be<280;++be)Ce[be]=7;for(be=280;be<288;++be)Ce[be]=8;var Ee=new le(32);for(be=0;be<32;++be)Ee[be]=5;var Pe=Ie(Ce,9,0),Te=Ie(Ee,5,0),_e=function(e){return(e/8|0)+(7&e&&1)},ke=function(e,t,n){(null==n||n>e.length)&&(n=e.length);var r=new(e instanceof ce?ce:e instanceof de?de:le)(n-t);return r.set(e.subarray(t,n)),r},Re=function(e,t,n){n<<=7&t;var r=t/8|0;e[r]|=n,e[r+1]|=n>>>8},Oe=function(e,t,n){n<<=7&t;var r=t/8|0;e[r]|=n,e[r+1]|=n>>>8,e[r+2]|=n>>>16},xe=function(e,t){for(var n=[],r=0;r<e.length;++r)e[r]&&n.push({s:r,f:e[r]});var i=n.length,o=n.slice();if(!i)return[new le(0),0];if(1==i){var s=new le(n[0].s+1);return s[n[0].s]=1,[s,1]}n.sort((function(e,t){return e.f-t.f})),n.push({s:-1,f:25001});var a=n[0],l=n[1],c=0,d=1,u=2;for(n[0]={s:-1,f:a.f+l.f,l:a,r:l};d!=i-1;)a=n[n[c].f<n[u].f?c++:u++],l=n[c!=d&&n[c].f<n[u].f?c++:u++],n[d++]={s:-1,f:a.f+l.f,l:a,r:l};var h=o[0].s;for(r=1;r<i;++r)o[r].s>h&&(h=o[r].s);var v=new ce(h+1),g=Me(n[d-1],v,0);if(g>t){r=0;var f=0,p=g-t,m=1<<p;for(o.sort((function(e,t){return v[t.s]-v[e.s]||e.f-t.f}));r<i;++r){var y=o[r].s;if(!(v[y]>t))break;f+=m-(1<<g-v[y]),v[y]=t}for(f>>>=p;f>0;){var S=o[r].s;v[S]<t?f-=1<<t-v[S]++-1:++r}for(;r>=0&&f;--r){var b=o[r].s;v[b]==t&&(--v[b],++f)}g=t}return[new le(v),g]},Me=function(e,t,n){return-1==e.s?Math.max(Me(e.l,t,n+1),Me(e.r,t,n+1)):t[e.s]=n},qe=function(e){for(var t=e.length;t&&!e[--t];);for(var n=new ce(++t),r=0,i=e[0],o=1,s=function(e){n[r++]=e},a=1;a<=t;++a)if(e[a]==i&&a!=t)++o;else{if(!i&&o>2){for(;o>138;o-=138)s(32754);o>2&&(s(o>10?o-11<<5|28690:o-3<<5|12305),o=0)}else if(o>3){for(s(i),--o;o>6;o-=6)s(8304);o>2&&(s(o-3<<5|8208),o=0)}for(;o--;)s(i);o=1,i=e[a]}return[n.subarray(0,r),t]},Le=function(e,t){for(var n=0,r=0;r<t.length;++r)n+=e[r]*t[r];return n},Ne=function(e,t,n){var r=n.length,i=_e(t+2);e[i]=255&r,e[i+1]=r>>>8,e[i+2]=255^e[i],e[i+3]=255^e[i+1];for(var o=0;o<r;++o)e[i+o+4]=n[o];return 8*(i+4+r)},De=function(e,t,n,r,i,o,s,a,l,c,d){Re(t,d++,n),++i[256];for(var u=xe(i,15),h=u[0],v=u[1],g=xe(o,15),f=g[0],p=g[1],m=qe(h),y=m[0],S=m[1],b=qe(f),w=b[0],I=b[1],C=new ce(19),E=0;E<y.length;++E)C[31&y[E]]++;for(E=0;E<w.length;++E)C[31&w[E]]++;for(var P=xe(C,7),T=P[0],_=P[1],k=19;k>4&&!T[ve[k-1]];--k);var R,O,x,M,q=c+5<<3,L=Le(i,Ce)+Le(o,Ee)+s,N=Le(i,h)+Le(o,f)+s+14+3*k+Le(C,T)+(2*C[16]+3*C[17]+7*C[18]);if(q<=L&&q<=N)return Ne(t,d,e.subarray(l,l+c));if(Re(t,d,1+(N<L)),d+=2,N<L){R=Ie(h,v,0),O=h,x=Ie(f,p,0),M=f;var D=Ie(T,_,0);Re(t,d,S-257),Re(t,d+5,I-1),Re(t,d+10,k-4),d+=14;for(E=0;E<k;++E)Re(t,d+3*E,T[ve[E]]);d+=3*k;for(var $=[y,w],j=0;j<2;++j){var U=$[j];for(E=0;E<U.length;++E){var F=31&U[E];Re(t,d,D[F]),d+=T[F],F>15&&(Re(t,d,U[E]>>>5&127),d+=U[E]>>>12)}}}else R=Pe,O=Ce,x=Te,M=Ee;for(E=0;E<a;++E)if(r[E]>255){F=r[E]>>>18&31;Oe(t,d,R[F+257]),d+=O[F+257],F>7&&(Re(t,d,r[E]>>>23&31),d+=ue[F]);var A=31&r[E];Oe(t,d,x[A]),d+=M[A],A>3&&(Oe(t,d,r[E]>>>5&8191),d+=he[A])}else Oe(t,d,R[r[E]]),d+=O[r[E]];return Oe(t,d,R[256]),d+O[256]},$e=new de([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),je=function(e,t,n,r,i){return function(e,t,n,r,i,o){var s=e.length,a=new le(r+s+5*(1+Math.floor(s/7e3))+i),l=a.subarray(r,a.length-i),c=0;if(!t||s<8)for(var d=0;d<=s;d+=65535){var u=d+65535;u<s?c=Ne(l,c,e.subarray(d,u)):(l[d]=o,c=Ne(l,c,e.subarray(d,s)))}else{for(var h=$e[t-1],v=h>>>13,g=8191&h,f=(1<<n)-1,p=new ce(32768),m=new ce(f+1),y=Math.ceil(n/3),S=2*y,b=function(t){return(e[t]^e[t+1]<<y^e[t+2]<<S)&f},w=new de(25e3),I=new ce(288),C=new ce(32),E=0,P=0,T=(d=0,0),_=0,k=0;d<s;++d){var R=b(d),O=32767&d,x=m[R];if(p[O]=x,m[R]=O,_<=d){var M=s-d;if((E>7e3||T>24576)&&M>423){c=De(e,l,0,w,I,C,P,T,k,d-k,c),T=E=P=0,k=d;for(var q=0;q<286;++q)I[q]=0;for(q=0;q<30;++q)C[q]=0}var L=2,N=0,D=g,$=O-x&32767;if(M>2&&R==b(d-$))for(var j=Math.min(v,M)-1,U=Math.min(32767,d),F=Math.min(258,M);$<=U&&--D&&O!=x;){if(e[d+L]==e[d+L-$]){for(var A=0;A<F&&e[d+A]==e[d+A-$];++A);if(A>L){if(L=A,N=$,A>j)break;var K=Math.min($,A-2),B=0;for(q=0;q<K;++q){var W=d-$+q+32768&32767,z=W-p[W]+32768&32767;z>B&&(B=z,x=W)}}}$+=(O=x)-(x=p[O])+32768&32767}if(N){w[T++]=268435456|me[L]<<18|ye[N];var G=31&me[L],Q=31&ye[N];P+=ue[G]+he[Q],++I[257+G],++C[Q],_=d+L,++E}else w[T++]=e[d],++I[e[d]]}}c=De(e,l,o,w,I,C,P,T,k,d-k,c)}return ke(a,0,r+_e(c)+i)}(e,null==t.level?6:t.level,null==t.mem?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(e.length)))):12+t.mem,n,r,!i)};function Ue(e,t){void 0===t&&(t={});var n=function(){var e=1,t=0;return{p:function(n){for(var r=e,i=t,o=n.length,s=0;s!=o;){for(var a=Math.min(s+5552,o);s<a;++s)i+=r+=n[s];r%=65521,i%=65521}e=r,t=i},d:function(){return(e>>>8<<16|(255&t)<<8|t>>>8)+2*((255&e)<<23)}}}();n.p(e);var r,i,o,s=je(e,t,2,4);return r=s,i=t.level,o=0==i?0:i<6?1:9==i?3:2,r[0]=120,r[1]=o<<6|(o?32-2*o:1),function(e,t,n){for(;n;++t)e[t]=n,n>>>=8}(s,s.length-4,n.d()),s}const Fe=e=>{const t={...e,v:"v1"};return function(e,t){var n="";if(!t&&"undefined"!=typeof TextDecoder)return(new TextDecoder).decode(e);for(var r=0;r<e.length;){var i=e[r++];i<128||t?n+=String.fromCharCode(i):i<224?n+=String.fromCharCode((31&i)<<6|63&e[r++]):i<240?n+=String.fromCharCode((15&i)<<12|(63&e[r++])<<6|63&e[r++]):(i=((15&i)<<18|(63&e[r++])<<12|(63&e[r++])<<6|63&e[r++])-65536,n+=String.fromCharCode(55296|i>>10,56320|1023&i))}return n}(Ue(function(e,t){var n=e.length;if(!t&&"undefined"!=typeof TextEncoder)return(new TextEncoder).encode(e);for(var r=new le(e.length+(e.length>>>1)),i=0,o=function(e){r[i++]=e},s=0;s<n;++s){if(i+5>r.length){var a=new le(i+8+(n-s<<1));a.set(r),r=a}var l=e.charCodeAt(s);l<128||t?o(l):l<2048?(o(192|l>>>6),o(128|63&l)):l>55295&&l<57344?(o(240|(l=65536+(1047552&l)|1023&e.charCodeAt(++s))>>>18),o(128|l>>>12&63),o(128|l>>>6&63),o(128|63&l)):(o(224|l>>>12),o(128|l>>>6&63),o(128|63&l))}return ke(r,0,i)}(JSON.stringify(t))),!0)};class Ae{constructor(e,t,n,r){var i,o,s;this.taskQueue=[],this.isProcessing=!1,this.compressEvent=e=>{const t=Fe(e);return JSON.stringify(t)},this.addCompressedEventToManager=(e,t)=>{this.eventsManager&&this.deviceId&&this.eventsManager.addEvent({event:{type:"replay",data:e},sessionId:t,deviceId:this.deviceId})},this.addCompressedEvent=(e,t)=>{if(this.worker)this.worker.postMessage({event:e,sessionId:t});else{const n=this.compressEvent(e);this.addCompressedEventToManager(n,t)}},this.terminate=()=>{var e;null===(e=this.worker)||void 0===e||e.terminate()};const a=v();this.canUseIdleCallback=a&&"requestIdleCallback"in a,this.eventsManager=e,this.config=t,this.deviceId=n,this.timeout=(null===(i=t.performanceConfig)||void 0===i?void 0:i.timeout)||2e3;const l=null!==(o='var WebWorker=function(r){"use strict";var n=Uint8Array,e=Uint16Array,f=Uint32Array,t=new n([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),o=new n([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),a=new n([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),i=function(r,n){for(var t=new e(31),o=0;o<31;++o)t[o]=n+=1<<r[o-1];var a=new f(t[30]);for(o=1;o<30;++o)for(var i=t[o];i<t[o+1];++i)a[i]=i-t[o]<<5|o;return[t,a]},v=i(t,2),u=v[0],s=v[1];u[28]=258,s[258]=28;for(var l=i(o,0)[1],c=new e(32768),h=0;h<32768;++h){var g=(43690&h)>>>1|(21845&h)<<1;g=(61680&(g=(52428&g)>>>2|(13107&g)<<2))>>>4|(3855&g)<<4,c[h]=((65280&g)>>>8|(255&g)<<8)>>>1}var w=function(r,n,f){for(var t=r.length,o=0,a=new e(n);o<t;++o)++a[r[o]-1];var i,v=new e(n);for(o=0;o<n;++o)v[o]=v[o-1]+a[o-1]<<1;if(f){i=new e(1<<n);var u=15-n;for(o=0;o<t;++o)if(r[o])for(var s=o<<4|r[o],l=n-r[o],h=v[r[o]-1]++<<l,g=h|(1<<l)-1;h<=g;++h)i[c[h]>>>u]=s}else for(i=new e(t),o=0;o<t;++o)i[o]=c[v[r[o]-1]++]>>>15-r[o];return i},d=new n(288);for(h=0;h<144;++h)d[h]=8;for(h=144;h<256;++h)d[h]=9;for(h=256;h<280;++h)d[h]=7;for(h=280;h<288;++h)d[h]=8;var m=new n(32);for(h=0;h<32;++h)m[h]=5;var M=w(d,9,0),y=w(m,5,0),b=function(r){return(r/8|0)+(7&r&&1)},p=function(r,t,o){(null==o||o>r.length)&&(o=r.length);var a=new(r instanceof e?e:r instanceof f?f:n)(o-t);return a.set(r.subarray(t,o)),a},C=function(r,n,e){e<<=7&n;var f=n/8|0;r[f]|=e,r[f+1]|=e>>>8},x=function(r,n,e){e<<=7&n;var f=n/8|0;r[f]|=e,r[f+1]|=e>>>8,r[f+2]|=e>>>16},S=function(r,f){for(var t=[],o=0;o<r.length;++o)r[o]&&t.push({s:o,f:r[o]});var a=t.length,i=t.slice();if(!a)return[new n(0),0];if(1==a){var v=new n(t[0].s+1);return v[t[0].s]=1,[v,1]}t.sort((function(r,n){return r.f-n.f})),t.push({s:-1,f:25001});var u=t[0],s=t[1],l=0,c=1,h=2;for(t[0]={s:-1,f:u.f+s.f,l:u,r:s};c!=a-1;)u=t[t[l].f<t[h].f?l++:h++],s=t[l!=c&&t[l].f<t[h].f?l++:h++],t[c++]={s:-1,f:u.f+s.f,l:u,r:s};var g=i[0].s;for(o=1;o<a;++o)i[o].s>g&&(g=i[o].s);var w=new e(g+1),d=A(t[c-1],w,0);if(d>f){o=0;var m=0,M=d-f,y=1<<M;for(i.sort((function(r,n){return w[n.s]-w[r.s]||r.f-n.f}));o<a;++o){var b=i[o].s;if(!(w[b]>f))break;m+=y-(1<<d-w[b]),w[b]=f}for(m>>>=M;m>0;){var p=i[o].s;w[p]<f?m-=1<<f-w[p]++-1:++o}for(;o>=0&&m;--o){var C=i[o].s;w[C]==f&&(--w[C],++m)}d=f}return[new n(w),d]},A=function(r,n,e){return-1==r.s?Math.max(A(r.l,n,e+1),A(r.r,n,e+1)):n[r.s]=e},O=function(r){for(var n=r.length;n&&!r[--n];);for(var f=new e(++n),t=0,o=r[0],a=1,i=function(r){f[t++]=r},v=1;v<=n;++v)if(r[v]==o&&v!=n)++a;else{if(!o&&a>2){for(;a>138;a-=138)i(32754);a>2&&(i(a>10?a-11<<5|28690:a-3<<5|12305),a=0)}else if(a>3){for(i(o),--a;a>6;a-=6)i(8304);a>2&&(i(a-3<<5|8208),a=0)}for(;a--;)i(o);a=1,o=r[v]}return[f.subarray(0,t),n]},T=function(r,n){for(var e=0,f=0;f<n.length;++f)e+=r[f]*n[f];return e},k=function(r,n,e){var f=e.length,t=b(n+2);r[t]=255&f,r[t+1]=f>>>8,r[t+2]=255^r[t],r[t+3]=255^r[t+1];for(var o=0;o<f;++o)r[t+o+4]=e[o];return 8*(t+4+f)},E=function(r,n,f,i,v,u,s,l,c,h,g){C(n,g++,f),++v[256];for(var b=S(v,15),p=b[0],A=b[1],E=S(u,15),U=E[0],D=E[1],I=O(p),J=I[0],N=I[1],W=O(U),_=W[0],j=W[1],P=new e(19),q=0;q<J.length;++q)P[31&J[q]]++;for(q=0;q<_.length;++q)P[31&_[q]]++;for(var z=S(P,7),B=z[0],F=z[1],G=19;G>4&&!B[a[G-1]];--G);var H,K,L,Q,R=h+5<<3,V=T(v,d)+T(u,m)+s,X=T(v,p)+T(u,U)+s+14+3*G+T(P,B)+(2*P[16]+3*P[17]+7*P[18]);if(R<=V&&R<=X)return k(n,g,r.subarray(c,c+h));if(C(n,g,1+(X<V)),g+=2,X<V){H=w(p,A,0),K=p,L=w(U,D,0),Q=U;var Y=w(B,F,0);C(n,g,N-257),C(n,g+5,j-1),C(n,g+10,G-4),g+=14;for(q=0;q<G;++q)C(n,g+3*q,B[a[q]]);g+=3*G;for(var Z=[J,_],$=0;$<2;++$){var rr=Z[$];for(q=0;q<rr.length;++q){var nr=31&rr[q];C(n,g,Y[nr]),g+=B[nr],nr>15&&(C(n,g,rr[q]>>>5&127),g+=rr[q]>>>12)}}}else H=M,K=d,L=y,Q=m;for(q=0;q<l;++q)if(i[q]>255){nr=i[q]>>>18&31;x(n,g,H[nr+257]),g+=K[nr+257],nr>7&&(C(n,g,i[q]>>>23&31),g+=t[nr]);var er=31&i[q];x(n,g,L[er]),g+=Q[er],er>3&&(x(n,g,i[q]>>>5&8191),g+=o[er])}else x(n,g,H[i[q]]),g+=K[i[q]];return x(n,g,H[256]),g+K[256]},U=new f([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),D=function(r,a,i,v,u){return function(r,a,i,v,u,c){var h=r.length,g=new n(v+h+5*(1+Math.floor(h/7e3))+u),w=g.subarray(v,g.length-u),d=0;if(!a||h<8)for(var m=0;m<=h;m+=65535){var M=m+65535;M<h?d=k(w,d,r.subarray(m,M)):(w[m]=c,d=k(w,d,r.subarray(m,h)))}else{for(var y=U[a-1],C=y>>>13,x=8191&y,S=(1<<i)-1,A=new e(32768),O=new e(S+1),T=Math.ceil(i/3),D=2*T,I=function(n){return(r[n]^r[n+1]<<T^r[n+2]<<D)&S},J=new f(25e3),N=new e(288),W=new e(32),_=0,j=0,P=(m=0,0),q=0,z=0;m<h;++m){var B=I(m),F=32767&m,G=O[B];if(A[F]=G,O[B]=F,q<=m){var H=h-m;if((_>7e3||P>24576)&&H>423){d=E(r,w,0,J,N,W,j,P,z,m-z,d),P=_=j=0,z=m;for(var K=0;K<286;++K)N[K]=0;for(K=0;K<30;++K)W[K]=0}var L=2,Q=0,R=x,V=F-G&32767;if(H>2&&B==I(m-V))for(var X=Math.min(C,H)-1,Y=Math.min(32767,m),Z=Math.min(258,H);V<=Y&&--R&&F!=G;){if(r[m+L]==r[m+L-V]){for(var $=0;$<Z&&r[m+$]==r[m+$-V];++$);if($>L){if(L=$,Q=V,$>X)break;var rr=Math.min(V,$-2),nr=0;for(K=0;K<rr;++K){var er=m-V+K+32768&32767,fr=er-A[er]+32768&32767;fr>nr&&(nr=fr,G=er)}}}V+=(F=G)-(G=A[F])+32768&32767}if(Q){J[P++]=268435456|s[L]<<18|l[Q];var tr=31&s[L],or=31&l[Q];j+=t[tr]+o[or],++N[257+tr],++W[or],q=m+L,++_}else J[P++]=r[m],++N[r[m]]}}d=E(r,w,c,J,N,W,j,P,z,m-z,d)}return p(g,0,v+b(d)+u)}(r,null==a.level?6:a.level,null==a.mem?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(r.length)))):12+a.mem,i,v,!u)};function I(r,n){void 0===n&&(n={});var e=function(){var r=1,n=0;return{p:function(e){for(var f=r,t=n,o=e.length,a=0;a!=o;){for(var i=Math.min(a+5552,o);a<i;++a)t+=f+=e[a];f%=65521,t%=65521}r=f,n=t},d:function(){return(r>>>8<<16|(255&n)<<8|n>>>8)+2*((255&r)<<23)}}}();e.p(r);var f,t,o,a=D(r,n,2,4);return f=a,t=n.level,o=0==t?0:t<6?1:9==t?3:2,f[0]=120,f[1]=o<<6|(o?32-2*o:1),function(r,n,e){for(;e;++n)r[n]=e,e>>>=8}(a,a.length-4,e.d()),a}const J=r=>{const e={...r,v:"v1"};return function(r,n){var e="";if(!n&&"undefined"!=typeof TextDecoder)return(new TextDecoder).decode(r);for(var f=0;f<r.length;){var t=r[f++];t<128||n?e+=String.fromCharCode(t):t<224?e+=String.fromCharCode((31&t)<<6|63&r[f++]):t<240?e+=String.fromCharCode((15&t)<<12|(63&r[f++])<<6|63&r[f++]):(t=((15&t)<<18|(63&r[f++])<<12|(63&r[f++])<<6|63&r[f++])-65536,e+=String.fromCharCode(55296|t>>10,56320|1023&t))}return e}(I(function(r,e){var f=r.length;if(!e&&"undefined"!=typeof TextEncoder)return(new TextEncoder).encode(r);for(var t=new n(r.length+(r.length>>>1)),o=0,a=function(r){t[o++]=r},i=0;i<f;++i){if(o+5>t.length){var v=new n(o+8+(f-i<<1));v.set(t),t=v}var u=r.charCodeAt(i);u<128||e?a(u):u<2048?(a(192|u>>>6),a(128|63&u)):u>55295&&u<57344?(a(240|(u=65536+(1047552&u)|1023&r.charCodeAt(++i))>>>18),a(128|u>>>12&63),a(128|u>>>6&63),a(128|63&u)):(a(224|u>>>12),a(128|u>>>6&63),a(128|63&u))}return p(t,0,o)}(JSON.stringify(e))),!0)};onmessage=r=>{const{event:n,sessionId:e}=r.data,f=JSON.stringify(J(n));postMessage({compressedEvent:f,sessionId:e})};const N=onmessage;return r.compressionOnMessage=N,Object.defineProperty(r,"__esModule",{value:!0}),r}({});\n')?o:r;if((null===(s=this.config.experimental)||void 0===s?void 0:s.useWebWorker)&&a&&a.Worker&&l){t.loggerProvider.log("[Experimental] Enabling web worker for compression");const e=new Worker(URL.createObjectURL(new Blob([l],{type:"application/javascript"})));e.onerror=e=>{t.loggerProvider.error(e)},e.onmessage=e=>{const{compressedEvent:t,sessionId:n}=e.data;this.addCompressedEventToManager(t,n)},this.worker=e}}scheduleIdleProcessing(){this.isProcessing||(this.isProcessing=!0,requestIdleCallback((e=>{this.processQueue(e)}),{timeout:this.timeout}))}enqueueEvent(e,t){var n;this.canUseIdleCallback&&(null===(n=this.config.performanceConfig)||void 0===n?void 0:n.enabled)?(this.config.loggerProvider.debug("Enqueuing event for processing during idle time."),this.taskQueue.push({event:e,sessionId:t}),this.scheduleIdleProcessing()):(this.config.loggerProvider.debug("Processing event without idle callback."),this.addCompressedEvent(e,t))}processQueue(e){for(;this.taskQueue.length>0&&(e.timeRemaining()>0||e.didTimeout);){const e=this.taskQueue.shift();if(e){const{event:t,sessionId:n}=e;this.addCompressedEvent(t,n)}}this.taskQueue.length>0?requestIdleCallback((e=>{this.processQueue(e)}),{timeout:this.timeout}):this.isProcessing=!1}}const Ke="Failed to store session replay events in IndexedDB",Be="1.28.11";class We{constructor({trackServerUrl:e,loggerProvider:t,payloadBatcher:n}){this.storageKey="",this.retryTimeout=1e3,this.scheduled=null,this.queue=[],this.loggerProvider=t,this.payloadBatcher=n||(e=>e),this.trackServerUrl=e}sendEventsList(e){this.addToQueue(Object.assign(Object.assign({},e),{attempts:0,timeout:0}))}addToQueue(...e){e.filter((e=>e.attempts<(e.flushMaxRetries||0)?(e.attempts+=1,!0):(this.completeRequest({context:e,err:"Session replay event batch rejected due to exceeded retry count"}),!1))).forEach((e=>{this.queue=this.queue.concat(e),0!==e.timeout?setTimeout((()=>{e.timeout=0,this.schedule(0)}),e.timeout):this.schedule(0)}))}schedule(e){this.scheduled||(this.scheduled=setTimeout((()=>{this.flush(!0).then((()=>{this.queue.length>0&&this.schedule(e)}))}),e))}flush(e=!1){return t(this,void 0,void 0,(function*(){const t=[],n=[];this.queue.forEach((e=>0===e.timeout?t.push(e):n.push(e))),this.queue=n,this.scheduled&&(clearTimeout(this.scheduled),this.scheduled=null),yield Promise.all(t.map((t=>this.send(t,e))))}))}send(e,n=!0){var r,i;return t(this,void 0,void 0,(function*(){const t=e.apiKey;if(!t)return this.completeRequest({context:e,err:"Session replay event batch not sent due to missing api key"});const o=e.deviceId;if(!o)return this.completeRequest({context:e,err:"Session replay event batch not sent due to missing device ID"});const s=(()=>{const e=v();return(null==e?void 0:e.location)?e.location.href:""})(),a=Be,l=e.sampleRate,c=new URLSearchParams({device_id:o,session_id:`${e.sessionId}`,type:`${e.type}`}),d=`${(null===(r=e.version)||void 0===r?void 0:r.type)||"standalone"}/${(null===(i=e.version)||void 0===i?void 0:i.version)||a}`,u=this.payloadBatcher({version:1,events:e.events});if(0!==u.events.length)try{const r={headers:{"Content-Type":"application/json",Accept:"*/*",Authorization:`Bearer ${t}`,"X-Client-Version":a,"X-Client-Library":d,"X-Client-Url":s.substring(0,1e3),"X-Client-Sample-Rate":`${l}`},body:JSON.stringify(u),method:"POST"},i=`${ee(e.serverZone,this.trackServerUrl)}?${c.toString()}`,o=yield fetch(i,r);if(null===o)return void this.completeRequest({context:e,err:"Unexpected error occurred"});if(n)this.handleReponse(o.status,e);else{let t="";try{t=JSON.stringify(o.body,null,2)}catch(e){}this.completeRequest({context:e,success:`${o.status}: ${t}`})}}catch(t){this.completeRequest({context:e,err:t})}else this.completeRequest({context:e})}))}handleReponse(e,t){switch((new M).buildStatus(e)){case l.Success:this.handleSuccessResponse(t);break;case l.Failed:this.handleOtherResponse(t);break;default:this.completeRequest({context:t,err:"Network error occurred, event batch rejected"})}}handleSuccessResponse(e){const t=Math.round(new Blob(e.events).size/1024);this.completeRequest({context:e,success:`Session replay event batch tracked successfully for session id ${e.sessionId}, size of events: ${t} KB`})}handleOtherResponse(e){this.addToQueue(Object.assign(Object.assign({},e),{timeout:e.attempts*this.retryTimeout}))}completeRequest({context:e,err:t,success:n}){e.onComplete(),t?this.loggerProvider.warn(t):n&&this.loggerProvider.log(n)}}class ze{get timeAtLastSplit(){return this._timeAtLastSplit}constructor(e){var t,n,r;this.minInterval=500,this.maxInterval=1e4,this.maxPersistedEventsSize=1e6,this.interval=this.minInterval,this._timeAtLastSplit=Date.now(),this.shouldSplitEventsList=(e,t)=>{const n=this.getStringSize(t);return this.getEventsArraySize(e)+n>=this.maxPersistedEventsSize||!!(Date.now()-this.timeAtLastSplit>this.interval&&e.length)&&(this.interval=Math.min(this.maxInterval,this.interval+this.minInterval),this._timeAtLastSplit=Date.now(),!0)},this.loggerProvider=e.loggerProvider,this.minInterval=null!==(t=e.minInterval)&&void 0!==t?t:this.minInterval,this.maxInterval=null!==(n=e.maxInterval)&&void 0!==n?n:this.maxInterval,this.maxPersistedEventsSize=null!==(r=e.maxPersistedEventsSize)&&void 0!==r?r:this.maxPersistedEventsSize}getStringSize(e){return e.length}getEventsArraySize(e){let t=0;for(const n of e)t+=this.getStringSize(n);return t+(2+Math.max(0,e.length-1)+2*e.length)}}var Ge;!function(e){e.RECORDING="recording",e.SENT="sent"}(Ge||(Ge={}));const Qe="sessionCurrentSequence",He="sequencesToSend",Je=e=>t(void 0,void 0,void 0,(function*(){for(;e.length>0;){const t=10,n=e.splice(0,t);yield Promise.all(n)}})),Ve=e=>{let t,n;return e.objectStoreNames.contains(Qe)||(n=e.createObjectStore(Qe,{keyPath:"sessionId"})),e.objectStoreNames.contains(He)||(t=e.createObjectStore(He,{keyPath:"sequenceId",autoIncrement:!0}),t.createIndex("sessionId","sessionId")),{sequencesStore:t,currentSequenceStore:n}};class Ze extends ze{constructor(e){super(e),this.getSequencesToSend=()=>t(this,void 0,void 0,(function*(){try{const e=[];let t=yield this.db.transaction("sequencesToSend").store.openCursor();for(;t;){const{sessionId:n,events:r}=t.value;e.push({events:r,sequenceId:t.key,sessionId:n}),t=yield t.continue()}return e}catch(e){this.loggerProvider.warn(`${Ke}: ${e}`)}})),this.storeCurrentSequence=e=>t(this,void 0,void 0,(function*(){try{const t=yield this.db.get(Qe,e);if(!t)return;const n=yield this.db.put(He,{sessionId:e,events:t.events});return yield this.db.put(Qe,{sessionId:e,events:[]}),Object.assign(Object.assign({},t),{sessionId:e,sequenceId:n})}catch(e){this.loggerProvider.warn(`${Ke}: ${e}`)}})),this.addEventToCurrentSequence=(e,n)=>t(this,void 0,void 0,(function*(){try{const t=this.db.transaction(Qe,"readwrite"),r=yield t.store.get(e);if(!r)return void(yield t.store.put({sessionId:e,events:[n]}));let i;if(this.shouldSplitEventsList(r.events,n))i=r.events,yield t.store.put({sessionId:e,events:[n]});else{const i=r.events.concat(n);yield t.store.put({sessionId:e,events:i})}if(yield t.done,!i)return;const o=yield this.storeSendingEvents(e,i);if(!o)return;return{events:i,sessionId:e,sequenceId:o}}catch(e){this.loggerProvider.warn(`${Ke}: ${e}`)}})),this.storeSendingEvents=(e,n)=>t(this,void 0,void 0,(function*(){try{return yield this.db.put(He,{sessionId:e,events:n})}catch(e){this.loggerProvider.warn(`${Ke}: ${e}`)}})),this.cleanUpSessionEventsStore=(e,n)=>t(this,void 0,void 0,(function*(){if(n)try{yield this.db.delete(He,n)}catch(e){this.loggerProvider.warn(`${Ke}: ${e}`)}})),this.transitionFromKeyValStore=e=>t(this,void 0,void 0,(function*(){try{const n=yield function(){const e=v();return new Promise(((t,n)=>{if(!e)return n(new Error("Global scope not found"));if(!e.indexedDB)return n(new Error("Session Replay: cannot find indexedDB"));try{const r=e.indexedDB.open("keyval-store");r.onupgradeneeded=function(){1===r.result.version&&(r.result.close(),r.transaction&&r.transaction.abort(),e.indexedDB.deleteDatabase("keyval-store"),t())},r.onsuccess=function(){t(r.result)},r.onerror=function(){n(r.error)}}catch(e){n(e)}}))}();if(!n)return;const r=(e,n)=>t(this,void 0,void 0,(function*(){const r=n.sessionSequences,i=[];Object.keys(r).forEach((o=>{const s=parseInt(o,10),a=r[s];if(s===n.currentSequenceId){const n=a.events.map((n=>t(this,void 0,void 0,(function*(){return this.addEventToCurrentSequence(e,n)}))));i.push(...n)}else a.status!==Ge.SENT&&i.push(this.storeSendingEvents(e,a.events))})),yield Je(i)})),i=`${c}_${this.apiKey.substring(0,10)}`;try{const o=n.transaction("keyval").objectStore("keyval").getAll(i),s=new Promise((n=>{o.onsuccess=i=>t(this,void 0,void 0,(function*(){const t=i&&i.target.result,o=t&&t[0];if(o){const t=[];Object.keys(o).forEach((n=>{const i=parseInt(n,10),s=o[i];if(e===i)t.push(r(i,s));else{const e=s.sessionSequences;Object.keys(e).forEach((n=>{const r=parseInt(n,10);e[r].status!==Ge.SENT&&t.push(this.storeSendingEvents(i,e[r].events))}))}})),yield Je(t)}n()}))}));yield s;const a=v();a&&a.indexedDB.deleteDatabase("keyval-store")}catch(e){this.loggerProvider.warn(`Failed to transition session replay events from keyval to new store: ${e}`)}}catch(e){this.loggerProvider.warn(`Failed to access keyval store: ${e}. For more information, visit: https://www.docs.developers.amplitude.com/session-replay/sdks/standalone/#indexeddb-best-practices`)}})),this.apiKey=e.apiKey,this.db=e.db}static new(e,n,r){return t(this,void 0,void 0,(function*(){try{const i="replay"===e?"":`_${e}`,s=`${n.apiKey.substring(0,10)}_amp_session_replay_events${i}`,a=yield(e=>t(void 0,void 0,void 0,(function*(){return yield o(e,1,{upgrade:Ve})})))(s),l=new Ze(Object.assign(Object.assign({},n),{db:a}));return yield l.transitionFromKeyValStore(r),l}catch(e){n.loggerProvider.warn(`${Ke}: ${e}`)}}))}getCurrentSequenceEvents(e){return t(this,void 0,void 0,(function*(){if(e){const t=yield this.db.get("sessionCurrentSequence",e);if(!t)return;return[t]}const t=[];for(const e of yield this.db.getAll("sessionCurrentSequence"))t.push(e);return t}))}}class Xe extends ze{constructor(){super(...arguments),this.finalizedSequences={},this.sequences={},this.sequenceId=0}resetCurrentSequence(e){this.sequences[e]=[]}addSequence(e){const t=this.sequenceId++,n=[...this.sequences[e]];return this.finalizedSequences[t]={sessionId:e,events:n},this.resetCurrentSequence(e),{sequenceId:t,events:n,sessionId:e}}getSequencesToSend(){return t(this,void 0,void 0,(function*(){return Object.entries(this.finalizedSequences).map((([e,{sessionId:t,events:n}])=>({sequenceId:Number(e),sessionId:t,events:n})))}))}storeCurrentSequence(e){return t(this,void 0,void 0,(function*(){if(this.sequences[e])return this.addSequence(e)}))}addEventToCurrentSequence(e,n){return t(this,void 0,void 0,(function*(){let t;return this.sequences[e]||this.resetCurrentSequence(e),this.shouldSplitEventsList(this.sequences[e],n)&&(t=this.addSequence(e)),this.sequences[e].push(n),t}))}storeSendingEvents(e,n){return t(this,void 0,void 0,(function*(){return this.finalizedSequences[this.sequenceId]={sessionId:e,events:n},this.sequenceId++}))}cleanUpSessionEventsStore(e,n){return t(this,void 0,void 0,(function*(){void 0!==n&&delete this.finalizedSequences[n]}))}}const Ye=({config:e,sessionId:n,minInterval:r,maxInterval:i,type:o,payloadBatcher:s,storeType:a})=>t(void 0,void 0,void 0,(function*(){const l=new We(Object.assign(Object.assign({},e),{loggerProvider:e.loggerProvider,payloadBatcher:s})),c=()=>new Xe({loggerProvider:e.loggerProvider,maxInterval:i,minInterval:r}),d="idb"===a?yield t(void 0,void 0,void 0,(function*(){const t=yield Ze.new(o,{loggerProvider:e.loggerProvider,minInterval:r,maxInterval:i,apiKey:e.apiKey},n);return e.loggerProvider.log("Failed to initialize idb store, falling back to memory store."),null!=t?t:c()})):c(),u=({events:n,sessionId:r,deviceId:i,sequenceId:s})=>{e.debugMode&&re().then((({totalStorageSize:t,percentOfQuota:n,usageDetails:r})=>{e.loggerProvider.debug(`Total storage size: ${t} KB, percentage of quota: ${n}%, usage details: ${r}`)})).catch((()=>{})),l.sendEventsList({events:n,sessionId:r,flushMaxRetries:e.flushMaxRetries,apiKey:e.apiKey,deviceId:i,sampleRate:e.sampleRate,serverZone:e.serverZone,version:e.version,type:o,onComplete:()=>t(void 0,void 0,void 0,(function*(){yield d.cleanUpSessionEventsStore(r,s)}))})};return{sendCurrentSequenceEvents:({sessionId:t,deviceId:n})=>{d.storeCurrentSequence(t).then((e=>{e&&u({sequenceId:e.sequenceId,events:e.events,sessionId:e.sessionId,deviceId:n})})).catch((t=>{e.loggerProvider.warn("Failed to get current sequence of session replay events for session:",t)}))},addEvent:({event:t,sessionId:n,deviceId:r})=>{d.addEventToCurrentSequence(n,t.data).then((e=>e&&u({sequenceId:e.sequenceId,events:e.events,sessionId:e.sessionId,deviceId:r}))).catch((t=>{e.loggerProvider.warn("Failed to add event to session replay capture:",t)}))},sendStoredEvents:({deviceId:e})=>t(void 0,void 0,void 0,(function*(){const t=yield d.getSequencesToSend();t&&t.forEach((t=>{u({sequenceId:t.sequenceId,events:t.events,sessionId:t.sessionId,deviceId:e})}))})),flush:function(e=!1){return t(this,void 0,void 0,(function*(){return l.flush(e)}))}}}));class et{constructor(...e){const t=new Map;e.forEach((e=>{t.set(e.name,e.manager)})),this.managers=t}sendStoredEvents(e){return t(this,void 0,void 0,(function*(){const t=[];this.managers.forEach((n=>{t.push(n.sendStoredEvents(e))})),yield Promise.all(t)}))}addEvent({sessionId:e,event:t,deviceId:n}){var r;null===(r=this.managers.get(t.type))||void 0===r||r.addEvent({sessionId:e,event:t,deviceId:n})}sendCurrentSequenceEvents({sessionId:e,deviceId:t}){this.managers.forEach((n=>{n.sendCurrentSequenceEvents({sessionId:e,deviceId:t})}))}flush(e){return t(this,void 0,void 0,(function*(){const t=[];this.managers.forEach((n=>{t.push(n.flush(e))})),yield Promise.all(t)}))}}const tt={Node:["childNodes","parentNode","parentElement","textContent"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},nt={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},rt={};function it(e){if(rt[e])return rt[e];const t=function(e){var t,n;const r=null==(n=null==(t=null==globalThis?void 0:globalThis.Zone)?void 0:t.__symbol__)?void 0:n.call(t,e);return r&&globalThis[r]?globalThis[r]:void 0}(e)||globalThis[e],n=t.prototype,r=e in tt?tt[e]:void 0,i=Boolean(r&&r.every((e=>{var t,r;return Boolean(null==(r=null==(t=Object.getOwnPropertyDescriptor(n,e))?void 0:t.get)?void 0:r.toString().includes("[native code]"))}))),o=e in nt?nt[e]:void 0,s=Boolean(o&&o.every((e=>{var t;return"function"==typeof n[e]&&(null==(t=n[e])?void 0:t.toString().includes("[native code]"))})));if(i&&s)return rt[e]=t.prototype,t.prototype;try{const r=document.createElement("iframe");document.body.appendChild(r);const i=r.contentWindow;if(!i)return t.prototype;const o=i[e].prototype;return document.body.removeChild(r),o?rt[e]=o:n}catch{return n}}const ot={};function st(e,t,n){var r;const i=`${e}.${String(n)}`;if(ot[i])return ot[i].call(t);const o=it(e),s=null==(r=Object.getOwnPropertyDescriptor(o,n))?void 0:r.get;return s?(ot[i]=s,s.call(t)):t[n]}const at={};function lt(e,t,n){const r=`${e}.${String(n)}`;if(at[r])return at[r].bind(t);const i=it(e)[n];return"function"!=typeof i?t[n]:(at[r]=i,i.bind(t))}const ct={childNodes:function(e){return st("Node",e,"childNodes")},parentNode:function(e){return st("Node",e,"parentNode")},parentElement:function(e){return st("Node",e,"parentElement")},textContent:function(e){return st("Node",e,"textContent")},contains:function(e,t){return lt("Node",e,"contains")(t)},getRootNode:function(e){return lt("Node",e,"getRootNode")()},host:function(e){return e&&"host"in e?st("ShadowRoot",e,"host"):null},styleSheets:function(e){return e.styleSheets},shadowRoot:function(e){return e&&"shadowRoot"in e?st("Element",e,"shadowRoot"):null},querySelector:function(e,t){return st("Element",e,"querySelector")(t)},querySelectorAll:function(e,t){return st("Element",e,"querySelectorAll")(t)},mutationObserver:function(){return it("MutationObserver").constructor}};function dt(){const e=v();return(null==e?void 0:e.innerHeight)||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight||0}function ut(){const e=v();return(null==e?void 0:e.innerWidth)||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth||0}let ht,vt,gt;function ft(e,t){if(gt=new Date,e.nodeType!==Node.ELEMENT_NODE)throw new Error("Can't generate CSS selector for non-element node type.");if("html"===e.tagName.toLowerCase())return"html";const n={root:document.body,idName:e=>!0,className:e=>!0,tagName:e=>!0,attr:(e,t)=>!1,seedMinLength:1,optimizedMinLength:2,threshold:1e3,maxNumberOfTries:1e4,timeoutMs:void 0};ht=Object.assign(Object.assign({},n),t),vt=function(e,t){if(e.nodeType===Node.DOCUMENT_NODE)return e;if(e===t.root)return e.ownerDocument;return e}(ht.root,n);let r=pt(e,"all",(()=>pt(e,"two",(()=>pt(e,"one",(()=>pt(e,"none")))))));if(r){const t=xt(Mt(r,e));return t.length>0&&(r=t[0]),yt(r)}throw new Error("Selector was not found.")}function pt(e,t,n){let r=null,i=[],o=e,s=0;for(;o;){const e=(new Date).getTime()-gt.getTime();if(void 0!==ht.timeoutMs&&e>ht.timeoutMs)throw new Error(`Timeout: Can't find a unique selector after ${e}ms`);let a=kt(wt(o))||kt(...It(o))||kt(...Ct(o))||kt(Et(o))||[{name:"*",penalty:3}];const l=Pt(o);if("all"==t)l&&(a=a.concat(a.filter(_t).map((e=>Tt(e,l)))));else if("two"==t)a=a.slice(0,1),l&&(a=a.concat(a.filter(_t).map((e=>Tt(e,l)))));else if("one"==t){const[e]=a=a.slice(0,1);l&&_t(e)&&(a=[Tt(e,l)])}else"none"==t&&(a=[{name:"*",penalty:3}],l&&(a=[Tt(a[0],l)]));for(let e of a)e.level=s;if(i.push(a),i.length>=ht.seedMinLength&&(r=mt(i,n),r))break;o=o.parentElement,s++}return r||(r=mt(i,n)),!r&&n?n():r}function mt(e,t){const n=xt(Ot(e));if(n.length>ht.threshold)return t?t():null;for(let e of n)if(bt(e))return e;return null}function yt(e){let t=e[0],n=t.name;for(let r=1;r<e.length;r++){const i=e[r].level||0;n=t.level===i-1?`${e[r].name} > ${n}`:`${e[r].name} ${n}`,t=e[r]}return n}function St(e){return e.map((e=>e.penalty)).reduce(((e,t)=>e+t),0)}function bt(e){const t=yt(e);switch(vt.querySelectorAll(t).length){case 0:throw new Error(`Can't select any node with this selector: ${t}`);case 1:return!0;default:return!1}}function wt(e){const t=e.getAttribute("id");return t&&ht.idName(t)?{name:"#"+CSS.escape(t),penalty:0}:null}function It(e){const t=Array.from(e.attributes).filter((e=>ht.attr(e.name,e.value)));return t.map((e=>({name:`[${CSS.escape(e.name)}="${CSS.escape(e.value)}"]`,penalty:.5})))}function Ct(e){return Array.from(e.classList).filter(ht.className).map((e=>({name:"."+CSS.escape(e),penalty:1})))}function Et(e){const t=e.tagName.toLowerCase();return ht.tagName(t)?{name:t,penalty:2}:null}function Pt(e){const t=e.parentNode;if(!t)return null;let n=t.firstChild;if(!n)return null;let r=0;for(;n&&(n.nodeType===Node.ELEMENT_NODE&&r++,n!==e);)n=n.nextSibling;return r}function Tt(e,t){return{name:e.name+`:nth-child(${t})`,penalty:e.penalty+1}}function _t(e){return"html"!==e.name&&!e.name.startsWith("#")}function kt(...e){const t=e.filter(Rt);return t.length>0?t:null}function Rt(e){return null!=e}function*Ot(e,t=[]){if(e.length>0)for(let n of e[0])yield*Ot(e.slice(1,e.length),t.concat(n));else yield t}function xt(e){return[...e].sort(((e,t)=>St(e)-St(t)))}function*Mt(e,t,n={counter:0,visited:new Map}){if(e.length>2&&e.length>ht.optimizedMinLength)for(let r=1;r<e.length-1;r++){if(n.counter>ht.maxNumberOfTries)return;n.counter+=1;const i=[...e];i.splice(r,1);const o=yt(i);if(n.visited.has(o))return;bt(i)&&qt(i,t)&&(yield i,n.visited.set(o,!0),yield*Mt(i,t,n))}}function qt(e,t){return vt.querySelector(yt(e))===t}const Lt=({version:e,events:t})=>{const n=[];return t.forEach((e=>{const t=JSON.parse(e);t.count=1,"click"===t.type&&n.push(t)})),{version:e,events:n}},Nt=({version:e,events:t})=>{const n=[];t.forEach((e=>{const t=JSON.parse(e);"click"===t.type&&n.push(t)}));const r=n.reduce(((e,t)=>{const{x:n,y:r,selector:i,timestamp:o}=t,s=o-o%36e5,a=`${n}:${r}:${null!=i?i:""}:${s}`;return e[a]?e[a].count+=1:e[a]=Object.assign(Object.assign({},t),{timestamp:s,count:1}),e}),{});return{version:e,events:Object.values(r)}},Dt=(e,{eventsManager:t,sessionId:n,deviceIdFn:r,mirror:i,ugcFilterRules:o})=>s=>{if(s.type!==$.Click)return;const a=v();if(!a)return;const{location:l,innerHeight:c,innerWidth:d}=a;if(!l)return;const{x:u,y:h}=s;if(void 0===u||void 0===h)return;const g=i.getNode(s.id);let f;if(g)try{f=ft(g)}catch(t){e.debug("error resolving selector from finder")}const{left:p,top:m}=function(e){var t,n,r,i;const o=e.document;return{left:o.scrollingElement?o.scrollingElement.scrollLeft:void 0!==e.pageXOffset?e.pageXOffset:o.documentElement.scrollLeft||(null==o?void 0:o.body)&&(null===(t=ct.parentElement(o.body))||void 0===t?void 0:t.scrollLeft)||(null===(n=null==o?void 0:o.body)||void 0===n?void 0:n.scrollLeft)||0,top:o.scrollingElement?o.scrollingElement.scrollTop:void 0!==e.pageYOffset?e.pageYOffset:(null==o?void 0:o.documentElement.scrollTop)||(null==o?void 0:o.body)&&(null===(r=ct.parentElement(o.body))||void 0===r?void 0:r.scrollTop)||(null===(i=null==o?void 0:o.body)||void 0===i?void 0:i.scrollTop)||0}}(a),y={x:u+p,y:h+m,selector:f,viewportHeight:c,viewportWidth:d,pageUrl:ne(l.href,o),timestamp:Date.now(),type:"click"},S=r();S&&t.addEvent({sessionId:n,event:{type:"interaction",data:JSON.stringify(y)},deviceId:S})};class $t{constructor(e,t){const n=v();n&&n.navigator&&"function"==typeof n.navigator.sendBeacon?this.sendBeacon=(e,t)=>{try{if(n.navigator.sendBeacon(e,JSON.stringify(t)))return!0}catch(e){}return!1}:this.sendBeacon=()=>!1,this.sendXhr=(e,t)=>{const n=new XMLHttpRequest;return n.open("POST",e,!0),n.setRequestHeader("Accept","*/*"),n.send(JSON.stringify(t)),!0},this.basePageUrl=ee(t.serverZone,t.trackServerUrl),this.apiKey=t.apiKey,this.context=e}send(e,t){const{sessionId:n,type:r}=this.context,i=new URLSearchParams({device_id:e,session_id:String(n),type:String(r),api_key:this.apiKey}),o=`${this.basePageUrl}?${i.toString()}`;this.sendBeacon(o,t)||this.sendXhr(o,t)}}class jt{static default(e,t){return new jt(new $t(e,t),t)}constructor(e,t){this.timestamp=Date.now(),this.hook=e=>{this.update(e)},this.send=e=>t=>{var n,r;const i=e(),o=v();o&&i&&this.transport.send(i,{version:1,events:[{maxScrollX:this._maxScrollX,maxScrollY:this._maxScrollY,maxScrollWidth:this._maxScrollWidth,maxScrollHeight:this._maxScrollHeight,viewportHeight:dt(),viewportWidth:ut(),pageUrl:ne(o.location.href,null!==(r=null===(n=this.config.interactionConfig)||void 0===n?void 0:n.ugcFilterRules)&&void 0!==r?r:[]),timestamp:this.timestamp,type:"scroll"}]})},this._maxScrollX=0,this._maxScrollY=0,this._maxScrollWidth=ut(),this._maxScrollHeight=dt(),this.config=t,this.transport=e}get maxScrollX(){return this._maxScrollX}get maxScrollY(){return this._maxScrollY}get maxScrollWidth(){return this._maxScrollWidth}get maxScrollHeight(){return this._maxScrollHeight}update(e){const t=Date.now();if(e.x>this._maxScrollX){const n=ut();this._maxScrollX=e.x;const r=e.x+n;r>this._maxScrollWidth&&(this._maxScrollWidth=r),this.timestamp=t}if(e.y>this._maxScrollY){const n=dt();this._maxScrollY=e.y;const r=e.y+n;r>this._maxScrollHeight&&(this._maxScrollHeight=r),this.timestamp=t}}}class Ut{constructor({sessionId:e,deviceId:t}){this.deviceId=t,this.sessionId=e,e&&t&&(this.sessionReplayId=((e,t)=>`${t}/${e}`)(e,t))}}const Ft=new class{constructor(){this.dbs={},this.createStore=e=>t(this,void 0,void 0,(function*(){return yield o(e,1,{upgrade:e=>{e.objectStoreNames.contains("sessionTargetingMatch")||e.createObjectStore("sessionTargetingMatch",{keyPath:"sessionId"})}})})),this.openOrCreateDB=e=>t(this,void 0,void 0,(function*(){if(this.dbs&&this.dbs[e])return this.dbs[e];const t=`${e.substring(0,10)}_amp_session_replay_targeting`,n=yield this.createStore(t);return this.dbs[e]=n,n})),this.getTargetingMatchForSession=({loggerProvider:e,apiKey:n,sessionId:r})=>t(this,void 0,void 0,(function*(){try{const e=yield this.openOrCreateDB(n),t=String(r),i=yield e.get("sessionTargetingMatch",t);return null==i?void 0:i.targetingMatch}catch(t){e.warn(`Failed to get targeting match for session id ${r}: ${t}`)}})),this.storeTargetingMatchForSession=({loggerProvider:e,apiKey:n,sessionId:r,targetingMatch:i})=>t(this,void 0,void 0,(function*(){try{const e=yield this.openOrCreateDB(n),t=String(r);return yield e.put("sessionTargetingMatch",{targetingMatch:i,sessionId:t,lastUpdated:Date.now()})}catch(t){e.warn(`Failed to store targeting match for session id ${r}: ${t}`)}})),this.clearStoreOfOldSessions=({loggerProvider:e,apiKey:n,currentSessionId:r})=>t(this,void 0,void 0,(function*(){try{const e=yield this.openOrCreateDB(n),t=String(r),i=e.transaction("sessionTargetingMatch","readwrite"),o=yield i.store.getAll();for(let e=0;e<o.length;e++){const n=o[e],r=Date.now()-n.lastUpdated;n.sessionId!==t&&r>1728e5&&(yield i.store.delete(n.sessionId))}yield i.done}catch(t){e.warn(`Failed to clear old targeting matches for sessions: ${t}`)}}))}};function At(e={}){return{name:"amplitude/url-tracking@1",observer(t,n,r){var i,o,s;const a=Object.assign(Object.assign({},e),r),l=a.ugcFilterRules||[],c=null!==(i=a.enablePolling)&&void 0!==i&&i,d=null!==(o=a.pollingInterval)&&void 0!==o?o:1e3,u=null!==(s=a.captureDocumentTitle)&&void 0!==s&&s;if(!n)return()=>{};let h;const v=()=>n.location&&n.location.href||"",g=()=>{const e=v();if(void 0===h||e!==h){h=e;const r=(()=>{const{innerHeight:e,innerWidth:t,document:r}=n,i=v();let o="";return u&&(o=(null==r?void 0:r.title)||""),{href:l.length>0?ne(i,l):i,title:o,viewportHeight:e,viewportWidth:t,type:"url-change-event"}})();t(r)}},f=e=>function(...t){const n=e.apply(this,t);return g(),n},p=()=>{g()};if(c){const e=n.setInterval((()=>{g()}),d);return g(),()=>{e&&n.clearInterval(e)}}if(n.history){const e=n.history.pushState.bind(n.history),t=n.history.replaceState.bind(n.history);return(()=>{n.history.pushState=f(e),n.history.replaceState=f(t)})(),n.addEventListener("popstate",g),n.addEventListener("hashchange",p),g(),()=>{n.history.pushState=e,n.history.replaceState=t,n.removeEventListener("popstate",g),n.removeEventListener("hashchange",p)}}return n.addEventListener("hashchange",p),g(),()=>{n.removeEventListener("hashchange",p)}},options:e}}class Kt{constructor(){this.name="@amplitude/session-replay-browser",this.recordCancelCallback=null,this.eventCount=0,this.sessionTargetingMatch=!1,this.pageLeaveFns=[],this.recordFunction=null,this.teardownEventListeners=e=>{const t=v();t&&(t.removeEventListener("blur",this.blurListener),t.removeEventListener("focus",this.focusListener),!e&&t.addEventListener("blur",this.blurListener),!e&&t.addEventListener("focus",this.focusListener),t.self&&"onpagehide"in t.self?(t.removeEventListener("pagehide",this.pageLeaveListener),!e&&t.addEventListener("pagehide",this.pageLeaveListener)):(t.removeEventListener("beforeunload",this.pageLeaveListener),!e&&t.addEventListener("beforeunload",this.pageLeaveListener)))},this.blurListener=()=>{this.sendEvents()},this.focusListener=()=>{this.recordEvents(!1)},this.pageLeaveListener=e=>{this.pageLeaveFns.forEach((t=>{t(e)}))},this.evaluateTargetingAndCapture=(e,n=!1)=>t(this,void 0,void 0,(function*(){if(this.identifiers&&this.identifiers.sessionId&&this.config){if(!this.config.targetingConfig){if(!n)return void this.loggerProvider.log("No targeting config set, skipping initialization/recording for event.");this.loggerProvider.log("Targeting config has not been set yet, cannot evaluate targeting.")}if(this.lastTargetingParams=e,this.config.targetingConfig&&!this.sessionTargetingMatch){let n=e.event;n&&Object.values(a).includes(n.event_type)&&(n=void 0),this.sessionTargetingMatch=yield(({sessionId:e,targetingConfig:n,loggerProvider:r,apiKey:i,targetingParams:o})=>t(void 0,void 0,void 0,(function*(){if(yield Ft.clearStoreOfOldSessions({loggerProvider:r,apiKey:i,currentSessionId:e}),!0===(yield Ft.getTargetingMatchForSession({loggerProvider:r,apiKey:i,sessionId:e})))return!0;let t=!0;try{const{evaluateTargeting:s}=yield import("./targeting-min.js").then((function(e){return e.i})),a=yield s(Object.assign(Object.assign({},o),{flag:n,sessionId:e,apiKey:i,loggerProvider:r}));a&&a.sr_targeting_config&&(t="on"===a.sr_targeting_config.key),Ft.storeTargetingMatchForSession({loggerProvider:r,apiKey:i,sessionId:e,targetingMatch:t})}catch(e){const t=e;r.warn(t.message)}return t})))({sessionId:this.identifiers.sessionId,targetingConfig:this.config.targetingConfig,loggerProvider:this.loggerProvider,apiKey:this.config.apiKey,targetingParams:{userProperties:e.userProperties,event:n}}),this.loggerProvider.debug(JSON.stringify({name:"targeted replay capture config",sessionTargetingMatch:this.sessionTargetingMatch,event:n,targetingParams:e},null,2))}n?this.initialize(!0):yield this.recordEvents()}else this.identifiers&&!this.identifiers.sessionId?this.loggerProvider.log("Session ID has not been set yet, cannot evaluate targeting for Session Replay."):this.loggerProvider.warn("Session replay init has not been called, cannot evaluate targeting.")})),this.addCustomRRWebEvent=(e,n={},r=!0)=>t(this,void 0,void 0,(function*(){try{let t;const i=this.config;if(i&&e!==V.METADATA&&(t={config:ie(i),version:Be},r)){const e=yield re();t=Object.assign(Object.assign({},e),t)}this.recordCancelCallback&&this.recordFunction?this.recordFunction.addCustomEvent(e,Object.assign(Object.assign({},n),t)):this.loggerProvider.debug(`Not able to add custom replay capture event ${e} due to no ongoing recording.`)}catch(e){this.loggerProvider.debug("Error while adding custom replay capture event: ",e)}})),this.stopRecordingEvents=()=>{var e;try{this.loggerProvider.log("Session Replay capture stopping."),this.recordCancelCallback&&this.recordCancelCallback(),this.recordCancelCallback=null,null===(e=this.networkObservers)||void 0===e||e.stop()}catch(e){const t=e;this.loggerProvider.warn(`Error occurred while stopping replay capture: ${t.toString()}`)}},this.loggerProvider=new oe(new p)}init(e,t){return g(this._init(e,t))}_init(e,n){var r,i,o,s,a,l;return t(this,void 0,void 0,(function*(){this.loggerProvider=new oe(n.loggerProvider||new p),Object.prototype.hasOwnProperty.call(n,"logLevel")&&this.loggerProvider.enable(n.logLevel),this.identifiers=new Ut({sessionId:n.sessionId,deviceId:n.deviceId}),this.joinedConfigGenerator=yield((e,n)=>t(void 0,void 0,void 0,(function*(){const t=new se(e,n),r=yield K({localConfig:t,configKeys:["sessionReplay"]});return new ae(r,t)})))(e,n);const{joinedConfig:c,localConfig:d,remoteConfig:u}=yield this.joinedConfigGenerator.generateJoinedConfig(this.identifiers.sessionId);if(this.config=c,this.setMetadata(n.sessionId,c,d,u,null===(r=n.version)||void 0===r?void 0:r.version,Be,null===(i=n.version)||void 0===i?void 0:i.type),n.sessionId&&(null===(o=this.config.interactionConfig)||void 0===o?void 0:o.enabled)){const e=jt.default({sessionId:n.sessionId,type:"interaction"},this.config);this.pageLeaveFns=[e.send(this.getDeviceId.bind(this)).bind(e)],this.scrollHook=e.hook.bind(e)}const h=[];let{storeType:g}=this.config;"idb"!==g||(null===(s=v())||void 0===s?void 0:s.indexedDB)||(g="memory",this.loggerProvider.warn("Could not use preferred indexedDB storage, reverting to in memory option.")),this.loggerProvider.log(`Using ${g} for event storage.`);try{const e=yield Ye({config:this.config,sessionId:this.identifiers.sessionId,type:"replay",storeType:g});h.push({name:"replay",manager:e})}catch(e){const t=e;this.loggerProvider.warn(`Error occurred while creating replay events manager: ${t.toString()}`)}if(null===(a=this.config.interactionConfig)||void 0===a?void 0:a.enabled){const e=this.config.interactionConfig.batch?Nt:Lt;try{const t=yield Ye({config:this.config,sessionId:this.identifiers.sessionId,type:"interaction",minInterval:null!==(l=this.config.interactionConfig.trackEveryNms)&&void 0!==l?l:3e4,maxInterval:6e4,payloadBatcher:e,storeType:g});h.push({name:"interaction",manager:t})}catch(e){const t=e;this.loggerProvider.warn(`Error occurred while creating interaction events manager: ${t.toString()}`)}}this.eventsManager=new et(...h),this.eventCompressor&&this.eventCompressor.terminate(),this.eventCompressor=new Ae(this.eventsManager,this.config,this.getDeviceId()),yield this.initializeNetworkObservers(),this.loggerProvider.log("Installing @amplitude/session-replay-browser."),this.teardownEventListeners(!1),yield this.evaluateTargetingAndCapture({userProperties:n.userProperties},!0)}))}setSessionId(e,t){return g(this.asyncSetSessionId(e,t))}asyncSetSessionId(e,n,r){var i;return t(this,void 0,void 0,(function*(){this.sessionTargetingMatch=!1,this.lastShouldRecordDecision=void 0;const t=this.identifiers&&this.identifiers.sessionId;t&&this.sendEvents(t);const o=n||this.getDeviceId();if(this.identifiers=new Ut({sessionId:e,deviceId:o}),this.joinedConfigGenerator&&t){const{joinedConfig:e}=yield this.joinedConfigGenerator.generateJoinedConfig(this.identifiers.sessionId);this.config=e}(null===(i=this.config)||void 0===i?void 0:i.targetingConfig)?yield this.evaluateTargetingAndCapture({userProperties:null==r?void 0:r.userProperties}):yield this.recordEvents()}))}getSessionReplayProperties(){const e=this.config,t=this.identifiers;if(!e||!t)return this.loggerProvider.warn("Session replay init has not been called, cannot get session replay properties."),{};const n=this.getShouldRecord();let r={};return n&&(r={[z]:t.sessionReplayId?t.sessionReplayId:null},e.debugMode&&(r[H]=JSON.stringify({appHash:Y(e.apiKey).toString()}))),this.addCustomRRWebEvent(V.GET_SR_PROPS,{shouldRecord:n,eventProperties:r},10===this.eventCount),10===this.eventCount&&(this.eventCount=0),this.eventCount++,r}sendEvents(e){var t;const n=e||(null===(t=this.identifiers)||void 0===t?void 0:t.sessionId),r=this.getDeviceId();this.eventsManager&&n&&r&&this.eventsManager.sendCurrentSequenceEvents({sessionId:n,deviceId:r})}initialize(e=!1){var n;return t(this,void 0,void 0,(function*(){if(!(null===(n=this.identifiers)||void 0===n?void 0:n.sessionId))return this.loggerProvider.log("Session is not being recorded due to lack of session id."),Promise.resolve();const t=this.getDeviceId();return t?(this.eventsManager&&e&&this.eventsManager.sendStoredEvents({deviceId:t}),this.recordEvents()):(this.loggerProvider.log("Session is not being recorded due to lack of device id."),Promise.resolve())}))}shouldOptOut(){var e,t;let n;if(null===(e=this.config)||void 0===e?void 0:e.instanceName){n=(r=this.config.instanceName,void 0===r&&(r=d),x.getInstance(r)).identityStore.getIdentity().optOut}var r;return void 0!==n?n:null===(t=this.config)||void 0===t?void 0:t.optOut}getShouldRecord(){if(!this.identifiers||!this.config||!this.identifiers.sessionId)return this.loggerProvider.warn("Session is not being recorded due to lack of config, please call sessionReplay.init."),!1;if(!this.config.captureEnabled)return this.loggerProvider.log(`Session ${this.identifiers.sessionId} not being captured due to capture being disabled for project or because the remote config could not be fetched.`),!1;if(this.shouldOptOut())return this.loggerProvider.log(`Opting session ${this.identifiers.sessionId} out of recording due to optOut config.`),!1;let e=!1,t="",n=!1;if(this.config.targetingConfig)this.sessionTargetingMatch?(t=`Capturing replays for session ${this.identifiers.sessionId} due to matching targeting conditions.`,this.loggerProvider.log(t),e=!0,n=!0):(t=`Not capturing replays for session ${this.identifiers.sessionId} due to not matching targeting conditions.`,this.loggerProvider.log(t),e=!1,n=!1);else{(function(e,t){const n=Y(e.toString());return 31*Math.abs(n)%1e6/1e6<t})(this.identifiers.sessionId,this.config.sampleRate)?(e=!0,n=!0):(t=`Opting session ${this.identifiers.sessionId} out of recording due to sample rate.`,this.loggerProvider.log(t),e=!1,n=!1)}return this.lastShouldRecordDecision!==e&&this.config.targetingConfig&&(this.addCustomRRWebEvent(V.TARGETING_DECISION,{message:t,sessionId:this.identifiers.sessionId,matched:n,targetingParams:this.lastTargetingParams}),this.lastShouldRecordDecision=e),e}getBlockSelectors(){var e,t,n;const r=null!==(n=null===(t=null===(e=this.config)||void 0===e?void 0:e.privacyConfig)||void 0===t?void 0:t.blockSelector)&&void 0!==n?n:[];if(0!==r.length)return r}getMaskTextSelectors(){var e,t,n,r;if("conservative"===(null===(t=null===(e=this.config)||void 0===e?void 0:e.privacyConfig)||void 0===t?void 0:t.defaultMaskLevel))return"*";const i=null===(r=null===(n=this.config)||void 0===n?void 0:n.privacyConfig)||void 0===r?void 0:r.maskSelector;return i||void 0}getRecordingPlugins(e){var n,r,i,o,s,a;return t(this,void 0,void 0,(function*(){const t=[];try{const e=At({ugcFilterRules:(null===(r=null===(n=this.config)||void 0===n?void 0:n.interactionConfig)||void 0===r?void 0:r.ugcFilterRules)||[],enablePolling:(null===(i=this.config)||void 0===i?void 0:i.enableUrlChangePolling)||!1,pollingInterval:null===(o=this.config)||void 0===o?void 0:o.urlChangePollingInterval,captureDocumentTitle:null===(s=this.config)||void 0===s?void 0:s.captureDocumentTitle});t.push(e)}catch(e){this.loggerProvider.warn("Failed to create URL tracking plugin:",e)}if(null===(a=null==e?void 0:e.console)||void 0===a?void 0:a.enabled)try{const{getRecordConsolePlugin:n}=yield import("./console-plugin-min.js");t.push(n({level:e.console.levels}))}catch(e){this.loggerProvider.warn("Failed to load console plugin:",e)}return t.length>0?t:void 0}))}getRecordFunction(){return t(this,void 0,void 0,(function*(){if(this.recordFunction)return this.recordFunction;try{const{record:e}=yield import("./rrweb-record-min.js");return this.recordFunction=e,e}catch(e){return this.loggerProvider.warn("Failed to load rrweb-record module:",e),null}}))}recordEvents(e=!0){var n,r,i,o,s;return t(this,void 0,void 0,(function*(){const t=this.config,a=this.getShouldRecord(),l=null===(n=this.identifiers)||void 0===n?void 0:n.sessionId;if(!a||!l||!t)return;this.stopRecordingEvents();const c=yield this.getRecordFunction();if(!c)return;yield this.initializeNetworkObservers(),null===(r=this.networkObservers)||void 0===r||r.start((e=>{this.addCustomRRWebEvent(V.FETCH_REQUEST,e)}));const{privacyConfig:d,interactionConfig:u,loggingConfig:h}=t,v=(null==u?void 0:u.enabled)?{mouseInteraction:this.eventsManager&&Dt(this.loggerProvider,{eventsManager:this.eventsManager,sessionId:l,deviceIdFn:this.getDeviceId.bind(this),mirror:c.mirror,ugcFilterRules:null!==(i=u.ugcFilterRules)&&void 0!==i?i:[]}),scroll:this.scrollHook}:{},g=(null==u?void 0:u.enabled)&&u.ugcFilterRules?u.ugcFilterRules:[];this.loggerProvider.log(`Session Replay capture beginning for ${l}.`);try{this.recordCancelCallback=c({emit:e=>{if(this.shouldOptOut())return this.loggerProvider.log(`Opting session ${l} out of recording due to optOut config.`),this.stopRecordingEvents(),void this.sendEvents();e.type===D.Meta&&(e.data.href=ne(e.data.href,g)),this.eventCompressor&&this.eventCompressor.enqueueEvent(e,l)},inlineStylesheet:t.shouldInlineStylesheet,hooks:v,maskAllInputs:!0,maskTextClass:J,blockClass:"amp-block",blockSelector:this.getBlockSelectors(),applyBackgroundColorToBlockedElements:t.applyBackgroundColorToBlockedElements,maskInputFn:X("input",d),maskTextFn:X("text",d),maskTextSelector:this.getMaskTextSelectors(),recordCanvas:!1,slimDOMOptions:{script:null===(o=t.omitElementTags)||void 0===o?void 0:o.script,comment:null===(s=t.omitElementTags)||void 0===s?void 0:s.comment},errorHandler:e=>{const t=e;if(t.message.includes("insertRule")&&t.message.includes("CSSStyleSheet"))throw t;if(t._external_)throw t;return this.loggerProvider.warn("Error while capturing replay: ",t.toString()),!0},plugins:yield this.getRecordingPlugins(h)}),this.addCustomRRWebEvent(V.DEBUG_INFO),e&&this.addCustomRRWebEvent(V.METADATA,this.metadata)}catch(e){this.loggerProvider.warn("Failed to initialize session replay:",e)}}))}getDeviceId(){var e;return null===(e=this.identifiers)||void 0===e?void 0:e.deviceId}getSessionId(){var e;return null===(e=this.identifiers)||void 0===e?void 0:e.sessionId}flush(e=!1){var n;return t(this,void 0,void 0,(function*(){return null===(n=this.eventsManager)||void 0===n?void 0:n.flush(e)}))}shutdown(){this.teardownEventListeners(!0),this.stopRecordingEvents(),this.sendEvents()}mapSDKType(e){return"plugin"===e?"@amplitude/plugin-session-replay-browser":"segment"===e?"@amplitude/segment-session-replay-plugin":null}setMetadata(e,t,n,r,i,o,s){const a=(null==e?void 0:e.toString())?Y(e.toString()):void 0;this.metadata={joinedConfig:t,localConfig:n,remoteConfig:r,sessionId:e,hashValue:a,sampleRate:t.sampleRate,replaySDKType:this.mapSDKType(s),replaySDKVersion:i,standaloneSDKType:"@amplitude/session-replay-browser",standaloneSDKVersion:o}}initializeNetworkObservers(){var e,n,r;return t(this,void 0,void 0,(function*(){if((null===(r=null===(n=null===(e=this.config)||void 0===e?void 0:e.loggingConfig)||void 0===n?void 0:n.network)||void 0===r?void 0:r.enabled)&&!this.networkObservers)try{const{NetworkObservers:e}=yield import("./observers-min.js");this.networkObservers=new e}catch(e){this.loggerProvider.warn("Failed to import or instantiate NetworkObservers:",e)}}))}}export{Kt as S,v as g};
|
|
2
|
-
//# sourceMappingURL=session-replay-min.js.map
|
|
Binary file
|