/* Metro module 1132; source: unknown; dependencies: [1131, 826, 1128] */ import * as DEFAULT_BUNDLE_NAMEModule from './module-01128-DEFAULT_BUNDLE_NAME.js'; /* Metro dependency 1128 */ import * as MAX_PROFILE_DURATION_MSModule from './module-01131-MAX_PROFILE_DURATION_MS.js'; /* Metro dependency 1131 */ function _fun12603(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#12603, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1259:6, offset: 0x00dd02c9, size: 131 bytes, params: 8, frame: 20 const env0_0 = require; const mapSamples2 = mapSamples; const parseHermesJSStackFrame2 = parseHermesJSStackFrame; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const MAX_PROFILE_DURATION_MS = (MAX_PROFILE_DURATION_MSModule).MAX_PROFILE_DURATION_MS; const env0_2 = 1000000 * MAX_PROFILE_DURATION_MS; exports.convertToSentryProfile = convertToSentryProfile; exports.mapSamples = mapSamples2; exports.parseHermesJSStackFrame = parseHermesJSStackFrame2; function mapSamples(a0) { // fn#12604, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1259:134, offset: 0x00dd034c, size: 484 bytes, params: 2, frame: 30 var r0; var value; var binding; var debug; var warn; var add; var tid; var sf; var value6; var value7; var value8; var value9; var push; var object2; var toFixed; var value10; var value11; var moduleValue; var HermesInternal; var concat; var value12; var error; reducibleJoin4: while (true) { reducibleJoin2: while (true) { if (arguments.length > 1) { if (arguments[1] !== undefined) { value = arguments[1]; r0 = value; break reducibleJoin4; } break reducibleJoin2; } break reducibleJoin2; } value = environment; binding = env0_2; r0 = binding; break reducibleJoin4; } const items2 = []; let Set = global.Set; let set = new Set(); Set = global.Set; set = new Set(); let property = a0[0]; if (!property) { require(dependencyMap[1]).debug.warn('[Profiling] No samples found in profile.'); } else { var Number = global.Number; var ts = property.ts; var value5 = Number(ts); var iterator = a0[Symbol.iterator](); var iterator2 = iterator.next; var r4 = iterator; var item2 = Reflect.apply(iterator2, r4, []); var item = item2.value; item2 = item2.done ? undefined : r4; reducibleJoin8: while (true) { if (item2 === undefined) { return {samples: items2, hermesStacks: set, jsThreads: set}; } break reducibleJoin8; } reducibleLoop8: while (true) { try { add = set.add; } catch (error) { try { item2.return(); } catch { } throw error; } try { tid = item.tid; } catch (error) { try { item2.return(); } catch { } throw error; } try { Reflect.apply(add, set, [tid]); } catch (error) { try { item2.return(); } catch { } throw error; } try { add = set.add; } catch (error) { try { item2.return(); } catch { } throw error; } try { sf = item.sf; } catch (error) { try { item2.return(); } catch { } throw error; } try { Reflect.apply(add, set, [sf]); } catch (error) { try { item2.return(); } catch { } throw error; } try { Number = global.Number; } catch (error) { try { item2.return(); } catch { } throw error; } try { ts = item.ts; } catch (error) { try { item2.return(); } catch { } throw error; } try { value6 = Number(ts); } catch (error) { try { item2.return(); } catch { } throw error; } try { value7 = value6 - value5; } catch (error) { try { item2.return(); } catch { } throw error; } try { value8 = 1000 * value7; } catch (error) { try { item2.return(); } catch { } throw error; } try { value9 = value8 >= r0; } catch (error) { try { item2.return(); } catch { } throw error; } if (value9) { value11 = environment; try { } catch (error) { try { item2.return(); } catch { } throw error; } try { } catch (error) { try { item2.return(); } catch { } throw error; } try { property = dependencyMap[1]; } catch (error) { try { item2.return(); } catch { } throw error; } try { moduleValue = require(property); } catch (error) { try { item2.return(); } catch { } throw error; } try { debug = moduleValue.debug; } catch (error) { try { item2.return(); } catch { } throw error; } try { warn = debug.warn; } catch (error) { try { item2.return(); } catch { } throw error; } try { HermesInternal = global.HermesInternal; } catch (error) { try { item2.return(); } catch { } throw error; } try { concat = HermesInternal.concat; } catch (error) { try { item2.return(); } catch { } throw error; } try { value12 = '[Profiling] Sample has elapsed time since start ' + value8 + 'ns greater than the max elapsed time ' + r0 + 'ns.'; } catch (error) { try { item2.return(); } catch { } throw error; } try { Reflect.apply(warn, debug, [value12]); } catch (error) { try { item2.return(); } catch { } throw error; } item2.return(); break reducibleLoop8; } try { push = items2.push; } catch (error) { try { item2.return(); } catch { } throw error; } try { object2 = {}; } catch (error) { try { item2.return(); } catch { } throw error; } try { sf = item.sf; } catch (error) { try { item2.return(); } catch { } throw error; } try { object2.stack_id = sf; } catch (error) { try { item2.return(); } catch { } throw error; } try { tid = item.tid; } catch (error) { try { item2.return(); } catch { } throw error; } try { object2.thread_id = tid; } catch (error) { try { item2.return(); } catch { } throw error; } try { toFixed = value8.toFixed; } catch (error) { try { item2.return(); } catch { } throw error; } try { value10 = Reflect.apply(toFixed, value8, [0]); } catch (error) { try { item2.return(); } catch { } throw error; } try { object2.elapsed_since_start_ns = value10; } catch (error) { try { item2.return(); } catch { } throw error; } try { Reflect.apply(push, items2, [object2]); } catch (error) { try { item2.return(); } catch { } throw error; } r4 = item2; item2 = Reflect.apply(iterator2, r4, []); item = item2.value; item2 = item2.done ? undefined : r4; if (item2 === undefined) { break reducibleLoop8; } continue reducibleLoop8; } } return {samples: items2, hermesStacks: set, jsThreads: set}; } function parseHermesJSStackFrame(a0) { // fn#12605, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1259:709, offset: 0x00dd0530, size: 383 bytes, params: 2, frame: 17 var object; const DEFAULT_BUNDLE_NAME = (DEFAULT_BUNDLE_NAMEModule).DEFAULT_BUNDLE_NAME; var Number; var value7; if (a0.category !== 'JavaScript') { return a0.name === '[root]' ? {function: a0.name, in_app: false} : {function: a0.name}; } const funcVirtAddr = a0.funcVirtAddr; const value = undefined; if (value !== funcVirtAddr) { if (value !== a0.offset) { object = {}; object.function = a0.name; object.abs_path = DEFAULT_BUNDLE_NAME; object.lineno = 1; Number = global.Number; value7 = Number(a0.funcVirtAddr); Number = global.Number; object.colno = value7 + Number(a0.offset) + 1; return object; } } const value2 = a0.name.indexOf('('); object = {}; object.function = value2 !== -1 ? a0.name.substring(0, value2) || value : a0.name; object.abs_path = DEFAULT_BUNDLE_NAME; object.lineno = value === a0.line ? value : global.Number(a0.line); object.colno = value === a0.column ? value : global.Number(a0.column); return object; } function convertToSentryProfile(a0) { // fn#12606, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1259:1250, offset: 0x00dd06af, size: 805 bytes, params: 2, frame: 35 var r13; var r10; var r20; var parent; var r8; var r1; var value; var samples; var length; var value2; var mapSamplesBinding; var value3; var hermesStacks; var jsThreads; var stackFrames; var object; var Map; var prototype; var value4; var map; var value5; var propertyName; var propertyName2; var Object; var hasOwnProperty; var call; var property; var set; var Number; var value6; var push; var object2; var frames; var hermesStackFrameIdToSentryFrameIdMap; var value7; var value8; var iterator; var iterator2; var item; var item2; var items2; var value9; var get; var value10; var value11; var value12; var value13; var value14; var error; var object3; var stacks; var hermesStackToSentryStackMap; var iterator3; var item3; var stack_id; var value15; var value16; var moduleValue; var debug; var HermesInternal; var concat; var value17; var iterator4; var item4; var object4; var object5; var keys; var value18; exceptionSkip71: while (true) { exceptionLanding71: while (true) { exceptionSkip65: while (true) { exceptionLanding65: while (true) { exceptionSkip40: while (true) { exceptionLanding40: while (true) { value = undefined; samples = a0.samples; length = samples.length; if (length === 0) { value18 = environment; debug = require(dependencyMap[1]).debug; debug.warn('[Profiling] No samples found in profile.'); return null; } value2 = environment; mapSamplesBinding = mapSamples; samples = a0.samples; value3 = mapSamplesBinding(samples); samples = value3.samples; hermesStacks = value3.hermesStacks; jsThreads = value3.jsThreads; stackFrames = a0.stackFrames; object = []; Map = global.Map; prototype = Map.prototype; value4 = Object.create(prototype, {constructor: {value: Map}}); map = new Map(); value5 = map instanceof Object ? map : value4; for (propertyName in stackFrames) { Object = global.Object; prototype = Object.prototype; hasOwnProperty = prototype.hasOwnProperty; call = hasOwnProperty.call; if (!Reflect.apply(call, hasOwnProperty, [stackFrames, propertyName])) { r13 = propertyName2; continue; } property = stackFrames[propertyName]; if (!property) { r13 = propertyName2; continue; } set = value5.set; Number = global.Number; value6 = Number(propertyName); length = object.length; Reflect.apply(set, value5, [value6, length]); push = object.push; Reflect.apply(push, object, [parseHermesJSStackFrame(property)]); r13 = propertyName2; } object2 = {frames: object, hermesStackFrameIdToSentryFrameIdMap: value5}; frames = object2.frames; hermesStackFrameIdToSentryFrameIdMap = object2.hermesStackFrameIdToSentryFrameIdMap; stackFrames = a0.stackFrames; Map = global.Map; prototype = Map.prototype; value7 = Object.create(prototype, {constructor: {value: Map}}); map = new Map(); value8 = map instanceof Object ? map : value7; object = []; iterator = hermesStacks[Symbol.iterator](); iterator2 = iterator.next; r10 = iterator; while (true) { item2 = Reflect.apply(iterator2, r10, []); item = item2.value; item2 = item2.done ? undefined : r10; if (item2 === value) { break; } try { length = object.length; } catch (error) { break exceptionLanding40; } try { set = value8.set; } catch (error) { break exceptionLanding40; } try { Reflect.apply(set, value8, [item, length]); } catch (error) { break exceptionLanding40; } try { items2 = []; } catch (error) { break exceptionLanding40; } try { value9 = value === item; } catch (error) { break exceptionLanding40; } if (value9) { continue; } r20 = item; while (true) { try { get = hermesStackFrameIdToSentryFrameIdMap.get; } catch (error) { break exceptionLanding40; } try { value10 = Reflect.apply(get, hermesStackFrameIdToSentryFrameIdMap, [r20]); } catch (error) { break exceptionLanding40; } try { value11 = value === value10; } catch (error) { break exceptionLanding40; } if (value11) { continue; } try { push = items2.push; } catch (error) { break exceptionLanding40; } try { Reflect.apply(push, items2, [value10]); } catch (error) { break exceptionLanding40; } try { property = stackFrames[r20]; } catch (error) { break exceptionLanding40; } try { value12 = property === null; } catch (error) { break exceptionLanding40; } if (value12) { parent = value; continue; } try { value13 = value === property; } catch (error) { break exceptionLanding40; } if (value13) { parent = value; continue; } try { parent = property.parent; } catch (error) { break exceptionLanding40; } try { value14 = value !== parent; } catch (error) { break exceptionLanding40; } if (value14) { r20 = parent; continue; } break; } try { push = object.push; } catch (error) { break exceptionLanding40; } try { Reflect.apply(push, object, [items2]); } catch (error) { break exceptionLanding40; } r10 = item2; } object3 = {stacks: object, hermesStackToSentryStackMap: value8}; stacks = object3.stacks; hermesStackToSentryStackMap = object3.hermesStackToSentryStackMap; iterator = samples[Symbol.iterator](); iterator3 = iterator.next; r8 = iterator; while (true) { item3 = Reflect.apply(iterator3, r8, []); item = item3.value; item3 = item3.done ? undefined : r8; if (item3 === value) { break; } try { get = hermesStackToSentryStackMap.get; } catch (error) { break exceptionLanding65; } try { stack_id = item.stack_id; } catch (error) { break exceptionLanding65; } try { value15 = Reflect.apply(get, hermesStackToSentryStackMap, [stack_id]); } catch (error) { break exceptionLanding65; } try { value16 = value === value15; } catch (error) { break exceptionLanding65; } if (value16) { try { } catch (error) { break exceptionLanding65; } try { } catch (error) { break exceptionLanding65; } try { property = dependencyMap[1]; } catch (error) { break exceptionLanding65; } try { moduleValue = require(property); } catch (error) { break exceptionLanding65; } try { debug = moduleValue.debug; } catch (error) { break exceptionLanding65; } try { error = debug.error; } catch (error) { break exceptionLanding65; } try { stack_id = item.stack_id; } catch (error) { break exceptionLanding65; } try { HermesInternal = global.HermesInternal; } catch (error) { break exceptionLanding65; } try { concat = HermesInternal.concat; } catch (error) { break exceptionLanding65; } try { value17 = '[Profiling] Hermes Stack ID ' + stack_id + ' not found when mapping to Sentry Stack ID.'; } catch (error) { break exceptionLanding65; } try { Reflect.apply(error, debug, [value17]); } catch (error) { break exceptionLanding65; } try { item.stack_id = -1; } catch (error) { break exceptionLanding65; } r8 = item3; } else { try { item.stack_id = value15; } catch (error) { break exceptionLanding65; } r8 = item3; } } object = {}; iterator = jsThreads[Symbol.iterator](); iterator4 = iterator.next; for (r8 = iterator; true; r8 = item4) { item4 = Reflect.apply(iterator4, r8, []); item = item4.value; item4 = item4.done ? undefined : r8; if (item4 === value) { break; } try { object4 = {'name': 'JavaScriptThread', 'priority': 1}; } catch (error) { break exceptionLanding71; } try { object[item] = object4; } catch (error) { break exceptionLanding71; } } object5 = {samples: samples, frames: frames, stacks: stacks, thread_metadata: object}; Object = global.Object; keys = Object.keys; property = Reflect.apply(keys, Object, [object])[0]; if (property) { r1 = property; } else { value = '0'; r1 = value; } object5.active_thread_id = r1; return object5; break exceptionSkip40; } try { item2.return(); } catch { } throw error; break exceptionSkip40; } break exceptionSkip65; } try { item3.return(); } catch { } throw error; break exceptionSkip65; } break exceptionSkip71; } try { item4.return(); } catch { } throw error; break exceptionSkip71; } } } global.__d(_fun12603, 1132, [1131, 826, 1128]) /* metro module 1132, dependencies: [1131, 826, 1128] */;