/* Metro module 11342; source: modules/messages/native/renderer/ChatManager.tsx; dependencies: [6, 7, 8178, 11343, 644, 2] */ function _fun86712(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#86712, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11528:6, offset: 0x01f9d56e, size: 238 bytes, params: 8, frame: 19 const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_2 = importDefault(6) /* metro dependency 6 */; const env0_3 = importDefault(7) /* metro dependency 7 */; let value = require(8178) /* metro dependency 8178: RowGeneratorConstants */; const env0_4 = value.Changeset; const env0_5 = value.RowType; value = _fun86713(); (require(2) /* metro dependency 2 */).fileFinishedImporting('modules/messages/native/renderer/ChatManager.tsx'); exports.default = value; exports.MockChatManager = {determineChangeType: function() { return Changeset.NOOP; }, determineChangeTypeForUploadProgress: function() { return Changeset.NOOP; }, determineChangeTypeForEmbeddedActivity: function() { return Changeset.NOOP; }, getBlocked: function() { return false; }, getIgnored: function() { return false; }}; } function _fun86713() { // fn#86713, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11528:154, offset: 0x01f9d65c, size: 367 bytes, params: 1, frame: 15 return env0_3(ChatManager, [{key: 'getPreviousMessages', value: function() { return this._messages; }}, {key: 'getPreviousRows', value: function() { return this._rows; }}, {key: 'getBlocked', value: function(a0) { if (this._messages == null) { return false; } var property = global.Array; if (property.isArray(this._messages)) { return false; } property = this._messages._map; property = property[a0.id]; return property != null && !(property.blocked || !a0.blocked); }}, {key: 'getIgnored', value: function(a0) { if (this._messages == null) { return false; } var property = global.Array; if (property.isArray(this._messages)) { return false; } property = this._messages._map; property = property[a0.id]; return property != null && !(property.ignored || !a0.ignored); }}, {key: 'clear', value: function() { this._messages = null; this._rows = []; this.embeddedActivities = {}; }}, {key: 'finishUpdate', value: function(a0, a1) { this._messages = a0; this._rows = a1; }}, {key: 'getLastRow', value: function() { var r0; var property; var value = null; if (value != this.rows) { if (this.rows.length > 0) { property = this.rows; property = property[this.rows.length - 1]; r0 = property; } else { r0 = value; } } else { r0 = value; } return r0; }}, {key: 'setup', value: function(a0) { this.messages = a0; this.rows = []; this.rowIndex = 0; var property = this._messages; var value = undefined; this.maybeRemove = (property == null ? value : property.length) === this.messages.length; return value; }}, {key: 'determineChangeTypeForUploadProgress', value: value_86723}, {key: 'determineChangeTypeForEmbeddedActivity', value: function(a0) { var value2 = importDefault(dependencyMap[3])(a0); var property = this.embeddedActivities[value2]; this.embeddedActivities[value2] = a0; return property != null ? Changeset.UPDATE : Changeset.INSERT; }}, {key: 'determineChangeType', value: value_86725}, {key: 'createRow', value: value_86726}, {key: 'createChangeset', value: value_86727}]); } function ChatManager() { // fn#86714, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11528:175, offset: 0x01f9d7cb, size: 93 bytes, params: 1, frame: 13 env1_2(this, ChatManager); this._messages = null; this._rows = []; this.messages = null; this.rows = []; this.rowIndex = 0; this.maybeRemove = false; this.uploadProgressIds = {}; this.embeddedActivities = {}; } function value_86723(a0) { // fn#86723, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11528:1351, offset: 0x01f9d9d5, size: 200 bytes, params: 2, frame: 9 var length; var r1; var r0; var value; var items2; const property = this.uploadProgressIds[a0.id]; if (property != null) { items2 = property.items; value = undefined; length = items2 == null ? value : items2.length; items2 = a0.items; if (length !== (items2 == null ? value : items2.length)) { this.uploadProgressIds[a0.id] = a0; value = environment.__proto__; r1 = Changeset.UPDATE; } else if (property.compressionProgress !== a0.compressionProgress) { this.uploadProgressIds[a0.id] = a0; value = environment.__proto__; r1 = Changeset.UPDATE; } else if (property.progress !== a0.progress) { this.uploadProgressIds[a0.id] = a0; value = environment.__proto__; r1 = Changeset.UPDATE; } else if (property.currentSize !== a0.currentSize) { this.uploadProgressIds[a0.id] = a0; value = environment.__proto__; r1 = Changeset.UPDATE; } else { value = environment.__proto__; r1 = Changeset.NOOP; } r0 = r1; } else { this.uploadProgressIds[a0.id] = a0; value = environment.__proto__; r0 = Changeset.INSERT; } return r0; } function value_86725({message, updateMessageIds, forceRender}) { // fn#86725, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11528:1894, offset: 0x01f9daf3, size: 360 bytes, params: 2, frame: 19 let value = a1; const r6 = value !== undefined ? value : false; if (this._messages == null) { value = environment.__proto__; return Changeset.NOOP; } const Array = global.Array; if (Array.isArray(this._messages)) { value = environment.__proto__; return Changeset.NOOP; } if (this._messages._map == null) { value = environment.__proto__; return Changeset.NOOP; } const property = this._messages._map[message.id]; return property != null || message.nonce == null ? property == null ? Changeset.INSERT : r6 && property.blocked ? message.blocked ? forceRender ? Changeset.UPDATE : updateMessageIds == null ? (importDefault(644) /* metro dependency 644 */)(property, message) ? Changeset.NOOP : Changeset.UPDATE : updateMessageIds.has(message.id) ? Changeset.UPDATE : (importDefault(644) /* metro dependency 644 */)(property, message) ? Changeset.NOOP : Changeset.UPDATE : Changeset.INSERT : forceRender ? Changeset.UPDATE : updateMessageIds == null ? (importDefault(644) /* metro dependency 644 */)(property, message) ? Changeset.NOOP : Changeset.UPDATE : updateMessageIds.has(message.id) ? Changeset.UPDATE : (importDefault(644) /* metro dependency 644 */)(property, message) ? Changeset.NOOP : Changeset.UPDATE : this._messages._map[message.nonce] != null ? Changeset.UPDATE : this._messages._map[message.nonce] == null ? Changeset.INSERT : r6 && this._messages._map[message.nonce].blocked ? message.blocked ? forceRender ? Changeset.UPDATE : updateMessageIds == null ? (importDefault(644) /* metro dependency 644 */)(this._messages._map[message.nonce], message) ? Changeset.NOOP : Changeset.UPDATE : updateMessageIds.has(message.id) ? Changeset.UPDATE : (importDefault(644) /* metro dependency 644 */)(this._messages._map[message.nonce], message) ? Changeset.NOOP : Changeset.UPDATE : Changeset.INSERT : forceRender ? Changeset.UPDATE : updateMessageIds == null ? (importDefault(644) /* metro dependency 644 */)(this._messages._map[message.nonce], message) ? Changeset.NOOP : Changeset.UPDATE : updateMessageIds.has(message.id) ? Changeset.UPDATE : (importDefault(644) /* metro dependency 644 */)(this._messages._map[message.nonce], message) ? Changeset.NOOP : Changeset.UPDATE; } function value_86726(a0) { // fn#86726, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11528:2323, offset: 0x01f9dc5b, size: 85 bytes, params: 2, frame: 12 var rowIndex; const type = a0.type; let value = environment.__proto__; const MESSAGE = RowType.MESSAGE; if (type !== MESSAGE) { rowIndex = this.rowIndex; value = typeof rowIndex === 'bigint' ? rowIndex : +rowIndex; this.rowIndex = typeof value === 'bigint' ? value + 1n : +value + 1; a0.index = value; this.rows.push(a0); return a0; } if (a0.message != null) { rowIndex = this.rowIndex; value = typeof rowIndex === 'bigint' ? rowIndex : +rowIndex; this.rowIndex = typeof value === 'bigint' ? value + 1n : +value + 1; a0.index = value; this.rows.push(a0); return a0; } } function value_86727() { // fn#86727, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11528:2456, offset: 0x01f9dcb0, size: 1280 bytes, params: 1, frame: 41 var environment; var r6; var r7; var r8; var isFirst; var isFirst2; var r25; var r14; var r18; var r19; var r0; var _rows; var length; var value; var value2; var rows; var push; var value3; var REMOVE; var value4; var value5; var property; var value6; var INSERT; var value7; var property2; var changeType; var value8; var NOOP; var UPDATE; var value9; var type; var type2; var SEPARATOR; var id; var id2; var LOADING; var id3; var MESSAGE; var message; var id4; var nonce; var text; var text2; var isLoading; var isLoading2; var BLOCKED_GROUP; var IGNORED_GROUP; var text3; var revealed; var revealed2; var separatorBefore; var separatorBefore2; var maybeRemove; var isFirst3; var value10; var value11; var value12; var value13; var value14; var value15; var value16; var value17; const items2 = []; if (this._messages == null) { r0 = this.rows; } else { _rows = this._rows; length = _rows.length; value = 0; value2 = undefined; if (value < length) { r6 = value; r7 = value; r8 = value; reducibleLoop3: while (true) { rows = this.rows; length = rows.length; if (r8 !== length) { if (r6 !== this._rows.length) { property = this._rows[r6]; property2 = this.rows[r8]; changeType = property2.changeType; value8 = environment.__proto__; NOOP = Changeset.NOOP; reducibleJoin47: while (true) { reducibleJoin46: while (true) { if (NOOP === changeType) { type = property2.type; type2 = property.type; if (type === type2) { type = property2.type; SEPARATOR = RowType.SEPARATOR; if (type === SEPARATOR) { id = property2.id; id2 = property.id; if (id !== id2) { items2.push({changeType: Changeset.REMOVE, index: r8 + r7}); if (r8 + r7 > value) { property = items2[r8 + r7 - 1]; value14 = property.changeType !== Changeset.NOOP; reducibleJoin42: while (true) { if (value14) { r25 = value14; break reducibleJoin42; } type = property.type; MESSAGE = RowType.MESSAGE; value15 = type !== MESSAGE; r25 = value15; break reducibleJoin42; } reducibleJoin44: while (true) { if (r25) { break reducibleJoin44; } maybeRemove = this.maybeRemove; r25 = maybeRemove; break reducibleJoin44; } if (r25) { break reducibleJoin46; } property.changeType = Changeset.UPDATE; break reducibleJoin46; } break reducibleJoin46; } } type = property2.type; LOADING = RowType.LOADING; if (type === LOADING) { id = property2.id; id3 = property.id; if (id !== id3) { items2.push({changeType: Changeset.REMOVE, index: r8 + r7}); if (r8 + r7 > value) { property = items2[r8 + r7 - 1]; value14 = property.changeType !== Changeset.NOOP; reducibleJoin42: while (true) { if (value14) { r25 = value14; break reducibleJoin42; } type = property.type; MESSAGE = RowType.MESSAGE; value15 = type !== MESSAGE; r25 = value15; break reducibleJoin42; } reducibleJoin44: while (true) { if (r25) { break reducibleJoin44; } maybeRemove = this.maybeRemove; r25 = maybeRemove; break reducibleJoin44; } if (r25) { break reducibleJoin46; } property.changeType = Changeset.UPDATE; break reducibleJoin46; } break reducibleJoin46; } } type = property2.type; MESSAGE = RowType.MESSAGE; if (type === MESSAGE) { message = property2.message; if (message != null) { message = property.message; if (message != null) { message = property2.message; id = message.id; message = property.message; id4 = message.id; if (id !== id4) { message = property2.message; nonce = message.nonce; message = property.message; id = message.id; if (nonce !== id) { items2.push({changeType: Changeset.REMOVE, index: r8 + r7}); if (r8 + r7 > value) { property = items2[r8 + r7 - 1]; value14 = property.changeType !== Changeset.NOOP; reducibleJoin42: while (true) { if (value14) { r25 = value14; break reducibleJoin42; } type = property.type; MESSAGE = RowType.MESSAGE; value15 = type !== MESSAGE; r25 = value15; break reducibleJoin42; } reducibleJoin44: while (true) { if (r25) { break reducibleJoin44; } maybeRemove = this.maybeRemove; r25 = maybeRemove; break reducibleJoin44; } if (r25) { break reducibleJoin46; } property.changeType = Changeset.UPDATE; break reducibleJoin46; } break reducibleJoin46; } } } } } changeType = property2.changeType; NOOP = Changeset.NOOP; if (changeType === NOOP) { type = property2.type; SEPARATOR = RowType.SEPARATOR; if (type === SEPARATOR) { text = property2.text; text2 = property.text; if (text !== text2) { property2.changeType = Changeset.UPDATE; property2.index = r8 + r7; items2.push(property2); value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r18 = value12; r19 = r7; break reducibleJoin47; } } type = property2.type; LOADING = RowType.LOADING; if (type === LOADING) { isLoading = property2.isLoading; isLoading2 = property.isLoading; if (isLoading !== isLoading2) { property2.changeType = Changeset.UPDATE; property2.index = r8 + r7; items2.push(property2); value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r18 = value12; r19 = r7; break reducibleJoin47; } } type = property2.type; BLOCKED_GROUP = RowType.BLOCKED_GROUP; if (type !== BLOCKED_GROUP) { type = property2.type; IGNORED_GROUP = RowType.IGNORED_GROUP; if (type !== IGNORED_GROUP) { type = property2.type; MESSAGE = RowType.MESSAGE; if (type === MESSAGE) { separatorBefore = property2.separatorBefore; separatorBefore2 = property.separatorBefore; if (separatorBefore !== separatorBefore2) { maybeRemove = this.maybeRemove; if (!maybeRemove) { property2.changeType = Changeset.UPDATE; property2.index = r8 + r7; items2.push(property2); value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r18 = value12; r19 = r7; break reducibleJoin47; } } } message = property2.message; reducibleJoin34: while (true) { if (message == null) { isFirst = value2; break reducibleJoin34; } isFirst = message.isFirst; break reducibleJoin34; } message = property.message; reducibleJoin36: while (true) { if (message == null) { isFirst2 = value2; break reducibleJoin36; } isFirst3 = message.isFirst; isFirst2 = isFirst3; break reducibleJoin36; } if (isFirst !== isFirst2) { property2.changeType = Changeset.UPDATE; property2.index = r8 + r7; items2.push(property2); value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r18 = value12; r19 = r7; break reducibleJoin47; } property2.index = r8 + r7; items2.push(property2); value10 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r18 = value10; r19 = r7; break reducibleJoin47; } } text = property2.text; text3 = property.text; if (text === text3) { revealed = property2.revealed; revealed2 = property.revealed; if (revealed === revealed2) { type = property2.type; MESSAGE = RowType.MESSAGE; if (type === MESSAGE) { separatorBefore = property2.separatorBefore; separatorBefore2 = property.separatorBefore; if (separatorBefore !== separatorBefore2) { maybeRemove = this.maybeRemove; if (!maybeRemove) { property2.changeType = Changeset.UPDATE; property2.index = r8 + r7; items2.push(property2); value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r18 = value12; r19 = r7; break reducibleJoin47; } } } message = property2.message; reducibleJoin34: while (true) { if (message == null) { isFirst = value2; break reducibleJoin34; } isFirst = message.isFirst; break reducibleJoin34; } message = property.message; reducibleJoin36: while (true) { if (message == null) { isFirst2 = value2; break reducibleJoin36; } isFirst3 = message.isFirst; isFirst2 = isFirst3; break reducibleJoin36; } if (isFirst === isFirst2) { property2.index = r8 + r7; items2.push(property2); value10 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r18 = value10; r19 = r7; break reducibleJoin47; } } } property2.changeType = Changeset.UPDATE; property2.index = r8 + r7; items2.push(property2); value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; value13 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r14 = value13; r18 = value12; r19 = r7; break reducibleJoin47; } property2.index = r8 + r7; items2.push(property2); value10 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; value11 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r14 = value11; r18 = value10; r19 = r7; break reducibleJoin47; } push = items2.push; REMOVE = Changeset.REMOVE; Reflect.apply(push, items2, [{changeType: REMOVE, index: r8 + r7}]); if (r8 + r7 > value) { property = items2[r8 + r7 - 1]; changeType = property.changeType; NOOP = Changeset.NOOP; value14 = changeType !== NOOP; reducibleJoin42: while (true) { if (value14) { r25 = value14; break reducibleJoin42; } type = property.type; MESSAGE = RowType.MESSAGE; value15 = type !== MESSAGE; r25 = value15; break reducibleJoin42; } reducibleJoin44: while (true) { if (r25) { break reducibleJoin44; } maybeRemove = this.maybeRemove; r25 = maybeRemove; break reducibleJoin44; } if (r25) { break reducibleJoin46; } property.changeType = Changeset.UPDATE; break reducibleJoin46; } break reducibleJoin46; } UPDATE = Changeset.UPDATE; if (UPDATE === changeType) { type = property2.type; type2 = property.type; if (type === type2) { type = property2.type; SEPARATOR = RowType.SEPARATOR; if (type === SEPARATOR) { id = property2.id; id2 = property.id; if (id !== id2) { items2.push({changeType: Changeset.REMOVE, index: r8 + r7}); if (r8 + r7 > value) { property = items2[r8 + r7 - 1]; value14 = property.changeType !== Changeset.NOOP; reducibleJoin42: while (true) { if (value14) { r25 = value14; break reducibleJoin42; } type = property.type; MESSAGE = RowType.MESSAGE; value15 = type !== MESSAGE; r25 = value15; break reducibleJoin42; } reducibleJoin44: while (true) { if (r25) { break reducibleJoin44; } maybeRemove = this.maybeRemove; r25 = maybeRemove; break reducibleJoin44; } if (r25) { break reducibleJoin46; } UPDATE = Changeset.UPDATE; property.changeType = UPDATE; break reducibleJoin46; } break reducibleJoin46; } } type = property2.type; LOADING = RowType.LOADING; if (type === LOADING) { id = property2.id; id3 = property.id; if (id !== id3) { items2.push({changeType: Changeset.REMOVE, index: r8 + r7}); if (r8 + r7 > value) { property = items2[r8 + r7 - 1]; value14 = property.changeType !== Changeset.NOOP; reducibleJoin42: while (true) { if (value14) { r25 = value14; break reducibleJoin42; } type = property.type; MESSAGE = RowType.MESSAGE; value15 = type !== MESSAGE; r25 = value15; break reducibleJoin42; } reducibleJoin44: while (true) { if (r25) { break reducibleJoin44; } maybeRemove = this.maybeRemove; r25 = maybeRemove; break reducibleJoin44; } if (r25) { break reducibleJoin46; } UPDATE = Changeset.UPDATE; property.changeType = UPDATE; break reducibleJoin46; } break reducibleJoin46; } } type = property2.type; MESSAGE = RowType.MESSAGE; if (type === MESSAGE) { message = property2.message; if (message != null) { message = property.message; if (message != null) { message = property2.message; id = message.id; message = property.message; id4 = message.id; if (id !== id4) { message = property2.message; nonce = message.nonce; message = property.message; id = message.id; if (nonce !== id) { items2.push({changeType: Changeset.REMOVE, index: r8 + r7}); if (r8 + r7 > value) { property = items2[r8 + r7 - 1]; value14 = property.changeType !== Changeset.NOOP; reducibleJoin42: while (true) { if (value14) { r25 = value14; break reducibleJoin42; } type = property.type; MESSAGE = RowType.MESSAGE; value15 = type !== MESSAGE; r25 = value15; break reducibleJoin42; } reducibleJoin44: while (true) { if (r25) { break reducibleJoin44; } maybeRemove = this.maybeRemove; r25 = maybeRemove; break reducibleJoin44; } if (r25) { break reducibleJoin46; } UPDATE = Changeset.UPDATE; property.changeType = UPDATE; break reducibleJoin46; } break reducibleJoin46; } } } } } changeType = property2.changeType; NOOP = Changeset.NOOP; if (changeType === NOOP) { type = property2.type; SEPARATOR = RowType.SEPARATOR; if (type === SEPARATOR) { text = property2.text; text2 = property.text; if (text !== text2) { property2.changeType = Changeset.UPDATE; property2.index = r8 + r7; items2.push(property2); value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r18 = value12; r19 = r7; break reducibleJoin47; } } type = property2.type; LOADING = RowType.LOADING; if (type === LOADING) { isLoading = property2.isLoading; isLoading2 = property.isLoading; if (isLoading !== isLoading2) { property2.changeType = Changeset.UPDATE; property2.index = r8 + r7; items2.push(property2); value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r18 = value12; r19 = r7; break reducibleJoin47; } } type = property2.type; BLOCKED_GROUP = RowType.BLOCKED_GROUP; if (type !== BLOCKED_GROUP) { type = property2.type; IGNORED_GROUP = RowType.IGNORED_GROUP; if (type !== IGNORED_GROUP) { type = property2.type; MESSAGE = RowType.MESSAGE; if (type === MESSAGE) { separatorBefore = property2.separatorBefore; separatorBefore2 = property.separatorBefore; if (separatorBefore !== separatorBefore2) { maybeRemove = this.maybeRemove; if (!maybeRemove) { property2.changeType = Changeset.UPDATE; property2.index = r8 + r7; items2.push(property2); value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r18 = value12; r19 = r7; break reducibleJoin47; } } } message = property2.message; reducibleJoin34: while (true) { if (message == null) { isFirst = value2; break reducibleJoin34; } isFirst = message.isFirst; break reducibleJoin34; } message = property.message; reducibleJoin36: while (true) { if (message == null) { isFirst2 = value2; break reducibleJoin36; } isFirst3 = message.isFirst; isFirst2 = isFirst3; break reducibleJoin36; } if (isFirst !== isFirst2) { property2.changeType = Changeset.UPDATE; property2.index = r8 + r7; items2.push(property2); value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r18 = value12; r19 = r7; break reducibleJoin47; } property2.index = r8 + r7; items2.push(property2); value10 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r18 = value10; r19 = r7; break reducibleJoin47; } } text = property2.text; text3 = property.text; if (text === text3) { revealed = property2.revealed; revealed2 = property.revealed; if (revealed === revealed2) { type = property2.type; MESSAGE = RowType.MESSAGE; if (type === MESSAGE) { separatorBefore = property2.separatorBefore; separatorBefore2 = property.separatorBefore; if (separatorBefore !== separatorBefore2) { maybeRemove = this.maybeRemove; if (!maybeRemove) { property2.changeType = Changeset.UPDATE; property2.index = r8 + r7; items2.push(property2); value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r18 = value12; r19 = r7; break reducibleJoin47; } } } message = property2.message; reducibleJoin34: while (true) { if (message == null) { isFirst = value2; break reducibleJoin34; } isFirst = message.isFirst; break reducibleJoin34; } message = property.message; reducibleJoin36: while (true) { if (message == null) { isFirst2 = value2; break reducibleJoin36; } isFirst3 = message.isFirst; isFirst2 = isFirst3; break reducibleJoin36; } if (isFirst === isFirst2) { property2.index = r8 + r7; items2.push(property2); value10 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r18 = value10; r19 = r7; break reducibleJoin47; } } } UPDATE = Changeset.UPDATE; property2.changeType = UPDATE; property2.index = r8 + r7; items2.push(property2); value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; value13 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r14 = value13; r18 = value12; r19 = r7; break reducibleJoin47; } property2.index = r8 + r7; items2.push(property2); value10 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; value11 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r14 = value11; r18 = value10; r19 = r7; break reducibleJoin47; } push = items2.push; REMOVE = Changeset.REMOVE; Reflect.apply(push, items2, [{changeType: REMOVE, index: r8 + r7}]); if (r8 + r7 > value) { property = items2[r8 + r7 - 1]; changeType = property.changeType; NOOP = Changeset.NOOP; value14 = changeType !== NOOP; reducibleJoin42: while (true) { if (value14) { r25 = value14; break reducibleJoin42; } type = property.type; MESSAGE = RowType.MESSAGE; value15 = type !== MESSAGE; r25 = value15; break reducibleJoin42; } reducibleJoin44: while (true) { if (r25) { break reducibleJoin44; } maybeRemove = this.maybeRemove; r25 = maybeRemove; break reducibleJoin44; } if (r25) { break reducibleJoin46; } UPDATE = Changeset.UPDATE; property.changeType = UPDATE; break reducibleJoin46; } break reducibleJoin46; } Changeset.INSERT; property2.index = r8 + r7; push = items2.push; Reflect.apply(push, items2, [property2]); value9 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r14 = value9; r18 = r6; r19 = r7; break reducibleJoin47; } value16 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; value17 = typeof r7 === 'bigint' ? r7 + 1n : +r7 + 1; r14 = r8; r18 = value16; r19 = value17; break reducibleJoin47; } } else { property = this.rows[r8]; value6 = environment.__proto__; INSERT = Changeset.INSERT; property.changeType = INSERT; property.index = r8 + r7; push = items2.push; Reflect.apply(push, items2, [property]); value7 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r14 = value7; r18 = r6; r19 = r7; } } else { push = items2.push; value3 = environment.__proto__; REMOVE = Changeset.REMOVE; Reflect.apply(push, items2, [{changeType: REMOVE, index: r8 + r7}]); value4 = typeof r7 === 'bigint' ? r7 + 1n : +r7 + 1; value5 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; r14 = r8; r18 = value5; r19 = value4; } _rows = this._rows; length = _rows.length; reducibleJoin48: while (true) { if (r18 < length) { r6 = r18; r7 = r19; r8 = r14; continue reducibleLoop3; } break reducibleJoin48; } rows = this.rows; length = rows.length; if (r14 < length) { r6 = r18; r7 = r19; r8 = r14; continue reducibleLoop3; } break reducibleLoop3; } } else { rows = this.rows; length = rows.length; if (value < length) { r6 = value; r7 = value; r8 = value; reducibleLoop3: while (true) { rows = this.rows; length = rows.length; if (r8 !== length) { if (r6 !== this._rows.length) { property = this._rows[r6]; property2 = this.rows[r8]; changeType = property2.changeType; value8 = environment.__proto__; NOOP = Changeset.NOOP; reducibleJoin47: while (true) { reducibleJoin46: while (true) { if (NOOP === changeType) { type = property2.type; type2 = property.type; if (type === type2) { type = property2.type; SEPARATOR = RowType.SEPARATOR; if (type === SEPARATOR) { id = property2.id; id2 = property.id; if (id !== id2) { items2.push({changeType: Changeset.REMOVE, index: r8 + r7}); if (r8 + r7 > value) { property = items2[r8 + r7 - 1]; value14 = property.changeType !== Changeset.NOOP; reducibleJoin42: while (true) { if (value14) { r25 = value14; break reducibleJoin42; } type = property.type; MESSAGE = RowType.MESSAGE; value15 = type !== MESSAGE; r25 = value15; break reducibleJoin42; } reducibleJoin44: while (true) { if (r25) { break reducibleJoin44; } maybeRemove = this.maybeRemove; r25 = maybeRemove; break reducibleJoin44; } if (r25) { break reducibleJoin46; } property.changeType = Changeset.UPDATE; break reducibleJoin46; } break reducibleJoin46; } } type = property2.type; LOADING = RowType.LOADING; if (type === LOADING) { id = property2.id; id3 = property.id; if (id !== id3) { items2.push({changeType: Changeset.REMOVE, index: r8 + r7}); if (r8 + r7 > value) { property = items2[r8 + r7 - 1]; value14 = property.changeType !== Changeset.NOOP; reducibleJoin42: while (true) { if (value14) { r25 = value14; break reducibleJoin42; } type = property.type; MESSAGE = RowType.MESSAGE; value15 = type !== MESSAGE; r25 = value15; break reducibleJoin42; } reducibleJoin44: while (true) { if (r25) { break reducibleJoin44; } maybeRemove = this.maybeRemove; r25 = maybeRemove; break reducibleJoin44; } if (r25) { break reducibleJoin46; } property.changeType = Changeset.UPDATE; break reducibleJoin46; } break reducibleJoin46; } } type = property2.type; MESSAGE = RowType.MESSAGE; if (type === MESSAGE) { message = property2.message; if (message != null) { message = property.message; if (message != null) { message = property2.message; id = message.id; message = property.message; id4 = message.id; if (id !== id4) { message = property2.message; nonce = message.nonce; message = property.message; id = message.id; if (nonce !== id) { items2.push({changeType: Changeset.REMOVE, index: r8 + r7}); if (r8 + r7 > value) { property = items2[r8 + r7 - 1]; value14 = property.changeType !== Changeset.NOOP; reducibleJoin42: while (true) { if (value14) { r25 = value14; break reducibleJoin42; } type = property.type; MESSAGE = RowType.MESSAGE; value15 = type !== MESSAGE; r25 = value15; break reducibleJoin42; } reducibleJoin44: while (true) { if (r25) { break reducibleJoin44; } maybeRemove = this.maybeRemove; r25 = maybeRemove; break reducibleJoin44; } if (r25) { break reducibleJoin46; } property.changeType = Changeset.UPDATE; break reducibleJoin46; } break reducibleJoin46; } } } } } changeType = property2.changeType; NOOP = Changeset.NOOP; if (changeType === NOOP) { type = property2.type; SEPARATOR = RowType.SEPARATOR; if (type === SEPARATOR) { text = property2.text; text2 = property.text; if (text !== text2) { property2.changeType = Changeset.UPDATE; property2.index = r8 + r7; items2.push(property2); value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r18 = value12; r19 = r7; break reducibleJoin47; } } type = property2.type; LOADING = RowType.LOADING; if (type === LOADING) { isLoading = property2.isLoading; isLoading2 = property.isLoading; if (isLoading !== isLoading2) { property2.changeType = Changeset.UPDATE; property2.index = r8 + r7; items2.push(property2); value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r18 = value12; r19 = r7; break reducibleJoin47; } } type = property2.type; BLOCKED_GROUP = RowType.BLOCKED_GROUP; if (type !== BLOCKED_GROUP) { type = property2.type; IGNORED_GROUP = RowType.IGNORED_GROUP; if (type !== IGNORED_GROUP) { type = property2.type; MESSAGE = RowType.MESSAGE; if (type === MESSAGE) { separatorBefore = property2.separatorBefore; separatorBefore2 = property.separatorBefore; if (separatorBefore !== separatorBefore2) { maybeRemove = this.maybeRemove; if (!maybeRemove) { property2.changeType = Changeset.UPDATE; property2.index = r8 + r7; items2.push(property2); value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r18 = value12; r19 = r7; break reducibleJoin47; } } } message = property2.message; reducibleJoin34: while (true) { if (message == null) { isFirst = value2; break reducibleJoin34; } isFirst = message.isFirst; break reducibleJoin34; } message = property.message; reducibleJoin36: while (true) { if (message == null) { isFirst2 = value2; break reducibleJoin36; } isFirst3 = message.isFirst; isFirst2 = isFirst3; break reducibleJoin36; } if (isFirst !== isFirst2) { property2.changeType = Changeset.UPDATE; property2.index = r8 + r7; items2.push(property2); value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r18 = value12; r19 = r7; break reducibleJoin47; } property2.index = r8 + r7; items2.push(property2); value10 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r18 = value10; r19 = r7; break reducibleJoin47; } } text = property2.text; text3 = property.text; if (text === text3) { revealed = property2.revealed; revealed2 = property.revealed; if (revealed === revealed2) { type = property2.type; MESSAGE = RowType.MESSAGE; if (type === MESSAGE) { separatorBefore = property2.separatorBefore; separatorBefore2 = property.separatorBefore; if (separatorBefore !== separatorBefore2) { maybeRemove = this.maybeRemove; if (!maybeRemove) { property2.changeType = Changeset.UPDATE; property2.index = r8 + r7; items2.push(property2); value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r18 = value12; r19 = r7; break reducibleJoin47; } } } message = property2.message; reducibleJoin34: while (true) { if (message == null) { isFirst = value2; break reducibleJoin34; } isFirst = message.isFirst; break reducibleJoin34; } message = property.message; reducibleJoin36: while (true) { if (message == null) { isFirst2 = value2; break reducibleJoin36; } isFirst3 = message.isFirst; isFirst2 = isFirst3; break reducibleJoin36; } if (isFirst === isFirst2) { property2.index = r8 + r7; items2.push(property2); value10 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r18 = value10; r19 = r7; break reducibleJoin47; } } } property2.changeType = Changeset.UPDATE; property2.index = r8 + r7; items2.push(property2); value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; value13 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r14 = value13; r18 = value12; r19 = r7; break reducibleJoin47; } property2.index = r8 + r7; items2.push(property2); value10 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; value11 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r14 = value11; r18 = value10; r19 = r7; break reducibleJoin47; } push = items2.push; REMOVE = Changeset.REMOVE; Reflect.apply(push, items2, [{changeType: REMOVE, index: r8 + r7}]); if (r8 + r7 > value) { property = items2[r8 + r7 - 1]; changeType = property.changeType; NOOP = Changeset.NOOP; value14 = changeType !== NOOP; reducibleJoin42: while (true) { if (value14) { r25 = value14; break reducibleJoin42; } type = property.type; MESSAGE = RowType.MESSAGE; value15 = type !== MESSAGE; r25 = value15; break reducibleJoin42; } reducibleJoin44: while (true) { if (r25) { break reducibleJoin44; } maybeRemove = this.maybeRemove; r25 = maybeRemove; break reducibleJoin44; } if (r25) { break reducibleJoin46; } property.changeType = Changeset.UPDATE; break reducibleJoin46; } break reducibleJoin46; } UPDATE = Changeset.UPDATE; if (UPDATE === changeType) { type = property2.type; type2 = property.type; if (type === type2) { type = property2.type; SEPARATOR = RowType.SEPARATOR; if (type === SEPARATOR) { id = property2.id; id2 = property.id; if (id !== id2) { items2.push({changeType: Changeset.REMOVE, index: r8 + r7}); if (r8 + r7 > value) { property = items2[r8 + r7 - 1]; value14 = property.changeType !== Changeset.NOOP; reducibleJoin42: while (true) { if (value14) { r25 = value14; break reducibleJoin42; } type = property.type; MESSAGE = RowType.MESSAGE; value15 = type !== MESSAGE; r25 = value15; break reducibleJoin42; } reducibleJoin44: while (true) { if (r25) { break reducibleJoin44; } maybeRemove = this.maybeRemove; r25 = maybeRemove; break reducibleJoin44; } if (r25) { break reducibleJoin46; } UPDATE = Changeset.UPDATE; property.changeType = UPDATE; break reducibleJoin46; } break reducibleJoin46; } } type = property2.type; LOADING = RowType.LOADING; if (type === LOADING) { id = property2.id; id3 = property.id; if (id !== id3) { items2.push({changeType: Changeset.REMOVE, index: r8 + r7}); if (r8 + r7 > value) { property = items2[r8 + r7 - 1]; value14 = property.changeType !== Changeset.NOOP; reducibleJoin42: while (true) { if (value14) { r25 = value14; break reducibleJoin42; } type = property.type; MESSAGE = RowType.MESSAGE; value15 = type !== MESSAGE; r25 = value15; break reducibleJoin42; } reducibleJoin44: while (true) { if (r25) { break reducibleJoin44; } maybeRemove = this.maybeRemove; r25 = maybeRemove; break reducibleJoin44; } if (r25) { break reducibleJoin46; } UPDATE = Changeset.UPDATE; property.changeType = UPDATE; break reducibleJoin46; } break reducibleJoin46; } } type = property2.type; MESSAGE = RowType.MESSAGE; if (type === MESSAGE) { message = property2.message; if (message != null) { message = property.message; if (message != null) { message = property2.message; id = message.id; message = property.message; id4 = message.id; if (id !== id4) { message = property2.message; nonce = message.nonce; message = property.message; id = message.id; if (nonce !== id) { items2.push({changeType: Changeset.REMOVE, index: r8 + r7}); if (r8 + r7 > value) { property = items2[r8 + r7 - 1]; value14 = property.changeType !== Changeset.NOOP; reducibleJoin42: while (true) { if (value14) { r25 = value14; break reducibleJoin42; } type = property.type; MESSAGE = RowType.MESSAGE; value15 = type !== MESSAGE; r25 = value15; break reducibleJoin42; } reducibleJoin44: while (true) { if (r25) { break reducibleJoin44; } maybeRemove = this.maybeRemove; r25 = maybeRemove; break reducibleJoin44; } if (r25) { break reducibleJoin46; } UPDATE = Changeset.UPDATE; property.changeType = UPDATE; break reducibleJoin46; } break reducibleJoin46; } } } } } changeType = property2.changeType; NOOP = Changeset.NOOP; if (changeType === NOOP) { type = property2.type; SEPARATOR = RowType.SEPARATOR; if (type === SEPARATOR) { text = property2.text; text2 = property.text; if (text !== text2) { property2.changeType = Changeset.UPDATE; property2.index = r8 + r7; items2.push(property2); value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r18 = value12; r19 = r7; break reducibleJoin47; } } type = property2.type; LOADING = RowType.LOADING; if (type === LOADING) { isLoading = property2.isLoading; isLoading2 = property.isLoading; if (isLoading !== isLoading2) { property2.changeType = Changeset.UPDATE; property2.index = r8 + r7; items2.push(property2); value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r18 = value12; r19 = r7; break reducibleJoin47; } } type = property2.type; BLOCKED_GROUP = RowType.BLOCKED_GROUP; if (type !== BLOCKED_GROUP) { type = property2.type; IGNORED_GROUP = RowType.IGNORED_GROUP; if (type !== IGNORED_GROUP) { type = property2.type; MESSAGE = RowType.MESSAGE; if (type === MESSAGE) { separatorBefore = property2.separatorBefore; separatorBefore2 = property.separatorBefore; if (separatorBefore !== separatorBefore2) { maybeRemove = this.maybeRemove; if (!maybeRemove) { property2.changeType = Changeset.UPDATE; property2.index = r8 + r7; items2.push(property2); value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r18 = value12; r19 = r7; break reducibleJoin47; } } } message = property2.message; reducibleJoin34: while (true) { if (message == null) { isFirst = value2; break reducibleJoin34; } isFirst = message.isFirst; break reducibleJoin34; } message = property.message; reducibleJoin36: while (true) { if (message == null) { isFirst2 = value2; break reducibleJoin36; } isFirst3 = message.isFirst; isFirst2 = isFirst3; break reducibleJoin36; } if (isFirst !== isFirst2) { property2.changeType = Changeset.UPDATE; property2.index = r8 + r7; items2.push(property2); value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r18 = value12; r19 = r7; break reducibleJoin47; } property2.index = r8 + r7; items2.push(property2); value10 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r18 = value10; r19 = r7; break reducibleJoin47; } } text = property2.text; text3 = property.text; if (text === text3) { revealed = property2.revealed; revealed2 = property.revealed; if (revealed === revealed2) { type = property2.type; MESSAGE = RowType.MESSAGE; if (type === MESSAGE) { separatorBefore = property2.separatorBefore; separatorBefore2 = property.separatorBefore; if (separatorBefore !== separatorBefore2) { maybeRemove = this.maybeRemove; if (!maybeRemove) { property2.changeType = Changeset.UPDATE; property2.index = r8 + r7; items2.push(property2); value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r18 = value12; r19 = r7; break reducibleJoin47; } } } message = property2.message; reducibleJoin34: while (true) { if (message == null) { isFirst = value2; break reducibleJoin34; } isFirst = message.isFirst; break reducibleJoin34; } message = property.message; reducibleJoin36: while (true) { if (message == null) { isFirst2 = value2; break reducibleJoin36; } isFirst3 = message.isFirst; isFirst2 = isFirst3; break reducibleJoin36; } if (isFirst === isFirst2) { property2.index = r8 + r7; items2.push(property2); value10 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r18 = value10; r19 = r7; break reducibleJoin47; } } } UPDATE = Changeset.UPDATE; property2.changeType = UPDATE; property2.index = r8 + r7; items2.push(property2); value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; value13 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r14 = value13; r18 = value12; r19 = r7; break reducibleJoin47; } property2.index = r8 + r7; items2.push(property2); value10 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; value11 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r14 = value11; r18 = value10; r19 = r7; break reducibleJoin47; } push = items2.push; REMOVE = Changeset.REMOVE; Reflect.apply(push, items2, [{changeType: REMOVE, index: r8 + r7}]); if (r8 + r7 > value) { property = items2[r8 + r7 - 1]; changeType = property.changeType; NOOP = Changeset.NOOP; value14 = changeType !== NOOP; reducibleJoin42: while (true) { if (value14) { r25 = value14; break reducibleJoin42; } type = property.type; MESSAGE = RowType.MESSAGE; value15 = type !== MESSAGE; r25 = value15; break reducibleJoin42; } reducibleJoin44: while (true) { if (r25) { break reducibleJoin44; } maybeRemove = this.maybeRemove; r25 = maybeRemove; break reducibleJoin44; } if (r25) { break reducibleJoin46; } UPDATE = Changeset.UPDATE; property.changeType = UPDATE; break reducibleJoin46; } break reducibleJoin46; } Changeset.INSERT; property2.index = r8 + r7; push = items2.push; Reflect.apply(push, items2, [property2]); value9 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r14 = value9; r18 = r6; r19 = r7; break reducibleJoin47; } value16 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; value17 = typeof r7 === 'bigint' ? r7 + 1n : +r7 + 1; r14 = r8; r18 = value16; r19 = value17; break reducibleJoin47; } } else { property = this.rows[r8]; value6 = environment.__proto__; INSERT = Changeset.INSERT; property.changeType = INSERT; property.index = r8 + r7; push = items2.push; Reflect.apply(push, items2, [property]); value7 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1; r14 = value7; r18 = r6; r19 = r7; } } else { push = items2.push; value3 = environment.__proto__; REMOVE = Changeset.REMOVE; Reflect.apply(push, items2, [{changeType: REMOVE, index: r8 + r7}]); value4 = typeof r7 === 'bigint' ? r7 + 1n : +r7 + 1; value5 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; r14 = r8; r18 = value5; r19 = value4; } _rows = this._rows; length = _rows.length; reducibleJoin48: while (true) { if (r18 < length) { r6 = r18; r7 = r19; r8 = r14; continue reducibleLoop3; } break reducibleJoin48; } rows = this.rows; length = rows.length; if (r14 < length) { r6 = r18; r7 = r19; r8 = r14; continue reducibleLoop3; } break reducibleLoop3; } } } value = items2.filter(function({changeType}) { return changeType !== Changeset.NOOP; }); r0 = value; } this._messages = this.messages; this._rows = this.rows; return r0; }