nim-web-sdk
Version:
基于网易云通讯web端sdk, 仅添加对TypeScript的支持,没有技术含量,都是体力活...,觉得搬运辛苦就给个star吧
1,473 lines • 584 kB
JavaScript
!(function(e, t) {
'object' == typeof exports && 'object' == typeof module ? (module.exports = t()) : 'function' == typeof define && define.amd ? define([], t) : 'object' == typeof exports ? (exports.SDK = t()) : (e.SDK = t());
})(window, function() {
return (function(e) {
var t = {};
function n(r) {
if (t[r]) return t[r].exports;
var s = (t[r] = { i: r, l: !1, exports: {} });
return e[r].call(s.exports, s, s.exports, n), (s.l = !0), s.exports;
}
return (
(n.m = e),
(n.c = t),
(n.d = function(e, t, r) {
n.o(e, t) || Object.defineProperty(e, t, { configurable: !1, enumerable: !0, get: r });
}),
(n.r = function(e) {
Object.defineProperty(e, '__esModule', { value: !0 });
}),
(n.n = function(e) {
var t =
e && e.__esModule
? function() {
return e.default;
}
: function() {
return e;
};
return n.d(t, 'a', t), t;
}),
(n.o = function(e, t) {
return Object.prototype.hasOwnProperty.call(e, t);
}),
(n.p = ''),
n((n.s = 481))
);
})([
function(e, t, n) {
'use strict';
var r,
s = n(9),
i = (r = s) && r.__esModule ? r : { default: r };
var o = n(73),
a = n(68);
n(87);
var c,
u,
l = n(12),
m = l.getGlobal(),
d = /\s+/;
(l.deduplicate = function(e) {
var t = [];
return (
e.forEach(function(e) {
-1 === t.indexOf(e) && t.push(e);
}),
t
);
}),
(l.capFirstLetter = function(e) {
return e ? (e = '' + e).slice(0, 1).toUpperCase() + e.slice(1) : '';
}),
(l.guid = ((c = function() {
return ((65536 * (1 + Math.random())) | 0).toString(16).substring(1);
}),
function() {
return c() + c() + c() + c() + c() + c() + c() + c();
})),
(l.extend = function(e, t, n) {
for (var r in t) (void 0 !== e[r] && !0 !== n) || (e[r] = t[r]);
}),
(l.filterObj = function(e, t) {
var n = {};
return (
l.isString(t) && (t = t.split(d)),
t.forEach(function(t) {
e.hasOwnProperty(t) && (n[t] = e[t]);
}),
n
);
}),
(l.copy = function(e, t) {
return (
(t = t || {}),
e
? (Object.keys(e).forEach(function(n) {
l.exist(e[n]) && (t[n] = e[n]);
}),
t)
: t
);
}),
(l.copyWithNull = function(e, t) {
return (
(t = t || {}),
e
? (Object.keys(e).forEach(function(n) {
(l.exist(e[n]) || l.isnull(e[n])) && (t[n] = e[n]);
}),
t)
: t
);
}),
(l.findObjIndexInArray = function(e, t) {
e = e || [];
var n = t.keyPath || 'id',
r = -1;
return (
e.some(function(e, s) {
if (a(e, n) === t.value) return (r = s), !0;
}),
r
);
}),
(l.findObjInArray = function(e, t) {
var n = l.findObjIndexInArray(e, t);
return -1 === n ? null : e[n];
}),
(l.mergeObjArray = function() {
var e = [],
t = [].slice.call(arguments, 0, -1),
n = arguments[arguments.length - 1];
l.isArray(n) && (t.push(n), (n = {}));
var r,
s = (n.keyPath = n.keyPath || 'id');
for (n.sortPath = n.sortPath || s; !e.length && t.length; ) e = (e = t.shift() || []).slice(0);
return (
t.forEach(function(t) {
t &&
t.forEach(function(t) {
-1 !== (r = l.findObjIndexInArray(e, { keyPath: s, value: a(t, s) })) ? (e[r] = l.merge({}, e[r], t)) : e.push(t);
});
}),
n.notSort || (e = l.sortObjArray(e, n)),
e
);
}),
(l.cutObjArray = function(e) {
var t = e.slice(0),
n = arguments.length,
r = [].slice.call(arguments, 1, n - 1),
s = arguments[n - 1];
l.isObject(s) || (r.push(s), (s = {}));
var i,
o = (s.keyPath = s.keyPath || 'id');
return (
r.forEach(function(e) {
l.isArray(e) || (e = [e]),
e.forEach(function(e) {
e && ((s.value = a(e, o)), -1 !== (i = l.findObjIndexInArray(t, s)) && t.splice(i, 1));
});
}),
t
);
}),
(l.sortObjArray = function(e, t) {
var n = (t = t || {}).sortPath || 'id';
o.insensitive = !!t.insensitive;
var r,
s,
i,
c = !!t.desc;
return (
(i = l.isFunction(t.compare)
? t.compare
: function(e, t) {
return (r = a(e, n)), (s = a(t, n)), c ? o(s, r) : o(r, s);
}),
e.sort(i)
);
}),
(l.emptyFunc = function() {}),
(l.isEmptyFunc = function(e) {
return e === l.emptyFunc;
}),
(l.notEmptyFunc = function(e) {
return e !== l.emptyFunc;
}),
(l.splice = function(e, t, n) {
return [].splice.call(e, t, n);
}),
(l.reshape2d = function(e, t) {
if (Array.isArray(e)) {
l.verifyParamType('type', t, 'number', 'util::reshape2d');
var n = e.length;
if (n <= t) return [e];
for (var r = Math.ceil(n / t), s = [], i = 0; i < r; i++) s.push(e.slice(i * t, (i + 1) * t));
return s;
}
return e;
}),
(l.flatten2d = function(e) {
if (Array.isArray(e)) {
var t = [];
return (
e.forEach(function(e) {
t = t.concat(e);
}),
t
);
}
return e;
}),
(l.dropArrayDuplicates = function(e) {
if (Array.isArray(e)) {
for (var t = {}, n = []; e.length > 0; ) {
t[e.shift()] = !0;
}
for (var r in t) !0 === t[r] && n.push(r);
return n;
}
return e;
}),
(l.onError = function(e) {
throw new (function(e) {
'object' === (void 0 === e ? 'undefined' : (0, i.default)(e)) ? ((this.callFunc = e.callFunc || null), (this.message = e.message || 'UNKNOW ERROR')) : (this.message = e), (this.time = new Date()), (this.timetag = +this.time);
})(e);
}),
(l.verifyParamPresent = function(e, t, n, r) {
n = n || '';
var s = !1;
switch (l.typeOf(t)) {
case 'undefined':
case 'null':
s = !0;
break;
case 'string':
'' === t && (s = !0);
break;
case 'StrStrMap':
case 'object':
Object.keys(t).length || (s = !0);
break;
case 'array':
t.length
? t.some(function(e) {
if (l.notexist(e)) return (s = !0), !0;
})
: (s = !0);
}
s && l.onParamAbsent(n + e, r);
}),
(l.onParamAbsent = function(e, t) {
l.onParamError('缺少参数 ' + e + ', 请确保参数不是 空字符串、空对象、空数组、null或undefined, 或数组的内容不是 null/undefined', t);
}),
(l.verifyParamAbsent = function(e, t, n, r) {
(n = n || ''), void 0 !== t && l.onParamPresent(n + e, r);
}),
(l.onParamPresent = function(e, t) {
l.onParamError('多余的参数 ' + e, t);
}),
(l.verifyParamType = function(e, t, n, r) {
var s = l.typeOf(t).toLowerCase();
l.isArray(n) || (n = [n]);
var i = !0;
switch (
(-1 ===
(n = n.map(function(e) {
return e.toLowerCase();
})).indexOf(s) && (i = !1),
s)
) {
case 'number':
isNaN(t) && (i = !1);
break;
case 'string':
'numeric or numeric string' === n.join('') && (i = !!/^[0-9]+$/.test(t));
}
i || l.onParamInvalidType(e, n, '', r);
}),
(l.onParamInvalidType = function(e, t, n, r) {
(n = n || ''),
(t = l.isArray(t)
? (t = t.map(function(e) {
return '"' + e + '"';
})).join(', ')
: '"' + t + '"'),
l.onParamError('参数"' + n + e + '"类型错误, 合法的类型包括: [' + t + ']', r);
}),
(l.verifyParamValid = function(e, t, n, r) {
l.isArray(n) || (n = [n]), -1 === n.indexOf(t) && l.onParamInvalidValue(e, n, r);
}),
(l.onParamInvalidValue = function(e, t, n) {
l.isArray(t) || (t = [t]),
(t = t.map(function(e) {
return '"' + e + '"';
})),
l.isArray(t) && (t = t.join(', ')),
l.onParamError('参数 ' + e + '值错误, 合法的值包括: [' + JSON.stringify(t) + ']', n);
}),
(l.verifyParamMin = function(e, t, n, r) {
t < n && l.onParamError('参数' + e + '的值不能小于' + n, r);
}),
(l.verifyParamMax = function(e, t, n, r) {
t > n && l.onParamError('参数' + e + '的值不能大于' + n, r);
}),
(l.verifyArrayMax = function(e, t, n, r) {
t.length > n && l.onParamError('参数' + e + '的长度不能大于' + n, r);
}),
(l.verifyEmail = ((u = /^\S+@\S+$/),
function(e, t, n) {
u.test(t) || l.onParamError('参数' + e + '邮箱格式错误, 合法格式必须包含@符号, @符号前后至少要各有一个字符', n);
})),
(l.verifyTel = (function() {
var e = /^[+\-()\d]+$/;
return function(t, n, r) {
e.test(n) || l.onParamError('参数' + t + '电话号码格式错误, 合法字符包括+、-、英文括号和数字', r);
};
})()),
(l.verifyBirth = (function() {
var e = /^(\d{4})-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$/;
return function(t, n, r) {
e.test(n) || l.onParamError('参数' + t + '生日格式错误, 合法为"yyyy-MM-dd"', r);
};
})()),
(l.onParamError = function(e, t) {
l.onError({ message: e, callFunc: t });
}),
(l.verifyOptions = function(e, t, n, r, s) {
if (((e = e || {}), t && (l.isString(t) && (t = t.split(d)), l.isArray(t)))) {
'boolean' != typeof n && ((s = n || null), (n = !0), (r = ''));
var i = n ? l.verifyParamPresent : l.verifyParamAbsent;
t.forEach(function(t) {
i.call(l, t, e[t], r, s);
});
}
return e;
}),
(l.verifyParamAtLeastPresentOne = function(e, t, n) {
t &&
(l.isString(t) && (t = t.split(d)),
l.isArray(t) &&
(t.some(function(t) {
return l.exist(e[t]);
}) ||
l.onParamError('以下参数[' + t.join(', ') + ']至少需要传入一个', n)));
}),
(l.verifyParamPresentJustOne = function(e, t, n) {
t &&
(l.isString(t) && (t = t.split(d)),
l.isArray(t) &&
1 !==
t.reduce(function(t, n) {
return l.exist(e[n]) && t++, t;
}, 0) &&
l.onParamError('以下参数[' + t.join(', ') + ']必须且只能传入一个', n));
}),
(l.verifyBooleanWithDefault = function(e, t, n, r, s) {
l.undef(n) && (n = !0),
d.test(t) && (t = t.split(d)),
l.isArray(t)
? t.forEach(function(t) {
l.verifyBooleanWithDefault(e, t, n, r, s);
})
: void 0 === e[t]
? (e[t] = n)
: l.isBoolean(e[t]) || l.onParamInvalidType(t, 'boolean', r, s);
}),
(l.verifyFileInput = function(e, t) {
return l.verifyParamPresent('fileInput', e, '', t), l.isString(e) && ((e = document.getElementById(e)) || l.onParamError('找不到要上传的文件对应的input, 请检查fileInput id ' + e, t)), (e.tagName && 'input' === e.tagName.toLowerCase() && 'file' === e.type.toLowerCase()) || l.onParamError('请提供正确的 fileInput, 必须为 file 类型的 input 节点 tagname:' + e.tagName + ', filetype:' + e.type, t), e;
}),
(l.verifyFileType = function(e, t) {
l.verifyParamValid('type', e, l.validFileTypes, t);
}),
(l.verifyCallback = function(e, t, n) {
d.test(t) && (t = t.split(d)),
l.isArray(t)
? t.forEach(function(t) {
l.verifyCallback(e, t, n);
})
: e[t]
? l.isFunction(e[t]) || l.onParamInvalidType(t, 'function', '', n)
: (e[t] = l.emptyFunc);
}),
(l.verifyFileUploadCallback = function(e, t) {
l.verifyCallback(e, 'uploadprogress uploaddone uploaderror uploadcancel', t);
}),
(l.validFileTypes = ['image', 'audio', 'video', 'file']),
(l.validFileExts = { image: ['bmp', 'gif', 'jpg', 'jpeg', 'jng', 'png', 'webp'], audio: ['mp3', 'wav', 'aac', 'wma', 'wmv', 'amr', 'mp2', 'flac', 'vorbis', 'ac3'], video: ['mp4', 'rm', 'rmvb', 'wmv', 'avi', 'mpg', 'mpeg'] }),
(l.filterFiles = function(e, t) {
var n,
r,
s = 'file' === (t = t.toLowerCase()),
i = [];
return (
[].forEach.call(e, function(e) {
if (s) i.push(e);
else if (((n = e.name.slice(e.name.lastIndexOf('.') + 1)), (r = e.type.split('/'))[0] && r[1])) {
(r[0].toLowerCase() === t || -1 !== l.validFileExts[t].indexOf(n)) && i.push(e);
}
}),
i
);
});
var p,
f,
g = (l.supportFormData = l.notundef(m.FormData));
(l.getFileName = function(e) {
return (e = l.verifyFileInput(e)), g ? e.files[0].name : e.value.slice(e.value.lastIndexOf('\\') + 1);
}),
(l.getFileInfo = ((p = { ppt: 1, pptx: 2, pdf: 3 }),
function(e) {
var t = {};
if (!(e = l.verifyFileInput(e)).files) return t;
var n = e.files[0];
return g && ((t.name = n.name), (t.size = n.size), (t.type = n.name.match(/\.(\w+)$/)), (t.type = t.type && t.type[1].toLowerCase()), (t.transcodeType = p[t.type] || 0)), t;
})),
(l.sizeText = ((f = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'BB']),
function(e) {
var t,
n = 0;
do {
(t = (e = Math.floor(100 * e) / 100) + f[n]), (e /= 1024), n++;
} while (e > 1);
return t;
})),
(l.promises2cmds = function(e) {
return e.map(function(e) {
return e.cmd;
});
}),
(l.objs2accounts = function(e) {
return e.map(function(e) {
return e.account;
});
}),
(l.teams2ids = function(e) {
return e.map(function(e) {
return e.teamId;
});
}),
(l.objs2ids = function(e) {
return e.map(function(e) {
return e.id;
});
}),
(l.getMaxUpdateTime = function(e) {
var t = e.map(function(e) {
return +e.updateTime;
});
return Math.max.apply(Math, t);
}),
(l.genCheckUniqueFunc = function(e, t) {
return (
(e = e || 'id'),
(t = t || 1e3),
function(t) {
(this.uniqueSet = this.uniqueSet || {}), (this.uniqueSet[e] = this.uniqueSet[e] || {});
var n = this.uniqueSet[e],
r = t[e];
return !n[r] && ((n[r] = !0), !0);
}
);
}),
(l.fillPropertyWithDefault = function(e, t, n) {
return !!l.undef(e[t]) && ((e[t] = n), !0);
}),
(e.exports = l);
},
,
function(e, t, n) {
'use strict';
var r = {
info: { hash: '1eb7eaefc2ae42b41a38b757b8d0a730c46e5067', shortHash: '1eb7eaef', version: '6.3.0', sdkVersion: '52', nrtcVersion: '4.5.0', nrtcSdkVersion: '1', protocolVersion: 1 },
agentVersion: '2.8.0.906',
lbsUrl: 'https://lbs.netease.im/lbs/webconf.jsp',
roomserver: 'roomserver.netease.im',
connectTimeout: 8e3,
xhrTimeout: 8e3,
socketTimeout: 8e3,
reconnectionDelay: 1600,
reconnectionDelayMax: 8e3,
reconnectionJitter: 0.01,
reconnectiontimer: null,
heartbeatInterval: 8e3,
cmdTimeout: 8e3,
defaultReportUrl: 'https://dr.netease.im/1.gif',
isWeixinApp: !1,
isNodejs: !1,
isRN: !1,
PUSHTOKEN: '',
PUSHCONFIG: {},
CLIENTTYPE: 16,
PushPermissionAsked: !1,
iosPushConfig: null,
androidPushConfig: null,
netDetectAddr: 'https://roomserver-dev.netease.im/v1/sdk/detect/local'
};
(r.weixinNetcall = r.nrtcNetcall = { checkSumUrl: 'https://nrtc.netease.im/demo/getChecksum.action', getChannelInfoUrl: 'https://nrtc.netease.im/nrtc/getChannelInfos.action' }),
(r.formatSocketUrl = function(e) {
var t = e.url,
n = e.secure ? 'https' : 'http';
return -1 === t.indexOf('http') ? n + '://' + t : t;
}),
(r.uploadUrl = 'https://nos.netease.com'),
(r.chunkUploadUrl = null),
(r.commonMaxSize = 104857600),
(r.chunkSize = 4194304),
(r.chunkMaxSize = 4194304e4),
(r.replaceUrl = 'https://{bucket}-nosdn.netease.im/{object}'),
(r.downloadHost = 'nos.netease.com'),
(r.downloadUrl = 'https://{bucket}-nosdn.netease.im/{object}'),
(r.httpsEnabled = !1),
(r.threshold = 0),
(r.genUploadUrl = function(e) {
return r.uploadUrl + '/' + e;
}),
(r.genChunkUploadUrl = function(e) {
return r.chunkUploadUrl ? r.chunkUploadUrl + '/' + e.bucket + '/' + e.objectName : '';
}),
(r.genDownloadUrl = function(e, t) {
var n = e.bucket,
s = (e.tag, e.expireSec),
i = +new Date(),
o = s ? '&survivalTime=' + s : '',
a = r.replaceUrl + '?createTime=' + i + o;
return (a = r.genNosProtocolUrl(a)).replace('{bucket}', n).replace('{object}', t);
}),
(r.genFileUrl = function(e) {
var t = e.bucket,
n = e.objectName;
return r
.genNosProtocolUrl(r.replaceUrl)
.replace('{bucket}', t)
.replace('{object}', n);
}),
(r.genNosProtocolUrl = function(e) {
return /^http/.test(e) ? r.httpsEnabled && 0 !== e.indexOf('https://') && (e = e.replace('http', 'https')) : (e = r.httpsEnabled ? 'https://' + e : 'http://' + e), e;
}),
(e.exports = r);
},
,
,
,
function(e, t, n) {
var r = n(42)('wks'),
s = n(29),
i = n(8).Symbol,
o = 'function' == typeof i;
(e.exports = function(e) {
return r[e] || (r[e] = (o && i[e]) || (o ? i : s)('Symbol.' + e));
}).store = r;
},
function(e, t) {
var n = (e.exports = { version: '2.5.5' });
'number' == typeof __e && (__e = n);
},
function(e, t) {
var n = (e.exports = 'undefined' != typeof window && window.Math == Math ? window : 'undefined' != typeof self && self.Math == Math ? self : Function('return this')());
'number' == typeof __g && (__g = n);
},
function(e, t, n) {
'use strict';
t.__esModule = !0;
var r = o(n(106)),
s = o(n(96)),
i =
'function' == typeof s.default && 'symbol' == typeof r.default
? function(e) {
return typeof e;
}
: function(e) {
return e && 'function' == typeof s.default && e.constructor === s.default && e !== s.default.prototype ? 'symbol' : typeof e;
};
function o(e) {
return e && e.__esModule ? e : { default: e };
}
t.default =
'function' == typeof s.default && 'symbol' === i(r.default)
? function(e) {
return void 0 === e ? 'undefined' : i(e);
}
: function(e) {
return e && 'function' == typeof s.default && e.constructor === s.default && e !== s.default.prototype ? 'symbol' : void 0 === e ? 'undefined' : i(e);
};
},
function(e, t, n) {
'use strict';
var r = Object.prototype.hasOwnProperty,
s = '~';
function i() {}
function o(e, t, n) {
(this.fn = e), (this.context = t), (this.once = n || !1);
}
function a() {
(this._events = new i()), (this._eventsCount = 0);
}
Object.create && ((i.prototype = Object.create(null)), new i().__proto__ || (s = !1)),
(a.prototype.eventNames = function() {
var e,
t,
n = [];
if (0 === this._eventsCount) return n;
for (t in (e = this._events)) r.call(e, t) && n.push(s ? t.slice(1) : t);
return Object.getOwnPropertySymbols ? n.concat(Object.getOwnPropertySymbols(e)) : n;
}),
(a.prototype.listeners = function(e, t) {
var n = s ? s + e : e,
r = this._events[n];
if (t) return !!r;
if (!r) return [];
if (r.fn) return [r.fn];
for (var i = 0, o = r.length, a = new Array(o); i < o; i++) a[i] = r[i].fn;
return a;
}),
(a.prototype.emit = function(e, t, n, r, i, o) {
var a = s ? s + e : e;
if (!this._events[a]) return !1;
var c,
u,
l = this._events[a],
m = arguments.length;
if (l.fn) {
switch ((l.once && this.removeListener(e, l.fn, void 0, !0), m)) {
case 1:
return l.fn.call(l.context), !0;
case 2:
return l.fn.call(l.context, t), !0;
case 3:
return l.fn.call(l.context, t, n), !0;
case 4:
return l.fn.call(l.context, t, n, r), !0;
case 5:
return l.fn.call(l.context, t, n, r, i), !0;
case 6:
return l.fn.call(l.context, t, n, r, i, o), !0;
}
for (u = 1, c = new Array(m - 1); u < m; u++) c[u - 1] = arguments[u];
l.fn.apply(l.context, c);
} else {
var d,
p = l.length;
for (u = 0; u < p; u++)
switch ((l[u].once && this.removeListener(e, l[u].fn, void 0, !0), m)) {
case 1:
l[u].fn.call(l[u].context);
break;
case 2:
l[u].fn.call(l[u].context, t);
break;
case 3:
l[u].fn.call(l[u].context, t, n);
break;
case 4:
l[u].fn.call(l[u].context, t, n, r);
break;
default:
if (!c) for (d = 1, c = new Array(m - 1); d < m; d++) c[d - 1] = arguments[d];
l[u].fn.apply(l[u].context, c);
}
}
return !0;
}),
(a.prototype.on = function(e, t, n) {
var r = new o(t, n || this),
i = s ? s + e : e;
return this._events[i] ? (this._events[i].fn ? (this._events[i] = [this._events[i], r]) : this._events[i].push(r)) : ((this._events[i] = r), this._eventsCount++), this;
}),
(a.prototype.once = function(e, t, n) {
var r = new o(t, n || this, !0),
i = s ? s + e : e;
return this._events[i] ? (this._events[i].fn ? (this._events[i] = [this._events[i], r]) : this._events[i].push(r)) : ((this._events[i] = r), this._eventsCount++), this;
}),
(a.prototype.removeListener = function(e, t, n, r) {
var o = s ? s + e : e;
if (!this._events[o]) return this;
if (!t) return 0 == --this._eventsCount ? (this._events = new i()) : delete this._events[o], this;
var a = this._events[o];
if (a.fn) a.fn !== t || (r && !a.once) || (n && a.context !== n) || (0 == --this._eventsCount ? (this._events = new i()) : delete this._events[o]);
else {
for (var c = 0, u = [], l = a.length; c < l; c++) (a[c].fn !== t || (r && !a[c].once) || (n && a[c].context !== n)) && u.push(a[c]);
u.length ? (this._events[o] = 1 === u.length ? u[0] : u) : 0 == --this._eventsCount ? (this._events = new i()) : delete this._events[o];
}
return this;
}),
(a.prototype.removeAllListeners = function(e) {
var t;
return e ? ((t = s ? s + e : e), this._events[t] && (0 == --this._eventsCount ? (this._events = new i()) : delete this._events[t])) : ((this._events = new i()), (this._eventsCount = 0)), this;
}),
(a.prototype.off = a.prototype.removeListener),
(a.prototype.addListener = a.prototype.on),
(a.prototype.setMaxListeners = function() {
return this;
}),
(a.prefixed = s),
(a.EventEmitter = a),
(e.exports = a);
},
,
function(e, t, n) {
'use strict';
(function(e) {
Object.defineProperty(t, '__esModule', { value: !0 }), (t.url2origin = t.uniqueID = t.off = t.removeEventListener = t.on = t.addEventListener = t.format = t.regWhiteSpace = t.regBlank = t.emptyFunc = t.f = t.emptyObj = t.o = void 0);
var r,
s = n(9),
i = (r = s) && r.__esModule ? r : { default: r };
(t.getGlobal = o),
(t.detectCSSFeature = function(e) {
var t = !1,
n = 'Webkit Moz ms O'.split(' '),
r = document.createElement('div'),
s = null;
(e = e.toLowerCase()), void 0 !== r.style[e] && (t = !0);
if (!1 === t) {
s = e.charAt(0).toUpperCase() + e.substr(1);
for (var i = 0; i < n.length; i++)
if (void 0 !== r.style[n[i] + s]) {
t = !0;
break;
}
}
return t;
}),
(t.fix = a),
(t.getYearStr = c),
(t.getMonthStr = u),
(t.getDayStr = l),
(t.getHourStr = m),
(t.getMinuteStr = d),
(t.getSecondStr = p),
(t.getMillisecondStr = f),
(t.dateFromDateTimeLocal = function(e) {
return (e = '' + e), new Date(e.replace(/-/g, '/').replace('T', ' '));
}),
(t.getClass = y),
(t.typeOf = v),
(t.isString = b),
(t.isNumber = function(e) {
return 'number' === v(e);
}),
(t.isBoolean = function(e) {
return 'boolean' === v(e);
}),
(t.isArray = M),
(t.isFunction = T),
(t.isDate = S),
(t.isRegExp = function(e) {
return 'regexp' === v(e);
}),
(t.isError = function(e) {
return 'error' === v(e);
}),
(t.isnull = k),
(t.notnull = C),
(t.undef = P),
(t.notundef = I),
(t.exist = O),
(t.notexist = x),
(t.isObject = w),
(t.isEmpty = function(e) {
return x(e) || ((b(e) || M(e)) && 0 === e.length);
}),
(t.containsNode = function(e, t) {
if (e === t) return !0;
for (; t.parentNode; ) {
if (t.parentNode === e) return !0;
t = t.parentNode;
}
return !1;
}),
(t.calcHeight = function(e) {
var t = e.parentNode || document.body;
((e = e.cloneNode(!0)).style.display = 'block'), (e.style.opacity = 0), (e.style.height = 'auto'), t.appendChild(e);
var n = e.offsetHeight;
return t.removeChild(e), n;
}),
(t.remove = function(e) {
e.parentNode && e.parentNode.removeChild(e);
}),
(t.dataset = function(e, t, n) {
if (!O(n)) return e.getAttribute('data-' + t);
e.setAttribute('data-' + t, n);
}),
(t.target = function(e) {
return e.target || e.srcElement;
}),
(t.createIframe = function(e) {
var t;
if ((e = e || {}).name)
try {
(t = document.createElement('<iframe name="' + e.name + '"></iframe>')).frameBorder = 0;
} catch (n) {
(t = document.createElement('iframe')).name = e.name;
}
else t = document.createElement('iframe');
e.visible || (t.style.display = 'none');
T(e.onload) &&
_(t, 'load', function n(r) {
if (!t.src) return;
e.multi || R(t, 'load', n);
e.onload(r);
});
(e.parent || document.body).appendChild(t);
var n = e.src || 'about:blank';
return (
setTimeout(function() {
t.src = n;
}, 0),
t
);
}),
(t.html2node = function(e) {
var t = document.createElement('div');
t.innerHTML = e;
var n = [],
r = void 0,
s = void 0;
if (t.children) for (r = 0, s = t.children.length; r < s; r++) n.push(t.children[r]);
else
for (r = 0, s = t.childNodes.length; r < s; r++) {
var i = t.childNodes[r];
1 === i.nodeType && n.push(i);
}
return n.length > 1 ? t : n[0];
}),
(t.scrollTop = function(e) {
O(e) && (document.documentElement.scrollTop = document.body.scrollTop = e);
return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
}),
(t.forOwn = U),
(t.mixin = j),
(t.isJSON = F),
(t.parseJSON = function e(t) {
try {
F(t) && (t = JSON.parse(t)),
w(t) &&
U(t, function(n, r) {
switch (v(r)) {
case 'string':
case 'object':
t[n] = e(r);
}
});
} catch (e) {
console.log('error:', e);
}
return t;
}),
(t.simpleClone = function(e) {
var t = [],
n = JSON.stringify(e, function(e, n) {
if ('object' === (void 0 === n ? 'undefined' : (0, i.default)(n)) && null !== n) {
if (-1 !== t.indexOf(n)) return;
t.push(n);
}
return n;
});
return JSON.parse(n);
}),
(t.merge = function() {
for (var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, t = arguments.length, n = Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) n[r - 1] = arguments[r];
return (
n.forEach(function(t) {
j(e, t);
}),
e
);
}),
(t.fillUndef = function(e, t) {
return (
U(t, function(t, n) {
P(e[t]) && (e[t] = n);
}),
e
);
}),
(t.checkWithDefault = function(e, t, n) {
var r = e[t] || e[t.toLowerCase()];
x(r) && ((r = n), (e[t] = r));
return r;
}),
(t.fetch = function(e, t) {
return (
U(e, function(n, r) {
O(t[n]) && (e[n] = t[n]);
}),
e
);
}),
(t.string2object = function() {
var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : '',
t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : ',',
n = {};
return (
e.split(t).forEach(function(e) {
var t = e.split('='),
r = t.shift();
r && (n[decodeURIComponent(r)] = decodeURIComponent(t.join('=')));
}),
n
);
}),
(t.object2string = D),
(t.genUrlSep = function(e) {
return e.indexOf('?') < 0 ? '?' : '&';
}),
(t.object2query = function(e) {
return D(e, '&', !0);
}),
(t.isFileInput = L),
(t.getKeys = function(e, t) {
var n = Object.keys(e);
t &&
n.sort(function(t, n) {
var r = L(e[t]),
s = L(e[n]);
return r === s ? 0 : r ? 1 : -1;
});
return n;
});
(t.o = {}), (t.emptyObj = {}), (t.f = function() {}), (t.emptyFunc = function() {}), (t.regBlank = /\s+/gi), (t.regWhiteSpace = /\s+/gi);
function o() {
return 'undefined' != typeof window ? window : void 0 !== e ? e : {};
}
function a(e, t) {
t = t || 2;
for (var n = '' + e; n.length < t; ) n = '0' + n;
return n;
}
function c(e) {
return '' + e.getFullYear();
}
function u(e) {
return a(e.getMonth() + 1);
}
function l(e) {
return a(e.getDate());
}
function m(e) {
return a(e.getHours());
}
function d(e) {
return a(e.getMinutes());
}
function p(e) {
return a(e.getSeconds());
}
function f(e) {
return a(e.getMilliseconds(), 3);
}
var g, h;
t.format = ((g = /yyyy|MM|dd|hh|mm|ss|SSS/g),
(h = { yyyy: c, MM: u, dd: l, hh: m, mm: d, ss: p, SSS: f }),
function(e, t) {
return (
(e = new Date(e)),
isNaN(+e)
? 'invalid date'
: (t = t || 'yyyy-MM-dd').replace(g, function(t) {
return h[t](e);
})
);
});
function y(e) {
return Object.prototype.toString.call(e).slice(8, -1);
}
function v(e) {
return y(e).toLowerCase();
}
function b(e) {
return 'string' === v(e);
}
function M(e) {
return 'array' === v(e);
}
function T(e) {
return 'function' === v(e);
}
function S(e) {
return 'date' === v(e);
}
function k(e) {
return null === e;
}
function C(e) {
return null !== e;
}
function P(e) {
return void 0 === e;
}
function I(e) {
return void 0 !== e;
}
function O(e) {
return I(e) && C(e);
}
function x(e) {
return P(e) || k(e);
}
function w(e) {
return O(e) && 'object' === v(e);
}
var A = (t.addEventListener = function(e, t, n) {
e.addEventListener ? e.addEventListener(t, n, !1) : e.attachEvent && e.attachEvent('on' + t, n);
}),
_ = (t.on = A),
E = (t.removeEventListener = function(e, t, n) {
e.removeEventListener ? e.removeEventListener(t, n, !1) : e.detachEvent && e.detachEvent('on' + t, n);
}),
R = (t.off = E);
function U() {
var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : function() {},
n = arguments[2];
for (var r in e) e.hasOwnProperty(r) && t.call(n, r, e[r]);
}
function j(e, t) {
U(t, function(t, n) {
e[t] = n;
});
}
var N;
t.uniqueID = ((N = 0),
function() {
return '' + N++;
});
function F(e) {
return b(e) && 0 === e.indexOf('{') && e.lastIndexOf('}') === e.length - 1;
}
function D(e, t, n) {
if (!e) return '';
var r = [];
return (
U(e, function(e, t) {
T(t) || (S(t) ? (t = t.getTime()) : M(t) ? (t = t.join(',')) : w(t) && (t = JSON.stringify(t)), n && (t = encodeURIComponent(t)), r.push(encodeURIComponent(e) + '=' + t));
}),
r.join(t || ',')
);
}
t.url2origin = (function() {
var e = /^([\w]+?:\/\/.*?(?=\/|$))/i;
return function(t) {
return e.test(t || '') ? RegExp.$1.toLowerCase() : '';
};
})();
function L(e) {
var t = o();
return (e.tagName && 'INPUT' === e.tagName.toUpperCase()) || (t.Blob && e instanceof t.Blob);
}
}.call(this, n(31)));
},
function(e, t, n) {
var r = n(16),
s = n(64),
i = n(44),
o = Object.defineProperty;
t.f = n(15)
? Object.defineProperty
: function(e, t, n) {
if ((r(e), (t = i(t, !0)), r(n), s))
try {
return o(e, t, n);
} catch (e) {}
if ('get' in n || 'set' in n) throw TypeError('Accessors not supported!');
return 'value' in n && (e[t] = n.value), e;
};
},
function(e, t) {
var n = {}.hasOwnProperty;
e.exports = function(e, t) {
return n.call(e, t);
};
},
function(e, t, n) {
e.exports = !n(21)(function() {
return (
7 !=
Object.defineProperty({}, 'a', {
get: function() {
return 7;
}
}).a
);
});
},
function(e, t, n) {
var r = n(19);
e.exports = function(e) {
if (!r(e)) throw TypeError(e + ' is not an object!');
return e;
};
},
function(e, t, n) {
var r = n(8),
s = n(7),
i = n(37),
o = n(20),
a = n(14),
c = function(e, t, n) {
var u,
l,
m,
d = e & c.F,
p = e & c.G,
f = e & c.S,
g = e & c.P,
h = e & c.B,
y = e & c.W,
v = p ? s : s[t] || (s[t] = {}),
b = v.prototype,
M = p ? r : f ? r[t] : (r[t] || {}).prototype;
for (u in (p && (n = t), n))
((l = !d && M && void 0 !== M[u]) && a(v, u)) ||
((m = l ? M[u] : n[u]),
(v[u] =
p && 'function' != typeof M[u]
? n[u]
: h && l
? i(m, r)
: y && M[u] == m
? (function(e) {
var t = function(t, n, r) {
if (this instanceof e) {
switch (arguments.length) {
case 0:
return new e();
case 1:
return new e(t);
case 2:
return new e(t, n);
}
return new e(t, n, r);
}
return e.apply(this, arguments);
};
return (t.prototype = e.prototype), t;
})(m)
: g && 'function' == typeof m
? i(Function.call, m)
: m),
g && (((v.virtual || (v.virtual = {}))[u] = m), e & c.R && b && !b[u] && o(b, u, m)));
};
(c.F = 1), (c.G = 2), (c.S = 4), (c.P = 8), (c.B = 16), (c.W = 32), (c.U = 64), (c.R = 128), (e.exports = c);
},
function(e, t, n) {
var r = n(61),
s = n(45);
e.exports = function(e) {
return r(s(e));
};
},
function(e, t) {
e.exports = function(e) {
return 'object' == typeof e ? null !== e : 'function' == typeof e;
};
},
function(e, t, n) {
var r = n(13),
s = n(27);
e.exports = n(15)
? function(e, t, n) {
return r.f(e, t, s(1, n));
}
: function(e, t, n) {
return (e[t] = n), e;
};
},
function(e, t) {
e.exports = function(e) {
try {
return !!e();
} catch (e) {
return !0;
}
};
},
function(e, t, n) {
'use strict';
(function(t) {
var r,
s = n(9),
i = (r = s) && r.__esModule ? r : { default: r };
var o = (function() {
var e = 'object' === (void 0 === t ? 'undefined' : (0, i.default)(t)) ? t : window,
n = Math.pow(2, 53) - 1,
r = /\bOpera/,
s = Object.prototype,
o = s.hasOwnProperty,
a = s.toString;
function c(e) {
return (e = String(e)).charAt(0).toUpperCase() + e.slice(1);
}
function u(e) {
return (e = f(e)), /^(?:webOS|i(?:OS|P))/.test(e) ? e : c(e);
}
function l(e, t) {
for (var n in e) o.call(e, n) && t(e[n], n, e);
}
function m(e) {
return null == e ? c(e) : a.call(e).slice(8, -1);
}
function d(e) {
return String(e).replace(/([ -])(?!$)/g, '$1?');
}
function p(e, t) {
var r = null;
return (
(function(e, t) {
var r = -1,
s = e ? e.length : 0;
if ('number' == typeof s && s > -1 && s <= n) for (; ++r < s; ) t(e[r], r, e);
else l(e, t);
})(e, function(n, s) {
r = t(r, n, s, e);
}),
r
);
}
function f(e) {
return String(e).replace(/^ +| +$/g, '');
}
return (function t(n) {
var s = e,
o = n && 'object' === (void 0 === n ? 'undefined' : (0, i.default)(n)) && 'String' != m(n);
o && ((s = n), (n = null));
var c = s.navigator || {},
g = c.userAgent || '';
n || (n = g);
var h,
y,
v,
b,
M,
T = o ? !!c.likeChrome : /\bChrome\b/.test(n) && !/internal|\n/i.test(a.toString()),
S = o ? 'Object' : 'ScriptBridgingProxyObject',
k = o ? 'Object' : 'Environment',
C = o && s.java ? 'JavaPackage' : m(s.java),
P = o ? 'Object' : 'RuntimeObject',
I = /\bJava/.test(C) && s.java,
O = I && m(s.environment) == k,
x = I ? 'a' : 'α',
w = I ? 'b' : 'β',
A = s.document || {},
_ = s.operamini || s.opera,
E = r.test((E = o && _ ? _['[[Class]]'] : m(_))) ? E : (_ = null),
R = n,
U = [],
j = null,
N = n == g,
F = N && _ && 'function' == typeof _.version && _.version(),
D = p([{ label: 'EdgeHTML', pattern: 'Edge' }, 'Trident', { label: 'WebKit', pattern: 'AppleWebKit' }, 'iCab', 'Presto', 'NetFront', 'Tasman', 'KHTML', 'Gecko'], function(e, t) {
return e || (RegExp('\\b' + (t.pattern || d(t)) + '\\b', 'i').exec(n) && (t.label || t));
}),
L = (function(e) {
return p(e, function(e, t) {
return e || (RegExp('\\b' + (t.pattern || d(t)) + '\\b', 'i').exec(n) && (t.label || t));
});
})([
'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',
'PhantomJS',
'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' },
'Opera',
{ 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' },
'Safari'
]),
B = W([
{ label: 'BlackBerry', pattern: 'BB10' },
'BlackBerry',
{ 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'
]),
q = (function(e) {
return p(e, function(e, t, r) {
return e || ((t[B] || t[/^[a-z]+(?: +[a-z]+\b)*/i.exec(B)] || RegExp('\\b' + d(r) + '(?:\\b|\\w*\\d)', 'i').exec(n)) && r);
});
})({
Apple: { iPad: 1, iPhone: 1, iPod: 1 },
Archos: {},
Amazon: { Kindle: 1, 'Kindle Fire': 1 },
Asus: { Transformer: 1 },
'Barnes & Noble': { Nook: 1 },
BlackBerry: { PlayBook: 1 },
Google: { 'Google TV': 1, Nexus: 1 },
HP: { TouchPad: 1 },
HTC: {},
LG: {},
Microsoft: { Xbox: 1, 'Xbox One': 1 },
Motorola: { Xoom: 1 },
Nintendo: { 'Wii U': 1, Wii: 1 },
Nokia: { Lumia: 1 },
Samsung: { 'Galaxy S': 1, 'Galaxy S2': 1, 'Galaxy S3': 1, 'Galaxy S4': 1 },
Sony: { PlayStation: 1, 'PlayStation Vita': 1 }
}),
H = (function(e) {
return p(e, function(e, t) {
var r = t.pattern || d(t);
return (
!e &&
(e = RegExp('\\b' + r + '(?:/[\\d.]+|[ \\w.]*)', 'i').exec(n)) &&
(e = (function(e, t, n) {
var r = { '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' };
return (
t && n && /^Win/i.test(e) && !/^Windows Phone /i.test(e) && (r = r[/[\d.]+$/.exec(e)]) && (e = 'Windows ' + r),
(e = String(e)),
t && n && (e = e.replace(RegExp(t, 'i'), n)),
(e = u(
e
.replace(/ ce$/i, ' CE')
.replace(/\bhpw/i, 'web')
.replace(/\bMacintosh\b/, 'Mac OS')
.replace(/_PowerPC\b/i, ' OS')
.replace(/\b(OS X) [^ \d]+/i, '$1')
.replace(/\bMac (OS X)\b/, '$1')
.replace(/\/(\d)/, ' $1')
.replace(/_/g, '.')
.replace(/(?: BePC|[ .]*fc[ \d.]+)$/i, '')
.replace(/\bx86\.64\b/gi, 'x86_64')
.replace(/\b(Windows Phone) OS\b/, '$1')
.replace(/\b(Chrome OS \w+) [\d.]+\b/, '$1')
.split(' on ')[0]
))
);
})(e, r, t.label || t)),
e
);
});
})(['Windows Phone', 'Android', 'CentOS', { label: 'Chrome OS', pattern: 'CrOS' }, 'Debian', 'Fedora', 'FreeBSD', 'Gentoo', 'Haiku', 'Kubuntu', '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 ']);
function W(e) {
return p(e, function(e, t) {
var r = t.pattern || d(t);
return (
!e &&
(e = RegExp('\\b' + r + ' *\\d+[.\\w_]*', 'i').exec(n) || RegExp('\\b' + r + ' *\\w+-[\\w]*', 'i').exec(n) || RegExp('\\b' + r + '(?:; *(?:[a-z]+[_-])?[a-z]+\\d+|[^ ();-]*)', 'i').exec(n)) &&
((e = String(t.label && !RegExp(r, 'i').test(t.label) ? t.label : e).split('/'))[1] && !/[\d.]+/.test(e[0]) && (e[0] += ' ' + e[1]),
(t = t.label || t),
(e = u(
e[0]
.replace(RegExp(r, 'i'), t)
.replace(RegExp('; *(?:' + t + '[_-])?', 'i'), ' ')
.replace(RegExp('(' + t + ')[-_.]?(\\w)', 'i'), '$1 $2')
))),
e
);
});
}
if (
(D && (D = [D]),
q && !B && (B = W([q])),
(h = /\bGoogle TV\b/.exec(B)) && (B = h[0]),
/\bSimulator\b/i.test(n) && (B = (B ? B + ' ' : '') + 'Simulator'),
'Opera Mini' == L && /\bOPiOS\b/.test(n) && U.push('running in Turbo/Uncompressed mode'),
'IE' == L && /\blike iPhone OS\b/.test(n)
? ((q = (h = t(n.replace(/like iPhone OS/, ''))).manufacturer), (B = h.product))
: /^iP/.test(B)
? (L || (L = 'Safari'), (H = 'iOS' + ((h = / OS ([\d_]+)/i.exec(n)) ? ' ' + h[1].replace(/_/g, '.') : '')))
: 'Konqueror' != L || /buntu/i.test(H)
? (q && 'Google' != q && ((/Chrome/.test(L) && !/\bMobile Safari\b/i.test(n)) || /\bVita\b/.test(B))) || (/\bAndroid\b/.test(H) && /^Chrome/.test(L) && /\bVersion\//i.test(n))
? ((L = 'Android Browser'), (H = /\bAndroid\b/.test(H) ? H : 'Android'))
: 'Silk' == L
? (/\bMobi/i.test(n) || ((H = 'Android'), U.unshift('desktop mode')), /Accelerated *= *true/i.test(n) && U.unshift('accelerated'))
: 'PaleMoon' == L && (h = /\bFirefox\/([\d.]+)\b/.exec(n))
? U.push('identifying as Firefox ' + h[1])
: 'Firefox' == L && (h = /\b(Mobile|Tablet|TV)\b/i.exec(n))
? (H || (H = 'Firefox OS'), B || (B = h[1]))
: !L || (h = !/\bMinefield\b/i.test(n) && /\b(?:Firefox|Safari)\b/.exec(L))
? (L && !B && /[\/,]|^[^(]+?\)/.test(n.slice(n.indexOf(h + '/') + 8)) && (L = null), (h = B || q || H) && (B || q || /\b(?:Android|Symbian OS|Tablet OS|webOS)\b/.test(H)) && (L = /[a-z]+(?: Hat)?/i.exec(/\bAndroid\b/.test(H) ? H : h) + ' Browser'))
: 'Electron' == L && (h = (/\bChrome\/([\d.]+)\b/.exec(n) || 0)[1]) && U.push('Chromium ' + h)
: (H = 'Kubuntu'),
F ||
(F = p(['(?:Cloud9|CriOS|CrMo|Edge|FxiOS|IEMobile|Iron|Opera ?Mini|OPiOS|OPR|Raven|SamsungBrowser|Silk(?!/[\\d.]+$))', 'Version', d(L), '(?:Firefox|Minefield|NetFront)'], function(e, t) {
return e || (RegExp(t + '(?:-[\\d.]+/|(?: for [\\w-]+)?[ /-])([\\d.]+[^ ();/_-]*)', 'i').exec(n) || 0)[1] || null;
})),
(h = ('iCab' == D && parseFloat(F) > 3 ? 'WebKit' : /\bOpera\b/.test(L) && (/\bOPR\b/.test(n) ? 'Blink' : 'Presto')) || (/\b(?:Midori|Nook|Safari)\b/i.test(n) && !/^(?:Trident|EdgeHTML)$/.test(D) && 'WebKit') || (!D && /\bMSIE\b/i.test(n) && ('Mac OS' == H ? 'Tasman' : 'Trident')) || ('WebKit' == D && /\bPlayStation\b(?! Vita\b)/i.test(L) && 'NetFront')) && (D = [h]),
'IE' == L && (h = (/; *(?:XBLWP|ZuneWP)(\d+)/i.exec(n) || 0)[1]) ? ((L += ' Mobile'), (H = 'Windows Phone ' + (/\+$/.test(h) ? h : h + '.x')), U.unshift('desktop mode')) : /\bWPDesktop\b/i.test(n) ? ((L = 'IE Mobile'), (H = 'Windows Phone 8.x'), U.unshift('desktop mode'), F || (F = (/\brv:([\d.]+)/.exec(n) || 0)[1])) : 'IE' != L && 'Trident' == D && (h = /\brv:([\d.]+)/.exec(n)) && (L && U.push('identifying as ' + L + (F ? ' ' + F : '')), (L = 'IE'), (F = h[1])),
N)
) {
if (((b = 'global'), (M = null != (v = s) ? (0, i.default)(v[b]) : 'number'), /^(?:boolean|number|string|undefined)$/.test(M) || ('object' == M && !v[b])))
m((h = s.runtime)) == S
? ((L = 'Adobe AIR'), (H = h.flash.system.Capabilities.os))
: m((h = s.phantom)) == P
? ((L = 'PhantomJS'), (F = (h = h.version || null) && h.major + '.' + h.minor + '.' + h.patch))
: 'number' == typeof A.documentMode && (h = /\bTrident\/(\d+)/i.exec(n))
? ((F = [F, A.documentMode]), (h = +h[1] + 4) != F[1] && (U.push('IE ' + F[1] + ' mode'), D && (D[1] = ''), (F[1] = h)), (F = 'IE' == L ? String(F[1].toFixed(1)) : F[0]))
: 'number' == typeof A.documentMode && /^(?:Chrome|Firefox)\b/.test(L) && (U.push('masking as ' + L + ' ' + F), (L = 'IE'), (F = '11.0'), (D = ['Trident']), (H = 'Windows'));
else if ((I && ((R = (h = I.lang.System).getProperty('os.arch')), (H = H || h.getProperty('os.name') + ' ' + h.getProperty('os.version'))), O)) {
try {
(F = s.require('ringo/engine').version.join('.')), (L = 'RingoJS');
} catch (e) {
(h = s.system) && h.global.system == s.system && ((L = 'Narwhal'), H || (H = h[0].os || null));
}
L || (L = 'Rhino');
} else
'object' === (0, i.default)(s.process) &&
!s.process.browser &&
(h = s.process) &&
('object' === (0, i.default)(h.versions) && ('string' == typeof h.versions.electron ? (U.push('Node ' + h.versions.node), (L = 'Electron'), (F = h.versions.electron)) : 'string' == typeof h.versions.nw && (U.push('Chromium ' + F, 'Node ' + h.versions.node), (L = 'NW.js'), (F = h.versions.nw))), L || ((L = 'Node.js'), (R = h.arch), (H = h.platform), (F = (F = /[\d.]+/.exec(h.version)) ? F[0] : null)));
H = H && u(H);
}
if ((F && (h = /(?:[ab]|dp|pre|[ab]\d+pre)(?:\d+\+?)?$/i.exec(F) || /(?:alpha|beta)(?: ?\d)?/i.exec(n + ';' + (N && c.appMinorVersion)) || (/\bMinefield\b/i.test(n) && 'a')) && ((j = /b/i.test(h) ? 'beta' : 'alpha'), (F = F.replace(RegExp(h + '\\+?$'), '') + ('beta' == j ? w : x) + (/\d+\+?/.exec(h) || ''))), 'Fennec' == L || ('Firefox' == L && /\b(?:Android|Firefox OS)\b/.test(H)))) L = 'Firefox Mobile';
else if ('Maxthon' == L && F) F = F.replace(/\.[\d.]+/, '.x');
else if (/\bXbox\b/i.test(B)) 'Xbox 360' == B && (H = null), 'Xbox 360' == B && /\bIEMobile\b/.test(n) && U.unshift('mobile mode');
else if ((!/^(?:Chrome|IE|Opera)$/.test(L) && (!L || B || /Browser|Mobi/.test(L))) || ('Windows CE' != H && !/Mobi/i.test(n)))
if ('IE' == L && N)
try {
null === s.external && U.unshift('platform preview');
} catch (e) {
U.unshift('embedded');
}
else
(/\bBlackBerry\b/.test(B) || /\bBB10\b/.test(n)) && (h = (RegExp(B.replace(/ +/g, ' *') + '/([.\\d]+)', 'i').exec(n) || 0)[1] || F)
? ((H = ((h = [h, /BB10/.test(n)])[1] ? ((B = null), (q = 'BlackBerry')) : 'Device Software') + ' ' + h[0]), (F = null))
: this != l &&
'Wii' != B &&
((N && _) || (/Opera/.test(L) && /\b(?:MSIE|Firefox)\b/i.test(n)) || ('Firefox' == L && /\bOS X (?:\d+\.){2,}/.test(H)) || ('IE' == L && ((H && !/^Win/.test(H) && F > 5.5) || (/\bWindows XP\b/.test(H) && F > 8) || (8 == F && !/\bTrident\b/.test(n))))) &&
!r.test((h = t.call(l, n.replace(r, '') + ';'))) &&
h.name &&
((h = 'ing as '