Files
discord-decomp/sources/by-id/module-04222.js
T
2026-07-28 01:06:53 +03:00

6483 lines
361 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* Metro module 4222; source: unknown; dependencies: [] */
function _fun34556(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#34556, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4393:6, offset: 0x01059642, size: 44 bytes, params: 8, frame: 11
_fun34557.call(this);
function _fun34557() { // fn#34557, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4393:32, offset: 0x0105966e, size: 473 bytes, params: 1, frame: 19
var r8;
var r3;
let value = this;
const capitalize_34558 = function(a0) {
var value = (0, global.String)(a0);
return value.charAt(0).toUpperCase() + value.slice(1);
};
const closure = function(a0, a1) {
var r4;
var propertyName;
var propertyName2;
for (propertyName in a0) {
if (!hasOwnProperty.call(a0, propertyName)) {
r4 = propertyName2;
continue;
}
a1(a0[propertyName], propertyName, a0);
r4 = propertyName2;
}
};
const qualify_34562 = function(a0) {
return (0, global.String)(a0).replace(RegExp('([ -])(?!$)', 'g'), '$1?');
};
const trim_34565 = function(a0) {
return (0, global.String)(a0).replace(RegExp('^ +| +$', 'g'), '');
};
const object = {'function': true, 'object': true};
let r4 = object[typeof global.window] && global.window;
r4 = !r4 ? value : r4;
const env0_0 = r4;
const r7 = object[typeof env0_2] && env0_2;
const env0_1 = r7;
const r5 = object[typeof env0_1] && env0_1 && !env0_1.nodeType && env0_1;
const r0 = r7 && r5 && typeof env0_0 === 'object' && env0_0;
if (r0) {
r8 = r0.global !== r0 && r0.window !== r0;
r8 = r8 && r0.self !== r0;
r3 = r8;
} else {
r3 = !r0;
}
r4 = !r3 ? r0 : r4;
const Math = global.Math;
var env0_2 = Math.pow(2, 53) - 1;
const env0_3 = RegExp('\\bOpera', '');
const Object = global.Object;
const prototype = Object.prototype;
const env0_4 = prototype.hasOwnProperty;
const env0_5 = prototype.toString;
value = parse_34566();
if (typeof global.define !== 'function') {
if (r7) {
if (r5) {
closure(value, _fun34583);
} else {
r4.platform = value;
}
} else {
r4.platform = value;
}
} else if (typeof global.define.amd !== 'object') {
if (r7) {
if (r5) {
closure(value, _fun34583);
} else {
r4.platform = value;
}
} else {
r4.platform = value;
}
} else if (global.define.amd) {
r4.platform = value;
global.define(_fun34582);
} else if (r7) {
if (r5) {
closure(value, _fun34583);
} else {
r4.platform = value;
}
} else {
r4.platform = value;
}
function format_34559(a0) { // fn#34559, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4393:415, offset: 0x00d17176, size: 58 bytes, params: 2, frame: 13
const value2 = trim_34565(a0);
const regexp = RegExp('^(?:webOS|i(?:OS|P))', '');
return regexp.test(value2) ? value2 : capitalize_34558(value2);
}
function getClassOf_34561(a0) { // fn#34561, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4393:559, offset: 0x00d171f3, size: 64 bytes, params: 2, frame: 14
var r0;
var value;
if (a0 == null) {
r0 = capitalize_34558(a0);
} else {
value = toString.call(a0);
value = value.slice(8, -1);
r0 = value;
}
return r0;
}
function reduce_34563(a0, a1) { // fn#34563, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4393:700, offset: 0x01059847, size: 123 bytes, params: 3, frame: 17
var environment;
var length;
var r3;
var value2;
const env0_0 = a0;
const env0_1 = a1;
const env0_2 = null;
const closure = _fun34564;
let value = 0;
reducibleJoin2: while (true) {
if (a0) {
length = a0.length;
break reducibleJoin2;
}
length = value;
break reducibleJoin2;
}
reducibleJoin8: while (true) {
reducibleJoin5: while (true) {
if (typeof length !== 'number') {
break reducibleJoin5;
}
if (length > -1) {
value2 = environment;
if (length <= env0_2) {
if (value < length) {
r3 = value;
reducibleLoop7: while (true) {
closure(a0[r3], r3, a0);
value = typeof r3 === 'bigint' ? r3 + 1n : +r3 + 1;
if (value < length) {
r3 = value;
continue reducibleLoop7;
}
break reducibleJoin8;
}
return env0_2;
}
break reducibleJoin8;
}
break reducibleJoin5;
}
break reducibleJoin5;
}
value = environment;
forOwn_34560(a0, closure);
break reducibleJoin8;
}
return env0_2;
function _fun34564(a0, a1) { // fn#34564, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4393:861, offset: 0x00d172e1, size: 35 bytes, params: 3, frame: 18
moduleValue = require(moduleValue, a0, a1, env0_0);
}
}
function parse_34566(a0) { // fn#34566, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4393:956, offset: 0x010598c2, size: 10340 bytes, params: 2, frame: 62
var environment;
var r9;
var r10;
var r27;
var r20;
var r24;
var r41;
var r11;
var r14;
var r39;
var r38;
var r37;
var r33;
var r36;
var r40;
var r13;
var r35;
var r25;
var r44;
var r49;
var r46;
var r12;
var r47;
var r6;
var r462;
var r5;
var r3;
var r42;
var r29;
var r18;
var r32;
var r23;
var version;
var r34;
var r30;
var r26;
var r31;
var r28;
var r50;
var r48;
var r45;
var r43;
var r19;
var r17;
var r1;
var r16;
var r4;
var value3;
var getClassOf_34561Binding;
var classOf_34561;
var value5;
var value6;
var regexp;
var test;
var toStringBinding;
var toString2;
var java;
var opera;
var property;
var value8;
var value9;
var value28;
var value29;
var value31;
var value32;
var value33;
var value35;
var push;
var value36;
var value37;
var value38;
var value39;
var value40;
var value41;
var value42;
var value43;
var value44;
var slice;
var indexOf;
var value45;
var value46;
var value47;
var regexp2;
var value48;
var value49;
var value50;
var value51;
var unshift;
var value52;
var value53;
var value54;
var value55;
var value56;
var replace;
var value57;
var value58;
var value59;
var parse_34566Binding;
var value60;
var manufacturer;
var product;
var value61;
var value62;
var parseFloat;
var float;
var value63;
var value64;
var value65;
var value66;
var value67;
var value68;
var value69;
var value70;
var value71;
var value72;
var value73;
var value74;
var value75;
var value76;
var value77;
var value78;
var value79;
var value80;
var value81;
var value82;
var value83;
var value84;
var value85;
var value86;
var global;
var value87;
var value88;
var value89;
var value90;
var runtime;
var phantom;
var documentMode;
var value91;
var value92;
var value93;
var value94;
var value95;
var items10;
var value96;
var String;
var toFixed;
var value97;
var major;
var value98;
var minor;
var value99;
var patch;
var value100;
var value101;
var flash;
var system;
var Capabilities;
var os;
var lang;
var System;
var getProperty;
var value102;
var value103;
var value104;
var value105;
var process;
var value106;
var browser;
var value107;
var versions;
var electron;
var nw;
var value108;
var node;
var value109;
var value110;
var value111;
var arch;
var platform;
var value112;
var require;
var moduleValue;
var join;
var value113;
var value114;
var error;
var system2;
var system3;
var value115;
var value116;
var value117;
var format_34559Binding;
var value118;
var value119;
var value120;
var appMinorVersion;
var value121;
var value122;
var value123;
var value124;
var value125;
var value126;
var RegExp;
var value127;
var value128;
var value129;
var value130;
var value131;
var value132;
var value133;
var value134;
var value135;
var value136;
var forOwn_34560Binding;
var value137;
var value138;
var value139;
var value140;
var value141;
var value142;
var value143;
var value144;
var value145;
var value146;
var value147;
var value148;
var value149;
var call;
var value150;
var value151;
var value152;
var name;
var value153;
var value154;
var value155;
var value156;
var value157;
var value158;
var value159;
var value160;
var value161;
var items12;
var value162;
var value163;
var external;
var value164;
var value165;
var value166;
var value167;
var value168;
var value170;
var value171;
var float2;
var items13;
var value172;
var value173;
var value174;
var value175;
var value176;
var value177;
var value178;
var value179;
var value180;
var value181;
var value182;
var value183;
var float3;
var value184;
var value185;
var value186;
var value187;
var value188;
var value189;
var value190;
var value191;
var value192;
var value193;
var value194;
var value195;
var value196;
var value197;
var value198;
var value199;
var value200;
var value201;
var value202;
var value203;
var value204;
var value205;
var value206;
var value207;
var value208;
var value209;
var value210;
var value211;
var value212;
var value213;
var value214;
var value215;
var value216;
var value217;
var value218;
var value219;
var value220;
var value221;
var value222;
var value223;
var value224;
var value225;
var value226;
var parseInt;
var int;
var value227;
var value228;
var value229;
var value230;
var value231;
var value232;
var value233;
var value234;
var value235;
var value236;
var value237;
var value238;
var value239;
var value240;
var value241;
var value242;
var trim_34565Binding;
var value243;
var value244;
var value245;
var value246;
var value247;
var value248;
var value249;
var length;
var value250;
var value251;
var value252;
var value253;
var value254;
var value255;
var value256;
var value257;
var charAt;
var length2;
var value258;
var value259;
var value260;
var value261;
var family;
var value262;
var value263;
var cpuClass;
var split;
let value = a0;
let env0_0 = value;
const closure = function(a0) {
return reduce_34563(a0, _fun34568);
};
let binding = env0_0;
reducibleJoin2: while (true) {
if (value) {
value3 = typeof value === 'object';
r9 = value3;
break reducibleJoin2;
}
r9 = value;
break reducibleJoin2;
}
reducibleJoin4: while (true) {
if (r9) {
classOf_34561 = getClassOf_34561(value);
value5 = classOf_34561 != 'String';
r9 = value5;
break reducibleJoin4;
}
break reducibleJoin4;
}
reducibleJoin6: while (true) {
if (r9) {
value6 = null;
env0_0 = value6;
r10 = value6;
r27 = value;
break reducibleJoin6;
}
r10 = value;
r27 = binding;
break reducibleJoin6;
}
const navigator = r27.navigator;
reducibleJoin8: while (true) {
if (navigator) {
r20 = navigator;
break reducibleJoin8;
}
r20 = {};
break reducibleJoin8;
}
let userAgent = r20.userAgent;
reducibleJoin10: while (true) {
if (userAgent) {
break reducibleJoin10;
}
value = '';
userAgent = value;
break reducibleJoin10;
}
reducibleJoin12: while (true) {
if (r10) {
break reducibleJoin12;
}
env0_0 = userAgent;
r10 = userAgent;
break reducibleJoin12;
}
if (r9) {
r24 = !!r20.likeChrome;
} else {
regexp = RegExp('\\bChrome\\b', '');
value = regexp.test(r10);
reducibleJoin15: while (true) {
if (value) {
regexp = RegExp('internal|\\n', 'i');
test = regexp.test;
toStringBinding = toString;
toString2 = toStringBinding.toString;
value = !Reflect.apply(test, regexp, [Reflect.apply(toString2, toStringBinding, [])]);
r24 = value;
break reducibleJoin15;
}
r24 = value;
break reducibleJoin15;
}
}
value = 'ScriptBridgingProxyObject';
reducibleJoin19: while (true) {
if (r9) {
value = 'Object';
r41 = value;
break reducibleJoin19;
}
r41 = value;
break reducibleJoin19;
}
value = 'Environment';
reducibleJoin21: while (true) {
if (r9) {
value = 'Object';
r11 = value;
break reducibleJoin21;
}
r11 = value;
break reducibleJoin21;
}
reducibleJoin24: while (true) {
reducibleJoin23: while (true) {
if (r9) {
java = r27.java;
value = 'JavaPackage';
if (java) {
r14 = value;
break reducibleJoin24;
}
break reducibleJoin23;
}
break reducibleJoin23;
}
getClassOf_34561Binding = getClassOf_34561;
java = r27.java;
value = getClassOf_34561Binding(java);
r14 = value;
break reducibleJoin24;
}
value = 'RuntimeObject';
reducibleJoin26: while (true) {
if (r9) {
value = 'Object';
r39 = value;
break reducibleJoin26;
}
r39 = value;
break reducibleJoin26;
}
value = RegExp('\\bJava', '').test(r14);
reducibleJoin28: while (true) {
if (value) {
java = r27.java;
r38 = java;
break reducibleJoin28;
}
r38 = value;
break reducibleJoin28;
}
reducibleJoin30: while (true) {
if (r38) {
getClassOf_34561Binding = getClassOf_34561;
environment = r27.environment;
value = getClassOf_34561Binding(environment) == r11;
r37 = value;
break reducibleJoin30;
}
r37 = r38;
break reducibleJoin30;
}
value = 'α';
reducibleJoin32: while (true) {
if (r38) {
value = 'a';
r33 = value;
break reducibleJoin32;
}
r33 = value;
break reducibleJoin32;
}
value = 'β';
reducibleJoin34: while (true) {
if (r38) {
value = 'b';
r36 = value;
break reducibleJoin34;
}
r36 = value;
break reducibleJoin34;
}
const document = r27.document;
reducibleJoin36: while (true) {
if (document) {
r40 = document;
break reducibleJoin36;
}
r40 = {};
break reducibleJoin36;
}
const operamini = r27.operamini;
reducibleJoin38: while (true) {
if (operamini) {
r13 = operamini;
break reducibleJoin38;
}
opera = r27.opera;
r13 = opera;
break reducibleJoin38;
}
binding = env0_3;
test = binding.test;
reducibleJoin42: while (true) {
reducibleJoin40: while (true) {
if (r9) {
if (r13) {
property = r13['[[Class]]'];
r9 = property;
break reducibleJoin42;
}
break reducibleJoin40;
}
break reducibleJoin40;
}
value = getClassOf_34561(r13);
r9 = value;
break reducibleJoin42;
}
value = Reflect.apply(test, binding, [r9]);
const value7 = null;
if (value) {
r35 = r9;
r9 = r13;
} else {
r9 = value7;
r35 = value7;
}
let object = [];
value = r10 == userAgent;
let r2 = value && r9;
reducibleJoin46: while (true) {
if (r2) {
version = r9.version;
value8 = typeof version === 'function';
r2 = value8;
break reducibleJoin46;
}
break reducibleJoin46;
}
reducibleJoin48: while (true) {
if (r2) {
version = r9.version;
value9 = Reflect.apply(version, r9, []);
r2 = value9;
break reducibleJoin48;
}
break reducibleJoin48;
}
const value10 = 'Trident';
const value11 = 'WebKit';
const value12 = 'Presto';
const value13 = 'NetFront';
const value14 = 'Tasman';
const value15 = ((a0) => reduce_34563(a0, _fun34570))([{'label': 'EdgeHTML', 'pattern': 'Edge'}, value10,
{'label': 'WebKit', 'pattern': 'AppleWebKit'}, 'iCab', value12, value13, value14, 'KHTML', 'Gecko']);
const value16 = 'PhantomJS';
const value17 = 'Opera';
const value18 = 'Chrome Mobile';
const value19 = 'IE';
const value20 = 'Safari';
const value21 = ((a0) => reduce_34563(a0, _fun34572))(['Adobe AIR', 'Arora', 'Avant Browser', 'Breach', 'Camino',
'Electron', 'Epiphany', 'Fennec', 'Flock', 'Galeon', 'GreenBrowser', 'iCab', 'Iceweasel', 'K-Meleon',
'Konqueror', 'Lunascape', 'Maxthon', {'label': 'Microsoft Edge', 'pattern': 'Edge'}, 'Midori', 'Nook Browser',
'PaleMoon', value16, 'Raven', 'Rekonq', 'RockMelt', {'label': 'Samsung Internet', 'pattern': 'SamsungBrowser'},
'SeaMonkey', {'label': 'Silk', 'pattern': '(?:Cloud9|Silk-Accelerated)'}, 'Sleipnir', 'SlimBrowser',
{'label': 'SRWare Iron', 'pattern': 'Iron'}, 'Sunrise', 'Swiftfox', 'Waterfox', 'WebPositive', 'Opera Mini',
{'label': 'Opera Mini', 'pattern': 'OPiOS'}, value17, {'label': 'Opera', 'pattern': 'OPR'}, 'Chrome',
{'label': 'Chrome Mobile', 'pattern': '(?:CriOS|CrMo)'}, {'label': 'Firefox',
'pattern': '(?:Firefox|Minefield)'}, {'label': 'Firefox for iOS', 'pattern': 'FxiOS'}, {'label': 'IE',
'pattern': 'IEMobile'}, {'label': 'IE', 'pattern': 'MSIE'}, value20]);
const value22 = 'BlackBerry';
const value23 = closure([{'label': 'BlackBerry', 'pattern': 'BB10'}, value22, {'label': 'Galaxy S',
'pattern': 'GT-I9000'}, {'label': 'Galaxy S2', 'pattern': 'GT-I9100'}, {'label': 'Galaxy S3',
'pattern': 'GT-I9300'}, {'label': 'Galaxy S4', 'pattern': 'GT-I9500'}, {'label': 'Galaxy S5',
'pattern': 'SM-G900'}, {'label': 'Galaxy S6', 'pattern': 'SM-G920'}, {'label': 'Galaxy S6 Edge',
'pattern': 'SM-G925'}, {'label': 'Galaxy S7', 'pattern': 'SM-G930'}, {'label': 'Galaxy S7 Edge',
'pattern': 'SM-G935'}, 'Google TV', 'Lumia', 'iPad', 'iPod', 'iPhone', 'Kindle', {'label': 'Kindle Fire',
'pattern': '(?:Cloud9|Silk-Accelerated)'}, 'Nexus', 'Nook', 'PlayBook', 'PlayStation Vita', 'PlayStation',
'TouchPad', 'Transformer', {'label': 'Wii U', 'pattern': 'WiiU'}, 'Wii', 'Xbox One', {'label': 'Xbox 360',
'pattern': 'Xbox'}, 'Xoom']);
var env0_2;
const value24 = 1;
const value25 = ((a0) => reduce_34563(a0, _fun34574))({Apple: {'iPad': 1, 'iPhone': 1, 'iPod': 1}, Archos: {},
Amazon: {'Kindle': 1, 'Kindle Fire': 1}, Asus: {Transformer: value24}, ['Barnes & Noble']: {Nook: value24},
BlackBerry: {PlayBook: value24}, Google: {'Google TV': 1, 'Nexus': 1}, HP: {TouchPad: value24}, HTC: {}, LG: {},
Microsoft: {'Xbox': 1, 'Xbox One': 1}, Motorola: {Xoom: value24}, Nintendo: {'Wii U': 1, 'Wii': 1},
Nokia: {Lumia: value24}, Samsung: {'Galaxy S': 1, 'Galaxy S2': 1, 'Galaxy S3': 1, 'Galaxy S4': 1},
Sony: {'PlayStation': 1, 'PlayStation Vita': 1}});
const value26 = 'Kubuntu';
const value27 = ((a0) => reduce_34563(a0, _fun34576))(['Windows Phone', 'Android', 'CentOS', {'label': 'Chrome OS',
'pattern': 'CrOS'}, 'Debian', 'Fedora', 'FreeBSD', 'Gentoo', 'Haiku', value26, 'Linux Mint', 'OpenBSD',
'Red Hat', 'SuSE', 'Ubuntu', 'Xubuntu', 'Cygwin', 'Symbian OS', 'hpwOS', 'webOS ', 'webOS', 'Tablet OS',
'Tizen', 'Linux', 'Mac OS X', 'Macintosh', 'Mac', 'Windows 98;', 'Windows ']);
reducibleJoin50: while (true) {
if (value15) {
r25 = [value15];
break reducibleJoin50;
}
r25 = value15;
break reducibleJoin50;
}
reducibleJoin52: while (true) {
if (value25) {
value28 = !value23;
r14 = value28;
break reducibleJoin52;
}
r14 = value25;
break reducibleJoin52;
}
reducibleJoin54: while (true) {
if (r14) {
value29 = closure([value25]);
env0_2 = value29;
r44 = value29;
break reducibleJoin54;
}
r44 = value23;
break reducibleJoin54;
}
regexp = RegExp('\\bGoogle TV\\b', '');
let exec = regexp.exec;
const value30 = Reflect.apply(exec, regexp, [r44]);
reducibleJoin56: while (true) {
if (value30) {
property = value30[0];
env0_2 = property;
r49 = property;
break reducibleJoin56;
}
r49 = r44;
break reducibleJoin56;
}
regexp = RegExp('\\bSimulator\\b', 'i');
reducibleJoin60: while (true) {
if (regexp.test(r10)) {
value31 = '';
reducibleJoin59: while (true) {
if (r49) {
value32 = r49 + ' ';
r46 = value32;
break reducibleJoin59;
}
r46 = value31;
break reducibleJoin59;
}
value33 = r46 + 'Simulator';
env0_2 = value33;
r44 = value33;
break reducibleJoin60;
}
r44 = r49;
break reducibleJoin60;
}
const value34 = value21 == 'Opera Mini';
reducibleJoin62: while (true) {
if (value34) {
regexp = RegExp('\\bOPiOS\\b', '');
test = regexp.test;
value35 = Reflect.apply(test, regexp, [r10]);
r14 = value35;
break reducibleJoin62;
}
r14 = value34;
break reducibleJoin62;
}
reducibleJoin64: while (true) {
if (r14) {
push = object.push;
Reflect.apply(push, object, ['running in Turbo/Uncompressed mode']);
break reducibleJoin64;
}
break reducibleJoin64;
}
reducibleJoin123: while (true) {
reducibleJoin66: while (true) {
if (value19 != value21) {
break reducibleJoin66;
}
regexp = RegExp('\\blike iPhone OS\\b', '');
test = regexp.test;
if (Reflect.apply(test, regexp, [r10])) {
parse_34566Binding = parse_34566;
replace = r10.replace;
value60 = parse_34566Binding(Reflect.apply(replace, r10, [RegExp('like iPhone OS', ''), '']));
manufacturer = value60.manufacturer;
product = value60.product;
env0_2 = product;
r5 = value27;
r6 = value21;
r11 = manufacturer;
r14 = product;
break reducibleJoin123;
}
break reducibleJoin66;
}
regexp = RegExp('^iP', '');
test = regexp.test;
if (Reflect.apply(test, regexp, [r44])) {
r6 = value21 || value20;
regexp = RegExp(' OS ([\\d_]+)', 'i');
exec = regexp.exec;
value55 = Reflect.apply(exec, regexp, [r10]);
value56 = '';
reducibleJoin121: while (true) {
if (value55) {
property = value55[value24];
replace = property.replace;
value57 = Reflect.apply(replace, property, [RegExp('_', 'g'), '.']);
value58 = ' ' + value57;
r46 = value58;
break reducibleJoin121;
}
r46 = value56;
break reducibleJoin121;
}
value59 = 'iOS' + r46;
r5 = value59;
r11 = value25;
r14 = r44;
break reducibleJoin123;
}
if (value21 == 'Konqueror') {
regexp = RegExp('buntu', 'i');
if (!regexp.test(value27)) {
r5 = value26;
r6 = value21;
r11 = value25;
r14 = r44;
break reducibleJoin123;
}
}
if (value25) {
if (value25 != 'Google') {
regexp = RegExp('Chrome', '');
test = regexp.test;
if (Reflect.apply(test, regexp, [value21])) {
regexp = RegExp('\\bMobile Safari\\b', 'i');
if (!regexp.test(r10)) {
value52 = 'Android Browser';
regexp = RegExp('\\bAndroid\\b', '');
value53 = regexp.test(value27);
value54 = 'Android';
r46 = value53 ? value27 : value54;
r5 = r46;
r6 = value52;
r11 = value25;
r14 = r44;
break reducibleJoin123;
}
}
regexp = RegExp('\\bVita\\b', '');
test = regexp.test;
if (Reflect.apply(test, regexp, [r44])) {
value52 = 'Android Browser';
regexp = RegExp('\\bAndroid\\b', '');
value53 = regexp.test(value27);
value54 = 'Android';
r46 = value53 ? value27 : value54;
r5 = r46;
r6 = value52;
r11 = value25;
r14 = r44;
break reducibleJoin123;
}
}
}
regexp = RegExp('\\bAndroid\\b', '');
test = regexp.test;
if (Reflect.apply(test, regexp, [value27])) {
regexp = RegExp('^Chrome', '');
test = regexp.test;
if (Reflect.apply(test, regexp, [value21])) {
regexp = RegExp('\\bVersion\\/', 'i');
test = regexp.test;
if (Reflect.apply(test, regexp, [r10])) {
value52 = 'Android Browser';
regexp = RegExp('\\bAndroid\\b', '');
test = regexp.test;
value53 = Reflect.apply(test, regexp, [value27]);
value54 = 'Android';
r46 = value53 ? value27 : value54;
r5 = r46;
r6 = value52;
r11 = value25;
r14 = r44;
break reducibleJoin123;
}
}
}
if (value21 == 'Silk') {
regexp = RegExp('\\bMobi', 'i');
test = regexp.test;
reducibleJoin114: while (true) {
if (Reflect.apply(test, regexp, [r10])) {
r5 = value27;
break reducibleJoin114;
}
value51 = 'Android';
unshift = object.unshift;
Reflect.apply(unshift, object, ['desktop mode']);
r5 = value51;
break reducibleJoin114;
}
regexp = RegExp('Accelerated *= *true', 'i');
test = regexp.test;
if (Reflect.apply(test, regexp, [r10])) {
unshift = object.unshift;
Reflect.apply(unshift, object, ['accelerated']);
r6 = value21;
r11 = value25;
r14 = r44;
break reducibleJoin123;
}
r6 = value21;
r11 = value25;
r14 = r44;
break reducibleJoin123;
}
if (value21 != 'PaleMoon') {
r12 = value30;
} else {
regexp = RegExp('\\bFirefox\\/([\\d.]+)\\b', '');
exec = regexp.exec;
value36 = Reflect.apply(exec, regexp, [r10]);
if (value36) {
push = object.push;
Reflect.apply(push, object, ['identifying as Firefox ' + value36[value24]]);
r5 = value27;
r6 = value21;
r11 = value25;
r14 = r44;
break reducibleJoin123;
}
r12 = value36;
}
if (value21 == 'Firefox') {
regexp = RegExp('\\b(Mobile|Tablet|TV)\\b', 'i');
exec = regexp.exec;
value37 = Reflect.apply(exec, regexp, [r10]);
if (value37) {
reducibleJoin109: while (true) {
if (value27) {
r5 = value27;
break reducibleJoin109;
}
value50 = 'Firefox OS';
r5 = value50;
break reducibleJoin109;
}
if (r44) {
r6 = value21;
r11 = value25;
r14 = r44;
break reducibleJoin123;
}
property = value37[value24];
env0_2 = property;
r6 = value21;
r11 = value25;
r14 = property;
break reducibleJoin123;
}
r12 = value37;
}
if (value21) {
regexp = RegExp('\\bMinefield\\b', 'i');
test = regexp.test;
value38 = Reflect.apply(test, regexp, [r10]);
value39 = !value38;
reducibleJoin85: while (true) {
if (value38) {
r46 = value39;
break reducibleJoin85;
}
regexp = RegExp('\\b(?:Firefox|Safari)\\b', '');
exec = regexp.exec;
value40 = Reflect.apply(exec, regexp, [value21]);
r46 = value40;
break reducibleJoin85;
}
if (!r46) {
value41 = value21 == 'Electron';
reducibleJoin90: while (true) {
if (value41) {
regexp = RegExp('\\bChrome\\/([\\d.]+)\\b', '');
exec = regexp.exec;
value42 = Reflect.apply(exec, regexp, [r10]);
reducibleJoin89: while (true) {
if (value42) {
r47 = value42;
break reducibleJoin89;
}
value43 = 0;
r47 = value43;
break reducibleJoin89;
}
property = r47[value24];
r12 = property;
r46 = property;
break reducibleJoin90;
}
r12 = r46;
r46 = value41;
break reducibleJoin90;
}
if (r46) {
push = object.push;
Reflect.apply(push, object, ['Chromium ' + r12]);
r5 = value27;
r6 = value21;
r11 = value25;
r14 = r44;
break reducibleJoin123;
}
r5 = value27;
r6 = value21;
r11 = value25;
r14 = r44;
break reducibleJoin123;
}
r12 = r46;
}
reducibleJoin94: while (true) {
if (value21) {
value44 = !r44;
r46 = value44;
break reducibleJoin94;
}
r46 = value21;
break reducibleJoin94;
}
reducibleJoin96: while (true) {
if (r46) {
regexp = RegExp('[\\/,]|^[^(]+?\\)', '');
test = regexp.test;
slice = r10.slice;
indexOf = r10.indexOf;
value45 = Reflect.apply(indexOf, r10, [r12 + '/']);
value46 = Reflect.apply(test, regexp, [Reflect.apply(slice, r10, [value45 + 8])]);
r46 = value46;
break reducibleJoin96;
}
break reducibleJoin96;
}
r6 = r46 ? value7 : value21;
r46 = r44 || value25;
if (!r46) {
r46 = value27;
}
reducibleJoin104: while (true) {
if (r46) {
r47 = r44 || value25;
reducibleJoin103: while (true) {
if (r47) {
break reducibleJoin103;
}
regexp = RegExp('\\b(?:Android|Symbian OS|Tablet OS|webOS)\\b', '');
test = regexp.test;
value47 = Reflect.apply(test, regexp, [value27]);
r47 = value47;
break reducibleJoin103;
}
r462 = r47;
break reducibleJoin104;
}
r462 = r46;
break reducibleJoin104;
}
if (r462) {
regexp = RegExp('[a-z]+(?: Hat)?', 'i');
exec = regexp.exec;
regexp2 = RegExp('\\bAndroid\\b', '');
test = regexp2.test;
if (Reflect.apply(test, regexp2, [value27])) {
r46 = value27;
}
value48 = Reflect.apply(exec, regexp, [r46]);
value49 = value48 + ' Browser';
r5 = value27;
r6 = value49;
r11 = value25;
r14 = r44;
break reducibleJoin123;
}
r5 = value27;
r11 = value25;
r14 = r44;
break reducibleJoin123;
}
reducibleJoin125: while (true) {
if (r2) {
r3 = r2;
break reducibleJoin125;
}
value61 = qualify_34562(r6);
value62 = ((a0) => reduce_34563(a0,
_fun34578))(['(?:Cloud9|CriOS|CrMo|Edge|FxiOS|IEMobile|Iron|Opera ?Mini|OPiOS|OPR|Raven|SamsungBrowser|Silk(?!/[\\d.]+$))',
'Version', value61, '(?:Firefox|Minefield|NetFront)']);
r3 = value62;
break reducibleJoin125;
}
reducibleJoin132: while (true) {
reducibleJoin131: while (true) {
if (r25 != 'iCab') {
regexp = RegExp('\\bOpera\\b', '');
value63 = regexp.test(r6);
if (value63) {
regexp = RegExp('\\bOPR\\b', '');
reducibleJoin130: while (true) {
if (regexp.test(r10)) {
value64 = 'Blink';
r42 = value64;
break reducibleJoin130;
}
r42 = value12;
break reducibleJoin130;
}
r29 = r42;
break reducibleJoin131;
}
r29 = value63;
break reducibleJoin131;
}
parseFloat = global.parseFloat;
float = parseFloat(r3);
if (float > 3) {
r18 = value11;
break reducibleJoin132;
}
regexp = RegExp('\\bOpera\\b', '');
test = regexp.test;
value63 = Reflect.apply(test, regexp, [r6]);
if (value63) {
regexp = RegExp('\\bOPR\\b', '');
test = regexp.test;
reducibleJoin130: while (true) {
if (Reflect.apply(test, regexp, [r10])) {
value64 = 'Blink';
r42 = value64;
break reducibleJoin130;
}
r42 = value12;
break reducibleJoin130;
}
r29 = r42;
break reducibleJoin131;
}
r29 = value63;
break reducibleJoin131;
}
r18 = r29;
break reducibleJoin132;
}
reducibleJoin137: while (true) {
if (r18) {
break reducibleJoin137;
}
regexp = RegExp('\\b(?:Midori|Nook|Safari)\\b', 'i');
test = regexp.test;
value65 = Reflect.apply(test, regexp, [r10]);
reducibleJoin135: while (true) {
if (value65) {
regexp = RegExp('^(?:Trident|EdgeHTML)$', '');
test = regexp.test;
value66 = !Reflect.apply(test, regexp, [r25]);
r29 = value66;
break reducibleJoin135;
}
r29 = value65;
break reducibleJoin135;
}
if (r29) {
r29 = value11;
}
r18 = r29;
break reducibleJoin137;
}
reducibleJoin144: while (true) {
if (r18) {
break reducibleJoin144;
}
value67 = !r25;
reducibleJoin140: while (true) {
if (r25) {
r29 = value67;
break reducibleJoin140;
}
regexp = RegExp('\\bMSIE\\b', 'i');
test = regexp.test;
value68 = Reflect.apply(test, regexp, [r10]);
r29 = value68;
break reducibleJoin140;
}
reducibleJoin143: while (true) {
if (r29) {
r42 = r5 == 'Mac OS' ? value14 : value10;
r29 = r42;
break reducibleJoin143;
}
break reducibleJoin143;
}
r18 = r29;
break reducibleJoin144;
}
reducibleJoin149: while (true) {
if (r18) {
break reducibleJoin149;
}
value69 = value11 == r25;
reducibleJoin147: while (true) {
if (value69) {
regexp = RegExp('\\bPlayStation\\b(?! Vita\\b)', 'i');
test = regexp.test;
value70 = Reflect.apply(test, regexp, [r6]);
r29 = value70;
break reducibleJoin147;
}
r29 = value69;
break reducibleJoin147;
}
if (r29) {
r29 = value13;
}
r18 = r29;
break reducibleJoin149;
}
reducibleJoin151: while (true) {
if (r18) {
r32 = [r18];
break reducibleJoin151;
}
r32 = r25;
break reducibleJoin151;
}
reducibleJoin173: while (true) {
reducibleJoin155: while (true) {
if (value19 != r6) {
r12 = r18;
break reducibleJoin155;
}
regexp = RegExp('; *(?:XBLWP|ZuneWP)(\\d+)', 'i');
exec = regexp.exec;
value71 = Reflect.apply(exec, regexp, [r10]);
reducibleJoin154: while (true) {
if (value71) {
r18 = value71;
break reducibleJoin154;
}
value72 = 0;
r18 = value72;
break reducibleJoin154;
}
property = r18[value24];
if (property) {
value83 = r6 + ' Mobile';
regexp = RegExp('\\+$', '');
test = regexp.test;
reducibleJoin172: while (true) {
if (Reflect.apply(test, regexp, [property])) {
r23 = property;
break reducibleJoin172;
}
value84 = property + '.x';
r23 = value84;
break reducibleJoin172;
}
value85 = 'Windows Phone ' + r23;
unshift = object.unshift;
Reflect.apply(unshift, object, ['desktop mode']);
r5 = value85;
r6 = value83;
r12 = property;
break reducibleJoin173;
}
r12 = property;
break reducibleJoin155;
}
regexp = RegExp('\\bWPDesktop\\b', 'i');
test = regexp.test;
if (Reflect.apply(test, regexp, [r10])) {
value79 = 'IE Mobile';
value80 = 'Windows Phone 8.x';
unshift = object.unshift;
Reflect.apply(unshift, object, ['desktop mode']);
if (r3) {
r5 = value80;
r6 = value79;
break reducibleJoin173;
}
regexp = RegExp('\\brv:([\\d.]+)', '');
exec = regexp.exec;
value81 = Reflect.apply(exec, regexp, [r10]);
reducibleJoin169: while (true) {
if (value81) {
r18 = value81;
break reducibleJoin169;
}
value82 = 0;
r18 = value82;
break reducibleJoin169;
}
property = r18[value24];
r3 = property;
r5 = value80;
r6 = value79;
break reducibleJoin173;
}
value73 = value19 != r6;
reducibleJoin158: while (true) {
if (value73) {
value74 = value10 == r32;
r18 = value74;
break reducibleJoin158;
}
r18 = value73;
break reducibleJoin158;
}
reducibleJoin160: while (true) {
if (r18) {
regexp = RegExp('\\brv:([\\d.]+)', '');
exec = regexp.exec;
value75 = Reflect.apply(exec, regexp, [r10]);
r12 = value75;
r18 = value75;
break reducibleJoin160;
}
break reducibleJoin160;
}
if (r18) {
reducibleJoin165: while (true) {
if (r6) {
push = object.push;
value76 = 'identifying as ' + r6;
value77 = '';
reducibleJoin164: while (true) {
if (r3) {
value78 = ' ' + r3;
r18 = value78;
break reducibleJoin164;
}
r18 = value77;
break reducibleJoin164;
}
Reflect.apply(push, object, [value76 + r18]);
break reducibleJoin165;
}
break reducibleJoin165;
}
property = r12[value24];
r3 = property;
r6 = value19;
break reducibleJoin173;
}
break reducibleJoin173;
}
reducibleJoin242: while (true) {
if (value) {
value86 = 'number';
reducibleJoin176: while (true) {
if (value7 != r27) {
global = r27.global;
value87 = typeof global;
r42 = value87;
break reducibleJoin176;
}
r42 = value86;
break reducibleJoin176;
}
regexp = RegExp('^(?:boolean|number|string|undefined)$', '');
test = regexp.test;
value88 = Reflect.apply(test, regexp, [r42]);
reducibleJoin180: while (true) {
if (value88) {
r25 = value88;
break reducibleJoin180;
}
value89 = r42 === 'object';
reducibleJoin179: while (true) {
if (value89) {
global = r27.global;
value90 = !global;
r42 = value90;
break reducibleJoin179;
}
r42 = value89;
break reducibleJoin179;
}
r25 = r42;
break reducibleJoin180;
}
if (r25) {
getClassOf_34561Binding = getClassOf_34561;
runtime = r27.runtime;
if (getClassOf_34561Binding(runtime) == r41) {
value101 = 'Adobe AIR';
flash = runtime.flash;
system = flash.system;
Capabilities = system.Capabilities;
os = Capabilities.os;
r5 = os;
r6 = value101;
r12 = runtime;
r25 = r32;
r29 = r10;
} else {
getClassOf_34561Binding = getClassOf_34561;
phantom = r27.phantom;
if (getClassOf_34561Binding(phantom) == r39) {
version = phantom.version;
if (!version) {
version = value7;
}
reducibleJoin200: while (true) {
if (version) {
major = version.major;
value98 = major + '.';
minor = version.minor;
value99 = value98 + minor;
patch = version.patch;
value100 = value99 + '.' + patch;
r34 = value100;
break reducibleJoin200;
}
r34 = version;
break reducibleJoin200;
}
r3 = r34;
r6 = value16;
r12 = version;
r25 = r32;
r29 = r10;
} else {
documentMode = r40.documentMode;
reducibleJoin239: while (true) {
reducibleJoin187: while (true) {
if (value86 !== typeof documentMode) {
r12 = phantom;
value92 = value86 === typeof r40.documentMode;
if (value92) {
regexp = RegExp('^(?:Chrome|Firefox)\\b', '');
test = regexp.test;
value93 = Reflect.apply(test, regexp, [r6]);
r39 = value93;
break reducibleJoin187;
}
r39 = value92;
break reducibleJoin187;
}
regexp = RegExp('\\bTrident\\/(\\d+)', 'i');
exec = regexp.exec;
value91 = Reflect.apply(exec, regexp, [r10]);
if (value91) {
items10 = [r3];
items10[1] = r40.documentMode;
value96 = Number(value91[value24]) + 4;
reducibleJoin193: while (true) {
if (value96 == items10[value24]) {
break reducibleJoin193;
}
push = object.push;
Reflect.apply(push, object, ['IE ' + items10[value24] + ' mode']);
reducibleJoin192: while (true) {
if (r32) {
r32[value24] = '';
break reducibleJoin192;
}
break reducibleJoin192;
}
items10[value24] = value96;
break reducibleJoin193;
}
if (value19 == r6) {
String = global.String;
property = items10[value24];
toFixed = property.toFixed;
value97 = String(Reflect.apply(toFixed, property, [value24]));
r39 = value97;
} else {
property = items10[0];
r39 = property;
}
r3 = r39;
r12 = value96;
r25 = r32;
r29 = r10;
break reducibleJoin239;
}
r12 = value91;
documentMode = r40.documentMode;
value92 = value86 === typeof documentMode;
if (value92) {
regexp = RegExp('^(?:Chrome|Firefox)\\b', '');
test = regexp.test;
value93 = Reflect.apply(test, regexp, [r6]);
r39 = value93;
break reducibleJoin187;
}
r39 = value92;
break reducibleJoin187;
}
if (r39) {
push = object.push;
Reflect.apply(push, object, ['masking as ' + r6 + ' ' + r3]);
value94 = '11.0';
value95 = 'Windows';
r3 = value94;
r5 = value95;
r6 = value19;
r25 = ['Trident'];
r29 = r10;
break reducibleJoin239;
}
r25 = r32;
r29 = r10;
break reducibleJoin239;
}
}
}
} else {
reducibleJoin206: while (true) {
if (r38) {
lang = r38.lang;
System = lang.System;
getProperty = System.getProperty;
value102 = Reflect.apply(getProperty, System, ['os.arch']);
reducibleJoin205: while (true) {
if (r5) {
r39 = r5;
break reducibleJoin205;
}
getProperty = System.getProperty;
value103 = Reflect.apply(getProperty, System, ['os.name']);
value104 = value103 + ' ';
getProperty = System.getProperty;
value105 = value104 + Reflect.apply(getProperty, System, ['os.version']);
r39 = value105;
break reducibleJoin205;
}
r5 = r39;
r12 = System;
r34 = value102;
break reducibleJoin206;
}
r34 = r10;
break reducibleJoin206;
}
if (r37) {
reducibleJoin224: while (true) {
reduciblePort237: while (true) {
exceptionLanding231: while (true) {
try {
require = r27.require;
} catch (error) {
break exceptionLanding231;
}
break reducibleJoin224;
}
system = r27.system;
reducibleJoin233: while (true) {
if (system) {
global = system.global;
system2 = global.system;
system3 = r27.system;
value115 = system2 == system3;
r37 = value115;
break reducibleJoin233;
}
r37 = system;
break reducibleJoin233;
}
reducibleJoin237: while (true) {
if (r37) {
value116 = 'Narwhal';
if (r5) {
r6 = value116;
r12 = system;
break reducibleJoin237;
}
os = system[0].os;
r37 = os || value7;
r5 = r37;
r6 = value116;
r12 = system;
break reducibleJoin237;
}
r12 = system;
break reducibleJoin237;
}
break reduciblePort237;
}
reducibleJoin239: while (true) {
if (r6) {
r25 = r32;
r29 = r34;
break reducibleJoin239;
}
value117 = 'Rhino';
r6 = value117;
r25 = r32;
r29 = r34;
break reducibleJoin239;
}
reducibleJoin241: while (true) {
if (r5) {
value118 = format_34559(r5);
r32 = value118;
break reducibleJoin241;
}
r32 = r5;
break reducibleJoin241;
}
r5 = r32;
r18 = r29;
r23 = r25;
break reducibleJoin242;
}
try {
moduleValue = Reflect.apply(require, r27, ['ringo/engine']);
} catch (error) {
break exceptionLanding231;
}
try {
version = moduleValue.version;
} catch (error) {
break exceptionLanding231;
}
try {
join = version.join;
} catch (error) {
break exceptionLanding231;
}
try {
value113 = Reflect.apply(join, version, ['.']);
} catch (error) {
break exceptionLanding231;
}
value114 = 'RingoJS';
r3 = value113;
r6 = value114;
reducibleJoin239: while (true) {
if (r6) {
r25 = r32;
r29 = r34;
break reducibleJoin239;
}
value117 = 'Rhino';
r6 = value117;
r25 = r32;
r29 = r34;
break reducibleJoin239;
}
} else {
process = r27.process;
value106 = typeof process === 'object';
reducibleJoin209: while (true) {
if (value106) {
process = r27.process;
browser = process.browser;
value107 = !browser;
r37 = value107;
break reducibleJoin209;
}
r37 = value106;
break reducibleJoin209;
}
reducibleJoin211: while (true) {
if (r37) {
process = r27.process;
r12 = process;
r37 = process;
break reducibleJoin211;
}
break reducibleJoin211;
}
reducibleJoin239: while (true) {
if (r37) {
versions = r12.versions;
reducibleJoin217: while (true) {
if (typeof versions !== 'object') {
break reducibleJoin217;
}
versions = r12.versions;
electron = versions.electron;
if (typeof electron === 'string') {
push = object.push;
versions = r12.versions;
Reflect.apply(push, object, ['Node ' + versions.node]);
value110 = 'Electron';
versions = r12.versions;
electron = versions.electron;
r3 = electron;
r6 = value110;
break reducibleJoin217;
}
versions = r12.versions;
nw = versions.nw;
if (typeof nw !== 'string') {
break reducibleJoin217;
}
push = object.push;
value108 = 'Chromium ' + r3;
versions = r12.versions;
node = versions.node;
Reflect.apply(push, object, [value108, 'Node ' + node]);
value109 = 'NW.js';
versions = r12.versions;
nw = versions.nw;
r3 = nw;
r6 = value109;
break reducibleJoin217;
}
reducibleJoin221: while (true) {
if (r6) {
r37 = r34;
break reducibleJoin221;
}
value111 = 'Node.js';
arch = r12.arch;
platform = r12.platform;
regexp = RegExp('[\\d.]+', '');
exec = regexp.exec;
version = r12.version;
value112 = Reflect.apply(exec, regexp, [version]);
reducibleJoin220: while (true) {
if (value112) {
property = value112[0];
r39 = property;
break reducibleJoin220;
}
r39 = value7;
break reducibleJoin220;
}
r3 = r39;
r5 = platform;
r6 = value111;
r37 = arch;
break reducibleJoin221;
}
r25 = r32;
r29 = r37;
break reducibleJoin239;
}
r25 = r32;
r29 = r34;
break reducibleJoin239;
}
}
}
reducibleJoin241: while (true) {
if (r5) {
value118 = format_34559(r5);
r32 = value118;
break reducibleJoin241;
}
r32 = r5;
break reducibleJoin241;
}
r5 = r32;
r18 = r29;
r23 = r25;
break reducibleJoin242;
}
r18 = r10;
r23 = r32;
break reducibleJoin242;
}
reducibleJoin252: while (true) {
if (r3) {
regexp = RegExp('(?:[ab]|dp|pre|[ab]\\d+pre)(?:\\d+\\+?)?$', 'i');
exec = regexp.exec;
value119 = Reflect.apply(exec, regexp, [r3]);
reducibleJoin247: while (true) {
if (value119) {
r25 = value119;
break reducibleJoin247;
}
regexp = RegExp('(?:alpha|beta)(?: ?\\d)?', 'i');
exec = regexp.exec;
value120 = r10 + ';';
reducibleJoin246: while (true) {
if (value) {
appMinorVersion = r20.appMinorVersion;
r32 = appMinorVersion;
break reducibleJoin246;
}
r32 = value;
break reducibleJoin246;
}
value121 = Reflect.apply(exec, regexp, [value120 + r32]);
r25 = value121;
break reducibleJoin247;
}
reducibleJoin251: while (true) {
if (r25) {
break reducibleJoin251;
}
regexp = RegExp('\\bMinefield\\b', 'i');
test = regexp.test;
value122 = Reflect.apply(test, regexp, [r10]);
reducibleJoin250: while (true) {
if (value122) {
value123 = 'a';
r32 = value123;
break reducibleJoin250;
}
r32 = value122;
break reducibleJoin250;
}
r25 = r32;
break reducibleJoin251;
}
r12 = r25;
r29 = r25;
break reducibleJoin252;
}
r29 = r3;
break reducibleJoin252;
}
reducibleJoin258: while (true) {
if (r29) {
regexp = RegExp('b', 'i');
test = regexp.test;
value124 = Reflect.apply(test, regexp, [r12]);
value125 = 'alpha';
reducibleJoin255: while (true) {
if (value124) {
value126 = 'beta';
r29 = value126;
break reducibleJoin255;
}
r29 = value125;
break reducibleJoin255;
}
replace = r3.replace;
RegExp = global.RegExp;
value127 = RegExp(r12 + '\\+?$');
value128 = '';
value129 = Reflect.apply(replace, r3, [value127, value128]);
if (r29 === 'beta') {
r33 = r36;
}
value130 = value129 + r33;
regexp = RegExp('\\d+\\+?', '');
exec = regexp.exec;
value131 = Reflect.apply(exec, regexp, [r12]);
r32 = value131 || value128;
value132 = value130 + r32;
r3 = value132;
r25 = r29;
break reducibleJoin258;
}
r25 = value7;
break reducibleJoin258;
}
reducibleJoin341: while (true) {
reduciblePort342: while (true) {
exceptionLanding333: while (true) {
if (r6 == 'Fennec') {
break reducibleJoin341;
}
if (r6 == 'Firefox') {
regexp = RegExp('\\b(?:Android|Firefox OS)\\b', '');
if (regexp.test(r5)) {
break reducibleJoin341;
}
}
if (r6 == 'Maxthon') {
if (r3) {
replace = r3.replace;
value168 = Reflect.apply(replace, r3, [RegExp('\\.[\\d.]+', ''), '.x']);
r2 = r14;
r3 = value168;
r9 = r23;
r13 = r11;
break reduciblePort342;
}
}
regexp = RegExp('\\bXbox\\b', 'i');
test = regexp.test;
if (Reflect.apply(test, regexp, [r14])) {
if (r14 == 'Xbox 360') {
r5 = value7;
}
value166 = r14 == 'Xbox 360';
reducibleJoin338: while (true) {
if (value166) {
regexp = RegExp('\\bIEMobile\\b', '');
test = regexp.test;
value167 = Reflect.apply(test, regexp, [r10]);
r26 = value167;
break reducibleJoin338;
}
r26 = value166;
break reducibleJoin338;
}
if (r26) {
unshift = object.unshift;
Reflect.apply(unshift, object, ['mobile mode']);
r2 = r14;
r9 = r23;
r13 = r11;
break reduciblePort342;
}
r2 = r14;
r9 = r23;
r13 = r11;
break reduciblePort342;
}
regexp = RegExp('^(?:Chrome|IE|Opera)$', '');
test = regexp.test;
if (!Reflect.apply(test, regexp, [r6])) {
if (r6) {
if (!r14) {
regexp = RegExp('Browser|Mobi', '');
test = regexp.test;
if (!Reflect.apply(test, regexp, [r6])) {
if (r5 != 'Windows CE') {
regexp = RegExp('Mobi', 'i');
test = regexp.test;
if (!Reflect.apply(test, regexp, [r10])) {
if (value19 == r6) {
if (value) {
try {
external = r27.external;
} catch (error) {
break exceptionLanding333;
}
try {
value164 = value7 !== external;
} catch (error) {
break exceptionLanding333;
}
if (value164) {
r2 = r14;
r9 = r23;
r13 = r11;
break reduciblePort342;
}
try {
unshift = object.unshift;
} catch (error) {
break exceptionLanding333;
}
try {
Reflect.apply(unshift, object, ['platform preview']);
} catch (error) {
break exceptionLanding333;
}
r2 = r14;
r9 = r23;
r13 = r11;
break reduciblePort342;
}
}
regexp = RegExp('\\bBlackBerry\\b', '');
test = regexp.test;
if (!Reflect.apply(test, regexp, [r14])) {
regexp = RegExp('\\bBB10\\b', '');
test = regexp.test;
if (!Reflect.apply(test, regexp, [r10])) {
value137 = this != forOwn_34560;
reducibleJoin280: while (true) {
if (value137) {
value138 = r14 != 'Wii';
r29 = value138;
break reducibleJoin280;
}
r29 = value137;
break reducibleJoin280;
}
reducibleJoin307: while (true) {
if (r29) {
r2 = value && r9;
reducibleJoin286: while (true) {
if (r2) {
break reducibleJoin286;
}
regexp = RegExp('Opera', '');
test = regexp.test;
value139 = Reflect.apply(test, regexp, [r6]);
reducibleJoin285: while (true) {
if (value139) {
regexp = RegExp('\\b(?:MSIE|Firefox)\\b', 'i');
test = regexp.test;
value140 = Reflect.apply(test, regexp, [r10]);
r9 = value140;
break reducibleJoin285;
}
r9 = value139;
break reducibleJoin285;
}
r2 = r9;
break reducibleJoin286;
}
reducibleJoin290: while (true) {
if (r2) {
break reducibleJoin290;
}
value141 = r6 == 'Firefox';
reducibleJoin289: while (true) {
if (value141) {
regexp = RegExp('\\bOS X (?:\\d+\\.){2,}', '');
test = regexp.test;
value142 = Reflect.apply(test, regexp, [r5]);
r9 = value142;
break reducibleJoin289;
}
r9 = value141;
break reducibleJoin289;
}
r2 = r9;
break reducibleJoin290;
}
reducibleJoin306: while (true) {
if (r2) {
break reducibleJoin306;
}
value143 = value19 == r6;
reducibleJoin305: while (true) {
if (value143) {
reducibleJoin294: while (true) {
if (r5) {
regexp = RegExp('^Win', '');
test = regexp.test;
value144 = !Reflect.apply(test, regexp,
[r5]);
r13 = value144;
break reducibleJoin294;
}
r13 = r5;
break reducibleJoin294;
}
reducibleJoin296: while (true) {
if (r13) {
value145 = r3 > 5.5;
r13 = value145;
break reducibleJoin296;
}
break reducibleJoin296;
}
reducibleJoin300: while (true) {
if (r13) {
break reducibleJoin300;
}
regexp = RegExp('\\bWindows XP\\b', '');
test = regexp.test;
value146 = Reflect.apply(test, regexp, [r5]);
reducibleJoin299: while (true) {
if (value146) {
value147 = r3 > 8;
r30 = value147;
break reducibleJoin299;
}
r30 = value146;
break reducibleJoin299;
}
r13 = r30;
break reducibleJoin300;
}
reducibleJoin304: while (true) {
if (r13) {
break reducibleJoin304;
}
value148 = r3 == 8;
reducibleJoin303: while (true) {
if (value148) {
regexp = RegExp('\\bTrident\\b', '');
test = regexp.test;
value149 = !Reflect.apply(test, regexp,
[r10]);
r30 = value149;
break reducibleJoin303;
}
r30 = value148;
break reducibleJoin303;
}
r13 = r30;
break reducibleJoin304;
}
r9 = r13;
break reducibleJoin305;
}
r9 = value143;
break reducibleJoin305;
}
r2 = r9;
break reducibleJoin306;
}
r29 = r2;
break reducibleJoin307;
}
break reducibleJoin307;
}
reducibleJoin309: while (true) {
if (r29) {
binding = env0_3;
test = binding.test;
parse_34566Binding = parse_34566;
call = parse_34566Binding.call;
forOwn_34560Binding = forOwn_34560;
replace = r10.replace;
value150 = Reflect.apply(replace, r10, [env0_3, '']);
value151 = Reflect.apply(call, parse_34566Binding,
[forOwn_34560Binding,
value150 + ';']);
value152 = !Reflect.apply(test, binding, [value151]);
r12 = value151;
r29 = value152;
break reducibleJoin309;
}
break reducibleJoin309;
}
reducibleJoin311: while (true) {
if (r29) {
name = r12.name;
r29 = name;
break reducibleJoin311;
}
break reducibleJoin311;
}
if (r29) {
name = r12.name;
value153 = 'ing as ' + name;
version = r12.version;
value154 = '';
reducibleJoin314: while (true) {
if (version) {
value155 = ' ' + version;
r29 = value155;
break reducibleJoin314;
}
r29 = value154;
break reducibleJoin314;
}
value156 = value153 + r29;
binding = env0_3;
test = binding.test;
if (Reflect.apply(test, binding, [r6])) {
regexp = RegExp('\\bIE\\b', '');
test = regexp.test;
value159 = Reflect.apply(test, regexp, [value156]);
reducibleJoin321: while (true) {
if (value159) {
value160 = r5 == 'Mac OS';
r29 = value160;
break reducibleJoin321;
}
r29 = value159;
break reducibleJoin321;
}
if (r29) {
r5 = value7;
}
value161 = 'identify' + value156;
r12 = value161;
} else {
value157 = 'mask' + value156;
reducibleJoin317: while (true) {
if (r35) {
format_34559Binding = format_34559;
replace = r35.replace;
value158 = format_34559Binding(Reflect.apply(replace,
r35,
[RegExp('([a-z])([A-Z])',
'g'),
'$1 $2']));
r29 = value158;
break reducibleJoin317;
}
r29 = value17;
break reducibleJoin317;
}
regexp = RegExp('\\bIE\\b', '');
test = regexp.test;
if (Reflect.apply(test, regexp, [value157])) {
r5 = value7;
}
if (value) {
r6 = r29;
r12 = value157;
} else {
r3 = value7;
r6 = r29;
r12 = value157;
}
}
push = object.push;
Reflect.apply(push, object, [r12]);
r2 = r14;
r9 = ['Presto'];
r13 = r11;
break reduciblePort342;
}
r2 = r14;
r9 = r23;
r13 = r11;
break reduciblePort342;
}
}
RegExp = global.RegExp;
replace = r14.replace;
value134 = RegExp(Reflect.apply(replace, r14, [RegExp(' +', 'g'),
' *']) + '/([.\\d]+)',
'i');
value135 = value134.exec(r10);
reducibleJoin276: while (true) {
if (value135) {
r29 = value135;
break reducibleJoin276;
}
value136 = 0;
r29 = value136;
break reducibleJoin276;
}
r29 = r29[value24] || r3;
if (r29) {
items12 = [r29];
regexp = RegExp('BB10', '');
items12[1] = regexp.test(r10);
value162 = 'Device Software';
reducibleJoin326: while (true) {
if (items12[value24]) {
env0_2 = value7;
r29 = value22;
r30 = value7;
r33 = value22;
break reducibleJoin326;
}
r29 = r11;
r30 = r14;
r33 = value162;
break reducibleJoin326;
}
value163 = r33 + ' ' + items12[0];
r2 = r30;
r3 = value7;
r5 = value163;
r9 = r23;
r13 = r29;
break reduciblePort342;
}
r12 = r29;
value137 = this != forOwn_34560;
reducibleJoin280: while (true) {
if (value137) {
value138 = r14 != 'Wii';
r29 = value138;
break reducibleJoin280;
}
r29 = value137;
break reducibleJoin280;
}
reducibleJoin307: while (true) {
if (r29) {
r2 = value && r9;
reducibleJoin286: while (true) {
if (r2) {
break reducibleJoin286;
}
regexp = RegExp('Opera', '');
test = regexp.test;
value139 = Reflect.apply(test, regexp, [r6]);
reducibleJoin285: while (true) {
if (value139) {
regexp = RegExp('\\b(?:MSIE|Firefox)\\b', 'i');
test = regexp.test;
value140 = Reflect.apply(test, regexp, [r10]);
r9 = value140;
break reducibleJoin285;
}
r9 = value139;
break reducibleJoin285;
}
r2 = r9;
break reducibleJoin286;
}
reducibleJoin290: while (true) {
if (r2) {
break reducibleJoin290;
}
value141 = r6 == 'Firefox';
reducibleJoin289: while (true) {
if (value141) {
regexp = RegExp('\\bOS X (?:\\d+\\.){2,}', '');
test = regexp.test;
value142 = Reflect.apply(test, regexp, [r5]);
r9 = value142;
break reducibleJoin289;
}
r9 = value141;
break reducibleJoin289;
}
r2 = r9;
break reducibleJoin290;
}
reducibleJoin306: while (true) {
if (r2) {
break reducibleJoin306;
}
value143 = value19 == r6;
reducibleJoin305: while (true) {
if (value143) {
reducibleJoin294: while (true) {
if (r5) {
regexp = RegExp('^Win', '');
test = regexp.test;
value144 = !Reflect.apply(test, regexp, [r5]);
r13 = value144;
break reducibleJoin294;
}
r13 = r5;
break reducibleJoin294;
}
reducibleJoin296: while (true) {
if (r13) {
value145 = r3 > 5.5;
r13 = value145;
break reducibleJoin296;
}
break reducibleJoin296;
}
reducibleJoin300: while (true) {
if (r13) {
break reducibleJoin300;
}
regexp = RegExp('\\bWindows XP\\b', '');
test = regexp.test;
value146 = Reflect.apply(test, regexp, [r5]);
reducibleJoin299: while (true) {
if (value146) {
value147 = r3 > 8;
r30 = value147;
break reducibleJoin299;
}
r30 = value146;
break reducibleJoin299;
}
r13 = r30;
break reducibleJoin300;
}
reducibleJoin304: while (true) {
if (r13) {
break reducibleJoin304;
}
value148 = r3 == 8;
reducibleJoin303: while (true) {
if (value148) {
regexp = RegExp('\\bTrident\\b', '');
test = regexp.test;
value149 = !Reflect.apply(test, regexp, [r10]);
r30 = value149;
break reducibleJoin303;
}
r30 = value148;
break reducibleJoin303;
}
r13 = r30;
break reducibleJoin304;
}
r9 = r13;
break reducibleJoin305;
}
r9 = value143;
break reducibleJoin305;
}
r2 = r9;
break reducibleJoin306;
}
r29 = r2;
break reducibleJoin307;
}
break reducibleJoin307;
}
reducibleJoin309: while (true) {
if (r29) {
binding = env0_3;
test = binding.test;
parse_34566Binding = parse_34566;
call = parse_34566Binding.call;
forOwn_34560Binding = forOwn_34560;
replace = r10.replace;
value150 = Reflect.apply(replace, r10, [env0_3, '']);
value151 = Reflect.apply(call, parse_34566Binding, [forOwn_34560Binding,
value150 + ';']);
value152 = !Reflect.apply(test, binding, [value151]);
r12 = value151;
r29 = value152;
break reducibleJoin309;
}
break reducibleJoin309;
}
reducibleJoin311: while (true) {
if (r29) {
name = r12.name;
r29 = name;
break reducibleJoin311;
}
break reducibleJoin311;
}
if (r29) {
name = r12.name;
value153 = 'ing as ' + name;
version = r12.version;
value154 = '';
reducibleJoin314: while (true) {
if (version) {
value155 = ' ' + version;
r29 = value155;
break reducibleJoin314;
}
r29 = value154;
break reducibleJoin314;
}
value156 = value153 + r29;
binding = env0_3;
if (binding.test(r6)) {
regexp = RegExp('\\bIE\\b', '');
value159 = regexp.test(value156);
reducibleJoin321: while (true) {
if (value159) {
value160 = r5 == 'Mac OS';
r29 = value160;
break reducibleJoin321;
}
r29 = value159;
break reducibleJoin321;
}
if (r29) {
r5 = value7;
}
value161 = 'identify' + value156;
r12 = value161;
} else {
value157 = 'mask' + value156;
reducibleJoin317: while (true) {
if (r35) {
format_34559Binding = format_34559;
replace = r35.replace;
value158 = format_34559Binding(Reflect.apply(replace, r35,
[RegExp('([a-z])([A-Z])',
'g'),
'$1 $2']));
r29 = value158;
break reducibleJoin317;
}
r29 = value17;
break reducibleJoin317;
}
regexp = RegExp('\\bIE\\b', '');
if (regexp.test(value157)) {
r5 = value7;
}
if (value) {
r6 = r29;
r12 = value157;
} else {
r3 = value7;
r6 = r29;
r12 = value157;
}
}
push = object.push;
Reflect.apply(push, object, [r12]);
r2 = r14;
r9 = ['Presto'];
r13 = r11;
break reduciblePort342;
}
r2 = r14;
r9 = r23;
r13 = r11;
break reduciblePort342;
}
}
value165 = r6 + ' Mobile';
r2 = r14;
r6 = value165;
r9 = r23;
r13 = r11;
break reduciblePort342;
}
}
}
if (value19 == r6) {
if (value) {
try {
external = r27.external;
} catch (error) {
break exceptionLanding333;
}
try {
value164 = value7 !== external;
} catch (error) {
break exceptionLanding333;
}
if (value164) {
r2 = r14;
r9 = r23;
r13 = r11;
break reduciblePort342;
}
try {
unshift = object.unshift;
} catch (error) {
break exceptionLanding333;
}
try {
Reflect.apply(unshift, object, ['platform preview']);
} catch (error) {
break exceptionLanding333;
}
r2 = r14;
r9 = r23;
r13 = r11;
break reduciblePort342;
}
}
regexp = RegExp('\\bBlackBerry\\b', '');
test = regexp.test;
if (!Reflect.apply(test, regexp, [r14])) {
regexp = RegExp('\\bBB10\\b', '');
test = regexp.test;
if (!Reflect.apply(test, regexp, [r10])) {
value137 = this != forOwn_34560;
reducibleJoin280: while (true) {
if (value137) {
value138 = r14 != 'Wii';
r29 = value138;
break reducibleJoin280;
}
r29 = value137;
break reducibleJoin280;
}
reducibleJoin307: while (true) {
if (r29) {
r2 = value && r9;
reducibleJoin286: while (true) {
if (r2) {
break reducibleJoin286;
}
regexp = RegExp('Opera', '');
test = regexp.test;
value139 = Reflect.apply(test, regexp, [r6]);
reducibleJoin285: while (true) {
if (value139) {
regexp = RegExp('\\b(?:MSIE|Firefox)\\b', 'i');
test = regexp.test;
value140 = Reflect.apply(test, regexp, [r10]);
r9 = value140;
break reducibleJoin285;
}
r9 = value139;
break reducibleJoin285;
}
r2 = r9;
break reducibleJoin286;
}
reducibleJoin290: while (true) {
if (r2) {
break reducibleJoin290;
}
value141 = r6 == 'Firefox';
reducibleJoin289: while (true) {
if (value141) {
regexp = RegExp('\\bOS X (?:\\d+\\.){2,}', '');
test = regexp.test;
value142 = Reflect.apply(test, regexp, [r5]);
r9 = value142;
break reducibleJoin289;
}
r9 = value141;
break reducibleJoin289;
}
r2 = r9;
break reducibleJoin290;
}
reducibleJoin306: while (true) {
if (r2) {
break reducibleJoin306;
}
value143 = value19 == r6;
reducibleJoin305: while (true) {
if (value143) {
reducibleJoin294: while (true) {
if (r5) {
regexp = RegExp('^Win', '');
test = regexp.test;
value144 = !Reflect.apply(test, regexp, [r5]);
r13 = value144;
break reducibleJoin294;
}
r13 = r5;
break reducibleJoin294;
}
reducibleJoin296: while (true) {
if (r13) {
value145 = r3 > 5.5;
r13 = value145;
break reducibleJoin296;
}
break reducibleJoin296;
}
reducibleJoin300: while (true) {
if (r13) {
break reducibleJoin300;
}
regexp = RegExp('\\bWindows XP\\b', '');
test = regexp.test;
value146 = Reflect.apply(test, regexp, [r5]);
reducibleJoin299: while (true) {
if (value146) {
value147 = r3 > 8;
r30 = value147;
break reducibleJoin299;
}
r30 = value146;
break reducibleJoin299;
}
r13 = r30;
break reducibleJoin300;
}
reducibleJoin304: while (true) {
if (r13) {
break reducibleJoin304;
}
value148 = r3 == 8;
reducibleJoin303: while (true) {
if (value148) {
regexp = RegExp('\\bTrident\\b', '');
test = regexp.test;
value149 = !Reflect.apply(test, regexp, [r10]);
r30 = value149;
break reducibleJoin303;
}
r30 = value148;
break reducibleJoin303;
}
r13 = r30;
break reducibleJoin304;
}
r9 = r13;
break reducibleJoin305;
}
r9 = value143;
break reducibleJoin305;
}
r2 = r9;
break reducibleJoin306;
}
r29 = r2;
break reducibleJoin307;
}
break reducibleJoin307;
}
reducibleJoin309: while (true) {
if (r29) {
binding = env0_3;
test = binding.test;
parse_34566Binding = parse_34566;
call = parse_34566Binding.call;
forOwn_34560Binding = forOwn_34560;
replace = r10.replace;
value150 = Reflect.apply(replace, r10, [env0_3, '']);
value151 = Reflect.apply(call, parse_34566Binding, [forOwn_34560Binding,
value150 + ';']);
value152 = !Reflect.apply(test, binding, [value151]);
r12 = value151;
r29 = value152;
break reducibleJoin309;
}
break reducibleJoin309;
}
reducibleJoin311: while (true) {
if (r29) {
name = r12.name;
r29 = name;
break reducibleJoin311;
}
break reducibleJoin311;
}
if (r29) {
name = r12.name;
value153 = 'ing as ' + name;
version = r12.version;
value154 = '';
reducibleJoin314: while (true) {
if (version) {
value155 = ' ' + version;
r29 = value155;
break reducibleJoin314;
}
r29 = value154;
break reducibleJoin314;
}
value156 = value153 + r29;
binding = env0_3;
test = binding.test;
if (Reflect.apply(test, binding, [r6])) {
regexp = RegExp('\\bIE\\b', '');
test = regexp.test;
value159 = Reflect.apply(test, regexp, [value156]);
reducibleJoin321: while (true) {
if (value159) {
value160 = r5 == 'Mac OS';
r29 = value160;
break reducibleJoin321;
}
r29 = value159;
break reducibleJoin321;
}
if (r29) {
r5 = value7;
}
value161 = 'identify' + value156;
r12 = value161;
} else {
value157 = 'mask' + value156;
reducibleJoin317: while (true) {
if (r35) {
format_34559Binding = format_34559;
replace = r35.replace;
value158 = format_34559Binding(Reflect.apply(replace, r35,
[RegExp('([a-z])([A-Z])',
'g'),
'$1 $2']));
r29 = value158;
break reducibleJoin317;
}
r29 = value17;
break reducibleJoin317;
}
regexp = RegExp('\\bIE\\b', '');
test = regexp.test;
if (Reflect.apply(test, regexp, [value157])) {
r5 = value7;
}
if (value) {
r6 = r29;
r12 = value157;
} else {
r3 = value7;
r6 = r29;
r12 = value157;
}
}
push = object.push;
Reflect.apply(push, object, [r12]);
r2 = r14;
r9 = ['Presto'];
r13 = r11;
break reduciblePort342;
}
r2 = r14;
r9 = r23;
r13 = r11;
break reduciblePort342;
}
}
RegExp = global.RegExp;
replace = r14.replace;
value133 = Reflect.apply(replace, r14, [RegExp(' +', 'g'), ' *']);
value134 = RegExp(value133 + '/([.\\d]+)', 'i');
exec = value134.exec;
value135 = Reflect.apply(exec, value134, [r10]);
reducibleJoin276: while (true) {
if (value135) {
r29 = value135;
break reducibleJoin276;
}
value136 = 0;
r29 = value136;
break reducibleJoin276;
}
property = r29[value24];
r29 = property || r3;
if (r29) {
items12 = [r29];
regexp = RegExp('BB10', '');
test = regexp.test;
items12[1] = Reflect.apply(test, regexp, [r10]);
value162 = 'Device Software';
reducibleJoin326: while (true) {
if (items12[value24]) {
env0_2 = value7;
r29 = value22;
r30 = value7;
r33 = value22;
break reducibleJoin326;
}
r29 = r11;
r30 = r14;
r33 = value162;
break reducibleJoin326;
}
property = items12[0];
value163 = r33 + ' ' + property;
r2 = r30;
r3 = value7;
r5 = value163;
r9 = r23;
r13 = r29;
break reduciblePort342;
}
r12 = r29;
value137 = this != forOwn_34560;
reducibleJoin280: while (true) {
if (value137) {
value138 = r14 != 'Wii';
r29 = value138;
break reducibleJoin280;
}
r29 = value137;
break reducibleJoin280;
}
reducibleJoin307: while (true) {
if (r29) {
r2 = value && r9;
reducibleJoin286: while (true) {
if (r2) {
break reducibleJoin286;
}
regexp = RegExp('Opera', '');
test = regexp.test;
value139 = Reflect.apply(test, regexp, [r6]);
reducibleJoin285: while (true) {
if (value139) {
regexp = RegExp('\\b(?:MSIE|Firefox)\\b', 'i');
test = regexp.test;
value140 = Reflect.apply(test, regexp, [r10]);
r9 = value140;
break reducibleJoin285;
}
r9 = value139;
break reducibleJoin285;
}
r2 = r9;
break reducibleJoin286;
}
reducibleJoin290: while (true) {
if (r2) {
break reducibleJoin290;
}
value141 = r6 == 'Firefox';
reducibleJoin289: while (true) {
if (value141) {
regexp = RegExp('\\bOS X (?:\\d+\\.){2,}', '');
test = regexp.test;
value142 = Reflect.apply(test, regexp, [r5]);
r9 = value142;
break reducibleJoin289;
}
r9 = value141;
break reducibleJoin289;
}
r2 = r9;
break reducibleJoin290;
}
reducibleJoin306: while (true) {
if (r2) {
break reducibleJoin306;
}
value143 = value19 == r6;
reducibleJoin305: while (true) {
if (value143) {
reducibleJoin294: while (true) {
if (r5) {
regexp = RegExp('^Win', '');
test = regexp.test;
value144 = !Reflect.apply(test, regexp, [r5]);
r13 = value144;
break reducibleJoin294;
}
r13 = r5;
break reducibleJoin294;
}
reducibleJoin296: while (true) {
if (r13) {
value145 = r3 > 5.5;
r13 = value145;
break reducibleJoin296;
}
break reducibleJoin296;
}
reducibleJoin300: while (true) {
if (r13) {
break reducibleJoin300;
}
regexp = RegExp('\\bWindows XP\\b', '');
test = regexp.test;
value146 = Reflect.apply(test, regexp, [r5]);
reducibleJoin299: while (true) {
if (value146) {
value147 = r3 > 8;
r30 = value147;
break reducibleJoin299;
}
r30 = value146;
break reducibleJoin299;
}
r13 = r30;
break reducibleJoin300;
}
reducibleJoin304: while (true) {
if (r13) {
break reducibleJoin304;
}
value148 = r3 == 8;
reducibleJoin303: while (true) {
if (value148) {
regexp = RegExp('\\bTrident\\b', '');
test = regexp.test;
value149 = !Reflect.apply(test, regexp, [r10]);
r30 = value149;
break reducibleJoin303;
}
r30 = value148;
break reducibleJoin303;
}
r13 = r30;
break reducibleJoin304;
}
r9 = r13;
break reducibleJoin305;
}
r9 = value143;
break reducibleJoin305;
}
r2 = r9;
break reducibleJoin306;
}
r29 = r2;
break reducibleJoin307;
}
break reducibleJoin307;
}
reducibleJoin309: while (true) {
if (r29) {
binding = env0_3;
test = binding.test;
parse_34566Binding = parse_34566;
call = parse_34566Binding.call;
forOwn_34560Binding = forOwn_34560;
replace = r10.replace;
value150 = Reflect.apply(replace, r10, [env0_3, '']);
value151 = Reflect.apply(call, parse_34566Binding, [forOwn_34560Binding, value150 + ';']);
value152 = !Reflect.apply(test, binding, [value151]);
r12 = value151;
r29 = value152;
break reducibleJoin309;
}
break reducibleJoin309;
}
reducibleJoin311: while (true) {
if (r29) {
name = r12.name;
r29 = name;
break reducibleJoin311;
}
break reducibleJoin311;
}
if (r29) {
name = r12.name;
value153 = 'ing as ' + name;
version = r12.version;
value154 = '';
reducibleJoin314: while (true) {
if (version) {
value155 = ' ' + version;
r29 = value155;
break reducibleJoin314;
}
r29 = value154;
break reducibleJoin314;
}
value156 = value153 + r29;
binding = env0_3;
test = binding.test;
if (Reflect.apply(test, binding, [r6])) {
regexp = RegExp('\\bIE\\b', '');
test = regexp.test;
value159 = Reflect.apply(test, regexp, [value156]);
reducibleJoin321: while (true) {
if (value159) {
value160 = r5 == 'Mac OS';
r29 = value160;
break reducibleJoin321;
}
r29 = value159;
break reducibleJoin321;
}
if (r29) {
r5 = value7;
}
value161 = 'identify' + value156;
r12 = value161;
} else {
value157 = 'mask' + value156;
reducibleJoin317: while (true) {
if (r35) {
format_34559Binding = format_34559;
replace = r35.replace;
value158 = format_34559Binding(Reflect.apply(replace, r35, [RegExp('([a-z])([A-Z])',
'g'),
'$1 $2']));
r29 = value158;
break reducibleJoin317;
}
r29 = value17;
break reducibleJoin317;
}
regexp = RegExp('\\bIE\\b', '');
test = regexp.test;
if (Reflect.apply(test, regexp, [value157])) {
r5 = value7;
}
if (value) {
r6 = r29;
r12 = value157;
} else {
r3 = value7;
r6 = r29;
r12 = value157;
}
}
push = object.push;
Reflect.apply(push, object, [r12]);
r2 = r14;
r9 = ['Presto'];
r13 = r11;
break reduciblePort342;
}
r2 = r14;
r9 = r23;
r13 = r11;
break reduciblePort342;
}
if (r5 != 'Windows CE') {
regexp = RegExp('Mobi', 'i');
test = regexp.test;
if (!Reflect.apply(test, regexp, [r10])) {
if (value19 == r6) {
if (value) {
try {
external = r27.external;
} catch (error) {
break exceptionLanding333;
}
try {
value164 = value7 !== external;
} catch (error) {
break exceptionLanding333;
}
if (value164) {
r2 = r14;
r9 = r23;
r13 = r11;
break reduciblePort342;
}
try {
unshift = object.unshift;
} catch (error) {
break exceptionLanding333;
}
try {
Reflect.apply(unshift, object, ['platform preview']);
} catch (error) {
break exceptionLanding333;
}
r2 = r14;
r9 = r23;
r13 = r11;
break reduciblePort342;
}
}
regexp = RegExp('\\bBlackBerry\\b', '');
test = regexp.test;
if (!Reflect.apply(test, regexp, [r14])) {
regexp = RegExp('\\bBB10\\b', '');
test = regexp.test;
if (!Reflect.apply(test, regexp, [r10])) {
value137 = this != forOwn_34560;
reducibleJoin280: while (true) {
if (value137) {
value138 = r14 != 'Wii';
r29 = value138;
break reducibleJoin280;
}
r29 = value137;
break reducibleJoin280;
}
reducibleJoin307: while (true) {
if (r29) {
r2 = value && r9;
reducibleJoin286: while (true) {
if (r2) {
break reducibleJoin286;
}
regexp = RegExp('Opera', '');
test = regexp.test;
value139 = Reflect.apply(test, regexp, [r6]);
reducibleJoin285: while (true) {
if (value139) {
regexp = RegExp('\\b(?:MSIE|Firefox)\\b', 'i');
test = regexp.test;
value140 = Reflect.apply(test, regexp, [r10]);
r9 = value140;
break reducibleJoin285;
}
r9 = value139;
break reducibleJoin285;
}
r2 = r9;
break reducibleJoin286;
}
reducibleJoin290: while (true) {
if (r2) {
break reducibleJoin290;
}
value141 = r6 == 'Firefox';
reducibleJoin289: while (true) {
if (value141) {
regexp = RegExp('\\bOS X (?:\\d+\\.){2,}', '');
test = regexp.test;
value142 = Reflect.apply(test, regexp, [r5]);
r9 = value142;
break reducibleJoin289;
}
r9 = value141;
break reducibleJoin289;
}
r2 = r9;
break reducibleJoin290;
}
reducibleJoin306: while (true) {
if (r2) {
break reducibleJoin306;
}
value143 = value19 == r6;
reducibleJoin305: while (true) {
if (value143) {
reducibleJoin294: while (true) {
if (r5) {
regexp = RegExp('^Win', '');
test = regexp.test;
value144 = !Reflect.apply(test, regexp, [r5]);
r13 = value144;
break reducibleJoin294;
}
r13 = r5;
break reducibleJoin294;
}
reducibleJoin296: while (true) {
if (r13) {
value145 = r3 > 5.5;
r13 = value145;
break reducibleJoin296;
}
break reducibleJoin296;
}
reducibleJoin300: while (true) {
if (r13) {
break reducibleJoin300;
}
regexp = RegExp('\\bWindows XP\\b', '');
test = regexp.test;
value146 = Reflect.apply(test, regexp, [r5]);
reducibleJoin299: while (true) {
if (value146) {
value147 = r3 > 8;
r30 = value147;
break reducibleJoin299;
}
r30 = value146;
break reducibleJoin299;
}
r13 = r30;
break reducibleJoin300;
}
reducibleJoin304: while (true) {
if (r13) {
break reducibleJoin304;
}
value148 = r3 == 8;
reducibleJoin303: while (true) {
if (value148) {
regexp = RegExp('\\bTrident\\b', '');
test = regexp.test;
value149 = !Reflect.apply(test, regexp, [r10]);
r30 = value149;
break reducibleJoin303;
}
r30 = value148;
break reducibleJoin303;
}
r13 = r30;
break reducibleJoin304;
}
r9 = r13;
break reducibleJoin305;
}
r9 = value143;
break reducibleJoin305;
}
r2 = r9;
break reducibleJoin306;
}
r29 = r2;
break reducibleJoin307;
}
break reducibleJoin307;
}
reducibleJoin309: while (true) {
if (r29) {
binding = env0_3;
test = binding.test;
parse_34566Binding = parse_34566;
call = parse_34566Binding.call;
forOwn_34560Binding = forOwn_34560;
replace = r10.replace;
value150 = Reflect.apply(replace, r10, [env0_3, '']);
value151 = Reflect.apply(call, parse_34566Binding, [forOwn_34560Binding,
value150 + ';']);
value152 = !Reflect.apply(test, binding, [value151]);
r12 = value151;
r29 = value152;
break reducibleJoin309;
}
break reducibleJoin309;
}
reducibleJoin311: while (true) {
if (r29) {
name = r12.name;
r29 = name;
break reducibleJoin311;
}
break reducibleJoin311;
}
if (r29) {
name = r12.name;
value153 = 'ing as ' + name;
version = r12.version;
value154 = '';
reducibleJoin314: while (true) {
if (version) {
value155 = ' ' + version;
r29 = value155;
break reducibleJoin314;
}
r29 = value154;
break reducibleJoin314;
}
value156 = value153 + r29;
binding = env0_3;
test = binding.test;
if (Reflect.apply(test, binding, [r6])) {
regexp = RegExp('\\bIE\\b', '');
test = regexp.test;
value159 = Reflect.apply(test, regexp, [value156]);
reducibleJoin321: while (true) {
if (value159) {
value160 = r5 == 'Mac OS';
r29 = value160;
break reducibleJoin321;
}
r29 = value159;
break reducibleJoin321;
}
if (r29) {
r5 = value7;
}
value161 = 'identify' + value156;
r12 = value161;
} else {
value157 = 'mask' + value156;
reducibleJoin317: while (true) {
if (r35) {
format_34559Binding = format_34559;
replace = r35.replace;
value158 = format_34559Binding(Reflect.apply(replace, r35,
[RegExp('([a-z])([A-Z])',
'g'),
'$1 $2']));
r29 = value158;
break reducibleJoin317;
}
r29 = value17;
break reducibleJoin317;
}
regexp = RegExp('\\bIE\\b', '');
test = regexp.test;
if (Reflect.apply(test, regexp, [value157])) {
r5 = value7;
}
if (value) {
r6 = r29;
r12 = value157;
} else {
r3 = value7;
r6 = r29;
r12 = value157;
}
}
push = object.push;
Reflect.apply(push, object, [r12]);
r2 = r14;
r9 = ['Presto'];
r13 = r11;
break reduciblePort342;
}
r2 = r14;
r9 = r23;
r13 = r11;
break reduciblePort342;
}
}
RegExp = global.RegExp;
replace = r14.replace;
value133 = Reflect.apply(replace, r14, [RegExp(' +', 'g'), ' *']);
value134 = RegExp(value133 + '/([.\\d]+)', 'i');
exec = value134.exec;
value135 = Reflect.apply(exec, value134, [r10]);
reducibleJoin276: while (true) {
if (value135) {
r29 = value135;
break reducibleJoin276;
}
value136 = 0;
r29 = value136;
break reducibleJoin276;
}
property = r29[value24];
r29 = property || r3;
if (r29) {
items12 = [r29];
regexp = RegExp('BB10', '');
test = regexp.test;
items12[1] = Reflect.apply(test, regexp, [r10]);
value162 = 'Device Software';
reducibleJoin326: while (true) {
if (items12[value24]) {
env0_2 = value7;
r29 = value22;
r30 = value7;
r33 = value22;
break reducibleJoin326;
}
r29 = r11;
r30 = r14;
r33 = value162;
break reducibleJoin326;
}
property = items12[0];
value163 = r33 + ' ' + property;
r2 = r30;
r3 = value7;
r5 = value163;
r9 = r23;
r13 = r29;
break reduciblePort342;
}
r12 = r29;
value137 = this != forOwn_34560;
reducibleJoin280: while (true) {
if (value137) {
value138 = r14 != 'Wii';
r29 = value138;
break reducibleJoin280;
}
r29 = value137;
break reducibleJoin280;
}
reducibleJoin307: while (true) {
if (r29) {
r2 = value && r9;
reducibleJoin286: while (true) {
if (r2) {
break reducibleJoin286;
}
regexp = RegExp('Opera', '');
test = regexp.test;
value139 = Reflect.apply(test, regexp, [r6]);
reducibleJoin285: while (true) {
if (value139) {
regexp = RegExp('\\b(?:MSIE|Firefox)\\b', 'i');
test = regexp.test;
value140 = Reflect.apply(test, regexp, [r10]);
r9 = value140;
break reducibleJoin285;
}
r9 = value139;
break reducibleJoin285;
}
r2 = r9;
break reducibleJoin286;
}
reducibleJoin290: while (true) {
if (r2) {
break reducibleJoin290;
}
value141 = r6 == 'Firefox';
reducibleJoin289: while (true) {
if (value141) {
regexp = RegExp('\\bOS X (?:\\d+\\.){2,}', '');
test = regexp.test;
value142 = Reflect.apply(test, regexp, [r5]);
r9 = value142;
break reducibleJoin289;
}
r9 = value141;
break reducibleJoin289;
}
r2 = r9;
break reducibleJoin290;
}
reducibleJoin306: while (true) {
if (r2) {
break reducibleJoin306;
}
value143 = value19 == r6;
reducibleJoin305: while (true) {
if (value143) {
reducibleJoin294: while (true) {
if (r5) {
regexp = RegExp('^Win', '');
test = regexp.test;
value144 = !Reflect.apply(test, regexp, [r5]);
r13 = value144;
break reducibleJoin294;
}
r13 = r5;
break reducibleJoin294;
}
reducibleJoin296: while (true) {
if (r13) {
value145 = r3 > 5.5;
r13 = value145;
break reducibleJoin296;
}
break reducibleJoin296;
}
reducibleJoin300: while (true) {
if (r13) {
break reducibleJoin300;
}
regexp = RegExp('\\bWindows XP\\b', '');
test = regexp.test;
value146 = Reflect.apply(test, regexp, [r5]);
reducibleJoin299: while (true) {
if (value146) {
value147 = r3 > 8;
r30 = value147;
break reducibleJoin299;
}
r30 = value146;
break reducibleJoin299;
}
r13 = r30;
break reducibleJoin300;
}
reducibleJoin304: while (true) {
if (r13) {
break reducibleJoin304;
}
value148 = r3 == 8;
reducibleJoin303: while (true) {
if (value148) {
regexp = RegExp('\\bTrident\\b', '');
test = regexp.test;
value149 = !Reflect.apply(test, regexp, [r10]);
r30 = value149;
break reducibleJoin303;
}
r30 = value148;
break reducibleJoin303;
}
r13 = r30;
break reducibleJoin304;
}
r9 = r13;
break reducibleJoin305;
}
r9 = value143;
break reducibleJoin305;
}
r2 = r9;
break reducibleJoin306;
}
r29 = r2;
break reducibleJoin307;
}
break reducibleJoin307;
}
reducibleJoin309: while (true) {
if (r29) {
binding = env0_3;
test = binding.test;
parse_34566Binding = parse_34566;
call = parse_34566Binding.call;
forOwn_34560Binding = forOwn_34560;
replace = r10.replace;
value150 = Reflect.apply(replace, r10, [env0_3, '']);
value151 = Reflect.apply(call, parse_34566Binding, [forOwn_34560Binding,
value150 + ';']);
value152 = !Reflect.apply(test, binding, [value151]);
r12 = value151;
r29 = value152;
break reducibleJoin309;
}
break reducibleJoin309;
}
reducibleJoin311: while (true) {
if (r29) {
name = r12.name;
r29 = name;
break reducibleJoin311;
}
break reducibleJoin311;
}
if (r29) {
name = r12.name;
value153 = 'ing as ' + name;
version = r12.version;
value154 = '';
reducibleJoin314: while (true) {
if (version) {
value155 = ' ' + version;
r29 = value155;
break reducibleJoin314;
}
r29 = value154;
break reducibleJoin314;
}
value156 = value153 + r29;
binding = env0_3;
test = binding.test;
if (Reflect.apply(test, binding, [r6])) {
regexp = RegExp('\\bIE\\b', '');
test = regexp.test;
value159 = Reflect.apply(test, regexp, [value156]);
reducibleJoin321: while (true) {
if (value159) {
value160 = r5 == 'Mac OS';
r29 = value160;
break reducibleJoin321;
}
r29 = value159;
break reducibleJoin321;
}
if (r29) {
r5 = value7;
}
value161 = 'identify' + value156;
r12 = value161;
} else {
value157 = 'mask' + value156;
reducibleJoin317: while (true) {
if (r35) {
format_34559Binding = format_34559;
replace = r35.replace;
value158 = format_34559Binding(Reflect.apply(replace, r35,
[RegExp('([a-z])([A-Z])',
'g'),
'$1 $2']));
r29 = value158;
break reducibleJoin317;
}
r29 = value17;
break reducibleJoin317;
}
regexp = RegExp('\\bIE\\b', '');
test = regexp.test;
if (Reflect.apply(test, regexp, [value157])) {
r5 = value7;
}
if (value) {
r6 = r29;
r12 = value157;
} else {
r3 = value7;
r6 = r29;
r12 = value157;
}
}
push = object.push;
Reflect.apply(push, object, [r12]);
r2 = r14;
r9 = ['Presto'];
r13 = r11;
break reduciblePort342;
}
r2 = r14;
r9 = r23;
r13 = r11;
break reduciblePort342;
}
}
value165 = r6 + ' Mobile';
r2 = r14;
r6 = value165;
r9 = r23;
r13 = r11;
break reduciblePort342;
}
unshift = object.unshift;
Reflect.apply(unshift, object, ['embedded']);
r2 = r14;
r9 = r23;
r13 = r11;
break reduciblePort342;
}
regexp = RegExp('\\bAppleWebKit\\/([\\d.]+\\+?)', 'i');
exec = regexp.exec;
value170 = Reflect.apply(exec, regexp, [r10]);
reducibleJoin344: while (true) {
if (value170) {
r11 = value170;
break reducibleJoin344;
}
value171 = 0;
r11 = value171;
break reducibleJoin344;
}
property = r11[value24];
reducibleJoin453: while (true) {
if (property) {
parseFloat = global.parseFloat;
replace = property.replace;
float2 = parseFloat(Reflect.apply(replace, property, [RegExp('\\.(\\d)$', ''), '.0$1']));
items13 = [float2, property];
reducibleJoin353: while (true) {
reducibleJoin351: while (true) {
if (value20 != r6) {
value173 = r3 != items13[value24];
if (value173) {
regexp = RegExp('\\bSafari\\/([\\d.]+\\+?)', 'i');
exec = regexp.exec;
value174 = Reflect.apply(exec, regexp, [r10]);
reducibleJoin350: while (true) {
if (value174) {
r23 = value174;
break reducibleJoin350;
}
value175 = 0;
r23 = value175;
break reducibleJoin350;
}
property = r23[value24];
items13[2] = property;
value176 = r3 != property;
r27 = value176;
break reducibleJoin351;
}
r27 = value173;
break reducibleJoin351;
}
property = items13[value24];
slice = property.slice;
value172 = Reflect.apply(slice, property, [-1]);
if (value172 == '+') {
value177 = 'WebKit Nightly';
property = items13[value24];
slice = property.slice;
value178 = Reflect.apply(slice, property, [0, -1]);
value179 = 'alpha';
r3 = value178;
r6 = value177;
r23 = value179;
break reducibleJoin353;
}
value173 = r3 != items13[value24];
if (value173) {
regexp = RegExp('\\bSafari\\/([\\d.]+\\+?)', 'i');
exec = regexp.exec;
value174 = Reflect.apply(exec, regexp, [r10]);
reducibleJoin350: while (true) {
if (value174) {
r23 = value174;
break reducibleJoin350;
}
value175 = 0;
r23 = value175;
break reducibleJoin350;
}
property = r23[value24];
items13[2] = property;
value176 = r3 != property;
r27 = value176;
break reducibleJoin351;
}
r27 = value173;
break reducibleJoin351;
}
if (r27) {
r23 = r25;
break reducibleJoin353;
}
r3 = value7;
r23 = r25;
break reducibleJoin353;
}
regexp = RegExp('\\bChrome\\/([\\d.]+)', 'i');
exec = regexp.exec;
value180 = Reflect.apply(exec, regexp, [r10]);
reducibleJoin355: while (true) {
if (value180) {
r25 = value180;
break reducibleJoin355;
}
value181 = 0;
r25 = value181;
break reducibleJoin355;
}
items13[value24] = r25[value24];
value182 = items13[0] == 537.36;
reducibleJoin357: while (true) {
if (value182) {
value183 = items13[2] == 537.36;
r25 = value183;
break reducibleJoin357;
}
r25 = value182;
break reducibleJoin357;
}
reducibleJoin359: while (true) {
if (r25) {
parseFloat = global.parseFloat;
float3 = parseFloat(items13[value24]);
value184 = float3 >= 28;
r25 = value184;
break reducibleJoin359;
}
break reducibleJoin359;
}
reducibleJoin361: while (true) {
if (r25) {
value185 = value11 == r9;
r25 = value185;
break reducibleJoin361;
}
break reducibleJoin361;
}
reducibleJoin363: while (true) {
if (r25) {
r9 = ['Blink'];
break reducibleJoin363;
}
break reducibleJoin363;
}
reducibleJoin442: while (true) {
reducibleJoin386: while (true) {
if (value) {
if (!r24) {
if (!items13[value24]) {
reducibleJoin368: while (true) {
if (r9) {
r9[value24] = 'like Safari';
break reducibleJoin368;
}
break reducibleJoin368;
}
property = items13[0];
if (property < 400) {
r24 = value24;
break reducibleJoin386;
}
reducibleJoin385: while (true) {
if (property < 500) {
r25 = 2;
break reducibleJoin385;
}
value187 = 3;
reducibleJoin384: while (true) {
if (property < 526) {
r28 = value187;
break reducibleJoin384;
}
value188 = 4;
reducibleJoin383: while (true) {
if (property < 533) {
r29 = value188;
break reducibleJoin383;
}
value189 = '4+';
reducibleJoin382: while (true) {
if (property < 534) {
r30 = value189;
break reducibleJoin382;
}
value190 = 5;
reducibleJoin381: while (true) {
if (property < 535) {
r31 = value190;
break reducibleJoin381;
}
value191 = 6;
reducibleJoin380: while (true) {
if (property < 537) {
r32 = value191;
break reducibleJoin380;
}
value192 = 7;
reducibleJoin379: while (true) {
if (property < 538) {
r33 = value192;
break reducibleJoin379;
}
value193 = '8';
reducibleJoin378: while (true) {
if (property < 601) {
value194 = 8;
r34 = value194;
break reducibleJoin378;
}
r34 = value193;
break reducibleJoin378;
}
r33 = r34;
break reducibleJoin379;
}
r32 = r33;
break reducibleJoin380;
}
r31 = r32;
break reducibleJoin381;
}
r30 = r31;
break reducibleJoin382;
}
r29 = r30;
break reducibleJoin383;
}
r28 = r29;
break reducibleJoin384;
}
r25 = r28;
break reducibleJoin385;
}
r24 = r25;
break reducibleJoin386;
}
}
reducibleJoin389: while (true) {
if (r9) {
r9[value24] = 'like Chrome';
break reducibleJoin389;
}
break reducibleJoin389;
}
property = items13[value24];
reducibleJoin441: while (true) {
if (property) {
r24 = property;
break reducibleJoin441;
}
property = items13[0];
reducibleJoin440: while (true) {
if (property < 530) {
r25 = value24;
break reducibleJoin440;
}
value195 = 2;
reducibleJoin439: while (true) {
if (property < 532) {
r27 = value195;
break reducibleJoin439;
}
value196 = 3;
reducibleJoin438: while (true) {
if (property < 532.05) {
r28 = value196;
break reducibleJoin438;
}
value197 = 4;
reducibleJoin437: while (true) {
if (property < 533) {
r29 = value197;
break reducibleJoin437;
}
value198 = 5;
reducibleJoin436: while (true) {
if (property < 534.03) {
r30 = value198;
break reducibleJoin436;
}
value199 = 6;
reducibleJoin435: while (true) {
if (property < 534.07) {
r31 = value199;
break reducibleJoin435;
}
value200 = 7;
reducibleJoin434: while (true) {
if (property < 534.1) {
r32 = value200;
break reducibleJoin434;
}
value201 = 8;
reducibleJoin433: while (true) {
if (property < 534.13) {
r33 = value201;
break reducibleJoin433;
}
value202 = 9;
reducibleJoin432: while (true) {
if (property < 534.16) {
r34 = value202;
break reducibleJoin432;
}
value203 = 10;
reducibleJoin431: while (true) {
if (property < 534.24) {
r35 = value203;
break reducibleJoin431;
}
value204 = 11;
reducibleJoin430: while (true) {
if (property < 534.3) {
r36 = value204;
break reducibleJoin430;
}
value205 = 12;
reducibleJoin429: while (true) {
if (property < 535.01) {
r37 = value205;
break reducibleJoin429;
}
value206 = '13+';
reducibleJoin428: while (true) {
if (property < 535.02) {
r38 = value206;
break reducibleJoin428;
}
value207 = 15;
reducibleJoin427: while (true) {
if (property < 535.07) {
r39 = value207;
break reducibleJoin427;
}
value208 = 16;
reducibleJoin426: while (true) {
if (property < 535.11) {
r40 = value208;
break reducibleJoin426;
}
value209 = 17;
reducibleJoin425: while (true) {
if (property < 535.19) {
r41 = value209;
break reducibleJoin425;
}
value210 = 18;
reducibleJoin424: while (true) {
if (property < 536.05) {
r42 = value210;
break reducibleJoin424;
}
value211 = 19;
reducibleJoin423: while (true) {
if (property < 536.1) {
r43 = value211;
break reducibleJoin423;
}
value212 = 20;
reducibleJoin422: while (true) {
if (property < 537.01) {
r44 = value212;
break reducibleJoin422;
}
value213 = '21+';
reducibleJoin421: while (true) {
if (property < 537.11) {
r45 = value213;
break reducibleJoin421;
}
value214 = 23;
reducibleJoin420: while (true) {
if (property < 537.13) {
r46 = value214;
break reducibleJoin420;
}
value215 = 24;
reducibleJoin419: while (true) {
if (property < 537.18) {
r47 = value215;
break reducibleJoin419;
}
value216 = 25;
reducibleJoin418: while (true) {
if (property < 537.24) {
r48 = value216;
break reducibleJoin418;
}
value217 = 26;
reducibleJoin417: while (true) {
if (property < 537.36) {
r49 = value217;
break reducibleJoin417;
}
value218 = '28';
reducibleJoin416: while (true) {
if (r9 != 'Blink') {
value219 = '27';
r50 = value219;
break reducibleJoin416;
}
r50 = value218;
break reducibleJoin416;
}
r49 = r50;
break reducibleJoin417;
}
r48 = r49;
break reducibleJoin418;
}
r47 = r48;
break reducibleJoin419;
}
r46 = r47;
break reducibleJoin420;
}
r45 = r46;
break reducibleJoin421;
}
r44 = r45;
break reducibleJoin422;
}
r43 = r44;
break reducibleJoin423;
}
r42 = r43;
break reducibleJoin424;
}
r41 = r42;
break reducibleJoin425;
}
r40 = r41;
break reducibleJoin426;
}
r39 = r40;
break reducibleJoin427;
}
r38 = r39;
break reducibleJoin428;
}
r37 = r38;
break reducibleJoin429;
}
r36 = r37;
break reducibleJoin430;
}
r35 = r36;
break reducibleJoin431;
}
r34 = r35;
break reducibleJoin432;
}
r33 = r34;
break reducibleJoin433;
}
r32 = r33;
break reducibleJoin434;
}
r31 = r32;
break reducibleJoin435;
}
r30 = r31;
break reducibleJoin436;
}
r29 = r30;
break reducibleJoin437;
}
r28 = r29;
break reducibleJoin438;
}
r27 = r28;
break reducibleJoin439;
}
r25 = r27;
break reducibleJoin440;
}
r24 = r25;
break reducibleJoin441;
}
r12 = r24;
break reducibleJoin442;
}
reducibleJoin368: while (true) {
if (r9) {
r9[value24] = 'like Safari';
break reducibleJoin368;
}
break reducibleJoin368;
}
property = items13[0];
if (property < 400) {
r24 = value24;
break reducibleJoin386;
}
value186 = 2;
reducibleJoin385: while (true) {
if (property < 500) {
r25 = value186;
break reducibleJoin385;
}
value187 = 3;
reducibleJoin384: while (true) {
if (property < 526) {
r28 = value187;
break reducibleJoin384;
}
value188 = 4;
reducibleJoin383: while (true) {
if (property < 533) {
r29 = value188;
break reducibleJoin383;
}
value189 = '4+';
reducibleJoin382: while (true) {
if (property < 534) {
r30 = value189;
break reducibleJoin382;
}
value190 = 5;
reducibleJoin381: while (true) {
if (property < 535) {
r31 = value190;
break reducibleJoin381;
}
value191 = 6;
reducibleJoin380: while (true) {
if (property < 537) {
r32 = value191;
break reducibleJoin380;
}
value192 = 7;
reducibleJoin379: while (true) {
if (property < 538) {
r33 = value192;
break reducibleJoin379;
}
value193 = '8';
reducibleJoin378: while (true) {
if (property < 601) {
value194 = 8;
r34 = value194;
break reducibleJoin378;
}
r34 = value193;
break reducibleJoin378;
}
r33 = r34;
break reducibleJoin379;
}
r32 = r33;
break reducibleJoin380;
}
r31 = r32;
break reducibleJoin381;
}
r30 = r31;
break reducibleJoin382;
}
r29 = r30;
break reducibleJoin383;
}
r28 = r29;
break reducibleJoin384;
}
r25 = r28;
break reducibleJoin385;
}
r24 = r25;
break reducibleJoin386;
}
r12 = r24;
break reducibleJoin442;
}
reducibleJoin448: while (true) {
if (r9) {
property = r9[value24];
value220 = '.x';
reducibleJoin447: while (true) {
if (typeof r12 === 'number') {
r24 = value220;
break reducibleJoin447;
}
regexp = RegExp('[.+]', '');
test = regexp.test;
value221 = Reflect.apply(test, regexp, [r12]);
value222 = '+';
reducibleJoin446: while (true) {
if (value221) {
value223 = '';
r28 = value223;
break reducibleJoin446;
}
r28 = value222;
break reducibleJoin446;
}
r24 = r28;
break reducibleJoin447;
}
value224 = r12 + r24;
r9[value24] = property + (' ' + value224);
r12 = value224;
break reducibleJoin448;
}
break reducibleJoin448;
}
value225 = value20 == r6;
reducibleJoin452: while (true) {
if (value225) {
value226 = !r3;
reducibleJoin451: while (true) {
if (r3) {
parseInt = global.parseInt;
int = parseInt(r3);
value227 = int > 45;
r25 = value227;
break reducibleJoin451;
}
r25 = value226;
break reducibleJoin451;
}
r24 = r25;
break reducibleJoin452;
}
r24 = value225;
break reducibleJoin452;
}
if (r24) {
r3 = r12;
r11 = r23;
r14 = r9;
break reducibleJoin453;
}
r11 = r23;
r14 = r9;
break reducibleJoin453;
}
r11 = r25;
r12 = property;
r14 = r9;
break reducibleJoin453;
}
reducibleJoin467: while (true) {
reducibleJoin459: while (true) {
if (value17 != r6) {
value229 = value20 == r6;
if (value229) {
regexp = RegExp('\\bChrome\\b', '');
exec = regexp.exec;
reducibleJoin458: while (true) {
if (r14) {
property = r14[value24];
r9 = property;
break reducibleJoin458;
}
r9 = r14;
break reducibleJoin458;
}
value230 = Reflect.apply(exec, regexp, [r9]);
r19 = value230;
break reducibleJoin459;
}
r19 = value229;
break reducibleJoin459;
}
regexp = RegExp('\\bzbov|zvav$', '');
exec = regexp.exec;
value228 = Reflect.apply(exec, regexp, [r5]);
if (value228) {
value233 = r6 + ' ';
unshift = object.unshift;
Reflect.apply(unshift, object, ['desktop mode']);
if (value228 == 'zvav') {
value235 = value233 + 'Mini';
r3 = value7;
r6 = value235;
} else {
value234 = value233 + 'Mobile';
r6 = value234;
}
replace = r5.replace;
RegExp = global.RegExp;
value236 = RegExp(' *' + value228 + '$');
value237 = Reflect.apply(replace, r5, [value236, '']);
r5 = value237;
r9 = r13;
r12 = value228;
break reducibleJoin467;
}
r12 = value228;
value229 = value20 == r6;
if (value229) {
regexp = RegExp('\\bChrome\\b', '');
exec = regexp.exec;
reducibleJoin458: while (true) {
if (r14) {
property = r14[value24];
r9 = property;
break reducibleJoin458;
}
r9 = r14;
break reducibleJoin458;
}
value230 = Reflect.apply(exec, regexp, [r9]);
r19 = value230;
break reducibleJoin459;
}
r19 = value229;
break reducibleJoin459;
}
if (r19) {
unshift = object.unshift;
Reflect.apply(unshift, object, ['desktop mode']);
regexp = RegExp('\\bOS X\\b', '');
test = regexp.test;
reducibleJoin462: while (true) {
if (Reflect.apply(test, regexp, [r5])) {
value231 = 'iOS 4.3+';
value232 = 'Apple';
r5 = value231;
r17 = value232;
break reducibleJoin462;
}
r5 = value7;
r17 = r13;
break reducibleJoin462;
}
r3 = value7;
r6 = value18;
r9 = r17;
break reducibleJoin467;
}
r9 = r13;
break reducibleJoin467;
}
reducibleJoin469: while (true) {
if (r3) {
indexOf = r3.indexOf;
regexp = RegExp('[\\d.]+$', '');
exec = regexp.exec;
value238 = Reflect.apply(exec, regexp, [r5]);
value239 = Reflect.apply(indexOf, r3, [value238]);
value240 = value239 == 0;
r12 = value238;
r13 = value240;
break reducibleJoin469;
}
r13 = r3;
break reducibleJoin469;
}
reducibleJoin471: while (true) {
if (r13) {
indexOf = r10.indexOf;
value241 = Reflect.apply(indexOf, r10, ['/' + r12 + '-']);
value242 = value241 > -1;
r13 = value242;
break reducibleJoin471;
}
break reducibleJoin471;
}
reducibleJoin473: while (true) {
if (r13) {
trim_34565Binding = trim_34565;
replace = r5.replace;
value243 = trim_34565Binding(Reflect.apply(replace, r5, [r12, '']));
r5 = value243;
break reducibleJoin473;
}
break reducibleJoin473;
}
reducibleJoin475: while (true) {
if (r14) {
regexp = RegExp('\\b(?:Avant|Nook)\\b', '');
test = regexp.test;
value244 = !Reflect.apply(test, regexp, [r6]);
r13 = value244;
break reducibleJoin475;
}
r13 = r14;
break reducibleJoin475;
}
reducibleJoin487: while (true) {
if (r13) {
regexp = RegExp('Browser|Lunascape|Maxthon', '');
test = regexp.test;
value245 = Reflect.apply(test, regexp, [r6]);
reducibleJoin482: while (true) {
if (value245) {
r17 = value245;
break reducibleJoin482;
}
value246 = value20 != r6;
reducibleJoin479: while (true) {
if (value246) {
regexp = RegExp('^iOS', '');
test = regexp.test;
value247 = Reflect.apply(test, regexp, [r5]);
r19 = value247;
break reducibleJoin479;
}
r19 = value246;
break reducibleJoin479;
}
reducibleJoin481: while (true) {
if (r19) {
regexp = RegExp('\\bSafari\\b', '');
test = regexp.test;
value248 = Reflect.apply(test, regexp, [r14[value24]]);
r19 = value248;
break reducibleJoin481;
}
break reducibleJoin481;
}
r17 = r19;
break reducibleJoin482;
}
reducibleJoin486: while (true) {
if (r17) {
break reducibleJoin486;
}
regexp = RegExp('^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Samsung Internet|Sleipnir|Web)',
'');
test = regexp.test;
value249 = Reflect.apply(test, regexp, [r6]);
reducibleJoin485: while (true) {
if (value249) {
property = r14[value24];
r19 = property;
break reducibleJoin485;
}
r19 = value249;
break reducibleJoin485;
}
r17 = r19;
break reducibleJoin486;
}
r13 = r17;
break reducibleJoin487;
}
break reducibleJoin487;
}
reducibleJoin489: while (true) {
if (r13) {
length = r14.length;
property = r14[length - value24];
r12 = property;
r13 = property;
break reducibleJoin489;
}
break reducibleJoin489;
}
reducibleJoin491: while (true) {
if (r13) {
push = object.push;
Reflect.apply(push, object, [r12]);
break reducibleJoin491;
}
break reducibleJoin491;
}
length = object.length;
reducibleJoin493: while (true) {
if (length) {
join = object.join;
value250 = Reflect.apply(join, object, ['; ']);
value251 = '(' + value250;
r1 = [value251 + ')'];
break reducibleJoin493;
}
r1 = object;
break reducibleJoin493;
}
r13 = r9 && r2;
reducibleJoin496: while (true) {
if (r13) {
indexOf = r2.indexOf;
value252 = Reflect.apply(indexOf, r2, [r9]);
value253 = value252 < 0;
r13 = value253;
break reducibleJoin496;
}
break reducibleJoin496;
}
reducibleJoin498: while (true) {
if (r13) {
push = r1.push;
Reflect.apply(push, r1, ['on ' + r9]);
break reducibleJoin498;
}
break reducibleJoin498;
}
reducibleJoin502: while (true) {
if (r2) {
push = r1.push;
regexp = RegExp('^on ', '');
test = regexp.test;
length = r1.length;
value254 = Reflect.apply(test, regexp, [r1[length - value24]]);
value255 = 'on ';
reducibleJoin501: while (true) {
if (value254) {
value256 = '';
r13 = value256;
break reducibleJoin501;
}
r13 = value255;
break reducibleJoin501;
}
Reflect.apply(push, r1, [r13 + r2]);
break reducibleJoin502;
}
break reducibleJoin502;
}
reducibleJoin511: while (true) {
if (r5) {
regexp = RegExp(' ([\\d.+]+)$', '');
exec = regexp.exec;
value257 = Reflect.apply(exec, regexp, [r5]);
reducibleJoin505: while (true) {
if (value257) {
charAt = r5.charAt;
length = r5.length;
length2 = value257[0].length;
value258 = Reflect.apply(charAt, r5, [length - length2 - value24]);
value259 = value258 == '/';
r17 = value259;
break reducibleJoin505;
}
r17 = value257;
break reducibleJoin505;
}
var env0_1 = r17;
object = {architecture: 32};
reducibleJoin508: while (true) {
if (value257) {
if (r17) {
r17 = r5;
break reducibleJoin508;
}
replace = r5.replace;
value260 = Reflect.apply(replace, r5, [value257[0], '']);
r17 = value260;
break reducibleJoin508;
}
r17 = r5;
break reducibleJoin508;
}
object.family = r17;
reducibleJoin510: while (true) {
if (value257) {
property = value257[value24];
r17 = property;
break reducibleJoin510;
}
r17 = value7;
break reducibleJoin510;
}
object.version = r17;
object.toString = toString_34579;
r5 = object;
break reducibleJoin511;
}
break reducibleJoin511;
}
regexp = RegExp('\\b(?:AMD|IA|Win|WOW|x86_|x)64\\b', 'i');
exec = regexp.exec;
value261 = Reflect.apply(exec, regexp, [r18]);
reducibleJoin535: while (true) {
reducibleJoin533: while (true) {
if (value261) {
regexp = RegExp('\\bi686\\b', 'i');
test = regexp.test;
if (Reflect.apply(test, regexp, [r18])) {
reducibleJoin529: while (true) {
if (r5) {
regexp = RegExp('^OS X', '');
test = regexp.test;
family = r5.family;
value = Reflect.apply(test, regexp, [family]);
r12 = value;
break reducibleJoin529;
}
r12 = r5;
break reducibleJoin529;
}
reducibleJoin531: while (true) {
if (r12) {
value = r6 == 'Chrome';
r12 = value;
break reducibleJoin531;
}
break reducibleJoin531;
}
if (r12) {
parseFloat = global.parseFloat;
value = parseFloat(r3);
value = value >= 39;
r12 = value;
break reducibleJoin533;
}
break reducibleJoin533;
}
reducibleJoin515: while (true) {
if (r5) {
r5.architecture = 64;
family = r5.family;
replace = family.replace;
RegExp = global.RegExp;
value262 = RegExp(' *' + value261);
r5.family = Reflect.apply(replace, family, [value262, '']);
break reducibleJoin515;
}
break reducibleJoin515;
}
reducibleJoin525: while (true) {
if (r6) {
regexp = RegExp('\\bWOW64\\b', 'i');
test = regexp.test;
value263 = Reflect.apply(test, regexp, [r10]);
reducibleJoin524: while (true) {
if (value263) {
r13 = value263;
break reducibleJoin524;
}
reducibleJoin521: while (true) {
if (value) {
regexp = RegExp('\\w(?:86|32)$', '');
test = regexp.test;
cpuClass = r20.cpuClass;
reducibleJoin520: while (true) {
if (cpuClass) {
r17 = cpuClass;
break reducibleJoin520;
}
platform = r20.platform;
r17 = platform;
break reducibleJoin520;
}
value = Reflect.apply(test, regexp, [r17]);
r16 = value;
break reducibleJoin521;
}
r16 = value;
break reducibleJoin521;
}
reducibleJoin523: while (true) {
if (r16) {
regexp = RegExp('\\bWin64; x64\\b', 'i');
test = regexp.test;
value = !Reflect.apply(test, regexp, [r10]);
r16 = value;
break reducibleJoin523;
}
break reducibleJoin523;
}
r13 = r16;
break reducibleJoin524;
}
r12 = r13;
break reducibleJoin525;
}
r12 = r6;
break reducibleJoin525;
}
if (r12) {
unshift = r1.unshift;
Reflect.apply(unshift, r1, ['32-bit']);
break reducibleJoin535;
}
break reducibleJoin535;
}
reducibleJoin529: while (true) {
if (r5) {
regexp = RegExp('^OS X', '');
test = regexp.test;
family = r5.family;
value = Reflect.apply(test, regexp, [family]);
r12 = value;
break reducibleJoin529;
}
r12 = r5;
break reducibleJoin529;
}
reducibleJoin531: while (true) {
if (r12) {
value = r6 == 'Chrome';
r12 = value;
break reducibleJoin531;
}
break reducibleJoin531;
}
if (r12) {
parseFloat = global.parseFloat;
value = parseFloat(r3);
value = value >= 39;
r12 = value;
break reducibleJoin533;
}
break reducibleJoin533;
}
if (r12) {
r5.architecture = 64;
break reducibleJoin535;
}
break reducibleJoin535;
}
reducibleJoin537: while (true) {
if (r10) {
break reducibleJoin537;
}
env0_0 = value7;
r10 = value7;
break reducibleJoin537;
}
object = {description: r10};
reducibleJoin539: while (true) {
if (r14) {
property = r14[0];
r12 = property;
break reducibleJoin539;
}
r12 = r14;
break reducibleJoin539;
}
object.layout = r12;
object.manufacturer = r9;
object.name = r6;
object.prerelease = r11;
object.product = r2;
object.ua = r10;
r9 = r6 && r3;
object.version = r9;
reducibleJoin542: while (true) {
if (r5) {
r9 = r5;
break reducibleJoin542;
}
r9 = {'architecture': null, 'family': null, 'version': null, toString: function() {
return 'null';
}};
break reducibleJoin542;
}
object.os = r9;
object.parse = parse_34566;
object.toString = toString_34581;
version = object.version;
reducibleJoin544: while (true) {
if (version) {
unshift = r1.unshift;
Reflect.apply(unshift, r1, [r3]);
break reducibleJoin544;
}
break reducibleJoin544;
}
name = object.name;
reducibleJoin546: while (true) {
if (name) {
unshift = r1.unshift;
Reflect.apply(unshift, r1, [r6]);
break reducibleJoin546;
}
break reducibleJoin546;
}
r3 = r5 && r6;
reducibleJoin553: while (true) {
if (r3) {
String = global.String;
value = String(r5);
split = value.split;
value = Reflect.apply(split, value, [' ']);
value = r5 != value[0];
reducibleJoin552: while (true) {
if (value) {
r4 = value;
break reducibleJoin552;
}
split = r6.split;
value = r5 != Reflect.apply(split, r6, [' '])[0];
reducibleJoin551: while (true) {
if (value) {
value = !r2;
r6 = value;
break reducibleJoin551;
}
r6 = value;
break reducibleJoin551;
}
r4 = r6;
break reducibleJoin552;
}
r3 = r4;
break reducibleJoin553;
}
break reducibleJoin553;
}
reducibleJoin558: while (true) {
if (r3) {
push = r1.push;
if (r2) {
value = '(' + r5 + ')';
r2 = value;
} else {
value = 'on ' + r5;
r2 = value;
}
Reflect.apply(push, r1, [r2]);
break reducibleJoin558;
}
break reducibleJoin558;
}
length = r1.length;
reducibleJoin560: while (true) {
if (length) {
join = r1.join;
object.description = Reflect.apply(join, r1, [' ']);
break reducibleJoin560;
}
break reducibleJoin560;
}
return object;
}
const value169 = 'Firefox Mobile';
r2 = r14;
r6 = value169;
r9 = r23;
r13 = r11;
value170 = RegExp('\\bAppleWebKit\\/([\\d.]+\\+?)', 'i').exec(r10);
reducibleJoin344: while (true) {
if (value170) {
r11 = value170;
break reducibleJoin344;
}
value171 = 0;
r11 = value171;
break reducibleJoin344;
}
property = r11[value24];
reducibleJoin453: while (true) {
if (property) {
parseFloat = global.parseFloat;
replace = property.replace;
float2 = parseFloat(Reflect.apply(replace, property, [RegExp('\\.(\\d)$', ''), '.0$1']));
items13 = [float2, property];
reducibleJoin353: while (true) {
reducibleJoin351: while (true) {
if (value20 != r6) {
value173 = r3 != items13[value24];
if (value173) {
regexp = RegExp('\\bSafari\\/([\\d.]+\\+?)', 'i');
exec = regexp.exec;
value174 = Reflect.apply(exec, regexp, [r10]);
reducibleJoin350: while (true) {
if (value174) {
r23 = value174;
break reducibleJoin350;
}
value175 = 0;
r23 = value175;
break reducibleJoin350;
}
property = r23[value24];
items13[2] = property;
value176 = r3 != property;
r27 = value176;
break reducibleJoin351;
}
r27 = value173;
break reducibleJoin351;
}
property = items13[value24];
slice = property.slice;
value172 = Reflect.apply(slice, property, [-1]);
if (value172 == '+') {
value177 = 'WebKit Nightly';
property = items13[value24];
slice = property.slice;
value178 = Reflect.apply(slice, property, [0, -1]);
value179 = 'alpha';
r3 = value178;
r6 = value177;
r23 = value179;
break reducibleJoin353;
}
value173 = r3 != items13[value24];
if (value173) {
regexp = RegExp('\\bSafari\\/([\\d.]+\\+?)', 'i');
exec = regexp.exec;
value174 = Reflect.apply(exec, regexp, [r10]);
reducibleJoin350: while (true) {
if (value174) {
r23 = value174;
break reducibleJoin350;
}
value175 = 0;
r23 = value175;
break reducibleJoin350;
}
property = r23[value24];
items13[2] = property;
value176 = r3 != property;
r27 = value176;
break reducibleJoin351;
}
r27 = value173;
break reducibleJoin351;
}
if (r27) {
r23 = r25;
break reducibleJoin353;
}
r3 = value7;
r23 = r25;
break reducibleJoin353;
}
regexp = RegExp('\\bChrome\\/([\\d.]+)', 'i');
exec = regexp.exec;
value180 = Reflect.apply(exec, regexp, [r10]);
reducibleJoin355: while (true) {
if (value180) {
r25 = value180;
break reducibleJoin355;
}
value181 = 0;
r25 = value181;
break reducibleJoin355;
}
items13[value24] = r25[value24];
value182 = items13[0] == 537.36;
reducibleJoin357: while (true) {
if (value182) {
value183 = items13[2] == 537.36;
r25 = value183;
break reducibleJoin357;
}
r25 = value182;
break reducibleJoin357;
}
reducibleJoin359: while (true) {
if (r25) {
parseFloat = global.parseFloat;
float3 = parseFloat(items13[value24]);
value184 = float3 >= 28;
r25 = value184;
break reducibleJoin359;
}
break reducibleJoin359;
}
reducibleJoin361: while (true) {
if (r25) {
value185 = value11 == r9;
r25 = value185;
break reducibleJoin361;
}
break reducibleJoin361;
}
reducibleJoin363: while (true) {
if (r25) {
r9 = ['Blink'];
break reducibleJoin363;
}
break reducibleJoin363;
}
reducibleJoin442: while (true) {
reducibleJoin386: while (true) {
if (value) {
if (!r24) {
if (!items13[value24]) {
reducibleJoin368: while (true) {
if (r9) {
r9[value24] = 'like Safari';
break reducibleJoin368;
}
break reducibleJoin368;
}
property = items13[0];
if (property < 400) {
r24 = value24;
break reducibleJoin386;
}
reducibleJoin385: while (true) {
if (property < 500) {
r25 = 2;
break reducibleJoin385;
}
value187 = 3;
reducibleJoin384: while (true) {
if (property < 526) {
r28 = value187;
break reducibleJoin384;
}
value188 = 4;
reducibleJoin383: while (true) {
if (property < 533) {
r29 = value188;
break reducibleJoin383;
}
value189 = '4+';
reducibleJoin382: while (true) {
if (property < 534) {
r30 = value189;
break reducibleJoin382;
}
value190 = 5;
reducibleJoin381: while (true) {
if (property < 535) {
r31 = value190;
break reducibleJoin381;
}
value191 = 6;
reducibleJoin380: while (true) {
if (property < 537) {
r32 = value191;
break reducibleJoin380;
}
value192 = 7;
reducibleJoin379: while (true) {
if (property < 538) {
r33 = value192;
break reducibleJoin379;
}
value193 = '8';
reducibleJoin378: while (true) {
if (property < 601) {
value194 = 8;
r34 = value194;
break reducibleJoin378;
}
r34 = value193;
break reducibleJoin378;
}
r33 = r34;
break reducibleJoin379;
}
r32 = r33;
break reducibleJoin380;
}
r31 = r32;
break reducibleJoin381;
}
r30 = r31;
break reducibleJoin382;
}
r29 = r30;
break reducibleJoin383;
}
r28 = r29;
break reducibleJoin384;
}
r25 = r28;
break reducibleJoin385;
}
r24 = r25;
break reducibleJoin386;
}
}
reducibleJoin389: while (true) {
if (r9) {
r9[value24] = 'like Chrome';
break reducibleJoin389;
}
break reducibleJoin389;
}
property = items13[value24];
reducibleJoin441: while (true) {
if (property) {
r24 = property;
break reducibleJoin441;
}
property = items13[0];
reducibleJoin440: while (true) {
if (property < 530) {
r25 = value24;
break reducibleJoin440;
}
value195 = 2;
reducibleJoin439: while (true) {
if (property < 532) {
r27 = value195;
break reducibleJoin439;
}
value196 = 3;
reducibleJoin438: while (true) {
if (property < 532.05) {
r28 = value196;
break reducibleJoin438;
}
value197 = 4;
reducibleJoin437: while (true) {
if (property < 533) {
r29 = value197;
break reducibleJoin437;
}
value198 = 5;
reducibleJoin436: while (true) {
if (property < 534.03) {
r30 = value198;
break reducibleJoin436;
}
value199 = 6;
reducibleJoin435: while (true) {
if (property < 534.07) {
r31 = value199;
break reducibleJoin435;
}
value200 = 7;
reducibleJoin434: while (true) {
if (property < 534.1) {
r32 = value200;
break reducibleJoin434;
}
value201 = 8;
reducibleJoin433: while (true) {
if (property < 534.13) {
r33 = value201;
break reducibleJoin433;
}
value202 = 9;
reducibleJoin432: while (true) {
if (property < 534.16) {
r34 = value202;
break reducibleJoin432;
}
value203 = 10;
reducibleJoin431: while (true) {
if (property < 534.24) {
r35 = value203;
break reducibleJoin431;
}
value204 = 11;
reducibleJoin430: while (true) {
if (property < 534.3) {
r36 = value204;
break reducibleJoin430;
}
value205 = 12;
reducibleJoin429: while (true) {
if (property < 535.01) {
r37 = value205;
break reducibleJoin429;
}
value206 = '13+';
reducibleJoin428: while (true) {
if (property < 535.02) {
r38 = value206;
break reducibleJoin428;
}
value207 = 15;
reducibleJoin427: while (true) {
if (property < 535.07) {
r39 = value207;
break reducibleJoin427;
}
value208 = 16;
reducibleJoin426: while (true) {
if (property < 535.11) {
r40 = value208;
break reducibleJoin426;
}
value209 = 17;
reducibleJoin425: while (true) {
if (property < 535.19) {
r41 = value209;
break reducibleJoin425;
}
value210 = 18;
reducibleJoin424: while (true) {
if (property < 536.05) {
r42 = value210;
break reducibleJoin424;
}
value211 = 19;
reducibleJoin423: while (true) {
if (property < 536.1) {
r43 = value211;
break reducibleJoin423;
}
value212 = 20;
reducibleJoin422: while (true) {
if (property < 537.01) {
r44 = value212;
break reducibleJoin422;
}
value213 = '21+';
reducibleJoin421: while (true) {
if (property < 537.11) {
r45 = value213;
break reducibleJoin421;
}
value214 = 23;
reducibleJoin420: while (true) {
if (property < 537.13) {
r46 = value214;
break reducibleJoin420;
}
value215 = 24;
reducibleJoin419: while (true) {
if (property < 537.18) {
r47 = value215;
break reducibleJoin419;
}
value216 = 25;
reducibleJoin418: while (true) {
if (property < 537.24) {
r48 = value216;
break reducibleJoin418;
}
value217 = 26;
reducibleJoin417: while (true) {
if (property < 537.36) {
r49 = value217;
break reducibleJoin417;
}
value218 = '28';
reducibleJoin416: while (true) {
if (r9 != 'Blink') {
value219 = '27';
r50 = value219;
break reducibleJoin416;
}
r50 = value218;
break reducibleJoin416;
}
r49 = r50;
break reducibleJoin417;
}
r48 = r49;
break reducibleJoin418;
}
r47 = r48;
break reducibleJoin419;
}
r46 = r47;
break reducibleJoin420;
}
r45 = r46;
break reducibleJoin421;
}
r44 = r45;
break reducibleJoin422;
}
r43 = r44;
break reducibleJoin423;
}
r42 = r43;
break reducibleJoin424;
}
r41 = r42;
break reducibleJoin425;
}
r40 = r41;
break reducibleJoin426;
}
r39 = r40;
break reducibleJoin427;
}
r38 = r39;
break reducibleJoin428;
}
r37 = r38;
break reducibleJoin429;
}
r36 = r37;
break reducibleJoin430;
}
r35 = r36;
break reducibleJoin431;
}
r34 = r35;
break reducibleJoin432;
}
r33 = r34;
break reducibleJoin433;
}
r32 = r33;
break reducibleJoin434;
}
r31 = r32;
break reducibleJoin435;
}
r30 = r31;
break reducibleJoin436;
}
r29 = r30;
break reducibleJoin437;
}
r28 = r29;
break reducibleJoin438;
}
r27 = r28;
break reducibleJoin439;
}
r25 = r27;
break reducibleJoin440;
}
r24 = r25;
break reducibleJoin441;
}
r12 = r24;
break reducibleJoin442;
}
reducibleJoin368: while (true) {
if (r9) {
r9[value24] = 'like Safari';
break reducibleJoin368;
}
break reducibleJoin368;
}
property = items13[0];
if (property < 400) {
r24 = value24;
break reducibleJoin386;
}
value186 = 2;
reducibleJoin385: while (true) {
if (property < 500) {
r25 = value186;
break reducibleJoin385;
}
value187 = 3;
reducibleJoin384: while (true) {
if (property < 526) {
r28 = value187;
break reducibleJoin384;
}
value188 = 4;
reducibleJoin383: while (true) {
if (property < 533) {
r29 = value188;
break reducibleJoin383;
}
value189 = '4+';
reducibleJoin382: while (true) {
if (property < 534) {
r30 = value189;
break reducibleJoin382;
}
value190 = 5;
reducibleJoin381: while (true) {
if (property < 535) {
r31 = value190;
break reducibleJoin381;
}
value191 = 6;
reducibleJoin380: while (true) {
if (property < 537) {
r32 = value191;
break reducibleJoin380;
}
value192 = 7;
reducibleJoin379: while (true) {
if (property < 538) {
r33 = value192;
break reducibleJoin379;
}
value193 = '8';
reducibleJoin378: while (true) {
if (property < 601) {
value194 = 8;
r34 = value194;
break reducibleJoin378;
}
r34 = value193;
break reducibleJoin378;
}
r33 = r34;
break reducibleJoin379;
}
r32 = r33;
break reducibleJoin380;
}
r31 = r32;
break reducibleJoin381;
}
r30 = r31;
break reducibleJoin382;
}
r29 = r30;
break reducibleJoin383;
}
r28 = r29;
break reducibleJoin384;
}
r25 = r28;
break reducibleJoin385;
}
r24 = r25;
break reducibleJoin386;
}
r12 = r24;
break reducibleJoin442;
}
reducibleJoin448: while (true) {
if (r9) {
property = r9[value24];
value220 = '.x';
reducibleJoin447: while (true) {
if (typeof r12 === 'number') {
r24 = value220;
break reducibleJoin447;
}
regexp = RegExp('[.+]', '');
test = regexp.test;
value221 = Reflect.apply(test, regexp, [r12]);
value222 = '+';
reducibleJoin446: while (true) {
if (value221) {
value223 = '';
r28 = value223;
break reducibleJoin446;
}
r28 = value222;
break reducibleJoin446;
}
r24 = r28;
break reducibleJoin447;
}
value224 = r12 + r24;
r9[value24] = property + (' ' + value224);
r12 = value224;
break reducibleJoin448;
}
break reducibleJoin448;
}
value225 = value20 == r6;
reducibleJoin452: while (true) {
if (value225) {
value226 = !r3;
reducibleJoin451: while (true) {
if (r3) {
parseInt = global.parseInt;
int = parseInt(r3);
value227 = int > 45;
r25 = value227;
break reducibleJoin451;
}
r25 = value226;
break reducibleJoin451;
}
r24 = r25;
break reducibleJoin452;
}
r24 = value225;
break reducibleJoin452;
}
if (r24) {
r3 = r12;
r11 = r23;
r14 = r9;
break reducibleJoin453;
}
r11 = r23;
r14 = r9;
break reducibleJoin453;
}
r11 = r25;
r12 = property;
r14 = r9;
break reducibleJoin453;
}
reducibleJoin467: while (true) {
reducibleJoin459: while (true) {
if (value17 != r6) {
value229 = value20 == r6;
if (value229) {
regexp = RegExp('\\bChrome\\b', '');
exec = regexp.exec;
reducibleJoin458: while (true) {
if (r14) {
property = r14[value24];
r9 = property;
break reducibleJoin458;
}
r9 = r14;
break reducibleJoin458;
}
value230 = Reflect.apply(exec, regexp, [r9]);
r19 = value230;
break reducibleJoin459;
}
r19 = value229;
break reducibleJoin459;
}
regexp = RegExp('\\bzbov|zvav$', '');
exec = regexp.exec;
value228 = Reflect.apply(exec, regexp, [r5]);
if (value228) {
value233 = r6 + ' ';
unshift = object.unshift;
Reflect.apply(unshift, object, ['desktop mode']);
if (value228 == 'zvav') {
value235 = value233 + 'Mini';
r3 = value7;
r6 = value235;
} else {
value234 = value233 + 'Mobile';
r6 = value234;
}
replace = r5.replace;
RegExp = global.RegExp;
value236 = RegExp(' *' + value228 + '$');
value237 = Reflect.apply(replace, r5, [value236, '']);
r5 = value237;
r9 = r13;
r12 = value228;
break reducibleJoin467;
}
r12 = value228;
value229 = value20 == r6;
if (value229) {
regexp = RegExp('\\bChrome\\b', '');
exec = regexp.exec;
reducibleJoin458: while (true) {
if (r14) {
property = r14[value24];
r9 = property;
break reducibleJoin458;
}
r9 = r14;
break reducibleJoin458;
}
value230 = Reflect.apply(exec, regexp, [r9]);
r19 = value230;
break reducibleJoin459;
}
r19 = value229;
break reducibleJoin459;
}
if (r19) {
unshift = object.unshift;
Reflect.apply(unshift, object, ['desktop mode']);
regexp = RegExp('\\bOS X\\b', '');
test = regexp.test;
reducibleJoin462: while (true) {
if (Reflect.apply(test, regexp, [r5])) {
value231 = 'iOS 4.3+';
value232 = 'Apple';
r5 = value231;
r17 = value232;
break reducibleJoin462;
}
r5 = value7;
r17 = r13;
break reducibleJoin462;
}
r3 = value7;
r6 = value18;
r9 = r17;
break reducibleJoin467;
}
r9 = r13;
break reducibleJoin467;
}
reducibleJoin469: while (true) {
if (r3) {
indexOf = r3.indexOf;
regexp = RegExp('[\\d.]+$', '');
exec = regexp.exec;
value238 = Reflect.apply(exec, regexp, [r5]);
value239 = Reflect.apply(indexOf, r3, [value238]);
value240 = value239 == 0;
r12 = value238;
r13 = value240;
break reducibleJoin469;
}
r13 = r3;
break reducibleJoin469;
}
reducibleJoin471: while (true) {
if (r13) {
indexOf = r10.indexOf;
value241 = Reflect.apply(indexOf, r10, ['/' + r12 + '-']);
value242 = value241 > -1;
r13 = value242;
break reducibleJoin471;
}
break reducibleJoin471;
}
reducibleJoin473: while (true) {
if (r13) {
trim_34565Binding = trim_34565;
replace = r5.replace;
value243 = trim_34565Binding(Reflect.apply(replace, r5, [r12, '']));
r5 = value243;
break reducibleJoin473;
}
break reducibleJoin473;
}
reducibleJoin475: while (true) {
if (r14) {
regexp = RegExp('\\b(?:Avant|Nook)\\b', '');
test = regexp.test;
value244 = !Reflect.apply(test, regexp, [r6]);
r13 = value244;
break reducibleJoin475;
}
r13 = r14;
break reducibleJoin475;
}
reducibleJoin487: while (true) {
if (r13) {
regexp = RegExp('Browser|Lunascape|Maxthon', '');
test = regexp.test;
value245 = Reflect.apply(test, regexp, [r6]);
reducibleJoin482: while (true) {
if (value245) {
r17 = value245;
break reducibleJoin482;
}
value246 = value20 != r6;
reducibleJoin479: while (true) {
if (value246) {
regexp = RegExp('^iOS', '');
test = regexp.test;
value247 = Reflect.apply(test, regexp, [r5]);
r19 = value247;
break reducibleJoin479;
}
r19 = value246;
break reducibleJoin479;
}
reducibleJoin481: while (true) {
if (r19) {
regexp = RegExp('\\bSafari\\b', '');
test = regexp.test;
value248 = Reflect.apply(test, regexp, [r14[value24]]);
r19 = value248;
break reducibleJoin481;
}
break reducibleJoin481;
}
r17 = r19;
break reducibleJoin482;
}
reducibleJoin486: while (true) {
if (r17) {
break reducibleJoin486;
}
regexp = RegExp('^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Samsung Internet|Sleipnir|Web)',
'');
test = regexp.test;
value249 = Reflect.apply(test, regexp, [r6]);
reducibleJoin485: while (true) {
if (value249) {
property = r14[value24];
r19 = property;
break reducibleJoin485;
}
r19 = value249;
break reducibleJoin485;
}
r17 = r19;
break reducibleJoin486;
}
r13 = r17;
break reducibleJoin487;
}
break reducibleJoin487;
}
reducibleJoin489: while (true) {
if (r13) {
length = r14.length;
property = r14[length - value24];
r12 = property;
r13 = property;
break reducibleJoin489;
}
break reducibleJoin489;
}
reducibleJoin491: while (true) {
if (r13) {
push = object.push;
Reflect.apply(push, object, [r12]);
break reducibleJoin491;
}
break reducibleJoin491;
}
reducibleJoin493: while (true) {
if (object.length) {
join = object.join;
value250 = Reflect.apply(join, object, ['; ']);
value251 = '(' + value250;
r1 = [value251 + ')'];
break reducibleJoin493;
}
r1 = object;
break reducibleJoin493;
}
r13 = r9 && r2;
reducibleJoin496: while (true) {
if (r13) {
indexOf = r2.indexOf;
value252 = Reflect.apply(indexOf, r2, [r9]);
value253 = value252 < 0;
r13 = value253;
break reducibleJoin496;
}
break reducibleJoin496;
}
reducibleJoin498: while (true) {
if (r13) {
push = r1.push;
Reflect.apply(push, r1, ['on ' + r9]);
break reducibleJoin498;
}
break reducibleJoin498;
}
reducibleJoin502: while (true) {
if (r2) {
push = r1.push;
regexp = RegExp('^on ', '');
test = regexp.test;
length = r1.length;
value254 = Reflect.apply(test, regexp, [r1[length - value24]]);
value255 = 'on ';
reducibleJoin501: while (true) {
if (value254) {
value256 = '';
r13 = value256;
break reducibleJoin501;
}
r13 = value255;
break reducibleJoin501;
}
Reflect.apply(push, r1, [r13 + r2]);
break reducibleJoin502;
}
break reducibleJoin502;
}
reducibleJoin511: while (true) {
if (r5) {
regexp = RegExp(' ([\\d.+]+)$', '');
exec = regexp.exec;
value257 = Reflect.apply(exec, regexp, [r5]);
reducibleJoin505: while (true) {
if (value257) {
charAt = r5.charAt;
length = r5.length;
length2 = value257[0].length;
value258 = Reflect.apply(charAt, r5, [length - length2 - value24]);
value259 = value258 == '/';
r17 = value259;
break reducibleJoin505;
}
r17 = value257;
break reducibleJoin505;
}
var env0_1 = r17;
object = {architecture: 32};
reducibleJoin508: while (true) {
if (value257) {
if (r17) {
r17 = r5;
break reducibleJoin508;
}
replace = r5.replace;
value260 = Reflect.apply(replace, r5, [value257[0], '']);
r17 = value260;
break reducibleJoin508;
}
r17 = r5;
break reducibleJoin508;
}
object.family = r17;
reducibleJoin510: while (true) {
if (value257) {
property = value257[value24];
r17 = property;
break reducibleJoin510;
}
r17 = value7;
break reducibleJoin510;
}
object.version = r17;
object.toString = toString_34579;
r5 = object;
break reducibleJoin511;
}
break reducibleJoin511;
}
value261 = RegExp('\\b(?:AMD|IA|Win|WOW|x86_|x)64\\b', 'i').exec(r18);
reducibleJoin535: while (true) {
reducibleJoin533: while (true) {
if (value261) {
regexp = RegExp('\\bi686\\b', 'i');
test = regexp.test;
if (Reflect.apply(test, regexp, [r18])) {
reducibleJoin529: while (true) {
if (r5) {
regexp = RegExp('^OS X', '');
test = regexp.test;
family = r5.family;
value = Reflect.apply(test, regexp, [family]);
r12 = value;
break reducibleJoin529;
}
r12 = r5;
break reducibleJoin529;
}
reducibleJoin531: while (true) {
if (r12) {
value = r6 == 'Chrome';
r12 = value;
break reducibleJoin531;
}
break reducibleJoin531;
}
if (r12) {
parseFloat = global.parseFloat;
value = parseFloat(r3);
value = value >= 39;
r12 = value;
break reducibleJoin533;
}
break reducibleJoin533;
}
reducibleJoin515: while (true) {
if (r5) {
r5.architecture = 64;
family = r5.family;
replace = family.replace;
RegExp = global.RegExp;
value262 = RegExp(' *' + value261);
r5.family = Reflect.apply(replace, family, [value262, '']);
break reducibleJoin515;
}
break reducibleJoin515;
}
reducibleJoin525: while (true) {
if (r6) {
regexp = RegExp('\\bWOW64\\b', 'i');
test = regexp.test;
value263 = Reflect.apply(test, regexp, [r10]);
reducibleJoin524: while (true) {
if (value263) {
r13 = value263;
break reducibleJoin524;
}
reducibleJoin521: while (true) {
if (value) {
regexp = RegExp('\\w(?:86|32)$', '');
test = regexp.test;
cpuClass = r20.cpuClass;
reducibleJoin520: while (true) {
if (cpuClass) {
r17 = cpuClass;
break reducibleJoin520;
}
platform = r20.platform;
r17 = platform;
break reducibleJoin520;
}
value = Reflect.apply(test, regexp, [r17]);
r16 = value;
break reducibleJoin521;
}
r16 = value;
break reducibleJoin521;
}
reducibleJoin523: while (true) {
if (r16) {
regexp = RegExp('\\bWin64; x64\\b', 'i');
test = regexp.test;
value = !Reflect.apply(test, regexp, [r10]);
r16 = value;
break reducibleJoin523;
}
break reducibleJoin523;
}
r13 = r16;
break reducibleJoin524;
}
r12 = r13;
break reducibleJoin525;
}
r12 = r6;
break reducibleJoin525;
}
if (r12) {
unshift = r1.unshift;
Reflect.apply(unshift, r1, ['32-bit']);
break reducibleJoin535;
}
break reducibleJoin535;
}
reducibleJoin529: while (true) {
if (r5) {
regexp = RegExp('^OS X', '');
test = regexp.test;
family = r5.family;
value = Reflect.apply(test, regexp, [family]);
r12 = value;
break reducibleJoin529;
}
r12 = r5;
break reducibleJoin529;
}
reducibleJoin531: while (true) {
if (r12) {
value = r6 == 'Chrome';
r12 = value;
break reducibleJoin531;
}
break reducibleJoin531;
}
if (r12) {
parseFloat = global.parseFloat;
value = parseFloat(r3);
value = value >= 39;
r12 = value;
break reducibleJoin533;
}
break reducibleJoin533;
}
if (r12) {
r5.architecture = 64;
break reducibleJoin535;
}
break reducibleJoin535;
}
reducibleJoin537: while (true) {
if (r10) {
break reducibleJoin537;
}
env0_0 = value7;
r10 = value7;
break reducibleJoin537;
}
object = {description: r10};
reducibleJoin539: while (true) {
if (r14) {
property = r14[0];
r12 = property;
break reducibleJoin539;
}
r12 = r14;
break reducibleJoin539;
}
object.layout = r12;
object.manufacturer = r9;
object.name = r6;
object.prerelease = r11;
object.product = r2;
object.ua = r10;
object.version = r6 && r3;
reducibleJoin542: while (true) {
if (r5) {
r9 = r5;
break reducibleJoin542;
}
r9 = {'architecture': null, 'family': null, 'version': null, toString: function() {
return 'null';
}};
break reducibleJoin542;
}
object.os = r9;
object.parse = parse_34566;
object.toString = function() {
return this.description || '';
};
reducibleJoin544: while (true) {
if (object.version) {
unshift = r1.unshift;
Reflect.apply(unshift, r1, [r3]);
break reducibleJoin544;
}
break reducibleJoin544;
}
reducibleJoin546: while (true) {
if (object.name) {
unshift = r1.unshift;
Reflect.apply(unshift, r1, [r6]);
break reducibleJoin546;
}
break reducibleJoin546;
}
r3 = r5 && r6;
reducibleJoin553: while (true) {
if (r3) {
String = global.String;
value = String(r5);
split = value.split;
value = Reflect.apply(split, value, [' ']);
value = r5 != value[0];
reducibleJoin552: while (true) {
if (value) {
r4 = value;
break reducibleJoin552;
}
split = r6.split;
value = r5 != Reflect.apply(split, r6, [' '])[0];
reducibleJoin551: while (true) {
if (value) {
value = !r2;
r6 = value;
break reducibleJoin551;
}
r6 = value;
break reducibleJoin551;
}
r4 = r6;
break reducibleJoin552;
}
r3 = r4;
break reducibleJoin553;
}
break reducibleJoin553;
}
reducibleJoin558: while (true) {
if (r3) {
push = r1.push;
if (r2) {
value = '(' + r5 + ')';
r2 = value;
} else {
value = 'on ' + r5;
r2 = value;
}
Reflect.apply(push, r1, [r2]);
break reducibleJoin558;
}
break reducibleJoin558;
}
reducibleJoin560: while (true) {
if (r1.length) {
join = r1.join;
object.description = Reflect.apply(join, r1, [' ']);
break reducibleJoin560;
}
break reducibleJoin560;
}
return object;
function parse_34566GetProduct(a0) { // fn#34567, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4393:5383, owner: parse_34566.getProduct, offset: 0x0105c126, size: 27 bytes, params: 2, frame: 13
return reduce_34563(a0, _fun34568);
function _fun34568(a0, a1) { // fn#34568, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4393:5423, offset: 0x00d19ed7, size: 511 bytes, params: 3, frame: 22
var r0;
var r1;
var r6;
var r4;
var r8;
var RegExp;
var exec;
var value6;
var String;
var label;
var property;
var regexp;
var value8;
var format_34559Binding;
var replace;
let value = a0;
const value2 = a1;
const r9 = value2.pattern || qualify_34562(value2);
if (value) {
r1 = !value;
r6 = value;
} else {
RegExp = global.RegExp;
value = RegExp('\\b' + r9 + ' *\\d+[.\\w_]*', 'i');
exec = value.exec;
value6 = environment.__proto__;
value = Reflect.apply(exec, value, [userAgent]);
if (value) {
r0 = value;
} else {
RegExp = global.RegExp;
value = RegExp('\\b' + r9 + ' *\\w+-[\\w]*', 'i');
value = value.exec(userAgent);
r0 = value;
}
if (!r0) {
RegExp = global.RegExp;
value = RegExp('\\b' + r9 + '(?:; *(?:[a-z]+[_-])?[a-z]+\\d+|[^ ();-]*)', 'i');
value = value.exec(userAgent);
r0 = value;
}
r1 = r0;
r6 = r0;
}
if (r1) {
String = global.String;
label = value2.label;
if (label) {
RegExp = global.RegExp;
value = RegExp(r9, 'i');
r4 = value.test(value2.label) ? r6 : value2.label;
} else {
r4 = r6;
}
value = String(r4);
value = value.split('/');
property = value[1];
if (property) {
regexp = RegExp('[\\d.]+', '');
r6 = !regexp.test(value[0]);
} else {
r6 = property;
}
if (r6) {
value[0] = value[0] + (' ' + value[1]);
}
label = value2.label;
r8 = label || value2;
value8 = environment.__proto__.__proto__;
format_34559Binding = format_34559;
property = value[0];
replace = property.replace;
RegExp = global.RegExp;
value = Reflect.apply(replace, property, [RegExp(r9, 'i'), r8]);
replace = value.replace;
RegExp = global.RegExp;
value = Reflect.apply(replace, value, [RegExp('; *(?:' + r8 + '[_-])?', 'i'), ' ']);
replace = value.replace;
RegExp = global.RegExp;
value = format_34559Binding(Reflect.apply(replace, value, [RegExp('(' + r8 + ')[-_.]?(\\w)', 'i'), '$1 $2']));
r0 = value;
} else {
r0 = r6;
}
return r0;
}
}
function parse_34566GetLayout(a0) { // fn#34569, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4393:1569, owner: parse_34566.getLayout, offset: 0x0105c141, size: 27 bytes, params: 2, frame: 13
return reduce_34563(a0, _fun34570);
function _fun34570(a0, a1) { // fn#34570, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4393:1608, offset: 0x00d1a158, size: 106 bytes, params: 3, frame: 15
var r1;
var r0;
var RegExp;
var pattern;
var exec;
var value3;
let value = a0;
const value2 = a1;
if (value) {
r0 = value;
} else {
RegExp = global.RegExp;
pattern = value2.pattern;
if (pattern) {
r1 = pattern;
} else {
value = environment.__proto__.__proto__;
value = qualify_34562(value2);
r1 = value;
}
value = RegExp('\\b' + r1 + '\\b', 'i');
exec = value.exec;
value3 = environment.__proto__;
value = Reflect.apply(exec, value, [userAgent]);
r1 = value && (value2.label || value2);
r0 = r1;
}
return r0;
}
}
function parse_34566GetName(a0) { // fn#34571, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4393:1846, owner: parse_34566.getName, offset: 0x0105c15c, size: 27 bytes, params: 2, frame: 13
return reduce_34563(a0, _fun34572);
function _fun34572(a0, a1) { // fn#34572, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4393:1883, offset: 0x00d1a158, size: 106 bytes, params: 3, frame: 15
var r1;
var r0;
var RegExp;
var pattern;
var exec;
var value3;
let value = a0;
const value2 = a1;
if (value) {
r0 = value;
} else {
RegExp = global.RegExp;
pattern = value2.pattern;
if (pattern) {
r1 = pattern;
} else {
value = environment.__proto__.__proto__;
value = qualify_34562(value2);
r1 = value;
}
value = RegExp('\\b' + r1 + '\\b', 'i');
exec = value.exec;
value3 = environment.__proto__;
value = Reflect.apply(exec, value, [userAgent]);
r1 = value && (value2.label || value2);
r0 = r1;
}
return r0;
}
}
function parse_34566GetManufacturer(a0) { // fn#34573, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4393:3519, owner: parse_34566.getManufacturer, offset: 0x0105c177, size: 27 bytes, params: 2, frame: 13
return reduce_34563(a0, _fun34574);
function _fun34574(a0, a1, a2) { // fn#34574, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4393:3564, offset: 0x00d1a1f8, size: 143 bytes, params: 4, frame: 17
var r1;
var r0;
var property;
var regexp;
var RegExp;
var value3;
var value5;
let value = a0;
const value2 = a2;
if (value) {
r0 = value;
} else {
value = environment.__proto__;
property = a1[product];
if (property) {
r1 = property;
} else {
regexp = RegExp('^[a-z]+(?: +[a-z]+\\b)*', 'i');
r1 = a1[regexp.exec(product)];
}
if (!r1) {
RegExp = global.RegExp;
value3 = environment.__proto__.__proto__;
value5 = RegExp('\\b' + qualify_34562(value2) + '(?:\\b|\\w*\\d)', 'i');
r1 = value5.exec(userAgent);
}
r1 = r1 && value2;
r0 = r1;
}
return r0;
}
}
function parse_34566GetOS(a0) { // fn#34575, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4393:4109, owner: parse_34566.getOS, offset: 0x0105c192, size: 27 bytes, params: 2, frame: 13
return reduce_34563(a0, _fun34576);
function _fun34576(a0, a1) { // fn#34576, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4393:4144, offset: 0x00d1a2a2, size: 687 bytes, params: 3, frame: 18
var r2;
var r3;
var r5;
var r1;
var r6;
var r0;
var RegExp;
var exec;
var value6;
var object;
var regexp;
var property;
var replace;
var format_34559Binding;
let value = a0;
const value2 = a1;
const r8 = value2.pattern || qualify_34562(value2);
if (value) {
r2 = !value;
r3 = value;
} else {
RegExp = global.RegExp;
value = RegExp('\\b' + r8 + '(?:/[\\d.]+|[ \\w.]*)', 'i');
exec = value.exec;
value6 = environment.__proto__;
value = Reflect.apply(exec, value, [userAgent]);
r2 = value;
r3 = value;
}
if (r2) {
r5 = value2.label || value2;
object = {'10.0': '10', '6.4': '10 Technical Preview', '6.3': '8.1', '6.2': '8', '6.1': 'Server 2008 R2 / 7',
'6.0': 'Server 2008 / Vista', '5.2': 'Server 2003 / XP 64-bit', '5.1': 'XP', '5.01': '2000 SP1',
'5.0': '2000',
'4.0': 'NT', '4.90': 'ME'};
r1 = r8 && r5;
r1 = r1 && RegExp('^Win', 'i').test(r3);
if (r1) {
regexp = RegExp('^Windows Phone ', 'i');
r1 = !regexp.test(r3);
}
if (r1) {
regexp = RegExp('[\\d.]+$', '');
property = object[regexp.exec(r3)];
r1 = property;
r2 = property;
} else {
r2 = object;
}
value = global.String(r1 ? 'Windows ' + r2 : r3);
r2 = r8 && r5;
if (r2) {
replace = value.replace;
RegExp = global.RegExp;
value = Reflect.apply(replace, value, [RegExp(r8, 'i'), r5]);
r6 = value;
} else {
r6 = value;
}
value = environment.__proto__.__proto__;
format_34559Binding = format_34559;
value = r6.replace(RegExp(' ce$', 'i'), ' CE');
value = value.replace(RegExp('\\bhpw', 'i'), 'web');
value = value.replace(RegExp('\\bMacintosh\\b', ''), 'Mac OS');
value = value.replace(RegExp('_PowerPC\\b', 'i'), ' OS');
value = value.replace(RegExp('\\b(OS X) [^ \\d]+', 'i'), '$1');
value = value.replace(RegExp('\\bMac (OS X)\\b', ''), '$1');
value = value.replace(RegExp('\\/(\\d)', ''), ' $1');
value = value.replace(RegExp('_', 'g'), '.');
value = value.replace(RegExp('(?: BePC|[ .]*fc[ \\d.]+)$', 'i'), '');
value = value.replace(RegExp('\\bx86\\.64\\b', 'gi'), 'x86_64');
value = value.replace(RegExp('\\b(Windows Phone) OS\\b', ''), '$1');
value = value.replace(RegExp('\\b(Chrome OS \\w+) [\\d.]+\\b', ''), '$1');
value = value.split(' on ');
value = format_34559Binding(value[0]);
r0 = value;
} else {
r0 = r3;
}
return r0;
}
}
function parse_34566GetVersion(a0) { // fn#34577, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4393:7266, owner: parse_34566.getVersion, offset: 0x0105c1ad, size: 27 bytes, params: 2, frame: 13
return reduce_34563(a0, _fun34578);
function _fun34578(a0, a1) { // fn#34578, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4393:7306, offset: 0x00d1a0f1, size: 76 bytes, params: 3, frame: 14
var r0;
var exec;
var value2;
let value = a0;
if (value) {
r0 = value;
} else {
value = global.RegExp(a1 + '(?:-[\\d.]+/|(?: for [\\w-]+)?[ /-])([\\d.]+[^ ();/_-]*)', 'i');
exec = value.exec;
value2 = environment.__proto__;
value = Reflect.apply(exec, value, [userAgent]);
r0 = (value || 0)[1];
}
r0 = !r0 ? null : r0;
return r0;
}
}
function parse_34566ToString() { // fn#34579, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4393:12996, owner: parse_34566.toString, offset: 0x00d1a551, size: 80 bytes, params: 1, frame: 6
const version = this.version;
const family = this.family;
const value = '';
return family + (version ? env0_1 ? value : ' ' + version : value) + (this.architecture == 64 ? ' 64-bit' : value);
}
}
function _fun34582() { // fn#34582, offset: 0x00d1a5b8, size: 9 bytes, params: 1, frame: 1
return env0_6;
}
function _fun34583(a0, a1) { // fn#34583, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4393:14070, offset: 0x00d1a5c1, size: 21 bytes, params: 3, frame: 3
env0_1[a1] = a0;
}
}
}
function parse_34566ToString_34581() { // fn#34581, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4393:13709, owner: parse_34566.toString, offset: 0x00d1a5a7, size: 17 bytes, params: 1, frame: 2
let description = this.description;
description = !description ? '' : description;
return description;
}
global.__d(_fun34556, 4222, []) /* metro module 4222 */;