Socket
Socket
Sign inDemoInstall

@datadog/browser-logs

Package Overview
Dependencies
Maintainers
1
Versions
256
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@datadog/browser-logs - npm Package Compare versions

Comparing version 2.8.0 to 2.8.1

2

bundle/datadog-logs.js

@@ -1,1 +0,1 @@

!function(){"use strict";var e=function(){return(e=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function t(e,t){var n,r,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,r=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!(o=s.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){s.label=i[1];break}if(6===i[0]&&s.label<o[1]){s.label=o[1],o=i;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(i);break}o[2]&&s.ops.pop(),s.trys.pop();continue}i=t.call(e,s)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,a])}}}function n(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),o=0;for(t=0;t<n;t++)for(var i=arguments[t],s=0,a=i.length;s<a;s++,o++)r[o]=i[s];return r}var r=function(e){return Array.isArray(e)},o=function(e){return!Array.isArray(e)&&"object"==typeof e&&null!==e};function i(){for(var e,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];for(var r=0,o=t;r<o.length;r++){var i=o[r];null!=i&&(e=a(e,i,s()))}return e}function s(){if("undefined"!=typeof WeakSet){var e=new WeakSet;return{hasAlreadyBeenSeen:function(t){var n=e.has(t);return n||e.add(t),n}}}var t=[];return{hasAlreadyBeenSeen:function(e){var n=t.indexOf(e)>=0;return n||t.push(e),n}}}function a(e,t,n){if(void 0===t)return e;if(!o(t)&&!r(t))return t;if(!n.hasAlreadyBeenSeen(t)){if(o(t)&&(void 0===e||o(e))){var i=e||{};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(i[s]=a(i[s],t[s],n));return i}if(r(t)&&(void 0===e||r(e))){(i=e||[]).length=Math.max(i.length,t.length);for(var u=0;u<t.length;u+=1)i[u]=a(i[u],t[u],n);return i}return t}}var u="agent",c="console",f="logger",l="network",d="source";function p(e){var t=h(e);return e.stack.forEach((function(e){var n="?"===e.func?"<anonymous>":e.func,r=e.args&&e.args.length>0?"("+e.args.join(", ")+")":"",o=e.line?":"+e.line:"",i=e.line&&e.column?":"+e.column:"";t+="\n at "+n+r+" @ "+e.url+o+i})),t}function h(e){return(e.name||"Error")+": "+e.message}var v,g=!1;function m(){return g?b():w()}function y(e){return g?e.timeStamp:e.relative}function b(){return Date.now()}function w(){return performance.now()}function E(){return{relative:w(),timeStamp:b()}}function x(e,t){return t-e}function k(e){return Math.round(S()+e)}function S(){return void 0===v&&(v=performance.timing.navigationStart),v}var T=/[^\u0000-\u007F]/,O=function(){function e(e,t,n){void 0===n&&(n=!1),this.endpointUrl=e,this.bytesLimit=t,this.withBatchTime=n}return e.prototype.send=function(e,t){var n=this.withBatchTime?function(e){return e+(-1===e.indexOf("?")?"?":"&")+"batch_time="+(new Date).getTime()+"&m_time="+k(w())}(this.endpointUrl):this.endpointUrl;if(navigator.sendBeacon&&t<this.bytesLimit)try{if(navigator.sendBeacon(n,e))return}catch(e){!function(e){M||(M=!0,re(e))}(e)}var r=new XMLHttpRequest;r.open("POST",n,!0),r.send(e)},e}();var M=!1;var R=function(){function e(e,t,n,r,o,i){void 0===i&&(i=de),this.request=e,this.maxSize=t,this.bytesLimit=n,this.maxMessageSize=r,this.flushTimeout=o,this.beforeUnloadCallback=i,this.pushOnlyBuffer=[],this.upsertBuffer={},this.bufferBytesSize=0,this.bufferMessageCount=0,this.flushOnVisibilityHidden(),this.flushPeriodically()}return e.prototype.add=function(e){this.addOrUpdate(e)},e.prototype.upsert=function(e,t){this.addOrUpdate(e,t)},e.prototype.flush=function(){if(0!==this.bufferMessageCount){var e=n(this.pushOnlyBuffer,(t=this.upsertBuffer,r=[],Object.keys(t).forEach((function(e){r.push(t[e])})),r));this.request.send(e.join("\n"),this.bufferBytesSize),this.pushOnlyBuffer=[],this.upsertBuffer={},this.bufferBytesSize=0,this.bufferMessageCount=0}var t,r},e.prototype.sizeInBytes=function(e){return T.test(e)?void 0!==window.TextEncoder?(new TextEncoder).encode(e).length:new Blob([e]).size:e.length},e.prototype.addOrUpdate=function(e,t){var n=this.process(e),r=n.processedMessage,o=n.messageBytesSize;o>=this.maxMessageSize?console.warn("Discarded a message whose size was bigger than the maximum allowed size "+this.maxMessageSize+"KB."):(this.hasMessageFor(t)&&this.remove(t),this.willReachedBytesLimitWith(o)&&this.flush(),this.push(r,o,t),this.isFull()&&this.flush())},e.prototype.process=function(e){var t=pe(e);return{processedMessage:t,messageBytesSize:this.sizeInBytes(t)}},e.prototype.push=function(e,t,n){this.bufferMessageCount>0&&(this.bufferBytesSize+=1),void 0!==n?this.upsertBuffer[n]=e:this.pushOnlyBuffer.push(e),this.bufferBytesSize+=t,this.bufferMessageCount+=1},e.prototype.remove=function(e){var t=this.upsertBuffer[e];delete this.upsertBuffer[e];var n=this.sizeInBytes(t);this.bufferBytesSize-=n,this.bufferMessageCount-=1,this.bufferMessageCount>0&&(this.bufferBytesSize-=1)},e.prototype.hasMessageFor=function(e){return void 0!==e&&void 0!==this.upsertBuffer[e]},e.prototype.willReachedBytesLimitWith=function(e){return this.bufferBytesSize+e+1>=this.bytesLimit},e.prototype.isFull=function(){return this.bufferMessageCount===this.maxSize||this.bufferBytesSize>=this.bytesLimit},e.prototype.flushPeriodically=function(){var e=this;setTimeout(te((function(){e.flush(),e.flushPeriodically()})),this.flushTimeout)},e.prototype.flushOnVisibilityHidden=function(){var e=this;navigator.sendBeacon&&(ge(window,"beforeunload",this.beforeUnloadCallback),ge(document,"visibilitychange",(function(){"hidden"===document.visibilityState&&e.flush()})),ge(window,"beforeunload",(function(){return e.flush()})))},e}(),C=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/;function L(e){if(I){if(B===e)return;U()}var t=F(e);throw I=t,B=e,setTimeout(te((function(){B===e&&U()})),t.incomplete?2e3:0),e}var B,I,_,A,N,j=[];function D(e){!function(){if(A)return;_=window.onerror,window.onerror=te(z),A=!0}(),function(){if(N)return;null!==window.onunhandledrejection?window.onunhandledrejection:void 0,window.onunhandledrejection=te(H),N=!0}(),j.push(e)}function P(e,t,n){var r;if(j.forEach((function(o){try{o(e,t,n)}catch(e){r=e}})),r)throw r}function z(e,t,n,r,o){if(I)K(I,t,n),U();else if(o)P(F(o),!0,o);else{var i,s={url:t,column:r,line:n},a=e;if("[object String]"==={}.toString.call(e)){var u=C.exec(a);u&&(i=u[1],a=u[2])}P({name:i,message:"string"==typeof a?a:void 0,stack:[s]},!0,e)}return!!_&&_.apply(this,arguments)}function H(e){var t=e.reason||"Empty reason";P(F(t),!0,t)}function U(){var e=I,t=B;I=void 0,B=void 0,P(e,!1,t)}var q="?";function F(e,t){var n,r=void 0===t?0:+t;try{if(n=function(e){var t=J(e,"stacktrace");if(!t)return;for(var n,r=/ line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i,o=/ line (\d+), column (\d+)\s*(?:in (?:<anonymous function: ([^>]+)>|([^\)]+))\((.*)\))? in (.*):\s*$/i,i=t.split("\n"),s=[],a=0;a<i.length;a+=2){var u=void 0;r.exec(i[a])?u={args:[],column:void 0,func:(n=r.exec(i[a]))[3],line:+n[1],url:n[2]}:o.exec(i[a])&&(u={args:(n=o.exec(i[a]))[5]?n[5].split(","):[],column:+n[2],func:n[3]||n[4],line:+n[1],url:n[6]}),u&&(!u.func&&u.line&&(u.func=q),u.context=[i[a+1]],s.push(u))}if(!s.length)return;return{stack:s,message:J(e,"message"),name:J(e,"name")}}(e))return n}catch(e){if($)throw e}try{if(n=function(e){var t=J(e,"stack");if(!t)return;for(var n,r,o,i,s=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,a=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|capacitor|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i,u=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i,c=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,f=/\((\S*)(?::(\d+))(?::(\d+))\)/,l=t.split("\n"),d=[],p=0,h=l.length;p<h;p+=1){if(s.exec(l[p])){var v=(o=s.exec(l[p]))[2]&&0===o[2].indexOf("native");n=o[2]&&0===o[2].indexOf("eval"),r=f.exec(o[2]),n&&r&&(o[2]=r[1],o[3]=r[2],o[4]=r[3]),i={args:v?[o[2]]:[],column:o[4]?+o[4]:void 0,func:o[1]||q,line:o[3]?+o[3]:void 0,url:v?void 0:o[2]}}else if(u.exec(l[p]))i={args:[],column:(o=u.exec(l[p]))[4]?+o[4]:void 0,func:o[1]||q,line:+o[3],url:o[2]};else{if(!a.exec(l[p]))continue;n=(o=a.exec(l[p]))[3]&&o[3].indexOf(" > eval")>-1,r=c.exec(o[3]),n&&r?(o[3]=r[1],o[4]=r[2],o[5]=void 0):0!==p||o[5]||W(e.columnNumber)||(d[0].column=e.columnNumber+1),i={args:o[2]?o[2].split(","):[],column:o[5]?+o[5]:void 0,func:o[1]||q,line:o[4]?+o[4]:void 0,url:o[3]}}!i.func&&i.line&&(i.func=q),d.push(i)}if(!d.length)return;return{stack:d,message:J(e,"message"),name:J(e,"name")}}(e))return n}catch(e){if($)throw e}try{if(n=function(e){var t=J(e,"message");if(!t)return;var n=t.split("\n");if(n.length<4)return;var r,o=/^\s*Line (\d+) of linked script ((?:file|https?|blob)\S+)(?:: in function (\S+))?\s*$/i,i=/^\s*Line (\d+) of inline#(\d+) script in ((?:file|https?|blob)\S+)(?:: in function (\S+))?\s*$/i,s=/^\s*Line (\d+) of function script\s*$/i,a=[],u=window&&window.document&&window.document.getElementsByTagName("script"),c=[];for(var f in u)V(u,f)&&!u[f].src&&c.push(u[f]);for(var l=2;l<n.length;l+=2){var d=void 0;if(o.exec(n[l]))d={args:[],column:void 0,func:(r=o.exec(n[l]))[3],line:+r[1],url:r[2]};else if(i.exec(n[l]))d={args:[],column:void 0,func:(r=i.exec(n[l]))[4],line:+r[1],url:r[3]};else if(s.exec(n[l])){r=s.exec(n[l]),d={url:window.location.href.replace(/#.*$/,""),args:[],column:void 0,func:"",line:+r[1]}}d&&(d.func||(d.func=q),d.context=[n[l+1]],a.push(d))}if(!a.length)return;return{stack:a,message:n[0],name:J(e,"name")}}(e))return n}catch(e){if($)throw e}try{if(n=X(e,r+1))return n}catch(e){if($)throw e}return{message:J(e,"message"),name:J(e,"name"),stack:[]}}var G,$=!1;function K(e,t,n){var r={url:t,line:n?+n:void 0};if(r.url&&r.line){e.incomplete=!1;var o=e.stack;if(o.length>0&&o[0].url===r.url){if(o[0].line===r.line)return!1;if(!o[0].line&&o[0].func===r.func)return o[0].line=r.line,o[0].context=r.context,!1}return o.unshift(r),e.partial=!0,!0}return e.incomplete=!0,!1}function X(e,t){for(var n,r,o=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,i=[],s={},a=!1,u=X.caller;u&&!a;u=u.caller)u!==F&&u!==L&&(r={args:[],column:void 0,func:q,line:void 0,url:void 0},n=o.exec(u.toString()),u.name?r.func=u.name:n&&(r.func=n[1]),void 0===r.func&&(r.func=n?n.input.substring(0,n.input.indexOf("{")):void 0),s[u.toString()]?a=!0:s[u.toString()]=!0,i.push(r));t&&i.splice(0,t);var c={stack:i,message:J(e,"message"),name:J(e,"name")};return K(c,J(e,"sourceURL")||J(e,"fileName"),J(e,"line")||J(e,"lineNumber")),c}function J(e,t){if("object"==typeof e&&e&&t in e){var n=e[t];return"string"==typeof n?n:void 0}}function V(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function W(e){return void 0===e}!function(e){e.info="info",e.error="error"}(G||(G={}));var Z,Y={maxMessagesPerPage:0,sentMessageCount:0};function Q(e){if(e.internalMonitoringEndpoint){var t=function(e){var t,n=r(e.internalMonitoringEndpoint);void 0!==e.replica&&(t=r(e.replica.internalMonitoringEndpoint));function r(t){return new R(new O(t,e.batchBytesLimit),e.maxBatchSize,e.batchBytesLimit,e.maxMessageSize,e.flushTimeout)}function o(e){return i({date:(new Date).getTime(),view:{referrer:document.referrer,url:window.location.href}},void 0!==Z?Z():{},e)}return{add:function(e){var r=o(e);n.add(r),t&&t.add(r)}}}(e);!function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];t.forEach((function(t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}))}(Y,{batch:t,maxMessagesPerPage:e.maxInternalMonitoringMessagesPerPage,sentMessageCount:0})}return{setExternalContextProvider:function(e){Z=e}}}function ee(e,t,n){var r=n.value;n.value=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=Y.batch?te(r):r;return n.apply(this,e)}}function te(e){return function(){return ne(e,this,arguments)}}function ne(e,t,n){try{return e.apply(t,n)}catch(e){se(e);try{re(e)}catch(e){se(e)}}}function re(t){oe(e(e({},function(e){if(e instanceof Error){var t=F(e);return{error:{kind:t.name,stack:p(t)},message:t.message}}return{error:{stack:"Not an instance of error"},message:"Uncaught "+pe(e)}}(t)),{status:G.error}))}function oe(e){Y.batch&&Y.sentMessageCount<Y.maxMessagesPerPage&&(Y.sentMessageCount+=1,Y.batch.add(e))}function ie(e){Y.debugMode=e}function se(e){Y.debugMode&&console.warn("[INTERNAL ERROR]",e)}var ae,ue,ce=1e3,fe=6e4;function le(e){return e?(parseInt(e,10)^16*Math.random()>>parseInt(e,10)/4).toString(16):"10000000-1000-4000-8000-100000000000".replace(/[018]/g,le)}function de(){}function pe(e,t,n){if(null==e)return JSON.stringify(e);var r=[!1,void 0];he(e)&&(r=[!0,e.toJSON],delete e.toJSON);var o,i,s=[!1,void 0];"object"==typeof e&&he(o=Object.getPrototypeOf(e))&&(s=[!0,o.toJSON],delete o.toJSON);try{i=JSON.stringify(e,t,n)}catch(e){i="<error: unable to serialize object>"}finally{r[0]&&(e.toJSON=r[1]),s[0]&&(o.toJSON=s[1])}return i}function he(e){return"object"==typeof e&&null!==e&&e.hasOwnProperty("toJSON")}function ve(e,t){return-1!==e.indexOf(t)}function ge(e,t,n,r){return me(e,[t],n,r)}function me(e,t,n,r){var o=void 0===r?{}:r,i=o.once,s=o.capture,a=o.passive,u=te(i?function(e){f(),n(e)}:n),c=a?{capture:s,passive:a}:s;t.forEach((function(t){return e.addEventListener(t,u,c)}));var f=function(){return t.forEach((function(t){return e.removeEventListener(t,u,c)}))};return{stop:f}}!function(e){e.DOCUMENT="document",e.XHR="xhr",e.BEACON="beacon",e.FETCH="fetch",e.CSS="css",e.JS="js",e.IMAGE="image",e.FONT="font",e.MEDIA="media",e.OTHER="other"}(ae||(ae={})),function(e){e.FETCH="fetch",e.XHR="xhr"}(ue||(ue={}));var ye,be;function we(e,t,n,r){var o=new Date;o.setTime(o.getTime()+n);var i="expires="+o.toUTCString(),s=r&&r.crossSite?"none":"strict",a=r&&r.domain?";domain="+r.domain:"",u=r&&r.secure?";secure":"";document.cookie=e+"="+t+";"+i+";path=/;samesite="+s+a+u}function Ee(e){return function(e,t){var n=new RegExp("(?:^|;)\\s*"+t+"\\s*=\\s*([^;]+)").exec(e);return n?n[1]:void 0}(document.cookie,e)}function xe(e,t){return function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];try{return e.apply(void 0,n)}catch(e){console.error(t,e)}}}var ke={alternate:{logs:"logs",rum:"rum",sessionReplay:"session-replay",trace:"trace"},classic:{logs:"browser",rum:"rum",sessionReplay:void 0,trace:"public-trace"}},Se="eu",Te="us",Oe=((be={})[Se]="datadoghq.eu",be[Te]="datadoghq.com",be),Me=[Oe[Te],Oe[Se]];function Re(t,n){var r={buildMode:n.buildMode,clientToken:t.clientToken,env:t.env,proxyHost:t.proxyHost,sdkVersion:n.sdkVersion,service:t.service,site:t.site||Oe[t.datacenter||n.datacenter],version:t.version},o=function(e,t){return!t.useAlternateIntakeDomains&&ve(Me,e)?"classic":"alternate"}(r.site,t),i=function(e,t,n){if(t.proxyHost)return["https://"+t.proxyHost+"/v1/input/"];var r=[t.site];t.buildMode===Be.STAGING&&n&&r.push(Oe[Te]);for(var o=[],i=Object.keys(ke[e]),s=0,a=r;s<a.length;s++)for(var u=a[s],c=0,f=i;c<f.length;c++){var l=f[c];o.push("https://"+Ce(e,l,u)+"/v1/input/")}return o}(o,r,void 0!==t.replica),s={isIntakeUrl:function(e){return i.some((function(t){return 0===e.indexOf(t)}))},logsEndpoint:Le(o,"logs",r),rumEndpoint:Le(o,"rum",r),sessionReplayEndpoint:Le(o,"sessionReplay",r),traceEndpoint:Le(o,"trace",r)};if(t.internalMonitoringApiKey&&(s.internalMonitoringEndpoint=Le(o,"logs",r,"browser-agent-internal-monitoring")),r.buildMode===Be.E2E_TEST&&(s.internalMonitoringEndpoint="<<< E2E INTERNAL MONITORING ENDPOINT >>>",s.logsEndpoint="<<< E2E LOGS ENDPOINT >>>",s.rumEndpoint="<<< E2E RUM ENDPOINT >>>",s.sessionReplayEndpoint="<<< E2E SESSION REPLAY ENDPOINT >>>"),r.buildMode===Be.STAGING&&void 0!==t.replica){var a=e(e({},r),{applicationId:t.replica.applicationId,clientToken:t.replica.clientToken,site:Oe[Te]});s.replica={applicationId:t.replica.applicationId,internalMonitoringEndpoint:Le(o,"logs",a,"browser-agent-internal-monitoring"),logsEndpoint:Le(o,"logs",a),rumEndpoint:Le(o,"rum",a)}}return s}function Ce(e,t,n){return"classic"===e&&function(e,t){var n=ke.classic[e];return n&&n+"-http-intake.logs."+t}(t,n)||function(e,t){var n=ke.alternate[e],r=t.split("."),o=r.pop(),i=r.join("-")+"."+o;return n+".browser-intake-"+i}(t,n)}function Le(e,t,n,r){var o="sdk_version:"+n.sdkVersion+(n.env?",env:"+n.env:"")+(n.service?",service:"+n.service:"")+(n.version?",version:"+n.version:""),i=Ce(e,t,n.site),s=n.proxyHost?n.proxyHost:i,a=(n.proxyHost?"ddhost="+i+"&":"")+"ddsource="+(r||"browser")+"&ddtags="+encodeURIComponent(o);return"https://"+s+"/v1/input/"+n.clientToken+"?"+a}var Be,Ie={allowedTracingOrigins:[],maxErrorsByMinute:3e3,maxInternalMonitoringMessagesPerPage:15,resourceSampleRate:100,sampleRate:100,silentMultipleInit:!1,trackInteractions:!1,requestErrorResponseLengthLimit:32768,flushTimeout:3e4,maxBatchSize:50,maxMessageSize:262144,batchBytesLimit:16384};function _e(e){var t={};return t.secure=function(e){return!!e.useSecureSessionCookie||!!e.useCrossSiteSessionCookie}(e),t.crossSite=!!e.useCrossSiteSessionCookie,e.trackSessionAcrossSubdomains&&(t.domain=function(){if(void 0===ye){for(var e="dd_site_test_"+le(),t=window.location.hostname.split("."),n=t.pop();t.length&&!Ee(e);)n=t.pop()+"."+n,we(e,"test",ce,{domain:n});ye=n}return ye}()),t}function Ae(t,n){var r=function(t,n){var r=Array.isArray(t.enableExperimentalFeatures)?t.enableExperimentalFeatures:[],o=e(e({beforeSend:t.beforeSend&&xe(t.beforeSend,"beforeSend threw an error:"),cookieOptions:_e(t),isEnabled:function(e){return ve(r,e)},service:t.service},Re(t,n)),Ie);return"allowedTracingOrigins"in t&&(o.allowedTracingOrigins=t.allowedTracingOrigins),"sampleRate"in t&&(o.sampleRate=t.sampleRate),"resourceSampleRate"in t&&(o.resourceSampleRate=t.resourceSampleRate),"trackInteractions"in t&&(o.trackInteractions=!!t.trackInteractions),o}(t,n);return r.isEnabled("system-clock")&&(g=!0),{configuration:r,internalMonitoring:Q(r)}}function Ne(){var e={};return{get:function(){return e},add:function(t,n){e[t]=n},remove:function(t){delete e[t]},set:function(t){e=t}}}!function(e){e.RELEASE="release",e.STAGING="staging",e.E2E_TEST="e2e-test"}(Be||(Be={}));var je,De,Pe,ze,He=function(){function e(e){void 0===e&&(e=1e4),this.limit=e,this.buffer=[]}return e.prototype.add=function(e){this.buffer.push(e)>this.limit&&this.buffer.splice(0,1)},e.prototype.drain=function(e){this.buffer.forEach((function(t){return e(t)})),this.buffer.length=0},e}(),Ue={debug:"debug",error:"error",info:"info",warn:"warn"},qe=((je={})[Ue.debug]=0,je[Ue.info]=1,je[Ue.warn]=2,je[Ue.error]=3,je),Fe=(Object.keys(Ue),"console"),Ge="http",$e=function(){function t(e,t,n,r){void 0===t&&(t=Ge),void 0===n&&(n=Ue.debug),void 0===r&&(r={}),this.sendLog=e,this.handlerType=t,this.level=n,this.contextManager=Ne(),this.contextManager.set(r)}return t.prototype.log=function(t,n,r){if(void 0===r&&(r=Ue.info),qe[r]>=qe[this.level])switch(this.handlerType){case Ge:this.sendLog(e({message:t,status:r},i(this.contextManager.get(),n)));break;case Fe:console.log(r+": "+t,i(this.contextManager.get(),n))}},t.prototype.debug=function(e,t){this.log(e,t,Ue.debug)},t.prototype.info=function(e,t){this.log(e,t,Ue.info)},t.prototype.warn=function(e,t){this.log(e,t,Ue.warn)},t.prototype.error=function(e,t){var n={error:{origin:f}};this.log(e,i(n,t),Ue.error)},t.prototype.setContext=function(e){this.contextManager.set(e)},t.prototype.addContext=function(e,t){this.contextManager.add(e,t)},t.prototype.removeContext=function(e){this.contextManager.remove(e)},t.prototype.setHandler=function(e){this.handlerType=e},t.prototype.setLevel=function(e){this.level=e},function(e,t,n,r){var o,i=arguments.length,s=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(i<3?o(s):i>3?o(t,n,s):o(t,n))||s);i>3&&s&&Object.defineProperty(t,n,s)}([ee],t.prototype,"log",null),t}();function Ke(e){return Xe(e,function(e){if(e.origin)return e.origin;var t=e.host.replace(/(:80|:443)$/,"");return e.protocol+"//"+t}(window.location)).href}function Xe(e,t){if(function(){if(void 0!==De)return De;try{var e=new URL("http://test/path");return De="http://test/path"===e.href}catch(e){De=!1}return De}())return void 0!==t?new URL(e,t):new URL(e);if(void 0===t&&!/:/.test(e))throw new Error("Invalid URL: '"+e+"'");var n=document,r=n.createElement("a");if(void 0!==t){var o=(n=document.implementation.createHTMLDocument("")).createElement("base");o.href=t,n.head.appendChild(o),n.body.appendChild(r)}return r.href=e,r}var Je,Ve=[],We=[];function Ze(){return Pe||(!function(){if(!window.fetch)return;ze=window.fetch,window.fetch=function(e,t){var n,r=ne(Ye,null,[e,t]);return r?ne(Qe,null,[n=ze.call(this,r.input,r.init),r]):n=ze.call(this,e,t),n}}(),Pe={beforeSend:function(e){Ve.push(e)},onRequestComplete:function(e){We.push(e)}}),Pe}function Ye(e,t){var n=t&&t.method||"object"==typeof e&&e.method||"GET",r=Ke("object"==typeof e&&e.url||e),o={init:t,input:e,method:n,startClocks:E(),url:r};return Ve.forEach((function(e){return e(o)})),o}function Qe(e,n){var r=this,o=function(e){return o=r,i=void 0,a=function(){var r,o;return t(this,(function(t){switch(t.label){case 0:return n.duration=x(y(n.startClocks),m()),"stack"in e||e instanceof Error?(n.status=0,n.response=p(F(e)),n.isAborted=e instanceof DOMException&&e.code===DOMException.ABORT_ERR,We.forEach((function(e){return e(n)})),[3,6]):[3,1];case 1:if(!("status"in e))return[3,6];r=void 0,t.label=2;case 2:return t.trys.push([2,4,,5]),[4,e.clone().text()];case 3:return r=t.sent(),[3,5];case 4:return o=t.sent(),r="Unable to retrieve response: "+o,[3,5];case 5:n.response=r,n.responseType=e.type,n.status=e.status,n.isAborted=!1,We.forEach((function(e){return e(n)})),t.label=6;case 6:return[2]}}))},new((s=void 0)||(s=Promise))((function(e,t){function n(e){try{u(a.next(e))}catch(e){t(e)}}function r(e){try{u(a.throw(e))}catch(e){t(e)}}function u(t){t.done?e(t.value):new s((function(e){e(t.value)})).then(n,r)}u((a=a.apply(o,i||[])).next())}));var o,i,s,a};e.then(te(o),te(o))}var et,tt,nt,rt=[],ot=[];function it(){return Je||(et=XMLHttpRequest.prototype.open,tt=XMLHttpRequest.prototype.send,nt=XMLHttpRequest.prototype.abort,XMLHttpRequest.prototype.open=function(e,t){var n=this;return ne((function(){n._datadog_xhr={method:e,url:Ke(t)}})),et.apply(this,arguments)},XMLHttpRequest.prototype.send=function(){var t=this;return ne((function(){if(t._datadog_xhr){var n=t._datadog_xhr;n.startTime=w(),n.startClocks=E(),n.isAborted=!1;var r=t.onreadystatechange;t.onreadystatechange=function(){this.readyState===XMLHttpRequest.DONE&&ne(i),r&&r.apply(this,arguments)};var o=!1,i=function(){if(!o){o=!0;var r=e(e({},n),{duration:x(y(n.startClocks),m()),response:t.response,status:t.status});ot.forEach((function(e){return e(r)}))}};t.addEventListener("loadend",te(i)),rt.forEach((function(e){return e(n,t)}))}})),tt.apply(this,arguments)},XMLHttpRequest.prototype.abort=function(){var e=this;return ne((function(){e._datadog_xhr&&(e._datadog_xhr.isAborted=!0)})),nt.apply(this,arguments)},Je={beforeSend:function(e){rt.push(e)},onRequestComplete:function(e){ot.push(e)}}),Je}var st,at,ut=function(){function e(){this.observers=[]}return e.prototype.subscribe=function(e){this.observers.push(e)},e.prototype.notify=function(e){this.observers.forEach((function(t){return t(e)}))},e}();function ct(t){if(!st){var n=new ut;!function(e,t){function n(n,r){e.isIntakeUrl(r.url)||e.isEnabled("remove-network-errors")&&r.isAborted||!function(e){return 0===e.status&&"opaque"!==e.responseType}(r)&&!function(e){return e.status>=500}(r)||t.notify({message:dt(n)+" error "+r.method+" "+r.url,resource:{method:r.method,statusCode:r.status,url:r.url},source:l,stack:lt(r.response,e)||"Failed to load",startClocks:r.startClocks})}it().onRequestComplete((function(e){return n(ue.XHR,e)})),Ze().onRequestComplete((function(e){return n(ue.FETCH,e)}))}(t,n),function(t){at=console.error,console.error=te((function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];at.apply(console,n),t.notify(e(e({},ft(n)),{source:c,startClocks:E()}))}))}(n),function(e){D((function(t,n,r){var o=function(e,t,n){return e&&(void 0!==e.message||t instanceof Error)?{message:e.message||"Empty message",stack:p(e),type:e.name}:{message:n+" "+pe(t),stack:"No stack, consider using an instance of Error",type:e&&e.name}}(t,r,"Uncaught"),i=o.stack,s=o.message,a=o.type;e.notify({message:s,stack:i,type:a,source:d,startClocks:E()})}))}(n),st=function(e,t){var n=0,r=new ut;return t.subscribe((function(t){n<e.maxErrorsByMinute?(n+=1,r.notify(t)):n===e.maxErrorsByMinute&&(n+=1,r.notify({message:"Reached max number of errors by minute: "+e.maxErrorsByMinute,source:u,startClocks:E()}))})),setInterval((function(){return n=0}),fe),r}(t,n)}return st}function ft(e){var t=function(e,t){for(var n=0;n<e.length;n+=1){var r=e[n];if(t(r,n,e))return r}}(e,(function(e){return e instanceof Error}));return{message:n(["console error:"],e).map((function(e){return function(e){if("string"==typeof e)return e;if(e instanceof Error)return h(F(e));return pe(e,void 0,2)}(e)})).join(" "),stack:t?p(F(t)):void 0}}function lt(e,t){return e&&e.length>t.requestErrorResponseLengthLimit?e.substring(0,t.requestErrorResponseLengthLimit)+"...":e}function dt(e){return ue.XHR===e?"XHR":"Fetch"}function pt(e,t,n){var r=a(void 0,e,s()),o=n(r);return t.forEach((function(t){var n=ht(e,t),o=ht(r,t);"string"==typeof n&&"string"==typeof o&&function(e,t,n){for(var r=e,o=t.split("."),i=0;i<o.length;i+=1){var s=o[i];if(!vt(r,s))return;i!==o.length-1?r=r[s]:r[s]=n}}(e,t,o)})),o}function ht(e,t){for(var n=e,r=0,o=t.split(".");r<o.length;r++){var i=o[r];if(!vt(n,i))return;n=n[i]}return n}function vt(e,t){return"object"==typeof e&&null!==e&&t in e}var gt=9e5,mt=144e5;function yt(e,t,n){var r=function(e,t){var n,r,o=!1,i=function(){o=!0,clearTimeout(n),n=setTimeout((function(){o=!1}),1e3)};return{get:function(){return o||(r=Ee(e),i()),r},set:function(n,o){we(e,n,o,t),r=n,i()}}}("_dd_s",e);!function(e){var t=e.get(),n=Ee("_dd"),r=Ee("_dd_r"),o=Ee("_dd_l");if(!t){var i={};n&&(i.id=n),o&&/^[01]$/.test(o)&&(i.logs=o),r&&/^[012]$/.test(r)&&(i.rum=r),xt(i,e)}}(r);var o=new ut,i=Et(r).id,s=function(e,t,n){var r,o,i=!n||void 0===n.leading||n.leading,s=!n||void 0===n.trailing||n.trailing,a=!1;return{throttled:function(){for(var n=[],u=0;u<arguments.length;u++)n[u]=arguments[u];a?r=n:(i?e.apply(void 0,n):r=n,a=!0,o=setTimeout((function(){s&&r&&e.apply(void 0,r),a=!1,r=void 0}),t))},cancel:function(){clearTimeout(o),a=!1,r=void 0}}}(te((function(){var e=Et(r),s=n(e[t]),a=s.trackingType,u=s.isTracked;e[t]=a,u&&!e.id&&(e.id=le(),e.created=String(Date.now())),xt(e,r),u&&i!==e.id&&(i=e.id,o.notify())})),1e3).throttled;return s(),function(e){var t=me(window,["click","touchstart","keydown","scroll"],e,{capture:!0,passive:!0}).stop;St.push(t)}(s),function(e){var t=te((function(){"visible"===document.visibilityState&&e()})),n=ge(document,"visibilitychange",t).stop;St.push(n);var r=setInterval(t,6e4);St.push((function(){clearInterval(r)}))}((function(){xt(Et(r),r)})),{getId:function(){return Et(r).id},getTrackingType:function(){return Et(r)[t]},renewObservable:o}}var bt=/^([a-z]+)=([a-z0-9-]+)$/,wt="&";function Et(e){var t=function(e){var t=e.get(),n={};(function(e){return void 0!==e&&(-1!==e.indexOf("&")||bt.test(e))})(t)&&t.split(wt).forEach((function(e){var t=bt.exec(e);if(null!==t){var r=t[1],o=t[2];n[r]=o}}));return n}(e);return function(e){return(void 0===e.created||Date.now()-Number(e.created)<mt)&&(void 0===e.expire||Date.now()<Number(e.expire))}(t)?t:(kt(e),{})}function xt(e,t){if(n=e,0!==Object.keys(n).length){var n;e.expire=String(Date.now()+gt);var r=function(e){return Object.keys(e).map((function(t){return[t,e[t]]}))}(e).map((function(e){return e[0]+"="+e[1]})).join(wt);t.set(r,gt)}else kt(t)}function kt(e){e.set("",0)}var St=[];var Tt;function Ot(e,t){if(!t){var n=Mt(e)===Tt.TRACKED;return{getId:function(){},isTracked:function(){return n}}}var r=yt(e.cookieOptions,"logs",(function(t){return function(e,t){var n=function(e){return e===Tt.NOT_TRACKED||e===Tt.TRACKED}(t)?t:Mt(e);return{trackingType:n,isTracked:n===Tt.TRACKED}}(e,t)}));return{getId:r.getId,isTracked:function(){return r.getTrackingType()===Tt.TRACKED}}}function Mt(e){return 0!==(t=e.sampleRate)&&100*Math.random()<=t?Tt.TRACKED:Tt.NOT_TRACKED;var t}!function(e){e.NOT_TRACKED="0",e.TRACKED="1"}(Tt||(Tt={}));var Rt={buildMode:"release",datacenter:"us",sdkVersion:"2.8.0"},Ct=["view.url","view.referrer","message","error.stack","http.url"];function Lt(e){var t=window.DD_RUM;return t&&t.getInternalContext?t.getInternalContext(e):void 0}var Bt,It,_t,At,Nt=function(t){var n=!1,r=Ne(),o={},s=new He,a=function(e,t){s.add([e,t])},u=new $e(l);return c={logger:u,init:te((function(e){(function(e){return n?(e.silentMultipleInit||console.error("DD_LOGS is already initialized."),!1):e&&(e.publicApiKey||e.clientToken)?!!(void 0===e.sampleRate||(t=e.sampleRate,function(e){return"number"==typeof e}(t)&&t>=0&&t<=100))||(console.error("Sample Rate should be a number between 0 and 100"),!1):(console.error("Client Token is not configured, we will not send any data."),!1);var t})(e)&&(e.publicApiKey&&(e.clientToken=e.publicApiKey,console.warn("Public API Key is deprecated. Please use Client Token instead.")),a=t(e,u,r.get),s.drain((function(e){var t=e[0],n=e[1];return a(t,n)})),n=!0)})),getLoggerGlobalContext:te(r.get),setLoggerGlobalContext:te(r.set),addLoggerGlobalContext:te(r.add),removeLoggerGlobalContext:te(r.remove),createLogger:te((function(t,n){return void 0===n&&(n={}),o[t]=new $e(l,n.handler,n.level,e(e({},n.context),{logger:{name:t}})),o[t]})),getLogger:te((function(e){return o[e]}))},f=e(e({},c),{onReady:function(e){e()}}),Object.defineProperty(f,"_setDebug",{get:function(){return ie},enumerable:!1}),f;var c,f;function l(e){a(e,i({date:Date.now(),view:{referrer:document.referrer,url:window.location.href}},r.get()))}}((function(e,t,n){var r=Ae(e,Rt),o=r.configuration,s=r.internalMonitoring;return function(e,t,n,r,o,s){n.setExternalContextProvider((function(){return i({session_id:r.getId()},s(),Lt())}));var a=function(e,t){return function(n,r){if(e.isTracked()){var o=i({service:t.service,session_id:e.getId()},r,Lt(),n);if(t.beforeSend)if(!1===pt(o,Ct,t.beforeSend))return;return o}}}(r,e),u=function(e){var t,n=r(e.logsEndpoint);void 0!==e.replica&&(t=r(e.replica.logsEndpoint));function r(t){return new R(new O(t,e.batchBytesLimit),e.maxBatchSize,e.batchBytesLimit,e.maxMessageSize,e.flushTimeout)}return{add:function(e){n.add(e),t&&t.add(e)}}}(e);return t.subscribe((function(e){o.error(e.message,i({date:e.startClocks.timeStamp,error:{kind:e.type,origin:e.source,stack:e.stack}},e.resource?{http:{method:e.resource.method,status_code:e.resource.statusCode,url:e.resource.url}}:void 0,Lt(e.startClocks.relative)))})),function(e,t){var n=a(e,t);n&&u.add(n)}}(o,!1!==e.forwardErrorsToLogs?ct(o):new ut,s,Ot(o,function(e){if(void 0===document.cookie||null===document.cookie)return!1;try{var t="dd_cookie_test_"+le(),n="test";return we(t,n,ce,e),Ee(t)===n}catch(e){return console.error(e),!1}}(o.cookieOptions)),t,n)}));Bt=function(){if("object"==typeof globalThis)return globalThis;Object.defineProperty(Object.prototype,"_dd_temp_",{get:function(){return this},configurable:!0});var e=_dd_temp_;return delete Object.prototype._dd_temp_,"object"!=typeof e&&(e="object"==typeof self?self:"object"==typeof window?window:{}),e}(),_t=Nt,At=Bt[It="DD_LOGS"],Bt[It]=_t,At&&At.q&&At.q.forEach((function(e){return xe(e,"onReady callback threw an error:")()}))}();
!function(){"use strict";var e=function(){return(e=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function t(e,t){var n,r,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,r=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!(o=s.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){s.label=i[1];break}if(6===i[0]&&s.label<o[1]){s.label=o[1],o=i;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(i);break}o[2]&&s.ops.pop(),s.trys.pop();continue}i=t.call(e,s)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,a])}}}function n(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),o=0;for(t=0;t<n;t++)for(var i=arguments[t],s=0,a=i.length;s<a;s++,o++)r[o]=i[s];return r}var r=function(e){return Array.isArray(e)},o=function(e){return!Array.isArray(e)&&"object"==typeof e&&null!==e};function i(){for(var e,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];for(var r=0,o=t;r<o.length;r++){var i=o[r];null!=i&&(e=a(e,i,s()))}return e}function s(){if("undefined"!=typeof WeakSet){var e=new WeakSet;return{hasAlreadyBeenSeen:function(t){var n=e.has(t);return n||e.add(t),n}}}var t=[];return{hasAlreadyBeenSeen:function(e){var n=t.indexOf(e)>=0;return n||t.push(e),n}}}function a(e,t,n){if(void 0===t)return e;if(!o(t)&&!r(t))return t;if(!n.hasAlreadyBeenSeen(t)){if(o(t)&&(void 0===e||o(e))){var i=e||{};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(i[s]=a(i[s],t[s],n));return i}if(r(t)&&(void 0===e||r(e))){(i=e||[]).length=Math.max(i.length,t.length);for(var u=0;u<t.length;u+=1)i[u]=a(i[u],t[u],n);return i}return t}}var u="agent",c="console",f="logger",l="network",d="source";function p(e){var t=h(e);return e.stack.forEach((function(e){var n="?"===e.func?"<anonymous>":e.func,r=e.args&&e.args.length>0?"("+e.args.join(", ")+")":"",o=e.line?":"+e.line:"",i=e.line&&e.column?":"+e.column:"";t+="\n at "+n+r+" @ "+e.url+o+i})),t}function h(e){return(e.name||"Error")+": "+e.message}var v,g=!1;function m(){return g?b():w()}function y(e){return g?e.timeStamp:e.relative}function b(){return Date.now()}function w(){return performance.now()}function E(){return{relative:w(),timeStamp:b()}}function x(e,t){return t-e}function k(e){return Math.round(S()+e)}function S(){return void 0===v&&(v=performance.timing.navigationStart),v}var T=/[^\u0000-\u007F]/,O=function(){function e(e,t,n){void 0===n&&(n=!1),this.endpointUrl=e,this.bytesLimit=t,this.withBatchTime=n}return e.prototype.send=function(e,t){var n=this.withBatchTime?function(e){return e+(-1===e.indexOf("?")?"?":"&")+"batch_time="+(new Date).getTime()+"&m_time="+k(w())}(this.endpointUrl):this.endpointUrl;if(navigator.sendBeacon&&t<this.bytesLimit)try{if(navigator.sendBeacon(n,e))return}catch(e){!function(e){M||(M=!0,re(e))}(e)}var r=new XMLHttpRequest;r.open("POST",n,!0),r.send(e)},e}();var M=!1;var R=function(){function e(e,t,n,r,o,i){void 0===i&&(i=de),this.request=e,this.maxSize=t,this.bytesLimit=n,this.maxMessageSize=r,this.flushTimeout=o,this.beforeUnloadCallback=i,this.pushOnlyBuffer=[],this.upsertBuffer={},this.bufferBytesSize=0,this.bufferMessageCount=0,this.flushOnVisibilityHidden(),this.flushPeriodically()}return e.prototype.add=function(e){this.addOrUpdate(e)},e.prototype.upsert=function(e,t){this.addOrUpdate(e,t)},e.prototype.flush=function(){if(0!==this.bufferMessageCount){var e=n(this.pushOnlyBuffer,(t=this.upsertBuffer,r=[],Object.keys(t).forEach((function(e){r.push(t[e])})),r));this.request.send(e.join("\n"),this.bufferBytesSize),this.pushOnlyBuffer=[],this.upsertBuffer={},this.bufferBytesSize=0,this.bufferMessageCount=0}var t,r},e.prototype.sizeInBytes=function(e){return T.test(e)?void 0!==window.TextEncoder?(new TextEncoder).encode(e).length:new Blob([e]).size:e.length},e.prototype.addOrUpdate=function(e,t){var n=this.process(e),r=n.processedMessage,o=n.messageBytesSize;o>=this.maxMessageSize?console.warn("Discarded a message whose size was bigger than the maximum allowed size "+this.maxMessageSize+"KB."):(this.hasMessageFor(t)&&this.remove(t),this.willReachedBytesLimitWith(o)&&this.flush(),this.push(r,o,t),this.isFull()&&this.flush())},e.prototype.process=function(e){var t=pe(e);return{processedMessage:t,messageBytesSize:this.sizeInBytes(t)}},e.prototype.push=function(e,t,n){this.bufferMessageCount>0&&(this.bufferBytesSize+=1),void 0!==n?this.upsertBuffer[n]=e:this.pushOnlyBuffer.push(e),this.bufferBytesSize+=t,this.bufferMessageCount+=1},e.prototype.remove=function(e){var t=this.upsertBuffer[e];delete this.upsertBuffer[e];var n=this.sizeInBytes(t);this.bufferBytesSize-=n,this.bufferMessageCount-=1,this.bufferMessageCount>0&&(this.bufferBytesSize-=1)},e.prototype.hasMessageFor=function(e){return void 0!==e&&void 0!==this.upsertBuffer[e]},e.prototype.willReachedBytesLimitWith=function(e){return this.bufferBytesSize+e+1>=this.bytesLimit},e.prototype.isFull=function(){return this.bufferMessageCount===this.maxSize||this.bufferBytesSize>=this.bytesLimit},e.prototype.flushPeriodically=function(){var e=this;setTimeout(te((function(){e.flush(),e.flushPeriodically()})),this.flushTimeout)},e.prototype.flushOnVisibilityHidden=function(){var e=this;navigator.sendBeacon&&(ge(window,"beforeunload",this.beforeUnloadCallback),ge(document,"visibilitychange",(function(){"hidden"===document.visibilityState&&e.flush()})),ge(window,"beforeunload",(function(){return e.flush()})))},e}(),C=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/;function L(e){if(_){if(B===e)return;U()}var t=F(e);throw _=t,B=e,setTimeout(te((function(){B===e&&U()})),t.incomplete?2e3:0),e}var B,_,I,A,N,j=[];function D(e){!function(){if(A)return;I=window.onerror,window.onerror=te(z),A=!0}(),function(){if(N)return;null!==window.onunhandledrejection?window.onunhandledrejection:void 0,window.onunhandledrejection=te(H),N=!0}(),j.push(e)}function P(e,t,n){var r;if(j.forEach((function(o){try{o(e,t,n)}catch(e){r=e}})),r)throw r}function z(e,t,n,r,o){if(_)K(_,t,n),U();else if(o)P(F(o),!0,o);else{var i,s={url:t,column:r,line:n},a=e;if("[object String]"==={}.toString.call(e)){var u=C.exec(a);u&&(i=u[1],a=u[2])}P({name:i,message:"string"==typeof a?a:void 0,stack:[s]},!0,e)}return!!I&&I.apply(this,arguments)}function H(e){var t=e.reason||"Empty reason";P(F(t),!0,t)}function U(){var e=_,t=B;_=void 0,B=void 0,P(e,!1,t)}var q="?";function F(e,t){var n,r=void 0===t?0:+t;try{if(n=function(e){var t=J(e,"stacktrace");if(!t)return;for(var n,r=/ line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i,o=/ line (\d+), column (\d+)\s*(?:in (?:<anonymous function: ([^>]+)>|([^\)]+))\((.*)\))? in (.*):\s*$/i,i=t.split("\n"),s=[],a=0;a<i.length;a+=2){var u=void 0;r.exec(i[a])?u={args:[],column:void 0,func:(n=r.exec(i[a]))[3],line:+n[1],url:n[2]}:o.exec(i[a])&&(u={args:(n=o.exec(i[a]))[5]?n[5].split(","):[],column:+n[2],func:n[3]||n[4],line:+n[1],url:n[6]}),u&&(!u.func&&u.line&&(u.func=q),u.context=[i[a+1]],s.push(u))}if(!s.length)return;return{stack:s,message:J(e,"message"),name:J(e,"name")}}(e))return n}catch(e){if($)throw e}try{if(n=function(e){var t=J(e,"stack");if(!t)return;for(var n,r,o,i,s=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,a=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|capacitor|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i,u=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i,c=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,f=/\((\S*)(?::(\d+))(?::(\d+))\)/,l=t.split("\n"),d=[],p=0,h=l.length;p<h;p+=1){if(s.exec(l[p])){var v=(o=s.exec(l[p]))[2]&&0===o[2].indexOf("native");n=o[2]&&0===o[2].indexOf("eval"),r=f.exec(o[2]),n&&r&&(o[2]=r[1],o[3]=r[2],o[4]=r[3]),i={args:v?[o[2]]:[],column:o[4]?+o[4]:void 0,func:o[1]||q,line:o[3]?+o[3]:void 0,url:v?void 0:o[2]}}else if(u.exec(l[p]))i={args:[],column:(o=u.exec(l[p]))[4]?+o[4]:void 0,func:o[1]||q,line:+o[3],url:o[2]};else{if(!a.exec(l[p]))continue;n=(o=a.exec(l[p]))[3]&&o[3].indexOf(" > eval")>-1,r=c.exec(o[3]),n&&r?(o[3]=r[1],o[4]=r[2],o[5]=void 0):0!==p||o[5]||W(e.columnNumber)||(d[0].column=e.columnNumber+1),i={args:o[2]?o[2].split(","):[],column:o[5]?+o[5]:void 0,func:o[1]||q,line:o[4]?+o[4]:void 0,url:o[3]}}!i.func&&i.line&&(i.func=q),d.push(i)}if(!d.length)return;return{stack:d,message:J(e,"message"),name:J(e,"name")}}(e))return n}catch(e){if($)throw e}try{if(n=function(e){var t=J(e,"message");if(!t)return;var n=t.split("\n");if(n.length<4)return;var r,o=/^\s*Line (\d+) of linked script ((?:file|https?|blob)\S+)(?:: in function (\S+))?\s*$/i,i=/^\s*Line (\d+) of inline#(\d+) script in ((?:file|https?|blob)\S+)(?:: in function (\S+))?\s*$/i,s=/^\s*Line (\d+) of function script\s*$/i,a=[],u=window&&window.document&&window.document.getElementsByTagName("script"),c=[];for(var f in u)V(u,f)&&!u[f].src&&c.push(u[f]);for(var l=2;l<n.length;l+=2){var d=void 0;if(o.exec(n[l]))d={args:[],column:void 0,func:(r=o.exec(n[l]))[3],line:+r[1],url:r[2]};else if(i.exec(n[l]))d={args:[],column:void 0,func:(r=i.exec(n[l]))[4],line:+r[1],url:r[3]};else if(s.exec(n[l])){r=s.exec(n[l]),d={url:window.location.href.replace(/#.*$/,""),args:[],column:void 0,func:"",line:+r[1]}}d&&(d.func||(d.func=q),d.context=[n[l+1]],a.push(d))}if(!a.length)return;return{stack:a,message:n[0],name:J(e,"name")}}(e))return n}catch(e){if($)throw e}try{if(n=X(e,r+1))return n}catch(e){if($)throw e}return{message:J(e,"message"),name:J(e,"name"),stack:[]}}var G,$=!1;function K(e,t,n){var r={url:t,line:n?+n:void 0};if(r.url&&r.line){e.incomplete=!1;var o=e.stack;if(o.length>0&&o[0].url===r.url){if(o[0].line===r.line)return!1;if(!o[0].line&&o[0].func===r.func)return o[0].line=r.line,o[0].context=r.context,!1}return o.unshift(r),e.partial=!0,!0}return e.incomplete=!0,!1}function X(e,t){for(var n,r,o=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,i=[],s={},a=!1,u=X.caller;u&&!a;u=u.caller)u!==F&&u!==L&&(r={args:[],column:void 0,func:q,line:void 0,url:void 0},n=o.exec(u.toString()),u.name?r.func=u.name:n&&(r.func=n[1]),void 0===r.func&&(r.func=n?n.input.substring(0,n.input.indexOf("{")):void 0),s[u.toString()]?a=!0:s[u.toString()]=!0,i.push(r));t&&i.splice(0,t);var c={stack:i,message:J(e,"message"),name:J(e,"name")};return K(c,J(e,"sourceURL")||J(e,"fileName"),J(e,"line")||J(e,"lineNumber")),c}function J(e,t){if("object"==typeof e&&e&&t in e){var n=e[t];return"string"==typeof n?n:void 0}}function V(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function W(e){return void 0===e}!function(e){e.info="info",e.error="error"}(G||(G={}));var Z,Y={maxMessagesPerPage:0,sentMessageCount:0};function Q(e){if(e.internalMonitoringEndpoint){var t=function(e){var t,n=r(e.internalMonitoringEndpoint);void 0!==e.replica&&(t=r(e.replica.internalMonitoringEndpoint));function r(t){return new R(new O(t,e.batchBytesLimit),e.maxBatchSize,e.batchBytesLimit,e.maxMessageSize,e.flushTimeout)}function o(e){return i({date:(new Date).getTime(),view:{referrer:document.referrer,url:window.location.href}},void 0!==Z?Z():{},e)}return{add:function(e){var r=o(e);n.add(r),t&&t.add(r)}}}(e);!function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];t.forEach((function(t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}))}(Y,{batch:t,maxMessagesPerPage:e.maxInternalMonitoringMessagesPerPage,sentMessageCount:0})}return{setExternalContextProvider:function(e){Z=e}}}function ee(e,t,n){var r=n.value;n.value=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=Y.batch?te(r):r;return n.apply(this,e)}}function te(e){return function(){return ne(e,this,arguments)}}function ne(e,t,n){try{return e.apply(t,n)}catch(e){se(e);try{re(e)}catch(e){se(e)}}}function re(t){oe(e(e({},function(e){if(e instanceof Error){var t=F(e);return{error:{kind:t.name,stack:p(t)},message:t.message}}return{error:{stack:"Not an instance of error"},message:"Uncaught "+pe(e)}}(t)),{status:G.error}))}function oe(e){Y.batch&&Y.sentMessageCount<Y.maxMessagesPerPage&&(Y.sentMessageCount+=1,Y.batch.add(e))}function ie(e){Y.debugMode=e}function se(e){Y.debugMode&&console.warn("[INTERNAL ERROR]",e)}var ae,ue,ce=1e3,fe=6e4;function le(e){return e?(parseInt(e,10)^16*Math.random()>>parseInt(e,10)/4).toString(16):"10000000-1000-4000-8000-100000000000".replace(/[018]/g,le)}function de(){}function pe(e,t,n){if(null==e)return JSON.stringify(e);var r=[!1,void 0];he(e)&&(r=[!0,e.toJSON],delete e.toJSON);var o,i,s=[!1,void 0];"object"==typeof e&&he(o=Object.getPrototypeOf(e))&&(s=[!0,o.toJSON],delete o.toJSON);try{i=JSON.stringify(e,t,n)}catch(e){i="<error: unable to serialize object>"}finally{r[0]&&(e.toJSON=r[1]),s[0]&&(o.toJSON=s[1])}return i}function he(e){return"object"==typeof e&&null!==e&&e.hasOwnProperty("toJSON")}function ve(e,t){return-1!==e.indexOf(t)}function ge(e,t,n,r){return me(e,[t],n,r)}function me(e,t,n,r){var o=void 0===r?{}:r,i=o.once,s=o.capture,a=o.passive,u=te(i?function(e){f(),n(e)}:n),c=a?{capture:s,passive:a}:s;t.forEach((function(t){return e.addEventListener(t,u,c)}));var f=function(){return t.forEach((function(t){return e.removeEventListener(t,u,c)}))};return{stop:f}}!function(e){e.DOCUMENT="document",e.XHR="xhr",e.BEACON="beacon",e.FETCH="fetch",e.CSS="css",e.JS="js",e.IMAGE="image",e.FONT="font",e.MEDIA="media",e.OTHER="other"}(ae||(ae={})),function(e){e.FETCH="fetch",e.XHR="xhr"}(ue||(ue={}));var ye,be;function we(e,t,n,r){var o=new Date;o.setTime(o.getTime()+n);var i="expires="+o.toUTCString(),s=r&&r.crossSite?"none":"strict",a=r&&r.domain?";domain="+r.domain:"",u=r&&r.secure?";secure":"";document.cookie=e+"="+t+";"+i+";path=/;samesite="+s+a+u}function Ee(e){return function(e,t){var n=new RegExp("(?:^|;)\\s*"+t+"\\s*=\\s*([^;]+)").exec(e);return n?n[1]:void 0}(document.cookie,e)}function xe(e,t){return function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];try{return e.apply(void 0,n)}catch(e){console.error(t,e)}}}var ke={alternate:{logs:"logs",rum:"rum",sessionReplay:"session-replay",trace:"trace"},classic:{logs:"browser",rum:"rum",sessionReplay:void 0,trace:"public-trace"}},Se="eu",Te="us",Oe=((be={})[Se]="datadoghq.eu",be[Te]="datadoghq.com",be),Me=[Oe[Te],Oe[Se]];function Re(t,n){var r={buildMode:n.buildMode,clientToken:t.clientToken,env:t.env,proxyHost:t.proxyHost,sdkVersion:n.sdkVersion,service:t.service,site:t.site||Oe[t.datacenter||n.datacenter],version:t.version},o=function(e,t){return!t.useAlternateIntakeDomains&&ve(Me,e)?"classic":"alternate"}(r.site,t),i=function(e,t,n){if(t.proxyHost)return["https://"+t.proxyHost+"/v1/input/"];var r=[t.site];t.buildMode===Be.STAGING&&n&&r.push(Oe[Te]);for(var o=[],i=Object.keys(ke[e]),s=0,a=r;s<a.length;s++)for(var u=a[s],c=0,f=i;c<f.length;c++){var l=f[c];o.push("https://"+Ce(e,l,u)+"/v1/input/")}return o}(o,r,void 0!==t.replica),s={isIntakeUrl:function(e){return i.some((function(t){return 0===e.indexOf(t)}))},logsEndpoint:Le(o,"logs",r),rumEndpoint:Le(o,"rum",r),sessionReplayEndpoint:Le(o,"sessionReplay",r),traceEndpoint:Le(o,"trace",r)};if(t.internalMonitoringApiKey&&(s.internalMonitoringEndpoint=Le(o,"logs",r,"browser-agent-internal-monitoring")),r.buildMode===Be.E2E_TEST&&(s.internalMonitoringEndpoint="<<< E2E INTERNAL MONITORING ENDPOINT >>>",s.logsEndpoint="<<< E2E LOGS ENDPOINT >>>",s.rumEndpoint="<<< E2E RUM ENDPOINT >>>",s.sessionReplayEndpoint="<<< E2E SESSION REPLAY ENDPOINT >>>"),r.buildMode===Be.STAGING&&void 0!==t.replica){var a=e(e({},r),{applicationId:t.replica.applicationId,clientToken:t.replica.clientToken,site:Oe[Te]});s.replica={applicationId:t.replica.applicationId,internalMonitoringEndpoint:Le(o,"logs",a,"browser-agent-internal-monitoring"),logsEndpoint:Le(o,"logs",a),rumEndpoint:Le(o,"rum",a)}}return s}function Ce(e,t,n){return"classic"===e&&function(e,t){var n=ke.classic[e];return n&&n+"-http-intake.logs."+t}(t,n)||function(e,t){var n=ke.alternate[e],r=t.split("."),o=r.pop(),i=r.join("-")+"."+o;return n+".browser-intake-"+i}(t,n)}function Le(e,t,n,r){var o="sdk_version:"+n.sdkVersion+(n.env?",env:"+n.env:"")+(n.service?",service:"+n.service:"")+(n.version?",version:"+n.version:""),i=Ce(e,t,n.site),s=n.proxyHost?n.proxyHost:i,a=(n.proxyHost?"ddhost="+i+"&":"")+"ddsource="+(r||"browser")+"&ddtags="+encodeURIComponent(o);return"https://"+s+"/v1/input/"+n.clientToken+"?"+a}var Be,_e={allowedTracingOrigins:[],maxErrorsByMinute:3e3,maxInternalMonitoringMessagesPerPage:15,resourceSampleRate:100,sampleRate:100,silentMultipleInit:!1,trackInteractions:!1,requestErrorResponseLengthLimit:32768,flushTimeout:3e4,maxBatchSize:50,maxMessageSize:262144,batchBytesLimit:16384};function Ie(e){var t={};return t.secure=function(e){return!!e.useSecureSessionCookie||!!e.useCrossSiteSessionCookie}(e),t.crossSite=!!e.useCrossSiteSessionCookie,e.trackSessionAcrossSubdomains&&(t.domain=function(){if(void 0===ye){for(var e="dd_site_test_"+le(),t=window.location.hostname.split("."),n=t.pop();t.length&&!Ee(e);)n=t.pop()+"."+n,we(e,"test",ce,{domain:n});ye=n}return ye}()),t}function Ae(t,n){var r=function(t,n){var r=Array.isArray(t.enableExperimentalFeatures)?t.enableExperimentalFeatures:[],o=e(e({beforeSend:t.beforeSend&&xe(t.beforeSend,"beforeSend threw an error:"),cookieOptions:Ie(t),isEnabled:function(e){return ve(r,e)},service:t.service},Re(t,n)),_e);return"allowedTracingOrigins"in t&&(o.allowedTracingOrigins=t.allowedTracingOrigins),"sampleRate"in t&&(o.sampleRate=t.sampleRate),"resourceSampleRate"in t&&(o.resourceSampleRate=t.resourceSampleRate),"trackInteractions"in t&&(o.trackInteractions=!!t.trackInteractions),o}(t,n);return r.isEnabled("system-clock")&&(g=!0),{configuration:r,internalMonitoring:Q(r)}}function Ne(){var e={};return{get:function(){return e},add:function(t,n){e[t]=n},remove:function(t){delete e[t]},set:function(t){e=t}}}!function(e){e.RELEASE="release",e.STAGING="staging",e.E2E_TEST="e2e-test"}(Be||(Be={}));var je,De,Pe,ze,He=function(){function e(e){void 0===e&&(e=1e4),this.limit=e,this.buffer=[]}return e.prototype.add=function(e){this.buffer.push(e)>this.limit&&this.buffer.splice(0,1)},e.prototype.drain=function(e){this.buffer.forEach((function(t){return e(t)})),this.buffer.length=0},e}(),Ue={debug:"debug",error:"error",info:"info",warn:"warn"},qe=((je={})[Ue.debug]=0,je[Ue.info]=1,je[Ue.warn]=2,je[Ue.error]=3,je),Fe=(Object.keys(Ue),"console"),Ge="http",$e=function(){function t(e,t,n,r){void 0===t&&(t=Ge),void 0===n&&(n=Ue.debug),void 0===r&&(r={}),this.sendLog=e,this.handlerType=t,this.level=n,this.contextManager=Ne(),this.contextManager.set(r)}return t.prototype.log=function(t,n,r){if(void 0===r&&(r=Ue.info),qe[r]>=qe[this.level])switch(this.handlerType){case Ge:this.sendLog(e({message:t,status:r},i(this.contextManager.get(),n)));break;case Fe:console.log(r+": "+t,i(this.contextManager.get(),n))}},t.prototype.debug=function(e,t){this.log(e,t,Ue.debug)},t.prototype.info=function(e,t){this.log(e,t,Ue.info)},t.prototype.warn=function(e,t){this.log(e,t,Ue.warn)},t.prototype.error=function(e,t){var n={error:{origin:f}};this.log(e,i(n,t),Ue.error)},t.prototype.setContext=function(e){this.contextManager.set(e)},t.prototype.addContext=function(e,t){this.contextManager.add(e,t)},t.prototype.removeContext=function(e){this.contextManager.remove(e)},t.prototype.setHandler=function(e){this.handlerType=e},t.prototype.setLevel=function(e){this.level=e},function(e,t,n,r){var o,i=arguments.length,s=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(i<3?o(s):i>3?o(t,n,s):o(t,n))||s);i>3&&s&&Object.defineProperty(t,n,s)}([ee],t.prototype,"log",null),t}();function Ke(e){return Xe(e,function(e){if(e.origin)return e.origin;var t=e.host.replace(/(:80|:443)$/,"");return e.protocol+"//"+t}(window.location)).href}function Xe(e,t){if(function(){if(void 0!==De)return De;try{var e=new URL("http://test/path");return De="http://test/path"===e.href}catch(e){De=!1}return De}())return void 0!==t?new URL(e,t):new URL(e);if(void 0===t&&!/:/.test(e))throw new Error("Invalid URL: '"+e+"'");var n=document,r=n.createElement("a");if(void 0!==t){var o=(n=document.implementation.createHTMLDocument("")).createElement("base");o.href=t,n.head.appendChild(o),n.body.appendChild(r)}return r.href=e,r}var Je,Ve=[],We=[];function Ze(){return Pe||(!function(){if(!window.fetch)return;ze=window.fetch,window.fetch=function(e,t){var n,r=ne(Ye,null,[e,t]);return r?ne(Qe,null,[n=ze.call(this,r.input,r.init),r]):n=ze.call(this,e,t),n}}(),Pe={beforeSend:function(e){Ve.push(e)},onRequestComplete:function(e){We.push(e)}}),Pe}function Ye(e,t){var n=t&&t.method||"object"==typeof e&&e.method||"GET",r=Ke("object"==typeof e&&e.url||e),o={init:t,input:e,method:n,startClocks:E(),url:r};return Ve.forEach((function(e){return e(o)})),o}function Qe(e,n){var r=this,o=function(e){return o=r,i=void 0,a=function(){var r,o;return t(this,(function(t){switch(t.label){case 0:return n.duration=x(y(n.startClocks),m()),"stack"in e||e instanceof Error?(n.status=0,n.response=p(F(e)),n.isAborted=e instanceof DOMException&&e.code===DOMException.ABORT_ERR,We.forEach((function(e){return e(n)})),[3,6]):[3,1];case 1:if(!("status"in e))return[3,6];r=void 0,t.label=2;case 2:return t.trys.push([2,4,,5]),[4,e.clone().text()];case 3:return r=t.sent(),[3,5];case 4:return o=t.sent(),r="Unable to retrieve response: "+o,[3,5];case 5:n.response=r,n.responseType=e.type,n.status=e.status,n.isAborted=!1,We.forEach((function(e){return e(n)})),t.label=6;case 6:return[2]}}))},new((s=void 0)||(s=Promise))((function(e,t){function n(e){try{u(a.next(e))}catch(e){t(e)}}function r(e){try{u(a.throw(e))}catch(e){t(e)}}function u(t){t.done?e(t.value):new s((function(e){e(t.value)})).then(n,r)}u((a=a.apply(o,i||[])).next())}));var o,i,s,a};e.then(te(o),te(o))}var et,tt,nt,rt=[],ot=[];function it(){return Je||(et=XMLHttpRequest.prototype.open,tt=XMLHttpRequest.prototype.send,nt=XMLHttpRequest.prototype.abort,XMLHttpRequest.prototype.open=function(e,t){var n=this;return ne((function(){n._datadog_xhr={method:e,url:Ke(t)}})),et.apply(this,arguments)},XMLHttpRequest.prototype.send=function(){var t=this;return ne((function(){if(t._datadog_xhr){var n=t._datadog_xhr;n.startTime=w(),n.startClocks=E(),n.isAborted=!1;var r=t.onreadystatechange;t.onreadystatechange=function(){this.readyState===XMLHttpRequest.DONE&&ne(i),r&&r.apply(this,arguments)};var o=!1,i=function(){if(!o){o=!0;var r=e(e({},n),{duration:x(y(n.startClocks),m()),response:t.response,status:t.status});ot.forEach((function(e){return e(r)}))}};t.addEventListener("loadend",te(i)),rt.forEach((function(e){return e(n,t)}))}})),tt.apply(this,arguments)},XMLHttpRequest.prototype.abort=function(){var e=this;return ne((function(){e._datadog_xhr&&(e._datadog_xhr.isAborted=!0)})),nt.apply(this,arguments)},Je={beforeSend:function(e){rt.push(e)},onRequestComplete:function(e){ot.push(e)}}),Je}var st,at,ut=function(){function e(){this.observers=[]}return e.prototype.subscribe=function(e){this.observers.push(e)},e.prototype.notify=function(e){this.observers.forEach((function(t){return t(e)}))},e}();function ct(t){return st||(function(e,t){function n(n,r){e.isIntakeUrl(r.url)||e.isEnabled("remove-network-errors")&&r.isAborted||!function(e){return 0===e.status&&"opaque"!==e.responseType}(r)&&!function(e){return e.status>=500}(r)||t.notify({message:dt(n)+" error "+r.method+" "+r.url,resource:{method:r.method,statusCode:r.status,url:r.url},source:l,stack:lt(r.response,e)||"Failed to load",startClocks:r.startClocks})}it().onRequestComplete((function(e){return n(ue.XHR,e)})),Ze().onRequestComplete((function(e){return n(ue.FETCH,e)}))}(t,st=new ut),function(t){at=console.error,console.error=te((function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];at.apply(console,n),t.notify(e(e({},ft(n)),{source:c,startClocks:E()}))}))}(st),function(e){D((function(t,n,r){var o=function(e,t,n){return e&&(void 0!==e.message||t instanceof Error)?{message:e.message||"Empty message",stack:p(e),type:e.name}:{message:n+" "+pe(t),stack:"No stack, consider using an instance of Error",type:e&&e.name}}(t,r,"Uncaught"),i=o.stack,s=o.message,a=o.type;e.notify({message:s,stack:i,type:a,source:d,startClocks:E()})}))}(st)),st}function ft(e){var t=function(e,t){for(var n=0;n<e.length;n+=1){var r=e[n];if(t(r,n,e))return r}}(e,(function(e){return e instanceof Error}));return{message:n(["console error:"],e).map((function(e){return function(e){if("string"==typeof e)return e;if(e instanceof Error)return h(F(e));return pe(e,void 0,2)}(e)})).join(" "),stack:t?p(F(t)):void 0}}function lt(e,t){return e&&e.length>t.requestErrorResponseLengthLimit?e.substring(0,t.requestErrorResponseLengthLimit)+"...":e}function dt(e){return ue.XHR===e?"XHR":"Fetch"}function pt(e,t,n){var r=a(void 0,e,s()),o=n(r);return t.forEach((function(t){var n=ht(e,t),o=ht(r,t);"string"==typeof n&&"string"==typeof o&&function(e,t,n){for(var r=e,o=t.split("."),i=0;i<o.length;i+=1){var s=o[i];if(!vt(r,s))return;i!==o.length-1?r=r[s]:r[s]=n}}(e,t,o)})),o}function ht(e,t){for(var n=e,r=0,o=t.split(".");r<o.length;r++){var i=o[r];if(!vt(n,i))return;n=n[i]}return n}function vt(e,t){return"object"==typeof e&&null!==e&&t in e}var gt=9e5,mt=144e5;function yt(e,t,n){var r=function(e,t){var n,r,o=!1,i=function(){o=!0,clearTimeout(n),n=setTimeout((function(){o=!1}),1e3)};return{get:function(){return o||(r=Ee(e),i()),r},set:function(n,o){we(e,n,o,t),r=n,i()}}}("_dd_s",e);!function(e){var t=e.get(),n=Ee("_dd"),r=Ee("_dd_r"),o=Ee("_dd_l");if(!t){var i={};n&&(i.id=n),o&&/^[01]$/.test(o)&&(i.logs=o),r&&/^[012]$/.test(r)&&(i.rum=r),xt(i,e)}}(r);var o=new ut,i=Et(r).id,s=function(e,t,n){var r,o,i=!n||void 0===n.leading||n.leading,s=!n||void 0===n.trailing||n.trailing,a=!1;return{throttled:function(){for(var n=[],u=0;u<arguments.length;u++)n[u]=arguments[u];a?r=n:(i?e.apply(void 0,n):r=n,a=!0,o=setTimeout((function(){s&&r&&e.apply(void 0,r),a=!1,r=void 0}),t))},cancel:function(){clearTimeout(o),a=!1,r=void 0}}}(te((function(){var e=Et(r),s=n(e[t]),a=s.trackingType,u=s.isTracked;e[t]=a,u&&!e.id&&(e.id=le(),e.created=String(Date.now())),xt(e,r),u&&i!==e.id&&(i=e.id,o.notify())})),1e3).throttled;return s(),function(e){var t=me(window,["click","touchstart","keydown","scroll"],e,{capture:!0,passive:!0}).stop;St.push(t)}(s),function(e){var t=te((function(){"visible"===document.visibilityState&&e()})),n=ge(document,"visibilitychange",t).stop;St.push(n);var r=setInterval(t,6e4);St.push((function(){clearInterval(r)}))}((function(){xt(Et(r),r)})),{getId:function(){return Et(r).id},getTrackingType:function(){return Et(r)[t]},renewObservable:o}}var bt=/^([a-z]+)=([a-z0-9-]+)$/,wt="&";function Et(e){var t=function(e){var t=e.get(),n={};(function(e){return void 0!==e&&(-1!==e.indexOf("&")||bt.test(e))})(t)&&t.split(wt).forEach((function(e){var t=bt.exec(e);if(null!==t){var r=t[1],o=t[2];n[r]=o}}));return n}(e);return function(e){return(void 0===e.created||Date.now()-Number(e.created)<mt)&&(void 0===e.expire||Date.now()<Number(e.expire))}(t)?t:(kt(e),{})}function xt(e,t){if(n=e,0!==Object.keys(n).length){var n;e.expire=String(Date.now()+gt);var r=function(e){return Object.keys(e).map((function(t){return[t,e[t]]}))}(e).map((function(e){return e[0]+"="+e[1]})).join(wt);t.set(r,gt)}else kt(t)}function kt(e){e.set("",0)}var St=[];var Tt;function Ot(e,t){if(!t){var n=Mt(e)===Tt.TRACKED;return{getId:function(){},isTracked:function(){return n}}}var r=yt(e.cookieOptions,"logs",(function(t){return function(e,t){var n=function(e){return e===Tt.NOT_TRACKED||e===Tt.TRACKED}(t)?t:Mt(e);return{trackingType:n,isTracked:n===Tt.TRACKED}}(e,t)}));return{getId:r.getId,isTracked:function(){return r.getTrackingType()===Tt.TRACKED}}}function Mt(e){return 0!==(t=e.sampleRate)&&100*Math.random()<=t?Tt.TRACKED:Tt.NOT_TRACKED;var t}!function(e){e.NOT_TRACKED="0",e.TRACKED="1"}(Tt||(Tt={}));var Rt={buildMode:"release",datacenter:"us",sdkVersion:"2.8.1"},Ct=["view.url","view.referrer","message","error.stack","http.url"];function Lt(e){var t=window.DD_RUM;return t&&t.getInternalContext?t.getInternalContext(e):void 0}var Bt,_t,It,At,Nt=function(t){var n=!1,r=Ne(),o={},s=new He,a=function(e,t){s.add([e,t])},u=new $e(l);return c={logger:u,init:te((function(e){(function(e){return n?(e.silentMultipleInit||console.error("DD_LOGS is already initialized."),!1):e&&(e.publicApiKey||e.clientToken)?!!(void 0===e.sampleRate||(t=e.sampleRate,function(e){return"number"==typeof e}(t)&&t>=0&&t<=100))||(console.error("Sample Rate should be a number between 0 and 100"),!1):(console.error("Client Token is not configured, we will not send any data."),!1);var t})(e)&&(e.publicApiKey&&(e.clientToken=e.publicApiKey,console.warn("Public API Key is deprecated. Please use Client Token instead.")),a=t(e,u,r.get),s.drain((function(e){var t=e[0],n=e[1];return a(t,n)})),n=!0)})),getLoggerGlobalContext:te(r.get),setLoggerGlobalContext:te(r.set),addLoggerGlobalContext:te(r.add),removeLoggerGlobalContext:te(r.remove),createLogger:te((function(t,n){return void 0===n&&(n={}),o[t]=new $e(l,n.handler,n.level,e(e({},n.context),{logger:{name:t}})),o[t]})),getLogger:te((function(e){return o[e]}))},f=e(e({},c),{onReady:function(e){e()}}),Object.defineProperty(f,"_setDebug",{get:function(){return ie},enumerable:!1}),f;var c,f;function l(e){a(e,i({date:Date.now(),view:{referrer:document.referrer,url:window.location.href}},r.get()))}}((function(e,t,n){var r=Ae(e,Rt),o=r.configuration,s=r.internalMonitoring;return function(e,t,n,r,o,s){n.setExternalContextProvider((function(){return i({session_id:r.getId()},s(),Lt())}));var a=function(e,t,n){var r=function(e,t){var n=0,r=!1;return{isLimitReached:function(){if(0===n&&setTimeout((function(){n=0}),fe),(n+=1)<=e.maxErrorsByMinute||r)return r=!1,!1;if(n===e.maxErrorsByMinute+1){r=!0;try{t({message:"Reached max number of errors by minute: "+e.maxErrorsByMinute,source:u,startClocks:E()})}finally{r=!1}}return!0}}}(t,n);return function(n,o){if(e.isTracked()){var s=i({service:t.service,session_id:e.getId()},o,Lt(),n);if(t.beforeSend)if(!1===pt(s,Ct,t.beforeSend))return;if(s.status!==Ue.error||!r.isLimitReached())return s}}}(r,e,f),c=function(e){var t,n=r(e.logsEndpoint);void 0!==e.replica&&(t=r(e.replica.logsEndpoint));function r(t){return new R(new O(t,e.batchBytesLimit),e.maxBatchSize,e.batchBytesLimit,e.maxMessageSize,e.flushTimeout)}return{add:function(e){n.add(e),t&&t.add(e)}}}(e);function f(e){o.error(e.message,i({date:e.startClocks.timeStamp,error:{kind:e.type,origin:e.source,stack:e.stack}},e.resource?{http:{method:e.resource.method,status_code:e.resource.statusCode,url:e.resource.url}}:void 0,Lt(e.startClocks.relative)))}return t.subscribe(f),function(e,t){var n=a(e,t);n&&c.add(n)}}(o,!1!==e.forwardErrorsToLogs?ct(o):new ut,s,Ot(o,function(e){if(void 0===document.cookie||null===document.cookie)return!1;try{var t="dd_cookie_test_"+le(),n="test";return we(t,n,ce,e),Ee(t)===n}catch(e){return console.error(e),!1}}(o.cookieOptions)),t,n)}));Bt=function(){if("object"==typeof globalThis)return globalThis;Object.defineProperty(Object.prototype,"_dd_temp_",{get:function(){return this},configurable:!0});var e=_dd_temp_;return delete Object.prototype._dd_temp_,"object"!=typeof e&&(e="object"==typeof self?self:"object"==typeof window?window:{}),e}(),It=Nt,At=Bt[_t="DD_LOGS"],Bt[_t]=It,At&&At.q&&At.q.forEach((function(e){return xe(e,"onReady callback threw an error:")()}))}();

@@ -7,4 +7,4 @@ "use strict";

datacenter: 'us',
sdkVersion: '2.8.0',
sdkVersion: '2.8.1',
};
//# sourceMappingURL=buildEnv.js.map

@@ -1,2 +0,2 @@

import { Configuration, Context, ErrorObservable, InternalMonitoring, UserConfiguration } from '@datadog/browser-core';
import { Configuration, Context, ErrorObservable, InternalMonitoring, RawError, UserConfiguration } from '@datadog/browser-core';
import { Logger, LogsMessage } from '../domain/logger';

@@ -11,3 +11,3 @@ import { LoggerSession } from '../domain/loggerSession';

export declare function doStartLogs(configuration: Configuration, errorObservable: ErrorObservable, internalMonitoring: InternalMonitoring, session: LoggerSession, errorLogger: Logger, getGlobalContext: () => Context): (message: LogsMessage, currentContext: Context) => void;
export declare function buildAssemble(session: LoggerSession, configuration: Configuration): (message: LogsMessage, currentContext: Context) => Context | undefined;
export declare function buildAssemble(session: LoggerSession, configuration: Configuration, reportError: (error: RawError) => void): (message: LogsMessage, currentContext: Context) => Context | undefined;
export declare function assembleMessageContexts(defaultContext: {

@@ -14,0 +14,0 @@ service?: string;

@@ -5,2 +5,3 @@ "use strict";

var browser_core_1 = require("@datadog/browser-core");
var logger_1 = require("../domain/logger");
var loggerSession_1 = require("../domain/loggerSession");

@@ -22,5 +23,5 @@ var buildEnv_1 = require("./buildEnv");

});
var assemble = buildAssemble(session, configuration);
var assemble = buildAssemble(session, configuration, reportError);
var batch = startLoggerBatch(configuration);
errorObservable.subscribe(function (error) {
function reportError(error) {
errorLogger.error(error.message, browser_core_1.combine({

@@ -42,3 +43,4 @@ date: error.startClocks.timeStamp,

: undefined, getRUMInternalContext(error.startClocks.relative)));
});
}
errorObservable.subscribe(reportError);
return function (message, currentContext) {

@@ -70,3 +72,4 @@ var contextualizedMessage = assemble(message, currentContext);

}
function buildAssemble(session, configuration) {
function buildAssemble(session, configuration, reportError) {
var errorFilter = browser_core_1.createErrorFilter(configuration, reportError);
return function (message, currentContext) {

@@ -83,2 +86,5 @@ if (!session.isTracked()) {

}
if (contextualizedMessage.status === logger_1.StatusType.error && errorFilter.isLimitReached()) {
return undefined;
}
return contextualizedMessage;

@@ -85,0 +91,0 @@ };

export var buildEnv = {
buildMode: 'release',
datacenter: 'us',
sdkVersion: '2.8.0',
sdkVersion: '2.8.1',
};
//# sourceMappingURL=buildEnv.js.map

@@ -1,2 +0,2 @@

import { Configuration, Context, ErrorObservable, InternalMonitoring, UserConfiguration } from '@datadog/browser-core';
import { Configuration, Context, ErrorObservable, InternalMonitoring, RawError, UserConfiguration } from '@datadog/browser-core';
import { Logger, LogsMessage } from '../domain/logger';

@@ -11,3 +11,3 @@ import { LoggerSession } from '../domain/loggerSession';

export declare function doStartLogs(configuration: Configuration, errorObservable: ErrorObservable, internalMonitoring: InternalMonitoring, session: LoggerSession, errorLogger: Logger, getGlobalContext: () => Context): (message: LogsMessage, currentContext: Context) => void;
export declare function buildAssemble(session: LoggerSession, configuration: Configuration): (message: LogsMessage, currentContext: Context) => Context | undefined;
export declare function buildAssemble(session: LoggerSession, configuration: Configuration, reportError: (error: RawError) => void): (message: LogsMessage, currentContext: Context) => Context | undefined;
export declare function assembleMessageContexts(defaultContext: {

@@ -14,0 +14,0 @@ service?: string;

@@ -1,2 +0,3 @@

import { areCookiesAuthorized, Batch, combine, commonInit, HttpRequest, limitModification, Observable, startAutomaticErrorCollection, } from '@datadog/browser-core';
import { areCookiesAuthorized, Batch, combine, commonInit, createErrorFilter, HttpRequest, limitModification, Observable, startAutomaticErrorCollection, } from '@datadog/browser-core';
import { StatusType } from '../domain/logger';
import { startLoggerSession } from '../domain/loggerSession';

@@ -17,5 +18,5 @@ import { buildEnv } from './buildEnv';

});
var assemble = buildAssemble(session, configuration);
var assemble = buildAssemble(session, configuration, reportError);
var batch = startLoggerBatch(configuration);
errorObservable.subscribe(function (error) {
function reportError(error) {
errorLogger.error(error.message, combine({

@@ -37,3 +38,4 @@ date: error.startClocks.timeStamp,

: undefined, getRUMInternalContext(error.startClocks.relative)));
});
}
errorObservable.subscribe(reportError);
return function (message, currentContext) {

@@ -64,3 +66,4 @@ var contextualizedMessage = assemble(message, currentContext);

}
export function buildAssemble(session, configuration) {
export function buildAssemble(session, configuration, reportError) {
var errorFilter = createErrorFilter(configuration, reportError);
return function (message, currentContext) {

@@ -77,2 +80,5 @@ if (!session.isTracked()) {

}
if (contextualizedMessage.status === StatusType.error && errorFilter.isLimitReached()) {
return undefined;
}
return contextualizedMessage;

@@ -79,0 +85,0 @@ };

{
"name": "@datadog/browser-logs",
"version": "2.8.0",
"version": "2.8.1",
"license": "Apache-2.0",

@@ -16,3 +16,3 @@ "main": "cjs/index.js",

"dependencies": {
"@datadog/browser-core": "2.8.0",
"@datadog/browser-core": "2.8.1",
"tslib": "^1.10.0"

@@ -29,3 +29,3 @@ },

},
"gitHead": "7ae5b864b5c54d3f8e76bd1a18e75192b0342a97"
"gitHead": "58466bcf571900220819af5f4cfe7ae2adf5e5ec"
}

@@ -592,3 +592,3 @@ # Browser Log Collection

[3]: https://www.npmjs.com/package/@datadog/browser-logs
[4]: https://github.com/DataDog/browser-sdk/blob/master/packages/logs/BROWSER_SUPPORT.md
[5]: https://github.com/DataDog/browser-sdk/blob/master/packages/logs/src/logsEvent.types.ts
[4]: https://github.com/DataDog/browser-sdk/blob/main/packages/logs/BROWSER_SUPPORT.md
[5]: https://github.com/DataDog/browser-sdk/blob/main/packages/logs/src/logsEvent.types.ts

@@ -9,2 +9,3 @@ import {

Observable,
ONE_MINUTE,
RawError,

@@ -15,2 +16,3 @@ RelativeTime,

import sinon from 'sinon'
import { mockClock } from '../../../core/test/specHelper'

@@ -140,6 +142,10 @@ import { Logger, LogsMessage, StatusType } from '../domain/logger'

beforeSend = noop
assemble = buildAssemble(session, {
...(baseConfiguration as Configuration),
beforeSend: (x: LogsEvent) => beforeSend(x),
})
assemble = buildAssemble(
session,
{
...(baseConfiguration as Configuration),
beforeSend: (x: LogsEvent) => beforeSend(x),
},
noop
)
window.DD_RUM = {

@@ -298,2 +304,70 @@ getInternalContext: noop,

})
describe('error logs limitation', () => {
let clock: jasmine.Clock
let cleanupClock: () => void
beforeEach(() => {
;({ clock, stop: cleanupClock } = mockClock())
})
afterEach(() => {
cleanupClock()
})
it('stops sending error logs when reaching the limit', () => {
const sendLogSpy = jasmine.createSpy<(message: LogsMessage & { foo?: string }) => void>()
const sendLog = startLogs({ errorLogger: new Logger(sendLogSpy), configuration: { maxErrorsByMinute: 1 } })
sendLog({ message: 'foo', status: StatusType.error }, {})
sendLog({ message: 'bar', status: StatusType.error }, {})
expect(server.requests.length).toEqual(1)
expect(getLoggedMessage(server, 0).message).toBe('foo')
expect(sendLogSpy).toHaveBeenCalledOnceWith({
message: 'Reached max number of errors by minute: 1',
status: StatusType.error,
error: {
origin: ErrorSource.AGENT,
kind: undefined,
stack: undefined,
},
date: Date.now(),
})
})
it('does not take discarded errors into account', () => {
const sendLogSpy = jasmine.createSpy<(message: LogsMessage & { foo?: string }) => void>()
const sendLog = startLogs({
errorLogger: new Logger(sendLogSpy),
configuration: {
maxErrorsByMinute: 1,
beforeSend(event) {
if (event.message === 'discard me') {
return false
}
},
},
})
sendLog({ message: 'discard me', status: StatusType.error }, {})
sendLog({ message: 'discard me', status: StatusType.error }, {})
sendLog({ message: 'discard me', status: StatusType.error }, {})
sendLog({ message: 'foo', status: StatusType.error }, {})
expect(server.requests.length).toEqual(1)
expect(getLoggedMessage(server, 0).message).toBe('foo')
expect(sendLogSpy).not.toHaveBeenCalled()
})
it('allows to send new errors after a minute', () => {
const sendLog = startLogs({ configuration: { maxErrorsByMinute: 1 } })
sendLog({ message: 'foo', status: StatusType.error }, {})
sendLog({ message: 'bar', status: StatusType.error }, {})
clock.tick(ONE_MINUTE)
sendLog({ message: 'baz', status: StatusType.error }, {})
expect(server.requests.length).toEqual(2)
expect(getLoggedMessage(server, 0).message).toBe('foo')
expect(getLoggedMessage(server, 1).message).toBe('baz')
})
})
})

@@ -8,2 +8,3 @@ import {

Context,
createErrorFilter,
ErrorObservable,

@@ -19,3 +20,3 @@ HttpRequest,

} from '@datadog/browser-core'
import { Logger, LogsMessage } from '../domain/logger'
import { Logger, LogsMessage, StatusType } from '../domain/logger'
import { LoggerSession, startLoggerSession } from '../domain/loggerSession'

@@ -58,6 +59,6 @@ import { LogsEvent } from '../logsEvent.types'

const assemble = buildAssemble(session, configuration)
const assemble = buildAssemble(session, configuration, reportError)
const batch = startLoggerBatch(configuration)
errorObservable.subscribe((error: RawError) => {
function reportError(error: RawError) {
errorLogger.error(

@@ -86,3 +87,4 @@ error.message,

)
})
}
errorObservable.subscribe(reportError)

@@ -125,3 +127,8 @@ return (message: LogsMessage, currentContext: Context) => {

export function buildAssemble(session: LoggerSession, configuration: Configuration) {
export function buildAssemble(
session: LoggerSession,
configuration: Configuration,
reportError: (error: RawError) => void
) {
const errorFilter = createErrorFilter(configuration, reportError)
return (message: LogsMessage, currentContext: Context) => {

@@ -147,2 +154,5 @@ if (!session.isTracked()) {

}
if (contextualizedMessage.status === StatusType.error && errorFilter.isLimitReached()) {
return undefined
}
return contextualizedMessage as Context

@@ -149,0 +159,0 @@ }

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc