/* Metro module 84; source: unknown; dependencies: [65, 57, 38] */ function _fun1496(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#1496, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:109:6, offset: 0x00c5f3b6, size: 245 bytes, params: 8, frame: 18 const env0_0 = require; const getPositionFromCSSValue = function(a0) { var r0; var value = a0; if (value.endsWith('px')) { value = (0, global.parseFloat)(value); r0 = value; } else { r0 = value.endsWith('%') ? value : undefined; } return r0; }; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_2 = importDefault(65) /* metro dependency 65 */; const env0_3 = importDefault(57) /* metro dependency 57 */; const env0_4 = RegExp('^to\\s+(?:top|bottom|left|right)(?:\\s+(?:top|bottom|left|right))?', 'i'); const env0_5 = RegExp('^([+-]?\\d*\\.?\\d+)(deg|grad|rad|turn)$', 'i'); const env0_6 = {'type': 'angle', 'value': 180}; const env0_9 = {'top': '50%', 'left': '50%'}; exports.default = processBackgroundImage; } function processColorStops(a0) { // fn#1497, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:109:316, offset: 0x00c5f4ab, size: 398 bytes, params: 2, frame: 32 var r3; var r19; var items2; var colorStops; var length; var value; var value2; var property; var positions; var color; var Array; var isArray; var moduleValue; var value3; var push; var iterator; var iterator2; var item; var item2; var value4; var value5; var value6; var endsWith; var value7; var object; var error; var value8; var value9; exceptionSkip27: while (true) { exceptionLanding27: while (true) { items2 = []; colorStops = a0.colorStops; length = colorStops.length; value = 0; value2 = environment; if (value < length) { r3 = value; reducibleLoop1: while (true) { colorStops = a0.colorStops; property = colorStops[r3]; positions = property.positions; color = property.color; if (color == null) { Array = global.Array; isArray = Array.isArray; reducibleJoin4: while (true) { if (Reflect.apply(isArray, Array, [positions])) { length = positions.length; if (length !== 1) { break reducibleJoin4; } property = positions[value]; value8 = typeof property; reducibleJoin34: while (true) { reducibleJoin33: while (true) { if (value8 === 'number') { break reducibleJoin33; } if (value8 !== 'string') { return null; } endsWith = property.endsWith; if (!Reflect.apply(endsWith, property, ['%'])) { return null; } break reducibleJoin33; } push = items2.push; Reflect.apply(push, items2, [{color: null, position: property}]); break reducibleJoin34; } value9 = typeof r3 === 'bigint' ? r3 + 1n : +r3 + 1; colorStops = a0.colorStops; length = colorStops.length; if (!(value9 < length)) { return items2; } r3 = value9; continue reducibleLoop1; } break reducibleJoin4; } } moduleValue = require(38) /* metro dependency 38 */; color = property.color; value3 = moduleValue.default(color); if (value3 == null) { return null; } if (positions != null) { length = positions.length; reducibleJoin7: while (true) { if (length > value) { iterator = positions[Symbol.iterator](); iterator2 = iterator.next; r19 = iterator; reducibleLoop9: while (true) { item2 = Reflect.apply(iterator2, r19, []); item = item2.value; item2 = item2.done ? undefined : r19; if (item2 === undefined) { break reducibleLoop9; } value4 = typeof item; try { value5 = value4 === 'number'; } catch (error) { break exceptionLanding27; } if (!value5) { try { value6 = value4 !== 'string'; } catch (error) { break exceptionLanding27; } reducibleJoin19: while (true) { reducibleJoin18: while (true) { if (value6) { break reducibleJoin18; } try { endsWith = item.endsWith; } catch (error) { break exceptionLanding27; } try { value7 = Reflect.apply(endsWith, item, ['%']); } catch (error) { break exceptionLanding27; } if (value7) { break reducibleJoin19; } break reducibleJoin18; } item2.return(); return null; } } try { push = items2.push; } catch (error) { break exceptionLanding27; } try { object = {}; } catch (error) { break exceptionLanding27; } try { object.color = value3; } catch (error) { break exceptionLanding27; } try { object.position = item; } catch (error) { break exceptionLanding27; } try { Reflect.apply(push, items2, [object]); } catch (error) { break exceptionLanding27; } r19 = item2; continue reducibleLoop9; } value9 = typeof r3 === 'bigint' ? r3 + 1n : +r3 + 1; colorStops = a0.colorStops; length = colorStops.length; if (!(value9 < length)) { return items2; } r3 = value9; continue reducibleLoop1; } break reducibleJoin7; } } push = items2.push; Reflect.apply(push, items2, [{color: value3, position: null}]); value9 = typeof r3 === 'bigint' ? r3 + 1n : +r3 + 1; colorStops = a0.colorStops; length = colorStops.length; if (!(value9 < length)) { return items2; } r3 = value9; continue reducibleLoop1; } } return items2; break exceptionSkip27; } try { item2.return(); } catch { } throw error; break exceptionSkip27; } } function parseRadialGradientCSSString(a0) { // fn#1498, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:109:841, offset: 0x00c5f639, size: 2180 bytes, params: 2, frame: 74 var r16; var r17; var r18; var r19; var r20; var r63; var r64; var r50; var r51; var r48; var r56; var r57; var r58; var r59; var r52; var r53; var r6; var r40; var r41; var r42; var r43; var r33; var r34; var r35; var r36; var r37; var r4; var r5; var r7; var r9; var r10; var r12; var r1; var shift; var value12; var toLowerCase; var value13; var value14; var value15; var value16; var endsWith; var value17; var value18; var value19; var value20; var value21; var value22; var getPositionFromCSSValueBinding; var positionFromCSSValue; var value24; var value25; var value26; var value27; var value28; var value29; var object; var items2; var includes; var value30; var value31; var value32; var positionFromCSSValue2; var value34; var value35; var positionFromCSSValue3; var value37; var value38; var value39; var value40; var value41; var value42; var value43; var value44; var value45; var value46; var value47; var value48; var value49; var value50; var value51; var value52; var value53; var value54; var value55; var value56; var value57; var value58; var positionFromCSSValueBinding; var positionFromCSSValueBinding2; var positionFromCSSValue4; var value62; var value63; var value64; var positionFromCSSValue5; var value66; const binding = env0_7; const binding2 = env0_8; const Object = global.Object; const value2 = Object.assign({}, env0_9); const value3 = a0.split(RegExp(',(?![^(]*\\))', '')); const value4 = value3[0].trim(); const value5 = undefined; const value6 = env0_2(value3); const value7 = value4.split(RegExp('\\s+', '')); let length = value7.length; const value8 = false; const value9 = 'circle'; const value10 = 'ellipse'; const value11 = null; if (length > 0) { r16 = value8; r17 = value8; r18 = value8; r19 = binding2; r20 = binding; reducibleLoop1: while (true) { shift = value7.shift; value12 = Reflect.apply(shift, value7, []); if (value11 == value12) { r33 = r16; r34 = r17; r35 = r18; r36 = r19; r37 = r20; } else { toLowerCase = value12.toLowerCase; value13 = Reflect.apply(toLowerCase, value12, []); trim = value13.trim; value14 = Reflect.apply(trim, value13, []); value15 = value9 === value14; reducibleJoin116: while (true) { reducibleJoin125: while (true) { if (value15) { r48 = value15 ? value9 : value10; value66 = true; r6 = value66; r40 = value66; r41 = r17; r42 = r19; r43 = r48; if (r6) { r33 = r40; r34 = r41; r35 = r6; r36 = r42; r37 = r43; break reducibleJoin116; } r4 = value2; r5 = r42; r7 = r43; r9 = r40; r10 = r41; r12 = r6; break reducibleLoop1; } if (value10 === value14) { r48 = value15 ? value9 : value10; value66 = true; r6 = value66; r40 = value66; r41 = r17; r42 = r19; r43 = r48; } else { value16 = true; reducibleJoin115: while (true) { if (value14 === 'closest-corner') { r6 = value16; r40 = r16; r41 = r17; r42 = value14; r43 = r20; break reducibleJoin115; } if (value14 === 'farthest-corner') { r6 = value16; r40 = r16; r41 = r17; r42 = value14; r43 = r20; break reducibleJoin115; } if (value14 === 'closest-side') { r6 = value16; r40 = r16; r41 = r17; r42 = value14; r43 = r20; break reducibleJoin115; } if (value14 === 'farthest-side') { r6 = value16; r40 = r16; r41 = r17; r42 = value14; r43 = r20; break reducibleJoin115; } endsWith = value14.endsWith; if (!Reflect.apply(endsWith, value14, ['px'])) { endsWith = value14.endsWith; reducibleJoin99: while (true) { if (Reflect.apply(endsWith, value14, ['%'])) { break reducibleJoin99; } if (value14 !== 'at') { r6 = r18; r40 = r16; r41 = r17; r42 = r19; r43 = r20; break reducibleJoin115; } length = value7.length; if (length === 0) { return value11; } length = value7.length; reducibleJoin117: while (true) { reducibleJoin90: while (true) { if (length !== 1) { r63 = value5; r64 = value5; length = value7.length; if (length === 2) { shift = value7.shift; value24 = Reflect.apply(shift, value7, []); shift = value7.shift; value25 = Reflect.apply(shift, value7, []); reducibleJoin64: while (true) { reducibleJoin96: while (true) { if (value11 == value24) { break reducibleJoin96; } if (value11 == value25) { break reducibleJoin96; } toLowerCase = value24.toLowerCase; value26 = Reflect.apply(toLowerCase, value24, []); trim = value26.trim; value27 = Reflect.apply(trim, value26, []); toLowerCase = value25.toLowerCase; value28 = Reflect.apply(toLowerCase, value25, []); trim = value28.trim; value29 = Reflect.apply(trim, value28, []); object = ['left', 'center', 'right']; items2 = ['top', 'center', 'bottom']; includes = object.includes; if (Reflect.apply(includes, object, [value27])) { reducibleJoin28: while (true) { if (items2.includes(value29)) { value42 = '0%'; reducibleJoin59: while (true) { if (value27 === 'left') { r48 = value42; break reducibleJoin59; } value43 = '100%'; reducibleJoin58: while (true) { if (value27 !== 'center') { r51 = value43; break reducibleJoin58; } value44 = '50%'; r51 = value44; break reducibleJoin58; } r48 = r51; break reducibleJoin59; } reducibleJoin63: while (true) { if (value29 === 'top') { r50 = value42; break reducibleJoin63; } value45 = '100%'; reducibleJoin62: while (true) { if (value29 !== 'center') { r51 = value45; break reducibleJoin62; } value46 = '50%'; r51 = value46; break reducibleJoin62; } r50 = r51; break reducibleJoin63; } r63 = r48; r64 = r50; break reducibleJoin64; } break reducibleJoin28; } } includes = items2.includes; if (Reflect.apply(includes, items2, [value27])) { includes = object.includes; reducibleJoin30: while (true) { if (Reflect.apply(includes, object, [value29])) { value37 = '0%'; reducibleJoin50: while (true) { if (value29 === 'left') { r48 = value37; break reducibleJoin50; } value38 = '100%'; reducibleJoin49: while (true) { if (value29 !== 'center') { r51 = value38; break reducibleJoin49; } value39 = '50%'; r51 = value39; break reducibleJoin49; } r48 = r51; break reducibleJoin50; } reducibleJoin54: while (true) { if (value27 === 'top') { r50 = value37; break reducibleJoin54; } value40 = '100%'; reducibleJoin53: while (true) { if (value27 !== 'center') { r51 = value40; break reducibleJoin53; } value41 = '50%'; r51 = value41; break reducibleJoin53; } r50 = r51; break reducibleJoin54; } r63 = r48; r64 = r50; break reducibleJoin64; } break reducibleJoin30; } } value30 = '0%'; if (value27 === 'left') { r50 = value30; } else { value31 = '50%'; reducibleJoin38: while (true) { if (value27 === 'center') { r50 = value31; break reducibleJoin38; } value32 = '100%'; if (value27 === 'right') { r50 = value32; break reducibleJoin38; } endsWith = value27.endsWith; if (!Reflect.apply(endsWith, value27, ['px'])) { endsWith = value27.endsWith; reducibleJoin36: while (true) { if (!Reflect.apply(endsWith, value27, ['%'])) { return value11; } break reducibleJoin36; } } positionFromCSSValue2 = getPositionFromCSSValue(value27); if (value11 == positionFromCSSValue2) { return value11; } r50 = positionFromCSSValue2; break reducibleJoin38; } } if (value29 === 'top') { r63 = r50; r64 = value30; break reducibleJoin64; } value34 = '50%'; if (value29 === 'center') { r63 = r50; r64 = value34; break reducibleJoin64; } value35 = '100%'; if (value29 === 'bottom') { r63 = r50; r64 = value35; break reducibleJoin64; } endsWith = value29.endsWith; if (!Reflect.apply(endsWith, value29, ['px'])) { endsWith = value29.endsWith; reducibleJoin44: while (true) { if (!Reflect.apply(endsWith, value29, ['%'])) { return value11; } break reducibleJoin44; } } positionFromCSSValue3 = getPositionFromCSSValue(value29); if (value11 == positionFromCSSValue3) { return value11; } r63 = r50; r64 = positionFromCSSValue3; break reducibleJoin64; } return value11; } } length = value7.length; if (length !== 4) { r50 = r63; r51 = r64; r52 = value5; r53 = value5; } else { shift = value7.shift; value47 = Reflect.apply(shift, value7, []); shift = value7.shift; value48 = Reflect.apply(shift, value7, []); shift = value7.shift; value49 = Reflect.apply(shift, value7, []); shift = value7.shift; value50 = Reflect.apply(shift, value7, []); reducibleJoin81: while (true) { reducibleJoin95: while (true) { if (value11 == value47) { break reducibleJoin95; } if (value11 == value48) { break reducibleJoin95; } if (value11 == value49) { break reducibleJoin95; } if (value11 != value50) { toLowerCase = value47.toLowerCase; value51 = Reflect.apply(toLowerCase, value47, []); trim = value51.trim; value52 = Reflect.apply(trim, value51, []); toLowerCase = value48.toLowerCase; value53 = Reflect.apply(toLowerCase, value48, []); trim = value53.trim; value54 = Reflect.apply(trim, value53, []); toLowerCase = value49.toLowerCase; value55 = Reflect.apply(toLowerCase, value49, []); trim = value55.trim; value56 = Reflect.apply(trim, value55, []); toLowerCase = value50.toLowerCase; value57 = Reflect.apply(toLowerCase, value50, []); trim = value57.trim; value58 = Reflect.apply(trim, value57, []); getPositionFromCSSValueBinding = getPositionFromCSSValue; positionFromCSSValueBinding = getPositionFromCSSValueBinding(value54); positionFromCSSValueBinding2 = getPositionFromCSSValueBinding(value58); if (value11 != positionFromCSSValueBinding) { reducibleJoin94: while (true) { if (value11 == positionFromCSSValueBinding2) { break reducibleJoin94; } if (value52 === 'left') { r56 = value5; r57 = positionFromCSSValueBinding; r58 = r64; r59 = value5; } else { reducibleJoin76: while (true) { if (value52 === 'right') { r56 = positionFromCSSValueBinding; r57 = r63; r58 = r64; r59 = value5; break reducibleJoin76; } if (value52 === 'top') { r56 = value5; r57 = r63; r58 = positionFromCSSValueBinding; r59 = value5; break reducibleJoin76; } if (value52 !== 'bottom') { return value11; } r56 = value5; r57 = r63; r58 = r64; r59 = positionFromCSSValueBinding; break reducibleJoin76; } } if (value56 === 'left') { r50 = positionFromCSSValueBinding2; r51 = r58; r52 = r56; r53 = r59; break reducibleJoin81; } if (value56 === 'right') { r50 = r57; r51 = r58; r52 = positionFromCSSValueBinding2; r53 = r59; break reducibleJoin81; } if (value56 === 'top') { r50 = r57; r51 = positionFromCSSValueBinding2; r52 = r56; r53 = r59; break reducibleJoin81; } if (value56 !== 'bottom') { return value11; } r50 = r57; r51 = r58; r52 = r56; r53 = positionFromCSSValueBinding2; break reducibleJoin81; } } return value11; } break reducibleJoin95; } return value11; } } if (value11 != r51) { reducibleJoin83: while (true) { if (value11 != r50) { r4 = {top: r51, left: r50}; r5 = r19; r7 = r20; r9 = r16; r10 = r17; r12 = value16; break reducibleJoin117; } break reducibleJoin83; } } if (value11 != r53) { reducibleJoin85: while (true) { if (value11 != r52) { r4 = {bottom: r53, right: r52}; r5 = r19; r7 = r20; r9 = r16; r10 = r17; r12 = value16; break reducibleJoin117; } break reducibleJoin85; } } if (value11 != r51) { reducibleJoin87: while (true) { if (value11 != r52) { r4 = {top: r51, right: r52}; r5 = r19; r7 = r20; r9 = r16; r10 = r17; r12 = value16; break reducibleJoin117; } break reducibleJoin87; } } if (value11 == r53) { break reducibleJoin90; } if (value11 == r50) { break reducibleJoin90; } r4 = {bottom: r53, left: r50}; r5 = r19; r7 = r20; r9 = r16; r10 = r17; r12 = value16; break reducibleJoin117; } shift = value7.shift; value17 = Reflect.apply(shift, value7, []); if (value11 == value17) { return value11; } toLowerCase = value17.toLowerCase; value18 = Reflect.apply(toLowerCase, value17, []); trim = value18.trim; value19 = Reflect.apply(trim, value18, []); value20 = '50%'; value21 = '0%'; if (value19 === 'left') { r63 = value21; r64 = value20; } else { reducibleJoin23: while (true) { if (value19 === 'center') { r63 = value20; r64 = value20; break reducibleJoin23; } value22 = '100%'; if (value19 === 'right') { r63 = value22; r64 = value20; break reducibleJoin23; } if (value19 === 'top') { r63 = value20; r64 = value21; break reducibleJoin23; } if (value19 === 'bottom') { r63 = value20; r64 = value22; break reducibleJoin23; } endsWith = value19.endsWith; if (!Reflect.apply(endsWith, value19, ['px'])) { endsWith = value19.endsWith; reducibleJoin21: while (true) { if (Reflect.apply(endsWith, value19, ['%'])) { break reducibleJoin21; } r63 = value5; r64 = value5; break reducibleJoin23; } } positionFromCSSValue = getPositionFromCSSValue(value19); if (value11 == positionFromCSSValue) { return value11; } r63 = positionFromCSSValue; r64 = value20; break reducibleJoin23; } } length = value7.length; if (length === 2) { shift = value7.shift; value24 = Reflect.apply(shift, value7, []); shift = value7.shift; value25 = Reflect.apply(shift, value7, []); reducibleJoin64: while (true) { reducibleJoin96: while (true) { if (value11 == value24) { break reducibleJoin96; } if (value11 == value25) { break reducibleJoin96; } toLowerCase = value24.toLowerCase; value26 = Reflect.apply(toLowerCase, value24, []); trim = value26.trim; value27 = Reflect.apply(trim, value26, []); toLowerCase = value25.toLowerCase; value28 = Reflect.apply(toLowerCase, value25, []); trim = value28.trim; value29 = Reflect.apply(trim, value28, []); object = ['left', 'center', 'right']; items2 = ['top', 'center', 'bottom']; includes = object.includes; if (Reflect.apply(includes, object, [value27])) { reducibleJoin28: while (true) { if (items2.includes(value29)) { value42 = '0%'; reducibleJoin59: while (true) { if (value27 === 'left') { r48 = value42; break reducibleJoin59; } value43 = '100%'; reducibleJoin58: while (true) { if (value27 !== 'center') { r51 = value43; break reducibleJoin58; } value44 = '50%'; r51 = value44; break reducibleJoin58; } r48 = r51; break reducibleJoin59; } reducibleJoin63: while (true) { if (value29 === 'top') { r50 = value42; break reducibleJoin63; } value45 = '100%'; reducibleJoin62: while (true) { if (value29 !== 'center') { r51 = value45; break reducibleJoin62; } value46 = '50%'; r51 = value46; break reducibleJoin62; } r50 = r51; break reducibleJoin63; } r63 = r48; r64 = r50; break reducibleJoin64; } break reducibleJoin28; } } includes = items2.includes; if (Reflect.apply(includes, items2, [value27])) { includes = object.includes; reducibleJoin30: while (true) { if (Reflect.apply(includes, object, [value29])) { value37 = '0%'; reducibleJoin50: while (true) { if (value29 === 'left') { r48 = value37; break reducibleJoin50; } value38 = '100%'; reducibleJoin49: while (true) { if (value29 !== 'center') { r51 = value38; break reducibleJoin49; } value39 = '50%'; r51 = value39; break reducibleJoin49; } r48 = r51; break reducibleJoin50; } reducibleJoin54: while (true) { if (value27 === 'top') { r50 = value37; break reducibleJoin54; } value40 = '100%'; reducibleJoin53: while (true) { if (value27 !== 'center') { r51 = value40; break reducibleJoin53; } value41 = '50%'; r51 = value41; break reducibleJoin53; } r50 = r51; break reducibleJoin54; } r63 = r48; r64 = r50; break reducibleJoin64; } break reducibleJoin30; } } value30 = '0%'; if (value27 === 'left') { r50 = value30; } else { value31 = '50%'; reducibleJoin38: while (true) { if (value27 === 'center') { r50 = value31; break reducibleJoin38; } value32 = '100%'; if (value27 === 'right') { r50 = value32; break reducibleJoin38; } endsWith = value27.endsWith; if (!Reflect.apply(endsWith, value27, ['px'])) { endsWith = value27.endsWith; reducibleJoin36: while (true) { if (!Reflect.apply(endsWith, value27, ['%'])) { return value11; } break reducibleJoin36; } } positionFromCSSValue2 = getPositionFromCSSValue(value27); if (value11 == positionFromCSSValue2) { return value11; } r50 = positionFromCSSValue2; break reducibleJoin38; } } if (value29 === 'top') { r63 = r50; r64 = value30; break reducibleJoin64; } value34 = '50%'; if (value29 === 'center') { r63 = r50; r64 = value34; break reducibleJoin64; } value35 = '100%'; if (value29 === 'bottom') { r63 = r50; r64 = value35; break reducibleJoin64; } endsWith = value29.endsWith; if (!Reflect.apply(endsWith, value29, ['px'])) { endsWith = value29.endsWith; reducibleJoin44: while (true) { if (!Reflect.apply(endsWith, value29, ['%'])) { return value11; } break reducibleJoin44; } } positionFromCSSValue3 = getPositionFromCSSValue(value29); if (value11 == positionFromCSSValue3) { return value11; } r63 = r50; r64 = positionFromCSSValue3; break reducibleJoin64; } return value11; } } length = value7.length; if (length !== 4) { r50 = r63; r51 = r64; r52 = value5; r53 = value5; } else { shift = value7.shift; value47 = Reflect.apply(shift, value7, []); shift = value7.shift; value48 = Reflect.apply(shift, value7, []); shift = value7.shift; value49 = Reflect.apply(shift, value7, []); shift = value7.shift; value50 = Reflect.apply(shift, value7, []); reducibleJoin81: while (true) { reducibleJoin95: while (true) { if (value11 == value47) { break reducibleJoin95; } if (value11 == value48) { break reducibleJoin95; } if (value11 == value49) { break reducibleJoin95; } if (value11 != value50) { toLowerCase = value47.toLowerCase; value51 = Reflect.apply(toLowerCase, value47, []); trim = value51.trim; value52 = Reflect.apply(trim, value51, []); toLowerCase = value48.toLowerCase; value53 = Reflect.apply(toLowerCase, value48, []); trim = value53.trim; value54 = Reflect.apply(trim, value53, []); toLowerCase = value49.toLowerCase; value55 = Reflect.apply(toLowerCase, value49, []); trim = value55.trim; value56 = Reflect.apply(trim, value55, []); toLowerCase = value50.toLowerCase; value57 = Reflect.apply(toLowerCase, value50, []); trim = value57.trim; value58 = Reflect.apply(trim, value57, []); getPositionFromCSSValueBinding = getPositionFromCSSValue; positionFromCSSValueBinding = getPositionFromCSSValueBinding(value54); positionFromCSSValueBinding2 = getPositionFromCSSValueBinding(value58); if (value11 != positionFromCSSValueBinding) { reducibleJoin94: while (true) { if (value11 == positionFromCSSValueBinding2) { break reducibleJoin94; } if (value52 === 'left') { r56 = value5; r57 = positionFromCSSValueBinding; r58 = r64; r59 = value5; } else { reducibleJoin76: while (true) { if (value52 === 'right') { r56 = positionFromCSSValueBinding; r57 = r63; r58 = r64; r59 = value5; break reducibleJoin76; } if (value52 === 'top') { r56 = value5; r57 = r63; r58 = positionFromCSSValueBinding; r59 = value5; break reducibleJoin76; } if (value52 !== 'bottom') { return value11; } r56 = value5; r57 = r63; r58 = r64; r59 = positionFromCSSValueBinding; break reducibleJoin76; } } if (value56 === 'left') { r50 = positionFromCSSValueBinding2; r51 = r58; r52 = r56; r53 = r59; break reducibleJoin81; } if (value56 === 'right') { r50 = r57; r51 = r58; r52 = positionFromCSSValueBinding2; r53 = r59; break reducibleJoin81; } if (value56 === 'top') { r50 = r57; r51 = positionFromCSSValueBinding2; r52 = r56; r53 = r59; break reducibleJoin81; } if (value56 !== 'bottom') { return value11; } r50 = r57; r51 = r58; r52 = r56; r53 = positionFromCSSValueBinding2; break reducibleJoin81; } } return value11; } break reducibleJoin95; } return value11; } } if (value11 != r51) { reducibleJoin83: while (true) { if (value11 != r50) { r4 = {top: r51, left: r50}; r5 = r19; r7 = r20; r9 = r16; r10 = r17; r12 = value16; break reducibleJoin117; } break reducibleJoin83; } } if (value11 != r53) { reducibleJoin85: while (true) { if (value11 != r52) { r4 = {bottom: r53, right: r52}; r5 = r19; r7 = r20; r9 = r16; r10 = r17; r12 = value16; break reducibleJoin117; } break reducibleJoin85; } } if (value11 != r51) { reducibleJoin87: while (true) { if (value11 != r52) { r4 = {top: r51, right: r52}; r5 = r19; r7 = r20; r9 = r16; r10 = r17; r12 = value16; break reducibleJoin117; } break reducibleJoin87; } } if (value11 == r53) { break reducibleJoin90; } if (value11 == r50) { break reducibleJoin90; } r4 = {bottom: r53, left: r50}; r5 = r19; r7 = r20; r9 = r16; r10 = r17; r12 = value16; break reducibleJoin117; } return value11; } break reducibleLoop1; } } positionFromCSSValue4 = getPositionFromCSSValue(value14); if (value11 == positionFromCSSValue4) { return value11; } if (typeof positionFromCSSValue4 === 'number') { reducibleJoin102: while (true) { if (positionFromCSSValue4 < 0) { return value11; } break reducibleJoin102; } } object = {x: positionFromCSSValue4, y: positionFromCSSValue4}; shift = value7.shift; value62 = Reflect.apply(shift, value7, []); if (value11 == value62) { r33 = r16; r34 = value16; r35 = value16; r36 = object; r37 = r20; break reducibleJoin116; } toLowerCase = value62.toLowerCase; value63 = Reflect.apply(toLowerCase, value62, []); trim = value63.trim; value64 = Reflect.apply(trim, value63, []); endsWith = value64.endsWith; if (!Reflect.apply(endsWith, value64, ['px'])) { endsWith = value64.endsWith; reducibleJoin105: while (true) { if (Reflect.apply(endsWith, value64, ['%'])) { break reducibleJoin105; } r6 = value16; r40 = r16; r41 = value16; r42 = object; r43 = r20; break reducibleJoin115; } } positionFromCSSValue5 = getPositionFromCSSValue(value64); if (value11 == positionFromCSSValue5) { return value11; } if (typeof positionFromCSSValue5 === 'number') { reducibleJoin108: while (true) { if (positionFromCSSValue5 < 0) { return value11; } break reducibleJoin108; } } r6 = value16; r40 = r16; r41 = r17; r42 = {x: positionFromCSSValue4, y: positionFromCSSValue5}; r43 = r20; break reducibleJoin115; } } if (r6) { r33 = r40; r34 = r41; r35 = r6; r36 = r42; r37 = r43; break reducibleJoin116; } r4 = value2; r5 = r42; r7 = r43; r9 = r40; r10 = r41; r12 = r6; break reducibleLoop1; } return r1; } } length = value7.length; if (length > 0) { r16 = r33; r17 = r34; r18 = r35; r19 = r36; r20 = r37; continue reducibleLoop1; } r4 = value2; r5 = r36; r7 = r37; r9 = r33; r10 = r34; r12 = r35; break reducibleLoop1; } } else { r4 = value2; r5 = binding2; r7 = binding; r9 = value8; r10 = value8; r12 = value8; } if (r12) { value6.shift(); r7 = !r9 && r10 ? value9 : r7; reducibleJoin123: while (true) { if (r10) { if (r9) { if (value10 === r7) { return value11; } r6 = r7; break reducibleJoin123; } r6 = r7; break reducibleJoin123; } r6 = r7; break reducibleJoin123; } } else { r6 = r7; } const colorStopsCSSString = parseColorStopsCSSString(value6); reducibleJoin125: while (true) { if (value11 == colorStopsCSSString) { r1 = value11; break reducibleJoin125; } r1 = {type: 'radial-gradient', shape: r6, size: r5, position: r4, colorStops: colorStopsCSSString}; break reducibleJoin125; } return r1; } function parseLinearGradientCSSString(a0) { // fn#1499, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:109:3814, offset: 0x00c5febd, size: 211 bytes, params: 2, frame: 15 var r4; var directionForKeyword; var angleInDegrees; var object2; var value7; let value = a0.split(','); const binding = env0_6; const value4 = value[0].trim().toLowerCase(); const binding2 = env0_5; if (binding2.test(value4)) { angleInDegrees = getAngleInDegrees(value4); if (angleInDegrees == null) { return null; } object2 = {type: 'angle', value: angleInDegrees}; value.shift(); r4 = object2; } else { var binding3 = env0_4; if (binding3.test(value4)) { directionForKeyword = getDirectionForKeyword(value4); if (directionForKeyword == null) { return null; } value.shift(); r4 = directionForKeyword; value = parseColorStopsCSSString(value); value7 = null; return value7 == value ? value7 : {type: 'linear-gradient', direction: r4, colorStops: value}; } r4 = binding; } value = parseColorStopsCSSString(value); value7 = null; return value7 == value ? value7 : {type: 'linear-gradient', direction: r4, colorStops: value}; } function parseColorStopsCSSString(a0) { // fn#1500, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:109:4197, offset: 0x00c5ff90, size: 657 bytes, params: 2, frame: 40 var r10; var r11; var property; var trim; var value5; var toLowerCase; var value6; var match; var value7; var getPositionFromCSSValueBinding; var positionFromCSSValue; var moduleValue; var value9; var push; var positionFromCSSValue2; var moduleValue2; var value11; var positionFromCSSValueBinding; var positionFromCSSValueBinding2; var moduleValue3; var value14; var value15; const items2 = []; let value = a0.join(','); value = value.split(RegExp(',(?![^(]*\\))', '')); let length = value.length; const value2 = 0; const value3 = null; if (value2 < length) { r10 = value2; r11 = value3; reducibleLoop1: while (true) { property = value[r10]; trim = property.trim; value5 = Reflect.apply(trim, property, []); toLowerCase = value5.toLowerCase; value6 = Reflect.apply(toLowerCase, value5, []); match = value6.match; value7 = Reflect.apply(match, value6, [RegExp('\\S+\\([^)]*\\)|\\S+', 'g')]); if (value3 == value7) { return value3; } length = value7.length; if (length === 3) { property = value7[value2]; getPositionFromCSSValueBinding = getPositionFromCSSValue; positionFromCSSValueBinding = getPositionFromCSSValueBinding(value7[1]); positionFromCSSValueBinding2 = getPositionFromCSSValueBinding(value7[2]); moduleValue3 = require(38) /* metro dependency 38 */; value14 = moduleValue3.default(property); if (value3 == value14) { return value3; } reducibleJoin26: while (true) { reducibleJoin28: while (true) { if (value3 == positionFromCSSValueBinding) { break reducibleJoin28; } if (value3 == positionFromCSSValueBinding2) { break reducibleJoin28; } push = items2.push; Reflect.apply(push, items2, [{color: value14, position: positionFromCSSValueBinding}]); push = items2.push; Reflect.apply(push, items2, [{color: value14, position: positionFromCSSValueBinding2}]); break reducibleJoin26; } return value3; } } else { length = value7.length; if (length === 2) { property = value7[value2]; positionFromCSSValue2 = getPositionFromCSSValue(value7[1]); moduleValue2 = require(38) /* metro dependency 38 */; value11 = moduleValue2.default(property); if (value3 == value11) { return value3; } if (value3 == positionFromCSSValue2) { return value3; } push = items2.push; Reflect.apply(push, items2, [{color: value11, position: positionFromCSSValue2}]); } else { length = value7.length; if (length !== 1) { return value3; } positionFromCSSValue = getPositionFromCSSValue(value7[value2]); if (value3 != positionFromCSSValue) { reducibleJoin26: while (true) { reducibleJoin15: while (true) { if (value3 == r11) { if (r10 === value.length - 1) { break reducibleJoin15; } if (value2 === r10) { break reducibleJoin15; } items2.push({color: value3, position: positionFromCSSValue}); break reducibleJoin26; } length = r11.length; if (length === 1) { reducibleJoin12: while (true) { if (value3 != getPositionFromCSSValue(r11[value2])) { break reducibleJoin15; } break reducibleJoin12; } } length = value.length; if (r10 === length - 1) { break reducibleJoin15; } if (value2 === r10) { break reducibleJoin15; } push = items2.push; Reflect.apply(push, items2, [{color: value3, position: positionFromCSSValue}]); break reducibleJoin26; } return value3; } } else { moduleValue = require(38) /* metro dependency 38 */; value9 = moduleValue.default(value7[value2]); if (value3 == value9) { return value3; } push = items2.push; Reflect.apply(push, items2, [{color: value9, position: value3}]); } } } value15 = typeof r10 === 'bigint' ? r10 + 1n : +r10 + 1; length = value.length; if (!(value15 < length)) { return items2; } r10 = value15; r11 = value7; continue reducibleLoop1; } } return items2; } function getDirectionForKeyword(a0) { // fn#1501, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:109:5091, offset: 0x00c60221, size: 285 bytes, params: 2, frame: 14 if (a0 != null) { var value = a0.replace(RegExp('\\s+', 'g'), ' '); value = value.toLowerCase(); if (value === 'to top') { return {'type': 'angle', 'value': 0}; } if (value === 'to right') { return {'type': 'angle', 'value': 90}; } if (value === 'to bottom') { return {'type': 'angle', 'value': 180}; } if (value === 'to left') { return {'type': 'angle', 'value': 270}; } if (value === 'to top right') { return {'type': 'keyword', 'value': 'to top right'}; } if (value === 'to right top') { return {'type': 'keyword', 'value': 'to top right'}; } if (value === 'to bottom right') { return {'type': 'keyword', 'value': 'to bottom right'}; } if (value === 'to right bottom') { return {'type': 'keyword', 'value': 'to bottom right'}; } if (value === 'to top left') { return {'type': 'keyword', 'value': 'to top left'}; } if (value === 'to left top') { return {'type': 'keyword', 'value': 'to top left'}; } if (value === 'to bottom left') { return {'type': 'keyword', 'value': 'to bottom left'}; } if (value === 'to left bottom') { return {'type': 'keyword', 'value': 'to bottom left'}; } } return null; } function getAngleInDegrees(a0) { // fn#1502, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:109:5733, offset: 0x00c6033e, size: 176 bytes, params: 2, frame: 15 var property; var property2; if (a0 != null) { var value; var value2 = a0.match(env0_5); if (value2) { value = env0_3(value2, 3); property = value[1]; property2 = value[2]; value = global.parseFloat(property); if (property2 === 'deg') { return value; } if (property2 === 'grad') { return 0.9 * value; } if (property2 === 'rad') { value = 180 * value; return value / global.Math.PI; } if (property2 === 'turn') { return 360 * value; } return null; } } return null; } function processBackgroundImage(a0) { // fn#1504, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:109:6100, offset: 0x00c6042d, size: 834 bytes, params: 2, frame: 41 var r25; var r26; var r27; var r28; var r21; var processColorStopsBinding; var value3; var value4; var type; var value5; var value6; var binding; var binding2; var Object; var assign; var binding3; var value7; var shape; var value8; var value9; var value10; var size; var value11; var value12; var value13; var value14; var value15; var value16; var value17; var x; var value18; var y; var value19; var position; var value20; var concat; var value21; var direction; var value22; var toLowerCase; var value23; var value24; var test; var value25; var value26; var getDirectionForKeywordBinding; var directionForKeywordBinding; var value28; var getAngleInDegreesBinding; var angleInDegreesBinding; var value30; var value31; var error; let object = []; let value = null; if (value == a0) { return object; } if (typeof a0 === 'string') { value = a0.replace(RegExp('\\n', 'g'), ' '); value = parseBackgroundImageCSSString(value); return value; } const Array = global.Array; if (!Array.isArray(a0)) { return object; } const iterator = a0[Symbol.iterator](); const iterator2 = iterator.next; let r0 = object; let r2 = iterator; let item2 = Reflect.apply(iterator2, r2, []); let item = item2.value; item2 = item2.done ? undefined : r2; if (item2 === undefined) { return r0; } reducibleLoop5: while (true) { try { processColorStopsBinding = processColorStops; } catch (error) { try { item2.return(); } catch { } throw error; } try { value3 = processColorStopsBinding(item); } catch (error) { try { item2.return(); } catch { } throw error; } try { value4 = value == value3; } catch (error) { try { item2.return(); } catch { } throw error; } if (value4) { item2.return(); return []; } try { type = item.type; } catch (error) { try { item2.return(); } catch { } throw error; } try { value5 = type === 'linear-gradient'; } catch (error) { try { item2.return(); } catch { } throw error; } if (value5) { try { binding = env0_6; } catch (error) { try { item2.return(); } catch { } throw error; } try { direction = item.direction; } catch (error) { try { item2.return(); } catch { } throw error; } try { value22 = value != direction; } catch (error) { try { item2.return(); } catch { } throw error; } reducibleJoin107: while (true) { if (value22) { try { direction = item.direction; } catch (error) { try { item2.return(); } catch { } throw error; } try { toLowerCase = direction.toLowerCase; } catch (error) { try { item2.return(); } catch { } throw error; } try { value23 = Reflect.apply(toLowerCase, direction, []); } catch (error) { try { item2.return(); } catch { } throw error; } r28 = value23; break reducibleJoin107; } r28 = value; break reducibleJoin107; } try { value24 = value == r28; } catch (error) { try { item2.return(); } catch { } throw error; } reducibleJoin146: while (true) { reducibleJoin145: while (true) { if (value24) { r21 = binding; try { concat = r0.concat; } catch (error) { try { item2.return(); } catch { } throw error; } try { object = {}; } catch (error) { try { item2.return(); } catch { } throw error; } try { object.type = 'linear-gradient'; } catch (error) { try { item2.return(); } catch { } throw error; } try { object.direction = r21; } catch (error) { try { item2.return(); } catch { } throw error; } try { object.colorStops = value3; } catch (error) { try { item2.return(); } catch { } throw error; } break reducibleJoin145; } try { binding = env0_5; } catch (error) { try { item2.return(); } catch { } throw error; } try { test = binding.test; } catch (error) { try { item2.return(); } catch { } throw error; } try { value25 = Reflect.apply(test, binding, [r28]); } catch (error) { try { item2.return(); } catch { } throw error; } if (value25) { try { getAngleInDegreesBinding = getAngleInDegrees; } catch (error) { try { item2.return(); } catch { } throw error; } try { angleInDegreesBinding = getAngleInDegreesBinding(r28); } catch (error) { try { item2.return(); } catch { } throw error; } try { value30 = value == angleInDegreesBinding; } catch (error) { try { item2.return(); } catch { } throw error; } if (value30) { item2.return(); return []; } try { object = {}; } catch (error) { try { item2.return(); } catch { } throw error; } try { object.type = 'angle'; } catch (error) { try { item2.return(); } catch { } throw error; } try { object.value = angleInDegreesBinding; } catch (error) { try { item2.return(); } catch { } throw error; } r21 = object; } else { try { binding = env0_4; } catch (error) { try { item2.return(); } catch { } throw error; } try { test = binding.test; } catch (error) { try { item2.return(); } catch { } throw error; } try { value26 = Reflect.apply(test, binding, [r28]); } catch (error) { try { item2.return(); } catch { } throw error; } if (!value26) { item2.return(); return []; } try { getDirectionForKeywordBinding = getDirectionForKeyword; } catch (error) { try { item2.return(); } catch { } throw error; } try { directionForKeywordBinding = getDirectionForKeywordBinding(r28); } catch (error) { try { item2.return(); } catch { } throw error; } try { value28 = value == directionForKeywordBinding; } catch (error) { try { item2.return(); } catch { } throw error; } if (value28) { item2.return(); return []; } r21 = directionForKeywordBinding; } try { concat = r0.concat; } catch (error) { try { item2.return(); } catch { } throw error; } try { object = {}; } catch (error) { try { item2.return(); } catch { } throw error; } try { object.type = 'linear-gradient'; } catch (error) { try { item2.return(); } catch { } throw error; } try { object.direction = r21; } catch (error) { try { item2.return(); } catch { } throw error; } try { object.colorStops = value3; } catch (error) { try { item2.return(); } catch { } throw error; } break reducibleJoin145; } try { value31 = Reflect.apply(concat, r0, [object]); } catch (error) { try { item2.return(); } catch { } throw error; } r0 = value31; break reducibleJoin146; } } else { try { type = item.type; } catch (error) { try { item2.return(); } catch { } throw error; } try { value6 = type !== 'radial-gradient'; } catch (error) { try { item2.return(); } catch { } throw error; } reducibleJoin146: while (true) { if (value6) { break reducibleJoin146; } try { binding = env0_7; } catch (error) { try { item2.return(); } catch { } throw error; } try { binding2 = env0_8; } catch (error) { try { item2.return(); } catch { } throw error; } try { Object = global.Object; } catch (error) { try { item2.return(); } catch { } throw error; } try { assign = Object.assign; } catch (error) { try { item2.return(); } catch { } throw error; } try { binding3 = env0_9; } catch (error) { try { item2.return(); } catch { } throw error; } try { object = {}; } catch (error) { try { item2.return(); } catch { } throw error; } try { value7 = Reflect.apply(assign, Object, [object, binding3]); } catch (error) { try { item2.return(); } catch { } throw error; } try { shape = item.shape; } catch (error) { try { item2.return(); } catch { } throw error; } try { value8 = value == shape; } catch (error) { try { item2.return(); } catch { } throw error; } if (value8) { r25 = binding; } else { try { shape = item.shape; } catch (error) { try { item2.return(); } catch { } throw error; } try { value9 = shape === 'circle'; } catch (error) { try { item2.return(); } catch { } throw error; } reducibleJoin34: while (true) { reducibleJoin33: while (true) { if (value9) { break reducibleJoin33; } try { shape = item.shape; } catch (error) { try { item2.return(); } catch { } throw error; } try { value10 = shape !== 'ellipse'; } catch (error) { try { item2.return(); } catch { } throw error; } if (value10) { item2.return(); return []; } break reducibleJoin33; } try { shape = item.shape; } catch (error) { try { item2.return(); } catch { } throw error; } r25 = shape; break reducibleJoin34; } } try { size = item.size; } catch (error) { try { item2.return(); } catch { } throw error; } try { value11 = value == size; } catch (error) { try { item2.return(); } catch { } throw error; } if (value11) { r26 = binding2; } else { try { size = item.size; } catch (error) { try { item2.return(); } catch { } throw error; } try { value12 = typeof size !== 'string'; } catch (error) { try { item2.return(); } catch { } throw error; } reducibleJoin77: while (true) { reducibleJoin96: while (true) { if (value12) { try { size = item.size; } catch (error) { try { item2.return(); } catch { } throw error; } try { value17 = typeof size !== 'object'; } catch (error) { try { item2.return(); } catch { } throw error; } if (value17) { break reducibleJoin96; } try { size = item.size; } catch (error) { try { item2.return(); } catch { } throw error; } try { x = size.x; } catch (error) { try { item2.return(); } catch { } throw error; } try { value18 = value == x; } catch (error) { try { item2.return(); } catch { } throw error; } if (value18) { break reducibleJoin96; } try { size = item.size; } catch (error) { try { item2.return(); } catch { } throw error; } try { y = size.y; } catch (error) { try { item2.return(); } catch { } throw error; } try { value19 = value == y; } catch (error) { try { item2.return(); } catch { } throw error; } if (value19) { break reducibleJoin96; } try { object = {}; } catch (error) { try { item2.return(); } catch { } throw error; } try { size = item.size; } catch (error) { try { item2.return(); } catch { } throw error; } try { x = size.x; } catch (error) { try { item2.return(); } catch { } throw error; } try { object.x = x; } catch (error) { try { item2.return(); } catch { } throw error; } try { size = item.size; } catch (error) { try { item2.return(); } catch { } throw error; } try { y = size.y; } catch (error) { try { item2.return(); } catch { } throw error; } try { object.y = y; } catch (error) { try { item2.return(); } catch { } throw error; } r26 = object; break reducibleJoin77; } try { size = item.size; } catch (error) { try { item2.return(); } catch { } throw error; } try { value13 = size === 'closest-side'; } catch (error) { try { item2.return(); } catch { } throw error; } if (!value13) { try { size = item.size; } catch (error) { try { item2.return(); } catch { } throw error; } try { value14 = size === 'closest-corner'; } catch (error) { try { item2.return(); } catch { } throw error; } reducibleJoin53: while (true) { if (value14) { break reducibleJoin53; } try { size = item.size; } catch (error) { try { item2.return(); } catch { } throw error; } try { value15 = size === 'farthest-side'; } catch (error) { try { item2.return(); } catch { } throw error; } if (value15) { break reducibleJoin53; } try { size = item.size; } catch (error) { try { item2.return(); } catch { } throw error; } try { value16 = size !== 'farthest-corner'; } catch (error) { try { item2.return(); } catch { } throw error; } if (!value16) { break reducibleJoin53; } try { size = item.size; } catch (error) { try { item2.return(); } catch { } throw error; } try { value17 = typeof size !== 'object'; } catch (error) { try { item2.return(); } catch { } throw error; } reducibleJoin78: while (true) { reducibleJoin96: while (true) { if (value17) { break reducibleJoin96; } try { size = item.size; } catch (error) { try { item2.return(); } catch { } throw error; } try { x = size.x; } catch (error) { try { item2.return(); } catch { } throw error; } try { value18 = value == x; } catch (error) { try { item2.return(); } catch { } throw error; } if (value18) { break reducibleJoin96; } try { size = item.size; } catch (error) { try { item2.return(); } catch { } throw error; } try { y = size.y; } catch (error) { try { item2.return(); } catch { } throw error; } try { value19 = value == y; } catch (error) { try { item2.return(); } catch { } throw error; } if (value19) { break reducibleJoin96; } try { object = {}; } catch (error) { try { item2.return(); } catch { } throw error; } try { size = item.size; } catch (error) { try { item2.return(); } catch { } throw error; } try { x = size.x; } catch (error) { try { item2.return(); } catch { } throw error; } try { object.x = x; } catch (error) { try { item2.return(); } catch { } throw error; } try { size = item.size; } catch (error) { try { item2.return(); } catch { } throw error; } try { y = size.y; } catch (error) { try { item2.return(); } catch { } throw error; } try { object.y = y; } catch (error) { try { item2.return(); } catch { } throw error; } r26 = object; break reducibleJoin77; } item2.return(); return []; } try { position = item.position; } catch (error) { try { item2.return(); } catch { } throw error; } try { value20 = value == position; } catch (error) { try { item2.return(); } catch { } throw error; } reducibleJoin82: while (true) { if (value20) { r27 = value7; break reducibleJoin82; } try { position = item.position; } catch (error) { try { item2.return(); } catch { } throw error; } r27 = position; break reducibleJoin82; } try { concat = r0.concat; } catch (error) { try { item2.return(); } catch { } throw error; } try { object = {}; } catch (error) { try { item2.return(); } catch { } throw error; } try { object.type = 'radial-gradient'; } catch (error) { try { item2.return(); } catch { } throw error; } try { object.shape = r25; } catch (error) { try { item2.return(); } catch { } throw error; } try { object.size = r26; } catch (error) { try { item2.return(); } catch { } throw error; } try { object.position = r27; } catch (error) { try { item2.return(); } catch { } throw error; } try { object.colorStops = value3; } catch (error) { try { item2.return(); } catch { } throw error; } try { value21 = Reflect.apply(concat, r0, [object]); } catch (error) { try { item2.return(); } catch { } throw error; } r0 = value21; break reducibleJoin146; } } try { size = item.size; } catch (error) { try { item2.return(); } catch { } throw error; } r26 = size; break reducibleJoin77; } item2.return(); return []; } } try { position = item.position; } catch (error) { try { item2.return(); } catch { } throw error; } try { value20 = value == position; } catch (error) { try { item2.return(); } catch { } throw error; } reducibleJoin82: while (true) { if (value20) { r27 = value7; break reducibleJoin82; } try { position = item.position; } catch (error) { try { item2.return(); } catch { } throw error; } r27 = position; break reducibleJoin82; } try { concat = r0.concat; } catch (error) { try { item2.return(); } catch { } throw error; } try { object = {}; } catch (error) { try { item2.return(); } catch { } throw error; } try { object.type = 'radial-gradient'; } catch (error) { try { item2.return(); } catch { } throw error; } try { object.shape = r25; } catch (error) { try { item2.return(); } catch { } throw error; } try { object.size = r26; } catch (error) { try { item2.return(); } catch { } throw error; } try { object.position = r27; } catch (error) { try { item2.return(); } catch { } throw error; } try { object.colorStops = value3; } catch (error) { try { item2.return(); } catch { } throw error; } try { value21 = Reflect.apply(concat, r0, [object]); } catch (error) { try { item2.return(); } catch { } throw error; } r0 = value21; break reducibleJoin146; } } r2 = item2; item2 = Reflect.apply(iterator2, r2, []); item = item2.value; item2 = item2.done ? undefined : r2; if (item2 === undefined) { return r0; } continue reducibleLoop5; } } function parseBackgroundImageCSSString(a0) { // fn#1505, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:109:6188, owner: processBackgroundImage.parseBackgroundImageCSSString, offset: 0x00c6076f, size: 364 bytes, params: 2, frame: 30 var r5; var r6; var r7; var r2; var r17; var r18; var r4; var r13; var property; var push; var trim; var value3; var value4; var value5; var value6; var toLowerCase; var value7; var regexp; var exec; var value8; var binding; var value9; var property2; var value10; var value11; var parseLinearGradientCSSStringBinding; var linearGradientCSSString; var parseRadialGradientCSSStringBinding; var radialGradientCSSString; var value12; var error; const items3 = []; const items2 = []; let length = a0.length; let value = 0; const value2 = ''; if (value < length) { r5 = value; r6 = value; r7 = value2; reducibleLoop1: while (true) { property = a0[r5]; reducibleJoin9: while (true) { reducibleJoin8: while (true) { if (property === '(') { value4 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1; r2 = value4; break reducibleJoin8; } if (property === ')') { value3 = typeof r6 === 'bigint' ? r6 - 1n : +r6 - 1; r2 = value3; break reducibleJoin8; } if (property !== ',') { r2 = r6; break reducibleJoin8; } if (value !== r6) { r2 = r6; break reducibleJoin8; } push = items2.push; trim = r7.trim; Reflect.apply(push, items2, [Reflect.apply(trim, r7, [])]); r17 = value2; r18 = r6; break reducibleJoin9; } value5 = r7 + property; r17 = value5; r18 = r2; break reducibleJoin9; } value6 = typeof r5 === 'bigint' ? r5 + 1n : +r5 + 1; length = a0.length; if (value6 < length) { r5 = value6; r6 = r18; r7 = r17; continue reducibleLoop1; } r4 = r17; break reducibleLoop1; } } else { r4 = value2; } trim = r4.trim; reducibleJoin12: while (true) { if (value2 === Reflect.apply(trim, r4, [])) { break reducibleJoin12; } push = items2.push; trim = r4.trim; Reflect.apply(push, items2, [Reflect.apply(trim, r4, [])]); break reducibleJoin12; } const iterator = items2[Symbol.iterator](); const iterator2 = iterator.next; value = environment.__proto__; r2 = iterator; let item2 = Reflect.apply(iterator2, r2, []); let item = item2.value; item2 = item2.done ? undefined : r2; reducibleJoin14: while (true) { if (item2 === undefined) { return items3; } break reducibleJoin14; } reducibleLoop14: while (true) { try { toLowerCase = item.toLowerCase; } catch (error) { try { item2.return(); } catch { } throw error; } try { value7 = Reflect.apply(toLowerCase, item, []); } catch (error) { try { item2.return(); } catch { } throw error; } try { regexp = RegExp('^(linear|radial)-gradient\\(((?:\\([^)]*\\)|[^()])*)\\)', ''); } catch (error) { try { item2.return(); } catch { } throw error; } try { exec = regexp.exec; } catch (error) { try { item2.return(); } catch { } throw error; } try { value8 = Reflect.apply(exec, regexp, [value7]); } catch (error) { try { item2.return(); } catch { } throw error; } reducibleJoin13: while (true) { if (value8) { try { binding = env1_3; } catch (error) { try { item2.return(); } catch { } throw error; } try { value9 = binding(value8, 3); } catch (error) { try { item2.return(); } catch { } throw error; } try { property = value9[1]; } catch (error) { try { item2.return(); } catch { } throw error; } try { property2 = value9[2]; } catch (error) { try { item2.return(); } catch { } throw error; } try { toLowerCase = property.toLowerCase; } catch (error) { try { item2.return(); } catch { } throw error; } try { value10 = Reflect.apply(toLowerCase, property, []); } catch (error) { try { item2.return(); } catch { } throw error; } try { value11 = value10 === 'radial'; } catch (error) { try { item2.return(); } catch { } throw error; } if (value11) { try { parseRadialGradientCSSStringBinding = parseRadialGradientCSSString; } catch (error) { try { item2.return(); } catch { } throw error; } try { radialGradientCSSString = parseRadialGradientCSSStringBinding(property2); } catch (error) { try { item2.return(); } catch { } throw error; } r13 = radialGradientCSSString; } else { try { parseLinearGradientCSSStringBinding = parseLinearGradientCSSString; } catch (error) { try { item2.return(); } catch { } throw error; } try { linearGradientCSSString = parseLinearGradientCSSStringBinding(property2); } catch (error) { try { item2.return(); } catch { } throw error; } r13 = linearGradientCSSString; } try { value12 = r13 == null; } catch (error) { try { item2.return(); } catch { } throw error; } if (value12) { r2 = item2; break reducibleJoin13; } try { push = items3.push; } catch (error) { try { item2.return(); } catch { } throw error; } try { Reflect.apply(push, items3, [r13]); } catch (error) { try { item2.return(); } catch { } throw error; } r2 = item2; break reducibleJoin13; } r2 = item2; break reducibleJoin13; } item2 = Reflect.apply(iterator2, r2, []); item = item2.value; item2 = item2.done ? undefined : r2; if (item2 === undefined) { break reducibleLoop14; } continue reducibleLoop14; } return items3; }