!function () { function e(t, n, r) { function a(i, s) { if (!n[i]) { if (!t[i]) { var c = "function" == typeof require && require; if (!s && c) return c(i, !0); if (o) return o(i, !0); var u = new Error("Cannot find module '" + i + "'"); throw u.code = "MODULE_NOT_FOUND", u } var f = n[i] = {exports: {}}; t[i][0].call(f.exports, function (e) { return a(t[i][1][e] || e) }, f, f.exports, e, t, n, r) } return n[i].exports } for (var o = "function" == typeof require && require, i = 0; i < r.length; i++) a(r[i]); return a } return e }()({ 1: [function (e, t, n) { var r = e("./util"), a = e("./common/sendBeacon"), o = function (e) { return this.ver = "1.8.2", this._conf = r.ext({}, o.dftCon), this.$a5 = {}, this.$a1 = [], this.hash = r.seq(), this.$a6(), this.setConfig(e), this.rip = r.getRandIP(), this.record = 999, this["EagleEye-TraceID"] = this.getTraceId()["EagleEye-TraceID"], this._common = {}, this }; o.dftCon = { sample: 1, pvSample: 1, tag: "", imgUrl: "https://arms-retcode.aliyuncs.com/r.png?", region: null, ignore: {ignoreUrls: [], ignoreApis: [], ignoreErrors: []}, release: undefined, environment: "production" }, o.prototype = { constructor: o, $a2: function (e) { return e() }, $a7: function () { var e = this._conf.page; return r.$a8(e, [], e + "") }, setPage: function () { }, setConfig: function (e) { e && "object" == typeof e && (r.$a9(e), e = this.$aa(e), this._conf = r.ext({}, this._conf, e)) }, $aa: function (e) { var t = e.region, n = e.imgUrl; if (t) { var a = r.regionMap[t]; return e.imgUrl = a || r.defaultImgUrl, e } return n && (e.imgUrl = n), e }, $ab: function (e) { if (this.getConfig("debug")) return !0; var t = r.regionMap, n = !1; for (var a in t) if (t[a] === e) { n = !0; break } return !n && r.warn("[retcode] invalid url: " + e), n }, $ac: function () { }, $ad: function (e) { a(e, this.getConfig("imgUrl")) }, $ae: function () { }, $af: function () { return {} }, setCommonInfo: function (e) { e && "object" == typeof e && (this._common = r.ext({}, this._common, e)) }, $a6: function () { this.session = r.uu(), this.sBegin = Date.now() }, getTraceId: function () { var e = this.rip, t = Date.now(), n = r.getSortNum(this.record), a = e + t + n + r.getRandNum(this._conf.pid); return this["EagleEye-TraceID"] = a, this.record = n, {"EagleEye-TraceID": a} }, getSessionId: function () { return {"EagleEye-SessionID": this.session} }, getConfig: function (e) { return e ? this._conf[e] : r.ext({}, this._conf) }, $ag: function (e) { return 1 === e || ("boolean" == typeof this.$a5[e] ? this.$a5[e] : (this.$a5[e] = r.pick(e), this.$a5[e])) }, $a4: function () { var e; clearTimeout(this.$a3), this.$a3 = null; for (var t = this._conf && "function" == typeof this._conf.sendRequest; e = this.$a1.pop();) "res" === e.t ? this.$ae(e, "res") : "error" === e.t ? this.$ae(e, "err") : "api" === e.t ? this.$ae(e, "apiSnapshot") : "behavior" === e.t ? this.$ae(e, "behavior") : "health" === e.t && !t && window && window.navigator && "function" == typeof window.navigator.sendBeacon ? this.$ad(e) : this.$ac(e); return this }, _lg: function (e, t, n) { var a = this._conf, o = this.$a7(), i = a.ignore || {}, s = i.ignoreErrors, c = i.ignoreUrls, u = i.ignoreApis; return r.$ah(o, c) || r.$ah(r.decode(o), c) ? this : "error" === e && (r.$ah(t.msg, s) || r.$ah(r.decode(t.msg), s)) ? this : "api" === e && (r.$ah(t.api, u) || r.$ah(r.decode(t.api), u)) ? this : this.$ab(a.imgUrl) && t && !a.disabled && a.pid ? n && !this.$ag(n) ? this : (t = r.ext({ t: e, times: 1, page: o, tag: a.tag || "", release: a.release || "", environment: a.environment, begin: Date.now() }, t, this.$af(), this._common, { pid: a.pid, _v: this.ver, sid: this.session, sampling: n || 1, z: r.seq(), c1: a.c1, c2: a.c2, c3: a.c3 }), function (e, t) { var n; { if ("error" !== t.t || !(n = e.$a1[0]) || "error" !== n.t || t.msg !== n.msg) { if ("behavior" === t.t) { var a = e.$a1 && e.$a1.length; if (a > 0 && "behavior" === e.$a1[a - 1].t) { var o = t.behavior || []; e.$a1[a - 1].behavior.concat(o) } else e.$a1.push(t) } else e.$a1.unshift(t); return e.$a2(function () { e.$a3 = r.delay(function () { e.$a4() }, e.$a1[0] && "error" === e.$a1[0].t ? 3e3 : -1) }), !0 } n.times++ } }(this, t)) : this }, custom: function (e, t) { if (!e || "object" != typeof e) return this; var n = !1, a = {begin: Date.now()}; return r.each(e, function (e, t) { return !(n = t && t.length <= 20) && r.warn("[retcode] invalid key: " + t), a["x-" + t] = e, n }), n ? this._lg("custom", a, t || 1) : this } }, t.exports = o }, {"./common/sendBeacon": 12, "./util": 16}], 2: [function (e, t, n) { var r = e("../util"); t.exports = function (e, t) { var n = [], a = null, o = t && t.location && t.location.href, i = 0, s = undefined, c = null, u = function (e, t, n) { if (null !== e) { var r = e[t]; e[t] = n(r) } }, f = function (e) { var t, n, r, a, o, i = []; if (!e || !e.tagName) return ""; if (i.push(e.tagName.toLowerCase()), e.id && "[object String]" === Object.prototype.toString.call(e.id) && i.push("#".concat(e.id)), (t = e.className) && "[object String]" === Object.prototype.toString.call(t)) for (n = t.split(/\s+/), o = 0; o < n.length; o++) i.push(".".concat(n[o])); var s = ["type", "name", "title", "alt"]; for (o = 0; o < s.length; o++) r = s[o], (a = e.getAttribute(r)) && "[object String]" === Object.prototype.toString.call(a) && i.push("[".concat(r, '="').concat(a, '"]')); return i.join("") }, l = function (e, t) { return function (n) { if (n && n !== c) { c = n; var r; try { r = n.target } catch (u) { r = "<unknown>" } if (0 !== r.length) { var o = { type: "ui.".concat(e), data: { message: function (e) { if (!e || 1 !== e.nodeType) return ""; for (var t = e || null, n = [], r = 0, a = 0, o = " > ".length, i = ""; t && r++ < 5 && !("html" === (i = f(t)) || r > 1 && a + n.length * o + i.length >= 80);) n.push(i), a += i.length, t = t.parentNode; return n.reverse().join(" > ") }(r) }, timestamp: Date.now() }; "click" === e ? (i && clearTimeout(i), t ? i = setTimeout(function () { a && a.addBehavior(o) }, 0) : a && a.addBehavior(o)) : "keypress" === e && (s || a && a.addBehavior(o), clearTimeout(s), s = setTimeout(function () { s = undefined }, 100)) } } } }, p = function () { if (function () { var e = t && t.chrome, n = e && e.app && e.app.runtime, r = "history" in t && !!t.history.pushState && !!t.history.replaceState; return !n && r }()) { var e = function (e, t) { var n = {type: "navigation", data: {from: e, to: t}}; a && a.addBehavior(n), o = t }, n = t.onpopstate; t.onpopstate = function () { for (var r = arguments.length, a = new Array(r), i = 0; i < r; i++) a[i] = arguments[i]; var s = t.location.href; if (e(o, s), n) return n.apply(this, a) }; var r = function (t) { return function () { for (var n = arguments.length, r = new Array(n), a = 0; a < n; a++) r[a] = arguments[a]; var i = r.length > 2 ? r[2] : undefined; return i && e(o, String(i)), t.apply(this, r) } }; u(t.history, "pushState", r), u(t.history, "replaceState", r) } }; r.ext(e.prototype, { addBehavior: function (e) { if (this.getConfig("behavior") && e && "object" == typeof e) { var a = {}, o = e.data || {}; if (e.type) a = o; else { if ("string" != typeof o.name || "string" != typeof o.message) return; a.name = o.name.substr(0, 20), a.message = o.message.substr(0, 200) } a.message && (a.message = r.encode(a.message)); var i = { type: e.type || "custom", data: a || {}, timestamp: e.timestamp || Date.now(), page: e.page || t && t.location && t.location.pathname }; return n.push(i), n = n.slice(-100) } }, getBehavior: function () { return n || [] }, setBehavior: function (e) { return e && (n = e), n }, reportBehavior: function (e) { var t = this; t.getConfig("behavior") && (t.$ai && (clearTimeout(t.$ai), t.$ai = undefined), t.$ai = setTimeout(function () { n && n.length > 0 && (t.behavior(n), n = [], t.$ai = undefined, e && "function" == typeof e && e()) }, 0)) }, $aj: function () { if (!this.hasInitBehavior && !a) { try { !function () { if (document && document.referrer && document.location) { var e = document.referrer, t = document.location.href; if ("" !== e) { var n = {type: "navigation", data: {from: e, to: t}}; o = t, a && a.addBehavior(n) } } }(), function () { if (t && t.console) for (var e = ["debug", "info", "warn", "log", "error", "assert"], n = 0; n < e.length; n++) { var r = e[n]; t.console[r] && "function" == typeof t.console[r] && u(t.console, r, function (e) { var n = r; return function () { for (var r = arguments.length, o = new Array(r), i = 0; i < r; i++) o[i] = arguments[i]; var s = {type: "console", data: {level: n, message: o}}; if (a && a.addBehavior(s), "error" === n) for (var c = 0; c < o.length; c++) { var u = o[c]; u && u.message && u.stack && a && a.errorHandler(new ErrorEvent("error", { error: u, message: u.message })) } e && Function.prototype.apply.call(e, t.console, o) } }) } }(), t && t.document && t.document.addEventListener && (t.document.addEventListener("click", l("click"), !1), t.document.addEventListener("keypress", l("keypress"), !1)), p() } catch (e) { r.warn("[arms] error in initBehavior", e) } a = this, this.hasInitBehavior = !0 } return this } }) } }, {"../util": 16}], 3: [function (e, t, n) { var r = e("../util"), a = e("../reporter"), o = e("../common/sender"), i = e("../common/post"), s = r.win, c = s.document, u = /^(error|api|speed|sum|avg|percent|custom|msg|setPage|setConfig|behavior|performance)$/, f = function (e) { var t = this; return a.call(t, e), t._initialPage = e.page && r.$a8(e.page, [], e.page + "") || null, t._health = { errcount: 0, apisucc: 0, apifail: 0 }, t.$ak = function (e, n) { "error" === e ? t._health.errcount++ : "api" === e && t._health[n.success ? "apisucc" : "apifail"]++ }, !1 !== e.enableInstanceAutoSend && (t.$al(), t.$am(), t.$an(1e4), t._conf && t._conf.behavior && "function" == typeof t.$aj && t.$aj()), Object.defineProperty && s.addEventListener && Object.defineProperty(t, "pipe", {set: t.$ao}), t }; f.prototype = r.$ap(a.prototype), r.ext(a._root.dftCon, { uid: null, ignoreUrlPath: null, ignoreApiPath: null, urlHelper: [{rule: /\/([a-z\-_]+)?\d{2,20}/g, target: "/$1**"}, /\/$/], apiHelper: {rule: /(\w+)\/\d{2,}/g, target: "$1"}, ignoreUrlCase: !0, imgUrl: "https://arms-retcode.aliyuncs.com/r.png?", disableHook: !1, autoSendPv: !0, enableSPA: !1, enableLinkTrace: !1, sendResource: !0, behavior: !0, parseHash: function (e) { return (e ? r.$ar(e.replace(/^#\/?/, "")) : "") || "[index]" }, parseResponse: function (e) { if (!e || "object" != typeof e) return {}; var t = e.code, n = e.msg || e.message || e.subMsg || e.errorMsg || e.ret || e.errorResponse || ""; return "object" == typeof n && (t = t || n.code, n = n.msg || n.message || n.info || n.ret || JSON.stringify(n)), { msg: n, code: t, success: !0 } } }), r.ext(f.prototype, { constructor: f, _super: a, $a2: function (e) { var t = this; if (t.hasReady) return e(); "complete" === c.readyState ? (t.hasReady = !0, e()) : r.on(s, "load", function () { t.hasReady = !0, e() }, !0) }, $a7: function (e) { var t = this._conf, n = t.page, a = location, o = a.host + a.pathname; return n && !e ? r.$a8(n, [], n + "") : this._initialPage || r.$aq(t.ignoreUrlCase ? o.toLowerCase() : o, t.ignoreUrlPath ? t.ignoreUrlPath : t.urlHelper) }, setPage: function (e, t) { var n = this, r = n.$as; if (!1 !== t) { if (!e || e === r) return n; n.$as = e, clearTimeout(n.$at), n.$au(1), n.$a6(), n.$at = setTimeout(function () { n.$av() }, 10) } else n.$as = e; return n._conf.page = e, n }, setConfig: function (e, t) { if (e && "object" == typeof e) { r.$a9(e), e = this.$aa(e); var n = this._conf; if (this._conf = r.ext({}, n, e), !t) { var a = "disableHook"; a in e && n[a] !== e[a] && (e[a] ? this.removeHook() : this.addHook()), (a = "enableSPA") in e && n[a] !== e[a] && this.$aw(e[a]) } } }, $ac: function (e) { o(e, this.getConfig("imgUrl")) }, $ae: function (e, t) { var n = {}; n[t] = e[t], delete e[t]; var a = ""; "object" == typeof e && (a = r.serialize(e)), i(n, this.getConfig("imgUrl") + a + "&post_res=") }, $ao: function (e) { var t = this; if (!e || !e.length) return t; try { if ("Array" === r.T(e[0])) return r.each(e, function (e) { return t.$ao(e) }); if ("Array" !== r.T(e)) return t; var n = e.shift(); if (!u.test(n)) return t; t[n].apply(t, e) } catch (a) { return r.warn("[retcode] error in sendPipe", a), t } }, $ax: function () { var e = r.ext({}, this._health); e.healthy = e.errcount > 0 ? 0 : 1, e.begin = Date.now(); var t = e.begin - this.sBegin; e.stay = t, this._lg("health", e, 1), this._health = {errcount: 0, apisucc: 0, apifail: 0} }, createInstance: function (e) { e = r.ext({pid: this._conf.pid}, e); var t = this.__proto__.constructor(e); return e.page && t.$av(), t } }), e("./behavior")(f, s), e("./handler")(f, s, c), e("./fmp")(f, s, c), e("./hook")(f, s), e("./hack")(f, s), f._super = a, f._root = a._root, a.Browser = f, t.exports = f }, { "../common/post": 10, "../common/sender": 13, "../reporter": 15, "../util": 16, "./behavior": 2, "./fmp": 4, "./hack": 5, "./handler": 6, "./hook": 7 }], 4: [function (e, t, n) { var r = e("../util"), a = 500; t.exports = function (e, t, n) { function o(e, t, n) { var r = 0, a = e.tagName; if ("SCRIPT" !== a && "STYLE" !== a && "META" !== a && "HEAD" !== a) { var i = e.children ? e.children.length : 0; if (i > 0) for (var c = e.children, u = i - 1; u >= 0; u--) r += o(c[u], t + 1, r > 0); if (r <= 0 && !n) { if (!(e.getBoundingClientRect && e.getBoundingClientRect().top < s)) return 0 } r += 1 + .5 * t } return r } function i(e) { for (var t = 1; t < e.length; t++) if (e[t].score < e[t - 1].score) return e.splice(t, 1), i(e); return e } var s = t.innerHeight || 0, c = [], u = null, f = 0; r.ext(e.prototype, { $an: function (e) { var a = this; if (!a._conf || !a._conf.useFmp) return null; if (!t.MutationObserver) return r.warn("[retcode] first meaningful paint can not be retrieved"), a.$ay(), null; r.on(t, "beforeunload", function () { a.$az(0, !0) }); var i = t.MutationObserver; return (u = new i(function () { !function (e) { var t = Date.now() - e, r = n.querySelector("body"); if (r) { var a = 0; a += o(r, 1, !1), c.push({score: a, t: t}) } else c.push({score: 0, t: t}) }(a._startTime) })).observe(document, {childList: !0, subtree: !0}), f = 1, a.$a2(function () { a.$az(e) }), u }, $az: function (e, t) { var n = this; if (u && f) if (t || !function (e, t) { var n = Date.now() - e; return !(n > t || n - (c && c.length && c[c.length - 1].t || 0) > 2 * a) }(n._startTime, e)) { u.disconnect(), f = 0, c = i(c); for (var o = null, s = 1; s < c.length; s++) if (c[s].t >= c[s - 1].t) { var l = c[s].score - c[s - 1].score; (!o || o.rate <= l) && (o = {t: c[s].t, rate: l}) } o && o.t > 0 && o.t < 36e5 ? n.$ay({fmp: o.t}) : n.$ay() } else r.delay(function () { n.$az(e) }, a) } }) } }, {"../util": 16}], 5: [function (e, t, n) { t.exports = function (t, n) { var r = e("../util"), a = n.history || {}, o = n.document, i = function (e, t) { var r; n.CustomEvent ? r = new CustomEvent(e, {detail: t}) : ((r = o.createEvent("HTMLEvents")).initEvent(e, !1, !0), r.detail = t), n.dispatchEvent(r) }, s = function (e) { var t = a[e]; "function" == typeof t && (a[e] = function (n, o, s) { var c = 1 === arguments.length ? [arguments[0]] : Array.apply(null, arguments), u = location.href, f = t.apply(a, c); if (!s || "string" != typeof s) return f; if (s === u) return f; try { var l = u.split("#"), p = s.split("#"), h = r.$ar(l[0]), g = r.$ar(p[0]), d = l[1] && l[1].replace(/^\/?(.*)/, "$1"), v = p[1] && p[1].replace(/^\/?(.*)/, "$1"); h !== g ? i("historystatechange", g) : d !== v && i("historystatechange", v) } catch (m) { r.warn("[retcode] error in " + e + ": " + m) } return f }, a[e].toString = r.$b0(e)) }; r.ext(t.prototype, { $b1: function () { return this.$b2 ? this : (s("pushState"), s("replaceState"), this.$b2 = !0, this) } }) } }, {"../util": 16}], 6: [function (e, t, n) { t.exports = function (t, n, r) { var a = e("../util"), o = e("../common/perf"), i = e("../common/res"), s = null, c = r.documentElement, u = n.innerWidth || c.clientWidth || r.body.clientWidth, f = n.innerHeight || c.clientHeight || r.body.clientHeight, l = n.navigator.connection, p = {sr: screen.width + "x" + screen.height, vp: u + "x" + f, ct: l ? l.effectiveType || l.type : ""}, h = {}, g = function (e, t, n, o, i) { if (t === undefined) { var s, c; if (!h[e]) { s = new RegExp(e + "=([^;]+)"); try { c = s.exec(r.cookie) } catch (f) { return a.warn("[retcode] can not get cookie:", f), null } c && (h[e] = c[1]) } return h[e] } var u = e + "=" + t; o && (u += "; domain=" + o), u += "; path=" + (i || "/"), n && (u += "; max-age=" + n); try { return r.cookie = u, !!r.cookie } catch (f) { return a.warn("[retcode] can not set cookie: ", f), !1 } }, d = function (e) { var t = e._conf.uid || g("_nk_") || g("_bl_uid"); if (!t) { t = a.uu(); if (!g("_bl_uid", t, 15552e3)) return null } return t }; return a.ext(t.prototype, { activeErrHandler: function (e) { return s && !e ? this : (s = this, this) }, errorHandler: function (e) { if (!e) return this; var t = e.type; if ("error" === t) { var n = e.target || e.srcElement; !(!n || !n.tagName || e.message || e.filename || e.lineno || e.colno) ? this.$b3(e) : this.error(e.error || {message: e.message}, e) } else "unhandledrejection" === t && a.T(e.reason, "Error") && a.$b4(e.reason) && this.error(e.reason); try { this.getConfig("behavior") && this.reportBehavior && this.reportBehavior() } catch (e) { } return this }, $b3: function (e) { var t = this, n = e.target || e.srcElement; try { var r = t.$b5(n), o = n.tagName ? n.tagName.toLowerCase() : "", i = t.$b6(n, 5); return t._lg("resourceError", {src: r && r.substring(0, 1e3), node_name: o, xpath: i}), t } catch (s) { return a.warn("[ARMS] $b3 error :", s), t } }, $b5: function (e) { var t = e.src || e.href; try { if (!t) { var n = "object" === (e.tagName ? e.tagName.toLowerCase() : ""), r = e.getAttribute("classid") && "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" === e.getAttribute("classid").toLowerCase() || "application/x-shockwave-flash" === e.getAttribute("type"); n && r && (t = e.getAttribute("data") || e.getAttribute("codebase")), t || (t = e.outerHTML || e.innerHTML) } } catch (a) { t = "" } return t }, $b6: function (e, t) { var n = e.id ? "#" + e.id : "", r = e.className ? "." + e.className.split(" ").join(".") : "", a = (e.tagName ? e.tagName.toLowerCase() : "") + n + r; return e.parentNode && e.parentNode.tagName && t - 1 != 0 ? this.$b6(e.parentNode, t - 1) + " > " + a : a }, $ay: function (e) { var t = this; t.$a2(function () { var n = o(); n && (n.page = t.$a7(!0), e && (n = a.ext(n, e)), t.$b7 && (n = a.ext(n, t.$b7)), t._lg("perf", n, t.getConfig("sample"))) }) }, $b8: function (e) { var t = this; t.$a2(function () { var n = i(); n && (n.load && n.load <= 2e3 || n.load && n.load <= 8e3 && Math.random() > .05 || (n.page = t.$a7(!0), n.dl = location.href, e && (n = a.ext(n, e)), t._lg("res", n, t.getConfig("sample")))) }) }, $av: function () { var e = this; e.$a2(function () { var t = function (e) { var t = d(e), a = n.devicePixelRatio || 1; return { uid: t, dt: r.title, dl: location.href, dr: r.referrer, dpr: a.toFixed(2), de: (r.characterSet || r.defaultCharset || "").toLowerCase(), ul: c.lang, begin: Date.now() } }(e); t && t.uid && e._lg("pv", t, e.getConfig("pvSample")) }) }, $af: function () { return p.uid = d(this), p }, $au: function (e) { var t = Date.now(); if (t - this._lastUnload < 200) return this; this._lastUnload = t, this.$ax(e), this.$b9 && (this._lg("speed", this.$b9), this.$b9 = null, clearTimeout(this.$ba)), this.$a4() }, $aw: function (e) { var t = this; if (!e ^ t.$bb) return t; e ? (t.$b1(), t.$bb = function (e) { var n = t._conf.parseHash(location.hash); n && t.setPage(n, !1 !== e) }, t.$bc = function (e) { var n = t._conf.parseHash(e.detail); n && t.setPage(n) }, a.on(n, "hashchange", t.$bb), a.on(n, "historystatechange", t.$bc), t.$bb(!1)) : (a.off(n, "hashchange", t.$bb), a.off(n, "historystatechange", t.$bc), t.$bb = null, t.$bc = null) }, $al: function () { var e = this; if (e.$bd) return e; var t = e._conf; return a.on(n, "beforeunload", function () { e.$au(0) }), e.$aw(t.enableSPA), e.activeErrHandler(!1), e.$bd = !0, e } }), a.on(n, "error", function (e) { s && s.errorHandler(e) }, !1, !0).on(n, "unhandledrejection", function (e) { s && s.errorHandler(e) }), t } }, {"../common/perf": 9, "../common/res": 11, "../util": 16}], 7: [function (e, t, n) { t.exports = function (t, n) { var r = e("../util"), a = null, o = r.getCurDomain(), i = function (e, t, n, a, i, s, c, u, f, l) { var p = r.J(i) || null, h = r.$a8(t, [p, a], null); if (!h) return !1; var g = h.code || s, d = !("success" in h) || h.success; e.api(n, d, c, g, h.msg, u, f, l, {}, o) }, s = "fetch", c = "__oFetch_", u = "__oXMLHttpRequest_", f = "XMLHttpRequest"; return r.ext(t.prototype, { removeHook: function (e, t) { return a && (t || this === a) ? (n[c] && (n[s] = n[c], delete n[c]), n[u] && (n[f] = n[u], delete n[u]), a = null, this) : this }, addHook: function (e) { return !e && a ? this : (a || (function () { if ("function" == typeof n[s]) { var e = n[s]; n[c] = e, n[s] = function (t, s) { var c = 1 === arguments.length ? [arguments[0]] : Array.apply(null, arguments), u = a; if (!u || !u.api) return e.apply(n, c); if (s && ("HEAD" === s.method || "no-cors" === s.mode)) return e.apply(n, c); var f = Date.now(), l = u._conf, p = (t && "string" != typeof t ? t.url : t) || "", h = p; if (p = r.$ar(p), !r.$be(p, !0)) return e.apply(n, c); p = r.$aq(p, l.ignoreApiPath ? l.ignoreApiPath : l.apiHelper); var g = l.enableLinkTrace, d = "", v = "", m = u.getConfig("pid"); if (g) { var y = ""; try { y = location.origin ? location.origin : location.protocol + "//" + location.hostname + (location.port ? ":" + location.port : "") } catch (E) { y = "" } if (r.checkSameOrigin(h, y)) { if (t && "string" != typeof t) try { if (c[0].headers && "function" == typeof c[0].headers.get && "function" == typeof c[0].headers.append) { var b = c[0].headers.get("EagleEye-TraceID"), $ = c[0].headers.get("EagleEye-SessionID"), w = c[0].headers.get("EagleEye-pAppName"); b ? d = b : (d = u.getTraceId()["EagleEye-TraceID"], c[0].headers.append("EagleEye-TraceID", d)), $ ? v = $ : (v = u.getSessionId()["EagleEye-SessionID"], c[0].headers.append("EagleEye-SessionID", v)), w || c[0].headers.append("EagleEye-pAppName", m) } } catch (_) { r.warn("[retcode] fetch failed to set header, exception is :\n" + _) } s && (s.headers = s.headers ? s.headers : {}, s.headers["EagleEye-TraceID"] ? d = s.headers["EagleEye-TraceID"] : (d = u.getTraceId()["EagleEye-TraceID"], s.headers["EagleEye-TraceID"] = d), s.headers["EagleEye-SessionID"] ? v = s.headers["EagleEye-SessionID"] : (v = u.getSessionId()["EagleEye-SessionID"], s.headers["EagleEye-SessionID"] = v), s.headers["EagleEye-pAppName"] || (s.headers["EagleEye-pAppName"] = m)) } } return e.apply(n, c).then(function (e) { if (!u || !u.api) return e; try { if (!e || "function" != typeof e.clone) return e; var t = e.clone(), n = t.headers; if (n && "function" == typeof n.get) { var a = n.get("content-type"); if (a && !/(text)|(json)/.test(a)) return e } var s = Date.now() - f; return t.text().then(function (e) { var a = r.getFetchSnapshot(c, e, n); t.ok ? i(u, l.parseResponse, p, h, e, t.status || 200, s, f, d, v) : u.api(p, !1, s, t.status || 404, t.statusText, f, d, v, a, o) }), e } catch (E) { return r.warn("[ARMS] fetch response error :", E), e } })["catch"](function (e) { if (!u || !u.api) throw e; var t = Date.now() - f; throw u.api(p, !1, t, e.name || "Error", e.message, f, d, v, {}, o), e }) }, n[s].toString = r.$b0(s) } }(), function () { if ("function" == typeof n[f]) { var e, t = n[f]; n[u] = t, n[f] = function (n) { var s = new t(n), c = a; if (!c || !c.api || !s.addEventListener) return s; var u, f, l, p = s.send, h = s.open, g = s.setRequestHeader, d = c._conf, v = c.getConfig("enableLinkTrace"), m = "", y = "", b = ""; return s.open = function (t, n) { e = t; var a = 1 === arguments.length ? [arguments[0]] : Array.apply(null, arguments); if (h.apply(s, a), l = n || "", f = r.$ar(l), f = f ? r.$aq(f, d.ignoreApiPath ? d.ignoreApiPath : d.apiHelper) : "", v) { var o = ""; try { o = location.origin ? location.origin : location.protocol + "//" + location.hostname + (location.port ? ":" + location.port : "") } catch (i) { o = "" } r.checkSameOrigin(l, o) && g && "function" == typeof g && (m = c.getTraceId()["EagleEye-TraceID"], g.apply(s, ["EagleEye-TraceID", m]), y = c.getSessionId()["EagleEye-SessionID"], g.apply(s, ["EagleEye-SessionID", y]), b = c.getConfig("pid"), g.apply(s, ["EagleEye-pAppName", b])) } }, s.send = function () { u = Date.now(); var e = 1 === arguments.length ? [arguments[0]] : Array.apply(null, arguments); p.apply(s, e) }, r.on(s, "readystatechange", function () { if (f && 4 === s.readyState) { var t = Date.now() - u, n = r.getXhrSnapshot(l, e, s); if (s.status >= 200 && s.status <= 299) { var a = s.status || 200; if ("function" == typeof s.getResponseHeader) { var p = s.getResponseHeader("Content-Type"); if (p && !/(text)|(json)/.test(p)) return } s.responseType && "text" !== s.responseType ? c.api(f, !0, t, a, "", u, m, y, {}, o) : i(c, d.parseResponse, f, l, s.responseText, a, t, u, m, y) } else c.api(f, !1, t, s.status || "FAILED", s.statusText, u, m, y, n, o) } }), s }, n[f].toString = r.$b0(f) } }()), a = this, this) }, $am: function () { return this.$bf ? this : (this.getConfig("disableHook") || this.addHook(), this.$bf = !0, this) } }), t } }, {"../util": 16}], 8: [function (e, t, n) { n.TIMING_KEYS = ["", "fetchStart", "domainLookupStart", "domainLookupEnd", "connectStart", "connectEnd", "requestStart", "responseStart", "responseEnd", "", "domInteractive", "", "domContentLoadedEventEnd", "", "loadEventStart", "", "msFirstPaint", "secureConnectionStart"] }, {}], 9: [function (e, t, n) { var r = e("../util"), a = e("./constants").TIMING_KEYS; t.exports = function () { var e = r.win || {}, t = e.performance; if (!t || "object" != typeof t) return null; var n = {}, o = t.timing || {}, i = Date.now(), s = 1; if ("function" == typeof e.PerformanceNavigationTiming) { var c = t.getEntriesByType("navigation")[0]; c && (o = c, s = 2) } r.each({ dns: [3, 2], tcp: [5, 4], ssl: [5, 17], ttfb: [7, 6], trans: [8, 7], dom: [10, 8], res: [14, 12], firstbyte: [7, 2], fpt: [8, 1], tti: [10, 1], ready: [12, 1], load: [14, 1] }, function (e, t) { var r = o[a[e[1]]], i = o[a[e[0]]]; if (2 === s || r > 0 && i > 0) { var c = Math.round(i - r); c >= 0 && c < 36e5 && (n[t] = c) } }); var u = e.navigator.connection, f = t.navigation || {}; n.ct = u ? u.effectiveType || u.type : ""; var l = u ? u.downlink || u.downlinkMax || u.bandwidth || null : null; if ((l = l > 999 ? 999 : l) && (n.bandwidth = l), n.navtype = 1 === f.type ? "Reload" : "Other", 1 === s && o[a[16]] > 0 && o[a[1]] > 0) { var p = o[a[16]] - o[a[1]]; p >= 0 && p < 36e5 && (n.fpt = p) } return 1 === s && o[a[1]] > 0 ? n.begin = o[a[1]] : 2 === s && n.load > 0 ? n.begin = i - n.load : n.begin = i, n } }, {"../util": 16, "./constants": 8}], 10: [function (e, t, n) { var r = e("../util"), a = "object" == typeof window ? window : {}, o = a.__oXMLHttpRequest_ || a.XMLHttpRequest; o = "function" == typeof o ? o : undefined, t.exports = function (e, t) { try { var n = new o; n.open("POST", t, !0), n.setRequestHeader("Content-Type", "text/plain"), n.send(JSON.stringify(e)) } catch (a) { r.warn("[retcode] Failed to log, exception is :\n" + a) } } }, {"../util": 16}], 11: [function (e, t, n) { var r = e("../util"), a = e("./constants").TIMING_KEYS; t.exports = function () { var e = r.win || {}, t = e.performance; if (!t || "object" != typeof t || "function" != typeof t.getEntriesByType) return null; var n = {}, o = t.timing || {}, i = t.getEntriesByType("resource") || []; if (n.begin = o[a[1]] || Date.now(), "function" == typeof e.PerformanceNavigationTiming) { var s = t.getEntriesByType("navigation")[0]; s && (o = s) } return r.each({dom: [10, 8], load: [14, 1]}, function (e, t) { var r = o[a[e[1]]], i = o[a[e[0]]]; if (r > 0 && i > 0) { var s = Math.round(i - r); s >= 0 && s < 36e5 && (n[t] = s) } }), n.res = JSON.stringify(i), n } }, {"../util": 16, "./constants": 8}], 12: [function (e, t, n) { var r = e("../util"); t.exports = function (e, t) { "object" == typeof e && (e = r.serialize(e)); var n = t + e; window && window.navigator && "function" == typeof window.navigator.sendBeacon ? window.navigator.sendBeacon(n, "&post_res=") : r.warn("[arms] navigator.sendBeacon not surported") } }, {"../util": 16}], 13: [function (e, t, n) { var r = e("../util"), a = "object" == typeof window ? window : {}, o = a.__oFetch_ || a.fetch; o = "function" == typeof o ? o : undefined, t.exports = function (e, t) { var n = -1; "object" == typeof e && (n = e.z, e = r.serialize(e)); var i = t + e; if (o) return o(i, {method: "HEAD", mode: "no-cors"})["catch"](r.noop); if (a.document && a.document.createElement) { var s = "__request_hold_" + n, c = a[s] = new Image; c.onload = c.onerror = function () { a[s] = undefined }, c.src = i, c = null } } }, {"../util": 16}], 14: [function (e, t, n) { "use strict"; function r(e, t) { var n = a[i] = new o(e); n.$ao(t); var r = n._conf; return !1 !== r.autoSendPv && n.$av(), r && r.useFmp || n.$ay(), r && r.sendResource && n.$b8(), a[s] = !0, n } var a = window, o = a.BrowserLogger = e("./biz.browser/clazz"), i = e("./util").key, s = "__hasInitBlSdk"; o.singleton = function (e, t) { return a[s] ? a[i] : r(e, t) }, o.createExtraInstance = function (e) { e && "object" == typeof e && !0 !== e.enableInstanceAutoSend && (e.enableInstanceAutoSend = !1); var t = new o(e), n = t._conf; return n.enableInstanceAutoSend && (!1 !== n.autoSendPv && t.$av(), n && n.useFmp || t.$ay(), n && n.sendResource && t.$b8()), t }; "object" == typeof window && !!window.navigator && a[i] && (o.bl = function () { if (a[s]) return a[i]; var e = {}, t = []; return i in a && (e = a[i].config || {}, t = a[i].pipe || []), r(e, t) }(a.__hasInitBlSdk)), t.exports = o }, {"./biz.browser/clazz": 3, "./util": 16}], 15: [function (e, t, n) { var r = e("./util"), a = e("./base"), o = ["api", "success", "time", "code", "msg", "trace", "traceId", "begin", "sid", "seq", "domain"], i = function (e, t) { var n = e.split("::"); return n.length > 1 ? r.ext({group: n[0], key: n[1]}, t) : r.ext({group: "default_group", key: n[0]}, t) }, s = function (e) { a.call(this, e); var t; try { t = "object" == typeof performance ? performance.timing.fetchStart : Date.now() } catch (n) { t = Date.now() } return this._startTime = t, this }; s.prototype = r.$ap(a.prototype), r.ext(a.dftCon, {startTime: null}), r.ext(s.prototype, { constructor: s, _super: a, sum: function (e, t, n) { try { return this._lg("sum", i(e, {val: t || 1, begin: Date.now()}), n) } catch (a) { r.warn("[retcode] can not get parseStatData: " + a) } }, avg: function (e, t, n) { try { return this._lg("avg", i(e, {val: t || 0, begin: Date.now()}), n) } catch (a) { r.warn("[retcode] can not get parseStatData: " + a) } }, percent: function (e, t, n, a) { try { return this._lg("percent", i(e, {subkey: t, val: n || 0, begin: Date.now()}), a) } catch (o) { r.warn("[retcode] can not get parseStatData: " + o) } }, msg: function (e, t) { if (e && !(e.length > 180)) return this.custom({msg: e}, t) }, error: function (e, t) { if (!e) return r.warn("[retcode] invalid param e: " + e), this; 1 === arguments.length ? ("string" == typeof e && (e = {message: e}, t = {}), "object" == typeof e && (t = e = e.error || e)) : ("string" == typeof e && (e = {message: e}), "object" != typeof t && (t = {})); var n = e.name || "CustomError", a = e.message || "", o = e.stack || ""; t = t || {}; var i = { begin: Date.now(), cate: n, msg: a && a.substring(0, 1e3), stack: o && o.substring(0, 1e3), file: r.$bg(t.filename || ""), line: t.lineno || "", col: t.colno || "", err: {msg_raw: r.encode(a), stack_raw: r.encode(o)} }, s = (this.getConfig("ignore") || {}).ignoreErrors; return r.$ah(i.msg, s) || r.$ah(r.decode(i.msg), s) ? this : (this.$ak && this.$ak("error", i), this._lg("error", i, 1)) }, behavior: function (e) { if (e) { var t = "object" == typeof e && e.behavior ? e : {behavior: e}; return this.$ak && this.$ak("behavior", t), this._lg("behavior", t, 1) } }, api: function (e, t, n, a, i, s, c, u, f, l) { if (!e) return r.warn("[retcode] api is null"), this; if (e = "string" == typeof e ? { api: e, success: t, time: n, code: a, msg: i, begin: s, traceId: c, sid: u, domain: l } : r.sub(e, o), !r.$be(e.api)) return this; if (e.code = e.code || "", e.msg = e.msg || "", e.success = e.success ? 1 : 0, e.time = +e.time, e.begin = e.begin, e.traceId = e.traceId || "", e.sid = e.sid || "", e.domain = e.domain || "", e.success ? e.apiSnapshot && delete e.apiSnapshot : e.apiSnapshot = f, !e.api || isNaN(e.time)) return r.warn("[retcode] invalid time or api"), this; var p = (this.getConfig("ignore") || {}).ignoreApis; if (r.$ah(e.api, p) || r.$ah(r.decode(e.api), p)) return this; this.$ak && this.$ak("api", e); var h = {type: "api", data: {message: e.msg, url: e.api, status: e.code}, timestamp: e.begin}; try { this.getConfig("behavior") && this.addBehavior && this.addBehavior(h) } catch (g) { } return this._lg("api", e, e.success && this.getConfig("sample")) }, speed: function (e, t, n) { var a = this, o = this.getConfig("startTime") || this._startTime; return /^s(\d|1[0])$/.test(e) ? (t = "number" != typeof t ? Date.now() - o : t >= o ? t - o : t, a.$b9 = a.$b9 || {}, a.$b9[e] = t, a.$b9.begin = o, clearTimeout(a.$ba), a.$ba = setTimeout(function () { n || (a.$b9.page = a.$a7(!0)), a._lg("speed", a.$b9), a.$b9 = null }, 5e3), a) : (r.warn("[retcode] invalid point: " + e), a) }, performance: function (e) { if (e) { var t = {}; for (var n in e) (/^t([1-9]|1[0])$/.test(n) || "ctti" === n || "cfpt" === n) && (t[n] = e[n]); "{}" !== JSON.stringify(t) && (this.$b7 = t) } }, resource: function (e, t) { if (!e || !r.isPlainObject(e)) return r.warn("[arms] invalid param data: " + e), this; var n = Object.keys(e), a = ["begin", "dom", "load", "res", "dl"], o = !1; for (var i in a) { if (n.indexOf(a[i]) < 0) { o = !0; break } } if (o) return r.warn("[arms] lack param data: " + e), this; var s = { begin: e.begin || Date.now(), dom: e.dom || "", load: e.load || "", res: r.isArray(e.res) ? JSON.stringify(e.res) : JSON.stringify([]), dl: e.dl || "" }; return this._lg("res", s, t) } }), s._super = a, s._root = a, a.Reporter = s, t.exports = s }, {"./base": 1, "./util": 16}], 16: [function (e, t, n) { Date.now = Date.now || function () { return (new Date).getTime() }; var r = Date.now(), a = function () { }, o = { noop: a, warn: function () { var e = "object" == typeof console ? console.warn : a; try { var t = {warn: e}; t.warn.call(t) } catch (n) { return a } return e }(), key: "__bl", win: "object" == typeof window && window.document ? window : undefined, regionMap: { cn: "https://arms-retcode.aliyuncs.com/r.png?", sg: "https://arms-retcode-sg.aliyuncs.com/r.png?", sg_2: "https://retcode-sg-lazada.arms.aliyuncs.com/r.png?", daily: "http://arms-retcode-daily.alibaba.net/r.png?", daily_2: "https://arms-retcode-daily.alibaba.net/r.png?", us: "https://retcode-us-west-1.arms.aliyuncs.com/r.png?" }, defaultImgUrl: "https://arms-retcode.aliyuncs.com/r.png?", $ap: function (e) { if (Object.create) return Object.create(e); var t = function () { }; return t.prototype = e, new t }, each: function (e, t) { var n = 0, r = e.length; if (this.T(e, "Array")) for (; n < r && !1 !== t.call(e[n], e[n], n); n++) ; else for (n in e) if (!1 === t.call(e[n], e[n], n)) break; return e }, $a8: function (e, t, n) { if ("function" != typeof e) return n; try { return e.apply(this, t) } catch (r) { return n } }, T: function (e, t) { var n = Object.prototype.toString.call(e).substring(8).replace("]", ""); return t ? n === t : n }, $aq: function (e, t) { if (!e) return ""; if (!t) return e; var n = this, r = n.T(t); return "Function" === r ? n.$a8(t, [e], e) : "Array" === r ? (this.each(t, function (t) { e = n.$aq(e, t) }), e) : "Object" === r ? e.replace(t.rule, t.target || "") : e.replace(t, "") }, $ah: function (e, t) { if (!e || !t) return !1; if ((this.isString(t) || t.source || "Function" === this.T(t)) && (t = [t]), !this.isArray(t)) return o.warn("[arms] invalid rules of ignore config, (list of) String/RegExp/Funcitons are available"), !1; for (var n, r = [], a = 0, i = t.length; a < i; a++) if (n = t[a], this.isString(n)) r.push(n.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, "\\$1")); else if (n && n.source) r.push(n.source); else if (n && "Function" === this.T(n) && !0 === this.$a8(n, [e], !1)) return !0; var s = new RegExp(r.join("|"), "i"); return !!(r.length && s.test && s.test(e)) }, J: function (e) { if (!e || "string" != typeof e) return e; var t = null; try { t = JSON.parse(e) } catch (n) { } return t }, pick: function (e) { return 1 === e || 1 === Math.ceil(Math.random() * e) }, $a9: function (e) { if ("sample" in e) { var t = e.sample, n = t; t && /^\d+(\.\d+)?%$/.test(t) && (n = parseInt(100 / parseFloat(t))), 0 < n && 1 > n && (n = parseInt(1 / n)), n >= 1 && n <= 100 ? e.sample = n : delete e.sample } return e }, on: function (e, t, n, r, a) { return e.addEventListener ? (a = a || !1, e.addEventListener(t, function o(i) { r && e.removeEventListener(t, o, a), n.call(this, i) }, a)) : e.attachEvent && e.attachEvent("on" + t, function i(a) { r && e.detachEvent("on" + t, i), n.call(this, a) }), this }, off: function (e, t, n) { return n ? (e.removeEventListener ? e.removeEventListener(t, n) : e.detachEvent && e.detachEvent(t, n), this) : this }, delay: function (e, t) { return -1 === t ? (e(), null) : setTimeout(e, t || 0) }, ext: function (e) { for (var t = 1, n = arguments.length; t < n; t++) { var r = arguments[t]; for (var a in r) Object.prototype.hasOwnProperty.call(r, a) && (e[a] = r[a]) } return e }, sub: function (e, t) { var n = {}; return this.each(e, function (e, r) { -1 !== t.indexOf(r) && (n[r] = e) }), n }, uu: function () { for (var e, t, n = 20, r = new Array(n), a = Date.now().toString(36).split(""); n-- > 0;) t = (e = 36 * Math.random() | 0).toString(36), r[n] = e % 3 ? t : t.toUpperCase(); for (var o = 0; o < 8; o++) r.splice(3 * o + 2, 0, a[o]); return r.join("") }, seq: function () { return (r++).toString(36) }, decode: function (e) { try { e = decodeURIComponent(e) } catch (t) { } return e }, encode: function (e, t) { try { e = t ? encodeURIComponent(e).replace(/\(/g, "%28").replace(/\)/g, "%29") : encodeURIComponent(e) } catch (n) { } return e }, serialize: function (e) { e = e || {}; var t = []; for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && e[n] !== undefined && t.push(n + "=" + this.encode(e[n], "msg" === n)); return t.join("&") }, $be: function (e, t) { if (!e || "string" != typeof e) return !1; var n = /arms-retcode[\w-]*\.aliyuncs/.test(e); return !n && t && (n = /(\.png)|(\.gif)|(alicdn\.com)/.test(e)), !n }, $b4: function (e) { return !(!e || !e.message) && !/failed[\w\s]+fetch/i.test(e.message) }, $ar: function (e) { return e && "string" == typeof e ? e.replace(/^(https?:)?\/\//, "").replace(/\?.*$/, "") : "" }, $bg: function (e) { return e && "string" == typeof e ? e.replace(/\?.*$/, "") : "" }, $b0: function (e) { return function () { return e + "() { [native code] }" } }, checkSameOrigin: function (e, t) { if (!t || !e) return !1; var n = "//" + t.split("/")[2]; return e === t || e.slice(0, t.length + 1) === t + "/" || e === n || e.slice(0, n.length + 1) === n + "/" || !/^(\/\/|http:|https:).*/.test(e) }, getRandIP: function () { for (var e = [], t = 0; t < 4; t++) { var n = Math.floor(256 * Math.random()); e[t] = (n > 15 ? "" : "0") + n.toString(16) } return e.join("") }, getSortNum: function (e) { return e ? (e += 1) >= 1e3 && e <= 9999 ? e : e < 1e3 ? e + 1e3 : e % 1e4 + 1e3 : 1e3 }, getRandNum: function (e) { return e && "string" == typeof e ? e.length < 5 ? this.getNum(5) : e.substring(e.length - 5) : this.getNum(5) }, getNum: function (e) { for (var t = [], n = 0; n < e; n++) { var r = Math.floor(16 * Math.random()); t[n] = r.toString(16) } return t.join("") }, getCurDomain: function () { return location && location.hostname || "" }, parseFetchHeaders: function (e) { if (!e) return {}; var t = {}; try { if ("function" == typeof e.keys) for (var n = e.keys(), r = n.next(); !r.done;) { var a = r.value; t[a] = e.get(a), r = n.next() } else t = e } catch (o) { t = {} } return t }, parseXhrHeaders: function (e) { if (!e && "string" != typeof e) return {}; var t = {}; try { var n = e.split("\r\n"); t = n.reduce(function (e, t) { var n = t.split(": "); return e[n[0]] = n[1], e }, {}) } catch (r) { t = {} } return t }, getQuerys: function (e) { if (!e) return ""; var t = {}, n = [], r = "", a = ""; try { var o = []; if (e.indexOf("?") >= 0 && (o = e.substring(e.indexOf("?") + 1, e.length).split("&")), o.length > 0) for (var i in o) r = (n = o[i].split("="))[0], a = n[1], t[r] = a } catch (s) { t = {} } return t }, getFetchSnapshot: function (e, t, n) { var r, a; try { var o = (e && "string" != typeof e[0] ? e[0].url : e[0]) || "", i = (e && "string" != typeof e[0] ? e[0] : e[1]) || {}, s = "POST" === i.method.toUpperCase() ? i.body : this.getQuerys(o); r = { originApi: o, method: i.method || "unknown", params: s, response: t || "", reqHeaders: this.parseFetchHeaders(i.headers || null), resHeaders: this.parseFetchHeaders(n) }, a = "function" == typeof encodeURIComponent && JSON && encodeURIComponent(JSON.stringify(r)) || "{}" } catch (c) { a = "{}" } return a }, getXhrSnapshot: function (e, t, n) { if (!e || !t || !n) return {}; var r, a; try { r = { originApi: e, method: t, params: this.getQuerys(e), response: n.responseText || n.responseXml || "", reqHeaders: {}, resHeaders: this.parseXhrHeaders("function" == typeof n.getAllResponseHeaders && n.getAllResponseHeaders() || "") }, a = "function" == typeof encodeURIComponent && JSON && encodeURIComponent(JSON.stringify(r)) || "{}" } catch (o) { a = "{}" } return a }, isFunction: function (e) { return "function" == typeof e }, isPlainObject: function (e) { return "[object Object]" === Object.prototype.toString.call(e) }, isString: function (e) { return "[object String]" === Object.prototype.toString.call(e) }, isArray: function (e) { return "[object Array]" === Object.prototype.toString.call(e) }, joinRegExp: function (e) { for (var t, n = [], r = 0, a = e.length; r < a; r++) t = e[r], this.isString(t) ? n.push(t.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, "\\$1")) : t && t.source && n.push(t.source); return new RegExp(n.join("|"), "i") }, reWriteMethod: function (e, t, n) { if (null !== e) { var r = e[t]; e[t] = n(r) } } }; t.exports = o }, {}] }, {}, [14]);