Files
discord-decomp/sources/modules/tti_analytics/TTITracker.tsx
T
2026-07-27 16:20:00 +03:00

1171 lines
58 KiB
TypeScript

/* Metro module 14; source: modules/tti_analytics/TTITracker.tsx; dependencies: [15, 17, 18, 5, 6, 7, 20, 2, 21, 22, 2] */
function _fun184(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#184, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:6, offset: 0x00c3a90b, size: 372 bytes, params: 8, frame: 20
const env0_1 = require;
const _arrayLikeToArray_187 = function(a0, a1) {
var r0;
var r1;
var r2;
var value3;
var length;
var value5;
var value = undefined;
var value2 = value == null;
reducibleJoin2: while (true) {
if (value2) {
r0 = value2;
break reducibleJoin2;
}
value3 = value > a0.length;
r0 = value3;
break reducibleJoin2;
}
reducibleJoin4: while (true) {
if (r0) {
length = a0.length;
r1 = length;
break reducibleJoin4;
}
r1 = value;
break reducibleJoin4;
}
value = (0, global.Array)(r1);
var value4 = 0;
if (value4 < r1) {
r2 = value4;
reducibleLoop5: while (true) {
value[r2] = a0[r2];
value5 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1;
if (value5 < r1) {
r2 = value5;
continue reducibleLoop5;
}
break reducibleLoop5;
}
}
return value;
};
const _serialize = function(a0, a1) {
if (a1 === 0) {
return null;
}
var value = null;
if (value == a1) {
return null;
}
var value2 = a1 - a0;
return value2 < 0 || value2 > 1000000 ? value : value2;
};
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_5 = importDefault(15) /* metro dependency 15 */;
const env0_6 = importDefault(17) /* metro dependency 17 */;
const env0_7 = importDefault(18) /* metro dependency 18 */;
const env0_8 = importDefault(5) /* metro dependency 5 */;
const env0_9 = importDefault(6) /* metro dependency 6 */;
let value = importDefault(7) /* metro dependency 7 */;
const loggerCallback = function() {
};
global.__timingFunction = function() {
return global.performance.now();
};
const env0_12 = global.__getTotalRequireTime == null ? function() {
return 0;
} : _fun195;
const env0_13 = _fun196();
const env0_14 = _fun216();
const env0_15 = _fun223();
value = value(TTITrackers);
value = _fun227(value);
value = new value();
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/tti_analytics/TTITracker.tsx');
exports.default = value;
}
function _createForOfIteratorHelperLoose_185(a0, a1) { // fn#185, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:160, offset: 0x00c3aa7f, size: 370 bytes, params: 3, frame: 20
var r6;
var r9;
var r5;
var value3;
var regexp;
const env0_0 = a0;
const Symbol = global.Symbol;
let value = typeof Symbol !== 'undefined';
let r1 = value && a0[global.Symbol.iterator];
r1 = !r1 ? a0['@@iterator'] : r1;
if (r1) {
value = r1.call(a0);
return value.next.bind(value);
}
const Array = global.Array;
if (Array.isArray(a0)) {
if (r1) {
}
return _fun186;
}
value = undefined;
if (a0) {
if (typeof a0 === 'string') {
value = _arrayLikeToArray_187(a0, value);
r5 = value;
} else {
value3 = ({}).toString.call(a0).slice(8, -1);
r6 = value3 === 'Object' && a0.constructor;
r9 = r6 ? a0.constructor.name : value3;
if (r9 === 'Map') {
r6 = global.Array.from(a0);
} else if (r9 === 'Set') {
r6 = global.Array.from(a0);
} else if (r9 === 'Arguments') {
value = _arrayLikeToArray_187(a0, value);
r6 = value;
} else {
regexp = RegExp('^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$', '');
if (regexp.test(r9)) {
value = _arrayLikeToArray_187(a0, value);
r6 = value;
} else {
r6 = value;
}
}
r5 = r6;
}
} else {
r5 = value;
}
if (r5) {
if (r5) {
}
return _fun186;
}
const TypeError = global.TypeError;
throw new TypeError('Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
}
function _isNativeReflectConstruct() { // fn#188, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:1070, offset: 0x00c3abf1, size: 94 bytes, params: 1, frame: 18
var Boolean;
var prototype;
var valueOf;
var call;
var Reflect;
var construct;
var closure;
var value;
var error;
try {
Boolean = global.Boolean;
prototype = Boolean.prototype;
valueOf = prototype.valueOf;
call = valueOf.call;
Reflect = global.Reflect;
construct = Reflect.construct;
Boolean = global.Boolean;
closure = function() {
};
value = Reflect.apply(construct, Reflect, [Boolean, [], closure]);
value = Reflect.apply(call, valueOf, [value]);
var result = !value;
} catch (error) {
}
return (_isNativeReflectConstruct_body = function() {
return !!result;
})();
}
function _fun195() { // fn#195, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:1372, offset: 0x00c3ac97, size: 19 bytes, params: 1, frame: 9
return env0_0.__getTotalRequireTime();
}
function _fun196() { // fn#196, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:1498, offset: 0x00c3acaa, size: 388 bytes, params: 1, frame: 17
const binding = env0_10;
const closure = TTITimer;
const items2 = [{key: 'start', get: function() {
return this.start_;
}}];
items2[1] = {key: 'end', get: function() {
return this.end_;
}};
items2[2] = {key: 'hasStart', value: function() {
return this.start_ > 0;
}};
items2[3] = {key: 'hasData', value: function() {
return this.end_ > 0;
}};
items2[4] = {key: 'recordStart', value: function() {
if (this.start_ === 0) {
this.recordStart_();
}
importDefault(dependencyMap[6]).mark(this.emoji, 'Start ' + this.name);
loggerCallback();
}};
items2[5] = {key: 'recordStart_', value: value_203};
items2[6] = {key: 'recordEnd', value: value_204};
items2[7] = {key: 'recordEnd_', value: value_205};
items2[8] = {key: 'set', value: value_206};
items2[9] = {key: 'serializeStart', value: function(a0) {
return _serialize(a0, this.start_);
}};
items2[10] = {key: 'serializeEnd', value: function(a0) {
return _serialize(a0, this.end_);
}};
items2[11] = {key: 'measure', value: value_209};
const binding2 = env0_8;
const env0_1 = binding2(_fun211);
items2[12] = {key: 'measureAsync', value: value_212};
const env0_0 = binding2(_fun214);
items2[13] = {key: 'measureAsyncWithoutNesting', value: value_215};
return binding(closure, items2);
}
function _fun216() { // fn#216, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:3751, offset: 0x00c3b410, size: 147 bytes, params: 1, frame: 15
return env0_10(TTIEvent, [{key: 'time', get: function() {
return this.time_;
}}, {key: 'record', value: value_219}, {key: 'recordState_', value: value_220}, {key: 'hasData', value: function() {
return this.time_ > 0;
}}, {key: 'serialize', value: function(a0) {
return _serialize(a0, this.time_);
}}]);
}
function _fun223() { // fn#223, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:4486, offset: 0x00c3b642, size: 78 bytes, params: 1, frame: 15
return env0_10(TTIImportEvent, [{key: 'time', get: function() {
return this.time_;
}}, {key: 'record', value: value_226}]);
}
function _fun227(a0) { // fn#227, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:4696, offset: 0x00c3b6d9, size: 415 bytes, params: 2, frame: 16
const closure = TTITracker;
env0_7(closure, a0);
return env0_10(closure, [{key: 'setTTICallback', value: function(a0) {
var env0_0 = a0;
env1_11 = _fun230;
}}, {key: 'setInitialPage', value: function(a0) {
this.initialPage = a0;
}}, {key: 'setInitialGuildId', value: function(a0) {
this.initialGuildId = a0;
}}, {key: 'setEarlyCacheInfo', value: function(a0) {
this.earlyCacheInfo = a0;
}}, {key: 'setLazyCacheInfo', value: function(a0) {
this.lazyCacheInfo = a0;
}}, {key: 'setInterstitial', value: function(a0) {
this.interstitial = a0;
loggerCallback();
}}, {key: 'addLocalMessages', value: function(a0, a1) {
var value;
var cachedChannelCounts = this.cachedChannelCounts;
cachedChannelCounts.set(a0, a1);
if (this.cachedChannelCounts.size > 100) {
while (true) {
cachedChannelCounts = this.cachedChannelCounts;
value = cachedChannelCounts.keys();
cachedChannelCounts = this.cachedChannelCounts;
cachedChannelCounts.delete(value.next().value);
if (!(this.cachedChannelCounts.size > 100)) {
break;
}
}
}
}}, {key: 'attachReadyPayloadProperties', value: function(a0) {
this.readyProperties = a0;
}}, {key: 'appStateChanged', value: function(a0) {
if (a0 === 'active') {
if (this.firstAppActiveTime == null) {
this.firstAppActiveTime = global.Date.now();
}
this.wasEverActive = true;
}
if (this.readyProperties.num_guilds == null) {
this.didBackgroundApp = this.didBackgroundApp || a0 !== 'active';
}
}}, {key: 'recordRender', value: function(a0, a1) {
var value = a1;
this.renderMessages.record();
if (value || a0 > 0) {
this.renderMessagesWithCache.record();
}
if (value) {
this.renderLatestMessages.record();
}
}}, {key: 'recordMessageRender', value: value_241}, {key: 'getStartTime', value: function(a0) {
var value = a0;
return this.extraProperties.headless_task_ran && this.firstAppActiveTime != null ? this.firstAppActiveTime : value == null || value <= 0 ? this.loadIndex.start : value;
}}, {key: 'processNativeLogs', value: value_244}, {key: 'serializeAppStartupMetrics', value: function() {
return {ready_packing_algorithm: this.readyProperties.packing_algorithm,
ready_unpack_duration_ms: this.readyProperties.unpack_duration_ms};
}}, {key: 'serializeWebPerfStartupMetrics', value: function(a0) {
var r3;
var object = {};
copyDataProperties(object, this.serializeAppStartupMetrics(), r3);
object['was_authenticated'] = this.wasAuthenticated;
object['time_first_render_after_ready_end'] = this.firstRenderAfterReadyPayload.serialize(a0);
return object;
}}, {key: 'serializeTTITracker', value: value_247}]);
}
function TTITrackers() { // fn#250, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:21829, offset: 0x00c3d3d9, size: 1668 bytes, params: 1, frame: 23
let binding = env0_9;
binding(this, TTITrackers);
binding = env0_13;
const value2 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding2 = new binding('❗', 'Load index.tsx');
this.loadIndex = binding2 instanceof Object ? binding2 : value2;
binding = env0_13;
const value5 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding3 = new binding('💾', 'Load fast_connect native module');
this.loadFastConnectNativeModule = binding3 instanceof Object ? binding3 : value5;
binding = env0_13;
const value8 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding4 = new binding('🌐', 'Fast Connect IDENTIFY');
this.beginFastConnect = binding4 instanceof Object ? binding4 : value8;
binding = env0_13;
const value11 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding5 = new binding('🏃', 'Load Imports');
this.loadImports = binding5 instanceof Object ? binding5 : value11;
binding = env0_13;
const value14 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding6 = new binding('🏃', 'Initial Initialization');
this.init = binding6 instanceof Object ? binding6 : value14;
binding = env0_13;
const value17 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding7 = new binding('💾', 'Load Storage');
this.loadStorage = binding7 instanceof Object ? binding7 : value17;
binding = env0_13;
const value20 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding8 = new binding('💾', 'Parse Storage');
this.parseStorage = binding8 instanceof Object ? binding8 : value20;
binding = env0_13;
const value23 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding9 = new binding('💾', 'Load Mini Cache');
this.loadMiniCache = binding9 instanceof Object ? binding9 : value23;
binding = env0_13;
const value26 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding10 = new binding('💾', 'Fetch Guild Cache');
this.fetchGuildCache = binding10 instanceof Object ? binding10 : value26;
binding = env0_13;
const value29 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding11 = new binding('💾', 'Fetch Initial Guild Channels Cache');
this.fetchGuildChannelsCache = binding11 instanceof Object ? binding11 : value29;
binding = env0_13;
const value32 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding12 = new binding('💾', 'Load Cached Messages');
this.loadCachedMessages = binding12 instanceof Object ? binding12 : value32;
binding = env0_14;
const value35 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding13 = new binding('🎨', 'First React Render');
this.renderApp = binding13 instanceof Object ? binding13 : value35;
binding = env0_14;
const value38 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding14 = new binding('🎨', 'First React Render useEffect');
this.renderAppEffect = binding14 instanceof Object ? binding14 : value38;
binding = env0_14;
const value41 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding15 = new binding('🎨', 'First Contentful Paint', false, true);
this.firstContentfulPaint = binding15 instanceof Object ? binding15 : value41;
binding = env0_14;
const value44 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding16 = new binding('🎨', 'React Render Messages', true);
this.renderMessages = binding16 instanceof Object ? binding16 : value44;
binding = env0_14;
const value47 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding17 = new binding('🎨', 'React Render Cached Messages', true);
this.renderMessagesWithCache = binding17 instanceof Object ? binding17 : value47;
binding = env0_13;
const value50 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding18 = new binding('🎨', 'RowGenerator.generate()');
this.firstRowGenerator = binding18 instanceof Object ? binding18 : value50;
binding = env0_14;
const value53 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding19 = new binding('🖥️', 'Display Cached Messages', false, true);
this.displayMessagesWithCache = binding19 instanceof Object ? binding19 : value53;
binding = env0_14;
const value56 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding20 = new binding('🎨', 'First Render after Ready Payload', true);
this.firstRenderAfterReadyPayload = binding20 instanceof Object ? binding20 : value56;
binding = env0_14;
const value59 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding21 = new binding('🎨', 'React Render Latest Messages');
this.renderLatestMessages = binding21 instanceof Object ? binding21 : value59;
binding = env0_14;
const value62 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding22 = new binding('🖥️', 'Display Latest Messages');
this.displayLatestMessages = binding22 instanceof Object ? binding22 : value62;
binding = env0_13;
const value65 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding23 = new binding('🌐', 'Initial Guild');
this.initialGuild = binding23 instanceof Object ? binding23 : value65;
binding = env0_13;
const value68 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding24 = new binding('💾', 'Load Lazy Cache');
this.loadLazyCache = binding24 instanceof Object ? binding24 : value68;
binding = env0_13;
const value71 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding25 = new binding('💾', 'Fetch Lazy Cache');
this.fetchLazyCache = binding25 instanceof Object ? binding25 : value71;
binding = env0_13;
const value74 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding26 = new binding('💾', 'Parse Lazy Cache');
this.parseLazyCache = binding26 instanceof Object ? binding26 : value74;
binding = env0_13;
const value77 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding27 = new binding('💾', 'Fetch Stale Channels');
this.fetchStaleChannels = binding27 instanceof Object ? binding27 : value77;
binding = env0_13;
const value80 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding28 = new binding('💾', 'Deserialize Cache');
this.deserializeCache = binding28 instanceof Object ? binding28 : value80;
binding = env0_13;
const value83 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding29 = new binding('💾', 'Dispatch Lazy Cache');
this.dispatchLazyCache = binding29 instanceof Object ? binding29 : value83;
binding = env0_13;
const value86 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding30 = new binding('🌐', 'Parse READY');
this.parseReady = binding30 instanceof Object ? binding30 : value86;
binding = env0_13;
const value89 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding31 = new binding('🌐', 'READY');
this.ready = binding31 instanceof Object ? binding31 : value89;
binding = env0_13;
const value92 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding32 = new binding('🌐', 'Hydrate READY');
this.hydrateReady = binding32 instanceof Object ? binding32 : value92;
binding = env0_13;
const value95 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding33 = new binding('🌐', 'Dispatch READY');
this.dispatchReady = binding33 instanceof Object ? binding33 : value95;
binding = env0_13;
const value98 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding34 = new binding('🌐', 'Parse READY Supplemental');
this.parseReadySupplemental = binding34 instanceof Object ? binding34 : value98;
binding = env0_13;
const value101 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding35 = new binding('🌐', 'READY Supplemental');
this.readySupplemental = binding35 instanceof Object ? binding35 : value101;
binding = env0_13;
const value104 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding36 = new binding('🌐', 'Hydrate READY Supplemental');
this.hydrateReadySupplemental = binding36 instanceof Object ? binding36 : value104;
binding = env0_13;
const value107 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding37 = new binding('🌐', 'Dispatch READY Supplemental');
this.dispatchReadySupplemental = binding37 instanceof Object ? binding37 : value107;
binding = env0_13;
const value110 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding38 = new binding('🌐', 'Fetch messages');
this.fetchMessages = binding38 instanceof Object ? binding38 : value110;
binding = env0_13;
const value113 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding39 = new binding('🌐', 'Dispatch messages');
this.dispatchMessages = binding39 instanceof Object ? binding39 : value113;
const object2 = {};
binding = env0_15;
const value116 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding40 = new binding();
object2.polyfillsEnd = binding40 instanceof Object ? binding40 : value116;
binding = env0_15;
const value119 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding41 = new binding();
object2.sentryEnd = binding41 instanceof Object ? binding41 : value119;
binding = env0_15;
const value122 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding42 = new binding();
object2.appStateChangeStart = binding42 instanceof Object ? binding42 : value122;
binding = env0_15;
const value125 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding43 = new binding();
object2.appStateChangeEnd = binding43 instanceof Object ? binding43 : value125;
binding = env0_15;
const value128 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding44 = new binding();
object2.loadMiniCacheStart = binding44 instanceof Object ? binding44 : value128;
binding = env0_15;
const value131 = Object.create(binding.prototype, {constructor: {value: binding}});
const binding45 = new binding();
object2.loadStorageStart = binding45 instanceof Object ? binding45 : value131;
object2.loadStorageEnd = new env0_15();
this.imports = object2;
}
function TTITimer(a0, a1) { // fn#197, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:1519, offset: 0x00c3ae2e, size: 83 bytes, params: 3, frame: 13
env1_9(this, TTITimer);
this.emoji = a0;
this.name = a1;
this.start_ = 0;
this.startNumImports = 0;
this.startImportTime = 0;
this.end_ = 0;
this.endNumImports = 0;
this.endImportTime = 0;
}
function value_203() { // fn#203, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:2068, offset: 0x00c3af24, size: 82 bytes, params: 1, frame: 13
const Date = global.Date;
this.start_ = Date.now();
const moduleValue = importAll(2) /* metro dependency 2 */;
this.startNumImports = moduleValue.size();
this.startImportTime = env1_12();
}
function value_204() { // fn#204, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:2189, offset: 0x00c3af76, size: 213 bytes, params: 1, frame: 17
var value;
if (this.end_ !== 0) {
value = environment.__proto__;
value = importDefault(20) /* metro dependency 20: AppStartPerformance */;
value.mark(this.emoji, 'Finish ' + this.name);
} else if (this.start_ !== 0) {
this.recordEnd_();
value = environment.__proto__;
value = importDefault(20) /* metro dependency 20: AppStartPerformance */;
value.mark(this.emoji, 'Finish ' + this.name, this.end_ - this.start_);
} else {
value = environment.__proto__;
value = importDefault(20) /* metro dependency 20: AppStartPerformance */;
value.mark(this.emoji, 'Finish ' + this.name);
}
value = environment.__proto__;
loggerCallback();
}
function value_205() { // fn#205, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:2410, offset: 0x00c3b04b, size: 82 bytes, params: 1, frame: 13
const Date = global.Date;
this.end_ = Date.now();
const moduleValue = importAll(2) /* metro dependency 2 */;
this.endNumImports = moduleValue.size();
this.endImportTime = env1_12();
}
function value_206(a0, a1) { // fn#206, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:2519, offset: 0x00c3b09d, size: 150 bytes, params: 3, frame: 17
var value;
var moduleValue;
if (this.start_ === 0) {
this.start_ = a0;
this.end_ = a0 + a1;
value = environment.__proto__;
moduleValue = importAll(2) /* metro dependency 2 */;
this.endNumImports = moduleValue.size();
this.endImportTime = env1_12();
}
const defaultImport = importDefault(20) /* metro dependency 20: AppStartPerformance */;
defaultImport.mark(this.emoji, this.name, a1);
loggerCallback();
}
function value_209(a0) { // fn#209, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:2861, offset: 0x00c3b16d, size: 148 bytes, params: 2, frame: 18
var value;
if (this.start_ > 0) {
value = environment.__proto__;
value = importDefault(20) /* metro dependency 20: AppStartPerformance */;
return value.time(this.emoji, this.name, a0);
}
this.recordStart_();
value = environment.__proto__;
const defaultImport = importDefault(20) /* metro dependency 20: AppStartPerformance */;
const value2 = defaultImport.time(this.emoji, this.name, a0);
this.recordEnd_();
loggerCallback();
return value2;
}
function* _fun211(a0) { // fn#211, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:3075, offset: 0x00c3b20a, size: 176 bytes, params: 2, frame: 19
let value = undefined;
if (false) {
return value;
}
if (this.start_ > 0) {
value = environment.__proto__.__proto__;
value = env2_2(env2_4[6]);
return value.timeAsync(this.emoji, this.name, a0);
}
this.recordStart_();
value = environment.__proto__.__proto__;
const value3 = env2_2(env2_4[6]);
yield value3.timeAsync(this.emoji, this.name, a0);
const value4 = undefined;
if (true) {
this.recordEnd_();
env2_11();
}
return value4;
}
function* _fun214(a0) { // fn#214, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:3379, offset: 0x00c3b2e1, size: 303 bytes, params: 2, frame: 24
var emoji;
let value = undefined;
if (false) {
return value;
}
if (this.start_ > 0) {
value = environment.__proto__.__proto__;
value = env2_2(env2_4[6]);
return value.timeAsync(this.emoji, this.name, a0);
}
this.recordStart_();
let Date = global.Date;
value = Date.now();
const value4 = env2_2(env2_4[6]);
let mark = value4.mark;
Reflect.apply(mark, value4, [this.emoji, 'Start ' + this.name]);
yield a0();
const value5 = undefined;
if (true) {
var value7 = env2_2(env2_4[6]);
mark = value7.mark;
emoji = this.emoji;
var value8 = 'Finish ' + this.name;
Date = global.Date;
Reflect.apply(mark, value7, [emoji, value8, Date.now() - value]);
this.recordEnd_();
env2_11();
}
return value5;
}
function TTIEvent(a0, a1) { // fn#217, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:3772, offset: 0x00c3b4a3, size: 97 bytes, params: 3, frame: 15
let value = a2;
const value2 = a3;
const r3 = value !== undefined ? value : false;
const r1 = value2 !== undefined ? value2 : false;
value = environment.__proto__;
env1_9(this, TTIEvent);
this.emoji = a0;
this.name = a1;
this.onlyOnce = r3;
this.alwaysRecord = r1;
this.time_ = 0;
this.numImports = null;
this.importTime = 0;
}
function value_219() { // fn#219, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:4005, offset: 0x00c3b50f, size: 154 bytes, params: 1, frame: 17
let value = a0;
const r3 = value !== undefined ? value : global.Date.now();
if (this.time_ === 0) {
this.recordState_(r3);
value = environment.__proto__;
loggerCallback();
} else {
if (this.onlyOnce) {
value = environment.__proto__;
loggerCallback();
return undefined;
}
var alwaysRecord = this.alwaysRecord;
value = environment.__proto__;
if (alwaysRecord) {
this.recordState_(r3);
loggerCallback();
return undefined;
}
value = importDefault(20) /* metro dependency 20: AppStartPerformance */;
value.mark(this.emoji, this.name);
value = environment.__proto__;
loggerCallback();
}
}
function value_220(a0) { // fn#220, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:4242, offset: 0x00c3b5a9, size: 107 bytes, params: 2, frame: 15
this.time_ = a0;
let value = environment.__proto__;
const moduleValue = importAll(2) /* metro dependency 2 */;
this.numImports = moduleValue.size();
this.importTime = env1_12();
value = importDefault(20) /* metro dependency 20: AppStartPerformance */;
value.mark(this.emoji, this.name);
}
function TTIImportEvent() { // fn#224, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:4507, offset: 0x00c3b690, size: 35 bytes, params: 1, frame: 13
env1_9(this, TTIImportEvent);
this.time_ = 0;
}
function value_226() { // fn#226, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:4639, offset: 0x00c3b6b3, size: 38 bytes, params: 1, frame: 10
var value;
if (this.time_ === 0) {
value = environment.__proto__;
this.time_ = env1_12();
}
}
function TTITracker(a0) { // fn#228, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:4708, offset: 0x00c3b878, size: 300 bytes, params: 2, frame: 19
var r0;
var Reflect;
let value = copyRestArgs(0, undefined);
let binding = env1_9;
binding(this, TTITracker);
const items2 = [];
arraySpread(items2, value, 0, items2);
value = env1_6(TTITracker);
binding = env1_5;
if (_isNativeReflectConstruct()) {
Reflect = global.Reflect;
value = Reflect.construct(value, items2, env1_6(this).constructor);
r0 = value;
} else {
value = value.apply(this, items2);
r0 = value;
}
value = binding(this, r0);
value.readyProperties = {};
value.didBackgroundApp = false;
value.wasEverActive = false;
value.wasAuthenticated = false;
value.interstitial = null;
const Map = global.Map;
const value4 = Object.create(Map.prototype, {constructor: {value: Map}});
const map = new Map();
value.cachedChannelCounts = map instanceof Object ? map : value4;
value.cachedChannelId = null;
value.cachedMessageIds = null;
value.messageCacheMissingReason = 'never-loaded';
value.messageCacheAgeSeconds = null;
value.messageCacheCount = null;
value.messageCacheHavingCount = null;
value.messageCacheMissingCount = null;
value.messageRenderFullCount = null;
value.messageRenderCachedCount = null;
value.messageRenderHasMoreAfter = null;
value.firstAppActiveTime = null;
value.initialPage = null;
value.initialGuildId = null;
value.earlyCacheInfo = null;
value.lazyCacheInfo = null;
value.extraProperties = {};
return value;
}
function value_229(a0) { // fn#229, offset: 0x00c3b9a4, size: 25 bytes, params: 2, frame: 2
const env0_0 = a0;
}
function value_241(a0, a1, a2, a3) { // fn#241, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:6692, offset: 0x00c3bb6c, size: 583 bytes, params: 5, frame: 20
var environment;
var cachedChannelId;
var cachedMessageIds;
var sort;
var compare;
var value2;
var reverse;
var property2;
var value3;
var property3;
var Math;
var value6;
let value = environment.__proto__;
const property = (require(21) /* metro dependency 21: SnowflakeUtils */).default;
const renderLatestMessages = this.renderLatestMessages;
if (!renderLatestMessages.hasData()) {
this.renderMessages.record();
var length = a1.length;
if (length > 0) {
this.renderMessagesWithCache.record();
}
if (a2) {
this.renderLatestMessages.record();
cachedChannelId = this.cachedChannelId;
value = null;
if (value == cachedChannelId) {
this.messageCacheMissingReason = 'no-cache';
return undefined;
}
cachedChannelId = this.cachedChannelId;
if (cachedChannelId !== a0) {
this.messageCacheMissingReason = 'channel-changed';
return undefined;
}
cachedMessageIds = this.cachedMessageIds;
if (value == cachedMessageIds) {
this.messageCacheMissingReason = 'no-cache';
return undefined;
}
cachedMessageIds = this.cachedMessageIds;
length = cachedMessageIds.length;
if (length === 0) {
this.messageCacheMissingReason = 'no-cache';
return undefined;
}
length = a1.length;
if (length === 0) {
this.messageCacheMissingReason = 'channel-empty';
return undefined;
}
cachedChannelId = this.cachedChannelId;
if (a0 === cachedChannelId) {
cachedMessageIds = this.cachedMessageIds;
sort = cachedMessageIds.sort;
compare = property.compare;
value2 = Reflect.apply(sort, cachedMessageIds, [compare]);
reverse = value2.reverse;
property2 = Reflect.apply(reverse, value2, [])[0];
sort = a1.sort;
compare = property.compare;
value3 = Reflect.apply(sort, a1, [compare]);
reverse = value3.reverse;
property3 = Reflect.apply(reverse, value3, [])[0];
Math = global.Math;
this.messageCacheAgeSeconds = Math.floor((property.extractTimestamp(property3) - property.extractTimestamp(property2)) / 1000);
length = a1.filter(_fun242).length;
value6 = this.cachedChannelCounts.get(a0);
this.messageCacheCount = value != value6 ? value6 : value;
this.messageCacheHavingCount = length;
this.messageCacheMissingCount = a1.length - length;
length = a1.length;
this.messageRenderFullCount = length;
cachedMessageIds = this.cachedMessageIds;
length = cachedMessageIds.length;
this.messageRenderCachedCount = length;
this.messageRenderHasMoreAfter = a3;
}
return undefined;
}
cachedChannelId = this.cachedChannelId;
value = cachedChannelId != null;
if (!(value && a0 !== this.cachedChannelId)) {
this.cachedChannelId = a0;
this.cachedMessageIds = a1;
if (a1.length > 0) {
this.messageCacheMissingReason = null;
}
}
}
}
function value_244(a0, a1) { // fn#244, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:8214, offset: 0x00c3be1c, size: 832 bytes, params: 3, frame: 36
var r2;
var value5;
var label;
var extraProperties;
var time_first_native_message_render_end;
var _serializeBinding;
var timestamp;
var time_first_native_message_render_start;
var value6;
const startTime = this.getStartTime(a1);
const value3 = _createForOfIteratorHelperLoose_185(a0);
const value4 = value3();
let done = value4.done;
if (!done) {
r2 = value4;
while (true) {
value5 = r2.value;
label = value5.label;
if (label !== 'Finish MainApplication.initialize()') {
if (label === 'GET_REACT_INSTANCE_MANAGER_START') {
this.extraProperties.time_get_react_instance_manager_start = _serialize(startTime,
value5.timestamp);
break;
}
if (label === 'GET_REACT_INSTANCE_MANAGER_END') {
this.extraProperties.time_get_react_instance_manager_end = _serialize(startTime, value5.timestamp);
break;
}
if (label === 'PROCESS_PACKAGES_START') {
this.extraProperties.time_process_packages_start = _serialize(startTime, value5.timestamp);
break;
}
if (label === 'PROCESS_PACKAGES_END') {
this.extraProperties.time_process_packages_end = _serialize(startTime, value5.timestamp);
break;
}
if (label === 'CREATE_CATALYST_INSTANCE_START') {
this.extraProperties.time_create_catalyst_instance_start = _serialize(startTime, value5.timestamp);
break;
}
if (label === 'CREATE_CATALYST_INSTANCE_END') {
this.extraProperties.time_create_catalyst_instance_end = _serialize(startTime, value5.timestamp);
break;
}
if (label === 'CREATE_UI_MANAGER_MODULE_START') {
this.extraProperties.time_create_ui_manager_module_start = _serialize(startTime, value5.timestamp);
break;
}
if (label === 'CREATE_UI_MANAGER_MODULE_END') {
this.extraProperties.time_create_ui_manager_module_end = _serialize(startTime, value5.timestamp);
break;
}
if (label === 'REACT_BRIDGE_LOADING_START') {
this.extraProperties.time_react_bridge_loading_start = _serialize(startTime, value5.timestamp);
break;
}
if (label === 'REACT_BRIDGE_LOADING_END') {
this.extraProperties.time_react_bridge_loading_end = _serialize(startTime, value5.timestamp);
break;
}
if (label === 'CacheStorage Init Start') {
this.extraProperties.time_init_native_storage_start = _serialize(startTime, value5.timestamp);
break;
}
if (label === 'CacheStorage Init End') {
this.extraProperties.time_init_native_storage_end = _serialize(startTime, value5.timestamp);
break;
}
if (label === 'RUN_JS_BUNDLE_START') {
this.extraProperties.time_before_js_bundle_start = _serialize(startTime, value5.timestamp);
break;
}
if (label === 'ChatModule.updateRows() Start') {
extraProperties = this.extraProperties;
time_first_native_message_render_start = extraProperties.time_first_native_message_render_start;
if (time_first_native_message_render_start != null) {
break;
}
extraProperties = this.extraProperties;
extraProperties.time_first_native_message_render_start = _serialize(startTime, value5.timestamp);
break;
}
if (label !== 'ChatModule.updateRows() Finish') {
break;
}
extraProperties = this.extraProperties;
time_first_native_message_render_end = extraProperties.time_first_native_message_render_end;
if (time_first_native_message_render_end != null) {
break;
}
extraProperties = this.extraProperties;
extraProperties.time_first_native_message_render_end = _serialize(startTime, value5.timestamp);
break;
}
extraProperties = this.extraProperties;
_serializeBinding = _serialize;
timestamp = value5.timestamp;
extraProperties.time_main_application_initialize_end = _serializeBinding(startTime, timestamp);
value6 = value3();
done = value6.done;
if (done) {
break;
}
r2 = value6;
continue;
}
}
}
function value_247(a0) { // fn#247, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:10860, offset: 0x00c3c1cd, size: 4567 bytes, params: 2, frame: 21
let value = this.getStartTime(a0);
const value3 = undefined;
const moduleValue = require(22) /* metro dependency 22 */;
const logGroups = (importDefault(20) /* metro dependency 20: AppStartPerformance */).logGroups;
const value4 = 0;
const value8 = moduleValue(logGroups[value4].logs).filter(function({log}) {
return log.startsWith('Require ');
}).map(function({delta}) {
return delta ?? 0;
}).sum();
const value9 = this.serializeAppStartupMetrics();
const object2 = {};
copyDataProperties(object2, this.extraProperties, undefined);
copyDataProperties(object2, value9, undefined);
object2['initial_page'] = this.initialPage;
object2['guild_id'] = this.initialGuildId;
object2['time_load_index_start'] = this.loadIndex.serializeStart(value);
object2['time_load_index_end'] = this.loadIndex.serializeEnd(value);
object2['time_begin_fast_connect_start'] = this.beginFastConnect.serializeStart(value);
object2['time_begin_fast_connect_end'] = this.beginFastConnect.serializeEnd(value);
object2['time_load_imports_start'] = this.loadImports.serializeStart(value);
object2['time_load_imports_end'] = this.loadImports.serializeEnd(value);
object2['time_init_start'] = this.init.serializeStart(value);
object2['time_init_end'] = this.init.serializeEnd(value);
object2['time_load_storage_start'] = this.loadStorage.serializeStart(value);
object2['time_load_storage_end'] = this.loadStorage.serializeEnd(value);
object2['time_parse_storage_start'] = this.parseStorage.serializeStart(value);
object2['time_parse_storage_end'] = this.parseStorage.serializeEnd(value);
object2['time_load_mini_cache_start'] = this.loadMiniCache.serializeStart(value);
object2['time_load_mini_cache_end'] = this.loadMiniCache.serializeEnd(value);
object2['time_fetch_initial_guild_start'] = this.fetchGuildCache.serializeStart(value);
object2['time_fetch_initial_guild_end'] = this.fetchGuildCache.serializeEnd(value);
object2['time_load_cached_messages_start'] = this.loadCachedMessages.serializeStart(value);
object2['time_load_cached_messages_end'] = this.loadCachedMessages.serializeEnd(value);
object2['time_render_app_start'] = this.renderApp.serialize(value);
object2['time_render_app_effect_start'] = this.renderAppEffect.serialize(value);
object2['time_first_contentful_paint'] = this.firstContentfulPaint.serialize(value);
object2['time_render_messages_end'] = this.renderMessages.serialize(value);
object2['time_render_messages_with_cache_end'] = this.renderMessagesWithCache.serialize(value);
object2['time_render_latest_messages_end'] = this.renderLatestMessages.serialize(value);
object2['time_display_messages_with_cache_end'] = this.displayMessagesWithCache.serialize(value);
object2['time_display_latest_messages_end'] = this.displayLatestMessages.serialize(value);
object2['time_first_row_generator_start'] = this.firstRowGenerator.serializeStart(value);
object2['time_first_row_generator_end'] = this.firstRowGenerator.serializeEnd(value);
object2['time_initial_guild_start'] = this.initialGuild.serializeStart(value);
object2['time_initial_guild_end'] = this.initialGuild.serializeEnd(value);
object2['time_load_lazy_cache_start'] = this.loadLazyCache.serializeStart(value);
object2['time_load_lazy_cache_end'] = this.loadLazyCache.serializeEnd(value);
object2['time_fetch_lazy_cache_start'] = this.fetchLazyCache.serializeStart(value);
object2['time_fetch_lazy_cache_end'] = this.fetchLazyCache.serializeEnd(value);
object2['time_parse_lazy_cache_start'] = this.parseLazyCache.serializeStart(value);
object2['time_parse_lazy_cache_end'] = this.parseLazyCache.serializeEnd(value);
object2['time_fetch_stale_channels_start'] = this.fetchStaleChannels.serializeStart(value);
object2['time_fetch_stale_channels_end'] = this.fetchStaleChannels.serializeEnd(value);
object2['time_deserialize_cache_start'] = this.deserializeCache.serializeStart(value);
object2['time_deserialize_cache_end'] = this.deserializeCache.serializeEnd(value);
object2['time_dispatch_lazy_cache_start'] = this.dispatchLazyCache.serializeStart(value);
object2['time_dispatch_lazy_cache_end'] = this.dispatchLazyCache.serializeEnd(value);
object2['time_parse_ready_start'] = this.parseReady.serializeStart(value);
object2['time_parse_ready_end'] = this.parseReady.serializeEnd(value);
object2['time_ready_start'] = this.ready.serializeStart(value);
object2['time_ready_end'] = this.ready.serializeEnd(value);
object2['time_hydrate_ready_start'] = this.hydrateReady.serializeStart(value);
object2['time_hydrate_ready_end'] = this.hydrateReady.serializeEnd(value);
object2['time_dispatch_ready_start'] = this.dispatchReady.serializeStart(value);
object2['time_dispatch_ready_end'] = this.dispatchReady.serializeEnd(value);
object2['time_parse_ready_supplemental_start'] = this.parseReadySupplemental.serializeStart(value);
object2['time_parse_ready_supplemental_end'] = this.parseReadySupplemental.serializeEnd(value);
object2['time_ready_supplemental_start'] = this.readySupplemental.serializeStart(value);
object2['time_ready_supplemental_end'] = this.readySupplemental.serializeEnd(value);
object2['time_hydrate_ready_supplemental_start'] = this.hydrateReadySupplemental.serializeStart(value);
object2['time_hydrate_ready_supplemental_end'] = this.hydrateReadySupplemental.serializeEnd(value);
object2['time_dispatch_ready_supplemental_start'] = this.dispatchReadySupplemental.serializeStart(value);
object2['time_dispatch_ready_supplemental_end'] = this.dispatchReadySupplemental.serializeEnd(value);
object2['time_fetch_messages_start'] = this.fetchMessages.serializeStart(value);
object2['time_fetch_messages_end'] = this.fetchMessages.serializeEnd(value);
object2['time_dispatch_messages_start'] = this.dispatchMessages.serializeStart(value);
object2['time_dispatch_messages_end'] = this.dispatchMessages.serializeEnd(value);
object2['time_load_fast_connect_native_module_start'] = this.loadFastConnectNativeModule.serializeStart(value);
value = this.loadFastConnectNativeModule.serializeEnd(value);
object2['time_load_fast_connect_native_module_end'] = value;
object2['identify_total_server_duration_ms'] = this.readyProperties.identify_total_server_duration_ms;
object2['identify_api_duration_ms'] = this.readyProperties.identify_api_duration_ms;
object2['identify_guilds_duration_ms'] = this.readyProperties.identify_guilds_duration_ms;
object2['ready_compressed_byte_size'] = this.readyProperties.compressed_byte_size;
object2['ready_uncompressed_byte_size'] = this.readyProperties.uncompressed_byte_size;
object2['identify_compressed_byte_size'] = this.readyProperties.identify_compressed_byte_size;
object2['identify_uncompressed_byte_size'] = this.readyProperties.identify_uncompressed_byte_size;
object2['ready_compression_algorithm'] = this.readyProperties.compression_algorithm;
object2['is_reconnect'] = this.readyProperties.is_reconnect;
object2['is_fast_connect'] = this.readyProperties.is_fast_connect;
object2['did_force_clear_guild_hashes'] = this.readyProperties.did_force_clear_guild_hashes;
object2['num_guilds'] = this.readyProperties.num_guilds;
object2['num_changed_guild_channels'] = this.readyProperties.num_guild_channels;
object2['ready_presences_size'] = this.readyProperties.presences_size;
const users_size = this.readyProperties.users_size;
object2['ready_users_size'] = users_size;
object2['ready_read_states_size'] = this.readyProperties.read_states_size;
object2['ready_private_channels_size'] = this.readyProperties.private_channels_size;
const user_guild_settings_size = this.readyProperties.user_guild_settings_size;
object2['ready_user_guild_settings_size'] = user_guild_settings_size;
object2['ready_relationships_size'] = this.readyProperties.relationships_size;
object2['ready_experiments_size'] = this.readyProperties.experiments_size;
const user_settings_size = this.readyProperties.user_settings_size;
object2['ready_user_settings_size'] = user_settings_size;
object2['ready_remaining_data_size'] = this.readyProperties.remaining_data_size;
object2['ready_guild_channels_size'] = this.readyProperties.guild_channels_size;
object2['ready_guild_members_size'] = this.readyProperties.guild_members_size;
object2['ready_guild_presences_size'] = this.readyProperties.guild_presences_size;
object2['ready_guild_roles_size'] = this.readyProperties.guild_roles_size;
object2['ready_guild_emojis_size'] = this.readyProperties.guild_emojis_size;
object2['ready_guild_remaining_data_size'] = this.readyProperties.guild_remaining_data_size;
object2['ready_guild_threads_size'] = this.readyProperties.guild_threads_size;
object2['ready_guild_stickers_size'] = this.readyProperties.guild_stickers_size;
object2['ready_guild_events_size'] = this.readyProperties.guild_events_size;
object2['ready_guild_features_size'] = this.readyProperties.guild_features_size;
object2['ready_size_metrics_duration_ms'] = this.readyProperties.size_metrics_duration_ms;
object2['had_cache_at_startup'] = this.readyProperties.had_cache_at_startup;
const used_cache_at_startup = this.readyProperties.used_cache_at_startup;
object2['used_cache_at_startup'] = used_cache_at_startup;
object2['was_authenticated'] = this.wasAuthenticated;
object2['did_background_app'] = this.didBackgroundApp;
object2['interstitial'] = this.interstitial;
object2['message_cache_missing_reason'] = this.messageCacheMissingReason;
object2['message_cache_age_seconds'] = this.messageCacheAgeSeconds;
object2['message_cache_count'] = this.messageCacheCount;
object2['message_cache_having_count'] = this.messageCacheHavingCount;
object2['message_cache_missing_count'] = this.messageCacheMissingCount;
object2['message_render_full_count'] = this.messageRenderFullCount;
object2['message_render_cached_count'] = this.messageRenderCachedCount;
object2['message_render_has_more_after'] = this.messageRenderHasMoreAfter;
object2['duration_major_js_imports'] = this.loadImports.end - this.loadIndex.start + value8;
let Math = global.Math;
const max = Math.max;
const earlyCacheInfo = this.earlyCacheInfo;
const r3 = (earlyCacheInfo == null ? value3 : earlyCacheInfo.guilds) ?? value4;
let lazyCacheInfo = this.lazyCacheInfo;
object2['cache_num_guilds'] = Reflect.apply(max, Math, [r3,
(lazyCacheInfo == null ? value3 : lazyCacheInfo.guilds) ?? value4]);
lazyCacheInfo = this.lazyCacheInfo;
object2['cache_num_private_channels'] = lazyCacheInfo == null ? value3 : lazyCacheInfo.privateChannels;
lazyCacheInfo = this.lazyCacheInfo;
object2['cache_num_basic_channels'] = lazyCacheInfo == null ? value3 : lazyCacheInfo.basicChannels;
lazyCacheInfo = this.lazyCacheInfo;
object2['cache_num_basic_channels_stale'] = lazyCacheInfo == null ? value3 : lazyCacheInfo.basicChannelsStale;
lazyCacheInfo = this.lazyCacheInfo;
object2['cache_num_full_channels'] = lazyCacheInfo == null ? value3 : lazyCacheInfo.fullChannels;
lazyCacheInfo = this.lazyCacheInfo;
object2['cache_num_full_channel_guilds'] = lazyCacheInfo == null ? value3 : lazyCacheInfo.fullChannelGuilds;
object2['num_imports_at_load_index_end'] = this.loadIndex.endNumImports;
object2['num_imports_at_init_end'] = this.init.endNumImports;
object2['num_imports_at_load_mini_cache_end'] = this.loadMiniCache.endNumImports;
object2['num_imports_at_render_app_start'] = this.renderApp.numImports;
object2['num_imports_at_render_app_effect_start'] = this.renderAppEffect.numImports;
object2['num_imports_at_render_messages_end'] = this.renderMessages.numImports;
object2['num_imports_at_render_messages_with_cache_end'] = this.renderMessagesWithCache.numImports;
object2['num_imports_at_render_latest_messages_end'] = this.renderLatestMessages.numImports;
object2['num_imports_at_load_lazy_cache_start'] = this.loadLazyCache.startNumImports;
object2['num_imports_at_load_lazy_cache_end'] = this.loadLazyCache.endNumImports;
object2['num_imports_at_ready_start'] = this.ready.startNumImports;
object2['num_imports_at_ready_end'] = this.ready.endNumImports;
object2['num_imports_at_ready_supplemental_start'] = this.readySupplemental.startNumImports;
object2['num_imports_at_ready_supplemental_end'] = this.readySupplemental.endNumImports;
Math = global.Math;
object2['duration_imports_at_load_index_start'] = Math.ceil(this.loadIndex.startImportTime);
Math = global.Math;
object2['duration_imports_at_load_index_end'] = Math.ceil(this.loadIndex.endImportTime);
Math = global.Math;
object2['duration_imports_at_init_end'] = Math.ceil(this.init.endImportTime);
Math = global.Math;
object2['duration_imports_at_load_mini_cache_end'] = Math.ceil(this.loadMiniCache.endImportTime);
Math = global.Math;
object2['duration_imports_at_render_app_start'] = Math.ceil(this.renderApp.importTime);
Math = global.Math;
object2['duration_imports_at_render_app_effect_start'] = Math.ceil(this.renderAppEffect.importTime);
Math = global.Math;
object2['duration_imports_at_render_messages_end'] = Math.ceil(this.renderMessages.importTime);
Math = global.Math;
object2['duration_imports_at_render_messages_with_cache_end'] = Math.ceil(this.renderMessagesWithCache.importTime);
Math = global.Math;
object2['duration_imports_at_render_latest_messages_end'] = Math.ceil(this.renderLatestMessages.importTime);
Math = global.Math;
object2['duration_imports_at_load_lazy_cache_start'] = Math.ceil(this.loadLazyCache.startImportTime);
Math = global.Math;
object2['duration_imports_at_load_lazy_cache_end'] = Math.ceil(this.loadLazyCache.endImportTime);
Math = global.Math;
object2['duration_imports_at_ready_start'] = Math.ceil(this.ready.startImportTime);
Math = global.Math;
object2['duration_imports_at_ready_end'] = Math.ceil(this.ready.endImportTime);
Math = global.Math;
object2['duration_imports_at_ready_supplemental_start'] = Math.ceil(this.readySupplemental.startImportTime);
Math = global.Math;
object2['duration_imports_at_ready_supplemental_end'] = Math.ceil(this.readySupplemental.endImportTime);
Math = global.Math;
object2['duration_imports_at_polyfills_end'] = Math.ceil(this.imports.polyfillsEnd.time);
Math = global.Math;
object2['duration_imports_at_sentry_end'] = Math.ceil(this.imports.sentryEnd.time);
Math = global.Math;
object2['duration_imports_at_fast_connect_start'] = Math.ceil(this.beginFastConnect.startImportTime);
Math = global.Math;
object2['duration_imports_at_fast_connect_end'] = Math.ceil(this.beginFastConnect.endImportTime);
Math = global.Math;
object2['duration_imports_at_app_state_change_start'] = Math.ceil(this.imports.appStateChangeStart.time);
Math = global.Math;
object2['duration_imports_at_app_state_change_end'] = Math.ceil(this.imports.appStateChangeEnd.time);
Math = global.Math;
object2['duration_imports_at_load_mini_cache_start'] = Math.ceil(this.imports.loadMiniCacheStart.time);
Math = global.Math;
object2['duration_imports_at_load_storage_start'] = Math.ceil(this.imports.loadStorageStart.time);
Math = global.Math;
object2['duration_imports_at_load_storage_end'] = Math.ceil(this.imports.loadStorageEnd.time);
return object2;
}
function value_229LoggerCallback() { // fn#230, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:5586, owner: value_229.loggerCallback, offset: 0x00c3b9bd, size: 35 bytes, params: 1, frame: 10
var environment;
let value = env0_0();
if (value === true) {
value = environment.__proto__.__proto__;
loggerCallback_body = function() {
return false;
};
}
}
function _fun242(a0) { // fn#242, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:7491, offset: 0x00c3bdb3, size: 39 bytes, params: 2, frame: 12
return env0_0.cachedMessageIds?.includes(a0);
}