{"version":3,"file":"static/js/92415.dc83959d.js","mappings":"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","sources":["../node_modules/@sentry/react/esm/sdk.js","../node_modules/@sentry/utils/esm/aggregate-errors.js","../node_modules/@sentry/utils/esm/baggage.js","../node_modules/@sentry/utils/esm/browser.js","../node_modules/@sentry/utils/esm/clientreport.js","../node_modules/@sentry/utils/esm/dsn.js","../node_modules/@sentry/utils/esm/env.js","../node_modules/@sentry/utils/esm/envelope.js","../node_modules/@sentry/utils/esm/error.js","../node_modules/@sentry/utils/esm/vendor/supportsHistory.js","../node_modules/@sentry/utils/esm/instrument.js","../node_modules/@sentry/utils/esm/is.js","../node_modules/@sentry/utils/esm/isBrowser.js","../node_modules/@sentry/utils/esm/logger.js","../node_modules/@sentry/utils/esm/misc.js","../node_modules/@sentry/utils/esm/node.js","../node_modules/@sentry/utils/esm/normalize.js","../node_modules/@sentry/utils/esm/memo.js","../node_modules/@sentry/utils/esm/object.js","../node_modules/@sentry/utils/esm/promisebuffer.js","../node_modules/@sentry/utils/esm/ratelimit.js","../node_modules/@sentry/utils/esm/severity.js","../node_modules/@sentry/utils/esm/stacktrace.js","../node_modules/@sentry/utils/esm/string.js","../node_modules/@sentry/utils/esm/supports.js","../node_modules/@sentry/utils/esm/syncpromise.js","../node_modules/@sentry/utils/esm/time.js","../node_modules/@sentry/utils/esm/tracing.js","../node_modules/@sentry/utils/esm/url.js","../node_modules/@sentry/utils/esm/worldwide.js"],"sourcesContent":["import _objectSpread from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport { SDK_VERSION, init as init$1 } from '@sentry/browser';\n/**\n * Inits the React SDK\n */\n\nfunction init(options) {\n var opts = _objectSpread({\n _metadata: {}\n }, options);\n\n opts._metadata.sdk = opts._metadata.sdk || {\n name: 'sentry.javascript.react',\n packages: [{\n name: 'npm:@sentry/react',\n version: SDK_VERSION\n }],\n version: SDK_VERSION\n };\n init$1(opts);\n}\n\nexport { init };","import _objectSpread from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport _toConsumableArray from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\";\nimport { isInstanceOf } from './is.js';\nimport { truncate } from './string.js';\n/**\n * Creates exceptions inside `event.exception.values` for errors that are nested on properties based on the `key` parameter.\n */\n\nfunction applyAggregateErrorsToEvent(exceptionFromErrorImplementation, parser) {\n var maxValueLimit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 250;\n var key = arguments.length > 3 ? arguments[3] : undefined;\n var limit = arguments.length > 4 ? arguments[4] : undefined;\n var event = arguments.length > 5 ? arguments[5] : undefined;\n var hint = arguments.length > 6 ? arguments[6] : undefined;\n\n if (!event.exception || !event.exception.values || !hint || !isInstanceOf(hint.originalException, Error)) {\n return;\n } // Generally speaking the last item in `event.exception.values` is the exception originating from the original Error\n\n\n var originalException = event.exception.values.length > 0 ? event.exception.values[event.exception.values.length - 1] : undefined; // We only create exception grouping if there is an exception in the event.\n\n if (originalException) {\n event.exception.values = truncateAggregateExceptions(aggregateExceptionsFromError(exceptionFromErrorImplementation, parser, limit, hint.originalException, key, event.exception.values, originalException, 0), maxValueLimit);\n }\n}\n\nfunction aggregateExceptionsFromError(exceptionFromErrorImplementation, parser, limit, error, key, prevExceptions, exception, exceptionId) {\n if (prevExceptions.length >= limit + 1) {\n return prevExceptions;\n }\n\n var newExceptions = _toConsumableArray(prevExceptions);\n\n if (isInstanceOf(error[key], Error)) {\n applyExceptionGroupFieldsForParentException(exception, exceptionId);\n var newException = exceptionFromErrorImplementation(parser, error[key]);\n var newExceptionId = newExceptions.length;\n applyExceptionGroupFieldsForChildException(newException, key, newExceptionId, exceptionId);\n newExceptions = aggregateExceptionsFromError(exceptionFromErrorImplementation, parser, limit, error[key], key, [newException].concat(_toConsumableArray(newExceptions)), newException, newExceptionId);\n } // This will create exception grouping for AggregateErrors\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AggregateError\n\n\n if (Array.isArray(error.errors)) {\n error.errors.forEach(function (childError, i) {\n if (isInstanceOf(childError, Error)) {\n applyExceptionGroupFieldsForParentException(exception, exceptionId);\n\n var _newException = exceptionFromErrorImplementation(parser, childError);\n\n var _newExceptionId = newExceptions.length;\n applyExceptionGroupFieldsForChildException(_newException, \"errors[\".concat(i, \"]\"), _newExceptionId, exceptionId);\n newExceptions = aggregateExceptionsFromError(exceptionFromErrorImplementation, parser, limit, childError, key, [_newException].concat(_toConsumableArray(newExceptions)), _newException, _newExceptionId);\n }\n });\n }\n\n return newExceptions;\n}\n\nfunction applyExceptionGroupFieldsForParentException(exception, exceptionId) {\n // Don't know if this default makes sense. The protocol requires us to set these values so we pick *some* default.\n exception.mechanism = exception.mechanism || {\n type: 'generic',\n handled: true\n };\n exception.mechanism = _objectSpread(_objectSpread({}, exception.mechanism), {}, {\n is_exception_group: true,\n exception_id: exceptionId\n });\n}\n\nfunction applyExceptionGroupFieldsForChildException(exception, source, exceptionId, parentId) {\n // Don't know if this default makes sense. The protocol requires us to set these values so we pick *some* default.\n exception.mechanism = exception.mechanism || {\n type: 'generic',\n handled: true\n };\n exception.mechanism = _objectSpread(_objectSpread({}, exception.mechanism), {}, {\n type: 'chained',\n source: source,\n exception_id: exceptionId,\n parent_id: parentId\n });\n}\n/**\n * Truncate the message (exception.value) of all exceptions in the event.\n * Because this event processor is ran after `applyClientOptions`,\n * we need to truncate the message of the added exceptions here.\n */\n\n\nfunction truncateAggregateExceptions(exceptions, maxValueLength) {\n return exceptions.map(function (exception) {\n if (exception.value) {\n exception.value = truncate(exception.value, maxValueLength);\n }\n\n return exception;\n });\n}\n\nexport { applyAggregateErrorsToEvent };","import _slicedToArray from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nimport _objectSpread from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport { isString } from './is.js';\nimport { logger } from './logger.js';\nvar BAGGAGE_HEADER_NAME = 'baggage';\nvar SENTRY_BAGGAGE_KEY_PREFIX = 'sentry-';\nvar SENTRY_BAGGAGE_KEY_PREFIX_REGEX = /^sentry-/;\n/**\n * Max length of a serialized baggage string\n *\n * https://www.w3.org/TR/baggage/#limits\n */\n\nvar MAX_BAGGAGE_STRING_LENGTH = 8192;\n/**\n * Takes a baggage header and turns it into Dynamic Sampling Context, by extracting all the \"sentry-\" prefixed values\n * from it.\n *\n * @param baggageHeader A very bread definition of a baggage header as it might appear in various frameworks.\n * @returns The Dynamic Sampling Context that was found on `baggageHeader`, if there was any, `undefined` otherwise.\n */\n\nfunction baggageHeaderToDynamicSamplingContext( // Very liberal definition of what any incoming header might look like\nbaggageHeader) {\n if (!isString(baggageHeader) && !Array.isArray(baggageHeader)) {\n return undefined;\n } // Intermediary object to store baggage key value pairs of incoming baggage headers on.\n // It is later used to read Sentry-DSC-values from.\n\n\n var baggageObject = {};\n\n if (Array.isArray(baggageHeader)) {\n // Combine all baggage headers into one object containing the baggage values so we can later read the Sentry-DSC-values from it\n baggageObject = baggageHeader.reduce(function (acc, curr) {\n var currBaggageObject = baggageHeaderToObject(curr);\n return _objectSpread(_objectSpread({}, acc), currBaggageObject);\n }, {});\n } else {\n // Return undefined if baggage header is an empty string (technically an empty baggage header is not spec conform but\n // this is how we choose to handle it)\n if (!baggageHeader) {\n return undefined;\n }\n\n baggageObject = baggageHeaderToObject(baggageHeader);\n } // Read all \"sentry-\" prefixed values out of the baggage object and put it onto a dynamic sampling context object.\n\n\n var dynamicSamplingContext = Object.entries(baggageObject).reduce(function (acc, _ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n key = _ref2[0],\n value = _ref2[1];\n\n if (key.match(SENTRY_BAGGAGE_KEY_PREFIX_REGEX)) {\n var nonPrefixedKey = key.slice(SENTRY_BAGGAGE_KEY_PREFIX.length);\n acc[nonPrefixedKey] = value;\n }\n\n return acc;\n }, {}); // Only return a dynamic sampling context object if there are keys in it.\n // A keyless object means there were no sentry values on the header, which means that there is no DSC.\n\n if (Object.keys(dynamicSamplingContext).length > 0) {\n return dynamicSamplingContext;\n } else {\n return undefined;\n }\n}\n/**\n * Turns a Dynamic Sampling Object into a baggage header by prefixing all the keys on the object with \"sentry-\".\n *\n * @param dynamicSamplingContext The Dynamic Sampling Context to turn into a header. For convenience and compatibility\n * with the `getDynamicSamplingContext` method on the Transaction class ,this argument can also be `undefined`. If it is\n * `undefined` the function will return `undefined`.\n * @returns a baggage header, created from `dynamicSamplingContext`, or `undefined` either if `dynamicSamplingContext`\n * was `undefined`, or if `dynamicSamplingContext` didn't contain any values.\n */\n\n\nfunction dynamicSamplingContextToSentryBaggageHeader( // this also takes undefined for convenience and bundle size in other places\ndynamicSamplingContext) {\n if (!dynamicSamplingContext) {\n return undefined;\n } // Prefix all DSC keys with \"sentry-\" and put them into a new object\n\n\n var sentryPrefixedDSC = Object.entries(dynamicSamplingContext).reduce(function (acc, _ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n dscKey = _ref4[0],\n dscValue = _ref4[1];\n\n if (dscValue) {\n acc[\"\".concat(SENTRY_BAGGAGE_KEY_PREFIX).concat(dscKey)] = dscValue;\n }\n\n return acc;\n }, {});\n return objectToBaggageHeader(sentryPrefixedDSC);\n}\n/**\n * Will parse a baggage header, which is a simple key-value map, into a flat object.\n *\n * @param baggageHeader The baggage header to parse.\n * @returns a flat object containing all the key-value pairs from `baggageHeader`.\n */\n\n\nfunction baggageHeaderToObject(baggageHeader) {\n return baggageHeader.split(',').map(function (baggageEntry) {\n return baggageEntry.split('=').map(function (keyOrValue) {\n return decodeURIComponent(keyOrValue.trim());\n });\n }).reduce(function (acc, _ref5) {\n var _ref6 = _slicedToArray(_ref5, 2),\n key = _ref6[0],\n value = _ref6[1];\n\n acc[key] = value;\n return acc;\n }, {});\n}\n/**\n * Turns a flat object (key-value pairs) into a baggage header, which is also just key-value pairs.\n *\n * @param object The object to turn into a baggage header.\n * @returns a baggage header string, or `undefined` if the object didn't have any values, since an empty baggage header\n * is not spec compliant.\n */\n\n\nfunction objectToBaggageHeader(object) {\n if (Object.keys(object).length === 0) {\n // An empty baggage header is not spec compliant: We return undefined.\n return undefined;\n }\n\n return Object.entries(object).reduce(function (baggageHeader, _ref7, currentIndex) {\n var _ref8 = _slicedToArray(_ref7, 2),\n objectKey = _ref8[0],\n objectValue = _ref8[1];\n\n var baggageEntry = \"\".concat(encodeURIComponent(objectKey), \"=\").concat(encodeURIComponent(objectValue));\n var newBaggageHeader = currentIndex === 0 ? baggageEntry : \"\".concat(baggageHeader, \",\").concat(baggageEntry);\n\n if (newBaggageHeader.length > MAX_BAGGAGE_STRING_LENGTH) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn(\"Not adding key: \".concat(objectKey, \" with val: \").concat(objectValue, \" to baggage header due to exceeding baggage size limits.\"));\n return baggageHeader;\n } else {\n return newBaggageHeader;\n }\n }, '');\n}\n\nexport { BAGGAGE_HEADER_NAME, MAX_BAGGAGE_STRING_LENGTH, SENTRY_BAGGAGE_KEY_PREFIX, SENTRY_BAGGAGE_KEY_PREFIX_REGEX, baggageHeaderToDynamicSamplingContext, dynamicSamplingContextToSentryBaggageHeader };","import { isString } from './is.js';\nimport { getGlobalObject } from './worldwide.js'; // eslint-disable-next-line deprecation/deprecation\n\nvar WINDOW = getGlobalObject();\nvar DEFAULT_MAX_STRING_LENGTH = 80;\n/**\n * Given a child DOM element, returns a query-selector statement describing that\n * and its ancestors\n * e.g. [HTMLElement] => body > div > input#foo.btn[name=baz]\n * @returns generated DOM path\n */\n\nfunction htmlTreeAsString(elem) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!elem) {\n return '';\n } // try/catch both:\n // - accessing event.target (see getsentry/raven-js#838, #768)\n // - `htmlTreeAsString` because it's complex, and just accessing the DOM incorrectly\n // - can throw an exception in some circumstances.\n\n\n try {\n var currentElem = elem;\n var MAX_TRAVERSE_HEIGHT = 5;\n var out = [];\n var height = 0;\n var len = 0;\n var separator = ' > ';\n var sepLength = separator.length;\n var nextStr;\n var keyAttrs = Array.isArray(options) ? options : options.keyAttrs;\n var maxStringLength = !Array.isArray(options) && options.maxStringLength || DEFAULT_MAX_STRING_LENGTH;\n\n while (currentElem && height++ < MAX_TRAVERSE_HEIGHT) {\n nextStr = _htmlElementAsString(currentElem, keyAttrs); // bail out if\n // - nextStr is the 'html' element\n // - the length of the string that would be created exceeds maxStringLength\n // (ignore this limit if we are on the first iteration)\n\n if (nextStr === 'html' || height > 1 && len + out.length * sepLength + nextStr.length >= maxStringLength) {\n break;\n }\n\n out.push(nextStr);\n len += nextStr.length;\n currentElem = currentElem.parentNode;\n }\n\n return out.reverse().join(separator);\n } catch (_oO) {\n return '';\n }\n}\n/**\n * Returns a simple, query-selector representation of a DOM element\n * e.g. [HTMLElement] => input#foo.btn[name=baz]\n * @returns generated DOM path\n */\n\n\nfunction _htmlElementAsString(el, keyAttrs) {\n var elem = el;\n var out = [];\n var className;\n var classes;\n var key;\n var attr;\n var i;\n\n if (!elem || !elem.tagName) {\n return '';\n }\n\n out.push(elem.tagName.toLowerCase()); // Pairs of attribute keys defined in `serializeAttribute` and their values on element.\n\n var keyAttrPairs = keyAttrs && keyAttrs.length ? keyAttrs.filter(function (keyAttr) {\n return elem.getAttribute(keyAttr);\n }).map(function (keyAttr) {\n return [keyAttr, elem.getAttribute(keyAttr)];\n }) : null;\n\n if (keyAttrPairs && keyAttrPairs.length) {\n keyAttrPairs.forEach(function (keyAttrPair) {\n out.push(\"[\".concat(keyAttrPair[0], \"=\\\"\").concat(keyAttrPair[1], \"\\\"]\"));\n });\n } else {\n if (elem.id) {\n out.push(\"#\".concat(elem.id));\n } // eslint-disable-next-line prefer-const\n\n\n className = elem.className;\n\n if (className && isString(className)) {\n classes = className.split(/\\s+/);\n\n for (i = 0; i < classes.length; i++) {\n out.push(\".\".concat(classes[i]));\n }\n }\n }\n\n var allowedAttrs = ['aria-label', 'type', 'name', 'title', 'alt'];\n\n for (i = 0; i < allowedAttrs.length; i++) {\n key = allowedAttrs[i];\n attr = elem.getAttribute(key);\n\n if (attr) {\n out.push(\"[\".concat(key, \"=\\\"\").concat(attr, \"\\\"]\"));\n }\n }\n\n return out.join('');\n}\n/**\n * A safe form of location.href\n */\n\n\nfunction getLocationHref() {\n try {\n return WINDOW.document.location.href;\n } catch (oO) {\n return '';\n }\n}\n/**\n * Gets a DOM element by using document.querySelector.\n *\n * This wrapper will first check for the existance of the function before\n * actually calling it so that we don't have to take care of this check,\n * every time we want to access the DOM.\n *\n * Reason: DOM/querySelector is not available in all environments.\n *\n * We have to cast to any because utils can be consumed by a variety of environments,\n * and we don't want to break TS users. If you know what element will be selected by\n * `document.querySelector`, specify it as part of the generic call. For example,\n * `const element = getDomElement('selector');`\n *\n * @param selector the selector string passed on to document.querySelector\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n\nfunction getDomElement(selector) {\n if (WINDOW.document && WINDOW.document.querySelector) {\n return WINDOW.document.querySelector(selector);\n }\n\n return null;\n}\n\nexport { getDomElement, getLocationHref, htmlTreeAsString };","import { createEnvelope } from './envelope.js';\nimport { dateTimestampInSeconds } from './time.js';\n/**\n * Creates client report envelope\n * @param discarded_events An array of discard events\n * @param dsn A DSN that can be set on the header. Optional.\n */\n\nfunction createClientReportEnvelope(discarded_events, dsn, timestamp) {\n var clientReportItem = [{\n type: 'client_report'\n }, {\n timestamp: timestamp || dateTimestampInSeconds(),\n discarded_events: discarded_events\n }];\n return createEnvelope(dsn ? {\n dsn: dsn\n } : {}, [clientReportItem]);\n}\n\nexport { createClientReportEnvelope };","import _slicedToArray from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nimport { logger } from './logger.js';\n/** Regular expression used to parse a Dsn. */\n\nvar DSN_REGEX = /^(?:(\\w+):)\\/\\/(?:(\\w+)(?::(\\w+)?)?@)([\\w.-]+)(?::(\\d+))?\\/(.+)/;\n\nfunction isValidProtocol(protocol) {\n return protocol === 'http' || protocol === 'https';\n}\n/**\n * Renders the string representation of this Dsn.\n *\n * By default, this will render the public representation without the password\n * component. To get the deprecated private representation, set `withPassword`\n * to true.\n *\n * @param withPassword When set to true, the password will be included.\n */\n\n\nfunction dsnToString(dsn) {\n var withPassword = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var host = dsn.host,\n path = dsn.path,\n pass = dsn.pass,\n port = dsn.port,\n projectId = dsn.projectId,\n protocol = dsn.protocol,\n publicKey = dsn.publicKey;\n return \"\".concat(protocol, \"://\").concat(publicKey).concat(withPassword && pass ? \":\".concat(pass) : '') + \"@\".concat(host).concat(port ? \":\".concat(port) : '', \"/\").concat(path ? \"\".concat(path, \"/\") : path).concat(projectId);\n}\n/**\n * Parses a Dsn from a given string.\n *\n * @param str A Dsn as string\n * @returns Dsn as DsnComponents or undefined if @param str is not a valid DSN string\n */\n\n\nfunction dsnFromString(str) {\n var match = DSN_REGEX.exec(str);\n\n if (!match) {\n // This should be logged to the console\n // eslint-disable-next-line no-console\n console.error(\"Invalid Sentry Dsn: \".concat(str));\n return undefined;\n }\n\n var _match$slice = match.slice(1),\n _match$slice2 = _slicedToArray(_match$slice, 6),\n protocol = _match$slice2[0],\n publicKey = _match$slice2[1],\n _match$slice2$ = _match$slice2[2],\n pass = _match$slice2$ === void 0 ? '' : _match$slice2$,\n host = _match$slice2[3],\n _match$slice2$2 = _match$slice2[4],\n port = _match$slice2$2 === void 0 ? '' : _match$slice2$2,\n lastPath = _match$slice2[5];\n\n var path = '';\n var projectId = lastPath;\n var split = projectId.split('/');\n\n if (split.length > 1) {\n path = split.slice(0, -1).join('/');\n projectId = split.pop();\n }\n\n if (projectId) {\n var projectMatch = projectId.match(/^\\d+/);\n\n if (projectMatch) {\n projectId = projectMatch[0];\n }\n }\n\n return dsnFromComponents({\n host: host,\n pass: pass,\n path: path,\n projectId: projectId,\n port: port,\n protocol: protocol,\n publicKey: publicKey\n });\n}\n\nfunction dsnFromComponents(components) {\n return {\n protocol: components.protocol,\n publicKey: components.publicKey || '',\n pass: components.pass || '',\n host: components.host,\n port: components.port || '',\n path: components.path || '',\n projectId: components.projectId\n };\n}\n\nfunction validateDsn(dsn) {\n if (!(typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__)) {\n return true;\n }\n\n var port = dsn.port,\n projectId = dsn.projectId,\n protocol = dsn.protocol;\n var requiredComponents = ['protocol', 'publicKey', 'host', 'projectId'];\n var hasMissingRequiredComponent = requiredComponents.find(function (component) {\n if (!dsn[component]) {\n logger.error(\"Invalid Sentry Dsn: \".concat(component, \" missing\"));\n return true;\n }\n\n return false;\n });\n\n if (hasMissingRequiredComponent) {\n return false;\n }\n\n if (!projectId.match(/^\\d+$/)) {\n logger.error(\"Invalid Sentry Dsn: Invalid projectId \".concat(projectId));\n return false;\n }\n\n if (!isValidProtocol(protocol)) {\n logger.error(\"Invalid Sentry Dsn: Invalid protocol \".concat(protocol));\n return false;\n }\n\n if (port && isNaN(parseInt(port, 10))) {\n logger.error(\"Invalid Sentry Dsn: Invalid port \".concat(port));\n return false;\n }\n\n return true;\n}\n/**\n * Creates a valid Sentry Dsn object, identifying a Sentry instance and project.\n * @returns a valid DsnComponents object or `undefined` if @param from is an invalid DSN source\n */\n\n\nfunction makeDsn(from) {\n var components = typeof from === 'string' ? dsnFromString(from) : dsnFromComponents(from);\n\n if (!components || !validateDsn(components)) {\n return undefined;\n }\n\n return components;\n}\n\nexport { dsnFromString, dsnToString, makeDsn };","/*\n * This module exists for optimizations in the build process through rollup and terser. We define some global\n * constants, which can be overridden during build. By guarding certain pieces of code with functions that return these\n * constants, we can control whether or not they appear in the final bundle. (Any code guarded by a false condition will\n * never run, and will hence be dropped during treeshaking.) The two primary uses for this are stripping out calls to\n * `logger` and preventing node-related code from appearing in browser bundles.\n *\n * Attention:\n * This file should not be used to define constants/flags that are intended to be used for tree-shaking conducted by\n * users. These flags should live in their respective packages, as we identified user tooling (specifically webpack)\n * having issues tree-shaking these constants across package boundaries.\n * An example for this is the __SENTRY_DEBUG__ constant. It is declared in each package individually because we want\n * users to be able to shake away expressions that it guards.\n */\n\n/**\n * Figures out if we're building a browser bundle.\n *\n * @returns true if this is a browser bundle build.\n */\nfunction isBrowserBundle() {\n return typeof __SENTRY_BROWSER_BUNDLE__ !== 'undefined' && !!__SENTRY_BROWSER_BUNDLE__;\n}\n/**\n * Get source of SDK.\n */\n\n\nfunction getSDKSource() {\n // @ts-expect-error \"npm\" is injected by rollup during build process\n return \"npm\";\n}\n\nexport { getSDKSource, isBrowserBundle };","import _objectSpread from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport _createForOfIteratorHelper from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js\";\nimport _toConsumableArray from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\";\nimport _slicedToArray from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nimport { dsnToString } from './dsn.js';\nimport { normalize } from './normalize.js';\nimport { dropUndefinedKeys } from './object.js';\n/**\n * Creates an envelope.\n * Make sure to always explicitly provide the generic to this function\n * so that the envelope types resolve correctly.\n */\n\nfunction createEnvelope(headers) {\n var items = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n return [headers, items];\n}\n/**\n * Add an item to an envelope.\n * Make sure to always explicitly provide the generic to this function\n * so that the envelope types resolve correctly.\n */\n\n\nfunction addItemToEnvelope(envelope, newItem) {\n var _envelope = _slicedToArray(envelope, 2),\n headers = _envelope[0],\n items = _envelope[1];\n\n return [headers, [].concat(_toConsumableArray(items), [newItem])];\n}\n/**\n * Convenience function to loop through the items and item types of an envelope.\n * (This function was mostly created because working with envelope types is painful at the moment)\n *\n * If the callback returns true, the rest of the items will be skipped.\n */\n\n\nfunction forEachEnvelopeItem(envelope, callback) {\n var envelopeItems = envelope[1];\n\n var _iterator = _createForOfIteratorHelper(envelopeItems),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var envelopeItem = _step.value;\n var envelopeItemType = envelopeItem[0].type;\n var result = callback(envelopeItem, envelopeItemType);\n\n if (result) {\n return true;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return false;\n}\n/**\n * Returns true if the envelope contains any of the given envelope item types\n */\n\n\nfunction envelopeContainsItemType(envelope, types) {\n return forEachEnvelopeItem(envelope, function (_, type) {\n return types.includes(type);\n });\n}\n/**\n * Encode a string to UTF8.\n */\n\n\nfunction encodeUTF8(input, textEncoder) {\n var utf8 = textEncoder || new TextEncoder();\n return utf8.encode(input);\n}\n/**\n * Serializes an envelope.\n */\n\n\nfunction serializeEnvelope(envelope, textEncoder) {\n var _envelope2 = _slicedToArray(envelope, 2),\n envHeaders = _envelope2[0],\n items = _envelope2[1]; // Initially we construct our envelope as a string and only convert to binary chunks if we encounter binary data\n\n\n var parts = JSON.stringify(envHeaders);\n\n function append(next) {\n if (typeof parts === 'string') {\n parts = typeof next === 'string' ? parts + next : [encodeUTF8(parts, textEncoder), next];\n } else {\n parts.push(typeof next === 'string' ? encodeUTF8(next, textEncoder) : next);\n }\n }\n\n var _iterator2 = _createForOfIteratorHelper(items),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var item = _step2.value;\n\n var _item = _slicedToArray(item, 2),\n itemHeaders = _item[0],\n payload = _item[1];\n\n append(\"\\n\".concat(JSON.stringify(itemHeaders), \"\\n\"));\n\n if (typeof payload === 'string' || payload instanceof Uint8Array) {\n append(payload);\n } else {\n var stringifiedPayload = void 0;\n\n try {\n stringifiedPayload = JSON.stringify(payload);\n } catch (e) {\n // In case, despite all our efforts to keep `payload` circular-dependency-free, `JSON.strinify()` still\n // fails, we try again after normalizing it again with infinite normalization depth. This of course has a\n // performance impact but in this case a performance hit is better than throwing.\n stringifiedPayload = JSON.stringify(normalize(payload));\n }\n\n append(stringifiedPayload);\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n return typeof parts === 'string' ? parts : concatBuffers(parts);\n}\n\nfunction concatBuffers(buffers) {\n var totalLength = buffers.reduce(function (acc, buf) {\n return acc + buf.length;\n }, 0);\n var merged = new Uint8Array(totalLength);\n var offset = 0;\n\n var _iterator3 = _createForOfIteratorHelper(buffers),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var buffer = _step3.value;\n merged.set(buffer, offset);\n offset += buffer.length;\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n return merged;\n}\n/**\n * Parses an envelope\n */\n\n\nfunction parseEnvelope(env, textEncoder, textDecoder) {\n var buffer = typeof env === 'string' ? textEncoder.encode(env) : env;\n\n function readBinary(length) {\n var bin = buffer.subarray(0, length); // Replace the buffer with the remaining data excluding trailing newline\n\n buffer = buffer.subarray(length + 1);\n return bin;\n }\n\n function readJson() {\n var i = buffer.indexOf(0xa); // If we couldn't find a newline, we must have found the end of the buffer\n\n if (i < 0) {\n i = buffer.length;\n }\n\n return JSON.parse(textDecoder.decode(readBinary(i)));\n }\n\n var envelopeHeader = readJson(); // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n var items = [];\n\n while (buffer.length) {\n var itemHeader = readJson();\n var binaryLength = typeof itemHeader.length === 'number' ? itemHeader.length : undefined;\n items.push([itemHeader, binaryLength ? readBinary(binaryLength) : readJson()]);\n }\n\n return [envelopeHeader, items];\n}\n/**\n * Creates attachment envelope items\n */\n\n\nfunction createAttachmentEnvelopeItem(attachment, textEncoder) {\n var buffer = typeof attachment.data === 'string' ? encodeUTF8(attachment.data, textEncoder) : attachment.data;\n return [dropUndefinedKeys({\n type: 'attachment',\n length: buffer.length,\n filename: attachment.filename,\n content_type: attachment.contentType,\n attachment_type: attachment.attachmentType\n }), buffer];\n}\n\nvar ITEM_TYPE_TO_DATA_CATEGORY_MAP = {\n session: 'session',\n sessions: 'session',\n attachment: 'attachment',\n transaction: 'transaction',\n event: 'error',\n client_report: 'internal',\n user_report: 'default',\n profile: 'profile',\n replay_event: 'replay',\n replay_recording: 'replay',\n check_in: 'monitor',\n // TODO: This is a temporary workaround until we have a proper data category for metrics\n statsd: 'unknown'\n};\n/**\n * Maps the type of an envelope item to a data category.\n */\n\nfunction envelopeItemTypeToDataCategory(type) {\n return ITEM_TYPE_TO_DATA_CATEGORY_MAP[type];\n}\n/** Extracts the minimal SDK info from from the metadata or an events */\n\n\nfunction getSdkMetadataForEnvelopeHeader(metadataOrEvent) {\n if (!metadataOrEvent || !metadataOrEvent.sdk) {\n return;\n }\n\n var _metadataOrEvent$sdk = metadataOrEvent.sdk,\n name = _metadataOrEvent$sdk.name,\n version = _metadataOrEvent$sdk.version;\n return {\n name: name,\n version: version\n };\n}\n/**\n * Creates event envelope headers, based on event, sdk info and tunnel\n * Note: This function was extracted from the core package to make it available in Replay\n */\n\n\nfunction createEventEnvelopeHeaders(event, sdkInfo, tunnel, dsn) {\n var dynamicSamplingContext = event.sdkProcessingMetadata && event.sdkProcessingMetadata.dynamicSamplingContext;\n return _objectSpread(_objectSpread(_objectSpread({\n event_id: event.event_id,\n sent_at: new Date().toISOString()\n }, sdkInfo && {\n sdk: sdkInfo\n }), !!tunnel && dsn && {\n dsn: dsnToString(dsn)\n }), dynamicSamplingContext && {\n trace: dropUndefinedKeys(_objectSpread({}, dynamicSamplingContext))\n });\n}\n\nexport { addItemToEnvelope, createAttachmentEnvelopeItem, createEnvelope, createEventEnvelopeHeaders, envelopeContainsItemType, envelopeItemTypeToDataCategory, forEachEnvelopeItem, getSdkMetadataForEnvelopeHeader, parseEnvelope, serializeEnvelope };","import _createClass from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass.js\";\nimport _classCallCheck from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport _assertThisInitialized from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js\";\nimport _inherits from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/inherits.js\";\nimport _createSuper from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createSuper.js\";\nimport _wrapNativeSuper from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js\";\n\n/** An error emitted by Sentry SDKs and related utilities. */\nvar SentryError = /*#__PURE__*/function (_Error) {\n _inherits(SentryError, _Error);\n\n var _super = _createSuper(SentryError);\n\n /** Display name of this error instance. */\n function SentryError(message) {\n var _this;\n\n var logLevel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'warn';\n\n _classCallCheck(this, SentryError);\n\n _this = _super.call(this, message);\n _this.message = message;\n _this.name = (this instanceof SentryError ? this.constructor : void 0).prototype.constructor.name; // This sets the prototype to be `Error`, not `SentryError`. It's unclear why we do this, but commenting this line\n // out causes various (seemingly totally unrelated) playwright tests consistently time out. FYI, this makes\n // instances of `SentryError` fail `obj instanceof SentryError` checks.\n\n Object.setPrototypeOf(_assertThisInitialized(_this), (this instanceof SentryError ? this.constructor : void 0).prototype);\n _this.logLevel = logLevel;\n return _this;\n }\n\n return _createClass(SentryError);\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nexport { SentryError };","import { getGlobalObject } from '../worldwide.js'; // Based on https://github.com/angular/angular.js/pull/13945/files\n// eslint-disable-next-line deprecation/deprecation\n\nvar WINDOW = getGlobalObject();\n/**\n * Tells whether current environment supports History API\n * {@link supportsHistory}.\n *\n * @returns Answer to the given question.\n */\n\nfunction supportsHistory() {\n // NOTE: in Chrome App environment, touching history.pushState, *even inside\n // a try/catch block*, will cause Chrome to output an error to console.error\n // borrowed from: https://github.com/angular/angular.js/pull/13945/files\n\n /* eslint-disable @typescript-eslint/no-unsafe-member-access */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var chrome = WINDOW.chrome;\n var isChromePackagedApp = chrome && chrome.app && chrome.app.runtime;\n /* eslint-enable @typescript-eslint/no-unsafe-member-access */\n\n var hasHistoryApi = 'history' in WINDOW && !!WINDOW.history.pushState && !!WINDOW.history.replaceState;\n return !isChromePackagedApp && hasHistoryApi;\n}\n\nexport { supportsHistory };","import _slicedToArray from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nimport _objectSpread from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport _createForOfIteratorHelper from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js\";\nimport { isString } from './is.js';\nimport { logger, CONSOLE_LEVELS, originalConsoleMethods } from './logger.js';\nimport { uuid4 } from './misc.js';\nimport { fill, addNonEnumerableProperty } from './object.js';\nimport { getFunctionName } from './stacktrace.js';\nimport { supportsNativeFetch } from './supports.js';\nimport { getGlobalObject, GLOBAL_OBJ } from './worldwide.js';\nimport { supportsHistory } from './vendor/supportsHistory.js'; // eslint-disable-next-line deprecation/deprecation\n\nvar WINDOW = getGlobalObject();\nvar SENTRY_XHR_DATA_KEY = '__sentry_xhr_v2__';\n/**\n * Instrument native APIs to call handlers that can be used to create breadcrumbs, APM spans etc.\n * - Console API\n * - Fetch API\n * - XHR API\n * - History API\n * - DOM API (click/typing)\n * - Error API\n * - UnhandledRejection API\n */\n\nvar handlers = {};\nvar instrumented = {};\n/** Instruments given API */\n\nfunction instrument(type) {\n if (instrumented[type]) {\n return;\n }\n\n instrumented[type] = true;\n\n switch (type) {\n case 'console':\n instrumentConsole();\n break;\n\n case 'dom':\n instrumentDOM();\n break;\n\n case 'xhr':\n instrumentXHR();\n break;\n\n case 'fetch':\n instrumentFetch();\n break;\n\n case 'history':\n instrumentHistory();\n break;\n\n case 'error':\n instrumentError();\n break;\n\n case 'unhandledrejection':\n instrumentUnhandledRejection();\n break;\n\n default:\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn('unknown instrumentation type:', type);\n return;\n }\n}\n/**\n * Add handler that will be called when given type of instrumentation triggers.\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\n\n\nfunction addInstrumentationHandler(type, callback) {\n handlers[type] = handlers[type] || [];\n handlers[type].push(callback);\n instrument(type);\n}\n/**\n * Reset all instrumentation handlers.\n * This can be used by tests to ensure we have a clean slate of instrumentation handlers.\n */\n\n\nfunction resetInstrumentationHandlers() {\n Object.keys(handlers).forEach(function (key) {\n handlers[key] = undefined;\n });\n}\n/** JSDoc */\n\n\nfunction triggerHandlers(type, data) {\n if (!type || !handlers[type]) {\n return;\n }\n\n var _iterator = _createForOfIteratorHelper(handlers[type] || []),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var handler = _step.value;\n\n try {\n handler(data);\n } catch (e) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.error(\"Error while triggering instrumentation handler.\\nType: \".concat(type, \"\\nName: \").concat(getFunctionName(handler), \"\\nError:\"), e);\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n}\n/** JSDoc */\n\n\nfunction instrumentConsole() {\n if (!('console' in GLOBAL_OBJ)) {\n return;\n }\n\n CONSOLE_LEVELS.forEach(function (level) {\n if (!(level in GLOBAL_OBJ.console)) {\n return;\n }\n\n fill(GLOBAL_OBJ.console, level, function (originalConsoleMethod) {\n originalConsoleMethods[level] = originalConsoleMethod;\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n triggerHandlers('console', {\n args: args,\n level: level\n });\n var log = originalConsoleMethods[level];\n log && log.apply(GLOBAL_OBJ.console, args);\n };\n });\n });\n}\n/** JSDoc */\n\n\nfunction instrumentFetch() {\n if (!supportsNativeFetch()) {\n return;\n }\n\n fill(GLOBAL_OBJ, 'fetch', function (originalFetch) {\n return function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var _parseFetchArgs = parseFetchArgs(args),\n method = _parseFetchArgs.method,\n url = _parseFetchArgs.url;\n\n var handlerData = {\n args: args,\n fetchData: {\n method: method,\n url: url\n },\n startTimestamp: Date.now()\n };\n triggerHandlers('fetch', _objectSpread({}, handlerData)); // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\n return originalFetch.apply(GLOBAL_OBJ, args).then(function (response) {\n triggerHandlers('fetch', _objectSpread(_objectSpread({}, handlerData), {}, {\n endTimestamp: Date.now(),\n response: response\n }));\n return response;\n }, function (error) {\n triggerHandlers('fetch', _objectSpread(_objectSpread({}, handlerData), {}, {\n endTimestamp: Date.now(),\n error: error\n })); // NOTE: If you are a Sentry user, and you are seeing this stack frame,\n // it means the sentry.javascript SDK caught an error invoking your application code.\n // This is expected behavior and NOT indicative of a bug with sentry.javascript.\n\n throw error;\n });\n };\n });\n}\n\nfunction hasProp(obj, prop) {\n return !!obj && typeof obj === 'object' && !!obj[prop];\n}\n\nfunction getUrlFromResource(resource) {\n if (typeof resource === 'string') {\n return resource;\n }\n\n if (!resource) {\n return '';\n }\n\n if (hasProp(resource, 'url')) {\n return resource.url;\n }\n\n if (resource.toString) {\n return resource.toString();\n }\n\n return '';\n}\n/**\n * Parses the fetch arguments to find the used Http method and the url of the request\n */\n\n\nfunction parseFetchArgs(fetchArgs) {\n if (fetchArgs.length === 0) {\n return {\n method: 'GET',\n url: ''\n };\n }\n\n if (fetchArgs.length === 2) {\n var _fetchArgs = _slicedToArray(fetchArgs, 2),\n url = _fetchArgs[0],\n options = _fetchArgs[1];\n\n return {\n url: getUrlFromResource(url),\n method: hasProp(options, 'method') ? String(options.method).toUpperCase() : 'GET'\n };\n }\n\n var arg = fetchArgs[0];\n return {\n url: getUrlFromResource(arg),\n method: hasProp(arg, 'method') ? String(arg.method).toUpperCase() : 'GET'\n };\n}\n/** JSDoc */\n\n\nfunction instrumentXHR() {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (!WINDOW.XMLHttpRequest) {\n return;\n }\n\n var xhrproto = XMLHttpRequest.prototype;\n fill(xhrproto, 'open', function (originalOpen) {\n return function () {\n var _this = this;\n\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n var startTimestamp = Date.now();\n var url = args[1];\n var xhrInfo = this[SENTRY_XHR_DATA_KEY] = {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n method: isString(args[0]) ? args[0].toUpperCase() : args[0],\n url: args[1],\n request_headers: {}\n }; // if Sentry key appears in URL, don't capture it as a request\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\n if (isString(url) && xhrInfo.method === 'POST' && url.match(/sentry_key/)) {\n this.__sentry_own_request__ = true;\n }\n\n var onreadystatechangeHandler = function onreadystatechangeHandler() {\n // For whatever reason, this is not the same instance here as from the outer method\n var xhrInfo = _this[SENTRY_XHR_DATA_KEY];\n\n if (!xhrInfo) {\n return;\n }\n\n if (_this.readyState === 4) {\n try {\n // touching statusCode in some platforms throws\n // an exception\n xhrInfo.status_code = _this.status;\n } catch (e) {\n /* do nothing */\n }\n\n triggerHandlers('xhr', {\n args: args,\n endTimestamp: Date.now(),\n startTimestamp: startTimestamp,\n xhr: _this\n });\n }\n };\n\n if ('onreadystatechange' in this && typeof this.onreadystatechange === 'function') {\n fill(this, 'onreadystatechange', function (original) {\n return function () {\n onreadystatechangeHandler();\n\n for (var _len4 = arguments.length, readyStateArgs = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n readyStateArgs[_key4] = arguments[_key4];\n }\n\n return original.apply(this, readyStateArgs);\n };\n });\n } else {\n this.addEventListener('readystatechange', onreadystatechangeHandler);\n } // Intercepting `setRequestHeader` to access the request headers of XHR instance.\n // This will only work for user/library defined headers, not for the default/browser-assigned headers.\n // Request cookies are also unavailable for XHR, as `Cookie` header can't be defined by `setRequestHeader`.\n\n\n fill(this, 'setRequestHeader', function (original) {\n return function () {\n for (var _len5 = arguments.length, setRequestHeaderArgs = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n setRequestHeaderArgs[_key5] = arguments[_key5];\n }\n\n var header = setRequestHeaderArgs[0],\n value = setRequestHeaderArgs[1];\n var xhrInfo = this[SENTRY_XHR_DATA_KEY];\n\n if (xhrInfo) {\n xhrInfo.request_headers[header.toLowerCase()] = value;\n }\n\n return original.apply(this, setRequestHeaderArgs);\n };\n });\n return originalOpen.apply(this, args);\n };\n });\n fill(xhrproto, 'send', function (originalSend) {\n return function () {\n var sentryXhrData = this[SENTRY_XHR_DATA_KEY];\n\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n if (sentryXhrData && args[0] !== undefined) {\n sentryXhrData.body = args[0];\n }\n\n triggerHandlers('xhr', {\n args: args,\n startTimestamp: Date.now(),\n xhr: this\n });\n return originalSend.apply(this, args);\n };\n });\n}\n\nvar lastHref;\n/** JSDoc */\n\nfunction instrumentHistory() {\n if (!supportsHistory()) {\n return;\n }\n\n var oldOnPopState = WINDOW.onpopstate;\n\n WINDOW.onpopstate = function () {\n var to = WINDOW.location.href; // keep track of the current URL state, as we always receive only the updated state\n\n var from = lastHref;\n lastHref = to;\n triggerHandlers('history', {\n from: from,\n to: to\n });\n\n if (oldOnPopState) {\n // Apparently this can throw in Firefox when incorrectly implemented plugin is installed.\n // https://github.com/getsentry/sentry-javascript/issues/3344\n // https://github.com/bugsnag/bugsnag-js/issues/469\n try {\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n\n return oldOnPopState.apply(this, args);\n } catch (_oO) {// no-empty\n }\n }\n };\n /** @hidden */\n\n\n function historyReplacementFunction(originalHistoryFunction) {\n return function () {\n for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\n args[_key8] = arguments[_key8];\n }\n\n var url = args.length > 2 ? args[2] : undefined;\n\n if (url) {\n // coerce to string (this is what pushState does)\n var from = lastHref;\n var to = String(url); // keep track of the current URL state, as we always receive only the updated state\n\n lastHref = to;\n triggerHandlers('history', {\n from: from,\n to: to\n });\n }\n\n return originalHistoryFunction.apply(this, args);\n };\n }\n\n fill(WINDOW.history, 'pushState', historyReplacementFunction);\n fill(WINDOW.history, 'replaceState', historyReplacementFunction);\n}\n\nvar DEBOUNCE_DURATION = 1000;\nvar debounceTimerID;\nvar lastCapturedEventType;\nvar lastCapturedEventTargetId;\n/**\n * Check whether the event is similar to the last captured one. For example, two click events on the same button.\n */\n\nfunction isSimilarToLastCapturedEvent(event) {\n // If both events have different type, then user definitely performed two separate actions. e.g. click + keypress.\n if (event.type !== lastCapturedEventType) {\n return false;\n }\n\n try {\n // If both events have the same type, it's still possible that actions were performed on different targets.\n // e.g. 2 clicks on different buttons.\n if (!event.target || event.target._sentryId !== lastCapturedEventTargetId) {\n return false;\n }\n } catch (e) {// just accessing `target` property can throw an exception in some rare circumstances\n // see: https://github.com/getsentry/sentry-javascript/issues/838\n } // If both events have the same type _and_ same `target` (an element which triggered an event, _not necessarily_\n // to which an event listener was attached), we treat them as the same action, as we want to capture\n // only one breadcrumb. e.g. multiple clicks on the same button, or typing inside a user input box.\n\n\n return true;\n}\n/**\n * Decide whether an event should be captured.\n * @param event event to be captured\n */\n\n\nfunction shouldSkipDOMEvent(eventType, target) {\n // We are only interested in filtering `keypress` events for now.\n if (eventType !== 'keypress') {\n return false;\n }\n\n if (!target || !target.tagName) {\n return true;\n } // Only consider keypress events on actual input elements. This will disregard keypresses targeting body\n // e.g.tabbing through elements, hotkeys, etc.\n\n\n if (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA' || target.isContentEditable) {\n return false;\n }\n\n return true;\n}\n\nfunction getEventTarget(event) {\n try {\n return event.target;\n } catch (e) {\n // just accessing `target` property can throw an exception in some rare circumstances\n // see: https://github.com/getsentry/sentry-javascript/issues/838\n return null;\n }\n}\n/**\n * Wraps addEventListener to capture UI breadcrumbs\n * @param handler function that will be triggered\n * @param globalListener indicates whether event was captured by the global event listener\n * @returns wrapped breadcrumb events handler\n * @hidden\n */\n\n\nfunction makeDOMEventHandler(handler) {\n var globalListener = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return function (event) {\n // It's possible this handler might trigger multiple times for the same\n // event (e.g. event propagation through node ancestors).\n // Ignore if we've already captured that event.\n if (!event || event['_sentryCaptured']) {\n return;\n }\n\n var target = getEventTarget(event); // We always want to skip _some_ events.\n\n if (shouldSkipDOMEvent(event.type, target)) {\n return;\n } // Mark event as \"seen\"\n\n\n addNonEnumerableProperty(event, '_sentryCaptured', true);\n\n if (target && !target._sentryId) {\n // Add UUID to event target so we can identify if\n addNonEnumerableProperty(target, '_sentryId', uuid4());\n }\n\n var name = event.type === 'keypress' ? 'input' : event.type; // If there is no last captured event, it means that we can safely capture the new event and store it for future comparisons.\n // If there is a last captured event, see if the new event is different enough to treat it as a unique one.\n // If that's the case, emit the previous event and store locally the newly-captured DOM event.\n\n if (!isSimilarToLastCapturedEvent(event)) {\n handler({\n event: event,\n name: name,\n global: globalListener\n });\n lastCapturedEventType = event.type;\n lastCapturedEventTargetId = target ? target._sentryId : undefined;\n } // Start a new debounce timer that will prevent us from capturing multiple events that should be grouped together.\n\n\n clearTimeout(debounceTimerID);\n debounceTimerID = WINDOW.setTimeout(function () {\n lastCapturedEventTargetId = undefined;\n lastCapturedEventType = undefined;\n }, DEBOUNCE_DURATION);\n };\n}\n/** JSDoc */\n\n\nfunction instrumentDOM() {\n if (!WINDOW.document) {\n return;\n } // Make it so that any click or keypress that is unhandled / bubbled up all the way to the document triggers our dom\n // handlers. (Normally we have only one, which captures a breadcrumb for each click or keypress.) Do this before\n // we instrument `addEventListener` so that we don't end up attaching this handler twice.\n\n\n var triggerDOMHandler = triggerHandlers.bind(null, 'dom');\n var globalDOMEventHandler = makeDOMEventHandler(triggerDOMHandler, true);\n WINDOW.document.addEventListener('click', globalDOMEventHandler, false);\n WINDOW.document.addEventListener('keypress', globalDOMEventHandler, false); // After hooking into click and keypress events bubbled up to `document`, we also hook into user-handled\n // clicks & keypresses, by adding an event listener of our own to any element to which they add a listener. That\n // way, whenever one of their handlers is triggered, ours will be, too. (This is needed because their handler\n // could potentially prevent the event from bubbling up to our global listeners. This way, our handler are still\n // guaranteed to fire at least once.)\n\n ['EventTarget', 'Node'].forEach(function (target) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n var proto = WINDOW[target] && WINDOW[target].prototype; // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, no-prototype-builtins\n\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n\n fill(proto, 'addEventListener', function (originalAddEventListener) {\n return function (type, listener, options) {\n if (type === 'click' || type == 'keypress') {\n try {\n var el = this;\n\n var _handlers = el.__sentry_instrumentation_handlers__ = el.__sentry_instrumentation_handlers__ || {};\n\n var handlerForType = _handlers[type] = _handlers[type] || {\n refCount: 0\n };\n\n if (!handlerForType.handler) {\n var handler = makeDOMEventHandler(triggerDOMHandler);\n handlerForType.handler = handler;\n originalAddEventListener.call(this, type, handler, options);\n }\n\n handlerForType.refCount++;\n } catch (e) {// Accessing dom properties is always fragile.\n // Also allows us to skip `addEventListenrs` calls with no proper `this` context.\n }\n }\n\n return originalAddEventListener.call(this, type, listener, options);\n };\n });\n fill(proto, 'removeEventListener', function (originalRemoveEventListener) {\n return function (type, listener, options) {\n if (type === 'click' || type == 'keypress') {\n try {\n var el = this;\n\n var _handlers2 = el.__sentry_instrumentation_handlers__ || {};\n\n var handlerForType = _handlers2[type];\n\n if (handlerForType) {\n handlerForType.refCount--; // If there are no longer any custom handlers of the current type on this element, we can remove ours, too.\n\n if (handlerForType.refCount <= 0) {\n originalRemoveEventListener.call(this, type, handlerForType.handler, options);\n handlerForType.handler = undefined;\n delete _handlers2[type]; // eslint-disable-line @typescript-eslint/no-dynamic-delete\n } // If there are no longer any custom handlers of any type on this element, cleanup everything.\n\n\n if (Object.keys(_handlers2).length === 0) {\n delete el.__sentry_instrumentation_handlers__;\n }\n }\n } catch (e) {// Accessing dom properties is always fragile.\n // Also allows us to skip `addEventListenrs` calls with no proper `this` context.\n }\n }\n\n return originalRemoveEventListener.call(this, type, listener, options);\n };\n });\n });\n}\n\nvar _oldOnErrorHandler = null;\n/** JSDoc */\n\nfunction instrumentError() {\n _oldOnErrorHandler = WINDOW.onerror;\n\n WINDOW.onerror = function (msg, url, line, column, error) {\n triggerHandlers('error', {\n column: column,\n error: error,\n line: line,\n msg: msg,\n url: url\n });\n\n if (_oldOnErrorHandler && !_oldOnErrorHandler.__SENTRY_LOADER__) {\n // eslint-disable-next-line prefer-rest-params\n return _oldOnErrorHandler.apply(this, arguments);\n }\n\n return false;\n };\n\n WINDOW.onerror.__SENTRY_INSTRUMENTED__ = true;\n}\n\nvar _oldOnUnhandledRejectionHandler = null;\n/** JSDoc */\n\nfunction instrumentUnhandledRejection() {\n _oldOnUnhandledRejectionHandler = WINDOW.onunhandledrejection;\n\n WINDOW.onunhandledrejection = function (e) {\n triggerHandlers('unhandledrejection', e);\n\n if (_oldOnUnhandledRejectionHandler && !_oldOnUnhandledRejectionHandler.__SENTRY_LOADER__) {\n // eslint-disable-next-line prefer-rest-params\n return _oldOnUnhandledRejectionHandler.apply(this, arguments);\n }\n\n return true;\n };\n\n WINDOW.onunhandledrejection.__SENTRY_INSTRUMENTED__ = true;\n}\n\nexport { SENTRY_XHR_DATA_KEY, addInstrumentationHandler, instrumentDOM, instrumentXHR, parseFetchArgs, resetInstrumentationHandlers };","// eslint-disable-next-line @typescript-eslint/unbound-method\nvar objectToString = Object.prototype.toString;\n/**\n * Checks whether given value's type is one of a few Error or Error-like\n * {@link isError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\n\nfunction isError(wat) {\n switch (objectToString.call(wat)) {\n case '[object Error]':\n case '[object Exception]':\n case '[object DOMException]':\n return true;\n\n default:\n return isInstanceOf(wat, Error);\n }\n}\n/**\n * Checks whether given value is an instance of the given built-in class.\n *\n * @param wat The value to be checked\n * @param className\n * @returns A boolean representing the result.\n */\n\n\nfunction isBuiltin(wat, className) {\n return objectToString.call(wat) === \"[object \".concat(className, \"]\");\n}\n/**\n * Checks whether given value's type is ErrorEvent\n * {@link isErrorEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\n\n\nfunction isErrorEvent(wat) {\n return isBuiltin(wat, 'ErrorEvent');\n}\n/**\n * Checks whether given value's type is DOMError\n * {@link isDOMError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\n\n\nfunction isDOMError(wat) {\n return isBuiltin(wat, 'DOMError');\n}\n/**\n * Checks whether given value's type is DOMException\n * {@link isDOMException}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\n\n\nfunction isDOMException(wat) {\n return isBuiltin(wat, 'DOMException');\n}\n/**\n * Checks whether given value's type is a string\n * {@link isString}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\n\n\nfunction isString(wat) {\n return isBuiltin(wat, 'String');\n}\n/**\n * Checks whether given value is a primitive (undefined, null, number, boolean, string, bigint, symbol)\n * {@link isPrimitive}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\n\n\nfunction isPrimitive(wat) {\n return wat === null || typeof wat !== 'object' && typeof wat !== 'function';\n}\n/**\n * Checks whether given value's type is an object literal\n * {@link isPlainObject}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\n\n\nfunction isPlainObject(wat) {\n return isBuiltin(wat, 'Object');\n}\n/**\n * Checks whether given value's type is an Event instance\n * {@link isEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\n\n\nfunction isEvent(wat) {\n return typeof Event !== 'undefined' && isInstanceOf(wat, Event);\n}\n/**\n * Checks whether given value's type is an Element instance\n * {@link isElement}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\n\n\nfunction isElement(wat) {\n return typeof Element !== 'undefined' && isInstanceOf(wat, Element);\n}\n/**\n * Checks whether given value's type is an regexp\n * {@link isRegExp}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\n\n\nfunction isRegExp(wat) {\n return isBuiltin(wat, 'RegExp');\n}\n/**\n * Checks whether given value has a then function.\n * @param wat A value to be checked.\n */\n\n\nfunction isThenable(wat) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return Boolean(wat && wat.then && typeof wat.then === 'function');\n}\n/**\n * Checks whether given value's type is a SyntheticEvent\n * {@link isSyntheticEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\n\n\nfunction isSyntheticEvent(wat) {\n return isPlainObject(wat) && 'nativeEvent' in wat && 'preventDefault' in wat && 'stopPropagation' in wat;\n}\n/**\n * Checks whether given value is NaN\n * {@link isNaN}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\n\n\nfunction isNaN(wat) {\n return typeof wat === 'number' && wat !== wat;\n}\n/**\n * Checks whether given value's type is an instance of provided constructor.\n * {@link isInstanceOf}.\n *\n * @param wat A value to be checked.\n * @param base A constructor to be used in a check.\n * @returns A boolean representing the result.\n */\n\n\nfunction isInstanceOf(wat, base) {\n try {\n return wat instanceof base;\n } catch (_e) {\n return false;\n }\n}\n/**\n * Checks whether given value's type is a Vue ViewModel.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\n\n\nfunction isVueViewModel(wat) {\n // Not using Object.prototype.toString because in Vue 3 it would read the instance's Symbol(Symbol.toStringTag) property.\n return !!(typeof wat === 'object' && wat !== null && (wat.__isVue || wat._isVue));\n}\n\nexport { isDOMError, isDOMException, isElement, isError, isErrorEvent, isEvent, isInstanceOf, isNaN, isPlainObject, isPrimitive, isRegExp, isString, isSyntheticEvent, isThenable, isVueViewModel };","import { isNodeEnv } from './node.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n/**\n * Returns true if we are in the browser.\n */\n\nfunction isBrowser() {\n // eslint-disable-next-line no-restricted-globals\n return typeof window !== 'undefined' && (!isNodeEnv() || isElectronNodeRenderer());\n} // Electron renderers with nodeIntegration enabled are detected as Node.js so we specifically test for them\n\n\nfunction isElectronNodeRenderer() {\n return (// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any\n GLOBAL_OBJ.process !== undefined && GLOBAL_OBJ.process.type === 'renderer'\n );\n}\n\nexport { isBrowser };","import { GLOBAL_OBJ } from './worldwide.js';\n/** Prefix for logging strings */\n\nvar PREFIX = 'Sentry Logger ';\nvar CONSOLE_LEVELS = ['debug', 'info', 'warn', 'error', 'log', 'assert', 'trace'];\n/** This may be mutated by the console instrumentation. */\n\nvar originalConsoleMethods = {};\n/** JSDoc */\n\n/**\n * Temporarily disable sentry console instrumentations.\n *\n * @param callback The function to run against the original `console` messages\n * @returns The results of the callback\n */\n\nfunction consoleSandbox(callback) {\n if (!('console' in GLOBAL_OBJ)) {\n return callback();\n }\n\n var console = GLOBAL_OBJ.console;\n var wrappedFuncs = {};\n var wrappedLevels = Object.keys(originalConsoleMethods); // Restore all wrapped console methods\n\n wrappedLevels.forEach(function (level) {\n var originalConsoleMethod = originalConsoleMethods[level];\n wrappedFuncs[level] = console[level];\n console[level] = originalConsoleMethod;\n });\n\n try {\n return callback();\n } finally {\n // Revert restoration to wrapped state\n wrappedLevels.forEach(function (level) {\n console[level] = wrappedFuncs[level];\n });\n }\n}\n\nfunction makeLogger() {\n var enabled = false;\n var logger = {\n enable: function enable() {\n enabled = true;\n },\n disable: function disable() {\n enabled = false;\n },\n isEnabled: function isEnabled() {\n return enabled;\n }\n };\n\n if (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) {\n CONSOLE_LEVELS.forEach(function (name) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n logger[name] = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (enabled) {\n consoleSandbox(function () {\n var _GLOBAL_OBJ$console;\n\n (_GLOBAL_OBJ$console = GLOBAL_OBJ.console)[name].apply(_GLOBAL_OBJ$console, [\"\".concat(PREFIX, \"[\").concat(name, \"]:\")].concat(args));\n });\n }\n };\n });\n } else {\n CONSOLE_LEVELS.forEach(function (name) {\n logger[name] = function () {\n return undefined;\n };\n });\n }\n\n return logger;\n}\n\nvar logger = makeLogger();\nexport { CONSOLE_LEVELS, consoleSandbox, logger, originalConsoleMethods };","import _objectSpread from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport { addNonEnumerableProperty } from './object.js';\nimport { snipLine } from './string.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n/**\n * UUID4 generator\n *\n * @returns string Generated UUID4.\n */\n\nfunction uuid4() {\n var gbl = GLOBAL_OBJ;\n var crypto = gbl.crypto || gbl.msCrypto;\n\n var getRandomByte = function getRandomByte() {\n return Math.random() * 16;\n };\n\n try {\n if (crypto && crypto.randomUUID) {\n return crypto.randomUUID().replace(/-/g, '');\n }\n\n if (crypto && crypto.getRandomValues) {\n getRandomByte = function getRandomByte() {\n return crypto.getRandomValues(new Uint8Array(1))[0];\n };\n }\n } catch (_) {// some runtimes can crash invoking crypto\n // https://github.com/getsentry/sentry-javascript/issues/8935\n } // http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/2117523#2117523\n // Concatenating the following numbers as strings results in '10000000100040008000100000000000'\n\n\n return ([1e7] + 1e3 + 4e3 + 8e3 + 1e11).replace(/[018]/g, function (c) {\n return (// eslint-disable-next-line no-bitwise\n (c ^ (getRandomByte() & 15) >> c / 4).toString(16)\n );\n });\n}\n\nfunction getFirstException(event) {\n return event.exception && event.exception.values ? event.exception.values[0] : undefined;\n}\n/**\n * Extracts either message or type+value from an event that can be used for user-facing logs\n * @returns event's description\n */\n\n\nfunction getEventDescription(event) {\n var message = event.message,\n eventId = event.event_id;\n\n if (message) {\n return message;\n }\n\n var firstException = getFirstException(event);\n\n if (firstException) {\n if (firstException.type && firstException.value) {\n return \"\".concat(firstException.type, \": \").concat(firstException.value);\n }\n\n return firstException.type || firstException.value || eventId || '';\n }\n\n return eventId || '';\n}\n/**\n * Adds exception values, type and value to an synthetic Exception.\n * @param event The event to modify.\n * @param value Value of the exception.\n * @param type Type of the exception.\n * @hidden\n */\n\n\nfunction addExceptionTypeValue(event, value, type) {\n var exception = event.exception = event.exception || {};\n var values = exception.values = exception.values || [];\n var firstException = values[0] = values[0] || {};\n\n if (!firstException.value) {\n firstException.value = value || '';\n }\n\n if (!firstException.type) {\n firstException.type = type || 'Error';\n }\n}\n/**\n * Adds exception mechanism data to a given event. Uses defaults if the second parameter is not passed.\n *\n * @param event The event to modify.\n * @param newMechanism Mechanism data to add to the event.\n * @hidden\n */\n\n\nfunction addExceptionMechanism(event, newMechanism) {\n var firstException = getFirstException(event);\n\n if (!firstException) {\n return;\n }\n\n var defaultMechanism = {\n type: 'generic',\n handled: true\n };\n var currentMechanism = firstException.mechanism;\n firstException.mechanism = _objectSpread(_objectSpread(_objectSpread({}, defaultMechanism), currentMechanism), newMechanism);\n\n if (newMechanism && 'data' in newMechanism) {\n var mergedData = _objectSpread(_objectSpread({}, currentMechanism && currentMechanism.data), newMechanism.data);\n\n firstException.mechanism.data = mergedData;\n }\n} // https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\n\n\nvar SEMVER_REGEXP = /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\n/**\n * Represents Semantic Versioning object\n */\n\n/**\n * Parses input into a SemVer interface\n * @param input string representation of a semver version\n */\n\nfunction parseSemver(input) {\n var match = input.match(SEMVER_REGEXP) || [];\n var major = parseInt(match[1], 10);\n var minor = parseInt(match[2], 10);\n var patch = parseInt(match[3], 10);\n return {\n buildmetadata: match[5],\n major: isNaN(major) ? undefined : major,\n minor: isNaN(minor) ? undefined : minor,\n patch: isNaN(patch) ? undefined : patch,\n prerelease: match[4]\n };\n}\n/**\n * This function adds context (pre/post/line) lines to the provided frame\n *\n * @param lines string[] containing all lines\n * @param frame StackFrame that will be mutated\n * @param linesOfContext number of context lines we want to add pre/post\n */\n\n\nfunction addContextToFrame(lines, frame) {\n var linesOfContext = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 5;\n\n // When there is no line number in the frame, attaching context is nonsensical and will even break grouping\n if (frame.lineno === undefined) {\n return;\n }\n\n var maxLines = lines.length;\n var sourceLine = Math.max(Math.min(maxLines - 1, frame.lineno - 1), 0);\n frame.pre_context = lines.slice(Math.max(0, sourceLine - linesOfContext), sourceLine).map(function (line) {\n return snipLine(line, 0);\n });\n frame.context_line = snipLine(lines[Math.min(maxLines - 1, sourceLine)], frame.colno || 0);\n frame.post_context = lines.slice(Math.min(sourceLine + 1, maxLines), sourceLine + 1 + linesOfContext).map(function (line) {\n return snipLine(line, 0);\n });\n}\n/**\n * Checks whether or not we've already captured the given exception (note: not an identical exception - the very object\n * in question), and marks it captured if not.\n *\n * This is useful because it's possible for an error to get captured by more than one mechanism. After we intercept and\n * record an error, we rethrow it (assuming we've intercepted it before it's reached the top-level global handlers), so\n * that we don't interfere with whatever effects the error might have had were the SDK not there. At that point, because\n * the error has been rethrown, it's possible for it to bubble up to some other code we've instrumented. If it's not\n * caught after that, it will bubble all the way up to the global handlers (which of course we also instrument). This\n * function helps us ensure that even if we encounter the same error more than once, we only record it the first time we\n * see it.\n *\n * Note: It will ignore primitives (always return `false` and not mark them as seen), as properties can't be set on\n * them. {@link: Object.objectify} can be used on exceptions to convert any that are primitives into their equivalent\n * object wrapper forms so that this check will always work. However, because we need to flag the exact object which\n * will get rethrown, and because that rethrowing happens outside of the event processing pipeline, the objectification\n * must be done before the exception captured.\n *\n * @param A thrown exception to check or flag as having been seen\n * @returns `true` if the exception has already been captured, `false` if not (with the side effect of marking it seen)\n */\n\n\nfunction checkOrSetAlreadyCaught(exception) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (exception && exception.__sentry_captured__) {\n return true;\n }\n\n try {\n // set it this way rather than by assignment so that it's not ennumerable and therefore isn't recorded by the\n // `ExtraErrorData` integration\n addNonEnumerableProperty(exception, '__sentry_captured__', true);\n } catch (err) {// `exception` is a primitive, so we can't mark it seen\n }\n\n return false;\n}\n/**\n * Checks whether the given input is already an array, and if it isn't, wraps it in one.\n *\n * @param maybeArray Input to turn into an array, if necessary\n * @returns The input, if already an array, or an array with the input as the only element, if not\n */\n\n\nfunction arrayify(maybeArray) {\n return Array.isArray(maybeArray) ? maybeArray : [maybeArray];\n}\n\nexport { addContextToFrame, addExceptionMechanism, addExceptionTypeValue, arrayify, checkOrSetAlreadyCaught, getEventDescription, parseSemver, uuid4 };","import { isBrowserBundle } from './env.js';\n/**\n * NOTE: In order to avoid circular dependencies, if you add a function to this module and it needs to print something,\n * you must either a) use `console.log` rather than the logger, or b) put your function elsewhere.\n */\n\n/**\n * Checks whether we're in the Node.js or Browser environment\n *\n * @returns Answer to given question\n */\n\nfunction isNodeEnv() {\n // explicitly check for browser bundles as those can be optimized statically\n // by terser/rollup.\n return !isBrowserBundle() && Object.prototype.toString.call(typeof process !== 'undefined' ? process : 0) === '[object process]';\n}\n/**\n * Requires a module which is protected against bundler minification.\n *\n * @param request The module path to resolve\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n\n\nfunction dynamicRequire(mod, request) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return mod.require(request);\n}\n/**\n * Helper for dynamically loading module that should work with linked dependencies.\n * The problem is that we _should_ be using `require(require.resolve(moduleName, { paths: [cwd()] }))`\n * However it's _not possible_ to do that with Webpack, as it has to know all the dependencies during\n * build time. `require.resolve` is also not available in any other way, so we cannot create,\n * a fake helper like we do with `dynamicRequire`.\n *\n * We always prefer to use local package, thus the value is not returned early from each `try/catch` block.\n * That is to mimic the behavior of `require.resolve` exactly.\n *\n * @param moduleName module name to require\n * @returns possibly required module\n */\n\n\nfunction loadModule(moduleName) {\n var mod;\n\n try {\n mod = dynamicRequire(module, moduleName);\n } catch (e) {// no-empty\n }\n\n try {\n var _dynamicRequire = dynamicRequire(module, 'process'),\n cwd = _dynamicRequire.cwd;\n\n mod = dynamicRequire(module, \"\".concat(cwd(), \"/node_modules/\").concat(moduleName));\n } catch (e) {// no-empty\n }\n\n return mod;\n}\n\nexport { dynamicRequire, isNodeEnv, loadModule };","import _slicedToArray from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nimport { isNaN, isVueViewModel, isSyntheticEvent } from './is.js';\nimport { memoBuilder } from './memo.js';\nimport { convertToPlainObject } from './object.js';\nimport { getFunctionName } from './stacktrace.js';\n/**\n * Recursively normalizes the given object.\n *\n * - Creates a copy to prevent original input mutation\n * - Skips non-enumerable properties\n * - When stringifying, calls `toJSON` if implemented\n * - Removes circular references\n * - Translates non-serializable values (`undefined`/`NaN`/functions) to serializable format\n * - Translates known global objects/classes to a string representations\n * - Takes care of `Error` object serialization\n * - Optionally limits depth of final output\n * - Optionally limits number of properties/elements included in any single object/array\n *\n * @param input The object to be normalized.\n * @param depth The max depth to which to normalize the object. (Anything deeper stringified whole.)\n * @param maxProperties The max number of elements or properties to be included in any single array or\n * object in the normallized output.\n * @returns A normalized version of the object, or `\"**non-serializable**\"` if any errors are thrown during normalization.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\nfunction normalize(input) {\n var depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100;\n var maxProperties = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : +Infinity;\n\n try {\n // since we're at the outermost level, we don't provide a key\n return visit('', input, depth, maxProperties);\n } catch (err) {\n return {\n ERROR: \"**non-serializable** (\".concat(err, \")\")\n };\n }\n}\n/** JSDoc */\n\n\nfunction normalizeToSize( // eslint-disable-next-line @typescript-eslint/no-explicit-any\nobject) {\n var depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3;\n var maxSize = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 100 * 1024;\n var normalized = normalize(object, depth);\n\n if (jsonSize(normalized) > maxSize) {\n return normalizeToSize(object, depth - 1, maxSize);\n }\n\n return normalized;\n}\n/**\n * Visits a node to perform normalization on it\n *\n * @param key The key corresponding to the given node\n * @param value The node to be visited\n * @param depth Optional number indicating the maximum recursion depth\n * @param maxProperties Optional maximum number of properties/elements included in any single object/array\n * @param memo Optional Memo class handling decycling\n */\n\n\nfunction visit(key, value) {\n var depth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : +Infinity;\n var maxProperties = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : +Infinity;\n var memo = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : memoBuilder();\n\n var _memo = _slicedToArray(memo, 2),\n memoize = _memo[0],\n unmemoize = _memo[1]; // Get the simple cases out of the way first\n\n\n if (value == null || // this matches null and undefined -> eqeq not eqeqeq\n ['number', 'boolean', 'string'].includes(typeof value) && !isNaN(value)) {\n return value;\n }\n\n var stringified = stringifyValue(key, value); // Anything we could potentially dig into more (objects or arrays) will have come back as `\"[object XXXX]\"`.\n // Everything else will have already been serialized, so if we don't see that pattern, we're done.\n\n if (!stringified.startsWith('[object ')) {\n return stringified;\n } // From here on, we can assert that `value` is either an object or an array.\n // Do not normalize objects that we know have already been normalized. As a general rule, the\n // \"__sentry_skip_normalization__\" property should only be used sparingly and only should only be set on objects that\n // have already been normalized.\n\n\n if (value['__sentry_skip_normalization__']) {\n return value;\n } // We can set `__sentry_override_normalization_depth__` on an object to ensure that from there\n // We keep a certain amount of depth.\n // This should be used sparingly, e.g. we use it for the redux integration to ensure we get a certain amount of state.\n\n\n var remainingDepth = typeof value['__sentry_override_normalization_depth__'] === 'number' ? value['__sentry_override_normalization_depth__'] : depth; // We're also done if we've reached the max depth\n\n if (remainingDepth === 0) {\n // At this point we know `serialized` is a string of the form `\"[object XXXX]\"`. Clean it up so it's just `\"[XXXX]\"`.\n return stringified.replace('object ', '');\n } // If we've already visited this branch, bail out, as it's circular reference. If not, note that we're seeing it now.\n\n\n if (memoize(value)) {\n return '[Circular ~]';\n } // If the value has a `toJSON` method, we call it to extract more information\n\n\n var valueWithToJSON = value;\n\n if (valueWithToJSON && typeof valueWithToJSON.toJSON === 'function') {\n try {\n var jsonValue = valueWithToJSON.toJSON(); // We need to normalize the return value of `.toJSON()` in case it has circular references\n\n return visit('', jsonValue, remainingDepth - 1, maxProperties, memo);\n } catch (err) {// pass (The built-in `toJSON` failed, but we can still try to do it ourselves)\n }\n } // At this point we know we either have an object or an array, we haven't seen it before, and we're going to recurse\n // because we haven't yet reached the max depth. Create an accumulator to hold the results of visiting each\n // property/entry, and keep track of the number of items we add to it.\n\n\n var normalized = Array.isArray(value) ? [] : {};\n var numAdded = 0; // Before we begin, convert`Error` and`Event` instances into plain objects, since some of each of their relevant\n // properties are non-enumerable and otherwise would get missed.\n\n var visitable = convertToPlainObject(value);\n\n for (var visitKey in visitable) {\n // Avoid iterating over fields in the prototype if they've somehow been exposed to enumeration.\n if (!Object.prototype.hasOwnProperty.call(visitable, visitKey)) {\n continue;\n }\n\n if (numAdded >= maxProperties) {\n normalized[visitKey] = '[MaxProperties ~]';\n break;\n } // Recursively visit all the child nodes\n\n\n var visitValue = visitable[visitKey];\n normalized[visitKey] = visit(visitKey, visitValue, remainingDepth - 1, maxProperties, memo);\n numAdded++;\n } // Once we've visited all the branches, remove the parent from memo storage\n\n\n unmemoize(value); // Return accumulated values\n\n return normalized;\n}\n/* eslint-disable complexity */\n\n/**\n * Stringify the given value. Handles various known special values and types.\n *\n * Not meant to be used on simple primitives which already have a string representation, as it will, for example, turn\n * the number 1231 into \"[Object Number]\", nor on `null`, as it will throw.\n *\n * @param value The value to stringify\n * @returns A stringified representation of the given value\n */\n\n\nfunction stringifyValue(key, // this type is a tiny bit of a cheat, since this function does handle NaN (which is technically a number), but for\n// our internal use, it'll do\nvalue) {\n try {\n if (key === 'domain' && value && typeof value === 'object' && value._events) {\n return '[Domain]';\n }\n\n if (key === 'domainEmitter') {\n return '[DomainEmitter]';\n } // It's safe to use `global`, `window`, and `document` here in this manner, as we are asserting using `typeof` first\n // which won't throw if they are not present.\n\n\n if (typeof global !== 'undefined' && value === global) {\n return '[Global]';\n } // eslint-disable-next-line no-restricted-globals\n\n\n if (typeof window !== 'undefined' && value === window) {\n return '[Window]';\n } // eslint-disable-next-line no-restricted-globals\n\n\n if (typeof document !== 'undefined' && value === document) {\n return '[Document]';\n }\n\n if (isVueViewModel(value)) {\n return '[VueViewModel]';\n } // React's SyntheticEvent thingy\n\n\n if (isSyntheticEvent(value)) {\n return '[SyntheticEvent]';\n }\n\n if (typeof value === 'number' && value !== value) {\n return '[NaN]';\n }\n\n if (typeof value === 'function') {\n return \"[Function: \".concat(getFunctionName(value), \"]\");\n }\n\n if (typeof value === 'symbol') {\n return \"[\".concat(String(value), \"]\");\n } // stringified BigInts are indistinguishable from regular numbers, so we need to label them to avoid confusion\n\n\n if (typeof value === 'bigint') {\n return \"[BigInt: \".concat(String(value), \"]\");\n } // Now that we've knocked out all the special cases and the primitives, all we have left are objects. Simply casting\n // them to strings means that instances of classes which haven't defined their `toStringTag` will just come out as\n // `\"[object Object]\"`. If we instead look at the constructor's name (which is the same as the name of the class),\n // we can make sure that only plain objects come out that way.\n\n\n var objName = getConstructorName(value); // Handle HTML Elements\n\n if (/^HTML(\\w*)Element$/.test(objName)) {\n return \"[HTMLElement: \".concat(objName, \"]\");\n }\n\n return \"[object \".concat(objName, \"]\");\n } catch (err) {\n return \"**non-serializable** (\".concat(err, \")\");\n }\n}\n/* eslint-enable complexity */\n\n\nfunction getConstructorName(value) {\n var prototype = Object.getPrototypeOf(value);\n return prototype ? prototype.constructor.name : 'null prototype';\n}\n/** Calculates bytes size of input string */\n\n\nfunction utf8Length(value) {\n // eslint-disable-next-line no-bitwise\n return ~-encodeURI(value).split(/%..|./).length;\n}\n/** Calculates bytes size of input object */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n\nfunction jsonSize(value) {\n return utf8Length(JSON.stringify(value));\n}\n\nexport { normalize, normalizeToSize, visit as walk };","/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/**\n * Helper to decycle json objects\n */\nfunction memoBuilder() {\n var hasWeakSet = typeof WeakSet === 'function';\n var inner = hasWeakSet ? new WeakSet() : [];\n\n function memoize(obj) {\n if (hasWeakSet) {\n if (inner.has(obj)) {\n return true;\n }\n\n inner.add(obj);\n return false;\n } // eslint-disable-next-line @typescript-eslint/prefer-for-of\n\n\n for (var i = 0; i < inner.length; i++) {\n var value = inner[i];\n\n if (value === obj) {\n return true;\n }\n }\n\n inner.push(obj);\n return false;\n }\n\n function unmemoize(obj) {\n if (hasWeakSet) {\n inner.delete(obj);\n } else {\n for (var i = 0; i < inner.length; i++) {\n if (inner[i] === obj) {\n inner.splice(i, 1);\n break;\n }\n }\n }\n }\n\n return [memoize, unmemoize];\n}\n\nexport { memoBuilder };","import _objectSpread from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport { htmlTreeAsString } from './browser.js';\nimport { isError, isEvent, isInstanceOf, isElement, isPlainObject, isPrimitive } from './is.js';\nimport { logger } from './logger.js';\nimport { truncate } from './string.js';\n/**\n * Replace a method in an object with a wrapped version of itself.\n *\n * @param source An object that contains a method to be wrapped.\n * @param name The name of the method to be wrapped.\n * @param replacementFactory A higher-order function that takes the original version of the given method and returns a\n * wrapped version. Note: The function returned by `replacementFactory` needs to be a non-arrow function, in order to\n * preserve the correct value of `this`, and the original method must be called using `origMethod.call(this, )` or `origMethod.apply(this, [])` (rather than being called directly), again to preserve `this`.\n * @returns void\n */\n\nfunction fill(source, name, replacementFactory) {\n if (!(name in source)) {\n return;\n }\n\n var original = source[name];\n var wrapped = replacementFactory(original); // Make sure it's a function first, as we need to attach an empty prototype for `defineProperties` to work\n // otherwise it'll throw \"TypeError: Object.defineProperties called on non-object\"\n\n if (typeof wrapped === 'function') {\n markFunctionWrapped(wrapped, original);\n }\n\n source[name] = wrapped;\n}\n/**\n * Defines a non-enumerable property on the given object.\n *\n * @param obj The object on which to set the property\n * @param name The name of the property to be set\n * @param value The value to which to set the property\n */\n\n\nfunction addNonEnumerableProperty(obj, name, value) {\n try {\n Object.defineProperty(obj, name, {\n // enumerable: false, // the default, so we can save on bundle size by not explicitly setting it\n value: value,\n writable: true,\n configurable: true\n });\n } catch (o_O) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log(\"Failed to add non-enumerable property \\\"\".concat(name, \"\\\" to object\"), obj);\n }\n}\n/**\n * Remembers the original function on the wrapped function and\n * patches up the prototype.\n *\n * @param wrapped the wrapper function\n * @param original the original function that gets wrapped\n */\n\n\nfunction markFunctionWrapped(wrapped, original) {\n try {\n var proto = original.prototype || {};\n wrapped.prototype = original.prototype = proto;\n addNonEnumerableProperty(wrapped, '__sentry_original__', original);\n } catch (o_O) {} // eslint-disable-line no-empty\n\n}\n/**\n * This extracts the original function if available. See\n * `markFunctionWrapped` for more information.\n *\n * @param func the function to unwrap\n * @returns the unwrapped version of the function if available.\n */\n\n\nfunction getOriginalFunction(func) {\n return func.__sentry_original__;\n}\n/**\n * Encodes given object into url-friendly format\n *\n * @param object An object that contains serializable values\n * @returns string Encoded\n */\n\n\nfunction urlEncode(object) {\n return Object.keys(object).map(function (key) {\n return \"\".concat(encodeURIComponent(key), \"=\").concat(encodeURIComponent(object[key]));\n }).join('&');\n}\n/**\n * Transforms any `Error` or `Event` into a plain object with all of their enumerable properties, and some of their\n * non-enumerable properties attached.\n *\n * @param value Initial source that we have to transform in order for it to be usable by the serializer\n * @returns An Event or Error turned into an object - or the value argurment itself, when value is neither an Event nor\n * an Error.\n */\n\n\nfunction convertToPlainObject(value) {\n if (isError(value)) {\n return _objectSpread({\n message: value.message,\n name: value.name,\n stack: value.stack\n }, getOwnProperties(value));\n } else if (isEvent(value)) {\n var newObj = _objectSpread({\n type: value.type,\n target: serializeEventTarget(value.target),\n currentTarget: serializeEventTarget(value.currentTarget)\n }, getOwnProperties(value));\n\n if (typeof CustomEvent !== 'undefined' && isInstanceOf(value, CustomEvent)) {\n newObj.detail = value.detail;\n }\n\n return newObj;\n } else {\n return value;\n }\n}\n/** Creates a string representation of the target of an `Event` object */\n\n\nfunction serializeEventTarget(target) {\n try {\n return isElement(target) ? htmlTreeAsString(target) : Object.prototype.toString.call(target);\n } catch (_oO) {\n return '';\n }\n}\n/** Filters out all but an object's own properties */\n\n\nfunction getOwnProperties(obj) {\n if (typeof obj === 'object' && obj !== null) {\n var extractedProps = {};\n\n for (var property in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, property)) {\n extractedProps[property] = obj[property];\n }\n }\n\n return extractedProps;\n } else {\n return {};\n }\n}\n/**\n * Given any captured exception, extract its keys and create a sorted\n * and truncated list that will be used inside the event message.\n * eg. `Non-error exception captured with keys: foo, bar, baz`\n */\n\n\nfunction extractExceptionKeysForMessage(exception) {\n var maxLength = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 40;\n var keys = Object.keys(convertToPlainObject(exception));\n keys.sort();\n\n if (!keys.length) {\n return '[object has no keys]';\n }\n\n if (keys[0].length >= maxLength) {\n return truncate(keys[0], maxLength);\n }\n\n for (var includedKeys = keys.length; includedKeys > 0; includedKeys--) {\n var serialized = keys.slice(0, includedKeys).join(', ');\n\n if (serialized.length > maxLength) {\n continue;\n }\n\n if (includedKeys === keys.length) {\n return serialized;\n }\n\n return truncate(serialized, maxLength);\n }\n\n return '';\n}\n/**\n * Given any object, return a new object having removed all fields whose value was `undefined`.\n * Works recursively on objects and arrays.\n *\n * Attention: This function keeps circular references in the returned object.\n */\n\n\nfunction dropUndefinedKeys(inputValue) {\n // This map keeps track of what already visited nodes map to.\n // Our Set - based memoBuilder doesn't work here because we want to the output object to have the same circular\n // references as the input object.\n var memoizationMap = new Map(); // This function just proxies `_dropUndefinedKeys` to keep the `memoBuilder` out of this function's API\n\n return _dropUndefinedKeys(inputValue, memoizationMap);\n}\n\nfunction _dropUndefinedKeys(inputValue, memoizationMap) {\n if (isPlainObject(inputValue)) {\n // If this node has already been visited due to a circular reference, return the object it was mapped to in the new object\n var memoVal = memoizationMap.get(inputValue);\n\n if (memoVal !== undefined) {\n return memoVal;\n }\n\n var returnValue = {}; // Store the mapping of this value in case we visit it again, in case of circular data\n\n memoizationMap.set(inputValue, returnValue);\n\n for (var _i = 0, _Object$keys = Object.keys(inputValue); _i < _Object$keys.length; _i++) {\n var key = _Object$keys[_i];\n\n if (typeof inputValue[key] !== 'undefined') {\n returnValue[key] = _dropUndefinedKeys(inputValue[key], memoizationMap);\n }\n }\n\n return returnValue;\n }\n\n if (Array.isArray(inputValue)) {\n // If this node has already been visited due to a circular reference, return the array it was mapped to in the new object\n var _memoVal = memoizationMap.get(inputValue);\n\n if (_memoVal !== undefined) {\n return _memoVal;\n }\n\n var _returnValue = []; // Store the mapping of this value in case we visit it again, in case of circular data\n\n memoizationMap.set(inputValue, _returnValue);\n inputValue.forEach(function (item) {\n _returnValue.push(_dropUndefinedKeys(item, memoizationMap));\n });\n return _returnValue;\n }\n\n return inputValue;\n}\n/**\n * Ensure that something is an object.\n *\n * Turns `undefined` and `null` into `String`s and all other primitives into instances of their respective wrapper\n * classes (String, Boolean, Number, etc.). Acts as the identity function on non-primitives.\n *\n * @param wat The subject of the objectification\n * @returns A version of `wat` which can safely be used with `Object` class methods\n */\n\n\nfunction objectify(wat) {\n var objectified;\n\n switch (true) {\n case wat === undefined || wat === null:\n objectified = new String(wat);\n break;\n // Though symbols and bigints do have wrapper classes (`Symbol` and `BigInt`, respectively), for whatever reason\n // those classes don't have constructors which can be used with the `new` keyword. We therefore need to cast each as\n // an object in order to wrap it.\n\n case typeof wat === 'symbol' || typeof wat === 'bigint':\n objectified = Object(wat);\n break;\n // this will catch the remaining primitives: `String`, `Number`, and `Boolean`\n\n case isPrimitive(wat):\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n objectified = new wat.constructor(wat);\n break;\n // by process of elimination, at this point we know that `wat` must already be an object\n\n default:\n objectified = wat;\n break;\n }\n\n return objectified;\n}\n\nexport { addNonEnumerableProperty, convertToPlainObject, dropUndefinedKeys, extractExceptionKeysForMessage, fill, getOriginalFunction, markFunctionWrapped, objectify, urlEncode };","import { SentryError } from './error.js';\nimport { rejectedSyncPromise, SyncPromise, resolvedSyncPromise } from './syncpromise.js';\n/**\n * Creates an new PromiseBuffer object with the specified limit\n * @param limit max number of promises that can be stored in the buffer\n */\n\nfunction makePromiseBuffer(limit) {\n var buffer = [];\n\n function isReady() {\n return limit === undefined || buffer.length < limit;\n }\n /**\n * Remove a promise from the queue.\n *\n * @param task Can be any PromiseLike\n * @returns Removed promise.\n */\n\n\n function remove(task) {\n return buffer.splice(buffer.indexOf(task), 1)[0];\n }\n /**\n * Add a promise (representing an in-flight action) to the queue, and set it to remove itself on fulfillment.\n *\n * @param taskProducer A function producing any PromiseLike; In previous versions this used to be `task:\n * PromiseLike`, but under that model, Promises were instantly created on the call-site and their executor\n * functions therefore ran immediately. Thus, even if the buffer was full, the action still happened. By\n * requiring the promise to be wrapped in a function, we can defer promise creation until after the buffer\n * limit check.\n * @returns The original promise.\n */\n\n\n function add(taskProducer) {\n if (!isReady()) {\n return rejectedSyncPromise(new SentryError('Not adding Promise because buffer limit was reached.'));\n } // start the task and add its promise to the queue\n\n\n var task = taskProducer();\n\n if (buffer.indexOf(task) === -1) {\n buffer.push(task);\n }\n\n void task.then(function () {\n return remove(task);\n }) // Use `then(null, rejectionHandler)` rather than `catch(rejectionHandler)` so that we can use `PromiseLike`\n // rather than `Promise`. `PromiseLike` doesn't have a `.catch` method, making its polyfill smaller. (ES5 didn't\n // have promises, so TS has to polyfill when down-compiling.)\n .then(null, function () {\n return remove(task).then(null, function () {// We have to add another catch here because `remove()` starts a new promise chain.\n });\n });\n return task;\n }\n /**\n * Wait for all promises in the queue to resolve or for timeout to expire, whichever comes first.\n *\n * @param timeout The time, in ms, after which to resolve to `false` if the queue is still non-empty. Passing `0` (or\n * not passing anything) will make the promise wait as long as it takes for the queue to drain before resolving to\n * `true`.\n * @returns A promise which will resolve to `true` if the queue is already empty or drains before the timeout, and\n * `false` otherwise\n */\n\n\n function drain(timeout) {\n return new SyncPromise(function (resolve, reject) {\n var counter = buffer.length;\n\n if (!counter) {\n return resolve(true);\n } // wait for `timeout` ms and then resolve to `false` (if not cancelled first)\n\n\n var capturedSetTimeout = setTimeout(function () {\n if (timeout && timeout > 0) {\n resolve(false);\n }\n }, timeout); // if all promises resolve in time, cancel the timer and resolve to `true`\n\n buffer.forEach(function (item) {\n void resolvedSyncPromise(item).then(function () {\n if (! --counter) {\n clearTimeout(capturedSetTimeout);\n resolve(true);\n }\n }, reject);\n });\n });\n }\n\n return {\n $: buffer,\n add: add,\n drain: drain\n };\n}\n\nexport { makePromiseBuffer };","import _slicedToArray from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nimport _createForOfIteratorHelper from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js\";\nimport _objectSpread from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\n// Intentionally keeping the key broad, as we don't know for sure what rate limit headers get returned from backend\nvar DEFAULT_RETRY_AFTER = 60 * 1000; // 60 seconds\n\n/**\n * Extracts Retry-After value from the request header or returns default value\n * @param header string representation of 'Retry-After' header\n * @param now current unix timestamp\n *\n */\n\nfunction parseRetryAfterHeader(header) {\n var now = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Date.now();\n var headerDelay = parseInt(\"\".concat(header), 10);\n\n if (!isNaN(headerDelay)) {\n return headerDelay * 1000;\n }\n\n var headerDate = Date.parse(\"\".concat(header));\n\n if (!isNaN(headerDate)) {\n return headerDate - now;\n }\n\n return DEFAULT_RETRY_AFTER;\n}\n/**\n * Gets the time that the given category is disabled until for rate limiting.\n * In case no category-specific limit is set but a general rate limit across all categories is active,\n * that time is returned.\n *\n * @return the time in ms that the category is disabled until or 0 if there's no active rate limit.\n */\n\n\nfunction disabledUntil(limits, category) {\n return limits[category] || limits.all || 0;\n}\n/**\n * Checks if a category is rate limited\n */\n\n\nfunction isRateLimited(limits, category) {\n var now = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : Date.now();\n return disabledUntil(limits, category) > now;\n}\n/**\n * Update ratelimits from incoming headers.\n *\n * @return the updated RateLimits object.\n */\n\n\nfunction updateRateLimits(limits, _ref) {\n var statusCode = _ref.statusCode,\n headers = _ref.headers;\n var now = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : Date.now();\n\n var updatedRateLimits = _objectSpread({}, limits); // \"The name is case-insensitive.\"\n // https://developer.mozilla.org/en-US/docs/Web/API/Headers/get\n\n\n var rateLimitHeader = headers && headers['x-sentry-rate-limits'];\n var retryAfterHeader = headers && headers['retry-after'];\n\n if (rateLimitHeader) {\n /**\n * rate limit headers are of the form\n *
,
,..\n * where each
is of the form\n * : : : \n * where\n * is a delay in seconds\n * is the event type(s) (error, transaction, etc) being rate limited and is of the form\n * ;;...\n * is what's being limited (org, project, or key) - ignored by SDK\n * is an arbitrary string like \"org_quota\" - ignored by SDK\n */\n var _iterator = _createForOfIteratorHelper(rateLimitHeader.trim().split(',')),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var limit = _step.value;\n\n var _limit$split = limit.split(':', 2),\n _limit$split2 = _slicedToArray(_limit$split, 2),\n retryAfter = _limit$split2[0],\n categories = _limit$split2[1];\n\n var headerDelay = parseInt(retryAfter, 10);\n var delay = (!isNaN(headerDelay) ? headerDelay : 60) * 1000; // 60sec default\n\n if (!categories) {\n updatedRateLimits.all = now + delay;\n } else {\n var _iterator2 = _createForOfIteratorHelper(categories.split(';')),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var category = _step2.value;\n updatedRateLimits[category] = now + delay;\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n } else if (retryAfterHeader) {\n updatedRateLimits.all = now + parseRetryAfterHeader(retryAfterHeader, now);\n } else if (statusCode === 429) {\n updatedRateLimits.all = now + 60 * 1000;\n }\n\n return updatedRateLimits;\n}\n\nexport { DEFAULT_RETRY_AFTER, disabledUntil, isRateLimited, parseRetryAfterHeader, updateRateLimits };","// Note: Ideally the `SeverityLevel` type would be derived from `validSeverityLevels`, but that would mean either\n//\n// a) moving `validSeverityLevels` to `@sentry/types`,\n// b) moving the`SeverityLevel` type here, or\n// c) importing `validSeverityLevels` from here into `@sentry/types`.\n//\n// Option A would make `@sentry/types` a runtime dependency of `@sentry/utils` (not good), and options B and C would\n// create a circular dependency between `@sentry/types` and `@sentry/utils` (also not good). So a TODO accompanying the\n// type, reminding anyone who changes it to change this list also, will have to do.\nvar validSeverityLevels = ['fatal', 'error', 'warning', 'log', 'info', 'debug'];\n/**\n * Converts a string-based level into a member of the deprecated {@link Severity} enum.\n *\n * @deprecated `severityFromString` is deprecated. Please use `severityLevelFromString` instead.\n *\n * @param level String representation of Severity\n * @returns Severity\n */\n\nfunction severityFromString(level) {\n return severityLevelFromString(level);\n}\n/**\n * Converts a string-based level into a `SeverityLevel`, normalizing it along the way.\n *\n * @param level String representation of desired `SeverityLevel`.\n * @returns The `SeverityLevel` corresponding to the given string, or 'log' if the string isn't a valid level.\n */\n\n\nfunction severityLevelFromString(level) {\n return level === 'warn' ? 'warning' : validSeverityLevels.includes(level) ? level : 'log';\n}\n\nexport { severityFromString, severityLevelFromString, validSeverityLevels };","import _objectSpread from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport _toConsumableArray from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\";\nimport _createForOfIteratorHelper from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js\";\nimport { node } from './node-stack-trace.js';\nexport { filenameIsInApp } from './node-stack-trace.js';\nvar STACKTRACE_FRAME_LIMIT = 50; // Used to sanitize webpack (error: *) wrapped stack errors\n\nvar WEBPACK_ERROR_REGEXP = /\\(error: (.*)\\)/;\nvar STRIP_FRAME_REGEXP = /captureMessage|captureException/;\n/**\n * Creates a stack parser with the supplied line parsers\n *\n * StackFrames are returned in the correct order for Sentry Exception\n * frames and with Sentry SDK internal frames removed from the top and bottom\n *\n */\n\nfunction createStackParser() {\n for (var _len = arguments.length, parsers = new Array(_len), _key = 0; _key < _len; _key++) {\n parsers[_key] = arguments[_key];\n }\n\n var sortedParsers = parsers.sort(function (a, b) {\n return a[0] - b[0];\n }).map(function (p) {\n return p[1];\n });\n return function (stack) {\n var skipFirst = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var frames = [];\n var lines = stack.split('\\n');\n\n for (var i = skipFirst; i < lines.length; i++) {\n var line = lines[i]; // Ignore lines over 1kb as they are unlikely to be stack frames.\n // Many of the regular expressions use backtracking which results in run time that increases exponentially with\n // input size. Huge strings can result in hangs/Denial of Service:\n // https://github.com/getsentry/sentry-javascript/issues/2286\n\n if (line.length > 1024) {\n continue;\n } // https://github.com/getsentry/sentry-javascript/issues/5459\n // Remove webpack (error: *) wrappers\n\n\n var cleanedLine = WEBPACK_ERROR_REGEXP.test(line) ? line.replace(WEBPACK_ERROR_REGEXP, '$1') : line; // https://github.com/getsentry/sentry-javascript/issues/7813\n // Skip Error: lines\n\n if (cleanedLine.match(/\\S*Error: /)) {\n continue;\n }\n\n var _iterator = _createForOfIteratorHelper(sortedParsers),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var parser = _step.value;\n var frame = parser(cleanedLine);\n\n if (frame) {\n frames.push(frame);\n break;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (frames.length >= STACKTRACE_FRAME_LIMIT) {\n break;\n }\n }\n\n return stripSentryFramesAndReverse(frames);\n };\n}\n/**\n * Gets a stack parser implementation from Options.stackParser\n * @see Options\n *\n * If options contains an array of line parsers, it is converted into a parser\n */\n\n\nfunction stackParserFromStackParserOptions(stackParser) {\n if (Array.isArray(stackParser)) {\n return createStackParser.apply(void 0, _toConsumableArray(stackParser));\n }\n\n return stackParser;\n}\n/**\n * Removes Sentry frames from the top and bottom of the stack if present and enforces a limit of max number of frames.\n * Assumes stack input is ordered from top to bottom and returns the reverse representation so call site of the\n * function that caused the crash is the last frame in the array.\n * @hidden\n */\n\n\nfunction stripSentryFramesAndReverse(stack) {\n if (!stack.length) {\n return [];\n }\n\n var localStack = Array.from(stack); // If stack starts with one of our API calls, remove it (starts, meaning it's the top of the stack - aka last call)\n\n if (/sentryWrapped/.test(localStack[localStack.length - 1].function || '')) {\n localStack.pop();\n } // Reversing in the middle of the procedure allows us to just pop the values off the stack\n\n\n localStack.reverse(); // If stack ends with one of our internal API calls, remove it (ends, meaning it's the bottom of the stack - aka top-most call)\n\n if (STRIP_FRAME_REGEXP.test(localStack[localStack.length - 1].function || '')) {\n localStack.pop(); // When using synthetic events, we will have a 2 levels deep stack, as `new Error('Sentry syntheticException')`\n // is produced within the hub itself, making it:\n //\n // Sentry.captureException()\n // getCurrentHub().captureException()\n //\n // instead of just the top `Sentry` call itself.\n // This forces us to possibly strip an additional frame in the exact same was as above.\n\n if (STRIP_FRAME_REGEXP.test(localStack[localStack.length - 1].function || '')) {\n localStack.pop();\n }\n }\n\n return localStack.slice(0, STACKTRACE_FRAME_LIMIT).map(function (frame) {\n return _objectSpread(_objectSpread({}, frame), {}, {\n filename: frame.filename || localStack[localStack.length - 1].filename,\n function: frame.function || '?'\n });\n });\n}\n\nvar defaultFunctionName = '';\n/**\n * Safely extract function name from itself\n */\n\nfunction getFunctionName(fn) {\n try {\n if (!fn || typeof fn !== 'function') {\n return defaultFunctionName;\n }\n\n return fn.name || defaultFunctionName;\n } catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n return defaultFunctionName;\n }\n}\n/**\n * Node.js stack line parser\n *\n * This is in @sentry/utils so it can be used from the Electron SDK in the browser for when `nodeIntegration == true`.\n * This allows it to be used without referencing or importing any node specific code which causes bundlers to complain\n */\n\n\nfunction nodeStackLineParser(getModule) {\n return [90, node(getModule)];\n}\n\nexport { createStackParser, getFunctionName, nodeStackLineParser, stackParserFromStackParserOptions, stripSentryFramesAndReverse };","import { isVueViewModel, isString, isRegExp } from './is.js';\n/**\n * Truncates given string to the maximum characters count\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string (0 = unlimited)\n * @returns string Encoded\n */\n\nfunction truncate(str) {\n var max = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n if (typeof str !== 'string' || max === 0) {\n return str;\n }\n\n return str.length <= max ? str : \"\".concat(str.slice(0, max), \"...\");\n}\n/**\n * This is basically just `trim_line` from\n * https://github.com/getsentry/sentry/blob/master/src/sentry/lang/javascript/processor.py#L67\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string\n * @returns string Encoded\n */\n\n\nfunction snipLine(line, colno) {\n var newLine = line;\n var lineLength = newLine.length;\n\n if (lineLength <= 150) {\n return newLine;\n }\n\n if (colno > lineLength) {\n // eslint-disable-next-line no-param-reassign\n colno = lineLength;\n }\n\n var start = Math.max(colno - 60, 0);\n\n if (start < 5) {\n start = 0;\n }\n\n var end = Math.min(start + 140, lineLength);\n\n if (end > lineLength - 5) {\n end = lineLength;\n }\n\n if (end === lineLength) {\n start = Math.max(end - 140, 0);\n }\n\n newLine = newLine.slice(start, end);\n\n if (start > 0) {\n newLine = \"'{snip} \".concat(newLine);\n }\n\n if (end < lineLength) {\n newLine += ' {snip}';\n }\n\n return newLine;\n}\n/**\n * Join values in array\n * @param input array of values to be joined together\n * @param delimiter string to be placed in-between values\n * @returns Joined values\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n\nfunction safeJoin(input, delimiter) {\n if (!Array.isArray(input)) {\n return '';\n }\n\n var output = []; // eslint-disable-next-line @typescript-eslint/prefer-for-of\n\n for (var i = 0; i < input.length; i++) {\n var value = input[i];\n\n try {\n // This is a hack to fix a Vue3-specific bug that causes an infinite loop of\n // console warnings. This happens when a Vue template is rendered with\n // an undeclared variable, which we try to stringify, ultimately causing\n // Vue to issue another warning which repeats indefinitely.\n // see: https://github.com/getsentry/sentry-javascript/pull/8981\n if (isVueViewModel(value)) {\n output.push('[VueViewModel]');\n } else {\n output.push(String(value));\n }\n } catch (e) {\n output.push('[value cannot be serialized]');\n }\n }\n\n return output.join(delimiter);\n}\n/**\n * Checks if the given value matches a regex or string\n *\n * @param value The string to test\n * @param pattern Either a regex or a string against which `value` will be matched\n * @param requireExactStringMatch If true, `value` must match `pattern` exactly. If false, `value` will match\n * `pattern` if it contains `pattern`. Only applies to string-type patterns.\n */\n\n\nfunction isMatchingPattern(value, pattern) {\n var requireExactStringMatch = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (!isString(value)) {\n return false;\n }\n\n if (isRegExp(pattern)) {\n return pattern.test(value);\n }\n\n if (isString(pattern)) {\n return requireExactStringMatch ? value === pattern : value.includes(pattern);\n }\n\n return false;\n}\n/**\n * Test the given string against an array of strings and regexes. By default, string matching is done on a\n * substring-inclusion basis rather than a strict equality basis\n *\n * @param testString The string to test\n * @param patterns The patterns against which to test the string\n * @param requireExactStringMatch If true, `testString` must match one of the given string patterns exactly in order to\n * count. If false, `testString` will match a string pattern if it contains that pattern.\n * @returns\n */\n\n\nfunction stringMatchesSomePattern(testString) {\n var patterns = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var requireExactStringMatch = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return patterns.some(function (pattern) {\n return isMatchingPattern(testString, pattern, requireExactStringMatch);\n });\n}\n\nexport { isMatchingPattern, safeJoin, snipLine, stringMatchesSomePattern, truncate };","import { logger } from './logger.js';\nimport { getGlobalObject } from './worldwide.js'; // eslint-disable-next-line deprecation/deprecation\n\nvar WINDOW = getGlobalObject();\n/**\n * Tells whether current environment supports ErrorEvent objects\n * {@link supportsErrorEvent}.\n *\n * @returns Answer to the given question.\n */\n\nfunction supportsErrorEvent() {\n try {\n new ErrorEvent('');\n return true;\n } catch (e) {\n return false;\n }\n}\n/**\n * Tells whether current environment supports DOMError objects\n * {@link supportsDOMError}.\n *\n * @returns Answer to the given question.\n */\n\n\nfunction supportsDOMError() {\n try {\n // Chrome: VM89:1 Uncaught TypeError: Failed to construct 'DOMError':\n // 1 argument required, but only 0 present.\n // @ts-expect-error It really needs 1 argument, not 0.\n new DOMError('');\n return true;\n } catch (e) {\n return false;\n }\n}\n/**\n * Tells whether current environment supports DOMException objects\n * {@link supportsDOMException}.\n *\n * @returns Answer to the given question.\n */\n\n\nfunction supportsDOMException() {\n try {\n new DOMException('');\n return true;\n } catch (e) {\n return false;\n }\n}\n/**\n * Tells whether current environment supports Fetch API\n * {@link supportsFetch}.\n *\n * @returns Answer to the given question.\n */\n\n\nfunction supportsFetch() {\n if (!('fetch' in WINDOW)) {\n return false;\n }\n\n try {\n new Headers();\n new Request('http://www.example.com');\n new Response();\n return true;\n } catch (e) {\n return false;\n }\n}\n/**\n * isNativeFetch checks if the given function is a native implementation of fetch()\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\n\n\nfunction isNativeFetch(func) {\n return func && /^function fetch\\(\\)\\s+\\{\\s+\\[native code\\]\\s+\\}$/.test(func.toString());\n}\n/**\n * Tells whether current environment supports Fetch API natively\n * {@link supportsNativeFetch}.\n *\n * @returns true if `window.fetch` is natively implemented, false otherwise\n */\n\n\nfunction supportsNativeFetch() {\n if (!supportsFetch()) {\n return false;\n } // Fast path to avoid DOM I/O\n // eslint-disable-next-line @typescript-eslint/unbound-method\n\n\n if (isNativeFetch(WINDOW.fetch)) {\n return true;\n } // window.fetch is implemented, but is polyfilled or already wrapped (e.g: by a chrome extension)\n // so create a \"pure\" iframe to see if that has native fetch\n\n\n var result = false;\n var doc = WINDOW.document; // eslint-disable-next-line deprecation/deprecation\n\n if (doc && typeof doc.createElement === 'function') {\n try {\n var sandbox = doc.createElement('iframe');\n sandbox.hidden = true;\n doc.head.appendChild(sandbox);\n\n if (sandbox.contentWindow && sandbox.contentWindow.fetch) {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n result = isNativeFetch(sandbox.contentWindow.fetch);\n }\n\n doc.head.removeChild(sandbox);\n } catch (err) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn('Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ', err);\n }\n }\n\n return result;\n}\n/**\n * Tells whether current environment supports ReportingObserver API\n * {@link supportsReportingObserver}.\n *\n * @returns Answer to the given question.\n */\n\n\nfunction supportsReportingObserver() {\n return 'ReportingObserver' in WINDOW;\n}\n/**\n * Tells whether current environment supports Referrer Policy API\n * {@link supportsReferrerPolicy}.\n *\n * @returns Answer to the given question.\n */\n\n\nfunction supportsReferrerPolicy() {\n // Despite all stars in the sky saying that Edge supports old draft syntax, aka 'never', 'always', 'origin' and 'default'\n // (see https://caniuse.com/#feat=referrer-policy),\n // it doesn't. And it throws an exception instead of ignoring this parameter...\n // REF: https://github.com/getsentry/raven-js/issues/1233\n if (!supportsFetch()) {\n return false;\n }\n\n try {\n new Request('_', {\n referrerPolicy: 'origin'\n });\n return true;\n } catch (e) {\n return false;\n }\n}\n\nexport { isNativeFetch, supportsDOMError, supportsDOMException, supportsErrorEvent, supportsFetch, supportsNativeFetch, supportsReferrerPolicy, supportsReportingObserver };","import _classCallCheck from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport _createClass from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass.js\";\nimport { isThenable } from './is.js';\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\n\n/** SyncPromise internal states */\n\nvar States;\n\n(function (States) {\n /** Pending */\n var PENDING = 0;\n States[States[\"PENDING\"] = PENDING] = \"PENDING\";\n /** Resolved / OK */\n\n var RESOLVED = 1;\n States[States[\"RESOLVED\"] = RESOLVED] = \"RESOLVED\";\n /** Rejected / Error */\n\n var REJECTED = 2;\n States[States[\"REJECTED\"] = REJECTED] = \"REJECTED\";\n})(States || (States = {})); // Overloads so we can call resolvedSyncPromise without arguments and generic argument\n\n/**\n * Creates a resolved sync promise.\n *\n * @param value the value to resolve the promise with\n * @returns the resolved sync promise\n */\n\n\nfunction resolvedSyncPromise(value) {\n return new SyncPromise(function (resolve) {\n resolve(value);\n });\n}\n/**\n * Creates a rejected sync promise.\n *\n * @param value the value to reject the promise with\n * @returns the rejected sync promise\n */\n\n\nfunction rejectedSyncPromise(reason) {\n return new SyncPromise(function (_, reject) {\n reject(reason);\n });\n}\n/**\n * Thenable class that behaves like a Promise and follows it's interface\n * but is not async internally\n */\n\n\nvar SyncPromise = /*#__PURE__*/function () {\n function SyncPromise(executor) {\n _classCallCheck(this, SyncPromise);\n\n SyncPromise.prototype.__init.call(this);\n\n SyncPromise.prototype.__init2.call(this);\n\n SyncPromise.prototype.__init3.call(this);\n\n SyncPromise.prototype.__init4.call(this);\n\n this._state = States.PENDING;\n this._handlers = [];\n\n try {\n executor(this._resolve, this._reject);\n } catch (e) {\n this._reject(e);\n }\n }\n /** JSDoc */\n\n\n _createClass(SyncPromise, [{\n key: \"then\",\n value: function then(onfulfilled, onrejected) {\n var _this = this;\n\n return new SyncPromise(function (resolve, reject) {\n _this._handlers.push([false, function (result) {\n if (!onfulfilled) {\n // TODO: ¯\\_(ツ)_/¯\n // TODO: FIXME\n resolve(result);\n } else {\n try {\n resolve(onfulfilled(result));\n } catch (e) {\n reject(e);\n }\n }\n }, function (reason) {\n if (!onrejected) {\n reject(reason);\n } else {\n try {\n resolve(onrejected(reason));\n } catch (e) {\n reject(e);\n }\n }\n }]);\n\n _this._executeHandlers();\n });\n }\n /** JSDoc */\n\n }, {\n key: \"catch\",\n value: function _catch(onrejected) {\n return this.then(function (val) {\n return val;\n }, onrejected);\n }\n /** JSDoc */\n\n }, {\n key: \"finally\",\n value: function _finally(onfinally) {\n var _this2 = this;\n\n return new SyncPromise(function (resolve, reject) {\n var val;\n var isRejected;\n return _this2.then(function (value) {\n isRejected = false;\n val = value;\n\n if (onfinally) {\n onfinally();\n }\n }, function (reason) {\n isRejected = true;\n val = reason;\n\n if (onfinally) {\n onfinally();\n }\n }).then(function () {\n if (isRejected) {\n reject(val);\n return;\n }\n\n resolve(val);\n });\n });\n }\n /** JSDoc */\n\n }, {\n key: \"__init\",\n value: function __init() {\n var _this3 = this;\n\n this._resolve = function (value) {\n _this3._setResult(States.RESOLVED, value);\n };\n }\n /** JSDoc */\n\n }, {\n key: \"__init2\",\n value: function __init2() {\n var _this4 = this;\n\n this._reject = function (reason) {\n _this4._setResult(States.REJECTED, reason);\n };\n }\n /** JSDoc */\n\n }, {\n key: \"__init3\",\n value: function __init3() {\n var _this5 = this;\n\n this._setResult = function (state, value) {\n if (_this5._state !== States.PENDING) {\n return;\n }\n\n if (isThenable(value)) {\n void value.then(_this5._resolve, _this5._reject);\n return;\n }\n\n _this5._state = state;\n _this5._value = value;\n\n _this5._executeHandlers();\n };\n }\n /** JSDoc */\n\n }, {\n key: \"__init4\",\n value: function __init4() {\n var _this6 = this;\n\n this._executeHandlers = function () {\n if (_this6._state === States.PENDING) {\n return;\n }\n\n var cachedHandlers = _this6._handlers.slice();\n\n _this6._handlers = [];\n cachedHandlers.forEach(function (handler) {\n if (handler[0]) {\n return;\n }\n\n if (_this6._state === States.RESOLVED) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n handler[1](_this6._value);\n }\n\n if (_this6._state === States.REJECTED) {\n handler[2](_this6._value);\n }\n\n handler[0] = true;\n });\n };\n }\n }]);\n\n return SyncPromise;\n}();\n\nexport { SyncPromise, rejectedSyncPromise, resolvedSyncPromise };","import { isNodeEnv, dynamicRequire } from './node.js';\nimport { getGlobalObject } from './worldwide.js'; // eslint-disable-next-line deprecation/deprecation\n\nvar WINDOW = getGlobalObject();\n/**\n * An object that can return the current timestamp in seconds since the UNIX epoch.\n */\n\n/**\n * A TimestampSource implementation for environments that do not support the Performance Web API natively.\n *\n * Note that this TimestampSource does not use a monotonic clock. A call to `nowSeconds` may return a timestamp earlier\n * than a previously returned value. We do not try to emulate a monotonic behavior in order to facilitate debugging. It\n * is more obvious to explain \"why does my span have negative duration\" than \"why my spans have zero duration\".\n */\n\nvar dateTimestampSource = {\n nowSeconds: function nowSeconds() {\n return Date.now() / 1000;\n }\n};\n/**\n * A partial definition of the [Performance Web API]{@link https://developer.mozilla.org/en-US/docs/Web/API/Performance}\n * for accessing a high-resolution monotonic clock.\n */\n\n/**\n * Returns a wrapper around the native Performance API browser implementation, or undefined for browsers that do not\n * support the API.\n *\n * Wrapping the native API works around differences in behavior from different browsers.\n */\n\nfunction getBrowserPerformance() {\n var performance = WINDOW.performance;\n\n if (!performance || !performance.now) {\n return undefined;\n } // Replace performance.timeOrigin with our own timeOrigin based on Date.now().\n //\n // This is a partial workaround for browsers reporting performance.timeOrigin such that performance.timeOrigin +\n // performance.now() gives a date arbitrarily in the past.\n //\n // Additionally, computing timeOrigin in this way fills the gap for browsers where performance.timeOrigin is\n // undefined.\n //\n // The assumption that performance.timeOrigin + performance.now() ~= Date.now() is flawed, but we depend on it to\n // interact with data coming out of performance entries.\n //\n // Note that despite recommendations against it in the spec, browsers implement the Performance API with a clock that\n // might stop when the computer is asleep (and perhaps under other circumstances). Such behavior causes\n // performance.timeOrigin + performance.now() to have an arbitrary skew over Date.now(). In laptop computers, we have\n // observed skews that can be as long as days, weeks or months.\n //\n // See https://github.com/getsentry/sentry-javascript/issues/2590.\n //\n // BUG: despite our best intentions, this workaround has its limitations. It mostly addresses timings of pageload\n // transactions, but ignores the skew built up over time that can aversely affect timestamps of navigation\n // transactions of long-lived web pages.\n\n\n var timeOrigin = Date.now() - performance.now();\n return {\n now: function now() {\n return performance.now();\n },\n timeOrigin: timeOrigin\n };\n}\n/**\n * Returns the native Performance API implementation from Node.js. Returns undefined in old Node.js versions that don't\n * implement the API.\n */\n\n\nfunction getNodePerformance() {\n try {\n var perfHooks = dynamicRequire(module, 'perf_hooks');\n return perfHooks.performance;\n } catch (_) {\n return undefined;\n }\n}\n/**\n * The Performance API implementation for the current platform, if available.\n */\n\n\nvar platformPerformance = isNodeEnv() ? getNodePerformance() : getBrowserPerformance();\nvar timestampSource = platformPerformance === undefined ? dateTimestampSource : {\n nowSeconds: function nowSeconds() {\n return (platformPerformance.timeOrigin + platformPerformance.now()) / 1000;\n }\n};\n/**\n * Returns a timestamp in seconds since the UNIX epoch using the Date API.\n */\n\nvar dateTimestampInSeconds = dateTimestampSource.nowSeconds.bind(dateTimestampSource);\n/**\n * Returns a timestamp in seconds since the UNIX epoch using either the Performance or Date APIs, depending on the\n * availability of the Performance API.\n *\n * See `usingPerformanceAPI` to test whether the Performance API is used.\n *\n * BUG: Note that because of how browsers implement the Performance API, the clock might stop when the computer is\n * asleep. This creates a skew between `dateTimestampInSeconds` and `timestampInSeconds`. The\n * skew can grow to arbitrary amounts like days, weeks or months.\n * See https://github.com/getsentry/sentry-javascript/issues/2590.\n */\n\nvar timestampInSeconds = timestampSource.nowSeconds.bind(timestampSource);\n/**\n * Re-exported with an old name for backwards-compatibility.\n * TODO (v8): Remove this\n *\n * @deprecated Use `timestampInSeconds` instead.\n */\n\nvar timestampWithMs = timestampInSeconds;\n/**\n * A boolean that is true when timestampInSeconds uses the Performance API to produce monotonic timestamps.\n */\n\nvar usingPerformanceAPI = platformPerformance !== undefined;\n/**\n * Internal helper to store what is the source of browserPerformanceTimeOrigin below. For debugging only.\n */\n\nvar _browserPerformanceTimeOriginMode;\n/**\n * The number of milliseconds since the UNIX epoch. This value is only usable in a browser, and only when the\n * performance API is available.\n */\n\n\nvar browserPerformanceTimeOrigin = function () {\n // Unfortunately browsers may report an inaccurate time origin data, through either performance.timeOrigin or\n // performance.timing.navigationStart, which results in poor results in performance data. We only treat time origin\n // data as reliable if they are within a reasonable threshold of the current time.\n var performance = WINDOW.performance;\n\n if (!performance || !performance.now) {\n _browserPerformanceTimeOriginMode = 'none';\n return undefined;\n }\n\n var threshold = 3600 * 1000;\n var performanceNow = performance.now();\n var dateNow = Date.now(); // if timeOrigin isn't available set delta to threshold so it isn't used\n\n var timeOriginDelta = performance.timeOrigin ? Math.abs(performance.timeOrigin + performanceNow - dateNow) : threshold;\n var timeOriginIsReliable = timeOriginDelta < threshold; // While performance.timing.navigationStart is deprecated in favor of performance.timeOrigin, performance.timeOrigin\n // is not as widely supported. Namely, performance.timeOrigin is undefined in Safari as of writing.\n // Also as of writing, performance.timing is not available in Web Workers in mainstream browsers, so it is not always\n // a valid fallback. In the absence of an initial time provided by the browser, fallback to the current time from the\n // Date API.\n // eslint-disable-next-line deprecation/deprecation\n\n var navigationStart = performance.timing && performance.timing.navigationStart;\n var hasNavigationStart = typeof navigationStart === 'number'; // if navigationStart isn't available set delta to threshold so it isn't used\n\n var navigationStartDelta = hasNavigationStart ? Math.abs(navigationStart + performanceNow - dateNow) : threshold;\n var navigationStartIsReliable = navigationStartDelta < threshold;\n\n if (timeOriginIsReliable || navigationStartIsReliable) {\n // Use the more reliable time origin\n if (timeOriginDelta <= navigationStartDelta) {\n _browserPerformanceTimeOriginMode = 'timeOrigin';\n return performance.timeOrigin;\n } else {\n _browserPerformanceTimeOriginMode = 'navigationStart';\n return navigationStart;\n }\n } // Either both timeOrigin and navigationStart are skewed or neither is available, fallback to Date.\n\n\n _browserPerformanceTimeOriginMode = 'dateNow';\n return dateNow;\n}();\n\nexport { _browserPerformanceTimeOriginMode, browserPerformanceTimeOrigin, dateTimestampInSeconds, timestampInSeconds, timestampWithMs, usingPerformanceAPI };","import { baggageHeaderToDynamicSamplingContext } from './baggage.js';\nimport { uuid4 } from './misc.js';\nvar TRACEPARENT_REGEXP = new RegExp('^[ \\\\t]*' + // whitespace\n'([0-9a-f]{32})?' + // trace_id\n'-?([0-9a-f]{16})?' + // span_id\n'-?([01])?' + // sampled\n'[ \\\\t]*$');\n/**\n * Extract transaction context data from a `sentry-trace` header.\n *\n * @param traceparent Traceparent string\n *\n * @returns Object containing data from the header, or undefined if traceparent string is malformed\n */\n\nfunction extractTraceparentData(traceparent) {\n if (!traceparent) {\n return undefined;\n }\n\n var matches = traceparent.match(TRACEPARENT_REGEXP);\n\n if (!matches) {\n return undefined;\n }\n\n var parentSampled;\n\n if (matches[3] === '1') {\n parentSampled = true;\n } else if (matches[3] === '0') {\n parentSampled = false;\n }\n\n return {\n traceId: matches[1],\n parentSampled: parentSampled,\n parentSpanId: matches[2]\n };\n}\n/**\n * Create tracing context from incoming headers.\n */\n\n\nfunction tracingContextFromHeaders(sentryTrace, baggage) {\n var traceparentData = extractTraceparentData(sentryTrace);\n var dynamicSamplingContext = baggageHeaderToDynamicSamplingContext(baggage);\n\n var _ref = traceparentData || {},\n traceId = _ref.traceId,\n parentSpanId = _ref.parentSpanId,\n parentSampled = _ref.parentSampled;\n\n var propagationContext = {\n traceId: traceId || uuid4(),\n spanId: uuid4().substring(16),\n sampled: parentSampled\n };\n\n if (parentSpanId) {\n propagationContext.parentSpanId = parentSpanId;\n }\n\n if (dynamicSamplingContext) {\n propagationContext.dsc = dynamicSamplingContext;\n }\n\n return {\n traceparentData: traceparentData,\n dynamicSamplingContext: dynamicSamplingContext,\n propagationContext: propagationContext\n };\n}\n/**\n * Create sentry-trace header from span context values.\n */\n\n\nfunction generateSentryTraceHeader() {\n var traceId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : uuid4();\n var spanId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : uuid4().substring(16);\n var sampled = arguments.length > 2 ? arguments[2] : undefined;\n var sampledString = '';\n\n if (sampled !== undefined) {\n sampledString = sampled ? '-1' : '-0';\n }\n\n return \"\".concat(traceId, \"-\").concat(spanId).concat(sampledString);\n}\n\nexport { TRACEPARENT_REGEXP, extractTraceparentData, generateSentryTraceHeader, tracingContextFromHeaders };","/**\n * Parses string form of URL into an object\n * // borrowed from https://tools.ietf.org/html/rfc3986#appendix-B\n * // intentionally using regex and not href parsing trick because React Native and other\n * // environments where DOM might not be available\n * @returns parsed URL object\n */\nfunction parseUrl(url) {\n if (!url) {\n return {};\n }\n\n var match = url.match(/^(([^:/?#]+):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$/);\n\n if (!match) {\n return {};\n } // coerce to undefined values to empty string so we don't get 'undefined'\n\n\n var query = match[6] || '';\n var fragment = match[8] || '';\n return {\n host: match[4],\n path: match[5],\n protocol: match[2],\n search: query,\n hash: fragment,\n relative: match[5] + query + fragment // everything minus origin\n\n };\n}\n/**\n * Strip the query string and fragment off of a given URL or path (if present)\n *\n * @param urlPath Full URL or path, including possible query string and/or fragment\n * @returns URL or path without query string or fragment\n */\n\n\nfunction stripUrlQueryAndFragment(urlPath) {\n // eslint-disable-next-line no-useless-escape\n return urlPath.split(/[\\?#]/, 1)[0];\n}\n/**\n * Returns number of URL segments of a passed string URL.\n */\n\n\nfunction getNumberOfUrlSegments(url) {\n // split at '/' or at '\\/' to split regex urls correctly\n return url.split(/\\\\?\\//).filter(function (s) {\n return s.length > 0 && s !== ',';\n }).length;\n}\n/**\n * Takes a URL object and returns a sanitized string which is safe to use as span description\n * see: https://develop.sentry.dev/sdk/data-handling/#structuring-data\n */\n\n\nfunction getSanitizedUrlString(url) {\n var protocol = url.protocol,\n host = url.host,\n path = url.path;\n var filteredHost = host && host // Always filter out authority\n .replace(/^.*@/, '[filtered]:[filtered]@') // Don't show standard :80 (http) and :443 (https) ports to reduce the noise\n .replace(':80', '').replace(':443', '') || '';\n return \"\".concat(protocol ? \"\".concat(protocol, \"://\") : '').concat(filteredHost).concat(path);\n}\n\nexport { getNumberOfUrlSegments, getSanitizedUrlString, parseUrl, stripUrlQueryAndFragment };","/** Internal global with common properties and Sentry extensions */\n// The code below for 'isGlobalObj' and 'GLOBAL_OBJ' was copied from core-js before modification\n// https://github.com/zloirock/core-js/blob/1b944df55282cdc99c90db5f49eb0b6eda2cc0a3/packages/core-js/internals/global.js\n// core-js has the following licence:\n//\n// Copyright (c) 2014-2022 Denis Pushkarev\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n/** Returns 'obj' if it's the global object, otherwise returns undefined */\nfunction isGlobalObj(obj) {\n return obj && obj.Math == Math ? obj : undefined;\n}\n/** Get's the global object for the current JavaScript runtime */\n\n\nvar GLOBAL_OBJ = typeof globalThis == 'object' && isGlobalObj(globalThis) || // eslint-disable-next-line no-restricted-globals\ntypeof window == 'object' && isGlobalObj(window) || typeof self == 'object' && isGlobalObj(self) || typeof global == 'object' && isGlobalObj(global) || function () {\n return this;\n}() || {};\n/**\n * @deprecated Use GLOBAL_OBJ instead or WINDOW from @sentry/browser. This will be removed in v8\n */\n\n\nfunction getGlobalObject() {\n return GLOBAL_OBJ;\n}\n/**\n * Returns a global singleton contained in the global `__SENTRY__` object.\n *\n * If the singleton doesn't already exist in `__SENTRY__`, it will be created using the given factory\n * function and added to the `__SENTRY__` object.\n *\n * @param name name of the global singleton on __SENTRY__\n * @param creator creator Factory function to create the singleton if it doesn't already exist on `__SENTRY__`\n * @param obj (Optional) The global object on which to look for `__SENTRY__`, if not `GLOBAL_OBJ`'s return value\n * @returns the singleton\n */\n\n\nfunction getGlobalSingleton(name, creator, obj) {\n var gbl = obj || GLOBAL_OBJ;\n\n var __SENTRY__ = gbl.__SENTRY__ = gbl.__SENTRY__ || {};\n\n var singleton = __SENTRY__[name] || (__SENTRY__[name] = creator());\n return singleton;\n}\n\nexport { GLOBAL_OBJ, getGlobalObject, getGlobalSingleton };"],"names":["init","options","opts","_metadata","sdk","name","packages","version","applyAggregateErrorsToEvent","exceptionFromErrorImplementation","parser","maxValueLimit","arguments","length","undefined","key","limit","event","hint","exception","values","originalException","Error","exceptions","maxValueLength","aggregateExceptionsFromError","map","value","error","prevExceptions","exceptionId","newExceptions","applyExceptionGroupFieldsForParentException","newException","newExceptionId","applyExceptionGroupFieldsForChildException","concat","Array","isArray","errors","forEach","childError","i","_newException","_newExceptionId","mechanism","type","handled","is_exception_group","exception_id","source","parentId","parent_id","BAGGAGE_HEADER_NAME","SENTRY_BAGGAGE_KEY_PREFIX","SENTRY_BAGGAGE_KEY_PREFIX_REGEX","MAX_BAGGAGE_STRING_LENGTH","baggageHeaderToDynamicSamplingContext","baggageHeader","baggageObject","reduce","acc","curr","currBaggageObject","baggageHeaderToObject","dynamicSamplingContext","Object","entries","_ref","_ref2","match","slice","keys","dynamicSamplingContextToSentryBaggageHeader","object","_ref7","currentIndex","_ref8","objectKey","objectValue","baggageEntry","encodeURIComponent","newBaggageHeader","__SENTRY_DEBUG__","warn","objectToBaggageHeader","_ref3","_ref4","dscKey","dscValue","split","keyOrValue","decodeURIComponent","trim","_ref5","_ref6","WINDOW","DEFAULT_MAX_STRING_LENGTH","htmlTreeAsString","elem","nextStr","currentElem","out","height","len","keyAttrs","maxStringLength","_htmlElementAsString","separator","push","parentNode","reverse","join","_oO","el","className","classes","attr","tagName","toLowerCase","keyAttrPairs","filter","keyAttr","getAttribute","keyAttrPair","id","allowedAttrs","getLocationHref","document","location","href","oO","getDomElement","selector","querySelector","createClientReportEnvelope","discarded_events","dsn","timestamp","clientReportItem","DSN_REGEX","dsnToString","withPassword","host","path","pass","port","projectId","protocol","publicKey","dsnFromComponents","components","makeDsn","from","str","exec","_match$slice","_match$slice2","_match$slice2$","_match$slice2$2","pop","projectMatch","console","dsnFromString","find","component","isValidProtocol","isNaN","parseInt","validateDsn","isBrowserBundle","__SENTRY_BROWSER_BUNDLE__","getSDKSource","createEnvelope","headers","addItemToEnvelope","envelope","newItem","_envelope","items","forEachEnvelopeItem","callback","_step","envelopeItems","_iterator","s","n","done","envelopeItem","err","e","f","encodeUTF8","input","textEncoder","TextEncoder","encode","serializeEnvelope","_envelope2","envHeaders","parts","JSON","stringify","append","next","_step2","_iterator2","item","_item","itemHeaders","payload","Uint8Array","stringifiedPayload","buffers","_step3","totalLength","buf","merged","offset","_iterator3","buffer","set","concatBuffers","createAttachmentEnvelopeItem","attachment","data","filename","content_type","contentType","attachment_type","attachmentType","ITEM_TYPE_TO_DATA_CATEGORY_MAP","session","sessions","transaction","client_report","user_report","profile","replay_event","replay_recording","check_in","statsd","envelopeItemTypeToDataCategory","getSdkMetadataForEnvelopeHeader","metadataOrEvent","_metadataOrEvent$sdk","createEventEnvelopeHeaders","sdkInfo","tunnel","sdkProcessingMetadata","event_id","sent_at","Date","toISOString","trace","SentryError","_Error","_super","message","_this","logLevel","this","call","constructor","prototype","setPrototypeOf","lastHref","SENTRY_XHR_DATA_KEY","handlers","instrumented","instrument","level","originalConsoleMethod","_len","args","_key","triggerHandlers","log","apply","instrumentConsole","triggerDOMHandler","bind","globalDOMEventHandler","makeDOMEventHandler","addEventListener","target","proto","hasOwnProperty","originalAddEventListener","listener","_handlers","__sentry_instrumentation_handlers__","handlerForType","refCount","handler","originalRemoveEventListener","_handlers2","instrumentDOM","XMLHttpRequest","xhrproto","originalOpen","_len3","_key3","startTimestamp","now","url","xhrInfo","method","is","toUpperCase","request_headers","__sentry_own_request__","onreadystatechangeHandler","readyState","status_code","status","endTimestamp","xhr","onreadystatechange","original","_len4","readyStateArgs","_key4","_len5","setRequestHeaderArgs","_key5","header","originalSend","sentryXhrData","_len6","_key6","body","instrumentXHR","supports","originalFetch","_len2","_key2","_parseFetchArgs","fetchArgs","_fetchArgs","getUrlFromResource","hasProp","String","arg","parseFetchArgs","handlerData","fetchData","then","response","instrumentFetch","chrome","isChromePackagedApp","app","runtime","hasHistoryApi","history","pushState","replaceState","supportsHistory","oldOnPopState","onpopstate","historyReplacementFunction","originalHistoryFunction","_len8","_key8","to","_len7","_key7","instrumentHistory","_oldOnErrorHandler","onerror","msg","line","column","__SENTRY_LOADER__","__SENTRY_INSTRUMENTED__","_oldOnUnhandledRejectionHandler","onunhandledrejection","logger","addInstrumentationHandler","obj","prop","resource","toString","debounceTimerID","lastCapturedEventType","lastCapturedEventTargetId","DEBOUNCE_DURATION","globalListener","getEventTarget","eventType","isContentEditable","shouldSkipDOMEvent","_sentryId","isSimilarToLastCapturedEvent","global","clearTimeout","setTimeout","objectToString","isError","wat","isInstanceOf","isBuiltin","isErrorEvent","isDOMError","isDOMException","isString","isPrimitive","isPlainObject","isEvent","Event","isElement","Element","isRegExp","isThenable","Boolean","isSyntheticEvent","base","_e","isVueViewModel","__isVue","_isVue","isBrowser","window","process","CONSOLE_LEVELS","originalConsoleMethods","consoleSandbox","wrappedFuncs","wrappedLevels","enabled","enable","disable","isEnabled","_GLOBAL_OBJ$console","makeLogger","uuid4","gbl","crypto","msCrypto","getRandomByte","Math","random","randomUUID","replace","getRandomValues","_","c","getFirstException","getEventDescription","eventId","firstException","addExceptionTypeValue","addExceptionMechanism","newMechanism","currentMechanism","mergedData","checkOrSetAlreadyCaught","__sentry_captured__","arrayify","maybeArray","isNodeEnv","dynamicRequire","mod","request","require","normalize","depth","maxProperties","Infinity","visit","ERROR","normalizeToSize","maxSize","normalized","encodeURI","utf8Length","memo","hasWeakSet","WeakSet","inner","has","add","delete","splice","memoBuilder","_memo","memoize","unmemoize","includes","stringified","_events","g","objName","getPrototypeOf","getConstructorName","test","stringifyValue","startsWith","remainingDepth","valueWithToJSON","toJSON","numAdded","visitable","visitKey","visitValue","fill","replacementFactory","wrapped","markFunctionWrapped","addNonEnumerableProperty","defineProperty","writable","configurable","o_O","getOriginalFunction","func","__sentry_original__","urlEncode","convertToPlainObject","stack","getOwnProperties","newObj","serializeEventTarget","currentTarget","CustomEvent","detail","extractedProps","property","extractExceptionKeysForMessage","maxLength","sort","includedKeys","serialized","dropUndefinedKeys","inputValue","_dropUndefinedKeys","Map","memoizationMap","memoVal","get","returnValue","_i","_Object$keys","_memoVal","_returnValue","makePromiseBuffer","remove","task","indexOf","$","taskProducer","drain","timeout","resolve","reject","counter","capturedSetTimeout","DEFAULT_RETRY_AFTER","isRateLimited","limits","category","all","disabledUntil","updateRateLimits","statusCode","updatedRateLimits","rateLimitHeader","retryAfterHeader","_limit$split","_limit$split2","retryAfter","categories","headerDelay","delay","headerDate","parse","parseRetryAfterHeader","validSeverityLevels","severityLevelFromString","STACKTRACE_FRAME_LIMIT","WEBPACK_ERROR_REGEXP","STRIP_FRAME_REGEXP","createStackParser","parsers","sortedParsers","a","b","p","skipFirst","frames","lines","cleanedLine","frame","localStack","function","stripSentryFramesAndReverse","stackParserFromStackParserOptions","stackParser","defaultFunctionName","getFunctionName","fn","truncate","max","safeJoin","delimiter","output","stringMatchesSomePattern","testString","requireExactStringMatch","some","pattern","isMatchingPattern","supportsFetch","Headers","Request","Response","isNativeFetch","supportsNativeFetch","fetch","result","doc","createElement","sandbox","hidden","head","appendChild","contentWindow","removeChild","States","resolvedSyncPromise","SyncPromise","rejectedSyncPromise","reason","executor","__init","__init2","__init3","__init4","_state","PENDING","_resolve","_reject","onfulfilled","onrejected","_executeHandlers","val","onfinally","_this2","isRejected","_this3","_setResult","RESOLVED","_this4","REJECTED","_this5","state","_value","_this6","cachedHandlers","dateTimestampSource","nowSeconds","platformPerformance","module","performance","getNodePerformance","timeOrigin","getBrowserPerformance","timestampSource","dateTimestampInSeconds","timestampInSeconds","browserPerformanceTimeOrigin","threshold","performanceNow","dateNow","timeOriginDelta","abs","timeOriginIsReliable","navigationStart","timing","navigationStartDelta","TRACEPARENT_REGEXP","RegExp","tracingContextFromHeaders","sentryTrace","baggage","traceparentData","traceparent","parentSampled","matches","traceId","parentSpanId","extractTraceparentData","propagationContext","spanId","substring","sampled","dsc","generateSentryTraceHeader","sampledString","parseUrl","query","fragment","search","hash","relative","isGlobalObj","GLOBAL_OBJ","globalThis","self","getGlobalObject","getGlobalSingleton","creator","__SENTRY__"],"sourceRoot":""}