/* Metro module 4702; source: unknown; dependencies: [4703, 4704] */ function _fun40650(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#40650, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4880:6, offset: 0x01106ff1, size: 72 bytes, params: 8, frame: 16 const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); exports.detectFile = undefined; exports.detectFile = detectFile; } function detectFile(a0, a1) { // fn#40651, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4880:125, offset: 0x01107039, size: 690 bytes, params: 3, frame: 36 var environment; var chunkSize; var r2; var r14; var Object; var prototype; var hasOwnProperty; var call; var value; var value2; var value4; var items3; var items2; const FileTypes = (require(4704) /* metro dependency 4704 */).FileTypes; var properties; var properties2; var properties3; var propertyName; var propertyName2; var FileTypes2; var FileTypes3; var getSignaturesByName; var value6; var FileTypes4; var detectbBySignatures; var value7; var FileTypes5; var getInfoByName; var value8; var FILE_TYPES_REQUIRED_ADDITIONAL_CHECK; var includes; var extension; var push; var object2; var mimeType; var description; var assign; var Object2; var assign2; var value9; var sequence; var map; var detectTypeByAdditionalCheck; if (a1) { Object = global.Object; prototype = Object.prototype; hasOwnProperty = prototype.hasOwnProperty; call = hasOwnProperty.call; reducibleJoin7: while (true) { if (Reflect.apply(call, hasOwnProperty, [a1, 'chunkSize'])) { value = undefined; reducibleJoin4: while (true) { if (a1 == null) { chunkSize = value; break reducibleJoin4; } chunkSize = a1.chunkSize; break reducibleJoin4; } value2 = 0; reducibleJoin6: while (true) { if (chunkSize === null) { r2 = value2; break reducibleJoin6; } if (value === chunkSize) { r2 = value2; break reducibleJoin6; } r2 = chunkSize; break reducibleJoin6; } if (r2 <= value2) { throw new global.RangeError('chunkSize must be bigger than zero'); } break reducibleJoin7; } break reducibleJoin7; } } value = environment; const value3 = undefined; const getFileChunk = (require(4703) /* metro dependency 4703 */).getFileChunk; reducibleJoin9: while (true) { if (a1 == null) { chunkSize = value3; break reducibleJoin9; } chunkSize = a1.chunkSize; break reducibleJoin9; } reducibleJoin11: while (true) { if (chunkSize) { break reducibleJoin11; } value4 = 64; chunkSize = value4; break reducibleJoin11; } const fileChunk = getFileChunk(a0, chunkSize); let length = fileChunk.length; if (length !== 0) { items3 = []; items2 = []; properties = Object.keys(FileTypes); properties2 = 0; properties3 = properties.length; if (properties !== value3) { r14 = properties2; reducibleLoop13: while (true) { propertyName = properties[r14]; propertyName2 = r14 + 1; if (propertyName === value3) { break reducibleLoop13; } Object = global.Object; prototype = Object.prototype; hasOwnProperty = prototype.hasOwnProperty; call = hasOwnProperty.call; FileTypes2 = (require(4704) /* metro dependency 4704 */).FileTypes; if (Reflect.apply(call, hasOwnProperty, [FileTypes2, propertyName])) { FileTypes3 = (require(4704) /* metro dependency 4704 */).FileTypes; getSignaturesByName = FileTypes3.getSignaturesByName; value6 = Reflect.apply(getSignaturesByName, FileTypes3, [propertyName]); FileTypes4 = (require(4704) /* metro dependency 4704 */).FileTypes; detectbBySignatures = FileTypes4.detectbBySignatures; value7 = Reflect.apply(detectbBySignatures, FileTypes4, [fileChunk, value6]); if (value7) { FileTypes5 = (require(4704) /* metro dependency 4704 */).FileTypes; getInfoByName = FileTypes5.getInfoByName; value8 = Reflect.apply(getInfoByName, FileTypes5, [propertyName]); FILE_TYPES_REQUIRED_ADDITIONAL_CHECK = (require(4704) /* metro dependency 4704 */).FILE_TYPES_REQUIRED_ADDITIONAL_CHECK; includes = FILE_TYPES_REQUIRED_ADDITIONAL_CHECK.includes; extension = value8.extension; reducibleJoin18: while (true) { if (Reflect.apply(includes, FILE_TYPES_REQUIRED_ADDITIONAL_CHECK, [extension])) { push = items2.push; extension = value8.extension; Reflect.apply(push, items2, [extension]); break reducibleJoin18; } break reducibleJoin18; } object2 = {}; extension = value8.extension; object2.extension = extension; mimeType = value8.mimeType; object2.mimeType = mimeType; description = value8.description; object2.description = description; Object = global.Object; assign = Object.assign; Object2 = global.Object; assign2 = Object2.assign; value9 = Reflect.apply(assign2, Object2, [{}, value7]); sequence = value7.sequence; map = sequence.map; object2.signature = Reflect.apply(assign, Object, [value9, {sequence: Reflect.apply(map, sequence, [function(a0) { return a0.toString(16); }])}]); push = items3.push; Reflect.apply(push, items3, [object2]); r14 = propertyName2; continue reducibleLoop13; } r14 = propertyName2; continue reducibleLoop13; } r14 = propertyName2; continue reducibleLoop13; } } length = items3.length; reducibleJoin23: while (true) { if (length === 0) { break reducibleJoin23; } length = items3.length; if (length === 1) { length = items2.length; reducibleJoin22: while (true) { if (length === 0) { return items3[0]; } break reducibleJoin22; } } detectTypeByAdditionalCheck = FileTypes.detectTypeByAdditionalCheck; value = Reflect.apply(detectTypeByAdditionalCheck, FileTypes, [fileChunk, items3]); var env0_0 = value; if (value) { return items3.find(_fun40653); } break reducibleJoin23; } } return value3; } function _fun40653({extension}) { // fn#40653, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4880:1083, offset: 0x011072fd, size: 22 bytes, params: 2, frame: 2 return extension === env0_0; }