/* Metro module 4705; source: unknown; dependencies: [6, 7, 4703, 4706, 4712, 4713, 4714, 4715, 4716] */ function _fun40676(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#40676, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4883:6, offset: 0x01107888, size: 1467 bytes, params: 8, frame: 19 const env0_0 = require; const env0_2 = require(6) /* metro dependency 6 */; const env0_3 = require(7) /* metro dependency 7 */; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); exports.FILE_TYPES_REQUIRED_ADDITIONAL_CHECK = undefined; exports.FileTypes = undefined; exports.FILE_TYPES_REQUIRED_ADDITIONAL_CHECK = ['m4v', 'flv', 'mp4', 'mkv', 'webm', 'avif', 'heic']; const value = _fun40677(); exports.FileTypes = value; const AudioTypes = (require(4712) /* metro dependency 4712 */).AudioTypes; const AAC = AudioTypes.AAC; value.AAC = AAC; const AMR = AudioTypes.AMR; value.AMR = AMR; const FLAC = AudioTypes.FLAC; value.FLAC = FLAC; const M4A = AudioTypes.M4A; value.M4A = M4A; const MP3 = AudioTypes.MP3; value.MP3 = MP3; const WAV = AudioTypes.WAV; value.WAV = WAV; const ImageTypes = (require(4713) /* metro dependency 4713 */).ImageTypes; const AVIF = ImageTypes.AVIF; value.AVIF = AVIF; const BMP = ImageTypes.BMP; value.BMP = BMP; const BPG = ImageTypes.BPG; value.BPG = BPG; const CR2 = ImageTypes.CR2; value.CR2 = CR2; const EXR = ImageTypes.EXR; value.EXR = EXR; const GIF = ImageTypes.GIF; value.GIF = GIF; const ICO = ImageTypes.ICO; value.ICO = ICO; const JPEG = ImageTypes.JPEG; value.JPEG = JPEG; const PBM = ImageTypes.PBM; value.PBM = PBM; const PGM = ImageTypes.PGM; value.PGM = PGM; const PNG = ImageTypes.PNG; value.PNG = PNG; const PPM = ImageTypes.PPM; value.PPM = PPM; const PSD = ImageTypes.PSD; value.PSD = PSD; const WEBP = ImageTypes.WEBP; value.WEBP = WEBP; const HEIC = ImageTypes.HEIC; value.HEIC = HEIC; const VideoTypes = (require(4714) /* metro dependency 4714 */).VideoTypes; const AVI = VideoTypes.AVI; value.AVI = AVI; const FLV = VideoTypes.FLV; value.FLV = FLV; const M4V = VideoTypes.M4V; value.M4V = M4V; const MKV = VideoTypes.MKV; value.MKV = MKV; const MOV = VideoTypes.MOV; value.MOV = MOV; const MP4 = VideoTypes.MP4; value.MP4 = MP4; const OGG = VideoTypes.OGG; value.OGG = OGG; const SWF = VideoTypes.SWF; value.SWF = SWF; const WEBM = VideoTypes.WEBM; value.WEBM = WEBM; const CompressedTypes = (require(4715) /* metro dependency 4715 */).CompressedTypes; value._7Z = CompressedTypes._7Z; const LZH = CompressedTypes.LZH; value.LZH = LZH; const RAR = CompressedTypes.RAR; value.RAR = RAR; const ZIP = CompressedTypes.ZIP; value.ZIP = ZIP; const OtherTypes = (require(4716) /* metro dependency 4716 */).OtherTypes; const BLEND = OtherTypes.BLEND; value.BLEND = BLEND; const DOC = OtherTypes.DOC; value.DOC = DOC; const ELF = OtherTypes.ELF; value.ELF = ELF; const EXE = OtherTypes.EXE; value.EXE = EXE; const INDD = OtherTypes.INDD; value.INDD = INDD; const MACHO = OtherTypes.MACHO; value.MACHO = MACHO; const ORC = OtherTypes.ORC; value.ORC = ORC; const PARQUET = OtherTypes.PARQUET; value.PARQUET = PARQUET; const PCAP = OtherTypes.PCAP; value.PCAP = PCAP; const PDF = OtherTypes.PDF; value.PDF = PDF; const PS = OtherTypes.PS; value.PS = PS; const RTF = OtherTypes.RTF; value.RTF = RTF; const SQLITE = OtherTypes.SQLITE; value.SQLITE = SQLITE; const STL = OtherTypes.STL; value.STL = STL; const TTF = OtherTypes.TTF; value.TTF = TTF; } function _fun40677() { // fn#40677, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4883:267, offset: 0x01107e43, size: 175 bytes, params: 1, frame: 16 return env0_3(FileTypes, null, [{key: 'getInfoByName', value: function(a0) { return require(dependencyMap[2]).fetchFromObject(FileTypes, a0.toUpperCase()); }}, {key: 'getSignaturesByName', value: function(a0) { return require(dependencyMap[2]).fetchFromObject(FileTypes, a0.toUpperCase()).signatures; }}, {key: 'detectSignature', value: value_40681}, {key: 'detectTypeByAdditionalCheck', value: value_40682}, {key: 'detectbBySignatures', value: value_40687}, {key: 'checkByFileType', value: value_40688}]); } function value_40681(a0, a1) { // fn#40681, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4883:626, offset: 0x01107f6e, size: 221 bytes, params: 3, frame: 24 var r12; var r10; var r11; var r8; var value2; var offset; var sequence; var length; var value3; var skippedBytes; var includes; var value4; var value5; var property; var value6; var property2; var value7; var value8; var value9; var value10; var value11; var error; const iterator = a1[Symbol.iterator](); const iterator2 = iterator.next; const value = 0; let r2 = iterator; let item2 = Reflect.apply(iterator2, r2, []); let item = item2.value; item2 = item2.done ? undefined : r2; if (item2 === undefined) { return undefined; } reducibleLoop2: while (true) { value2 = true; try { offset = item.offset; } catch (error) { try { item2.return(); } catch { } throw error; } reducibleJoin6: while (true) { if (offset) { r12 = offset; break reducibleJoin6; } r12 = value; break reducibleJoin6; } try { sequence = item.sequence; } catch (error) { try { item2.return(); } catch { } throw error; } try { length = sequence.length; } catch (error) { try { item2.return(); } catch { } throw error; } try { value3 = value < length; } catch (error) { try { item2.return(); } catch { } throw error; } if (value3) { r10 = value; r11 = value; reducibleLoop10: while (true) { try { skippedBytes = item.skippedBytes; } catch (error) { try { item2.return(); } catch { } throw error; } if (skippedBytes) { try { skippedBytes = item.skippedBytes; } catch (error) { try { item2.return(); } catch { } throw error; } try { includes = skippedBytes.includes; } catch (error) { try { item2.return(); } catch { } throw error; } try { value4 = Reflect.apply(includes, skippedBytes, [r11]); } catch (error) { try { item2.return(); } catch { } throw error; } reducibleJoin19: while (true) { if (value4) { try { value9 = typeof r10 === 'bigint' ? r10 + 1n : +r10 + 1; } catch (error) { try { item2.return(); } catch { } throw error; } r10 = value9; try { value10 = typeof r11 === 'bigint' ? r11 + 1n : +r11 + 1; } catch (error) { try { item2.return(); } catch { } throw error; } try { sequence = item.sequence; } catch (error) { try { item2.return(); } catch { } throw error; } try { length = sequence.length; } catch (error) { try { item2.return(); } catch { } throw error; } try { value11 = value10 < length; } catch (error) { try { item2.return(); } catch { } throw error; } if (value11) { r11 = value10; continue reducibleLoop10; } r8 = value2; break reducibleLoop10; } break reducibleJoin19; } } try { value5 = r12 + r11; } catch (error) { try { item2.return(); } catch { } throw error; } try { property = a0[value5]; } catch (error) { try { item2.return(); } catch { } throw error; } try { sequence = item.sequence; } catch (error) { try { item2.return(); } catch { } throw error; } try { value6 = r11 - r10; } catch (error) { try { item2.return(); } catch { } throw error; } try { property2 = sequence[value6]; } catch (error) { try { item2.return(); } catch { } throw error; } try { value7 = property === property2; } catch (error) { try { item2.return(); } catch { } throw error; } if (value7) { try { value10 = typeof r11 === 'bigint' ? r11 + 1n : +r11 + 1; } catch (error) { try { item2.return(); } catch { } throw error; } try { sequence = item.sequence; } catch (error) { try { item2.return(); } catch { } throw error; } try { length = sequence.length; } catch (error) { try { item2.return(); } catch { } throw error; } try { value11 = value10 < length; } catch (error) { try { item2.return(); } catch { } throw error; } if (value11) { r11 = value10; continue reducibleLoop10; } r8 = value2; break reducibleLoop10; } value8 = false; r8 = value8; break reducibleLoop10; } } else { r8 = value2; } if (r8) { item2.return(); return item; } r2 = item2; item2 = Reflect.apply(iterator2, r2, []); item = item2.value; item2 = item2.done ? undefined : r2; if (item2 === undefined) { return undefined; } continue reducibleLoop2; } } function value_40682(a0, a1) { // fn#40682, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4883:884, offset: 0x0110804b, size: 464 bytes, params: 3, frame: 17 var environment; var r0; var r1; var value3; var matroskaDocTypeElements; var value4; const isWEBM = (require(4706) /* metro dependency 4706 */).isWEBM; var includes; var value6; const isHEIC = (require(4706) /* metro dependency 4706 */).isHEIC; const isFLV = (require(4706) /* metro dependency 4706 */).isFLV; const isM4V = (require(4706) /* metro dependency 4706 */).isM4V; var isM4V2; var value8; let value = a1.map(function(a0) { return a0.extension; }); if (value.some(function(a0) { return ['m4v', 'flv', 'mp4', 'heic'].includes(a0); })) { includes = value.includes; value6 = 'heic'; if (Reflect.apply(includes, value, [value6])) { value = environment.__proto__; if (isHEIC(a0)) { r0 = value6; } else { value = environment.__proto__; if (isFLV(a0)) { r1 = 'flv'; } else { isM4V2 = isM4V(a0); value8 = 'mp4'; r1 = isM4V2 ? isHEIC(a0) ? value8 : 'm4v' : value8; } r0 = r1; } } else { value = environment.__proto__; if (isFLV(a0)) { r1 = 'flv'; } else { isM4V2 = isM4V(a0); value8 = 'mp4'; r1 = isM4V2 ? isHEIC(a0) ? value8 : 'm4v' : value8; } r0 = r1; } } else { if (value.some(function(a0) { return ['mkv', 'webm'].includes(a0); })) { value = environment.__proto__; value3 = undefined; matroskaDocTypeElements = (require(4703) /* metro dependency 4703 */).findMatroskaDocTypeElements(a0); value4 = 'mkv'; return value4 !== matroskaDocTypeElements ? matroskaDocTypeElements !== 'webm' ? value3 : isWEBM(a0) ? 'webm' : value3 : (require(4706) /* metro dependency 4706 */).isMKV(a0) ? value4 : matroskaDocTypeElements !== 'webm' ? value3 : isWEBM(a0) ? 'webm' : value3; } value = value.some(function(a0) { return ['avif'].includes(a0); }); r0 = value && (require(4703) /* metro dependency 4703 */).isAvifStringIncluded(a0) ? 'avif' : undefined; } return r0; } function value_40687(a0, a1) { // fn#40687, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4883:1528, offset: 0x01108271, size: 261 bytes, params: 3, frame: 26 var r14; var skippedBytes; var r142; var r9; var r13; var r10; var value3; var offset; var value4; var sequence; var length; var length2; var value5; var value6; var includes; var value7; var value8; var property; var value9; var property2; var value10; var value11; var value12; var value13; var value14; var error; const value = undefined; const iterator = a1[Symbol.iterator](); const iterator2 = iterator.next; const value2 = 0; let r2 = iterator; let item2 = Reflect.apply(iterator2, r2, []); let item = item2.value; item2 = item2.done ? undefined : r2; if (item2 === value) { return value; } reducibleLoop2: while (true) { value3 = true; try { offset = item.offset; } catch (error) { try { item2.return(); } catch { } throw error; } reducibleJoin6: while (true) { if (offset) { r14 = offset; break reducibleJoin6; } r14 = value2; break reducibleJoin6; } try { value4 = item == null; } catch (error) { try { item2.return(); } catch { } throw error; } reducibleJoin11: while (true) { if (value4) { skippedBytes = value; break reducibleJoin11; } try { skippedBytes = item.skippedBytes; } catch (error) { try { item2.return(); } catch { } throw error; } break reducibleJoin11; } try { sequence = item.sequence; } catch (error) { try { item2.return(); } catch { } throw error; } try { length = sequence.length; } catch (error) { try { item2.return(); } catch { } throw error; } if (skippedBytes) { try { skippedBytes = item.skippedBytes; } catch (error) { try { item2.return(); } catch { } throw error; } try { length2 = skippedBytes.length; } catch (error) { try { item2.return(); } catch { } throw error; } try { value5 = length + length2; } catch (error) { try { item2.return(); } catch { } throw error; } r142 = value5; } else { r142 = length; } try { value6 = value2 < r142; } catch (error) { try { item2.return(); } catch { } throw error; } if (value6) { r9 = value2; r13 = value2; reducibleLoop21: while (true) { try { skippedBytes = item.skippedBytes; } catch (error) { try { item2.return(); } catch { } throw error; } if (skippedBytes) { try { skippedBytes = item.skippedBytes; } catch (error) { try { item2.return(); } catch { } throw error; } try { includes = skippedBytes.includes; } catch (error) { try { item2.return(); } catch { } throw error; } try { value7 = Reflect.apply(includes, skippedBytes, [r13]); } catch (error) { try { item2.return(); } catch { } throw error; } reducibleJoin30: while (true) { if (value7) { try { value12 = typeof r9 === 'bigint' ? r9 + 1n : +r9 + 1; } catch (error) { try { item2.return(); } catch { } throw error; } r9 = value12; try { value13 = typeof r13 === 'bigint' ? r13 + 1n : +r13 + 1; } catch (error) { try { item2.return(); } catch { } throw error; } try { value14 = value13 < r142; } catch (error) { try { item2.return(); } catch { } throw error; } if (value14) { r13 = value13; continue reducibleLoop21; } r10 = value3; break reducibleLoop21; } break reducibleJoin30; } } try { value8 = r14 + r13; } catch (error) { try { item2.return(); } catch { } throw error; } try { property = a0[value8]; } catch (error) { try { item2.return(); } catch { } throw error; } try { sequence = item.sequence; } catch (error) { try { item2.return(); } catch { } throw error; } try { value9 = r13 - r9; } catch (error) { try { item2.return(); } catch { } throw error; } try { property2 = sequence[value9]; } catch (error) { try { item2.return(); } catch { } throw error; } try { value10 = property === property2; } catch (error) { try { item2.return(); } catch { } throw error; } if (value10) { try { value13 = typeof r13 === 'bigint' ? r13 + 1n : +r13 + 1; } catch (error) { try { item2.return(); } catch { } throw error; } try { value14 = value13 < r142; } catch (error) { try { item2.return(); } catch { } throw error; } if (value14) { r13 = value13; continue reducibleLoop21; } r10 = value3; break reducibleLoop21; } value11 = false; r10 = value11; break reducibleLoop21; } } else { r10 = value3; } if (r10) { item2.return(); return item; } r2 = item2; item2 = Reflect.apply(iterator2, r2, []); item = item2.value; item2 = item2.done ? undefined : r2; if (item2 === value) { return value; } continue reducibleLoop2; } } function value_40688(a0, a1) { // fn#40688, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4883:1854, offset: 0x01108376, size: 104 bytes, params: 3, frame: 15 const Object = global.Object; const hasOwnProperty = Object.prototype.hasOwnProperty; if (hasOwnProperty.call(FileTypes, a1.toUpperCase())) { if (FileTypes.detectSignature(a0, FileTypes.getSignaturesByName(a1.toUpperCase()))) { return true; } } return false; }