/* Metro module 7374; source: unknown; dependencies: [77, 7375, 7379, 7381, 7383, 7384, 7385, 7386, 7387, 7388, 7391, 7396, 7369] */ function _fun59372(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#59372, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7552:6, offset: 0x016e918d, size: 285 bytes, params: 8, frame: 23 let env0_0 = require; let closure = spanTimeInputToSeconds_59373; const ensureTimestampInSeconds_59374 = function(a0) { var r0; var value = a0; if (value > 9999999999) { value /= 1000; r0 = value; } else { r0 = value; } return r0; }; const closure2 = spanToJSON_59375; const closure3 = function(a0) { return a0.spanContext().traceFlags === 1; }; const closure4 = getStatusMessage_59377; const closure5 = getActiveSpan_59378; const env0_2 = require(77) /* metro dependency 77 */; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); exports.TRACE_FLAG_NONE = 0; exports.TRACE_FLAG_SAMPLED = 1; exports.addChildSpanToSpan = addChildSpanToSpan_59379; exports.getActiveSpan = closure5; exports.getRootSpan = function(a0) { var value = a0; return value._sentryRootSpan || value; }; exports.getSpanDescendants = function(a0) { var value2 = new global.Set(); var env0_0 = value2; var closure = _fun59382; var env0_1 = closure; closure(a0); return global.Array.from(value2); }; exports.getStatusMessage = closure4; exports.removeChildSpanFromSpan = function(a0, a1) { if (a0._sentryChildSpans) { a0._sentryChildSpans.delete(a1); } }; exports.showSpanDropWarning = showSpanDropWarning_59384; exports.spanIsSampled = closure3; exports.spanTimeInputToSeconds = closure; exports.spanToJSON = closure2; exports.spanToTraceContext = spanToTraceContext_59386; exports.spanToTraceHeader = spanToTraceHeader_59387; exports.spanToTransactionTraceContext = spanToTransactionTraceContext_59388; exports.updateMetricSummaryOnActiveSpan = updateMetricSummaryOnActiveSpan; exports.updateSpanName = updateSpanName_59390; } function spanTimeInputToSeconds_59373(a0) { // fn#59373, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7552:104, offset: 0x016e92aa, size: 156 bytes, params: 2, frame: 13 var r0; var Array; var value; var ensureTimestampInSeconds_59374Binding; if (typeof a0 === 'number') { r0 = ensureTimestampInSeconds_59374(a0); } else { Array = global.Array; if (Array.isArray(a0)) { r0 = a0[0] + a0[1] / 1000000000; } else if (a0 instanceof global.Date) { ensureTimestampInSeconds_59374Binding = ensureTimestampInSeconds_59374; value = a0.getTime(); value = ensureTimestampInSeconds_59374Binding(value); r0 = value; } else { value = require(7383) /* metro dependency 7383 */; value = value.timestampInSeconds(); r0 = value; } } return r0; } function spanToJSON_59375(a0) { // fn#59375, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7552:373, offset: 0x016e9346, size: 389 bytes, params: 2, frame: 24 var r1; var spanContext; var value2; var spanId; var traceId; var attributes; var startTime; var name; var endTime; var status; var parentSpanId; var property; var moduleValue; var dropUndefinedKeys; var object2; var spanTimeInputToSeconds_59373Binding; var value4; var value5; var getStatusMessage_59377Binding; var statusMessage_59377Binding; var moduleValue2; var SEMANTIC_ATTRIBUTE_SENTRY_OP; var moduleValue3; var SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN; var getMetricSummaryJsonForSpan; var error; let value = undefined; const getSpanJSON = a0.getSpanJSON; if (typeof getSpanJSON === 'function') { return a0.getSpanJSON(); } try { spanContext = a0.spanContext; } catch (error) { return {}; } try { value2 = Reflect.apply(spanContext, a0, []); } catch (error) { return {}; } try { spanId = value2.spanId; } catch (error) { return {}; } try { traceId = value2.traceId; } catch (error) { return {}; } try { attributes = a0.attributes; } catch (error) { return {}; } if (attributes) { try { startTime = a0.startTime; } catch (error) { return {}; } r1 = startTime; } else { r1 = attributes; } if (r1) { try { name = a0.name; } catch (error) { return {}; } r1 = name; } if (r1) { try { endTime = a0.endTime; } catch (error) { return {}; } r1 = endTime; } if (r1) { try { status = a0.status; } catch (error) { return {}; } r1 = status; } if (r1) { try { attributes = a0.attributes; } catch (error) { return {}; } try { startTime = a0.startTime; } catch (error) { return {}; } try { name = a0.name; } catch (error) { return {}; } try { endTime = a0.endTime; } catch (error) { return {}; } try { parentSpanId = a0.parentSpanId; } catch (error) { return {}; } try { status = a0.status; } catch (error) { return {}; } try { } catch (error) { return {}; } try { } catch (error) { return {}; } try { property = dependencyMap[1]; } catch (error) { return {}; } try { moduleValue = require(property); } catch (error) { return {}; } try { dropUndefinedKeys = moduleValue.dropUndefinedKeys; } catch (error) { return {}; } try { object2 = {}; } catch (error) { return {}; } try { object2.span_id = spanId; } catch (error) { return {}; } try { object2.trace_id = traceId; } catch (error) { return {}; } try { object2.data = attributes; } catch (error) { return {}; } try { object2.description = name; } catch (error) { return {}; } try { object2.parent_span_id = parentSpanId; } catch (error) { return {}; } try { spanTimeInputToSeconds_59373Binding = spanTimeInputToSeconds_59373; } catch (error) { return {}; } try { value4 = spanTimeInputToSeconds_59373Binding(startTime); } catch (error) { return {}; } try { object2.start_timestamp = value4; } catch (error) { return {}; } try { value5 = spanTimeInputToSeconds_59373Binding(endTime); } catch (error) { return {}; } try { object2.timestamp = value5 || value; } catch (error) { return {}; } try { getStatusMessage_59377Binding = getStatusMessage_59377; } catch (error) { return {}; } try { statusMessage_59377Binding = getStatusMessage_59377Binding(status); } catch (error) { return {}; } try { object2.status = statusMessage_59377Binding; } catch (error) { return {}; } try { } catch (error) { return {}; } try { } catch (error) { return {}; } try { property = dependencyMap[5]; } catch (error) { return {}; } try { moduleValue2 = require(property); } catch (error) { return {}; } try { SEMANTIC_ATTRIBUTE_SENTRY_OP = moduleValue2.SEMANTIC_ATTRIBUTE_SENTRY_OP; } catch (error) { return {}; } try { property = attributes[SEMANTIC_ATTRIBUTE_SENTRY_OP]; } catch (error) { return {}; } try { object2.op = property; } catch (error) { return {}; } try { property = dependencyMap[5]; } catch (error) { return {}; } try { moduleValue3 = require(property); } catch (error) { return {}; } try { SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN = moduleValue3.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN; } catch (error) { return {}; } try { property = attributes[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]; } catch (error) { return {}; } try { object2.origin = property; } catch (error) { return {}; } try { property = dependencyMap[6]; } catch (error) { return {}; } try { value = require(property); } catch (error) { return {}; } try { getMetricSummaryJsonForSpan = value.getMetricSummaryJsonForSpan; } catch (error) { return {}; } try { value = Reflect.apply(getMetricSummaryJsonForSpan, value, [a0]); } catch (error) { return {}; } try { object2._metrics_summary = value; } catch (error) { return {}; } try { value = Reflect.apply(dropUndefinedKeys, moduleValue, [object2]); } catch (error) { return {}; } return value; } try { object2 = {}; } catch (error) { return {}; } try { object2.span_id = spanId; } catch (error) { return {}; } try { object2.trace_id = traceId; } catch (error) { return {}; } return object2; } function getStatusMessage_59377(a0) { // fn#59377, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7552:1224, offset: 0x016e94cb, size: 105 bytes, params: 2, frame: 15 var message; var r0; if (a0) { if (a0.code !== (require(7386) /* metro dependency 7386 */).SPAN_STATUS_UNSET) { if (a0.code === (require(7386) /* metro dependency 7386 */).SPAN_STATUS_OK) { r0 = 'ok'; } else { message = a0.message; message = !message ? 'unknown_error' : message; r0 = message; } return r0; } } } function getActiveSpan_59378() { // fn#59378, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7552:1411, offset: 0x016e9534, size: 134 bytes, params: 1, frame: 15 var r0; var _getSpanForScope; var moduleValue3; var value; const asyncContextStrategy = (require(7388) /* metro dependency 7388 */).getAsyncContextStrategy((require(7387) /* metro dependency 7387 */).getMainCarrier()); const getActiveSpan = asyncContextStrategy.getActiveSpan; if (getActiveSpan) { r0 = asyncContextStrategy.getActiveSpan(); } else { value = require(7391) /* metro dependency 7391 */; _getSpanForScope = value._getSpanForScope; moduleValue3 = require(7396) /* metro dependency 7396 */; value = Reflect.apply(_getSpanForScope, value, [moduleValue3.getCurrentScope()]); r0 = value; } return r0; } function addChildSpanToSpan_59379(a0, a1) { // fn#59379, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7552:1666, offset: 0x016e95ba, size: 162 bytes, params: 3, frame: 19 var moduleValue2; var Set; var value3; var set; const value = a0; (require(7375) /* metro dependency 7375 */).addNonEnumerableProperty(a1, '_sentryRootSpan', value._sentryRootSpan || value); if (value._sentryChildSpans) { value._sentryChildSpans.add(a1); } else { moduleValue2 = require(7375) /* metro dependency 7375 */; addNonEnumerableProperty = moduleValue2.addNonEnumerableProperty; Set = global.Set; value3 = Object.create(Set.prototype, {constructor: {value: Set}}); set = new Set([a1]); Reflect.apply(addNonEnumerableProperty, moduleValue2, [value, '_sentryChildSpans', set instanceof Object ? set : value3]); } } function getSpanDescendants_59381(a0) { // fn#59381, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7552:1930, offset: 0x016e965c, size: 71 bytes, params: 2, frame: 13 const Set = global.Set; const set = new Set(); getSpanDescendants_59381AddSpanChildren(a0); const Array = global.Array; return Array.from(set); } function showSpanDropWarning_59384() { // fn#59384, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7552:2283, offset: 0x016e9727, size: 60 bytes, params: 1, frame: 12 if (!env0_3) { (require(7369) /* metro dependency 7369 */).consoleSandbox(function() { global.console.warn('[Sentry] Deprecation warning: Returning null from `beforeSendSpan` will be disallowed from SDK version 9.0.0 onwards. The callback will only support mutating spans. To drop certain spans, configure the respective integrations directly.'); }); } } function spanToTraceContext_59386(a0) { // fn#59386, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7552:2743, offset: 0x016e977f, size: 150 bytes, params: 2, frame: 15 var r4; let value = a0.spanContext(); const spanId = value.spanId; const traceId = value.traceId; const isRemote = value.isRemote; const r5 = isRemote ? spanId : spanToJSON_59375(a0).parent_span_id; if (isRemote) { value = require(7379) /* metro dependency 7379 */; value = value.generateSpanId(); r4 = value; } else { r4 = spanId; } value = require(7375) /* metro dependency 7375 */; return value.dropUndefinedKeys({parent_span_id: r5, span_id: r4, trace_id: traceId}); } function spanToTraceHeader_59387(a0) { // fn#59387, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7552:2994, offset: 0x016e9815, size: 74 bytes, params: 2, frame: 17 const value = a0.spanContext(); return (require(7381) /* metro dependency 7381 */).generateSentryTraceHeader(value.traceId, value.spanId, spanIsSampled_59376(a0)); } function spanToTransactionTraceContext_59388(a0) { // fn#59388, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7552:3170, offset: 0x016e985f, size: 133 bytes, params: 2, frame: 19 let value = a0.spanContext(); const spanId = value.spanId; const traceId = value.traceId; const {data, op, parent_span_id, status, origin} = spanToJSON_59375(a0); value = require(7375) /* metro dependency 7375 */; return value.dropUndefinedKeys({parent_span_id: parent_span_id, span_id: spanId, trace_id: traceId, data: data, op: op, status: status, origin: origin}); } function updateMetricSummaryOnActiveSpan(a0, a1, a2, a3, a4, a5) { // fn#59389, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7552:3470, offset: 0x016e98e4, size: 72 bytes, params: 7, frame: 24 const activeSpan_59378 = getActiveSpan_59378(); if (activeSpan_59378) { (require(7385) /* metro dependency 7385 */).updateMetricSummaryOnSpan(activeSpan_59378, a0, a1, a2, a3, a4, a5); } } function updateSpanName_59390(a0, a1) { // fn#59390, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7552:3617, offset: 0x016e992c, size: 100 bytes, params: 3, frame: 21 a0.updateName(a1); const setAttributes = a0.setAttributes; const binding = env0_2; const SEMANTIC_ATTRIBUTE_SENTRY_SOURCE = (require(7384) /* metro dependency 7384 */).SEMANTIC_ATTRIBUTE_SENTRY_SOURCE; const value = binding({}, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, 'custom'); const SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME = (require(7384) /* metro dependency 7384 */).SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME; Reflect.apply(setAttributes, a0, [binding(value, SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME, a1)]); } function getSpanDescendants_59381AddSpanChildren(a0) { // fn#59382, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7552:1982, owner: getSpanDescendants_59381.addSpanChildren, offset: 0x016e96a3, size: 132 bytes, params: 2, frame: 14 var r4; var r1; var value; var binding; var has; var value2; var add; var _sentryChildSpans; var Array; var from; var value3; var iterator; var iterator2; var item; var item2; var getSpanDescendants_59381AddSpanChildrenBinding; var error; exceptionSkip9: while (true) { exceptionLanding9: while (true) { value = environment; binding = env0_0; has = binding.has; if (!Reflect.apply(has, binding, [a0])) { value2 = environment.__proto__; if (!spanIsSampled_59376(a0)) { break; } binding = env0_0; add = binding.add; Reflect.apply(add, binding, [a0]); _sentryChildSpans = a0._sentryChildSpans; if (_sentryChildSpans) { Array = global.Array; from = Array.from; _sentryChildSpans = a0._sentryChildSpans; value3 = Reflect.apply(from, Array, [_sentryChildSpans]); r4 = value3; } else { r4 = []; } iterator = r4[Symbol.iterator](); iterator2 = iterator.next; for (r1 = iterator; true; r1 = item2) { item2 = Reflect.apply(iterator2, r1, []); item = item2.value; item2 = item2.done ? undefined : r1; if (item2 === undefined) { break; } try { getSpanDescendants_59381AddSpanChildrenBinding = getSpanDescendants_59381AddSpanChildren; } catch (error) { break exceptionLanding9; } try { getSpanDescendants_59381AddSpanChildrenBinding(item); } catch (error) { break exceptionLanding9; } } } return undefined; break exceptionSkip9; } try { item2.return(); } catch { } throw error; break exceptionSkip9; } }