module.exports = function (e) {
    var t = {};

    function n(i) {
        if (t[i]) return t[i].exports;
        var r = t[i] = {i, l: !1, exports: {}};
        return e[i].call(r.exports, r, r.exports, n), r.l = !0, r.exports
    }

    return n.m = e, n.c = t, n.d = function (e, t, i) {
        n.o(e, t) || Object.defineProperty(e, t, {enumerable: !0, get: i})
    }, n.r = function (e) {
        "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {value: "Module"}), Object.defineProperty(e, "__esModule", {value: !0})
    }, n.t = function (e, t) {
        if (1 & t && (e = n(e)), 8 & t) return e;
        if (4 & t && "object" == typeof e && e && e.__esModule) return e;
        var i = Object.create(null);
        if (n.r(i), Object.defineProperty(i, "default", {
            enumerable: !0,
            value: e
        }), 2 & t && "string" != typeof e) for (var r in e) n.d(i, r, function (t) {
            return e[t]
        }.bind(null, r));
        return i
    }, 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 = 773)
}([function (e, t, n) {
    "use strict";

    function i(e, t, n, i, r, o, s, a) {
        var l, c = "function" == typeof e ? e.options : e;
        if (t && (c.render = t, c.staticRenderFns = n, c._compiled = !0), i && (c.functional = !0), o && (c._scopeId = "data-v-" + o), s ? (l = function (e) {
            (e = e || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) || "undefined" == typeof __VUE_SSR_CONTEXT__ || (e = __VUE_SSR_CONTEXT__), r && r.call(this, e), e && e._registeredComponents && e._registeredComponents.add(s)
        }, c._ssrRegister = l) : r && (l = a ? function () {
            r.call(this, this.$root.$options.shadowRoot)
        } : r), l) if (c.functional) {
            c._injectStyles = l;
            var u = c.render;
            c.render = function (e, t) {
                return l.call(t), u(e, t)
            }
        } else {
            var d = c.beforeCreate;
            c.beforeCreate = d ? [].concat(d, l) : [l]
        }
        return {exports: e, options: c}
    }

    n.d(t, "a", function () {
        return i
    })
}, function (e, t, n) {
    e.exports = n(9)(137)
}, function (e, t) {
    e.exports = require("path")
}, function (e, t) {
    e.exports = require("electron")
}, function (e, t, n) {
    "use strict";
    var i = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(12), o = n(50), s = n(29), a = n(30);

    function l(e) {
        a.information("on object freeer"), global.__xdasIPCClienInstance.notifyFreer(e.remoteId, e.callbackId)
    }

    let c = void 0;
    global.__xdasIPCClienInstance || (global.__xdasIPCClienInstance = new class extends r.EventEmitter {
        constructor() {
            super(), this.rid = 0, this.apis = {}, this.singletonMap = {}, this.connectedMap = {}, this.retCallbackMap = {}, this.eventCallbackMaps = {}, this.contextCallbackMap = {}
        }

        start(e, t, n, i) {
            do {
                if (t || (t = s.getDefaultPrex()), this.singletonMap.hasOwnProperty(t.toLowerCase())) {
                    if (i) if (this.connectedMap.hasOwnProperty(t.toLowerCase())) i("connect"); else {
                        let e = this.singletonMap[t.toLowerCase()];
                        e.on("error", e => {
                            i("error", e)
                        }), e.on("connect", () => {
                            i("connect")
                        }), e.on("end", () => {
                            let t = e.isInprocess();
                            i("end", e.getContext(), n, t)
                        })
                    }
                    break
                }
                if (global.__xdasPluginConfig && global.__xdasPluginConfig.name ? e = {
                    name: global.__xdasPluginConfig.name,
                    version: global.__xdasPluginConfig.version
                } : void 0 !== e && null !== e || (e = this.parseContext()), !e) {
                    if (!this.client || !this.client.getContext()) throw new Error("no suitable context for client, please specify context with start function");
                    e = {name: this.client.getContext().name, version: this.client.getContext().version}
                }
                if (e.name === s.serverContextName) throw new Error("client context must difference from server");
                if (n && !this.client) throw new Error("connect to other product must start self firstly");
                global.__xdasPluginConfig || (global.__xdasPluginConfig = e);
                let r = new o.Client({context: e, socketPrex: t});
                this.singletonMap[t.toLowerCase()] = r, n || (this.client = r), r.on("message", e => {
                    if ("fire_event" === e.action) this.fireServerEvent(r, e.name, [e.__context].concat(e.args)); else if ("client_context_freer" === e.action) do {
                        let t = e.rid;
                        if (t) {
                            if (!this.contextCallbackMap[t]) break;
                            delete this.contextCallbackMap[t]
                        }
                    } while (0); else if ("call_client_by_id" === e.action) this.callFunctionById(r, e.rid, e.s_rid, e.args); else if ("call_client_api" === e.action) this.callRegisterFunction(r, e); else if ("check_client_function" === e.action) {
                        let t = e.method, n = !0;
                        t && this.apis && this.apis[t] || (n = !1), this.sendAdapter(r, {
                            s_rid: e.s_rid,
                            action: "check_client_function_callback",
                            success: !0,
                            data: n
                        })
                    } else if (void 0 !== e.success && null !== e.success) {
                        let t = e;
                        this.client === r && this.emit("stat_call_function_back", r.getContext(), e);
                        const n = this.retCallbackMap[t.rid].callback;
                        if (n) if (t.success) do {
                            if ("remote_client_callback" === e.action && e.__context && e.__context.name && e.__context.productId) {
                                let i = `${e.__context.productId}-${e.__context.name}`.toLowerCase();
                                n(null, this.decodeParameter(t.data, i));
                                break
                            }
                            n(null, t.data)
                        } while (0); else n(t.error, t.data);
                        delete this.retCallbackMap[t.rid]
                    }
                }), r.on("error", e => {
                    i && i("error", e), this.emit("socket-error", e, r.getContext(), n, r.isInprocess()), delete this.singletonMap[t.toLowerCase()], delete this.connectedMap[t.toLowerCase()], n || (this.client = null)
                }), r.isInprocess() ? (this.connectedMap[t.toLowerCase()] = r, i && i("connect"), this.emit("connect", r.getContext(), n, !0)) : r.on("connect", () => {
                    this.connectedMap[t.toLowerCase()] = r, i && i("connect"), this.emit("connect", r.getContext(), n, !1)
                }), r.on("end", () => {
                    let e = r.isInprocess();
                    a.information("server is ended, and this client emit end", t, n, e), i && i("end", r.getContext(), n, e), this.emit("end", r.getContext(), n, e), delete this.singletonMap[t.toLowerCase()], delete this.connectedMap[t.toLowerCase()], n || (this.client = null)
                }), this.registry(r)
            } while (0)
        }

        registerFunctions(e) {
            do {
                if (!e) break;
                let t = void 0;
                for (let n in e) if (this.apis.hasOwnProperty(n)) {
                    t = n;
                    break
                }
                if (t) throw new Error(`try to coverd function ${t}`);
                this.apis = Object.assign({}, this.apis, e)
            } while (0)
        }

        checkServerFunction(e) {
            return i(this, void 0, void 0, function* () {
                return this.internalCheckServerFunction(this.client, e)
            })
        }

        callServerFunction(e, ...t) {
            return i(this, void 0, void 0, function* () {
                let n = null, i = yield this.callServerFunctionEx(e, ...t);
                return i && (n = i[0]), n
            })
        }

        callServerFunctionEx(e, ...t) {
            return this.internalCallServerFunctionEx(this.client, e, ...t)
        }

        isRemoteClientExist(e) {
            return this.internalIsRemoteClientExist(this.client, e)
        }

        checkRemoteFunction(e, t) {
            return this.internalCheckRemoteFunction(this.client, e, t)
        }

        callRemoteClientFunction(e, t, ...n) {
            return this.internalCallRemoteClientFunction(this.client, e, t, ...n)
        }

        notifyFreer(e, t) {
            this.sendAdapter(this.client, {action: "client_context_freer", dst: e, rid: t})
        }

        callRemoteContextById(e, t, ...n) {
            this.sendAdapter(this.client, {dst: e, action: "call_remote_context_by_id", rid: t, args: n})
        }

        attachServerEvent(e, t) {
            return this.internalAttachServerEvent(this.client, e, t)
        }

        detachServerEvent(e, t) {
            this.internalDetachServerEvent(this.client, e, t)
        }

        broadcastEvent(e, ...t) {
            this.sendAdapter(this.client, {action: "broadcast", name: e, args: t})
        }

        crossCheckServerFunction(e, t) {
            return i(this, void 0, void 0, function* () {
                {
                    if (!e) throw new Error("An argument for 'productId' was not provided");
                    let n = this.singletonMap[e.toLowerCase()];
                    if (!n) throw new Error("Please call the 'start' interface first");
                    return this.internalCheckServerFunction(n, t)
                }
            })
        }

        crossCallServerFunction(e, t, ...n) {
            return i(this, void 0, void 0, function* () {
                let i = null, r = yield this.crossCallServerFunctionEx(e, t, ...n);
                return r && (i = r[0]), i
            })
        }

        crossCallServerFunctionEx(e, t, ...n) {
            {
                if (!e) throw new Error("An argument for 'productId' was not provided");
                let i = this.singletonMap[e.toLowerCase()];
                if (!i) throw new Error("Please call the 'start' interface first");
                if (!t) throw new Error("An argument for 'funcName' was not provided");
                return this.internalCallServerFunctionEx(i, t, ...n)
            }
        }

        crossIsRemoteClientExist(e, t) {
            return i(this, void 0, void 0, function* () {
                {
                    if (!e) throw new Error("An argument for 'productId' was not provided");
                    let n = this.singletonMap[e.toLowerCase()];
                    if (!n) throw new Error("Please call the 'start' interface first");
                    return this.internalIsRemoteClientExist(n, t)
                }
            })
        }

        crossCheckRemoteFunction(e, t, n) {
            return i(this, void 0, void 0, function* () {
                {
                    if (!e) throw new Error("An argument for 'productId' was not provided");
                    let i = this.singletonMap[e.toLowerCase()];
                    if (!i) throw new Error("Please call the 'start' interface first");
                    if (!t) throw new Error("An argument for 'remoteId' was not provided");
                    if (!n) throw new Error("An argument for 'funcName' was not provided");
                    return this.internalCheckRemoteFunction(i, t, n)
                }
            })
        }

        crossCallRemoteClientFunction(e, t, n, ...i) {
            {
                if (!e) throw new Error("An argument for 'productId' was not provided");
                let r = this.singletonMap[e.toLowerCase()];
                if (!r) throw new Error("Please call the 'start' interface first");
                if (!t) throw new Error("An argument for 'remoteId' was not provided");
                if (!n) throw new Error("An argument for 'funcName' was not provided");
                return this.internalCallRemoteClientFunction(r, t, n, ...i)
            }
        }

        crossAttachServerEvent(e, t, n) {
            let i = void 0;
            {
                if (!e) throw new Error("An argument for 'productId' was not provided");
                let r = this.singletonMap[e.toLowerCase()];
                if (!r) throw new Error("Please call the 'start' interface first");
                if (!t) throw new Error("An argument for 'eventName' was not provided");
                i = this.internalAttachServerEvent(r, t, n)
            }
            return i
        }

        crossDetachServerEvent(e, t, n) {
            {
                if (!e) throw new Error("An argument for 'productId' was not provided");
                let i = this.singletonMap[e.toLowerCase()];
                if (!i) throw new Error("Please call the 'start' interface first");
                if (!t) throw new Error("An argument for 'eventName' was not provided");
                this.internalDetachServerEvent(i, t, n)
            }
        }

        crossBroadcastEvent(e, t, ...n) {
            {
                if (!e) throw new Error("An argument for 'productId' was not provided");
                let i = this.singletonMap[e.toLowerCase()];
                if (!i) throw new Error("Please call the 'start' interface first");
                if (!t) throw new Error("An argument for 'eventName' was not provided");
                this.sendAdapter(i, {
                    action: "broadcast",
                    name: t,
                    args: n,
                    __context: Object.assign({}, this.client.getContext())
                })
            }
        }

        registry(e) {
            let t = this.getFullContextName(this.client);
            return new Promise((n, i) => {
                do {
                    if (!t) {
                        n(!1);
                        break
                    }
                    let i = this.generateId();
                    const r = {alias: t, action: "register", rid: i};
                    let o = (e, i) => {
                        e ? (a.error("register error", e.message), n(i)) : n(t)
                    };
                    this.retCallbackMap[i] = Object.assign({callback: o}, r), this.sendAdapter(e, r)
                } while (0)
            })
        }

        getNow() {
            return Date.now()
        }

        sendAdapter(e, t) {
            do {
                if (!t) break;
                let n = this.getNow();
                if (t.timestamp ? t.timestamp = [...t.timestamp].concat(n) : t.timestamp = [].concat(n), !t.__context) {
                    let n = e.getContext();
                    n && (t = Object.assign({__context: n}, t))
                }
                e.isInprocess() ? (a.information("send to server in process"), global.__xdasIPCServer.emit("message", t, e)) : e.send(t)
            } while (0)
        }

        parseContext() {
            let e = void 0;
            do {
                let t = "";
                for (let e = 0; e < process.argv.length; e++) {
                    let n = process.argv[e];
                    if (0 === n.indexOf("--xdas-plugin-name=", 0)) {
                        t = n.substr("--xdas-plugin-name=".length);
                        break
                    }
                }
                if (!t) break;
                e = {name: t}
            } while (0);
            return e
        }

        generateId() {
            return this.rid++
        }

        getFullContextName(e, t) {
            let n = "";
            do {
                if (t === s.serverContextName) {
                    n = t;
                    break
                }
                if (void 0 === t) {
                    n = `${e.getContext().productId}-${e.getContext().name}`.toLowerCase();
                    break
                }
                n = `${e.getContext().productId}-${t}`.toLowerCase()
            } while (0);
            return n
        }

        internalCheckServerFunction(e, t) {
            return new Promise((n, i) => {
                do {
                    if (!e) {
                        n(!1);
                        break
                    }
                    if (!t) {
                        n(!1);
                        break
                    }
                    let i = this.generateId();
                    const r = {action: "check_server_function_exist", method: t, rid: i};
                    let o = (e, t) => {
                        n(!e && t)
                    };
                    this.retCallbackMap[i] = Object.assign({callback: o}, r), this.sendAdapter(e, r)
                } while (0)
            })
        }

        internalCallServerFunctionEx(e, t, ...n) {
            return new Promise((i, r) => {
                do {
                    if (!e) {
                        i([null, "client doesn't ready"]);
                        break
                    }
                    if (!t) {
                        i([null, "funcName is not specifed"]);
                        break
                    }
                    e === this.client && this.emit("stat_call_function", this.client.getContext(), t);
                    let r = this.generateId();
                    if (n) for (let e = 0; e < n.length; e++) n[e] = this.convertFunction2IdEx(n[e]);
                    const o = {rid: r, method: t, args: n};
                    let s = (t, n) => {
                        t ? (a.error("callServerFunction error", t, e.getContext()), i([null, t])) : i([n, void 0])
                    };
                    this.retCallbackMap[r] = Object.assign({callback: s}, o), this.sendAdapter(e, o)
                } while (0)
            })
        }

        internalIsRemoteClientExist(e, t) {
            return new Promise((n, i) => {
                do {
                    if (!t) {
                        n([!1, "remote client alias is not specifed"]);
                        break
                    }
                    if (e === this.client && t.toLowerCase() === e.getContext().name.toLowerCase()) {
                        n([!0, "self is exist"]);
                        break
                    }
                    let i = this.generateId();
                    const r = {dst: this.getFullContextName(e, t), action: "check_client_exist", rid: i};
                    let o = (e, t) => {
                        n(e ? [!1, e] : [t, "success"])
                    };
                    this.retCallbackMap[i] = Object.assign({callback: o}, r), this.sendAdapter(e, r)
                } while (0)
            })
        }

        internalCheckRemoteFunction(e, t, n) {
            return new Promise((i, r) => {
                do {
                    if (!e) {
                        i(!1);
                        break
                    }
                    if (!t) {
                        i(!1);
                        break
                    }
                    if (!n) {
                        i(!1);
                        break
                    }
                    if (e === this.client && t.toLowerCase() === e.getContext().name.toLowerCase()) {
                        i(!(!this.apis || !this.apis[n]));
                        break
                    }
                    let r = this.generateId();
                    const o = {
                        action: "check_client_function_exist",
                        method: n,
                        rid: r,
                        src: this.getFullContextName(this.client),
                        dst: this.getFullContextName(e, t)
                    };
                    let s = (e, t) => {
                        i(!e && t)
                    };
                    this.retCallbackMap[r] = Object.assign({callback: s}, o), this.sendAdapter(e, o)
                } while (0)
            })
        }

        internalCallRemoteClientFunction(e, t, n, ...i) {
            return new Promise((r, o) => {
                do {
                    if (!e) {
                        r([null, "client doesn't ready"]);
                        break
                    }
                    if (!t) {
                        r([null, "remote client alias is not specifed"]);
                        break
                    }
                    if (!n) {
                        r([null, "funcName is not specifed"]);
                        break
                    }
                    let o = (e, t) => {
                        e ? (a.information("callRemoteClientFunction", e.message), r([null, e])) : r([t, void 0])
                    };
                    if (i) for (let e = 0; e < i.length; e++) i[e] = this.convertFunction2IdEx(i[e]);
                    let s = this.generateId();
                    const l = {
                        src: this.getFullContextName(this.client),
                        dst: this.getFullContextName(e, t),
                        action: "call_remote_client_api",
                        method: n,
                        args: i,
                        rid: s
                    };
                    this.retCallbackMap[s] = Object.assign({callback: o}, l), this.sendAdapter(e, l)
                } while (0)
            })
        }

        internalAttachServerEvent(e, t, n) {
            let i = e.getContext().productId.toLowerCase();
            this.eventCallbackMaps.hasOwnProperty(i) || (this.eventCallbackMaps[i] = {}), this.eventCallbackMaps[i].hasOwnProperty(t) || (this.eventCallbackMaps[i][t] = {}), s.isObjectEmpty(this.eventCallbackMaps[i][t]) && this.sendAdapter(e, {
                action: "attach_event",
                name: t
            });
            let r = this.generateId();
            return this.eventCallbackMaps[i][t][r] = n, r
        }

        internalDetachServerEvent(e, t, n) {
            let i = e.getContext().productId.toLowerCase();
            do {
                if (!this.eventCallbackMaps.hasOwnProperty(i)) break;
                if (!this.eventCallbackMaps[i].hasOwnProperty(t)) break;
                delete this.eventCallbackMaps[i][t][n], s.isObjectEmpty(this.eventCallbackMaps[i][t]) && this.sendAdapter(e, {
                    action: "detach_event",
                    name: t
                })
            } while (0)
        }

        fireServerEvent(e, t, ...n) {
            let i = e.getContext().productId.toLowerCase();
            do {
                if (!this.eventCallbackMaps.hasOwnProperty(i)) break;
                if (!this.eventCallbackMaps[i].hasOwnProperty(t)) break;
                let e = this.eventCallbackMaps[i][t];
                for (let t in e) {
                    let i = e[t];
                    i && i.apply(null, ...n)
                }
            } while (0)
        }

        callFunctionById(e, t, n, ...i) {
            let r = void 0, o = !1;
            do {
                const s = this.contextCallbackMap[t];
                if (!s) {
                    a.error("the context function has been freeer", t), r = {
                        s_rid: n,
                        action: "call_client_by_id_callback",
                        success: !1,
                        error: "the context function has been freeer"
                    };
                    break
                }
                let l = void 0, c = void 0;
                try {
                    l = s.apply(null, ...i)
                } catch (e) {
                    c = e.message;
                    break
                }
                if (void 0 === n || null === n) break;
                if (r = {s_rid: n, action: "call_client_by_id_callback", success: !1}, void 0 !== c) {
                    r.error = c;
                    break
                }
                if (l && l.then) {
                    l.then(t => {
                        r.data = this.convertFunction2IdEx(t), r.success = !0, this.sendAdapter(e, r)
                    }).catch(t => {
                        r.error = t instanceof Error ? t.message : t, this.sendAdapter(e, r)
                    }), o = !0;
                    break
                }
                r.success = !0, r.data = this.convertFunction2IdEx(l)
            } while (0);
            !o && r && this.sendAdapter(e, r)
        }

        convertFunction2IdEx(e) {
            let t = e;
            if ("function" == typeof e) {
                let n = this.generateId();
                this.contextCallbackMap[n] = e, t = {"__nodeipc_callback_id__{A9C9D760-14E8-42CB-A3CB-9C0A0DDFD732}": n}
            } else if (e && "object" == typeof e) {
                t = Array.isArray(e) ? [...e] : Object.assign({}, e);
                for (let e in t) {
                    let n = t[e];
                    if ("function" == typeof n) {
                        let i = this.generateId();
                        this.contextCallbackMap[i] = n, t[e] = {"__nodeipc_callback_id__{A9C9D760-14E8-42CB-A3CB-9C0A0DDFD732}": i}
                    } else n && "object" == typeof n && (t[e] = this.convertFunction2IdEx(n))
                }
            }
            return t
        }

        decodeParameter(e, t) {
            let n = e;
            do {
                if (!e) break;
                if (!t) break;
                if ("object" != typeof e) break;
                let i = e["__nodeipc_callback_id__{A9C9D760-14E8-42CB-A3CB-9C0A0DDFD732}"];
                if (i) {
                    n = ((...e) => {
                        this.callRemoteContextById(t, i, ...e)
                    }), global.__xdasObjectLiftMonitor && global.__xdasObjectLiftMonitor.setObjectFreer(n, {
                        remoteId: t,
                        callbackId: i
                    }, l);
                    break
                }
                for (let n in e) {
                    let i = e[n];
                    e[n] = this.decodeParameter(i, t)
                }
            } while (0);
            return n
        }

        callRegisterFunction(e, t) {
            let n = void 0, i = !1;
            do {
                if (!t) break;
                let r = t.method;
                if (!r) break;
                let o = this.getNow();
                if (n = {
                    s_rid: t.s_rid,
                    action: "remote_client_callback",
                    success: !1,
                    rid: t.rid,
                    method: t.method,
                    src: t.src,
                    timestamp: t.timestamp ? t.timestamp.concat(o) : [].concat(o)
                }, !this.apis || !this.apis[r]) {
                    n.error = `callRegisterFunction ${r} is undefined`;
                    break
                }
                let s = void 0, a = this.decodeParameter(t.args, t.src);
                try {
                    s = this.apis[r].apply(null, [t.src].concat(a))
                } catch (e) {
                    n.error = e.message;
                    break
                }
                if (s && s.then) {
                    s.then(t => {
                        n.data = this.convertFunction2IdEx(t), n.success = !0, this.sendAdapter(e, n)
                    }).catch(t => {
                        n.error = t instanceof Error ? t.message : t, this.sendAdapter(e, n)
                    }), i = !0;
                    break
                }
                n.success = !0, n.data = this.convertFunction2IdEx(s)
            } while (0);
            a.information("callRegisterFunction", n), !i && n && this.sendAdapter(e, n)
        }
    }), c = global.__xdasIPCClienInstance, t.client = c
}, function (e, t, n) {
    e.exports = n(9)(213)
}, function (e, t) {
    e.exports = require("util")
}, function (e, t, n) {
    "use strict";
    var i = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(1).default.getLogger("async-remote-call"), o = n(42), s = n(12), a = n(6);
    t.asyncRemoteCall = new class extends s.EventEmitter {
        constructor() {
            super(), this.mapObj = new Map, this.mapObjIniting = new Map, "renderer" !== process.type && r.warning('can not import "renderer-process-call" module in non-renderer process', process.type)
        }

        getAppName() {
            return i(this, void 0, void 0, function* () {
                if (void 0 === this.appName) {
                    let e = yield this.getApp();
                    this.appName = yield e.getName()
                }
                return this.appName
            })
        }

        getAppVersion() {
            return i(this, void 0, void 0, function* () {
                if (void 0 === this.appVersion) {
                    let e = yield this.getApp();
                    this.appVersion = yield e.getVersion()
                }
                return this.appVersion
            })
        }

        getProcess() {
            return i(this, void 0, void 0, function* () {
                return o.global.process.__resolve()
            })
        }

        getIpcMain() {
            return i(this, void 0, void 0, function* () {
                return this.getCurrentObject("ipcMain")
            })
        }

        getDialog() {
            return i(this, void 0, void 0, function* () {
                return this.getCurrentObject("dialog")
            })
        }

        getApp() {
            return i(this, void 0, void 0, function* () {
                return this.getCurrentObject("app")
            })
        }

        getShell() {
            return i(this, void 0, void 0, function* () {
                return this.getCurrentObject("shell")
            })
        }

        getMenu() {
            return i(this, void 0, void 0, function* () {
                return this.getCurrentObject("Menu")
            })
        }

        getScreen() {
            return i(this, void 0, void 0, function* () {
                return this.getCurrentObject("screen")
            })
        }

        getBrowserWindow() {
            return i(this, void 0, void 0, function* () {
                return this.getCurrentObject("BrowserWindow")
            })
        }

        getWebContents() {
            return i(this, void 0, void 0, function* () {
                return this.getCurrentObject("webContents")
            })
        }

        getGlobalShortcut() {
            return i(this, void 0, void 0, function* () {
                return this.getCurrentObject("globalShortcut")
            })
        }

        getCurrentWebContents() {
            return i(this, void 0, void 0, function* () {
                let e = this.mapObj.get("currentWebContents");
                return void 0 === e && (this.mapObjIniting.get("currentWebContents") ? e = yield new Promise(e => i(this, void 0, void 0, function* () {
                    this.on("OnInitCurrentWebContents", t => {
                        e(t)
                    })
                })) : (this.mapObjIniting.set("currentWebContents", !0), e = yield o.getCurrentWebContents().__resolve(), this.mapObjIniting.set("currentWebContents", !1), this.emit("OnInitCurrentWebContents", e), this.listeners("OnInitCurrentWebContents").forEach(e => {
                    this.removeListener("OnInitCurrentWebContents", e)
                })), this.mapObj.set("currentWebContents", e)), e
            })
        }

        getCurrentWindow() {
            return i(this, void 0, void 0, function* () {
                let e = this.mapObj.get("currentWindow");
                return void 0 === e && (this.mapObjIniting.get("currentWindow") ? e = yield new Promise(e => i(this, void 0, void 0, function* () {
                    this.on("OnInitCurrentWindow", t => {
                        e(t)
                    })
                })) : (this.mapObjIniting.set("currentWindow", !0), e = yield o.getCurrentWindow().__resolve(), this.mapObjIniting.set("currentWindow", !1), this.emit("OnInitCurrentWindow", e), this.listeners("OnInitCurrentWindow").forEach(e => {
                    this.removeListener("OnInitCurrentWindow", e)
                })), this.mapObj.set("currentWindow", e)), e
            })
        }

        getCurrentObject(e) {
            return i(this, void 0, void 0, function* () {
                let t = this.mapObj.get(e);
                return a.isNullOrUndefined(t) && (this.mapObjIniting.get(e) ? t = yield new Promise(t => i(this, void 0, void 0, function* () {
                    this.on(e, e => {
                        t(e)
                    })
                })) : (this.mapObjIniting.set(e, !0), t = yield o.electron[e].__resolve(), this.mapObjIniting.set(e, !1), this.emit(e, t), this.listeners(e).forEach(t => {
                    this.removeListener(e, t)
                })), this.mapObj.set(e, t)), t
            })
        }
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0}), t.default = function (e) {
        return require(e)
    }
}, function (e, t) {
    e.exports = vendor_0aff229d1d3a2d2be355
}, function (e, t, n) {
    "use strict";
    var i = n(65), r = n(114), o = Object.prototype.toString;

    function s(e) {
        return "[object Array]" === o.call(e)
    }

    function a(e) {
        return null !== e && "object" == typeof e
    }

    function l(e) {
        return "[object Function]" === o.call(e)
    }

    function c(e, t) {
        if (null !== e && void 0 !== e) if ("object" != typeof e && (e = [e]), s(e)) for (var n = 0, i = e.length; n < i; n++) t.call(null, e[n], n, e); else for (var r in e) Object.prototype.hasOwnProperty.call(e, r) && t.call(null, e[r], r, e)
    }

    e.exports = {
        isArray: s, isArrayBuffer: function (e) {
            return "[object ArrayBuffer]" === o.call(e)
        }, isBuffer: r, isFormData: function (e) {
            return "undefined" != typeof FormData && e instanceof FormData
        }, isArrayBufferView: function (e) {
            return "undefined" != typeof ArrayBuffer && ArrayBuffer.isView ? ArrayBuffer.isView(e) : e && e.buffer && e.buffer instanceof ArrayBuffer
        }, isString: function (e) {
            return "string" == typeof e
        }, isNumber: function (e) {
            return "number" == typeof e
        }, isObject: a, isUndefined: function (e) {
            return void 0 === e
        }, isDate: function (e) {
            return "[object Date]" === o.call(e)
        }, isFile: function (e) {
            return "[object File]" === o.call(e)
        }, isBlob: function (e) {
            return "[object Blob]" === o.call(e)
        }, isFunction: l, isStream: function (e) {
            return a(e) && l(e.pipe)
        }, isURLSearchParams: function (e) {
            return "undefined" != typeof URLSearchParams && e instanceof URLSearchParams
        }, isStandardBrowserEnv: function () {
            return ("undefined" == typeof navigator || "ReactNative" !== navigator.product) && "undefined" != typeof window && "undefined" != typeof document
        }, forEach: c, merge: function e() {
            var t = {};

            function n(n, i) {
                "object" == typeof t[i] && "object" == typeof n ? t[i] = e(t[i], n) : t[i] = n
            }

            for (var i = 0, r = arguments.length; i < r; i++) c(arguments[i], n);
            return t
        }, extend: function (e, t, n) {
            return c(t, function (t, r) {
                e[r] = n && "function" == typeof t ? i(t, n) : t
            }), e
        }, trim: function (e) {
            return e.replace(/^\s*/, "").replace(/\s*$/, "")
        }
    }
}, function (e, t, n) {
    "use strict";
    var i = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(2), o = n(8), s = n(1).default.getLogger("XLStat");
    let a = o.default(r.join(__rootDir, "../bin/ThunderHelper.node"));

    function l(e = "") {
        let t;
        if ("string" == typeof e) t = e; else if (c(e) && "object" == typeof e) {
            let n = [];
            for (let t in e) c(e[t]) && n.push(t + "=" + encodeURIComponent(e[t]));
            t = n.join(",")
        }
        return t
    }

    function c(e) {
        return void 0 !== e && null !== e
    }

    !function (e) {
        let t = null;

        function n() {
            return t || (t = a.xlstat4), t
        }

        function r(e, t = "", r = "", o = 0, a = 0, c = 0, u = 0, d = "", h = 0) {
            return i(this, void 0, void 0, function* () {
                let i = 0;
                do {
                    if (void 0 === e) {
                        i = 1;
                        break
                    }
                    let f = l(d);
                    i = "browser" === process.type ? yield new Promise(s => {
                        i = n().asyncTrackEvent(e, t, r, o, a, c, u, f, h, e => {
                            s(e)
                        })
                    }) : n().trackEvent(e, t, r, o, a, c, u, f, h), s.information(e, t, r, o, a, c, u, f, h)
                } while (0);
                return i
            })
        }

        function o(e, t = 0) {
            do {
                if (void 0 === e) break;
                "browser" !== process.type && n().trackClick(e, t)
            } while (0)
        }

        e.asyncTrackEvent = r, e.trackEvent = function (e, t = "", n = "", i = 0, o = 0, s = 0, a = 0, l = "", c = 0) {
            r(e, t, n, i, o, s, a, l, c).catch()
        }, e.trackClick = o, e.trackShow = function (e, t = 0) {
            o(e, t)
        }, e.setUserID = function (e = 0, t = 0) {
            "browser" !== process.type && n().setUserID(e, t)
        }, e.initParam = function (e) {
            return i(this, void 0, void 0, function* () {
                let t = -1;
                return t = "browser" === process.type ? yield new Promise(t => {
                    n().asyncInitParam(e, (e, n) => {
                        t(e ? n : -1)
                    })
                }) : yield new Promise(t => {
                    n().initParamRemote(e, e => {
                        t(e)
                    })
                })
            })
        }, e.asyncUninit = function (e) {
            return i(this, void 0, void 0, function* () {
                "browser" === process.type && (yield new Promise(t => {
                    n().asyncUninit(e, () => {
                        t()
                    })
                }))
            })
        }, e.uninit = function () {
            "browser" === process.type && n().waitFinish()
        }
    }(t.XLStatNS || (t.XLStatNS = {}))
}, function (e, t) {
    e.exports = require("events")
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0}), t.assert = t.log = t.error = t.warn = t.info = t.trace = t.timeEnd = t.time = t.traceback = void 0;
    const i = n(2);
    let r, o = console;

    function s(e = 5) {
        let t = /at\s+(.*)\s+\((.*):(\d*):(\d*)\)/i, n = /at\s+()(.*):(\d*):(\d*)/i,
            r = (new Error).stack.split("\n").slice(e + 1);
        r.shift();
        let o = [];
        return r.forEach((e, r) => {
            let s = t.exec(e) || n.exec(e), a = {};
            s && 5 === s.length && (a.method = s[1], a.path = s[2], a.line = s[3], a.pos = s[4], a.file = i.basename(a.path), o.push(a))
        }), o
    }

    if (r = "renderer" === process.type ? "[Renderer] [async-remote]:" : "browser" === process.type ? "[Browser] [async-remote]:" : `[${process.type}] [async-remote]`, t.traceback = function (e = 5) {
        return s(e).map(e => e.method + "@(" + e.file + ")").join(" <= ")
    }, t.time = function (...e) {
        o.time(...e)
    }, t.timeEnd = function (...e) {
        o.timeEnd(...e)
    }, t.trace = function (...e) {
        let t = s(), n = "";
        t[0] && t[0].method && (n = n), o.trace(r, ...e)
    }, t.info = function (...e) {
        let t = s(), n = "anonymous";
        t[0] && t[0].method && (n = n), o.info(r, "[" + n + "]", e.join(","))
    }, t.warn = function (...e) {
        let t = s(), n = "";
        t[0] && t[0].method && (n = n), o.warn("<WARN>" + r, "[" + n + "]", e.join(","))
    }, t.error = function (...e) {
        let t = s(), n = "";
        t[0] && t[0].method && (n = n), o.error("<ERROR>" + r, "[" + n + "]", e.join(","))
    }, t.log = function (...e) {
        o.log(r, ...e)
    }, t.assert = function (e, t) {
        if (!e) throw new Error(t)
    }, !process.env.DEBUG_ASYNC_REMOTE) {
        let e = function () {
        };
        t.traceback = e, t.time = e, t.timeEnd = e, t.trace = e, t.info = e, t.warn = e, t.error = e, t.log = e, t.assert = e
    }
}, function (e, t) {
    e.exports = require("os")
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0}), function (e) {
        let t, n, i, r, o, s, a, l, c, u, d, h, f, p, A, v, g, m, C, y, w, b;
        !function (e) {
            e[e.Unkown = 0] = "Unkown", e[e.Create = 1] = "Create", e[e.InvaldParam = 2] = "InvaldParam", e[e.InvaldLink = 3] = "InvaldLink", e[e.InvaldConfig = 4] = "InvaldConfig", e[e.Timeout = 5] = "Timeout", e[e.VerifyData = 6] = "VerifyData", e[e.Forbidden = 7] = "Forbidden", e[e.RangeDispatch = 8] = "RangeDispatch", e[e.FilePathOverRanging = 9] = "FilePathOverRanging", e[e.FileCreate = 201] = "FileCreate", e[e.FileWrite = 202] = "FileWrite", e[e.FileRead = 203] = "FileRead", e[e.FileRename = 204] = "FileRename", e[e.FileFull = 205] = "FileFull", e[e.FileOccupied = 211] = "FileOccupied", e[e.FileAccessDenied = 212] = "FileAccessDenied", e[e.BtUploadExist = 601] = "BtUploadExist", e[e.ForbinddenResource = 701] = "ForbinddenResource", e[e.ForbinddenAccount = 702] = "ForbinddenAccount", e[e.ForbinddenArea = 703] = "ForbinddenArea", e[e.ForbinddenCopyright = 704] = "ForbinddenCopyright", e[e.ForbinddenReaction = 705] = "ForbinddenReaction", e[e.ForbinddenPorn = 706] = "ForbinddenPorn", e[e.DownloadSDKCrash = 10001] = "DownloadSDKCrash", e[e.torrentFileNotExist = 10002] = "torrentFileNotExist"
        }(t = e.TaskError || (e.TaskError = {})), function (e) {
            e[e.Unkown = -1] = "Unkown", e[e.Success = 0] = "Success", e[e.QueryFailed = 1] = "QueryFailed", e[e.ServerError = 2] = "ServerError", e[e.ResourceNotFound = 3] = "ResourceNotFound", e[e.AuthorizingFailed = 4] = "AuthorizingFailed", e[e.ForbidByCopyright = 5] = "ForbidByCopyright", e[e.ForbidByPorNoGraphy = 6] = "ForbidByPorNoGraphy", e[e.ForbidByReactionary = 7] = "ForbidByReactionary", e[e.ForbidByOtherFilter = 8] = "ForbidByOtherFilter"
        }(n = e.DcdnStatusCode || (e.DcdnStatusCode = {})), function (e) {
            e[e.Begin = -1] = "Begin", e[e.Unkown = 0] = "Unkown", e[e.StandBy = 1] = "StandBy", e[e.PreDownloading = 2] = "PreDownloading", e[e.StartWaiting = 3] = "StartWaiting", e[e.StartPending = 4] = "StartPending", e[e.Started = 5] = "Started", e[e.StopPending = 6] = "StopPending", e[e.Stopped = 7] = "Stopped", e[e.Succeeded = 8] = "Succeeded", e[e.Failed = 9] = "Failed", e[e.Seeding = 10] = "Seeding", e[e.DestroyPending = 11] = "DestroyPending", e[e.End = 12] = "End"
        }(i = e.TaskStatus || (e.TaskStatus = {})), function (e) {
            e[e.Begin = -1] = "Begin", e[e.StandBy = 0] = "StandBy", e[e.Stopped = 1] = "Stopped", e[e.Started = 2] = "Started", e[e.Complete = 3] = "Complete", e[e.Forbidden = 4] = "Forbidden", e[e.Error = 5] = "Error", e[e.End = 6] = "End"
        }(r = e.BtFileStatus || (e.BtFileStatus = {})), function (e) {
            e[e.DispatchStrategyNone = 0] = "DispatchStrategyNone", e[e.DispatchStrategyOrigin = 1] = "DispatchStrategyOrigin", e[e.DispatchStrategyP2s = 2] = "DispatchStrategyP2s", e[e.DispatchStrategyP2p = 4] = "DispatchStrategyP2p", e[e.DispatchStrategyAll = -1] = "DispatchStrategyAll"
        }(o = e.DispatchStrategy || (e.DispatchStrategy = {})), function (e) {
            e[e.Unkown = 0] = "Unkown", e[e.P2sp = 1] = "P2sp", e[e.Bt = 2] = "Bt", e[e.Emule = 3] = "Emule", e[e.Group = 4] = "Group", e[e.Magnet = 5] = "Magnet"
        }(s = e.TaskType || (e.TaskType = {})), function (e) {
            e[e.Invalid = 0] = "Invalid", e[e.P2sp = 1] = "P2sp", e[e.Emule = 2] = "Emule"
        }(a = e.TaskCfgType || (e.TaskCfgType = {})), function (e) {
            e.Unkown = "Unkown", e.Downloading = "Downloading", e.Completed = "Completed", e.Recycle = "Recycle"
        }(l = e.CategroyViewID || (e.CategroyViewID = {})), function (e) {
            e[e.Unknow = 0] = "Unknow", e[e.TaskCreated = 1] = "TaskCreated", e[e.InsertToCategoryView = 2] = "InsertToCategoryView", e[e.RemoveFromCategoryView = 3] = "RemoveFromCategoryView", e[e.StatusChanged = 4] = "StatusChanged", e[e.DetailChanged = 5] = "DetailChanged", e[e.ChannelInfoChanged = 6] = "ChannelInfoChanged", e[e.DcdnStatusChanged = 7] = "DcdnStatusChanged", e[e.TaskDescriptionChanged = 8] = "TaskDescriptionChanged", e[e.TaskUserRead = 9] = "TaskUserRead", e[e.TaskRenamed = 10] = "TaskRenamed", e[e.TaskMovedEnd = 11] = "TaskMovedEnd", e[e.TaskMovingStateChange = 12] = "TaskMovingStateChange", e[e.BtSubFileDetailChanged = 13] = "BtSubFileDetailChanged", e[e.BtSubFileLoaded = 14] = "BtSubFileLoaded", e[e.BtSubFileForbidden = 15] = "BtSubFileForbidden", e[e.BtSubFileDcdnStatusChanged = 16] = "BtSubFileDcdnStatusChanged", e[e.TaskCategoryMovedEnd = 17] = "TaskCategoryMovedEnd", e[e.GroupTaskSubFileDetailChanged = 18] = "GroupTaskSubFileDetailChanged", e[e.TaskDestroying = 19] = "TaskDestroying", e[e.TaskDestroyed = 20] = "TaskDestroyed"
        }(c = e.TaskEventType || (e.TaskEventType = {})), function (e) {
            e[e.NumberStrart = 0] = "NumberStrart", e[e.TaskId = 1] = "TaskId", e[e.VirtualId = 2] = "VirtualId", e[e.SrcTotal = 3] = "SrcTotal", e[e.SrcUsing = 4] = "SrcUsing", e[e.FileSize = 5] = "FileSize", e[e.ReceivedSize = 6] = "ReceivedSize", e[e.DownloadSize = 7] = "DownloadSize", e[e.TotalDownloadSize = 8] = "TotalDownloadSize", e[e.CreateTime = 9] = "CreateTime", e[e.CompletionTime = 10] = "CompletionTime", e[e.DownloadingPeriod = 11] = "DownloadingPeriod", e[e.Progress = 12] = "Progress", e[e.RecycleTime = 13] = "RecycleTime", e[e.FileCreated = 14] = "FileCreated", e[e.Forbidden = 15] = "Forbidden", e[e.CategoryId = 16] = "CategoryId", e[e.UserRead = 17] = "UserRead", e[e.OpenOnComplete = 18] = "OpenOnComplete", e[e.GroupTaskId = 19] = "GroupTaskId", e[e.DownloadSubTask = 20] = "DownloadSubTask", e[e.NameType = 21] = "NameType", e[e.OwnerProduct = 22] = "OwnerProduct", e[e.FileIndex = 23] = "FileIndex", e[e.NameFixed = 24] = "NameFixed", e[e.ValidDownloadSize = 25] = "ValidDownloadSize", e[e.RealDownloadSize = 26] = "RealDownloadSize", e[e.ResourceLegal = 27] = "ResourceLegal", e[e.TaskType = 28] = "TaskType", e[e.ErrorCode = 29] = "ErrorCode", e[e.PlayPosition = 30] = "PlayPosition", e[e.Duration = 31] = "Duration", e[e.NumberEnd = 32] = "NumberEnd", e[e.BooleanStart = 4096] = "BooleanStart", e[e.Destroyed = 4097] = "Destroyed", e[e.Background = 4098] = "Background", e[e.Moving = 4099] = "Moving", e[e.BooleanEnd = 4100] = "BooleanEnd", e[e.StringStart = 8192] = "StringStart", e[e.TaskName = 8193] = "TaskName", e[e.SavePath = 8194] = "SavePath", e[e.RelativePath = 8195] = "RelativePath", e[e.TaskUrl = 8196] = "TaskUrl", e[e.RefUrl = 8197] = "RefUrl", e[e.Cid = 8198] = "Cid", e[e.Gcid = 8199] = "Gcid", e[e.Cookie = 8200] = "Cookie", e[e.ProductInfo = 8201] = "ProductInfo", e[e.Origin = 8202] = "Origin", e[e.Description = 8203] = "Description", e[e.UserData = 8204] = "UserData", e[e.OriginName = 8205] = "OriginName", e[e.HTTPContentType = 8206] = "HTTPContentType", e[e.CategoryViewId = 8207] = "CategoryViewId", e[e.YunTaskId = 8208] = "YunTaskId", e[e.StringEnd = 8209] = "StringEnd", e[e.ObjectStart = 12288] = "ObjectStart", e[e.ObjectEnd = 12289] = "ObjectEnd"
        }(u = e.TaskAttribute || (e.TaskAttribute = {})), function (e) {
            e[e.UnKnown = 0] = "UnKnown", e[e.SrcTotal = 1] = "SrcTotal", e[e.SrcUsing = 2] = "SrcUsing", e[e.FileSize = 4] = "FileSize", e[e.ReceivedSize = 8] = "ReceivedSize", e[e.DownloadSize = 16] = "DownloadSize", e[e.CompletionTime = 32] = "CompletionTime", e[e.DownloadingPeriod = 64] = "DownloadingPeriod", e[e.Progress = 128] = "Progress", e[e.RecycleTime = 256] = "RecycleTime", e[e.FileCreated = 512] = "FileCreated", e[e.Forbidden = 1024] = "Forbidden", e[e.UserRead = 2048] = "UserRead", e[e.OpenOnComplete = 4096] = "OpenOnComplete", e[e.DownloadSubTask = 8192] = "DownloadSubTask", e[e.TaskName = 16384] = "TaskName", e[e.SavePath = 32768] = "SavePath", e[e.Cid = 65536] = "Cid", e[e.Gcid = 131072] = "Gcid", e[e.UserData = 262144] = "UserData", e[e.CategoryViewId = 524288] = "CategoryViewId", e[e.ErrorCode = 1048576] = "ErrorCode", e[e.TaskSpeed = 2097152] = "TaskSpeed", e[e.ChannelInfo = 4194304] = "ChannelInfo", e[e.ValidDownloadSize = 8388608] = "ValidDownloadSize", e[e.OriginName = 16777216] = "OriginName", e[e.HTTPContentType = 33554432] = "HTTPContentType", e[e.PlayPosition = 67108864] = "PlayPosition", e[e.Duration = 134217728] = "Duration", e[e.YunTaskId = 268435456] = "YunTaskId"
        }(d = e.TaskDetailChangedFlags || (e.TaskDetailChangedFlags = {})), function (e) {
            e[e.UnKnown = 0] = "UnKnown"
        }(h = e.BtSubFileDetailChangedFlags || (e.BtSubFileDetailChangedFlags = {})), function (e) {
            e[e.UnKnown = 0] = "UnKnown"
        }(f = e.GroupTaskSubFileDetailChangedFlags || (e.GroupTaskSubFileDetailChangedFlags = {})), function (e) {
            e[e.NumberStrart = 0] = "NumberStrart", e[e.TaskId = 1] = "TaskId", e[e.FileStatus = 2] = "FileStatus", e[e.DownloadSize = 3] = "DownloadSize", e[e.FileSize = 4] = "FileSize", e[e.EnableDcdn = 5] = "EnableDcdn", e[e.ErrorCode = 6] = "ErrorCode", e[e.DcdnStatus = 7] = "DcdnStatus", e[e.RealIndex = 8] = "RealIndex", e[e.FileOffset = 9] = "FileOffset", e[e.Visible = 10] = "Visible", e[e.Download = 11] = "Download", e[e.UserRead = 12] = "UserRead", e[e.PlayPosition = 13] = "PlayPosition", e[e.Duration = 14] = "Duration", e[e.NumberEnd = 15] = "NumberEnd", e[e.StringStart = 4096] = "StringStart", e[e.FinalName = 4097] = "FinalName", e[e.RelativePath = 4098] = "RelativePath", e[e.FileName = 4099] = "FileName", e[e.FilePath = 4100] = "FilePath", e[e.Cid = 4101] = "Cid", e[e.Gcid = 4102] = "Gcid", e[e.StringEnd = 4103] = "StringEnd"
        }(p = e.BtFileAttribute || (e.BtFileAttribute = {})), function (e) {
            e[e.P2spUrl = 0] = "P2spUrl", e[e.BtInfoId = 1] = "BtInfoId", e[e.EmuleFileHash = 2] = "EmuleFileHash", e[e.MagnetUrl = 3] = "MagnetUrl", e[e.GroupTaskName = 4] = "GroupTaskName"
        }(A = e.KeyType || (e.KeyType = {})), function (e) {
            e[e.NameInclude = 1] = "NameInclude", e[e.BtDisplayNameInclude = 2] = "BtDisplayNameInclude"
        }(v = e.SearchKeyType || (e.SearchKeyType = {})), function (e) {
            e[e.ExtEqual = 1] = "ExtEqual", e[e.NameLikeAndExtEqual = 2] = "NameLikeAndExtEqual", e[e.TaskTypeEqual = 4] = "TaskTypeEqual"
        }(g = e.FilterKeyType || (e.FilterKeyType = {})), function (e) {
            e[e.All = 0] = "All", e[e.CommonForeground = 1] = "CommonForeground", e[e.CommonBackground = 2] = "CommonBackground", e[e.Temporary = 3] = "Temporary", e[e.PreDownload = 4] = "PreDownload", e[e.PrivateForeground = 5] = "PrivateForeground"
        }(m = e.KeyFilter || (e.KeyFilter = {})), function (e) {
            e[e.Unknown = -1] = "Unknown", e[e.LoadTaskBasic = 0] = "LoadTaskBasic", e[e.Create = 1] = "Create", e[e.Complete = 2] = "Complete", e[e.Recycle = 3] = "Recycle", e[e.Recover = 4] = "Recover", e[e.ReDownload = 5] = "ReDownload", e[e.MoveThoughCategory = 6] = "MoveThoughCategory"
        }(C = e.TaskInsertReason || (e.TaskInsertReason = {})), function (e) {
            e[e.Unknown = -1] = "Unknown", e[e.Manual = 0] = "Manual", e[e.PauseAll = 1] = "PauseAll", e[e.DeleteTask = 2] = "DeleteTask", e[e.TaskJammed = 3] = "TaskJammed", e[e.LowSpeed = 4] = "LowSpeed", e[e.MaxDownloadReduce = 5] = "MaxDownloadReduce", e[e.MoveTask = 6] = "MoveTask", e[e.SelectDownloadLists = 7] = "SelectDownloadLists", e[e.PrivateLoginOut = 8] = "PrivateLoginOut", e[e.FreeDownload = 9] = "FreeDownload", e[e.Exit = 10] = "Exit"
        }(y = e.TaskStopReason || (e.TaskStopReason = {})), function (e) {
            e[e.RESOURCE_FROM_MEMBER = 1] = "RESOURCE_FROM_MEMBER", e[e.RESOURCE_FROM_OFFLINE = 2] = "RESOURCE_FROM_OFFLINE", e[e.RESOURCE_FROM_CRYSTAL_LARGE = 4] = "RESOURCE_FROM_CRYSTAL_LARGE", e[e.RESOURCE_FROM_CRYSTAL_SMALL = 8] = "RESOURCE_FROM_CRYSTAL_SMALL", e[e.RESOURCE_FROM_DCDN = 16] = "RESOURCE_FROM_DCDN", e[e.RESOURCE_FROM_FREEDCDN = 32] = "RESOURCE_FROM_FREEDCDN"
        }(w = e.XLResourceFrom || (e.XLResourceFrom = {})), function (e) {
            e[e.XL_TASKDOWNLOAD_STRATEGY_NORMALDOWNLOAD = 0] = "XL_TASKDOWNLOAD_STRATEGY_NORMALDOWNLOAD", e[e.XL_TASKDOWNLOAD_STRATEGY_DOWNLOADINGPLAYING = 1] = "XL_TASKDOWNLOAD_STRATEGY_DOWNLOADINGPLAYING", e[e.XL_TASKDOWNLOAD_STRATEGY_ONLINEPLAYING = 2] = "XL_TASKDOWNLOAD_STRATEGY_ONLINEPLAYING"
        }(b = e.XLDownloadStrategy || (e.XLDownloadStrategy = {}))
    }(t.DownloadKernel || (t.DownloadKernel = {}))
}, function (e, t, n) {
    "use strict";
    var i = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(3), o = n(2), s = n(1), a = n(20), l = n(25), c = s.default.getLogger("Thunder.Util"),
        u = "Thunder Network\\Thunder7.9\\";

    function d(e) {
        let t = e;
        return 0 === e.indexOf('"') && e.lastIndexOf('"') === e.length - 1 ? t = e.substring(1, e.length - 1) : 0 === e.indexOf("'") && e.lastIndexOf("'") === e.length - 1 && (t = e.substring(1, e.length - 1)), t
    }

    !function (e) {
        function t() {
            let e = l.ThunderHelper.getSystemTempPath(), t = l.ThunderHelper.getLogicalDriveStrings(), n = 0;
            for (let i = 0; i < t.length; i++) {
                if (l.ThunderHelper.getDriveType(t[i]) === l.ThunderHelper.DriverType.DRIVE_FIXED) {
                    let r = l.ThunderHelper.getDriveInfo(t[i]);
                    n < r.freeBytes && t[i] !== e && (n = r.freeBytes, e = t[i])
                }
            }
            return e.substring(0, 1) + ":\\迅雷下载"
        }

        function s(e) {
            let t = (e.style.webkitTransform || getComputedStyle(e, "").getPropertyValue("-webkit-transform") || e.style.transform || getComputedStyle(e, "").getPropertyValue("transform")).match(/\-?[0-9]+\.?[0-9]*/g);
            return {x: parseInt(t && (t[12] || t[4]) || "0", 10), y: parseInt(t && (t[13] || t[5]) || "0", 10)}
        }

        function h(e) {
            let t = !1;
            do {
                let n = "", i = "";
                if (/^[a-zA-Z]:\\/.test(e)) n = e.slice(3); else {
                    if (0 !== e.indexOf("\\\\")) break;
                    {
                        let t = e.indexOf("\\", 2);
                        if (-1 === t || t === e.length - 1) break;
                        if ("" === (i = (n = e.slice(2)).substr(0, t - 2))) break
                    }
                }
                if (/[\*\"<>\?:\|]/i.test(n)) break;
                if (e.length > 256) break;
                if ("" === i) {
                    t = !0;
                    break
                }
                let r = i.indexOf(".ipv6-literal.net");
                -1 !== r ? (-1 !== (r = (i = i.substr(0, r)).indexOf("%")) && (i = i.substr(0, r)), i = i.replace(/\-/g, ":"), /^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/.test(i) && (t = !0)) : /(?=(\b|\D))(((\d{1,2})|(1\d{1,2})|(2[0-4]\d)|(25[0-5]))\.){3}((\d{1,2})|(1\d{1,2})|(2[0-4]\d)|(25[0-5]))(?=(\b|\D))/.test(i) && (t = !0)
            } while (0);
            return t
        }

        e.formatSize = function (e, t) {
            0 === t || (t = t || 2);
            let n = "0B";
            if ("number" == typeof e && e > 0) {
                let i = ["B", "KB", "MB", "GB", "TB"], r = 0, o = e;
                for (; o >= 1e3 && !(r >= 4);) o /= 1024, r += 1;
                n = -1 === String(o).indexOf(".") ? o + i[r] : o.toFixed(t) + i[r]
            }
            return n
        }, e.formatSizeCustom = function (e, t = 2, n = 5) {
            let i = "0B";
            if ("number" == typeof e && e > 0) {
                let r = ["B", "KB", "MB", "GB", "TB"], o = 0, s = e;
                for (; s >= 1e3 && !(o >= 4);) s /= 1024, o += 1;
                if (-1 === String(s).indexOf(".")) i = s + r[o]; else {
                    let e = s.toFixed(t);
                    e.length <= n ? i = "KB" !== r[o] && "MB" !== r[o] || 1 === t ? e + r[o] : s.toFixed(1) + r[o] : ("." === (e = e.substr(0, n))[n - 1] && (e = e.substr(0, n - 1)), i = e + r[o])
                }
            }
            return i
        }, e.isDigital = function (e) {
            let t = !1;
            return /^\d+$/.test(e) && (t = !0), t
        }, e.isAlpha = function (e) {
            let t = !1;
            return /[A-Za-z]/.test(e) && (t = !0), t
        }, e.isUpperCase = function (e) {
            let t = !1;
            return /[A-Z]/.test(e) && (t = !0), t
        }, e.isLowerCase = function (e) {
            let t = !1;
            return /[a-z]/.test(e) && (t = !0), t
        }, e.isChinese = function (e) {
            let t = !1;
            return /[\u4E00-\u9FA5]/.test(e) && (t = !0), t
        }, e.replaceNonDigital = function (e) {
            return e.replace(/[^\d]/g, "")
        }, e.replaceNonAlpha = function (e) {
            return e.replace(/[^A-Za-z]/g, "")
        }, e.replaceNonWord = function (e) {
            return e.replace(/[^\W]/g, "")
        }, e.getDefaultDownloadDir = t, e.getMaxFreeDriver = function () {
            return t().substring(0, 1)
        }, e.deepCopy = function (e) {
            let t = JSON.stringify(e), n = null;
            try {
                n = JSON.parse(t)
            } catch (e) {
                c.warning(e)
            }
            return n
        }, e.swap = function (e, t, n) {
            do {
                if (t < 0 || t >= e.length) break;
                if (n < 0 || n >= e.length) break;
                if (t === n) break;
                e[t] = e.splice(n, 1, e[t])[0]
            } while (0);
            return e
        }, e.compareNocase = function (e, t) {
            let n = !1;
            do {
                if (void 0 === e && void 0 === t) {
                    n = !0;
                    break
                }
                if (void 0 === e || void 0 === t) break;
                if ("string" != typeof e || "string" != typeof t) break;
                n = e.toLowerCase() === t.toLowerCase()
            } while (0);
            return n
        }, e.parseCommandLine = function (e) {
            let t = 0, n = "", i = !1, r = [], o = e.length;
            for (let s = 0; s < o; s++) {
                let a = e[s];
                if ('"' !== a && "'" !== a || ("" === n ? (i = !0, n = a) : n === a && (i = !1, n = "")), " " !== a || i || s === o - 1) {
                    if (s === o - 1) {
                        let n = e.substring(t);
                        "" !== n.trim() && r.push(d(n))
                    }
                } else {
                    let n = e.substring(t, s);
                    "" !== n.trim() && r.push(d(n)), t = s + 1
                }
            }
            return r
        }, e.getThunderTempPath = function (e, t) {
            return i(this, void 0, void 0, function* () {
                const i = yield Promise.resolve().then(() => n(14));
                let r = o.join(i.tmpdir(), u);
                return t && (r = o.join(r, t)), void 0 !== e && e && (yield a.FileSystemAWNS.mkdirsAW(r)), r
            })
        }, e.setQueryString = function (e, t) {
            return Object.keys(t).forEach((n, i) => {
                e += 0 === i ? "?" : "&", e += `${n}=${t[n]}`
            }), e
        }, e.setQueryStringEx = function (e, t) {
            for (let n in t) e += -1 === e.indexOf("?") ? "?" : "&", e += `${n}=${t[n]}`;
            return e
        }, e.getQueryString = function (e, t) {
            return e && t && e.match(new RegExp(`(^${t}|[?|&]${t})=([^&#]+)`)) ? RegExp.$2 : ""
        }, e.isClipboardTextFormatAvailable = function () {
            let e = !1, t = r.clipboard.availableFormats();
            for (let n of t) if ("text/plain" === n) {
                e = !0;
                break
            }
            return e
        }, e.keywordsHighLight = function (e, t, n) {
            if (!e) return "";
            if (!t) return e;
            if (0 === e.length) return e;
            if (0 === t.length) return e;
            let i = /\\/, r = t.split(" ");
            if (0 === (r = r.filter(e => e.trim().length > 0)).length) return e;
            for (let t = 0; t < r.length; t++) if (r[t].search(i) > 0) return e;
            n = void 0 === n || null === n ? "#FF0000" : n;
            let o = "", s = ["\\[", "\\^", "\\*", "\\(", "\\)", "\\|", "\\?", "\\$", "\\.", "\\+"], a = "", l = "|";
            for (let e = 0; e < r.length; e++) {
                for (let t = 0; t < s.length; t++) {
                    let n = new RegExp(s[t], "g");
                    r[e] = r[e].replace(n, s[t])
                }
                e === r.length - 1 && (l = ""), a = a.concat(r[e], l)
            }
            let c = new RegExp(a, "gi");
            return o = e.replace(c, e => '<span style= "color:' + n + '">' + e + "</span>")
        }, e.isDef = function (e) {
            return void 0 !== e && null !== e
        }, e.isUndef = function (e) {
            return void 0 === e || null === e
        }, e.setStyle = function (e, t) {
            Object.entries(t).forEach(([t, n]) => {
                e.style[t] = n
            })
        }, e.setCSSProperties = function (e, t) {
            Object.entries(t).forEach(([t, n]) => {
                e.style.setProperty(t, n)
            })
        }, e.versionCompare = function (e, t) {
            let n = e.split("."), i = t.split("."), r = 0;
            for (let e = 0; e < n.length; e++) {
                if (Number(n[e]) - Number(i[e]) > 0) {
                    r = 1;
                    break
                }
                if (Number(n[e]) - Number(i[e]) < 0) {
                    r = -1;
                    break
                }
            }
            return r
        }, e.throttle = function (e, t) {
            let n, i = 0;
            return (...r) => {
                const o = Date.now();
                clearTimeout(n), o - i > t ? (e(...r), i = o) : n = setTimeout(() => {
                    e(...r), i = o
                }, t)
            }
        }, e.debounce = function (e, t) {
            let n = null;
            return (...i) => {
                n && clearTimeout(n), n = setTimeout(() => {
                    e(...i)
                }, t)
            }
        }, e.getElementFixed = function (e) {
            let t = e.offsetLeft, n = e.offsetTop, i = e.offsetParent;
            for (; null !== i;) {
                let e = s(i);
                t += i.offsetLeft + e.x, n += i.offsetTop + e.y, i = i.offsetParent
            }
            return {x: t, y: n}
        }, e.escapeHTML = function (e) {
            return e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&apos;")
        }, e.unescapeHTML = function (e) {
            return e.replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&amp;/g, "&").replace(/&quot;/g, '"').replace(/&apos;/g, "'")
        }, e.isValidPath = h, e.isValidDownloadPath = function (e) {
            return i(this, void 0, void 0, function* () {
                let t = !1;
                do {
                    if (e.length < 3) break;
                    if ("私人空间" === e) {
                        t = !0;
                        break
                    }
                    if (l.ThunderHelper.getDriveType(e) === l.ThunderHelper.DriverType.DRIVE_REMOTE) {
                        t = !0;
                        break
                    }
                    if (!h(e)) break;
                    if (!(yield a.FileSystemAWNS.dirExistsAW(e)) && !(yield a.FileSystemAWNS.mkdirsAW(e))) break;
                    t = !0
                } while (0);
                return t
            })
        };
        let f = void 0;

        function p(e, t = "normal 12px sans-serif") {
            f || (f = document.createElement("canvas"));
            let n = f.getContext("2d");
            return n.font = t, n.measureText(e).width
        }

        function A(e, t, n = "normal 12px sans-serif", i = 1) {
            function r(e, t, i, o, s) {
                let a = -1;
                do {
                    if (e > t) {
                        a = t;
                        break
                    }
                    let l = Math.round((e + t) / 2), c = p(`${i.substr(0, l)}...${o}`, n);
                    if (s === c) {
                        a = l;
                        break
                    }
                    if (s > c) {
                        if (Math.round(s) === Math.round(c)) {
                            a = l;
                            break
                        }
                        a = r(l + 1, t, i, o, s)
                    } else if (c > s) {
                        if (Math.round(s) === Math.round(c)) {
                            a = l - 1;
                            break
                        }
                        a = r(e, l - 1, i, o, s)
                    }
                } while (0);
                return a
            }

            let s = e;
            do {
                if (!t) break;
                if (!e) break;
                let a = t.offsetWidth * i;
                if (a > p(e, n)) break;
                let l = o.extname(e);
                "" !== l && (l = l.substring(1));
                let c = e.substr(0, e.length - l.length - 1);
                if (!c) break;
                let u = r(0, c.length, c, l, a);
                if (-1 === u) break;
                s = `${c.substr(0, u - 2 * (i - 1))}...${l}`
            } while (0);
            return s
        }

        e.getTextWidth = p, e.getOmitName = A, e.getOmitNameMultiLine = function (e, t, n) {
            return A(e, t, "normal 12px microsoft yahei", 2)
        }, e.setTimeoutAw = function (e, t) {
            return new Promise((n, i) => {
                setTimeout(() => {
                    t && t(), n()
                }, e)
            })
        }
    }(t.ThunderUtil || (t.ThunderUtil = {}))
}, function (e, t, n) {
    "use strict";
    var i = n(10), r = n(66), o = n(68), s = n(44), a = n(40), l = n(69).http, c = n(69).https, u = n(37), d = n(48),
        h = n(125), f = n(46), p = n(67);
    e.exports = function (e) {
        return new Promise(function (t, n) {
            var A, v = e.data, g = e.headers;
            if (g["User-Agent"] || g["user-agent"] || (g["User-Agent"] = "axios/" + h.version), v && !i.isStream(v)) {
                if (Buffer.isBuffer(v)) ; else if (i.isArrayBuffer(v)) v = new Buffer(new Uint8Array(v)); else {
                    if (!i.isString(v)) return n(f("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream", e));
                    v = new Buffer(v, "utf-8")
                }
                g["Content-Length"] = v.length
            }
            var m = void 0;
            e.auth && (m = (e.auth.username || "") + ":" + (e.auth.password || ""));
            var C = u.parse(e.url), y = C.protocol || "http:";
            if (!m && C.auth) {
                var w = C.auth.split(":");
                m = (w[0] || "") + ":" + (w[1] || "")
            }
            m && delete g.Authorization;
            var b = "https:" === y, x = b ? e.httpsAgent : e.httpAgent, E = {
                path: o(C.path, e.params, e.paramsSerializer).replace(/^\?/, ""),
                method: e.method,
                headers: g,
                agent: x,
                auth: m
            };
            e.socketPath ? E.socketPath = e.socketPath : (E.hostname = C.hostname, E.port = C.port);
            var I, S = e.proxy;
            if (!S && !1 !== S) {
                var k = y.slice(0, -1) + "_proxy", P = process.env[k] || process.env[k.toUpperCase()];
                if (P) {
                    var D = u.parse(P);
                    if (S = {host: D.hostname, port: D.port}, D.auth) {
                        var M = D.auth.split(":");
                        S.auth = {username: M[0], password: M[1]}
                    }
                }
            }
            if (S && (E.hostname = S.host, E.host = S.host, E.headers.host = C.hostname + (C.port ? ":" + C.port : ""), E.port = S.port, E.path = y + "//" + C.hostname + (C.port ? ":" + C.port : "") + E.path, S.auth)) {
                var T = new Buffer(S.auth.username + ":" + S.auth.password, "utf8").toString("base64");
                E.headers["Proxy-Authorization"] = "Basic " + T
            }
            e.transport ? I = e.transport : 0 === e.maxRedirects ? I = b ? a : s : (e.maxRedirects && (E.maxRedirects = e.maxRedirects), I = b ? c : l), e.maxContentLength && e.maxContentLength > -1 && (E.maxBodyLength = e.maxContentLength);
            var B = I.request(E, function (i) {
                if (!B.aborted) {
                    clearTimeout(A), A = null;
                    var o = i;
                    switch (i.headers["content-encoding"]) {
                        case"gzip":
                        case"compress":
                        case"deflate":
                            o = o.pipe(d.createUnzip()), delete i.headers["content-encoding"]
                    }
                    var s = i.req || B, a = {
                        status: i.statusCode,
                        statusText: i.statusMessage,
                        headers: i.headers,
                        config: e,
                        request: s
                    };
                    if ("stream" === e.responseType) a.data = o, r(t, n, a); else {
                        var l = [];
                        o.on("data", function (t) {
                            l.push(t), e.maxContentLength > -1 && Buffer.concat(l).length > e.maxContentLength && n(f("maxContentLength size of " + e.maxContentLength + " exceeded", e, null, s))
                        }), o.on("error", function (t) {
                            B.aborted || n(p(t, e, null, s))
                        }), o.on("end", function () {
                            var i = Buffer.concat(l);
                            "arraybuffer" !== e.responseType && (i = i.toString("utf8")), a.data = i, r(t, n, a)
                        })
                    }
                }
            });
            B.on("error", function (t) {
                B.aborted || n(p(t, e, null, B))
            }), e.timeout && !A && (A = setTimeout(function () {
                B.abort(), n(f("timeout of " + e.timeout + "ms exceeded", e, "ECONNABORTED", B))
            }, e.timeout)), e.cancelToken && e.cancelToken.promise.then(function (e) {
                B.aborted || (B.abort(), n(e))
            }), i.isStream(v) ? v.pipe(B) : B.end(v)
        })
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0}), function (e) {
        e.channelRMNewTaskReadyForSetTaskData = "RM_NEWTASK_READYRORSETTASKDATA", e.channelRMNewTaskSetTaskData = "RM_NEWTASK_SETTASKDATA", e.channelRMPreNewTaskSetTaskData = "RM_PRENEWTASK_SETTASKDATA", e.channelRMNewTaskCreateNewTask = "RM_NEWTASK_CREATENEWTASK", e.channelRMNewTaskClose = "RM_NEWTASK_CLOSE", e.channelRMPreNewTaskClose = "RM_PRENEWTASK_CLOSE", e.channelRMNewTaskSetBTInfo = "RM_NEWTASK_SETBTINFO", e.channelRMNewTaskDownloadTorrent = "RM_NEW_TASK_DOWNLOAD_TORRENT", e.channelRMNewTaskCreateBtTask = "RM_NEWTASK_CRATEBTTASK", e.channelRMNewTaskCancleMagnet = "RM_NEWTASK_CANCLE_MAGNET", e.channelRMImportTorrent = "RM_NEWTASK_IMPORT_TORRENT", e.channelRMGetConfigValueResolve = "RM_GET_CONFIG_VALUE_RESOLVE", e.channelRMGetConfigValueReject = "RM_GET_CONFIG_VALUE_REJECT", e.channelRMSetConfigValueReject = "RM_SET_CONFIG_VALUE_REJECT", e.channelMRTrayMenuClick = "MR_TRAY_MENU_CLICK", e.channelMRNewTaskMagnetTaskCreated = "MR_NEW_TASK_MAGNET_TASK_CREATED", e.channelMRNewTaskDownloadTorrentResult = "MR_NEW_TASK_DOWNLOAD_TORRENT_RESULT", e.channelMRNewTaskCreateNewTaskResult = "MR_NEWTASK_CREATENEWTASK_RESULT", e.channelMRNewTaskCreateBtTaskResult = "RM_NEWTASK_CRATEBTTASK_RESULT", e.channelMRGetConfigValue = "MR_GET_CONFIG_VALUE", e.channelMRSetConfigValue = "MR_SET_CONFIG_VALUE", e.channelRMCommitPlanTask = "RM_PLANTASK_COMMIT", e.channelRMPerformePlanTask = "RM_PLANTASK_PERFORME", e.channelRMProcessSend = "RM_RENDER_PROCESS_INFO", e.channelRMGetPrivateSpaceInfo = "RM_RENDER_GET_PRIVATE_SPACE_INFO", e.channelMRGetPrivateSpaceInfoResult = "MR_RENDER_GET_PRIVATE_SPACE_INFO_RESULT", e.channelRMFileCopy = "RM_FILE_COPY", e.channelRMFileMove = "RM_FILE_MOVE", e.channelMRFileCopyResult = "MR_FILE_COPY_RESULT", e.channelMRFileMoveResult = "MR_FILE_MOVE_RESULT", e.channelRMGetSutitleByCid = "RM_RENDER_GET_SUBTITLE_BY_CID", e.channelMRGetSutitleByCidResult = "MR_RENDER_GET_SUBTITLE_BY_CID_RESULT", e.channelRMGetSutitleByName = "RM_RENDER_GET_SUBTITLE_BY_NAME", e.channelMRGetSutitleByNameResult = "MR_RENDER_GET_SUBTITLE_BY_NAME_RESULT", e.channelRMDownloadSutitle = "RM_RENDER_DOWNLOAD_SUBTITLE", e.channelMRDownloadSutitleSuc = "MR_RENDER_DOWNLOAD_SUBTITLE_SUCCESS", e.channelMRDownloadSutitleFail = "MR_RENDER_DOWNLOAD_SUBTITLE_FAIL", e.channelRMGetDisplayName = "RM_RENDER_GET_SUBTITLE_DISPLAYNAME", e.channelMRGetDisplayNameResult = "MR_RENDER_GET_SUBTITLE_DISPLAYNAME_RESULT", e.channelMRBringWindowToTop = "MR_RENDER_BRING_WINDOW_TO_TOP", e.channelRMDownloadXmp = "RM_RENDER_DOWNLOAD_XMP", e.channelRMXmpFixBoxCreated = "RM_RENDER_XMPFIXBOX_CREATED", e.channelMRFixXmpSuc = "MR_RENDER_FIX_XMP_SUC", e.channelMRFixXMPFail = "MR_RENDER_FIX_XMP_FAIL", e.channelRMDownloadXmpEx = "RM_RENDER_DOWNLOAD_XMP_EX", e.channelRMSetPosition = "RM_SET_POSITION", e.channelRMSetFoucs = "RM_SET_FOCUS", e.channelRMCreateAddressDropWnd = "RM_CREATE_ADDRESS_DROPWND", e.channelRMRefreshAddressDropWnd = "RM_REFRESH_ADDRESS_DROPWND", e.channelRMSelectAddressDropItem = "RM_SELECT_ADDRESS_DROPITEM", e.channelRMCreateSearchWindow = "RM_CREATE_SEARCH_WINDOW", e.channelRMShowSearchWindow = "RM_SHOW_SEARCH_WINDOW", e.channelRMAddressKeyDown = "RM_ADDRESS_BAR_KEYDOWN", e.channelMRFWAddressKeyDown = "MR_ADDRESS_FW_BAR_KEYDOWN", e.channelMRFWSelectAddressDropItem = "MR_FW_SELECT_ADDRESS_DROPITEM", e.channelRMAddressDropWndKeyDown = "RM_ADDRESS_DROPWND_KEYDOWN", e.channelRMClickMouse = "RM_CLICK_MOUSE", e.channelMRSearchBarFocusChange = "MR_SEARCHBAR_FOCUS_CHANGE", e.channelMRFWAddressDropWndKeyDown = "MR_FW_ADDRESS_DROPWND_KEYDOWN", e.channelMRClickAddressDropItem = "MR_CLICK_ADDRESS_DROPITEM", e.channelMRMainWndMax = "MR_MAINWINDOW_MAX", e.channelMRMainWndMin = "MR_MAINWINDOW_MIN", e.channelMRMainWndRestore = "MR_MAINWINDOW_RESTORE", e.channelRMGetBrowserStartType = "RM_GET_BROWSER_START_TYPE", e.channelMRGetBrowserStartTypeResult = "MR_GET_BROWSER_START_TYPE_RESULT", e.channelRMExecute = "RM_SHELL_EXECUTE", e.channelMRExecuteResult = "MR_SHELL_EXECUTE_RESULT", e.channelMRAdTipsClick = "MR_AD_TIPS_CLICK", e.channelMRNotificationMsg = "MR_NOTIFICATION_MSG", e.channelRMSetProgressBar = "RM_SET_PROGRESS_BAR", e.channelRMRoundWindow = "RM_ROUND_WINDOW", e.channelMRShowOrHideWindow = "MR_SHOW_OR_HIDE_WINDOW", e.channelMRSuspensionWindowShowOrHide = "MR_SUSPENSION_WINDOW_SHOW_OR_HIDE", e.channelRMConfigInitFinished = "RM_CONFIG_INIT_FINISHED", e.channelRMConfigValueChanged = "RM_CONFIG_VALUE_CHANGED", e.channelRMIndividuationBrowserMsg = "RM_INDIVIDUATION_BROWSER_MSG", e.channelMRIndividuationBrowserMsg = "MR_INDIVIDUATION_BROWSER_MSG", e.channelRMSetEnvironmentVariable = "RM_SET_ENVIRONMENT_VARIABLE", e.channelMREmbedPlayerPos = "MR_EMBED_PLAYER_POSITION", e.channelRMUpdateLogEnviroment = "RM_UPDATE_LOG_ENVIRONMENT", e.channelMRUpdateLogEnviroment = "MR_UPDATE_LOG_ENVIRONMENT"
    }(t.ThunderChannelList || (t.ThunderChannelList = {}))
}, function (e, t, n) {
    e.exports = n(113)
}, function (e, t, n) {
    "use strict";
    var i = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(21), o = n(2), s = n(6), a = n(60), l = s.promisify,
        c = n(1).default.getLogger("Thunder.base.fs-utilities");
    !function (e) {
        function t(e) {
            return i(this, void 0, void 0, function* () {
                let t = !1;
                if (void 0 !== e) {
                    const n = l(r.access);
                    try {
                        yield n(e), t = !0
                    } catch (e) {
                        c.information(e)
                    }
                }
                return t
            })
        }

        function s(e) {
            return i(this, void 0, void 0, function* () {
                let t = !1;
                if (void 0 !== e) {
                    const n = l(r.mkdir);
                    try {
                        yield n(e), t = !0
                    } catch (e) {
                        c.warning(e)
                    }
                }
                return t
            })
        }

        function u(e) {
            return i(this, void 0, void 0, function* () {
                let t = !1;
                if (void 0 !== e) {
                    const n = l(r.rmdir);
                    try {
                        yield n(e), t = !0
                    } catch (e) {
                        c.warning(e)
                    }
                }
                return t
            })
        }

        function d(e) {
            return i(this, void 0, void 0, function* () {
                let t = !1;
                if (void 0 !== e) {
                    const n = l(r.unlink);
                    try {
                        yield n(e), t = !0
                    } catch (e) {
                        c.warning(e)
                    }
                }
                return t
            })
        }

        function h(e) {
            return i(this, void 0, void 0, function* () {
                let t = null;
                if (void 0 !== e) {
                    const n = l(r.readdir);
                    try {
                        t = yield n(e)
                    } catch (e) {
                        c.warning(e)
                    }
                }
                return t
            })
        }

        function f(e) {
            return i(this, void 0, void 0, function* () {
                let t = null;
                if (void 0 !== e) {
                    const n = l(r.lstat);
                    try {
                        t = yield n(e)
                    } catch (e) {
                        c.warning(e)
                    }
                }
                return t
            })
        }

        function p(e, t) {
            return i(this, void 0, void 0, function* () {
                let n = !1;
                if (void 0 !== e && void 0 !== t) {
                    let i = o.join(e, t), r = yield f(i);
                    n = null !== r && r.isDirectory() ? yield A(i) : yield d(i)
                }
                return n
            })
        }

        function A(e) {
            return i(this, void 0, void 0, function* () {
                let n = !1;
                if (void 0 !== e) {
                    if (yield t(e)) {
                        n = !0;
                        let t = (yield h(e)) || [];
                        for (let i = 0; i < t.length; i++) n = (yield p(e, t[i])) && n;
                        (n || 0 === t.length) && (n = (yield u(e)) && n)
                    }
                }
                return n
            })
        }

        function v(e) {
            return i(this, void 0, void 0, function* () {
                let n = !1;
                return c.information("mkdirsAW", e), void 0 !== e && ((yield t(e)) ? n = !0 : o.dirname(e) === e ? n = !1 : (yield v(o.dirname(e))) && (n = yield s(e))), n
            })
        }

        function g(e, n) {
            return i(this, void 0, void 0, function* () {
                let i;
                if (e.toLowerCase() !== n.toLowerCase() && (yield t(e))) {
                    let t = r.createReadStream(e), o = r.createWriteStream(n);
                    i = new Promise(e => {
                        t.pipe(o).on("finish", () => {
                            e(!0)
                        })
                    })
                } else i = new Promise(e => {
                    e(!1)
                });
                return i
            })
        }

        e.readFileAW = function (e) {
            return i(this, void 0, void 0, function* () {
                let t = null;
                if (void 0 !== e) {
                    const n = l(r.readFile);
                    try {
                        t = yield n(e)
                    } catch (e) {
                        c.warning(e)
                    }
                }
                return t
            })
        }, e.readLineAw = function (e) {
            return i(this, void 0, void 0, function* () {
                let n = null;
                do {
                    if (!e) break;
                    if (!t(e)) break;
                    n = yield new Promise(t => {
                        let n = [];
                        const i = r.createReadStream(e), o = a.createInterface({input: i});
                        o.on("line", e => {
                            n.push(e)
                        }), o.on("close", () => {
                            t(n)
                        })
                    })
                } while (0);
                return n
            })
        }, e.writeFileAW = function (e, t) {
            return i(this, void 0, void 0, function* () {
                let n = !1;
                if (void 0 !== e && null !== t) {
                    const i = l(r.writeFile);
                    try {
                        yield i(e, t), n = !0
                    } catch (e) {
                        c.warning(e)
                    }
                }
                return n
            })
        }, e.existsAW = t, e.dirExistsAW = function (e) {
            return i(this, void 0, void 0, function* () {
                let n = !1;
                do {
                    if (!(n = yield t(e))) break;
                    let i = yield f(e);
                    if (!i) break;
                    n = i.isDirectory()
                } while (0);
                return n
            })
        }, e.mkdirAW = s, e.rmdirAW = u, e.unlinkAW = d, e.readdirAW = h, e.lstatAW = f, e.rmdirsAW = A, e.mkdirsAW = v, e.renameAW = function (e, t) {
            return i(this, void 0, void 0, function* () {
                if (void 0 !== e && void 0 !== t) {
                    const n = l(r.rename);
                    try {
                        yield n(e, t)
                    } catch (e) {
                        c.warning(e)
                    }
                }
            })
        }, e.copyFileAW = g, e.copyDirsAW = function e(n, r) {
            return i(this, void 0, void 0, function* () {
                let i = !1, s = yield f(n);
                if (s.isDirectory()) {
                    i = yield v(r);
                    let a = (yield h(n)) || [];
                    for (let l = 0; l < a.length; l++) {
                        let c = o.join(n, a[l]), u = o.join(r, a[l]);
                        (i = yield t(c)) && (i = (s = yield f(c)).isDirectory() ? yield e(c, u) : yield g(c, u))
                    }
                }
                return i
            })
        }, e.mkdtempAW = function () {
            return i(this, void 0, void 0, function* () {
                let e = !1;
                const t = l(r.mkdtemp), i = (yield Promise.resolve().then(() => n(14))).tmpdir();
                try {
                    e = yield t(`${i}${o.sep}`)
                } catch (e) {
                    c.warning(e)
                }
                return e
            })
        }, e.deleteEmptySubDirs = function (e, n) {
            return i(this, void 0, void 0, function* () {
                let i = !0;
                e = o.normalize(e), n = o.normalize(n), e.length > 3 && "\\" === e[e.length - 1] && (e = e.slice(0, e.length - 1)), n.length > 3 && "\\" === n[n.length - 1] && (n = n.slice(0, n.length - 1));
                do {
                    if (0 !== e.indexOf(n)) {
                        i = !1;
                        break
                    }
                    let r = e;
                    for (; r !== n;) {
                        if ((yield t(r)) && !(yield u(r))) {
                            i = !1;
                            break
                        }
                        r = o.dirname(r)
                    }
                } while (0);
                return i
            })
        }, e.getFileSize = function e(n) {
            return i(this, void 0, void 0, function* () {
                let i = 0;
                do {
                    if (!n) break;
                    if (!(yield t(n))) break;
                    let r = yield f(n);
                    if (r) if (r.isDirectory()) {
                        let t = yield h(n);
                        for (let r = 0; r < t.length; r++) i += (yield e(o.join(n, t[r])))
                    } else i = r.size
                } while (0);
                return i
            })
        }, e.isDirectoryEmptyAW = function (e, n = !0) {
            return i(this, void 0, void 0, function* () {
                let i = !0;
                do {
                    if (!e) {
                        i = !1;
                        break
                    }
                    if (!(yield t(e))) {
                        i = n;
                        break
                    }
                    let r = yield f(e);
                    if (!r) {
                        i = !1;
                        break
                    }
                    if (!r.isDirectory()) {
                        i = !1;
                        break
                    }
                    if ((yield h(e)).length > 0) {
                        i = !1;
                        break
                    }
                } while (0);
                return i
            })
        }
    }(t.FileSystemAWNS || (t.FileSystemAWNS = {}))
}, function (e, t) {
    e.exports = require("fs")
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0}), t.information = function (...e) {
    }, t.error = function (...e) {
    }, t.warning = function (...e) {
    }, t.critical = function (...e) {
    }, t.verbose = function (...e) {
    }, "development" === process.env.LOGGER_ENV && (t.information = function (...e) {
        console.log("information", e)
    }, t.error = function (...e) {
        console.log("error", e)
    }, t.warning = function (...e) {
        console.log("warning", e)
    }, t.critical = function (...e) {
        console.log("critical", e)
    }, t.verbose = function (...e) {
        console.log("verbose", e)
    })
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0}), function (e) {
        e.msgIPCCommunicatorForward = "ipc_communicator_forward", e.msgIPCSendToMain = "ipc_send_to_main", e.msgIPCSendToRenderer = "ipc_send_to_renderer", e.msgIPCRendererConnect = "ipc_renderer_connect", e.msgIPCRendererDisconnect = "ipc_renderer_disconnect", e.msgNCCallNativeFunction = "nc_call_native_function", e.msgNCCheckNativeFunction = "nc_check_native_function", e.msgNCCallJsFunctionById = "nc_call_js_function_by_id", e.msgNCCallJsFunctionByName = "nc_call_js_function_by_name", e.msgNCNativeFireEvent = "nc_native_fire_event", e.msgNCNativeCallReady = "nc_native_call_ready"
    }(t.CommonIPCMessage || (t.CommonIPCMessage = {}))
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0}), function (e) {
        let t;
        !function (e) {
            e[e.OK = 0] = "OK", e[e.Cancel = 1] = "Cancel", e[e.Close = 2] = "Close", e[e.Unknow = 3] = "Unknow"
        }(t = e.Action || (e.Action = {}))
    }(t.MessageBoxNS || (t.MessageBoxNS = {}))
}, function (e, t, n) {
    "use strict";
    var i = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(2), o = n(33), s = n(14), a = n(15), l = n(8).default(r.join(__rootDir, "../bin/ThunderHelper.node"));
    !function (e) {
        let t, n;

        function r(e) {
            let t = e;
            return /^[a-zA-Z]:\\/.test(e) ? t = e.slice(0, 3) : e && "\\" !== e[e.length - 1] && (t = e + "\\"), t
        }

        !function (e) {
            e[e.DRIVE_UNKNOWN = 0] = "DRIVE_UNKNOWN", e[e.DRIVE_NO_ROOT_DIR = 1] = "DRIVE_NO_ROOT_DIR", e[e.DRIVE_REMOVABLE = 2] = "DRIVE_REMOVABLE", e[e.DRIVE_FIXED = 3] = "DRIVE_FIXED", e[e.DRIVE_REMOTE = 4] = "DRIVE_REMOTE", e[e.DRIVE_CDROM = 5] = "DRIVE_CDROM", e[e.DRIVE_RAMDISK = 6] = "DRIVE_RAMDISK"
        }(t = e.DriverType || (e.DriverType = {})), function (e) {
            e[e.Unspecified = 0] = "Unspecified", e[e.HDD = 3] = "HDD", e[e.SSD = 4] = "SSD", e[e.SCM = 5] = "SCM"
        }(n = e.MediaType || (e.MediaType = {})), e.getDriveType = function (e) {
            return e = r(e), l.getDriveType(e)
        }, e.getDriveInfo = function (e) {
            return e = r(e), l.getDriveInfo(e)
        }, e.getFreePartitionSpace = function (e) {
            return e = r(e), l.getFreePartitionSpace(e)
        }, e.getLogicalDriveStrings = function () {
            return l.getLogicalDriveStrings()
        }, e.getPartitionSpace = function (e) {
            return e = r(e), l.getPartitionSpace(e)
        }, e.getSystemTempPath = function () {
            return l.getSystemTempPath()
        }, e.getTaskTypeFromUrl = function (e) {
            let t = l.getTaskTypeFromUrl(e);
            if (t === a.DownloadKernel.TaskType.Unkown && function (e) {
                e = e.toLowerCase();
                let t = !1;
                do {
                    if ("http://" === e.substr(0, "http://".length)) {
                        t = !0;
                        break
                    }
                    if ("https://" === e.substr(0, "https://".length)) {
                        t = !0;
                        break
                    }
                    if ("ftp://" === e.substr(0, "ftp://".length)) {
                        t = !0;
                        break
                    }
                } while (0);
                return t
            }(e)) {
                let n = /:\/\/\[(.+?)\].*/.exec(e);
                n || (n = /.+?:\/\/.*?\[(.+?)\].*/.exec(e)), n && n[1] && o.isIPv6(n[1]) && (t = a.DownloadKernel.TaskType.P2sp)
            }
            return t
        }, e.extractIcon = function (e, t) {
            return l.extractIcon(e, t)
        }, e.isWindow7 = function () {
            return 1 === l.isWin7()
        }, e.isWindow8OrLater = function () {
            let e = !1;
            do {
                let t = s.release();
                if (!t) break;
                let n = t.indexOf(".", 0);
                if (n < 0) break;
                let i = t.substring(0, n);
                if (!i) break;
                let r = parseInt(i, 10);
                r && r >= 8 && (e = !0)
            } while (0);
            return e
        }, e.isWindows10 = function () {
            let e = !1;
            do {
                let t = s.release();
                if (!t) break;
                if (0 === t.indexOf("10.0.")) {
                    e = !0;
                    break
                }
            } while (0);
            return e
        }, e.compareStr = function (e, t) {
            return l.compareStr(e, t)
        }, e.getTickCount = function () {
            return l.getTickCount()
        }, e.setScreenSaveActive = function (e, t) {
            return l.setScreenSaveActive(e, t)
        }, e.isSparseDriver = function (e) {
            return e = r(e), l.isSparseDriver(e)
        }, e.getAppList = function () {
            return i(this, void 0, void 0, function* () {
                return new Promise(e => {
                    l.getAppList(t => {
                        e(t)
                    })
                })
            })
        }, e.isSSD = function () {
            return i(this, void 0, void 0, function* () {
                return new Promise(e => {
                    l.isSSD((t, n) => {
                        e(n)
                    })
                })
            })
        }, e.getMemoryInfo = function () {
            return i(this, void 0, void 0, function* () {
                return new Promise(e => {
                    l.getMemoryInfo((t, n) => {
                        e({totalPhy: t, totalVir: n})
                    })
                })
            })
        }, e.getHardDiskSpaceList = function () {
            return i(this, void 0, void 0, function* () {
                return new Promise(e => {
                    l.getHardDiskSpaceList(t => {
                        e(t)
                    })
                })
            })
        }, e.getCpuList = function () {
            return i(this, void 0, void 0, function* () {
                return new Promise(e => {
                    l.getCpuList(t => {
                        e(t)
                    })
                })
            })
        }, e.getFixedDriveMediaType = function (e) {
            return i(this, void 0, void 0, function* () {
                return new Promise(t => {
                    e.length > 1 && (e = e.slice(0, 1)), l.getDriveMediaType(e.toUpperCase(), (e, n) => {
                        t(n)
                    })
                })
            })
        }, e.sleep = function (e) {
            return i(this, void 0, void 0, function* () {
                yield new Promise((t, n) => {
                    setTimeout(t, e)
                })
            })
        }, e.getSystemDirectory = function () {
            return l.getSystemDirectory()
        }, e.getVersionBlockString = function (e, t) {
            return l.getVersionBlockString(e, t)
        }, e.getOwnerName = function (e) {
            return l.getOwnerName(e)
        }
    }(t.ThunderHelper || (t.ThunderHelper = {}))
}, function (e, t, n) {
    e.exports = n(9)(19)
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(5), o = n(16), s = n(81);
    let a = class extends r.Vue {
        constructor() {
            super(...arguments), this.removeDraggable = null
        }

        destroyed() {
            this.removeDraggable()
        }
    };
    a = i([r.Component], a), t.DraggableMixin = a;
    let l = class extends r.Vue {
        constructor() {
            super(...arguments), this.windowWidth = 0, this.windowHeight = 0, this.resizeToFitContent = s.ThunderWindowNS.resizeToFitContent, this.fitWindowPosInParent = s.ThunderWindowNS.fitWindowPosInParent
        }

        get relativeToParent() {
            return !o.ThunderUtil.isDef(this.options.relativeToParent) || this.options.relativeToParent
        }

        mounted() {
            0 === this.windowWidth && (this.windowWidth = this.options.windowWidth || 0), 0 === this.windowHeight && (this.windowHeight = this.options.windowHeight || 0), this.relativeToParent ? this.resizeToFitContent(this.windowWidth, this.windowHeight, this.fitWindowPosInParent).catch() : this.resizeToFitContent(this.windowWidth, this.windowHeight).catch()
        }
    };
    i([r.Prop()], l.prototype, "options", void 0), l = i([r.Component], l), t.PositionMixin = l
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const i = n(3), r = n(6), o = n(22), s = n(23);
    !function (e) {
        e.mainProcessContext = "main-process", e.mainRendererContext = "main-renderer", e.mainPageWebviewRendererContext = "main-page-webview-renderer", e.newTaskRendererContext = "new-task-renderer", e.preNewTaskRendererContext = "pre-new-task-renderer", e.loginRendererContext = "login-renderer";

        class t {
            constructor() {
                this.isConnected = !1, this.isOnIPCEvent = !1, this.rendererInfos = [], this.listeners = new Map, t.intervalIPCModuleMsgs = [s.CommonIPCMessage.msgIPCRendererConnect, s.CommonIPCMessage.msgIPCRendererDisconnect]
            }

            onMessage(e, t) {
                do {
                    if (!r.isString(e) || 0 === e.length) {
                        o.error("msgName is null");
                        break
                    }
                    if (r.isNullOrUndefined(t)) {
                        o.error("listener is null");
                        break
                    }
                    this.listeners.has(e) ? this.listeners.get(e).push(t) : this.listeners.set(e, [t])
                } while (0)
            }

            getCommunicatorInfo() {
                return this.currInfo
            }

            getAllRenderer() {
                return this.rendererInfos
            }

            getCommunicatorInfoById(e) {
                for (let t of this.rendererInfos) if (t.id === e) return t;
                return null
            }

            getCommunicatorInfoByContext(e) {
                for (let t of this.rendererInfos) if (t.context === e) return t;
                return null
            }

            startListenIPCMessage(e) {
                this.isOnIPCEvent || (this.isOnIPCEvent = !0, e && this.ListenSendToMainMsg(), this.ListenSendToRendererMsg(e))
            }

            ListenSendToMainMsg() {
                i.ipcMain.on(s.CommonIPCMessage.msgIPCSendToMain, (e, t) => {
                    let n = void 0;
                    do {
                        if (r.isNullOrUndefined(t)) {
                            o.error("msgInfo is empty");
                            break
                        }
                        if (!this.isConnected) {
                            o.warning("hasnot been connected yet");
                            break
                        }
                        let i = t.msg.name;
                        if (this.isIPCModuleIntervalMsg(i)) {
                            o.information(`IPC module interval msg : ${i}`);
                            let r = this.handleIPCModuleIntervalMsg(e.sender, t);
                            if (n = r[1], !r[0]) break;
                            o.information("need to dispatch msg:" + i)
                        }
                        r.isNullOrUndefined(n) ? n = this.NotifyListener(t) : this.NotifyListener(t)
                    } while (0);
                    r.isNullOrUndefined(n) || (e.returnValue = n), t = null
                })
            }

            ListenSendToRendererMsg(e) {
                (e ? i.ipcMain : i.ipcRenderer).on(s.CommonIPCMessage.msgIPCSendToRenderer, (t, n) => {
                    let i = void 0;
                    do {
                        if (r.isNullOrUndefined(n)) {
                            o.error("msgInfo is empty");
                            break
                        }
                        if (!this.isConnected) {
                            o.warning("hasnot been connected yet");
                            break
                        }
                        let s = n.msg.name;
                        if (this.isIPCModuleIntervalMsg(s)) {
                            o.information(`IPC module interval msg : ${s}`);
                            let e = this.handleIPCModuleIntervalMsg(t.sender, n);
                            if (i = e[1], !e[0]) break;
                            o.information("need to dispatch msg:" + s)
                        }
                        e ? (o.information("is main, handle forward msg"), this.handleForwardRendererToRendererMsg(n)) : (o.information("is renderer, handle business msg"), r.isNullOrUndefined(i) ? i = this.NotifyListener(n) : this.NotifyListener(n))
                    } while (0);
                    r.isNullOrUndefined(i) || (t.returnValue = i), n = null
                })
            }

            isIPCModuleIntervalMsg(e) {
                for (let n of t.intervalIPCModuleMsgs) if (e === n) return !0;
                return !1
            }

            handleIPCModuleIntervalMsg(e, t) {
                let n = [!1, void 0];
                do {
                    let i = t.msg.name;
                    if (i === s.CommonIPCMessage.msgIPCRendererConnect) {
                        n = [!0, this.handleRendererConnectMsg(e, t)];
                        break
                    }
                    if (i === s.CommonIPCMessage.msgIPCRendererDisconnect) {
                        n = [!0, this.handleRendererDisconnectMsg(e, t)];
                        break
                    }
                } while (0);
                return n
            }

            handleRendererConnectMsg(e, t) {
                o.verbose(e), o.verbose(t)
            }

            handleRendererDisconnectMsg(e, t) {
                o.verbose(e), o.verbose(t)
            }

            handleForwardRendererToRendererMsg(e) {
                this.sendForwardRendererToRendererMsg(e)
            }

            sendForwardRendererToRendererMsg(e) {
                o.verbose(e)
            }

            NotifyListener(e) {
                let t = void 0, n = e.msg.name;
                if (this.listeners.has(n)) {
                    let i = this.listeners.get(n), r = !0;
                    for (let n of i) r ? (r = !1, t = n(e)) : n(e)
                }
                return t
            }
        }

        e.Communicator = t
    }(t.CommonIPCBase || (t.CommonIPCBase = {}))
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const i = n(14), r = n(2);
    t.getDefaultPrex = function () {
        return r.basename(process.execPath, ".exe")
    }, t.getSockPath = function (e) {
        const t = i.tmpdir();
        let n = e;
        e || (n = r.basename(process.execPath, ".exe"));
        let o = r.join(t, `${n}-xunlei-node-net-ipc-{FD196984-2591-4588-AA6F-5C8AC1266290}.sock`);
        return "win32" === process.platform && (o = "\\\\.\\pipe\\" + (o = (o = o.replace(/^\//, "")).replace(/\//g, "-"))), o
    }, t.serverContextName = "xunlei-node-net-ipc-server-{46105371-DE78-4442-B59F-FDA1D6D7D430}", t.mainProcessContext = "main-process", t.mainRendererContext = "main-renderer", t.isObjectEmpty = function (e) {
        let t = !0;
        do {
            if (!e) break;
            if (0 === Object.keys(e).length) break;
            t = !1
        } while (0);
        return t
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0}), t.information = ((...e) => {
    }), t.error = ((...e) => {
    }), t.warning = ((...e) => {
    }), t.critical = ((...e) => {
    }), t.verbose = ((...e) => {
    })
}, function (e, t, n) {
    e.exports = n(9)(45)
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const i = n(2), r = n(8).default(i.join(__rootDir, "../bin/ThunderHelper.node"));
    !function (e) {
        function t() {
            let e = !0;
            {
                0;
                let t = i.resolve("C:\\ETW_LOG\\log.ini");
                e = "1" === r.readINI(t, "Log", "enable")
            }
            return e
        }

        e.isDevToolsEnable = function () {
            return t()
        }, e.isLogEnable = t, e.getLogOutput = function () {
            let e = process.env.TL_OUTPUT;
            do {
                if (e && "" !== e) break;
                let t = i.resolve("C:\\ETW_LOG\\log.ini");
                e = r.readINI(t, "Log", "output")
            } while (0);
            return e
        }
    }(t.DevEnvHelperNS || (t.DevEnvHelperNS = {}))
}, function (e, t) {
    e.exports = require("net")
}, function (e, t, n) {
    "use strict";
    var i;
    Object.defineProperty(t, "__esModule", {value: !0}), function (e) {
        let t, n;
        !function (e) {
            e.require = "AR_BROWSER_REQUIRE", e.builtIn = "AR_BROWSER_GET_BUILTIN", e.global = "AR_BROWSER_GET_GLOBAL", e.functionCall = "AR_BROWSER_FUNCTION_CALL", e.construct = "AR_BROWSER_CONSTRUCTOR", e.memberConstruct = "AR_BROWSER_MEMBER_CONSTRUCTOR", e.memberCall = "AR_BROWSER_MEMBER_CALL", e.memberSet = "AR_BROWSER_MEMBER_SET", e.memberGet = "AR_BROWSER_MEMBER_GET", e.currentWindow = "AR_BROWSER_CURRENT_WINDOW", e.currentWebContents = "AR_BROWSER_CURRENT_WEB_CONTENTS", e.clientWebContents = "AR_BROWSER_CLIENT_WEB_CONTENTS", e.webContents = "AR_BROWSER_WEB_CONTENTS", e.sync = "AR_BROWSER_SYNC", e.contextRelease = "AR_BROWSER_CONTEXT_RELEASE"
        }(t = e.browser || (e.browser = {})), function (e) {
            e.requireReturn = "AR_RENDERER_REQUIRE_RETURN", e.getBuiltInReturn = "AR_RENDERER_BUILTIN_RETURN", e.getGlobalReturn = "AR_RENDERER_GLOBAL_RETURN", e.functionCallReturn = "AR_RENDERER_FUNCTION_CALL_RETURN", e.memberConstructReturn = "AR_RENDERER_MEMBER_CONSTRUCTOR_RETURN", e.constructReturn = "AR_RENDERER_CONSTRUCTOR_RETURN", e.memberCallReturn = "AR_RENDERER_MEMBER_CALL_RETURN", e.memberSetReturn = "AR_RENDERER_MEMBER_SET_RETURN", e.memberGetReturn = "AR_RENDERER_MEMBER_GET_RETURN", e.currentWindowReturn = "AR_BROWSER_CURRENT_WINDOW_RETURN", e.currentWebContentsReturn = "AR_RENDERER_CURRENT_WEB_CONTENTS_RETURN", e.clientWebContentsReturn = "AR_RENDERER_CLIENT_WEB_CONTENTS_RETURN", e.webContentsReturn = "AR_RENDERER_WEB_CONTENTS_RETURN", e.syncReturn = "AR_RENDERER_SYNC_RETURN", e.callback = "AR_RENDERER_CALLBACK"
        }(n = e.renderer || (e.renderer = {}))
    }(i || (i = {})), t.default = i
}, function (e, t, n) {
    "use strict";
    var i;
    !function (e) {
        e.getRemoteObjectName = function (e) {
            let t = typeof e;
            if ("function" === t) t = e.name; else if ("object" === t) {
                let t = e.name;
                if ("string" != typeof t) {
                    let n = e.constructor;
                    t = n ? n.name : Object.toString.call(e)
                }
            }
            return t
        }, e.isPromise = function (e) {
            return e && e.then && e.then instanceof Function && e.constructor && e.constructor.reject && e.constructor.reject instanceof Function && e.constructor.resolve && e.constructor.resolve instanceof Function
        }
    }(i || (i = {})), e.exports = i
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const i = n(2), r = n(15);
    let o = ["apk", "pic", "video", "mp4", "rmvb", "wmv", "mpg", "mkv", "mov", "rm", "avi", "flv", "doc", "link", "ppt", "word", "magnetic", "music", "pdf", "rar", "xls", "txt", "unknow", "gif", "ipa", "ipsw", "dll", "chm", "text", "install", "iso"];
    const s = ".xv;.xlmv;.3gp;.3gp2;.3gpp;.3gpp2;.3mm;.3p2;.60d;.787;.aaf;.aep;.aepx;.aet;.aetx;.ajp;.ale;.amv;.amx;.arf;\n  .asf;.asx;.avb;.avd;.avi;.avp;.avs;.avs;.axm;.bdm;.bdmv;.bik;.bix;.bmk;.bnp;.box;.bs4;.bsf;.byu;.camproj;.camrec;.clpi;.cmmp;\n  .cmmtpl;.cmproj;.cmrec;.cpi;.cst;.cvc;.d2v;.d3v;.dat;.dav;.dce;.dck;.ddat;.dif;.dir;.divx;.dlx; .dmb;.dmsm;.dmsm3d;.dmss;.dnc;.dpg;\n  .dream;.dsy;.dv;.dv-avi;.dv4;.dvdmedia;.dvr-ms;.dvx;.dxr;.dzm;.dzp;.dzt;.edl;.evo;.eye;.f4p;.f4v;.fbr;.fbr;.fbz;.fcp;.flc;.flh;\n  .fli;.flv;.flx;.gfp;.gl;.grasp;.gts;.gvi;.gvp;.hdmov;.hkm;.ifo;.imovieproj;.imovieproject;.iva;.ivf;.ivr;.ivs;.izz;.izzy;.jts;.jtv;\n  .k3g;.lrec;.lsf;.lsx;.m15;.m1pg;.m1v;.m21;.m21;.m2a;.m2p;.m2t;.m2ts;.m2v;.m4e;.m4u;.m4v;.m75;.meta;.mgv;.mj2;.mjp;.mjpg;.mkv;.mmv;\n  .mnv;.mod;.modd;.moff;.moi;.moov;.mov;.movie;.mp21;.mp2v;.mp4;.mp4v;.mpe;.mpeg;.mpeg4;.mpf;.mpg;.mpg2;.mpgindex;.mpl;.mpls;\n  .mpsub;.mpv;.mpv2;.mqv;.msdvd;.msh;.mswmm;.mts;.mtv;.mvb;.mvc;.mvd;.mve;.mvp;.mvy;.mxf;.mys;.ncor;.nsv;.nuv;.nvc;.ogm;.ogv;.ogx;.osp;\n  .par;.pds;.pgi;.piv;.pjs;.pmf;.pns;.ppj;.prel;.pro;.prproj;.prtl;.psh;.pssd;.pva;.pvr;.pxv;.qt;.qtch;.qtl;.qtm;.qtz;\n  .r3d;.rcproject;.rdb;.rec;.rm;.rmd;.rmp;.rms;.rmvb;.roq;.rp;.rts;.rts;.rum;.rv;.sbk;.sbt;.scc;.scm;.scn;.screenflow;.sec;.seq;.sfd;\n  .sfvidcap;.smk;.sml;.smv;.spl;.ssm;.stl;.str;.stx;.svi;.swf;.swi;.swt;.tda3mt;.tivo;.tix;.tod;.tp;.tp0;.tpd;\n  .tpr;.trp;.ts;.tts;.tvs;.vc1;.vcpf;.vcr;.vcv;.vdo;.vdr;.veg;.vem;.vf;.vfw;.vfz;.vgz;.vid;.viewlet;.viv;.vivo;.vlab;.vob;.vp3;.vp6;.vp7;\n  .vro;.vs4;.vse;.vsp;.w32;.wcp;.webm;.wlmp;.wm;.wmd;.wmmp;.wmv;.wmx;.wp3;.wpl;.wtv;.wvx;.xfl;.xvid;.yuv;.zm1;.zm2;.zm3;.zmv;",
        a = ".exe;.com;.bat;.msi;.apk;.ipa;.iso;.mds;.bin;.img;.ipsw;",
        l = ".txt;.html;.htm;.shtml;.xhtml;.chm;.hlp;.inf;.rtf;.tex;.ltx;.doc;.docx;.wps;.ppt;.pptx;.odf;.pdf;.xls;.xlsx;.docm;.\n  dot;.dotm;.dotx;.email;.rp;.pps;.et;.ett;.xlt;.dbf;.prn;.csv;.mht;.mhtml;.xml;.wpt;.dps;.dpt;.pot;.ppsx;.epub;.mobi;.lit;.wdl;.ceb;.abm;\n  .pdg;.umb;.ibooks;",
        c = ".aiff;.cue;.m3u;.au;.cdda;.raw;.wav;.flac;.tak;.mp3;.aac;.wma;.m4a;.mid;.mka;.mp2;.mpa;.mpc;.ape;.ofr;\n  .ogg;.ra;.wv;.tta;.ac3;.dts;.nsf;.mod;.s3m;.xm;.it;.vst;",
        u = ".psd;.tga;.gif;.jpeg;.jpg;.jp2;.bmp;.ico;.pcx;.png;.pbm;.pgm;.ppm;.pnm;.pgf;.arw;.cr2;.crw;.dcr;.dng;.erf;.kdc;.mef;\n  .mos;.mrw;.nef;.nrw;.orf;.pef;.ptx;.r3d;.raf;.raw;.rw2;.srf;.srw;.x3f;.ras;.tiff;.tif;.wbmp;.ilbm;.lbm;.iff;.ico;",
        d = ".zip;.zipx;.rar;.7z;.isz;.cab;.arj;.ace;.alz;.uue;.tar;.gz; .gzip;.tgz;.tpz;.bzip2;.bz2;.bz;.tbz;.tbz2;.xz;.txz;\n  .lzh;.lha;.zt;.az; .xpi;.jar;.wim;.swm;.rpm;.xar;.deb;.dmg;.hfs;.cpio;.lzma;.lzma86;.split;",
        h = ".torrent;", f = ".idx;.smi;.sub;.psb;.ssa;.ass;.usf;.ssf;.srt;.sup",
        p = ".3gp;.asf;.avi;.divx;.f4v;.flv;.mkv;.mov;.movie;.mp4;.mpeg;.mpeg4;.mpg;.mpg2;.rm;.rmvb;.rp;.swf;.tp;.tp0;.ts;.wmv",
        A = ".exe;.com;.bat;.msi", v = ".wav;.flac;.mp3;.aac;.wma;.m4a;.mid;.ape;.ogg;.ra;.mod",
        g = ".psd;.tga;.gif;.jpeg;.jpg;.jp2;.bmp;.ico;.pcx;.pdf;.png;.pbm;.pgm;.ppm;.pnm;.pgf;.arw;.cr2;.crw;.dcr;.dng;.erf;.kdc;\n  .mef;.mos;.mrw;.nef;.nrw;.orf;.pef;.ptx;.r3d;.raf;.raw;.rw2;.srf;.srw;.x3f;.ras;.tiff;.tif;.wbmp;.ilbm;.lbm;.iff;.ico",
        m = ".txt;.html;.htm;.shtml;.xhtml;.chm;.hlp;.inf;.rtf;.tex;.ltx;.doc;.docx;.wps;.ppt;.pptx;.odf;.pdf;.xls;.xlsx;.docm;.dot;.dotm;.dotx;.email;.rp;.pps",
        C = ".rar;.tar;.zip;.gzip;.cab;.uue;.arj;.bz2;.lzh;.jar;.ace;.iso;.7-zip;.7z",
        y = ".asf;.mpg;.rmvb;.rm;.wmv;.avi;.mp4;.mpeg;.mkv;.mov;.ts;.flv;.3gp;.m2ts;",
        w = ".exe;.com;.bat;.scr;.lnk;.pif;.wsh;", b = ".iso;";
    !function (e) {
        let t;

        function n(e) {
            let n = t.Unkown, r = i.extname(e);
            return null !== r && void 0 !== r && r.length >= 2 && (r = r.toLowerCase()), void 0 === r || "" === r || r.length < 2 ? n = t.Unkown : p.indexOf(r) > -1 ? n = t.Video : A.indexOf(r) > -1 ? n = t.Software : m.indexOf(r) > -1 ? n = t.Doc : v.indexOf(r) > -1 ? n = t.Music : g.indexOf(r) > -1 ? n = t.Pic : C.indexOf(r) > -1 && (n = t.Zip), r.length > 1 && ".z" === r.slice(0, 2) && /[0-9]+/.test(r.substring(2)) && (n = t.Zip), n
        }

        e.getTaskIcon = function (e, t, n) {
            n = n || "xly-type-";
            let p = "";
            do {
                if (t === r.DownloadKernel.TaskType.Bt) {
                    p = "bt-file";
                    break
                }
                if (t === r.DownloadKernel.TaskType.Group) {
                    p = "group";
                    break
                }
                p = "unknown";
                let n = i.extname(e);
                if ("" === n || n.length < 2) break;
                let A = (n = n.toLowerCase()).substring(1);
                if (o.indexOf(A) > -1) {
                    p = "doc" === n ? "word" : A;
                    break
                }
                if (n += ";", s.indexOf(n) > -1) {
                    p = "video";
                    break
                }
                if (a.indexOf(n) > -1) {
                    p = "install", [".mds", ".bin", ".img"].indexOf(n) > -1 && (p = "iso");
                    break
                }
                if (l.indexOf(n) > -1) {
                    if (p = "doc", [".htm", ".html", ".mht"].indexOf(n) > -1) {
                        p = "link";
                        break
                    }
                    if ("docx" === n) {
                        p = "word";
                        break
                    }
                    if ("xlsx" === n) {
                        p = "xls";
                        break
                    }
                    if ("pptx" === n) {
                        p = "ppt";
                        break
                    }
                    break
                }
                if (c.indexOf(n) > -1) {
                    p = "music";
                    break
                }
                if (u.indexOf(n) > -1) {
                    p = "pic";
                    break
                }
                if (d.indexOf(n) > -1) {
                    p = "rar";
                    break
                }
                if (h.indexOf(n) > -1) {
                    p = "bt-link";
                    break
                }
                if (f.indexOf(n) > -1) {
                    p = "text";
                    break
                }
            } while (0);
            return `${n}${p}`
        }, function (e) {
            e[e.Unkown = 0] = "Unkown", e[e.Video = 1] = "Video", e[e.Software = 2] = "Software", e[e.Doc = 3] = "Doc", e[e.Music = 4] = "Music", e[e.Pic = 5] = "Pic", e[e.Zip = 6] = "Zip", e[e.Bt = 7] = "Bt"
        }(t = e.FileExtType || (e.FileExtType = {})), e.getTaskFileType = function (e, n) {
            let r = t.Unkown;
            return void 0 === n && void 0 !== e && (n = i.extname(e)), null !== n && void 0 !== n && n.length >= 2 && (n = n.toLowerCase(), n += ";"), void 0 === n || "" === n || n.length < 3 ? r = t.Unkown : s.indexOf(n) > -1 ? r = t.Video : a.indexOf(n) > -1 ? r = t.Software : l.indexOf(n) > -1 ? r = t.Doc : c.indexOf(n) > -1 ? r = t.Music : u.indexOf(n) > -1 ? r = t.Pic : d.indexOf(n) > -1 ? r = t.Zip : h.indexOf(n) > -1 && (r = t.Bt), n.length > 1 && ".z" === n.slice(0, 2) && /[0-9]+/.test(n.substring(2)) && (r = t.Zip), r
        }, e.isVideoFileExt = function (e) {
            let t = !1;
            do {
                if (null === e || void 0 === e || "" === e) break;
                let n = i.extname(e);
                if (!(null !== n && void 0 !== n && n.length >= 2)) break;
                n = n.toLowerCase(), n += ";", y.indexOf(n) > -1 && (t = !0)
            } while (0);
            return t
        }, e.isSubtitleExt = function (e) {
            let t = !1;
            do {
                if (null === e || void 0 === e || "" === e) break;
                let n = i.extname(e);
                if (!(null !== n && void 0 !== n && n.length >= 2)) break;
                n = n.toLowerCase(), n += ";", f.indexOf(n) > -1 && (t = !0)
            } while (0);
            return t
        }, e.isExecutableExt = function (e) {
            let t = !1;
            do {
                if (null === e || void 0 === e || "" === e) break;
                let n = i.extname(e);
                if (!(null !== n && void 0 !== n && n.length >= 2)) break;
                n = n.toLowerCase(), n += ";", w.indexOf(n) > -1 && (t = !0)
            } while (0);
            return t
        }, e.isIsoExt = function (e) {
            let t = !1;
            do {
                if (null === e || void 0 === e || "" === e) break;
                let n = i.extname(e);
                if (!(null !== n && void 0 !== n && n.length >= 2)) break;
                n = n.toLowerCase(), n += ";", b.indexOf(n) > -1 && (t = !0)
            } while (0);
            return t
        }, e.getGroupFileType = n, e.getDefaultGroupPrefix = function (e) {
            let i = "任务组";
            do {
                if (void 0 === e || null === e || 0 === e.length) break;
                let r = [];
                for (let e = 0; e < 7; e++) r[e] = 0;
                for (let t of e) {
                    let e = n(t);
                    r[e] = r[e] + 1
                }
                let o = t.Unkown;
                for (let e = 1; e < r.length; e++) r[e] > r[o] && (o = e);
                o === t.Video ? i = "视频任务组" : o === t.Software ? i = "程序任务组" : o === t.Music ? i = "音乐任务组" : o === t.Pic ? i = "图片任务组" : o === t.Doc ? i = "文档任务组" : o === t.Zip && (i = "压缩包任务组")
            } while (0);
            return i
        }, e.compareVersion = function (e, t) {
            let n = -2;
            do {
                if (null === e || void 0 === e || "" === e || null === t || void 0 === t || "" === t) break;
                let i = 0, r = 0, o = 0, s = 0, a = 0, l = 0, c = 0, u = 0, d = e.split(/\./);
                if (null === d || void 0 === d || d.length < 3) break;
                if (i = Number(d[0]), r = Number(d[1]), o = Number(d[2]), null !== d[3] && void 0 !== d[3] && "" !== d[3] && (s = Number(d[3])), null === (d = t.split(/\./)) || void 0 === d || d.length < 3) break;
                if (a = Number(d[0]), l = Number(d[1]), c = Number(d[2]), null !== d[3] && void 0 !== d[3] && "" !== d[3] && (u = Number(d[3])), a > i) {
                    n = 1;
                    break
                }
                if (a < i) {
                    n = -1;
                    break
                }
                if (l > r) {
                    n = 1;
                    break
                }
                if (l < r) {
                    n = -1;
                    break
                }
                if (c > o) {
                    n = 1;
                    break
                }
                if (c < o) {
                    n = -1;
                    break
                }
                if (0 !== s) {
                    if (u > s) {
                        n = 1;
                        break
                    }
                    if (u < s) {
                        n = -1;
                        break
                    }
                }
                n = 0
            } while (0);
            return n
        }
    }(t.TaskUtilHelper || (t.TaskUtilHelper = {}))
}, function (e, t) {
    e.exports = require("url")
}, function (e, t) {
    e.exports = require("crypto")
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const i = n(3), r = n(6), o = n(22), s = n(23), a = n(28);
    !function (e) {
        class t extends a.CommonIPCBase.Communicator {
            constructor() {
                super()
            }

            initialize(e) {
                this.currInfo = {id: void 0, context: e, isMainCommunicator: !1}
            }

            connect() {
                this.isConnected ? o.warning("has been connected") : (this.sendConnectMsgToMain(), this.isConnected = !0, this.startListenIPCMessage(!1))
            }

            disconnect() {
                this.isConnected ? (this.isConnected = !1, this.sendDisconnectMsgToMain()) : o.warning("hasnot been connected yet")
            }

            sendMessageToMain(e) {
                this.sendIPCMsgToMain(e)
            }

            sendMessageToMainSync(e) {
                return this.sendIPCMsgToMain(e, !0)
            }

            sendMessageToRenderer(e, t) {
                this.sendIPCMsgToRenderer(e, t)
            }

            handleRendererConnectMsg(e, t) {
                do {
                    if (r.isNullOrUndefined(t)) {
                        o.error("msgInfo is null");
                        break
                    }
                    let e = t.msg.args[0];
                    if (r.isNullOrUndefined(e)) {
                        o.error("connectRendererInfo is null");
                        break
                    }
                    o.information(`Renderer: new renderer will connect, id = ${e.id}, context = ${e.context}`), this.rendererInfos.push(e)
                } while (0)
            }

            handleRendererDisconnectMsg(e, t) {
                do {
                    if (r.isNullOrUndefined(t)) {
                        o.error("msgInfo is null");
                        break
                    }
                    let e = t.msg.args[0];
                    if (r.isNullOrUndefined(e)) {
                        o.error("disconnectRendererInfo is null");
                        break
                    }
                    o.information(`renderer will disconnect, id = ${e.id}, context = ${e.context}`);
                    for (let t = 0; t < this.rendererInfos.length; ++t) if (this.rendererInfos[t] === e) {
                        this.rendererInfos.splice(t, 1);
                        break
                    }
                } while (0)
            }

            sendConnectMsgToMain() {
                let e = this.sendMessageToMainSync({name: s.CommonIPCMessage.msgIPCRendererConnect, args: []});
                this.currInfo.id = e[0], this.rendererInfos = e[1]
            }

            sendDisconnectMsgToMain() {
                this.sendMessageToMain({name: s.CommonIPCMessage.msgIPCRendererDisconnect, args: []})
            }

            sendIPCMsgToMain(e, t = !1) {
                let n = void 0;
                do {
                    if (r.isNullOrUndefined(e)) {
                        o.error("msg is null");
                        break
                    }
                    n = (t ? i.ipcRenderer.sendSync : i.ipcRenderer.send)(s.CommonIPCMessage.msgIPCSendToMain, {
                        msg: e,
                        senderInfo: this.currInfo
                    })
                } while (0);
                return n
            }

            sendIPCMsgToRenderer(e, t) {
                do {
                    if (r.isNullOrUndefined(e)) {
                        o.error("rendererId is null");
                        break
                    }
                    if (r.isNullOrUndefined(t)) {
                        o.error("msg is null");
                        break
                    }
                    let n = [e].concat(t.args);
                    t.args = n, i.ipcRenderer.send(s.CommonIPCMessage.msgIPCSendToRenderer, {
                        msg: t,
                        senderInfo: this.currInfo
                    })
                } while (0)
            }
        }

        e.RendererCommunicator = t, e.rendererCommunicator = new t
    }(t.CommonIPCRenderer || (t.CommonIPCRenderer = {}))
}, function (e, t) {
    e.exports = require("https")
}, function (e, t) {
    e.exports = require("buffer")
}, function (e, t, n) {
    "use strict";
    const i = n(13);
    if ("renderer" === process.type) {
        if (i.info("client running"), !global.__xdasAsyncRemoteExports) {
            let e = {};
            global.__xdasAsyncRemoteExports = e;
            let t = n(53);
            e.require = t.remoteRequire, e.getCurrentWebContents = t.getCurrentWebContents, e.getCurrentWindow = t.getCurrentWindow, e.Interest = t.Interest, e.global = new Proxy({}, {get: (e, n, i) => t.getGlobal(n)}), e.electron = new Proxy({}, {get: (e, n, i) => t.getBuiltin(n)}), Object.defineProperty(e, "currentWindow", {get: () => t.getCurrentWindow()}), Object.defineProperty(e, "currentWebContents", {get: () => t.getCurrentWebContents()}), Object.defineProperty(e, "process", {get: () => t.getGlobal("process")}), Object.defineProperty(e, "webContents", {get: () => t.getWebContents()})
        }
    } else if ("browser" === process.type && (i.info("server running"), !global.__xdasAsyncRemoteExports)) {
        let e = {};
        global.__xdasAsyncRemoteExports = e;
        const t = n(57);
        t.startServer(), e.getObjectRegistry = t.getObjectRegistry
    }
    e.exports = global.__xdasAsyncRemoteExports
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const i = n(6), r = n(22), o = n(23), s = n(28), a = n(39);
    !function (e) {
        let t;
        !function (e) {
            e[e.Unknown = -1] = "Unknown", e[e.Success = 0] = "Success", e[e.FunctionNotExist = 1] = "FunctionNotExist", e[e.ParamaterError = 2] = "ParamaterError", e[e.CallFailed = 3] = "CallFailed"
        }(t = e.NativeCallErrorCode || (e.NativeCallErrorCode = {}));

        class n {
            constructor(e, t, n) {
                this.maxId = e, this.minId = t, this.invalidId = n
            }

            generateId() {
                return this.minId === this.maxId ? this.invalidId : this.minId++
            }

            isInvalidId(e) {
                return e === this.invalidId
            }
        }

        e.IdGenerator = n;
        const l = 0;
        e.idGenerator = new n(1e7, 1, l);

        class c {
            constructor() {
                this.jsCallbacks = new Map, this.jsReturnCallbacks = new Map, this.eventJsCallbakcs = new Map, this.jsRegisterFunctions = new Map, this.targetCommunitorInfo = a.CommonIPCRenderer.rendererCommunicator.getCommunicatorInfoByContext(s.CommonIPCBase.mainRendererContext), this.bindMsgListeners(), this.notifyNativeCallReady()
            }

            CallNativeFunction(t, ...n) {
                do {
                    if (i.isNullOrUndefined(t) || 0 === t.length) {
                        r.error("funcName is empty");
                        break
                    }
                    if (!this.targetCommunitorInfo) {
                        r.error("CallNativeFunction but targetCommunitorInfo null");
                        break
                    }
                    r.information("funcName = ", t), this.printArgs(n);
                    let s = l;
                    for (let t = 0; t < n.length; ++t) if (i.isFunction(n[t])) {
                        let i = e.idGenerator.generateId(), r = n[t];
                        t === n.length - 1 ? (this.jsReturnCallbacks.set(i, r), s = i, n.pop()) : (this.jsCallbacks.set(i, r), n[t] = i)
                    }
                    a.CommonIPCRenderer.rendererCommunicator.sendMessageToRenderer(this.targetCommunitorInfo.id, {
                        name: o.CommonIPCMessage.msgNCCallNativeFunction,
                        args: [t, s].concat(n)
                    })
                } while (0)
            }

            AttachNativeEvent(t, n) {
                let o = void 0;
                do {
                    if (i.isNullOrUndefined(t) || 0 === t.length) {
                        r.error("eventName is empty");
                        break
                    }
                    if (i.isNullOrUndefined(n)) {
                        r.error("callback is empty");
                        break
                    }
                    let s = e.idGenerator.generateId();
                    if (e.idGenerator.isInvalidId(s)) {
                        r.error("id error");
                        break
                    }
                    if (this.eventJsCallbakcs.has(t)) this.eventJsCallbakcs.get(t).set(s, n); else {
                        let e = new Map;
                        e.set(s, n), this.eventJsCallbakcs.set(t, e)
                    }
                    o = s
                } while (0);
                return o
            }

            DetachNativeEvent(e, t) {
                do {
                    if (i.isNullOrUndefined(e) || 0 === e.length) {
                        r.error("eventName is empty");
                        break
                    }
                    if (i.isNullOrUndefined(t)) {
                        r.error("callback is empty");
                        break
                    }
                    if (!this.eventJsCallbakcs.has(e)) {
                        r.error(`event: ${e} doesnot have listener`);
                        break
                    }
                    if (!this.eventJsCallbakcs.get(e).has(t)) {
                        r.error(`event: ${e} doesnot have the listener of id=${t}`);
                        break
                    }
                    this.eventJsCallbakcs.get(e).delete(t)
                } while (0)
            }

            CheckNativeFunction(t, n) {
                do {
                    if (i.isNullOrUndefined(t) || 0 === t.length) {
                        r.error("funcName is empty");
                        break
                    }
                    if (i.isNullOrUndefined(n)) {
                        r.error("callback is empty");
                        break
                    }
                    if (!this.targetCommunitorInfo) {
                        r.error("CheckNativeFunction but targetCommunitorInfo null");
                        break
                    }
                    r.information("funcName = ", t);
                    let s = e.idGenerator.generateId();
                    this.jsReturnCallbacks.set(s, n), a.CommonIPCRenderer.rendererCommunicator.sendMessageToRenderer(this.targetCommunitorInfo.id, {
                        name: o.CommonIPCMessage.msgNCCheckNativeFunction,
                        args: [t, s]
                    })
                } while (0)
            }

            RegisterJSFunction(e, n) {
                let o = t.ParamaterError;
                do {
                    if (i.isNullOrUndefined(e) || 0 === e.length) {
                        r.error("funcName is empty");
                        break
                    }
                    if (i.isNullOrUndefined(n)) {
                        r.error("jsFunc is empty");
                        break
                    }
                    this.jsRegisterFunctions.set(e, n), o = t.Success
                } while (0);
                return o
            }

            bindMsgListeners() {
                a.CommonIPCRenderer.rendererCommunicator.onMessage(o.CommonIPCMessage.msgNCCallJsFunctionById, e => {
                    this.handleCallJsFunctionById(e.msg.args)
                }), a.CommonIPCRenderer.rendererCommunicator.onMessage(o.CommonIPCMessage.msgNCCallJsFunctionByName, e => {
                    this.handleCallJsFunctionByName(e.msg.args)
                }), a.CommonIPCRenderer.rendererCommunicator.onMessage(o.CommonIPCMessage.msgNCNativeFireEvent, e => {
                    this.handleNativeFireEvent(e.msg.args)
                })
            }

            handleCallJsFunctionById(t) {
                do {
                    let n = t[0];
                    if (!i.isNumber(n)) {
                        r.error(`id error id = ${n}`);
                        break
                    }
                    if (e.idGenerator.isInvalidId(n)) {
                        r.error(`id = ${n} invalid`);
                        break
                    }
                    let o = null, s = 0;
                    if (this.jsCallbacks.has(n) && (s = 1, o = this.jsCallbacks.get(n)), this.jsReturnCallbacks.has(n) && (s = 2, o = this.jsReturnCallbacks.get(n)), 0 === s) {
                        r.error(`callbacks[${n}] is null`);
                        break
                    }
                    t.splice(0, 1), o.apply(null, t), 2 === s && this.jsReturnCallbacks.delete(n)
                } while (0)
            }

            handleCallJsFunctionByName(e) {
                do {
                    let t = e[0];
                    if (!i.isString(t)) {
                        r.error(`funcName error funcName = ${t}`);
                        break
                    }
                    if (!this.jsRegisterFunctions.has(t)) {
                        r.error(`jsRegisterFunctions[${t}] is null`);
                        break
                    }
                    e.splice(0, 1), this.jsRegisterFunctions.get(t).apply(null, e)
                } while (0)
            }

            handleNativeFireEvent(e) {
                do {
                    let t = e[0];
                    if (!i.isString(t)) {
                        r.warning(`eventName error eventName = ${t}`);
                        break
                    }
                    if (!this.eventJsCallbakcs.has(t)) {
                        r.warning(`eventJsCallbakcs[${t}] is null`);
                        break
                    }
                    e.shift(), this.eventJsCallbakcs.get(t).forEach((t, n, o) => {
                        r.information(`value = ${t}, key = ${n}, map = ${o}`), i.isNullOrUndefined(t) || t.apply(null, e)
                    })
                } while (0)
            }

            notifyNativeCallReady() {
                do {
                    if (!this.targetCommunitorInfo) {
                        r.error("notifyNativeCallReady but targetCommunitorInfo null");
                        break
                    }
                    a.CommonIPCRenderer.rendererCommunicator.sendMessageToRenderer(this.targetCommunitorInfo.id, {
                        name: o.CommonIPCMessage.msgNCNativeCallReady,
                        args: [a.CommonIPCRenderer.rendererCommunicator.getCommunicatorInfo()]
                    })
                } while (0)
            }

            printArgs(e) {
                for (let t in e) r.information(`index ${t} = `, e[t])
            }
        }

        e.NativeCallImpl = c, e.nativeCall = new c
    }(t.NativeCallModule || (t.NativeCallModule = {}))
}, function (e, t) {
    e.exports = require("http")
}, function (e, t, n) {
    "use strict";
    var i = n(10), r = n(116), o = {"Content-Type": "application/x-www-form-urlencoded"};

    function s(e, t) {
        !i.isUndefined(e) && i.isUndefined(e["Content-Type"]) && (e["Content-Type"] = t)
    }

    var a, l = {
        adapter: ("undefined" != typeof XMLHttpRequest ? a = n(117) : "undefined" != typeof process && (a = n(17)), a),
        transformRequest: [function (e, t) {
            return r(t, "Content-Type"), i.isFormData(e) || i.isArrayBuffer(e) || i.isBuffer(e) || i.isStream(e) || i.isFile(e) || i.isBlob(e) ? e : i.isArrayBufferView(e) ? e.buffer : i.isURLSearchParams(e) ? (s(t, "application/x-www-form-urlencoded;charset=utf-8"), e.toString()) : i.isObject(e) ? (s(t, "application/json;charset=utf-8"), JSON.stringify(e)) : e
        }],
        transformResponse: [function (e) {
            if ("string" == typeof e) try {
                e = JSON.parse(e)
            } catch (e) {
            }
            return e
        }],
        timeout: 0,
        xsrfCookieName: "XSRF-TOKEN",
        xsrfHeaderName: "X-XSRF-TOKEN",
        maxContentLength: -1,
        validateStatus: function (e) {
            return e >= 200 && e < 300
        }
    };
    l.headers = {common: {Accept: "application/json, text/plain, */*"}}, i.forEach(["delete", "get", "head"], function (e) {
        l.headers[e] = {}
    }), i.forEach(["post", "put", "patch"], function (e) {
        l.headers[e] = i.merge(o)
    }), e.exports = l
}, function (e, t, n) {
    "use strict";
    var i = n(67);
    e.exports = function (e, t, n, r, o) {
        var s = new Error(e);
        return i(s, t, n, r, o)
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const i = n(51), r = n(12);
    t.Parser = class extends r.EventEmitter {
        constructor() {
            super(), this.decoder = new i.StringDecoder("utf8"), this.jsonBuffer = ""
        }

        encode(e) {
            return JSON.stringify(e) + "\n"
        }

        feed(e) {
            let t = this.jsonBuffer, n = 0, i = (t += this.decoder.write(e)).indexOf("\n", n);
            for (; i >= 0;) {
                const e = t.slice(n, i), r = JSON.parse(e);
                this.emit("message", r), n = i + 1, i = t.indexOf("\n", n)
            }
            this.jsonBuffer = t.slice(n)
        }
    }
}, function (e, t) {
    e.exports = require("zlib")
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const i = n(2), r = n(6), o = n(1), s = n(8), a = n(32), l = n(3), c = n(18),
        u = s.default(i.join(__rootDir, "../bin/ThunderHelper.node"));

    function d() {
        "console" === process.env.TL_OUTPUT ? o.default.outputLogger = o.outputLoggerConsole : o.default.outputLogger = function () {
            function e(e) {
                return function (...t) {
                    u.printEtwLog(e, function (...e) {
                        return e.map(e => r.inspect(e)).join(" ").replace(/%/g, "%%")
                    }(...t))
                }
            }

            return {
                [o.LogLevel.Critical]: e(o.LogLevel.Critical),
                [o.LogLevel.Error]: e(o.LogLevel.Error),
                [o.LogLevel.Warning]: e(o.LogLevel.Warning),
                [o.LogLevel.Information]: e(o.LogLevel.Information),
                [o.LogLevel.Verbose]: e(o.LogLevel.Verbose)
            }
        }()
    }

    function h() {
        let e = a.DevEnvHelperNS.isLogEnable();
        "1" === process.env.TL_ENABLE !== e && (process.env.TL_ENABLE = e ? "1" : "0", o.default.enableLogger = e, u.enableETWLogger(e));
        let t = a.DevEnvHelperNS.getLogOutput();
        t && t !== process.env.TL_OUTPUT && (process.env.TL_OUTPUT = t, d())
    }

    process.env.TL_ENABLE = "0", o.default.enableLogger = "1" === process.env.TL_ENABLE, d(), h(), "browser" === process.type ? l.ipcMain.on(c.ThunderChannelList.channelRMUpdateLogEnviroment, () => {
        l.BrowserWindow.getAllWindows().forEach(e => {
            e.isDestroyed() || e.webContents.send(c.ThunderChannelList.channelMRUpdateLogEnviroment)
        }), h()
    }) : "renderer" === process.type && l.ipcRenderer.on(c.ThunderChannelList.channelMRUpdateLogEnviroment, () => {
        h()
    })
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const i = n(33), r = n(12), o = n(30), s = n(47), a = n(29);
    t.Client = class extends r.EventEmitter {
        constructor(e) {
            if (e = e || {}, super(), this.inprocess = !1, this.context = void 0, e.context && (this.context = Object.assign({}, e.context), this.context.productId = e.socketPrex), e.socket) this.socket = e.socket, this.bind(); else if (global.__xdasIPCServer && global.__xdasIPCServer.getProductId().toLowerCase() === e.socketPrex.toLowerCase()) this.inprocess = !0; else {
                let t = a.getSockPath(e.socketPrex);
                this.socket = i.connect(t), this.bind()
            }
        }

        isInprocess() {
            return this.inprocess
        }

        getContext() {
            return this.context
        }

        bind() {
            const e = new s.Parser, t = this.socket;
            t.on("data", t => {
                e.feed(t)
            }), t.on("connect", () => {
                this.emit("connect")
            }), t.on("end", () => {
                o.information("socket is ended"), this.socket = null, this.emit("end")
            }), t.on("error", e => {
                this.socket = null, this.emit("error", e)
            }), e.on("message", e => {
                this.emit("message", e)
            }), this.parser = e
        }

        send(e) {
            if (this.socket) try {
                this.socket.write(this.parser.encode(e))
            } catch (e) {
                o.error(e.message)
            } else o.information("This socket has been ended by the other party", this.context && this.context.name)
        }
    }
}, function (e, t) {
    e.exports = require("string_decoder")
}, function (e, t, n) {
    "use strict";
    var i = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(14), o = (n(21), n(2)), s = n(6);
    let a = null;
    const l = n(11), c = n(3), u = n(1), d = n(8), h = n(18), f = n(7), p = "xdas_profile_stat";
    let A = "", v = void 0, g = null, m = void 0, C = null,
        y = d.default(o.join(__rootDir, "../bin/ThunderHelper.node")), w = new Set;

    function b() {
        return i(this, void 0, void 0, function* () {
            return new Promise(e => i(this, void 0, void 0, function* () {
                void 0 === m && (null === C && (C = new Promise(e => {
                    e(m = function (e) {
                        let t = "";
                        if (0 === e.length && "renderer" === process.type) {
                            let e = o.normalize(decodeURIComponent(window.location.href)),
                                n = e.indexOf(process.resourcesPath);
                            n = n > -1 ? n + process.resourcesPath.length + 1 : n;
                            let i = e.length - 1, r = e.indexOf("?"), s = e.indexOf("#");
                            i = r > -1 ? Math.min(r - 1, i) : i, i = s > -1 ? Math.min(s - 1, i) : i, n > -1 && i >= n && (t = e.substr(n, i - n + 1))
                        }
                        return 0 === t.length && (t = 0 !== e.length ? e : process.type), t = t.replace(/\||,|;/g, "_")
                    }(""))
                })), m = yield C), e(m)
            }))
        })
    }

    function x(e) {
        let t = "";
        do {
            if (null === e || void 0 === e) break;
            switch (typeof e) {
                case"string":
                    t = e;
                    break;
                case"object":
                    t = s.inspect(e) || "";
                    break;
                case"number":
                case"boolean":
                    t = e.toString() || ""
            }
        } while (0);
        return t
    }

    function E(e) {
        return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")
    }

    function I(e) {
        return i(this, void 0, void 0, function* () {
            return new Promise(t => i(this, void 0, void 0, function* () {
                let i = void 0;
                null === a && (a = yield Promise.resolve().then(() => n(38)));
                let r = a.createHash("md5");
                null !== r && (i = r.update(e).digest("hex")), t(i)
            }))
        })
    }

    function S() {
        return new Promise(e => i(this, void 0, void 0, function* () {
            let t = "";
            t = void 0 === v ? "browser" === process.type ? function () {
                if (void 0 === v) {
                    let e = process.argv.length, t = process.argv;
                    for (let n = 0; n < e; n++) {
                        let e = t[n];
                        if (e.startsWith("-StartType:")) {
                            v = e.substring("-StartType:".length);
                            break
                        }
                    }
                    void 0 === v && (v = "")
                }
                return v
            }() : yield function () {
                return i(this, void 0, void 0, function* () {
                    return null === g && (g = new Promise(e => {
                        c.ipcRenderer.send(h.ThunderChannelList.channelRMGetBrowserStartType), c.ipcRenderer.once(h.ThunderChannelList.channelMRGetBrowserStartTypeResult, (t, n) => {
                            v = n, e(n), g = null
                        })
                    })), g
                })
            }() : v, e(t)
        }))
    }

    function k(e, t, n, r) {
        return i(this, void 0, void 0, function* () {
            let o = x(t), s = x(n), a = yield I(s), c = function (e) {
                let t = new RegExp(E("file:///"), "g"), n = new RegExp(E(process.resourcesPath + "\\"), "g"),
                    i = new RegExp(E(encodeURI(process.resourcesPath.replace(/\\/g, "/") + "/")), "g");
                return e.replace(t, "").replace(n, "").replace(i, "")
            }(x(r)), u = yield I(c), d = `${e}:${a}:${u}`;
            w.has(d) || (w.add(d), l.XLStatNS.trackEvent(p, "uncaught_exception", "", 0, 0, 0, 0, `type=${e},business_name=${yield b()},code=${o},message_hash=${a},message=${encodeURI(s)},stack_hash=${u},stack=${encodeURI(c)}`)), function (e, t, n, r) {
                return i(this, void 0, void 0, function* () {
                })
            }().catch()
        })
    }

    function P(e) {
        console.error(e);
        let t = e || {};
        k("unhandledRejection", t.code, t instanceof Error ? t.message : t, t.stack).catch()
    }

    !function (e) {
        e.init = function (e) {
            A = e
        }, e.trackColdStartUpEvent = function (e) {
            return i(this, void 0, void 0, function* () {
                let t = y.iSColdStartUp() ? 1 : 0, n = r.release(), i = y.performanceMonitorReporter.getProcessUptime(),
                    o = yield S(), s = `key=${e},start_type=${o},cold_start_up=${t},os_version=${n},cost_time=${i}`;
                l.XLStatNS.trackEvent(p, "cold_start_up", "", 0, 0, 0, 0, s)
            })
        }
    }(t.PerformanceMonitorStatNS || (t.PerformanceMonitorStatNS = {})), function () {
        return i(this, void 0, void 0, function* () {
            if (process.on("uncaughtException", e => {
                console.error(e);
                let t = e || {};
                k("uncaughtException", t.code, t.message, t.stack).catch()
            }), "browser" === process.type) process.on("unhandledRejection", (e, t) => {
                P(e)
            }), c.ipcMain.on(h.ThunderChannelList.channelRMGetBrowserStartType, function (e) {
                return i(this, void 0, void 0, function* () {
                    let t = yield S();
                    e.sender.send(h.ThunderChannelList.channelMRGetBrowserStartTypeResult, t)
                })
            }); else if ("browser" !== process.type) {
                window.addEventListener("unhandledrejection", e => {
                    P(e && e.reason || {})
                });
                let e = yield f.asyncRemoteCall.getCurrentWebContents();
                null !== e && void 0 !== e && e.once("did-finish-load", () => {
                    (function () {
                        return i(this, void 0, void 0, function* () {
                            do {
                                if ("browser" === process.type) break;
                                if (null === window.performance.timing || void 0 === window.performance.timing) break;
                                let e = y.iSColdStartUp() ? 1 : 0, t = r.release(), n = window.performance.timing,
                                    i = n.loadEventEnd - n.navigationStart, o = n.fetchStart - n.navigationStart,
                                    s = n.domainLookupEnd - n.domainLookupStart, a = n.connectEnd - n.connectStart,
                                    c = n.responseStart - n.requestStart, u = n.responseEnd - n.responseStart,
                                    d = n.domComplete - n.domLoading, h = yield S();
                                l.XLStatNS.trackEvent(p, "page_load_time", "", 0, 0, 0, 0, `start_type=${h},cold_start_up=${e},os_version=${t},load_time=${i},before_fetch_time=${o},domin_lookup_time=${s},connect_time=${a},first_response_time=${c},responseTime=${u},domTime=${d},process=${A}`)
                            } while (0)
                        })
                    })().catch()
                })
            }
            u.default.hook("beforeLog", (e, t, ...n) => {
                e === u.LogLevel.Critical && l.XLStatNS.trackEvent(p, "critical_error", "", 0, 0, 0, 0, `module_name=${t},messages=${n}`)
            })
        })
    }().catch()
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0}), t.getWebContents = t.getCurrentWebContents = t.getCurrentWindow = t.getGlobal = t.getBuiltin = t.remoteRequire = t.Interest = void 0;
    const i = n(3), r = n(41), o = n(54), s = n(55), a = n(34), l = n(56), c = n(13), u = n(35), d = i.ipcRenderer,
        h = process.electronBinding("v8_util"), f = new o.default, p = h.createIDWeakMap(),
        A = h.getHiddenValue(global, "contextId");

    class v {
        constructor(e) {
            if ("object" == typeof e ? (this.on = "object" == typeof e.on ? e.on : {}, this.once = "object" == typeof e.once ? e.once : {}) : (this.on = {}, this.once = {}), !this.check()) throw new Error("unexpected param")
        }

        check() {
            let e = !0;
            do {
                let t = Object.getOwnPropertyNames(this.on);
                if (t.forEach(t => {
                    "function" != typeof this.on[t] && (e = !1)
                }), !e) break;
                (t = Object.getOwnPropertyNames(this.once)).forEach(t => {
                    "function" != typeof this.once[t] && (e = !1)
                })
            } while (0);
            return e
        }
    }

    function g(e, t = new Set) {
        const n = e => {
            if (t.has(e)) return {type: "value", value: null};
            let i = e;
            if (Array.isArray(e)) {
                t.add(e);
                let n = {type: "array", value: g(e, t)};
                return t.delete(e), n
            }
            if (ArrayBuffer.isView(i)) return {type: "buffer", value: r.Buffer.from(e)};
            if (e instanceof Date) return {type: "date", value: e.getTime()};
            if (null != e && "object" == typeof e) {
                if (u.isPromise(e)) return {
                    type: "promise", then: n(function (t, n) {
                        e.then(t, n)
                    })
                };
                if (h.getHiddenValue(e, "__remote_id__")) return {
                    type: "remote-object",
                    id: h.getHiddenValue(e, "__remote_id__")
                };
                let i = {
                    type: e instanceof v ? "interest" : "object",
                    name: e.constructor ? e.constructor.name : "",
                    members: []
                };
                t.add(e);
                for (let t in e) i.members.push({name: t, value: n(e[t])});
                return t.delete(e), i
            }
            if ("function" == typeof e) {
                return {
                    type: "function",
                    id: f.add(e),
                    location: h.getHiddenValue(e, "__remote_call_location__"),
                    length: e.length
                }
            }
            return {type: "value", value: e}
        };
        return e.map(n)
    }

    function m(e, t, n) {
        u.isPromise(e) ? e.then(e => {
            t(e)
        }, e => {
            n(e)
        }) : t(e)
    }

    function C(e, t, n, i = !1) {
        const r = t => {
            if (e.hasOwnProperty(t.name) && !i) return;
            let n, r = {enumerable: t.enumerable, configurable: !0};
            if ("method" === t.type) {
                if (t.value.refId) {
                    if (p.has(t.value.refId) && (n = p.get(t.value.refId)), null == n) throw new Error("member refId pointer to null" + t.value.refId + "name: " + t.name)
                } else n = x(t.value, e, t.name);
                r.get = (() => n), r.set = (e => n = e)
            } else "get" === t.type && (r.get = (() => n), t.writable && (r.set = (e => {
                n = e
            })), n = x(t.value));
            Object.defineProperty(e, t.name, r)
        };
        if (Array.isArray(n)) {
            let e = n.length;
            for (let t = 0; t < e; t++) r(n[t])
        }
    }

    function y(e, t, n) {
        if (n) {
            let t = x(n);
            Object.setPrototypeOf(e, t)
        }
    }

    function w(e, t) {
        h.setHiddenValue(e, "__remote_id__", t)
    }

    function b(e) {
        return h.getHiddenValue(e, "__remote_id__")
    }

    function x(e, t, n) {
        const i = {
            value: () => e.value,
            array: () => e.members.map(e => x(e)),
            buffer: () => r.Buffer.from(e.value),
            promise: () => Promise.resolve({then: x(e.then)}),
            error: () => (function (e) {
                const t = (() => "error" === e.type ? new Error : {})();
                for (let n = 0; n < e.members.length; n++) {
                    let {name: i, value: r} = e.members[n];
                    t[i] = r
                }
                return t
            })(e),
            date: () => new Date(e.value),
            exception: () => {
                throw new Error(`${e.message}\n${e.stack}`)
            }
        };
        let o;
        return e.type in i ? o = i[e.type]() : e.refId ? p.has(e.refId) ? (h.addRemoteObjectRef(A, e.refId), o = p.get(e.refId)) : (c.warn("[metaToValue] refId point to null" + e.refId), o = "function" === e.type ? () => {
        } : {}) : e.id ? p.has(e.id) ? (h.addRemoteObjectRef(A, e.id), C(o = p.get(e.id), e.id, e.members, !0), y(o, e.id, e.proto)) : (o = "function" === e.type ? t ? function (e, t, n) {
            if (p.has(n.id)) return p.get(n.id);
            let i = b(e), r = function (...e) {
                throw Error("never should come to a proxied function")
            };
            Object.defineProperty(r, "name", {value: t, writable: !1, enumerable: !0});
            let o = new Proxy(r, {
                apply: (e, n, r) => new Promise((e, o) => {
                    let c = b(n);
                    if (c || (c = b(n.__remoteObj_)), !c) throw Error("is this function was a bound function?");
                    let u = a.default.browser.memberCall, h = l.default(u), f = g(r);
                    d.send(u, A, h, c, i, t, f), s.default.add(h, t => {
                        try {
                            m(x(t), e, o)
                        } catch (e) {
                            o(e)
                        }
                    })
                }), construct: (e, n, r) => new Promise((e, r) => {
                    let o = a.default.browser.memberConstruct, c = l.default(o);
                    d.send(o, A, c, i, t, g(n)), s.default.add(c, t => {
                        try {
                            let n = x(t);
                            e(n)
                        } catch (e) {
                            r(e)
                        }
                    })
                })
            });
            return h.setHiddenValue(r, "__remote_id__", n.id), o
        }(t, n, e) : function (e) {
            let t = e.id;
            const n = function (...e) {
                throw new Error("Should Never com to a remoteFunction PlaceHolder")
            };
            return w(n, t), new Proxy(n, {
                apply: (e, n, i) => new Promise((e, r) => {
                    let o = a.default.browser.functionCall, c = l.default(o), u = b(n);
                    d.send(o, A, c, u, t, g(i)), s.default.add(c, t => {
                        try {
                            m(x(t), e, r)
                        } catch (e) {
                            r(e)
                        }
                    })
                }), construct: (e, n, i) => new Promise((e, i) => {
                    let r = a.default.browser.construct, o = l.default(r);
                    d.send(r, A, o, t, g(n)), s.default.add(o, t => {
                        try {
                            let n = x(t);
                            e(n)
                        } catch (e) {
                            i(e)
                        }
                    })
                })
            })
        }(e) : {}, h.setRemoteObjectFreer(o, A, e.id), p.set(e.id, o), h.setHiddenValue(o, "__remote_id__", e.id), h.addRemoteObjectRef(A, e.id), function (e) {
            let t = b(e);
            Object.defineProperties(e, {
                __set: {
                    enumerable: !1, writable: !1, value: function (n, i) {
                        if ("function" == typeof i) throw new Error("set a function to a remote member is dangerous");
                        return new Promise((r, o) => {
                            let c = a.default.browser.memberSet, u = l.default(c), h = g([i]);
                            d.send(c, A, u, t, n, h), s.default.add(u, t => {
                                try {
                                    let s = x(t);
                                    e[n] = i, r(s)
                                } catch (e) {
                                    o(e)
                                }
                            })
                        })
                    }
                }, __get: {
                    enumerable: !1, writable: !1, value: function (n) {
                        return new Promise((i, r) => {
                            let o = a.default.browser.memberGet, c = l.default(o);
                            d.send(o, A, c, t, n), s.default.add(c, t => {
                                try {
                                    const o = x(t);
                                    e[n] = o, i(o)
                                } catch (e) {
                                    r(e)
                                }
                            })
                        })
                    }
                }, __sync: {
                    enumerable: !1, writable: !1, value: function () {
                        return new Promise((e, n) => {
                            let i = a.default.browser.sync, r = l.default(i);
                            d.send(i, A, r, t), s.default.add(r, i => {
                                try {
                                    if (i.id !== t) throw Error("SYNC_RETURN: remote id not match");
                                    let r = x(i);
                                    e(r)
                                } catch (e) {
                                    n(e)
                                }
                            })
                        })
                    }
                }
            })
        }(o), C(o, e.id, e.members), y(o, e.id, e.proto), Object.defineProperty(o.constructor, "name", {value: e.name}), e.extendedMemberNames && e.extendedMemberNames.forEach((e, t) => {
            let n = o[e], i = o.__proto__;
            for (; i;) {
                if (Object.prototype.hasOwnProperty.call(i, e)) {
                    delete i[e];
                    break
                }
                i = i.__proto__
            }
            Object.defineProperty(o, e, {value: n, enumerable: !1, writable: !1, configurable: !0})
        })) : c.error("no id of meta:", e), o
    }

    t.Interest = v;

    class E {
        constructor(...e) {
            if (this.__resolved_ = !1, this.__promise_ = null, this.__remoteObj_ = null, this.__what_ = "", this.__name_ = "", "string" === typeof arguments[0]) {
                let e = arguments[0], t = arguments[1];
                this.__what_ = e, this.__name_ = t || e, this.__resolved_ = !1, this.__remoteObj_ = null, this.__promise_ = new Promise((n, i) => {
                    let r = this.getChannel(e), o = l.default(r);
                    d.send(r, A, o, t), s.default.add(o, e => {
                        try {
                            let t = x(e);
                            this.__remoteObj_ = t, this.__resolved_ = !0, n(t)
                        } catch (e) {
                            i(e)
                        }
                    })
                })
            } else this.__remoteObj_ = arguments[0], this.__resolved_ = !0, this.__promise_ = null
        }

        getChannel(e) {
            let t = "";
            switch (e) {
                case"module":
                    t = a.default.browser.require;
                    break;
                case"builtin":
                    t = a.default.browser.builtIn;
                    break;
                case"global":
                    t = a.default.browser.global;
                    break;
                case"current_window":
                    t = a.default.browser.currentWindow;
                    break;
                case"current_web_contents":
                    t = a.default.browser.currentWebContents;
                    break;
                case"client_web_contents":
                    t = a.default.browser.clientWebContents;
                    break;
                case"web_contents":
                    t = a.default.browser.webContents
            }
            return t
        }

        __resolve() {
            let e = this.__promise_;
            if (null !== e) ; else {
                if (!this.__resolved_) throw Error("missing the promise for ayncnomously get remote object");
                e = new Promise((e, t) => {
                    e(this.__remoteObj_)
                }), this.__promise_ = e
            }
            return e
        }

        __isResolved() {
            return this.__resolved_
        }
    }

    function I(e, t, n) {
        try {
            s.default.invoke(t, n).remove(t)
        } finally {
            s.default.remove(t)
        }
    }

    d.on(a.default.renderer.requireReturn, I), d.on(a.default.renderer.getBuiltInReturn, I), d.on(a.default.renderer.getGlobalReturn, I), d.on(a.default.renderer.currentWindowReturn, I), d.on(a.default.renderer.currentWebContentsReturn, I), d.on(a.default.renderer.functionCallReturn, I), d.on(a.default.renderer.constructReturn, I), d.on(a.default.renderer.memberCallReturn, I), d.on(a.default.renderer.memberSetReturn, I), d.on(a.default.renderer.memberGetReturn, I), d.on(a.default.renderer.memberConstructReturn, I), d.on(a.default.renderer.callback, (e, t, n) => {
        f.apply(t, x(n))
    }), d.on(a.default.renderer.syncReturn, I), d.on("ELECTRON_RENDERER_RELEASE_CALLBACK", (e, t) => {
        c.info("[RELEASE_CALLBACK]: callbackId:", t), f.remove(t)
    }), process.on("exit", () => {
        d.send(a.default.browser.contextRelease)
    });
    const S = ["__resolve", "__isResolved"], k = ["__promise_", "__resolved_", "__remoteObj_", "__name_", "__what_"],
        P = e => {
            if (!e.__isResolved()) throw Error("Can not access the property of a remote module which has not Resolved yet.")
        };

    function D(e) {
        const t = function () {
        };
        Object.defineProperty(t, "name", {value: e.__name_}), Object.defineProperty(t, "what", {
            enumerable: !1,
            value: e.__what_
        });
        let n = new Proxy(t, {
            getPrototypeOf: t => (P(e), Reflect.getPrototypeOf(e.__remoteObj_)),
            setPrototypeOf: (e, t) => {
                throw new Error("changing prototype of remote object is forbidden")
            },
            isExtensible: t => (P(e), Reflect.isExtensible(e.__remoteObj_)),
            preventExtensions: t => (P(e), Reflect.preventExtensions(e)),
            getOwnPropertyDescriptor: (t, n) => (P(e), Reflect.getOwnPropertyDescriptor(e.__remoteObj_, n)),
            has: (t, n) => (P(e), Reflect.has(e.__remoteObj_, n)),
            deleteProperty: (t, n) => (P(t), Reflect.deleteProperty(e.__remoteObj_, n)),
            defineProperty: (t, n, i) => (P(e), Reflect.defineProperty(e.__remoteObj_, n, i)),
            get: (t, n, i) => {
                if ("string" == typeof n) {
                    if (String.prototype.includes.call(k, n)) {
                        return e[n]
                    }
                    if (String.prototype.includes.call(S, n)) {
                        return e[n]
                    }
                }
                return P(e), Reflect.get(e.__remoteObj_, n)
            },
            set: (t, n, i, r) => (P(e), Reflect.set(e.__remoteObj_, n, i, r)),
            ownKeys: t => (P(e), Reflect.ownKeys(e.__remoteObj_)),
            apply: (t, n, i) => {
                P(e), Reflect.apply(e.__remoteObj_, n, i)
            },
            construct: (t, n, i) => {
                if (P(e), "function" != typeof e.__remoteObj_) throw Error("operator new ONLY used for function");
                return new Promise((t, i) => {
                    let r = a.default.browser.construct, o = l.default(r),
                        c = h.getHiddenValue(e.__remoteObj_, "__remote_id__");
                    d.send(r, A, o, c, g(n)), s.default.add(o, e => {
                        try {
                            t(x(e))
                        } catch (e) {
                            i(e)
                        }
                    })
                })
            }
        });
        return e.__promise_.then(e => {
            let t = typeof e;
            if ("function" === t || "object" === t) {
                let t = b(e);
                t && w(n, t)
            }
        }), n
    }

    t.remoteRequire = function (e) {
        return D(new E("module", e))
    }, t.getBuiltin = function (e) {
        return D(new E("builtin", e))
    }, t.getGlobal = function (e) {
        return D(new E("global", e))
    }, t.getCurrentWindow = function () {
        return D(new E("current_window"))
    }, t.getCurrentWebContents = function () {
        return D(new E("current_web_contents"))
    }, t.getWebContents = function () {
        return D(new E("web_contents"))
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const i = process.electronBinding("v8_util");
    t.default = class {
        constructor() {
            this.nextId = 0, this.callbacks = {}
        }

        add(e) {
            let t = i.getHiddenValue(e, "__remote_callback_id__");
            if (null != t) return t;
            t = this.nextId -= 1;
            const n = /at (.*)/gi, r = (new Error).stack;
            let o, s = n.exec(r);
            for (; null !== s;) {
                const e = s[1];
                if (!e.includes("native") && !e.includes("electron.asar")) {
                    o = /([^/^)]*)\)?$/gi.exec(e)[1];
                    break
                }
                s = n.exec(r)
            }
            return this.callbacks[t] = e, i.setHiddenValue(e, "__remote_callback_id__", t), i.setHiddenValue(e, "__remote_call_location__", o), t
        }

        get(e) {
            return this.callbacks[e] || function () {
            }
        }

        apply(e, ...t) {
            return this.get(e).apply(global, ...t)
        }

        remove(e) {
            const t = this.callbacks[e];
            t && (i.deleteHiddenValue(t, "__remote_callback_id__"), delete this.callbacks[e])
        }
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const i = n(13);
    var r;
    !function (e) {
        let t = {};
        e.add = function (e, n, i) {
            t[e] = {func: n, thisArg: i}
        }, e.invoke = function (n, ...r) {
            let o = t[n];
            return o ? o.thisArg ? o.func.apply(o.thisArg, ...r) : o.func(...r) : i.error(`Cannot invoke function by unrecognize id. ${n}`), e
        }, e.remove = function (e) {
            delete t[e]
        }
    }(r || (r = {})), t.default = r
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    let i = 0;
    t.default = function (e) {
        return e ? e.concat(".").concat(String(++i)) : String(++i)
    }
}, function (e, t, n) {
    "use strict";
    const i = n(3), r = n(58), o = n(34), s = n(59), a = n(13), l = n(35), c = i.ipcMain,
        u = process.electronBinding("v8_util");
    let d = u.createDoubleIDWeakMap();
    const h = new r.default;

    function f(e, t, n, i, r, o) {
        let s, l = !1, c = null, u = !1;
        do {
            try {
                s = t[i]
            } catch (e) {
                l = !0
            }
            if (l) try {
                s = n.value[i], l = !1, n.meta.extendedMemberNames.push(i), u = !0
            } catch (e) {
                a.error(`property ${i} untouchable, even try root[name]`)
            }
            if (l) break;
            let r = Object.getOwnPropertyDescriptor(t, i);
            if (void 0 === r) {
                a.warn(`descriptor of property ${i} is undefined`);
                break
            }
            c = {
                name: i,
                enumerable: r.enumerable,
                writable: !1,
                type: "get"
            }, void 0 === r.get && "function" == typeof s ? c.type = "method" : ((r.set || r.writable) && (c.writable = !0), c.type = "get"), u ? (c.configurable = !0, c.value = v(e, s, o, !1, null)) : c.value = v(e, s, o, !1, n)
        } while (0);
        return c
    }

    function p(e, t, n, i = null) {
        let r = Object.getOwnPropertyNames(t);
        "function" == typeof t && (r = r.filter(function (e) {
            return !String.prototype.includes.call(s.propertiesOfFunction, e)
        }));
        let o = [];
        do {
            if (0 === r.length) break;
            let s = r.length;
            for (let a = 0; a < s; a++) {
                let s = f(e, t, n, r[a], 0, i);
                s && o.push(s)
            }
        } while (0);
        return o
    }

    function A(e, t, n, i = null) {
        let r = null, o = Object.getPrototypeOf(t);
        return r = null === o || o === Object.prototype || o === Function.prototype ? null : v(e, o, i, !1, n)
    }

    function v(e, t, n = null, i = !1, r = null) {
        n = null === n ? {} : n;
        const o = {type: typeof t};
        "object" === o.type && (o.type = function (e, t) {
            let n = typeof e;
            if ("object" !== n) throw new Error("incorrect arg at index 0. non-object");
            return null === e ? n = "value" : ArrayBuffer.isView(e) ? n = "buffer" : Array.isArray(e) ? n = "array" : e instanceof Error ? n = "error" : e instanceof Date ? n = "date" : l.isPromise(e) ? n = "promise" : Object.prototype.hasOwnProperty.call(e, "callee") && null != e.length ? n = "array" : t && u.getHiddenValue(e, "simple") && (n = "value"), n
        }(t, i));
        do {
            if ("object" === o.type || "function" === o.type) {
                let i = h.getIdOfObject(t);
                if (i && n[i]) {
                    o.refId = i, h.add(e, t);
                    break
                }
            }
            "array" === o.type ? o.members = t.map(t => v(e, t, n)) : "object" === o.type || "function" === o.type ? (null == r && (o.extendedMemberNames = [], r = {
                value: t,
                meta: o
            }), o.name = t.constructor ? t.constructor.name : "", o.id = h.add(e, t), n[o.id] = !0, o.members = p(e, t, r, n), o.proto = A(e, t, r, n)) : "buffer" === o.type ? o.value = Buffer.from(t) : "promise" === o.type ? (t.then(function () {
            }, function () {
            }), o.then = v(e, function (e, n) {
                t.then(e, n)
            })) : "error" === o.type ? (o.members = g(t), o.members.push({
                name: "name",
                value: t.name
            })) : "date" === o.type ? o.value = t.getTime() : (o.type = "value", o.value = t)
        } while (0);
        return o
    }

    function g(e) {
        return Object.getOwnPropertyNames(e).map(t => ({name: t, value: e[t]}))
    }

    function m(e, t, n, r) {
        const s = function (r) {
            let l, c, f = 0, p = 0;
            switch (r.type) {
                case"value":
                    return r.value;
                case"remote-object":
                    return h.get(r.id);
                case"array":
                    return m(e, t, n, r.value);
                case"buffer":
                    return Buffer.from(r.value);
                case"date":
                    return new Date(r.value);
                case"promise":
                    return Promise.resolve({then: s(r.then)});
                case"object":
                case"interest": {
                    let e = {};
                    for (Object.defineProperty(e.constructor, "name", {value: r.name}), f = 0, p = (c = r.members).length; f < p; f++) e[(l = c[f]).name] = s(l.value);
                    return e
                }
                case"function": {
                    const s = e.id, l = [n, r.id];
                    if (a.info("renderer function id:" + l), d.has(l)) return d.get(l);
                    let c = function (...t) {
                        a.info("[CALLBACK] args", t);
                        let n = [...t];
                        e.isDestroyed() || s !== e.id ? function (e, t, n) {
                            let r = "Attempting to call a function in a renderer window that has been closed or released." + `\nFunction provided here: ${e.location}`;
                            if (t.length > 0 && t[0].sender && t[0].sender instanceof i.webContents.constructor) {
                                const {sender: e} = t[0], i = e.eventNames().filter(t => {
                                    let i = e.listeners(t), r = !1;
                                    return i.forEach(e => {
                                        e === n && (r = !0)
                                    }), r
                                });
                                i.length > 0 && (r += `\nRemote event names: ${i.join(", ")}`, i.forEach(t => {
                                    Object.getPrototypeOf(e).removeListener.call(e, t, n)
                                }))
                            }
                            a.warn(r)
                        }(r, n, c) : e.send(o.default.renderer.callback, r.id, v(e, n))
                    };
                    return Object.defineProperty(c, "length", {value: r.length}), u.setRemoteCallbackFreer(c, t, n, r.id, e), d.set(l, c), c
                }
                default:
                    throw new TypeError(`Unknown type: ${r.type}`)
            }
        };
        return r.map(s)
    }

    function C(e, t, n, i) {
        let r, o;
        try {
            return t.apply(n, i)
        } catch (e) {
            return o = t.name, new Error(`Could not call remote function '${r = null != o ? o : "anonymous"}'. Check that the function signature is correct. Underlying error: ${e.message}`)
        }
    }

    function y(e) {
        return {type: "exception", message: e.message, stack: e.stack || e}
    }

    function w(e) {
        const t = new Error(e);
        throw Object.defineProperty(t, "code", {value: "EBADRPC"}), Object.defineProperty(t, "errno", {value: -72}), t
    }

    var b;
    !function (e) {
        const t = (e, t, ...n) => {
            const i = e.sender;
            i.isDestroyed() ? a.warn("webcontext is destroyed.") : i.send(t, ...n)
        };
        e.startServer = function () {
            c.on(o.default.browser.require, (e, n, i, r) => {
                a.info(`[REQUIRE] module=${r} `);
                let s = process.mainModule.require(r), l = v(e.sender, s);
                t(e, o.default.renderer.requireReturn, i, l)
            }), c.on(o.default.browser.builtIn, (e, n, r, s) => {
                a.info(`[BUILTIN]: property=${s} contextId=${n}`);
                let l = i[s], c = v(e.sender, l);
                a.info(`[BUILTIN]: returns remoteId:${c.id}, type: ${typeof l}`), t(e, o.default.renderer.getBuiltInReturn, r, c)
            }), c.on(o.default.browser.global, (e, n, i, r) => {
                a.info(`[GLOBAL]: proerty:${r} contextId=${n}`);
                let s, l = global[r];
                s = v(e.sender, l), a.info(`[GLOBAL]: returns remoteid=${s.id}, obj=` + typeof l), t(e, o.default.renderer.getGlobalReturn, i, s)
            }), c.on(o.default.browser.currentWindow, (e, n, i, r) => {
                a.info(`[CURRENT_WINDOW]: property=${r} contextId=${n}`);
                let s = e.sender.getOwnerBrowserWindow.call(e.sender), l = v(e.sender, s);
                a.info(`[CURRENT_WINDOW]: returns remoteid=${l.id}, obj=` + s), t(e, o.default.renderer.currentWindowReturn, i, l)
            }), c.on(o.default.browser.currentWebContents, (e, n, i, r) => {
                t(e, o.default.renderer.currentWebContentsReturn, i, v(e.sender, e.sender))
            }), c.on(o.default.browser.webContents, (e, n, r, s) => {
                a.info(`[WebContents]: proerty:${s} contextId=${n}`);
                let l, c = i.webContents;
                l = v(e.sender, c), a.info(`[WebContents]: returns remoteid=${l.id}, obj=` + typeof c), t(e, o.default.renderer.webContentsReturn, r, l)
            });
            const e = (e, t) => {
                const n = (t, n) => {
                    t && Object.getOwnPropertyNames(t).forEach(i => {
                        n ? e.once(i, t[i]) : e.on(i, t[i])
                    })
                };
                t.on && n(t.on, !1), t.once && n(t.once, !0)
            };
            c.on(o.default.browser.construct, (n, i, r, s, l) => {
                let c, u = null;
                try {
                    a.info(`[CONSTRUCTOR]: remoteId=${s} `);
                    let d = l.length > 0 ? l[l.length - 1] : null;
                    l = m(n.sender, n.frameId, i, l);
                    let f = h.get(s);
                    null == f && w(`Cannot call constructor on missing remote object ${s}`), d && "interest" === d.type && (u = l.pop());
                    let p = new (Function.prototype.bind.apply(f, [null, ...l]));
                    p && u && e(p, u), c = v(n.sender, p, null, !1), a.info(`[CONSTRUCTOR]: returns remoteId =${c.id} name=${f.name} `)
                } catch (e) {
                    c = y(e)
                } finally {
                    t(n, o.default.renderer.constructReturn, r, c)
                }
            }), c.on(o.default.browser.functionCall, function (e, n, i, r, s, l) {
                let c;
                try {
                    a.info(`[FUNCTION_CALL]: remoteId=${s}`), l = m(e.sender, e.frameId, n, l);
                    let u = h.get(s);
                    if (null == u) a.error(`Cannot call function on missing remote object ${s}`), c = v(e.sender, void 0); else {
                        let t = r ? h.get(r) : global;
                        if (t) {
                            let n = C(0, u, t, l);
                            c = v(e.sender, n)
                        } else a.error(`Cannot call function(${s}) on missing context(${r})`), c = v(e.sender, void 0)
                    }
                    a.info(`[FUNCTION_CALL]: name=${u.name}`)
                } catch (e) {
                    c = y(e)
                } finally {
                    t(e, o.default.renderer.functionCallReturn, i, c)
                }
            }), c.on(o.default.browser.memberCall, function (e, n, i, r, s, l, c) {
                let u;
                a.info(`[MEMBER_CALL]: thisArg=${r}, remoteId=${s}, method=${l}, args count=${c.length}`);
                try {
                    c = m(e.sender, e.frameId, n, c);
                    let d = h.get(s);
                    null == d && w(`Cannot call function '${l}' on missing remote object ${s}`);
                    let f = r ? h.get(r) : d;
                    if (f) {
                        let t = C(0, d[l], f, c);
                        u = v(e.sender, t), a.info("[MEMBER_CALL]: return=" + t)
                    } else u = v(e.sender, void 0)
                } catch (e) {
                    u = y(e)
                } finally {
                    t(e, o.default.renderer.memberCallReturn, i, u)
                }
            }), c.on(o.default.browser.memberGet, function (e, n, i, r, s) {
                let l;
                try {
                    a.info(`[MEMBER_GET]: remoteId=${r}, property=`, s);
                    let n = h.get(r);
                    null == n && w(`Cannot get property '${Object.toString.call(s)}' on missing remote object ${r}`);
                    let c = n[s];
                    l = v(e.sender, c)
                } catch (e) {
                    l = y(e)
                } finally {
                    t(e, o.default.renderer.memberGetReturn, i, l)
                }
            }), c.on(o.default.browser.memberSet, function (e, n, i, r, s, l) {
                try {
                    a.info(`[MEMBER_SET]: remoteId=${r}, property=` + s), l = m(e.sender, e.frameId, n, l);
                    let c = h.get(r);
                    null == c && w(`Cannot set property '${Object.toString.call(s)}' on missing remote object ${r}`), c[s] = l[0], t(e, o.default.renderer.memberSetReturn, i, {
                        type: "value",
                        value: !0
                    })
                } catch (n) {
                    t(e, o.default.renderer.memberSetReturn, i, y(n))
                }
            }), c.on(o.default.browser.memberConstruct, function (n, i, r, s, l, c) {
                let u, d = null;
                try {
                    a.info(`[MEMBER_CONSTRUCTOR]: regId=${s}, method=${l}`);
                    let f = c.length > 0 ? c[c.length - 1] : null;
                    c = m(n.sender, n.frameId, i, c);
                    let p = h.get(s);
                    null == p && w(`Cannot call constructor '${l}' on missing remote object ${s}`), f && "interest" === f.type && (d = c.pop());
                    let A = p[l], g = new (Function.prototype.bind.apply(A, [null, ...c]));
                    g && d && e(g, d), u = v(n.sender, g)
                } catch (e) {
                    u = y(e)
                } finally {
                    t(n, o.default.renderer.memberConstructReturn, r, u)
                }
            }), c.on(o.default.browser.sync, function (e, n, i, r) {
                let s = h.get(r);
                t(e, o.default.renderer.syncReturn, i, v(e.sender, s))
            }), c.on("ELECTRON_BROWSER_DEREFERENCE", function (e, t) {
                let n = h.get(t);
                if (i.ipcMain.emit("log_to_renderer", "ELECTRON_BROWSER_DEREFERENCE", t, typeof n), n) {
                    let i = n.name;
                    i || (i = n.constructor ? n.constructor.name : ""), h.remove(e.sender.id, t)
                } else t < 0 && a.warn("remote id reference to nothing:", t)
            }), c.on(o.default.browser.contextRelease, e => {
                h.clear(e.sender.id)
            })
        }, e.getObjectRegistry = function () {
            return h
        }
    }(b || (b = {})), e.exports = b
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const i = n(13), r = -1 * Math.pow(2, 31), o = process.electronBinding("v8_util");
    t.default = class {
        constructor() {
            this.nextId = 0, this.storage = new Map, this.owners = new Map
        }

        add(e, t) {
            const n = this.saveToStorage(t), i = e.id;
            let r = this.owners.get(i);
            return r || (r = new Set, this.owners.set(i, r), this.registerDeleteListener(e, i)), r.has(n) || (r.add(n), this.storage.get(n).count++), n
        }

        getIdOfObject(e) {
            return o.getHiddenValue(e, "__remote_id__")
        }

        get(e) {
            const t = this.storage.get(e);
            if (void 0 !== t) return t.object
        }

        remove(e, t) {
            this.dereference(t);
            let n = this.owners.get(e);
            n && n.delete(t)
        }

        clear(e) {
            let t = this.owners.get(e);
            if (t) {
                for (let e of t) this.dereference(e);
                this.owners.delete(e)
            }
        }

        getStorageSize() {
            return this.storage.size
        }

        saveToStorage(e) {
            let t = o.getHiddenValue(e, "__remote_id__");
            if (!t) {
                if ((t = --this.nextId) <= r) throw new Error("object registry id overflow");
                this.storage.set(t, {object: e, count: 0}), o.setHiddenValue(e, "__remote_id__", t)
            }
            return t
        }

        dereference(e) {
            let t = this.storage.get(e);
            null != t && (t.count -= 1, 0 === t.count && (o.deleteHiddenValue(t.object, "__remote_id__"), this.storage.delete(e)))
        }

        registerDeleteListener(e, t) {
            const n = e.getProcessId(), r = (o, s) => {
                s === n && (i.info("render-view-deleted: processid=" + n), (() => {
                    i.info("before clear. objectsRegistry capacity=" + this.storage.size, "owners size:" + this.owners.size)
                })(), e.removeListener("render-view-deleted", r), this.clear(t))
            };
            e.on("render-view-deleted", r)
        }
    }
}, function (e, t, n) {
    "use strict";
    var i;
    !function (e) {
        e.propertiesOfFunction = ["length", "name", "arguments", "caller", "prototype", "apply", "bind", "call", "toString"]
    }(i || (i = {})), e.exports = i
}, function (e, t) {
    e.exports = require("readline")
}, function (e, t, n) {
    e.exports = n(9)(216)
}, function (e, t, n) {
    "use strict";
    var i = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(7), o = n(20), s = n(4), a = n(32);
    !function (e) {
        function t(e, t) {
            return i(this, void 0, void 0, function* () {
                if (null !== e) {
                    let n = e.webContents;
                    (yield n.isDevToolsOpened()) ? yield n.closeDevTools() : yield n.openDevTools(t)
                }
            })
        }

        e.openDevTool = t, e.enableDevTools = function (e) {
            return i(this, void 0, void 0, function* () {
                window.addEventListener("keyup", n => i(this, void 0, void 0, function* () {
                    if ("F12" === n.key && n.ctrlKey) a.DevEnvHelperNS.isLogEnable() && (yield t(yield r.asyncRemoteCall.getCurrentWindow(), e)); else if (("t" === n.key || "T" === n.key) && n.altKey && a.DevEnvHelperNS.isLogEnable()) {
                        let e = document.getElementById("DevProcessPid");
                        if (e) document.body.removeChild(e); else {
                            (e = document.createElement("p")).id = "DevProcessPid", e.style.position = "absolute", e.style.left = "0px", e.style.top = "0px", e.style.width = "100%", e.style.zIndex = "10000", e.style.color = "rgb(255,0,0)", document.body.appendChild(e);
                            let t = "process.pid:" + process.pid;
                            t += "\r\nlocation.href:" + location.href, t += "\r\nprocess.argv:" + process.argv, e.innerText = t
                        }
                    }
                }), !0)
            })
        }, e.enableDragOpenFile = function (e) {
            void 0 === e && (e = !1), document.addEventListener("dragover", e => (e.preventDefault(), e.stopPropagation(), !1), !0), document.addEventListener("drop", e => i(this, void 0, void 0, function* () {
                e.preventDefault(), e.stopPropagation();
                let t = e.dataTransfer, n = t.files, i = t.items;
                if (void 0 !== i && null !== i && i.length > 0) for (let e = 0; e < i.length; e++) {
                    let t = i[e];
                    "string" === t.kind && "text/uri-list" === t.type ? t.getAsString(e => {
                        s.client.callServerFunction("DropOpenUrl", e).catch()
                    }) : t.kind
                }
                if (void 0 !== n && null !== n && n.length > 0) for (let e = 0; e < n.length; e++) {
                    let t = n[e].path;
                    void 0 !== t && null !== t && "" !== t && (yield o.FileSystemAWNS.existsAW(t)) && s.client.callServerFunction("DropOpenFile", t).catch()
                }
                return !1
            }), !0)
        }
    }(t.ThunderToolsNS || (t.ThunderToolsNS = {}))
}, function (e, t, n) {
    "use strict";
    var i = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(7), o = n(1), s = n(16), a = o.default.getLogger("MenuSkinNS");
    !function (e) {
        e.setStyle = function (e, t) {
            return i(this, void 0, void 0, function* () {
                if (a.information("setStyle", e, t), null !== e) {
                    const {WindowPreferenceNS: e} = yield Promise.resolve().then(() => n(72));
                    let t = {windowPreference: e.getWindowPreference()};
                    a.information("skinOpts", t)
                }
            })
        }, e.popEditableDefaultContextMenu = function (e, t, n) {
            return i(this, void 0, void 0, function* () {
                let n = yield r.asyncRemoteCall.getCurrentWebContents();
                n.once("context-menu", (o, l) => i(this, void 0, void 0, function* () {
                    if (a.verbose(o), l.isEditable) {
                        let i = [{
                            label: "撤销", enabled: l.editFlags.canUndo, click: () => {
                                n.undo()
                            }
                        }, {type: "separator"}, {
                            label: "剪切", enabled: l.editFlags.canCut, click: () => {
                                n.cut()
                            }
                        }, {
                            label: "复制", enabled: l.editFlags.canCopy, click: () => {
                                n.copy()
                            }
                        }, {
                            label: "粘贴",
                            enabled: l.editFlags.canPaste && s.ThunderUtil.isClipboardTextFormatAvailable(),
                            click: () => {
                                n.paste()
                            }
                        }, {
                            label: "删除", enabled: l.editFlags.canDelete, click: () => {
                                n.delete()
                            }
                        }, {type: "separator"}, {
                            label: "全选", enabled: l.editFlags.canSelectAll, click: () => {
                                n.selectAll()
                            }
                        }];
                        if (void 0 !== e && "function" == typeof e) {
                            let n = e(l);
                            void 0 !== n && n.length > 0 && (void 0 === t ? t = i.length : (t < 0 && (t = i.length + 1 + t) < 0 && (t = 0), t > i.length && (t = i.length)), i.splice(t, 0, ...n))
                        }
                        let o = yield(yield r.asyncRemoteCall.getMenu()).buildFromTemplate(i),
                            a = yield r.asyncRemoteCall.getCurrentWindow();
                        yield o.popup({window: a})
                    }
                }))
            })
        }
    }(t.MenuSkinNS || (t.MenuSkinNS = {}))
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const i = n(4), r = n(1).default.getLogger("common/skin"), o = !0;
    let s = null;

    function a(e) {
        if (!o || null === e || void 0 === e) return;
        let t = localStorage.getItem("skin_body_classes");
        s && s.classes === e.classes || (localStorage.removeItem("skin_body_classes"), e && e.classes && (document.body.classList.add(e.classes), localStorage.setItem("skin_body_classes", e.classes)), s && s.classes ? document.body.classList.remove(s.classes) : t !== e.classes && document.body.classList.remove(t), s = Object.freeze(Object.assign({}, e)))
    }

    i.client.callServerFunction("GetSkinInfo").then(a).catch(e => {
        r.warning(e)
    }), i.client.attachServerEvent("OnChangeSkin", (e, ...t) => {
        a(t[0])
    })
}, function (e, t, n) {
    "use strict";
    e.exports = function (e, t) {
        return function () {
            for (var n = new Array(arguments.length), i = 0; i < n.length; i++) n[i] = arguments[i];
            return e.apply(t, n)
        }
    }
}, function (e, t, n) {
    "use strict";
    var i = n(46);
    e.exports = function (e, t, n) {
        var r = n.config.validateStatus;
        n.status && r && !r(n.status) ? t(i("Request failed with status code " + n.status, n.config, null, n.request, n)) : e(n)
    }
}, function (e, t, n) {
    "use strict";
    e.exports = function (e, t, n, i, r) {
        return e.config = t, n && (e.code = n), e.request = i, e.response = r, e
    }
}, function (e, t, n) {
    "use strict";
    var i = n(10);

    function r(e) {
        return encodeURIComponent(e).replace(/%40/gi, "@").replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]")
    }

    e.exports = function (e, t, n) {
        if (!t) return e;
        var o;
        if (n) o = n(t); else if (i.isURLSearchParams(t)) o = t.toString(); else {
            var s = [];
            i.forEach(t, function (e, t) {
                null !== e && void 0 !== e && (i.isArray(e) ? t += "[]" : e = [e], i.forEach(e, function (e) {
                    i.isDate(e) ? e = e.toISOString() : i.isObject(e) && (e = JSON.stringify(e)), s.push(r(t) + "=" + r(e))
                }))
            }), o = s.join("&")
        }
        return o && (e += (-1 === e.indexOf("?") ? "?" : "&") + o), e
    }
}, function (e, t, n) {
    var i = n(37), r = n(44), o = n(40), s = n(82), a = n(74).Writable, l = n(122)("follow-redirects"),
        c = {GET: !0, HEAD: !0, OPTIONS: !0, TRACE: !0}, u = Object.create(null);

    function d(e, t) {
        a.call(this), e.headers = e.headers || {}, this._options = e, this._redirectCount = 0, this._requestBodyLength = 0, this._requestBodyBuffers = [], t && this.on("response", t);
        var n = this;
        if (this._onNativeResponse = function (e) {
            n._processResponse(e)
        }, !e.pathname && e.path) {
            var i = e.path.indexOf("?");
            i < 0 ? e.pathname = e.path : (e.pathname = e.path.substring(0, i), e.search = e.path.substring(i))
        }
        this._performRequest()
    }

    function h(e) {
        var t = {maxRedirects: 21, maxBodyLength: 10485760}, n = {};
        return Object.keys(e).forEach(function (r) {
            var o = r + ":", a = n[o] = e[r], c = t[r] = Object.create(a);
            c.request = function (e, r) {
                return "string" == typeof e ? (e = i.parse(e)).maxRedirects = t.maxRedirects : e = Object.assign({
                    protocol: o,
                    maxRedirects: t.maxRedirects,
                    maxBodyLength: t.maxBodyLength
                }, e), e.nativeProtocols = n, s.equal(e.protocol, o, "protocol mismatch"), l("options", e), new d(e, r)
            }, c.get = function (e, t) {
                var n = c.request(e, t);
                return n.end(), n
            }
        }), t
    }

    ["abort", "aborted", "error", "socket", "timeout"].forEach(function (e) {
        u[e] = function (t) {
            this._redirectable.emit(e, t)
        }
    }), d.prototype = Object.create(a.prototype), d.prototype.write = function (e, t, n) {
        this._requestBodyLength + e.length <= this._options.maxBodyLength ? (this._requestBodyLength += e.length, this._requestBodyBuffers.push({
            data: e,
            encoding: t
        }), this._currentRequest.write(e, t, n)) : (this.emit("error", new Error("Request body larger than maxBodyLength limit")), this.abort())
    }, d.prototype.end = function (e, t, n) {
        var i = this._currentRequest;
        e ? this.write(e, t, function () {
            i.end(null, null, n)
        }) : i.end(null, null, n)
    }, d.prototype.setHeader = function (e, t) {
        this._options.headers[e] = t, this._currentRequest.setHeader(e, t)
    }, d.prototype.removeHeader = function (e) {
        delete this._options.headers[e], this._currentRequest.removeHeader(e)
    }, ["abort", "flushHeaders", "getHeader", "setNoDelay", "setSocketKeepAlive", "setTimeout"].forEach(function (e) {
        d.prototype[e] = function (t, n) {
            return this._currentRequest[e](t, n)
        }
    }), ["aborted", "connection", "socket"].forEach(function (e) {
        Object.defineProperty(d.prototype, e, {
            get: function () {
                return this._currentRequest[e]
            }
        })
    }), d.prototype._performRequest = function () {
        var e = this._options.protocol, t = this._options.nativeProtocols[e];
        if (this._options.agents) {
            var n = e.substr(0, e.length - 1);
            this._options.agent = this._options.agents[n]
        }
        var r = this._currentRequest = t.request(this._options, this._onNativeResponse);
        for (var o in this._currentUrl = i.format(this._options), r._redirectable = this, u) o && r.on(o, u[o]);
        if (this._isRedirect) {
            var s = this._requestBodyBuffers;
            !function e() {
                if (0 !== s.length) {
                    var t = s.pop();
                    r.write(t.data, t.encoding, e)
                } else r.end()
            }()
        }
    }, d.prototype._processResponse = function (e) {
        var t = e.headers.location;
        if (t && !1 !== this._options.followRedirects && e.statusCode >= 300 && e.statusCode < 400) {
            if (++this._redirectCount > this._options.maxRedirects) return void this.emit("error", new Error("Max redirects exceeded."));
            var n, r = this._options.headers;
            if (307 !== e.statusCode && !(this._options.method in c)) for (n in this._options.method = "GET", this._requestBodyBuffers = [], r) /^content-/i.test(n) && delete r[n];
            if (!this._isRedirect) for (n in r) /^host$/i.test(n) && delete r[n];
            var o = i.resolve(this._currentUrl, t);
            l("redirecting to", o), Object.assign(this._options, i.parse(o)), this._isRedirect = !0, this._performRequest()
        } else e.responseUrl = this._currentUrl, this.emit("response", e), this._requestBodyBuffers = []
    }, e.exports = h({http: r, https: o}), e.exports.wrap = h
}, function (e, t, n) {
    "use strict";
    e.exports = function (e) {
        return !(!e || !e.__CANCEL__)
    }
}, function (e, t, n) {
    "use strict";

    function i(e) {
        this.message = e
    }

    i.prototype.toString = function () {
        return "Cancel" + (this.message ? ": " + this.message : "")
    }, i.prototype.__CANCEL__ = !0, e.exports = i
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const i = n(79), r = n(73);
    !function (e) {
        e.getWindowPreference = function (e = !1) {
            let t = r.default(), n = {};
            return t && t.colors && "string" == typeof t.colors.colorPrimaryControl1 && (n.hoverBackgroundColor = e ? parseInt(i.ColorUtilNS.rgbaStringToHexWith0xBegin(t.colors.colorPrimaryControl1), 16) : i.ColorUtilNS.rgbaStringToHexWith0xBegin(t.colors.colorPrimaryControl1)), n
        }
    }(t.WindowPreferenceNS || (t.WindowPreferenceNS = {}))
}, function (e, t, n) {
    "use strict";
    var i = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(3), o = n(1), s = n(4), a = o.default.getLogger("GetSkinInfo");
    let l;
    (function () {
        return i(this, void 0, void 0, function* () {
            "renderer" === process.type ? (a.information("renderer process"), s.client.callServerFunction("GetSkinInfo").then(e => {
                l = e, a.information("send OnChangeSkin", e)
            }).catch(e => {
                a.warning(e)
            }), s.client.attachServerEvent("OnChangeSkin", (e, t) => {
                l = t, a.information("send OnChangeSkin", t)
            })) : "browser" === process.type && (a.information("main process"), r.ipcMain.on("OnChangeSkin", (e, t) => {
                a.information("OnChangeSkin", t), l = t
            }))
        })
    })().catch(e => {
        a.information(e)
    }), t.default = function () {
        return l
    }
}, function (e, t) {
    e.exports = require("stream")
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(76), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(5);
    let s = class extends o.Vue {
        onOptionsChanged() {
            return r(this, void 0, void 0, function* () {
            })
        }

        get filterOptions() {
            return this.options.filter(e => "separator" !== e)
        }

        onSelect(e) {
            this.$emit("input", e.srcElement.value, !0)
        }

        mounted() {
            let e = this.$refs.selectNative;
            if (e) for (let t in this.filterOptions) if (String(this.filterOptions[t]) === this.value) {
                e.selectedIndex = t;
                break
            }
        }

        focusEdit() {
            if (this.$refs.select) {
                let e = this.$refs.select.$el.querySelector("input");
                null !== e && void 0 !== e && e.focus()
            }
        }
    };
    i([o.Prop()], s.prototype, "value", void 0), i([o.Prop({default: () => []})], s.prototype, "options", void 0), i([o.Prop({default: !1})], s.prototype, "useNative", void 0), i([o.Prop({default: "bottom"})], s.prototype, "position", void 0), i([o.Watch("options")], s.prototype, "onOptionsChanged", null), s = i([o.Component], s), t.default = s
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(78), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(3), s = n(7), a = n(5), l = n(11), c = n(133), u = n(4);
    let d = class extends a.Vue {
        constructor() {
            super(...arguments), this.isMouseup = !0
        }

        created() {
            return r(this, void 0, void 0, function* () {
                let e = yield s.asyncRemoteCall.getCurrentWindow();
                (yield e.isVisible()) ? o.ipcRenderer.send("dropdown-file-window-create", e.id, this.panel) : setTimeout(() => {
                    o.ipcRenderer.send("dropdown-file-window-create", e.id, this.panel)
                }, 20), o.ipcRenderer.on("dropdown-file-window-blur", () => {
                    this.isMouseup && this.hideMenu()
                })
            })
        }

        handleMenuShow() {
            return r(this, void 0, void 0, function* () {
                l.XLStatNS.trackEvent("core_event", "create_task_panel_downloadpath_show");
                let e = this.$el.getBoundingClientRect(), t = yield s.asyncRemoteCall.getCurrentWindow(), n = [];
                if ("cloud" === this.dropOwner) {
                    let e = (yield u.client.callRemoteClientFunction("ThunderPanPluginWebview", "IpcGetRecentFolder"))[0];
                    if (e) {
                        for (let t of e) "" !== t.id && n.push({dir: t.name, alias: t.name, canDelete: !0, id: t.id});
                        n = n.slice(0, 4)
                    }
                    n.splice(0, 0, {dir: "我的云盘", alias: "我的云盘", canDelete: !1, id: ""})
                } else n = yield c.HistoryPathsNS.getLogicHistoryPaths(this.enablePrivateSpace, this.enableDelete, this.appendDirs);
                o.ipcRenderer.send("dropdown-file-window-show", t.id, !0, JSON.stringify({
                    bottom: e.bottom,
                    height: e.height,
                    left: e.left,
                    right: e.right,
                    top: e.top,
                    width: e.width
                }), n, this.dropOwner, this.enableDelete)
            })
        }

        hideMenu() {
            this.$refs.select && (this.$refs.select.menuVisible = !1)
        }

        focusEdit() {
            if (this.$refs.select) {
                let e = this.$refs.select.$el.querySelector("input");
                null !== e && void 0 !== e && e.focus()
            }
        }
    };
    i([a.Prop()], d.prototype, "value", void 0), i([a.Prop()], d.prototype, "panel", void 0), i([a.Prop()], d.prototype, "dropOwner", void 0), i([a.Prop()], d.prototype, "checked", void 0), i([a.Prop({default: () => []})], d.prototype, "appendDirs", void 0), i([a.Prop({default: !0})], d.prototype, "enablePrivateSpace", void 0), i([a.Prop({default: !0})], d.prototype, "enableDelete", void 0), d = i([a.Component], d), t.default = d
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0}), function (e) {
        function t(e) {
            let t = e.toString(16).toUpperCase();
            return t.length < 2 && (t = "0" + t), t
        }

        function n(e, n, i, r) {
            return "0x" + t(r) + t(e) + t(n) + t(i)
        }

        e.rgbaStringToHexWith0xBegin = function (e) {
            if (void 0 !== e) {
                let t = e.split(",");
                return n(parseInt(t[0] || "0", 10), parseInt(t[1] || "0", 10), parseInt(t[2] || "0", 10), parseInt(t[3] || "255", 10))
            }
        }, e.colorNumberToHex = t, e.rgbaToHexWith0xBegin = n
    }(t.ColorUtilNS || (t.ColorUtilNS = {}))
}, function (e, t, n) {
    "use strict";
    var i = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(38), o = n(21), s = n(20), a = n(1).default.getLogger("Thunder.base.tools-utilities"), l = n(2),
        c = n(8).default(l.join(__rootDir, "../bin/ThunderHelper.node"));
    !function (e) {
        function t(e) {
            return i(this, void 0, void 0, function* () {
                let t;
                return t = e && (yield s.FileSystemAWNS.existsAW(e)) ? new Promise(t => {
                    c.asyncCalcuteFileMD5(e, (e, n) => {
                        e ? (n = n.toUpperCase(), t(n)) : t(void 0)
                    })
                }) : new Promise(e => {
                    e(void 0)
                })
            })
        }

        e.genarateMd5 = function (e) {
            let t = void 0, n = r.createHash("md5");
            return null !== n && (t = n.update(e).digest("hex")), t
        }, e.matchFileMd5 = function (e, n) {
            return i(this, void 0, void 0, function* () {
                let i = !1, r = yield t(e);
                return void 0 !== r && r === n.toUpperCase() && (a.information("check full md5 sucessful"), i = !0), i
            })
        }, e.calculateFileMd5Ex = function (e) {
            return i(this, void 0, void 0, function* () {
                let t;
                if (e && (yield s.FileSystemAWNS.existsAW(e))) {
                    let n = o.createReadStream(e), i = r.createHash("md5");
                    n.on("data", e => {
                        i.update(e)
                    }), t = new Promise(e => {
                        n.on("end", () => {
                            let t = i.digest("hex");
                            t = t.toUpperCase(), e(t)
                        })
                    })
                } else t = new Promise(e => {
                    e(void 0)
                });
                return t
            })
        }, e.calculateFileMd5 = t, e.encryptBuffer = function (e, t) {
            let n = null;
            try {
                let i = r.createCipheriv("aes-128-ecb", t, ""), o = i.update(e), s = i.final();
                n = Buffer.concat([o, s])
            } catch (e) {
                a.warning("encryptBuffer", e)
            }
            return n
        }, e.decryptBuffer = function (e, t) {
            let n = null;
            try {
                let i = r.createDecipheriv("aes-128-ecb", t, ""), o = i.update(e), s = i.final();
                n = Buffer.concat([o, s])
            } catch (e) {
                a.warning("decryptBuffer", e)
            }
            return n
        }, e.encryptSha1Buffer = function (e) {
            let t = null;
            try {
                t = r.createHash("sha1").update(e).digest("hex")
            } catch (e) {
                a.warning("encryptSha1Buffer", e)
            }
            return t
        }, e.encryptHmacBuffer = function (e, t, n, i = "hex") {
            let o = null;
            try {
                o = r.createHmac(e, t).update(n, "utf8").digest(i)
            } catch (e) {
                a.warning("encryptSha1Buffer", e)
            }
            return o
        }, e.setForegroundWindow = function (e, t) {
            return i(this, void 0, void 0, function* () {
                if (null !== e && null !== t) {
                    let n = void 0, r = [];
                    "renderer" === process.type ? (n = yield t.getNativeWindowHandle(), r = yield t.getChildWindows()) : (n = t.getNativeWindowHandle(), r = t.getChildWindows());
                    let o = [];
                    for (let e = 0; e < r.length; ++e) {
                        let t = r[e], n = !1;
                        "renderer" === process.type ? (yield t.isDestroyed()) || (n = yield t.isAlwaysOnTop()) : t.isDestroyed() || (n = t.isAlwaysOnTop()), n && o.push(t)
                    }
                    let s = n.readUIntLE(0, 4);
                    e.setForegroundWindow(s) ? a.information("setForegroundWindow sucessful") : a.information("setForegroundWindow failed"), o.forEach(e => i(this, void 0, void 0, function* () {
                        "renderer" === process.type ? (yield e.isDestroyed()) || e.setAlwaysOnTop(!0).catch() : e.isDestroyed() || e.setAlwaysOnTop(!0)
                    }))
                }
            })
        }
    }(t.ToolsUtilitiesAWNS || (t.ToolsUtilitiesAWNS = {}))
}, function (e, t, n) {
    "use strict";
    var i = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(3), o = n(7), s = n(18), a = n(4), l = n(28);
    !function (e) {
        e.resizeToFitContent = function (e = 0, t = 0, n) {
            return i(this, void 0, void 0, function* () {
                let i = yield o.asyncRemoteCall.getCurrentWindow();
                if (e > 0 && t > 0) window.resizeTo(e, t); else {
                    let e = document.querySelector(".td-dialog");
                    null === e && (e = document.querySelector(".msg-pop-message")), null !== e && window.resizeTo(e.offsetWidth, e.offsetHeight)
                }
                n && "function" == typeof n && (yield n()), window.requestIdleCallback(() => {
                    setTimeout(() => {
                        i.show()
                    }, 50)
                })
            })
        }, e.autoAdaptScrollIntoView = function (e, t, n) {
            let i = t.scrollTop, r = t.getBoundingClientRect(), o = e.getBoundingClientRect(), s = r.bottom;
            void 0 !== n && "number" == typeof n && n > 0 && (s = r.top + n), o.top < r.top ? t.scrollTop = i - (r.top - o.top) : o.bottom > s && (t.scrollTop = i + (o.bottom - s))
        }, e.fitWindowPosInParent = function (e, t) {
            return i(this, void 0, void 0, function* () {
                if (e || (e = yield o.asyncRemoteCall.getCurrentWindow()), t || (t = yield e.getParentWindow()), !t) return;
                let n = (yield e.getNativeWindowHandle()).readUIntLE(0, 4),
                    i = (yield t.getNativeWindowHandle()).readUIntLE(0, 4);
                yield a.client.callRemoteClientFunction(l.CommonIPCBase.mainProcessContext, "SetPosition", n, i)
            })
        }, e.getWindowsInParentCenterPos = function (e, t, n) {
            return i(this, void 0, void 0, function* () {
                n || "browser" === process.type || (n = yield o.asyncRemoteCall.getCurrentWindow());
                let i = "browser" !== process.type ? yield n.getPosition() : n.getPosition(),
                    s = "browser" !== process.type ? yield n.getSize() : n.getSize(),
                    a = "browser" !== process.type ? yield o.asyncRemoteCall.getScreen() : r.screen,
                    l = yield a.getCursorScreenPoint(), c = yield a.getDisplayNearestPoint(l), u = c.size.width,
                    d = c.size.height, h = s[0], f = s[1];
                i[0] + h > u && (h = u - i[0]), i[1] + f > d && (f = d - i[1]);
                let p = i[0] + (h - e) / 2, A = i[1] + (f - t) / 2;
                return p < 0 ? p = 0 : p > u - e && (p = u - e), A < 0 ? A = 0 : A > d - t && (A = d - t), [Math.round(p), Math.round(A)]
            })
        }, e.centerWnd = function (e, t, n) {
            do {
                if ("browser" !== process.type) break;
                if (!e || !t) break;
                let i = e.getNativeWindowHandle().readUIntLE(0, 4);
                if (!i) break;
                let o = t.getPosition(), s = t.getSize(), a = e.getSize(), l = r.screen.getCursorScreenPoint(),
                    c = r.screen.getDisplayNearestPoint(l), u = c.scaleFactor, d = c.size.width, h = c.size.height,
                    f = s[0], p = s[1];
                o[0] + f > d && (f = d - o[0]), o[1] + p > h && (p = h - o[1]);
                let A = o[0] + (f - a[0]) / 2, v = o[1] + (p - a[1]) / 2;
                A < 0 ? A = 0 : A > d - a[0] && (A = d - a[0]), v < 0 ? v = 0 : v > h - a[1] && (v = h - a[1]), n.setWindowPos(i, 0, A * u, v * u, 0, 0, 5)
            } while (0)
        }, e.bringWindowToTop = function (e) {
            return i(this, void 0, void 0, function* () {
                if (!e) {
                    let t = yield(yield o.asyncRemoteCall.getCurrentWindow()).getNativeWindowHandle();
                    e = t.readUIntLE(0, 4)
                }
                r.ipcRenderer.send(s.ThunderChannelList.channelMRBringWindowToTop, e)
            })
        }
    }(t.ThunderWindowNS || (t.ThunderWindowNS = {}))
}, function (e, t) {
    e.exports = require("assert")
}, , , function (e, t) {
    !function (e) {
        var t,
            n = '<svg><symbol id="td-icon-svg-file" viewBox="0 0 1204 1024"><path d="M180.705882 1024c-102.4 0-180.705882-78.305882-180.705882-180.705882V180.705882c0-102.4 78.305882-180.705882 180.705882-180.705882h240.941177c102.4 0 180.705882 78.305882 180.705882 180.705882h421.647059c102.4 0 180.705882 78.305882 180.705882 180.705883v481.882353c0 102.4-78.305882 180.705882-180.705882 180.705882H180.705882z" fill="#FFC25A" ></path><path d="M301.176471 361.411765h602.352941c66.258824 0 120.470588 54.211765 120.470588 120.470588v361.411765c0 66.258824-54.211765 120.470588-120.470588 120.470588H301.176471c-66.258824 0-120.470588-54.211765-120.470589-120.470588V481.882353c0-66.258824 54.211765-120.470588 120.470589-120.470588z" fill="#FFFFFF" ></path><path d="M180.705882 542.117647h843.294118c102.4 0 180.705882 78.305882 180.705882 180.705882v120.470589c0 102.4-78.305882 180.705882-180.705882 180.705882H180.705882c-102.4 0-180.705882-78.305882-180.705882-180.705882v-120.470589c0-102.4 78.305882-180.705882 180.705882-180.705882z" fill="#FFD68F" ></path></symbol></svg>',
            i = function (e, t) {
                t.firstChild ? function (e, t) {
                    t.parentNode.insertBefore(e, t)
                }(e, t.firstChild) : t.appendChild(e)
            };
        if ((t = document.getElementsByTagName("script"))[t.length - 1].getAttribute("data-injectcss") && !e.__iconfont__svg__cssinject__) {
            e.__iconfont__svg__cssinject__ = !0;
            try {
                document.write("<style>.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}</style>")
            } catch (e) {
                console && console.log(e)
            }
        }
        !function (t) {
            if (document.addEventListener) if (~["complete", "loaded", "interactive"].indexOf(document.readyState)) setTimeout(t, 0); else {
                var n = function () {
                    document.removeEventListener("DOMContentLoaded", n, !1), t()
                };
                document.addEventListener("DOMContentLoaded", n, !1)
            } else document.attachEvent && function (e, t) {
                var n = e.document, i = !1, r = function () {
                    i || (i = !0, t())
                }, o = function () {
                    try {
                        n.documentElement.doScroll("left")
                    } catch (e) {
                        return void setTimeout(o, 50)
                    }
                    r()
                };
                o(), n.onreadystatechange = function () {
                    "complete" == n.readyState && (n.onreadystatechange = null, r())
                }
            }(e, t)
        }(function () {
            var e, t;
            (e = document.createElement("div")).innerHTML = n, n = null, (t = e.getElementsByTagName("svg")[0]) && (t.setAttribute("aria-hidden", "true"), t.style.position = "absolute", t.style.width = 0, t.style.height = 0, t.style.overflow = "hidden", i(t, document.body))
        })
    }(window)
}, function (e, t) {
    var n,
        i = [0, 26, 44, 70, 100, 134, 172, 196, 242, 292, 346, 404, 466, 532, 581, 655, 733, 815, 901, 991, 1085, 1156, 1258, 1364, 1474, 1588, 1706, 1828, 1921, 2051, 2185, 2323, 2465, 2611, 2761, 2876, 3034, 3196, 3362, 3532, 3706];
    t.getSymbolSize = function (e) {
        if (!e) throw new Error('"version" cannot be null or undefined');
        if (e < 1 || e > 40) throw new Error('"version" should be in range from 1 to 40');
        return 4 * e + 17
    }, t.getSymbolTotalCodewords = function (e) {
        return i[e]
    }, t.getBCHDigit = function (e) {
        for (var t = 0; 0 !== e;) t++, e >>>= 1;
        return t
    }, t.setToSJISFunction = function (e) {
        if ("function" != typeof e) throw new Error('"toSJISFunc" is not a valid function.');
        n = e
    }, t.isKanjiModeEnabled = function () {
        return void 0 !== n
    }, t.toSJIS = function (e) {
        return n(e)
    }
}, function (e, t, n) {
    var i = n(211), r = n(212);
    t.NUMERIC = {id: "Numeric", bit: 1, ccBits: [10, 12, 14]}, t.ALPHANUMERIC = {
        id: "Alphanumeric",
        bit: 2,
        ccBits: [9, 11, 13]
    }, t.BYTE = {id: "Byte", bit: 4, ccBits: [8, 16, 16]}, t.KANJI = {
        id: "Kanji",
        bit: 8,
        ccBits: [8, 10, 12]
    }, t.MIXED = {bit: -1}, t.getCharCountIndicator = function (e, t) {
        if (!e.ccBits) throw new Error("Invalid mode: " + e);
        if (!i.isValid(t)) throw new Error("Invalid version: " + t);
        return t >= 1 && t < 10 ? e.ccBits[0] : t < 27 ? e.ccBits[1] : e.ccBits[2]
    }, t.getBestModeForData = function (e) {
        return r.testNumeric(e) ? t.NUMERIC : r.testAlphanumeric(e) ? t.ALPHANUMERIC : r.testKanji(e) ? t.KANJI : t.BYTE
    }, t.toString = function (e) {
        if (e && e.id) return e.id;
        throw new Error("Invalid mode")
    }, t.isValid = function (e) {
        return e && e.bit && e.ccBits
    }, t.from = function (e, n) {
        if (t.isValid(e)) return e;
        try {
            return function (e) {
                if ("string" != typeof e) throw new Error("Param is not a string");
                switch (e.toLowerCase()) {
                    case"numeric":
                        return t.NUMERIC;
                    case"alphanumeric":
                        return t.ALPHANUMERIC;
                    case"kanji":
                        return t.KANJI;
                    case"byte":
                        return t.BYTE;
                    default:
                        throw new Error("Unknown mode: " + e)
                }
            }(e)
        } catch (e) {
            return n
        }
    }
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return e.useNative ? n("select", {
            ref: "selectNative",
            staticClass: "xly-select",
            on: {change: e.onSelect}
        }, e._l(e.filterOptions, function (t) {
            return n("option", {key: t, domProps: {value: t}}, [e._v(e._s(t))])
        })) : n("td-select", e._g(e._b({
            ref: "select",
            attrs: {value: e.value, options: e.filterOptions, position: e.position}
        }, "td-select", e.$attrs, !1), e.$listeners), [e._t("suffix", null, {slot: "suffix"}), e._v(" "), e._t("append", null, {slot: "append"})], 2)
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement;
        return (e._self._c || t)("td-select", e._g(e._b({
            ref: "select",
            class: {"is-checked": e.checked},
            attrs: {value: e.value, "custom-menu-enabled": ""},
            on: {"menu-show": e.handleMenuShow},
            nativeOn: {
                mousedown: function (t) {
                    e.isMouseup = !1
                }, mouseup: function (t) {
                    e.isMouseup = !0
                }
            }
        }, "td-select", e.$attrs, !1), e.$listeners), [e._t("prefix", null, {slot: "prefix"}), e._v(" "), e._t("suffix", null, {slot: "suffix"}), e._v(" "), e._t("append", null, {slot: "append"})], 2)
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0}), function (e) {
        function t(e) {
            const t = new Date(+e);
            return "Invalid Date" === t.toString() ? "" : `${t.getFullYear()}-${r(t.getMonth() + 1, 2)}-${r(t.getDate(), 2)} ${r(t.getHours(), 2)}:${r(t.getMinutes(), 2)}`
        }

        function n(e) {
            let t = new Date(+e);
            return "Invalid Date" === t.toString() ? "" : r(t.getHours(), 2) + ":" + r(t.getMinutes(), 2)
        }

        function i(e, t) {
            return ((e = new Date(e).setHours(0, 0, 0, 0)) - (t = new Date(t).setHours(0, 0, 0, 0))) / 1e3 / 60 / 60 / 24
        }

        function r(e, t) {
            let n = e.toString().length, i = e.toString();
            for (; n < t;) i = "0" + i, n++;
            return i
        }

        e.formatDate = function (e, t) {
            /(y+)/.test(t) && (t = t.replace(RegExp.$1, (e.getFullYear() + "").substr(4 - RegExp.$1.length)));
            let n = {
                "M+": e.getMonth() + 1,
                "d+": e.getDate(),
                "h+": e.getHours(),
                "m+": e.getMinutes(),
                "s+": e.getSeconds()
            };
            for (let e in n) {
                let i = n[e] + "";
                new RegExp(`(${e})`).test(t) && (t = t.replace(RegExp.$1, 1 === RegExp.$1.length ? i : ("00" + (i = i)).substr(i.length)))
            }
            var i;
            if (/(f+)/.test(t)) {
                let n = e.getMilliseconds() + "";
                t = t.replace(RegExp.$1, ("000" + n).substr(n.length))
            }
            return t
        }, e.getPubTime = function (e) {
            const o = new Date(+e), s = (new Date).getTime(), a = s - 1 * e, l = i(s, o.getTime());
            let c = "";
            if (a < 36e5) {
                let e = Math.floor(a / 6e4);
                c = e >= 1 ? e + "分钟前" : "刚刚"
            } else c = a < 864e5 ? Math.floor(a / 36e5) + "小时前" : 1 === l ? "昨天" + n(e) : 2 === l ? "前天" + n(e) : o.getFullYear() === (new Date).getFullYear() ? `${r(o.getMonth() + 1, 2)}-${r(o.getDate(), 2)} ${r(o.getHours(), 2)}:${r(o.getMinutes(), 2)}` : t(e);
            return c
        }, e.createTimeFormat = t, e.timeFormat = n, e.dateDiff = i, e.pad = r, e.formatSeconds = function (e) {
            let t = "";
            do {
                if (e <= 0) {
                    t = "00:00:00";
                    break
                }
                let n = Math.floor(e / 3600), i = Math.floor(e / 60) % 60, r = Math.floor(e % 60);
                t = n < 10 ? "0" + n + ":" : n + ":", t += i < 10 ? "0" + i + ":" : i + ":", t += r < 10 ? "0" + r : "" + r
            } while (0);
            return t
        }, e.formatSecondsCustom = function (e) {
            let t = "";
            do {
                if (e <= 0) {
                    t = "00:00:00";
                    break
                }
                let n = Math.floor(e / 3600), i = Math.floor(e / 60) % 60, r = Math.floor(e % 60);
                if (n <= 99) t = n < 10 ? "0" + n + ":" : n + ":", t += i < 10 ? "0" + i + ":" : i + ":", t += r < 10 ? "0" + r : "" + r; else {
                    let n = Math.floor(e / 86400);
                    t = `剩${n = n > 999 ? 999 : n}天`
                }
            } while (0);
            return t
        }, e.convertTimeToMinutes = function (e, t, n) {
            return 3600 * e + 60 * t + n
        }, e.convertMinuteToTime = function (e) {
            return [Math.floor(e / 3600), Math.floor(e / 60 % 60), Math.floor(e % 60)]
        }
    }(t.TimeHelperNS || (t.TimeHelperNS = {}))
}, , , , , , , , , , , , , , , , , , , function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(110), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(5), o = n(16);
    let s = class extends r.Vue {
        constructor() {
            super(...arguments), this.tipsText = "", this.isShowTips = !1, this.timerId = null
        }

        handleDocClick() {
            this.tipsText = "", this.isShowTips = !1
        }

        mounted() {
            document.addEventListener("mousedown", this.handleDocClick)
        }

        destroyed() {
            document.removeEventListener("mousedown", this.handleDocClick)
        }

        debounce(e, t) {
            this.timerId && clearTimeout(this.timerId), this.timerId = setTimeout(() => {
                this.timerId = null, e()
            }, t)
        }

        handleInputChangeDebounce(e) {
            this.debounce(() => {
                this.handleInputChange(e)
            }, 500)
        }

        handleInputChange(e) {
            let t = !0;
            do {
                if (this.isAlpha) {
                    if (e.length > 1) {
                        this.tipsText = "最大输入字符个数为1", this.isShowTips = !0, t = !1;
                        break
                    }
                    if (!o.ThunderUtil.isAlpha(e)) {
                        this.tipsText = "只能为字母", this.isShowTips = !0, t = !1;
                        break
                    }
                } else if (this.isNumber) {
                    if (!o.ThunderUtil.isDigital(e)) {
                        this.tipsText = "输入值必须为数字", this.isShowTips = !0, t = !1;
                        break
                    }
                    let n = Number(e);
                    if (void 0 !== this.min && null !== this.min && n < this.min) {
                        this.tipsText = "输入值必须大于等于" + this.min, this.isShowTips = !0, t = !1;
                        break
                    }
                    if (void 0 !== this.max && null !== this.max && n > this.max) {
                        this.tipsText = "输入值必须小于等于" + this.max, this.isShowTips = !0, t = !1;
                        break
                    }
                }
            } while (0);
            t ? this.$emit("input", e) : this.$emit("input", this.value, e)
        }
    };
    i([r.Prop({default: "top"})], s.prototype, "placement", void 0), i([r.Prop({})], s.prototype, "value", void 0), i([r.Prop({default: !1})], s.prototype, "isNumber", void 0), i([r.Prop({})], s.prototype, "max", void 0), i([r.Prop({})], s.prototype, "min", void 0), i([r.Prop({default: !1})], s.prototype, "isAlpha", void 0), s = i([r.Component], s), t.default = s
}, , function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const i = n(2), r = n(1), o = n(15), s = n(36), a = n(25), l = n(8), c = r.default.getLogger("ThunderNewTask"),
        u = l.default(i.join(__rootDir, "../bin/ThunderHelper.node")),
        d = ".asf;.avi;.exe;.iso;.mp3;.mpeg;.mpg;.mpga;.ra;.rar;.rm;.rmvb;.tar;.wma;.wmp;.wmv;\n  .mov;.zip;.3gp;.chm;.mdf;.torrent;.jar;.msi;.arj;.bin;.dll;.psd;.hqx;.sit;.lzh;.gz;.tgz;.xlsx;.xls;.doc;.docx;.ppt;\n  .pptx;.flv;.swf;.mkv;.tp;.ts;.flac;.ape;.wav;.aac;.txt;.dat;.7z;.ttf;.bat;.xv;.xvx;.pdf;.mp4;.apk;.ipa;.epub;.mobi;\n  .deb;.sisx;.cab;.pxl;.dmg;.msu;",
        h = ".a;.a3m;.a3w;.a4m;.a4p;.a4w;.a5w;.aam;.aas;.abf;.abk;.abs;.ace;.acm;.acp;.act;.ad;\n  .ada;.adb;.adf;.adi;.adm;.adp;.adr;.ads;.af2;.af3;.afm;.ai;.aif;.aifc;.aiff;.aim;.ais;.akw;.alb;.all;.ams;.anc;.ani;\n  .ans;.ant;.api;.aps;.ari;.arj;.art;.asa;.asc;.asd;.ase;.asf;.asm;.aso;.asp;.asv;.asx;.atw;.au;.avb;.avi;.avr;.avs;\n  .awd;.awr;.axx;.bak;.bas;.bat;.bdf;.bgl;.bi;.bif;.biff;.bin;.bk;.bk$;.bks;.bmk;.bmp;.book;.brx;.bsp;.btm;.bud;.bun;\n  .bw;.bwv;.c;.cab;.cad;.cal;.cap;.cas;.cb;.cc;.ccb;.cch;.cco;.cct;.cda;.cdf;.cdi;.cdm;.cdr;.cdt;.cdx;.cfg;.cgi;.cgm;\n  .chk;.chm;.chr;.cif;.cil;.class;.cll;.clp;.cls;.cmf;.cmv;.cmx;.cnf;.cnm;.cnt;.cod;.com;.cpl;.cpo;.cpp;.cpr;.cpt;.cpx;\n  .crd;.crp;.crt;.csc;.csp;.cst;.csv;.ctl;.cur;.cv;.cxx;.dat;.db;.dbc;.dbf;.dbx;.dcm;.dcs;.dct;.dcu;.dcx;.dem;.der;.dewf;\n  .dib;.dic;.dif;.dig;.dir;.diz;.dlg;.dll;.dls;.dmd;.dmf;.doc;.dot;.draw;.drv;.drw;.dsf;.dsg;.dsm;.dsp;.dsq;.dsw;.dtd;\n  .dun;.dv;.dxf;.dxr;.eda;.edd;.emd;.emf;.eml;.ephtml;.eps;.exe;.fav;.fax;.fcd;.fdf;.ffa;.ffk;.ffl;.ffo;.fif;.fla;.flc;\n  .fm;.fml;.fng;.fnk;.fon;.fot;.frt;.frx;.ftg;.fts;.gal;.gdb;.gdm;.gem;.gen;.getright;.gfi;.gfx;.gho;.gif;.gim;.gix;.gkh;\n  .gks;.gl;.gna;.gnt;.gnx;.gra;.grf;.grp;.hcom;.hgl;.hlp;.hpj;.hpp;.hst;.ht;.htm;.html;.htt;.htx;.icb;.icc;.icl;.icm;.ico;\n  .idd;.idf;.idq;.idx;.iff;.iges;.igf;.ilbm;.ima;.inf;.ini;.inrs;.ins;.int;.iqy;.iso;.ist;.isu;.iwc;.j62;.jar;.java;.jbf;\n  .jff;.jfif;.jif;.jmp;.jpe;.jpeg;.jpg;.js;.jsp;.jtf;.k25;.kar;.kdc;.key;.kfx;.kiz;.kkw;.kmp;.kqp;.lab;.lbm;.lbt;.lbx;.ldb;\n  .ldl;.leg;.lft;.lgo;.lha;.lib;.lin;.lis;.llx;.lnk;.log;.lst;.lu;.lyr;.lzh;.lzs;.m1v;.m3u;.mad;.maf;.mam;.map;.maq;.mar;.mat;\n  .mb1;.mbx;.mcr;.mdb;.mde;.mdl;.mdn;.mdw;.mdz;.mic;.mid;.mim;.mime;.mli;.mme;.mng;.mnu;.mod;.mov;.mp2;.mp3;.mpa;.mpe;.mpeg;\n  .mpg;.mpp;.mpr;.msg;.msi;.msn;.msp;.mst;.mtm;.nan;.nap;.ncb;.ncd;.ncf;.nff;.nft;.nil;.nist;.nls;.nlu;.ntx;.nwc;.nws;.obj;\n  .ocx;.ods;.ofn;.oft;.olb;.ole;.oogl;.opo;.p65;.pab;.part;.pas;.pbd;.pbl;.pbm;.pbr;.pcd;.pcl;.pcm;.pdd;.pdf;.pfm;.pgl;.pgm;\n  .ph;.php;.php3;.phtml;.pic;.pjt;.pjx;.pkg;.pli;.png;.pot;.ppa;.ppf;.ppm;.pps;.ppt;.prf;.prg;.prj;.prn;.prt;.psd;.psp;.pst;\n  .pwz;.qic;.qif;.qlb;.qry;.qtp;.qtx;.qw;.ra;.ram;.rar;.rdf;.reg;.rep;.res;.rft;.rgb;.rm;.rmd;.rpt;.rtf;.rul;.rvp;.s;.sav;.sbl;\n  .scc;.scf;.scp;.scr;.sct;.scx;.sdt;.sdv;.sdx;.sep;.sfd;.sfi;.sfr;.sfx;.sgi;.sgml;.shg;.shtml;.shw;.sig;.ska;.skl;.sl;.spl;\n  .sqc;.sqr;.str;.swa;.swf;.sys;.syw;.taz;.tga;.theme;.thn;.tif;.tiff;.tig;.tlb;.tmp;.tol;.tpl;.trm;.trn;.ttf;.txt;.txw;.udf;\n  .ult;.url;.use;.uwf;.vbp;.vbp;.vbw;.vbw;.vbx;.vbx;.vct;.vcx;.vda;.vda;.vir;.vir;.viv;.vqf;.vsd;.vsd;.vsl;.vsl;.vss;.vss;.vst;\n  .vst;.vsw;.vsw;.vxd;.vxd;.w3l;.wab;.wad;.wav;.wbk;.wcm;.wdb;.wfm;.wfn;.wil;.wiz;.wll;.wmf;.wow;.wp;.wpd;.wpf;.wpg;.wps;.wpt;.wr1;\n  .wrk;.wrl;.wrz;.x;.x16;.x32;.xar;.xbm;.xi;.xla;.xlb;.xlc;.xld;.xlk;.xll;.xlm;.xls;.xlt;.xlv;.xlw;.xnk;.xpm;.xwd;.xwf;.yal;.z;.zap;.zip;";
    !function (e) {
        function t(e) {
            let t = !1;
            do {
                if (void 0 === e || null === e) break;
                if ("" === e || "." === e) break;
                if (d.indexOf(e) > -1) {
                    t = !0;
                    break
                }
            } while (0);
            return t
        }

        function n(e) {
            let t = !1;
            do {
                if (void 0 === e || null === e) break;
                if ("" === e) break;
                if (e.match(/[\/\\"<>\?\*|]/)) break;
                t = !0
            } while (0);
            return t
        }

        function r(e) {
            let n = !1;
            do {
                if (void 0 === e || null === e) break;
                if ("" === e || "." === e) break;
                let i = s.TaskUtilHelper.getTaskFileType(void 0, e);
                if (i === s.TaskUtilHelper.FileExtType.Video || i === s.TaskUtilHelper.FileExtType.Music || i === s.TaskUtilHelper.FileExtType.Pic) {
                    n = !0;
                    break
                }
                n = t(e)
            } while (0);
            return n
        }

        function l(e) {
            let t = !1, o = i.parse(e);
            return t = n(o.name) && r(o.ext)
        }

        function f(e) {
            let t = {};
            do {
                if (void 0 === e || null === e) break;
                c.information("parseDynamicUrlArgs");
                let n = /([^&=?]+)=([^&]*)/g;
                for (; n.exec(e);) t[RegExp.$1] = RegExp.$2;
                c.information("parseDynamicUrlArgs ret ", t)
            } while (0);
            return t
        }

        function p(e) {
            let t = {pageFileName: void 0, args: void 0};
            do {
                if (void 0 === e || null === e) break;
                c.information("parseDynamicUrlPath"), e.match(/[\/]?([^?]*)\?([^\s]*)/) ? (t.pageFileName = RegExp.$1, t.args = RegExp.$2) : (t.pageFileName = e, t.args = ""), c.information("parseDynamicUrlPath ret", t)
            } while (0);
            return t
        }

        function A(e) {
            let t = "";
            do {
                if (void 0 === e || null === e) break;
                let n = p(e);
                if (void 0 !== n.args) {
                    let e = f(n.args);
                    for (let n in e) {
                        let i = e[n];
                        if (l(i)) {
                            t = i;
                            break
                        }
                    }
                }
                void 0 !== n.pageFileName && l(n.pageFileName) && (t = n.pageFileName)
            } while (0);
            return t
        }

        function v(e) {
            let t = [];
            do {
                if (void 0 === e || null === e) break;
                let n = A(e);
                if ("" !== n && !t.includes(n)) {
                    let e = g(n);
                    t.push(e)
                }
                let i = g(e);
                t.includes(i) || t.push(i)
            } while (0);
            return t
        }

        function g(e) {
            return u.parseFileNameFromP2spUrlPath(e)
        }

        function m(e) {
            return u.isThunderPrivateUrl(e)
        }

        function C(e) {
            return u.parseEd2kUrl(e)
        }

        function y(e) {
            return u.parseUrl(e)
        }

        e.isDownloadFileExtName = t, e.isIllegalFileName = n, e.isGoodFileExtName = r, e.isUsualFileExtName = function (e) {
            let t = !1;
            do {
                if (void 0 === e || null === e) break;
                if ("" === e || "." === e) break;
                if (r(e)) {
                    t = !0;
                    break
                }
                if (h.indexOf(e) > -1) {
                    t = !0;
                    break
                }
            } while (0);
            return t
        }, e.isGoodFileName = l, e.parseDynamicUrlArgs = f, e.parseDynamicUrlPath = p, e.parseFileNameFromDynamicUrlPath = A, e.getFileNameListFromUrlPath = v, e.getNameFromUrl = function (e) {
            let t = "index.html", n = a.ThunderHelper.getTaskTypeFromUrl(e);
            if (n === o.DownloadKernel.TaskType.P2sp) {
                let n = y(e);
                if (n) {
                    let e = v(n.fullPath);
                    e.length > 0 && (t = e[0])
                } else {
                    let n = /:\/\/.*?\[.+?\].*(\/.+)/.exec(e);
                    if (n && n[1]) {
                        let e = v(n[1]);
                        e.length > 0 && (t = e[0])
                    }
                }
            } else n === o.DownloadKernel.TaskType.Emule && (t = C(e).fileName);
            return t.replace(/[*?/\\:|<>\"]/g, "_")
        }, e.parseFileNameFromP2spUrlPath = g, e.isThunderPrivateUrl = m, e.parseThunderPrivateUrl = function (e) {
            let t = {url: e, codePage: -1};
            return m(e) && (t = u.parseThunderPrivateUrl(e)), t
        }, e.parseEd2kUrl = C, e.parseUrl = y, e.parseMagnetUrl = function (e) {
            return u.parseMagnetUrl(e)
        }, e.makeUrl = function (e) {
            return u.makeUrl(e)
        }
    }(t.ParseUrlFileNameNS || (t.ParseUrlFileNameNS = {}))
}, function (e, t, n) {
    "use strict";
    var i = n(10), r = n(65), o = n(115), s = n(45);

    function a(e) {
        var t = new o(e), n = r(o.prototype.request, t);
        return i.extend(n, o.prototype, t), i.extend(n, t), n
    }

    var l = a(s);
    l.Axios = o, l.create = function (e) {
        return a(i.merge(s, e))
    }, l.Cancel = n(71), l.CancelToken = n(131), l.isCancel = n(70), l.all = function (e) {
        return Promise.all(e)
    }, l.spread = n(132), e.exports = l, e.exports.default = l
}, function (e, t) {
    function n(e) {
        return !!e.constructor && "function" == typeof e.constructor.isBuffer && e.constructor.isBuffer(e)
    }

    /*!
 * Determine if an object is a Buffer
 *
 * @author   Feross Aboukhadijeh <https://feross.org>
 * @license  MIT
 */
    e.exports = function (e) {
        return null != e && (n(e) || function (e) {
            return "function" == typeof e.readFloatLE && "function" == typeof e.slice && n(e.slice(0, 0))
        }(e) || !!e._isBuffer)
    }
}, function (e, t, n) {
    "use strict";
    var i = n(45), r = n(10), o = n(126), s = n(127);

    function a(e) {
        this.defaults = e, this.interceptors = {request: new o, response: new o}
    }

    a.prototype.request = function (e) {
        "string" == typeof e && (e = r.merge({url: arguments[0]}, arguments[1])), (e = r.merge(i, {method: "get"}, this.defaults, e)).method = e.method.toLowerCase();
        var t = [s, void 0], n = Promise.resolve(e);
        for (this.interceptors.request.forEach(function (e) {
            t.unshift(e.fulfilled, e.rejected)
        }), this.interceptors.response.forEach(function (e) {
            t.push(e.fulfilled, e.rejected)
        }); t.length;) n = n.then(t.shift(), t.shift());
        return n
    }, r.forEach(["delete", "get", "head", "options"], function (e) {
        a.prototype[e] = function (t, n) {
            return this.request(r.merge(n || {}, {method: e, url: t}))
        }
    }), r.forEach(["post", "put", "patch"], function (e) {
        a.prototype[e] = function (t, n, i) {
            return this.request(r.merge(i || {}, {method: e, url: t, data: n}))
        }
    }), e.exports = a
}, function (e, t, n) {
    "use strict";
    var i = n(10);
    e.exports = function (e, t) {
        i.forEach(e, function (n, i) {
            i !== t && i.toUpperCase() === t.toUpperCase() && (e[t] = n, delete e[i])
        })
    }
}, function (e, t, n) {
    "use strict";
    var i = n(10), r = n(66), o = n(68), s = n(118), a = n(119), l = n(46),
        c = "undefined" != typeof window && window.btoa && window.btoa.bind(window) || n(120);
    e.exports = function (e) {
        return new Promise(function (t, u) {
            var d = e.data, h = e.headers;
            i.isFormData(d) && delete h["Content-Type"];
            var f = new XMLHttpRequest, p = "onreadystatechange", A = !1;
            if ("undefined" == typeof window || !window.XDomainRequest || "withCredentials" in f || a(e.url) || (f = new window.XDomainRequest, p = "onload", A = !0, f.onprogress = function () {
            }, f.ontimeout = function () {
            }), e.auth) {
                var v = e.auth.username || "", g = e.auth.password || "";
                h.Authorization = "Basic " + c(v + ":" + g)
            }
            if (f.open(e.method.toUpperCase(), o(e.url, e.params, e.paramsSerializer), !0), f.timeout = e.timeout, f[p] = function () {
                if (f && (4 === f.readyState || A) && (0 !== f.status || f.responseURL && 0 === f.responseURL.indexOf("file:"))) {
                    var n = "getAllResponseHeaders" in f ? s(f.getAllResponseHeaders()) : null, i = {
                        data: e.responseType && "text" !== e.responseType ? f.response : f.responseText,
                        status: 1223 === f.status ? 204 : f.status,
                        statusText: 1223 === f.status ? "No Content" : f.statusText,
                        headers: n,
                        config: e,
                        request: f
                    };
                    r(t, u, i), f = null
                }
            }, f.onerror = function () {
                u(l("Network Error", e, null, f)), f = null
            }, f.ontimeout = function () {
                u(l("timeout of " + e.timeout + "ms exceeded", e, "ECONNABORTED", f)), f = null
            }, i.isStandardBrowserEnv()) {
                var m = n(121),
                    C = (e.withCredentials || a(e.url)) && e.xsrfCookieName ? m.read(e.xsrfCookieName) : void 0;
                C && (h[e.xsrfHeaderName] = C)
            }
            if ("setRequestHeader" in f && i.forEach(h, function (e, t) {
                void 0 === d && "content-type" === t.toLowerCase() ? delete h[t] : f.setRequestHeader(t, e)
            }), e.withCredentials && (f.withCredentials = !0), e.responseType) try {
                f.responseType = e.responseType
            } catch (t) {
                if ("json" !== e.responseType) throw t
            }
            "function" == typeof e.onDownloadProgress && f.addEventListener("progress", e.onDownloadProgress), "function" == typeof e.onUploadProgress && f.upload && f.upload.addEventListener("progress", e.onUploadProgress), e.cancelToken && e.cancelToken.promise.then(function (e) {
                f && (f.abort(), u(e), f = null)
            }), void 0 === d && (d = null), f.send(d)
        })
    }
}, function (e, t, n) {
    "use strict";
    var i = n(10),
        r = ["age", "authorization", "content-length", "content-type", "etag", "expires", "from", "host", "if-modified-since", "if-unmodified-since", "last-modified", "location", "max-forwards", "proxy-authorization", "referer", "retry-after", "user-agent"];
    e.exports = function (e) {
        var t, n, o, s = {};
        return e ? (i.forEach(e.split("\n"), function (e) {
            if (o = e.indexOf(":"), t = i.trim(e.substr(0, o)).toLowerCase(), n = i.trim(e.substr(o + 1)), t) {
                if (s[t] && r.indexOf(t) >= 0) return;
                s[t] = "set-cookie" === t ? (s[t] ? s[t] : []).concat([n]) : s[t] ? s[t] + ", " + n : n
            }
        }), s) : s
    }
}, function (e, t, n) {
    "use strict";
    var i = n(10);
    e.exports = i.isStandardBrowserEnv() ? function () {
        var e, t = /(msie|trident)/i.test(navigator.userAgent), n = document.createElement("a");

        function r(e) {
            var i = e;
            return t && (n.setAttribute("href", i), i = n.href), n.setAttribute("href", i), {
                href: n.href,
                protocol: n.protocol ? n.protocol.replace(/:$/, "") : "",
                host: n.host,
                search: n.search ? n.search.replace(/^\?/, "") : "",
                hash: n.hash ? n.hash.replace(/^#/, "") : "",
                hostname: n.hostname,
                port: n.port,
                pathname: "/" === n.pathname.charAt(0) ? n.pathname : "/" + n.pathname
            }
        }

        return e = r(window.location.href), function (t) {
            var n = i.isString(t) ? r(t) : t;
            return n.protocol === e.protocol && n.host === e.host
        }
    }() : function () {
        return !0
    }
}, function (e, t, n) {
    "use strict";
    var i = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";

    function r() {
        this.message = "String contains an invalid character"
    }

    r.prototype = new Error, r.prototype.code = 5, r.prototype.name = "InvalidCharacterError", e.exports = function (e) {
        for (var t, n, o = String(e), s = "", a = 0, l = i; o.charAt(0 | a) || (l = "=", a % 1); s += l.charAt(63 & t >> 8 - a % 1 * 8)) {
            if ((n = o.charCodeAt(a += .75)) > 255) throw new r;
            t = t << 8 | n
        }
        return s
    }
}, function (e, t, n) {
    "use strict";
    var i = n(10);
    e.exports = i.isStandardBrowserEnv() ? {
        write: function (e, t, n, r, o, s) {
            var a = [];
            a.push(e + "=" + encodeURIComponent(t)), i.isNumber(n) && a.push("expires=" + new Date(n).toGMTString()), i.isString(r) && a.push("path=" + r), i.isString(o) && a.push("domain=" + o), !0 === s && a.push("secure"), document.cookie = a.join("; ")
        }, read: function (e) {
            var t = document.cookie.match(new RegExp("(^|;\\s*)(" + e + ")=([^;]*)"));
            return t ? decodeURIComponent(t[3]) : null
        }, remove: function (e) {
            this.write(e, "", Date.now() - 864e5)
        }
    } : {
        write: function () {
        }, read: function () {
            return null
        }, remove: function () {
        }
    }
}, function (e, t, n) {
    function i() {
        var e;
        try {
            e = t.storage.debug
        } catch (e) {
        }
        return !e && "undefined" != typeof process && "env" in process && (e = process.env.DEBUG), e
    }

    (t = e.exports = n(123)).log = function () {
        return "object" == typeof console && console.log && Function.prototype.apply.call(console.log, console, arguments)
    }, t.formatArgs = function (e) {
        var n = this.useColors;
        if (e[0] = (n ? "%c" : "") + this.namespace + (n ? " %c" : " ") + e[0] + (n ? "%c " : " ") + "+" + t.humanize(this.diff), !n) return;
        var i = "color: " + this.color;
        e.splice(1, 0, i, "color: inherit");
        var r = 0, o = 0;
        e[0].replace(/%[a-zA-Z%]/g, function (e) {
            "%%" !== e && "%c" === e && (o = ++r)
        }), e.splice(o, 0, i)
    }, t.save = function (e) {
        try {
            null == e ? t.storage.removeItem("debug") : t.storage.debug = e
        } catch (e) {
        }
    }, t.load = i, t.useColors = function () {
        if ("undefined" != typeof window && window.process && "renderer" === window.process.type) return !0;
        if ("undefined" != typeof navigator && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) return !1;
        return "undefined" != typeof document && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || "undefined" != typeof window && window.console && (window.console.firebug || window.console.exception && window.console.table) || "undefined" != typeof navigator && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || "undefined" != typeof navigator && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)
    }, t.storage = "undefined" != typeof chrome && void 0 !== chrome.storage ? chrome.storage.local : function () {
        try {
            return window.localStorage
        } catch (e) {
        }
    }(), t.colors = ["#0000CC", "#0000FF", "#0033CC", "#0033FF", "#0066CC", "#0066FF", "#0099CC", "#0099FF", "#00CC00", "#00CC33", "#00CC66", "#00CC99", "#00CCCC", "#00CCFF", "#3300CC", "#3300FF", "#3333CC", "#3333FF", "#3366CC", "#3366FF", "#3399CC", "#3399FF", "#33CC00", "#33CC33", "#33CC66", "#33CC99", "#33CCCC", "#33CCFF", "#6600CC", "#6600FF", "#6633CC", "#6633FF", "#66CC00", "#66CC33", "#9900CC", "#9900FF", "#9933CC", "#9933FF", "#99CC00", "#99CC33", "#CC0000", "#CC0033", "#CC0066", "#CC0099", "#CC00CC", "#CC00FF", "#CC3300", "#CC3333", "#CC3366", "#CC3399", "#CC33CC", "#CC33FF", "#CC6600", "#CC6633", "#CC9900", "#CC9933", "#CCCC00", "#CCCC33", "#FF0000", "#FF0033", "#FF0066", "#FF0099", "#FF00CC", "#FF00FF", "#FF3300", "#FF3333", "#FF3366", "#FF3399", "#FF33CC", "#FF33FF", "#FF6600", "#FF6633", "#FF9900", "#FF9933", "#FFCC00", "#FFCC33"], t.formatters.j = function (e) {
        try {
            return JSON.stringify(e)
        } catch (e) {
            return "[UnexpectedJSONParseError]: " + e.message
        }
    }, t.enable(i())
}, function (e, t, n) {
    function i(e) {
        var n;

        function i() {
            if (i.enabled) {
                var e = i, r = +new Date, o = r - (n || r);
                e.diff = o, e.prev = n, e.curr = r, n = r;
                for (var s = new Array(arguments.length), a = 0; a < s.length; a++) s[a] = arguments[a];
                s[0] = t.coerce(s[0]), "string" != typeof s[0] && s.unshift("%O");
                var l = 0;
                s[0] = s[0].replace(/%([a-zA-Z%])/g, function (n, i) {
                    if ("%%" === n) return n;
                    l++;
                    var r = t.formatters[i];
                    if ("function" == typeof r) {
                        var o = s[l];
                        n = r.call(e, o), s.splice(l, 1), l--
                    }
                    return n
                }), t.formatArgs.call(e, s), (i.log || t.log || console.log.bind(console)).apply(e, s)
            }
        }

        return i.namespace = e, i.enabled = t.enabled(e), i.useColors = t.useColors(), i.color = function (e) {
            var n, i = 0;
            for (n in e) i = (i << 5) - i + e.charCodeAt(n), i |= 0;
            return t.colors[Math.abs(i) % t.colors.length]
        }(e), i.destroy = r, "function" == typeof t.init && t.init(i), t.instances.push(i), i
    }

    function r() {
        var e = t.instances.indexOf(this);
        return -1 !== e && (t.instances.splice(e, 1), !0)
    }

    (t = e.exports = i.debug = i.default = i).coerce = function (e) {
        return e instanceof Error ? e.stack || e.message : e
    }, t.disable = function () {
        t.enable("")
    }, t.enable = function (e) {
        var n;
        t.save(e), t.names = [], t.skips = [];
        var i = ("string" == typeof e ? e : "").split(/[\s,]+/), r = i.length;
        for (n = 0; n < r; n++) i[n] && ("-" === (e = i[n].replace(/\*/g, ".*?"))[0] ? t.skips.push(new RegExp("^" + e.substr(1) + "$")) : t.names.push(new RegExp("^" + e + "$")));
        for (n = 0; n < t.instances.length; n++) {
            var o = t.instances[n];
            o.enabled = t.enabled(o.namespace)
        }
    }, t.enabled = function (e) {
        if ("*" === e[e.length - 1]) return !0;
        var n, i;
        for (n = 0, i = t.skips.length; n < i; n++) if (t.skips[n].test(e)) return !1;
        for (n = 0, i = t.names.length; n < i; n++) if (t.names[n].test(e)) return !0;
        return !1
    }, t.humanize = n(124), t.instances = [], t.names = [], t.skips = [], t.formatters = {}
}, function (e, t) {
    var n = 1e3, i = 60 * n, r = 60 * i, o = 24 * r, s = 365.25 * o;

    function a(e, t, n) {
        if (!(e < t)) return e < 1.5 * t ? Math.floor(e / t) + " " + n : Math.ceil(e / t) + " " + n + "s"
    }

    e.exports = function (e, t) {
        t = t || {};
        var l, c = typeof e;
        if ("string" === c && e.length > 0) return function (e) {
            if ((e = String(e)).length > 100) return;
            var t = /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);
            if (!t) return;
            var a = parseFloat(t[1]);
            switch ((t[2] || "ms").toLowerCase()) {
                case"years":
                case"year":
                case"yrs":
                case"yr":
                case"y":
                    return a * s;
                case"days":
                case"day":
                case"d":
                    return a * o;
                case"hours":
                case"hour":
                case"hrs":
                case"hr":
                case"h":
                    return a * r;
                case"minutes":
                case"minute":
                case"mins":
                case"min":
                case"m":
                    return a * i;
                case"seconds":
                case"second":
                case"secs":
                case"sec":
                case"s":
                    return a * n;
                case"milliseconds":
                case"millisecond":
                case"msecs":
                case"msec":
                case"ms":
                    return a;
                default:
                    return
            }
        }(e);
        if ("number" === c && !1 === isNaN(e)) return t.long ? a(l = e, o, "day") || a(l, r, "hour") || a(l, i, "minute") || a(l, n, "second") || l + " ms" : function (e) {
            if (e >= o) return Math.round(e / o) + "d";
            if (e >= r) return Math.round(e / r) + "h";
            if (e >= i) return Math.round(e / i) + "m";
            if (e >= n) return Math.round(e / n) + "s";
            return e + "ms"
        }(e);
        throw new Error("val is not a non-empty string or a valid number. val=" + JSON.stringify(e))
    }
}, function (e) {
    e.exports = {
        _args: [["axios@0.18.0", "D:\\thunder11\\11.1.11.1618\\build\\app"]],
        _from: "axios@0.18.0",
        _id: "axios@0.18.0",
        _inBundle: !1,
        _integrity: "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=",
        _location: "/axios",
        _phantomChildren: {},
        _requested: {
            type: "version",
            registry: !0,
            raw: "axios@0.18.0",
            name: "axios",
            escapedName: "axios",
            rawSpec: "0.18.0",
            saveSpec: null,
            fetchSpec: "0.18.0"
        },
        _requiredBy: ["/", "/@types/axios", "/@xunlei/thunderx-login-main"],
        _resolved: "http://xnpm.repo.xunlei.cn/axios/-/axios-0.18.0.tgz",
        _spec: "0.18.0",
        _where: "D:\\thunder11\\11.1.11.1618\\build\\app",
        author: {name: "Matt Zabriskie"},
        browser: {"./lib/adapters/http.js": "./lib/adapters/xhr.js"},
        bugs: {url: "https://github.com/axios/axios/issues"},
        bundlesize: [{path: "./dist/axios.min.js", threshold: "5kB"}],
        dependencies: {"follow-redirects": "^1.3.0", "is-buffer": "^1.1.5"},
        description: "Promise based HTTP client for the browser and node.js",
        devDependencies: {
            bundlesize: "^0.5.7",
            coveralls: "^2.11.9",
            "es6-promise": "^4.0.5",
            grunt: "^1.0.1",
            "grunt-banner": "^0.6.0",
            "grunt-cli": "^1.2.0",
            "grunt-contrib-clean": "^1.0.0",
            "grunt-contrib-nodeunit": "^1.0.0",
            "grunt-contrib-watch": "^1.0.0",
            "grunt-eslint": "^19.0.0",
            "grunt-karma": "^2.0.0",
            "grunt-ts": "^6.0.0-beta.3",
            "grunt-webpack": "^1.0.18",
            "istanbul-instrumenter-loader": "^1.0.0",
            "jasmine-core": "^2.4.1",
            karma: "^1.3.0",
            "karma-chrome-launcher": "^2.0.0",
            "karma-coverage": "^1.0.0",
            "karma-firefox-launcher": "^1.0.0",
            "karma-jasmine": "^1.0.2",
            "karma-jasmine-ajax": "^0.1.13",
            "karma-opera-launcher": "^1.0.0",
            "karma-safari-launcher": "^1.0.0",
            "karma-sauce-launcher": "^1.1.0",
            "karma-sinon": "^1.0.5",
            "karma-sourcemap-loader": "^0.3.7",
            "karma-webpack": "^1.7.0",
            "load-grunt-tasks": "^3.5.2",
            minimist: "^1.2.0",
            sinon: "^1.17.4",
            typescript: "^2.0.3",
            "url-search-params": "^0.6.1",
            webpack: "^1.13.1",
            "webpack-dev-server": "^1.14.1"
        },
        homepage: "https://github.com/axios/axios",
        keywords: ["xhr", "http", "ajax", "promise", "node"],
        license: "MIT",
        main: "index.js",
        name: "axios",
        repository: {type: "git", url: "git+https://github.com/axios/axios.git"},
        scripts: {
            build: "NODE_ENV=production grunt build",
            coveralls: "cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js",
            examples: "node ./examples/server.js",
            postversion: "git push && git push --tags",
            preversion: "npm test",
            start: "node ./sandbox/server.js",
            test: "grunt test && bundlesize",
            version: "npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json"
        },
        typings: "./index.d.ts",
        version: "0.18.0"
    }
}, function (e, t, n) {
    "use strict";
    var i = n(10);

    function r() {
        this.handlers = []
    }

    r.prototype.use = function (e, t) {
        return this.handlers.push({fulfilled: e, rejected: t}), this.handlers.length - 1
    }, r.prototype.eject = function (e) {
        this.handlers[e] && (this.handlers[e] = null)
    }, r.prototype.forEach = function (e) {
        i.forEach(this.handlers, function (t) {
            null !== t && e(t)
        })
    }, e.exports = r
}, function (e, t, n) {
    "use strict";
    var i = n(10), r = n(128), o = n(70), s = n(45), a = n(129), l = n(130);

    function c(e) {
        e.cancelToken && e.cancelToken.throwIfRequested()
    }

    e.exports = function (e) {
        return c(e), e.baseURL && !a(e.url) && (e.url = l(e.baseURL, e.url)), e.headers = e.headers || {}, e.data = r(e.data, e.headers, e.transformRequest), e.headers = i.merge(e.headers.common || {}, e.headers[e.method] || {}, e.headers || {}), i.forEach(["delete", "get", "head", "post", "put", "patch", "common"], function (t) {
            delete e.headers[t]
        }), (e.adapter || s.adapter)(e).then(function (t) {
            return c(e), t.data = r(t.data, t.headers, e.transformResponse), t
        }, function (t) {
            return o(t) || (c(e), t && t.response && (t.response.data = r(t.response.data, t.response.headers, e.transformResponse))), Promise.reject(t)
        })
    }
}, function (e, t, n) {
    "use strict";
    var i = n(10);
    e.exports = function (e, t, n) {
        return i.forEach(n, function (n) {
            e = n(e, t)
        }), e
    }
}, function (e, t, n) {
    "use strict";
    e.exports = function (e) {
        return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)
    }
}, function (e, t, n) {
    "use strict";
    e.exports = function (e, t) {
        return t ? e.replace(/\/+$/, "") + "/" + t.replace(/^\/+/, "") : e
    }
}, function (e, t, n) {
    "use strict";
    var i = n(71);

    function r(e) {
        if ("function" != typeof e) throw new TypeError("executor must be a function.");
        var t;
        this.promise = new Promise(function (e) {
            t = e
        });
        var n = this;
        e(function (e) {
            n.reason || (n.reason = new i(e), t(n.reason))
        })
    }

    r.prototype.throwIfRequested = function () {
        if (this.reason) throw this.reason
    }, r.source = function () {
        var e;
        return {
            token: new r(function (t) {
                e = t
            }), cancel: e
        }
    }, e.exports = r
}, function (e, t, n) {
    "use strict";
    e.exports = function (e) {
        return function (t) {
            return e.apply(null, t)
        }
    }
}, function (e, t, n) {
    "use strict";
    var i = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(4), o = n(7), s = n(1).default.getLogger("path-selector"), a = "PathAndCategory",
        l = "historyDownloadPaths", c = 8;

    function u(e) {
        return i(this, void 0, void 0, function* () {
            s.information("SetConfigValue", e), yield r.client.callServerFunction("SetConfigValue", a, l, e), yield r.client.callServerFunction("SaveConfig")
        })
    }

    !function (e) {
        function t() {
            return i(this, void 0, void 0, function* () {
                return yield r.client.callServerFunction("GetConfigValue", a, l, [])
            })
        }

        e.getMaxHistoryPathsLen = function () {
            return c
        }, e.getHistoryPaths = t, e.addHistoryPaths = function (e) {
            return i(this, void 0, void 0, function* () {
                let n = yield t();
                do {
                    if (void 0 === e || null === e || "" === e) break;
                    if ("\\" === e[e.length - 1] && (e = e.slice(0, e.length - 1)), n.includes(e)) break;
                    n.length >= c && n.splice(0, 1), n.push(e), u(n).catch()
                } while (0)
            })
        }, e.deleteHistoryPath = function (e) {
            return i(this, void 0, void 0, function* () {
                let n = yield t();
                do {
                    if (void 0 === e || null === e || "" === e) break;
                    "\\" === e[e.length - 1] && (e = e.slice(0, e.length - 1));
                    let t = n.indexOf(e);
                    if (-1 === t) break;
                    n.splice(t, 1), u(n).catch()
                } while (0)
            })
        }, e.clearHistoryPaths = function () {
            return i(this, void 0, void 0, function* () {
                u([]).catch()
            })
        }, e.getLogicHistoryPaths = function (e = !0, n = !0, r) {
            return i(this, void 0, void 0, function* () {
                let i = [], s = yield o.asyncRemoteCall.getApp(), a = yield s.getPath("desktop"),
                    l = yield s.getPath("documents"), c = [a, l];
                i.push({dir: a, alias: "桌面", canDelete: !1}, {dir: l, alias: "我的文档", canDelete: !1});
                let u = yield t();
                if (void 0 !== u) {
                    let e = u.indexOf(a);
                    -1 !== e && u.splice(e, 1);
                    let t = u.indexOf(l);
                    if (-1 !== t && u.splice(t, 1), u.length > 0) for (let e of u) "\\" !== e[e.length - 1] && (e += "\\"), -1 === c.indexOf(e) && (c.push(e), i.push({
                        dir: e,
                        alias: e,
                        canDelete: n
                    }))
                }
                if (e) {
                    let e = "私人空间";
                    c.includes(e) || i.push({dir: e, alias: e, canDelete: !1})
                }
                if (r) for (let e = r.length - 1; e >= 0; e--) {
                    let t = r[e];
                    "\\" !== t[t.length - 1] && (t += "\\");
                    let o = c.indexOf(t);
                    -1 !== o ? i.unshift(i.splice(o, 1)[0]) : i.unshift({dir: t, alias: t, canDelete: n})
                }
                return i
            })
        }, e.getCloudHistoryPath = function () {
        }
    }(t.HistoryPathsNS || (t.HistoryPathsNS = {}))
}, function (e, t, n) {
    "use strict";
    var i = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(2), o = n(15), s = n(25);
    let a = null;
    const l = n(1).default.getLogger("url.helper");
    !function (e) {
        function t(e) {
            let t = !0;
            if ("string" == typeof e) if (40 === e.length || 32 === e.length) {
                for (let n = 0; n < e.length; n++) if (e.charCodeAt(n) > 127) {
                    t = !1;
                    break
                }
            } else t = !1; else t = !1;
            return t
        }

        function c(e, n = !0) {
            n = void 0 === n || n;
            let i = !1;
            do {
                if ("string" != typeof e || "" === e) break;
                let r = e.trim();
                if ("" === r) break;
                if (s.ThunderHelper.getTaskTypeFromUrl(r) === o.DownloadKernel.TaskType.Unkown) {
                    if (!n) break;
                    t(r) && (i = !0)
                } else i = !0;
                i || r.match(/^file:\/\/\//) && (i = !0)
            } while (0);
            return i
        }

        e.isMagnetCode = t, e.fixMagnetUrl = function (e) {
            let n = "";
            do {
                if ("string" != typeof e || "" === e) break;
                if ("" === (n = e.trim())) break;
                s.ThunderHelper.getTaskTypeFromUrl(n) === o.DownloadKernel.TaskType.Unkown && t(n) && (n = "magnet:?xt=urn:btih:" + n)
            } while (0);
            return n
        }, e.isUrlValid = c, e.isBirdKey = function (e) {
            return e ? e.match(/#[Xx]([0-9a-zA-Z])+#/g) : null
        }, e.isYunFetchBackTask = function (e) {
            return e ? e.match(/#\$ThunderPanFetchBack:([\s\S]+)\$#/) : null
        }, e.isCustomProtocol = function (e) {
            return i(this, void 0, void 0, function* () {
                let t = !1;
                null === a && (a = yield Promise.resolve().then(() => n(37)));
                let i = a.parse(e);
                do {
                    if (null === i || void 0 === i) break;
                    let e = i.protocol;
                    if ("magnet:" === e) {
                        t = !0;
                        break
                    }
                    if ("thunder:" === e) {
                        t = !0;
                        break
                    }
                    if ("ed2k:" === e) {
                        t = !0;
                        break
                    }
                } while (0);
                return t
            })
        }, e.isP2spOrEmuleUrl = function (e) {
            let t = !1;
            do {
                if (null === e || void 0 === e || "" === e) break;
                let n = e.trim();
                if ("" === n) break;
                let i = s.ThunderHelper.getTaskTypeFromUrl(n);
                if (i === o.DownloadKernel.TaskType.P2sp || i === o.DownloadKernel.TaskType.Emule) {
                    t = !0;
                    break
                }
            } while (0);
            return t
        }, e.isSupportUrl = function (e) {
            e = e.toLowerCase();
            let t = !1;
            do {
                if ("http://" === e.substr(0, "http://".length)) {
                    t = !0;
                    break
                }
                if ("https://" === e.substr(0, "https://".length)) {
                    t = !0;
                    break
                }
                if ("ftp://" === e.substr(0, "ftp://".length)) {
                    t = !0;
                    break
                }
                if ("ed2k://" === e.substr(0, "ed2k://".length)) {
                    t = !0;
                    break
                }
                if ("thunder://" === e.substr(0, "thunder://".length)) {
                    t = !0;
                    break
                }
                if ("magnet:?" === e.substr(0, "magnet:?".length)) {
                    t = !0;
                    break
                }
            } while (0);
            return t
        };
        let u = ".edu;.gov;.mil;.hk;.tw;.com.tw;.com.tw;.aero;.biz;.coop;.info;.museum;.name;.pro;";
        u += ".com;.cn;.xin;.net;.top;.xyz;.wang;.shop;.site;.club;.cc;.fun;.online;.biz;.red;.link;.ltd;.mobi;.info;.org;", u += ".com.cn;.net.cn;.org.cn;.gov.cn;.name;.vip;.work;.tv;.co;.kim;.group;.tech;.store;.ren;.ink;.pub;.live;.wiki;.design;";
        const d = (u += ".me").split(";");

        function h(e) {
            let t = !1;
            do {
                if (void 0 === e || null === e || "" === e) break;
                if (-1 !== d.indexOf(e)) {
                    t = !0;
                    break
                }
            } while (0);
            return t
        }

        function f(e) {
            let t = null;
            do {
                if (void 0 === e || null === e) break;
                if ("" === (e = e.trim())) break;
                let n = /^(?:([A-Za-z]+):)?(\/{0,3})([0-9.\-A-Za-z]+)(?::(\d+))?(?:\/([^?#]*))?(?:\?([^#]*))?(?:#(.*))?$/.exec(e);
                if (null === n) break;
                l.information("url parse result ", n), t = {};
                let i = ["url", "scheme", "slash", "host", "port", "path", "query", "hash"];
                for (let e = 0; e < i.length; e++) t[i[e]] = n[e];
                l.information("url parse", t)
            } while (0);
            return t
        }

        e.isUsualDomainSuffix = h, e.urlParse = f, e.isUrl = function (e) {
            let t = !1, n = e;
            do {
                if (void 0 === e || null === e) break;
                if (c(e, !1)) {
                    t = !0;
                    break
                }
                if (e.trim().match(/^file:\/\/\//)) {
                    t = !0;
                    break
                }
                let i = f(e);
                if (null === i) {
                    l.information("url parse failed");
                    break
                }
                if (void 0 === i.host || null === i.host) break;
                if (void 0 !== i.scheme) {
                    t = !0;
                    break
                }
                let o = i.host.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/);
                if (o) {
                    if (l.information("url parse is ip", o), Number(o[1]) <= 0 || Number(o[1]) > 255) {
                        t = !1;
                        break
                    }
                    if (Number(o[2]) < 0 || Number(o[2]) > 255) {
                        t = !1;
                        break
                    }
                    if (Number(o[4]) < 0 || Number(o[4]) > 255) {
                        t = !1;
                        break
                    }
                    if (Number(o[4]) < 0 || Number(o[4]) > 255) {
                        t = !1;
                        break
                    }
                    t = !0, void 0 === i.scheme && void 0 !== i.port && (n = `http://${e}`);
                    break
                }
                if (i.host.match(/\.{2,}/)) {
                    l.information("url parse has multi dot"), t = !1;
                    break
                }
                let s = r.extname(i.host);
                if ("" === s) break;
                if (h(s)) {
                    t = !0;
                    break
                }
            } while (0);
            return l.information("url parse isUrl", t), {ret: t, suggest: n}
        }, e.isFileNameValid = function (e) {
            let t = !1;
            do {
                if (void 0 === e) break;
                if (null === e) break;
                if ("" === (e = e.trim())) break;
                if ("." === e[0]) break;
                if (e.match(/[\/\\"<>\?\*|]/)) break;
                t = !0
            } while (0);
            return t
        }, e.isSuffixNeedDownload = function (e) {
            let t = !0;
            do {
                if (void 0 === e) break;
                if ("" === e || "." === e) break;
                if (e = e.toLowerCase(), -1 !== ["txt", "url", "html", "htm", "mht", "nfo"].indexOf(e)) {
                    t = !1;
                    break
                }
            } while (0);
            return t
        }
    }(t.URLHelperNS || (t.URLHelperNS = {}))
}, function (e, t, n) {
    e.exports = n(41).Buffer
}, function (e, t, n) {
    "use strict";
    var i = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(40), o = n(4), s = n(1), a = n(80), l = n(6), c = s.default.getLogger("FetchRes"), u = {
        mock: "http://easy-mock.com/mock/59f0652c1bd72e7a888988ab/sl",
        test: "http://test.api-shoulei-ssl.xunlei.com",
        prod: "http://api-shoulei-ssl.xunlei.com"
    }, d = {
        "server error": "服务器异常",
        "params error": "参数错误",
        "login plz": "未登录",
        "shield review": "风险账号",
        "shield reject": "异常账号",
        "not allowed": "无权限做此操作",
        "not found": "未找到资源",
        exists: "已存在",
        "too many": "超过操作上限"
    };

    function h(e) {
        return (e = (e = encodeURIComponent(e)).replace(/\(/g, "%29")).replace(/\)/g, "%28")
    }

    function f({url: e, data: t, method: r = "get"}, s = "prod") {
        return i(this, arguments, void 0, function* () {
            c.information("fetchFromApiProxy", arguments);
            try {
                const i = yield Promise.all([o.client.callServerFunction("GetUserID"), o.client.callServerFunction("GetSessionID"), o.client.callServerFunction("GetPeerID")]), [u, d, f] = i;
                c.information(i);
                let p = {
                    _h: Object.assign({
                        "Account-Id": u,
                        "Peer-Id": f,
                        "User-Id": u,
                        "Session-Id": d,
                        "App-Type": "pc_xunlei"
                    }, t && t._h || {})
                };
                t && t._h && delete t._h, t && (t.peer_id = f);
                let A = {
                    accesskey: "pc.xunlei",
                    nonce: Math.floor(99999999 * Math.random()).toString(),
                    timestamp: Math.floor((new Date).getTime() / 1e3).toString()
                }, v = {};
                "get" === r && t && (v = t, t = null);
                for (let e in v) l.isObject(v[e]) || (A[e] = v[e]);
                let g = [];
                for (let e in A) g.push(h(e) + "%3D" + h(A[e]));
                g.sort();
                let m = h(e), C = r.toUpperCase() + "&" + m + "&", y = "";
                for (let e = 0; e < g.length - 1; ++e) y += g[e] + "%26";
                let w, b = C + (y += g[g.length - 1]);
                !t || "post" !== r && "put" !== r || (b += "%26" + JSON.stringify(t)), c.information("message: ", b), w = "test" === s ? "c9879c94a55474304cca0abafb867653" : "89917368930f3fea5bafebe704d6b623";
                let x = a.ToolsUtilitiesAWNS.encryptHmacBuffer("sha1", w, b, "base64");
                x = (x = x.replace(/\+/g, "-")).replace(/\//g, "_");
                let E = e + "?";
                for (let e in A) E += h(e) + "=" + h(A[e]) + "&";
                E += "sig=" + x, c.information("fetchFromApiProxy method", r, ", uri", E, ", data", t, ", headers", p._h);
                const I = yield n(19);
                return I.defaults.adapter = n(17), I.defaults.headers["Content-Type"] = "post" === r ? "application/json" : "application/x-www-form-urlencoded", I.request({
                    method: r,
                    url: E,
                    data: t,
                    headers: p._h
                }).then(e => (c.information("fetchFromApiProxy success", e), e)).catch(e => (c.information("fetchFromApiProxy failed", e), {error: e}))
            } catch (e) {
                return {error: e}
            }
        })
    }

    function p({url: e, data: t, method: r = "get"}, s = "prod") {
        return i(this, arguments, void 0, function* () {
            c.information("fetchFromApiProxy", arguments);
            try {
                const i = yield Promise.all([o.client.callServerFunction("GetUserID"), o.client.callServerFunction("GetSessionID"), o.client.callServerFunction("GetPeerID")]), [s, a, u] = i;
                c.information("fetchFromApiProxyNoSign", i);
                let d = {
                    _h: Object.assign({
                        "Account-Id": s,
                        "Peer-Id": u,
                        "User-Id": s,
                        "Session-Id": a,
                        "App-Type": "pc_xunlei"
                    }, t && t._h || {})
                };
                t && t._h && delete t._h, t && (t.peer_id = u);
                let f = {
                    accesskey: "pc.xunlei",
                    nonce: Math.floor(99999999 * Math.random()).toString(),
                    timestamp: Math.floor((new Date).getTime() / 1e3).toString()
                }, p = {};
                "get" === r && t && (p = t, t = null);
                for (let e in p) l.isObject(p[e]) || (f[e] = p[e]);
                let A = e;
                A.includes("?") ? A += "&" : A += "?";
                for (let e in f) A += h(e) + "=" + h(f[e]) + "&";
                c.information("fetchFromApiProxy method", r, ", uri", A, ", data", t, ", headers", d._h);
                const v = yield n(19);
                return v.defaults.adapter = n(17), v.defaults.headers["Content-Type"] = "post" === r ? "application/json" : "application/x-www-form-urlencoded", v.request({
                    method: r,
                    url: A,
                    data: t,
                    headers: d._h
                }).then(e => (c.information("fetchFromApiProxy success", e), e)).catch(e => (c.information("fetchFromApiProxy failed", e), {error: e}))
            } catch (e) {
                return {error: e}
            }
        })
    }

    function A({url: e, data: t, method: n = "get"}, r = "prod", s = !0) {
        return i(this, void 0, void 0, function* () {
            let i = u[r], a = yield o.client.callServerFunction("GetValue", "ConfigFetchInterface", "TestServer", 0);
            return 1 === a && (i = u[r = "test"]), c.information("当前fetchSlRes 是否测试服:", a, " 远程地址:", i), s ? f({
                url: `${i}${e}`,
                data: t,
                method: n
            }, r) : p({url: `${i}${e}`, data: t, method: n}, r)
        })
    }

    function v(e, t = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") {
        return Array.apply(null, new Array(e)).map(function () {
            return t.charAt(Math.floor(Math.random() * t.length))
        }).join("")
    }

    function g(e, t = document.cookie) {
        return null == t.match(new RegExp("(^" + e + "| " + e + ")=([^;]*)")) ? "" : RegExp.$2
    }

    t.fetchFromApiProxy = f, t.fetchFromApiProxyNoSign = p, t.fetchSlRes = A, t.fetchPCRes = function ({url: e, data: t, method: n = "get"}, r = "prod") {
        return i(this, void 0, void 0, function* () {
            return A({url: e, data: t, method: n}, r)
        })
    }, t.fetchPCRequest = function ({url: e, data: t, method: r = "get"}, s = "prod") {
        return i(this, void 0, void 0, function* () {
            let i = u[s], a = yield o.client.callServerFunction("GetValue", "ConfigFetchInterface", "TestServer", 0);
            1 === a && (i = u[s = "test"]), c.information("当前fetchPCRequest 是否测试服:", a, " 远程地址:", i);
            let l = {_h: Object.assign({}, t && t._h || {})};
            t && t._h && delete t._h;
            const d = yield n(19);
            d.defaults.adapter = n(17), d.defaults.headers["Content-Type"] = "post" === r ? "application/json" : "application/x-www-form-urlencoded";
            try {
                return d.request({
                    method: r,
                    url: `${i}${e}`,
                    params: "get" === r && t ? t : {},
                    data: "post" === r && t ? t : {},
                    headers: l._h
                }).then(e => (c.information("fetchRequest success", e), e)).catch(e => (c.information("fetchRequest fail", e), {error: e}))
            } catch (e) {
                return {error: e}
            }
        })
    }, t.fetchRequest = function ({url: e, data: t, method: r = "get"}) {
        return i(this, arguments, void 0, function* () {
            c.information("fetchRequest", arguments);
            try {
                const i = yield n(19);
                return i.defaults.adapter = n(17), i.defaults.headers["Content-Type"] = "post" === r ? "application/json" : "application/x-www-form-urlencoded", i.request({
                    method: r,
                    url: e,
                    params: "get" === r && t ? t : {},
                    data: "post" === r && t ? t : {}
                }).then(e => (c.information("fetchRequest success", e), e)).catch(e => (c.information("fetchRequest fail", e), {error: e}))
            } catch (e) {
                return {error: e}
            }
        })
    }, t.fetchClientRes = function (e, ...t) {
        return i(this, void 0, void 0, function* () {
            return o.client.callServerFunction(e, ...t)
        })
    }, t.fetch = function (e, t) {
        return i(this, void 0, void 0, function* () {
            const i = n(19);
            if (!t) {
                let e = new r.Agent({rejectUnauthorized: !1});
                t = {timeout: 1e4, httpsAgent: e}
            }
            return i(e, t).then(e => e.data)
        })
    }, t.fetchCmtRes = function (e, t, r, s = "prod") {
        return i(this, void 0, void 0, function* () {
            let i = u[s];
            t = `${i}${t}`;
            const a = yield Promise.all([o.client.callServerFunction("GetUserID"), o.client.callServerFunction("GetSessionID")]), [l, d] = a;
            let h = r && r._h || [];
            delete r._h;
            let f = {};
            "get" === e ? (f = Object.assign({}, r, {
                app_id: 14,
                userid: l,
                session_id: d,
                v: "1.0",
                jsL2S: 1,
                _: (new Date).getTime()
            }), r = null) : r = Object.assign({}, r, {
                app_id: 14,
                userid: l,
                session_id: d,
                v: "1.0",
                jsL2S: 1,
                _: (new Date).getTime()
            });
            const p = n(19).create();
            return p.defaults.timeout = 1e4, p.defaults.adapter = n(17), l && "" !== l && (p.defaults.headers["User-Id"] = l), d && "" !== d && (p.defaults.headers["Session-Id"] = d), p.defaults.headers["Content-Type"] = "post" === e ? "application/json" : "application/x-www-form-urlencoded", p.request({
                method: e,
                url: t,
                params: f,
                data: r,
                headers: h
            }).then(e => {
                if (200 === e.status && e.data) return e.data;
                throw new Error(`请求评论接口 ${t} 失败`)
            }).catch(e => {
                c.warning("fetchCmtRes error, catch axios res", e)
            })
        })
    }, t.random = v, t.getCookie = g, t.fetchDataWithShoulei = function (e, t = {}, r = {}) {
        return i(this, void 0, void 0, function* () {
            e = `https://api-shoulei-ssl.xunlei.com${e}`;
            let s = yield function (e = {}, t = {}) {
                return i(this, void 0, void 0, function* () {
                    const n = (t = Object.assign({}, {method: e && e._m || "get"}, t)).method,
                        i = !process.server && document.cookie || "";
                    let {userID: r = 0, version: s, sessionID: l} = yield o.client.callServerFunction("GetUserInfoAw"),
                        c = yield o.client.callServerFunction("GetPeerID");
                    c = c || g("peerid", i) || g("deviceid", i);
                    const u = {
                        userID: r,
                        sessionID: l,
                        version: s,
                        guid: a.ToolsUtilitiesAWNS.genarateMd5(c || v(32)),
                        peerId: c
                    }, d = [...e && e._h || []];
                    let h;
                    return delete e._h, delete e._m, "get" === n && (h = e, e = null), {
                        method: n,
                        params: h,
                        headerStrings: d,
                        userInfo: u,
                        data: e
                    }
                })
            }(t, r), {method: l, params: u, userInfo: h} = s;
            const f = !process.server && document.cookie || "", p = Object.assign({}, {
                "Peer-Id": h.peerId,
                Guid: h.guid,
                "User-Id": h && "0" !== h.userID ? "" : h.userID,
                "Session-Id": h.sessionID,
                "Product-Id": 14,
                "Version-Code": "4.8.1",
                "Account-Id": 165,
                "Credit-Key": g("creditkey", f)
            }, r.headers), A = n(19).create();
            return A.defaults.adapter = n(17), A.defaults.timeout = 3e4, A.defaults.headers["Content-Type"] = "post" === l ? "application/json" : "application/x-www-form-urlencoded", A({
                method: l,
                url: e,
                data: t,
                params: u,
                headers: p
            }).then(e => ("ok" !== e.data.result && (e.data.errorText = d(e.data)), "shield reject" === e.data.result ? Promise.resolve({response: e}) : (e.data.result, e.data))).catch(e => (c.warning("error", e), Promise.resolve(Object.assign({}, e.response, {message: e.message}))))
        })
    }
}, function (e, t, n) {
    "use strict";
    var i = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(3), o = n(7);
    !function (e) {
        let t;
        !function (e) {
            e.Info = "info", e.Warning = "warning", e.Error = "error", e.Success = "success"
        }(t = e.ConfirmType || (e.ConfirmType = {})), e.confirm = function (e, t = {}) {
            return i(this, void 0, void 0, function* () {
                let n = String(Math.random()).replace(/\D/, "");
                r.ipcRenderer.send("message-box-confirm-create", {options: e, dialogConf: t, boxId: n});
                let i = yield o.asyncRemoteCall.getIpcMain();
                return i.once(`message-box-init-${n}`, t => {
                    t.sender.send("message-box-init-reply", {popType: "confirm", options: e})
                }), new Promise(e => {
                    i.once(`message-box-resolve-${n}`, (t, n, i) => {
                        e({action: n, checkboxChecked: i})
                    })
                })
            })
        }, e.pop = function (e, t = {}) {
            return i(this, void 0, void 0, function* () {
                let n = String(Math.random()).replace(/\D/, ""), i = e.parentId;
                r.ipcRenderer.send("message-box-pop-create", {dialogConf: t, boxId: n, parentId: i});
                let s = yield o.asyncRemoteCall.getIpcMain();
                return s.once(`message-box-init-${n}`, t => {
                    t.sender.send("message-box-init-reply", {popType: "message-box", options: e})
                }), new Promise(e => {
                    s.once(`message-box-resolve-${n}`, (t, n, i) => {
                        e({action: n, formData: i})
                    })
                })
            })
        }, e.custom = function (e, t = {}, n = {}) {
            return i(this, void 0, void 0, function* () {
                let i = String(Math.random()).replace(/\D/, "");
                r.ipcRenderer.send("message-box-custom-create", JSON.parse(JSON.stringify({
                    popType: e,
                    dialogConf: n,
                    boxId: i,
                    options: t
                })));
                let s = yield o.asyncRemoteCall.getIpcMain();
                return s.once(`message-box-init-${i}`, i => {
                    i.sender.send("message-box-init-reply", JSON.parse(JSON.stringify({
                        popType: e,
                        options: t,
                        dialogConf: n
                    })))
                }), new Promise(e => {
                    s.once(`message-box-resolve-${i}`, (t, n, i) => {
                        e({action: n, args: i})
                    })
                })
            })
        }, e.customIndividuation = function (e, t = {}, n = {}) {
            return i(this, void 0, void 0, function* () {
                let i = String(Math.random()).replace(/\D/, "");
                return r.ipcRenderer.send("message-box-individuation-create", {
                    popType: e,
                    dialogConf: n,
                    boxId: i,
                    options: t
                }), (yield o.asyncRemoteCall.getIpcMain()).once(`message-box-init-${i}`, i => {
                    i.sender.send("message-box-init-reply", {popType: e, options: t, dialogConf: n})
                }), new Promise(e => {
                    r.ipcRenderer.once(`message-box-resolve-${i}`, (t, n, i) => {
                        e({action: n, args: i})
                    })
                })
            })
        }
    }(t.MessageBox || (t.MessageBox = {}))
}, function (e, t, n) {
    e.exports = n(9)(12)
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(88), r = n(75);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\common\\components\\select-native.vue", t.default = a.exports
}, , function (e, t, n) {
    "use strict";
    var i = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(1), o = n(4), s = n(43), a = r.default.getLogger("Thunder.ShouldLogin");
    t.default = function (e = !1, t = !1, n) {
        return i(this, void 0, void 0, function* () {
            let i, r = null;
            try {
                let l = yield o.client.callServerFunction("IsLogined"),
                    c = yield o.client.callServerFunction("GetUserID");
                l ? (a.information("is logined"), i = Promise.resolve(c)) : (i = new Promise((n, i) => {
                    let o = -1;
                    if (o = s.NativeCallModule.nativeCall.AttachNativeEvent("OnUserLogin", e => {
                        let t = Date.now();
                        a.information("On UserLogin", e, t, r), r && Math.floor(t - r) > 3e5 ? n("") : n(e), -1 !== o && (s.NativeCallModule.nativeCall.DetachNativeEvent("OnUserLogin", o), o = -1)
                    }), !e) {
                        let e = s.NativeCallModule.nativeCall.AttachNativeEvent("OnLoginWndClose", i => {
                            do {
                                if ("close" === i) {
                                    if (n(""), !t && -1 !== o) {
                                        s.NativeCallModule.nativeCall.DetachNativeEvent("OnUserLogin", o), o = -1;
                                        break
                                    }
                                } else if ("suc" === i && -1 !== o) break;
                                t && -1 !== o && (s.NativeCallModule.nativeCall.DetachNativeEvent("OnUserLogin", o), o = -1)
                            } while (0);
                            s.NativeCallModule.nativeCall.DetachNativeEvent("OnLoginWndClose", e)
                        })
                    }
                }), e || (r = Date.now(), o.client.callServerFunction("ShowLoginDlg", n).catch(e => {
                    a.warning(e)
                })))
            } catch (e) {
                a.warning(e), i = Promise.resolve("")
            }
            return i
        })
    }
}, function (e, t, n) {
    "use strict";
    var i = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(4);
    !function (e) {
        e.getValue = function (e, t, n) {
            return i(this, void 0, void 0, function* () {
                return yield r.client.callServerFunction("GetConfigValue", e, t, n)
            })
        }, e.setValue = function (e, t, n) {
            return i(this, void 0, void 0, function* () {
                yield r.client.callServerFunction("SetConfigValue", e, t, n)
            })
        }
    }(t.ConfigHelperNS || (t.ConfigHelperNS = {}))
}, function (e, t, n) {
    "use strict";
    e.exports = {
        PNG_SIGNATURE: [137, 80, 78, 71, 13, 10, 26, 10],
        TYPE_IHDR: 1229472850,
        TYPE_IEND: 1229278788,
        TYPE_IDAT: 1229209940,
        TYPE_PLTE: 1347179589,
        TYPE_tRNS: 1951551059,
        TYPE_gAMA: 1732332865,
        COLORTYPE_GRAYSCALE: 0,
        COLORTYPE_PALETTE: 1,
        COLORTYPE_COLOR: 2,
        COLORTYPE_ALPHA: 4,
        COLORTYPE_PALETTE_COLOR: 3,
        COLORTYPE_COLOR_ALPHA: 6,
        COLORTYPE_TO_BPP_MAP: {0: 1, 2: 3, 3: 1, 4: 2, 6: 4},
        GAMMA_DIVISION: 1e5
    }
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("td-tooltip", {
            attrs: {
                content: e.tipsText,
                visible: e.isShowTips,
                placement: e.placement
            }
        }, [e._t("default"), e._v(" "), n("td-input", e._b({
            attrs: {
                value: e.value,
                isNumber: e.isNumber,
                max: e.max,
                min: e.min,
                isAlpha: e.isAlpha
            }, on: {input: e.handleInputChangeDebounce}
        }, "td-input", e.$attrs, !1))], 2)
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, , , , , , , function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(89), r = n(77);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\common\\components\\select-window.vue", t.default = a.exports
}, , , , function (e, t) {
    function n(e) {
        if ("string" != typeof e) throw new Error("Color should be defined as hex string");
        var t = e.slice().replace("#", "").split("");
        if (t.length < 3 || 5 === t.length || t.length > 8) throw new Error("Invalid hex color: " + e);
        3 !== t.length && 4 !== t.length || (t = Array.prototype.concat.apply([], t.map(function (e) {
            return [e, e]
        }))), 6 === t.length && t.push("F", "F");
        var n = parseInt(t.join(""), 16);
        return {r: n >> 24 & 255, g: n >> 16 & 255, b: n >> 8 & 255, a: 255 & n, hex: "#" + t.slice(0, 6).join("")}
    }

    t.getOptions = function (e) {
        e || (e = {}), e.color || (e.color = {});
        var t = void 0 === e.margin || null === e.margin || e.margin < 0 ? 4 : e.margin,
            i = e.width && e.width >= 21 ? e.width : void 0, r = e.scale || 4;
        return {
            width: i,
            scale: i ? 4 : r,
            margin: t,
            color: {dark: n(e.color.dark || "#000000ff"), light: n(e.color.light || "#ffffffff")},
            type: e.type,
            rendererOpts: e.rendererOpts || {}
        }
    }, t.getScale = function (e, t) {
        return t.width && t.width >= e + 2 * t.margin ? t.width / (e + 2 * t.margin) : t.scale
    }, t.getImageWidth = function (e, n) {
        var i = t.getScale(e, n);
        return Math.floor((e + 2 * n.margin) * i)
    }, t.qrToImageData = function (e, n, i) {
        for (var r = n.modules.size, o = n.modules.data, s = t.getScale(r, i), a = Math.floor((r + 2 * i.margin) * s), l = i.margin * s, c = [i.color.light, i.color.dark], u = 0; u < a; u++) for (var d = 0; d < a; d++) {
            var h = 4 * (u * a + d), f = i.color.light;
            if (u >= l && d >= l && u < a - l && d < a - l) f = c[o[Math.floor((u - l) / s) * r + Math.floor((d - l) / s)] ? 1 : 0];
            e[h++] = f.r, e[h++] = f.g, e[h++] = f.b, e[h] = f.a
        }
    }
}, function (e, t, n) {
    "use strict";
    var i = n(1064);
    n.n(i).a
}, , , , , , , , function (e, t) {
    e.exports = function (e) {
        return e.webpackPolyfill || (e.deprecate = function () {
        }, e.paths = [], e.children || (e.children = []), Object.defineProperty(e, "loaded", {
            enumerable: !0,
            get: function () {
                return e.l
            }
        }), Object.defineProperty(e, "id", {
            enumerable: !0, get: function () {
                return e.i
            }
        }), e.webpackPolyfill = 1), e
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const i = n(12);
    t.default = class {
        constructor() {
            this.emitter = null, this.emitter = new i.EventEmitter
        }

        attachOnceListener(e, t) {
            this.emitter.once(e, t)
        }

        attachListener(e, t) {
            this.emitter.addListener(e, t)
        }

        prependListener(e, t) {
            this.emitter.prependListener(e, t)
        }

        prependOnceListener(e, t) {
            this.emitter.prependOnceListener(e, t)
        }

        detachListener(e, t) {
            this.emitter.removeListener(e, t)
        }

        fireEvent(e, ...t) {
            return this.emitter.emit(e, ...t)
        }

        setMaxListeners(e) {
            this.emitter.setMaxListeners(e)
        }
    }
}, , , function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(144), r = n(109);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\common\\views\\limit-input.vue", t.default = a.exports
}, , , , , , function (e, t) {
    t.L = {bit: 1}, t.M = {bit: 0}, t.Q = {bit: 3}, t.H = {bit: 2}, t.isValid = function (e) {
        return e && void 0 !== e.bit && e.bit >= 0 && e.bit < 4
    }, t.from = function (e, n) {
        if (t.isValid(e)) return e;
        try {
            return function (e) {
                if ("string" != typeof e) throw new Error("Param is not a string");
                switch (e.toLowerCase()) {
                    case"l":
                    case"low":
                        return t.L;
                    case"m":
                    case"medium":
                        return t.M;
                    case"q":
                    case"quartile":
                        return t.Q;
                    case"h":
                    case"high":
                        return t.H;
                    default:
                        throw new Error("Unknown EC Level: " + e)
                }
            }(e)
        } catch (e) {
            return n
        }
    }
}, , function (e, t, n) {
    e.exports = n(9)(138)
}, , , function (e, t, n) {
    e.exports = n(9)(16)
}, , , function (e, t, n) {
    e.exports = n(508)
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(647), r = n(330);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    n(785);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\common\\generator-view\\conf-component\\conf-select.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    var i = n(1149);
    n.n(i).a
}, , , , , , , , , , , , , , , , , , , , , , , , , function (e, t, n) {
    var i = n(135), r = n(86), o = n(174), s = n(511), a = n(512), l = n(513), c = n(514), u = n(515), d = n(210),
        h = n(516), f = n(519), p = n(520), A = n(87), v = n(521), g = n(213);

    function m(e, t, n) {
        var i, r, o = e.size, s = p.getEncodedBits(t, n);
        for (i = 0; i < 15; i++) r = 1 == (s >> i & 1), i < 6 ? e.set(i, 8, r, !0) : i < 8 ? e.set(i + 1, 8, r, !0) : e.set(o - 15 + i, 8, r, !0), i < 8 ? e.set(8, o - i - 1, r, !0) : i < 9 ? e.set(8, 15 - i - 1 + 1, r, !0) : e.set(8, 15 - i - 1, r, !0);
        e.set(o - 8, 8, 1, !0)
    }

    function C(e, t, n) {
        var o = new s;
        n.forEach(function (t) {
            o.put(t.mode.bit, 4), o.put(t.getLength(), A.getCharCountIndicator(t.mode, e)), t.write(o)
        });
        var a = 8 * (r.getSymbolTotalCodewords(e) - d.getTotalCodewordsCount(e, t));
        for (o.getLengthInBits() + 4 <= a && o.put(0, 4); o.getLengthInBits() % 8 != 0;) o.putBit(0);
        for (var l = (a - o.getLengthInBits()) / 8, c = 0; c < l; c++) o.put(c % 2 ? 17 : 236, 8);
        return function (e, t, n) {
            for (var o = r.getSymbolTotalCodewords(t), s = d.getTotalCodewordsCount(t, n), a = o - s, l = d.getBlocksCount(t, n), c = l - o % l, u = Math.floor(o / l), f = Math.floor(a / l), p = f + 1, A = u - f, v = new h(A), g = 0, m = new Array(l), C = new Array(l), y = 0, w = new i(e.buffer), b = 0; b < l; b++) {
                var x = b < c ? f : p;
                m[b] = w.slice(g, g + x), C[b] = v.encode(m[b]), g += x, y = Math.max(y, x)
            }
            var E, I, S = new i(o), k = 0;
            for (E = 0; E < y; E++) for (I = 0; I < l; I++) E < m[I].length && (S[k++] = m[I][E]);
            for (E = 0; E < A; E++) for (I = 0; I < l; I++) S[k++] = C[I][E];
            return S
        }(o, e, t)
    }

    function y(e, t, n, i) {
        var o;
        if (g(e)) o = v.fromArray(e); else {
            if ("string" != typeof e) throw new Error("Invalid data");
            var s = t;
            if (!s) {
                var d = v.rawSplit(e);
                s = f.getBestVersionForData(d, n)
            }
            o = v.fromString(e, s || 40)
        }
        var h = f.getBestVersionForData(o, n);
        if (!h) throw new Error("The amount of data is too big to be stored in a QR Code");
        if (t) {
            if (t < h) throw new Error("\nThe chosen QR Code version cannot contain this amount of data.\nMinimum version required to store current data is: " + h + ".\n")
        } else t = h;
        var p = C(t, n, o), A = r.getSymbolSize(t), y = new a(A);
        return function (e, t) {
            for (var n = e.size, i = c.getPositions(t), r = 0; r < i.length; r++) for (var o = i[r][0], s = i[r][1], a = -1; a <= 7; a++) if (!(o + a <= -1 || n <= o + a)) for (var l = -1; l <= 7; l++) s + l <= -1 || n <= s + l || (a >= 0 && a <= 6 && (0 === l || 6 === l) || l >= 0 && l <= 6 && (0 === a || 6 === a) || a >= 2 && a <= 4 && l >= 2 && l <= 4 ? e.set(o + a, s + l, !0, !0) : e.set(o + a, s + l, !1, !0))
        }(y, t), function (e) {
            for (var t = e.size, n = 8; n < t - 8; n++) {
                var i = n % 2 == 0;
                e.set(n, 6, i, !0), e.set(6, n, i, !0)
            }
        }(y), function (e, t) {
            for (var n = l.getPositions(t), i = 0; i < n.length; i++) for (var r = n[i][0], o = n[i][1], s = -2; s <= 2; s++) for (var a = -2; a <= 2; a++) -2 === s || 2 === s || -2 === a || 2 === a || 0 === s && 0 === a ? e.set(r + s, o + a, !0, !0) : e.set(r + s, o + a, !1, !0)
        }(y, t), m(y, n, 0), t >= 7 && function (e, t) {
            for (var n, i, r, o = e.size, s = f.getEncodedBits(t), a = 0; a < 18; a++) n = Math.floor(a / 3), i = a % 3 + o - 8 - 3, r = 1 == (s >> a & 1), e.set(n, i, r, !0), e.set(i, n, r, !0)
        }(y, t), function (e, t) {
            for (var n = e.size, i = -1, r = n - 1, o = 7, s = 0, a = n - 1; a > 0; a -= 2) for (6 === a && a--; ;) {
                for (var l = 0; l < 2; l++) if (!e.isReserved(r, a - l)) {
                    var c = !1;
                    s < t.length && (c = 1 == (t[s] >>> o & 1)), e.set(r, a - l, c), -1 == --o && (s++, o = 7)
                }
                if ((r += i) < 0 || n <= r) {
                    r -= i, i = -i;
                    break
                }
            }
        }(y, p), isNaN(i) && (i = u.getBestMask(y, m.bind(null, y, n))), u.applyMask(i, y), m(y, n, i), {
            modules: y,
            version: t,
            errorCorrectionLevel: n,
            maskPattern: i,
            segments: o
        }
    }

    t.create = function (e, t) {
        if (void 0 === e || "" === e) throw new Error("No input text");
        var n, i, s = o.M;
        return void 0 !== t && (s = o.from(t.errorCorrectionLevel, o.M), n = f.from(t.version), i = u.from(t.maskPattern), t.toSJISFunc && r.setToSJISFunction(t.toSJISFunc)), y(e, n, s, i)
    }
}, function (e, t, n) {
    var i = n(174),
        r = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 2, 4, 1, 2, 4, 4, 2, 4, 4, 4, 2, 4, 6, 5, 2, 4, 6, 6, 2, 5, 8, 8, 4, 5, 8, 8, 4, 5, 8, 11, 4, 8, 10, 11, 4, 9, 12, 16, 4, 9, 16, 16, 6, 10, 12, 18, 6, 10, 17, 16, 6, 11, 16, 19, 6, 13, 18, 21, 7, 14, 21, 25, 8, 16, 20, 25, 8, 17, 23, 25, 9, 17, 23, 34, 9, 18, 25, 30, 10, 20, 27, 32, 12, 21, 29, 35, 12, 23, 34, 37, 12, 25, 34, 40, 13, 26, 35, 42, 14, 28, 38, 45, 15, 29, 40, 48, 16, 31, 43, 51, 17, 33, 45, 54, 18, 35, 48, 57, 19, 37, 51, 60, 19, 38, 53, 63, 20, 40, 56, 66, 21, 43, 59, 70, 22, 45, 62, 74, 24, 47, 65, 77, 25, 49, 68, 81],
        o = [7, 10, 13, 17, 10, 16, 22, 28, 15, 26, 36, 44, 20, 36, 52, 64, 26, 48, 72, 88, 36, 64, 96, 112, 40, 72, 108, 130, 48, 88, 132, 156, 60, 110, 160, 192, 72, 130, 192, 224, 80, 150, 224, 264, 96, 176, 260, 308, 104, 198, 288, 352, 120, 216, 320, 384, 132, 240, 360, 432, 144, 280, 408, 480, 168, 308, 448, 532, 180, 338, 504, 588, 196, 364, 546, 650, 224, 416, 600, 700, 224, 442, 644, 750, 252, 476, 690, 816, 270, 504, 750, 900, 300, 560, 810, 960, 312, 588, 870, 1050, 336, 644, 952, 1110, 360, 700, 1020, 1200, 390, 728, 1050, 1260, 420, 784, 1140, 1350, 450, 812, 1200, 1440, 480, 868, 1290, 1530, 510, 924, 1350, 1620, 540, 980, 1440, 1710, 570, 1036, 1530, 1800, 570, 1064, 1590, 1890, 600, 1120, 1680, 1980, 630, 1204, 1770, 2100, 660, 1260, 1860, 2220, 720, 1316, 1950, 2310, 750, 1372, 2040, 2430];
    t.getBlocksCount = function (e, t) {
        switch (t) {
            case i.L:
                return r[4 * (e - 1) + 0];
            case i.M:
                return r[4 * (e - 1) + 1];
            case i.Q:
                return r[4 * (e - 1) + 2];
            case i.H:
                return r[4 * (e - 1) + 3];
            default:
                return
        }
    }, t.getTotalCodewordsCount = function (e, t) {
        switch (t) {
            case i.L:
                return o[4 * (e - 1) + 0];
            case i.M:
                return o[4 * (e - 1) + 1];
            case i.Q:
                return o[4 * (e - 1) + 2];
            case i.H:
                return o[4 * (e - 1) + 3];
            default:
                return
        }
    }
}, function (e, t) {
    t.isValid = function (e) {
        return !isNaN(e) && e >= 1 && e <= 40
    }
}, function (e, t) {
    var n = "(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+",
        i = "(?:(?![A-Z0-9 $%*+\\-./:]|" + (n = n.replace(/u/g, "\\u")) + ")(?:.|[\r\n]))+";
    t.KANJI = new RegExp(n, "g"), t.BYTE_KANJI = new RegExp("[^A-Z0-9 $%*+\\-./:]+", "g"), t.BYTE = new RegExp(i, "g"), t.NUMERIC = new RegExp("[0-9]+", "g"), t.ALPHANUMERIC = new RegExp("[A-Z $%*+\\-./:]+", "g");
    var r = new RegExp("^" + n + "$"), o = new RegExp("^[0-9]+$"), s = new RegExp("^[A-Z0-9 $%*+\\-./:]+$");
    t.testKanji = function (e) {
        return r.test(e)
    }, t.testNumeric = function (e) {
        return o.test(e)
    }, t.testAlphanumeric = function (e) {
        return s.test(e)
    }
}, function (e, t) {
    var n = {}.toString;
    e.exports = Array.isArray || function (e) {
        return "[object Array]" == n.call(e)
    }
}, function (e, t, n) {
    "use strict";
    var i = n(6), r = n(74), o = e.exports = function () {
        r.call(this), this._buffers = [], this._buffered = 0, this._reads = [], this._paused = !1, this._encoding = "utf8", this.writable = !0
    };
    i.inherits(o, r), o.prototype.read = function (e, t) {
        this._reads.push({length: Math.abs(e), allowLess: e < 0, func: t}), process.nextTick(function () {
            this._process(), this._paused && this._reads.length > 0 && (this._paused = !1, this.emit("drain"))
        }.bind(this))
    }, o.prototype.write = function (e, t) {
        return this.writable ? (n = Buffer.isBuffer(e) ? e : new Buffer(e, t || this._encoding), this._buffers.push(n), this._buffered += n.length, this._process(), this._reads && 0 === this._reads.length && (this._paused = !0), this.writable && !this._paused) : (this.emit("error", new Error("Stream not writable")), !1);
        var n
    }, o.prototype.end = function (e, t) {
        e && this.write(e, t), this.writable = !1, this._buffers && (0 === this._buffers.length ? this._end() : (this._buffers.push(null), this._process()))
    }, o.prototype.destroySoon = o.prototype.end, o.prototype._end = function () {
        this._reads.length > 0 && this.emit("error", new Error("There are some read requests waiting on finished stream")), this.destroy()
    }, o.prototype.destroy = function () {
        this._buffers && (this.writable = !1, this._reads = null, this._buffers = null, this.emit("close"))
    }, o.prototype._processReadAllowingLess = function (e) {
        this._reads.shift();
        var t = this._buffers[0];
        t.length > e.length ? (this._buffered -= e.length, this._buffers[0] = t.slice(e.length), e.func.call(this, t.slice(0, e.length))) : (this._buffered -= t.length, this._buffers.shift(), e.func.call(this, t))
    }, o.prototype._processRead = function (e) {
        this._reads.shift();
        for (var t = 0, n = 0, i = new Buffer(e.length); t < e.length;) {
            var r = this._buffers[n++], o = Math.min(r.length, e.length - t);
            r.copy(i, t, 0, o), t += o, o !== r.length && (this._buffers[--n] = r.slice(o))
        }
        n > 0 && this._buffers.splice(0, n), this._buffered -= e.length, e.func.call(this, i)
    }, o.prototype._process = function () {
        try {
            for (; this._buffered > 0 && this._reads && this._reads.length > 0;) {
                var e = this._reads[0];
                if (e.allowLess) this._processReadAllowingLess(e); else {
                    if (!(this._buffered >= e.length)) break;
                    this._processRead(e)
                }
            }
            this._buffers && this._buffers.length > 0 && null === this._buffers[0] && this._end()
        } catch (e) {
            this.emit("error", e)
        }
    }
}, function (e, t, n) {
    "use strict";
    var i = n(216), r = n(217);

    function o(e, t, n) {
        var i = e * t;
        return 8 !== n && (i = Math.ceil(i / (8 / n))), i
    }

    var s = e.exports = function (e, t) {
        var n = e.width, r = e.height, s = e.interlace, a = e.bpp, l = e.depth;
        if (this.read = t.read, this.write = t.write, this.complete = t.complete, this._imageIndex = 0, this._images = [], s) for (var c = i.getImagePasses(n, r), u = 0; u < c.length; u++) this._images.push({
            byteWidth: o(c[u].width, a, l),
            height: c[u].height,
            lineIndex: 0
        }); else this._images.push({byteWidth: o(n, a, l), height: r, lineIndex: 0});
        this._xComparison = 8 === l ? a : 16 === l ? 2 * a : 1
    };
    s.prototype.start = function () {
        this.read(this._images[this._imageIndex].byteWidth + 1, this._reverseFilterLine.bind(this))
    }, s.prototype._unFilterType1 = function (e, t, n) {
        for (var i = this._xComparison, r = i - 1, o = 0; o < n; o++) {
            var s = e[1 + o], a = o > r ? t[o - i] : 0;
            t[o] = s + a
        }
    }, s.prototype._unFilterType2 = function (e, t, n) {
        for (var i = this._lastLine, r = 0; r < n; r++) {
            var o = e[1 + r], s = i ? i[r] : 0;
            t[r] = o + s
        }
    }, s.prototype._unFilterType3 = function (e, t, n) {
        for (var i = this._xComparison, r = i - 1, o = this._lastLine, s = 0; s < n; s++) {
            var a = e[1 + s], l = o ? o[s] : 0, c = s > r ? t[s - i] : 0, u = Math.floor((c + l) / 2);
            t[s] = a + u
        }
    }, s.prototype._unFilterType4 = function (e, t, n) {
        for (var i = this._xComparison, o = i - 1, s = this._lastLine, a = 0; a < n; a++) {
            var l = e[1 + a], c = s ? s[a] : 0, u = a > o ? t[a - i] : 0, d = a > o && s ? s[a - i] : 0, h = r(u, c, d);
            t[a] = l + h
        }
    }, s.prototype._reverseFilterLine = function (e) {
        var t, n = e[0], i = this._images[this._imageIndex], r = i.byteWidth;
        if (0 === n) t = e.slice(1, r + 1); else switch (t = new Buffer(r), n) {
            case 1:
                this._unFilterType1(e, t, r);
                break;
            case 2:
                this._unFilterType2(e, t, r);
                break;
            case 3:
                this._unFilterType3(e, t, r);
                break;
            case 4:
                this._unFilterType4(e, t, r);
                break;
            default:
                throw new Error("Unrecognised filter type - " + n)
        }
        this.write(t), i.lineIndex++, i.lineIndex >= i.height ? (this._lastLine = null, this._imageIndex++, i = this._images[this._imageIndex]) : this._lastLine = t, i ? this.read(i.byteWidth + 1, this._reverseFilterLine.bind(this)) : (this._lastLine = null, this.complete())
    }
}, function (e, t, n) {
    "use strict";
    var i = [{x: [0], y: [0]}, {x: [4], y: [0]}, {x: [0, 4], y: [4]}, {x: [2, 6], y: [0, 4]}, {
        x: [0, 2, 4, 6],
        y: [2, 6]
    }, {x: [1, 3, 5, 7], y: [0, 2, 4, 6]}, {x: [0, 1, 2, 3, 4, 5, 6, 7], y: [1, 3, 5, 7]}];
    t.getImagePasses = function (e, t) {
        for (var n = [], r = e % 8, o = t % 8, s = (e - r) / 8, a = (t - o) / 8, l = 0; l < i.length; l++) {
            for (var c = i[l], u = s * c.x.length, d = a * c.y.length, h = 0; h < c.x.length && c.x[h] < r; h++) u++;
            for (h = 0; h < c.y.length && c.y[h] < o; h++) d++;
            u > 0 && d > 0 && n.push({width: u, height: d, index: l})
        }
        return n
    }, t.getInterlaceIterator = function (e) {
        return function (t, n, r) {
            var o = t % i[r].x.length, s = (t - o) / i[r].x.length * 8 + i[r].x[o], a = n % i[r].y.length;
            return 4 * s + ((n - a) / i[r].y.length * 8 + i[r].y[a]) * e * 4
        }
    }
}, function (e, t, n) {
    "use strict";
    e.exports = function (e, t, n) {
        var i = e + t - n, r = Math.abs(i - e), o = Math.abs(i - t), s = Math.abs(i - n);
        return r <= o && r <= s ? e : o <= s ? t : n
    }
}, function (e, t, n) {
    "use strict";
    var i = n(143), r = n(219), o = e.exports = function (e, t) {
        this._options = e, e.checkCRC = !1 !== e.checkCRC, this._hasIHDR = !1, this._hasIEND = !1, this._palette = [], this._colorType = 0, this._chunks = {}, this._chunks[i.TYPE_IHDR] = this._handleIHDR.bind(this), this._chunks[i.TYPE_IEND] = this._handleIEND.bind(this), this._chunks[i.TYPE_IDAT] = this._handleIDAT.bind(this), this._chunks[i.TYPE_PLTE] = this._handlePLTE.bind(this), this._chunks[i.TYPE_tRNS] = this._handleTRNS.bind(this), this._chunks[i.TYPE_gAMA] = this._handleGAMA.bind(this), this.read = t.read, this.error = t.error, this.metadata = t.metadata, this.gamma = t.gamma, this.transColor = t.transColor, this.palette = t.palette, this.parsed = t.parsed, this.inflateData = t.inflateData, this.finished = t.finished
    };
    o.prototype.start = function () {
        this.read(i.PNG_SIGNATURE.length, this._parseSignature.bind(this))
    }, o.prototype._parseSignature = function (e) {
        for (var t = i.PNG_SIGNATURE, n = 0; n < t.length; n++) if (e[n] !== t[n]) return void this.error(new Error("Invalid file signature"));
        this.read(8, this._parseChunkBegin.bind(this))
    }, o.prototype._parseChunkBegin = function (e) {
        for (var t = e.readUInt32BE(0), n = e.readUInt32BE(4), o = "", s = 4; s < 8; s++) o += String.fromCharCode(e[s]);
        var a = Boolean(32 & e[4]);
        if (this._hasIHDR || n === i.TYPE_IHDR) {
            if (this._crc = new r, this._crc.write(new Buffer(o)), this._chunks[n]) return this._chunks[n](t);
            a ? this.read(t + 4, this._skipChunk.bind(this)) : this.error(new Error("Unsupported critical chunk type " + o))
        } else this.error(new Error("Expected IHDR on beggining"))
    }, o.prototype._skipChunk = function () {
        this.read(8, this._parseChunkBegin.bind(this))
    }, o.prototype._handleChunkEnd = function () {
        this.read(4, this._parseChunkEnd.bind(this))
    }, o.prototype._parseChunkEnd = function (e) {
        var t = e.readInt32BE(0), n = this._crc.crc32();
        this._options.checkCRC && n !== t ? this.error(new Error("Crc error - " + t + " - " + n)) : this._hasIEND || this.read(8, this._parseChunkBegin.bind(this))
    }, o.prototype._handleIHDR = function (e) {
        this.read(e, this._parseIHDR.bind(this))
    }, o.prototype._parseIHDR = function (e) {
        this._crc.write(e);
        var t = e.readUInt32BE(0), n = e.readUInt32BE(4), r = e[8], o = e[9], s = e[10], a = e[11], l = e[12];
        if (8 === r || 4 === r || 2 === r || 1 === r || 16 === r) if (o in i.COLORTYPE_TO_BPP_MAP) if (0 === s) if (0 === a) if (0 === l || 1 === l) {
            this._colorType = o;
            var c = i.COLORTYPE_TO_BPP_MAP[this._colorType];
            this._hasIHDR = !0, this.metadata({
                width: t,
                height: n,
                depth: r,
                interlace: Boolean(l),
                palette: Boolean(o & i.COLORTYPE_PALETTE),
                color: Boolean(o & i.COLORTYPE_COLOR),
                alpha: Boolean(o & i.COLORTYPE_ALPHA),
                bpp: c,
                colorType: o
            }), this._handleChunkEnd()
        } else this.error(new Error("Unsupported interlace method")); else this.error(new Error("Unsupported filter method")); else this.error(new Error("Unsupported compression method")); else this.error(new Error("Unsupported color type")); else this.error(new Error("Unsupported bit depth " + r))
    }, o.prototype._handlePLTE = function (e) {
        this.read(e, this._parsePLTE.bind(this))
    }, o.prototype._parsePLTE = function (e) {
        this._crc.write(e);
        for (var t = Math.floor(e.length / 3), n = 0; n < t; n++) this._palette.push([e[3 * n], e[3 * n + 1], e[3 * n + 2], 255]);
        this.palette(this._palette), this._handleChunkEnd()
    }, o.prototype._handleTRNS = function (e) {
        this.read(e, this._parseTRNS.bind(this))
    }, o.prototype._parseTRNS = function (e) {
        if (this._crc.write(e), this._colorType === i.COLORTYPE_PALETTE_COLOR) {
            if (0 === this._palette.length) return void this.error(new Error("Transparency chunk must be after palette"));
            if (e.length > this._palette.length) return void this.error(new Error("More transparent colors than palette size"));
            for (var t = 0; t < e.length; t++) this._palette[t][3] = e[t];
            this.palette(this._palette)
        }
        this._colorType === i.COLORTYPE_GRAYSCALE && this.transColor([e.readUInt16BE(0)]), this._colorType === i.COLORTYPE_COLOR && this.transColor([e.readUInt16BE(0), e.readUInt16BE(2), e.readUInt16BE(4)]), this._handleChunkEnd()
    }, o.prototype._handleGAMA = function (e) {
        this.read(e, this._parseGAMA.bind(this))
    }, o.prototype._parseGAMA = function (e) {
        this._crc.write(e), this.gamma(e.readUInt32BE(0) / i.GAMMA_DIVISION), this._handleChunkEnd()
    }, o.prototype._handleIDAT = function (e) {
        this.read(-e, this._parseIDAT.bind(this, e))
    }, o.prototype._parseIDAT = function (e, t) {
        if (this._crc.write(t), this._colorType === i.COLORTYPE_PALETTE_COLOR && 0 === this._palette.length) throw new Error("Expected palette not found");
        this.inflateData(t);
        var n = e - t.length;
        n > 0 ? this._handleIDAT(n) : this._handleChunkEnd()
    }, o.prototype._handleIEND = function (e) {
        this.read(e, this._parseIEND.bind(this))
    }, o.prototype._parseIEND = function (e) {
        this._crc.write(e), this._hasIEND = !0, this._handleChunkEnd(), this.finished && this.finished()
    }
}, function (e, t, n) {
    "use strict";
    var i = [];
    !function () {
        for (var e = 0; e < 256; e++) {
            for (var t = e, n = 0; n < 8; n++) 1 & t ? t = 3988292384 ^ t >>> 1 : t >>>= 1;
            i[e] = t
        }
    }();
    var r = e.exports = function () {
        this._crc = -1
    };
    r.prototype.write = function (e) {
        for (var t = 0; t < e.length; t++) this._crc = i[255 & (this._crc ^ e[t])] ^ this._crc >>> 8;
        return !0
    }, r.prototype.crc32 = function () {
        return -1 ^ this._crc
    }, r.crc32 = function (e) {
        for (var t = -1, n = 0; n < e.length; n++) t = i[255 & (t ^ e[n])] ^ t >>> 8;
        return -1 ^ t
    }
}, function (e, t, n) {
    "use strict";
    var i = n(216), r = {
        1: {0: 0, 1: 0, 2: 0, 3: 255},
        2: {0: 0, 1: 0, 2: 0, 3: 1},
        3: {0: 0, 1: 1, 2: 2, 3: 255},
        4: {0: 0, 1: 1, 2: 2, 3: 3}
    };

    function o(e, t, n, i, o, s) {
        for (var a = e.width, l = e.height, c = e.index, u = 0; u < l; u++) for (var d = 0; d < a; d++) {
            for (var h = n(d, u, c), f = 0; f < 4; f++) {
                var p = r[i][f];
                if (255 === p) t[h + f] = 255; else {
                    var A = p + s;
                    if (A === o.length) throw new Error("Ran out of data");
                    t[h + f] = o[A]
                }
            }
            s += i
        }
        return s
    }

    function s(e, t, n, i, o, s) {
        for (var a = e.width, l = e.height, c = e.index, u = 0; u < l; u++) {
            for (var d = 0; d < a; d++) for (var h = o.get(i), f = n(d, u, c), p = 0; p < 4; p++) {
                var A = r[i][p];
                t[f + p] = 255 !== A ? h[A] : s
            }
            o.resetAfterLine()
        }
    }

    t.dataToBitMap = function (e, t) {
        var n, r = t.width, a = t.height, l = t.depth, c = t.bpp, u = t.interlace;
        if (8 !== l) var d = function (e, t) {
            var n = [], i = 0;

            function r() {
                if (i === e.length) throw new Error("Ran out of data");
                var r, o, s, a, l, c, u, d, h = e[i];
                switch (i++, t) {
                    default:
                        throw new Error("unrecognised depth");
                    case 16:
                        u = e[i], i++, n.push((h << 8) + u);
                        break;
                    case 4:
                        u = 15 & h, d = h >> 4, n.push(d, u);
                        break;
                    case 2:
                        l = 3 & h, c = h >> 2 & 3, u = h >> 4 & 3, d = h >> 6 & 3, n.push(d, u, c, l);
                        break;
                    case 1:
                        r = 1 & h, o = h >> 1 & 1, s = h >> 2 & 1, a = h >> 3 & 1, l = h >> 4 & 1, c = h >> 5 & 1, u = h >> 6 & 1, d = h >> 7 & 1, n.push(d, u, c, l, a, s, o, r)
                }
            }

            return {
                get: function (e) {
                    for (; n.length < e;) r();
                    var t = n.slice(0, e);
                    return n = n.slice(e), t
                }, resetAfterLine: function () {
                    n.length = 0
                }, end: function () {
                    if (i !== e.length) throw new Error("extra data found")
                }
            }
        }(e, l);
        n = l <= 8 ? new Buffer(r * a * 4) : new Uint16Array(r * a * 4);
        var h, f, p = Math.pow(2, l) - 1, A = 0;
        if (u) h = i.getImagePasses(r, a), f = i.getInterlaceIterator(r, a); else {
            var v = 0;
            f = function () {
                var e = v;
                return v += 4, e
            }, h = [{width: r, height: a}]
        }
        for (var g = 0; g < h.length; g++) 8 === l ? A = o(h[g], n, f, c, e, A) : s(h[g], n, f, c, d, p);
        if (8 === l) {
            if (A !== e.length) throw new Error("extra data found")
        } else d.end();
        return n
    }
}, function (e, t, n) {
    "use strict";
    e.exports = function (e, t) {
        var n = t.depth, i = t.width, r = t.height, o = t.colorType, s = t.transColor, a = t.palette, l = e;
        return 3 === o ? function (e, t, n, i, r) {
            for (var o = 0, s = 0; s < i; s++) for (var a = 0; a < n; a++) {
                var l = r[e[o]];
                if (!l) throw new Error("index " + e[o] + " not in palette");
                for (var c = 0; c < 4; c++) t[o + c] = l[c];
                o += 4
            }
        }(e, l, i, r, a) : (s && function (e, t, n, i, r) {
            for (var o = 0, s = 0; s < i; s++) for (var a = 0; a < n; a++) {
                var l = !1;
                if (1 === r.length ? r[0] === e[o] && (l = !0) : r[0] === e[o] && r[1] === e[o + 1] && r[2] === e[o + 2] && (l = !0), l) for (var c = 0; c < 4; c++) t[o + c] = 0;
                o += 4
            }
        }(e, l, i, r, s), 8 !== n && (16 === n && (l = new Buffer(i * r * 4)), function (e, t, n, i, r) {
            for (var o = Math.pow(2, r) - 1, s = 0, a = 0; a < i; a++) for (var l = 0; l < n; l++) {
                for (var c = 0; c < 4; c++) t[s + c] = Math.floor(255 * e[s + c] / o + .5);
                s += 4
            }
        }(e, l, i, r, n))), l
    }
}, function (e, t, n) {
    "use strict";
    var i = n(143), r = n(219), o = n(532), s = n(533), a = n(48), l = e.exports = function (e) {
        if (this._options = e, e.deflateChunkSize = e.deflateChunkSize || 32768, e.deflateLevel = null != e.deflateLevel ? e.deflateLevel : 9, e.deflateStrategy = null != e.deflateStrategy ? e.deflateStrategy : 3, e.inputHasAlpha = null == e.inputHasAlpha || e.inputHasAlpha, e.deflateFactory = e.deflateFactory || a.createDeflate, e.bitDepth = e.bitDepth || 8, e.colorType = "number" == typeof e.colorType ? e.colorType : i.COLORTYPE_COLOR_ALPHA, e.inputColorType = "number" == typeof e.inputColorType ? e.inputColorType : i.COLORTYPE_COLOR_ALPHA, -1 === [i.COLORTYPE_GRAYSCALE, i.COLORTYPE_COLOR, i.COLORTYPE_COLOR_ALPHA, i.COLORTYPE_ALPHA].indexOf(e.colorType)) throw new Error("option color type:" + e.colorType + " is not supported at present");
        if (-1 === [i.COLORTYPE_GRAYSCALE, i.COLORTYPE_COLOR, i.COLORTYPE_COLOR_ALPHA, i.COLORTYPE_ALPHA].indexOf(e.inputColorType)) throw new Error("option input color type:" + e.inputColorType + " is not supported at present");
        if (8 !== e.bitDepth && 16 !== e.bitDepth) throw new Error("option bit depth:" + e.bitDepth + " is not supported at present")
    };
    l.prototype.getDeflateOptions = function () {
        return {
            chunkSize: this._options.deflateChunkSize,
            level: this._options.deflateLevel,
            strategy: this._options.deflateStrategy
        }
    }, l.prototype.createDeflate = function () {
        return this._options.deflateFactory(this.getDeflateOptions())
    }, l.prototype.filterData = function (e, t, n) {
        var r = o(e, t, n, this._options), a = i.COLORTYPE_TO_BPP_MAP[this._options.colorType];
        return s(r, t, n, this._options, a)
    }, l.prototype._packChunk = function (e, t) {
        var n = t ? t.length : 0, i = new Buffer(n + 12);
        return i.writeUInt32BE(n, 0), i.writeUInt32BE(e, 4), t && t.copy(i, 8), i.writeInt32BE(r.crc32(i.slice(4, i.length - 4)), i.length - 4), i
    }, l.prototype.packGAMA = function (e) {
        var t = new Buffer(4);
        return t.writeUInt32BE(Math.floor(e * i.GAMMA_DIVISION), 0), this._packChunk(i.TYPE_gAMA, t)
    }, l.prototype.packIHDR = function (e, t) {
        var n = new Buffer(13);
        return n.writeUInt32BE(e, 0), n.writeUInt32BE(t, 4), n[8] = this._options.bitDepth, n[9] = this._options.colorType, n[10] = 0, n[11] = 0, n[12] = 0, this._packChunk(i.TYPE_IHDR, n)
    }, l.prototype.packIDAT = function (e) {
        return this._packChunk(i.TYPE_IDAT, e)
    }, l.prototype.packIEND = function () {
        return this._packChunk(i.TYPE_IEND, null)
    }
}, function (e, t, n) {
    "use strict";
    var i = e.exports = function (e) {
        this._buffer = e, this._reads = []
    };
    i.prototype.read = function (e, t) {
        this._reads.push({length: Math.abs(e), allowLess: e < 0, func: t})
    }, i.prototype.process = function () {
        for (; this._reads.length > 0 && this._buffer.length;) {
            var e = this._reads[0];
            if (!this._buffer.length || !(this._buffer.length >= e.length || e.allowLess)) break;
            this._reads.shift();
            var t = this._buffer;
            this._buffer = t.slice(e.length), e.func.call(this, t.slice(0, e.length))
        }
        return this._reads.length > 0 ? new Error("There are some read requests waitng on finished stream") : this._buffer.length > 0 ? new Error("unrecognised content at end of stream") : void 0
    }
}, function (e, t, n) {
    var i = n(155);

    function r(e, t) {
        var n = e.a / 255, i = t + '="' + e.hex + '"';
        return n < 1 ? i + " " + t + '-opacity="' + n.toFixed(2).slice(1) + '"' : i
    }

    function o(e, t, n) {
        var i = e + t;
        return void 0 !== n && (i += " " + n), i
    }

    t.render = function (e, t, n) {
        var s = i.getOptions(t), a = e.modules.size, l = e.modules.data, c = a + 2 * s.margin,
            u = s.color.light.a ? "<path " + r(s.color.light, "fill") + ' d="M0 0h' + c + "v" + c + 'H0z"/>' : "",
            d = "<path " + r(s.color.dark, "stroke") + ' d="' + function (e, t, n) {
                for (var i = "", r = 0, s = !1, a = 0, l = 0; l < e.length; l++) {
                    var c = Math.floor(l % t), u = Math.floor(l / t);
                    c || s || (s = !0), e[l] ? (a++, l > 0 && c > 0 && e[l - 1] || (i += s ? o("M", c + n, .5 + u + n) : o("m", r, 0), r = 0, s = !1), c + 1 < t && e[l + 1] || (i += o("h", a), a = 0)) : r++
                }
                return i
            }(l, a, s.margin) + '"/>', h = 'viewBox="0 0 ' + c + " " + c + '"',
            f = '<svg xmlns="http://www.w3.org/2000/svg" ' + (s.width ? 'width="' + s.width + '" height="' + s.width + '" ' : "") + h + ' shape-rendering="crispEdges">' + u + d + "</svg>\n";
        return "function" == typeof n && n(null, f), f
    }
}, function (e, t, n) {
    "use strict";
    var i = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(136), o = n(137), s = n(4), a = n(141), l = n(1).default.getLogger("ThunderBirdKey");
    var c;
    !function (e) {
        e[e.ShowUI_Decoding = 0] = "ShowUI_Decoding", e[e.ShowUI_Creating = 1] = "ShowUI_Creating", e[e.ShowUI_DecodeFailed = 2] = "ShowUI_DecodeFailed", e[e.ShowUI_CreateFailed = 3] = "ShowUI_CreateFailed", e[e.ShowUI_CreateSucc = 4] = "ShowUI_CreateSucc", e[e.ShowUI_CreateSuccDis = 5] = "ShowUI_CreateSuccDis"
    }(c = t.ShowType || (t.ShowType = {}));

    class u {
        constructor() {
            this.lastBirdKey = []
        }

        static GetInstance() {
            return u.instance || (u.instance = new u), u.instance
        }

        setLastBirdKey(e) {
            if (e && 0 !== e.length) {
                this.lastBirdKey = [];
                for (let t = 0; t < e.length; t++) this.lastBirdKey.push(e[t])
            }
        }

        getLastBirdKey() {
            return this.lastBirdKey
        }

        isSameBirdKey(e) {
            if (!this.lastBirdKey) return !1;
            if (e.length !== this.lastBirdKey.length) return !1;
            let t = 0;
            for (let n = 0; n < e.length; n++) e[n] === this.lastBirdKey[n] && t++;
            return t === e.length
        }
    }

    function d(e, t, n, i, o) {
        let s = {url: "/dlj_create", data: Object.assign({url: e, "Chat-Version": 2}, o), method: "post"};
        return "string" == typeof n && (s.data.type = n), t && (s.data.uid = t), "string" == typeof i && (s.data.passwd = i), r.fetchSlRes(s)
    }

    function h(e, t, n, i) {
        return d(e, t, n, void 0, i)
    }

    u.instance = null, t.encodeBirdKey = d, t.setBirdKeyPriority = function (e, t, n = !1) {
        return r.fetchSlRes({url: "/dlj/option", data: {url: e, priority: n, "Chat-Version": 2}, method: "put"})
    }, t.queryBirdKeyInfo = h, t.getUserNameByID = function (e) {
        return r.fetchSlRes({url: "/user_info/pc_info", data: {uid: e}})
    }, t.decodeBirdKey = function (e) {
        return i(this, void 0, void 0, function* () {
            let t = yield s.client.callServerFunction("GetThunderVersion");
            return r.fetchSlRes({
                url: "/dlj/bird_key",
                data: {_h: {"Chat-Version": 2, "Version-Name": t}, key: e.toLowerCase()},
                method: "get"
            })
        })
    }, t.openBirdKeyEncodeDialog = function (e, t) {
        return i(this, void 0, void 0, function* () {
            let n = function (e, t) {
                l.information("弹出生成迅雷口令面板,begin,url=", e), o.MessageBox.custom("BirdKeyShow", {
                    showType: c.ShowUI_Creating,
                    url: e,
                    statData: t
                }, {modal: !1}).catch(e => {
                    l.information("弹出生成迅雷口令面板,error=", e)
                }), l.information("弹出生成迅雷口令面板,end")
            };
            l.information("调用promise IsLogined 函数 Begin");
            let r = yield s.client.callServerFunction("IsLogined");
            l.information("调用promise IsLogined 函数 End, isLogined=", r), r ? n(e, t) : h(e).then(r => i(this, void 0, void 0, function* () {
                if ("object" != typeof r) return Promise.resolve();
                if (!r.data) return Promise.resolve();
                if ("encrypted" === r.data.type) {
                    let i = yield a.default(!1, !0, "birdkey");
                    if (!i || "" === i) return;
                    n(e, t)
                } else n(e, t);
                return Promise.resolve()
            })).catch(e => {
                l.information("调用queryBirdKeyInfo 接口异常 error=", e)
            })
        })
    }, t.openBirdKeyDecodeDialog = function (e, t) {
        o.MessageBox.custom("BirdKeyShow", {
            showType: c.ShowUI_Decoding,
            birdkeyChars: e,
            statData: t
        }, {modal: !1}).catch()
    }, t.saveVestUrlToConfig = function (e, t) {
        let n = t ? "vestURL" : "commonUrl";
        s.client.callServerFunction("GetValue", "BirdKeyVest", n, []).then(t => {
            let i = t || [];
            "" !== e && -1 === i.join().indexOf(e) && (i.push(e), s.client.callServerFunction("SetValue", "BirdKeyVest", n, i).catch())
        }).catch()
    }, t.isVestUrl = function (e, t) {
        return i(this, void 0, void 0, function* () {
            let n = yield s.client.callServerFunction("GetValue", "BirdKeyVest", t, []);
            return "" !== e && -1 !== (n || []).join().indexOf(e)
        })
    }, t.getBirdKeyMgr = function () {
        return u.GetInstance()
    }
}, , , , function (e, t) {
    e.exports = "data:image/png;base64, "
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(658), r = n(324);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\common\\generator-view\\conf-component\\conf-tip.vue", t.default = a.exports
}, function (e, t, n) {
    (function (e) {
        var n;
        !function () {
            var i = "object" == typeof self && self.self === self && self || "object" == typeof global && global.global === global && global || this || {},
                r = i._, o = Array.prototype, s = Object.prototype,
                a = "undefined" != typeof Symbol ? Symbol.prototype : null, l = o.push, c = o.slice, u = s.toString,
                d = s.hasOwnProperty, h = Array.isArray, f = Object.keys, p = Object.create, A = function () {
                }, v = function (e) {
                    return e instanceof v ? e : this instanceof v ? void (this._wrapped = e) : new v(e)
                };
            void 0 === t || t.nodeType ? i._ = v : (void 0 !== e && !e.nodeType && e.exports && (t = e.exports = v), t._ = v), v.VERSION = "1.9.1";
            var g, m = function (e, t, n) {
                if (void 0 === t) return e;
                switch (null == n ? 3 : n) {
                    case 1:
                        return function (n) {
                            return e.call(t, n)
                        };
                    case 3:
                        return function (n, i, r) {
                            return e.call(t, n, i, r)
                        };
                    case 4:
                        return function (n, i, r, o) {
                            return e.call(t, n, i, r, o)
                        }
                }
                return function () {
                    return e.apply(t, arguments)
                }
            }, C = function (e, t, n) {
                return v.iteratee !== g ? v.iteratee(e, t) : null == e ? v.identity : v.isFunction(e) ? m(e, t, n) : v.isObject(e) && !v.isArray(e) ? v.matcher(e) : v.property(e)
            };
            v.iteratee = g = function (e, t) {
                return C(e, t, 1 / 0)
            };
            var y = function (e, t) {
                return t = null == t ? e.length - 1 : +t, function () {
                    for (var n = Math.max(arguments.length - t, 0), i = Array(n), r = 0; r < n; r++) i[r] = arguments[r + t];
                    switch (t) {
                        case 0:
                            return e.call(this, i);
                        case 1:
                            return e.call(this, arguments[0], i);
                        case 2:
                            return e.call(this, arguments[0], arguments[1], i)
                    }
                    var o = Array(t + 1);
                    for (r = 0; r < t; r++) o[r] = arguments[r];
                    return o[t] = i, e.apply(this, o)
                }
            }, w = function (e) {
                if (!v.isObject(e)) return {};
                if (p) return p(e);
                A.prototype = e;
                var t = new A;
                return A.prototype = null, t
            }, b = function (e) {
                return function (t) {
                    return null == t ? void 0 : t[e]
                }
            }, x = function (e, t) {
                return null != e && d.call(e, t)
            }, E = function (e, t) {
                for (var n = t.length, i = 0; i < n; i++) {
                    if (null == e) return;
                    e = e[t[i]]
                }
                return n ? e : void 0
            }, I = Math.pow(2, 53) - 1, S = b("length"), k = function (e) {
                var t = S(e);
                return "number" == typeof t && t >= 0 && t <= I
            };
            v.each = v.forEach = function (e, t, n) {
                var i, r;
                if (t = m(t, n), k(e)) for (i = 0, r = e.length; i < r; i++) t(e[i], i, e); else {
                    var o = v.keys(e);
                    for (i = 0, r = o.length; i < r; i++) t(e[o[i]], o[i], e)
                }
                return e
            }, v.map = v.collect = function (e, t, n) {
                t = C(t, n);
                for (var i = !k(e) && v.keys(e), r = (i || e).length, o = Array(r), s = 0; s < r; s++) {
                    var a = i ? i[s] : s;
                    o[s] = t(e[a], a, e)
                }
                return o
            };
            var P = function (e) {
                return function (t, n, i, r) {
                    var o = arguments.length >= 3;
                    return function (t, n, i, r) {
                        var o = !k(t) && v.keys(t), s = (o || t).length, a = e > 0 ? 0 : s - 1;
                        for (r || (i = t[o ? o[a] : a], a += e); a >= 0 && a < s; a += e) {
                            var l = o ? o[a] : a;
                            i = n(i, t[l], l, t)
                        }
                        return i
                    }(t, m(n, r, 4), i, o)
                }
            };
            v.reduce = v.foldl = v.inject = P(1), v.reduceRight = v.foldr = P(-1), v.find = v.detect = function (e, t, n) {
                var i = (k(e) ? v.findIndex : v.findKey)(e, t, n);
                if (void 0 !== i && -1 !== i) return e[i]
            }, v.filter = v.select = function (e, t, n) {
                var i = [];
                return t = C(t, n), v.each(e, function (e, n, r) {
                    t(e, n, r) && i.push(e)
                }), i
            }, v.reject = function (e, t, n) {
                return v.filter(e, v.negate(C(t)), n)
            }, v.every = v.all = function (e, t, n) {
                t = C(t, n);
                for (var i = !k(e) && v.keys(e), r = (i || e).length, o = 0; o < r; o++) {
                    var s = i ? i[o] : o;
                    if (!t(e[s], s, e)) return !1
                }
                return !0
            }, v.some = v.any = function (e, t, n) {
                t = C(t, n);
                for (var i = !k(e) && v.keys(e), r = (i || e).length, o = 0; o < r; o++) {
                    var s = i ? i[o] : o;
                    if (t(e[s], s, e)) return !0
                }
                return !1
            }, v.contains = v.includes = v.include = function (e, t, n, i) {
                return k(e) || (e = v.values(e)), ("number" != typeof n || i) && (n = 0), v.indexOf(e, t, n) >= 0
            }, v.invoke = y(function (e, t, n) {
                var i, r;
                return v.isFunction(t) ? r = t : v.isArray(t) && (i = t.slice(0, -1), t = t[t.length - 1]), v.map(e, function (e) {
                    var o = r;
                    if (!o) {
                        if (i && i.length && (e = E(e, i)), null == e) return;
                        o = e[t]
                    }
                    return null == o ? o : o.apply(e, n)
                })
            }), v.pluck = function (e, t) {
                return v.map(e, v.property(t))
            }, v.where = function (e, t) {
                return v.filter(e, v.matcher(t))
            }, v.findWhere = function (e, t) {
                return v.find(e, v.matcher(t))
            }, v.max = function (e, t, n) {
                var i, r, o = -1 / 0, s = -1 / 0;
                if (null == t || "number" == typeof t && "object" != typeof e[0] && null != e) for (var a = 0, l = (e = k(e) ? e : v.values(e)).length; a < l; a++) null != (i = e[a]) && i > o && (o = i); else t = C(t, n), v.each(e, function (e, n, i) {
                    ((r = t(e, n, i)) > s || r === -1 / 0 && o === -1 / 0) && (o = e, s = r)
                });
                return o
            }, v.min = function (e, t, n) {
                var i, r, o = 1 / 0, s = 1 / 0;
                if (null == t || "number" == typeof t && "object" != typeof e[0] && null != e) for (var a = 0, l = (e = k(e) ? e : v.values(e)).length; a < l; a++) null != (i = e[a]) && i < o && (o = i); else t = C(t, n), v.each(e, function (e, n, i) {
                    ((r = t(e, n, i)) < s || r === 1 / 0 && o === 1 / 0) && (o = e, s = r)
                });
                return o
            }, v.shuffle = function (e) {
                return v.sample(e, 1 / 0)
            }, v.sample = function (e, t, n) {
                if (null == t || n) return k(e) || (e = v.values(e)), e[v.random(e.length - 1)];
                var i = k(e) ? v.clone(e) : v.values(e), r = S(i);
                t = Math.max(Math.min(t, r), 0);
                for (var o = r - 1, s = 0; s < t; s++) {
                    var a = v.random(s, o), l = i[s];
                    i[s] = i[a], i[a] = l
                }
                return i.slice(0, t)
            }, v.sortBy = function (e, t, n) {
                var i = 0;
                return t = C(t, n), v.pluck(v.map(e, function (e, n, r) {
                    return {value: e, index: i++, criteria: t(e, n, r)}
                }).sort(function (e, t) {
                    var n = e.criteria, i = t.criteria;
                    if (n !== i) {
                        if (n > i || void 0 === n) return 1;
                        if (n < i || void 0 === i) return -1
                    }
                    return e.index - t.index
                }), "value")
            };
            var D = function (e, t) {
                return function (n, i, r) {
                    var o = t ? [[], []] : {};
                    return i = C(i, r), v.each(n, function (t, r) {
                        var s = i(t, r, n);
                        e(o, t, s)
                    }), o
                }
            };
            v.groupBy = D(function (e, t, n) {
                x(e, n) ? e[n].push(t) : e[n] = [t]
            }), v.indexBy = D(function (e, t, n) {
                e[n] = t
            }), v.countBy = D(function (e, t, n) {
                x(e, n) ? e[n]++ : e[n] = 1
            });
            var M = /[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;
            v.toArray = function (e) {
                return e ? v.isArray(e) ? c.call(e) : v.isString(e) ? e.match(M) : k(e) ? v.map(e, v.identity) : v.values(e) : []
            }, v.size = function (e) {
                return null == e ? 0 : k(e) ? e.length : v.keys(e).length
            }, v.partition = D(function (e, t, n) {
                e[n ? 0 : 1].push(t)
            }, !0), v.first = v.head = v.take = function (e, t, n) {
                return null == e || e.length < 1 ? null == t ? void 0 : [] : null == t || n ? e[0] : v.initial(e, e.length - t)
            }, v.initial = function (e, t, n) {
                return c.call(e, 0, Math.max(0, e.length - (null == t || n ? 1 : t)))
            }, v.last = function (e, t, n) {
                return null == e || e.length < 1 ? null == t ? void 0 : [] : null == t || n ? e[e.length - 1] : v.rest(e, Math.max(0, e.length - t))
            }, v.rest = v.tail = v.drop = function (e, t, n) {
                return c.call(e, null == t || n ? 1 : t)
            }, v.compact = function (e) {
                return v.filter(e, Boolean)
            };
            var T = function (e, t, n, i) {
                for (var r = (i = i || []).length, o = 0, s = S(e); o < s; o++) {
                    var a = e[o];
                    if (k(a) && (v.isArray(a) || v.isArguments(a))) if (t) for (var l = 0, c = a.length; l < c;) i[r++] = a[l++]; else T(a, t, n, i), r = i.length; else n || (i[r++] = a)
                }
                return i
            };
            v.flatten = function (e, t) {
                return T(e, t, !1)
            }, v.without = y(function (e, t) {
                return v.difference(e, t)
            }), v.uniq = v.unique = function (e, t, n, i) {
                v.isBoolean(t) || (i = n, n = t, t = !1), null != n && (n = C(n, i));
                for (var r = [], o = [], s = 0, a = S(e); s < a; s++) {
                    var l = e[s], c = n ? n(l, s, e) : l;
                    t && !n ? (s && o === c || r.push(l), o = c) : n ? v.contains(o, c) || (o.push(c), r.push(l)) : v.contains(r, l) || r.push(l)
                }
                return r
            }, v.union = y(function (e) {
                return v.uniq(T(e, !0, !0))
            }), v.intersection = function (e) {
                for (var t = [], n = arguments.length, i = 0, r = S(e); i < r; i++) {
                    var o = e[i];
                    if (!v.contains(t, o)) {
                        var s;
                        for (s = 1; s < n && v.contains(arguments[s], o); s++) ;
                        s === n && t.push(o)
                    }
                }
                return t
            }, v.difference = y(function (e, t) {
                return t = T(t, !0, !0), v.filter(e, function (e) {
                    return !v.contains(t, e)
                })
            }), v.unzip = function (e) {
                for (var t = e && v.max(e, S).length || 0, n = Array(t), i = 0; i < t; i++) n[i] = v.pluck(e, i);
                return n
            }, v.zip = y(v.unzip), v.object = function (e, t) {
                for (var n = {}, i = 0, r = S(e); i < r; i++) t ? n[e[i]] = t[i] : n[e[i][0]] = e[i][1];
                return n
            };
            var B = function (e) {
                return function (t, n, i) {
                    n = C(n, i);
                    for (var r = S(t), o = e > 0 ? 0 : r - 1; o >= 0 && o < r; o += e) if (n(t[o], o, t)) return o;
                    return -1
                }
            };
            v.findIndex = B(1), v.findLastIndex = B(-1), v.sortedIndex = function (e, t, n, i) {
                for (var r = (n = C(n, i, 1))(t), o = 0, s = S(e); o < s;) {
                    var a = Math.floor((o + s) / 2);
                    n(e[a]) < r ? o = a + 1 : s = a
                }
                return o
            };
            var O = function (e, t, n) {
                return function (i, r, o) {
                    var s = 0, a = S(i);
                    if ("number" == typeof o) e > 0 ? s = o >= 0 ? o : Math.max(o + a, s) : a = o >= 0 ? Math.min(o + 1, a) : o + a + 1; else if (n && o && a) return i[o = n(i, r)] === r ? o : -1;
                    if (r != r) return (o = t(c.call(i, s, a), v.isNaN)) >= 0 ? o + s : -1;
                    for (o = e > 0 ? s : a - 1; o >= 0 && o < a; o += e) if (i[o] === r) return o;
                    return -1
                }
            };
            v.indexOf = O(1, v.findIndex, v.sortedIndex), v.lastIndexOf = O(-1, v.findLastIndex), v.range = function (e, t, n) {
                null == t && (t = e || 0, e = 0), n || (n = t < e ? -1 : 1);
                for (var i = Math.max(Math.ceil((t - e) / n), 0), r = Array(i), o = 0; o < i; o++, e += n) r[o] = e;
                return r
            }, v.chunk = function (e, t) {
                if (null == t || t < 1) return [];
                for (var n = [], i = 0, r = e.length; i < r;) n.push(c.call(e, i, i += t));
                return n
            };
            var R = function (e, t, n, i, r) {
                if (!(i instanceof t)) return e.apply(n, r);
                var o = w(e.prototype), s = e.apply(o, r);
                return v.isObject(s) ? s : o
            };
            v.bind = y(function (e, t, n) {
                if (!v.isFunction(e)) throw new TypeError("Bind must be called on a function");
                var i = y(function (r) {
                    return R(e, i, t, this, n.concat(r))
                });
                return i
            }), v.partial = y(function (e, t) {
                var n = v.partial.placeholder, i = function () {
                    for (var r = 0, o = t.length, s = Array(o), a = 0; a < o; a++) s[a] = t[a] === n ? arguments[r++] : t[a];
                    for (; r < arguments.length;) s.push(arguments[r++]);
                    return R(e, i, this, this, s)
                };
                return i
            }), v.partial.placeholder = v, v.bindAll = y(function (e, t) {
                var n = (t = T(t, !1, !1)).length;
                if (n < 1) throw new Error("bindAll must be passed function names");
                for (; n--;) {
                    var i = t[n];
                    e[i] = v.bind(e[i], e)
                }
            }), v.memoize = function (e, t) {
                var n = function (i) {
                    var r = n.cache, o = "" + (t ? t.apply(this, arguments) : i);
                    return x(r, o) || (r[o] = e.apply(this, arguments)), r[o]
                };
                return n.cache = {}, n
            }, v.delay = y(function (e, t, n) {
                return setTimeout(function () {
                    return e.apply(null, n)
                }, t)
            }), v.defer = v.partial(v.delay, v, 1), v.throttle = function (e, t, n) {
                var i, r, o, s, a = 0;
                n || (n = {});
                var l = function () {
                    a = !1 === n.leading ? 0 : v.now(), i = null, s = e.apply(r, o), i || (r = o = null)
                }, c = function () {
                    var c = v.now();
                    a || !1 !== n.leading || (a = c);
                    var u = t - (c - a);
                    return r = this, o = arguments, u <= 0 || u > t ? (i && (clearTimeout(i), i = null), a = c, s = e.apply(r, o), i || (r = o = null)) : i || !1 === n.trailing || (i = setTimeout(l, u)), s
                };
                return c.cancel = function () {
                    clearTimeout(i), a = 0, i = r = o = null
                }, c
            }, v.debounce = function (e, t, n) {
                var i, r, o = function (t, n) {
                    i = null, n && (r = e.apply(t, n))
                }, s = y(function (s) {
                    if (i && clearTimeout(i), n) {
                        var a = !i;
                        i = setTimeout(o, t), a && (r = e.apply(this, s))
                    } else i = v.delay(o, t, this, s);
                    return r
                });
                return s.cancel = function () {
                    clearTimeout(i), i = null
                }, s
            }, v.wrap = function (e, t) {
                return v.partial(t, e)
            }, v.negate = function (e) {
                return function () {
                    return !e.apply(this, arguments)
                }
            }, v.compose = function () {
                var e = arguments, t = e.length - 1;
                return function () {
                    for (var n = t, i = e[t].apply(this, arguments); n--;) i = e[n].call(this, i);
                    return i
                }
            }, v.after = function (e, t) {
                return function () {
                    if (--e < 1) return t.apply(this, arguments)
                }
            }, v.before = function (e, t) {
                var n;
                return function () {
                    return --e > 0 && (n = t.apply(this, arguments)), e <= 1 && (t = null), n
                }
            }, v.once = v.partial(v.before, 2), v.restArguments = y;
            var N = !{toString: null}.propertyIsEnumerable("toString"),
                Q = ["valueOf", "isPrototypeOf", "toString", "propertyIsEnumerable", "hasOwnProperty", "toLocaleString"],
                j = function (e, t) {
                    var n = Q.length, i = e.constructor, r = v.isFunction(i) && i.prototype || s, o = "constructor";
                    for (x(e, o) && !v.contains(t, o) && t.push(o); n--;) (o = Q[n]) in e && e[o] !== r[o] && !v.contains(t, o) && t.push(o)
                };
            v.keys = function (e) {
                if (!v.isObject(e)) return [];
                if (f) return f(e);
                var t = [];
                for (var n in e) x(e, n) && t.push(n);
                return N && j(e, t), t
            }, v.allKeys = function (e) {
                if (!v.isObject(e)) return [];
                var t = [];
                for (var n in e) t.push(n);
                return N && j(e, t), t
            }, v.values = function (e) {
                for (var t = v.keys(e), n = t.length, i = Array(n), r = 0; r < n; r++) i[r] = e[t[r]];
                return i
            }, v.mapObject = function (e, t, n) {
                t = C(t, n);
                for (var i = v.keys(e), r = i.length, o = {}, s = 0; s < r; s++) {
                    var a = i[s];
                    o[a] = t(e[a], a, e)
                }
                return o
            }, v.pairs = function (e) {
                for (var t = v.keys(e), n = t.length, i = Array(n), r = 0; r < n; r++) i[r] = [t[r], e[t[r]]];
                return i
            }, v.invert = function (e) {
                for (var t = {}, n = v.keys(e), i = 0, r = n.length; i < r; i++) t[e[n[i]]] = n[i];
                return t
            }, v.functions = v.methods = function (e) {
                var t = [];
                for (var n in e) v.isFunction(e[n]) && t.push(n);
                return t.sort()
            };
            var L = function (e, t) {
                return function (n) {
                    var i = arguments.length;
                    if (t && (n = Object(n)), i < 2 || null == n) return n;
                    for (var r = 1; r < i; r++) for (var o = arguments[r], s = e(o), a = s.length, l = 0; l < a; l++) {
                        var c = s[l];
                        t && void 0 !== n[c] || (n[c] = o[c])
                    }
                    return n
                }
            };
            v.extend = L(v.allKeys), v.extendOwn = v.assign = L(v.keys), v.findKey = function (e, t, n) {
                t = C(t, n);
                for (var i, r = v.keys(e), o = 0, s = r.length; o < s; o++) if (t(e[i = r[o]], i, e)) return i
            };
            var F, K, z = function (e, t, n) {
                return t in n
            };
            v.pick = y(function (e, t) {
                var n = {}, i = t[0];
                if (null == e) return n;
                v.isFunction(i) ? (t.length > 1 && (i = m(i, t[1])), t = v.allKeys(e)) : (i = z, t = T(t, !1, !1), e = Object(e));
                for (var r = 0, o = t.length; r < o; r++) {
                    var s = t[r], a = e[s];
                    i(a, s, e) && (n[s] = a)
                }
                return n
            }), v.omit = y(function (e, t) {
                var n, i = t[0];
                return v.isFunction(i) ? (i = v.negate(i), t.length > 1 && (n = t[1])) : (t = v.map(T(t, !1, !1), String), i = function (e, n) {
                    return !v.contains(t, n)
                }), v.pick(e, i, n)
            }), v.defaults = L(v.allKeys, !0), v.create = function (e, t) {
                var n = w(e);
                return t && v.extendOwn(n, t), n
            }, v.clone = function (e) {
                return v.isObject(e) ? v.isArray(e) ? e.slice() : v.extend({}, e) : e
            }, v.tap = function (e, t) {
                return t(e), e
            }, v.isMatch = function (e, t) {
                var n = v.keys(t), i = n.length;
                if (null == e) return !i;
                for (var r = Object(e), o = 0; o < i; o++) {
                    var s = n[o];
                    if (t[s] !== r[s] || !(s in r)) return !1
                }
                return !0
            }, F = function (e, t, n, i) {
                if (e === t) return 0 !== e || 1 / e == 1 / t;
                if (null == e || null == t) return !1;
                if (e != e) return t != t;
                var r = typeof e;
                return ("function" === r || "object" === r || "object" == typeof t) && K(e, t, n, i)
            }, K = function (e, t, n, i) {
                e instanceof v && (e = e._wrapped), t instanceof v && (t = t._wrapped);
                var r = u.call(e);
                if (r !== u.call(t)) return !1;
                switch (r) {
                    case"[object RegExp]":
                    case"[object String]":
                        return "" + e == "" + t;
                    case"[object Number]":
                        return +e != +e ? +t != +t : 0 == +e ? 1 / +e == 1 / t : +e == +t;
                    case"[object Date]":
                    case"[object Boolean]":
                        return +e == +t;
                    case"[object Symbol]":
                        return a.valueOf.call(e) === a.valueOf.call(t)
                }
                var o = "[object Array]" === r;
                if (!o) {
                    if ("object" != typeof e || "object" != typeof t) return !1;
                    var s = e.constructor, l = t.constructor;
                    if (s !== l && !(v.isFunction(s) && s instanceof s && v.isFunction(l) && l instanceof l) && "constructor" in e && "constructor" in t) return !1
                }
                n = n || [], i = i || [];
                for (var c = n.length; c--;) if (n[c] === e) return i[c] === t;
                if (n.push(e), i.push(t), o) {
                    if ((c = e.length) !== t.length) return !1;
                    for (; c--;) if (!F(e[c], t[c], n, i)) return !1
                } else {
                    var d, h = v.keys(e);
                    if (c = h.length, v.keys(t).length !== c) return !1;
                    for (; c--;) if (d = h[c], !x(t, d) || !F(e[d], t[d], n, i)) return !1
                }
                return n.pop(), i.pop(), !0
            }, v.isEqual = function (e, t) {
                return F(e, t)
            }, v.isEmpty = function (e) {
                return null == e || (k(e) && (v.isArray(e) || v.isString(e) || v.isArguments(e)) ? 0 === e.length : 0 === v.keys(e).length)
            }, v.isElement = function (e) {
                return !(!e || 1 !== e.nodeType)
            }, v.isArray = h || function (e) {
                return "[object Array]" === u.call(e)
            }, v.isObject = function (e) {
                var t = typeof e;
                return "function" === t || "object" === t && !!e
            }, v.each(["Arguments", "Function", "String", "Number", "Date", "RegExp", "Error", "Symbol", "Map", "WeakMap", "Set", "WeakSet"], function (e) {
                v["is" + e] = function (t) {
                    return u.call(t) === "[object " + e + "]"
                }
            }), v.isArguments(arguments) || (v.isArguments = function (e) {
                return x(e, "callee")
            });
            var U = i.document && i.document.childNodes;
            "function" != typeof /./ && "object" != typeof Int8Array && "function" != typeof U && (v.isFunction = function (e) {
                return "function" == typeof e || !1
            }), v.isFinite = function (e) {
                return !v.isSymbol(e) && isFinite(e) && !isNaN(parseFloat(e))
            }, v.isNaN = function (e) {
                return v.isNumber(e) && isNaN(e)
            }, v.isBoolean = function (e) {
                return !0 === e || !1 === e || "[object Boolean]" === u.call(e)
            }, v.isNull = function (e) {
                return null === e
            }, v.isUndefined = function (e) {
                return void 0 === e
            }, v.has = function (e, t) {
                if (!v.isArray(t)) return x(e, t);
                for (var n = t.length, i = 0; i < n; i++) {
                    var r = t[i];
                    if (null == e || !d.call(e, r)) return !1;
                    e = e[r]
                }
                return !!n
            }, v.noConflict = function () {
                return i._ = r, this
            }, v.identity = function (e) {
                return e
            }, v.constant = function (e) {
                return function () {
                    return e
                }
            }, v.noop = function () {
            }, v.property = function (e) {
                return v.isArray(e) ? function (t) {
                    return E(t, e)
                } : b(e)
            }, v.propertyOf = function (e) {
                return null == e ? function () {
                } : function (t) {
                    return v.isArray(t) ? E(e, t) : e[t]
                }
            }, v.matcher = v.matches = function (e) {
                return e = v.extendOwn({}, e), function (t) {
                    return v.isMatch(t, e)
                }
            }, v.times = function (e, t, n) {
                var i = Array(Math.max(0, e));
                t = m(t, n, 1);
                for (var r = 0; r < e; r++) i[r] = t(r);
                return i
            }, v.random = function (e, t) {
                return null == t && (t = e, e = 0), e + Math.floor(Math.random() * (t - e + 1))
            }, v.now = Date.now || function () {
                return (new Date).getTime()
            };
            var H = {"&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#x27;", "`": "&#x60;"},
                Y = v.invert(H), W = function (e) {
                    var t = function (t) {
                        return e[t]
                    }, n = "(?:" + v.keys(e).join("|") + ")", i = RegExp(n), r = RegExp(n, "g");
                    return function (e) {
                        return e = null == e ? "" : "" + e, i.test(e) ? e.replace(r, t) : e
                    }
                };
            v.escape = W(H), v.unescape = W(Y), v.result = function (e, t, n) {
                v.isArray(t) || (t = [t]);
                var i = t.length;
                if (!i) return v.isFunction(n) ? n.call(e) : n;
                for (var r = 0; r < i; r++) {
                    var o = null == e ? void 0 : e[t[r]];
                    void 0 === o && (o = n, r = i), e = v.isFunction(o) ? o.call(e) : o
                }
                return e
            };
            var G = 0;
            v.uniqueId = function (e) {
                var t = ++G + "";
                return e ? e + t : t
            }, v.templateSettings = {
                evaluate: /<%([\s\S]+?)%>/g,
                interpolate: /<%=([\s\S]+?)%>/g,
                escape: /<%-([\s\S]+?)%>/g
            };
            var J = /(.)^/, V = {"'": "'", "\\": "\\", "\r": "r", "\n": "n", "\u2028": "u2028", "\u2029": "u2029"},
                q = /\\|'|\r|\n|\u2028|\u2029/g, Z = function (e) {
                    return "\\" + V[e]
                };
            v.template = function (e, t, n) {
                !t && n && (t = n), t = v.defaults({}, t, v.templateSettings);
                var i,
                    r = RegExp([(t.escape || J).source, (t.interpolate || J).source, (t.evaluate || J).source].join("|") + "|$", "g"),
                    o = 0, s = "__p+='";
                e.replace(r, function (t, n, i, r, a) {
                    return s += e.slice(o, a).replace(q, Z), o = a + t.length, n ? s += "'+\n((__t=(" + n + "))==null?'':_.escape(__t))+\n'" : i ? s += "'+\n((__t=(" + i + "))==null?'':__t)+\n'" : r && (s += "';\n" + r + "\n__p+='"), t
                }), s += "';\n", t.variable || (s = "with(obj||{}){\n" + s + "}\n"), s = "var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n" + s + "return __p;\n";
                try {
                    i = new Function(t.variable || "obj", "_", s)
                } catch (e) {
                    throw e.source = s, e
                }
                var a = function (e) {
                    return i.call(this, e, v)
                }, l = t.variable || "obj";
                return a.source = "function(" + l + "){\n" + s + "}", a
            }, v.chain = function (e) {
                var t = v(e);
                return t._chain = !0, t
            };
            var X = function (e, t) {
                return e._chain ? v(t).chain() : t
            };
            v.mixin = function (e) {
                return v.each(v.functions(e), function (t) {
                    var n = v[t] = e[t];
                    v.prototype[t] = function () {
                        var e = [this._wrapped];
                        return l.apply(e, arguments), X(this, n.apply(v, e))
                    }
                }), v
            }, v.mixin(v), v.each(["pop", "push", "reverse", "shift", "sort", "splice", "unshift"], function (e) {
                var t = o[e];
                v.prototype[e] = function () {
                    var n = this._wrapped;
                    return t.apply(n, arguments), "shift" !== e && "splice" !== e || 0 !== n.length || delete n[0], X(this, n)
                }
            }), v.each(["concat", "join", "slice"], function (e) {
                var t = o[e];
                v.prototype[e] = function () {
                    return X(this, t.apply(this._wrapped, arguments))
                }
            }), v.prototype.value = function () {
                return this._wrapped
            }, v.prototype.valueOf = v.prototype.toJSON = v.prototype.value, v.prototype.toString = function () {
                return String(this._wrapped)
            }, void 0 === (n = function () {
                return v
            }.apply(t, [])) || (e.exports = n)
        }()
    }).call(this, n(164)(e))
}, function (e, t, n) {
    "use strict";
    var i = n(1147);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0}), function (e) {
        let t;
        !function (e) {
            e[e.Default = 0] = "Default", e[e.Vip = 1] = "Vip"
        }(t = e.SkinType || (e.SkinType = {})), e.defaultSkinInfo = {
            type: t.Default,
            id: 1,
            name: "默认皮肤"
        }, e.vipSkinInfo = {type: t.Vip, id: 2, name: "会员皮肤"}, e.cacheDir = `${__profilesDir}/suspension-skin`
    }(t.SuspensionSkinHelperNS || (t.SuspensionSkinHelperNS = {}))
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(645), r = n(326);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\common\\generator-view\\conf-component\\conf-button.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(648), r = n(332);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\common\\generator-view\\conf-component\\conf-input.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(649), r = n(338);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\common\\generator-view\\conf-component\\conf-text.vue", t.default = a.exports
}, function (e, t, n) {
    e.exports = n(9)(28)
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0}), function (e) {
        e[e.HWND_NOTOPMOST = -2] = "HWND_NOTOPMOST", e[e.HWND_TOPMOST = -1] = "HWND_TOPMOST", e[e.HWND_TOP = 0] = "HWND_TOP", e[e.HWND_BOTTOM = 1] = "HWND_BOTTOM"
    }(t.OptionOfHWNDInAfter || (t.OptionOfHWNDInAfter = {})), function (e) {
        e[e.SWP_ASYNCWINDOWPOS = 16384] = "SWP_ASYNCWINDOWPOS", e[e.SWP_DEFERERASE = 8192] = "SWP_DEFERERASE", e[e.SWP_DRAWFRAME = 32] = "SWP_DRAWFRAME", e[e.SWP_FRAMECHANGED = 32] = "SWP_FRAMECHANGED", e[e.SWP_HIDEWINDOW = 128] = "SWP_HIDEWINDOW", e[e.SWP_NOACTIVATE = 16] = "SWP_NOACTIVATE", e[e.SWP_NOCOPYBITS = 256] = "SWP_NOCOPYBITS", e[e.SWP_NOMOVE = 2] = "SWP_NOMOVE", e[e.SWP_NOOWNERZORDER = 512] = "SWP_NOOWNERZORDER", e[e.SWP_NOREDRAW = 8] = "SWP_NOREDRAW", e[e.SWP_NOREPOSITION = 512] = "SWP_NOREPOSITION", e[e.SWP_NOSENDCHANGING = 1024] = "SWP_NOSENDCHANGING", e[e.SWP_NOSIZE = 1] = "SWP_NOSIZE", e[e.SWP_NOZORDER = 4] = "SWP_NOZORDER", e[e.SWP_SHOWWINDOW = 64] = "SWP_SHOWWINDOW"
    }(t.Uflag || (t.Uflag = {})), function (e) {
        e[e.SW_FORCEMINIMIZE = 11] = "SW_FORCEMINIMIZE", e[e.SW_HIDE = 0] = "SW_HIDE", e[e.SW_MAXIMIZE = 3] = "SW_MAXIMIZE", e[e.SW_MINIMIZE = 6] = "SW_MINIMIZE", e[e.SW_RESTORE = 9] = "SW_RESTORE", e[e.SW_SHOW = 5] = "SW_SHOW", e[e.SW_SHOWDEFAULT = 10] = "SW_SHOWDEFAULT", e[e.SW_SHOWMAXIMIZED = 3] = "SW_SHOWMAXIMIZED", e[e.SW_SHOWMINIMIZED = 2] = "SW_SHOWMINIMIZED", e[e.SW_SHOWMINNOACTIVE = 7] = "SW_SHOWMINNOACTIVE", e[e.SW_SHOWNA = 8] = "SW_SHOWNA", e[e.SW_SHOWNOACTIVATE = 4] = "SW_SHOWNOACTIVATE", e[e.SW_SHOWNORMAL = 1] = "SW_SHOWNORMAL"
    }(t.CmdShow || (t.CmdShow = {})), function (e) {
        e[e.WS_BORDER = 8388608] = "WS_BORDER", e[e.WS_CAPTION = 12582912] = "WS_CAPTION", e[e.WS_CHILD = 1073741824] = "WS_CHILD", e[e.WS_CHILDWINDOW = 1073741824] = "WS_CHILDWINDOW", e[e.WS_CLIPCHILDREN = 33554432] = "WS_CLIPCHILDREN", e[e.WS_CLIPSIBLINGS = 67108864] = "WS_CLIPSIBLINGS", e[e.WS_POPUP = 2147483648] = "WS_POPUP", e[e.WS_THICKFRAME = 262144] = "WS_THICKFRAME"
    }(t.WindowStyle || (t.WindowStyle = {})), function (e) {
        e[e.WS_EX_TOOLWINDOW = 128] = "WS_EX_TOOLWINDOW", e[e.WS_EX_APPWINDOW = 262144] = "WS_EX_APPWINDOW", e[e.WS_EX_TOPMOST = 8] = "WS_EX_TOPMOST", e[e.WS_EX_WINDOWEDGE = 256] = "WS_EX_WINDOWEDGE", e[e.WS_EX_NOACTIVATE = 134217728] = "WS_EX_NOACTIVATE", e[e.WS_EX_TRANSPARENT = 32] = "WS_EX_TRANSPARENT", e[e.WS_EX_LAYERED = 524288] = "WS_EX_LAYERED"
    }(t.WindowStyleEx || (t.WindowStyleEx = {})), function (e) {
        e[e.GWL_EXSTYLE = -20] = "GWL_EXSTYLE", e[e.GWL_HINSTANCE = -6] = "GWL_HINSTANCE", e[e.GWL_ID = -12] = "GWL_ID", e[e.GWL_STYLE = -16] = "GWL_STYLE", e[e.GWL_USERDATA = -21] = "GWL_USERDATA", e[e.GWL_WNDPROC = -4] = "GWL_WNDPROC"
    }(t.SetWindowType || (t.SetWindowType = {})), function (e) {
        e[e.WM_CREATE = 1] = "WM_CREATE", e[e.WM_DESTROY = 2] = "WM_DESTROY", e[e.WM_MOVE = 3] = "WM_MOVE", e[e.WM_SIZE = 5] = "WM_SIZE", e[e.WM_ACTIVATE = 6] = "WM_ACTIVATE", e[e.WM_SETFOCUS = 7] = "WM_SETFOCUS", e[e.WM_KILLFOCUS = 8] = "WM_KILLFOCUS", e[e.WM_ENABLE = 10] = "WM_ENABLE", e[e.WM_KEYDOWN = 256] = "WM_KEYDOWN", e[e.WM_KEYUP = 257] = "WM_KEYUP", e[e.WM_SYSKEYDOWN = 260] = "WM_SYSKEYDOWN", e[e.WM_MOUSEMOVE = 512] = "WM_MOUSEMOVE", e[e.WM_SETCURSOR = 32] = "WM_SETCURSOR", e[e.WM_LBUTTONDOWN = 513] = "WM_LBUTTONDOWN", e[e.WM_LBUTTONUP = 514] = "WM_LBUTTONUP", e[e.WM_LBUTTONDBLCLK = 515] = "WM_LBUTTONDBLCLK", e[e.WM_RBUTTONUP = 517] = "WM_RBUTTONUP", e[e.WM_MOUSEWHEEL = 522] = "WM_MOUSEWHEEL", e[e.WM_MOUSELEAVE = 675] = "WM_MOUSELEAVE", e[e.WM_DPICHANGED = 736] = "WM_DPICHANGED", e[e.WM_GETMINMAXINFO = 36] = "WM_GETMINMAXINFO", e[e.WM_NCHITTEST = 132] = "WM_NCHITTEST", e[e.WM_NCMOUSEMOVE = 160] = "WM_NCMOUSEMOVE", e[e.WM_NCLBUTTONDOWN = 161] = "WM_NCLBUTTONDOWN", e[e.WM_NCLBUTTONUP = 162] = "WM_NCLBUTTONUP", e[e.WM_NCLBUTTONDBLCLK = 163] = "WM_NCLBUTTONDBLCLK", e[e.WM_NCRBUTTONDOWN = 164] = "WM_NCRBUTTONDOWN", e[e.WM_NCRBUTTONUP = 165] = "WM_NCRBUTTONUP", e[e.WM_NCRBUTTONDBLCLK = 166] = "WM_NCRBUTTONDBLCLK", e[e.WM_NCMBUTTONDOWN = 167] = "WM_NCMBUTTONDOWN", e[e.WM_NCMBUTTONUP = 168] = "WM_NCMBUTTONUP", e[e.WM_NCMBUTTONDBLCLK = 169] = "WM_NCMBUTTONDBLCLK", e[e.WM_WINDOWPOSCHANGED = 71] = "WM_WINDOWPOSCHANGED", e[e.WM_WINDOWPOSCHANGING = 70] = "WM_WINDOWPOSCHANGING", e[e.WM_ACTIVATEAPP = 28] = "WM_ACTIVATEAPP", e[e.WM_DWMCOMPOSITIONCHANGED = 798] = "WM_DWMCOMPOSITIONCHANGED", e[e.WM_QUERYENDSESSION = 17] = "WM_QUERYENDSESSION"
    }(t.WindowMessage || (t.WindowMessage = {})), function (e) {
        e[e.GW_HWNDFIRST = 0] = "GW_HWNDFIRST", e[e.GW_HWNDLAST = 1] = "GW_HWNDLAST", e[e.GW_HWNDNEXT = 2] = "GW_HWNDNEXT", e[e.GW_HWNDPREV = 3] = "GW_HWNDPREV", e[e.GW_OWNER = 4] = "GW_OWNER", e[e.GW_CHILD = 5] = "GW_CHILD", e[e.GW_ENABLEDPOPUP = 6] = "GW_ENABLEDPOPUP"
    }(t.GWCmd || (t.GWCmd = {})), function (e) {
        e[e.HTERROR = -2] = "HTERROR", e[e.HTTRANSPARENT = -1] = "HTTRANSPARENT", e[e.HTNOWHERE = 0] = "HTNOWHERE", e[e.HTCLIENT = 1] = "HTCLIENT", e[e.HTCAPTION = 2] = "HTCAPTION", e[e.HTSYSMENU = 3] = "HTSYSMENU", e[e.HTGROWBOX = 4] = "HTGROWBOX", e[e.HTSIZE = 4] = "HTSIZE", e[e.HTMENU = 5] = "HTMENU", e[e.HTHSCROLL = 6] = "HTHSCROLL", e[e.HTVSCROLL = 7] = "HTVSCROLL", e[e.HTMINBUTTON = 8] = "HTMINBUTTON", e[e.HTMAXBUTTON = 9] = "HTMAXBUTTON", e[e.HTLEFT = 10] = "HTLEFT", e[e.HTRIGHT = 11] = "HTRIGHT", e[e.HTTOP = 12] = "HTTOP", e[e.HTTOPLEFT = 13] = "HTTOPLEFT", e[e.HTTOPRIGHT = 14] = "HTTOPRIGHT", e[e.HTBOTTOM = 15] = "HTBOTTOM", e[e.HTBOTTOMLEFT = 16] = "HTBOTTOMLEFT", e[e.HTBOTTOMRIGHT = 17] = "HTBOTTOMRIGHT", e[e.HTBORDER = 18] = "HTBORDER", e[e.HTREDUCE = 8] = "HTREDUCE", e[e.HTZOOM = 9] = "HTZOOM", e[e.HTSIZEFIRST = 10] = "HTSIZEFIRST", e[e.HTSIZELAST = 17] = "HTSIZELAST", e[e.HTOBJECT = 19] = "HTOBJECT", e[e.HTCLOSE = 20] = "HTCLOSE", e[e.HTHELP = 21] = "HTHELP"
    }(t.HitTestPositionCode || (t.HitTestPositionCode = {})), function (e) {
        e[e.VK_LBUTTON = 1] = "VK_LBUTTON", e[e.VK_RBUTTON = 2] = "VK_RBUTTON", e[e.VK_MBUTTON = 4] = "VK_MBUTTON", e[e.VK_BACK = 8] = "VK_BACK", e[e.VK_TAB = 9] = "VK_TAB", e[e.VK_RETURN = 13] = "VK_RETURN", e[e.VK_SHIFT = 16] = "VK_SHIFT", e[e.VK_CONTROL = 17] = "VK_CONTROL", e[e.VK_MENU = 18] = "VK_MENU", e[e.VK_ESCAPE = 27] = "VK_ESCAPE", e[e.VK_SPACE = 32] = "VK_SPACE", e[e.VK_PRIOR = 33] = "VK_PRIOR", e[e.VK_NEXT = 34] = "VK_NEXT", e[e.VK_END = 35] = "VK_END", e[e.VK_LEFT = 37] = "VK_LEFT", e[e.VK_UP = 38] = "VK_UP", e[e.VK_RIGHT = 39] = "VK_RIGHT", e[e.VK_DOWN = 40] = "VK_DOWN", e[e.VK_DELETE = 46] = "VK_DELETE", e[e.VK_F1 = 112] = "VK_F1", e[e.VK_F2 = 113] = "VK_F2", e[e.VK_F3 = 114] = "VK_F3", e[e.VK_F4 = 115] = "VK_F4", e[e.VK_F5 = 116] = "VK_F5", e[e.VK_F6 = 117] = "VK_F6", e[e.VK_F7 = 118] = "VK_F7", e[e.VK_F8 = 119] = "VK_F8", e[e.VK_F9 = 120] = "VK_F9", e[e.VK_F10 = 121] = "VK_F10", e[e.VK_F11 = 122] = "VK_F11", e[e.VK_F12 = 123] = "VK_F12", e[e.VK_OEM_1 = 186] = "VK_OEM_1", e[e.VK_OEM_PLUS = 187] = "VK_OEM_PLUS", e[e.VK_OEM_COMMA = 188] = "VK_OEM_COMMA", e[e.VK_OEM_MINUS = 189] = "VK_OEM_MINUS", e[e.VK_OEM_PERIOD = 190] = "VK_OEM_PERIOD", e[e.VK_OEM_2 = 191] = "VK_OEM_2", e[e.VK_OEM_3 = 192] = "VK_OEM_3", e[e.VK_OEM_4 = 219] = "VK_OEM_4", e[e.VK_OEM_5 = 220] = "VK_OEM_5", e[e.VK_OEM_6 = 221] = "VK_OEM_6", e[e.VK_OEM_7 = 222] = "VK_OEM_7", e[e.VK_PROCESSKEY = 229] = "VK_PROCESSKEY"
    }(t.VirtualKeyCode || (t.VirtualKeyCode = {})), function (e) {
        e[e.SW_HIDE = 0] = "SW_HIDE", e[e.SW_SHOWMAXIMIZED = 3] = "SW_SHOWMAXIMIZED", e[e.SW_SHOW = 5] = "SW_SHOW"
    }(t.ShowWindowCmd || (t.ShowWindowCmd = {})), function (e) {
        e[e.MIN_WINDOW_WIDTH = 520] = "MIN_WINDOW_WIDTH", e[e.MIN_WINDOW_HEIGHT = 335] = "MIN_WINDOW_HEIGHT", e[e.MIN_WINDOW_WIDTH_TAB = 910] = "MIN_WINDOW_WIDTH_TAB", e[e.MIN_WINDOW_HEIGHT_TAB = 600] = "MIN_WINDOW_HEIGHT_TAB", e[e.TOP_WINDOW_HEIGHT = 68] = "TOP_WINDOW_HEIGHT", e[e.TOP_WINDOW_HEIGHT_NORMAL = 68] = "TOP_WINDOW_HEIGHT_NORMAL", e[e.PLAYCTRL_HEIGHT = 82] = "PLAYCTRL_HEIGHT", e[e.PLAYLIST_WIDTH = 240] = "PLAYLIST_WIDTH", e[e.FRAME_BORDER = 0] = "FRAME_BORDER", e[e.FRAME_RESIZE_BORDER = 0] = "FRAME_RESIZE_BORDER", e[e.BROWSERWINDOW_SHADOW = 8] = "BROWSERWINDOW_SHADOW", e[e.SIDE_BAR_WIDTH = 25] = "SIDE_BAR_WIDTH", e[e.SIDE_BAR_HEIGHT = 100] = "SIDE_BAR_HEIGHT", e[e.SHOWHIDE_DELAY_TIME = 2e3] = "SHOWHIDE_DELAY_TIME", e[e.TIME_TIP_WINDOW_WIDTH = 111] = "TIME_TIP_WINDOW_WIDTH", e[e.TIME_TIP_WINDOW_HEIGHT = 30] = "TIME_TIP_WINDOW_HEIGHT", e[e.TIME_IMG_TIP_WINDOW_HEIGHT = 75] = "TIME_IMG_TIP_WINDOW_HEIGHT"
    }(t.WindowParams || (t.WindowParams = {})), function (e) {
        e[e.UNKNOWN_MODE = -1] = "UNKNOWN_MODE", e[e.TRANSPARENT_MODE = 0] = "TRANSPARENT_MODE", e[e.NORMAL_MODE = 1] = "NORMAL_MODE", e[e.MINI_MODE = 2] = "MINI_MODE", e[e.EMBED_CHILD_MODE = 3] = "EMBED_CHILD_MODE"
    }(t.XMPShowMode || (t.XMPShowMode = {})), function (e) {
        e[e.NO_TOPMOST_MODE = 0] = "NO_TOPMOST_MODE", e[e.PLAYING_TOPMOST_MODE = 1] = "PLAYING_TOPMOST_MODE", e[e.ALWAYLS_TOPMOST_MODE = 2] = "ALWAYLS_TOPMOST_MODE"
    }(t.WindowTopMode || (t.WindowTopMode = {})), function (e) {
        e[e.RGN_AND = 1] = "RGN_AND", e[e.RGN_OR = 2] = "RGN_OR", e[e.RGN_XOR = 3] = "RGN_XOR", e[e.RGN_DIFF = 4] = "RGN_DIFF", e[e.RGN_COPY = 5] = "RGN_COPY"
    }(t.CombineRgnType || (t.CombineRgnType = {})), function (e) {
        e[e.PLAY_UNKNOWN = 0] = "PLAY_UNKNOWN", e[e.PLAY_BY_DOWNLOAD = 1] = "PLAY_BY_DOWNLOAD", e[e.PLAY_BY_PAN = 2] = "PLAY_BY_PAN"
    }(t.XmpPlaySoure || (t.XmpPlaySoure = {})), function (e) {
        e.onOpenSucceeded = "OnOpenSucceeded", e.onOpenFailed = "OnOpenFailed", e.onPlayFailed = "OnPlayFailed", e.onPlaying = "OnPlaying", e.onPreOpen = "OnPreOpen", e.onPaused = "OnPaused", e.onPlayCompleted = "OnPlayCompleted", e.onPreStop = "OnPreStop", e.onStop = "OnStop", e.onXmpQuit = "OnXmpQuit", e.onXmpStartFailed = "OnXmpStartFailed", e.onError = "OnError"
    }(t.XmpEvent || (t.XmpEvent = {})), function (e) {
        e[e.Invalid = -100] = "Invalid", e[e.PreOpen = -10] = "PreOpen", e[e.QueryExt = -9] = "QueryExt", e[e.DownloadTorrent = -3] = "DownloadTorrent", e[e.ParserTorrent = -2] = "ParserTorrent", e[e.GetPlayUrl = -1] = "GetPlayUrl", e[e.Ready = 0] = "Ready", e[e.Opening = 1] = "Opening", e[e.Pausing = 2] = "Pausing", e[e.Paused = 3] = "Paused", e[e.Playing = 4] = "Playing", e[e.Play = 5] = "Play", e[e.Closeing = 6] = "Closeing", e[e.Completed = 7] = "Completed", e[e.Stopped = 8] = "Stopped", e[e.Error = 9] = "Error"
    }(t.XmpMediaState || (t.XmpMediaState = {})), function (e) {
        e[e.AbeLeft = 0] = "AbeLeft", e[e.AbeTop = 1] = "AbeTop", e[e.AbeRright = 2] = "AbeRright", e[e.AbeBottom = 3] = "AbeBottom"
    }(t.WindowTaskBarAbe || (t.WindowTaskBarAbe = {}))
}, , , function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(179), r = n.n(i), o = n(138), s = n.n(o), a = /%[sdj%]/g, l = function () {
    };

    function c() {
        for (var e = arguments.length, t = Array(e), n = 0; n < e; n++) t[n] = arguments[n];
        var i = 1, r = t[0], o = t.length;
        if ("function" == typeof r) return r.apply(null, t.slice(1));
        if ("string" == typeof r) {
            for (var s = String(r).replace(a, function (e) {
                if ("%%" === e) return "%";
                if (i >= o) return e;
                switch (e) {
                    case"%s":
                        return String(t[i++]);
                    case"%d":
                        return Number(t[i++]);
                    case"%j":
                        try {
                            return JSON.stringify(t[i++])
                        } catch (e) {
                            return "[Circular]"
                        }
                        break;
                    default:
                        return e
                }
            }), l = t[i]; i < o; l = t[++i]) s += " " + l;
            return s
        }
        return r
    }

    function u(e, t) {
        return void 0 === e || null === e || (!("array" !== t || !Array.isArray(e) || e.length) || !(!function (e) {
            return "string" === e || "url" === e || "hex" === e || "email" === e || "pattern" === e
        }(t) || "string" != typeof e || e))
    }

    function d(e, t, n) {
        var i = 0, r = e.length;
        !function o(s) {
            if (s && s.length) n(s); else {
                var a = i;
                i += 1, a < r ? t(e[a], o) : n([])
            }
        }([])
    }

    function h(e, t, n, i) {
        if (t.first) return d(function (e) {
            var t = [];
            return Object.keys(e).forEach(function (n) {
                t.push.apply(t, e[n])
            }), t
        }(e), n, i);
        var r = t.firstFields || [];
        !0 === r && (r = Object.keys(e));
        var o = Object.keys(e), s = o.length, a = 0, l = [], c = function (e) {
            l.push.apply(l, e), ++a === s && i(l)
        };
        o.forEach(function (t) {
            var i = e[t];
            -1 !== r.indexOf(t) ? d(i, n, c) : function (e, t, n) {
                var i = [], r = 0, o = e.length;

                function s(e) {
                    i.push.apply(i, e), ++r === o && n(i)
                }

                e.forEach(function (e) {
                    t(e, s)
                })
            }(i, n, c)
        })
    }

    function f(e) {
        return function (t) {
            return t && t.message ? (t.field = t.field || e.fullField, t) : {message: t, field: t.field || e.fullField}
        }
    }

    function p(e, t) {
        if (t) for (var n in t) if (t.hasOwnProperty(n)) {
            var i = t[n];
            "object" === (void 0 === i ? "undefined" : s()(i)) && "object" === s()(e[n]) ? e[n] = r()({}, e[n], i) : e[n] = i
        }
        return e
    }

    var A = function (e, t, n, i, r, o) {
        !e.required || n.hasOwnProperty(e.field) && !u(t, o || e.type) || i.push(c(r.messages.required, e.fullField))
    };
    var v = function (e, t, n, i, r) {
        (/^\s+$/.test(t) || "" === t) && i.push(c(r.messages.whitespace, e.fullField))
    }, g = {
        email: /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
        url: new RegExp("^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$", "i"),
        hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i
    }, m = {
        integer: function (e) {
            return m.number(e) && parseInt(e, 10) === e
        }, float: function (e) {
            return m.number(e) && !m.integer(e)
        }, array: function (e) {
            return Array.isArray(e)
        }, regexp: function (e) {
            if (e instanceof RegExp) return !0;
            try {
                return !!new RegExp(e)
            } catch (e) {
                return !1
            }
        }, date: function (e) {
            return "function" == typeof e.getTime && "function" == typeof e.getMonth && "function" == typeof e.getYear
        }, number: function (e) {
            return !isNaN(e) && "number" == typeof e
        }, object: function (e) {
            return "object" === (void 0 === e ? "undefined" : s()(e)) && !m.array(e)
        }, method: function (e) {
            return "function" == typeof e
        }, email: function (e) {
            return "string" == typeof e && !!e.match(g.email) && e.length < 255
        }, url: function (e) {
            return "string" == typeof e && !!e.match(g.url)
        }, hex: function (e) {
            return "string" == typeof e && !!e.match(g.hex)
        }
    };
    var C = "enum";
    var y = {
        required: A, whitespace: v, type: function (e, t, n, i, r) {
            if (e.required && void 0 === t) A(e, t, n, i, r); else {
                var o = e.type;
                ["integer", "float", "array", "regexp", "object", "method", "email", "number", "date", "url", "hex"].indexOf(o) > -1 ? m[o](t) || i.push(c(r.messages.types[o], e.fullField, e.type)) : o && (void 0 === t ? "undefined" : s()(t)) !== e.type && i.push(c(r.messages.types[o], e.fullField, e.type))
            }
        }, range: function (e, t, n, i, r) {
            var o = "number" == typeof e.len, s = "number" == typeof e.min, a = "number" == typeof e.max, l = t,
                u = null, d = "number" == typeof t, h = "string" == typeof t, f = Array.isArray(t);
            if (d ? u = "number" : h ? u = "string" : f && (u = "array"), !u) return !1;
            f && (l = t.length), h && (l = t.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g, "_").length), o ? l !== e.len && i.push(c(r.messages[u].len, e.fullField, e.len)) : s && !a && l < e.min ? i.push(c(r.messages[u].min, e.fullField, e.min)) : a && !s && l > e.max ? i.push(c(r.messages[u].max, e.fullField, e.max)) : s && a && (l < e.min || l > e.max) && i.push(c(r.messages[u].range, e.fullField, e.min, e.max))
        }, enum: function (e, t, n, i, r) {
            e[C] = Array.isArray(e[C]) ? e[C] : [], -1 === e[C].indexOf(t) && i.push(c(r.messages[C], e.fullField, e[C].join(", ")))
        }, pattern: function (e, t, n, i, r) {
            e.pattern && (e.pattern instanceof RegExp ? (e.pattern.lastIndex = 0, e.pattern.test(t) || i.push(c(r.messages.pattern.mismatch, e.fullField, t, e.pattern))) : "string" == typeof e.pattern && (new RegExp(e.pattern).test(t) || i.push(c(r.messages.pattern.mismatch, e.fullField, t, e.pattern))))
        }
    };
    var w = "enum";
    var b = function (e, t, n, i, r) {
        var o = e.type, s = [];
        if (e.required || !e.required && i.hasOwnProperty(e.field)) {
            if (u(t, o) && !e.required) return n();
            y.required(e, t, i, s, r, o), u(t, o) || y.type(e, t, i, s, r)
        }
        n(s)
    }, x = {
        string: function (e, t, n, i, r) {
            var o = [];
            if (e.required || !e.required && i.hasOwnProperty(e.field)) {
                if (u(t, "string") && !e.required) return n();
                y.required(e, t, i, o, r, "string"), u(t, "string") || (y.type(e, t, i, o, r), y.range(e, t, i, o, r), y.pattern(e, t, i, o, r), !0 === e.whitespace && y.whitespace(e, t, i, o, r))
            }
            n(o)
        }, method: function (e, t, n, i, r) {
            var o = [];
            if (e.required || !e.required && i.hasOwnProperty(e.field)) {
                if (u(t) && !e.required) return n();
                y.required(e, t, i, o, r), void 0 !== t && y.type(e, t, i, o, r)
            }
            n(o)
        }, number: function (e, t, n, i, r) {
            var o = [];
            if (e.required || !e.required && i.hasOwnProperty(e.field)) {
                if (u(t) && !e.required) return n();
                y.required(e, t, i, o, r), void 0 !== t && (y.type(e, t, i, o, r), y.range(e, t, i, o, r))
            }
            n(o)
        }, boolean: function (e, t, n, i, r) {
            var o = [];
            if (e.required || !e.required && i.hasOwnProperty(e.field)) {
                if (u(t) && !e.required) return n();
                y.required(e, t, i, o, r), void 0 !== t && y.type(e, t, i, o, r)
            }
            n(o)
        }, regexp: function (e, t, n, i, r) {
            var o = [];
            if (e.required || !e.required && i.hasOwnProperty(e.field)) {
                if (u(t) && !e.required) return n();
                y.required(e, t, i, o, r), u(t) || y.type(e, t, i, o, r)
            }
            n(o)
        }, integer: function (e, t, n, i, r) {
            var o = [];
            if (e.required || !e.required && i.hasOwnProperty(e.field)) {
                if (u(t) && !e.required) return n();
                y.required(e, t, i, o, r), void 0 !== t && (y.type(e, t, i, o, r), y.range(e, t, i, o, r))
            }
            n(o)
        }, float: function (e, t, n, i, r) {
            var o = [];
            if (e.required || !e.required && i.hasOwnProperty(e.field)) {
                if (u(t) && !e.required) return n();
                y.required(e, t, i, o, r), void 0 !== t && (y.type(e, t, i, o, r), y.range(e, t, i, o, r))
            }
            n(o)
        }, array: function (e, t, n, i, r) {
            var o = [];
            if (e.required || !e.required && i.hasOwnProperty(e.field)) {
                if (u(t, "array") && !e.required) return n();
                y.required(e, t, i, o, r, "array"), u(t, "array") || (y.type(e, t, i, o, r), y.range(e, t, i, o, r))
            }
            n(o)
        }, object: function (e, t, n, i, r) {
            var o = [];
            if (e.required || !e.required && i.hasOwnProperty(e.field)) {
                if (u(t) && !e.required) return n();
                y.required(e, t, i, o, r), void 0 !== t && y.type(e, t, i, o, r)
            }
            n(o)
        }, enum: function (e, t, n, i, r) {
            var o = [];
            if (e.required || !e.required && i.hasOwnProperty(e.field)) {
                if (u(t) && !e.required) return n();
                y.required(e, t, i, o, r), t && y[w](e, t, i, o, r)
            }
            n(o)
        }, pattern: function (e, t, n, i, r) {
            var o = [];
            if (e.required || !e.required && i.hasOwnProperty(e.field)) {
                if (u(t, "string") && !e.required) return n();
                y.required(e, t, i, o, r), u(t, "string") || y.pattern(e, t, i, o, r)
            }
            n(o)
        }, date: function (e, t, n, i, r) {
            var o = [];
            if (e.required || !e.required && i.hasOwnProperty(e.field)) {
                if (u(t) && !e.required) return n();
                if (y.required(e, t, i, o, r), !u(t)) {
                    var s = void 0;
                    s = "number" == typeof t ? new Date(t) : t, y.type(e, s, i, o, r), s && y.range(e, s.getTime(), i, o, r)
                }
            }
            n(o)
        }, url: b, hex: b, email: b, required: function (e, t, n, i, r) {
            var o = [], a = Array.isArray(t) ? "array" : void 0 === t ? "undefined" : s()(t);
            y.required(e, t, i, o, r, a), n(o)
        }
    };

    function E() {
        return {
            default: "Validation error on field %s",
            required: "%s is required",
            enum: "%s must be one of %s",
            whitespace: "%s cannot be empty",
            date: {
                format: "%s date %s is invalid for format %s",
                parse: "%s date could not be parsed, %s is invalid ",
                invalid: "%s date %s is invalid"
            },
            types: {
                string: "%s is not a %s",
                method: "%s is not a %s (function)",
                array: "%s is not an %s",
                object: "%s is not an %s",
                number: "%s is not a %s",
                date: "%s is not a %s",
                boolean: "%s is not a %s",
                integer: "%s is not an %s",
                float: "%s is not a %s",
                regexp: "%s is not a valid %s",
                email: "%s is not a valid %s",
                url: "%s is not a valid %s",
                hex: "%s is not a valid %s"
            },
            string: {
                len: "%s must be exactly %s characters",
                min: "%s must be at least %s characters",
                max: "%s cannot be longer than %s characters",
                range: "%s must be between %s and %s characters"
            },
            number: {
                len: "%s must equal %s",
                min: "%s cannot be less than %s",
                max: "%s cannot be greater than %s",
                range: "%s must be between %s and %s"
            },
            array: {
                len: "%s must be exactly %s in length",
                min: "%s cannot be less than %s in length",
                max: "%s cannot be greater than %s in length",
                range: "%s must be between %s and %s in length"
            },
            pattern: {mismatch: "%s value %s does not match pattern %s"},
            clone: function () {
                var e = JSON.parse(JSON.stringify(this));
                return e.clone = this.clone, e
            }
        }
    }

    var I = E();

    function S(e) {
        this.rules = null, this._messages = I, this.define(e)
    }

    S.prototype = {
        messages: function (e) {
            return e && (this._messages = p(E(), e)), this._messages
        }, define: function (e) {
            if (!e) throw new Error("Cannot configure a schema with no rules");
            if ("object" !== (void 0 === e ? "undefined" : s()(e)) || Array.isArray(e)) throw new Error("Rules must be an object");
            this.rules = {};
            var t = void 0, n = void 0;
            for (t in e) e.hasOwnProperty(t) && (n = e[t], this.rules[t] = Array.isArray(n) ? n : [n])
        }, validate: function (e) {
            var t = this, n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, i = arguments[2],
                o = e, a = n, u = i;
            if ("function" == typeof a && (u = a, a = {}), this.rules && 0 !== Object.keys(this.rules).length) {
                if (a.messages) {
                    var d = this.messages();
                    d === I && (d = E()), p(d, a.messages), a.messages = d
                } else a.messages = this.messages();
                var A = void 0, v = void 0, g = {};
                (a.keys || Object.keys(this.rules)).forEach(function (n) {
                    A = t.rules[n], v = o[n], A.forEach(function (i) {
                        var s = i;
                        "function" == typeof s.transform && (o === e && (o = r()({}, o)), v = o[n] = s.transform(v)), (s = "function" == typeof s ? {validator: s} : r()({}, s)).validator = t.getValidationMethod(s), s.field = n, s.fullField = s.fullField || n, s.type = t.getType(s), s.validator && (g[n] = g[n] || [], g[n].push({
                            rule: s,
                            value: v,
                            source: o,
                            field: n
                        }))
                    })
                });
                var m = {};
                h(g, a, function (e, t) {
                    var n = e.rule,
                        i = !("object" !== n.type && "array" !== n.type || "object" !== s()(n.fields) && "object" !== s()(n.defaultField));

                    function o(e, t) {
                        return r()({}, t, {fullField: n.fullField + "." + e})
                    }

                    function u() {
                        var s = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];
                        if (Array.isArray(s) || (s = [s]), s.length && l("async-validator:", s), s.length && n.message && (s = [].concat(n.message)), s = s.map(f(n)), a.first && s.length) return m[n.field] = 1, t(s);
                        if (i) {
                            if (n.required && !e.value) return s = n.message ? [].concat(n.message).map(f(n)) : a.error ? [a.error(n, c(a.messages.required, n.field))] : [], t(s);
                            var u = {};
                            if (n.defaultField) for (var d in e.value) e.value.hasOwnProperty(d) && (u[d] = n.defaultField);
                            for (var h in u = r()({}, u, e.rule.fields)) if (u.hasOwnProperty(h)) {
                                var p = Array.isArray(u[h]) ? u[h] : [u[h]];
                                u[h] = p.map(o.bind(null, h))
                            }
                            var A = new S(u);
                            A.messages(a.messages), e.rule.options && (e.rule.options.messages = a.messages, e.rule.options.error = a.error), A.validate(e.value, e.rule.options || a, function (e) {
                                t(e && e.length ? s.concat(e) : e)
                            })
                        } else t(s)
                    }

                    i = i && (n.required || !n.required && e.value), n.field = e.field;
                    var d = n.validator(n, e.value, u, e.source, a);
                    d && d.then && d.then(function () {
                        return u()
                    }, function (e) {
                        return u(e)
                    })
                }, function (e) {
                    !function (e) {
                        var t, n = void 0, i = void 0, r = [], o = {};
                        for (n = 0; n < e.length; n++) t = e[n], Array.isArray(t) ? r = r.concat.apply(r, t) : r.push(t);
                        if (r.length) for (n = 0; n < r.length; n++) o[i = r[n].field] = o[i] || [], o[i].push(r[n]); else r = null, o = null;
                        u(r, o)
                    }(e)
                })
            } else u && u()
        }, getType: function (e) {
            if (void 0 === e.type && e.pattern instanceof RegExp && (e.type = "pattern"), "function" != typeof e.validator && e.type && !x.hasOwnProperty(e.type)) throw new Error(c("Unknown rule type %s", e.type));
            return e.type || "string"
        }, getValidationMethod: function (e) {
            if ("function" == typeof e.validator) return e.validator;
            var t = Object.keys(e), n = t.indexOf("message");
            return -1 !== n && t.splice(n, 1), 1 === t.length && "required" === t[0] ? x.required : x[this.getType(e)] || !1
        }
    }, S.register = function (e, t) {
        if ("function" != typeof t) throw new Error("Cannot register a validator by type, validator is not a function");
        x[e] = t
    }, S.messages = I;
    t.default = S
}, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(313), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(3), o = n(5), s = n(137), a = n(4), l = n(37);
    let c = class extends o.Vue {
        constructor() {
            super(...arguments), this.popType = "", this.options = {
                title: "",
                type: s.MessageBox.ConfirmType.Info
            }, this.boxId = l.parse(location.href, !0).query.boxId, this.messageboxInitReplyListener = null
        }

        created() {
            this.messageboxInitReplyListener = ((e, t) => {
                this.messageboxInitReplyListener = null, this.popType = t.popType, this.options = t.options
            }), r.ipcRenderer.once("message-box-init-reply", this.messageboxInitReplyListener), r.ipcRenderer.send(`message-box-init-${this.boxId}`), a.client.callServerFunction("ResetPerformanceItem", "ClickDownload")
        }

        destroyed() {
            this.messageboxInitReplyListener && (r.ipcRenderer.removeListener("message-box-init-reply", this.messageboxInitReplyListener), this.messageboxInitReplyListener = null)
        }
    };
    c = i([o.Component({
        components: {
            About: () => Promise.resolve().then(() => n(776)),
            Confirm: () => Promise.resolve().then(() => n(778)),
            MessageBox: () => Promise.resolve().then(() => n(779)),
            PlanTask: () => Promise.resolve().then(() => n(795)),
            TaskRename: () => Promise.resolve().then(() => n(796)),
            BtRepeatTask: () => Promise.resolve().then(() => n(797)),
            BtRepeatFile: () => Promise.resolve().then(() => n(798)),
            PrivateSpaceSetPassword: () => Promise.resolve().then(() => n(799)),
            PrivateSpaceVerifyPassword: () => Promise.resolve().then(() => n(800)),
            PrivateSpacePhoneVerify: () => Promise.resolve().then(() => n(801)),
            PrivateSpaceDownloadSetting: () => Promise.resolve().then(() => n(803)),
            PrivateSpaceTaskManager: () => Promise.resolve().then(() => n(805)),
            MultiRepeatTask: () => Promise.resolve().then(() => n(806)),
            BatchNewTaskCtrl: () => Promise.resolve().then(() => n(807)),
            BookMarks: () => Promise.resolve().then(() => n(808)),
            BookList: () => Promise.resolve().then(() => n(809)),
            SubtitleTaskFilelist: () => Promise.resolve().then(() => n(810)),
            SubtitleSearch: () => Promise.resolve().then(() => n(811)),
            BrowserConfigGuide: () => Promise.resolve().then(() => n(812)),
            XmpFixBox: () => Promise.resolve().then(() => n(815)),
            XmpFixBoxEx: () => Promise.resolve().then(() => n(816)),
            BirdKeyShow: () => Promise.resolve().then(() => n(817)),
            TotalTabs: () => Promise.resolve().then(() => n(819)),
            Individuation: () => Promise.resolve().then(() => n(822)),
            AddProxy: () => Promise.resolve().then(() => n(834)),
            BridKeyPwdcheck: () => Promise.resolve().then(() => n(835)),
            ShouleiQRCode: () => Promise.resolve().then(() => n(837)),
            DownloadData: () => Promise.resolve().then(() => n(838)),
            DownloadDetectTools: () => Promise.resolve().then(() => n(839)),
            CustomTaskFilter: () => Promise.resolve().then(() => n(854)),
            CreateBigFile: () => Promise.resolve().then(() => n(855)),
            ImgDlg: () => Promise.resolve().then(() => n(858)),
            CopyLinkShare: () => Promise.resolve().then(() => n(860)),
            Favorites: () => Promise.resolve().then(() => n(864)),
            HttpAuthLogin: () => Promise.resolve().then(() => n(865)),
            ShouleiSyncGuide: () => Promise.resolve().then(() => n(867)),
            ShouleiFileTransfer: () => Promise.resolve().then(() => n(873)),
            CustomDownloadMode: () => Promise.resolve().then(() => n(877)),
            ImgViewer: () => Promise.resolve().then(() => n(878)),
            ScanCodeHelp: () => Promise.resolve().then(() => n(880)),
            PhoneAuth: () => Promise.resolve().then(() => n(886)),
            LatestMessages: () => Promise.resolve().then(() => n(889)),
            XmpAssociate: () => Promise.resolve().then(() => n(892)),
            XmpWaitInit: () => Promise.resolve().then(() => n(893)),
            MainMenuView: () => Promise.resolve().then(() => n(894)),
            ZipPassword: () => Promise.resolve().then(() => n(896))
        }
    })], c), t.default = c
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(315), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(26), s = n(5), a = n(27), l = n(2), c = n(8), u = n(4);
    let d = class extends (o.mixins(a.DraggableMixin, a.PositionMixin)) {
        constructor() {
            super(...arguments), this.thunderVersion = "", this.downloadSDKVersion = "", this.xdasVersion = "", this.electronVersion = "", this.chromiumVersion = "", this.nodeVersion = "", this.v8Version = "", this.year = 2021, this.expandClass = ""
        }

        handleCancel(e) {
            window.close()
        }

        handleExpand() {
            "" === this.expandClass ? this.expandClass = "is-more" : this.expandClass = "", this.$nextTick(() => {
                this.resizeToFitContent(450, this.expandClass ? 454 : 296)
            })
        }

        handleHomePage() {
            return r(this, void 0, void 0, function* () {
                yield u.client.callServerFunction("OpenNewTab", "https://www.423down.com"), window.close()
            })
        }

        checkUpdate() {
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                const e = c.default(l.join(__rootDir, "../bin/ThunderHelper.node"));
                let t = l.join(__rootDir, "../../Thunder.exe");
                this.thunderVersion = e.getFileVersion(t);
                let n = l.join(__rootDir, "../bin/SDK/DownloadSDK.dll");
                this.downloadSDKVersion = e.getFileVersion(n);
                let i = l.join(__rootDir, "../../XDASKernel.dll");
                this.xdasVersion = e.getFileVersion(i), this.electronVersion = process.versions.electron || process.versions.XDASKernel, this.chromiumVersion = process.versions.chrome, this.nodeVersion = process.versions.node, this.v8Version = process.versions.v8
            })
        }
    };
    i([s.Prop()], d.prototype, "options", void 0), d = i([s.Component], d), t.default = d
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(317), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(3), o = n(26), s = n(5), a = n(27), l = n(24);
    let c = class extends (o.mixins(a.DraggableMixin, a.PositionMixin)) {
        constructor() {
            super(...arguments), this.action = l.MessageBoxNS.Action, this.icon = {
                info: "question",
                warning: "warning",
                error: "error",
                success: "success"
            }
        }

        handleInput(e) {
            this.$emit("update:options", Object.assign({}, this.options, {checkboxChecked: e}))
        }

        handleOK() {
            r.ipcRenderer.send(`message-box-resolve-${this.boxId}`, l.MessageBoxNS.Action.OK, this.options.checkboxChecked), window.close()
        }

        handleCancel(e) {
            r.ipcRenderer.send(`message-box-resolve-${this.boxId}`, e), window.close()
        }

        handleKeyDown(e) {
            13 === e.keyCode && this.handleOK()
        }

        mounted() {
            document.addEventListener("keydown", this.handleKeyDown)
        }

        destroyed() {
            document.removeEventListener("keydown", this.handleKeyDown)
        }
    };
    i([s.Prop()], c.prototype, "options", void 0), i([s.Prop()], c.prototype, "boxId", void 0), c = i([s.Component({props: {options: Object}})], c), t.default = c
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(319), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(3), o = n(26), s = n(5), a = n(780), l = n(24), c = n(27);
    let u = class extends (o.mixins(c.DraggableMixin, c.PositionMixin)) {
        constructor() {
            super(...arguments), this.action = l.MessageBoxNS.Action
        }

        get customClass() {
            let e = "";
            do {
                if (!this.options) break;
                e = this.options.size ? [`xlx-dialog--${this.options.size}`, "xly-dialog-setting"] : "xly-dialog-setting"
            } while (0);
            return e
        }

        handleInput(e, t) {
            let n = null, i = JSON.stringify(this.formData);
            try {
                n = JSON.parse(i)
            } catch (e) {
            }
            null !== n && (Array.isArray(e) ? n[t] = e : n[t].value = e, this.$emit("update:formData", n))
        }

        handleOK() {
            r.ipcRenderer.send(`message-box-resolve-${this.boxId}`, this.action.OK, this.formData), window.close()
        }

        handleCancel(e) {
            r.ipcRenderer.send(`message-box-resolve-${this.boxId}`, e), window.close()
        }

        get comfirmButtonActive() {
            if (void 0 === this.formData) return !0;
            if (void 0 === this.formData.maxDownloadSpeedEnabled) return !0;
            let e = this.formData.maxDownloadSpeedEnabled.value, t = this.formData.maxUploadSpeedEnabled.value;
            return e || t
        }

        mounted() {
            r.ipcRenderer.on("message-box-resolve-systemmenu", () => {
                r.ipcRenderer.send(`message-box-resolve-${this.boxId}`, l.MessageBoxNS.Action.Close)
            })
        }
    };
    i([s.Prop()], u.prototype, "options", void 0), i([s.Prop()], u.prototype, "formData", void 0), i([s.Prop()], u.prototype, "boxId", void 0), u = i([s.Component({components: {GeneratorView: a.default}})], u), t.default = u
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(321), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(781), o = n(788), s = n(183), a = n(236), l = n(790), c = n(791), u = n(235), d = n(792), h = n(673),
        f = n(234), p = n(793), A = n(5);
    let v = class extends A.Vue {
        handleInput(e, t = "") {
            "" === t ? this.$emit("input", e, this.item.name) : this.$emit("input", e, t)
        }
    };
    i([A.Prop({})], v.prototype, "item", void 0), i([A.Prop({})], v.prototype, "formData", void 0), i([A.Prop()], v.prototype, "value", void 0), v = i([A.Component({
        components: {
            confCheckbox: r.default,
            confRadio: o.default,
            confSelect: s.default,
            confText: a.default,
            confCheckboxInput: l.default,
            confCheckboxSelect: c.default,
            confInput: u.default,
            confSpeedText: h.default,
            confTextarea: d.default,
            confBtn: f.default,
            confProxyList: p.default
        }
    })], v), t.default = v
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(323), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(5), s = n(142), a = n(230), l = n(234), c = n(183), u = n(235), d = n(786), h = n(787), f = n(236);
    let p = class extends o.Vue {
        handleInput(e, t = "") {
            return r(this, void 0, void 0, function* () {
                if ("" === t ? this.$emit("input", e, this.item.name) : this.$emit("input", e, t), void 0 !== this.item.linkItem && e) {
                    let t = yield s.ConfigHelperNS.getValue(this.formData[this.item.linkItem.name].section, this.formData[this.item.linkItem.name].key, "");
                    "" !== e && this.$emit("input", t, this.item.linkItem.name)
                }
            })
        }
    };
    i([o.Prop({})], p.prototype, "item", void 0), i([o.Prop({})], p.prototype, "formData", void 0), i([o.Prop()], p.prototype, "value", void 0), i([o.Prop()], p.prototype, "label", void 0), p = i([o.Component({
        components: {
            confTip: a.default,
            confBtn: l.default,
            confSelect: c.default,
            confInput: u.default,
            confSpeed: d.default,
            confSpeedTime: h.default,
            confText: f.default
        }
    })], p), t.default = p
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(325), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(5);
    let o = class extends r.Vue {
    };
    i([r.Prop()], o.prototype, "classes", void 0), i([r.Prop()], o.prototype, "text", void 0), o = i([r.Component({})], o), t.default = o
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(327), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(5), s = n(142), a = n(137), l = n(24), c = n(16), u = n(43), d = n(230), h = n(673);
    let f = class extends o.Vue {
        popDialog(e) {
            switch (e.boxType) {
                case"speedConfBox":
                    u.NativeCallModule.nativeCall.CallNativeFunction("ShowCustomDownloadModeDlg", () => {
                    });
                    break;
                case"browserGuideConfBox":
                    u.NativeCallModule.nativeCall.CallNativeFunction("ShowBrowserGuideDlg", () => {
                    });
                    break;
                case"function":
                    e.handle();
                    break;
                case"pop":
                    this.messagePop(e)
            }
        }

        messagePop(e) {
            return r(this, void 0, void 0, function* () {
                let t = c.ThunderUtil.deepCopy(e.pop.formData);
                for (let n in t) t[n].value = yield s.ConfigHelperNS.getValue(e.pop.formData[n].section, e.pop.formData[n].key, e.pop.formData[n].value);
                a.MessageBox.pop({
                    title: e.pop.title,
                    size: e.pop.size,
                    schemas: e.pop.schema,
                    formData: t
                }, e.pop.dialogOption).then(e => {
                    if (e.action === l.MessageBoxNS.Action.OK) for (let t in e.formData) s.ConfigHelperNS.setValue(e.formData[t].section, e.formData[t].key, e.formData[t].value)
                }).catch()
            })
        }
    };
    i([o.Prop({})], f.prototype, "item", void 0), i([o.Prop()], f.prototype, "classes", void 0), i([o.Prop()], f.prototype, "text", void 0), i([o.Prop()], f.prototype, "disabled", void 0), i([o.Prop({})], f.prototype, "formData", void 0), f = i([o.Component({
        components: {
            confTip: d.default,
            confSpeedText: h.default
        }
    })], f), t.default = f
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(329), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(5), s = n(142);
    let a = class extends o.Vue {
        constructor() {
            super(...arguments), this.maxDownloadSpeed = "", this.maxUploadSpeed = ""
        }

        onFormDataChange(e) {
            this.updateMaxDownloadSpeed(), this.updateMaxUploadSpeed()
        }

        standardNumber(e) {
            let t = parseInt(e + "", 10);
            return t > 9 ? t + "" : "0" + t
        }

        updateMaxDownloadSpeed() {
            return r(this, void 0, void 0, function* () {
                let e = "不限速";
                this.formData["ConfigNet-ConfigNet_Custom_DownloadSpeedChk"].value && (e = (yield s.ConfigHelperNS.getValue("ConfigNet", "ConfigNet_Custom_MaxDownloadSpeedTmp", 1024)) + "KB/S"), this.maxDownloadSpeed = e
            })
        }

        updateMaxUploadSpeed() {
            return r(this, void 0, void 0, function* () {
                let e = "不限速";
                this.formData["ConfigNet-ConfigNet_Custom_UploadSpeedChk"].value && (e = (yield s.ConfigHelperNS.getValue("ConfigNet", "ConfigNet_Custom_MaxUploadSpeedTmp", 1024)) + "KB/S"), this.maxUploadSpeed = e
            })
        }
    };
    i([o.Prop({})], a.prototype, "item", void 0), i([o.Prop({})], a.prototype, "formData", void 0), i([o.Watch("formData", {
        immediate: !0,
        deep: !0
    })], a.prototype, "onFormDataChange", null), a = i([o.Component], a), t.default = a
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(331), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(5), s = n(7), a = n(241), l = n(139), c = n(782), u = n(1).default.getLogger("conf-select");
    let d = class extends o.Vue {
        constructor() {
            super(...arguments), this.schema = null, this.tooltipVisible = !1, this.tipContent = "", this.dyNamicOptions = [], this.valueData = ""
        }

        onFormDataChange(e) {
            this.item.updateByDataChange && e && e[this.name] && (this.valueData = e[this.name].value)
        }

        handleInput(e) {
            if (void 0 !== this.item.hasDeleteOption && e === this.item.deleteOptionText) return this.$emit("input", [], this.item.optionByName), void ("openThunderPan" === this.item.slotOption && c.server.callClientFunctionByName("ThunderPanPluginWebview", "IpcClearRecentFolder"));
            this.tooltipVisible || this.item.blurUpdate || this.$emit("input", e, this.item.name), this.valueData = e
        }

        handleOutFocus() {
            this.item.blurUpdate && !this.tooltipVisible && this.$emit("input", this.valueData, this.item.name)
        }

        selectPath() {
            return r(this, void 0, void 0, function* () {
                let e = yield(yield s.asyncRemoteCall.getDialog()).showOpenDialog({
                    defaultPath: this.valueData,
                    properties: [this.fileType]
                });
                if (e.canceled) ; else {
                    let t = e.filePaths;
                    void 0 !== t && (void 0 !== this.name ? this.$emit("input", t[0], this.name) : this.$emit("input", t[0], this.item.name), this.valueData = t[0])
                }
            })
        }

        get optionList() {
            if (this.item.optionByName && this.formData[this.item.optionByName] && this.formData[this.item.optionByName].value) {
                let e = this.formData[this.item.optionByName].value,
                    t = [...e].reverse().slice(0, this.item.maxOptionLen || e.length);
                return this.item.deleteOptionText && t.push(this.item.deleteOptionText), t
            }
            return this.options
        }

        get fileType() {
            return this.item.slotOption
        }

        get rules() {
            let e;
            do {
                if (!this.item.rules) break;
                e = this.item.rules.map(e => Array.isArray(e) ? new Function(e[0], e[1]) : e)
            } while (0);
            return e
        }

        handleChangePath(e) {
            return r(this, void 0, void 0, function* () {
                let t = "openDirectory";
                if ("openFile" === e ? t = "openFile" : "openThunderPan" === e && (t = "openThunderPan"), "openFile" === t || "openDirectory" === t) {
                    const e = yield s.asyncRemoteCall.getDialog();
                    let n = yield s.asyncRemoteCall.getCurrentWindow();
                    if (n && !(yield n.isDestroyed())) {
                        let i = yield e.showOpenDialog(n, {defaultPath: this.valueData, properties: [t]});
                        if (i.canceled) ; else {
                            let e = i.filePaths;
                            void 0 !== e && (void 0 !== this.name ? this.$emit("input", e[0], this.name) : this.$emit("input", e[0], this.item.name), this.valueData = e[0]), this.$refs.root.focusEdit()
                        }
                    }
                } else if ("openThunderPan" === t) {
                    let e = yield c.server.callClientFunctionByName("ThunderPanPluginWebview", "IpcTreePath", {});
                    if (!e || !e[0] || e[0].error) return;
                    let t = "", n = "";
                    for (let i of e[0].path) t += "\\" + i.title, n += "\\" + i.id;
                    n = n.slice(1), t = t.slice(1), void 0 !== this.name ? this.$emit("input", t, this.name) : this.$emit("input", t, this.item.name), this.valueData = t, c.server.callClientFunctionByName("ThunderPanPluginWebview", "IpcSetDefaultSavePath", {
                        id: n,
                        name: t
                    })
                }
            })
        }

        validate(e) {
            u.information("value....", e), this.handleInput(e), void 0 !== this.item.hasDeleteOption && e === this.item.deleteOptionText || this.item.rules && this.schema.validate({[this.item.name]: e}, (e, t) => {
                u.information("errors", e), null === e ? this.tooltipVisible = !1 : (u.information("路径有误", e), this.tipContent = e[0].message, this.tooltipVisible = !0)
            })
        }

        created() {
            this.item.rules && (this.schema = new a.default({[this.item.name]: this.rules})), void 0 !== this.value ? this.valueData = this.value.value.toString() : this.valueData = this.formData[this.item.name].value.toString()
        }
    };
    i([o.Prop({})], d.prototype, "item", void 0), i([o.Prop()], d.prototype, "label", void 0), i([o.Prop({})], d.prototype, "formData", void 0), i([o.Prop()], d.prototype, "options", void 0), i([o.Prop()], d.prototype, "value", void 0), i([o.Prop()], d.prototype, "disabled", void 0), i([o.Prop()], d.prototype, "classes", void 0), i([o.Prop()], d.prototype, "name", void 0), i([o.Prop()], d.prototype, "placeHolder", void 0), i([o.Watch("formData", {deep: !0})], d.prototype, "onFormDataChange", null), d = i([o.Component({components: {SelectNative: l.default}})], d), t.default = d
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(333), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(241), o = n(5), s = n(234);
    let a = class extends o.Vue {
        constructor() {
            super(...arguments), this.shortcutKey = "", this.funKey = !0, this.valueData = " ", this.canRegister = !1, this.schema = null, this.tooltip = "", this.tooltipVisible = !1
        }

        get rules() {
            let e;
            do {
                if (!this.item.rules) break;
                e = this.item.rules.map(e => Array.isArray(e) ? new Function(e[0], e[1]) : e)
            } while (0);
            return e
        }

        handleInput(e) {
            this.valueData = e, this.$emit("input", e, this.name)
        }

        handleChange(e) {
            let t = e.target;
            this.valueData = t.value, void 0 !== this.item.ShortcutKey && this.canRegister ? this.$emit("input", t.value, this.name) : void 0 === this.item.ShortcutKey && this.$emit("input", t.value, this.name)
        }

        handleKeyDown(e) {
            if (void 0 !== this.item.ShortcutKey) {
                let t = /Digit\d/.test(e.code) || e.keyCode >= 65 && e.keyCode <= 90;
                if (this.shortcutKey = "", this.funKey = !1, this.canRegister = !1, this.valueData = "", "Backspace" === e.key) return this.valueData = "无", void this.$emit("input", "", this.name);
                e.altKey && (this.shortcutKey = "Alt+"), e.ctrlKey && (this.shortcutKey = "" === this.shortcutKey ? "Ctrl+" : `${this.shortcutKey}Crtl+`), e.shiftKey && (this.shortcutKey = "" === this.shortcutKey ? "Shift+" : `${this.shortcutKey}Shift+`);
                let n = "Alt" === e.key || "Shift" === e.key || "Control" === e.key ? "" : t ? e.code[e.code.length - 1] : e.key;
                this.valueData = this.shortcutKey + n, "" !== n && (this.funKey = !0), this.shortcutKey + n !== n && "" !== n && (this.canRegister = !0, this.valueData = this.shortcutKey + n, this.$emit("input", this.valueData, this.name))
            }
        }

        handleKeyup() {
            this.funKey || void 0 === this.item.ShortcutKey || (this.valueData = "无", this.$emit("input", "", this.name))
        }

        mounted() {
            this.valueData = this.value.value
        }

        validate(e) {
            this.item.rules && this.schema.validate({[this.item.name]: e}, (e, t) => {
                this.tooltipVisible = null !== e
            })
        }

        outFocus() {
            this.tooltipVisible = !1
        }

        created() {
            this.item.rules && (this.schema = new r.default({[this.item.name]: this.rules}))
        }
    };
    i([o.Prop()], a.prototype, "item", void 0), i([o.Prop({})], a.prototype, "formData", void 0), i([o.Prop()], a.prototype, "disabled", void 0), i([o.Prop()], a.prototype, "value", void 0), i([o.Prop()], a.prototype, "name", void 0), i([o.Prop()], a.prototype, "label", void 0), a = i([o.Component({components: {confBtn: s.default}})], a), t.default = a
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(335), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(241), o = n(5);
    let s = class extends o.Vue {
        constructor() {
            super(...arguments), this.schema = null, this.tooltip = "", this.tooltipVisible = !1, this.timeout = null
        }

        get rules() {
            return (this.item.rules || []).map(e => Array.isArray(e) ? new Function(e[0], e[1]) : e)
        }

        get doEmit() {
            return this.item.doEmit ? new Function(this.item.doEmit[0], this.item.doEmit[1]) : null
        }

        get doBlur() {
            return this.item.doBlur ? new Function(this.item.doBlur[0], this.item.doBlur[1]) : null
        }

        get sliderValue() {
            let e;
            return e = "number" == typeof this.value ? this.value : "object" == typeof this.value ? Number(this.value.value) : Number(this.value), this.item.scales && this.item.scales.length ? Math.min(Math.max(this.item.scales[0], e), this.item.scales[this.item.scales.length - 1]) : e
        }

        handleSliderUpdate(e) {
            this.handleInput(e.toString())
        }

        handleInput(e) {
            this.doEmit ? this.doEmit(this.item.name, e, this.value.value) : this.$emit("input", e, this.item.name), this.doValidate(e)
        }

        doValidate(e) {
            this.schema && this.schema.validate({[this.item.name]: e}, (e, t) => {
                null === e ? this.hideTooltip() : this.showTooltip(e[0].message)
            })
        }

        handleBlur() {
            let e;
            e = "object" == typeof this.value ? this.value.value : this.value, this.doBlur && this.doBlur(this.item.name, e), this.$nextTick(() => {
                let e;
                e = "object" == typeof this.value ? this.value.value : this.value, this.doValidate(e)
            })
        }

        showTooltip(e) {
            this.tooltip = e, this.$refs.tooltip.show(this.$refs.input.$el)
        }

        hideTooltip() {
            this.$refs.tooltip.hide()
        }

        created() {
            this.item.rules && (this.schema = new r.default({[this.item.name]: this.rules}))
        }
    };
    i([o.Prop({})], s.prototype, "item", void 0), i([o.Prop()], s.prototype, "value", void 0), i([o.Prop()], s.prototype, "disabled", void 0), s = i([o.Component], s), t.default = s
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(337), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(5), o = n(139);
    let s = class extends r.Vue {
        constructor() {
            super(...arguments), this.data = [{
                label: "开始限速时间",
                options: [{index: 0, type: "hour"}, {index: 1, type: "minute"}]
            }, {
                label: "结束限速时间",
                options: [{index: 2, type: "hour"}, {index: 3, type: "minute"}]
            }], this.hours = Array.from({length: 24}, (e, t) => t), this.minutes = Array.from({length: 60}, (e, t) => t)
        }

        handleInput(e, t) {
            let n = this.value.slice(0), i = Object.assign({}, n[t]);
            i.value = e, n[t] = i, this.$emit("input", n, this.item.name)
        }
    };
    i([r.Prop({})], s.prototype, "item", void 0), i([r.Prop()], s.prototype, "value", void 0), i([r.Prop()], s.prototype, "disabled", void 0), s = i([r.Component({components: {SelectNative: o.default}})], s), t.default = s
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(339), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(5), o = n(43);
    let s = class extends r.Vue {
        constructor() {
            super(...arguments), this.userId = ""
        }

        get clas() {
            return void 0 !== this.classes ? this.classes : this.item.classes
        }

        get textContent() {
            return void 0 !== this.item.text ? this.item.text : this.text
        }

        mounted() {
            void 0 !== this.item.isReleventUser && this.item.isReleventUser && (o.NativeCallModule.nativeCall.AttachNativeEvent("onLoginSuc", e => {
                this.userId = e
            }), o.NativeCallModule.nativeCall.AttachNativeEvent("onLogout", () => {
                this.userId = ""
            }))
        }
    };
    i([r.Prop({})], s.prototype, "item", void 0), i([r.Prop()], s.prototype, "classes", void 0), i([r.Prop()], s.prototype, "extIndex", void 0), i([r.Prop()], s.prototype, "text", void 0), s = i([r.Component({})], s), t.default = s
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(341), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(5), s = n(230), a = n(234), l = n(235), c = n(183), u = n(789), d = n(43), h = n(4);
    let f = class extends o.Vue {
        constructor() {
            super(...arguments), this.userId = ""
        }

        handleInput(e, t = "") {
            "" === t ? this.$emit("input", e, this.item.name) : this.$emit("input", e, t)
        }

        setUserId() {
            return r(this, void 0, void 0, function* () {
                let e = yield h.client.callServerFunction("GetUserID");
                this.userId = e
            })
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                void 0 !== this.item.isReleventUser && this.item.isReleventUser && (this.setUserId(), d.NativeCallModule.nativeCall.AttachNativeEvent("onLoginSuc", e => {
                    this.userId = e
                }), d.NativeCallModule.nativeCall.AttachNativeEvent("onLogout", () => {
                    this.userId = ""
                }))
            })
        }
    };
    i([o.Prop({})], f.prototype, "item", void 0), i([o.Prop({})], f.prototype, "formData", void 0), i([o.Prop()], f.prototype, "value", void 0), f = i([o.Component({
        components: {
            confTip: s.default,
            confBtn: a.default,
            confInput: l.default,
            confSelect: c.default,
            confContainer: u.default
        }
    })], f), t.default = f
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(343), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(5), o = n(183);
    let s = class extends r.Vue {
        handleInput(e, t = "") {
            "" === t ? this.$emit("input", e, this.item.name) : this.$emit("input", e, t)
        }
    };
    i([r.Prop({})], s.prototype, "item", void 0), i([r.Prop({})], s.prototype, "formData", void 0), i([r.Prop()], s.prototype, "value", void 0), i([r.Prop()], s.prototype, "disabled", void 0), s = i([r.Component({components: {confSelect: o.default}})], s), t.default = s
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(345), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(5), o = n(230), s = n(235), a = n(236), l = n(183);
    let c = class extends r.Vue {
        handleInput(e, t = "") {
            "" === t ? this.$emit("input", e, this.item.name) : this.$emit("input", e, t)
        }
    };
    i([r.Prop({})], c.prototype, "item", void 0), i([r.Prop({})], c.prototype, "formData", void 0), c = i([r.Component({
        components: {
            confTip: o.default,
            confInput: s.default,
            confText: a.default,
            confSelect: l.default
        }
    })], c), t.default = c
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(347), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(5), o = n(230), s = n(236), a = n(183);
    let l = class extends r.Vue {
        handleInput(e, t = "") {
            "" === t ? this.$emit("input", e, this.item.name) : this.$emit("input", e, t)
        }
    };
    i([r.Prop({})], l.prototype, "item", void 0), i([r.Prop({})], l.prototype, "formData", void 0), l = i([r.Component({
        components: {
            confTip: o.default,
            confText: s.default,
            confSelect: a.default
        }
    })], l), t.default = l
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(349), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(5);
    let o = class extends r.Vue {
        handleChange(e) {
            let t = e.target;
            this.$emit("input", t.value, this.item.name)
        }
    };
    i([r.Prop({})], o.prototype, "item", void 0), i([r.Prop({})], o.prototype, "formData", void 0), i([r.Prop()], o.prototype, "value", void 0), i([r.Prop()], o.prototype, "label", void 0), o = i([r.Component({components: {}})], o), t.default = o
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(351), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(5), s = n(142), a = n(137), l = n(24), c = n(674);
    let u = class extends o.Vue {
        constructor() {
            super(...arguments), this.selectedItem = null, this.proxyList = []
        }

        handleInput(e, t) {
            let n = this.value.slice(0), i = Object.assign({}, n[t]);
            i.value = e, n[t] = i, this.$emit("input", n, this.item.name)
        }

        handleAddProxyResult(e, t, n, i, r, o) {
            let s = !1, a = {name: e, host: t, port: n, type: i, userName: r, passWord: o};
            if (this.proxyList.length > 0) for (let t = 0; t < this.proxyList.length; ++t) if (this.proxyList[t].name === e) {
                s = !0;
                break
            }
            s || (this.proxyList.push(a), this.saveProxys())
        }

        handleAddProxy() {
            a.MessageBox.custom("AddProxy").then(e => {
                if (e.action === l.MessageBoxNS.Action.OK) {
                    let t = e.args.name, n = e.args.host, i = e.args.port, r = e.args.type, o = e.args.userName,
                        s = e.args.passWord;
                    this.handleAddProxyResult(t, n, i, r, o, s)
                }
            }).catch()
        }

        handleModifyProxy() {
            this.selectedItem && a.MessageBox.custom("AddProxy", this.selectedItem).then(e => r(this, void 0, void 0, function* () {
                if (e.action === l.MessageBoxNS.Action.OK) for (let t = 0; t < this.proxyList.length; ++t) if (this.proxyList[t].name === this.selectedItem.name) {
                    let n = this.selectedItem.name;
                    if (this.proxyList[t].name = e.args.name, this.proxyList[t].host = e.args.host, this.proxyList[t].port = e.args.port, this.proxyList[t].type = e.args.type, this.proxyList[t].userName = e.args.userName, this.proxyList[t].passWord = e.args.passWord, this.selectedItem = this.proxyList[t], this.saveProxys(), "2" === (yield s.ConfigHelperNS.getValue("ProxySetting", "ConfigProxy_Type", "0")) && (this.handleApplyProxy(), n === this.selectedItem.name)) {
                        let e = c.ProxyNS.ProxyType.Http;
                        "SOCKS5" === this.selectedItem.type && (e = c.ProxyNS.ProxyType.Sock5), c.ProxyNS.setProxy(e, this.selectedItem.host, this.selectedItem.port, this.selectedItem.userName, this.selectedItem.passWord)
                    }
                    break
                }
            })).catch()
        }

        handleDeleteProxy() {
            this.selectedItem && a.MessageBox.confirm({
                title: "提示",
                content: "您确定删除此代理吗？",
                type: a.MessageBox.ConfirmType.Info
            }, {width: 400, height: 174, center: !0}).then(e => r(this, void 0, void 0, function* () {
                if (e.action === l.MessageBoxNS.Action.OK) for (let e = 0; e < this.proxyList.length; ++e) if (this.proxyList[e].name === this.selectedItem.name) {
                    let t = this.selectedItem.name;
                    this.proxyList.splice(e, 1), this.selectedItem = null, this.saveProxys();
                    let n = yield s.ConfigHelperNS.getValue("ProxySetting", "ConnectType_Http", "直接连接");
                    t === n && this.$emit("input", "直接连接", "ProxySetting-ConnectType_Http"), t === (n = yield s.ConfigHelperNS.getValue("ProxySetting", "ConnectType_Hub", "直接连接")) && this.$emit("input", "直接连接", "ProxySetting-ConnectType_Hub"), t === (n = yield s.ConfigHelperNS.getValue("ProxySetting", "ConnectType_Ftp", "直接连接")) && this.$emit("input", "直接连接", "ProxySetting-ConnectType_Ftp");
                    break
                }
            })).catch()
        }

        handleApplyProxy() {
            this.selectedItem && (this.$emit("input", "2", "ProxySetting-ConfigProxy_Type"), this.$emit("input", this.selectedItem.name, "ProxySetting-ConnectType_Hub"), this.$emit("input", this.selectedItem.name, "ProxySetting-ConnectType_Http"), this.$emit("input", this.selectedItem.name, "ProxySetting-ConnectType_Ftp"))
        }

        formatProxys() {
            let e = [];
            if (this.proxyList.length > 0) for (let t = 0; t < this.proxyList.length; ++t) {
                let n = this.proxyList[t].name;
                n = (n = (n = (n = (n = n + ";" + this.proxyList[t].host) + ";" + this.proxyList[t].port) + ";" + this.proxyList[t].type) + ";" + this.proxyList[t].userName) + ";" + this.proxyList[t].passWord, e.push(n)
            }
            return e
        }

        getProxyNames() {
            let e = ["直接连接"];
            if (this.proxyList.length > 0) for (let t = 0; t < this.proxyList.length; ++t) this.proxyList[t].name && this.proxyList[t].name.length > 0 && e.push(this.proxyList[t].name);
            return e
        }

        saveProxys() {
            s.ConfigHelperNS.setValue("ProxyList", "proxys", this.formatProxys()).catch(), s.ConfigHelperNS.setValue("ConnectType", "ProxyName", this.getProxyNames()).catch()
        }

        initProxys() {
            return r(this, void 0, void 0, function* () {
                let e = yield s.ConfigHelperNS.getValue("ProxyList", "proxys", []);
                if (e.length > 0) for (let t = 0; t < e.length; ++t) {
                    let n = e[t].split(";"), i = {};
                    i.name = n[0], i.host = n[1], i.type = n[3], i.userName = void 0 !== n[4] ? n[4] : "", i.passWord = void 0 !== n[5] ? n[5] : "", n[2] ? i.port = Number(n[2]) ? Number(n[2]) : 80 : i.port = 80, this.proxyList.push(i)
                }
            })
        }

        mounted() {
            this.initProxys().catch()
        }
    };
    i([o.Prop({})], u.prototype, "item", void 0), i([o.Prop()], u.prototype, "value", void 0), i([o.Prop()], u.prototype, "disabled", void 0), u = i([o.Component({components: {}})], u), t.default = u
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(353), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(241), o = n(26), s = n(5), a = n(81), l = n(18), c = n(3), u = n(139), d = n(27), h = n(237);
    let f = class extends (o.mixins(d.DraggableMixin, d.PositionMixin)) {
        constructor() {
            super(...arguments), this.hours = "0", this.minutes = "0", this.seconds = "0", this.operation = "开始全部任务", this.operations = ["关机", "睡眠", "退出迅雷", "开始全部任务", "暂停全部任务"], this.plans = [], this.timeIntervalId = -1, this.isMax = !1, this.schema = null, this.errorFields = null
        }

        sget() {
            return h.apply(null, arguments)
        }

        addPlan() {
            this.schema.validate({hours: this.hours, minutes: this.minutes}, (e, t) => {
                e ? this.errorFields = t : (this.errorFields = null, this.plans.length >= 3 ? this.isMax = !0 : this.plans.push({
                    hours: this.hours,
                    minutes: this.minutes,
                    seconds: this.seconds,
                    operation: this.operation
                }), this.$nextTick(() => {
                    a.ThunderWindowNS.resizeToFitContent()
                }))
            })
        }

        removePlan(e) {
            this.isMax = !1, this.plans.splice(e, 1), this.$nextTick(() => {
                a.ThunderWindowNS.resizeToFitContent()
            })
        }

        handleClose() {
            this.plans.length >= 0 && c.ipcRenderer.send(l.ThunderChannelList.channelRMCommitPlanTask, this.plans), -1 !== this.timeIntervalId && (clearInterval(this.timeIntervalId), this.timeIntervalId = -1), window.close()
        }

        created() {
            this.plans = this.options, this.timeIntervalId = setInterval(() => {
                for (let e = this.plans.length - 1; e >= 0; --e) {
                    let t = this.plans[e], n = 3600 * Number(t.hours) + 60 * Number(t.minutes) + Number(t.seconds);
                    if ((n -= 1) <= 0) {
                        this.removePlan(e), c.ipcRenderer.send(l.ThunderChannelList.channelRMPerformePlanTask, t.operation);
                        continue
                    }
                    let i = [Math.floor(n / 3600), Math.floor(n / 60 % 60), Math.floor(n % 60)];
                    t.hours = i[0] + "", t.minutes = i[1] + "", t.seconds = i[2] + ""
                }
            }, 1e3), this.schema = new r.default({
                hours: {
                    type: "number",
                    min: 0,
                    max: 999,
                    message: "请输入正确的时间",
                    transform: Number
                }, minutes: [{
                    type: "number", message: "执行时间不能为0", transform: Number, validator: (e, t, n) => {
                        0 === t && 0 === Number(this.hours) ? n(new Error("执行时间不能为0")) : n()
                    }
                }, {type: "number", min: 0, max: 59, message: "请输入正确的时间", transform: Number}]
            })
        }
    };
    i([s.Prop()], f.prototype, "options", void 0), f = i([s.Component({components: {SelectNative: u.default}})], f), t.default = f
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(355), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(2), s = n(3), a = n(7), l = n(26), c = n(5), u = n(36), d = n(20), h = n(15), f = n(27), p = n(24),
        A = n(4);
    let v = class extends (l.mixins(f.DraggableMixin, f.PositionMixin)) {
        constructor() {
            super(...arguments), this.newName = "", this.tipsText = "", this.isShowTips = !1
        }

        get originName() {
            let e = "";
            do {
                if (null === this.options || void 0 === this.options) break;
                let t = this.options.taskBase;
                if (null === t || void 0 === t) break;
                let n = t.taskName;
                if (null === n || void 0 === n) break;
                if ("string" != typeof n) break;
                e = n
            } while (0);
            return e
        }

        handleInput(e) {
            this.newName = e
        }

        handleClose(e) {
            s.ipcRenderer.send(`message-box-resolve-${this.boxId}`, p.MessageBoxNS.Action.Close), window.close()
        }

        handleOK() {
            return r(this, void 0, void 0, function* () {
                do {
                    let e = this.newName.trim();
                    e = e.replace(/[\n\r\n]/g, "");
                    let t = this.options.taskBase, n = t.taskName, i = t.savePath, r = t.taskType, a = i;
                    if (r !== h.DownloadKernel.TaskType.Group && (a = o.join(i, n)), "" === e) {
                        this.isShowTips = !0, this.tipsText = "文件名不能为空";
                        break
                    }
                    if ("." === e[0]) {
                        this.isShowTips = !0, this.tipsText = "必须键入文件名";
                        break
                    }
                    if (e.match(/[\/\\"<>\?\*:|]/)) {
                        this.isShowTips = !0, this.tipsText = '文件名不能包含下列任何字符： \\ / : * ? " < > |';
                        break
                    }
                    if (!(yield A.client.callServerFunction("IsSingleBtTask", t.taskId)) && r !== h.DownloadKernel.TaskType.Group) {
                        if (!(yield d.FileSystemAWNS.existsAW(a))) {
                            this.isShowTips = !0, this.tipsText = "文件不存在";
                            break
                        }
                        let t = o.join(i, e);
                        if (yield d.FileSystemAWNS.existsAW(t)) {
                            this.isShowTips = !0, this.tipsText = "文件已存在";
                            break
                        }
                    }
                    s.ipcRenderer.send(`message-box-resolve-${this.boxId}`, p.MessageBoxNS.Action.OK, {fileName: e}), window.close()
                } while (0)
            })
        }

        handleKeyDown(e) {
            e.ctrlKey && 13 === e.keyCode && this.handleOK()
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                this.newName = this.originName, document.addEventListener("click", () => {
                    this.isShowTips = !1
                }), document.addEventListener("keydown", this.handleKeyDown), this.$nextTick(() => {
                    let e = this.$refs.input.$el.querySelector("textarea");
                    if (null !== e && void 0 !== e) do {
                        let t = o.extname(this.newName);
                        if ("" === t) {
                            e.select();
                            break
                        }
                        if (u.TaskUtilHelper.getTaskFileType(void 0, t) === u.TaskUtilHelper.FileExtType.Unkown) {
                            e.select();
                            break
                        }
                        e.focus(), e.setSelectionRange(0, this.newName.length - t.length)
                    } while (0)
                }), (yield a.asyncRemoteCall.getCurrentWindow()).hookWindowMessage(528, () => {
                    this.isShowTips = !1
                })
            })
        }

        destroyed() {
            document.removeEventListener("keydown", this.handleKeyDown)
        }
    };
    i([c.Prop()], v.prototype, "options", void 0), i([c.Prop()], v.prototype, "boxId", void 0), v = i([c.Component], v), t.default = v
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(357), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(3), o = n(26), s = n(5), a = n(27), l = n(24);
    let c = class extends (o.mixins(a.DraggableMixin, a.PositionMixin)) {
        handleClose(e) {
            r.ipcRenderer.send(`message-box-resolve-${this.boxId}`, l.MessageBoxNS.Action.Close), window.close()
        }

        handleOK(e) {
            r.ipcRenderer.send(`message-box-resolve-${this.boxId}`, l.MessageBoxNS.Action.OK, {picked: e}), window.close()
        }
    };
    i([s.Prop()], c.prototype, "boxId", void 0), c = i([s.Component], c), t.default = c
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(359), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(3), o = n(26), s = n(5), a = n(27), l = n(24), c = n(81);
    let u = class extends (o.mixins(a.DraggableMixin)) {
        constructor() {
            super(...arguments), this.files = ""
        }

        handleClose(e) {
            r.ipcRenderer.send(`message-box-resolve-${this.boxId}`, l.MessageBoxNS.Action.Close), window.close()
        }

        handleOK(e) {
            r.ipcRenderer.send(`message-box-resolve-${this.boxId}`, l.MessageBoxNS.Action.OK, {picked: e}), window.close()
        }

        mounted() {
            do {
                if (void 0 === this.options || null === this.options) break;
                let e = this.options.file;
                if (void 0 === e || null === e) break;
                let t = null;
                try {
                    t = JSON.parse(e)
                } catch (e) {
                }
                if (null === t) break;
                let n = "在目录“" + this.options.saveDir + "”下已存在文件：";
                t.splice(0, 0, n), this.files = t.join("<br>")
            } while (0);
            this.$nextTick(() => {
                c.ThunderWindowNS.resizeToFitContent(0, 0, c.ThunderWindowNS.fitWindowPosInParent)
            })
        }
    };
    i([s.Prop({})], u.prototype, "options", void 0), i([s.Prop()], u.prototype, "boxId", void 0), u = i([s.Component], u), t.default = u
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(361), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(26), s = n(5), a = n(3), l = n(7), c = n(27), u = n(24), d = n(11);
    let h = class extends (o.mixins(c.DraggableMixin, c.PositionMixin)) {
        constructor() {
            super(...arguments), this.password = "", this.secondPassword = "", this.tipsText = "", this.isShowTips = !1, this.isSetHide = this.options.isSetHide, this.windowWidth = 450, this.windowHeight = 230
        }

        handleClose(e) {
            let t = `button=${e}`;
            this.stat("private_page_pop_click", t), a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.Close), window.close()
        }

        handleOK() {
            do {
                if (this.stat("private_page_pop_click", "button=confirm"), "" === this.password || "" === this.secondPassword) {
                    this.tipsText = "密码不能为空！", this.isShowTips = !0;
                    break
                }
                if (this.password !== this.secondPassword) {
                    this.tipsText = "两次输入的密码不一致！", this.isShowTips = !0;
                    break
                }
                a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.OK, {
                    password: this.password,
                    isSetHide: this.isSetHide
                }), "open" === this.options.showType && d.XLStatNS.trackEvent("download_leftpanel", "private_open_success", "", 0, 0, 0, 0, ""), window.close()
            } while (0)
        }

        stat(e, t) {
            let n = "type=3";
            "change" === this.options.showType && (n = "type=4"), void 0 !== t && null !== t && "" !== t && (n = `${n},${t}`), d.XLStatNS.trackEvent("download_leftpanel", e, "", 0, 0, 0, 0, n)
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                this.stat("private_page_pop_show", ""), window.addEventListener("keyup", e => {
                    "Enter" === e.key ? this.handleOK() : "Escape" === e.key && this.handleClose("close")
                }, !0), document.addEventListener("click", () => {
                    this.isShowTips = !1
                }), (yield l.asyncRemoteCall.getCurrentWindow()).hookWindowMessage(528, () => {
                    this.isShowTips = !1
                })
            })
        }
    };
    i([s.Prop()], h.prototype, "options", void 0), i([s.Prop()], h.prototype, "boxId", void 0), h = i([s.Component], h), t.default = h
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(363), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(26), s = n(5), a = n(3), l = n(7), c = n(27), u = n(24), d = n(11);
    let h = class extends (o.mixins(c.DraggableMixin, c.PositionMixin)) {
        constructor() {
            super(...arguments), this.errorCount = this.options.errorCount, this.newPassword = "", this.tipsText = "", this.isShowTips = !1, this.windowWidth = 450, this.windowHeight = 158
        }

        handleClose(e) {
            let t = `button=${e},type=5`;
            d.XLStatNS.trackEvent("download_leftpanel", "private_page_pop_click", "", 0, 0, 0, 0, t), a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.Close, {errorCount: this.errorCount}), window.close()
        }

        handleClearPwd() {
            this.newPassword = "", this.$refs.pwdInput.focus()
        }

        handleForget() {
            d.XLStatNS.trackEvent("download_leftpanel", "private_page_pop_click", "", 0, 0, 0, 0, "button=forgot,type=5"), a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.Close, {
                from: "forget",
                errorCount: this.errorCount
            }), window.close()
        }

        handleOK() {
            do {
                let e = "button=confirm,type=5";
                if (d.XLStatNS.trackEvent("download_leftpanel", "private_page_pop_click", "", 0, 0, 0, 0, e), "" === this.newPassword) {
                    this.tipsText = "密码不能为空！", this.isShowTips = !0;
                    break
                }
                if (this.options.password !== this.newPassword) {
                    this.tipsText = "密码错误，请重新输入！", this.isShowTips = !0, this.errorCount = this.errorCount + 1, this.errorCount >= 5 && (this.errorCount = 5, a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.Close, {
                        from: "more",
                        errorCount: this.errorCount
                    }), window.close());
                    break
                }
                a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.OK, {success: !0}), window.close()
            } while (0)
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                d.XLStatNS.trackEvent("download_leftpanel", "private_page_pop_show", "", 0, 0, 0, 0, "type=5"), window.addEventListener("keyup", e => {
                    "Enter" === e.key ? this.handleOK() : "Escape" === e.key && this.handleClose("close")
                }, !0), this.$refs.pwdInput.focus(), document.addEventListener("click", () => {
                    this.isShowTips = !1
                }), (yield l.asyncRemoteCall.getCurrentWindow()).hookWindowMessage(528, () => {
                    this.isShowTips = !1
                })
            })
        }
    };
    i([s.Prop()], h.prototype, "options", void 0), i([s.Prop()], h.prototype, "boxId", void 0), h = i([s.Component], h), t.default = h
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(365), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(26), s = n(5), a = n(3), l = n(7), c = n(27), u = n(24), d = n(4), h = n(11);
    let f = class extends (o.mixins(c.DraggableMixin, c.PositionMixin)) {
        constructor() {
            super(...arguments), this.windowWidth = 450, this.windowHeight = 240, this.reviewPanelWindowWidth = 400, this.reviewPanelWindowHeight = 350, this.promptContent = "为了确保信息安全，请验证您已绑定的安全手机，填写收到的验证码。", this.okDisabled = !1, this.timerCookie = null, this.mobile = "", this.verifyCodeBtnDisabled = !1, this.verifyCodeBtntext = "获取验证码", this.token = "", this.verifyCodeTipsText = "", this.isShowVerifyCodeTips = !1, this.verifyCode = "", this.verifyCodeGetTipsText = "", this.isShowVerifyCodeGetTips = !1, this.creditkey = "", this.reviewurl = "", this.isShowFigureCode = !1
        }

        getMobile() {
            this.mobile = this.options.mobile, this.mobile = this.mobile.replace(/(\d{3})\d{4}(\d{4})/, "$1****$2")
        }

        getPromptContent() {
            let e = this.options.methodType;
            this.promptContent = "forget" === e ? "重设密码进行身份验证，请验证您已绑定的安全手机信息，填写收到的验证码。" : "more" === e ? "输入密码错误次数过多，请验证您已绑定的安全手机信息，填写收到的验证码。" : "为了确保信息安全，请验证您已绑定的安全手机，填写收到的验证码。"
        }

        closeWnd(e) {
            null !== this.timerCookie && void 0 !== this.timerCookie && (clearInterval(this.timerCookie), this.timerCookie = null), window.close()
        }

        handleClose(e) {
            let t = `button=${e},type=1`;
            h.XLStatNS.trackEvent("download_leftpanel", "private_page_pop_click", "", 0, 0, 0, 0, t), "close" === e ? a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.Close) : "cancel" === e && a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.Cancel), this.closeWnd("close")
        }

        handleGetVerifyCode(e) {
            return r(this, void 0, void 0, function* () {
                if ("auto" !== e) {
                    let e = "button=yanzhengma,type=1";
                    h.XLStatNS.trackEvent("download_leftpanel", "private_page_pop_click", "", 0, 0, 0, 0, e)
                }
                if (this.token = null, null === this.timerCookie || void 0 === this.timerCookie) {
                    this.verifyCodeBtntext = "59s后重新获取", this.verifyCodeBtnDisabled = !0;
                    let e = 59;
                    this.timerCookie = setInterval(() => {
                        e <= 1 ? (this.verifyCodeBtnDisabled = !1, this.verifyCodeBtntext = "获取验证码", clearInterval(this.timerCookie), this.timerCookie = null) : (e -= 1, this.verifyCodeBtntext = `${e}s后重新获取`)
                    }, 1050)
                }
                "auto" !== e && (this.creditkey = "", this.reviewurl = ""), this.isShowFigureCode = !1;
                let t = yield d.client.callServerFunction("SendSms", this.creditkey);
                if (null !== t && void 0 !== t) try {
                    let e = JSON.parse(t);
                    if (null !== e && void 0 !== e && 200 === e.code) this.token = e.data.token; else if (null !== e.msg && void 0 !== e.msg) if (201 === e.code) {
                        this.creditkey = e.data.creditkey;
                        let t = yield d.client.callServerFunction("GetLoginInfo", "deviceid");
                        this.reviewurl = `${e.data.reviewurl}&creditkey=${e.data.creditkey}&deviceid=${t}`, this.isShowFigureCode = !0
                    } else this.verifyCodeGetTipsText = e.msg, this.verifyCodeGetTipsText = this.verifyCodeGetTipsText.replace(/(\[.*\])/g, ""), this.isShowVerifyCodeGetTips = !0; else this.verifyCodeGetTipsText = "获取验证码失败", this.isShowVerifyCodeGetTips = !0
                } catch (e) {
                } else this.verifyCodeGetTipsText = "获取验证码超时", this.isShowVerifyCodeGetTips = !0
            })
        }

        handleModifierPhone() {
            h.XLStatNS.trackEvent("download_leftpanel", "private_page_pop_click", "", 0, 0, 0, 0, "button=modifyphone,type=1"), d.client.callServerFunction("OpenNewTab", "https://i.xunlei.com/xluser/validate/modifyphone_p.html").catch(), this.closeWnd("modifierPhone")
        }

        handleOK() {
            return r(this, void 0, void 0, function* () {
                do {
                    let e = "button=confirm,type=1";
                    if (h.XLStatNS.trackEvent("download_leftpanel", "private_page_pop_click", "", 0, 0, 0, 0, e), this.okDisabled = !0, this.isShowVerifyCodeTips = !1, null === this.verifyCode || void 0 === this.verifyCode || "" === this.verifyCode) {
                        this.verifyCodeTipsText = "验证码不能为空", this.isShowVerifyCodeTips = !0, this.okDisabled = !1;
                        break
                    }
                    if (this.verifyCode = this.verifyCode.trim(), 6 !== this.verifyCode.length) {
                        this.verifyCodeTipsText = "验证码位数不对", this.isShowVerifyCodeTips = !0, this.okDisabled = !1;
                        break
                    }
                    let t = yield d.client.callServerFunction("CheckSms", this.token, this.verifyCode);
                    if (null !== t && void 0 !== t) {
                        try {
                            let e = JSON.parse(t);
                            null !== e && void 0 !== e && 200 === e.code ? (a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.OK, {success: !0}), window.close()) : (null !== e.msg && void 0 !== e.msg ? (this.verifyCodeTipsText = e.msg, this.verifyCodeTipsText = this.verifyCodeTipsText.replace(/(\[.*\])/g, "")) : this.verifyCodeTipsText = "验证失败", this.isShowVerifyCodeTips = !0)
                        } catch (e) {
                            this.okDisabled = !1
                        }
                        this.okDisabled = !1
                    } else this.verifyCodeTipsText = "验证超时", this.isShowVerifyCodeTips = !0, this.okDisabled = !1
                } while (0)
            })
        }

        initIframe() {
            window.XlCaptcha.init({
                IFRAME_BOX_ID: "boxid", PANEL_THEME: "default", CLOSE_PANEL_FUNC: () => {
                    this.isShowFigureCode = !1, window.resizeTo(this.windowWidth, this.windowHeight)
                }, VERTIFY_SUCC_FUNC: e => {
                    200 === e.code && (this.isShowFigureCode = !1, window.resizeTo(this.windowWidth, this.windowHeight), this.creditkey = e.creditkey, this.handleGetVerifyCode("auto"))
                }
            })
        }

        showFigureCode() {
            window.resizeTo(this.reviewPanelWindowWidth, this.reviewPanelWindowHeight), this.isShowFigureCode && this.initIframe()
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                h.XLStatNS.trackEvent("download_leftpanel", "private_page_pop_show", "", 0, 0, 0, 0, "type=1"), this.getMobile(), this.getPromptContent(), window.addEventListener("keyup", e => {
                    "Enter" === e.key ? this.handleOK() : "Escape" === e.key && this.handleClose("close")
                }, !0), this.$refs.phoneInput.focus(), document.addEventListener("click", () => {
                    this.isShowVerifyCodeGetTips = !1, this.isShowVerifyCodeTips = !1
                }), (yield l.asyncRemoteCall.getCurrentWindow()).hookWindowMessage(528, () => {
                    this.isShowVerifyCodeGetTips = !1, this.isShowVerifyCodeTips = !1
                })
            })
        }
    };
    i([s.Prop()], f.prototype, "options", void 0), i([s.Prop()], f.prototype, "boxId", void 0), f = i([s.Component], f), t.default = f
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(367), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(26), s = n(5), a = n(3), l = n(7), c = n(804), u = n(20), d = n(27), h = n(24);
    let f = class extends (o.mixins(d.DraggableMixin, d.PositionMixin)) {
        constructor() {
            super(...arguments), this.pathTips = "", this.isShowPathTips = !1, this.savePath = "", this.appendDirs = [], this.hideLocalDir = !0, this.windowWidth = 450, this.windowHeight = 188
        }

        handleClose(e) {
            a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, h.MessageBoxNS.Action.Close), window.close()
        }

        handleChangePath(e) {
            this.savePath = e
        }

        handleOK() {
            return r(this, void 0, void 0, function* () {
                do {
                    if ("" === this.savePath) {
                        this.isShowPathTips = !0, this.pathTips = "不合法的存储路径";
                        break
                    }
                    if (!(yield u.FileSystemAWNS.existsAW(this.savePath))) {
                        if (!(yield u.FileSystemAWNS.mkdirAW(this.savePath))) {
                            this.isShowPathTips = !0, this.pathTips = "不合法的存储路径";
                            break
                        }
                    }
                    a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, h.MessageBoxNS.Action.OK, {
                        savePath: this.savePath,
                        hideLocalDir: this.hideLocalDir ? 1 : 0
                    }), window.close()
                } while (0)
            })
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                this.options.savePath && "" !== this.options.savePath && this.appendDirs.push(this.options.savePath), this.savePath = this.options.savePath, this.hideLocalDir = this.options.hideLocalDir, document.addEventListener("click", () => {
                    this.isShowPathTips = !1
                }), (yield l.asyncRemoteCall.getCurrentWindow()).hookWindowMessage(528, () => {
                    this.isShowPathTips = !1
                })
            })
        }
    };
    i([s.Prop({})], f.prototype, "options", void 0), i([s.Prop()], f.prototype, "boxId", void 0), f = i([s.Component({components: {PathSelector: c.default}})], f), t.default = f
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(369), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(3), s = n(7), a = n(5), l = n(4), c = n(151), u = n(25), d = n(16), h = n(20),
        f = n(1).default.getLogger("ThunderNewTask.path-selector");
    let p = class extends a.Vue {
        constructor() {
            super(...arguments), this.timerId = -1, this.freeSpace = 0, this.totalSpace = 0, this.valid = !0, this.isDanger = !1, this.isWarn = !1
        }

        onPathChange(e) {
            return r(this, void 0, void 0, function* () {
                do {
                    let t = e;
                    if ("私人空间" === e) {
                        let e = yield l.client.callServerFunction("GetUserID");
                        if (null === e || void 0 === e || "" === e) break;
                        t = yield l.client.callServerFunction("GetPrivateSavePath", e)
                    }
                    this.totalSpace = u.ThunderHelper.getPartitionSpace(t), this.freeSpace = u.ThunderHelper.getFreePartitionSpace(t)
                } while (0)
            })
        }

        onDanger(e) {
            this.$emit("danger", e)
        }

        created() {
            this.timerId = setInterval(() => r(this, void 0, void 0, function* () {
                if (void 0 !== this.value && null !== this.value) {
                    if ("私人空间" === this.value) this.valid = !0; else if (this.value.length >= 3) {
                        let e = this.value.slice(0, 3);
                        this.valid = yield h.FileSystemAWNS.existsAW(e)
                    } else this.valid = !1;
                    this.valid && this.onPathChange(this.value)
                }
            }), 1e3)
        }

        get spaceColor() {
            let e = "";
            return this.isDanger ? e = "is-danger" : this.isWarn && (e = "is-warn"), e
        }

        get freeSpaceFormat() {
            let e = "";
            do {
                if ("string" != typeof this.value) break;
                if (-1 === this.freeSpace) break;
                if ("" === this.value) {
                    this.isDanger = !1;
                    break
                }
                if (this.value.length < 3) {
                    this.isDanger = !1;
                    break
                }
                if (!this.valid) {
                    this.isDanger = !1;
                    break
                }
                if (this.isDanger = !1, this.isWarn = !1, this.needSpace >= this.freeSpace) {
                    this.isDanger = !0, e = "磁盘空间不足";
                    break
                }
                this.freeSpace / this.totalSpace <= .3 && (this.isWarn = !0), e = "剩余:" + d.ThunderUtil.formatSize(this.freeSpace)
            } while (0);
            return e
        }

        handleInput(e) {
            this.$emit("input", e, !0)
        }

        handleContextMenu() {
            return r(this, void 0, void 0, function* () {
                const {MenuSkinNS: e} = yield Promise.resolve().then(() => n(63));
                e.popEditableDefaultContextMenu()
            })
        }

        handleChangePath() {
            return r(this, void 0, void 0, function* () {
                const e = yield s.asyncRemoteCall.getDialog();
                let t = yield s.asyncRemoteCall.getCurrentWindow();
                e.showOpenDialog(t, {defaultPath: this.value, properties: ["openDirectory"]}).then(e => {
                    e.canceled || this.$emit("input", e.filePaths[0], !0)
                })
            })
        }

        mounted() {
            o.ipcRenderer.on("dropdown-file-window-select", (e, t, n, i, r) => {
                f.information("dropdown select", t, i), "logic" === r && this.$emit("input", t, i)
            })
        }

        destroyed() {
            -1 !== this.timerId && (clearTimeout(this.timerId), this.timerId = -1)
        }
    };
    i([a.Prop({})], p.prototype, "appendDirs", void 0), i([a.Prop({default: !0})], p.prototype, "enablePrivateSpace", void 0), i([a.Prop({})], p.prototype, "enableDelete", void 0), i([a.Prop({default: ""})], p.prototype, "value", void 0), i([a.Prop({default: 0})], p.prototype, "needSpace", void 0), i([a.Watch("value", {immediate: !0})], p.prototype, "onPathChange", null), i([a.Watch("isDanger", {immediate: !0})], p.prototype, "onDanger", null), p = i([a.Component({components: {SelectWindow: c.default}})], p), t.default = p
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(371), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(26), o = n(5), s = n(3), a = n(27), l = n(24);
    let c = class extends (r.mixins(a.DraggableMixin, a.PositionMixin)) {
        constructor() {
            super(...arguments), this.maxTaskCount = 5, this.autoMoveLowSpeedTaskToTail = !0, this.tipsText = "请输入大于等于1小于等于50的数字", this.isShowTips = !1
        }

        handleClose(e) {
            s.ipcRenderer.send(`message-box-resolve-${this.boxId}`, l.MessageBoxNS.Action.Close), window.close()
        }

        handleOK() {
            do {
                if (!this.maxTaskCount || this.maxTaskCount < 1 || this.maxTaskCount > 50) {
                    this.isShowTips = !0;
                    break
                }
                s.ipcRenderer.send(`message-box-resolve-${this.boxId}`, l.MessageBoxNS.Action.OK, {
                    maxTaskCount: this.maxTaskCount,
                    autoMoveLowSpeedTaskToTail: this.autoMoveLowSpeedTaskToTail
                }), window.close()
            } while (0)
        }

        mounted() {
            document.addEventListener("click", () => {
                this.isShowTips = !1
            })
        }
    };
    i([o.Prop()], c.prototype, "boxId", void 0), c = i([o.Component], c), t.default = c
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(373), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(81), o = n(26), s = n(5), a = n(27);
    let l = class extends (o.mixins(a.DraggableMixin)) {
        constructor() {
            super(...arguments), this.title = "以下0个相同任务，将不再下载这些文件", this.urls = ""
        }

        mounted() {
            do {
                if (void 0 === this.options || null === this.options) break;
                let e = this.options.file;
                if (void 0 === e || null === e) break;
                let t = null;
                try {
                    t = JSON.parse(e)
                } catch (e) {
                }
                if (null === t) break;
                this.urls = t.join("<br>"), this.title = "以下" + t.length + "个相同任务，将不再下载这些文件"
            } while (0);
            this.$nextTick(() => {
                r.ThunderWindowNS.resizeToFitContent(0, 0, r.ThunderWindowNS.fitWindowPosInParent)
            })
        }

        handleOK() {
            window.close()
        }
    };
    i([s.Prop()], l.prototype, "options", void 0), l = i([s.Component], l), t.default = l
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(375), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(3), s = n(7), a = n(26), l = n(5), c = n(134), u = n(168), d = n(139), h = n(27), f = n(24);
    let p = class extends (a.mixins(h.DraggableMixin, h.PositionMixin)) {
        constructor() {
            super(...arguments), this.selectOptions = ["1", "2", "3"], this.picked = "number", this.urlExample = "", this.numFrom = "0", this.numTo = "0", this.numMax = 999, this.wildcardLength = "2", this.alphaFrom = "a", this.alphaTo = "z", this.context = "", this.tipsText = "", this.isShowTips = !1
        }

        handleClose() {
            o.ipcRenderer.send(`message-box-resolve-${this.boxId}`, f.MessageBoxNS.Action.Close), window.close()
        }

        handleOK() {
            do {
                if (!c.URLHelperNS.isP2spOrEmuleUrl(this.urlExample)) {
                    this.tipsText = "不支持的协议，请重新输入", this.isShowTips = !0;
                    break
                }
                if (!/\(\*\)/.test(this.urlExample)) {
                    this.tipsText = "必须在url中包含‘(*)’，请重新输入", this.isShowTips = !0;
                    break
                }
                if ("number" === this.picked) {
                    o.ipcRenderer.send(`message-box-resolve-${this.boxId}`, f.MessageBoxNS.Action.OK, {
                        picked: this.picked,
                        urlExample: this.urlExample,
                        from: Number(this.numFrom),
                        to: Number(this.numTo),
                        wildcardLen: Number(this.wildcardLength)
                    }), window.close();
                    break
                }
                if ("alpha" === this.picked) {
                    o.ipcRenderer.send(`message-box-resolve-${this.boxId}`, f.MessageBoxNS.Action.OK, {
                        picked: this.picked,
                        urlExample: this.urlExample,
                        from: this.alphaFrom,
                        to: this.alphaTo
                    }), window.close();
                    break
                }
            } while (0)
        }

        padLeftZero(e, t) {
            if (t.length > e) return t;
            return ("000000".substring(0, e) + t).substr(t.length)
        }

        showUrls() {
            do {
                if (!c.URLHelperNS.isP2spOrEmuleUrl(this.urlExample)) {
                    this.context = "";
                    break
                }
                if (!/\(\*\)/.test(this.urlExample)) {
                    this.context = "";
                    break
                }
                if ("number" === this.picked) {
                    if (this.numFrom === this.numTo) this.context = this.urlExample.replace(/\(\*\)/, this.padLeftZero(Number(this.wildcardLength), this.numFrom)); else {
                        let e = this.urlExample.replace(/\(\*\)/, this.padLeftZero(Number(this.wildcardLength), this.numFrom)),
                            t = this.urlExample.replace(/\(\*\)/, this.padLeftZero(Number(this.wildcardLength), this.numTo));
                        this.context = e + "\r\n...\r\n...\r\n" + t
                    }
                    break
                }
                if ("alpha" === this.picked) {
                    if (this.alphaFrom === this.alphaTo) this.context = this.urlExample.replace(/\(\*\)/, this.alphaFrom); else {
                        let e = this.urlExample.replace(/\(\*\)/, this.alphaFrom),
                            t = this.urlExample.replace(/\(\*\)/, this.alphaTo);
                        this.context = e + "\r\n...\r\n...\r\n" + t
                    }
                    break
                }
            } while (0)
        }

        handleNumFromChange(e, t) {
            let n = this.numFrom;
            void 0 !== t && null !== t && (this.numFrom = t), this.numFrom = e, n !== e && this.showUrls()
        }

        handleNumToChange(e, t) {
            let n = this.numTo;
            void 0 !== t && null !== t && (this.numTo = t), this.numTo = e, n !== e && this.showUrls()
        }

        handleWildcardChange(e) {
            let t = this.wildcardLength;
            this.wildcardLength = e, t !== e && "number" === this.picked && this.showUrls()
        }

        handleAlphaFromChange(e, t) {
            let n = this.alphaFrom;
            void 0 !== t && null !== t && (this.alphaFrom = t), this.alphaFrom = e, n !== e && this.showUrls()
        }

        handleAlphaToChange(e, t) {
            let n = this.alphaTo;
            void 0 !== t && null !== t && (this.alphaTo = t), this.alphaTo = e, n !== e && this.showUrls()
        }

        handleDocClick() {
            this.tipsText = "", this.isShowTips = !1
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                document.addEventListener("click", this.handleDocClick), (yield s.asyncRemoteCall.getCurrentWindow()).hookWindowMessage(528, () => {
                    this.isShowTips = !1
                })
            })
        }

        destroyed() {
            document.removeEventListener("click", this.handleDocClick)
        }

        onUrlExampleChanged() {
            this.showUrls()
        }

        onPickedChange() {
            this.showUrls()
        }
    };
    i([l.Prop()], p.prototype, "boxId", void 0), i([l.Watch("urlExample")], p.prototype, "onUrlExampleChanged", null), i([l.Watch("picked")], p.prototype, "onPickedChange", null), p = i([l.Component({
        components: {
            LimitInput: u.default,
            SelectNative: d.default
        }
    })], p), t.default = p
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(377), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(26), s = n(5), a = n(3), l = n(7), c = n(27), u = n(24);
    n(1121);
    let d = class extends (o.mixins(c.DraggableMixin, c.PositionMixin)) {
        constructor() {
            super(...arguments), this.value = ""
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                a.ipcRenderer.on("message-box-resolve-systemmenu", () => {
                    a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.Close, {
                        title: this.value,
                        state: "close"
                    })
                }), this.value = this.options.title, this.$nextTick(() => {
                    let e = this.$refs.titleInput;
                    e.focus(), e.select()
                });
                let e = yield l.asyncRemoteCall.getCurrentWindow();
                (yield l.asyncRemoteCall.getIpcMain()).on("book-mark-list-close", e => {
                    this.handleClose()
                }), e.on("blur", e => {
                    this.handleClose()
                })
            })
        }

        handleOk() {
            let e = this.$refs.titleInput;
            "" !== e.value.trim() && (a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.OK, {
                title: e.value,
                state: "ok"
            }), window.close())
        }

        handleDelete() {
            a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.Cancel, {
                title: this.value,
                state: "delete"
            }), window.close()
        }

        handleClose() {
            a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.Close, {
                title: this.value,
                state: "close"
            }), window.close()
        }
    };
    i([s.Prop({})], d.prototype, "options", void 0), i([s.Prop()], d.prototype, "boxId", void 0), d = i([s.Component({})], d), t.default = d
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(379), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(26), s = n(5), a = n(3), l = n(7), c = n(27), u = n(1), d = n(11), h = n(24), f = n(63),
        p = u.default.getLogger("book-list");
    let A = class extends (o.mixins(c.DraggableMixin)) {
        constructor() {
            super(...arguments), this.value = "", this.bookMarkMenuUrl = "", this.bookMarkMenuTitle = "", this.currentIndex = 0, this.itemHeight = 28, this.moreBookMarkMaxHeight = 440, this.itemsPadding = 8, this.itemsWarpperPadding = 12
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                let e = yield l.asyncRemoteCall.getCurrentWindow(), t = yield l.asyncRemoteCall.getIpcMain();
                e.show(), e.focus(), t.on("book-mark-list-close", e => {
                    p.information("book-mark-list-close"), window.close()
                }), e.on("blur", e => {
                    window.close()
                })
            })
        }

        handleOk() {
            let e = this.$refs.titleInput;
            "" !== e.value.trim() && (a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, h.MessageBoxNS.Action.OK, {
                title: e.value,
                state: "ok"
            }), window.close())
        }

        isShowDefaultIcon(e, t) {
            let n = !1;
            do {
                if (-1 !== e.indexOf("ftp://") || "" === t || void 0 === t) {
                    n = !0;
                    break
                }
            } while (0);
            return n
        }

        openNewTab(e, t, n = "") {
            a.ipcRenderer.send("openNewTab-book-list", {url: e, title: t})
        }

        get bookMarkTemplate() {
            return [{
                label: "在新标签页中打开", click: () => {
                    this.bookMarkRightClick("open_new"), this.openNewTab(this.bookMarkMenuUrl, this.bookMarkMenuTitle, "new")
                }
            }, {
                label: "删除", click: () => r(this, void 0, void 0, function* () {
                    let e = yield l.asyncRemoteCall.getCurrentWindow();
                    this.options.splice(this.currentIndex, 1);
                    let t = yield e.getSize();
                    this.options.length * this.itemHeight + this.itemsPadding + this.itemsWarpperPadding < this.moreBookMarkMaxHeight && e.setSize(t[0], t[1] - this.itemHeight), a.ipcRenderer.send("delete-book-list", {url: this.bookMarkMenuUrl}), d.XLStatNS.trackEvent("clienttop", "bookmarks_delete"), 0 === this.options.length && window.close()
                })
            }]
        }

        showBookMarkMenu(e, t, n, i = {}) {
            return r(this, void 0, void 0, function* () {
                this.bookMarkMenuUrl = e, this.bookMarkMenuTitle = t, this.currentIndex = n;
                let r = yield l.asyncRemoteCall.getCurrentWindow(),
                    o = yield(yield l.asyncRemoteCall.getMenu()).buildFromTemplate(this.bookMarkTemplate);
                yield f.MenuSkinNS.setStyle(o, {}), yield o.popup(Object.assign({}, {window: r}, i)), d.XLStatNS.trackEvent("clienttop", "bookmarks_top_right_click")
            })
        }

        bookMarkRightClick(e) {
            let t = `button=${e}`;
            d.XLStatNS.trackEvent("clienttop", "bookmarks_top_right_click_menu", "", 0, 0, 0, 0, t)
        }
    };
    i([s.Prop({})], A.prototype, "options", void 0), i([s.Prop()], A.prototype, "boxId", void 0), A = i([s.Component({})], A), t.default = A
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(381), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(26), s = n(5), a = n(7), l = n(1), c = n(27), u = n(137), d = n(4), h = n(11), f = n(15),
        p = l.default.getLogger("Subtitle-Task-FileList");
    let A = class extends (o.mixins(c.DraggableMixin, c.PositionMixin)) {
        constructor() {
            super(...arguments), this.taskId = void 0, this.taskName = "", this.videoNum = 1, this.fileList = [], this.saveDir = "", this.taskType = 2, this.categoryViewId = f.DownloadKernel.CategroyViewID.Unkown, this.columns = [{
                label: "文件名",
                prop: "fileName"
            }, {label: "操作", prop: "operate", width: 82}]
        }

        get taskIcon() {
            return this.taskType === f.DownloadKernel.TaskType.Bt ? "xly-type-bt-file" : "xly-type-group"
        }

        onVideoNumberTextClick() {
            return r(this, void 0, void 0, function* () {
                if ("" !== this.saveDir) {
                    let e = this.saveDir + "\\.";
                    (yield a.asyncRemoteCall.getShell()).showItemInFolder(e)
                }
            })
        }

        searchShooter() {
            let e = this.taskName.replace(/[\`\-\=\~\!\@\#\$\%\^\&\(\)\_\+\[\]\;\'\,\.\{\}]/g, " "),
                t = "https://subhd.tv/search/" + encodeURIComponent(e);
            d.client.callServerFunction("OpenNewTab", t).catch(), window.close()
        }

        popSutitleMessageBox(e) {
            return r(this, void 0, void 0, function* () {
                (yield a.asyncRemoteCall.getIpcMain()).on("onSearchSubtitleWndClose", (e, t) => {
                    0 === t ? i.show() : i.close()
                });
                let t = "",
                    n = `pannel=${t = this.categoryViewId === f.DownloadKernel.CategroyViewID.Downloading ? "downloading" : this.categoryViewId === f.DownloadKernel.CategroyViewID.Completed ? "complete" : "trash"},cid=${e.cid},taskid=${this.taskId},filename=${encodeURIComponent(e.fileName)}`;
                h.XLStatNS.trackEvent("download_detail", "dltab_detail_viewsubtitles_click", "", 0, 0, 0, 0, n), p.information("PopSutitleMessageBox: ", n);
                let i = yield a.asyncRemoteCall.getCurrentWindow();
                yield i.hide(), u.MessageBox.custom("SubtitleSearch", {
                    taskId: this.taskId,
                    taskName: e.fileName,
                    cid: e.cid,
                    saveDir: this.saveDir,
                    from: "fileListDlg",
                    categoryViewId: this.categoryViewId
                }, {width: 500, height: 323})
            })
        }

        handleCancel(e) {
            window.close()
        }

        mounted() {
            this.taskId = this.options.taskId, p.information("taskName: ", this.taskId), this.taskName = this.options.taskName, p.information("taskName: ", this.taskName), this.taskType = this.options.taskType, p.information("taskType: ", this.taskType), this.saveDir = this.options.saveDir, p.information("saveDir: ", this.saveDir), this.fileList = this.options.fileList, this.videoNum = this.options.fileList.length, p.information("result: ", this.fileList), p.information("videoNum: ", this.videoNum), this.categoryViewId = this.options.categoryViewId, p.information("categoryViewId: ", this.categoryViewId)
        }
    };
    i([s.Prop()], A.prototype, "options", void 0), A = i([s.Component], A), t.default = A
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(383), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(2), s = n(26), a = n(5), l = n(3), c = n(7), u = n(1), d = n(18), h = n(27), f = n(4), p = n(8),
        A = n(15), v = n(11), g = p.default(o.join(__rootDir, "../bin/ThunderHelper.node")),
        m = u.default.getLogger("Subtitle-Search");
    let C = class extends (s.mixins(h.DraggableMixin, h.PositionMixin)) {
        constructor() {
            super(...arguments), this.taskId = void 0, this.taskName = "", this.taskCid = "", this.saveDir = "", this.subtitleList = [], this.searchText = "", this.searchStatus = 0, this.categoryViewId = A.DownloadKernel.CategroyViewID.Unkown, this.from = "taskList", this.columns = [{
                label: "字幕名",
                prop: "sname"
            }, {label: "语言", prop: "language", width: 82}, {label: "评价", prop: "comment", width: 105}, {
                label: "操作",
                prop: "operate",
                width: 72
            }]
        }

        get tableData() {
            return this.subtitleList.filter(e => !!e.scid)
        }

        getName(e) {
            let t = ".srt";
            if (m.information("getName ", e.surl), void 0 !== e.surl && e.surl.length > 1) {
                let n = e.surl.substring(e.surl.lastIndexOf("."));
                t = e.sname + n
            }
            return "" === e.sname ? ".srt" : t
        }

        getRate(e) {
            if (void 0 !== e) {
                if ("number" == typeof e.rate) return e.rate;
                if ("string" == typeof e.rate) return Number(e.rate)
            }
            return 0
        }

        onOperationTextClick(e) {
            return r(this, void 0, void 0, function* () {
                m.information("OnOperationTextClick");
                let t = yield c.asyncRemoteCall.getIpcMain();
                if (0 === e.status || 3 === e.status) e.status = 2, t.on(d.ThunderChannelList.channelMRDownloadSutitleSuc, t => r(this, void 0, void 0, function* () {
                    m.information("OnOperationTextClick channelMRDownloadSutitleSuc"), e.status = 1, this.stat("dltab_detail_subtitlesdown_click", "result=success")
                })), t.on(d.ThunderChannelList.channelMRDownloadSutitleFail, t => r(this, void 0, void 0, function* () {
                    m.information("OnOperationTextClick channelMRDownloadSutitleFail"), e.status = 3, this.stat("dltab_detail_subtitlesdown_click", "result=fail")
                })), m.information("send channelRMDownloadSutitle"), l.ipcRenderer.send(d.ThunderChannelList.channelRMDownloadSutitle, e, this.taskId, this.taskName); else if (1 === e.status) {
                    if (g.shellExecute(0, "open", o.join(this.saveDir, this.taskName), null, null, "SW_SHOW") <= 32) {
                        let e = this.saveDir + "\\.";
                        (yield c.asyncRemoteCall.getShell()).showItemInFolder(e)
                    }
                }
            })
        }

        stat(e, t) {
            let n = "",
                i = `pannel=${n = this.categoryViewId === A.DownloadKernel.CategroyViewID.Downloading ? "downloading" : this.categoryViewId === A.DownloadKernel.CategroyViewID.Completed ? "complete" : "trash"},cid=${this.taskCid},taskid=${this.taskId},filename=${encodeURIComponent(this.taskName)}`;
            null !== t && void 0 !== t && "" !== t && (i = `${i},${t}`), m.information(e, i), v.XLStatNS.trackEvent("download_detail", e, "", 0, 0, 0, 0, i)
        }

        searchSubtitleByName(e) {
            this.searchStatus = 0, l.ipcRenderer.on(d.ThunderChannelList.channelMRGetSutitleByNameResult, (e, t) => r(this, void 0, void 0, function* () {
                if (m.information("SearchSubtitleByName"), t) if (this.subtitleList = t, m.information("result: ", t), t.length > 1) {
                    this.searchStatus = 1;
                    for (let e of t) m.information("item: ", e)
                } else this.searchStatus = 2; else this.searchStatus = 2, m.information("result is null")
            })), m.information("SearchSubtitleByName searchText: ", this.searchText), l.ipcRenderer.send(d.ThunderChannelList.channelRMGetSutitleByName, this.searchText, this.taskId), "btn" === e && this.stat("dltab_detail_subtitlessearch_click")
        }

        searchShooter() {
            let e = "https://subhd.tv/search/" + encodeURIComponent(this.searchText);
            f.client.callServerFunction("OpenNewTab", e).catch(), "fileListDlg" === this.from && l.ipcRenderer.send("onSearchSubtitleWndClose", 1), window.close()
        }

        handleCancel(e) {
            try {
                "fileListDlg" === this.from && l.ipcRenderer.send("onSearchSubtitleWndClose", 0), window.close()
            } catch (e) {
                m.warning(e)
            }
        }

        mounted() {
            this.taskId = this.options.taskId, m.information("taskId: ", this.taskId), this.taskName = this.options.taskName, m.information("taskName: ", this.taskName), this.taskCid = this.options.cid, m.information("cid: ", this.taskCid), this.saveDir = this.options.saveDir, m.information("saveDir: ", this.saveDir), this.categoryViewId = this.options.categoryViewId, m.information("categoryViewId: ", this.categoryViewId);
            let e = this.taskName.lastIndexOf(".");
            m.information("index: ", e);
            let t = "";
            t = void 0 !== e && -1 !== e ? this.taskName.substring(0, e) : this.taskName, m.information("text: ", t), this.searchText = t.replace(/[\`\-\=\~\!\@\#\$\%\^\&\(\)\_\+\[\]\;\'\,\.\{\}]/g, " "), m.information("searchText: ", this.searchText), this.from = this.options.from, m.information("from: ", this.from), l.ipcRenderer.on(d.ThunderChannelList.channelMRGetSutitleByCidResult, (e, t) => r(this, void 0, void 0, function* () {
                if (m.information("on channelMRGetSutitleByCidResult"), t) if (this.subtitleList = t, m.information(t), t.length > 1) {
                    this.searchStatus = 1;
                    for (let e of t) m.information("item: ", e)
                } else this.searchStatus = 2, this.searchSubtitleByName(); else this.searchStatus = 2, m.information("result is null"), this.searchSubtitleByName()
            })), l.ipcRenderer.send(d.ThunderChannelList.channelRMGetSutitleByCid, this.taskCid, this.taskId)
        }
    };
    i([a.Prop()], C.prototype, "options", void 0), C = i([a.Component], C), t.default = C
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(385), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(26), s = n(5), a = n(27), l = n(1), c = n(8), u = n(2), d = n(3), h = n(24), f = n(11), p = n(4),
        A = n(142), v = n(20), g = n(81), m = c.default(u.resolve(__rootDir, "../bin/ThunderHelper.node")),
        C = l.default.getLogger("BrowserConfigGuide"), y = n(813), w = n(814);
    let b = class extends (o.mixins(a.DraggableMixin, a.PositionMixin)) {
        constructor() {
            super(...arguments), this.szCurSelect = "", this.list = [y, w], this.showFoot = !0, this.xunleiKey = "ncennffkjdiamlpmcbajkmaiiiddgioo", this.defaulBrowserPath = "", this.crxPath = "", this.browserInfos = {}, this.browserNames = ["360se", "chrome", "msedge", "QQBrowser", "360chrome"], this.showMoreSupport = !1, this.browserList = [], this.title = "360安全浏览器"
        }

        get showTitle() {
            return this.title
        }

        get is360SafeExist() {
            let e = this.browserInfos["360Safe"];
            return !(!e || !e.browserExist)
        }

        get is360QuickExist() {
            let e = this.browserInfos["360Quick"];
            return !(!e || !e.browserExist)
        }

        get isQQExist() {
            let e = this.browserInfos.QQ;
            return !(!e || !e.browserExist)
        }

        get isEdgeExist() {
            let e = this.browserInfos.Edge;
            return !(!e || !e.browserExist)
        }

        get isChromeExist() {
            let e = this.browserInfos.Chrome;
            return !(!e || !e.browserExist)
        }

        handleItemClick(e) {
            this.szCurSelect = e
        }

        handleClickMore(e = !1) {
            return r(this, void 0, void 0, function* () {
                this.showMoreSupport = !0;
                let t = "browser=" + this.showTitle;
                f.XLStatNS.trackEvent("business", "browser_plugin_list_pop_show", "", 0, 0, 0, 0, ""), e && (t += ",click_id=more_support", f.XLStatNS.trackEvent("business", "browser_plugin_startup_pop_click", "", 0, 0, 0, 0, t)), this.$nextTick(() => {
                    g.ThunderWindowNS.resizeToFitContent()
                })
            })
        }

        handleCloseButton(e) {
            let t = "browser=" + this.title + ",click_id=close";
            "startup" === e && f.XLStatNS.trackEvent("business", "browser_plugin_startup_pop_click", "", 0, 0, 0, 0, t), d.ipcRenderer.send(`message-box-resolve-${this.boxId}`, h.MessageBoxNS.Action.Close), window.close()
        }

        findProcessAw(e) {
            return r(this, void 0, void 0, function* () {
                return new Promise(t => {
                    m.asyncFindProcess(e, e => {
                        let n = e && e.length > 0;
                        t(n)
                    })
                })
            })
        }

        handleOpen(e, t = !0) {
            return r(this, void 0, void 0, function* () {
                do {
                    let n = !0, i = !1, r = this.browserInfos[e];
                    if (!r) break;
                    if (!r.browserExist) break;
                    let o = r.installCmdLine, s = e + ".exe";
                    if (i = yield this.findProcessAw(s), r.browserAddonInstall && !r.browserAddonOpen && ("QQBrowser" === e ? o = r.openCmdLine : "msedge.exe" === s ? o = r.installCmdLine : i ? "360se.exe" === s ? o = `https://misc-xl9-ssl.xunlei.com/pages/dist/#/browser-plugin/360?pid=${m.getPeerID()}` : "chrome.exe" === s && (o = `https://misc-xl9-ssl.xunlei.com/pages/dist/#/browser-plugin/chrome?pid=${m.getPeerID()}`) : (n = !1, yield this.openAddons(r.browserAddonConfigPath, e))), t) {
                        let e = "browser=" + r.browserTitle + ",click_id=quick_start";
                        f.XLStatNS.trackEvent("business", "browser_plugin_list_pop_click", "", 0, 0, 0, 0, e)
                    }
                    n ? m.shellExecute(0, "open", r.browserPath, o, "", "SW_SHOW") : p.client.callServerFunction("ShowMessageToast", {
                        message: "已开启下载支持",
                        type: "success"
                    }).catch()
                } while (0);
                this.closeWindow()
            })
        }

        handleConfigBrowser() {
            return r(this, void 0, void 0, function* () {
                C.information("选择迅雷下载");
                let e = "";
                switch (this.title) {
                    case"360安全浏览器":
                        e = "360se";
                        break;
                    case"360极速浏览器":
                        e = "360chrome";
                        break;
                    case"QQ浏览器":
                        e = "QQBrowser";
                        break;
                    case"Edge浏览器":
                        e = "msedge";
                        break;
                    case"Chrome浏览器":
                        e = "chrome"
                }
                yield this.handleOpen(e, !1);
                let t = "browser=" + this.title + ",button=quick_start";
                f.XLStatNS.trackEvent("business", "browser_plugin_startup_pop_click", "", 0, 0, 0, 0, t), this.closeWindow()
            })
        }

        getBrowserPath(e, t) {
            let n = "";
            if (t) {
                (n = m.queryRegValue(t.reg.regRoot, t.reg.regKey, t.reg.regName)) || ("chrome" === e && (n = m.queryRegValue("HKEY_LOCAL_MACHINE", "SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Google Chrome", "DisplayIcon")), "msedge" === e && (n = m.queryRegValue("HKEY_LOCAL_MACHINE", "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\msedge.exe", "")));
                let i = n.indexOf(",");
                -1 !== i && (n = n.slice(0, i)), n = m.getLongPathName(n), m.queryFileExists(n) || (n = "")
            }
            return n
        }

        initConfigGuide() {
            return r(this, void 0, void 0, function* () {
                let e = m.getInstallDir();
                this.crxPath = u.join(e, "../BHO/xl_ext_chrome.crx"), C.information("installDir", e), this.showMoreSupport = !!this.options && this.options.showMoreSupport;
                let t = this.options ? this.options.data : {};
                C.information("options", t), this.defaulBrowserPath = t.defaulBrowserPath, this.title = t.title, this.browserInfos = t.browserInfos, this.browserList = t.browserList, C.warning("cqm showMoreSupport", this.showMoreSupport, this.options.showMoreSupport), this.showMoreSupport && this.handleClickMore(), yield this.trackShow()
            })
        }

        openAddons(e, t) {
            return r(this, void 0, void 0, function* () {
                let n = "", i = yield v.FileSystemAWNS.readFileAW(e), r = null;
                if (i && i.length > 0) {
                    n = i.toString();
                    try {
                        (r = JSON.parse(n)).extensions.settings.ncennffkjdiamlpmcbajkmaiiiddgioo.state = 1, "360chrome" !== t && "360se" !== t || (r.extensions.settings.ncennffkjdiamlpmcbajkmaiiiddgioo.disable_reasons = 0), n = JSON.stringify(r);
                        let i = yield v.FileSystemAWNS.writeFileAW(e, n);
                        C.information("openAddons writeFileAW ret", i)
                    } catch (e) {
                        return C.warning(e), i
                    }
                }
                return C.information("openAddons open", !1, "path", e), !1
            })
        }

        trackShow() {
            return r(this, void 0, void 0, function* () {
                if (!(!this.options || "auto" !== this.options.from)) {
                    let e = yield A.ConfigHelperNS.getValue("ShowBrowser", "ShowBoxCount", 0);
                    yield A.ConfigHelperNS.setValue("ShowBrowser", "ShowBoxCount", e + 1);
                    let t = "browser=" + this.showTitle;
                    f.XLStatNS.trackEvent("business", "browser_plugin_startup_pop_show", "", 0, 0, 0, 0, t), C.information("cqm showWindow browser_plugin_startup_pop_show")
                }
            })
        }

        closeWindow() {
            window.close()
        }

        created() {
            return r(this, void 0, void 0, function* () {
                d.ipcRenderer.on("message-box-resolve-systemmenu", () => {
                    d.ipcRenderer.send(`message-box-resolve-${this.boxId}`, h.MessageBoxNS.Action.Close)
                }), yield this.initConfigGuide()
            })
        }
    };
    i([s.Prop({})], b.prototype, "options", void 0), i([s.Prop()], b.prototype, "boxId", void 0), b = i([s.Component], b), t.default = b
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(387), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(26), s = n(5), a = n(27), l = n(3), c = n(7), u = n(18);
    let d = class extends (o.mixins(a.DraggableMixin, a.PositionMixin)) {
        constructor() {
            super(...arguments), this.progress = 1, this.timerId = -1, this.status = 0
        }

        handleCancel(e) {
            1 !== this.status && 2 !== this.status || window.close()
        }

        onClickDownloadXmp() {
            l.ipcRenderer.send(u.ThunderChannelList.channelRMDownloadXmp), window.close()
        }

        handleFixXmpSuc() {
            this.status = 1, clearTimeout(this.timerId), this.progress = 100, window.close()
        }

        handleFixXmpFail() {
            this.status = 2
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                this.timerId = setInterval(() => {
                    this.progress < 100 && (this.progress = this.progress + 1)
                }, 100);
                let e = yield c.asyncRemoteCall.getIpcMain();
                e.on(u.ThunderChannelList.channelMRFixXmpSuc, this.handleFixXmpSuc), e.on(u.ThunderChannelList.channelMRFixXMPFail, this.handleFixXmpFail), l.ipcRenderer.send(u.ThunderChannelList.channelRMXmpFixBoxCreated)
            })
        }

        destroyed() {
            return r(this, void 0, void 0, function* () {
                let e = yield c.asyncRemoteCall.getIpcMain();
                e.removeListener(u.ThunderChannelList.channelMRFixXmpSuc, this.handleFixXmpSuc), e.removeListener(u.ThunderChannelList.channelMRFixXMPFail, this.handleFixXmpFail), this.removeDraggable()
            })
        }
    };
    i([s.Prop()], d.prototype, "options", void 0), d = i([s.Component], d), t.default = d
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(389), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(26), o = n(5), s = n(27), a = n(3), l = n(18);
    let c = class extends (r.mixins(s.DraggableMixin, s.PositionMixin)) {
        constructor() {
            super(...arguments), this.progress = 1, this.timerId = -1, this.status = 0
        }

        handleCancel(e) {
            window.close()
        }

        onClickDownloadXmpEx() {
            a.ipcRenderer.send(l.ThunderChannelList.channelRMDownloadXmpEx), window.close()
        }

        destroyed() {
            this.removeDraggable()
        }
    };
    i([o.Prop()], c.prototype, "options", void 0), c = i([o.Component], c), t.default = c
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(391), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(26), s = n(27), a = n(5), l = n(141), c = n(81), u = n(90), d = n(4), h = n(3), f = n(7), p = n(225),
        A = n(1), v = n(11), g = n(134), m = n(137), C = n(24), y = A.default.getLogger("ThunderBirdKey");
    let w = class extends (o.mixins(s.DraggableMixin, s.PositionMixin)) {
        constructor() {
            super(...arguments), this.isChecked = !1, this.curBirdKey = "", this.commonBirdKey = "", this.encryptBirdKey = "", this.expiresDate = "", this.timeToClose = 5, this.userpwd = "", this.disableCopy = !1, this.showEncryptRet = !1, this.encryptResult = !1, this.usePwdChecked = !1, this.cookieforlogin = -1, this.bServerEncryptCallBack = !1
        }

        get tips() {
            return `【迅雷口令#X${this.curBirdKey}#】复制口令，打开最新版迅雷，\n        接下来就是见证奇迹的时刻！（${this.expiresDate}失效）`
        }

        get timeClose() {
            return this.timeToClose
        }

        handleInput(e) {
            if ("string" != typeof e) return;
            let t = new RegExp("^[0-9a-zA-Z]+$"), n = e.match(t), i = this.userpwd;
            this.userpwd = e, n && n.length > 0 ? this.userpwd = e : this.userpwd = i, "" === e && (this.userpwd = e)
        }

        handleCheck(e) {
            let t, n;
            if (this.isChecked = e, this.isChecked) {
                t = "common", n = !0;
                let e = this.$refs.inputObj.$el.querySelector("input");
                e && this.$nextTick(() => {
                    e.focus()
                })
            } else t = "encrypted", n = !1;
            p.setBirdKeyPriority(this.options.url, t, n).then(e => {
                y.information("设置口令接口返回:", e.data), this.isWindowTrytoClose || "object" == typeof e && e.data && (y.information("设置口令优先级结果码:", e.data.code), this.isChecked ? "" !== this.encryptBirdKey ? (this.curBirdKey = this.encryptBirdKey, this.disableCopy = !1) : this.disableCopy = !0 : "" === this.commonBirdKey ? this.birdkeyPreHandle("", this.options.url, !1, "unchecked") : this.curBirdKey = this.commonBirdKey)
            }).catch(e => {
                y.information("设置口令优先级失败:", e)
            }), this.isChecked ? this.disableCopy = !0 : this.disableCopy = !1
        }

        handleKeyLogic() {
            y.information("迅雷口令界面"), this.options.showType === p.ShowType.ShowUI_Creating ? this.createBirdKey().catch() : this.options.showType === p.ShowType.ShowUI_Decoding && this.analysisBirdKey(), this.selfCopyFlag = !1, this.isWindowTrytoClose = !1
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                let e = yield f.asyncRemoteCall.getCurrentWindow(), t = !1, n = () => {
                    do {
                        if (t) break;
                        t = !0, this.handleKeyLogic()
                    } while (0)
                };
                e.once("show", n), (yield e.isVisible()) && n()
            })
        }

        bringMainWndToTop() {
            this.options && d.client.callServerFunction("BringMainWndToTop").catch()
        }

        onClickClose() {
            this.isWindowTrytoClose = !0, window.close()
        }

        onEncryptKey() {
            return r(this, void 0, void 0, function* () {
                let e = yield d.client.callServerFunction("GetUserInfo"), t = void 0;
                t = this.isChecked && "" !== this.userpwd ? "encrypted" : "common";
                let n = this.getUserIDFromString(e);
                "string" == typeof n && n.length > 0 ? this.handleEncryptBirdKey(n, this.options.url, t, this.userpwd, !1) : this.handleShowLoginContinue(this.options.url, t, this.userpwd)
            })
        }

        handleShowLoginContinue(e, t, n) {
            return r(this, void 0, void 0, function* () {
                let i = yield l.default(!1, !0, "birdkeyencrypt");
                i && "" !== i && this.handleEncryptBirdKey(i, e, t, n)
            })
        }

        handleEncryptBirdKey(e, t, n, i, r, o) {
            y.information("加密迅雷口令 userid = ", e, " checked=", this.isChecked, " password = ", this.userpwd), this.birdkeyEncode(e, t, n, this.userpwd, !1, e => {
                this.showEncryptRet = !0, this.encryptResult = e, e && (this.disableCopy = !1, this.bServerEncryptCallBack = !0, this.statCreateBirdKey("dltab_detail_encryption_xl_password", !0)), setTimeout(() => {
                    this.showEncryptRet = !1
                }, 700)
            })
        }

        queryBirdkeyInfo(e, t) {
            p.queryBirdKeyInfo(this.options.url, e).then(n => {
                if (this.isWindowTrytoClose) t("pass"); else if ("object" == typeof n) if (n.data) if (y.information("查询口令接口返回:", n.data), 200 === n.data.code) {
                    let i = "";
                    "number" == typeof n.data.link.uid && (i = n.data.link.uid.toString()), i === e && "encrypted" === n.data.link.type ? (this.isChecked = !0, this.userpwd = n.data.link.passwd, this.bServerEncryptCallBack = !0, this.encryptBirdKey = n.data.bird_key) : (this.isChecked = !1, this.commonBirdKey = n.data.bird_key), t("ok", n.data.bird_key)
                } else this.isChecked = !1, this.userpwd = "", t("nokey"); else t("fail"); else t("fail")
            }).catch(e => {
                t("exception")
            })
        }

        retryEncode() {
            this.createBirdKey(!0).catch(), this.showUI(p.ShowType.ShowUI_Creating)
        }

        retryDecode() {
            this.analysisBirdKey(!0), this.showUI(p.ShowType.ShowUI_Decoding)
        }

        handleCreateTask(e, t) {
            return r(this, void 0, void 0, function* () {
                if (!e) return;
                let n = e.filter(e => "encrypted" === e.type && "string" == typeof e.password),
                    i = e.filter(e => "encrypted" !== e.type || "string" != typeof e.password);
                if (i.length > 0) yield d.client.callServerFunction("CreateNewTaskEx", i); else if (!(n.length > 0)) return void this.delayShow(p.ShowType.ShowUI_DecodeFailed, t);
                let r = [], o = yield f.asyncRemoteCall.getCurrentWindow();
                o.setClosable(!1);
                let s = this.$refs.dialogDecode.$el;
                s && (s.style.pointerEvents = "none");
                for (let e = 0; e < n.length; e++) {
                    const t = n[e];
                    let i;
                    i = yield m.MessageBox.custom("BridKeyPwdcheck", {taskUrlItem: t}, {modal: !1}), y.information("验证框返回"), i.action === C.MessageBoxNS.Action.OK && i.args && i.args.success && r.push(t)
                }
                y.information("验证框返回 urls=", r), yield d.client.callServerFunction("CreateNewTaskEx", r), o.setClosable(!0), s && (s.style.pointerEvents = "auto"), setTimeout(() => {
                    document && window && window.close()
                }, 300)
            })
        }

        getStatPublicData() {
            let e = "";
            return this.options.statData ? (this.options.statData.pannel && (e = e + "pannel=" + this.options.statData.pannel), this.options.statData.gcid && (e = e + ",gcid=" + this.options.statData.gcid), this.options.statData.taskid && (e = e + ",taskid=" + this.options.statData.taskid), this.options.statData.filename && (e = e + ",filename=" + encodeURIComponent(this.options.statData.filename)), this.options.statData.pannelType && (e = e + ",pannel_type=" + this.options.statData.pannelType), this.options.statData.taskType && (e = e + ",task_type=" + this.options.statData.taskType), e) : e
        }

        statCreateBirdKey(e, t) {
            let n = this.getStatPublicData();
            if (0 === n.length) return;
            let i = 0;
            this.isChecked && this.bServerEncryptCallBack && (i = 1), n = n + ",bird=" + encodeURI(this.tips), !0 !== t && (n = n + ",is_encryption=" + i), y.information("[bird]stat attr:", e, " extData:", n), v.XLStatNS.trackEvent("download_detail", e, "", 0, 0, 0, 0, n)
        }

        statDecodeBirdKey(e, t, n, i) {
            let r = "bird=" + encodeURIComponent(t || this.tips);
            this.options.statData.from && (r = r + ",type=" + this.options.statData.from);
            let o = 0;
            r = r + ",is_encryption=" + (o = "encrypted" === n ? 1 : 0), !0 === i ? r += ",is_task_group=1" : !1 === i && (r += ",is_task_group=0"), y.information("[bird]stat attr:", e, " extData:", r), v.XLStatNS.trackEvent("download_detail", e, "", 0, 0, 0, 0, r)
        }

        onCreateBirdKeySucc(e) {
            y.information("生成迅雷口令成功,口令码:", e.data.bird_key), this.curBirdKey = e.data.bird_key, "encrypted" === e.data.type ? this.encryptBirdKey = e.data.bird_key : this.commonBirdKey = e.data.bird_key;
            let t = (new Date).getTime(), n = new Date(t + 5184e6);
            this.expiresDate = u.TimeHelperNS.formatDate(n, "yyyy年MM月d日"), this.showUI(p.ShowType.ShowUI_CreateSucc)
        }

        onQueryBirdKeySucc(e, t) {
            if (y.information("(经过查询)生成迅雷口令成功,口令码:", e), this.curBirdKey = e, "unchecked" !== t) {
                let e = (new Date).getTime(), t = new Date(e + 5184e6);
                this.expiresDate = u.TimeHelperNS.formatDate(t, "yyyy年MM月d日"), this.showUI(p.ShowType.ShowUI_CreateSucc), this.statCreateBirdKey("dltab_detail_bird_share_click")
            }
        }

        onQueryBirdKeyFail(e, t, n) {
            y.information("(经过查询)生成迅雷口令失败,ret=", e), "unchecked" !== n && (this.delayShow(p.ShowType.ShowUI_CreateFailed, t), this.statCreateBirdKey("dltab_detail_bird_share_failed"))
        }

        onCreateBirdKeyFail(e, t, n) {
            e ? y.warning("生成迅雷口令失败,data:", e.data) : y.warning("生成迅雷口令异常, reason=", n), this.delayShow(p.ShowType.ShowUI_CreateFailed, t), this.statCreateBirdKey("dltab_detail_bird_share_failed")
        }

        birdkeyEncode(e, t, n, i, r, o) {
            p.encodeBirdKey(t, e, n, i).then(e => {
                this.isWindowTrytoClose || "object" == typeof e && e.data && ("ok" === e.data.result ? (this.onCreateBirdKeySucc(e), "function" == typeof o && o(!0)) : (this.onCreateBirdKeyFail(e, r), "function" == typeof o && o(!1)))
            }).catch(e => {
                this.onCreateBirdKeyFail(null, r, e), "function" == typeof o && o(!1)
            })
        }

        birdkeyPreHandle(e, t, n, i) {
            this.queryBirdkeyInfo(e, (e, t) => {
                let r = !1;
                "ok" === e || (r = !0), "string" != typeof t && (r = !0), r ? this.onQueryBirdKeyFail(e, n, i) : this.onQueryBirdKeySucc(t, i)
            })
        }

        createBirdKey(e) {
            return r(this, void 0, void 0, function* () {
                let e = yield d.client.callServerFunction("GetUserInfo"), t = this.getUserIDFromString(e);
                this.birdkeyPreHandle(t, this.options.url)
            })
        }

        getUserIDFromString(e) {
            let t = null;
            try {
                t = JSON.parse(e)
            } catch (e) {
                t = null
            }
            let n = "";
            return t && (n = t[1].userid), n
        }

        analysisBirdKey(e) {
            if (y.information("剪贴板的迅雷口令相应:", this.options.birdkeyChars), !this.options.birdkeyChars) return;
            if (0 === this.options.birdkeyChars.length) return;
            let t = g.URLHelperNS.isBirdKey(this.options.birdkeyChars);
            if (!t || 0 === t.length) return;
            if (p.getBirdKeyMgr().isSameBirdKey(t) && !e) return;
            let n = [], i = 0;
            for (let e = 0; e < t.length; e++) {
                i = t[e].length;
                const r = t[e].substring(2, i - 1);
                n.push(p.decodeBirdKey(r.toLowerCase()))
            }
            Promise.all(n).then(t => {
                if (this.isWindowTrytoClose) return;
                "object" != typeof t && y.warning("请求口令回传参数错误", t);
                let n = [];
                for (let e = 0; e < t.length; e++) {
                    if (y.information("解析迅雷口令，服务器回应:", t[e].data), !t[e].data) continue;
                    if ("ok" !== t[e].data.result) {
                        this.statDecodeBirdKey("bird_parse_fail", this.options.birdkeyChars, "unknown");
                        continue
                    }
                    if ("string" != typeof t[e].data.url) continue;
                    let i = !1, r = t[e].data.url;
                    if (r.indexOf("%") > -1 && (r = decodeURIComponent(r)), r.match("%20") && (r = decodeURI(r)), r.includes("taskGroupName") ? i = !0 : p.saveVestUrlToConfig(r, "vest" === t[e].data.type), this.statDecodeBirdKey("bird_parse_success", this.options.birdkeyChars, t[e].data.type, i), y.information(" decodeURL before:", t[e].data.url, " after:", r), !this.isURLExist(r, n)) {
                        let i = "0";
                        "number" == typeof t[e].data.uid ? i = t[e].data.uid.toString() : "string" == typeof t[e].data.uid && (i = t[e].data.uid);
                        let o = "birdkey";
                        this.options.statData && this.options.statData.from && (o = this.options.statData.from);
                        let s = {
                            url: r,
                            stat: o,
                            type: t[e].data.type,
                            password: t[e].data.passwd,
                            userid: i,
                            birdkeyChars: this.options.birdkeyChars
                        };
                        n.push(s)
                    }
                }
                this.handleCreateTask(n, e)
            }).catch(t => {
                this.delayShow(p.ShowType.ShowUI_DecodeFailed, e)
            }), p.getBirdKeyMgr().setLastBirdKey(t), this.statDecodeBirdKey("bird_parse_start")
        }

        isURLExist(e, t) {
            let n = !1;
            if (!t) return n;
            if (0 === t.length) return n;
            for (let i = 0; i < t.length; i++) if (t[i].url === e) {
                n = !0;
                break
            }
            return n
        }

        onCopyBtnClick() {
            this.selfCopyFlag = !0, this.statCreateBirdKey("dltab_detail_bird_copy_click");
            let e = this.tips;
            e = (e = (e = e.replace(/\r\n/g, "")).replace(/\n/g, "")).replace(/\s+/g, ""), h.clipboard.writeText(e), this.showUI(p.ShowType.ShowUI_CreateSuccDis), this.timeCloseCookie = setInterval(e => {
                this.timeToClose -= 1, this.timeToClose <= 0 && (clearInterval(this.timeCloseCookie), this.timeCloseCookie = null, window.close())
            }, 1e3)
        }

        delayShow(e, t) {
            t ? setTimeout(() => {
                this.showUI(e)
            }, 300) : this.showUI(e)
        }

        showUI(e) {
            let t = this.options.showType;
            this.options.showType = e;
            let n = 0, i = 0;
            e === p.ShowType.ShowUI_CreateSuccDis ? (n = 400, i = 214) : e === p.ShowType.ShowUI_CreateSucc && (n = 400, i = 264), t !== e && this.$nextTick(() => {
                c.ThunderWindowNS.resizeToFitContent(n, i), e !== p.ShowType.ShowUI_CreateSuccDis && c.ThunderWindowNS.fitWindowPosInParent()
            })
        }
    };
    i([a.Prop()], w.prototype, "options", void 0), w = i([a.Component({})], w), t.default = w
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(393), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(5), s = n(3), a = n(7), l = n(4);
    let c = class extends o.Vue {
        constructor() {
            super(...arguments), this.tabsCopy = [], this.currentCopy = 0
        }

        get tabs() {
            return this.options.tabs
        }

        get current() {
            return this.options.current
        }

        get unpinnedLength() {
            return this.tabsCopy.filter(e => !e.pinned).length
        }

        isShowDefaultIcon(e) {
            let t = !1, n = this.tabsCopy[e].title;
            do {
                if ("新标签页" === n) {
                    t = !0;
                    break
                }
                if (-1 !== n.indexOf("ftp://")) {
                    t = !0;
                    break
                }
                if ("" === this.tabsCopy[e].tab.iconUrl || void 0 === this.tabsCopy[e].tab.iconUrl) {
                    t = !0;
                    break
                }
            } while (0);
            return t
        }

        handleIconUrl(e) {
            return this.tabsCopy[e].tab.iconUrl
        }

        handleRemove(e) {
            l.client.callServerFunction("CloseTabByIndex", e).catch()
        }

        handleUpdateCurrent(e) {
            this.currentCopy !== e && l.client.callServerFunction("SelectTab", e).catch(), s.ipcRenderer.send("total-tabs-hide"), this.win.hide()
        }

        created() {
            return r(this, void 0, void 0, function* () {
                this.currentCopy = this.current, this.tabsCopy = this.tabs
            })
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                this.win = yield a.asyncRemoteCall.getCurrentWindow(), this.win.on("blur", () => {
                    s.ipcRenderer.send("total-tabs-hide"), this.win.hide()
                }), (yield a.asyncRemoteCall.getIpcMain()).on("total-tabs-update", (e, t) => {
                    this.tabsCopy = t.tabs, this.currentCopy = t.current
                }), this.win.show(), this.$refs["item" + this.current][0].scrollIntoView()
            })
        }
    };
    i([o.Prop()], c.prototype, "options", void 0), c = i([o.Component({})], c), t.default = c
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(395), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(3), s = n(26), a = n(5), l = n(27), c = n(823), u = n(826), d = n(675), h = n(233), f = n(1), p = n(11),
        A = n(16), v = n(24), g = n(4), m = f.default.getLogger("Individuation"), {isDef: C} = A.ThunderUtil,
        y = n(830), w = n(831), b = n(832), x = n(833);
    let E = class extends (s.mixins(l.DraggableMixin, l.PositionMixin)) {
        constructor() {
            super(...arguments), this.iconMore = y, this.themes = [{
                url: w,
                title: "默认蓝",
                colorID: 0,
                classes: "",
                key: "default"
            }, {url: b, title: "午夜黑", colorID: 1, classes: "is-dark", key: "dark"}, {
                url: x,
                title: "欢度春节",
                colorID: 2,
                classes: "is-theme",
                key: "spring_festival"
            }], this.tabs = [{title: "头像", key: "avatar"}], this.activeKey = "avatar", this.skinTabs = [{
                title: "精选",
                key: "featured"
            }], this.skinActiveKey = "featured", this.skinInfo = d.SkinHelperNS.defaultSkinInfo, this.isTemp = !1, this.lastSkinInfo = null, this.lastIsTemp = !1, this.wallpaper = null, this.shakeInfo = null, this.tempShakeWallpaper = null, this.suspensionSkinInfo = h.SuspensionSkinHelperNS.defaultSkinInfo, this.lastSuspensionSkinInfo = null, this.isLogined = !1, this.userId = "", this.isVip = 1, this.vasType = 5, this.tryCoverShow = !1, this.coverFrom = "", this.preSkinInfo = null
        }

        restoreSkin() {
            return r(this, void 0, void 0, function* () {
                C(this.lastSkinInfo) && (yield this.setSkinInfo(this.lastSkinInfo, void 0, void 0, this.lastIsTemp), this.lastSkinInfo = null, this.lastIsTemp = !1)
            })
        }

        closeWindow() {
            return r(this, void 0, void 0, function* () {
                if (this.preSkinInfo.colorID !== this.skinInfo.colorID) {
                    let e = this.themes.findIndex(e => e.colorID === this.skinInfo.colorID);
                    p.XLStatNS.trackEvent("clienttop", "skin_change_success", "", 0, 0, 0, 0, "skin_name=" + this.themes[e].key)
                }
                yield this.restoreSkin(), o.ipcRenderer.send(`message-box-resolve-${this.boxId}`, v.MessageBoxNS.Action.Close), p.XLStatNS.trackEvent("user_info", "personalized_center_close"), window.close()
            })
        }

        setSkinInfo(e, t, n = null, i = !1) {
            return r(this, void 0, void 0, function* () {
                this.wallpaper = n;
                try {
                    yield g.client.callServerFunction("SetSkinInfo", e, !0, i)
                } catch (e) {
                    m.warning(e)
                }
            })
        }

        setLastSkinInfo(e) {
            switch (this.skinActiveKey) {
                case"supervip":
                    this.restoreSkin().catch()
            }
        }

        onCoverShow(e, t) {
            this.tryCoverShow = e, this.coverFrom = t || ""
        }

        created() {
            return r(this, void 0, void 0, function* () {
                o.ipcRenderer.on("message-box-resolve-systemmenu", () => {
                    this.restoreSkin()
                }), g.client.callServerFunction("GetSkinInfoDetail").then(e => {
                    let t = e;
                    t && (this.skinInfo = t.skinInfo, this.isTemp = t.temp, this.preSkinInfo = this.skinInfo)
                }), g.client.attachServerEvent("OnChangeSkin", (e, t, n, i) => {
                    this.skinInfo = t, this.isTemp = i
                })
            })
        }

        mounted() {
            C(this.options) && (C(this.options.activeKey) && (this.activeKey = this.options.activeKey), C(this.options.skinActiveKey) && (this.skinActiveKey = this.options.skinActiveKey)), p.XLStatNS.trackEvent("clienttop", "skin_change_pop_show", "", 0, 0, 0, 0)
        }

        handleSelectTheme(e) {
            this.setSkinInfo({
                type: 0,
                colorID: this.themes[e].colorID,
                classes: this.themes[e].classes
            }), p.XLStatNS.trackEvent("clienttop", "skin_change_pop_click", "", 0, 0, 0, 0, "skin_name=" + this.themes[e].key)
        }
    };
    i([a.Prop()], E.prototype, "options", void 0), i([a.Prop()], E.prototype, "boxId", void 0), E = i([a.Component({
        components: {
            PaneSkinFeatured: u.default,
            PanelTryCover: c.default
        }
    })], E), t.default = E
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(397), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(5), s = n(1), a = n(11), l = n(4), c = n(233), u = s.default.getLogger("skin-try-cover");
    let d = class extends o.Vue {
        constructor() {
            super(...arguments), this.normalIcon = n(824), this.vipIcon = n(825), this.guideSrc = "", this.aidfrom = "", this.payconfid = "", this.openBtnClass = "xlx-skin-try__btn2"
        }

        get tryBtnText() {
            let e = "开通会员";
            {
                let t = "白金会员";
                switch (this.aidfrom = "", this.openBtnClass = "xlx-skin-try__btn2", this.currentTabKey) {
                    case"suspension":
                        this.aidfrom = "floatball_vip", this.skinInfo.type === c.SuspensionSkinHelperNS.SkinType.Vip ? this.guideSrc = this.vipIcon : this.guideSrc = this.normalIcon;
                        break;
                    case"supervip":
                        this.aidfrom = "super_skin", "supercool_shake" === this.from ? (this.guideSrc = this.tempShake && (this.tempShake.payPreview || this.tempShake.preview) || "", this.tempShake && this.tempShake.is_svip && (t = "超级会员", this.openBtnClass = "xlx-skin-try__btn", this.payconfid = "45616dd701")) : (this.guideSrc = this.wallpaper && (this.wallpaper.payPreview || this.wallpaper.preview) || "", this.wallpaper && this.wallpaper.is_svip && (t = "超级会员", this.openBtnClass = "xlx-skin-try__btn", this.payconfid = "45616dd701"))
                }
                let n = "开通";
                "超级会员" === t && this.isVip && (n = "升级"), e = `${n}${t}`
            }
            return e
        }

        get tryTitle() {
            return `正在试用，${this.tryBtnText}立即享用`
        }

        get statKtFrom() {
            let e = "";
            switch (this.currentTabKey) {
                case"suspension":
                    e = "float_ball";
                    break;
                case"supervip":
                    e = "super_skin"
            }
            return e
        }

        closeCover() {
            this.$emit("cover-show", !1), "supercool_shake" === this.from ? this.$emit("restore-shake-info") : this.lastSkinInfo && this.$emit("set-skin-info", this.lastSkinInfo)
        }

        trackEvent(e, t, n) {
            a.XLStatNS.trackEvent(e, t, "", 0, 0, 0, 0, Object.assign({
                is_login: Number(this.isLogined),
                vip_type: this.vasType
            }, n))
        }

        onClickOpenVip() {
            return r(this, void 0, void 0, function* () {
                this.$emit("cover-show", !1), this.trackEvent("user_info", "open_vip_tip_click", {
                    type: "skin",
                    button: "open_vip",
                    kt_type: "45616dd701" === this.payconfid ? "ch" : "bj",
                    kt_from: this.statKtFrom
                });
                let e = `https://pay.xunlei.com/pay.html?referfrom=v_pc_xlx_ggong_skin_kt&aidfrom=${this.aidfrom}`;
                this.payconfid && (e = `${e}&payconfid=${this.payconfid}`);
                try {
                    yield l.client.callServerFunction("OpenNewTab", e), this.$emit("close-window")
                } catch (e) {
                    u.warning(e)
                }
            })
        }
    };
    i([o.Prop()], d.prototype, "currentTabKey", void 0), i([o.Prop()], d.prototype, "skinInfo", void 0), i([o.Prop()], d.prototype, "lastSkinInfo", void 0), i([o.Prop()], d.prototype, "wallpaper", void 0), i([o.Prop()], d.prototype, "tempShake", void 0), i([o.Prop()], d.prototype, "isLogined", void 0), i([o.Prop()], d.prototype, "isVip", void 0), i([o.Prop()], d.prototype, "vasType", void 0), i([o.Prop()], d.prototype, "from", void 0), d = i([o.Component], d), t.default = d
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(399), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(3), s = n(5), a = n(827), l = n(675), c = n(4), u = n(1), d = n(828), h = n(16), f = n(8), p = n(2),
        A = n(11), v = n(237), g = f.default(p.join(__rootDir, "../bin/ThunderHelper.node")),
        m = u.default.getLogger("Individuation"), {isDef: C} = h.ThunderUtil;
    let y = null, w = class extends s.Vue {
        constructor() {
            super(...arguments), this.colorList = a.SkinConfigNS.colorList, this.skinType = l.SkinHelperNS.SkinType, this.defaultPreview = JSON.stringify(`${__rootDir}/static/default-preview.jpg`), this.updateDialogVisible = !1, this.vipDialogVisible = !1, this.loginLayerVisible = !1, this.index = null, this.showSkinNew = !0, this.skinNew = [1], this.wallpapers = []
        }

        get colorItem() {
            return this.colorList.find(e => e.id === this.skinInfo.colorID)
        }

        sget() {
            return v(...arguments)
        }

        trackEvent(e, t, n) {
            A.XLStatNS.trackEvent(e, t, "", 0, 0, 0, 0, Object.assign({
                is_login: Number(this.isLogined),
                is_vip: Number(this.isVip)
            }, n))
        }

        changeWallpaper(e, t) {
            return r(this, void 0, void 0, function* () {
                if (e.is_vip && this.isLogined && !this.isVip && (this.vipDialogVisible = !0, this.$emit("update-last-skin-info"), this.trackEvent("user_info", "open_vip_tip_show", {type: "skin"})), !e.is_dynamic || C(this.options.dynamicSkinVersion) && h.ThunderUtil.versionCompare(this.options.version, this.options.dynamicSkinVersion) >= 0) {
                    let n = yield d.default.getImage(e), i = !!e.is_vip;
                    this.$emit("set-skin-info", {
                        type: l.SkinHelperNS.SkinType.Wallpaper,
                        colorID: e.color,
                        image: n,
                        opacity: e.transparency / 100,
                        skinID: e.id,
                        is_spring_festival: "春节皮肤" === e.name
                    }, t, e, i)
                } else this.vipDialogVisible || (this.updateDialogVisible = !0, this.trackEvent("user_info", "update_now"))
            })
        }

        updateApp() {
            g.startManualUpdateWithUI(), this.updateDialogVisible = !0, this.trackEvent("user_info", "click_update_now")
        }

        openVip() {
            return r(this, void 0, void 0, function* () {
                this.trackEvent("user_info", "open_vip_tip_click", {type: "skin", button: "open_vip"});
                try {
                    yield c.client.callServerFunction("OpenNewTab", "https://pay.xunlei.com/pay.html?bizNo=baijin"), this.$emit("close-window")
                } catch (e) {
                    m.warning(e)
                }
            })
        }

        showloginDlg(e) {
            return r(this, void 0, void 0, function* () {
                try {
                    yield c.client.callServerFunction("ShowLoginDlg", "personalized_center"), this.loginLayerVisible = !1, this.vipDialogVisible = !1, o.ipcRenderer.send("update-skin-reserved", !0)
                } catch (e) {
                    m.warning(e)
                }
                "loginLayer" === e ? A.XLStatNS.trackEvent("user_info", "change_comfirm_box_click", "", 0, 0, 0, 0, {
                    id: this.index,
                    button: "confirm"
                }) : "vipDialog" === e && this.trackEvent("user_info", "open_vip_tip_click", {
                    type: "skin",
                    button: "login"
                })
            })
        }

        isChosen(e, t) {
            return e === this.skinInfo.type && (e === l.SkinHelperNS.SkinType.Default ? this.skinInfo.type === l.SkinHelperNS.SkinType.Default : e === l.SkinHelperNS.SkinType.Color ? this.skinInfo.colorID === t.id : e === l.SkinHelperNS.SkinType.Wallpaper && this.skinInfo.skinID === t.id)
        }

        setSkinInfo(e, t, n) {
            let i = e === l.SkinHelperNS.SkinType.Default ? 1 : 0;
            do {
                if (this.isChosen(e, t)) {
                    i = 1;
                    break
                }
                if (e === l.SkinHelperNS.SkinType.Default || this.isLogined || (e === l.SkinHelperNS.SkinType.Wallpaper && t.is_vip ? (this.vipDialogVisible = !0, this.trackEvent("user_info", "open_vip_tip_show", {type: "skin"})) : (this.loginLayerVisible = !0, A.XLStatNS.trackEvent("user_info", "change_comfirm_box_show")), this.$emit("update-last-skin-info")), this.index = n, e === l.SkinHelperNS.SkinType.Default ? this.$emit("set-skin-info", {
                    type: l.SkinHelperNS.SkinType.Default,
                    colorID: 0
                }, 10) : e === l.SkinHelperNS.SkinType.Color ? this.$emit("set-skin-info", {
                    type: l.SkinHelperNS.SkinType.Color,
                    colorID: t.id,
                    opacity: t.defaultOpacity
                }, n) : e === l.SkinHelperNS.SkinType.Wallpaper && this.changeWallpaper(t, n + 11), 1 !== i && (n = t.id, t.showNew)) {
                    t.showNew = !1;
                    let e = [];
                    c.client.callServerFunction("GetConfigValue", "Skin", "selectSkinId", []).then(n => r(this, void 0, void 0, function* () {
                        null !== n && void 0 !== n && ("number" == typeof n ? e.push(n) : e = n, -1 === e.indexOf(t.id) && e.push(t.id), yield c.client.callServerFunction("SetConfigValue", "Skin", "selectSkinId", e), yield c.client.callServerFunction("SaveConfig"))
                    }))
                }
            } while (0);
            this.trackEvent("user_info", "click_member_exclusive", {
                type: "skin",
                is_member_exclusive: e === l.SkinHelperNS.SkinType.Wallpaper ? Number(t.is_vip) : 0,
                id: n,
                tag: i
            })
        }

        closeLoginLayer() {
            this.loginLayerVisible = !1, this.$emit("restore-skin"), A.XLStatNS.trackEvent("user_info", "change_comfirm_box_click", "", 0, 0, 0, 0, {
                id: this.index,
                button: "close"
            })
        }

        loadWallpapers(e) {
            return r(this, void 0, void 0, function* () {
                try {
                    y = [];
                    let t = JSON.parse(localStorage.getItem("wallpapers"));
                    null !== t && (y = t.sort((e, t) => e.manual_order - t.manual_order));
                    let n = ((yield d.default.getWallpapers()) || []).sort((e, t) => e.manual_order - t.manual_order);
                    n.length > 0 && (y = n);
                    let i = new Date;
                    for (let t of y) i.getTime() - t.updated_at < 6048e5 ? -1 === e.indexOf(t.id) && (t.showNew = !0) : t.showNew = !1;
                    m.information("获取壁纸", y), this.wallpapers = y
                } catch (e) {
                    m.warning(e)
                }
            })
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                if (y) this.wallpapers = y; else {
                    let e = [], t = yield c.client.callServerFunction("GetConfigValue", "Skin", "selectSkinId", []);
                    "number" == typeof t ? e.push(t) : e = t, this.loadWallpapers(e).catch()
                }
            })
        }
    };
    i([s.Prop()], w.prototype, "options", void 0), i([s.Prop()], w.prototype, "skinInfo", void 0), i([s.Prop()], w.prototype, "wallpaper", void 0), i([s.Prop()], w.prototype, "isLogined", void 0), i([s.Prop()], w.prototype, "isVip", void 0), w = i([s.Component], w), t.default = w
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(401), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(3), s = n(26), a = n(5), l = n(27), c = n(24), u = n(674);
    let d = class extends (s.mixins(l.DraggableMixin, l.PositionMixin)) {
        constructor() {
            super(...arguments), this.type = "HTTP", this.proxyName = "", this.host = "", this.port = 80, this.userName = "", this.passWord = "", this.butText = "测试", this.timeId = void 0
        }

        handleClickHttp() {
            this.port = 80
        }

        handleClickSock() {
            this.port = 1080
        }

        handleClose(e) {
            window.close()
        }

        handleOK(e) {
            !this.proxyName || this.proxyName.length < 1 || !this.host || this.host.length < 1 || (o.ipcRenderer.send(`message-box-resolve-${this.boxId}`, c.MessageBoxNS.Action.OK, {
                name: this.proxyName,
                host: this.host,
                port: this.port,
                type: this.type,
                userName: this.userName,
                passWord: this.passWord
            }), window.close())
        }

        handleTest() {
            return r(this, void 0, void 0, function* () {
                this.butText = "测试中…", this.timeId = setTimeout(() => {
                    this.timeId = void 0, this.butText = "测试超时"
                }, 1e4);
                let e = u.ProxyNS.ProxyType.Http;
                "SOCKS5" === this.type && (e = u.ProxyNS.ProxyType.Sock5);
                let t = yield u.ProxyNS.verifyProxy(this.host, this.port, this.userName, this.passWord, e);
                this.timeId && (clearTimeout(this.timeId), t === u.ProxyNS.ProxyVerifyResult.Sucess ? this.butText = "测试成功" : t === u.ProxyNS.ProxyVerifyResult.Timeout ? this.butText = "测试超时" : this.butText = "测试失败")
            })
        }

        handleInput(e) {
            this.port = e.target.value.replace(/[^\d]/g, "")
        }

        mounted() {
            this.proxy = this.options, this.proxy && this.proxy.name && this.proxy.name.length > 0 && (this.proxyName = this.proxy.name, this.host = this.proxy.host, this.port = this.proxy.port, this.type = this.proxy.type, this.userName = this.proxy.userName, this.passWord = this.proxy.passWord)
        }
    };
    i([a.Prop()], d.prototype, "options", void 0), i([a.Prop()], d.prototype, "boxId", void 0), d = i([a.Component], d), t.default = d
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(403), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(26), o = n(5), s = n(27), a = n(225), l = n(3), c = n(24), u = n(81), d = n(1), h = n(4);
    n(1133);
    const f = d.default.getLogger("ThunderBirdKey");
    let p = class extends (r.mixins(s.DraggableMixin, s.PositionMixin)) {
        constructor() {
            super(...arguments), this.userheadURL = "", this.userName = "", this.inputPassword = "", this.isPasswordError = !1, this.userCenterWeb = "", this.avatarLinkProtocol = "http"
        }

        onCheckPwdAndParse() {
            f.information("校验密码,inputPassword=", this.inputPassword, " 设定密码password=", this.options.taskUrlItem.password), this.inputPassword === this.options.taskUrlItem.password ? (this.isPasswordError = !1, l.ipcRenderer.send(`message-box-resolve-${this.boxId}`, c.MessageBoxNS.Action.OK, {success: !0}), window.close()) : this.isPasswordError = !0
        }

        getUserAvatar(e) {
            let t = e || 0;
            return `${this.avatarLinkProtocol}://img.user.kanimg.com/usrimg/${t}/300x300`
        }

        handleKeyDown() {
            this.onCheckPwdAndParse()
        }

        hanldeInput(e) {
            if ("string" != typeof e) return;
            this.isPasswordError = !1;
            let t = new RegExp("^[0-9a-zA-Z]+$"), n = e.match(t), i = this.inputPassword;
            this.inputPassword = e, n && n.length > 0 ? this.inputPassword = e : this.inputPassword = i, "" === e && (this.inputPassword = e)
        }

        onClickClose() {
            l.ipcRenderer.send(`message-box-resolve-${this.boxId}`, c.MessageBoxNS.Action.Cancel, {success: !1}), window.close()
        }

        onClickUserInfo() {
            "" !== this.userCenterWeb && h.client.callServerFunction("OpenNewTab", this.userCenterWeb).catch()
        }

        mounted() {
            let e = this.options.taskUrlItem.userid || 0;
            f.information("查询的用户ID=", this.options.taskUrlItem.userid), a.getUserNameByID(e.toString()).then(t => {
                f.information("获取用户：", e, " 的昵称回应:", t), t.data && t.data.user_info && (this.userName = t.data.user_info.nick_name)
            }), this.userheadURL = this.getUserAvatar(e), this.userCenterWeb = "http://pc.xunlei.com/d#/users/" + e + "?entrypage=birdkey_passwordcheck&entry=birdkey_passwordcheck_headimg", this.$nextTick(() => {
                u.ThunderWindowNS.resizeToFitContent(400, 260), u.ThunderWindowNS.fitWindowPosInParent()
            }), l.ipcRenderer.on("message-box-resolve-systemmenu", () => {
                l.ipcRenderer.send(`message-box-resolve-${this.boxId}`, c.MessageBoxNS.Action.Close)
            })
        }
    };
    i([o.Prop()], p.prototype, "options", void 0), i([o.Prop()], p.prototype, "boxId", void 0), p = i([o.Component({})], p), t.default = p
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(405), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(26), s = n(5), a = n(27), l = n(1), c = n(4), u = l.default.getLogger("shoulei-qrcode"), d = n(182),
        h = {margin: 0, width: 100};
    let f = class extends (o.mixins(a.DraggableMixin, a.PositionMixin)) {
        handleCancel(e) {
            return r(this, void 0, void 0, function* () {
                yield c.client.callServerFunction("TrackEvent", "download_leftpanel", "send2phone_qr_close", "", 0, 0, 0, 0, ""), window.close()
            })
        }

        created() {
            return r(this, void 0, void 0, function* () {
                u.information("dwz data = ", this.options.data), this.$nextTick(() => {
                    let e = document.getElementById("qrcodecanvas");
                    d.toCanvas(e, this.options.data, h, e => {
                        u.information("dwz error = ", e)
                    })
                }), yield c.client.callServerFunction("TrackEvent", "download_leftpanel", "send2phone_qr_show", "", 0, 0, 0, 0, "type=1")
            })
        }
    };
    i([s.Prop()], f.prototype, "options", void 0), f = i([s.Component], f), t.default = f
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(407), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(26), s = n(5), a = n(27), l = n(43), c = n(4), u = n(16), d = n(81), h = n(11),
        f = n(1).default.getLogger("DownloadDataVue"), p = n(229);
    let A = class extends (o.mixins(a.DraggableMixin, a.PositionMixin)) {
        constructor() {
            super(...arguments), this.downloadDataInfo = {
                totalDownloadSpeed: 0,
                totalUploadSpeed: 0,
                todayDownloadSize: 0,
                todayUploadSize: 0,
                totalDownloadSize: 0,
                totalUploadSize: 0,
                totalProviders: 0,
                totalBenifites: 0,
                maxDownloadSpeed: 0,
                maxUploadSpeed: 0,
                downloadFinishFiles: 0,
                vipAccPercent: 0,
                vipDonwloadSize: 0,
                vipSave: 0
            }, this.imgUrl = p, this.isVip = 1, this.userNick = "", this.userID = "", this.vipData = null, this.isYear = 0, this.yearIcon = "vip-icon-nian is-disabled"
        }

        onIsVipChange(e) {
            e && this.$nextTick(() => {
                d.ThunderWindowNS.resizeToFitContent(450, 523)
            })
        }

        getCurUserHeader() {
            this.imgUrl = p, f.information("getCurUserHeader:", this.userID), l.NativeCallModule.nativeCall.CallNativeFunction("GetUserHeaderByUserID", this.userID, (e, t) => {
                null !== t && void 0 !== t && "" !== t && (this.imgUrl = `${t}?_=${Date.now()}`)
            })
        }

        updateUserData() {
            l.NativeCallModule.nativeCall.CallNativeFunction("GetAllUserInfo", (e, t) => {
                f.information(e, t);
                do {
                    if (null === t || void 0 === t) break;
                    if (this.userID = t.userID, this.userNick = u.ThunderUtil.unescapeHTML(t.nickName), this.getCurUserHeader(), null === t.vipList || void 0 === t.vipList) break;
                    if (null === t.vipList[0] || void 0 === t.vipList[0]) break;
                    let e = t.vipList[0];
                    this.vipData = [{
                        VIPLevel: e.vipLevel,
                        isVIP: e.isVip,
                        isYear: e.isYear,
                        uid: t.userID,
                        vasID: 2,
                        vasType: e.vasType
                    }], this.isYear = 1, this.isVip = 1
                } while (0)
            })
        }

        get vipClass() {
            let e = this.vipInfo(this.vipData), t = e.vipClass;
            return (e.isStop || "0" === e.level || e.disabled || !e.isVip) && (t += " is-disabled"), t
        }

        get userYearIcon() {
            return 0 !== this.isYear && 0 !== this.isVip ? this.yearIcon = "vip-icon-nian" : this.yearIcon = "vip-icon-nian is-disabled", this.yearIcon
        }

        get downloadSpeed() {
            let e = "";
            return e = u.ThunderUtil.formatSize(this.downloadDataInfo.totalDownloadSpeed, 1) + "/s"
        }

        get uploadSpeed() {
            let e = "";
            return e = u.ThunderUtil.formatSize(this.downloadDataInfo.totalUploadSpeed, 1) + "/s"
        }

        get todayDownloadSize() {
            let e = "";
            return e = u.ThunderUtil.formatSize(this.downloadDataInfo.todayDownloadSize)
        }

        get todayUploadSize() {
            let e = "";
            return e = u.ThunderUtil.formatSize(this.downloadDataInfo.todayUploadSize)
        }

        get totalDownloadSize() {
            let e = "";
            return e = u.ThunderUtil.formatSize(this.downloadDataInfo.totalDownloadSize)
        }

        get totalUploadSize() {
            let e = "";
            return e = u.ThunderUtil.formatSize(this.downloadDataInfo.totalUploadSize)
        }

        get maxDownloadSpeed() {
            let e = "";
            return e = u.ThunderUtil.formatSize(this.downloadDataInfo.maxDownloadSpeed, 1) + "/s"
        }

        get maxUploadSpeed() {
            let e = "";
            return e = u.ThunderUtil.formatSize(this.downloadDataInfo.maxUploadSpeed, 1) + "/s"
        }

        get downloadFinishFiles() {
            return this.bigNumber(this.downloadDataInfo.downloadFinishFiles)
        }

        get totalProviders() {
            return this.bigNumber(this.downloadDataInfo.totalProviders)
        }

        get totalBenifites() {
            return this.bigNumber(this.downloadDataInfo.totalBenifites)
        }

        get vipAccPercent() {
            let e = "-- %";
            return this.isVip && (e = 0 === this.downloadDataInfo.vipAccPercent ? "0.0%" : (100 * this.downloadDataInfo.vipAccPercent).toFixed(1) + "%"), e
        }

        get vipDonwloadSize() {
            let e = "-- GB";
            return this.isVip && (e = u.ThunderUtil.formatSize(this.downloadDataInfo.vipDonwloadSize)), e
        }

        get vipSave() {
            let e = "-- 天";
            return this.isVip && (e = this.formatTime(this.downloadDataInfo.vipSave)), e
        }

        bigNumber(e) {
            let t = "0";
            do {
                if (e < 1e4) {
                    t = e.toString();
                    break
                }
                if (e % 1e4 < 100) {
                    t = Math.floor(e / 1e4) + "万";
                    break
                }
                t = (e / 1e4).toFixed(2) + "万"
            } while (0);
            return t
        }

        formatTime(e) {
            let t = "", n = ["秒", "分", "小时", "天", "年"], i = [60, 60, 24, 365], r = 0, o = 0;
            for (; e >= i[r];) o = e % i[r], e = Math.floor(e / i[r]), r += 1;
            return t = r >= 1 ? e.toString() + n[r] + o.toString() + n[r - 1] : e.toFixed(2) + n[r]
        }

        vipInfo(e) {
            if (!e || 0 === e.length) return {isVip: !1};
            let t = e.filter(e => e && 2 === (e.vasId || e.vasID))[0];
            if (t) {
                let e = t.vIPLevel || t.VIPLevel || 0,
                    n = `vip-icon-${{2: "", 3: "p", 5: "s"}[t.vasType] || ""}vip${e}`;
                return {
                    isVip: "1" === t.isVIP,
                    isStop: "2" === t.isVIP,
                    isYear: "1" === t.isYear,
                    type: t.vasType,
                    level: e,
                    vipClass: n
                }
            }
            return {isVip: !1}
        }

        openClick() {
            h.XLStatNS.trackEvent("download_leftpanel", "bottom_speed_data_pop_click", "", 0, 0, 0, 0, "button=open_membership"), c.client.callServerFunction("OpenNewTab", "https://pay.xunlei.com/pay.html?bizNo=baijin&selectBizno=baijin&timeType=1001&referfrom=v_pc_xlx_ggong_task_detail").catch(), window.close()
        }

        handleCancel(e) {
            window.close()
        }

        created() {
            return r(this, void 0, void 0, function* () {
                h.XLStatNS.trackEvent("download_leftpanel", "bottom_speed_data_pop_show"), yield this.updateUserData(), l.NativeCallModule.nativeCall.AttachNativeEvent("onGetUserInfoFinished", () => {
                    this.updateUserData()
                }), l.NativeCallModule.nativeCall.CallNativeFunction("GetInitDownloadData", (e, t) => {
                    f.information("GetInitDownloadData Enter data = ", t);
                    let n = null;
                    try {
                        n = JSON.parse(t), this.downloadDataInfo = n
                    } catch (e) {
                        f.information("excetpion ", e)
                    }
                }), l.NativeCallModule.nativeCall.AttachNativeEvent("download-data-update", e => {
                    let t = null;
                    try {
                        t = JSON.parse(e), this.downloadDataInfo = t
                    } catch (e) {
                        f.information("excetpion ", e)
                    }
                })
            })
        }
    };
    i([s.Prop()], A.prototype, "options", void 0), i([s.Watch("isVip")], A.prototype, "onIsVipChange", null), A = i([s.Component], A), t.default = A
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(409), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(2), s = n(3), a = n(7), l = n(26), c = n(5), u = n(27), d = n(24), h = n(11), f = n(4), p = n(90),
        A = n(20), v = n(840), g = n(8), m = n(852), C = g.default(o.join(__rootDir, "../bin/ThunderHelper.node"));
    let y = class extends (l.mixins(u.DraggableMixin, u.PositionMixin)) {
        constructor() {
            super(...arguments), this.detectState = v.DownloadDetectToolsNS.DetectState.None, this.detail = !1, this.percent = 0, this.currentDetectingIndex = 0, this.detectAllDetail = [], this.localIPInfo = {
                teleCommunications: "",
                localIP: ""
            }, this.isShowCopyTips = !1, this.copyTipsText = "", this.statCookie = -1, this.osVersion = "", this.thunderXVersion = "", this.downloadSDKVersion = "", this.dnsInfos = "", this.detectingItems = v.DownloadDetectToolsNS.getAllDectectItems(), this.isLogined = !1, this.uid = ""
        }

        get sortDetectingItems() {
            let e = [];
            return this.detectingItems.forEach(t => {
                this.isItemDetectFailed(t) ? e.unshift(t) : e.push(t)
            }), e
        }

        get problemItems() {
            let e = [];
            for (let t = 0; t < this.detectingItems.length; ++t) {
                let n = this.detectingItems[t];
                this.isItemDetectFailed(n) && e.unshift(n)
            }
            return e
        }

        get currentDetectDesc() {
            return void 0 !== this.currentDetectingIndex ? "正在检测" + this.detectingItems[this.currentDetectingIndex].name : ""
        }

        onLoginChange() {
            return r(this, void 0, void 0, function* () {
                this.isLogined ? this.uid = yield f.client.callServerFunction("GetUserID") : this.uid = ""
            })
        }

        getDetectItemMsg(e) {
            return e.state === v.DownloadDetectToolsNS.DetectState.None ? "正在扫描..." : e.state === v.DownloadDetectToolsNS.DetectState.Started ? "正在诊断" + e.name + "..." : e.state === v.DownloadDetectToolsNS.DetectState.Success ? (-1 !== e.name.indexOf("服务") ? "连接" : "查询") + e.name + "正常" : e.type === v.DownloadDetectToolsNS.DetectItemType.HostsTamper ? e.detectDesc : (-1 !== e.name.indexOf("服务") ? "连接" : "查询") + e.name + "失败"
        }

        get showStart() {
            return this.detectState === v.DownloadDetectToolsNS.DetectState.None
        }

        get showDetecting() {
            return this.detectState !== v.DownloadDetectToolsNS.DetectState.None && !this.detail
        }

        get isDetecting() {
            return this.detectState === v.DownloadDetectToolsNS.DetectState.Started
        }

        get isDetectFinish() {
            return this.detectState === v.DownloadDetectToolsNS.DetectState.Success || this.detectState === v.DownloadDetectToolsNS.DetectState.Failed
        }

        get isDetectSuccess() {
            return this.detectState === v.DownloadDetectToolsNS.DetectState.Success
        }

        get localIPInfoTitle() {
            let e = "";
            do {
                if (!this.localIPInfo || this.localIPInfo.teleCommunications.length <= 0) break;
                if (e += this.localIPInfo.teleCommunications, this.localIPInfo.localIP.length <= 0) break;
                e += "（" + this.localIPInfo.localIP + "）"
            } while (0);
            return e
        }

        itemIconClass(e) {
            if (!this.isItemDetectFinish(e)) return "loading";
            if (this.isItemDetectSuccess(e)) return "success";
            return "error"
        }

        expandItem(e) {
            e.expand = !e.expand
        }

        isItemDetectFinish(e) {
            return e.state === v.DownloadDetectToolsNS.DetectState.Success || e.state === v.DownloadDetectToolsNS.DetectState.Failed
        }

        isItemDetectSuccess(e) {
            return e.state === v.DownloadDetectToolsNS.DetectState.Success
        }

        isItemDetectFailed(e) {
            return e.state === v.DownloadDetectToolsNS.DetectState.Failed
        }

        handleClose() {
            s.ipcRenderer.send(`message-box-resolve-${this.boxId}`, d.MessageBoxNS.Action.Close), window.close()
        }

        handleShowDetail() {
            this.detail = !0;
            h.XLStatNS.trackEvent("xlx_download_diagnosis", "download_diagnosis_start_click", "", 0, 0, 0, 0, "button=view_detail", this.statCookie)
        }

        handleContactCustomerService() {
            f.client.callServerFunction("OpenNewTab", "http://new.xlkf.xunlei.com/live800/chatClient/chatbox.jsp?companyID=8950&configID=69&enterurl=xl11.xunlei.com&robot_ud_xl11=xl11").catch()
        }

        handleDetectAgain() {
            return r(this, void 0, void 0, function* () {
                return h.XLStatNS.trackEvent("xlx_download_diagnosis", "download_diagnosis_start_click", "", 0, 0, 0, 0, "button=diasgnosis_again", this.statCookie), v.DownloadDetectToolsNS.restart("restartButton")
            })
        }

        handleStartDetect(e) {
            return r(this, void 0, void 0, function* () {
                let t = "button=" + e;
                h.XLStatNS.trackEvent("xlx_download_diagnosis", "download_diagnosis_start_click", "", 0, 0, 0, 0, t, this.statCookie), this.$nextTick(() => r(this, void 0, void 0, function* () {
                    v.DownloadDetectToolsNS.start("startButton")
                }))
            })
        }

        handleDetailReturn() {
            this.detail = !1
        }

        getDetectDetails() {
            let e = "";
            do {
                let t = document.querySelector(".analysis-result-list");
                if (!t) break;
                let n = t.children;
                if (!n) break;
                let i = [];
                for (let e = 0; e < n.length; e++) {
                    let t = n[e];
                    if (!t) continue;
                    let r = t.innerText.replace(/\n/g, " ");
                    i.push(r)
                }
                e = i.join("\r\n")
            } while (0);
            return e
        }

        handleDetailSave() {
            return r(this, void 0, void 0, function* () {
                let e = yield a.asyncRemoteCall.getCurrentWindow(), t = "诊断日志.txt";
                this.localIPInfo && this.localIPInfo.teleCommunications.length > 0 && (t = "诊断日志（" + this.localIPInfo.teleCommunications + "）.txt");
                let n = {defaultPath: t};
                (yield a.asyncRemoteCall.getDialog()).showSaveDialog(e, n).then(e => r(this, void 0, void 0, function* () {
                    let t = e.filePath;
                    if (t && "" !== t) {
                        let e = o.dirname(t);
                        if (yield A.FileSystemAWNS.mkdirsAW(e)) {
                            let e = this.getDetectDetails();
                            A.FileSystemAWNS.writeFileAW(t, e).catch()
                        }
                    }
                })).catch()
            })
        }

        handleDetailCopy() {
            let e = this.getDetectDetails();
            e && (s.clipboard.writeText(e), this.copyTipsText = "复制成功", this.isShowCopyTips = !0)
        }

        addDetectDetail(e) {
            let t = new Date, n = p.TimeHelperNS.formatDate(t, "yyyy-MM-dd"),
                i = p.TimeHelperNS.formatDate(t, "hh:mm:ss");
            this.detectAllDetail.push({date: n, time: i, desc: e})
        }

        onDetectStart() {
            this.detectAllDetail = [], this.detectState = v.DownloadDetectToolsNS.DetectState.Started, this.addDetectDetail("开始诊断"), this.$nextTick(() => r(this, void 0, void 0, function* () {
                this.resizeToFitContent()
            }))
        }

        onDetectStartItem(e, t) {
            this.currentDetectingIndex = t
        }

        onDetectStatusChange(e, t) {
            this.addDetectDetail(t)
        }

        onDetectFinishItem(e, t, n) {
            this.percent = Math.floor(100 * t / this.detectingItems.length)
        }

        onDetectFinish(e) {
            this.detectState = e;
            let t = v.DownloadDetectToolsNS.getDNSList();
            this.dnsInfos = t.join(",")
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                document.addEventListener("click", () => {
                    this.isShowCopyTips = !1
                });
                const e = yield Promise.resolve().then(() => n(14));
                this.osVersion = e.release();
                let t = o.join(__rootDir, "../../Thunder.exe");
                this.thunderXVersion = C.getFileVersion(t);
                let i = o.join(__rootDir, "../bin/SDK/DownloadSDK.dll");
                this.downloadSDKVersion = C.getFileVersion(i), v.DownloadDetectToolsNS.attachListener(v.DownloadDetectToolsNS.DetectEvent.Start, this.onDetectStart), v.DownloadDetectToolsNS.attachListener(v.DownloadDetectToolsNS.DetectEvent.StartItem, this.onDetectStartItem), v.DownloadDetectToolsNS.attachListener(v.DownloadDetectToolsNS.DetectEvent.StatusChange, this.onDetectStatusChange), v.DownloadDetectToolsNS.attachListener(v.DownloadDetectToolsNS.DetectEvent.FinishItem, this.onDetectFinishItem), v.DownloadDetectToolsNS.attachListener(v.DownloadDetectToolsNS.DetectEvent.Finish, this.onDetectFinish), v.DownloadDetectToolsNS.getLocalIPInfo().then(e => {
                    e && (this.localIPInfo.teleCommunications = e.teleCommunications, this.localIPInfo.localIP = e.localIP)
                }), this.statCookie = yield f.client.callServerFunction("GetDetectStatCookie")
            })
        }
    };
    i([c.Prop()], y.prototype, "boxId", void 0), i([c.Watch("isLogined")], y.prototype, "onLoginChange", null), y = i([c.Component({components: {IsLoginCtrl: m.default}})], y), t.default = y
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(411), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(5), s = n(4);
    let a = class extends o.Vue {
        constructor() {
            super(...arguments), this.loginCookie = -1, this.loginoutCookie = -1
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                this.loginCookie = s.client.attachServerEvent("OnLoginSuc", (e, ...t) => {
                    this.$emit("input", !0)
                }), this.loginoutCookie = s.client.attachServerEvent("OnLogout", (e, ...t) => {
                    this.$emit("input", !1)
                });
                let e = yield s.client.callServerFunction("IsLogined");
                this.$emit("input", e)
            })
        }

        destroyed() {
            -1 !== this.loginCookie && (s.client.detachServerEvent("OnLoginSuc", this.loginCookie), this.loginCookie = -1), -1 !== this.loginoutCookie && (s.client.detachServerEvent("OnLogout", this.loginoutCookie), this.loginoutCookie = -1)
        }
    };
    i([o.Prop({})], a.prototype, "value", void 0), a = i([o.Component({})], a), t.default = a
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(413), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(3), s = n(7), a = n(26), l = n(5), c = n(4), u = n(11), d = n(1), h = n(137), f = n(24), p = n(27),
        A = d.default.getLogger("task filter");
    var v;
    !function (e) {
        e[e.Name = 1] = "Name", e[e.Filter = 2] = "Filter"
    }(v || (v = {}));
    const g = {label: "", extFilter: "", nameFilter: "", extFilterInput: "", nameFilterInput: ""};
    let m = class extends (a.mixins(p.PositionMixin)) {
        constructor() {
            super(...arguments), this.isWarning = !1, this.warningTips1 = "", this.warningTips2 = "", this.disabled = !0, this.selectLabel = "自定义", this.changed = !1, this.messageContent = "修改成功!", this.editItem = Object.assign({}, g), this.items = []
        }

        get saveEnable() {
            let e = !1;
            do {
                if (!this.editItem.label.trim()) break;
                if (!this.editItem.nameFilterInput.trim() && !this.editItem.extFilterInput.trim()) break;
                e = this.changed
            } while (0);
            return e
        }

        handleCancel(e) {
            o.ipcRenderer.send(`message-box-resolve-${this.boxId}`, f.MessageBoxNS.Action.Close), window.close()
        }

        removeFilter(e, t) {
            return r(this, void 0, void 0, function* () {
                let n = yield s.asyncRemoteCall.getCurrentWindow();
                h.MessageBox.pop({
                    title: "",
                    size: "small",
                    message: `确定删除“${e.label}”筛选项？`,
                    parentId: n.id
                }, {width: 300, height: 170, center: !0}).then(n => r(this, void 0, void 0, function* () {
                    if (n.action === f.MessageBoxNS.Action.OK) {
                        for (let t = 0; t < this.items.length; t++) if (this.items[t].label === e.label) {
                            this.items.splice(t, 1);
                            break
                        }
                        e.label === this.selectLabel && this.onSelectChange(this.items[t], t), this.saveConfig({
                            reason: "remove",
                            data: {label: e.label}
                        })
                    }
                })).catch()
            })
        }

        onSelectChange(e, t) {
            this.selectLabel = e.label, this.editItem = Object.assign({}, g, e), "custom" === e.id && (this.editItem.label = "", this.editItem.id = void 0), e.nameFilter && (this.editItem.nameFilterInput = e.nameFilter.split("|").join("\r\n"), this.editItem.nameFilterInput && (this.editItem.nameFilterInput = this.editItem.nameFilterInput + "\r\n")), e.extFilter && (this.editItem.extFilterInput = e.extFilter.split("|").join("\r\n"), this.editItem.extFilterInput && (this.editItem.extFilterInput = this.editItem.extFilterInput + "\r\n")), this.changed = !1
        }

        scrollNavIntoView(e) {
            this.$nextTick(() => {
                do {
                    let t = this.$refs.nav;
                    if (!t) break;
                    let n = t.children[e];
                    if (!n) break;
                    n.scrollIntoViewIfNeeded()
                } while (0)
            })
        }

        handleLabelChange(e) {
            this.changed = !0, this.editItem.label = e, this.warningTips1 = "", this.isWarning = !1
        }

        handleNameFilterChange(e) {
            this.changed = !0, this.editItem.nameFilterInput = e, this.warningTips2 = ""
        }

        hanleExtFilterChange(e) {
            this.changed = !0, this.editItem.extFilterInput = e, this.warningTips2 = ""
        }

        checkValid() {
            let e = 0;
            do {
                let t = this.editItem.label.trim();
                if (!t || "自定义" === t) {
                    e = 1, this.warningTips1 = "请输入有效的筛选项名称", this.isWarning = !0;
                    break
                }
                if (t.length > 30) {
                    e = 1, this.warningTips1 = "筛选项名称不能超过30个字", this.isWarning = !0;
                    break
                }
                let n = this.editItem.extFilterInput.trim(), i = this.editItem.nameFilterInput.trim();
                if (!n && !i) {
                    e = 2, this.warningTips2 = "文件名和扩展名必须有一项不为空";
                    break
                }
                if (i.match(/[\/\\"<>\?\*:|]/)) {
                    e = 3, this.warningTips2 = '文件名不能包含下列任何字符： \\ / : * ? " < > |';
                    break
                }
                if (n.match(/[\/\\"<>\?\*:|]/)) {
                    e = 3, this.warningTips2 = '扩展名不能包含下列任何字符： \\ / : * ? " < > |';
                    break
                }
            } while (0);
            return e
        }

        isLabelExist(e) {
            let t = !1;
            for (let n of this.items) if (e === n.label) {
                t = !0;
                break
            }
            return t
        }

        getModifyInfo() {
            let e = this.editItem.label.trim(), t = {type: void 0, label: e};
            t.lastSelect = e, this.selectLabel !== e && (t.lastSelect = this.selectLabel, t.type = v.Name);
            for (let e = 0; e < this.items.length; e++) if (this.items[e].label === this.selectLabel) {
                this.items[e].extFilter === this.editItem.extFilter && this.items[e].nameFilter === this.editItem.nameFilter || (t.type |= v.Filter, t.extFilter = this.editItem.extFilter, t.nameFilter = this.editItem.nameFilter);
                break
            }
            return t
        }

        saveConfig(e) {
            do {
                let t = "";
                if (!e || !e.reason) break;
                let n = e.reason;
                if ("add" === n ? t = "新增成功！" : "remove" === n ? t = "删除成功！" : "modify" === n && (t = "修改成功!"), t && (this.messageContent = t, this.$refs.message.show()), "modify" === n && void 0 === e.data.type) {
                    A.information("no modify");
                    break
                }
                c.client.callServerFunction("SaveTaskFilters", this.items.slice(0, -1), e).catch()
            } while (0)
        }

        onSave() {
            do {
                if (0 !== this.checkValid()) break;
                if (this.editItem.extFilter = this.editItem.extFilterInput.trim().replace(/\r\n/g, "|").replace(/\n/g, "|"), this.editItem.nameFilter = this.editItem.nameFilterInput.trim().replace(/\r\n/g, "|").replace(/\n/g, "|"), "自定义" === this.selectLabel) {
                    let e = this.editItem.label.trim();
                    if ("全部" === e || "BT任务" === e || "任务组" === e || this.isLabelExist(e)) {
                        this.warningTips1 = "筛选项名称已存在！", this.isWarning = !0;
                        break
                    }
                    this.items.splice(this.items.length - 1, 0, this.editItem), this.onSelectChange(this.editItem, this.items.length - 2), this.scrollNavIntoView(this.items.length - 2), this.saveConfig({reason: "add"});
                    let t = `category=${encodeURIComponent(e)}`;
                    u.XLStatNS.trackEvent("download_leftpanel", "finished_tab_add_new_custom", "", 0, 0, 0, 0, t);
                    break
                }
                let e = this.getModifyInfo();
                for (let t = 0; t < this.items.length; t++) if (this.items[t].label === this.selectLabel) {
                    this.items.splice(t, 1, this.editItem), this.onSelectChange(this.editItem, t), this.saveConfig({
                        reason: "modify",
                        data: e
                    });
                    break
                }
            } while (0)
        }

        mounted() {
            do {
                if (void 0 === this.options || null === this.options) break;
                let e = this.options.items;
                if (!e) break;
                let t = null;
                try {
                    t = JSON.parse(e)
                } catch (e) {
                }
                if (null === t) break;
                this.items = t, this.scrollNavIntoView(this.items.length - 1)
            } while (0)
        }
    };
    i([l.Prop()], m.prototype, "options", void 0), i([l.Prop()], m.prototype, "boxId", void 0), m = i([l.Component], m), t.default = m
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(415), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(3), s = n(7), a = n(26), l = n(5), c = n(27), u = n(24), d = n(1), h = n(4), f = n(8), p = n(2),
        A = n(11), v = f.default(p.join(__rootDir, "../bin/ThunderHelper.node")),
        g = d.default.getLogger("download-detect-tools");
    let m = class extends (a.mixins(c.DraggableMixin, c.PositionMixin)) {
        constructor() {
            super(...arguments), this.countDownSeconds = 60, this.launchingFileAssistant = !1
        }

        handleClose() {
            o.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.Close), window.close()
        }

        handleQuickMode() {
            return r(this, void 0, void 0, function* () {
                A.XLStatNS.trackEvent("core_event", "apply_for_disk_space_fast"), this.launchingFileAssistant = !0;
                let e = (yield(yield s.asyncRemoteCall.getCurrentWindow()).getNativeWindowHandle()).readUIntLE(0, 4);
                v.enableWindow(e, !1), 0 === (yield h.client.callServerFunction("LaunchFileAssistant")) && A.XLStatNS.trackEvent("core_event", "apply_for_disk_space_fast_succ"), v.enableWindow(e, !0), o.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.OK), this.launchingFileAssistant = !1, window.close()
            })
        }

        selectTraditionalMode() {
            o.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.Cancel), window.close()
        }

        handleTraditionalMode() {
            A.XLStatNS.trackEvent("core_event", "apply_for_disk_space_normal"), this.selectTraditionalMode()
        }

        mounted() {
            g.information("CreateBigFile mounted"), A.XLStatNS.trackEvent("core_event", "apply_for_disk_space_show"), setInterval(() => {
                this.launchingFileAssistant || (this.countDownSeconds--, 0 === this.countDownSeconds && this.selectTraditionalMode())
            }, 1e3)
        }
    };
    i([l.Prop()], m.prototype, "boxId", void 0), m = i([l.Component], m), t.default = m
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(417), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(3), o = n(26), s = n(5), a = n(24), l = n(27), c = n(11);
    let u = class extends (o.mixins(l.PositionMixin)) {
        get imgSrc() {
            let e = "";
            do {
                if (!this.options) break;
                if (!this.options.src) break;
                e = this.options.src
            } while (0);
            return e
        }

        get imgStyle() {
            let e = "";
            do {
                if (!this.options) break;
                if (!this.options.width || !this.options.height) break;
                e = `margin-top: -30px; width: ${this.options.width}px; height: ${this.options.height}px; background-size: 100% 100%;`
            } while (0);
            return e
        }

        handleCloseButton() {
            c.XLStatNS.trackEvent("clienttop", "guid_download_shoulei_click"), r.ipcRenderer.send(`message-box-resolve-${this.boxId}`, a.MessageBoxNS.Action.Close), window.close()
        }

        mounted() {
            c.XLStatNS.trackEvent("clienttop", "guid_download_shoulei_show")
        }
    };
    i([s.Prop()], u.prototype, "boxId", void 0), i([s.Prop()], u.prototype, "options", void 0), u = i([s.Component], u), t.default = u
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(419), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(26), s = n(5), a = n(27), l = n(24), c = n(1), u = n(3), d = n(81), h = n(4), f = n(11), p = n(2),
        A = n(8), v = n(90), g = n(225), m = n(141), C = n(182), y = {margin: 0, width: 72},
        w = c.default.getLogger("copy-link-share"), b = A.default(p.join(__rootDir, "../bin/ThunderHelper.node"));
    let x = class extends (o.mixins(a.DraggableMixin, a.PositionMixin)) {
        constructor() {
            super(...arguments), this.loading = !0, this.failed = !1, this.shareLink = "", this.shareLinkDlj = "", this.birdkeyStatus = 0, this.taskBirdKeyData = "", this.curBirdKey = "", this.expiresDate = "", this.isChecked = !1, this.encryptBirdKey = "", this.commonBirdKey = "", this.userpwd = "", this.encryptTextTemplate = "", this.textTemplate = "", this.messageType = "success", this.messageText = "", this.copyBtnDisabled = !1, this.picUrlPrefix = "https://sl-m-ssl.xunlei.com/h5/page/download-share/images/", this.hasPicExtList = "3gp;.3pg;.7z;.apk;.avi;.doc;.docx;.flv;.mkv;.mov;.mp4;.mpg;.png;.ppt;.pptx;.rar;.rm;.rmvb;.tar;.txt;.web;.wmv;.xls;.xlsx;.zip;", this.musicExtList = ".wav;.flac;.mp3;.aac;.wma;.m4a;.mid;.ape;.ogg;.ra;.mod;", this.musicPic = "music.png", this.torrentPic = "bt.png", this.unknownPic = "other.png"
        }

        get birdkeyText() {
            let e = "";
            return e = this.isChecked && "" !== this.userpwd ? (e = (e = this.encryptTextTemplate.replace("$key$", this.curBirdKey)).replace("$passwd$", this.userpwd)).replace("$date$", this.expiresDate) : (e = this.textTemplate.replace("$key$", this.curBirdKey)).replace("$date$", this.expiresDate)
        }

        handleCheck(e) {
            this.isChecked = e;
            let t = "", n = !1;
            this.userpwd = "", this.isChecked ? (t = "common", n = !0) : (t = "encrypted", n = !1), g.setBirdKeyPriority(this.taskBirdKeyData, t, n).then(e => {
                e && 200 === e.status && (this.isChecked ? this.onEncryptKey() : "" === this.commonBirdKey ? g.queryBirdKeyInfo(this.taskBirdKeyData, this.options.userId).then(e => {
                    if (e && "ok" === e.result) {
                        this.curBirdKey = e.bird_key;
                        let t = (new Date).getTime(), n = new Date(t + 5184e6);
                        this.expiresDate = v.TimeHelperNS.formatDate(n, "yyyy年MM月d日")
                    }
                }) : this.curBirdKey = this.commonBirdKey)
            })
        }

        onEncryptKey() {
            let e = "";
            e = this.isChecked ? "encrypted" : "common", this.options.userId ? this.handleEncryptBirdKey(this.options.userId, this.taskBirdKeyData, e) : m.default(!1, !0, "download_detail_birdkey").then(t => {
                t ? this.handleEncryptBirdKey(t, this.taskBirdKeyData, e) : this.isChecked = !1
            })
        }

        handleEncryptBirdKey(e, t, n) {
            g.encodeBirdKey(t, e, n).then(e => {
                e && 200 === e.status && (this.encryptBirdKey = e.data.bird_key, this.curBirdKey = e.data.bird_key, this.userpwd = e.data.passwd)
            })
        }

        onCopyBirdkeyBtnClick() {
            let e = this.birdkeyText;
            e = (e = (e = e.replace(/\r\n/g, "")).replace(/\n/g, "")).replace(/\s+/g, ""), u.clipboard.writeText(e), this.showTips("口令复制成功，去粘贴")
        }

        showTips(e) {
            this.messageType = "success", this.messageText = e, this.$refs.message.show()
        }

        retryEncode() {
            this.initBirdkey().catch()
        }

        handleClose(e) {
            u.ipcRenderer.send(`message-box-resolve-${this.boxId}`, l.MessageBoxNS.Action.Cancel), window.close()
        }

        handleRetry() {
            this.loading = !0, this.failed = !1, this.$nextTick(() => {
                d.ThunderWindowNS.resizeToFitContent(), this.queryShareLink().catch()
            })
        }

        handleCopyShareLink() {
            u.clipboard.writeText(this.shareLink), this.showTips("链接复制成功, 去粘贴"), f.XLStatNS.trackEvent("download_leftpanel", "share_float_click", "", 0, 0, 0, 0, "button=copy")
        }

        getPicUrl() {
            let e = `${this.picUrlPrefix}${this.unknownPic}`;
            if (this.options.ext) {
                let t = this.options.ext.substring(1), n = this.options.ext + ";";
                "torrent" === t ? e = `${this.picUrlPrefix}${this.torrentPic}.png` : -1 !== this.hasPicExtList.indexOf(n) ? e = `${this.picUrlPrefix}${t}.png` : -1 !== this.musicExtList.indexOf(n) && (e = `${this.picUrlPrefix}${this.musicPic}.png`)
            }
            return e
        }

        handleShareQQ() {
            let e = `http://connect.qq.com/widget/shareqq/index.html?url=${encodeURIComponent(this.shareLink)}&sharesource=qzone&title=${encodeURIComponent(this.options.taskName)}&pics=${this.getPicUrl()}&summary=${encodeURIComponent("邀你查看我的分享链接")}&desc=${encodeURIComponent("我正在下载这个任务")}`;
            b.openURLByDefault(e), f.XLStatNS.trackEvent("download_leftpanel", "share_float_click", "", 0, 0, 0, 0, "button=QQ"), u.ipcRenderer.send(`message-box-resolve-${this.boxId}`, l.MessageBoxNS.Action.OK), window.close()
        }

        handleShareQQZone() {
            let e = `https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=${encodeURIComponent(this.shareLink)}&sharesource=qzone&title=${encodeURIComponent(this.options.taskName)}&pics=${this.getPicUrl()}&summary=${encodeURIComponent("邀你查看我的分享链接")}&desc=${encodeURIComponent("我正在下载这个任务")}`;
            b.openURLByDefault(e), f.XLStatNS.trackEvent("download_leftpanel", "share_float_click", "", 0, 0, 0, 0, "button=QQ_Zone"), u.ipcRenderer.send(`message-box-resolve-${this.boxId}`, l.MessageBoxNS.Action.OK), window.close()
        }

        queryShareLink() {
            return r(this, void 0, void 0, function* () {
                this.shareLink = yield h.client.callServerFunction("GetShouleiShareLink", this.options.taskId, "link", this.options.shareFrom || ""), this.loading = !1, this.shareLinkDlj = yield h.client.callServerFunction("GetShouleiShareLinkDlj", this.options.taskId, "pic", this.options.shareFrom || ""), this.shareLinkDlj && "" !== this.shareLinkDlj ? (this.failed = !1, this.$nextTick(() => {
                    let e = document.getElementById("qrcodecanvas");
                    C.toCanvas(e, this.shareLinkDlj, y, e => {
                        w.information("QRCode.toCanvas error = ", e)
                    })
                })) : this.failed = !0, this.$nextTick(() => {
                    d.ThunderWindowNS.resizeToFitContent()
                })
            })
        }

        initBirdkey() {
            return r(this, void 0, void 0, function* () {
                this.birdkeyStatus = 0;
                let e = yield h.client.callServerFunction("GetTaskBirdKeyData", this.options.taskId);
                if (e && "" !== e) if (this.taskBirdKeyData = e, (e = yield g.queryBirdKeyInfo(e, this.options.userId)) && 200 === e.status && "ok" === e.data.result) {
                    this.birdkeyStatus = 1, this.curBirdKey = e.data.bird_key;
                    let t = (new Date).getTime(), n = new Date(t + 5184e6);
                    this.expiresDate = v.TimeHelperNS.formatDate(n, "yyyy年MM月d日"), e.link && e.link.uid && e.link.uid.toString() === this.options.userId && "encrypted" === e.link.type ? (this.isChecked = !0, this.encryptBirdKey = e.data.bird_key) : (this.isChecked = !1, this.commonBirdKey = e.data.bird_key)
                } else this.isChecked = !1, this.birdkeyStatus = 2; else this.birdkeyStatus = 2
            })
        }

        created() {
            return r(this, void 0, void 0, function* () {
                w.information("options = ", this.options), f.XLStatNS.trackEvent("download_leftpanel", "share_float_show", "", 0, 0, 0, 0, "type=1"), this.queryShareLink().catch(), this.initBirdkey().catch();
                let e = yield h.client.callServerFunction("GetConfigModules", "birdKey", "encryptTextTemplate");
                e || (e = "【迅雷口令#X$key$#】复制口令，打开最新版迅雷，接下来就是见证奇迹的时刻！提取密码：$passwd$（$date$失效）"), this.encryptTextTemplate = e, this.textTemplate = yield h.client.callServerFunction("GetConfigModules", "birdKey", "textTemplate"), this.textTemplate || (this.textTemplate = "【迅雷口令#X$key$#】复制口令，打开最新版迅雷，接下来就是见证奇迹的时刻！（$date$失效）")
            })
        }
    };
    i([s.Prop()], x.prototype, "options", void 0), i([s.Prop()], x.prototype, "boxId", void 0), x = i([s.Component], x), t.default = x
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(421), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(6), s = n(1), a = n(5), l = n(3), c = n(7), u = n(43), d = n(4), h = n(11), f = n(63), p = n(24);
    n(1157);
    const A = s.default.getLogger("Favorites");
    let v = class extends a.Vue {
        constructor() {
            super(...arguments), this.showClearHistoryFlag = !1, this.messageType = "", this.messageContent = "", this.orginBookmarks = [], this.bookmarks = [], this.editing = !1, this.historys = [], this.loadedCount = 0, this.historysDates = [], this.historysMaps = {}, this.tabs = [{
                title: "我的收藏",
                key: "my_favorites"
            }, {title: "浏览记录", key: "history"}], this.activeKey = "my_favorites"
        }

        onTabChange(e, t) {
            if ("history" === e) {
                let e = `button=history_tab,tab=${t}`;
                h.XLStatNS.trackEvent("clienttop", "clienttop_address_favorites_click", "", 0, 0, 0, 0, e)
            }
        }

        onOptionsChange() {
            this.options && (this.orginBookmarks = [...this.options])
        }

        onHistorysGet(e, t) {
            let n = [], i = {};
            for (let t of e) n.includes(t.date) || (n.push(t.date), i[t.date] = []), i[t.date].push(t);
            this.historysDates = n, this.historysMaps = i
        }

        onOrder() {
            let e = this.orginBookmarks.map(e => (e.top = e.top || !1, e.toptime = e.toptime || 0, e));
            e.sort((e, t) => e.top ? t.top ? (t.toptime || 0) - (e.toptime || 0) : -1 : t.top ? 1 : 0), this.bookmarks = e
        }

        get partialHistorys() {
            let e = this.loadedCount;
            return e > this.historys.length && (e = this.historys.length, this.loadedCount = this.historys.length), this.historys.slice(0, e)
        }

        get hasMore() {
            return this.loadedCount !== this.historys.length
        }

        onLoadMore() {
            let e = `button=view_more,tab=${this.activeKey}`;
            h.XLStatNS.trackEvent("clienttop", "clienttop_address_favorites_click", "", 0, 0, 0, 0, e);
            let t = this.loadedCount + 100;
            t > this.historys.length ? this.loadedCount = this.historys.length : this.loadedCount = t
        }

        dateDisplay(e) {
            let t = new Date;
            return o.format("%d/%d/%d", t.getFullYear(), t.getMonth() + 1, t.getDate()) === e ? "今天" : e
        }

        onHistoryClick(e) {
            let t = `url=${encodeURIComponent(e.url)},button=site,tab=${this.activeKey}`;
            h.XLStatNS.trackEvent("clienttop", "clienttop_address_favorites_click", "", 0, 0, 0, 0, t), d.client.callServerFunction("OpenNewTab", e.url, JSON.stringify({extData: JSON.stringify({search_from: "top_search_address-historic_record"})}))
        }

        onHistoryItemMenu(e, t, n) {
            return r(this, void 0, void 0, function* () {
                let i = [{
                        label: "复制", click: () => {
                            let t = `url=${encodeURIComponent(e.url)},button=copy,tab=${this.activeKey}`;
                            h.XLStatNS.trackEvent("clienttop", "clienttop_address_favorites_click", "", 0, 0, 0, 0, t), l.clipboard.writeText(e.url), this.messageType = "success", this.messageContent = "地址复制成功", this.$refs.message.show()
                        }
                    }, {
                        label: "删除", click: () => {
                            let i = `url=${encodeURIComponent(e.url)},button=remove,tab=${this.activeKey}`;
                            h.XLStatNS.trackEvent("clienttop", "clienttop_address_favorites_click", "", 0, 0, 0, 0, i);
                            for (let t = 0; t < this.historys.length; t++) {
                                let n = this.historys[t];
                                if (n.url === e.url && n.accessTime === e.accessTime) {
                                    this.historys.splice(t, 1);
                                    break
                                }
                            }
                            let r = this.historysMaps[e.date];
                            r && r.length > 0 && (t < r.length ? (this.historysMaps[e.date].splice(t, 1), 0 === this.historysMaps[e.date].length && (n < this.historysDates.length ? (this.historysDates.splice(n, 1), delete this.historysMaps[e.date]) : A.warning("history exception on delete one day", n, this.historysDates.length))) : A.warning("history exception on delete item", t, r.length)), u.NativeCallModule.nativeCall.CallNativeFunction("DeleteHistoryItem", JSON.stringify(e))
                        }
                    }], r = yield c.asyncRemoteCall.getCurrentWindow(),
                    o = yield(yield c.asyncRemoteCall.getMenu()).buildFromTemplate(i);
                yield f.MenuSkinNS.setStyle(o, {}), yield o.popup(Object.assign({}, {window: r}))
            })
        }

        onClearHistorys() {
            return r(this, void 0, void 0, function* () {
                let e = `button=clean_all,tab=${this.activeKey}`;
                h.XLStatNS.trackEvent("clienttop", "clienttop_address_favorites_click", "", 0, 0, 0, 0, e), this.showClearHistoryFlag = !0
            })
        }

        doClearHistory() {
            this.showClearHistoryFlag = !1, u.NativeCallModule.nativeCall.CallNativeFunction("ClearHistorys"), this.historys = [], this.historysMaps = {}, this.historysDates = []
        }

        cancelClearHistory() {
            this.showClearHistoryFlag = !1
        }

        onFavItemClick(e) {
            let t = `url=${encodeURIComponent(e.url)},button=site,tab=${this.activeKey}`;
            h.XLStatNS.trackEvent("clienttop", "clienttop_address_favorites_click", "", 0, 0, 0, 0, t), d.client.callServerFunction("OpenNewTab", e.url, JSON.stringify({extData: JSON.stringify({search_from: "top_search_address-favorite"})}))
        }

        onFavItemMenu(e, t) {
            return r(this, void 0, void 0, function* () {
                let t = `url=${encodeURIComponent(e.url)},tab=${this.activeKey}`;
                h.XLStatNS.trackEvent("clienttop", "clienttop_address_favorites_rk_click", "", 0, 0, 0, 0, t);
                let n = [{
                    label: "复制", click: () => {
                        let t = `url=${encodeURIComponent(e.url)},button=copy,tab=${this.activeKey}`;
                        h.XLStatNS.trackEvent("clienttop", "clienttop_address_favorites_click", "", 0, 0, 0, 0, t), l.clipboard.writeText(e.url), this.messageType = "success", this.messageContent = "地址复制成功", this.$refs.message.show()
                    }
                }, {
                    label: "编辑", click: () => {
                        let t = `url=${encodeURIComponent(e.url)},button=edit,tab=${this.activeKey}`;
                        h.XLStatNS.trackEvent("clienttop", "clienttop_address_favorites_click", "", 0, 0, 0, 0, t), this.editing = !0, u.NativeCallModule.nativeCall.CallNativeFunction("EditBookmarksItemAW", {
                            url: e.url,
                            title: e.name,
                            iconUrl: e.iconUrl,
                            state: "edit"
                        }, (t, n) => r(this, void 0, void 0, function* () {
                            yield(yield c.asyncRemoteCall.getCurrentWindow()).focus(), this.editing = !1, n.action === p.MessageBoxNS.Action.OK ? "ok" === n.args.state && this.updateTitle({
                                url: e.url,
                                title: n.args.title
                            }) : n.action === p.MessageBoxNS.Action.Cancel && this.deleteItem(e.url)
                        }))
                    }
                }, {
                    label: "取消收藏", click: () => {
                        let t = `url=${encodeURIComponent(e.url)},button=remove,tab=${this.activeKey}`;
                        h.XLStatNS.trackEvent("clienttop", "clienttop_address_favorites_click", "", 0, 0, 0, 0, t), this.deleteItem(e.url), l.ipcRenderer.send("delete-book-list", {url: e.url})
                    }
                }];
                e.top ? n.splice(1, 0, {
                    label: "取消置顶", click: () => {
                        let t = `url=${encodeURIComponent(e.url)},button=top,tab=${this.activeKey}`;
                        h.XLStatNS.trackEvent("clienttop", "clienttop_address_favorites_click", "", 0, 0, 0, 0, t), u.NativeCallModule.nativeCall.CallNativeFunction("TopBookmarksItem", {
                            url: e.url,
                            top: !1
                        }, (t, n) => {
                            this.updateTopStatus({url: e.url, top: !1})
                        })
                    }
                }) : n.splice(1, 0, {
                    label: "置顶", click: () => {
                        let t = `url=${encodeURIComponent(e.url)},button=top,tab=${this.activeKey}`;
                        h.XLStatNS.trackEvent("clienttop", "clienttop_address_favorites_click", "", 0, 0, 0, 0, t), u.NativeCallModule.nativeCall.CallNativeFunction("TopBookmarksItem", {
                            url: e.url,
                            top: !0
                        }, (t, n) => {
                            this.updateTopStatus({url: e.url, top: !0})
                        })
                    }
                });
                let i = yield c.asyncRemoteCall.getCurrentWindow(),
                    o = yield(yield c.asyncRemoteCall.getMenu()).buildFromTemplate(n);
                yield f.MenuSkinNS.setStyle(o, {}), yield o.popup(Object.assign({}, {window: i}))
            })
        }

        deleteItem(e) {
            for (let t = 0; t < this.orginBookmarks.length; t++) {
                if (e === this.orginBookmarks[t].url) {
                    this.orginBookmarks.splice(t, 1);
                    break
                }
            }
            d.client.callServerFunction("DeleteBookMarksItem", e)
        }

        updateTitle(e) {
            do {
                if (!e.title) break;
                for (let t = 0; t < this.orginBookmarks.length; t++) {
                    let n = this.orginBookmarks[t];
                    if (e.url === n.url) {
                        n.name = e.title;
                        break
                    }
                }
            } while (0)
        }

        updateTopStatus(e) {
            for (let t = 0; t < this.orginBookmarks.length; t++) {
                let n = this.orginBookmarks[t];
                if (e.url === n.url) {
                    e.top ? (n.top = !0, n.toptime = (new Date).getTime()) : (n.top = !1, n.toptime = 0), a.Vue.set(this.orginBookmarks, String(t), Object.assign({}, n));
                    break
                }
            }
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                let e = yield c.asyncRemoteCall.getCurrentWindow();
                e.show(), e.focus(), e.on("blur", e => {
                    this.editing || window.close()
                }), u.NativeCallModule.nativeCall.CallNativeFunction("GetRecentHistorys", (e, t) => {
                    0 === e && (this.historys = JSON.parse(t), this.loadedCount = this.historys.length > 100 ? 100 : this.historys.length)
                })
            })
        }
    };
    i([a.Prop({})], v.prototype, "options", void 0), i([a.Watch("activeKey")], v.prototype, "onTabChange", null), i([a.Watch("options", {immediate: !0})], v.prototype, "onOptionsChange", null), i([a.Watch("partialHistorys")], v.prototype, "onHistorysGet", null), i([a.Watch("orginBookmarks", {immediate: !0})], v.prototype, "onOrder", null), v = i([a.Component({})], v), t.default = v
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(423), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(3), s = n(7), a = n(26), l = n(5), c = n(24), u = n(27);
    let d = class extends (a.mixins(u.DraggableMixin, u.PositionMixin)) {
        constructor() {
            super(...arguments), this.username = "", this.password = "", this.isShowTips = !1, this.tipsText = ""
        }

        handleClose() {
            o.ipcRenderer.send(`message-box-resolve-${this.boxId}`, c.MessageBoxNS.Action.Close), window.close()
        }

        handleOK() {
            do {
                if ("" === this.username) {
                    this.tipsText = "用户名不能为空！", this.isShowTips = !0;
                    break
                }
                o.ipcRenderer.send(`message-box-resolve-${this.boxId}`, c.MessageBoxNS.Action.OK, {
                    username: this.username,
                    password: this.password
                }), window.close()
            } while (0)
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                window.addEventListener("keyup", e => {
                    "Enter" === e.key ? this.handleOK() : "Escape" === e.key && this.handleClose()
                }, !0), document.addEventListener("click", () => {
                    this.isShowTips = !1
                }), (yield s.asyncRemoteCall.getCurrentWindow()).hookWindowMessage(528, () => {
                    this.isShowTips = !1
                }), o.ipcRenderer.on("message-box-resolve-systemmenu", () => {
                    o.ipcRenderer.send(`message-box-resolve-${this.boxId}`, c.MessageBoxNS.Action.Close)
                })
            })
        }
    };
    i([l.Prop()], d.prototype, "options", void 0), i([l.Prop()], d.prototype, "boxId", void 0), d = i([l.Component], d), t.default = d
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(425), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(26), s = n(5), a = n(27), l = n(3), c = n(24), u = n(81), d = n(1), h = n(4), f = n(11), p = n(182),
        A = {margin: 0, width: 100}, v = d.default.getLogger("Shoulei-Sync-Guide");
    let g = class extends (o.mixins(a.DraggableMixin, a.PositionMixin)) {
        constructor() {
            super(...arguments), this.showGuide = !1, this.state = "offline"
        }

        closeDialog() {
            l.ipcRenderer.send(`message-box-resolve-${this.boxId}`, c.MessageBoxNS.Action.Close), window.close()
        }

        handleCancel() {
            let e = this.options.statFrom || "", t = "";
            t = "online" === this.state ? "connect_shoulei_connected_page_click" : this.showGuide ? "connect_shoulei_scan_page_click" : "connect_shoulei_entry_page_click", f.XLStatNS.trackEvent("download_leftpanel", t, "", 0, 0, 0, 0, `from=${e},click_id=close`), this.closeDialog()
        }

        handleOk() {
            let e = this.options.statFrom || "";
            f.XLStatNS.trackEvent("download_leftpanel", "connect_shoulei_connected_page_click", "", 0, 0, 0, 0, `from=${e},click_id=ok`), this.closeDialog()
        }

        handleOpen() {
            return r(this, void 0, void 0, function* () {
                let e = this.options.statFrom || "";
                f.XLStatNS.trackEvent("download_leftpanel", "connect_shoulei_entry_page_click", "", 0, 0, 0, 0, `from=${e},click_id=open`), this.showGuide = !0, this.$nextTick(() => {
                    let e = this.options.statFrom || "";
                    f.XLStatNS.trackEvent("download_leftpanel", "connect_shoulei_scan_page_show", "", 0, 0, 0, 0, `from=${e}`);
                    let t = document.getElementById("qrcodecanvas"), n = this.options.sfrom || "";
                    p.toCanvas(t, `http://sl-m-ssl.xunlei.com/pages/activities/download/?sfrom=${n}`, A, e => {
                        v.information("QRCode.toCanvas error = ", e)
                    }), u.ThunderWindowNS.resizeToFitContent(0, 0, u.ThunderWindowNS.fitWindowPosInParent)
                })
            })
        }

        onShouleiConnectStateChanged(e, t) {
            this.state = t, v.information("onShouleiConnectStateChanged", t, this.showGuide), this.showGuide && "online" === t && (this.showGuide = !1), this.sendShowStat(), this.$nextTick(() => {
                this.$nextTick(() => {
                    u.ThunderWindowNS.resizeToFitContent(0, 0, u.ThunderWindowNS.fitWindowPosInParent)
                })
            })
        }

        sendShowStat() {
            let e = this.options.statFrom || "";
            "offline" === this.state ? f.XLStatNS.trackEvent("download_leftpanel", "connect_shoulei_entry_page_show", "", 0, 0, 0, 0, `from=${e}`) : f.XLStatNS.trackEvent("download_leftpanel", "connect_shoulei_connected_page_show", "", 0, 0, 0, 0, `from=${e}`)
        }

        created() {
            this.state = "remoting" === this.options.type ? "online" : "offline", h.client.attachServerEvent("OnShouleiConnectStateChanged", this.onShouleiConnectStateChanged.bind(this))
        }

        mounted() {
            v.information("mounted"), this.sendShowStat(), this.$nextTick(() => {
                u.ThunderWindowNS.resizeToFitContent(0, 0, u.ThunderWindowNS.fitWindowPosInParent)
            })
        }
    };
    i([s.Prop()], g.prototype, "options", void 0), i([s.Prop()], g.prototype, "boxId", void 0), g = i([s.Component], g), t.default = g
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(427), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(26), s = n(5), a = n(27), l = n(3), c = n(7), u = n(24), d = n(4), h = n(875), f = n(11), p = n(15),
        A = n(36), v = n(182), g = {margin: 0, width: 78};
    let m = class extends (o.mixins(a.DraggableMixin, a.PositionMixin)) {
        constructor() {
            super(...arguments), this.qrcodeFailed = !0
        }

        handleCancel() {
            f.XLStatNS.trackEvent("download_detail", "dltab_detail_sendfile_tab_qrcode_click", "", 0, 0, 0, 0, "page=sendfile_pop,button=close"), l.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.Close), window.close()
        }

        handleRefreshQRCode() {
            return r(this, void 0, void 0, function* () {
                f.XLStatNS.trackEvent("download_detail", "dltab_detail_sendfile_tab_qrcode_click", "", 0, 0, 0, 0, "page=sendfile_pop,button=refresh");
                let e = yield d.client.callServerFunction("GetSubNetUploader");
                if (e) {
                    let t = yield d.client.callServerFunction("GetShouleiFileTransferDlj", this.options.taskBase.taskId, e, "pic", "leftlist_rk_phone");
                    t && "" !== t && (this.qrcodeFailed = !1, this.$nextTick(() => {
                        let e = document.getElementById("qrcodecanvas");
                        v.toCanvas(e, t, g, () => {
                        })
                    }))
                }
            })
        }

        popupDownloadShoulei() {
            return r(this, void 0, void 0, function* () {
                f.XLStatNS.trackEvent("download_detail", "dltab_detail_sendfile_tab_qrcode_click", "", 0, 0, 0, 0, "page=sendfile_pop,button=download_shoulei");
                let e = (yield c.asyncRemoteCall.getCurrentWindow()).id;
                h.getMobileImgSrc().then(t => {
                    d.client.callServerFunction("MessageBoxCustom", "img-dlg", {
                        parentId: e,
                        src: t,
                        width: 400,
                        height: 276
                    }, {width: 400, height: 276}).catch()
                }).catch()
            })
        }

        translateFileTypeToString(e) {
            let t = "other";
            switch (e) {
                case A.TaskUtilHelper.FileExtType.Video:
                    t = "video";
                    break;
                case A.TaskUtilHelper.FileExtType.Music:
                    t = "music";
                    break;
                case A.TaskUtilHelper.FileExtType.Doc:
                    t = "doc";
                    break;
                case A.TaskUtilHelper.FileExtType.Software:
                    t = "exe"
            }
            return t
        }

        getFileType(e, t) {
            let n = "";
            if (e.taskType === p.DownloadKernel.TaskType.Bt) {
                if (t && t.length > 0) for (let e = 0; e < t.length; ++e) {
                    let i = A.TaskUtilHelper.getTaskFileType(t[e].fileName), r = this.translateFileTypeToString(i);
                    if ("other" !== r) {
                        n = r;
                        break
                    }
                }
            } else {
                let t = A.TaskUtilHelper.getTaskFileType(e.taskName);
                n = this.translateFileTypeToString(t)
            }
            return n
        }

        getTaskType(e) {
            let t = "unknown";
            switch (e.taskType) {
                case p.DownloadKernel.TaskType.P2sp:
                    t = "p2sp";
                    break;
                case p.DownloadKernel.TaskType.Bt:
                    t = "bt";
                    break;
                case p.DownloadKernel.TaskType.Emule:
                    t = "emule";
                    break;
                case p.DownloadKernel.TaskType.Group:
                    t = "group";
                    break;
                case p.DownloadKernel.TaskType.Magnet:
                    t = "magnet"
            }
            return t
        }

        mounted() {
            let e = this.options.shareLink, t = this.options.taskBase, n = "";
            e && "" !== e ? (n = "success", this.qrcodeFailed = !1) : (e = "https://mobile.xunlei.com/m/channel.html?from=xunlei10daoliang", n = "default");
            let i = `page=sendfile_pop,qr_type=${n},file_type=${this.getFileType(t, this.options.subFileList)},task_type=${this.getTaskType(t)}`;
            f.XLStatNS.trackEvent("download_detail", "dltab_detail_sendfile_qrcode_show", "", 0, 0, 0, 0, i), this.$nextTick(() => {
                let e = document.getElementById("qrcodecanvas");
                v.toCanvas(e, this.options.shareLink, g, () => {
                })
            })
        }
    };
    i([s.Prop()], m.prototype, "options", void 0), i([s.Prop()], m.prototype, "boxId", void 0), m = i([s.Component], m), t.default = m
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(429), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(3), o = n(5), s = n(26), a = n(24), l = n(27), c = n(168), u = n(139);
    let d = class extends (s.mixins(l.DraggableMixin, l.PositionMixin)) {
        constructor() {
            super(...arguments), this.formData = Object.assign({}, this.options.formData), this.action = a.MessageBoxNS.Action, this.hours = Array.from({length: 24}, (e, t) => t), this.minutes = Array.from({length: 60}, (e, t) => t)
        }

        maxUploadSpeedInput(e, t) {
            let n = Number(t || e);
            do {
                if (n < 30) {
                    n = 30;
                    break
                }
                if (n > 2048) {
                    n = 2048;
                    break
                }
            } while (0);
            this.handleInput(n, "maxUploadSpeed")
        }

        maxDownloadSpeedInput(e, t) {
            let n = Number(t || e);
            do {
                if (n < 60) {
                    n = 60;
                    break
                }
                if (n > 51200) {
                    n = 51200;
                    break
                }
            } while (0);
            this.handleInput(n, "maxDownloadSpeed")
        }

        handleInput(e, t) {
            this.formData[t].value = e
        }

        handleLimitInput(e, t) {
            this.formData.limitTime[t].value = e
        }

        handleCancel(e) {
            r.ipcRenderer.send(`message-box-resolve-${this.boxId}`, e), window.close()
        }

        handleOK() {
            r.ipcRenderer.send(`message-box-resolve-${this.boxId}`, this.action.OK, this.formData), window.close()
        }
    };
    i([o.Prop()], d.prototype, "options", void 0), i([o.Prop()], d.prototype, "boxId", void 0), d = i([o.Component({
        components: {
            LimitInput: c.default,
            SelectNative: u.default
        }
    })], d), t.default = d
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(431), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(3), s = n(7), a = n(5), l = n(26), c = n(27), u = n(24);
    let d = class extends (l.mixins(c.DraggableMixin, c.PositionMixin)) {
        constructor() {
            super(...arguments), this.action = u.MessageBoxNS.Action, this.isMax = !1, this.imgWidth = 0, this.imgHeight = 0, this.clientWidth = 0, this.clientHeight = 0, this.imgRatio = 0, this.scale = 1, this.scaleInc = .1, this.isResume = !1, this.defaultLeft = 0, this.defaultTop = 0, this.movementX = 0, this.movementY = 0, this.cursor = "zoom-in", this.lastScale = 1, this.isLoading = !0
        }

        onScaleChange() {
            let e = this.scale - this.lastScale, t = e * this.showWidth, n = e * this.showHeight;
            this.movementX -= Math.round(t / 2), this.movementY -= Math.round(n / 2)
        }

        get imgSrc() {
            return this.options && (this.options.src || this.options.imgSrc) ? this.options.imgSrc || this.options.src : ""
        }

        resume(e) {
            this.isResume = !this.isResume, this.lastScale = 1, this.scale = 1, this.movementX = 0, this.movementY = 0, "zoom-in" === this.cursor ? this.cursor = "zoom-out" : "zoom-out" === this.cursor && (this.cursor = "zoom-in"), this.isResume ? (this.isLong ? this.defaultTop = 0 : this.defaultTop = (this.clientHeight - this.showHeight) / 2, this.defaultLeft = (this.clientWidth - this.showWidth) / 2) : (this.defaultLeft = (this.clientWidth - this.showWidth) / 2, this.defaultTop = (this.clientHeight - this.showHeight) / 2)
        }

        onZoomIn() {
            this.scale <= 4.9 && (this.lastScale = this.scale, this.scale += this.scaleInc)
        }

        onZoomOut() {
            this.scale >= .2 && (this.lastScale = this.scale, this.scale -= this.scaleInc)
        }

        onMouseMove(e) {
            1 === e.buttons && (this.movementX += e.movementX, this.movementY += e.movementY)
        }

        updateNativeSize() {
            this.clientWidth = window.innerWidth, this.clientHeight = window.innerHeight - 40 - 31, this.isLong ? this.defaultTop = 0 : this.defaultTop = (this.clientHeight - this.showHeight) / 2, this.defaultLeft = (this.clientWidth - this.showWidth) / 2
        }

        handleCtrlScroll(e) {
            this.lastScale = this.scale, e.deltaY < 0 && this.scale <= 4.9 ? this.scale += this.scaleInc : e.deltaY > 0 && this.scale >= .2 && (this.scale -= this.scaleInc)
        }

        imgLoaded() {
            this.isLoading = !1;
            let e = this.$refs.image;
            this.imgWidth = e.naturalWidth, this.imgHeight = e.naturalHeight, this.imgRatio = this.imgWidth / this.imgHeight, this.imgWidth <= this.clientWidth && this.imgHeight <= this.clientHeight && (this.cursor = "default"), this.updateNativeSize()
        }

        get clientRatio() {
            return this.clientWidth / this.clientHeight
        }

        get left() {
            return (this.movementX + this.defaultLeft) / this.clientWidth * 100
        }

        get top() {
            return (this.movementY + this.defaultTop) / this.clientHeight * 100
        }

        get showWidth() {
            return this.showHeight * this.imgRatio
        }

        get showHeight() {
            return this.isResume ? this.imgHeight : this.imgRatio >= this.clientRatio ? this.imgWidth <= this.clientWidth ? this.imgHeight : this.imgHeight / this.imgWidth * this.clientWidth : this.imgHeight <= this.clientHeight ? this.imgHeight : this.clientHeight
        }

        get isLong() {
            return this.showHeight * this.scale > this.clientHeight ? (this.defaultTop = 0, !0) : (this.defaultTop = this.clientHeight / 2, !1)
        }

        minimizeWindow() {
            return r(this, void 0, void 0, function* () {
                yield(yield s.asyncRemoteCall.getCurrentWindow()).minimize()
            })
        }

        closeWindow() {
            o.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.Close), window.close()
        }

        resizeWindow(e) {
            return r(this, void 0, void 0, function* () {
                this.isMax = !this.isMax;
                let t = yield s.asyncRemoteCall.getCurrentWindow();
                "maximize" === e ? yield t.maximize() : yield t.unmaximize()
            })
        }

        mounted() {
            window.addEventListener("resize", this.updateNativeSize)
        }

        beforeDestroy() {
            window.removeEventListener("resize", this.updateNativeSize)
        }
    };
    i([a.Prop()], d.prototype, "boxId", void 0), i([a.Prop()], d.prototype, "options", void 0), i([a.Watch("scale")], d.prototype, "onScaleChange", null), d = i([a.Component], d), t.default = d
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(433), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(26), s = n(5), a = n(27), l = n(3), c = n(24), u = n(881), d = n(882), h = n(883);
    let f = class extends (o.mixins(a.DraggableMixin, a.PositionMixin)) {
        constructor() {
            super(...arguments), this.visible = !0, this.list = [u, d, h]
        }

        handleCancel(e) {
            return r(this, void 0, void 0, function* () {
                yield l.ipcRenderer.send(`message-box-resolve-${this.boxId}`, c.MessageBoxNS.Action.Close), window.close()
            })
        }
    };
    i([s.Prop()], f.prototype, "options", void 0), i([s.Prop()], f.prototype, "boxId", void 0), f = i([s.Component], f), t.default = f
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(435), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(4), s = n(26), a = n(5), l = n(27), c = n(3), u = n(24), d = n(1), h = n(7), {shouldAuth: f} = n(887),
        p = d.default.getLogger("phone-auth-renderer");
    let A = class extends (s.mixins(l.DraggableMixin, l.PositionMixin)) {
        constructor() {
            super(...arguments), this.phoneauth = f
        }

        handleClose(e) {
            return r(this, void 0, void 0, function* () {
                yield o.client.broadcastEvent("PhoneAuthEnd", {action: u.MessageBoxNS.Action.Close}), yield c.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.Close), window.close()
            })
        }

        getAuthPlatformParamObj() {
            return r(this, void 0, void 0, function* () {
                const e = yield o.client.callServerFunction("GetUserInfoAw"),
                    t = yield o.client.callServerFunction("GetThunderVersion");
                return Object.assign({}, e, {appid: 165, clientVersion: t})
            })
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                const e = yield this.getAuthPlatformParamObj();
                e.deviceid = "123456", f("thunder11", e, this.options.from).then(e => r(this, void 0, void 0, function* () {
                    yield o.client.broadcastEvent("PhoneAuthEnd", {result: "success"}), yield c.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.OK, {
                        action: u.MessageBoxNS.Action.OK,
                        result: "success"
                    })
                })).catch(e => r(this, void 0, void 0, function* () {
                    "auth error" !== e.message && "not login" !== e.message && p.warning(e), yield o.client.broadcastEvent("PhoneAuthEnd", {
                        action: u.MessageBoxNS.Action.Cancel,
                        error: e.message
                    }), yield c.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.Cancel, {error: e.message})
                })).finally(() => {
                    window.close()
                });
                let t = yield h.asyncRemoteCall.getCurrentWindow(), n = yield t.getBounds();
                yield t.setBounds({
                    height: 406,
                    width: 280,
                    x: n.x,
                    y: n.y
                }), o.client.attachServerEvent("OnLogout", (e, ...t) => r(this, void 0, void 0, function* () {
                    yield o.client.broadcastEvent("PhoneAuthEnd", {
                        action: u.MessageBoxNS.Action.Cancel,
                        error: "user logout."
                    }), yield c.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.Cancel, {error: "user logout."}), window.close()
                })), c.ipcRenderer.on("message-box-resolve-systemmenu", () => {
                    o.client.broadcastEvent("PhoneAuthEnd", {
                        action: u.MessageBoxNS.Action.Close,
                        error: "User Close"
                    }), c.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.Close, {error: "User Close"})
                })
            })
        }
    };
    i([a.Prop({})], A.prototype, "options", void 0), i([a.Prop()], A.prototype, "boxId", void 0), A = i([a.Component({})], A), t.default = A
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(437), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(3), s = n(5), a = n(26), l = n(27), c = n(4), u = n(24), d = n(890), h = n(11), f = n(8), p = n(2),
        A = f.default(p.resolve(__rootDir, "../bin/ThunderHelper.node"));
    let v = class extends (a.mixins(l.DraggableMixin, l.PositionMixin)) {
        constructor() {
            super(...arguments), this.messageList = [], this.unreadNum = 0, this.timerCloseWindow = void 0, this.eventOnMouseLeaveTrap = -1, this.eventOnMouseEnterTrap = -1, this.mouseOnTrap = !1
        }

        get unreadNumStr() {
            return this.unreadNum <= 99 ? String(this.unreadNum) : "99+"
        }

        closeWindow() {
            o.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.Close), window.close()
        }

        openAllMessage() {
            return r(this, void 0, void 0, function* () {
                h.XLStatNS.trackEvent("community", "message_tray_click", "", 0, 0, 0, 0, "clickid=see_all"), yield c.client.callServerFunction("BringMainWndToTop"), yield c.client.callServerFunction("SelectNav", d.NavViewID.Message), this.closeWindow()
            })
        }

        openUnreadMessage(e) {
            c.client.callServerFunction("Main-Renderer-ThunderIMOpenUnreadMessage", e.group_id, e.msg_id, e.class_type, "tray"), h.XLStatNS.trackEvent("community", "message_tray_click", "", 0, 0, 0, 0, "clickid=message"), this.closeWindow()
        }

        enterWindow() {
            this.timerCloseWindow && (clearTimeout(this.timerCloseWindow), this.timerCloseWindow = void 0)
        }

        leaveWindow() {
            this.timerCloseWindow || this.mouseOnTrap || (this.timerCloseWindow = setTimeout(() => {
                this.closeWindow()
            }, 1e3))
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                this.messageList = yield c.client.callServerFunction("Main-Renderer-ThunderIMGetUnReadMessageList"), this.unreadNum = yield c.client.callServerFunction("Main-Renderer-ThunderIMGetMessageUnreadNum"), this.eventOnMouseLeaveTrap = c.client.attachServerEvent("OnAppTrapMouseLeave", () => {
                    this.mouseOnTrap = !1
                }), this.eventOnMouseEnterTrap = c.client.attachServerEvent("OnAppTrapMouseMoveEvent", () => {
                    this.mouseOnTrap = !0
                }), h.XLStatNS.trackEvent("community", "message_tray_show", "", 0, 0, 0, 0, ""), setInterval(() => {
                    let e = A.getCursorPos();
                    e.x > screenX && e.x < screenX + outerWidth && e.y > screenY && e.y < screenY + outerHeight ? this.enterWindow() : this.leaveWindow()
                }, 100)
            })
        }

        beforeDestroy() {
            return r(this, void 0, void 0, function* () {
                c.client.detachServerEvent("OnMouseLeaveTrap", this.eventOnMouseLeaveTrap), c.client.detachServerEvent("OnMouseEnterTrap", this.eventOnMouseEnterTrap), c.client.broadcastEvent("OnLatestMessagesBoxClose")
            })
        }
    };
    i([s.Prop()], v.prototype, "boxId", void 0), i([s.Prop()], v.prototype, "options", void 0), v = i([s.Component], v), t.default = v
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(439), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(26), o = n(5), s = n(27), a = n(3), l = n(4), c = n(24), u = n(11);
    let d = class extends (r.mixins(s.DraggableMixin, s.PositionMixin)) {
        handleCancel() {
            u.XLStatNS.trackEvent("core_event", "xmp_set_default_player_pop_click", "", 0, 0, 0, 0, "clickid=close"), a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, c.MessageBoxNS.Action.Close), window.close()
        }

        confirm() {
            u.XLStatNS.trackEvent("core_event", "xmp_set_default_player_pop_click", "", 0, 0, 0, 0, "clickid=confirm"), l.client.callServerFunction("AssociateForXmp").catch(), a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, c.MessageBoxNS.Action.OK), window.close()
        }

        mounted() {
            u.XLStatNS.trackEvent("core_event", "xmp_set_default_player_pop_show")
        }
    };
    i([o.Prop()], d.prototype, "options", void 0), i([o.Prop()], d.prototype, "boxId", void 0), d = i([o.Component], d), t.default = d
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(441), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(26), o = n(5), s = n(27), a = n(3), l = n(24), c = n(4), u = n(11);
    let d = class extends (r.mixins(s.DraggableMixin, s.PositionMixin)) {
        constructor() {
            super(...arguments), this.eventOnUncompressXmpEnd = -1
        }

        handleCancel(e = !0) {
            e && u.XLStatNS.trackEvent("core_event", "xmp_first_loading_pop_click", "", 0, 0, 0, 0, "clickid=close"), c.client.detachServerEvent("OnUncompressXmpEnd", this.eventOnUncompressXmpEnd), a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, l.MessageBoxNS.Action.Close), window.close()
        }

        mounted() {
            u.XLStatNS.trackEvent("core_event", "xmp_first_loading_pop_show"), this.eventOnUncompressXmpEnd = c.client.attachServerEvent("OnUncompressXmpEnd", () => {
                this.handleCancel(!1)
            })
        }
    };
    i([o.Prop()], d.prototype, "options", void 0), i([o.Prop()], d.prototype, "boxId", void 0), d = i([o.Component], d), t.default = d
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(443), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(3), s = n(5), a = n(24), l = n(895), c = n(7), u = n(238), d = n(8), h = n(2),
        f = d.default(h.resolve(__rootDir, "../bin/ThunderHelper.node"));
    let p = class extends s.Vue {
        constructor() {
            super(...arguments), this.isShowMenu = !0, this.showBrowserIcon = !1
        }

        onShowMenuChange() {
            this.isShowMenu || (o.ipcRenderer.send(`message-box-resolve-${this.boxId}`, a.MessageBoxNS.Action.Close), window.close())
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                this.isShowMenu = !0, this.options && void 0 !== this.options.showBrowserIcon && (this.showBrowserIcon = this.options.showBrowserIcon);
                let e = yield c.asyncRemoteCall.getCurrentWindow(),
                    t = (yield e.getNativeWindowHandle()).readUIntLE(0, 4);
                f.modifyStyle(t, u.WindowStyle.WS_THICKFRAME, 0), f.modifyStyleEx(t, 0, u.WindowStyleEx.WS_EX_TOOLWINDOW), e.on("blur", () => {
                    setTimeout(() => {
                        window.close()
                    }, 100)
                }), yield e.show(), yield e.focus()
            })
        }
    };
    i([s.Prop()], p.prototype, "boxId", void 0), i([s.Prop()], p.prototype, "options", void 0), i([s.Watch("isShowMenu", {immediate: !0})], p.prototype, "onShowMenuChange", null), p = i([s.Component({components: {MainMenu: l.default}})], p), t.default = p
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(445), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(24), s = n(137), a = n(11), l = n(4), c = n(8), u = n(19), d = n(2),
        h = n(1).default.getLogger("system-buttons"), f = c.default(d.join(__rootDir, "../bin/ThunderHelper.node")),
        p = n(5);
    let A = class extends p.Vue {
        constructor() {
            super(...arguments), this.downloadCompleteTaskType = -1, this.showNewIcon = !1
        }

        get scheduleText() {
            switch (this.downloadCompleteTaskType) {
                case 0:
                    return "(关机)";
                case 1:
                    return "(睡眠)";
                case 2:
                    return "(退出)";
                default:
                    return ""
            }
            return ""
        }

        clickBrowserHelper() {
            return r(this, void 0, void 0, function* () {
                l.client.callServerFunction("ShowBrowserGuideDlg", !0, "main_menu", !0).catch(), a.XLStatNS.trackEvent("clienttop", "clienttop_dropdownlist_click", "", 0, 0, 0, 0, "button=browser_support"), this.$emit("update:isShowMenu", !1)
            })
        }

        clickXmp() {
            l.client.callServerFunction("DownloadOrOpenXmp"), a.XLStatNS.trackEvent("clienttop", "clienttop_dropdownlist_click", "", 0, 0, 0, 0, "button=xmp"), this.$emit("update:isShowMenu", !1)
        }

        clickNewTask() {
            l.client.callServerFunction("CreatePreNewTaskWindow"), a.XLStatNS.trackEvent("clienttop", "clienttop_dropdownlist_click", "", 0, 0, 0, 0, "button=newtask"), this.$emit("update:isShowMenu", !1)
        }

        clickUnfinished() {
            l.client.callServerFunction("ImportUncompleted"), a.XLStatNS.trackEvent("clienttop", "clienttop_dropdownlist_click", "", 0, 0, 0, 0, "button=unfinished"), this.$emit("update:isShowMenu", !1)
        }

        clickDownloadDetectTools() {
            s.MessageBox.custom("DownloadDetectTools", {singleton: !0}, {modal: !1}).then(e => {
                e.action, o.MessageBoxNS.Action.OK
            }).catch(), a.XLStatNS.trackEvent("clienttop", "clienttop_dropdownlist_click", "", 0, 0, 0, 0, "button=download_diagnosis"), this.$emit("update:isShowMenu", !1)
        }

        clickSetting() {
            l.client.callServerFunction("OpenSettingCenter"), a.XLStatNS.trackEvent("clienttop", "clienttop_dropdownlist_click", "", 0, 0, 0, 0, "button=setting"), this.$emit("update:isShowMenu", !1)
        }

        clickFeedback() {
            let e = f.getPeerID(), t = d.join(__rootDir, "../../Thunder.exe"),
                n = "http://misc-xl9-ssl.xunlei.com/client/view/dist/1.0/feedback.html?version=" + f.getFileVersion(t) + "&pid=" + e;
            l.client.callServerFunction("OpenNewTab", n).catch(), a.XLStatNS.trackEvent("clienttop", "clienttop_dropdownlist_click", "", 0, 0, 0, 0, "button=feedback"), this.$emit("update:isShowMenu", !1)
        }

        clickCheckUpdate() {
            return r(this, void 0, void 0, function* () {
                (yield l.client.callServerFunction("GetValue", "XLUpdate", "ShowMenuUpdateIcon", !1)) && (yield l.client.callServerFunction("SetValue", "XLUpdate", "ShowMenuUpdateIcon", !1)), f.startManualUpdateWithUI(), a.XLStatNS.trackEvent("clienttop", "clienttop_dropdownlist_click", "", 0, 0, 0, 0, "button=check"), this.$emit("update:isShowMenu", !1)
            })
        }

        clickAboutThunder() {
            s.MessageBox.custom("about", {
                windowWidth: 450,
                windowHeight: 296
            }), a.XLStatNS.trackEvent("clienttop", "clienttop_dropdownlist_click", "", 0, 0, 0, 0, "button=more_about"), this.$emit("update:isShowMenu", !1)
        }

        clickCustomHelp() {
            l.client.callServerFunction("OpenNewTab", "http://help.xunlei.com/").catch(), a.XLStatNS.trackEvent("clienttop", "clienttop_dropdownlist_click", "", 0, 0, 0, 0, "button=more_kefu"), this.$emit("update:isShowMenu", !1)
        }

        clickThunderBbs() {
            l.client.callServerFunction("OpenNewTab", "http://bbs.xunlei.com/").catch(), this.$emit("update:isShowMenu", !1)
        }

        clickPrivacy() {
            l.client.callServerFunction("OpenNewTab", "https://i.xunlei.com/xluser/privacy.html").catch(), this.$emit("update:isShowMenu", !1)
        }

        clickQuit() {
            l.client.callServerFunction("ExitThunder"), a.XLStatNS.trackEvent("clienttop", "clienttop_dropdownlist_click", "", 0, 0, 0, 0, "button=quit"), this.$emit("update:isShowMenu", !1)
        }

        clickSchedutleTask(e) {
            return r(this, void 0, void 0, function* () {
                this.downloadCompleteTaskType = yield l.client.callServerFunction("GetDownloadCompleteTaskType"), e === this.downloadCompleteTaskType ? yield l.client.callServerFunction("CancelDownloadCompleteTask") : yield l.client.callServerFunction("SetDownloadCompleteTaskType", e);
                a.XLStatNS.trackEvent("clienttop", "clienttop_dropdownlist_click", "", 0, 0, 0, 0, "button=" + ["dl_finish_switch_off", "dl_finish_sleep", "dl_finish_quit"][e]), this.$emit("update:isShowMenu", !1)
            })
        }

        loadUpgradeConfig(e) {
            return r(this, void 0, void 0, function* () {
                if (0 === e.code && e.data) if (e.data.md5 && e.data.t) {
                    (yield l.client.callServerFunction("GetValue", "XLUpdate", "UpdateMd5", "")) !== e.data.md5 && 2 === parseInt(e.data.t, 10) && (yield l.client.callServerFunction("SetValue", "XLUpdate", "UpdateMd5", e.data.md5), yield l.client.callServerFunction("SetValue", "XLUpdate", "ShowMainUpdateIcon", !0), yield l.client.callServerFunction("SetValue", "XLUpdate", "ShowMenuUpdateIcon", !0)), (yield l.client.callServerFunction("GetValue", "XLUpdate", "ShowMainUpdateIcon", !0)) && (this.showNewIcon = !0)
                } else yield l.client.callServerFunction("SetValue", "XLUpdate", "UpdateMd5", ""), yield l.client.callServerFunction("SetValue", "XLUpdate", "ShowMainUpdateIcon", !1), yield l.client.callServerFunction("SetValue", "XLUpdate", "ShowMenuUpdateIcon", !1); else yield l.client.callServerFunction("SetValue", "XLUpdate", "UpdateMd5", ""), yield l.client.callServerFunction("SetValue", "XLUpdate", "ShowMainUpdateIcon", !1), yield l.client.callServerFunction("SetValue", "XLUpdate", "ShowMenuUpdateIcon", !1)
            })
        }

        checkUpgrade() {
            return r(this, void 0, void 0, function* () {
                let e = d.join(__rootDir, "../../Thunder.exe"), t = f.getFileVersion(e), n = f.getPeerID(),
                    i = f.getChannelID(),
                    r = `http://upgrade.xl9.xunlei.com/pc?peerid=${n}&os=${f.getOSVersion()}&pid=1&v=${t}&cid=${i}&t=2&lng=0804`,
                    o = null;
                try {
                    o = yield u.default.get(r)
                } catch (e) {
                    h.warning(e)
                }
                o && 200 === o.status && o.data && this.loadUpgradeConfig(o.data)
            })
        }

        listenKeyDown(e) {
            e && (e.altKey || e.ctrlKey || e.shiftKey || ("x" === e.key ? this.clickQuit() : "n" === e.key && this.clickNewTask()))
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                this.downloadCompleteTaskType = yield l.client.callServerFunction("GetDownloadCompleteTaskType"), setTimeout(() => {
                    this.checkUpgrade()
                }, 5e3), a.XLStatNS.trackEvent("clienttop", "clienttop_main_menu_click", "", 0, 0, 0, 0), document.addEventListener("keydown", this.listenKeyDown)
            })
        }

        beforeDestroy() {
            document.removeEventListener("keydown", this.listenKeyDown)
        }
    };
    i([p.Prop()], A.prototype, "isShowMenu", void 0), i([p.Prop({default: !0})], A.prototype, "showBrowserIcon", void 0), A = i([p.Component({components: {}})], A), t.default = A
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(447), r = n.n(i);
    for (var o in i) "default" !== o && function (e) {
        n.d(t, e, function () {
            return i[e]
        })
    }(o);
    t.default = r.a
}, function (e, t, n) {
    "use strict";
    var i = this && this.__decorate || function (e, t, n, i) {
        var r, o = arguments.length, s = o < 3 ? t : null === i ? i = Object.getOwnPropertyDescriptor(t, n) : i;
        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) s = Reflect.decorate(e, t, n, i); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (s = (o < 3 ? r(s) : o > 3 ? r(t, n, s) : r(t, n)) || s);
        return o > 3 && s && Object.defineProperty(t, n, s), s
    }, r = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const o = n(26), s = n(5), a = n(3), l = n(7), c = n(27), u = n(24), d = n(11);
    let h = class extends (o.mixins(c.DraggableMixin, c.PositionMixin)) {
        constructor() {
            super(...arguments), this.passWord = "", this.tipsText = "", this.isShowTips = !1, this.windowWidth = 450, this.windowHeight = 158
        }

        handleClose(e) {
            a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, "close" === e ? u.MessageBoxNS.Action.Close : u.MessageBoxNS.Action.Cancel), window.close()
        }

        handleClearPwd() {
            this.passWord = "", this.$refs.pwdInput.focus()
        }

        handleOK() {
            do {
                let e = "button=confirm,type=5";
                if (d.XLStatNS.trackEvent("download_leftpanel", "private_page_pop_click", "", 0, 0, 0, 0, e), "" === this.passWord) {
                    this.tipsText = "密码不能为空！", this.isShowTips = !0;
                    break
                }
                a.ipcRenderer.send(`message-box-resolve-${this.boxId}`, u.MessageBoxNS.Action.OK, {passWord: this.passWord}), window.close()
            } while (0)
        }

        mounted() {
            return r(this, void 0, void 0, function* () {
                this.options.tips && (this.isShowTips = !0, this.tipsText = "密码错误，请重新输入"), window.addEventListener("keyup", e => {
                    "Enter" === e.key ? this.handleOK() : "Escape" === e.key && this.handleClose("close")
                }, !0), this.$refs.pwdInput.focus(), document.addEventListener("click", () => {
                    this.isShowTips = !1
                }), (yield l.asyncRemoteCall.getCurrentWindow()).hookWindowMessage(528, () => {
                    this.isShowTips = !1
                })
            })
        }
    };
    i([s.Prop()], h.prototype, "options", void 0), i([s.Prop()], h.prototype, "boxId", void 0), h = i([s.Component], h), t.default = h
}, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , function (e, t, n) {
    var i = n(509), r = n(209), o = n(527), s = n(539), a = n(540), l = n(541);

    function c(e, t, n) {
        if (void 0 === e) throw new Error("String required as first argument");
        if (void 0 === n && (n = t, t = {}), "function" != typeof n) {
            if (!i()) throw new Error("Callback required as last argument");
            t = n || {}, n = null
        }
        return {opts: t, cb: n}
    }

    function u(e) {
        switch (e) {
            case"svg":
                return l;
            case"txt":
            case"utf8":
                return s;
            case"png":
            case"image/png":
            default:
                return o
        }
    }

    function d(e, t, n) {
        if (!n.cb) return new Promise(function (i, o) {
            try {
                var s = r.create(t, n.opts);
                return e(s, n.opts, function (e, t) {
                    return e ? o(e) : i(t)
                })
            } catch (e) {
                o(e)
            }
        });
        try {
            var i = r.create(t, n.opts);
            return e(i, n.opts, n.cb)
        } catch (e) {
            n.cb(e)
        }
    }

    t.create = r.create, t.toCanvas = n(542).toCanvas, t.toString = function (e, t, n) {
        var i = c(e, t, n);
        return d(function (e) {
            switch (e) {
                case"svg":
                    return l;
                case"terminal":
                    return a;
                case"utf8":
                default:
                    return s
            }
        }(i.opts.type).render, e, i)
    }, t.toDataURL = function (e, t, n) {
        var i = c(e, t, n);
        return d(u(i.opts.type).renderToDataURL, e, i)
    }, t.toBuffer = function (e, t, n) {
        var i = c(e, t, n);
        return d(u(i.opts.type).renderToBuffer, e, i)
    }, t.toFile = function (e, t, n, r) {
        if ("string" != typeof e || "string" != typeof t && "object" != typeof t) throw new Error("Invalid argument");
        if (arguments.length < 3 && !i()) throw new Error("Too few arguments provided");
        var o = c(t, n, r);
        return d(u(o.opts.type || function (e) {
            return e.slice(2 + (e.lastIndexOf(".") - 1 >>> 0)).toLowerCase()
        }(e)).renderToFile.bind(null, e), t, o)
    }, t.toFileStream = function (e, t, n) {
        if (arguments.length < 2) throw new Error("Too few arguments provided");
        var i = c(t, n, e.emit.bind(e, "error"));
        d(u("png").renderToFileStream.bind(null, e), t, i)
    }
}, function (e, t, n) {
    "use strict";
    var i = n(510);
    e.exports = function () {
        return "function" == typeof i.Promise && "function" == typeof i.Promise.prototype.then
    }
}, function (e, t, n) {
    "use strict";
    e.exports = "object" == typeof self && self.self === self && self || "object" == typeof global && global.global === global && global || this
}, function (e, t) {
    function n() {
        this.buffer = [], this.length = 0
    }

    n.prototype = {
        get: function (e) {
            var t = Math.floor(e / 8);
            return 1 == (this.buffer[t] >>> 7 - e % 8 & 1)
        }, put: function (e, t) {
            for (var n = 0; n < t; n++) this.putBit(1 == (e >>> t - n - 1 & 1))
        }, getLengthInBits: function () {
            return this.length
        }, putBit: function (e) {
            var t = Math.floor(this.length / 8);
            this.buffer.length <= t && this.buffer.push(0), e && (this.buffer[t] |= 128 >>> this.length % 8), this.length++
        }
    }, e.exports = n
}, function (e, t, n) {
    var i = n(135);

    function r(e) {
        if (!e || e < 1) throw new Error("BitMatrix size must be defined and greater than 0");
        this.size = e, this.data = new i(e * e), this.data.fill(0), this.reservedBit = new i(e * e), this.reservedBit.fill(0)
    }

    r.prototype.set = function (e, t, n, i) {
        var r = e * this.size + t;
        this.data[r] = n, i && (this.reservedBit[r] = !0)
    }, r.prototype.get = function (e, t) {
        return this.data[e * this.size + t]
    }, r.prototype.xor = function (e, t, n) {
        this.data[e * this.size + t] ^= n
    }, r.prototype.isReserved = function (e, t) {
        return this.reservedBit[e * this.size + t]
    }, e.exports = r
}, function (e, t, n) {
    var i = n(86).getSymbolSize;
    t.getRowColCoords = function (e) {
        if (1 === e) return [];
        for (var t = Math.floor(e / 7) + 2, n = i(e), r = 145 === n ? 26 : 2 * Math.ceil((n - 13) / (2 * t - 2)), o = [n - 7], s = 1; s < t - 1; s++) o[s] = o[s - 1] - r;
        return o.push(6), o.reverse()
    }, t.getPositions = function (e) {
        for (var n = [], i = t.getRowColCoords(e), r = i.length, o = 0; o < r; o++) for (var s = 0; s < r; s++) 0 === o && 0 === s || 0 === o && s === r - 1 || o === r - 1 && 0 === s || n.push([i[o], i[s]]);
        return n
    }
}, function (e, t, n) {
    var i = n(86).getSymbolSize;
    t.getPositions = function (e) {
        var t = i(e);
        return [[0, 0], [t - 7, 0], [0, t - 7]]
    }
}, function (e, t) {
    t.Patterns = {
        PATTERN000: 0,
        PATTERN001: 1,
        PATTERN010: 2,
        PATTERN011: 3,
        PATTERN100: 4,
        PATTERN101: 5,
        PATTERN110: 6,
        PATTERN111: 7
    };
    var n = 3, i = 3, r = 40, o = 10;

    function s(e, n, i) {
        switch (e) {
            case t.Patterns.PATTERN000:
                return (n + i) % 2 == 0;
            case t.Patterns.PATTERN001:
                return n % 2 == 0;
            case t.Patterns.PATTERN010:
                return i % 3 == 0;
            case t.Patterns.PATTERN011:
                return (n + i) % 3 == 0;
            case t.Patterns.PATTERN100:
                return (Math.floor(n / 2) + Math.floor(i / 3)) % 2 == 0;
            case t.Patterns.PATTERN101:
                return n * i % 2 + n * i % 3 == 0;
            case t.Patterns.PATTERN110:
                return (n * i % 2 + n * i % 3) % 2 == 0;
            case t.Patterns.PATTERN111:
                return (n * i % 3 + (n + i) % 2) % 2 == 0;
            default:
                throw new Error("bad maskPattern:" + e)
        }
    }

    t.isValid = function (e) {
        return null != e && "" !== e && !isNaN(e) && e >= 0 && e <= 7
    }, t.from = function (e) {
        return t.isValid(e) ? parseInt(e, 10) : void 0
    }, t.getPenaltyN1 = function (e) {
        for (var t = e.size, i = 0, r = 0, o = 0, s = null, a = null, l = 0; l < t; l++) {
            r = o = 0, s = a = null;
            for (var c = 0; c < t; c++) {
                var u = e.get(l, c);
                u === s ? r++ : (r >= 5 && (i += n + (r - 5)), s = u, r = 1), (u = e.get(c, l)) === a ? o++ : (o >= 5 && (i += n + (o - 5)), a = u, o = 1)
            }
            r >= 5 && (i += n + (r - 5)), o >= 5 && (i += n + (o - 5))
        }
        return i
    }, t.getPenaltyN2 = function (e) {
        for (var t = e.size, n = 0, r = 0; r < t - 1; r++) for (var o = 0; o < t - 1; o++) {
            var s = e.get(r, o) + e.get(r, o + 1) + e.get(r + 1, o) + e.get(r + 1, o + 1);
            4 !== s && 0 !== s || n++
        }
        return n * i
    }, t.getPenaltyN3 = function (e) {
        for (var t = e.size, n = 0, i = 0, o = 0, s = 0; s < t; s++) {
            i = o = 0;
            for (var a = 0; a < t; a++) i = i << 1 & 2047 | e.get(s, a), a >= 10 && (1488 === i || 93 === i) && n++, o = o << 1 & 2047 | e.get(a, s), a >= 10 && (1488 === o || 93 === o) && n++
        }
        return n * r
    }, t.getPenaltyN4 = function (e) {
        for (var t = 0, n = e.data.length, i = 0; i < n; i++) t += e.data[i];
        return Math.abs(Math.ceil(100 * t / n / 5) - 10) * o
    }, t.applyMask = function (e, t) {
        for (var n = t.size, i = 0; i < n; i++) for (var r = 0; r < n; r++) t.isReserved(r, i) || t.xor(r, i, s(e, r, i))
    }, t.getBestMask = function (e, n) {
        for (var i = Object.keys(t.Patterns).length, r = 0, o = 1 / 0, s = 0; s < i; s++) {
            n(s), t.applyMask(s, e);
            var a = t.getPenaltyN1(e) + t.getPenaltyN2(e) + t.getPenaltyN3(e) + t.getPenaltyN4(e);
            t.applyMask(s, e), a < o && (o = a, r = s)
        }
        return r
    }
}, function (e, t, n) {
    var i = n(135), r = n(517);

    function o(e) {
        this.genPoly = void 0, this.degree = e, this.degree && this.initialize(this.degree)
    }

    o.prototype.initialize = function (e) {
        this.degree = e, this.genPoly = r.generateECPolynomial(this.degree)
    }, o.prototype.encode = function (e) {
        if (!this.genPoly) throw new Error("Encoder not initialized");
        var t = new i(this.degree);
        t.fill(0);
        var n = i.concat([e, t], e.length + this.degree), o = r.mod(n, this.genPoly), s = this.degree - o.length;
        if (s > 0) {
            var a = new i(this.degree);
            return a.fill(0), o.copy(a, s), a
        }
        return o
    }, e.exports = o
}, function (e, t, n) {
    var i = n(135), r = n(518);
    t.mul = function (e, t) {
        var n = new i(e.length + t.length - 1);
        n.fill(0);
        for (var o = 0; o < e.length; o++) for (var s = 0; s < t.length; s++) n[o + s] ^= r.mul(e[o], t[s]);
        return n
    }, t.mod = function (e, t) {
        for (var n = new i(e); n.length - t.length >= 0;) {
            for (var o = n[0], s = 0; s < t.length; s++) n[s] ^= r.mul(t[s], o);
            for (var a = 0; a < n.length && 0 === n[a];) a++;
            n = n.slice(a)
        }
        return n
    }, t.generateECPolynomial = function (e) {
        for (var n = new i([1]), o = 0; o < e; o++) n = t.mul(n, [1, r.exp(o)]);
        return n
    }
}, function (e, t, n) {
    var i = n(135);
    if (i.alloc) var r = i.alloc(512), o = i.alloc(256); else r = new i(512), o = new i(256);
    !function () {
        for (var e = 1, t = 0; t < 255; t++) r[t] = e, o[e] = t, 256 & (e <<= 1) && (e ^= 285);
        for (t = 255; t < 512; t++) r[t] = r[t - 255]
    }(), t.log = function (e) {
        if (e < 1) throw new Error("log(" + e + ")");
        return o[e]
    }, t.exp = function (e) {
        return r[e]
    }, t.mul = function (e, t) {
        return 0 === e || 0 === t ? 0 : r[o[e] + o[t]]
    }
}, function (e, t, n) {
    var i = n(86), r = n(210), o = n(174), s = n(87), a = n(211), l = n(213), c = i.getBCHDigit(7973);

    function u(e, t) {
        return s.getCharCountIndicator(e, t) + 4
    }

    function d(e, t) {
        var n = 0;
        return e.forEach(function (e) {
            var i = u(e.mode, t);
            n += i + e.getBitsLength()
        }), n
    }

    t.from = function (e, t) {
        return a.isValid(e) ? parseInt(e, 10) : t
    }, t.getCapacity = function (e, t, n) {
        if (!a.isValid(e)) throw new Error("Invalid QR Code version");
        void 0 === n && (n = s.BYTE);
        var o = 8 * (i.getSymbolTotalCodewords(e) - r.getTotalCodewordsCount(e, t));
        if (n === s.MIXED) return o;
        var l = o - u(n, e);
        switch (n) {
            case s.NUMERIC:
                return Math.floor(l / 10 * 3);
            case s.ALPHANUMERIC:
                return Math.floor(l / 11 * 2);
            case s.KANJI:
                return Math.floor(l / 13);
            case s.BYTE:
            default:
                return Math.floor(l / 8)
        }
    }, t.getBestVersionForData = function (e, n) {
        var i, r = o.from(n, o.M);
        if (l(e)) {
            if (e.length > 1) return function (e, n) {
                for (var i = 1; i <= 40; i++) if (d(e, i) <= t.getCapacity(i, n, s.MIXED)) return i
            }(e, r);
            if (0 === e.length) return 1;
            i = e[0]
        } else i = e;
        return function (e, n, i) {
            for (var r = 1; r <= 40; r++) if (n <= t.getCapacity(r, i, e)) return r
        }(i.mode, i.getLength(), r)
    }, t.getEncodedBits = function (e) {
        if (!a.isValid(e) || e < 7) throw new Error("Invalid QR Code version");
        for (var t = e << 12; i.getBCHDigit(t) - c >= 0;) t ^= 7973 << i.getBCHDigit(t) - c;
        return e << 12 | t
    }
}, function (e, t, n) {
    var i = n(86), r = i.getBCHDigit(1335);
    t.getEncodedBits = function (e, t) {
        for (var n = e.bit << 3 | t, o = n << 10; i.getBCHDigit(o) - r >= 0;) o ^= 1335 << i.getBCHDigit(o) - r;
        return 21522 ^ (n << 10 | o)
    }
}, function (e, t, n) {
    var i = n(87), r = n(522), o = n(523), s = n(524), a = n(525), l = n(212), c = n(86), u = n(526);

    function d(e) {
        return unescape(encodeURIComponent(e)).length
    }

    function h(e, t, n) {
        for (var i, r = []; null !== (i = e.exec(n));) r.push({
            data: i[0],
            index: i.index,
            mode: t,
            length: i[0].length
        });
        return r
    }

    function f(e) {
        var t, n, r = h(l.NUMERIC, i.NUMERIC, e), o = h(l.ALPHANUMERIC, i.ALPHANUMERIC, e);
        return c.isKanjiModeEnabled() ? (t = h(l.BYTE, i.BYTE, e), n = h(l.KANJI, i.KANJI, e)) : (t = h(l.BYTE_KANJI, i.BYTE, e), n = []), r.concat(o, t, n).sort(function (e, t) {
            return e.index - t.index
        }).map(function (e) {
            return {data: e.data, mode: e.mode, length: e.length}
        })
    }

    function p(e, t) {
        switch (t) {
            case i.NUMERIC:
                return r.getBitsLength(e);
            case i.ALPHANUMERIC:
                return o.getBitsLength(e);
            case i.KANJI:
                return a.getBitsLength(e);
            case i.BYTE:
                return s.getBitsLength(e)
        }
    }

    function A(e, t) {
        var n, l = i.getBestModeForData(e);
        if ((n = i.from(t, l)) !== i.BYTE && n.bit < l.bit) throw new Error('"' + e + '" cannot be encoded with mode ' + i.toString(n) + ".\n Suggested mode is: " + i.toString(l));
        switch (n !== i.KANJI || c.isKanjiModeEnabled() || (n = i.BYTE), n) {
            case i.NUMERIC:
                return new r(e);
            case i.ALPHANUMERIC:
                return new o(e);
            case i.KANJI:
                return new a(e);
            case i.BYTE:
                return new s(e)
        }
    }

    t.fromArray = function (e) {
        return e.reduce(function (e, t) {
            return "string" == typeof t ? e.push(A(t, null)) : t.data && e.push(A(t.data, t.mode)), e
        }, [])
    }, t.fromString = function (e, n) {
        for (var r = function (e, t) {
            for (var n = {}, r = {start: {}}, o = ["start"], s = 0; s < e.length; s++) {
                for (var a = e[s], l = [], c = 0; c < a.length; c++) {
                    var u = a[c], d = "" + s + c;
                    l.push(d), n[d] = {node: u, lastCount: 0}, r[d] = {};
                    for (var h = 0; h < o.length; h++) {
                        var f = o[h];
                        n[f] && n[f].node.mode === u.mode ? (r[f][d] = p(n[f].lastCount + u.length, u.mode) - p(n[f].lastCount, u.mode), n[f].lastCount += u.length) : (n[f] && (n[f].lastCount = u.length), r[f][d] = p(u.length, u.mode) + 4 + i.getCharCountIndicator(u.mode, t))
                    }
                }
                o = l
            }
            for (h = 0; h < o.length; h++) r[o[h]].end = 0;
            return {map: r, table: n}
        }(function (e) {
            for (var t = [], n = 0; n < e.length; n++) {
                var r = e[n];
                switch (r.mode) {
                    case i.NUMERIC:
                        t.push([r, {data: r.data, mode: i.ALPHANUMERIC, length: r.length}, {
                            data: r.data,
                            mode: i.BYTE,
                            length: r.length
                        }]);
                        break;
                    case i.ALPHANUMERIC:
                        t.push([r, {data: r.data, mode: i.BYTE, length: r.length}]);
                        break;
                    case i.KANJI:
                        t.push([r, {data: r.data, mode: i.BYTE, length: d(r.data)}]);
                        break;
                    case i.BYTE:
                        t.push([{data: r.data, mode: i.BYTE, length: d(r.data)}])
                }
            }
            return t
        }(f(e, c.isKanjiModeEnabled())), n), o = u.find_path(r.map, "start", "end"), s = [], a = 1; a < o.length - 1; a++) s.push(r.table[o[a]].node);
        return t.fromArray(function (e) {
            return e.reduce(function (e, t) {
                var n = e.length - 1 >= 0 ? e[e.length - 1] : null;
                return n && n.mode === t.mode ? (e[e.length - 1].data += t.data, e) : (e.push(t), e)
            }, [])
        }(s))
    }, t.rawSplit = function (e) {
        return t.fromArray(f(e, c.isKanjiModeEnabled()))
    }
}, function (e, t, n) {
    var i = n(87);

    function r(e) {
        this.mode = i.NUMERIC, this.data = e.toString()
    }

    r.getBitsLength = function (e) {
        return 10 * Math.floor(e / 3) + (e % 3 ? e % 3 * 3 + 1 : 0)
    }, r.prototype.getLength = function () {
        return this.data.length
    }, r.prototype.getBitsLength = function () {
        return r.getBitsLength(this.data.length)
    }, r.prototype.write = function (e) {
        var t, n, i;
        for (t = 0; t + 3 <= this.data.length; t += 3) n = this.data.substr(t, 3), i = parseInt(n, 10), e.put(i, 10);
        var r = this.data.length - t;
        r > 0 && (n = this.data.substr(t), i = parseInt(n, 10), e.put(i, 3 * r + 1))
    }, e.exports = r
}, function (e, t, n) {
    var i = n(87),
        r = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", " ", "$", "%", "*", "+", "-", ".", "/", ":"];

    function o(e) {
        this.mode = i.ALPHANUMERIC, this.data = e
    }

    o.getBitsLength = function (e) {
        return 11 * Math.floor(e / 2) + e % 2 * 6
    }, o.prototype.getLength = function () {
        return this.data.length
    }, o.prototype.getBitsLength = function () {
        return o.getBitsLength(this.data.length)
    }, o.prototype.write = function (e) {
        var t;
        for (t = 0; t + 2 <= this.data.length; t += 2) {
            var n = 45 * r.indexOf(this.data[t]);
            n += r.indexOf(this.data[t + 1]), e.put(n, 11)
        }
        this.data.length % 2 && e.put(r.indexOf(this.data[t]), 6)
    }, e.exports = o
}, function (e, t, n) {
    var i = n(135), r = n(87);

    function o(e) {
        this.mode = r.BYTE, this.data = new i(e)
    }

    o.getBitsLength = function (e) {
        return 8 * e
    }, o.prototype.getLength = function () {
        return this.data.length
    }, o.prototype.getBitsLength = function () {
        return o.getBitsLength(this.data.length)
    }, o.prototype.write = function (e) {
        for (var t = 0, n = this.data.length; t < n; t++) e.put(this.data[t], 8)
    }, e.exports = o
}, function (e, t, n) {
    var i = n(87), r = n(86);

    function o(e) {
        this.mode = i.KANJI, this.data = e
    }

    o.getBitsLength = function (e) {
        return 13 * e
    }, o.prototype.getLength = function () {
        return this.data.length
    }, o.prototype.getBitsLength = function () {
        return o.getBitsLength(this.data.length)
    }, o.prototype.write = function (e) {
        var t;
        for (t = 0; t < this.data.length; t++) {
            var n = r.toSJIS(this.data[t]);
            if (n >= 33088 && n <= 40956) n -= 33088; else {
                if (!(n >= 57408 && n <= 60351)) throw new Error("Invalid SJIS character: " + this.data[t] + "\nMake sure your charset is UTF-8");
                n -= 49472
            }
            n = 192 * (n >>> 8 & 255) + (255 & n), e.put(n, 13)
        }
    }, e.exports = o
}, function (e, t, n) {
    "use strict";
    var i = {
        single_source_shortest_paths: function (e, t, n) {
            var r = {}, o = {};
            o[t] = 0;
            var s, a, l, c, u, d, h, f = i.PriorityQueue.make();
            for (f.push(t, 0); !f.empty();) for (l in a = (s = f.pop()).value, c = s.cost, u = e[a] || {}) u.hasOwnProperty(l) && (d = c + u[l], h = o[l], (void 0 === o[l] || h > d) && (o[l] = d, f.push(l, d), r[l] = a));
            if (void 0 !== n && void 0 === o[n]) {
                var p = ["Could not find a path from ", t, " to ", n, "."].join("");
                throw new Error(p)
            }
            return r
        }, extract_shortest_path_from_predecessor_list: function (e, t) {
            for (var n = [], i = t; i;) n.push(i), e[i], i = e[i];
            return n.reverse(), n
        }, find_path: function (e, t, n) {
            var r = i.single_source_shortest_paths(e, t, n);
            return i.extract_shortest_path_from_predecessor_list(r, n)
        }, PriorityQueue: {
            make: function (e) {
                var t, n = i.PriorityQueue, r = {};
                for (t in e = e || {}, n) n.hasOwnProperty(t) && (r[t] = n[t]);
                return r.queue = [], r.sorter = e.sorter || n.default_sorter, r
            }, default_sorter: function (e, t) {
                return e.cost - t.cost
            }, push: function (e, t) {
                var n = {value: e, cost: t};
                this.queue.push(n), this.queue.sort(this.sorter)
            }, pop: function () {
                return this.queue.shift()
            }, empty: function () {
                return 0 === this.queue.length
            }
        }
    };
    e.exports = i
}, function (e, t, n) {
    var i = n(21), r = n(528).PNG, o = n(155);
    t.render = function (e, t) {
        var n = o.getOptions(t), i = n.rendererOpts, s = o.getImageWidth(e.modules.size, n);
        i.width = s, i.height = s;
        var a = new r(i);
        return o.qrToImageData(a.data, e, n), a
    }, t.renderToDataURL = function (e, n, i) {
        void 0 === i && (i = n, n = void 0), t.renderToBuffer(e, n, function (e, t) {
            e && i(e);
            var n = "data:image/png;base64,";
            n += t.toString("base64"), i(null, n)
        })
    }, t.renderToBuffer = function (e, n, i) {
        void 0 === i && (i = n, n = void 0);
        var r = t.render(e, n), o = [];
        r.on("error", i), r.on("data", function (e) {
            o.push(e)
        }), r.on("end", function () {
            i(null, Buffer.concat(o))
        }), r.pack()
    }, t.renderToFile = function (e, n, r, o) {
        void 0 === o && (o = r, r = void 0);
        var s = i.createWriteStream(e);
        s.on("error", o), s.on("close", o), t.renderToFileStream(s, n, r)
    }, t.renderToFileStream = function (e, n, i) {
        t.render(n, i).pack().pipe(e)
    }
}, function (e, t, n) {
    "use strict";
    var i = n(6), r = n(74), o = n(529), s = n(531), a = n(534), l = t.PNG = function (e) {
        r.call(this), e = e || {}, this.width = 0 | e.width, this.height = 0 | e.height, this.data = this.width > 0 && this.height > 0 ? new Buffer(4 * this.width * this.height) : null, e.fill && this.data && this.data.fill(0), this.gamma = 0, this.readable = this.writable = !0, this._parser = new o(e), this._parser.on("error", this.emit.bind(this, "error")), this._parser.on("close", this._handleClose.bind(this)), this._parser.on("metadata", this._metadata.bind(this)), this._parser.on("gamma", this._gamma.bind(this)), this._parser.on("parsed", function (e) {
            this.data = e, this.emit("parsed", e)
        }.bind(this)), this._packer = new s(e), this._packer.on("data", this.emit.bind(this, "data")), this._packer.on("end", this.emit.bind(this, "end")), this._parser.on("close", this._handleClose.bind(this)), this._packer.on("error", this.emit.bind(this, "error"))
    };
    i.inherits(l, r), l.sync = a, l.prototype.pack = function () {
        return this.data && this.data.length ? (process.nextTick(function () {
            this._packer.pack(this.data, this.width, this.height, this.gamma)
        }.bind(this)), this) : (this.emit("error", "No data provided"), this)
    }, l.prototype.parse = function (e, t) {
        var n, i;
        t && (n = function (e) {
            this.removeListener("error", i), this.data = e, t(null, this)
        }.bind(this), i = function (e) {
            this.removeListener("parsed", n), t(e, null)
        }.bind(this), this.once("parsed", n), this.once("error", i));
        return this.end(e), this
    }, l.prototype.write = function (e) {
        return this._parser.write(e), !0
    }, l.prototype.end = function (e) {
        this._parser.end(e)
    }, l.prototype._metadata = function (e) {
        this.width = e.width, this.height = e.height, this.emit("metadata", e)
    }, l.prototype._gamma = function (e) {
        this.gamma = e
    }, l.prototype._handleClose = function () {
        this._parser.writable || this._packer.readable || this.emit("close")
    }, l.bitblt = function (e, t, n, i, r, o, s, a) {
        if (i |= 0, r |= 0, o |= 0, s |= 0, a |= 0, (n |= 0) > e.width || i > e.height || n + r > e.width || i + o > e.height) throw new Error("bitblt reading outside image");
        if (s > t.width || a > t.height || s + r > t.width || a + o > t.height) throw new Error("bitblt writing outside image");
        for (var l = 0; l < o; l++) e.data.copy(t.data, (a + l) * t.width + s << 2, (i + l) * e.width + n << 2, (i + l) * e.width + n + r << 2)
    }, l.prototype.bitblt = function (e, t, n, i, r, o, s) {
        return l.bitblt(this, e, t, n, i, r, o, s), this
    }, l.adjustGamma = function (e) {
        if (e.gamma) {
            for (var t = 0; t < e.height; t++) for (var n = 0; n < e.width; n++) for (var i = e.width * t + n << 2, r = 0; r < 3; r++) {
                var o = e.data[i + r] / 255;
                o = Math.pow(o, 1 / 2.2 / e.gamma), e.data[i + r] = Math.round(255 * o)
            }
            e.gamma = 0
        }
    }, l.prototype.adjustGamma = function () {
        l.adjustGamma(this)
    }
}, function (e, t, n) {
    "use strict";
    var i = n(6), r = n(48), o = n(214), s = n(530), a = n(218), l = n(220), c = n(221), u = e.exports = function (e) {
        o.call(this), this._parser = new a(e, {
            read: this.read.bind(this),
            error: this._handleError.bind(this),
            metadata: this._handleMetaData.bind(this),
            gamma: this.emit.bind(this, "gamma"),
            palette: this._handlePalette.bind(this),
            transColor: this._handleTransColor.bind(this),
            finished: this._finished.bind(this),
            inflateData: this._inflateData.bind(this)
        }), this._options = e, this.writable = !0, this._parser.start()
    };
    i.inherits(u, o), u.prototype._handleError = function (e) {
        this.emit("error", e), this.writable = !1, this.destroy(), this._inflate && this._inflate.destroy && this._inflate.destroy(), this._filter && (this._filter.destroy(), this._filter.on("error", function () {
        })), this.errord = !0
    }, u.prototype._inflateData = function (e) {
        if (!this._inflate) if (this._bitmapInfo.interlace) this._inflate = r.createInflate(), this._inflate.on("error", this.emit.bind(this, "error")), this._filter.on("complete", this._complete.bind(this)), this._inflate.pipe(this._filter); else {
            var t = (1 + (this._bitmapInfo.width * this._bitmapInfo.bpp * this._bitmapInfo.depth + 7 >> 3)) * this._bitmapInfo.height,
                n = Math.max(t, r.Z_MIN_CHUNK);
            this._inflate = r.createInflate({chunkSize: n});
            var i = t, o = this.emit.bind(this, "error");
            this._inflate.on("error", function (e) {
                i && o(e)
            }), this._filter.on("complete", this._complete.bind(this));
            var s = this._filter.write.bind(this._filter);
            this._inflate.on("data", function (e) {
                i && (e.length > i && (e = e.slice(0, i)), i -= e.length, s(e))
            }), this._inflate.on("end", this._filter.end.bind(this._filter))
        }
        this._inflate.write(e)
    }, u.prototype._handleMetaData = function (e) {
        this.emit("metadata", e), this._bitmapInfo = Object.create(e), this._filter = new s(this._bitmapInfo)
    }, u.prototype._handleTransColor = function (e) {
        this._bitmapInfo.transColor = e
    }, u.prototype._handlePalette = function (e) {
        this._bitmapInfo.palette = e
    }, u.prototype._finished = function () {
        this.errord || (this._inflate ? this._inflate.end() : this.emit("error", "No Inflate block"), this.destroySoon())
    }, u.prototype._complete = function (e) {
        if (!this.errord) {
            try {
                var t = l.dataToBitMap(e, this._bitmapInfo), n = c(t, this._bitmapInfo);
                t = null
            } catch (e) {
                return void this._handleError(e)
            }
            this.emit("parsed", n)
        }
    }
}, function (e, t, n) {
    "use strict";
    var i = n(6), r = n(214), o = n(215), s = e.exports = function (e) {
        r.call(this);
        var t = [], n = this;
        this._filter = new o(e, {
            read: this.read.bind(this), write: function (e) {
                t.push(e)
            }, complete: function () {
                n.emit("complete", Buffer.concat(t))
            }
        }), this._filter.start()
    };
    i.inherits(s, r)
}, function (e, t, n) {
    "use strict";
    var i = n(6), r = n(74), o = n(143), s = n(222), a = e.exports = function (e) {
        r.call(this);
        var t = e || {};
        this._packer = new s(t), this._deflate = this._packer.createDeflate(), this.readable = !0
    };
    i.inherits(a, r), a.prototype.pack = function (e, t, n, i) {
        this.emit("data", new Buffer(o.PNG_SIGNATURE)), this.emit("data", this._packer.packIHDR(t, n)), i && this.emit("data", this._packer.packGAMA(i));
        var r = this._packer.filterData(e, t, n);
        this._deflate.on("error", this.emit.bind(this, "error")), this._deflate.on("data", function (e) {
            this.emit("data", this._packer.packIDAT(e))
        }.bind(this)), this._deflate.on("end", function () {
            this.emit("data", this._packer.packIEND()), this.emit("end")
        }.bind(this)), this._deflate.end(r)
    }
}, function (e, t, n) {
    "use strict";
    var i = n(143);
    e.exports = function (e, t, n, r) {
        var o, s = -1 !== [i.COLORTYPE_COLOR_ALPHA, i.COLORTYPE_ALPHA].indexOf(r.colorType);
        if (r.colorType === r.inputColorType) {
            var a = (o = new ArrayBuffer(2), new DataView(o).setInt16(0, 256, !0), 256 !== new Int16Array(o)[0]);
            if (8 === r.bitDepth || 16 === r.bitDepth && a) return e
        }
        var l = 16 !== r.bitDepth ? e : new Uint16Array(e.buffer), c = 255,
            u = i.COLORTYPE_TO_BPP_MAP[r.inputColorType];
        4 != u || r.inputHasAlpha || (u = 3);
        var d = i.COLORTYPE_TO_BPP_MAP[r.colorType];
        16 === r.bitDepth && (c = 65535, d *= 2);
        var h = new Buffer(t * n * d), f = 0, p = 0, A = r.bgColor || {};

        function v(e, t) {
            var n, o, a, l = c;
            switch (r.inputColorType) {
                case i.COLORTYPE_COLOR_ALPHA:
                    l = e[t + 3], n = e[t], o = e[t + 1], a = e[t + 2];
                    break;
                case i.COLORTYPE_COLOR:
                    n = e[t], o = e[t + 1], a = e[t + 2];
                    break;
                case i.COLORTYPE_ALPHA:
                    l = e[t + 1], o = n = e[t], a = n;
                    break;
                case i.COLORTYPE_GRAYSCALE:
                    o = n = e[t], a = n;
                    break;
                default:
                    throw new Error("input color type:" + r.inputColorType + " is not supported at present")
            }
            return r.inputHasAlpha && (s || (l /= c, n = Math.min(Math.max(Math.round((1 - l) * A.red + l * n), 0), c), o = Math.min(Math.max(Math.round((1 - l) * A.green + l * o), 0), c), a = Math.min(Math.max(Math.round((1 - l) * A.blue + l * a), 0), c))), {
                red: n,
                green: o,
                blue: a,
                alpha: l
            }
        }

        void 0 === A.red && (A.red = c), void 0 === A.green && (A.green = c), void 0 === A.blue && (A.blue = c);
        for (var g = 0; g < n; g++) for (var m = 0; m < t; m++) {
            var C = v(l, f);
            switch (r.colorType) {
                case i.COLORTYPE_COLOR_ALPHA:
                case i.COLORTYPE_COLOR:
                    8 === r.bitDepth ? (h[p] = C.red, h[p + 1] = C.green, h[p + 2] = C.blue, s && (h[p + 3] = C.alpha)) : (h.writeUInt16BE(C.red, p), h.writeUInt16BE(C.green, p + 2), h.writeUInt16BE(C.blue, p + 4), s && h.writeUInt16BE(C.alpha, p + 6));
                    break;
                case i.COLORTYPE_ALPHA:
                case i.COLORTYPE_GRAYSCALE:
                    var y = (C.red + C.green + C.blue) / 3;
                    8 === r.bitDepth ? (h[p] = y, s && (h[p + 1] = C.alpha)) : (h.writeUInt16BE(y, p), s && h.writeUInt16BE(C.alpha, p + 2))
            }
            f += u, p += d
        }
        return h
    }
}, function (e, t, n) {
    "use strict";
    var i = n(217);
    var r = {
        0: function (e, t, n, i, r) {
            for (var o = 0; o < n; o++) i[r + o] = e[t + o]
        }, 1: function (e, t, n, i, r, o) {
            for (var s = 0; s < n; s++) {
                var a = s >= o ? e[t + s - o] : 0, l = e[t + s] - a;
                i[r + s] = l
            }
        }, 2: function (e, t, n, i, r) {
            for (var o = 0; o < n; o++) {
                var s = t > 0 ? e[t + o - n] : 0, a = e[t + o] - s;
                i[r + o] = a
            }
        }, 3: function (e, t, n, i, r, o) {
            for (var s = 0; s < n; s++) {
                var a = s >= o ? e[t + s - o] : 0, l = t > 0 ? e[t + s - n] : 0, c = e[t + s] - (a + l >> 1);
                i[r + s] = c
            }
        }, 4: function (e, t, n, r, o, s) {
            for (var a = 0; a < n; a++) {
                var l = a >= s ? e[t + a - s] : 0, c = t > 0 ? e[t + a - n] : 0,
                    u = t > 0 && a >= s ? e[t + a - (n + s)] : 0, d = e[t + a] - i(l, c, u);
                r[o + a] = d
            }
        }
    }, o = {
        0: function (e, t, n) {
            for (var i = 0, r = t + n, o = t; o < r; o++) i += Math.abs(e[o]);
            return i
        }, 1: function (e, t, n, i) {
            for (var r = 0, o = 0; o < n; o++) {
                var s = o >= i ? e[t + o - i] : 0, a = e[t + o] - s;
                r += Math.abs(a)
            }
            return r
        }, 2: function (e, t, n) {
            for (var i = 0, r = t + n, o = t; o < r; o++) {
                var s = t > 0 ? e[o - n] : 0, a = e[o] - s;
                i += Math.abs(a)
            }
            return i
        }, 3: function (e, t, n, i) {
            for (var r = 0, o = 0; o < n; o++) {
                var s = o >= i ? e[t + o - i] : 0, a = t > 0 ? e[t + o - n] : 0, l = e[t + o] - (s + a >> 1);
                r += Math.abs(l)
            }
            return r
        }, 4: function (e, t, n, r) {
            for (var o = 0, s = 0; s < n; s++) {
                var a = s >= r ? e[t + s - r] : 0, l = t > 0 ? e[t + s - n] : 0,
                    c = t > 0 && s >= r ? e[t + s - (n + r)] : 0, u = e[t + s] - i(a, l, c);
                o += Math.abs(u)
            }
            return o
        }
    };
    e.exports = function (e, t, n, i, s) {
        var a;
        if ("filterType" in i && -1 !== i.filterType) {
            if ("number" != typeof i.filterType) throw new Error("unrecognised filter types");
            a = [i.filterType]
        } else a = [0, 1, 2, 3, 4];
        16 === i.bitDepth && (s *= 2);
        for (var l = t * s, c = 0, u = 0, d = new Buffer((l + 1) * n), h = a[0], f = 0; f < n; f++) {
            if (a.length > 1) for (var p = 1 / 0, A = 0; A < a.length; A++) {
                var v = o[a[A]](e, u, l, s);
                v < p && (h = a[A], p = v)
            }
            d[c] = h, c++, r[h](e, u, l, d, c, s), c += l, u += l
        }
        return d
    }
}, function (e, t, n) {
    "use strict";
    var i = n(535), r = n(538);
    t.read = function (e, t) {
        return i(e, t || {})
    }, t.write = function (e, t) {
        return r(e, t)
    }
}, function (e, t, n) {
    "use strict";
    var i = !0, r = n(48), o = n(536);
    r.deflateSync || (i = !1);
    var s = n(223), a = n(537), l = n(218), c = n(220), u = n(221);
    e.exports = function (e, t) {
        if (!i) throw new Error("To use the sync capability of this library in old node versions, please pin pngjs to v2.3.0");
        var n, d, h;
        var f = [];
        var p = new s(e);
        if (new l(t, {
            read: p.read.bind(p), error: function (e) {
                n = e
            }, metadata: function (e) {
                d = e
            }, gamma: function (e) {
                h = e
            }, palette: function (e) {
                d.palette = e
            }, transColor: function (e) {
                d.transColor = e
            }, inflateData: function (e) {
                f.push(e)
            }
        }).start(), p.process(), n) throw n;
        var A, v = Buffer.concat(f);
        if (f.length = 0, d.interlace) A = r.inflateSync(v); else {
            var g = (1 + (d.width * d.bpp * d.depth + 7 >> 3)) * d.height;
            A = o(v, {chunkSize: g, maxLength: g})
        }
        if (v = null, !A || !A.length) throw new Error("bad png - invalid inflate data response");
        var m = a.process(A, d);
        v = null;
        var C = c.dataToBitMap(m, d);
        m = null;
        var y = u(C, d);
        return d.data = y, d.gamma = h || 0, d
    }
}, function (e, t, n) {
    "use strict";
    var i = n(82).ok, r = n(48), o = n(6), s = n(41).kMaxLength;

    function a(e) {
        if (!(this instanceof a)) return new a(e);
        e && e.chunkSize < r.Z_MIN_CHUNK && (e.chunkSize = r.Z_MIN_CHUNK), r.Inflate.call(this, e), this._offset = void 0 === this._offset ? this._outOffset : this._offset, this._buffer = this._buffer || this._outBuffer, e && null != e.maxLength && (this._maxLength = e.maxLength)
    }

    function l(e, t) {
        t && process.nextTick(t), e._handle && (e._handle.close(), e._handle = null)
    }

    function c(e, t) {
        return function (e, t) {
            if ("string" == typeof t && (t = Buffer.from(t)), !(t instanceof Buffer)) throw new TypeError("Not a string or buffer");
            var n = e._finishFlushFlag;
            return null == n && (n = r.Z_FINISH), e._processChunk(t, n)
        }(new a(t), e)
    }

    a.prototype._processChunk = function (e, t, n) {
        if ("function" == typeof n) return r.Inflate._processChunk.call(this, e, t, n);
        var o, a = this, c = e && e.length, u = this._chunkSize - this._offset, d = this._maxLength, h = 0, f = [],
            p = 0;

        function A(e, t) {
            if (!a._hadError) {
                var n = u - t;
                if (i(n >= 0, "have should not go down"), n > 0) {
                    var r = a._buffer.slice(a._offset, a._offset + n);
                    if (a._offset += n, r.length > d && (r = r.slice(0, d)), f.push(r), p += r.length, 0 === (d -= r.length)) return !1
                }
                return (0 === t || a._offset >= a._chunkSize) && (u = a._chunkSize, a._offset = 0, a._buffer = Buffer.allocUnsafe(a._chunkSize)), 0 === t && (h += c - e, c = e, !0)
            }
        }

        this.on("error", function (e) {
            o = e
        }), i(this._handle, "zlib binding closed");
        do {
            var v = this._handle.writeSync(t, e, h, c, this._buffer, this._offset, u);
            v = v || this._writeState
        } while (!this._hadError && A(v[0], v[1]));
        if (this._hadError) throw o;
        if (p >= s) throw l(this), new RangeError("Cannot create final Buffer. It would be larger than 0x" + s.toString(16) + " bytes");
        var g = Buffer.concat(f, p);
        return l(this), g
    }, o.inherits(a, r.Inflate), e.exports = t = c, t.Inflate = a, t.createInflate = function (e) {
        return new a(e)
    }, t.inflateSync = c
}, function (e, t, n) {
    "use strict";
    var i = n(223), r = n(215);
    t.process = function (e, t) {
        var n = [], o = new i(e);
        return new r(t, {
            read: o.read.bind(o), write: function (e) {
                n.push(e)
            }, complete: function () {
            }
        }).start(), o.process(), Buffer.concat(n)
    }
}, function (e, t, n) {
    "use strict";
    var i = !0, r = n(48);
    r.deflateSync || (i = !1);
    var o = n(143), s = n(222);
    e.exports = function (e, t) {
        if (!i) throw new Error("To use the sync capability of this library in old node versions, please pin pngjs to v2.3.0");
        var n = new s(t || {}), a = [];
        a.push(new Buffer(o.PNG_SIGNATURE)), a.push(n.packIHDR(e.width, e.height)), e.gamma && a.push(n.packGAMA(e.gamma));
        var l = n.filterData(e.data, e.width, e.height), c = r.deflateSync(l, n.getDeflateOptions());
        if (l = null, !c || !c.length) throw new Error("bad png - invalid compressed data response");
        return a.push(n.packIDAT(c)), a.push(n.packIEND()), Buffer.concat(a)
    }
}, function (e, t, n) {
    var i = n(155), r = {WW: " ", WB: "▄", BB: "█", BW: "▀"};
    t.render = function (e, t, n) {
        var o = e.modules.size, s = e.modules.data, a = i.getOptions(t), l = "",
            c = Array(o + 2 * a.margin + 1).join(r.WW);
        c = Array(a.margin / 2 + 1).join(c + "\n");
        var u, d, h = Array(a.margin + 1).join(r.WW);
        l += c;
        for (var f = 0; f < o; f += 2) {
            l += h;
            for (var p = 0; p < o; p++) {
                var A = s[f * o + p], v = s[(f + 1) * o + p];
                l += (d = v, (u = A) && d ? r.BB : u && !d ? r.BW : !u && d ? r.WB : r.WW)
            }
            l += h + "\n"
        }
        return l += c.slice(0, -1), "function" == typeof n && n(null, l), l
    }, t.renderToFile = function (e, i, r, o) {
        void 0 === o && (o = r, r = void 0);
        var s = n(21), a = t.render(i, r);
        s.writeFile(e, a, o)
    }
}, function (e, t) {
    t.render = function (e, t, n) {
        var i = e.modules.size, r = e.modules.data, o = "[47m  [0m", s = "", a = Array(i + 3).join(o),
            l = Array(2).join(o);
        s += a + "\n";
        for (var c = 0; c < i; ++c) {
            s += o;
            for (var u = 0; u < i; u++) s += r[c * i + u] ? "[40m  [0m" : o;
            s += l + "\n"
        }
        return s += a + "\n", "function" == typeof n && n(null, s), s
    }
}, function (e, t, n) {
    var i = n(224);
    t.render = i.render, t.renderToFile = function (e, i, r, o) {
        void 0 === o && (o = r, r = void 0);
        var s = n(21),
            a = '<?xml version="1.0" encoding="utf-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">' + t.render(i, r);
        s.writeFile(e, a, o)
    }
}, function (e, t, n) {
    var i = n(543), r = n(209), o = n(544), s = n(224);

    function a(e, t, n, o, s) {
        var a = [].slice.call(arguments, 1), l = a.length, c = "function" == typeof a[l - 1];
        if (!c && !i()) throw new Error("Callback required as last argument");
        if (!c) {
            if (l < 1) throw new Error("Too few arguments provided");
            return 1 === l ? (n = t, t = o = void 0) : 2 !== l || t.getContext || (o = n, n = t, t = void 0), new Promise(function (i, s) {
                try {
                    var a = r.create(n, o);
                    i(e(a, t, o))
                } catch (e) {
                    s(e)
                }
            })
        }
        if (l < 2) throw new Error("Too few arguments provided");
        2 === l ? (s = n, n = t, t = o = void 0) : 3 === l && (t.getContext && void 0 === s ? (s = o, o = void 0) : (s = o, o = n, n = t, t = void 0));
        try {
            var u = r.create(n, o);
            s(null, e(u, t, o))
        } catch (e) {
            s(e)
        }
    }

    t.create = r.create, t.toCanvas = a.bind(null, o.render), t.toDataURL = a.bind(null, o.renderToDataURL), t.toString = a.bind(null, function (e, t, n) {
        return s.render(e, n)
    })
}, function (e, t) {
    e.exports = function () {
        return "function" == typeof Promise && Promise.prototype && Promise.prototype.then
    }
}, function (e, t, n) {
    var i = n(155);
    t.render = function (e, t, n) {
        var r = n, o = t;
        void 0 !== r || t && t.getContext || (r = t, t = void 0), t || (o = function () {
            try {
                return document.createElement("canvas")
            } catch (e) {
                throw new Error("You need to specify a canvas element")
            }
        }()), r = i.getOptions(r);
        var s = i.getImageWidth(e.modules.size, r), a = o.getContext("2d"), l = a.createImageData(s, s);
        return i.qrToImageData(l.data, e, r), function (e, t, n) {
            e.clearRect(0, 0, t.width, t.height), t.style || (t.style = {}), t.height = n, t.width = n, t.style.height = n + "px", t.style.width = n + "px"
        }(a, o, s), a.putImageData(l, 0, 0), o
    }, t.renderToDataURL = function (e, n, i) {
        var r = i;
        void 0 !== r || n && n.getContext || (r = n, n = void 0), r || (r = {});
        var o = t.render(e, n, r), s = r.type || "image/png", a = r.rendererOpts || {};
        return o.toDataURL(s, a.quality)
    }
}, function (e, t, n) {
    e.exports = function (e) {
        function t(i) {
            if (n[i]) return n[i].exports;
            var r = n[i] = {i, l: !1, exports: {}};
            return e[i].call(r.exports, r, r.exports, t), r.l = !0, r.exports
        }

        var n = {};
        return t.m = e, t.c = n, t.i = function (e) {
            return e
        }, t.d = function (e, n, i) {
            t.o(e, n) || Object.defineProperty(e, n, {configurable: !1, enumerable: !0, get: i})
        }, t.n = function (e) {
            var n = e && e.__esModule ? function () {
                return e.default
            } : function () {
                return e
            };
            return t.d(n, "a", n), n
        }, t.o = function (e, t) {
            return Object.prototype.hasOwnProperty.call(e, t)
        }, t.p = "/dist/", t(t.s = 4)
    }([function (e, t) {
        e.exports = {
            inserted: function (e, t, n) {
                var i = n.context.$refs[t.arg];
                i && i.addItem({el: e, value: t.value})
            }, unbind: function (e, t, n) {
                var i = n.context.$refs[t.arg];
                i && i.removeItem({el: e, value: t.value})
            }
        }
    }, function (e, t, n) {
        var i = n(5)(n(2), n(6), null, null, null);
        e.exports = i.exports
    }, function (e, t, n) {
        "use strict";
        Object.defineProperty(t, "__esModule", {value: !0});
        var i = n(3);
        t.default = {
            name: "Popup",
            props: {
                appendToBody: {type: Boolean, default: !0},
                arrowClass: String,
                direction: {type: String, default: "bottom"},
                display: {type: Boolean, default: !1},
                padding: {type: Number, default: 0},
                trigger: {type: String, default: "hover"},
                scrollShow: {type: Boolean, default: !0}
            },
            data: function () {
                return {
                    arrowStyle: {},
                    delay: 100,
                    directionMap: {top: "height", left: "width"},
                    secondDirection: "",
                    left: 0,
                    top: 0,
                    currentElement: null,
                    willHide: !1
                }
            },
            computed: {
                directionClass: function () {
                    var e = /(top)|(bottom)|(left)|(right)/i, t = e.exec(this.direction) || [],
                        n = this.secondDirection ? e.exec(this.secondDirection)[0] : "", i = t[0] || "";
                    return "" === n ? "popup-" + i : "popup-" + n
                }, triggerEvent: function () {
                    switch (this.trigger) {
                        case"hover":
                            return "mouseenter";
                        case"focus":
                            return "focus";
                        case"click":
                            return "click"
                    }
                }, unTriggerEl: function () {
                    return "click" === this.trigger ? document : this.$el
                }, unTriggerEvent: function () {
                    switch (this.trigger) {
                        case"hover":
                            return "mouseleave";
                        case"focus":
                            return "blur";
                        case"click":
                            return "click"
                    }
                }
            },
            mounted: function () {
                this.appendToBody && document.body.appendChild(this.$el), this.$el.addEventListener(this.triggerEvent, this.handlePopupVisible), this.unTriggerEl.addEventListener(this.unTriggerEvent, this.handlePopupInvisible), this.handleResizeThrottle = n.i(i.a)(this.handleResize, 16), window.addEventListener("resize", this.handleResizeThrottle)
            },
            beforeDestroy: function () {
                this.$el.removeEventListener(this.triggerEvent, this.handlePopupVisible), this.unTriggerEl.removeEventListener(this.unTriggerEvent, this.handlePopupInvisible), window.removeEventListener("resize", this.handleResizeThrottle)
            },
            destroyed: function () {
                this.appendToBody && this.$el && document.body.hasChildNodes(this.$el) && document.body.removeChild(this.$el)
            },
            methods: {
                addItem: function (e) {
                    e.el.handleVisible = this.handleVisible.bind(this, e.value, e.el), e.el.addEventListener(this.triggerEvent, e.el.handleVisible), "click" !== this.trigger && (e.el.handleInvisible = this.handleInvisible.bind(this, e.value), e.el.addEventListener(this.unTriggerEvent, e.el.handleInvisible)), this.bindScroll(e.el)
                }, removeItem: function (e) {
                    e.el.removeEventListener(this.triggerEvent, e.el.handleVisible), "click" !== this.trigger && e.el.removeEventListener(this.unTriggerEvent, e.el.handleInvisible), this.unbindScroll(e.el)
                }, bindScroll: function (e) {
                    for (e = e.parentNode; e;) e.addEventListener("scroll", this.handleScroll), e = e.parentNode
                }, unbindScroll: function (e) {
                    for (e = e.parentNode; e;) e.removeEventListener("scroll", this.handleScroll), e = e.parentNode
                }, computePosition: function (e, t) {
                    e = e.getBoundingClientRect();
                    var n = 0, i = 0, r = (t = t.getBoundingClientRect()).top - e.height - this.padding,
                        o = t.left + t.width + this.padding, s = t.top + t.height + this.padding,
                        a = t.left - e.width - this.padding;
                    /(top)|(bottom)/i.test(this.direction) ? (n = t.left + (t.width - e.width) / 2, "bottomStart" !== this.direction && "topStart" !== this.direction || (n = t.left), "bottomEnd" !== this.direction && "topEnd" !== this.direction || (n = t.left - e.width + t.width), n < 0 ? (n = 0, this.arrowStyle = {left: (t.left + t.right) / 2 + "px"}) : n + e.width > window.innerWidth ? (n = window.innerWidth - e.width, this.arrowStyle = {left: (t.left + t.right) / 2 - n + "px"}) : this.arrowStyle = {left: (t.left + t.right) / 2 - n + "px"}, "top" === this.direction || "topStart" === this.direction || "topEnd" === this.direction ? r < 0 && s + e.height <= window.innerHeight ? (i = s, this.secondDirection = "bottom", "topStart" === this.direction && (this.secondDirection = "bottomStart", this.arrowStyle = {left: (t.left + t.right) / 2 - n + "px"}), "topEnd" === this.direction && (this.secondDirection = "bottomEnd", this.arrowStyle = {left: (t.left + t.right) / 2 - n + "px"})) : (i = r, this.secondDirection = "", this.arrowStyle = {left: (t.left + t.right) / 2 - n + "px"}) : s + e.height > window.innerHeight && r >= 0 ? (i = r, this.secondDirection = "top", "bottomStart" === this.direction && (this.secondDirection = "topStart", this.arrowStyle = {left: (t.left + t.right) / 2 - n + "px"}), "bottomEnd" === this.direction && (this.secondDirection = "topEnd", this.arrowStyle = {left: (t.left + t.right) / 2 - n + "px"})) : (i = s, this.secondDirection = "", this.arrowStyle = {left: (t.left + t.right) / 2 - n + "px"})) : /(left)|(right)/i.test(this.direction) && (i = t.top + (t.height - e.height) / 2, "leftStart" !== this.direction && "rightStart" !== this.direction || (i = t.top), "leftEnd" !== this.direction && "rightEnd" !== this.direction || (i = t.top - e.height + t.height), i < 0 ? (i = 0, this.arrowStyle = {top: (t.top + t.bottom) / 2 + "px"}) : i + e.height > window.innerHeight ? (i = window.innerHeight - e.height, this.arrowStyle = {top: (t.top + t.bottom) / 2 - i + "px"}) : this.arrowStyle = {top: (t.top + t.bottom) / 2 - i + "px"}, "left" === this.direction || "leftStart" === this.direction || "leftEnd" === this.direction ? a < 0 && o + e.width <= window.innerWidth ? (n = o, this.secondDirection = "right", "leftStart" === this.direction && (this.secondDirection = "rightStart", this.arrowStyle = {top: (t.top + t.bottom) / 2 - i + "px"}), "leftEnd" === this.direction && (this.secondDirection = "rightEnd", this.arrowStyle = {top: (t.top + t.bottom) / 2 - i + "px"})) : (n = a, this.secondDirection = "", this.arrowStyle = {top: (t.top + t.bottom) / 2 - i + "px"}) : o + e.width > window.innerWidth && a >= 0 ? (n = a, this.secondDirection = "left", "rightStart" === this.direction && (this.secondDirection = "leftStart", this.arrowStyle = {top: (t.top + t.bottom) / 2 - i + "px"}), "rightEnd" === this.direction && (this.secondDirection = "leftEnd", this.arrowStyle = {top: (t.top + t.bottom) / 2 - i + "px"})) : (n = o, this.secondDirection = "", this.arrowStyle = {top: (t.top + t.bottom) / 2 - i + "px"})), this.top = i, this.left = n
                }, handleVisible: function (e, t, n) {
                    var i = this;
                    if ("click" === this.trigger && this.display && !0 !== n) return this.handleInvisible(e);
                    this.willHide = !1, this.currentElement = t, this.currentValue = e, this.$emit("update:display", !0), this.$emit("show", e), this.$nextTick(function () {
                        setTimeout(function () {
                            i.computePosition(i.$el, i.currentElement)
                        })
                    })
                }, handleInvisible: function (e) {
                    var t = this;
                    "click" === this.trigger ? (this.$emit("update:display", !1), this.$emit("hide", e)) : (this.willHide = !0, setTimeout(function () {
                        t.willHide && (t.$emit("update:display", !1), t.$emit("hide", e))
                    }, this.delay))
                }, handleScroll: function () {
                    this.scrollShow ? this.display && this.computePosition(this.$el, this.currentElement) : (this.$emit("update:display", !1), this.$emit("hide"))
                }, handlePopupVisible: function (e) {
                    e.stopPropagation(), this.willHide = !1, this.$emit("update:display", !0), this.$emit("show", this.value)
                }, handlePopupInvisible: function (e) {
                    var t = this;
                    "click" === this.trigger && this.isClosest(e.target, this.currentElement) || ("click" === this.trigger ? (this.$emit("update:display", !1), this.$emit("hide", this.value)) : (this.willHide = !0, setTimeout(function () {
                        t.willHide && (t.$emit("update:display", !1), t.$emit("hide", t.value))
                    }, this.delay)))
                }, handleResize: function () {
                    this.display && this.handleVisible(this.value, this.currentElement, !0)
                }, show: function (e, t) {
                    this.handleVisible(t, e)
                }, hide: function () {
                    this.handleInvisible()
                }, isDirectionLine: function (e) {
                    return "top" === e || "bottom" === e ? "top" === this.direction || "bottom" === this.direction : "left" === this.direction || "right" === this.direction
                }, isClosest: function (e, t) {
                    return e !== document && (e === t || this.isClosest(e.parentNode, t))
                }
            }
        }
    }, function (e, t, n) {
        "use strict";
        t.a = function (e, t) {
            var n = this, i = 0;
            return function () {
                for (var r = arguments.length, o = Array(r), s = 0; s < r; s++) o[s] = arguments[s];
                var a = +new Date;
                a - i > t && (e.apply(n, o), i = a)
            }
        }
    }, function (e, t, n) {
        var i = n(0), r = n(1);
        r.install = function (e) {
            e.directive("popup", i), e.component(r.name, r)
        }, e.exports = r
    }, function (e, t) {
        e.exports = function (e, t, n, i, r) {
            var o, s = e = e || {}, a = typeof e.default;
            "object" !== a && "function" !== a || (o = e, s = e.default);
            var l, c = "function" == typeof s ? s.options : s;
            if (t && (c.render = t.render, c.staticRenderFns = t.staticRenderFns), i && (c._scopeId = i), r ? (l = function (e) {
                (e = e || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) || "undefined" == typeof __VUE_SSR_CONTEXT__ || (e = __VUE_SSR_CONTEXT__), n && n.call(this, e), e && e._registeredComponents && e._registeredComponents.add(r)
            }, c._ssrRegister = l) : n && (l = n), l) {
                var u = c.functional, d = u ? c.render : c.beforeCreate;
                u ? c.render = function (e, t) {
                    return l.call(t), d(e, t)
                } : c.beforeCreate = d ? [].concat(d, l) : [l]
            }
            return {esModule: o, exports: s, options: c}
        }
    }, function (e, t) {
        e.exports = {
            render: function () {
                var e = this, t = e.$createElement, n = e._self._c || t;
                return n("div", {
                    class: e.directionClass,
                    style: {display: e.display ? "block" : "none", left: e.left + "px", top: e.top + "px"},
                    attrs: {tabindex: "999"}
                }, [e._t("default"), e._v(" "), n("span", {
                    staticClass: "popup-arrow",
                    class: e.arrowClass,
                    style: e.arrowStyle
                })], 2)
            }, staticRenderFns: []
        }
    }])
}, function (e, t, n) {
    "use strict";
    var i = n(1062);
    n.n(i).a
}, , , function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0}), function (e) {
        e[e.Success = 0] = "Success", e[e.FunctionUnExist = 1] = "FunctionUnExist", e[e.ParamError = 2] = "ParamError", e[e.CallFailed = 3] = "CallFailed", e[e.NotAllowed = 4] = "NotAllowed"
    }(t.NativeFunctionErrorCode || (t.NativeFunctionErrorCode = {}))
}, , , , , function (e, t, n) {
    "use strict";
    var i = n(231);

    function r() {
        this._state = 0, this._response = {
            host: "unknown",
            alive: !1,
            output: "unknown",
            time: "unknown",
            min: "unknown",
            max: "unknown",
            avg: "unknown",
            stddev: "unknown"
        }, this._times = [], this._lines = [], this._stripRegex = /[ ]*\r?\n?$/g
    }

    r.prototype.STATES = {INIT: 0, HEADER: 1, BODY: 2, FOOTER: 3, END: 4}, r.prototype._changeState = function (e) {
        if (i.values(this.STATES).indexOf(e) < 0) throw new Error("Unknown state");
        return this._state = e, this
    }, r.prototype._processHeader = function (e) {
        throw new Error("Subclass should implement this method")
    }, r.prototype._processBody = function (e) {
        throw new Error("Subclass should implement this method")
    }, r.prototype._processFooter = function (e) {
        throw new Error("Subclass should implement this method")
    }, r.prototype.eat = function (e) {
        var t = [this.STATES.INIT, this.STATES.HEADER];
        this._lines.push(e);
        var n = e.replace(this._stripRegex, "");
        if (0 === n.length) ; else if (t.indexOf(this._state) >= 0) this._processHeader(n); else if (this._state === this.STATES.BODY) this._processBody(n); else if (this._state === this.STATES.FOOTER) this._processFooter(n); else if (this._state !== this.STATES.END) throw new Error("Unknown state");
        return this
    }, r.prototype.getResult = function () {
        var e = i.extend({}, this._response);
        if (e.output = this._lines.join("\n"), e.alive = this._times.length > 0, e.alive && (e.time = this._response.time = this._times[0]), "unknown" === e.stddev && e.alive) {
            var t = this._times.length, n = i.reduce(this._times, function (t, n) {
                return t + Math.pow(n - e.avg, 2)
            }, 0) / t;
            e.stddev = Math.round(1e3 * Math.sqrt(n)) / 1e3
        }
        return i.each(["min", "avg", "max", "stddev"], function (t) {
            var n = e[t];
            i.isNumber(n) && (e[t] = n.toFixed(3))
        }), e
    }, e.exports = r
}, , , , , function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return "confirm" === e.popType ? n("confirm", {
            attrs: {options: e.options, "box-id": e.boxId},
            on: {
                "update:options": function (t) {
                    e.options = t
                }
            },
            nativeOn: {
                dragstart: function (e) {
                    e.preventDefault()
                }
            }
        }) : "message-box" === e.popType ? n("message-box", {
            attrs: {
                options: e.options,
                formData: e.options.formData,
                "box-id": e.boxId
            }, on: {
                "update:formData": function (t) {
                    e.$set(e.options, "formData", t)
                }
            }, nativeOn: {
                dragstart: function (e) {
                    e.preventDefault()
                }
            }
        }) : n(e.popType, {
            tag: "component",
            attrs: {options: e.options, "box-id": e.boxId},
            nativeOn: {
                dragstart: function (e) {
                    e.preventDefault()
                }
            }
        })
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, , , , , , , , , , , , function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("td-dialog", {
            attrs: {"custom-class": ["xly-dialog-about"], "footer-enabled": !1, visible: ""},
            on: {close: e.handleCancel}
        }, [n("div", {staticClass: "xly-dialog-about__content"}, [n("div", {staticClass: "xly-dialog-about__info"}, [n("div", {staticClass: "xly-dialog-about__logo"}, [n("i", {staticClass: "xly-icon-logo"})]), e._v(" "), n("div", {staticClass: "xly-dialog-about__title"}, [n("h1", [e._v("\n          迅雷\n          "), n("span", [e._v("11")])])])]), e._v(" "), n("a", {
        	staticClass: "td-button td-button--other",
        }, [e._v("版本："), n("span", [e._v(e._s(e.thunderVersion))])]), e._v(" "), n("div", {
            staticClass: "xly-dialog-about__version",
            class: e.expandClass
        }, [n("a", {
            staticClass: "xly-dialog-about__link",
            on: {click: e.handleExpand}
        }, [e._v("\n        查看组件版本\n        "), n("i", {staticClass: "td-icon-arrow-drop"})]), e._v(" "), n("div", {staticClass: "xly-dialog-about__more"}, [n("ul", [n("li", [n("span", {staticClass: "title"}, [e._v("下载引擎：")]), e._v(" "), n("span", {staticClass: "text"}, [e._v(e._s(e.downloadSDKVersion))])]), e._v(" "), n("li", [n("span", {staticClass: "title"}, [e._v("XDAS：")]), e._v(" "), n("span", {staticClass: "text"}, [e._v(e._s(e.xdasVersion))])]), e._v(" "), n("li", [n("span", {staticClass: "title"}, [e._v("Electron：")]), e._v(" "), n("span", {staticClass: "text"}, [e._v(e._s(e.electronVersion))])]), e._v(" "), n("li", [n("span", {staticClass: "title"}, [e._v("Chromium：")]), e._v(" "), n("span", {staticClass: "text"}, [e._v(e._s(e.chromiumVersion))])]), e._v(" "), n("li", [n("span", {staticClass: "title"}, [e._v("Node：")]), e._v(" "), n("span", {staticClass: "text"}, [e._v(e._s(e.nodeVersion))])]), e._v(" "), n("li", [n("span", {staticClass: "title"}, [e._v("V8：")]), e._v(" "), n("span", {staticClass: "text"}, [e._v(e._s(e.v8Version))])])])])]), e._v(" "), n("div", {staticClass: "xly-dialog-about__copyright"}, [n("p", [e._v("© 2003-" + e._s(e.year) + " 深圳市迅雷网络技术有限公司")]), e._v(" "), n("p", [n("span", [e._v("© 2003-" + e._s(e.year) + " Xunlei Networking Technologies.LTD")]), e._v(" "), n("a", {
            staticStyle: {cursor: "pointer"},
            on: {click: e.handleHomePage}
        }, [e._v("423down.com")])])])])])
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("td-dialog", e._g(e._b({
            attrs: {"custom-class": "xly-dialog-prompt", visible: ""},
            on: {
                close: function (t) {
                    e.handleCancel(e.action.Close)
                }
            }
        }, "td-dialog", e.$attrs, !1), e.$listeners), [n("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v(e._s(e.options.title))]), e._v(" "), e.options.content ? n("p", {
            staticClass: "xly-dialog-prompt__text",
            domProps: {innerHTML: e._s(e.options.content)}
        }) : e.options.fileName ? n("div", {
            staticClass: "xlx-dialog-comfirm__film-name",
            attrs: {title: e.options.fileName}
        }, [e._v(e._s(e.options.fileName) + "\n  ")]) : e._e(), e._v(" "), e.options.checkboxEnabled ? n("td-checkbox", {
            attrs: {value: e.options.checkboxChecked},
            on: {input: e.handleInput}
        }, [e._v(e._s(e.options.checkboxLabel))]) : e._e(), e._v(" "), n("template", {slot: "footer"}, [n("div", {staticClass: "xly-dialog__footer xly-dialog__button"}, ["okVisible" in e.options && !e.options.okVisible ? e._e() : n("td-button", {
            class: {"is-danger": "warning" === e.icon[e.options.type]},
            on: {click: e.handleOK}
        }, [e._v(e._s(e.options.okText || "确定"))]), e._v(" "), "cancelVisible" in e.options && !e.options.cancelVisible ? e._e() : n("td-button", {
            attrs: {other: ""},
            on: {
                click: function (t) {
                    e.handleCancel(e.action.Cancel)
                }
            }
        }, [e._v(e._s(e.options.cancelText || "取消"))])], 1)])], 2)
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("td-dialog", {
            attrs: {"custom-class": e.customClass, visible: ""}, on: {
                close: function (t) {
                    e.handleCancel(e.action.Close)
                }
            }
        }, [n("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v(e._s(e.options.title))]), e._v(" "), e.options.schemas ? n("div", {staticClass: "xlx-dialog-setting__content"}, [n("div", {staticClass: "xlx-dialog-setting__speed"}, e._l(e.options.schemas, function (t) {
            return n("generator-view", {
                key: t.name,
                attrs: {item: t, value: e.formData[t.name], formData: e.formData},
                on: {input: e.handleInput}
            })
        }))]) : e.options.message ? [e._v(e._s(e.options.message))] : e._e(), e._v(" "), n("div", {
            staticClass: "xly-dialog__footer",
            attrs: {slot: "footer"},
            slot: "footer"
        }, [n("div", {staticClass: "xly-dialog__button"}, ["okVisible" in e.options && !e.options.okVisible ? e._e() : n("td-button", {
            attrs: {disabled: !e.comfirmButtonActive},
            on: {click: e.handleOK}
        }, [e._v(e._s(e.options.okText || "确定"))]), e._v(" "), "cancelVisible" in e.options && !e.options.cancelVisible ? e._e() : n("td-button", {
            staticClass: "td-button--other",
            on: {
                click: function (t) {
                    e.handleCancel(e.action.Cancel)
                }
            }
        }, [e._v(e._s(e.options.cancelText || "取消"))])], 1)])], 2)
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("td-dialog", {
            attrs: {"custom-class": "xly-dialog-time", "footer-enabled": !1, visible: ""},
            on: {close: e.handleClose}
        }, [n("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("计划任务，按时下载")]), e._v(" "), n("div", {staticClass: "xly-dialog-time__setting"}, [n("div", {staticClass: "xly-dialog-time__part"}, [n("td-tooltip", {
            attrs: {
                content: e.sget(e.errorFields, "hours", 0, "message"),
                visible: Boolean(e.sget(e.errorFields, "hours"))
            }
        }, [n("td-input", {
            attrs: {placeholder: "0"}, model: {
                value: e.hours, callback: function (t) {
                    e.hours = t
                }, expression: "hours"
            }
        })], 1), e._v(" "), n("span", {staticClass: "xly-dialog-time__text"}, [e._v("时")]), e._v(" "), n("td-tooltip", {
            attrs: {
                content: e.sget(e.errorFields, "minutes", 0, "message"),
                visible: Boolean(e.sget(e.errorFields, "minutes"))
            }
        }, [n("td-input", {
            attrs: {placeholder: "0"}, model: {
                value: e.minutes, callback: function (t) {
                    e.minutes = t
                }, expression: "minutes"
            }
        })], 1), e._v(" "), n("span", {staticClass: "xly-dialog-time__text"}, [e._v("分")]), e._v("\n      后\n    ")], 1), e._v(" "), n("div", {staticClass: "xly-dialog-time__part"}, [n("select-native", {
            attrs: {
                options: e.operations,
                useNative: !0
            }, model: {
                value: e.operation, callback: function (t) {
                    e.operation = t
                }, expression: "operation"
            }
        }), e._v(" "), n("td-button", {
            attrs: {disabled: e.plans && e.plans.length >= 3},
            on: {click: e.addPlan}
        }, [n("i", {staticClass: "xly-icon-add"})])], 1)]), e._v(" "), n("div", {staticClass: "xly-dialog-time__result"}, [n("ul", e._l(e.plans, function (t, i) {
            return n("li", {
                key: i,
                staticClass: "xly-dialog-time__result-item"
            }, [n("p", {staticClass: "xly-dialog-time__text"}, [n("span", {staticClass: "xly-dialog-time__period"}, [e._v(e._s(t.hours) + " 小时 " + e._s(t.minutes) + " 分 " + e._s(t.seconds) + " 秒")]), e._v(" "), n("span", [e._v("后")]), e._v(" "), n("span", {staticClass: "xly-dialog-time__status"}, [e._v(e._s(t.operation))])]), e._v(" "), n("a", {
                staticClass: "td-button td-button--secondary",
                attrs: {href: "javascript:;"},
                on: {
                    click: function (t) {
                        e.removePlan(i)
                    }
                }
            }, [n("i", {staticClass: "xly-icon-close"})])])
        }))])])
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("td-dialog", {
            attrs: {visible: "", "custom-class": "xly-dialog-rename"},
            on: {close: e.handleClose}
        }, [n("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("重命名")]), e._v(" "), n("td-tooltip", {
            staticStyle: {display: "block"},
            attrs: {content: e.tipsText, visible: e.isShowTips, placement: "top"}
        }, [n("td-input", {
            ref: "input",
            attrs: {label: "", type: "textarea", placeholder: "请输入文件名"},
            model: {
                value: e.newName, callback: function (t) {
                    e.newName = t
                }, expression: "newName"
            }
        })], 1), e._v(" "), n("div", {
            staticClass: "xly-dialog__footer",
            attrs: {slot: "footer"},
            slot: "footer"
        }, [n("div", {staticClass: "xly-dialog__button"}, [n("td-button", {
            on: {click: e.handleOK},
            nativeOn: {
                click: function (e) {
                    e.stopPropagation()
                }
            }
        }, [e._v(e._s("确定"))]), e._v(" "), n("td-button", {
            staticClass: "td-button--other",
            on: {click: e.handleClose}
        }, [e._v(e._s("取消"))])], 1)])], 1)
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("td-dialog", {
            attrs: {"custom-class": "xly-dialog-repeat", visible: "", "footer-enabled": !1},
            on: {close: e.handleClose}
        }, [n("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [n("i", {staticClass: "xly-icon-note-bold"}), e._v(" 下载列表已存在相同任务")]), e._v(" "), n("div", {staticClass: "xly-dialog-repeat__operate"}, [n("td-button", {
            staticClass: "td-button--other",
            attrs: {size: "large"},
            on: {
                click: function (t) {
                    e.handleOK("ignore")
                }
            }
        }, [n("i", {staticClass: "xly-icon-skip"}), e._v("跳过重复文件，继续下载")]), e._v(" "), n("td-button", {
            staticClass: "td-button--other",
            attrs: {size: "large"},
            on: {
                click: function (t) {
                    e.handleOK("delete")
                }
            }
        }, [n("i", {staticClass: "xly-icon-replace"}), e._v("替换重复文件，覆盖下载")]), e._v(" "), n("td-button", {
            staticClass: "td-button--other",
            attrs: {size: "large"},
            on: {click: e.handleClose}
        }, [n("i", {staticClass: "xly-icon-close-small"}), e._v("不做任何操作")])], 1)])
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("td-dialog", {
            attrs: {"custom-class": "xly-dialog-repeat", visible: "", "footer-enabled": !1},
            on: {close: e.handleClose}
        }, [n("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [n("i", {staticClass: "xly-icon-note-bold"}), e._v(" 发现重复文件")]), e._v(" "), n("div", {staticClass: "xly-dialog-repeat__list"}, [n("p", {domProps: {innerHTML: e._s(e.files)}})]), e._v(" "), n("div", {staticClass: "xly-dialog-repeat__operate"}, [n("td-button", {
            staticClass: "td-button--other",
            attrs: {size: "large"},
            on: {
                click: function (t) {
                    e.handleOK("ignore")
                }
            }
        }, [n("i", {staticClass: "xly-icon-skip"}), e._v("跳过重复文件，继续下载\n    ")]), e._v(" "), n("td-button", {
            staticClass: "td-button--other",
            attrs: {size: "large"},
            on: {
                click: function (t) {
                    e.handleOK("delete")
                }
            }
        }, [n("i", {staticClass: "xly-icon-replace"}), e._v("替换重复文件，覆盖下载\n    ")]), e._v(" "), n("td-button", {
            staticClass: "td-button--other",
            attrs: {size: "large"},
            on: {click: e.handleClose}
        }, [n("i", {staticClass: "xly-icon-close-small"}), e._v("不做任何操作\n    ")])], 1)])
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("td-dialog", {
            attrs: {visible: "", "custom-class": "xly-dialog-secret"}, on: {
                close: function (t) {
                    e.handleClose("close")
                }
            }
        }, [n("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("设置私人空间密码")]), e._v(" "), n("div", {staticClass: "xly-dialog-secret__form"}, [n("ul", [n("li", {staticClass: "xly-dialog-secret__item"}, [n("label", {staticClass: "td-input"}, [n("span", {staticClass: "td-input__label"}, [e._v("输入密码")]), e._v(" "), n("input", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.password,
                expression: "password"
            }],
            staticClass: "td-input__inner",
            attrs: {type: "password", maxlength: "50", placeholder: "请输入密码"},
            domProps: {value: e.password},
            on: {
                input: function (t) {
                    t.target.composing || (e.password = t.target.value)
                }
            }
        })])]), e._v(" "), n("li", {staticClass: "xly-dialog-secret__item"}, [n("label", {staticClass: "td-input"}, [n("span", {staticClass: "td-input__label"}, [e._v("确认密码")]), e._v(" "), n("td-tooltip", {
            staticStyle: {
                display: "flex",
                flex: "1"
            }, attrs: {content: e.tipsText, visible: e.isShowTips, placement: "top"}
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.secondPassword,
                expression: "secondPassword"
            }],
            staticClass: "td-input__inner",
            attrs: {type: "password", maxlength: "50", placeholder: "再次输入密码"},
            domProps: {value: e.secondPassword},
            on: {
                input: function (t) {
                    t.target.composing || (e.secondPassword = t.target.value)
                }
            }
        })])], 1)])]), e._v(" "), n("label", {
            staticClass: "td-checkbox",
            class: {"is-checked": e.isSetHide}
        }, [n("input", {
            directives: [{name: "model", rawName: "v-model", value: e.isSetHide, expression: "isSetHide"}],
            staticClass: "td-checkbox__inner",
            attrs: {type: "checkbox"},
            domProps: {checked: Array.isArray(e.isSetHide) ? e._i(e.isSetHide, null) > -1 : e.isSetHide},
            on: {
                change: function (t) {
                    var n = e.isSetHide, i = t.target, r = !!i.checked;
                    if (Array.isArray(n)) {
                        var o = e._i(n, null);
                        i.checked ? o < 0 && (e.isSetHide = n.concat([null])) : o > -1 && (e.isSetHide = n.slice(0, o).concat(n.slice(o + 1)))
                    } else e.isSetHide = r
                }
            }
        }), e._v(" "), n("span", {staticClass: "td-checkbox__label"}, [e._v("在本地隐藏私人空间对应文件夹")])])]), e._v(" "), n("template", {slot: "footer"}, [n("div", {staticClass: "xly-dialog__footer"}, [n("div", {staticClass: "xly-dialog__button"}, [n("td-button", {
            on: {
                click: function (t) {
                    return t.stopPropagation(), e.handleOK(t)
                }
            }
        }, [e._v("确定")]), e._v(" "), n("td-button", {
            attrs: {secondary: ""}, on: {
                click: function (t) {
                    e.handleClose("cancel")
                }
            }
        }, [e._v("取消")])], 1)])])], 2)
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("td-dialog", {
            attrs: {"custom-class": "xly-dialog-secret", visible: ""}, on: {
                close: function (t) {
                    e.handleClose("close")
                }
            }
        }, [n("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("私人空间密码验证")]), e._v(" "), n("div", {staticClass: "xly-dialog-secret__verify"}, [n("label", {staticClass: "td-input"}, [n("span", {staticClass: "td-input__label"}), e._v(" "), n("td-tooltip", {
            staticStyle: {
                display: "flex",
                flex: "1"
            }, attrs: {content: e.tipsText, visible: e.isShowTips, placement: "top"}
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.newPassword,
                expression: "newPassword"
            }],
            ref: "pwdInput",
            staticClass: "td-input__inner",
            attrs: {maxlength: "50", placeholder: "请输入密码"},
            domProps: {value: e.newPassword},
            on: {
                input: function (t) {
                    t.target.composing || (e.newPassword = t.target.value)
                }
            }
        })])], 1)]), e._v(" "), n("template", {slot: "footer"}, [n("div", {staticClass: "xly-dialog__footer"}, [n("div", {staticClass: "xly-dialog__footer-operate"}, [n("a", {
            attrs: {href: "javascript:;"},
            on: {
                click: function (t) {
                    return t.stopPropagation(), e.handleForget(t)
                }
            }
        }, [e._v("忘记密码>")])]), e._v(" "), n("div", {staticClass: "xly-dialog__button"}, [n("td-button", {
            on: {click: e.handleOK},
            nativeOn: {
                click: function (e) {
                    e.stopPropagation()
                }
            }
        }, [e._v("确定")]), e._v(" "), n("td-button", {
            attrs: {secondary: ""}, on: {
                click: function (t) {
                    e.handleClose("cancel")
                }
            }
        }, [e._v("取消")])], 1)])])], 2)
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("td-dialog", {
            attrs: {visible: "", "custom-class": "xly-dialog-secret"}, on: {
                close: function (t) {
                    e.handleClose("close")
                }
            }
        }, [n("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("登录帐号身份验证")]), e._v(" "), n("p", {staticClass: "xly-dialog-secret__tips"}, [e._v(e._s(e.promptContent))]), e._v(" "), n("ul", [n("li", {staticClass: "xly-dialog-secret__item"}, [n("label", {staticClass: "td-input"}, [n("span", {staticClass: "td-input__label"}, [e._v("手机号")]), e._v(" "), n("td-tooltip", {
            staticStyle: {
                display: "flex",
                flex: "1"
            }, attrs: {content: e.verifyCodeGetTipsText, visible: e.isShowVerifyCodeGetTips, placement: "top"}
        }, [n("input", {
            directives: [{name: "model", rawName: "v-model", value: e.mobile, expression: "mobile"}],
            ref: "phoneInput",
            staticClass: "td-input__inner",
            attrs: {type: "text", readonly: "readonly", placeholder: "请输入绑定手机号"},
            domProps: {value: e.mobile},
            on: {
                input: function (t) {
                    t.target.composing || (e.mobile = t.target.value)
                }
            }
        })])], 1), e._v(" "), n("span", {
            staticClass: "xly-dialog-secret__code",
            class: {"is-disabled": e.verifyCodeBtnDisabled},
            on: {
                click: function (t) {
                    t.stopPropagation(), e.handleGetVerifyCode()
                }
            }
        }, [n("i", {staticClass: "xly-line"}), e._v("\n        " + e._s(e.verifyCodeBtntext) + "\n      ")])]), e._v(" "), n("li", {staticClass: "xly-dialog-secret__item"}, [n("label", {staticClass: "td-input"}, [n("span", {staticClass: "td-input__label"}, [e._v("验证码")]), e._v(" "), n("td-tooltip", {
            staticStyle: {
                display: "flex",
                flex: "1"
            }, attrs: {content: e.verifyCodeTipsText, visible: e.isShowVerifyCodeTips, placement: "top"}
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.verifyCode,
                expression: "verifyCode"
            }],
            staticClass: "td-input__inner",
            attrs: {type: "text", placeholder: "验证码"},
            domProps: {value: e.verifyCode},
            on: {
                input: function (t) {
                    t.target.composing || (e.verifyCode = t.target.value)
                }
            }
        })])], 1)])]), e._v(" "), n("template", {slot: "footer"}, [n("div", {staticClass: "xly-dialog__footer"}, [n("div", {staticClass: "xly-dialog__footer-operate"}, [n("a", {
            staticClass: "xly-dialog__footer-link",
            attrs: {href: "javascript:;"},
            on: {
                click: function (t) {
                    return t.stopPropagation(), e.handleModifierPhone(t)
                }
            }
        }, [e._v("修改安全手机>")])]), e._v(" "), n("div", {staticClass: "xly-dialog__button"}, [n("td-button", {
            attrs: {disabled: e.okDisabled},
            nativeOn: {
                click: function (t) {
                    return t.stopPropagation(), e.handleOK(t)
                }
            }
        }, [e._v("确定")]), e._v(" "), n("td-button", {
            attrs: {secondary: ""}, on: {
                click: function (t) {
                    e.handleClose("cancel")
                }
            }
        }, [e._v("取消")])], 1)])]), e._v(" "), e.isShowFigureCode ? n("div", {attrs: {id: "boxid"}}, [n("iframe", {
            staticStyle: {
                width: "100%",
                height: "100%"
            }, attrs: {src: e.reviewurl}, on: {load: e.showFigureCode}
        })]) : e._e()], 2)
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("td-dialog", {
            attrs: {visible: "", "custom-class": "xly-dialog-secret"},
            on: {close: e.handleClose}
        }, [n("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("私人下载存储目录设置")]), e._v(" "), n("div", {staticClass: "xly-dialog-site"}, [n("div", {
            staticClass: "td-select",
            attrs: {tabindex: "0"}
        }, [n("td-tooltip", {
            staticStyle: {display: "block"},
            attrs: {content: e.pathTips, visible: e.isShowPathTips, placement: "top"}
        }, [n("path-selector", {
            attrs: {
                enableDelete: !1,
                enablePrivateSpace: !1,
                value: e.savePath,
                appendDirs: e.appendDirs
            }, on: {input: e.handleChangePath}
        })], 1)], 1), e._v(" "), n("label", {
            staticClass: "td-checkbox",
            class: {"is-checked": e.hideLocalDir}
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.hideLocalDir,
                expression: "hideLocalDir"
            }],
            staticClass: "td-checkbox__inner",
            attrs: {type: "checkbox"},
            domProps: {checked: Array.isArray(e.hideLocalDir) ? e._i(e.hideLocalDir, null) > -1 : e.hideLocalDir},
            on: {
                change: function (t) {
                    var n = e.hideLocalDir, i = t.target, r = !!i.checked;
                    if (Array.isArray(n)) {
                        var o = e._i(n, null);
                        i.checked ? o < 0 && (e.hideLocalDir = n.concat([null])) : o > -1 && (e.hideLocalDir = n.slice(0, o).concat(n.slice(o + 1)))
                    } else e.hideLocalDir = r
                }
            }
        }), e._v(" "), n("span", {staticClass: "td-checkbox__label"}, [e._v("在本地隐藏私人空间对应文件夹")])])]), e._v(" "), n("template", {slot: "footer"}, [n("div", {staticClass: "xly-dialog__footer"}, [n("div", {staticClass: "xly-dialog__button"}, [n("td-button", {
            on: {
                click: function (t) {
                    return t.stopPropagation(), e.handleOK(t)
                }
            }
        }, [e._v("确定")]), e._v(" "), n("td-button", {
            attrs: {secondary: ""},
            on: {click: e.handleClose}
        }, [e._v("取消")])], 1)])])], 2)
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("td-dialog", {attrs: {visible: ""}, on: {close: e.handleClose}}, [n("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("私人下载任务管理")]), e._v(" "), n("div", {staticClass: "xlx-dialog-secret__setting"}, [n("ul", [n("li", [n("span", [e._v("同时下载的最大任务数")]), e._v(" "), n("div", {staticClass: "td-select xlx-select-size-1"}, [n("div", {staticClass: "td-select-group"}, [n("label", {staticClass: "td-input"}, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.number",
                value: e.maxTaskCount,
                expression: "maxTaskCount",
                modifiers: {number: !0}
            }],
            staticClass: "td-input__inner",
            attrs: {type: "number", placeholder: "5"},
            domProps: {value: e.maxTaskCount},
            on: {
                input: function (t) {
                    t.target.composing || (e.maxTaskCount = e._n(t.target.value))
                }, blur: function (t) {
                    e.$forceUpdate()
                }
            }
        })]), e._v(" "), n("a", {
            staticClass: "td-select__drop",
            attrs: {href: "javascript:;"}
        }, [n("i", {staticClass: "td-icon-arrow-drop"})])])]), e._v(" "), n("span", {staticClass: "xlx-setting-content__tips"}, [e._v("（1-50）")])])]), e._v(" "), n("p", {staticClass: "td-dialog-comfirm__text"}, [n("label", {staticClass: "td-checkbox is-checked"}, [n("input", {
            staticClass: "td-checkbox__inner",
            attrs: {type: "checkbox", checked: ""}
        }), e._v(" "), n("span", {staticClass: "td-checkbox__label"}, [e._v("自动将低速任务移动至列尾")])])])]), e._v(" "), n("template", {slot: "footer"}, [n("td-button", {
            on: {
                click: function (t) {
                    return t.stopPropagation(), e.handleOK(t)
                }
            }
        }, [e._v("确定")]), e._v(" "), n("td-button", {
            attrs: {secondary: ""},
            on: {click: e.handleClose}
        }, [e._v("取消")])], 1)], 2)
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("td-dialog", {
            attrs: {"custom-class": "xly-dialog-repeat", visible: ""},
            on: {close: e.handleOK}
        }, [n("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [n("i", {staticClass: "xly-icon-note-bold"}), e._v("下载列表已存在相同任务")]), e._v(" "), n("p", {staticClass: "xly-dialog-repeat__text"}, [e._v(e._s(e.title))]), e._v(" "), n("div", {staticClass: "xly-dialog-repeat__list is-nowrap"}, [n("p", {domProps: {innerHTML: e._s(e.urls)}})]), e._v(" "), n("td-button", {
            attrs: {
                slot: "footer",
                size: "large"
            }, on: {click: e.handleOK}, nativeOn: {
                click: function (e) {
                    e.stopPropagation()
                }
            }, slot: "footer"
        }, [e._v("我知道了")])], 1)
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("td-dialog", {
            attrs: {
                "custom-class": "xly-dialog-batch",
                visible: "",
                "before-close": e.handleClose
            }
        }, [n("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("新建下载任务")]), e._v(" "), n("div", {staticClass: "xly-dialog-batch__filter"}, [n("p", [e._v("批量下载功能可以方便的创建多个包含共同特征的下载任务。例如网站A提供了10个这样的下载链接：")]), e._v(" "), n("p", [e._v("http://www.a.com/01.zip")]), e._v(" "), n("p", [e._v("http://www.a.com/02.zip")]), e._v("...\n    "), n("p", [e._v("http://www.a.com/10.zip")]), e._v(" "), n("br"), e._v(" "), n("p", [e._v("这10个地址只有数字部分不同，如果用(*)表示不同的部分，这些地址可以写成：")]), e._v(" "), n("p", [e._v("http://www.a.com/(*).zip")]), e._v(" "), n("br"), e._v(" "), n("p", [e._v("同时，通配符长度指的是这些地址不同部分数字的长度，例如：")]), e._v(" "), n("p", [e._v("从01.zip－10.zip，通配符长度是2；")]), e._v(" "), n("p", [e._v("从001.zip－010.zip，通配符长度是3。")]), e._v(" "), n("br"), e._v(" "), n("p", [e._v("注意，在填写从xxx到xxx的时候，虽然是从01到10或者是001到010，但是，当您设定了通配符长度以后，就只需要填写成从1到10。 填写完成后，在示意窗口会显示第一个和最后一个任务的具体链接地址，您可以检查是否正确，然后点确定完成操作。")])]), e._v(" "), n("div", {staticClass: "xly-dialog-batch__down-input"}, [n("td-tooltip", {
            staticStyle: {display: "block"},
            attrs: {content: e.tipsText, visible: e.isShowTips, placement: "top"}
        }, [n("td-input", {
            attrs: {label: "通过URL过滤：", placeholder: ""},
            model: {
                value: e.urlExample, callback: function (t) {
                    e.urlExample = t
                }, expression: "urlExample"
            }
        })], 1)], 1), e._v(" "), n("div", {staticClass: "xly-dialog-batch__down-filter"}, [n("ul", [n("li", [n("td-radio", {
            attrs: {label: "number"},
            model: {
                value: e.picked, callback: function (t) {
                    e.picked = t
                }, expression: "picked"
            }
        }), e._v(" "), n("span", {staticClass: "xly-dialog-batch__text"}, [e._v("从")]), e._v(" "), n("limit-input", {
            attrs: {
                isNumber: !0,
                readonly: "number" !== e.picked,
                value: e.numFrom,
                min: 0,
                max: e.numMax
            }, on: {input: e.handleNumFromChange}
        }), e._v(" "), n("span", {staticClass: "xly-dialog-batch__text"}, [e._v("到")]), e._v(" "), n("limit-input", {
            attrs: {
                isNumber: !0,
                readonly: "number" !== e.picked,
                value: e.numTo,
                min: 0,
                max: e.numMax
            }, on: {input: e.handleNumToChange}
        }), e._v(" "), n("span", {staticClass: "xly-dialog-batch__text"}, [e._v("通配符长度：")]), e._v(" "), n("select-native", {
            attrs: {
                readonly: "number" !== e.picked,
                value: e.wildcardLength,
                options: e.selectOptions
            }, on: {input: e.handleWildcardChange}
        })], 1), e._v(" "), n("li", [n("td-radio", {
            attrs: {label: "alpha"},
            model: {
                value: e.picked, callback: function (t) {
                    e.picked = t
                }, expression: "picked"
            }
        }), e._v(" "), n("span", {staticClass: "xly-dialog-batch__text"}, [e._v("从")]), e._v(" "), n("limit-input", {
            attrs: {
                isAlpha: !0,
                readonly: "alpha" !== e.picked,
                value: e.alphaFrom
            }, on: {input: e.handleAlphaFromChange}
        }), e._v(" "), n("span", {staticClass: "xly-dialog-batch__text"}, [e._v("到")]), e._v(" "), n("limit-input", {
            attrs: {
                isAlpha: !0,
                readonly: "alpha" !== e.picked,
                value: e.alphaTo
            }, on: {input: e.handleAlphaToChange}
        }), e._v(" "), n("span", {staticClass: "xly-dialog-batch__text"}, [e._v("区分大小写")])], 1)]), e._v(" "), n("label", {staticClass: "td-textarea"}, [n("textarea", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.context,
                expression: "context"
            }],
            staticClass: "td-textarea__inner",
            attrs: {readonly: "", placeholder: ""},
            domProps: {value: e.context},
            on: {
                input: function (t) {
                    t.target.composing || (e.context = t.target.value)
                }
            }
        })])]), e._v(" "), n("template", {slot: "footer"}, [n("td-button", {
            on: {click: e.handleOK},
            nativeOn: {
                click: function (e) {
                    e.stopPropagation()
                }
            }
        }, [e._v(e._s("确定"))])], 1)], 2)
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("div", {staticClass: "td-cover"}, [n("div", {staticClass: "td-dialog xly-dialog-url"}, [n("div", {staticClass: "td-dialog__header"}, [n("h2", [e._v(e._s("add" === e.options.state ? "已添加书签" : "修改书签"))]), e._v(" "), n("a", {
            staticClass: "td-dialog__close",
            attrs: {href: "javascript:;", title: "关闭"},
            on: {click: e.handleClose}
        }, [n("i", {staticClass: "td-icon-close"})])]), e._v(" "), n("div", {staticClass: "td-dialog__body"}, [n("div", {staticClass: "xly-dialog-url__form"}, [n("ul", [n("li", {staticClass: "xly-dialog-url__item"}, [n("label", {staticClass: "td-input"}, [n("span", {staticClass: "td-input__label"}, [e._v("名称")]), e._v(" "), n("input", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.value,
                expression: "value"
            }],
            ref: "titleInput",
            staticClass: "td-input__inner",
            attrs: {type: "text"},
            domProps: {value: e.value},
            on: {
                input: function (t) {
                    t.target.composing || (e.value = t.target.value)
                }
            }
        })])]), e._v(" "), n("li", {staticClass: "xly-dialog-url__item"}, [n("span", {staticClass: "td-input__label"}, [e._v("添加到")]), e._v(" "), n("div", {staticClass: "td-select"}, [n("div", {staticClass: "td-select-group"}, [n("span", {staticClass: "td-select-group__label"}, ["edit" === e.options.state ? n("i", {
            staticClass: "xly-icon-url",
            class: {"is-active": "edit" === e.options.state}
        }) : e._e(), e._v("书签栏")]), e._v(" "), e._m(0)])])])])])]), e._v(" "), n("div", {staticClass: "td-dialog__footer"}, [n("div", {staticClass: "td-dialog-footer"}, [n("div", {staticClass: "xly-dialog__footer"}, [n("div", {staticClass: "xly-dialog__button"}, [n("a", {
            staticClass: "td-button",
            class: {"is-disabled": "" === e.value.trim()},
            attrs: {href: "javascript:;"},
            on: {click: e.handleOk}
        }, [e._v("确定")]), e._v(" "), n("a", {
            staticClass: "td-button td-button--secondary",
            attrs: {href: "javascript:;"},
            on: {click: e.handleDelete}
        }, [e._v("删除")])])])])])])])
    }, r = [function () {
        var e = this.$createElement, t = this._self._c || e;
        return t("a", {
            staticClass: "td-select__drop",
            attrs: {href: "javascript:;"}
        }, [t("i", {staticClass: "td-icon-arrow-drop"})])
    }];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("div", {
            ref: "list",
            staticClass: "td-context-menu xlx-context-menu--bookmarks is-left"
        }, [n("ul", {staticClass: "td-context-menu__main"}, e._l(e.options, function (t, i) {
            return n("li", {
                key: t.url,
                staticClass: "td-context-menu__item",
                attrs: {title: t.name + "\n" + t.url},
                on: {
                    click: function (n) {
                        return "button" in n || !e._k(n.keyCode, "left", 37, n.key, ["Left", "ArrowLeft"]) ? "button" in n && 0 !== n.button ? null : (n.stopPropagation(), void e.openNewTab(t.url, t.name)) : null
                    }, contextmenu: function (n) {
                        n.stopPropagation(), e.showBookMarkMenu(t.url, t.name, i)
                    }
                }
            }, [n("div", {staticClass: "td-context-menu__content"}, [n("i", {staticClass: "td-icon"}, [e.isShowDefaultIcon(t.url, t.iconUrl) ? n("i", {staticClass: "xlx-icon-net"}) : n("img", {attrs: {src: t.iconUrl}})]), e._v(" "), n("span", {staticClass: "td-context-menu__text"}, [e._v(e._s(t.name))])])])
        }))])
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("td-dialog", {
            attrs: {"custom-class": ["xly-dialog-subtitle"], "footer-enabled": !1, visible: ""},
            on: {close: e.handleCancel}
        }, [n("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("字幕搜索")]), e._v(" "), n("div", {staticClass: "xly-subtitle-search"}, [n("td-media", {attrs: {align: "middle"}}, [n("i", {
            staticClass: "xly-icon-type",
            class: e.taskIcon,
            attrs: {slot: "media"},
            slot: "media"
        }), e._v(" "), n("p", {
            staticClass: "title",
            attrs: {title: e.taskName}
        }, [e._v(e._s(e.taskName))]), e._v(" "), n("p", {
            staticClass: "total",
            on: {click: e.onVideoNumberTextClick}
        }, [e._v(e._s(e.videoNum) + "个视频文件")])]), e._v(" "), n("div", {staticClass: "xly-subtitle-search__list"}, [n("td-table", {
            attrs: {
                columns: e.columns,
                data: e.fileList
            }, scopedSlots: e._u([{
                key: "default", fn: function (t) {
                    var i = t.prop, r = (t.value, t.row);
                    return ["fileName" === i ? [n("span", {
                        staticClass: "xly-subtitle-search__name",
                        attrs: {title: r.fileName}
                    }, [e._v(e._s(r.fileName))])] : e._e(), e._v(" "), "operate" === i ? [n("a", {
                        staticClass: "xly-subtitle-search__link",
                        attrs: {href: "javascript:;"},
                        on: {
                            click: function (t) {
                                e.popSutitleMessageBox(r)
                            }
                        }
                    }, [e._v("搜索字幕")])] : e._e()]
                }
            }])
        })], 1), e._v(" "), n("a", {
            staticClass: "xly-subtitle-search__access",
            attrs: {href: "javascript:;"},
            on: {
                click: function (t) {
                    e.searchShooter()
                }
            }
        }, [e._v("访问SubHD搜索字幕")])], 1)])
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("td-dialog", {
            attrs: {"custom-class": ["xly-dialog-subtitle"], "footer-enabled": !1, visible: ""},
            on: {close: e.handleCancel}
        }, [n("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("字幕搜索")]), e._v(" "), n("div", {staticClass: "xly-subtitle-search"}, [n("div", {staticClass: "xly-subtitle-search__form"}, [n("td-input", {
            attrs: {placeholder: "输入关键词"},
            model: {
                value: e.searchText, callback: function (t) {
                    e.searchText = t
                }, expression: "searchText"
            }
        }), e._v(" "), n("a", {
            staticClass: "td-button", attrs: {href: "javascript:;"}, on: {
                click: function (t) {
                    e.searchSubtitleByName("btn")
                }
            }
        }, [e._v("搜索")])], 1), e._v(" "), n("div", {staticClass: "xly-subtitle-search__list"}, [0 === e.searchStatus ? [n("div", {staticClass: "xly-subtitle-search__empty"}, [n("div", {staticClass: "xly-subtitle-search__tips"}, [n("i", {staticClass: "xly-icon-loading"}), e._v(" "), n("p", [e._v("搜索中")])])])] : 2 === e.searchStatus ? [n("div", {staticClass: "xly-subtitle-search__empty"}, [n("div", {staticClass: "xly-subtitle-search__tips"}, [n("p", [e._v("\n              无相关字幕，建议换名搜索"), n("br"), e._v("或前往\n              "), n("a", {
            attrs: {href: "javascript:;"},
            on: {
                click: function (t) {
                    e.searchShooter()
                }
            }
        }, [e._v("SubHD")]), e._v("\n              查找\n            ")])])])] : 1 === e.searchStatus ? [n("td-table", {
            attrs: {columns: e.columns, data: e.tableData}, scopedSlots: e._u([{
                key: "default", fn: function (t) {
                    var i = t.prop, r = (t.value, t.row);
                    return ["sname" === i ? [n("span", {
                        staticClass: "xly-subtitle-search__name",
                        attrs: {title: e.getName(r)}
                    }, [e._v(e._s(e.getName(r)))])] : e._e(), e._v(" "), "language" === i ? [n("span", [e._v(e._s(r.language))])] : e._e(), e._v(" "), "comment" === i ? [n("td-rate", {
                        attrs: {
                            value: Number(r.rate),
                            readonly: ""
                        }
                    })] : e._e(), e._v(" "), "operate" === i ? [0 === r.status ? [n("a", {
                        staticClass: "xly-subtitle-search__link",
                        attrs: {href: "javascript:;"},
                        on: {
                            click: function (t) {
                                e.onOperationTextClick(r)
                            }
                        }
                    }, [e._v("下载字幕")])] : e._e(), e._v(" "), 1 === r.status ? [n("a", {
                        staticClass: "xly-subtitle-search__link",
                        attrs: {href: "javascript:;"},
                        on: {
                            click: function (t) {
                                e.onOperationTextClick(r)
                            }
                        }
                    }, [e._v("播放视频")])] : e._e(), e._v(" "), 2 === r.status ? [n("i", {staticClass: "xly-icon-loading"})] : e._e(), e._v(" "), 3 === r.status ? [n("a", {
                        staticClass: "xly-subtitle-search__link is-failed",
                        attrs: {href: "javascript:;"},
                        on: {
                            click: function (t) {
                                e.onOperationTextClick(r)
                            }
                        }
                    }, [e._v("下载失败")])] : e._e()] : e._e()]
                }
            }])
        })] : e._e()], 2), e._v(" "), n("a", {
            staticClass: "xly-subtitle-search__access",
            attrs: {href: "javascript:;"},
            on: {
                click: function (t) {
                    e.searchShooter()
                }
            }
        }, [e._v("访问SubHD搜索字幕")])])])
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return e.showMoreSupport ? n("td-dialog", {
            attrs: {
                "custom-class": "xly-dialog-support",
                "footer-enabled": !1,
                visible: ""
            }, on: {
                close: function (t) {
                    e.handleCloseButton("list")
                }
            }
        }, [n("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("超100万人在使用浏览器下载支持")]), e._v(" "), n("div", {
            staticClass: "xly-dialog-support__help",
            staticStyle: {"-webkit-app-region": "no-drag"}
        }, [n("td-tooltip", {
            attrs: {
                trigger: "hover",
                content: "如取消支持，请到浏览器的扩展管理设置",
                placement: "left"
            }
        }, [n("i", {staticClass: "xly-icon-help"})])], 1), e._v(" "), n("div", {staticClass: "xly-dialog-support__carousel"}, [n("td-carousel", {
            attrs: {
                "auto-play": !0,
                timeout: 5e3
            }
        }, e._l(2, function (t, i) {
            return n("td-carousel-item", {key: t}, [n("img", {attrs: {src: e.list[i], alt: ""}})])
        }))], 1), e._v(" "), n("div", {staticClass: "xly-dialog-support__list"}, [n("ul", e._l(e.browserList, function (t) {
            return n("li", {
                key: t.name,
                staticClass: "xly-dialog-support__item"
            }, [n("span", {class: t.icon}), e._v(" "), n("span", {staticClass: "xly-dialog-support__name"}, [e._v(e._s(t.name))]), n("span", {staticClass: "xly-dialog-support__text"}, [e._v("下载支持")]), e._v(" "), t.default ? n("i", {
                staticClass: "xly-icon-default",
                attrs: {title: "默认浏览器"}
            }) : e._e(), e._v(" "), t.open ? n("td-button", {attrs: {disabled: ""}}, [e._v("已开启")]) : e._e(), e._v(" "), t.open && t.install ? e._e() : n("td-button", {
                on: {
                    click: function (n) {
                        e.handleOpen(t.exeName)
                    }
                }
            }, [e._v("一键开启")])], 1)
        }))])]) : n("td-dialog", {
            attrs: {"custom-class": "xly-dialog-support", visible: "", "footer-enabled": !0},
            on: {
                close: function (t) {
                    e.handleCloseButton("startup")
                }
            }
        }, [n("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v(e._s(e.showTitle) + "下载支持")]), e._v(" "), n("a", {
            staticClass: "xly-dialog-support__link",
            attrs: {href: "javascript:;"},
            on: {
                click: function (t) {
                    e.handleClickMore(!0)
                }
            }
        }, [e._v("其它支持")]), e._v(" "), n("div", {staticClass: "xly-dialog-support__carousel"}, [n("td-carousel", {
            attrs: {
                "auto-play": !0,
                timeout: 5e3
            }
        }, e._l(2, function (t, i) {
            return n("td-carousel-item", {key: t}, [n("img", {attrs: {src: e.list[i], alt: ""}})])
        }))], 1), e._v(" "), n("div", {
            staticClass: "xly-dialog__footer",
            attrs: {slot: "footer"},
            slot: "footer"
        }, [n("td-button", {
            attrs: {size: "large"},
            on: {click: e.handleConfigBrowser}
        }, [e._v("一键开启")]), e._v(" "), n("p", [n("span", [e._v("超100万人在使用")])])], 1)])
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("td-dialog", {
            attrs: {"custom-class": ["xlx-dialog--fix"], "footer-enabled": !1, visible: ""},
            on: {close: e.handleCancel}
        }, [n("div", {staticClass: "td-dialog-comfirm"}, [n("span", {staticClass: "td-dialog-comfirm__icon"}, [n("i", {staticClass: "icon-fix"})]), e._v(" "), n("div", {staticClass: "td-dialog-comfirm__content"}, [0 === e.status ? n("p", {staticClass: "td-dialog-comfirm__title"}, [e._v("修复迅雷影音播放组件\n        "), n("br"), e._v(" "), n("span", [e._v(e._s(e.progress) + "%")])]) : 1 === e.status ? n("p", {staticClass: "td-dialog-comfirm__title"}, [e._v("修复成功")]) : n("p", {staticClass: "td-dialog-comfirm__title"}, [e._v("修复失败\n        "), n("br"), e._v(" "), n("a", {
            staticClass: "link-down",
            attrs: {href: "javascript:;"},
            on: {click: e.onClickDownloadXmp}
        }, [e._v("下载官方版迅雷影音")])])])])])
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("td-dialog", {
            attrs: {"custom-class": ["xlx-dialog-setting"], "footer-enabled": !1, visible: ""},
            on: {close: e.handleCancel}
        }, [n("div", {staticClass: "td-dialog__body"}, [n("div", {staticClass: "td-dialog-comfirm"}, [n("span", {staticClass: "td-dialog-comfirm__icon"}, [n("i", {staticClass: "td-icon-warning"})]), e._v(" "), n("div", {staticClass: "td-dialog-comfirm__content"}, [n("p", {staticClass: "td-dialog-comfirm__title"}, [e._v("您还没有安装迅雷影音，是否下载安装?\n        ")])])])]), e._v(" "), n("div", {staticClass: "td-dialog__footer"}, [n("div", {staticClass: "td-dialog-footer"}, [n("a", {
            staticClass: "td-button",
            attrs: {href: "javascript:;"},
            on: {click: e.onClickDownloadXmpEx}
        }, [e._v("立即下载")]), e._v(" "), n("a", {
            staticClass: "td-button td-button--secondary",
            attrs: {href: "javascript:;"},
            on: {click: e.handleCancel}
        }, [e._v("取消")])])])])
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("div", [1 === e.options.showType ? n("td-dialog", {
            attrs: {
                "custom-class": "xlx-dialog--cipher xlx-dialog--small",
                visible: "",
                "footer-enabled": !1
            }, on: {close: e.onClickClose}
        }, [n("div", {staticClass: "td-dialog__body"}, [n("div", {staticClass: "td-dialog-comfirm"}, [n("span", {staticClass: "td-dialog-comfirm__icon"}, [n("i", {staticClass: "xlx-icon-bird"})]), e._v(" "), n("div", {staticClass: "td-dialog-comfirm__content"}, [n("p", {staticClass: "td-dialog-comfirm__title"}, [e._v("正在生成口令...")])])])])]) : 0 === e.options.showType ? n("td-dialog", {
            ref: "dialogDecode",
            attrs: {"custom-class": "xlx-dialog--cipher xlx-dialog--small", visible: "", "footer-enabled": !1},
            on: {close: e.onClickClose}
        }, [n("div", {staticClass: "td-dialog__body"}, [n("div", {staticClass: "td-dialog-comfirm"}, [n("span", {staticClass: "td-dialog-comfirm__icon"}, [n("i", {staticClass: "xlx-icon-bird"})]), e._v(" "), n("div", {staticClass: "td-dialog-comfirm__content"}, [n("p", {staticClass: "td-dialog-comfirm__title"}, [e._v("正在翻译口令...")])])])])]) : 3 === e.options.showType ? n("td-dialog", {
            attrs: {
                "custom-class": "xlx-dialog--cipher xlx-dialog--small",
                visible: "",
                "footer-enabled": !1
            }, on: {close: e.onClickClose}
        }, [n("div", {staticClass: "td-dialog__body"}, [n("div", {staticClass: "td-dialog-comfirm"}, [n("span", {staticClass: "td-dialog-comfirm__icon"}, [n("i", {staticClass: "td-icon-error"})]), e._v(" "), n("div", {staticClass: "td-dialog-comfirm__content"}, [n("p", {staticClass: "td-dialog-comfirm__title"}, [e._v("生成口令失败")])])])]), e._v(" "), n("div", {staticClass: "td-dialog__footer"}, [n("div", {staticClass: "td-dialog-footer"}, [n("button", {
            staticClass: "td-button td-button--secondary",
            on: {click: e.retryEncode}
        }, [e._v("重试")])])])]) : 2 === e.options.showType ? n("td-dialog", {
            attrs: {
                "custom-class": "xlx-dialog--cipher xlx-dialog--small",
                visible: "",
                "footer-enabled": !1
            }, on: {close: e.onClickClose}
        }, [n("div", {staticClass: "td-dialog__body"}, [n("div", {staticClass: "td-dialog-comfirm"}, [n("span", {staticClass: "td-dialog-comfirm__icon"}, [n("i", {staticClass: "td-icon-error"})]), e._v(" "), n("div", {staticClass: "td-dialog-comfirm__content"}, [n("p", {staticClass: "td-dialog-comfirm__title"}, [e._v("翻译口令失败")])])])]), e._v(" "), n("div", {staticClass: "td-dialog__footer"}, [n("div", {staticClass: "td-dialog-footer"}, [n("button", {
            staticClass: "td-button td-button--secondary",
            on: {click: e.retryDecode}
        }, [e._v("重试")])])])]) : 4 === e.options.showType ? n("td-dialog", {
            attrs: {
                "custom-class": "xlx-dialog--cipher",
                visible: "",
                "footer-enabled": !1
            }, on: {close: e.onClickClose}
        }, [n("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("您的迅雷口令已生成")]), e._v(" "), n("div", {staticClass: "td-dialog__body"}, [n("div", {staticClass: "xlx-dialog-chipher"}, [e._v(e._s(e.tips))]), e._v(" "), n("div", {staticClass: "xlx-dialog-chipher__encryption"}, [n("td-checkbox", {
            attrs: {value: e.isChecked},
            on: {input: e.handleCheck}
        }, [e._v("加密迅雷口令")]), e._v(" "), n("td-input", {
            ref: "inputObj",
            attrs: {value: e.userpwd, disabled: !e.isChecked, placeholder: "请输入密码"},
            on: {input: e.handleInput}
        }), e._v(" "), n("td-button", {
            attrs: {disabled: 0 === e.userpwd.length || !e.isChecked},
            on: {click: e.onEncryptKey}
        }, [e._v("加密")])], 1)]), e._v(" "), n("div", {staticClass: "td-dialog__footer"}, [n("div", {staticClass: "td-dialog-footer"}, [n("td-button", {
            attrs: {disabled: e.disableCopy},
            on: {click: e.onCopyBtnClick}
        }, [e._v("复制口令")])], 1)]), e._v(" "), e.showEncryptRet ? n("div", {staticClass: "td-cover td-cover--message"}, [!0 === e.encryptResult ? n("div", {staticClass: "td-message td-message--success"}, [n("i", {staticClass: "td-icon-success"}), e._v(" "), n("span", {staticClass: "td-message__text"}, [e._v("口令加密成功")])]) : n("div", {staticClass: "td-message td-message--error"}, [n("i", {staticClass: "td-icon-error"}), e._v(" "), n("span", {staticClass: "td-message__text"}, [e._v("口令加密失败")])])]) : e._e()]) : 5 === e.options.showType ? n("td-dialog", {
            attrs: {
                "custom-class": "xlx-dialog--cipher",
                visible: "",
                "footer-enabled": !1
            }, on: {close: e.onClickClose}
        }, [n("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("您的迅雷口令已生成")]), e._v(" "), n("div", {staticClass: "td-dialog__body"}, [n("div", {staticClass: "xlx-dialog-chipher"}, [e._v(e._s(e.tips))])]), e._v(" "), n("div", {staticClass: "td-dialog__footer"}, [n("div", {staticClass: "td-dialog-footer"}, [n("button", {staticClass: "td-button is-disabled"}, [n("i", {staticClass: "td-icon-success"}), e._v("已复制，快去粘贴\n          "), n("span", [e._v("（" + e._s(e.timeToClose) + "秒后关闭）")])])])])]) : e._e()], 1)
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("div", {staticClass: "td-context-menu xlx-context-menu--browser"}, [n("h3", [e._v("已打开标签页"), n("span", [e._v(e._s(e.unpinnedLength))]), e._v("个")]), e._v(" "), n("ul", {
            staticClass: "td-context-menu__main",
            staticStyle: {width: "145px", height: "336px"}
        }, e._l(e.tabsCopy, function (t, i) {
            return t.pinned ? e._e() : n("li", {
                key: t.key,
                ref: "item" + i,
                refInFor: !0,
                staticClass: "td-context-menu__item",
                attrs: {"data-index": i},
                on: {
                    click: function (t) {
                        e.handleUpdateCurrent(i)
                    }
                }
            }, [n("div", {
                staticClass: "td-context-menu__content",
                class: {"is-active": i === e.currentCopy}
            }, [n("i", {staticClass: "td-icon"}, [e.isShowDefaultIcon(i) ? n("i", {staticClass: "xlx-icon-net"}) : n("img", {attrs: {src: e.handleIconUrl(i)}})]), e._v(" "), n("span", {staticClass: "td-context-menu__text"}, [e._v(e._s(t.title))]), e._v(" "), n("a", {
                staticClass: "td-icon-close",
                attrs: {href: "javascript: void 0;"},
                on: {
                    click: function (t) {
                        t.stopPropagation(), e.handleRemove(i)
                    }
                }
            })])])
        }))])
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("div", {staticClass: "td-dialog xly-dialog-skin"}, [n("div", {staticClass: "td-dialog__header"}, [n("h2", [e._v("换肤")]), e._v(" "), n("a", {
            staticClass: "td-dialog__close",
            attrs: {href: "javascript:;", title: "关闭"},
            on: {click: e.closeWindow}
        }, [n("i", {staticClass: "td-icon-close"})])]), e._v(" "), n("div", {staticClass: "xly-skin-list"}, [n("ul", [e._l(e.themes, function (t, i) {
            return n("li", {
                key: t.colorID,
                staticClass: "xly-skin-list__item",
                class: {"is-chosen": e.skinInfo.colorID === t.colorID},
                on: {
                    click: function (t) {
                        e.handleSelectTheme(i)
                    }
                }
            }, [n("div", {staticClass: "xly-skin-list__image"}, [n("img", {
                attrs: {
                    src: t.url,
                    alt: t.title
                }
            })]), e._v(" "), n("p", [e._v(e._s(t.title))])])
        }), e._v(" "), n("li", {staticClass: "xly-skin-list__item"}, [n("div", {staticClass: "xly-skin-list__image"}, [n("img", {
            attrs: {
                src: e.iconMore,
                alt: ""
            }
        })]), e._v(" "), n("p", [e._v("更多皮肤")])])], 2)])])
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("td-dialog", {
            attrs: {"custom-class": "xly-dialog-setting", visible: ""},
            on: {close: e.handleClose}
        }, [n("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("代理添加/编辑")]), e._v(" "), n("div", {staticClass: "xly-dialog-setting__content"}, [n("ul", {staticClass: "xly-dialog-setting__form"}, [n("li", {staticClass: "xly-dialog-setting__item"}, [n("span", {staticClass: "xly-dialog-setting__label"}, [e._v("代理名称")]), e._v(" "), n("td-input", {
            staticClass: "xly-setting__input-1",
            attrs: {maxlength: "20"},
            model: {
                value: e.proxyName, callback: function (t) {
                    e.proxyName = t
                }, expression: "proxyName"
            }
        })], 1), e._v(" "), n("li", {staticClass: "xly-dialog-setting__item"}, [n("span", {staticClass: "xly-dialog-setting__label"}, [e._v("服 务 器")]), e._v(" "), n("td-input", {
            attrs: {maxlength: "50"},
            model: {
                value: e.host, callback: function (t) {
                    e.host = t
                }, expression: "host"
            }
        })], 1), e._v(" "), n("li", {staticClass: "xly-dialog-setting__item"}, [n("span", {staticClass: "xly-dialog-setting__label"}, [e._v("端口")]), e._v(" "), n("label", {staticClass: "td-input xly-setting__input-2"}, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.port,
                expression: "port"
            }],
            staticClass: "td-input__inner",
            attrs: {type: "text", maxlength: "5"},
            domProps: {value: e.port},
            on: {
                input: [function (t) {
                    t.target.composing || (e.port = t.target.value)
                }, e.handleInput]
            }
        })])]), e._v(" "), n("li", {staticClass: "xly-dialog-setting__item"}, [n("span", {staticClass: "xly-dialog-setting__label"}, [e._v("类型")]), e._v(" "), n("ul", {staticClass: "xly-dialog-setting__horizontal"}, [n("li", [n("td-radio", {
            attrs: {label: "HTTP"},
            nativeOn: {
                click: function (t) {
                    return e.handleClickHttp(t)
                }
            },
            model: {
                value: e.type, callback: function (t) {
                    e.type = t
                }, expression: "type"
            }
        }, [e._v("HTTP")])], 1), e._v(" "), n("li", [n("td-radio", {
            attrs: {label: "SOCKS5"},
            nativeOn: {
                click: function (t) {
                    return e.handleClickSock(t)
                }
            },
            model: {
                value: e.type, callback: function (t) {
                    e.type = t
                }, expression: "type"
            }
        }, [e._v("SOCKS5")])], 1)])]), e._v(" "), n("li", {staticClass: "xly-dialog-setting__item"}, [n("span", {staticClass: "xly-dialog-setting__label"}, [e._v("验证")]), e._v(" "), n("td-input", {
            staticClass: "xly-setting__input-2",
            attrs: {placeholder: "用户名"},
            model: {
                value: e.userName, callback: function (t) {
                    e.userName = t
                }, expression: "userName"
            }
        }), e._v(" "), n("label", {staticClass: "td-input xly-setting__input-2"}, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.passWord,
                expression: "passWord"
            }],
            staticClass: "td-input__inner",
            attrs: {type: "password", placeholder: "密码"},
            domProps: {value: e.passWord},
            on: {
                input: function (t) {
                    t.target.composing || (e.passWord = t.target.value)
                }
            }
        })]), e._v(" "), n("a", {
            staticClass: "td-button td-button--secondary td-button--small",
            class: {"is-disabled": "测试中…" === e.butText},
            attrs: {href: "javascript:;"},
            on: {click: e.handleTest}
        }, [e._v(e._s(e.butText))])], 1)])]), e._v(" "), n("div", {
            staticClass: "xly-dialog__footer",
            attrs: {slot: "footer"},
            slot: "footer"
        }, [n("div", {staticClass: "xly-dialog__button"}, [n("td-button", {
            on: {click: e.handleOK},
            nativeOn: {
                click: function (e) {
                    e.stopPropagation()
                }
            }
        }, [e._v(e._s("确定"))]), e._v(" "), n("td-button", {
            staticClass: "td-button--other",
            on: {click: e.handleClose}
        }, [e._v(e._s("取消"))])], 1)])])
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("div", [n("td-dialog", {
            attrs: {
                "custom-class": "xlx-dialog-decrypt",
                visible: "",
                "footer-enabled": !1
            }, on: {close: e.onClickClose}
        }, [n("div", {staticClass: "td-dialog__body"}, [n("div", {staticClass: "xlx-dialog-decrypt__user"}, [n("a", {
            staticClass: "xlx-dialog-decrypt__user-avatar",
            attrs: {href: "javascript:;"},
            on: {click: e.onClickUserInfo}
        }, [n("img", {
            attrs: {
                src: e.userheadURL,
                alt: "头像"
            }
        })]), e._v(" "), n("a", {
            staticClass: "xlx-dialog-decrypt__user-name",
            attrs: {href: "javascript:;"},
            on: {click: e.onClickUserInfo}
        }, [e._v(e._s(e.userName))]), e._v("已加密了这个迅雷口令\n    ")]), e._v(" "), n("div", {staticClass: "xlx-dialog-decrypt__analysis"}, [n("label", {staticClass: "td-input is-warn"}, [n("td-input", {
            attrs: {
                value: e.inputPassword,
                autofocus: "",
                placeholder: "请输入密码"
            }, on: {
                input: e.hanldeInput, keydown: function (t) {
                    return "button" in t || !e._k(t.keyCode, "enter", 13, t.key, "Enter") ? e.handleKeyDown(t) : null
                }
            }
        })], 1), e._v(" "), e.isPasswordError ? n("p", {staticClass: "xlx-dialog-decrypt__note"}, [e._v("密码不正确")]) : e._e()])]), e._v(" "), n("div", {staticClass: "td-dialog__footer"}, [n("div", {staticClass: "td-dialog-footer"}, [n("td-button", {
            attrs: {disabled: 0 === e.inputPassword.length},
            on: {click: e.onCheckPwdAndParse}
        }, [e._v("解析口令")])], 1)])])], 1)
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this.$createElement, t = this._self._c || e;
        return t("td-dialog", {
            attrs: {"custom-class": "xlx-dialog-mobile", "footer-enabled": !1, visible: ""},
            on: {close: this.handleCancel}
        }, [t("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [this._v("将资源下载到手机")]), this._v(" "), t("div", {staticClass: "xlx-dialog-mobile__code"}, [t("div", {staticClass: "xlx-dialog-mobile__image"}, [t("canvas", {attrs: {id: "qrcodecanvas"}})]), this._v(" "), t("p", [this._v("使用浏览器或者"), t("span", {staticClass: "xlx-dialog-mobile__text"}, [this._v("手机迅雷")]), this._v(" 扫描")])])])
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("td-dialog", {
            attrs: {"custom-class": "xly-dialog-data", "footer-enabled": !1, visible: ""},
            on: {close: e.handleCancel}
        }, [n("div", {staticClass: "xly-dialog-user"}, [n("div", {staticClass: "xly-dialog-user__info"}, [n("td-avatar", {
            attrs: {
                src: e.imgUrl,
                alt: "头像",
                draggable: "false"
            }
        }), e._v(" "), n("div", {staticClass: "xly-dialog-user__detail"}, [n("p", {
            staticClass: "xly-dialog-user__name",
            class: {"is-vip": e.isVip}
        }, [e._v("\n          " + e._s(e.userNick) + "\n        ")]), e._v(" "), n("div", {staticClass: "xly-dialog-user__icon"}, [n("i", {class: e.vipClass}), e._v(" "), n("i", {class: e.userYearIcon})])])], 1), e._v(" "), n("div", {staticClass: "xly-dialog-data__speed"}, [n("ul", [n("li", [n("i", {staticClass: "xly-icon xly-icon-download"}), e._v(" "), n("span", [e._v("\n            下载速度：\n            "), n("em", [e._v(e._s(e.downloadSpeed))])])]), e._v(" "), n("li", [n("i", {staticClass: "xly-icon xly-icon-upload"}), e._v(" "), n("span", [e._v("\n            上传速度：\n            "), n("em", [e._v(e._s(e.uploadSpeed))])])])])])]), e._v(" "), n("div", {staticClass: "xly-data"}, [n("div", {staticClass: "xly-data__main"}, [n("h4", [e._v("主要数据")]), e._v(" "), n("ul", [n("li", [n("i", {staticClass: "xly-icon-download"}), e._v(" "), n("p", {staticClass: "data"}, [e._v(e._s(e.todayDownloadSize))]), e._v(" "), n("p", [e._v("今日下载")])]), e._v(" "), n("li", [n("i", {staticClass: "xly-icon-download-total"}), e._v(" "), n("p", {staticClass: "data"}, [e._v(e._s(e.totalDownloadSize))]), e._v(" "), n("p", [e._v("累计下载")])]), e._v(" "), n("li", [n("i", {staticClass: "xly-icon-luky"}), e._v(" "), n("p", {staticClass: "data"}, [e._v(e._s(e.totalProviders))]), e._v(" "), n("p", [e._v("幸运值")])]), e._v(" "), n("li", [n("i", {staticClass: "xly-icon-upload"}), e._v(" "), n("p", {staticClass: "data"}, [e._v(e._s(e.todayUploadSize))]), e._v(" "), n("p", [e._v("今日上传")])]), e._v(" "), n("li", [n("i", {staticClass: "xly-icon-upload-total"}), e._v(" "), n("p", {staticClass: "data"}, [e._v(e._s(e.totalUploadSize))]), e._v(" "), n("p", [e._v("累计上传")])]), e._v(" "), n("li", [n("i", {staticClass: "xly-icon-user"}), e._v(" "), n("p", {staticClass: "data"}, [e._v(e._s(e.totalBenifites))]), e._v(" "), n("p", [e._v("人品值")])])])]), e._v(" "), n("div", {staticClass: "xly-data__other"}, [n("h4", [e._v("其它数据")]), e._v(" "), n("ul", [n("li", [n("i", {staticClass: "xly-icon-file-1"}), e._v(" "), n("p", {staticClass: "data"}, [e._v(e._s(e.downloadFinishFiles) + "个")]), e._v(" "), n("p", [e._v("下载文件")])]), e._v(" "), n("li", [n("p", {staticClass: "data"}, [n("i", {staticClass: "xly-icon-peak-download"}), e._v(e._s(e.maxDownloadSpeed) + "\n          ")]), e._v(" "), n("p", [e._v("下载峰值")])]), e._v(" "), n("li", [n("p", {staticClass: "data"}, [n("i", {staticClass: "xly-icon-peak-upload"}), e._v(e._s(e.maxUploadSpeed))]), e._v(" "), n("p", [e._v("上传峰值")])])])]), e._v(" "), n("div", {staticClass: "xly-data__other xly-data__other--vip"}, [n("h4", [e._v("会员数据")]), e._v(" "), n("ul", [n("li", {class: {"is-disabled": !e.isVip}}, [n("i", {staticClass: "xly-icon-speed"}), e._v(" "), n("p", {staticClass: "data"}, [e._v(e._s(e.vipAccPercent))]), e._v(" "), n("p", [e._v("会员加速率")])]), e._v(" "), n("li", {class: {"is-disabled": !e.isVip}}, [n("i", {staticClass: "xly-icon-download-total"}), e._v(" "), n("p", {staticClass: "data"}, [e._v(e._s(e.vipDonwloadSize))]), e._v(" "), n("p", [e._v("会员累计下载")])]), e._v(" "), n("li", {class: {"is-disabled": !e.isVip}}, [n("p", {staticClass: "data"}, [n("i", {staticClass: "xly-icon-time"}), e._v(e._s(e.vipSave))]), e._v(" "), n("p", [e._v("累计节省时间")])])]), e._v(" "), n("p", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: !e.isVip,
                expression: "!isVip"
            }], staticClass: "xly-data__other-note"
        }, [e._v("您尚未开通迅雷会员，无法统计此项数据")])])])])
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("td-dialog", {
            attrs: {
                "custom-class": e.showStart ? "xly-dialog-prompt" : "xly-dialog-analysis",
                "footer-enabled": e.showStart || e.detail,
                visible: ""
            }, on: {close: e.handleClose}
        }, [n("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v(e._s(e.detail ? "下载诊断详情" : "下载诊断"))]), e._v(" "), e.showStart ? [n("p", {staticClass: "analysis-tips"}, [e._v("全面诊断您的迅雷能否正常工作。如果您遇到“无法下载任何文件、下载速度缓慢、无法登录帐号”等问题，使用本工具能够获得有助于分析问题原因的技术信息。")])] : e.showDetecting ? [n("div", {staticClass: "analysis"}, [n("div", {staticClass: "analysis__hd"}, [e.isDetecting ? n("div", {staticClass: "xly-analysis-progress"}, [n("div", {staticClass: "xly-progress__tips"}, [e._v(e._s(e.currentDetectDesc))]), e._v(" "), n("td-progress", {attrs: {value: e.percent}})], 1) : n("div", {staticClass: "analysis__result-txt"}, [e._v("\n          诊断到\n          "), n("em", [e._v(e._s(e.problemItems.length))]), e._v("项问题，结果如下：\n        ")]), e._v(" "), n("td-button", {
            attrs: {disabled: e.isDetecting},
            on: {click: e.handleDetectAgain},
            nativeOn: {
                click: function (e) {
                    e.stopPropagation()
                }
            }
        }, [e._v(e._s(e.isDetecting ? "正在诊断 " + e.percent + "%" : "再次诊断"))])], 1), e._v(" "), n("div", {staticClass: "analysis__bd"}, [n("ul", {staticClass: "analysis-list"}, [e._l(e.sortDetectingItems, function (t) {
            return [n("li", {
                key: t.name,
                class: ["analysis__item", e.itemIconClass(t), t.expand ? "is-expand" : ""],
                on: {
                    mouseenter: function (e) {
                        t.showExpand = !0
                    }, mouseleave: function (e) {
                        t.showExpand = !1
                    }, click: function (n) {
                        e.expandItem(t)
                    }
                }
            }, [n("div", {class: ["icon-expand", t.showExpand ? "" : "is-hide"]}), e._v(" "), n("div", {staticClass: "icon-wp"}, [n("i", {staticClass: "xly-icon"})]), e._v(" "), n("div", {staticClass: "title"}, [e._v(e._s(t.name))]), e._v(" "), n("div", {
                staticClass: "msg",
                attrs: {title: e.getDetectItemMsg(t)}
            }, [e._v(e._s(e.getDetectItemMsg(t)))]), e._v(" "), e.isItemDetectFinish(t) ? n("div", {staticClass: "result"}, [e._v(e._s(e.isItemDetectSuccess(t) ? "正常" : "失败"))]) : e._e()]), e._v(" "), t.expand ? n("li", {
                key: t.name + "_detail",
                staticClass: "analysis__detail",
                on: {
                    mouseenter: function (e) {
                        t.showExpand = !0
                    }, mouseleave: function (e) {
                        t.showExpand = !1
                    }
                }
            }, [n("div", [e._v(e._s(t.detail))])]) : e._e()]
        })], 2), e._v(" "), e.isDetectFinish ? n("a", {
            staticClass: "analysis-detail",
            attrs: {href: "javascript:;"},
            on: {click: e.handleShowDetail}
        }, [e._v("\n          查看诊断详情\n          "), n("i", {staticClass: "td-icon-arrow-right"})]) : e._e()]), e._v(" "), n("div", {staticClass: "analysis__ft"}, [e.localIPInfo && e.localIPInfo.teleCommunications.length > 0 ? n("div", {
            staticClass: "location",
            attrs: {title: e.localIPInfoTitle}
        }, [e._v("\n          所在地：\n          "), n("span", {staticClass: "location-item"}, [e._v(e._s(e.localIPInfo.teleCommunications))]), e._v(" "), e.localIPInfo.localIP.length > 0 ? n("span", {staticClass: "location-item"}, [e._v("（" + e._s(e.localIPInfo.localIP) + "）")]) : e._e()]) : e._e(), e._v(" "), e.isDetectFinish && !e.isDetectSuccess ? n("a", {
            staticClass: "analysis__help",
            attrs: {href: "javascript:;"},
            on: {click: e.handleContactCustomerService}
        }, [e._v("联系客服")]) : n("a", [e._v(" ")])])])] : [n("ul", {staticClass: "analysis-result-list"}, [e.localIPInfo && e.localIPInfo.teleCommunications.length > 0 ? n("li", {staticClass: "analysis-result-item"}, [n("span", {staticClass: "txt"}, [e._v("所在地：")]), e._v(" "), n("span", {staticClass: "txt"}, [e._v(e._s(e.localIPInfo.teleCommunications))]), e._v(" "), n("span", {staticClass: "txt"}, [e._v("（" + e._s(e.localIPInfo.localIP) + "）")])]) : e._e(), e._v(" "), n("li", {staticClass: "analysis-result-item"}, [n("span", {staticClass: "txt"}, [e._v("Windows版本：")]), e._v(" "), n("span", {staticClass: "txt"}, [e._v(e._s(e.osVersion))])]), e._v(" "), n("li", {staticClass: "analysis-result-item"}, [n("span", {staticClass: "txt"}, [e._v("迅雷版本：")]), e._v(" "), n("span", {staticClass: "txt"}, [e._v(e._s(e.thunderXVersion))])]), e._v(" "), n("li", {staticClass: "analysis-result-item"}, [n("span", {staticClass: "txt"}, [e._v("迅雷下载引擎版本：")]), e._v(" "), n("span", {staticClass: "txt"}, [e._v(e._s(e.downloadSDKVersion))])]), e._v(" "), n("li", {staticClass: "analysis-result-item"}, [n("span", {staticClass: "txt"}, [e._v("当前使用的DNS信息：")]), e._v(" "), n("span", {staticClass: "txt"}), e._v(" "), n("span", {staticClass: "txt"}, [e._v(e._s(e.dnsInfos))])]), e._v(" "), e.isLogined ? n("li", {staticClass: "analysis-result-item"}, [n("span", {staticClass: "txt"}, [e._v("UID：")]), e._v(" "), n("span", {staticClass: "txt"}, [e._v(e._s(e.uid))])]) : e._e(), e._v(" "), e.problemItems.length > 0 ? [n("li", {staticClass: "analysis-result-item"}, [n("span", {staticClass: "txt"}, [e._v("【异常摘要】")])]), e._v(" "), e._l(e.problemItems, function (t, i) {
            return n("li", {
                key: i + 99,
                staticClass: "analysis-result-item"
            }, [n("span", {staticClass: "txt"}, [e._v(e._s(t.detectDesc))])])
        })] : e._e(), e._v(" "), n("li", {staticClass: "analysis-result-item"}, [n("span", {staticClass: "txt"}, [e._v("【详细信息】")])]), e._v(" "), e._l(e.detectAllDetail, function (t, i) {
            return n("li", {
                key: i,
                staticClass: "analysis-result-item"
            }, [n("span", {staticClass: "txt"}, [e._v(e._s(t.date))]), e._v(" "), n("span", {staticClass: "txt"}, [e._v(e._s(t.time))]), e._v(" "), n("span", {staticClass: "txt"}, [e._v(e._s(t.desc))])])
        })], 2)], e._v(" "), e.showStart ? n("template", {slot: "footer"}, [n("td-button", {
            on: {
                click: function (t) {
                    e.handleStartDetect("start_diagnosis")
                }
            }, nativeOn: {
                click: function (e) {
                    e.stopPropagation()
                }
            }
        }, [e._v("开始诊断")])], 1) : e.detail ? n("template", {slot: "footer"}, [n("div", {staticClass: "xly-dialog__footer"}, [n("div", {
            staticClass: "xly-dialog__footer-operate",
            on: {click: e.handleDetailReturn},
            nativeOn: {
                click: function (e) {
                    e.stopPropagation()
                }
            }
        }, [n("a", {
            staticClass: "xly-dialog__footer-link",
            attrs: {href: "javascript:;"}
        }, [e._v("<返回")])]), e._v(" "), n("div", {staticClass: "xly-dialog__button"}, [n("td-button", {
            staticClass: "td-button--other",
            on: {click: e.handleDetailSave},
            nativeOn: {
                click: function (e) {
                    e.stopPropagation()
                }
            }
        }, [e._v("保存")]), e._v(" "), n("td-tooltip", {
            staticStyle: {"padding-left": "10px"},
            attrs: {content: e.copyTipsText, visible: e.isShowCopyTips, placement: "top"}
        }, [n("td-button", {
            on: {click: e.handleDetailCopy}, nativeOn: {
                click: function (e) {
                    e.stopPropagation()
                }
            }
        }, [e._v("复制")])], 1)], 1)])]) : e._e(), e._v(" "), n("is-login-ctrl", {
            model: {
                value: e.isLogined,
                callback: function (t) {
                    e.isLogined = t
                },
                expression: "isLogined"
            }
        })], 2)
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("td-dialog", {
            attrs: {
                "custom-class": ["xly-dialog-filetype-select"],
                "footer-enabled": !1,
                visible: ""
            }, on: {close: e.handleCancel}
        }, [n("div", {staticClass: "xly-filetype-select"}, [n("div", {staticClass: "xly-filetype-select__nav-wp"}, [n("div", {
            ref: "nav",
            staticClass: "xly-filetype-select__nav"
        }, e._l(e.items, function (t, i) {
            return n("a", {
                key: t.label,
                staticClass: "xly-filetype-select__item",
                class: {"is-active": e.selectLabel === t.label},
                attrs: {href: "javascript:;"},
                on: {
                    click: function (n) {
                        e.onSelectChange(t, i)
                    }
                }
            }, [n("span", {
                staticClass: "tab-txt",
                attrs: {title: t.label}
            }, [e._v(e._s(t.label))]), e._v(" "), n("i", {
                directives: [{
                    name: "show",
                    rawName: "v-show",
                    value: "自定义" !== t.label,
                    expression: "item.label !== '自定义'"
                }], staticClass: "td-icon-close", on: {
                    click: function (n) {
                        n.stopPropagation(), e.removeFilter(t, i)
                    }
                }
            })])
        }))]), e._v(" "), n("div", {staticClass: "xly-filetype-select__cont-wp"}, [n("ul", {staticClass: "xly-filetype-select__cont"}, [n("li", {staticClass: "xly-filetype-select__pane"}, [n("td-input", {
            class: {"is-warn": e.isWarning},
            attrs: {label: "筛选项名称：", placeholder: "不超过30个字", value: e.editItem.label},
            on: {input: e.handleLabelChange}
        }), e._v(" "), n("div", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: "" !== e.warningTips1,
                expression: "warningTips1 !== ''"
            }], staticClass: "warning-tips", attrs: {title: e.warningTips1}
        }, [e._v(e._s(e.warningTips1))]), e._v(" "), n("div", {staticClass: "file-condition"}, [n("td-input", {
            attrs: {
                type: "textarea",
                label: "文件名包含：",
                placeholder: "请填写文件名关键词，按回车键换行设置多个关键词",
                value: e.editItem.nameFilterInput
            }, on: {input: e.handleNameFilterChange}
        }), e._v(" "), n("td-input", {
            attrs: {
                type: "textarea",
                label: "扩展名包含：",
                placeholder: "请填写文件扩展名关键词，按回车键换行设置多个关键词",
                value: e.editItem.extFilterInput
            }, on: {input: e.hanleExtFilterChange}
        })], 1), e._v(" "), n("div", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: "" !== e.warningTips2,
                expression: "warningTips2 !== ''"
            }], staticClass: "warning-tips", attrs: {title: e.warningTips2}
        }, [e._v(e._s(e.warningTips2))]), e._v(" "), n("td-button", {
            attrs: {disabled: !e.saveEnable},
            on: {click: e.onSave}
        }, [e._v("保存")])], 1)])])]), e._v(" "), n("td-message", {
            ref: "message",
            attrs: {type: "success"}
        }, [e._v("\n    " + e._s(e.messageContent) + "\n    "), n("a", {attrs: {href: "javascript:;"}})])], 1)
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("td-dialog", {
            attrs: {"custom-class": ["xlx-dialog-big-file"], "footer-enabled": !1, visible: ""},
            on: {close: e.handleClose}
        }, [i("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("请选择“申请磁盘空间”的方式")]), e._v(" "), i("div", {staticClass: "td-dialog__body"}, [i("p", {staticClass: "tips-txt"}, [e._v("\n      你正在下载的文件较大，如用“传统方式”下载，磁盘将持续处于繁忙状态；现在，迅雷新增\n      "), i("em", [e._v("“快速方式”")]), e._v("，需要使用管理员权限快速申请磁盘空间。建议您选择“快速方式”，并在下一步出现的对话框（如下图）中，\n      "), i("br"), e._v(" "), i("em", [e._v("选择“是”")]), e._v("。\n    ")]), e._v(" "), i("div", {staticClass: "tips-img"}, [i("img", {
            attrs: {
                src: n(856),
                alt: "图片示意"
            }
        })])]), e._v(" "), i("div", {staticClass: "td-dialog__footer"}, [i("div", {staticClass: "td-dialog-footer"}, [i("td-button", {on: {click: e.handleQuickMode}}, [e._v("快速方式")]), e._v(" "), i("td-button", {
            attrs: {secondary: ""},
            on: {click: e.handleTraditionalMode}
        }, [e._v("传统方式")])], 1), e._v(" "), i("p", {staticClass: "tips-oper"}, [e._v(e._s(e.countDownSeconds) + "s后，默认选择传统方式")])])])
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this.$createElement, t = this._self._c || e;
        return t("td-dialog", {
            attrs: {
                "custom-class": "xly-dialog-imgdlg",
                visible: "",
                fullscreen: "",
                "footer-enabled": !1
            }, on: {close: this.handleCloseButton}
        }, [t("img", {style: this.imgStyle, attrs: {src: this.imgSrc}})])
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("td-dialog", {
            attrs: {visible: "", "custom-class": ["xly-dialog-share"], "footer-enabled": !1},
            on: {close: e.handleClose}
        }, [n("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("分享")]), e._v(" "), e.loading ? n("div", {staticClass: "td-dialog__body"}, [n("div", {staticClass: "td-dialog-comfirm"}, [n("div", {staticClass: "td-dialog-comfirm__content"}, [n("p", {staticClass: "td-dialog-comfirm__title"}, [e._v("正在生成下载链接……")])])])]) : e.failed ? n("div", {staticClass: "td-dialog__body"}, [n("div", {staticClass: "td-dialog-comfirm"}, [n("span", {staticClass: "td-dialog-comfirm__icon"}, [n("i", {staticClass: "td-icon-error"})]), e._v(" "), n("div", {staticClass: "td-dialog-comfirm__content"}, [n("p", {staticClass: "td-dialog-comfirm__title"}, [e._v("生成下载链接失败")])])]), e._v(" "), n("div", {staticClass: "td-dialog__footer"}, [n("div", {staticClass: "td-dialog-footer"}, [n("button", {
            staticClass: "td-button td-button--secondary",
            on: {click: e.handleRetry}
        }, [e._v("重试")])])])]) : n("div", {staticClass: "td-dialog__body"}, [n("div", {staticClass: "xly-dialog-share__form"}, [n("ul", [n("li", {staticClass: "xly-dialog-share__item"}, [n("span", {staticClass: "xly-dialog-share__label"}, [e._v("口令分享：")]), e._v(" "), n("div", {staticClass: "xly-dialog-share__box"}, [n("label", {staticClass: "td-input"}, [n("span", {staticClass: "td-input__label"}), e._v(" "), 0 === e.birdkeyStatus ? n("input", {
            staticClass: "td-input__inner",
            attrs: {type: "text", readonly: "readonly", value: "正在生成口令..."}
        }) : 1 === e.birdkeyStatus ? n("input", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.birdkeyText,
                expression: "birdkeyText"
            }],
            staticClass: "td-input__inner",
            attrs: {type: "text", readonly: "readonly"},
            domProps: {value: e.birdkeyText},
            on: {
                input: function (t) {
                    t.target.composing || (e.birdkeyText = t.target.value)
                }
            }
        }) : 2 === e.birdkeyStatus ? n("input", {
            staticClass: "td-input__inner",
            attrs: {type: "text", readonly: "readonly", value: "生成口令失败"}
        }) : e._e()]), e._v(" "), 0 === e.birdkeyStatus ? n("td-button", {attrs: {disabled: ""}}, [e._v("复制口令")]) : 1 === e.birdkeyStatus ? n("td-button", {on: {click: e.onCopyBirdkeyBtnClick}}, [e._v("复制口令")]) : 2 === e.birdkeyStatus ? n("td-button", {on: {click: e.retryEncode}}, [e._v("点击重试")]) : e._e()], 1), e._v(" "), n("div", {staticClass: "xly-dialog-share__box"}, [n("td-checkbox", {
            attrs: {value: e.isChecked},
            on: {input: e.handleCheck}
        }, [e._v("加密迅雷口令")]), e._v(" "), e.userpwd ? n("span", {staticClass: "xly-dialog-share__code"}, [e._v("提取码：" + e._s(e.userpwd))]) : e._e()], 1)]), e._v(" "), n("li", [n("div", [n("span", {staticClass: "xly-dialog-share__label"}, [e._v("链接分享：")]), e._v(" "), n("div", {staticClass: "xly-dialog-share__box"}, [n("label", {staticClass: "td-input"}, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.shareLink,
                expression: "shareLink"
            }],
            staticClass: "td-input__inner",
            attrs: {type: "text", readonly: "readonly"},
            domProps: {value: e.shareLink},
            on: {
                input: function (t) {
                    t.target.composing || (e.shareLink = t.target.value)
                }
            }
        })]), e._v(" "), n("td-button", {on: {click: e.handleCopyShareLink}}, [e._v("复制链接")])], 1)])])]), e._v(" "), n("div", {staticClass: "xly-share-way"}, [n("div", {staticClass: "xly-share-way__code"}, [n("p", {staticClass: "xly-share-way__title"}, [e._v("扫码分享：")]), e._v(" "), n("div", {staticClass: "xly-share-way__inner"}, [n("div", {staticClass: "xly-share-way__image"}, [n("canvas", {attrs: {id: "qrcodecanvas"}})]), e._v(" "), n("p", {staticClass: "xly-share-way__text"}, [e._v("\n              用"), n("em", [e._v("微信")]), e._v("、"), n("em", [e._v("QQ")]), e._v("扫码点击"), n("br"), e._v("\n              右上角"), n("em", [n("i", {staticClass: "xly-icon-more"})]), e._v("分享给好友\n            ")])])]), e._v(" "), n("div", {staticClass: "xly-share-way__other"}, [n("p", {staticClass: "xly-share-way__title"}, [e._v("其他分享：")]), e._v(" "), n("div", {staticClass: "xly-share-way__icon"}, [n("a", {
            staticClass: "share-mode-figure",
            attrs: {href: "javascript:;"},
            on: {click: e.handleShareQQ}
        }, [n("i", {staticClass: "xly-icon-qq"})]), e._v(" "), n("a", {
            staticClass: "share-mode-figure",
            attrs: {href: "javascript:;"},
            on: {click: e.handleShareQQZone}
        }, [n("i", {staticClass: "xly-icon-qzone"})])])])])])]), e._v(" "), n("td-message", {
            ref: "message",
            attrs: {type: e.messageType}
        }, [e._v(e._s(e.messageText))])], 1)
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("div", {staticClass: "xly-fav"}, [n("td-tabs", {
            attrs: {tabs: e.tabs, "active-key": e.activeKey}, on: {
                "update:activeKey": function (t) {
                    e.activeKey = t
                }
            }, scopedSlots: e._u([{
                key: "default", fn: function (t) {
                    var i = t.tab;
                    return ["my_favorites" === i.key ? [0 === e.bookmarks.length ? n("div", {staticClass: "xly-fav__empty"}, [n("span", {staticClass: "xly-blank-fav"}), e._v(" "), n("p", [e._v("好的站点, 等你收藏")])]) : n("div", {staticClass: "xly-fav__list"}, [n("ul", e._l(e.bookmarks, function (t, i) {
                        return n("li", {
                            key: t.url, on: {
                                click: function (n) {
                                    n.stopPropagation(), e.onFavItemClick(t, i)
                                }, contextmenu: function (n) {
                                    e.onFavItemMenu(t, i)
                                }
                            }
                        }, [n("div", {staticClass: "xly-fav__picture"}, [t.iconUrl ? n("img", {
                            attrs: {
                                src: t.iconUrl,
                                alt: ""
                            }
                        }) : n("i", {staticClass: "xly-icon-net"})]), e._v(" "), n("div", {staticClass: "xly-fav__content"}, [n("p", {staticClass: "title"}, [n("span", {
                            directives: [{
                                name: "show",
                                rawName: "v-show",
                                value: t.top,
                                expression: "bookmark.top"
                            }], staticClass: "tag-top"
                        }, [e._v("顶")]), e._v(" "), n("span", {staticClass: "name"}, [e._v(e._s(t.name))])]), e._v(" "), n("p", {staticClass: "link"}, [e._v(e._s(t.url))])])])
                    }))])] : "history" === i.key ? [0 === e.historys.length ? [n("div", {staticClass: "xly-fav__empty"}, [n("span", {staticClass: "xly-blank-record"}), e._v(" "), n("p", [e._v("暂无浏览记录")])])] : [n("div", {staticClass: "xly-fav__list  xly-fav__list--record"}, [e._l(e.historysDates, function (t, i) {
                        return [n("p", {
                            key: t + "time",
                            staticClass: "xly-fav__time"
                        }, [e._v(e._s(e.dateDisplay(t)))]), e._v(" "), n("ul", {key: t}, e._l(e.historysMaps[t], function (t, r) {
                            return n("li", {
                                key: t.url, on: {
                                    click: function (n) {
                                        n.stopPropagation(), e.onHistoryClick(t)
                                    }, contextmenu: function (n) {
                                        e.onHistoryItemMenu(t, r, i)
                                    }
                                }
                            }, [n("div", {staticClass: "xly-fav__picture"}, [t.iconUrl ? n("img", {
                                attrs: {
                                    src: t.iconUrl,
                                    alt: ""
                                }
                            }) : n("i", {staticClass: "xly-icon-net"})]), e._v(" "), n("div", {staticClass: "xly-fav__content"}, [n("p", {staticClass: "title"}, [n("span", {staticClass: "name"}, [e._v(e._s(t.name))])]), e._v(" "), n("p", {staticClass: "link"}, [e._v(e._s(t.url))])])])
                        }))]
                    }), e._v(" "), e.hasMore ? n("a", {
                        staticClass: "xly-fav__link",
                        attrs: {href: "javascript:;"},
                        on: {click: e.onLoadMore}
                    }, [e._v("查看更多 "), n("i", {staticClass: "td-icon-arrow-down"})]) : n("p", {staticClass: "xly-fav__text"}, [e._v("没有更多了")])], 2), e._v(" "), n("div", {staticClass: "xly-fav__clear"}, [n("a", {
                        attrs: {href: "javascript:;"},
                        on: {click: e.onClearHistorys}
                    }, [e._v("全部清空 ")])])]] : e._e()]
                }
            }])
        }), e._v(" "), e.showClearHistoryFlag ? n("div", {staticClass: "td-cover"}, [n("div", {staticClass: "td-dialog xly-dialog-fav"}, [n("div", {staticClass: "td-dialog__header"}, [n("a", {
            staticClass: "td-dialog__close",
            attrs: {href: "javascript:;", title: "关闭"},
            on: {click: e.cancelClearHistory}
        }, [n("i", {staticClass: "td-icon-close"})])]), e._v(" "), e._m(0), e._v(" "), n("div", {staticClass: "td-dialog__footer"}, [n("div", {staticClass: "td-dialog-footer"}, [n("div", {staticClass: "xly-dialog__footer"}, [n("div", {staticClass: "xly-dialog__button"}, [n("button", {
            staticClass: "td-button",
            on: {click: e.doClearHistory}
        }, [e._v(" 确定")]), e._v(" "), n("button", {
            staticClass: "td-button td-button--other",
            on: {click: e.cancelClearHistory}
        }, [e._v(" 取消")])])])])])])]) : e._e(), e._v(" "), n("td-message", {
            ref: "message",
            attrs: {type: e.messageType}
        }, [e._v("\n    " + e._s(e.messageContent) + "\n    "), n("a", {attrs: {href: "javascript:;"}})])], 1)
    }, r = [function () {
        var e = this.$createElement, t = this._self._c || e;
        return t("div", {staticClass: "td-dialog__body"}, [t("p", [this._v("确定要清空浏览记录吗？")])])
    }];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("td-dialog", {
            attrs: {"custom-class": "xly-dialog-login", visible: ""}, on: {
                close: function (t) {
                    e.handleClose("close")
                }
            }
        }, [n("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("下载该任务需要登录此站点")]), e._v(" "), n("p", {staticClass: "xly-dialog-login__tips"}, [e._v(e._s(e.options.site))]), e._v(" "), n("ul", [n("li", {staticClass: "xly-dialog-login__item"}, [n("td-tooltip", {
            staticStyle: {
                display: "flex",
                flex: "1"
            }, attrs: {content: e.tipsText, visible: e.isShowTips, placement: "top", offset: {x: 60}}
        }, [n("td-input", {
            attrs: {maxlength: "50", label: "用户名", placeholder: "请填写用户名"},
            model: {
                value: e.username, callback: function (t) {
                    e.username = t
                }, expression: "username"
            }
        })], 1)], 1), e._v(" "), n("li", {staticClass: "xly-dialog-login__item"}, [n("td-input", {
            attrs: {
                maxlength: "50",
                label: "密码",
                placeholder: "密码"
            }, model: {
                value: e.password, callback: function (t) {
                    e.password = t
                }, expression: "password"
            }
        })], 1)]), e._v(" "), n("div", {
            staticClass: "xly-dialog__footer",
            attrs: {slot: "footer"},
            slot: "footer"
        }, [n("div", {staticClass: "xly-dialog__button"}, [n("td-button", {
            on: {
                click: function (t) {
                    return t.stopPropagation(), e.handleOK(t)
                }
            }
        }, [e._v("登录")]), e._v(" "), n("td-button", {
            staticClass: "td-button--other", on: {
                click: function (t) {
                    e.handleClose("cancel")
                }
            }
        }, [e._v("取消")])], 1)])])
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("td-dialog", {
            attrs: {
                "custom-class": "xlx-dialog-content",
                "footer-enabled": !e.showGuide,
                visible: ""
            }, on: {close: e.handleCancel}
        }, [e.showGuide ? [i("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("遥控电脑需安装手机迅雷")]), e._v(" "), i("div", {staticClass: "td-dialog__body"}, [i("div", {staticClass: "xlx-dialog-content__main"}, [i("ul", [i("li", {staticClass: "xlx-dialog-content__item"}, [i("p", {staticClass: "title"}, [i("span", {staticClass: "number"}, [e._v("1")]), e._v(" 未安装手机迅雷APP扫码下载\n            ")]), e._v(" "), i("div", {staticClass: "code"}, [i("canvas", {attrs: {id: "qrcodecanvas"}})])]), e._v(" "), i("li", {staticClass: "xlx-dialog-content__item"}, [i("p", {staticClass: "title"}, [i("span", {staticClass: "number"}, [e._v("2")]), e._v(" 已安装手机迅雷APP\n              "), i("span", {staticClass: "tips"}, [e._v("(请使用6.19及以上版本）")])]), e._v(" "), i("div", {staticClass: "xlx-dialog-content__step"}, [i("ul", [i("li", [i("span", [e._v("打开APP")]), e._v(" "), i("div", {staticClass: "detail"}, [i("div", {staticClass: "detail__image"}, [i("img", {
            attrs: {
                src: n(868),
                alt: ""
            }
        })]), e._v(" "), i("p", [e._v("迅雷")])]), e._v(" "), i("span", {staticClass: "icon-arrow"})]), e._v(" "), i("li", [i("span", [e._v("选择")]), e._v(" "), i("div", {staticClass: "detail"}, [i("div", {staticClass: "detail__image"}, [i("img", {
            attrs: {
                src: n(869),
                alt: ""
            }
        })]), e._v(" "), i("p", [e._v("我的")])]), e._v(" "), i("span", {staticClass: "icon-arrow"})]), e._v(" "), i("li", [i("span", [e._v("点击")]), e._v(" "), i("div", {staticClass: "detail"}, [i("div", {staticClass: "detail__image"}, [i("img", {
            attrs: {
                src: n(870),
                alt: "遥控电脑"
            }
        })]), e._v(" "), i("p", [e._v("遥控电脑")])])])])])])])])])] : "offline" === e.state ? [i("template", {slot: "header"}, [i("h2", [e._v("手机遥控下载")]), e._v(" "), i("p", [e._v("随时随地添加下载任务，查看下载记录")])]), e._v(" "), i("div", {staticClass: "td-dialog__body"}, [i("div", {staticClass: "xlx-dialog-content__demo"}, [i("img", {
            attrs: {
                src: n(871),
                alt: "教程"
            }
        })])]), e._v(" "), i("a", {
            staticClass: "td-button td-button--large",
            attrs: {slot: "footer", href: "javascript:;"},
            on: {click: e.handleOpen},
            slot: "footer"
        }, [e._v("开启手机遥控")])] : "online" === e.state ? [i("template", {slot: "header"}, [i("h2", [e._v("手机迅雷遥控中")]), e._v(" "), i("p", [e._v("退出手机或者电脑任意账户，控制结束")])]), e._v(" "), i("div", {staticClass: "td-dialog__body"}, [i("div", {staticClass: "xlx-dialog-content__demo"}, [i("img", {
            attrs: {
                src: n(872),
                alt: "教程"
            }
        })])]), e._v(" "), i("a", {
            staticClass: "td-button td-button--large",
            attrs: {slot: "footer", href: "javascript:;"},
            on: {click: e.handleOk},
            slot: "footer"
        }, [e._v("知道了")])] : e._e()], 2)
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, i = e._self._c || t;
        return i("td-dialog", {
            attrs: {
                "custom-class": "xlx-dialog-content xlx-dialog-trans",
                "footer-enabled": !1,
                visible: ""
            }, on: {close: e.handleCancel}
        }, [i("div", {staticClass: "td-dialog__body"}, [i("div", {staticClass: "xlx-dialog-trans__wp"}, [i("div", {staticClass: "xlx-dialog-trans__txt"}, [i("h2", {staticClass: "title"}, [e._v("传文件到手机")]), e._v(" "), i("div", {staticClass: "mobile-step"}, [i("p", {staticClass: "step"}, [e._v("\n            请确保手机和电脑连接在\n            "), i("em", [e._v("同一wifi")])]), e._v(" "), i("p", {staticClass: "step"}, [i("a", {
            attrs: {href: "javascript:;"},
            on: {click: e.popupDownloadShoulei}
        }, [e._v("更新")]), e._v("安卓手机迅雷至6.20并\n            "), i("em", [e._v("扫描二维码")])])]), e._v(" "), i("div", {staticClass: "tips"}, [e._v("（当不处于同一wifi下时，将进行普通下载）")])]), e._v(" "), i("div", {staticClass: "xlx-dialog-trans__img"}, [i("div", {staticClass: "xlx-dialog-trans__code"}, [e.qrcodeFailed ? i("p", {staticClass: "error-tips"}, [e._v("刷新获取二维码或检查路由连接情况")]) : i("canvas", {attrs: {id: "qrcodecanvas"}})]), e._v(" "), i("a", {
            staticClass: "code-oper",
            attrs: {href: "javascript:;"}
        }, [e._v("\n          扫码传送\n          "), i("i", {
            staticClass: "xlx-icon-replay",
            on: {click: e.handleRefreshQRCode}
        })]), e._v(" "), i("img", {attrs: {src: n(874), alt: ""}})])])])])
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("td-dialog", {
            attrs: {"custom-class": "xly-dialog-speed", visible: ""}, on: {
                close: function (t) {
                    e.handleCancel(e.action.Close)
                }
            }
        }, [n("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v(e._s(e.options.title))]), e._v(" "), n("div", {staticClass: "xly-dialog-speed__speed"}, [n("ul", [n("li", {staticClass: "xly-dialog-speed__item"}, [n("td-checkbox", {
            attrs: {value: e.formData.maxDownloadSpeedEnabled.value},
            on: {
                input: function (t) {
                    return e.handleInput(t, "maxDownloadSpeedEnabled")
                }
            }
        }, [e._v("最大下载速度")]), e._v(" "), n("div", {staticClass: "xly-dialog-speed__content"}, [n("td-slider", {
            attrs: {
                disabled: !e.formData.maxDownloadSpeedEnabled.value,
                value: e.formData.maxDownloadSpeed.value,
                scales: [60, 500, 1024, 5120, 51200],
                marks: [{label: "60KB", value: 60}, {label: "500KB", value: 500}, {
                    label: "1MB",
                    value: 1024
                }, {label: "5MB", value: 5120}, {label: "50MB", value: 51200}]
            }, on: {
                input: function (t) {
                    return e.handleInput(Number(t), "maxDownloadSpeed")
                }
            }
        }), e._v(" "), n("div", {staticClass: "xly-dialog-speed__input"}, [n("limit-input", {
            attrs: {
                placement: "left",
                min: 60,
                max: 51200,
                isNumber: !0,
                readonly: !e.formData.maxDownloadSpeedEnabled.value,
                value: e.formData.maxDownloadSpeed.value
            }, on: {input: e.maxDownloadSpeedInput}
        }), e._v(" "), n("span", {staticClass: "xly-dialog-speed__text"}, [e._v("KB/s")])], 1)], 1)], 1), e._v(" "), n("li", {staticClass: "xly-dialog-speed__item"}, [n("td-checkbox", {
            attrs: {value: e.formData.maxUploadSpeedEnabled.value},
            on: {
                input: function (t) {
                    return e.handleInput(t, "maxUploadSpeedEnabled")
                }
            }
        }, [e._v("最大上传速度")]), e._v(" "), n("div", {staticClass: "xly-dialog-speed__content"}, [n("td-slider", {
            attrs: {
                disabled: !e.formData.maxUploadSpeedEnabled.value,
                value: e.formData.maxUploadSpeed.value,
                scales: [30, 100, 200, 1024, 2048],
                marks: [{label: "30KB", value: 30}, {label: "100KB", value: 100}, {
                    label: "200KB",
                    value: 200
                }, {label: "1MB", value: 1024}, {label: "2MB", value: 2048}]
            }, on: {
                input: function (t) {
                    return e.handleInput(Number(t), "maxUploadSpeed")
                }
            }
        }), e._v(" "), n("div", {staticClass: "xly-dialog-speed__input"}, [n("limit-input", {
            attrs: {
                placement: "left",
                min: 30,
                max: 2048,
                isNumber: !0,
                readonly: !e.formData.maxUploadSpeedEnabled.value,
                value: e.formData.maxUploadSpeed.value
            }, on: {input: e.maxUploadSpeedInput}
        }), e._v(" "), n("span", {staticClass: "xly-dialog-speed__text"}, [e._v("KB/s")])], 1)], 1)], 1), e._v(" "), n("li", {staticClass: "xly-dialog-speed__item"}, [n("td-checkbox", {
            attrs: {value: e.formData.limitTimeEnabled.value},
            on: {
                input: function (t) {
                    return e.handleInput(t, "limitTimeEnabled")
                }
            }
        }, [e._v("限速下载时间段")]), e._v(" "), n("div", {staticClass: "xly-dialog-speed__time"}, [n("ul", [n("li", {staticClass: "xly-dialog-speed__item xly-dialog-speed__item--flex"}, [n("span", {staticClass: "xly-dialog-speed__text"}, [e._v("开始限速时间")]), e._v(" "), n("select-native", {
            attrs: {
                options: e.hours,
                disabled: !e.formData.limitTimeEnabled.value,
                value: e.formData.limitTime[0].value.toString(),
                useNative: !1,
                position: "top"
            }, on: {
                input: function (t) {
                    return e.handleLimitInput(Number(t), 0)
                }
            }
        }), e._v(" "), n("span", {staticClass: "xly-dialog-speed__text"}, [e._v("时")]), e._v(" "), n("select-native", {
            attrs: {
                options: e.minutes,
                disabled: !e.formData.limitTimeEnabled.value,
                value: e.formData.limitTime[1].value.toString(),
                useNative: !1,
                position: "top"
            }, on: {
                input: function (t) {
                    return e.handleLimitInput(Number(t), 1)
                }
            }
        }), e._v(" "), n("span", {staticClass: "xly-dialog-speed__text"}, [e._v("分")])], 1), e._v(" "), n("li", {staticClass: "xly-dialog-speed__item xly-dialog-speed__item--flex"}, [n("span", {staticClass: "xly-dialog-speed__text"}, [e._v("结束限速时间")]), e._v(" "), n("select-native", {
            attrs: {
                options: e.hours,
                disabled: !e.formData.limitTimeEnabled.value,
                value: e.formData.limitTime[2].value.toString(),
                useNative: !1,
                position: "top"
            }, on: {
                input: function (t) {
                    return e.handleLimitInput(Number(t), 2)
                }
            }
        }), e._v(" "), n("span", {staticClass: "xly-dialog-speed__text"}, [e._v("时")]), e._v(" "), n("select-native", {
            attrs: {
                options: e.minutes,
                disabled: !e.formData.limitTimeEnabled.value,
                value: e.formData.limitTime[3].value.toString(),
                useNative: !1,
                position: "top"
            }, on: {
                input: function (t) {
                    return e.handleLimitInput(Number(t), 3)
                }
            }
        }), e._v(" "), n("span", {staticClass: "xly-dialog-speed__text"}, [e._v("分")])], 1)])])], 1)])]), e._v(" "), n("div", {
            staticClass: "xly-dialog__footer",
            attrs: {slot: "footer"},
            slot: "footer"
        }, [n("div", {staticClass: "xly-dialog__button"}, [n("td-button", {on: {click: e.handleOK}}, [e._v("确定")]), e._v(" "), n("td-button", {
            staticClass: "td-button--other",
            on: {
                click: function (t) {
                    e.handleCancel(e.action.Cancel)
                }
            }
        }, [e._v("取消")])], 1)])])
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("div", {staticClass: "xly-viewer"}, [n("div", {
            staticClass: "xly-viewer__header",
            staticStyle: {"-webkit-app-region": "drag"}
        }, [n("div", {
            staticClass: "xly-viewer__operate",
            staticStyle: {"-webkit-app-region": "no-drag"}
        }, [n("a", {
            attrs: {title: "最小化"},
            on: {click: e.minimizeWindow}
        }, [n("i", {staticClass: "xly-icon-minimize-small"})]), e._v(" "), n("a", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: !e.isMax,
                expression: "!isMax"
            }], attrs: {title: "最大化"}, on: {
                click: function (t) {
                    e.resizeWindow("maximize")
                }
            }
        }, [n("i", {staticClass: "xly-icon-maximize-small"})]), e._v(" "), n("a", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: e.isMax,
                expression: "isMax"
            }], attrs: {title: "还原"}, on: {
                click: function (t) {
                    e.resizeWindow("reduce")
                }
            }
        }, [n("i", {staticClass: "xly-icon-reduce-small"})]), e._v(" "), n("a", {on: {click: e.closeWindow}}, [n("i", {
            staticClass: "xly-icon-close-small",
            attrs: {title: "关闭"}
        })])])]), e._v(" "), n("div", {
            ref: "viewerBody",
            staticClass: "xly-viewer__body",
            on: {
                mousewheel: function (t) {
                    return t.ctrlKey ? t.shiftKey || t.altKey || t.metaKey ? null : e.handleCtrlScroll(t) : null
                }
            }
        }, [e.isLoading ? n("div", {staticClass: "xly-viewer__loading"}, [n("i", {staticClass: "xly-icon-loading"}), e._v(" "), n("p", [e._v("加载中...")])]) : e._e(), e._v(" "), n("img", {
            ref: "image",
            style: "cursor:" + e.cursor + ";\n      left:" + e.left + "%;\n      top:" + e.top + "%;\n      width:" + e.showWidth * e.scale + "px;\n      height:" + e.showHeight * e.scale + "px;",
            attrs: {src: e.imgSrc, alt: ""},
            on: {click: e.resume, mousemove: e.onMouseMove, load: e.imgLoaded}
        })]), e._v(" "), n("div", {staticClass: "xly-viewer__footer"}, [n("a", {attrs: {href: "JavaScript:;"}}, [n("i", {
            staticClass: "xly-icon-magnify",
            class: {"is-disabled": e.scale > 4.9},
            on: {click: e.onZoomIn}
        })]), e._v(" "), n("a", {attrs: {href: "JavaScript:;"}}, [n("i", {
            staticClass: "xly-icon-minify",
            class: {"is-disabled": e.scale < .2},
            on: {click: e.onZoomOut}
        })]), e._v(" "), e.isResume ? n("a", {
            attrs: {
                href: "JavaScript:;",
                title: "最佳比例"
            }
        }, [n("i", {
            staticClass: "xly-icon-ratio-optimal",
            on: {click: e.resume}
        })]) : n("a", {attrs: {href: "JavaScript:;", title: "实际大小"}}, [n("i", {
            staticClass: "xly-icon-ratio",
            on: {click: e.resume}
        })])])])
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("td-dialog", {
            attrs: {"custom-class": "xly-dialog-help", visible: e.visible, "footer-enabled": !1},
            on: {
                "update:visible": function (t) {
                    e.visible = t
                }, ok: e.handleCancel, close: e.handleCancel
            }
        }, [n("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("扫码加速流程")]), e._v(" "), n("div", {staticClass: "xly-dialog-help__carousel"}, [n("td-carousel", {
            attrs: {
                "auto-play": !0,
                timeout: 2e3
            }
        }, e._l(3, function (t, i) {
            return n("td-carousel-item", {key: t}, [n("img", {attrs: {src: e.list[i], alt: ""}})])
        }))], 1), e._v(" "), n("div", {staticClass: "xly-dialog-help__rule"}, [n("h3", [e._v("功能详情：")]), e._v(" "), n("ul", [n("li", [e._v("1. 从功能激活日起开始计算，每周一凌晨定量发放三次扫码加速机会；")]), e._v(" "), n("li", [e._v("2. 每周发放加速机会不进行累加，过期清零；")]), e._v(" "), n("li", [e._v("3. 每次加速开启将消耗一次机会，单次享有最高加速流量2G；")]), e._v(" "), n("li", [e._v("4. 本加速功能免费开放，不可与抱团和会员加速（包含试用）同时使用；")])])])])
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this.$createElement, t = this._self._c || e;
        return t("div", {staticStyle: {"z-index": "1000"}}, [t("a", {
            staticClass: "td-dialog__close",
            staticStyle: {position: "fixed", "z-index": "1000"},
            attrs: {href: "javascript:;", title: "关闭"},
            on: {click: this.handleClose}
        }, [t("i", {staticClass: "td-icon-close"})]), this._v(" "), this._m(0)])
    }, r = [function () {
        var e = this.$createElement, t = this._self._c || e;
        return t("div", {
            staticClass: "td-dialog",
            staticStyle: {display: "none"}
        }, [t("div", {staticClass: "td-dialog__header"}), this._v(" "), t("div", {staticClass: "td-dialog__body"})])
    }];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("div", {
            staticClass: "msg-pop-message",
            on: {mouseenter: e.enterWindow, mouseleave: e.leaveWindow}
        }, [n("div", {staticClass: "msg-pop-message__header"}, [n("h2", [e._v("迅雷-最近消息")]), e._v(" "), n("span", [e._v(e._s(e.unreadNumStr))])]), e._v(" "), n("div", {staticClass: "msg-pop-message__list"}, [n("ul", e._l(e.messageList, function (t) {
            return n("li", {
                key: t.group_id, staticClass: "msg-pop-message__item", on: {
                    click: function (n) {
                        e.openUnreadMessage(t)
                    }
                }
            }, [n("td-media", {attrs: {align: "middle"}}, [n("td-avatar", {
                attrs: {slot: "media", src: t.avatar},
                slot: "media"
            }), e._v(" "), n("p", {staticClass: "msg-pop-message__user-name"}, [e._v("\n            " + e._s(t.title) + "\n          ")])], 1), e._v(" "), n("span", {staticClass: "msg-pop-message__number"}, [e._v(e._s(t.unread_num > 99 ? "99+" : t.unread_num))])], 1)
        }))]), e._v(" "), n("div", {staticClass: "msg-pop-message__more"}, [n("a", {
            attrs: {href: "javascript:;"},
            on: {click: e.openAllMessage}
        }, [e._v("查看全部")])])])
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("td-dialog", {
            attrs: {"custom-class": ["xly-dialog-prompt"], "footer-enabled": !0, visible: ""},
            on: {close: e.handleCancel, ok: e.confirm}
        }, [n("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("将迅雷影音设为默认播放器?")]), e._v(" "), n("p", {staticClass: "xly-dialog-prompt__text"}, [e._v("可调整字幕、画面等更多功能")]), e._v(" "), n("div", {
            staticClass: "xly-dialog__footer",
            attrs: {slot: "footer"},
            slot: "footer"
        }, [n("div", {staticClass: "xly-dialog__button"}, [n("td-button", {on: {click: e.confirm}}, [e._v("确定")])], 1)])])
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this.$createElement, t = this._self._c || e;
        return t("td-dialog", {
            attrs: {"custom-class": ["xly-pop-loading"], "footer-enabled": !1, visible: ""},
            on: {close: this.handleCancel}
        }, [t("i", {staticClass: "img-icon-loading"}), this._v(" "), t("p", [this._v("播放器初始化...")])])
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("div", {
            staticClass: "xly-context-menu",
            staticStyle: {
                width: "224px",
                padding: "6px 0",
                "box-shadow": "0 0 10px var(--color-shadow)",
                margin: "10px"
            }
        }, [n("main-menu", {
            attrs: {"is-show-menu": e.isShowMenu, showBrowserIcon: e.showBrowserIcon},
            on: {
                "update:isShowMenu": function (t) {
                    e.isShowMenu = t
                }
            }
        })], 1)
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("td-dialog", {
            attrs: {"custom-class": "xly-dialog-secret", visible: ""}, on: {
                close: function (t) {
                    e.handleClose("close")
                }
            }
        }, [n("h2", {
            attrs: {slot: "header"},
            slot: "header"
        }, [e._v("该文件已加密码，请输入密码后查看")]), e._v(" "), n("div", {staticClass: "xly-dialog-secret__verify"}, [n("label", {staticClass: "td-input"}, [n("span", {staticClass: "td-input__label"}), e._v(" "), n("td-tooltip", {
            staticStyle: {
                display: "flex",
                flex: "1"
            }, attrs: {content: e.tipsText, visible: e.isShowTips, placement: "top"}
        }, [n("input", {
            directives: [{name: "model", rawName: "v-model", value: e.passWord, expression: "passWord"}],
            ref: "pwdInput",
            staticClass: "td-input__inner",
            attrs: {maxlength: "50", placeholder: "请填写密码", type: "password"},
            domProps: {value: e.passWord},
            on: {
                input: function (t) {
                    t.target.composing || (e.passWord = t.target.value)
                }
            }
        })])], 1)]), e._v(" "), n("template", {slot: "footer"}, [n("div", {staticClass: "xly-dialog__footer"}, [n("div", {staticClass: "xly-dialog__button"}, [n("td-button", {
            on: {click: e.handleOK},
            nativeOn: {
                click: function (e) {
                    e.stopPropagation()
                }
            }
        }, [e._v("确定")]), e._v(" "), n("td-button", {
            attrs: {secondary: ""}, on: {
                click: function (t) {
                    e.handleClose("cancel")
                }
            }
        }, [e._v("取消")])], 1)])])], 2)
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, , , , , , , , , , , , , , , function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this.$createElement;
        return (this._self._c || e)(this.item.type, {
            tag: "component",
            style: this.item.styles,
            attrs: {item: this.item, label: this.item.label, formData: this.formData, value: this.value},
            on: {input: this.handleInput}
        })
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("select-window", {
            attrs: {
                editable: "",
                value: e.value,
                placeholder: "请选择下载目录",
                appendDirs: e.appendDirs,
                enablePrivateSpace: e.enablePrivateSpace,
                enableDelete: e.enableDelete,
                checked: !1,
                dropOwner: "logic",
                panel: ""
            }, on: {input: e.handleInput}, nativeOn: {
                contextmenu: function (t) {
                    return e.handleContextMenu(t)
                }
            }
        }, [n("span", {
            staticClass: "xlx-file-size",
            class: e.spaceColor,
            attrs: {slot: "suffix"},
            slot: "suffix"
        }, [e._v(e._s(e.freeSpaceFormat))]), e._v(" "), n("a", {
            staticClass: "xly-select__file",
            attrs: {slot: "suffix", href: "javascript:;"},
            on: {click: e.handleChangePath},
            slot: "suffix"
        }, [n("i", {staticClass: "xly-icon-file"})])])
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("div", {staticClass: "xlx-skin-try"}, [n("div", {staticClass: "xlx-skin-try__mod"}, [n("div", {staticClass: "xlx-skin-try__imgbox"}, [n("img", {attrs: {src: e.guideSrc}})]), e._v(" "), n("p", {staticClass: "xlx-skin-try__tit"}, [e._v(e._s(e.tryTitle))]), e._v(" "), n("p", {staticClass: "xlx-skin-try__desc"}, [e._v("更有下载加速、网游加速、免费观影等多项特权")]), e._v(" "), n("a", {
            class: e.openBtnClass,
            attrs: {href: "javascript:;"},
            on: {click: e.onClickOpenVip}
        }, [e._v(e._s(e.tryBtnText))]), e._v(" "), n("a", {
            staticClass: "xlx-skin-close",
            attrs: {href: "javascript:;", title: "关闭"},
            on: {click: e.closeCover}
        })])])
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("div", [n("div", {staticClass: "xlx-skin-color"}, [n("ul", e._l(e.colorList.slice(1), function (t, i) {
            return n("li", {
                key: t.id,
                staticClass: "xlx-skin-color__item",
                class: {"is-chosen": e.isChosen(e.skinType.Color, t)},
                style: {background: "rgb(" + t.colors.colorPreview + ")"},
                on: {
                    click: function (n) {
                        e.setSkinInfo(e.skinType.Color, t, i)
                    }
                }
            })
        }))]), e._v(" "), n("div", {staticClass: "xlx-skin-picture"}, [n("ul", [n("li", {
            staticClass: "xlx-skin-picture__item",
            class: {"is-chosen": e.isChosen(e.skinType.Default)},
            style: {backgroundImage: "url(" + e.defaultPreview + ")"},
            on: {
                click: function (t) {
                    e.setSkinInfo(e.skinType.Default, null, 0)
                }
            }
        }, [n("p", {staticClass: "xlx-skin-picture__name"}, [e._v("默认皮肤")])]), e._v(" "), e._l(e.wallpapers, function (t, i) {
            return n("li", {
                key: t.id,
                staticClass: "xlx-skin-picture__item",
                class: {"is-chosen": e.isChosen(e.skinType.Wallpaper, t)},
                style: {backgroundImage: "url('" + t.preview + "')"},
                on: {
                    click: function (n) {
                        e.setSkinInfo(e.skinType.Wallpaper, t, i + 11)
                    }
                }
            }, [n("p", {staticClass: "xlx-skin-picture__name"}, [e._v(e._s(t.name))]), e._v(" "), n("div", {staticClass: "xlx-skin__tag-wrapper"}, [t.is_vip ? n("span", {staticClass: "xlx-skin__tag xlx-skin__tag--vip"}, [e._v("会员")]) : e._e(), e._v(" "), t.is_dynamic ? n("span", {staticClass: "xlx-skin__tag"}, [e._v("动态")]) : e._e(), e._v(" "), t.is_4k ? n("span", {staticClass: "xlx-skin__tag"}, [e._v("4K")]) : e._e()]), e._v(" "), t.showNew ? n("i", {staticClass: "xlx-skin__new"}) : e._e()])
        })], 2)]), e._v(" "), n("td-dialog", {
            staticStyle: {"z-index": "1000"},
            attrs: {"custom-class": "xlx-dialog-skin-popup", visible: e.updateDialogVisible},
            on: {
                "update:visible": function (t) {
                    e.updateDialogVisible = t
                }
            }
        }, [n("span", {staticClass: "xlx-image-update"}), e._v(" "), n("p", {staticClass: "xlx-dialog-skin-popup__text-1"}, [e._v("升级新版客户端，体验动态皮肤")]), e._v(" "), n("p", {staticClass: "xlx-dialog-skin-popup__text-2"}, [e._v("还有私人空间、迅雷社区20多项新功能")]), e._v(" "), n("td-button", {
            attrs: {slot: "footer"},
            on: {click: e.updateApp},
            slot: "footer"
        }, [e._v("马上升级")])], 1), e._v(" "), n("td-dialog", {
            staticStyle: {"z-index": "1000"},
            attrs: {"custom-class": "xlx-dialog-skin-popup", visible: e.vipDialogVisible},
            on: {
                "update:visible": function (t) {
                    e.vipDialogVisible = t
                }, close: function (t) {
                    e.$emit("restore-skin")
                }
            }
        }, [n("span", {staticClass: "xlx-image-vip"}), e._v(" "), n("p", {staticClass: "xlx-dialog-skin-popup__text-1"}, [e._v("开通迅雷会员尊享品质皮肤")]), e._v(" "), n("p", {staticClass: "xlx-dialog-skin-popup__text-2"}, [e._v("更有会员加速、离线空间等30多项特权")]), e._v(" "), n("template", {slot: "footer"}, [n("td-button", {
            staticClass: "xlx-button--vip",
            on: {click: e.openVip}
        }, [e._v("开通会员")]), e._v(" "), e.isLogined ? e._e() : n("a", {
            staticClass: "xlx-dialog-skin__link",
            attrs: {href: "javascript:;"},
            on: {
                click: function (t) {
                    e.showloginDlg("vipDialog")
                }
            }
        }, [e._v("会员登录")])], 1)], 2), e._v(" "), n("div", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: e.loginLayerVisible,
                expression: "loginLayerVisible"
            }], staticClass: "xlx-skin-cover", staticStyle: {position: "fixed"}
        }, [n("div", {
            staticClass: "xlx-skin__chosen",
            style: {background: "rgb(" + e.sget(e.colorItem, "colors", "colorPreview") + ")"}
        }, [e.skinInfo.type === e.skinType.Color ? n("span", {staticClass: "xlx-image-color"}) : e.skinInfo.type === e.skinType.Wallpaper ? n("img", {
            attrs: {
                src: e.sget(e.wallpaper, "preview"),
                alt: e.sget(e.wallpaper, "name")
            }
        }) : e._e()]), e._v(" "), n("h3", [e._v("登录后即可使用该皮肤哦！")]), e._v(" "), n("td-button", {
            on: {
                click: function (t) {
                    e.showloginDlg("loginLayer")
                }
            }
        }, [e._v("立即登录")]), e._v(" "), n("a", {
            staticClass: "xlx-skin-cover__close",
            attrs: {href: "javascript:;", title: "关闭"},
            on: {click: e.closeLoginLayer}
        }, [n("td-icon", {attrs: {type: "close"}})], 1)], 1)], 1)
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this.$createElement;
        return (this._self._c || e)("div", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: !1,
                expression: "false"
            }]
        })
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("div", [n("ul", {staticClass: "xly-context-menu__main xly-context-menu__main--primary"}, [e.showBrowserIcon ? n("li", {
            staticClass: "xly-context-menu__item",
            on: {}
        }, [e._m(0)]) : e._e(), e._v(" "), n("li", {
            staticClass: "xly-context-menu__item",
            on: {}
        }, [e._m(1)]), e._v(" "), n("li", {staticClass: "xly-context-menu__item"}, [n("div", {
            staticClass: "xly-context-menu__content",
            on: {click: e.clickSetting}
        }, [n("i", {staticClass: "xly-icon-menu-setting"}), e._v(" "), n("span", {staticClass: "xly-context-menu__text"}, [e._v("设置")])])])]), e._v(" "), n("ul", {staticClass: "xly-context-menu__main"}, [n("li", {
            staticClass: "xly-context-menu__item",
            on: {click: e.clickNewTask}
        }, [e._m(2)]), e._v(" "), n("li", {
            staticClass: "xly-context-menu__item",
            on: {click: e.clickUnfinished}
        }, [e._m(3)]), e._v(" "), n("li", {staticClass: "xly-context-menu__item is-separate"}, [n("div", {staticClass: "xly-context-menu__content"}, [-1 !== e.downloadCompleteTaskType ? n("i", {staticClass: "xly-icon-menu-chosen"}) : e._e(), e._v(" "), n("span", {staticClass: "xly-context-menu__text"}, [e._v("下载完成后"), n("b", [e._v(e._s(e.scheduleText))])]), e._v(" "), n("i", {staticClass: "xly-icon-menu-more"})]), e._v(" "), n("ul", {staticClass: "xly-context-menu__children"}, [n("li", {
            staticClass: "xly-context-menu__item",
            on: {
                click: function (t) {
                    e.clickSchedutleTask(0)
                }
            }
        }, [n("div", {staticClass: "xly-context-menu__content"}, [0 === e.downloadCompleteTaskType ? n("i", {staticClass: "xly-icon-menu-chosen"}) : e._e(), e._v(" "), n("span", {staticClass: "xly-context-menu__text"}, [e._v("关机")])])]), e._v(" "), n("li", {
            staticClass: "xly-context-menu__item",
            on: {
                click: function (t) {
                    e.clickSchedutleTask(1)
                }
            }
        }, [n("div", {staticClass: "xly-context-menu__content"}, [1 === e.downloadCompleteTaskType ? n("i", {staticClass: "xly-icon-menu-chosen"}) : e._e(), e._v(" "), n("span", {staticClass: "xly-context-menu__text"}, [e._v("睡眠")])])]), e._v(" "), n("li", {
            staticClass: "xly-context-menu__item",
            on: {
                click: function (t) {
                    e.clickSchedutleTask(2)
                }
            }
        }, [n("div", {staticClass: "xly-context-menu__content"}, [2 === e.downloadCompleteTaskType ? n("i", {staticClass: "xly-icon-menu-chosen"}) : e._e(), e._v(" "), n("span", {staticClass: "xly-context-menu__text"}, [e._v("退出")])])])])]), e._v(" "), n("li", {
            staticClass: "xly-context-menu__item",
            on: {}
        }, [e._m(4)]), e._v(" "), n("li", {
            staticClass: "xly-context-menu__item",
            on: {}
        }, [e._m(5)]), e._v(" "), n("li", {
            staticClass: "xly-context-menu__item",
            on: {}
        }, [e._m(6)]), e._v(" "), n("li", {staticClass: "xly-context-menu__item is-separate"}, [e._m(7), e._v(" "), n("ul", {staticClass: "xly-context-menu__children is-top"}, [n("li", {
            staticClass: "xly-context-menu__item",
            on: {click: e.clickAboutThunder}
        }, [e._m(8)]), e._v(" "), n("li", {
            staticClass: "xly-context-menu__item",
            on: {}
        }, [e._m(9)]), e._v(" "), n("li", {
            staticClass: "xly-context-menu__item",
            on: {}
        }, [e._m(10)]), e._v(" "), n("li", {
            staticClass: "xly-context-menu__item",
            on: {}
        }, [e._m(11)])])]), e._v(" "), n("li", {
            staticClass: "xly-context-menu__item",
            on: {click: e.clickQuit}
        }, [e._m(12)])])])
    }, r = [function () {
        var e = this.$createElement, t = this._self._c || e;
        return t()
    }, function () {
        var e = this.$createElement, t = this._self._c || e;
        return t()
    }, function () {
        var e = this.$createElement, t = this._self._c || e;
        return t("div", {staticClass: "xly-context-menu__content"}, [t("span", {staticClass: "xly-context-menu__text"}, [this._v("新建下载(N)")])])
    }, function () {
        var e = this.$createElement, t = this._self._c || e;
        return t("div", {staticClass: "xly-context-menu__content"}, [t("span", {staticClass: "xly-context-menu__text"}, [this._v("导入未完成下载")])])
    }, function () {
        var e = this.$createElement, t = this._self._c || e;
        return t()
    }, function () {
        var e = this.$createElement, t = this._self._c || e;
        return t()
    }, function () {
        var e = this.$createElement, t = this._self._c || e;
        return t()
    }, function () {
        var e = this.$createElement, t = this._self._c || e;
        return t("div", {staticClass: "xly-context-menu__content"}, [t("span", {staticClass: "xly-context-menu__text"}, [this._v("更多")]), this._v(" "), t("i", {staticClass: "xly-icon-menu-more"})])
    }, function () {
        var e = this.$createElement, t = this._self._c || e;
        return t("div", {staticClass: "xly-context-menu__content"}, [t("span", {staticClass: "xly-context-menu__text"}, [this._v("关于迅雷")])])
    }, function () {
        var e = this.$createElement, t = this._self._c || e;
        return t()
    }, function () {
        var e = this.$createElement, t = this._self._c || e;
        return t()
    }, function () {
        var e = this.$createElement, t = this._self._c || e;
        return t()
    }, function () {
        var e = this.$createElement, t = this._self._c || e;
        return t("div", {staticClass: "xly-context-menu__content"}, [t("span", {staticClass: "xly-context-menu__text"}, [this._v("退出(X)")])])
    }];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, , , , , , , , function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("div", {class: e.item.outerClass}, [n("td-checkbox", {
            attrs: {value: !(0 == e.formData[e.item.name].value)},
            on: {input: e.handleInput}
        }, [e._v("\n    " + e._s(e.item.label) + "\n  ")]), e._v(" "), e._l(e.item.extEles, function (t) {
            return [n(t.type, {
                key: t.name,
                tag: "component",
                attrs: {
                    item: t,
                    classes: t.classes,
                    text: t.text,
                    formData: e.formData,
                    name: t.name,
                    disabled: !e.formData[e.item.name].value,
                    value: e.formData[t.name]
                },
                on: {input: e.handleInput}
            })]
        }), e._v(" "), e.item.tip ? n("p", {class: e.item.tipClass}, [e._v("\n    " + e._s(e.item.tip) + "\n  ")]) : e._e()], 2)
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("div", {class: e.item.outerClass}, [e.item.listEles ? [e._l(e.item.listEles, function (t) {
            return [n("td-button", {
                key: t.name,
                class: e.classes || t.classes,
                style: t.style || "",
                attrs: {disabled: e.disabled || t.bindName && !e.formData[t.bindName].value},
                on: {
                    click: function (n) {
                        e.popDialog(t)
                    }
                }
            }, [e._v(e._s(e.text || t.text))])]
        })] : [n("td-button", {
            class: e.classes || e.item.classes,
            style: e.item.style || "",
            attrs: {disabled: e.disabled || e.item.bindName && !e.formData[e.item.bindName].value},
            on: {
                click: function (t) {
                    e.popDialog(e.item)
                }
            }
        }, [e._v(e._s(e.text || e.item.text))])], e._v(" "), e._l(e.item.extEles, function (t) {
            return [n(t.type, {
                key: t.name,
                tag: "component",
                class: t.classes,
                style: t.style || "",
                attrs: {item: t, text: t.text, formData: e.formData}
            })]
        })], 2)
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("div", {class: e.item.classes}, [n("p", [e._v("\n    限速时间段：\n    " + e._s(e.standardNumber(e.formData["ConfigNet-ConfigNet_Custom_Time_Begin_Hour"].value)) + ":\n    " + e._s(e.standardNumber(e.formData["ConfigNet-ConfigNet_Custom_Time_Begin_Minute"].value)) + "-" + e._s(e.standardNumber(e.formData["ConfigNet-ConfigNet_Custom_Time_End_Hour"].value)) + ":\n    " + e._s(e.standardNumber(e.formData["ConfigNet-ConfigNet_Custom_Time_End_Minute"].value)) + " \n    最大下载速度: " + e._s(e.maxDownloadSpeed) + "   \n    最大上传速度: " + e._s(e.maxUploadSpeed) + "\n  ")])])
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("div", {
            class: e.item.outerClass,
            style: e.item.style
        }, ["" !== e.label ? n("span", [e._v(e._s(e.label))]) : e._e(), e._v(" "), n("td-tooltip", {
            attrs: {
                content: e.tipContent,
                visible: e.tooltipVisible,
                placement: "top"
            }
        }, [n("select-native", {
            ref: "root",
            class: e.classes || e.item.classes,
            attrs: {
                value: e.valueData,
                options: e.optionList || e.item.option,
                placeholder: e.placeHolder || e.formData[e.item.name].value + "",
                editable: e.item.editable,
                disabled: e.disabled
            },
            on: {input: e.validate, blur: e.handleOutFocus, "choose-file": e.selectPath}
        }, ["openFile" === e.item.slotOption || "openDirectory" === e.item.slotOption || "openThunderPan" === e.item.slotOption ? n("a", {
            staticClass: "xly-select__file",
            attrs: {slot: "suffix", href: "javascript:;"},
            on: {
                click: function (t) {
                    e.handleChangePath(e.item.slotOption)
                }
            },
            slot: "suffix"
        }, [n("i", {staticClass: "xly-icon-file"})]) : e._e()])], 1)], 1)
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("div", {
            class: e.item.outClasses,
            style: e.item.style
        }, [n("td-tooltip", {
            attrs: {
                content: e.item.toolTipsContent || "",
                visible: e.tooltipVisible,
                placement: "top"
            }
        }, [n("td-input", {
            ref: "input",
            class: e.item.classes,
            attrs: {
                label: e.label || e.item.label,
                value: e.valueData,
                placeholder: e.item.placeholder,
                disabled: e.disabled
            },
            on: {
                input: e.validate,
                change: e.handleChange,
                keydown: e.handleKeyDown,
                keyup: e.handleKeyup,
                blur: e.outFocus
            }
        })], 1), e._v(" "), e._l(e.item.extEles, function (t) {
            return [n(t.type, {
                key: t.name,
                tag: "component",
                attrs: {
                    item: t,
                    classes: t.classes,
                    text: t.text,
                    formData: e.formData,
                    disabled: e.disabled || !e.formData[e.item.name].value,
                    value: e.formData[t.name]
                },
                on: {input: e.handleInput}
            })]
        })], 2)
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("p", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: !e.item.isReleventUser || e.item.isReleventUser && "" !== e.userId,
                expression: "!item.isReleventUser || (item.isReleventUser && userId !== '')"
            }], class: e.clas, style: e.item.style || ""
        }, [e._v("\n   " + e._s(e.textContent) + "\n   "), e.item.tip ? n("span", {class: e.item.tipClass}, [e._v(e._s(e.item.tip))]) : e._e()])
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("div", {class: e.item.outerClass}, [n("ul", {class: e.item.ulClasses}, e._l(e.item.option, function (t, i) {
            return n("li", {
                directives: [{
                    name: "show",
                    rawName: "v-show",
                    value: !e.item.isReleventUser || e.item.isReleventUser && "" !== e.userId,
                    expression: "!item.isReleventUser || (item.isReleventUser && userId !== '')"
                }], key: i, class: e.item.classes
            }, [n("td-radio", {
                attrs: {
                    name: e.item.key,
                    value: "" + e.formData[e.item.name].value,
                    label: t,
                    disabled: e.item.disableds && e.item.disableds[i]
                }, on: {input: e.handleInput}
            }, [e._v(e._s(e.item.labels[i] || e.lable))]), e._v(" "), e.item.extEles ? n(e.item.extEles[i].type, {
                tag: "component",
                attrs: {
                    text: e.item.extEles[i].text,
                    item: e.item.extEles[i],
                    label: e.item.extEles[i] && e.item.extEles[i].label,
                    classes: e.item.extEles[i].classes,
                    disabled: e.formData[e.item.name].value !== e.item.extActiveValue,
                    name: e.item.extEles[i].name,
                    value: e.formData[e.item.extEles[i].name],
                    formData: e.formData
                },
                on: {input: e.handleInput}
            }) : e._e()], 1)
        })), e._v(" "), e.item.tip ? n("p", {class: e.item.tipClass}, [e._v(e._s(e.item.tip))]) : e._e()])
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("div", [n("td-checkbox", {
            attrs: {value: !(0 == e.formData[e.item.name].value)},
            on: {input: e.handleInput}
        }, [e._v("\n    " + e._s(e.item.label) + "\n  ")]), e._v(" "), e._l(e.item.extEles, function (t, i) {
            return e.item.extEles ? n(t.type, {
                key: i,
                tag: "component",
                attrs: {
                    formData: e.formData,
                    placeHolder: e.formData[t.name] && e.formData[t.name].value,
                    item: t,
                    value: e.formData[t.name],
                    disabled: !(e.formData[e.item.name] && e.formData[e.item.name].value),
                    name: t.name,
                    label: t.label,
                    classes: t.classes,
                    text: t.text
                },
                on: {input: e.handleInput}
            }) : e._e()
        })], 2)
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("div", {class: e.item.classes}, [n("td-checkbox", {
            attrs: {value: !(0 == e.formData[e.item.name].value)},
            on: {input: e.handleInput}
        }, [e._v("\n    " + e._s(e.item.label) + "\n  ")]), e._v(" "), e._l(e.item.extEles, function (t, i) {
            return e.item.extEles ? n(t.type, {
                key: i,
                tag: "component",
                attrs: {
                    formData: e.formData,
                    item: t,
                    placeHolder: e.formData[t.name] && e.formData[t.name].value,
                    disabled: !e.formData[e.item.name].value
                },
                on: {input: e.handleInput}
            }) : e._e()
        })], 2)
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this.$createElement, t = this._self._c || e;
        return t("div", {class: this.item.outerClass}, [t("label", {staticClass: "td-textarea"}, [t("textarea", {
            staticClass: "td-textarea__inner",
            class: this.item.classes,
            attrs: {placeholder: this.item.placeholder},
            domProps: {value: this.formData[this.item.name].value},
            on: {change: this.handleChange}
        })])])
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("div", {staticClass: "xly-setting-content__part"}, [n("p", {staticClass: "xly-setting-content__text"}, [e._v("代理管理")]), e._v(" "), n("div", {staticClass: "td-table td-table--border"}, [e._m(0), e._v(" "), n("div", {staticClass: "td-table__body-wrapper"}, [n("div", {staticClass: "td-table__panel"}, [n("table", {staticClass: "td-table__body"}, [e._m(1), e._v(" "), n("tbody", e._l(e.proxyList, function (t, i) {
            return t.name && t.name.length > 0 ? n("tr", {
                key: i,
                class: {"is-chosen": t === e.selectedItem},
                on: {
                    click: function (n) {
                        e.selectedItem = t
                    }
                }
            }, [n("td", [n("p", {staticClass: "td-table__text"}, [e._v(e._s(t.name))])]), e._v(" "), n("td", [n("p", {staticClass: "td-table__text"}, [e._v(e._s(t.host))])]), e._v(" "), n("td", [n("p", {staticClass: "td-table__text"}, [e._v(e._s(t.port))])]), e._v(" "), n("td", [n("p", {staticClass: "td-table__text"}, [e._v(e._s(t.type))])])]) : e._e()
        }))])])])]), e._v(" "), n("div", {staticClass: "xly-setting-content__button"}, [n("div", {staticClass: "botton-wrap"}, [n("a", {
            staticClass: "td-button td-button--small",
            attrs: {href: "javascript:;"},
            on: {click: e.handleAddProxy}
        }, [e._v("添加")]), e._v(" "), n("a", {
            staticClass: "td-button td-button--other td-button--small",
            class: {"is-disabled": null === e.selectedItem},
            attrs: {href: "javascript:;"},
            on: {click: e.handleModifyProxy}
        }, [e._v("修改")]), e._v(" "), n("a", {
            staticClass: "td-button td-button--other td-button--small",
            class: {"is-disabled": null === e.selectedItem},
            attrs: {href: "javascript:;"},
            on: {click: e.handleDeleteProxy}
        }, [e._v("删除")])]), e._v(" "), n("div", {staticClass: "botton-wrap"}, [n("a", {
            staticClass: "td-button td-button--other td-button--small",
            class: {"is-disabled": null === e.selectedItem},
            attrs: {href: "javascript:;"},
            on: {click: e.handleApplyProxy}
        }, [e._v("应用代理")])])])])
    }, r = [function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("div", {staticClass: "td-table__header-wrapper"}, [n("table", {staticClass: "td-table__header"}, [n("colgroup", [n("col", {staticClass: "xly-setting__column-1"}), e._v(" "), n("col", {
            staticClass: "xly-setting__column-2",
            attrs: {width: "126"}
        }), e._v(" "), n("col", {
            staticClass: "xly-setting__column-3",
            attrs: {width: "116"}
        }), e._v(" "), n("col", {attrs: {width: "90"}})]), e._v(" "), n("thead", [n("tr", [n("th", [n("p", {staticClass: "td-table__text"}, [e._v("名称")])]), e._v(" "), n("th", [n("p", {staticClass: "td-table__text"}, [e._v("服务器")])]), e._v(" "), n("th", [n("p", {staticClass: "td-table__text"}, [e._v("端口")])]), e._v(" "), n("th", [n("p", {staticClass: "td-table__text"}, [e._v("类型")])])])])])])
    }, function () {
        var e = this.$createElement, t = this._self._c || e;
        return t("colgroup", [t("col", {staticClass: "xly-setting__column-1"}), this._v(" "), t("col", {
            staticClass: "xly-setting__column-2",
            attrs: {width: "126"}
        }), this._v(" "), t("col", {
            staticClass: "xly-setting__column-3",
            attrs: {width: "116"}
        }), this._v(" "), t("col", {attrs: {width: "90"}})])
    }];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, , , , function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this.$createElement;
        return (this._self._c || e)("i", {class: this.classes, attrs: {title: this.text}})
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("div", {class: e.item.outerClass}, [n("td-slider", {
            attrs: {
                value: e.sliderValue,
                marks: e.item.marks,
                scales: e.item.scales,
                disabled: e.disabled
            }, on: {input: e.handleSliderUpdate}
        }), e._v(" "), n("div", {staticClass: "xlx-dialog-setting__speed-input"}, [n("td-input", {
            ref: "input",
            staticClass: "xlx-setting__input-3",
            attrs: {value: e.value.value, disabled: e.disabled},
            on: {input: e.handleInput, blur: e.handleBlur}
        }), e._v(" "), n("popup", {
            ref: "tooltip",
            staticClass: "td-tooltip",
            attrs: {direction: "top", display: e.tooltipVisible, padding: 10},
            on: {
                "update:display": function (t) {
                    e.tooltipVisible = t
                }
            }
        }, [n("p", {staticClass: "td-tooltip__inner"}, [e._v(e._s(e.tooltip))])]), e._v(" "), n("span", {staticClass: "xlx-setting__text"}, [e._v("KB/s")])], 1)], 1)
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("div", {staticClass: "xlx-dialog-setting__speed-time"}, [n("ul", e._l(e.data, function (t) {
            return n("li", {
                key: t.label,
                staticClass: "xlx-dialog-setting__item"
            }, [n("span", {staticClass: "xlx-dialog-setting__text"}, [e._v(e._s(t.label))]), e._v(" "), e._l(t.options, function (t) {
                return n("div", {
                    key: t.index,
                    staticClass: "xlx-dialog-setting__option"
                }, [n("select-native", {
                    staticClass: "xlx-select-size-1",
                    attrs: {
                        value: e.value[t.index].value.toString(),
                        options: "hour" === t.type ? e.hours : e.minutes,
                        disabled: e.disabled,
                        useNative: !1
                    },
                    on: {
                        input: function (n) {
                            return e.handleInput(n, t.index)
                        }
                    }
                }), e._v(" "), n("span", {staticClass: "xlx-dialog-setting__text"}, [e._v(e._s("hour" === t.type ? "时" : "分"))])], 1)
            })], 2)
        }))])
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, function (e, t, n) {
    "use strict";
    var i = function () {
        var e = this, t = e.$createElement, n = e._self._c || t;
        return n("div", {class: e.item.outerClass}, [n("ul", {class: e.item.ulClasses}, e._l(e.item.extEles, function (t, i) {
            return n("li", {key: i, class: e.item.classes}, [t ? n(t.type, {
                tag: "component",
                attrs: {
                    text: t.text,
                    item: t,
                    label: t && t.label,
                    classes: t.classes,
                    disabled: e.disabled,
                    name: t.name,
                    value: e.formData[t.name],
                    formData: e.formData
                },
                on: {input: e.handleInput}
            }) : e._e()], 1)
        })), e._v(" "), e.item.tip ? n("p", {class: e.item.tipClass}, [e._v(e._s(e.item.tip))]) : e._e()])
    }, r = [];
    i._withStripped = !0, n.d(t, "a", function () {
        return i
    }), n.d(t, "b", function () {
        return r
    })
}, , , , , , , , , , , , function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(646), r = n(328);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\common\\generator-view\\conf-component\\conf-speed-text.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    var i = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(549), o = n(43);
    !function (e) {
        let t, n;
        !function (e) {
            e[e.None = 0] = "None", e[e.Sock5 = 1] = "Sock5", e[e.Http = 2] = "Http"
        }(t = e.ProxyType || (e.ProxyType = {})), function (e) {
            e[e.Sucess = 0] = "Sucess", e[e.Fall = 1] = "Fall", e[e.AuthFall = 2] = "AuthFall", e[e.ConnectFall = 3] = "ConnectFall", e[e.Timeout = 4] = "Timeout", e[e.ParamError = 5] = "ParamError"
        }(n = e.ProxyVerifyResult || (e.ProxyVerifyResult = {})), e.verifyProxy = function (e, t, s, a, l) {
            return i(this, void 0, void 0, function* () {
                return new Promise(i => {
                    o.NativeCallModule.nativeCall.CallNativeFunction("VerifyProxy", e, t, s, a, l, (e, t) => {
                        e === r.NativeFunctionErrorCode.Success ? i(t) : i(n.Fall)
                    })
                })
            })
        }, e.setProxy = function (e, t, n, s, a) {
            return i(this, void 0, void 0, function* () {
                return new Promise(i => {
                    o.NativeCallModule.nativeCall.CallNativeFunction("SetProxy", e, t, n, s, a, (e, t) => {
                        e === r.NativeFunctionErrorCode.Success ? i(t) : i(1)
                    })
                })
            })
        }
    }(t.ProxyNS || (t.ProxyNS = {}))
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0}), function (e) {
        let t;
        !function (e) {
            e[e.Default = 0] = "Default", e[e.Color = 1] = "Color", e[e.Wallpaper = 2] = "Wallpaper", e[e.Custom = 3] = "Custom", e[e.Cool = 4] = "Cool"
        }(t = e.SkinType || (e.SkinType = {})), e.defaultSkinInfo = {type: t.Default, colorID: 0, classes: ""}
    }(t.SkinHelperNS || (t.SkinHelperNS = {}))
}, function (e, t, n) {
    "use strict";
    var i = n(6), r = n(844), o = n(14), s = n(845), a = n(231), l = n(677), c = n(849);
    t.probe = function (e, t) {
        var n = t || {}, u = s.defer(), d = null, h = o.platform(), f = l.createBuilder(h);
        d = r.spawn(l.getExecutablePath(h), f.getResult(e, n));
        var p = c.createParser(h);
        d.once("error", function () {
            var e = new Error(i.format("ping.probe: %s. %s", "there was an error while executing the ping program. ", "Check the path or permissions..."));
            u.reject(e)
        });
        var A = [];
        return d.stdout.on("data", function (e) {
            A.push(String(e))
        }), d.once("close", function () {
            var e = A.join("").split("\n");
            a.each(e, p.eat, p);
            var t = p.getResult();
            u.resolve(t)
        }), u.promise
    }
}, function (e, t, n) {
    "use strict";
    var i = n(231), r = n(6), o = n(846), s = n(847), a = n(848);

    function l() {
    }

    l.isLinux = function (e) {
        return ["aix", "linux"].indexOf(e) >= 0
    }, l.isMacOS = function (e) {
        return ["darwin", "freebsd"].indexOf(e) >= 0
    }, l.isWindow = function (e) {
        return e && null !== e.match(/^win/)
    }, l.isPlatformSupport = function (e) {
        return i.some([this.isWindow(e), this.isLinux(e), this.isMacOS(e)])
    }, l.getExecutablePath = function (e) {
        if (!this.isPlatformSupport(e)) throw new Error(r.format("Platform |%s| is not support", e));
        var t = null;
        return "aix" === e ? t = "/usr/sbin/ping" : l.isLinux(e) ? t = "/bin/ping" : l.isWindow(e) ? t = process.env.SystemRoot + "/system32/ping.exe" : l.isMacOS(e) && (t = "/sbin/ping"), t
    }, l.createBuilder = function (e) {
        if (!this.isPlatformSupport(e)) throw new Error(r.format("Platform |%s| is not support", e));
        var t = null;
        return l.isLinux(e) ? t = o : l.isWindow(e) ? t = a : l.isMacOS(e) && (t = s), t
    }, e.exports = l
}, function (e, t, n) {
    "use strict";
    var i = n(6), r = n(231), o = n(554);

    function s() {
        o.call(this)
    }

    i.inherits(s, o), s.prototype._processHeader = function (e) {
        var t = e.split(" ");
        this._response.host = t[1], this._response.numeric_host = t[2].slice(1, -2), this._changeState(this.STATES.BODY)
    }, s.prototype._processBody = function (e) {
        if ((e.match(/=/g) || []).length >= 3) {
            var t = /([0-9\.]+)[ ]*ms/.exec(e);
            this._times.push(parseFloat(t[1], 10))
        }
        e.indexOf("---") >= 0 && this._changeState(this.STATES.FOOTER)
    }, s.prototype._processFooter = function (e) {
        if ((e.match(/[\/]/g) || []).length >= 3) {
            var t = /([0-9\.]+)/g, n = t.exec(e), i = t.exec(e), o = t.exec(e), s = t.exec(e);
            r.all([n, i, o, s]) && (this._response.min = parseFloat(n[1], 10), this._response.avg = parseFloat(i[1], 10), this._response.max = parseFloat(o[1], 10), this._response.stddev = parseFloat(s[1], 10), this._changeState(this.STATES.END)), this._changeState(this.STATES.END)
        }
    }, e.exports = s
}, function (e, t, n) {
    "use strict";
    var i = n(1151);
    n.n(i).a
}, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , function (e, t, n) {
    n(49), e.exports = n(774)
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const i = n(39);
    i.CommonIPCRenderer.rendererCommunicator.initialize("messageBoxRendererContext"), i.CommonIPCRenderer.rendererCommunicator.connect();
    let r = n(37).parse(location.href, !0).query.boxId;
    n(4).client.start({name: `messageBoxRendererContext${r}`});
    const o = n(52), s = n(31), a = n(775), l = n(176);
    n(61), n(85);
    const c = n(62);
    n(64);
    const u = n(1).default.getLogger("MessageBoxRenderer"), d = n(545);
    o.PerformanceMonitorStatNS.init("message-box-renderer"), s.default.use(l.default), s.default.use(d), new s.default({
        components: {App: a.default},
        render: e => e("app")
    }).$mount("#app"), c.ThunderToolsNS.enableDevTools({mode: "undocked"}).catch(e => {
        u.warning(e)
    }), c.ThunderToolsNS.enableDragOpenFile()
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(559), r = n(312);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    n(897), n(232), n(184), n(679), n(898), n(899), n(900), n(546), n(901), n(902), n(903), n(904), n(905), n(906), n(907), n(908), n(909), n(910), n(911), n(912), n(913), n(914), n(915), n(916), n(917), n(918), n(919);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\app.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(571), r = n(314);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    n(777);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\about.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    var i = n(1113);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(572), r = n(316);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\confirm.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(573), r = n(318);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\message-box.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(631), r = n(320);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    n(794);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, "69ad46c4", null);
    a.options.__file = "src\\common\\generator-view\\generator-view.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(644), r = n(322);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\common\\generator-view\\conf-component\\conf-checkbox.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    var i = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(12), o = n(783), s = n(29), a = n(30);

    function l(e) {
        a.information("on object freeer"), global.__xdasIPCServerInstance.notifyFreer(e.client, e.callbackId)
    }

    let c = void 0;
    global.__xdasIPCServerInstance || (global.__xdasIPCServerInstance = new class extends r.EventEmitter {
        constructor() {
            super(), this.rid = 0, this.apis = {}, this.eventMap = {}, this.clientAliasMap = {}, this.retCallbackMap = {}, this.contextCallbackMap = {}, this.singleton = !1
        }

        registerFunctions(e) {
            do {
                if (!e) break;
                let t = void 0;
                for (let n in e) if (this.apis.hasOwnProperty(n)) {
                    t = n;
                    break
                }
                if (t) throw new Error(`try to coverd function ${t}`);
                this.apis = Object.assign({}, this.apis, e)
            } while (0)
        }

        start(e, t) {
            if (this.singleton) throw new Error("try to start server duplicate");
            this.singleton = !0, this.server = new o.Server, global.__xdasIPCServer = this.server, this.server.listen(void 0, t), e && this.registerFunctions(e), this.server.on("connect", e => {
                this.emit("connect", e)
            }), this.server.on("message", (e, t) => {
                do {
                    if ("attach_event" === e.action) {
                        this.attachEvent(e.name, t);
                        break
                    }
                    if ("detach_event" === e.action) {
                        this.detachEvent(e.name, t);
                        break
                    }
                    if ("broadcast" === e.action) {
                        if (e.__context && e.__context.name === s.serverContextName) throw new Error("client context must difference from server");
                        this.forwardEvent(e.name, e.__context, e.timestamp, ...e.args);
                        break
                    }
                    if ("call_remote_client_api" === e.action) {
                        this.callClientFunction(e, t);
                        break
                    }
                    if ("call_remote_context_by_id" === e.action) {
                        if (e.dst && this.clientAliasMap.hasOwnProperty(e.dst)) {
                            let t = this.clientAliasMap[e.dst];
                            t && this.callClientFunctionById(t, e.rid, ...e.args)
                        }
                        break
                    }
                    if ("call_client_by_id_callback" === e.action) {
                        this.fireRetCallback(e, t);
                        break
                    }
                    if ("check_client_function_callback" === e.action) {
                        this.fireRetCallback(e, t);
                        break
                    }
                    if ("remote_client_callback" === e.action) {
                        this.reply2Client(e, t);
                        break
                    }
                    if ("check_client_function_exist" === e.action) {
                        this.internalCheckClientFunction(e.dst, e.method).then(n => {
                            let i = this.getNow();
                            this.sendAdapter(t, {
                                success: !0,
                                rid: e.rid,
                                method: e.method,
                                data: n,
                                timestamp: e.timestamp ? e.timestamp.concat(i) : [].concat(i)
                            })
                        });
                        break
                    }
                    let n = this.getNow(), i = {
                        success: !1,
                        rid: e.rid,
                        method: e.method,
                        timestamp: e.timestamp ? e.timestamp.concat(n) : [].concat(n)
                    }, r = e.method;
                    do {
                        if ("register" === e.action) {
                            this.registerAlias(e, t, i), this.sendAdapter(t, i);
                            break
                        }
                        if ("client_context_freer" === e.action) {
                            if (e.dst && this.clientAliasMap.hasOwnProperty(e.dst)) {
                                let t = this.clientAliasMap[e.dst];
                                this.notifyFreer(t, e.rid)
                            }
                            break
                        }
                        if ("check_server_function_exist" === e.action) {
                            i.success = !0, i.data = !(!this.apis || !this.apis[r]), this.sendAdapter(t, i);
                            break
                        }
                        if ("check_client_exist" === e.action) {
                            i.success = !0, i.data = !1, e.dst && this.clientAliasMap.hasOwnProperty(e.dst) && (i.data = !0), this.sendAdapter(t, i);
                            break
                        }
                        if (!r) break;
                        if (!this.apis || !this.apis[r]) {
                            i.error = `${e.__context} try to call method '${r}' which is undefined`, this.sendAdapter(t, i);
                            break
                        }
                        let n = void 0, o = this.decodeParameter(e.args, t);
                        try {
                            n = this.apis[r].apply(null, [t, e.__context].concat(o))
                        } catch (e) {
                            i.error = e.message, this.sendAdapter(t, i);
                            break
                        }
                        if (n && n.then) {
                            n.then(e => {
                                i.data = e, i.success = !0, this.sendAdapter(t, i)
                            }).catch(e => {
                                i.error = e instanceof Error ? e.message : e, this.sendAdapter(t, i)
                            });
                            break
                        }
                        i.success = !0, i.data = n, this.sendAdapter(t, i)
                    } while (0)
                } while (0)
            }), this.server.on("end", e => {
                this.emit("end", e), this.clearClientInfo(e)
            }), this.server.on("error", (e, t) => {
                a.information("server error", t, t && t.code), t && "EPIPE" === t.code && this.clearClientInfo(e)
            })
        }

        fireClientEvent(e, ...t) {
            this.forwardEvent(e, {name: s.serverContextName}, void 0, ...t)
        }

        callClientFunctionById(e, t, ...n) {
            this.sendAdapter(e, {action: "call_client_by_id", rid: t, args: n})
        }

        callClientFunctionByIdAw(e, t, ...n) {
            return new Promise((i, r) => {
                {
                    let r = this.generateId(), o = (e, t) => {
                        i(e ? [null, e] : [t])
                    }, s = {s_rid: r, action: "call_client_by_id", rid: t, args: n};
                    this.retCallbackMap[r] = Object.assign({callback: o}, s), this.sendAdapter(e, s)
                }
            })
        }

        checkClientFunction(e, t) {
            return "string" == typeof e && (e = this.getFullAlias(e)), this.internalCheckClientFunction(e, t)
        }

        callClientFunctionByName(e, t, ...n) {
            return new Promise((i, r) => {
                do {
                    if (!e) {
                        i([null, null]);
                        break
                    }
                    let r = void 0;
                    if ("string" == typeof e) {
                        if (e = this.getFullAlias(e), !this.clientAliasMap.hasOwnProperty(e)) {
                            i([null, null]);
                            break
                        }
                        r = this.clientAliasMap[e]
                    } else r = e;
                    if (!r) {
                        i([null, null]);
                        break
                    }
                    let o = this.generateId(), a = (e, t, n) => {
                        i(e ? [null, n, e] : [t, n])
                    };
                    if (n) for (let e = 0; e < n.length; e++) n[e] = this.convertFunction2Id(n[e]);
                    let l = {s_rid: o, action: "call_client_api", args: n, src: s.serverContextName, method: t};
                    this.retCallbackMap[o] = Object.assign({callback: a}, l), this.sendAdapter(r, l)
                } while (0)
            })
        }

        isRemoteClientExist(e) {
            let t = !1;
            return this.clientAliasMap.hasOwnProperty(this.getFullAlias(e)) && (t = !0), t
        }

        getRemoteClient(e, t) {
            let n = null;
            do {
                if (!e) break;
                t || (t = this.server.getProductId());
                let i = `${t}-${e}`.toLowerCase();
                n = this.clientAliasMap[i]
            } while (0);
            return n
        }

        internalCheckClientFunction(e, t) {
            return i(this, void 0, void 0, function* () {
                return new Promise((n, i) => {
                    do {
                        if (!e) {
                            n(!1);
                            break
                        }
                        let i = void 0;
                        if ("string" == typeof e) {
                            if (!this.clientAliasMap.hasOwnProperty(e)) {
                                n(!1);
                                break
                            }
                            i = this.clientAliasMap[e]
                        } else i = e;
                        if (!i) {
                            n(!1);
                            break
                        }
                        let r = this.generateId(), o = (e, t) => {
                            n(!e && t)
                        }, s = {s_rid: r, action: "check_client_function", method: t};
                        this.retCallbackMap[r] = Object.assign({callback: o}, s), this.sendAdapter(i, s)
                    } while (0)
                })
            })
        }

        convertFunction2Id(e) {
            let t = e;
            if ("function" == typeof e) {
                let n = this.generateId();
                this.contextCallbackMap[n] = e, t = n
            } else if (e && "object" == typeof e) for (let t in e) {
                let n = e[t];
                if ("function" == typeof n) {
                    let i = this.generateId();
                    this.contextCallbackMap[i] = n, e[t] = i
                } else n && "object" == typeof n && (e[t] = this.convertFunction2Id(n))
            }
            return t
        }

        clearClientInfo(e) {
            for (let t in this.clientAliasMap) this.clientAliasMap[t] === e && delete this.clientAliasMap[t];
            for (let t in this.eventMap) this.detachEvent(t, e);
            for (let t in this.retCallbackMap) {
                let n = this.retCallbackMap[t];
                if (n.dstRemote === e) {
                    let e = {
                        rid: n.rid,
                        method: n.method,
                        error: "client has been ended by the other party",
                        action: "remote_client_callback",
                        success: !1
                    };
                    a.information("client has been ended by other party, but still has return callback", e), this.sendAdapter(n.remote, e), delete this.retCallbackMap[t]
                }
            }
        }

        registerAlias(e, t, n) {
            do {
                if (!e) break;
                if (!e.alias) {
                    n.error = "register alias can not be empty";
                    break
                }
                if (this.clientAliasMap.hasOwnProperty(e.alias)) {
                    if (this.clientAliasMap[e.alias] === t) {
                        n.data = e.alias, n.success = !0;
                        break
                    }
                    n.error = "register failed cause alias is in use";
                    break
                }
                {
                    let i = void 0;
                    for (let e in this.clientAliasMap) if (this.clientAliasMap[e] === t) {
                        i = e;
                        break
                    }
                    if (i) {
                        n.data = i, n.error = `register failed cause already register by another alias ${i}`;
                        break
                    }
                    this.clientAliasMap[e.alias] = t, n.data = e.alias, n.success = !0;
                    break
                }
            } while (0)
        }

        callClientFunction(e, t) {
            do {
                if (!e) break;
                let n = e.dst, i = {rid: e.rid, method: e.method};
                if (!this.clientAliasMap.hasOwnProperty(n)) {
                    let r = `call remote function but dst client is not start or ended ${n}, method ${e.method}`;
                    a.error(r), i.error = r, i.action = "remote_client_callback", i.success = !1, this.sendAdapter(t, i);
                    break
                }
                let r = this.generateId(), o = this.clientAliasMap[n];
                i = Object.assign({
                    s_rid: r,
                    action: "call_client_api",
                    args: e.args,
                    src: e.src
                }, i), this.retCallbackMap[r] = Object.assign({remote: t, dstRemote: o}, i), this.sendAdapter(o, i)
            } while (0)
        }

        fireRetCallback(e, t) {
            do {
                let n = e.s_rid;
                if (void 0 === n || null === n) break;
                let i = this.retCallbackMap[n];
                if (!i) break;
                const r = i.callback;
                if (!r) break;
                e.success ? r(null, this.decodeParameter(e.data, t)) : r(e.error, e.data), delete this.retCallbackMap[n], a.information("free fireRetCallback", n)
            } while (0)
        }

        decodeParameter(e, t) {
            let n = e;
            do {
                if (!e) break;
                if ("object" != typeof e) break;
                let r = e["__nodeipc_callback_id__{A9C9D760-14E8-42CB-A3CB-9C0A0DDFD732}"];
                if (r) {
                    n = ((...e) => i(this, void 0, void 0, function* () {
                        return this.callClientFunctionByIdAw(t, r, ...e)
                    })), global.__xdasObjectLiftMonitor && global.__xdasObjectLiftMonitor.setObjectFreer(n, {
                        client: t,
                        callbackId: r
                    }, l);
                    break
                }
                for (let n in e) {
                    let i = e[n];
                    e[n] = this.decodeParameter(i, t)
                }
            } while (0);
            return n
        }

        notifyFreer(e, t) {
            this.sendAdapter(e, {action: "client_context_freer", rid: t})
        }

        reply2Client(e, t) {
            do {
                let n = e.s_rid;
                if (void 0 === n || null === n) break;
                let i = this.retCallbackMap[n];
                if (!i) break;
                if (e.src === s.serverContextName) {
                    const n = i.callback;
                    if (!n) break;
                    e.success ? n(null, this.decodeParameter(e.data, t), t) : n(e.error, e.data, t)
                } else {
                    let t = i.remote;
                    if (!t) break;
                    this.sendAdapter(t, e)
                }
                delete this.retCallbackMap[n]
            } while (0)
        }

        getNow() {
            return Date.now()
        }

        sendAdapter(e, t) {
            let n = this.getNow();
            t.timestamp = t.timestamp ? t.timestamp.concat(n) : [].concat(n), e.isInprocess() ? (a.information("send to client in process"), e.emit("message", t)) : e.send(t)
        }

        forwardEvent(e, t, n, ...i) {
            do {
                if (!this.eventMap.hasOwnProperty(e)) break;
                let r = this.eventMap[e];
                for (let o of r) this.sendAdapter(o, {
                    action: "fire_event",
                    name: e,
                    args: i,
                    __context: t,
                    timestamp: n
                })
            } while (0)
        }

        attachEvent(e, t) {
            {
                this.eventMap[e] || (this.eventMap[e] = []);
                let n = this.eventMap[e], i = !1;
                for (let r of n) if (r === t) {
                    a.information("server attachEvent attached", e), i = !0;
                    break
                }
                i || (this.eventMap[e].push(t), a.information("server attachEvent ", e))
            }
        }

        detachEvent(e, t) {
            do {
                if (!this.eventMap.hasOwnProperty(e)) break;
                let n = this.eventMap[e];
                for (let i = 0; i < n.length; i++) if (n[i] === t) {
                    this.eventMap[e].splice(i, 1), a.information("server detachEvent current eventMap", this.eventMap);
                    break
                }
            } while (0)
        }

        generateId() {
            return this.rid++
        }

        getFullAlias(e) {
            return `${this.server.getProductId()}-${e}`.toLowerCase()
        }
    }), c = global.__xdasIPCServerInstance, t.server = c
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const i = n(21), r = n(33), o = n(12), s = n(784), a = n(29);
    t.Server = class extends o.EventEmitter {
        constructor() {
            super(), this.server = r.createServer(e => this.handleConnection(e)), this.productId = ""
        }

        getProductId() {
            return this.productId
        }

        listen(e, t) {
            let n = a.getSockPath(t);
            this.productId = t || a.getDefaultPrex(), i.existsSync(n) && i.unlinkSync(n), this.server.listen({
                path: n,
                readableAll: !0,
                writableAll: !0
            }, e)
        }

        handleConnection(e) {
            const t = new s.Client({socket: e});
            t.on("message", e => {
                this.handleRequest(e, t)
            }), t.on("end", () => {
                this.emit("end", t)
            }), t.on("error", e => {
                this.emit("error", t, e)
            }), this.emit("connect", t)
        }

        handleRequest(e, t) {
            this.emit("message", e, t)
        }
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0});
    const i = n(33), r = n(12), o = n(30), s = n(47), a = n(29);
    t.Client = class extends r.EventEmitter {
        constructor(e) {
            if (e = e || {}, super(), this.inprocess = !1, this.context = void 0, e.context && (this.context = Object.assign({}, e.context), this.context.productId = e.socketPrex), e.socket) this.socket = e.socket, this.bind(); else if (global.__xdasIPCServer && global.__xdasIPCServer.getProductId().toLowerCase() === e.socketPrex.toLowerCase()) this.inprocess = !0; else {
                let t = a.getSockPath(e.socketPrex);
                this.socket = i.connect(t), this.bind()
            }
        }

        isInprocess() {
            return this.inprocess
        }

        getContext() {
            return this.context
        }

        bind() {
            const e = new s.Parser, t = this.socket;
            t.on("data", t => {
                e.feed(t)
            }), t.on("connect", () => {
                this.emit("connect")
            }), t.on("end", () => {
                o.information("socket is ended"), this.socket = null, this.emit("end")
            }), t.on("error", e => {
                this.socket = null, this.emit("error", e)
            }), e.on("message", e => {
                this.emit("message", e)
            }), this.parser = e
        }

        send(e) {
            if (this.socket) try {
                this.socket.write(this.parser.encode(e))
            } catch (e) {
                o.error(e.message)
            } else o.information("This socket has been ended by the other party", this.context && this.context.name)
        }
    }
}, function (e, t, n) {
    "use strict";
    var i = n(1115);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(659), r = n(334);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\common\\generator-view\\conf-component\\conf-speed.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(660), r = n(336);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\common\\generator-view\\conf-component\\conf-speed-time.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(650), r = n(340);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\common\\generator-view\\conf-component\\conf-radio.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(661), r = n(342);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\common\\generator-view\\conf-component\\conf-container.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(651), r = n(344);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\common\\generator-view\\conf-component\\conf-checkinput.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(652), r = n(346);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\common\\generator-view\\conf-component\\conf-checkselect.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(653), r = n(348);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\common\\generator-view\\conf-component\\conf-textarea.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(654), r = n(350);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\common\\generator-view\\conf-component\\conf-proxy-list.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    var i = n(1117);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(574), r = n(352);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\plan-task.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(575), r = n(354);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\task-rename.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(576), r = n(356);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\bt-repeat-task.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(577), r = n(358);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\bt-repeat-file.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(578), r = n(360);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\private-space-set-password.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(579), r = n(362);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\private-space-verify-password.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(580), r = n(364);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    n(802);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\private-space-phone-verify.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    var i = n(1119);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(581), r = n(366);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\private-space-download-setting.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(632), r = n(368);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\common\\views\\path-selector.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(582), r = n(370);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\private-space-task-manager.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(583), r = n(372);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\multi-repeat-task.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(584), r = n(374);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\batch-new-task-ctrl.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(585), r = n(376);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\book-marks.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(586), r = n(378);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\book-list.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(587), r = n(380);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\subtitle-task-filelist.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(588), r = n(382);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\subtitle-search.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(589), r = n(384);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\browser-config-guide.vue", t.default = a.exports
}, function (e, t) {
    e.exports = "data:image/png;base64, "
}, function (e, t) {
    e.exports = "../imgs/browser-02--dialog.png"
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(590), r = n(386);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\xmp-fix.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(591), r = n(388);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\xmp-fix-ex.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(592), r = n(390);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    n(818);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\bird-key-show.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    var i = n(1123);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(593), r = n(392);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    n(820), n(821);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\total-tabs.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    var i = n(1125);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    var i = n(1129);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(594), r = n(394);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\individuation\\index.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(633), r = n(396);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\individuation\\panel-try-cover.vue", t.default = a.exports
}, function (e, t) {
    e.exports = "data:image/png;base64, "
}, function (e, t) {
    e.exports = "data:image/png;base64, "
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(634), r = n(398);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\individuation\\pane-skin-featured.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {value: !0}), function (e) {
        e.colorList = [{
            id: 0,
            nativeTheme: {
                colors: {
                    menu_background_color: 16777215,
                    menu_item_background_color: 15132390,
                    menu_text_color: 5066061,
                    menu_text_disable_color: 7501692,
                    menu_exit_text_color: 16743263
                }, themeSource: "light"
            }
        }, {
            id: 1,
            themeSource: "dark",
            nativeTheme: {
                colors: {
                    menu_background_color: 3355443,
                    menu_item_background_color: 4276545,
                    menu_text_color: 15132390,
                    menu_text_disable_color: 7501692,
                    menu_exit_text_color: 15132390
                }, themeSource: "dark"
            }
        }, {
            id: 2,
            themeSource: "light",
            nativeTheme: {
                colors: {
                    menu_background_color: 16777215,
                    menu_item_background_color: 15132390,
                    menu_text_color: 5066061,
                    menu_text_disable_color: 7501692,
                    menu_exit_text_color: 16743263
                }, themeSource: "light"
            }
        }]
    }(t.SkinConfigNS || (t.SkinConfigNS = {}))
}, function (e, t, n) {
    "use strict";
    var i = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(40), o = n(19), s = n(1), a = n(16), l = n(20), c = n(4);
    let {isDef: u} = a.ThunderUtil;
    const d = s.default.getLogger("WallpaperManager");
    t.default = new class {
        constructor() {
            this.wallpapersURL = "https://api-xl9-ssl.xunlei.com/sl/xlppc.personalizedcenter.api/api/xskin/list", this.testPapersURL = "http://test.api-shoulei-ssl.xunlei.com/xlppc.personalizedcenter.api/api/xskin/list"
        }

        getWallpapers() {
            return i(this, void 0, void 0, function* () {
                do {
                    o.default.defaults.adapter = n(17);
                    let e = 1 === (yield c.client.callServerFunction("GetValue", "ConfigFetchInterface", "TestServer", 0)) ? this.testPapersURL : this.wallpapersURL;
                    try {
                        let t = yield o.default.get(e, {params: {page: 0, per_page: 30}});
                        if (200 === t.status && "ok" === t.data.result) {
                            this.wallpapers = t.data.list;
                            try {
                                localStorage.setItem("wallpapers", JSON.stringify(this.wallpapers))
                            } catch (e) {
                                d.warning(e)
                            }
                            break
                        }
                    } catch (e) {
                        d.warning(e)
                    }
                    if (u(this.wallpapers)) break;
                    try {
                        this.wallpapers = JSON.parse(localStorage.getItem("wallpapers"))
                    } catch (e) {
                        d.warning(e)
                    }
                } while (0);
                let e = this.wallpapers || [], t = yield this.getSpringFestivalWallpaper();
                return t && (e = [...e, t]), e
            })
        }

        getCoolWallpapers() {
            return i(this, void 0, void 0, function* () {
                do {
                    o.default.defaults.adapter = n(17);
                    let e = "https://static-xl.a.88cdn.com/json/thunderx_superskins_skins.json";
                    try {
                        let t = new r.Agent({rejectUnauthorized: !1}),
                            n = yield o.default.get(e, {timeout: 1e4, httpsAgent: t});
                        if (200 === n.status && n.data) {
                            this.coolWallpapers = n.data;
                            try {
                                d.information("get cool wallpapers", this.coolWallpapers), localStorage.setItem("coolWallpapers", JSON.stringify(this.coolWallpapers))
                            } catch (e) {
                                d.warning(e)
                            }
                            break
                        }
                    } catch (e) {
                        d.warning(e)
                    }
                    if (u(this.coolWallpapers)) break;
                    try {
                        this.coolWallpapers = JSON.parse(localStorage.getItem("coolWallpapers"))
                    } catch (e) {
                        d.warning(e)
                    }
                } while (0);
                return this.coolWallpapers || []
            })
        }

        getCoolShakes() {
            return i(this, void 0, void 0, function* () {
                do {
                    o.default.defaults.adapter = n(17);
                    let e = "https://static-xl.a.88cdn.com/json/thunderx_superskins_effects.json";
                    try {
                        let t = new r.Agent({rejectUnauthorized: !1}),
                            n = yield o.default.get(e, {timeout: 1e4, httpsAgent: t});
                        if (200 === n.status && n.data) {
                            this.coolShakes = n.data;
                            try {
                                d.information("get cool wallpapers", this.coolShakes), localStorage.setItem("coolShakes", JSON.stringify(this.coolShakes))
                            } catch (e) {
                                d.warning(e)
                            }
                            break
                        }
                    } catch (e) {
                        d.warning(e)
                    }
                    if (u(this.coolShakes)) break;
                    try {
                        this.coolShakes = JSON.parse(localStorage.getItem("coolShakes"))
                    } catch (e) {
                        d.warning(e)
                    }
                } while (0);
                return this.coolShakes || []
            })
        }

        removeImage(e) {
            return i(this, void 0, void 0, function* () {
                let t = `${__profilesDir}/skins/${e.id}`;
                return l.FileSystemAWNS.rmdirsAW(t)
            })
        }

        getImage(e) {
            return i(this, void 0, void 0, function* () {
                let t = `${__profilesDir}/skins/${e.id}/wallpaper.jpg`;
                return (yield l.FileSystemAWNS.existsAW(t)) ? (this.updateImage(e).catch(e => {
                    d.information("update skin preview error", e)
                }), t) : (yield this.updateImage(e), t)
            })
        }

        updateImage(e) {
            return i(this, void 0, void 0, function* () {
                o.default.defaults.adapter = n(17);
                try {
                    let t = yield o.default.get(e.skin_link, {responseType: "arraybuffer"});
                    if (u(t) && 200 === t.status && u(t.data) && (yield l.FileSystemAWNS.mkdirAW(`${__profilesDir}/skins`), yield l.FileSystemAWNS.writeFileAW(`${__profilesDir}/skins/${e.id}.zip`, t.data))) {
                        const {UnzipUtilitiesAWNS: t} = yield Promise.resolve().then(() => n(829));
                        yield t.uncompressZipFile(`${__profilesDir}/skins/${e.id}/`, `${__profilesDir}/skins/${e.id}.zip`)
                    }
                } catch (e) {
                    d.warning(e)
                }
            })
        }

        getShakeRes(e) {
            return i(this, void 0, void 0, function* () {
                let t = `${__profilesDir}/shake-skins/${e.id}/wallpaper.jpg`;
                return (yield l.FileSystemAWNS.existsAW(t)) ? (this.updateShakeRes(e).catch(), t) : (yield this.updateShakeRes(e), t)
            })
        }

        updateShakeRes(e) {
            return i(this, void 0, void 0, function* () {
                o.default.defaults.adapter = n(17);
                try {
                    let t = yield o.default.get(e.skin_link, {responseType: "arraybuffer"});
                    u(t) && 200 === t.status && u(t.data) && (yield l.FileSystemAWNS.mkdirAW(`${__profilesDir}/shake-skins`), yield l.FileSystemAWNS.mkdirAW(`${__profilesDir}/shake-skins/${e.id}`), yield l.FileSystemAWNS.writeFileAW(`${__profilesDir}/shake-skins/${e.id}/wallpaper.jpg`, t.data))
                } catch (e) {
                    d.warning(e)
                }
            })
        }

        getSpringFestivalWallpaper() {
            return i(this, void 0, void 0, function* () {
                let e = null;
                try {
                    let t = null;
                    try {
                        t = JSON.parse(localStorage.getItem("springFestivalSkinData"))
                    } catch (e) {
                        d.warning(e)
                    }
                    t && "on" === t.skinsiwtch && (e = {
                        id: 9999,
                        operator: "",
                        manual_order: 0,
                        name: "春节皮肤",
                        is_vip: !1,
                        is_dynamic: !1,
                        preview: t.skin_thumb,
                        skin_link: t.skin_link,
                        artist: "",
                        color: 11,
                        is_4k: !1,
                        transparency: 80,
                        created_at: 1546599635159,
                        updated_at: 1546654241407,
                        showNew: !1
                    })
                } catch (e) {
                }
                return e
            })
        }
    }
}, function (e, t, n) {
    "use strict";
    var i = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(2), o = n(8).default(r.join(__rootDir, "../bin/ThunderHelper.node"));
    !function (e) {
        e.uncompressZipFile = function (e, t) {
            return i(this, void 0, void 0, function* () {
                return new Promise(n => {
                    o.asyncUnZipFile(t, e, e => {
                        n(e)
                    })
                })
            })
        }
    }(t.UnzipUtilitiesAWNS || (t.UnzipUtilitiesAWNS = {}))
}, function (e, t) {
    e.exports = "data:image/png;base64, "
}, function (e, t) {
    e.exports = "data:image/png;base64, "
}, function (e, t) {
    e.exports = "data:image/png;base64, "
}, function (e, t) {
    e.exports = "data:image/png;base64, "
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(595), r = n(400);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\add-proxy.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(596), r = n(402);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    n(836);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\bird-key-pwdcheck.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    var i = n(1137);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(597), r = n(404);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\shoulei-qrcode.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(598), r = n(406);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\download-data.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(599), r = n(408);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    n(853);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\download-detect-tools.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    var i = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(2), o = n(1), s = n(8), a = n(33), l = n(841), c = n(842), u = n(6).promisify, d = n(165), h = n(4),
        f = n(11), p = n(20), A = s.default(r.join(__rootDir, "../bin/ThunderHelper.node")),
        v = o.default.getLogger("download-detect-tools");
    !function (e) {
        let t, o, s, g, m, C;
        !function (e) {
            e[e.AF_INET = 2] = "AF_INET", e[e.AF_INET6 = 23] = "AF_INET6"
        }(t = e.AfType || (e.AfType = {})), function (e) {
            e[e.IF_TYPE_SOFTWARE_LOOPBACK = 24] = "IF_TYPE_SOFTWARE_LOOPBACK"
        }(o = e.IfType || (e.IfType = {})), function (e) {
            e[e.IfOperStatusUp = 1] = "IfOperStatusUp", e[e.IfOperStatusDown = 2] = "IfOperStatusDown", e[e.IfOperStatusTesting = 3] = "IfOperStatusTesting", e[e.IfOperStatusUnknown = 4] = "IfOperStatusUnknown", e[e.IfOperStatusDormant = 5] = "IfOperStatusDormant", e[e.IfOperStatusNotPresent = 6] = "IfOperStatusNotPresent", e[e.IfOperStatusLowerLayerDown = 7] = "IfOperStatusLowerLayerDown"
        }(s = e.IfOperStatus || (e.IfOperStatus = {})), function (e) {
            e[e.None = 0] = "None", e[e.Started = 1] = "Started", e[e.Success = 2] = "Success", e[e.Failed = 3] = "Failed"
        }(g = e.DetectState || (e.DetectState = {})), function (e) {
            e[e.IndexServer = 0] = "IndexServer", e[e.BTIndexServer = 1] = "BTIndexServer", e[e.EMuleIndexServer = 2] = "EMuleIndexServer", e[e.MirrorSource = 3] = "MirrorSource", e[e.TorrentServer = 4] = "TorrentServer", e[e.P2PServer = 5] = "P2PServer", e[e.PingServer = 6] = "PingServer", e[e.NATServer = 7] = "NATServer", e[e.AccountLogin = 8] = "AccountLogin", e[e.VipDownload = 9] = "VipDownload", e[e.UPNPState = 10] = "UPNPState", e[e.DHTState = 11] = "DHTState", e[e.IPv6Support = 12] = "IPv6Support", e[e.HostsTamper = 13] = "HostsTamper"
        }(m = e.DetectItemType || (e.DetectItemType = {})), function (e) {
            e.Start = "Start", e.StartItem = "StartItem", e.StatusChange = "StatusChange", e.FinishItem = "FinishItem", e.Finish = "Finish"
        }(C = e.DetectEvent || (e.DetectEvent = {}));
        const y = new class extends d.default {
            constructor() {
                super(), this.detectingItems = null, this.localIPInfo = null, this.currentDetectingIndex = void 0, this.adapterInfos = null, this.statCookie = -1, this.detectingItems = [{
                    type: m.IndexServer,
                    name: "普通任务信息",
                    state: g.None,
                    detectDesc: "正在扫描...",
                    detail: "使用迅雷下载“HTTP、FTP”协议的下载链接时，需要查询下载链接对应的文件信息。\n          如果此项失败，您将无法加速下载“HTTP、FTP”协议的下载链接。\n          通常该问题与您的网络环境有关，您可以联系客服协助您解决问题。",
                    expand: !1,
                    showExpand: !1,
                    detect: this.detectIndexServer.bind(this)
                }, {
                    type: m.BTIndexServer,
                    name: "BT任务信息",
                    state: g.None,
                    detectDesc: "正在扫描...",
                    detail: "使用迅雷下载BT任务时，需要查询BT任务对应的文件信息。\n          如果此项失败，您将无法加速下载BT任务。\n          通常该问题与您的网络环境有关，您可以联系客服协助您解决问题。",
                    expand: !1,
                    showExpand: !1,
                    detect: this.detectBTIndexServer.bind(this)
                }, {
                    type: m.TorrentServer,
                    name: "磁力任务信息",
                    state: g.None,
                    detectDesc: "正在扫描...",
                    detail: "使用迅雷下载磁力链接时，需要查询磁力链接对应的BT种子信息。\n          如果此项失败，您将无法下载磁力链接。\n          通常该问题与您的网络环境有关，您可以联系客服协助您解决问题。",
                    expand: !1,
                    showExpand: !1,
                    detect: this.detectTorrentServer.bind(this)
                }, {
                    type: m.EMuleIndexServer,
                    name: "eMule任务信息",
                    state: g.None,
                    detectDesc: "正在扫描...",
                    detail: "使用迅雷下载“ed2k”协议的下载链接时，需要查询下载链接对应的文件信息。\n          如果此项失败，您将无法加速下载eMule任务。\n          通常该问题与您的网络环境有关，您可以联系客服协助您解决问题。",
                    expand: !1,
                    showExpand: !1,
                    detect: this.detectEMuleIndexServer.bind(this)
                }, {
                    type: m.MirrorSource,
                    name: "主机镜像资源服务",
                    state: g.None,
                    detectDesc: "正在扫描...",
                    detail: "使用迅雷下载任意任务时，需要通过该服务查询主机镜像资源。\n          如果此项失败，您下载任意任务时，都无法获得主机镜像资源加速。\n          通常该问题与您的网络环境有关，您可以联系客服协助您解决问题。",
                    expand: !1,
                    showExpand: !1,
                    detect: this.detectMirrorSource.bind(this)
                }, {
                    type: m.P2PServer,
                    name: "节点镜像资源服务",
                    state: g.None,
                    detectDesc: "正在扫描...",
                    detail: "使用迅雷下载任意任务时，需要通过该服务查询节点镜像资源。\n          如果此项失败，您下载任意任务时，都无法获得节点镜像资源加速。\n          通常该问题与您的网络环境有关，您可以联系客服协助您解决问题。",
                    expand: !1,
                    showExpand: !1,
                    detect: this.detectP2PServer.bind(this)
                }, {
                    type: m.PingServer,
                    name: "连通检测服务",
                    state: g.None,
                    detectDesc: "正在扫描...",
                    detail: "使用迅雷下载任意任务时，需要通过该服务检测各个镜像资源的连通性，从而提升镜像资源连通率，理论上可以更快获得加速效果。\n          如果此项失败，您下载任意任务时，下载加速效果提升较为缓慢。\n          通常该问题与您的网络环境有关，您可以联系客服协助您解决问题。",
                    expand: !1,
                    showExpand: !1,
                    detect: this.detectPingServer.bind(this)
                }, {
                    type: m.NATServer,
                    name: "网络感知服务",
                    state: g.None,
                    detectDesc: "正在扫描...",
                    detail: "使用迅雷下载任意任务时，需要通过该服务感知您与节点镜像资源之间的网络连接结构，从而提升节点镜像资源连通率，理论上可以获得更快的下载速度。\n          如果此项失败，您下载任意任务时，下载加速效果较差。\n          通常该问题与您的网络环境有关，您可以联系客服协助您解决问题。",
                    expand: !1,
                    showExpand: !1,
                    detect: this.detectNATServer.bind(this)
                }, {
                    type: m.AccountLogin,
                    name: "帐号登录服务",
                    state: g.None,
                    detectDesc: "正在扫描...",
                    detail: "使用迅雷登录帐号时，需要通过该服务获取您的帐号信息。\n          如果此项失败，您将无法登录迅雷帐号。\n          通常该问题与您的网络环境有关，您可以联系客服协助您解决问题。",
                    expand: !1,
                    showExpand: !1,
                    detect: this.detectAccountLogin.bind(this)
                }, {
                    type: m.VipDownload,
                    name: "会员加速服务",
                    state: g.None,
                    detectDesc: "正在扫描...",
                    detail: "使用迅雷会员加速下载任意任务时，需要通过该服务查询会员加速资源，从而获得会员加速效果。\n          如果此项失败，您下载任意任务时，都无法获得会员加速效果。\n          通常该问题与您的网络环境有关，您可以联系客服协助您解决问题。",
                    expand: !1,
                    showExpand: !1,
                    detect: this.detectVipDownload.bind(this)
                }, {
                    type: m.UPNPState,
                    name: "UPnP状态",
                    state: g.None,
                    detectDesc: "正在扫描...",
                    detail: "迅雷能够利用路由器的UPnP功能进行端口映射，从而提升镜像资源的连通率，理论上可以获得更快的下载速度。\n          如果您没有使用路由器，这项失败可以忽略。\n          如果您使用路由器，并且此项失败，请您登录路由器的管理页面，开启“UPnP”功能。",
                    expand: !1,
                    showExpand: !1,
                    detect: this.detectUPNPState.bind(this)
                }, {
                    type: m.DHTState,
                    name: "DHT状态",
                    state: g.None,
                    detectDesc: "正在扫描...",
                    detail: "使用迅雷下载BT任务时，需要通过DHT网络获取更多镜像资源，理论上可以获得更快的下载速度。\n          如果此项失败，您下载BT任务时，下载加速效果可能略受影响。\n          但是如果“BT任务信息、节点镜像资源服务”正常，则该失败可以忽略。",
                    expand: !1,
                    showExpand: !1,
                    detect: this.detectDHTState.bind(this)
                }, {
                    type: m.IPv6Support,
                    name: "IPv6支持",
                    state: g.None,
                    detectDesc: "正在扫描...",
                    detail: "迅雷现已支持IPv6互联网协议，通过该协议迅雷可以更快速可靠的连接镜像资源，从而提升镜像资源连通率，理论上可以获得更快的下载速度。\n          如果此项失败，可能是由于您的路由器或网络运营商暂未支持IPv6互联网协议，不过该项失败并不会影响您的正常下载。",
                    expand: !1,
                    showExpand: !1,
                    detect: this.detectIPv6Support.bind(this)
                }, {
                    type: m.HostsTamper,
                    name: "Hosts文件",
                    state: g.None,
                    detectDesc: "正在扫描...",
                    detail: "被篡改的Hosts文件可能会将迅雷相关域名指向错误的IP地址，从而造成“下载失败、下载缓慢、无法加速、登录失败”等严重问题。如果此项失败，您可以联系客服协助您解决问题",
                    expand: !1,
                    showExpand: !1,
                    detect: this.detectHostsTamper.bind(this)
                }]
            }

            dnsLookupAW(e) {
                return i(this, void 0, void 0, function* () {
                    let t = null;
                    const n = u(l.lookup);
                    try {
                        t = yield n(e, 4)
                    } catch (t) {
                        v.warning("dnsLookup IPv4 failed! hostName", e, "e", t)
                    }
                    return t
                })
            }

            tcpConnectAW(e, t, n = 4) {
                return i(this, void 0, void 0, function* () {
                    return new Promise(r => i(this, void 0, void 0, function* () {
                        let i = new a.Socket;
                        try {
                            i.on("connect", () => {
                                r(!0), i.end()
                            }), i.on("error", n => {
                                v.warning("tcpConnectAW error! host", e, "port", t, n), r(!1), i.end()
                            }), i.on("timeout", () => {
                                v.warning("tcpConnectAW timeout! host", e, "port", t), r(!1), i.end()
                            }), i.connect({port: t, host: e, family: n})
                        } catch (n) {
                            v.warning("tcpConnect failed! host", e, "port", t, n), r(!1)
                        }
                    }))
                })
            }

            detectTcpConnect(e, t, n = 80) {
                return i(this, void 0, void 0, function* () {
                    let i = !1;
                    do {
                        this.setDetectDesc((-1 !== e.name.indexOf("服务") ? "开始连接" : "开始查询") + e.name);
                        let r = yield this.dnsLookupAW(t);
                        if (!r) {
                            this.setDetectDesc("域名解析失败", "域名解析失败");
                            break
                        }
                        this.setDetectDesc("域名解析成功");
                        let o = (new Date).getTime();
                        if (yield this.tcpConnectAW(r.address, n)) {
                            let t = (new Date).getTime() - o;
                            this.setDetectDesc(e.name + (-1 !== e.name.indexOf("服务") ? "连接" : "查询") + "成功（耗时：" + t + "毫秒）"), i = !0
                        } else this.setDetectDesc(e.name + (-1 !== e.name.indexOf("服务") ? "连接" : "查询") + "失败", "tcp连接失败（" + r.address + ":" + n + "）")
                    } while (0);
                    return i
                })
            }

            setDetectDesc(e, t) {
                if (void 0 !== this.currentDetectingIndex) {
                    let n = this.detectingItems[this.currentDetectingIndex];
                    n.detectDesc = e, n.statResult = t, this.fireEvent(C.StatusChange, n, e)
                }
            }

            detectIndexServer(e) {
                return i(this, void 0, void 0, function* () {
                    return this.detectTcpConnect(e, "hub5idx.v6.shub.sandai.net")
                })
            }

            detectBTIndexServer(e) {
                return i(this, void 0, void 0, function* () {
                    return this.detectTcpConnect(e, "hub5btmain.v6.shub.sandai.net")
                })
            }

            detectEMuleIndexServer(e) {
                return i(this, void 0, void 0, function* () {
                    return this.detectTcpConnect(e, "hub5emu.v6.shub.sandai.net")
                })
            }

            detectTorrentServer(e) {
                return i(this, void 0, void 0, function* () {
                    return this.detectTcpConnect(e, "pool.v6.bt.n0808.com")
                })
            }

            detectP2PServer(e) {
                return i(this, void 0, void 0, function* () {
                    return this.detectTcpConnect(e, "hub5pr.sandai.net")
                })
            }

            detectPingServer(e) {
                return i(this, void 0, void 0, function* () {
                    let t = !1, n = "hub5u.sandai.net";
                    this.setDetectDesc("开始连接" + e.name);
                    let i = (new Date).getTime(), r = yield c.promise.probe(n);
                    if (r && r.alive) {
                        let n = (new Date).getTime() - i;
                        this.setDetectDesc(e.name + "连接成功（耗时：" + n + "毫秒）"), t = !0
                    } else v.information("ping failed! host:", n, ", result:", r), this.setDetectDesc(e.name + "连接失败", "ping失败（" + n + "）");
                    return t
                })
            }

            detectDCDNServer(e) {
                return i(this, void 0, void 0, function* () {
                    let e = !1;
                    do {
                        this.setDetectDesc("开始连接会员加速服务");
                        let t = yield this.dnsLookupAW("dcdnhub.xfs.xcloud.sandai.net");
                        if (!t) {
                            this.setDetectDesc("域名解析失败", "dcdnhub.xfs.xcloud.sandai.net域名解析失败");
                            break
                        }
                        this.setDetectDesc("域名解析成功");
                        let n = (new Date).getTime();
                        if (yield this.tcpConnectAW(t.address, 80)) {
                            let t = (new Date).getTime() - n;
                            this.setDetectDesc("会员加速服务连接成功（耗时：" + t + "毫秒）"), e = !0
                        } else this.setDetectDesc("会员加速服务连接失败", "tcp连接失败（" + t.address + ":80）")
                    } while (0);
                    return e
                })
            }

            detectVipAuthServer(e) {
                return i(this, void 0, void 0, function* () {
                    let e = !1;
                    do {
                        this.setDetectDesc("开始连接会员加速验证服务");
                        let t = yield this.dnsLookupAW("ali.pc-x.speed.auth.vip.xunlei.com");
                        if (!t) {
                            this.setDetectDesc("域名解析失败", "ali.pc-x.speed.auth.vip.xunlei.com域名解析失败");
                            break
                        }
                        this.setDetectDesc("域名解析成功");
                        let n = (new Date).getTime();
                        if (yield this.tcpConnectAW(t.address, 80)) {
                            let t = (new Date).getTime() - n;
                            this.setDetectDesc("会员加速验证服务连接成功（耗时：" + t + "毫秒）"), e = !0
                        } else this.setDetectDesc("会员加速验证服务连接失败", "tcp连接失败（" + t.address + ":80）")
                    } while (0);
                    return e
                })
            }

            detectMirrorSource(e) {
                return i(this, void 0, void 0, function* () {
                    return this.detectTcpConnect(e, "hub5sr.v6.shub.sandai.net")
                })
            }

            detectNATServer(e) {
                return i(this, void 0, void 0, function* () {
                    return new Promise(t => i(this, void 0, void 0, function* () {
                        let n = !1;
                        {
                            const t = ["hub5pn.sandai.net", "g1.hub5pn.sandai.net", "g2.hub5pn.sandai.net", "g3.hub5pn.sandai.net"];
                            let i = "";
                            for (let r = 0; r < t.length; ++r) {
                                let o = t[r];
                                this.setDetectDesc("开始连接" + e.name + "【" + (r + 1) + "】");
                                let s = (new Date).getTime(), a = yield c.promise.probe(o);
                                if (a && a.alive) {
                                    let t = (new Date).getTime() - s;
                                    this.setDetectDesc(e.name + "连接成功（耗时：" + t + "毫秒）"), n = !0;
                                    break
                                }
                                v.warning("detectNATServer ping failed! host:", o, ", result", a), i.length > 0 && (i += ","), i += "ping失败（" + o + "）", this.setDetectDesc(e.name + "连接失败", i)
                            }
                        }
                        t(n)
                    }))
                })
            }

            detectAccountLogin(e) {
                return i(this, void 0, void 0, function* () {
                    return new Promise(t => i(this, void 0, void 0, function* () {
                        this.setDetectDesc("开始帐号登录服务");
                        let i = (new Date).getTime();
                        const r = yield n(19);
                        r.defaults.adapter = n(17);
                        let o = e.statResult || "";
                        try {
                            let e = yield r.request({
                                method: "options",
                                url: "https://xluser-ssl.xunlei.com/xluser.core.login",
                                params: {}
                            });
                            if (204 === e.status) {
                                let e = (new Date).getTime() - i;
                                this.setDetectDesc("连接帐号登录服务成功（耗时：" + e + "毫秒）"), t(!0)
                            } else o.length > 0 && (o += ","), o += "options请求失败（" + e.status + "）", this.setDetectDesc("连接帐号登录服务失败（" + e.status + "）", o), t(!1)
                        } catch (e) {
                            v.information("detectAccountLogin exception! e", e), o.length > 0 && (o += ","), o += "options请求失败，" + (e || ""), this.setDetectDesc("连接帐号登录服务失败", o), t(!1)
                        }
                    }))
                })
            }

            detectVipDownload(e) {
                return i(this, void 0, void 0, function* () {
                    return new Promise(t => i(this, void 0, void 0, function* () {
                        let n = !1;
                        do {
                            if (!(yield this.detectVipAuthServer(e))) break;
                            if (!(yield this.detectDCDNServer(e))) break;
                            n = !0
                        } while (0);
                        t(n)
                    }))
                })
            }

            detectUPNPState(e) {
                return i(this, void 0, void 0, function* () {
                    return new Promise(e => i(this, void 0, void 0, function* () {
                        this.setDetectDesc("开始检测UPnP状态");
                        let t = yield h.client.callServerFunction("QueryGlobalInfo"), n = t && t.isUPnPReady > 0;
                        this.setDetectDesc("UPnP状态" + (n ? "可用" : "不可用")), e(n)
                    }))
                })
            }

            detectDHTState(e) {
                return i(this, void 0, void 0, function* () {
                    return new Promise(e => i(this, void 0, void 0, function* () {
                        this.setDetectDesc("开始检测DHT状态");
                        let t = yield h.client.callServerFunction("QueryGlobalInfo"), n = t && t.dhtNodeCount > 0;
                        this.setDetectDesc("DHT状态" + (n ? "可用" : "不可用")), e(n)
                    }))
                })
            }

            detectIPv6Support(e) {
                return i(this, void 0, void 0, function* () {
                    return new Promise(e => {
                        this.setDetectDesc("开始检测IPv6支持"), A.getNetAdapterInfo(n => i(this, void 0, void 0, function* () {
                            v.information("adapterInfos", n), this.adapterInfos = n;
                            let i = !1;
                            for (let e = 0; e < n.length; ++e) {
                                let r = n[e];
                                if (r.type !== o.IF_TYPE_SOFTWARE_LOOPBACK && r.operStatus === s.IfOperStatusUp) {
                                    for (let e = 0; e < r.ipAddresses.length; ++e) if (r.ipAddresses[e].family === t.AF_INET6) {
                                        i = !0;
                                        break
                                    }
                                    if (i) break
                                }
                            }
                            if (i) {
                                let e = null;
                                const t = u(l.lookup);
                                let n = "hub5idx.v6.shub.sandai.net";
                                try {
                                    e = yield t(n, 6)
                                } catch (e) {
                                    v.warning("dnsLookup IPv6 failed! hostName", n, "e", e)
                                }
                                i = !!e && (yield this.tcpConnectAW(e.address, 80, 6))
                            }
                            this.setDetectDesc(i ? "机器和网络环境已支持IPv6" : "机器或网络环境不支持IPv6"), e(i)
                        }))
                    })
                })
            }

            detectHostsTamper(e) {
                return i(this, void 0, void 0, function* () {
                    let e = !0;
                    do {
                        this.setDetectDesc("开始检测Hosts文件");
                        let t = A.getSystemDirectory(), n = r.join(t, "drivers\\etc\\hosts"),
                            i = yield p.FileSystemAWNS.readLineAw(n);
                        if (!i || 0 === i.length) break;
                        for (let t of i) {
                            if (0 === (t = t.trim()).indexOf("#")) continue;
                            let n = t.split(" ");
                            if (1 === n.length) continue;
                            let i = 0;
                            try {
                                i = a.isIP(n[0])
                            } catch (e) {
                                i = 0
                            }
                            if (0 !== i) {
                                for (let t = 1; t < n.length; t++) {
                                    let i = n[t];
                                    if (i && (i.endsWith(".xunlei.com") || i.endsWith(".sandai.net"))) {
                                        e = !1;
                                        break
                                    }
                                }
                                if (!e) break
                            }
                        }
                    } while (0);
                    return this.setDetectDesc(e ? "查询Hosts文件正常" : "检测到Hosts文件被篡改"), e
                })
            }

            sendFinishStat(e, t) {
                return i(this, void 0, void 0, function* () {
                    let i = "result=" + encodeURIComponent(e);
                    i += ",wrong_cnt=" + t, i += ",ip=" + (this.localIPInfo && this.localIPInfo.localIP ? this.localIPInfo.localIP : ""), i += ",windows_version=" + (yield Promise.resolve().then(() => n(14))).release();
                    let o = r.join(__rootDir, "../bin/SDK/DownloadSDK.dll");
                    i += ",download_engine_version=" + A.getFileVersion(o), i += ",dns=" + this.getDNSList().join("|"), f.XLStatNS.trackEvent("xlx_download_diagnosis", "download_diagnosis_result", "", 0, 0, 0, 0, i, this.statCookie)
                })
            }

            getLocalIPInfoAW() {
                return i(this, void 0, void 0, function* () {
                    if (this.localIPInfo) return this.localIPInfo;
                    const e = yield n(19);
                    e.defaults.adapter = n(17);
                    try {
                        let t = yield e.request({
                            method: "post",
                            url: "https://tool.lu/ip/ajax.html",
                            params: {},
                            headers: {}
                        });
                        200 === t.status && t.data && t.data.text && (this.localIPInfo = {
                            teleCommunications: t.data.text.ip2region_location,
                            localIP: t.data.text.ip
                        })
                    } catch (e) {
                        v.warning("request https://tool.lu/ip/ajax.html failed! e", e)
                    }
                    return this.localIPInfo
                })
            }

            start(e) {
                return i(this, void 0, void 0, function* () {
                    let t = "", n = 0;
                    this.statCookie = yield h.client.callServerFunction("GetDetectStatCookie"), h.client.broadcastEvent("DownloadDetectStart", e), this.fireEvent(C.Start);
                    let i = g.Success;
                    for (let e = 0; e < this.detectingItems.length; ++e) {
                        let r = this.detectingItems[e];
                        this.currentDetectingIndex = e, r.state = g.Started, this.fireEvent(C.StartItem, r, e), (yield r.detect(r)) ? r.state = g.Success : (r.state = g.Failed, i = g.Failed, t += r.name + "," + (r.statResult || "") + "|", n++), this.fireEvent(C.FinishItem, r, e, r.state)
                    }
                    yield this.getLocalIPInfoAW(), this.fireEvent(C.Finish, i), this.sendFinishStat(t, n).catch()
                })
            }

            getAllDectectItems() {
                return this.detectingItems
            }

            getDNSList() {
                let e = [];
                if (this.adapterInfos) {
                    let t = {};
                    for (let e = 0; e < this.adapterInfos.length; ++e) {
                        let n = this.adapterInfos[e];
                        n.type !== o.IF_TYPE_SOFTWARE_LOOPBACK && n.operStatus === s.IfOperStatusUp && n.dnsAddresses.forEach(e => {
                            t[e] = !0
                        })
                    }
                    e = Object.keys(t)
                }
                return e
            }

            restart(e) {
                return i(this, void 0, void 0, function* () {
                    for (let e = 0; e < this.detectingItems.length; ++e) {
                        let t = this.detectingItems[e];
                        t.state = g.None, t.detectDesc = "正在扫描…"
                    }
                    return this.currentDetectingIndex = 0, this.start(e)
                })
            }
        };
        e.getLocalIPInfo = function () {
            return i(this, void 0, void 0, function* () {
                return y.getLocalIPInfoAW()
            })
        }, e.start = function (e) {
            y.start(e).catch()
        }, e.restart = function (e) {
            y.restart(e).catch()
        }, e.getAllDectectItems = function () {
            return y.getAllDectectItems()
        }, e.getDNSList = function () {
            return y.getDNSList()
        }, e.attachListener = function (e, t) {
            y.attachListener(e, t)
        }, e.detachListener = function (e, t) {
            y.detachListener(e, t)
        }
    }(t.DownloadDetectToolsNS || (t.DownloadDetectToolsNS = {}))
}, function (e, t) {
    e.exports = require("dns")
}, function (e, t, n) {
    var i = {};
    i.sys = n(843), i.promise = n(676), e.exports = i
}, function (e, t, n) {
    "use strict";
    var i = n(676);
    t.probe = function (e, t, n) {
        var r = n || {};
        return i.probe(e, r).then(function (e) {
            t(e.alive, null)
        }).catch(function (e) {
            t(null, e)
        }).done()
    }
}, function (e, t) {
    e.exports = require("child_process")
}, function (e, t, n) {
    /*!
 *
 * Copyright 2009-2017 Kris Kowal under the terms of the MIT
 * license found at https://github.com/kriskowal/q/blob/v1/LICENSE
 *
 * With parts by Tyler Close
 * Copyright 2007-2009 Tyler Close under the terms of the MIT X license found
 * at http://www.opensource.org/licenses/mit-license.html
 * Forked at ref_send.js version: 2009-05-11
 *
 * With parts by Mark Miller
 * Copyright (C) 2011 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 */
    !function (t) {
        "use strict";
        "function" == typeof bootstrap ? bootstrap("promise", t) : e.exports = t()
    }(function () {
        "use strict";
        var e = !1;
        try {
            throw new Error
        } catch (t) {
            e = !!t.stack
        }
        var t, n = w(), i = function () {
        }, r = function () {
            var e = {task: void 0, next: null}, t = e, n = !1, i = void 0, o = !1, s = [];

            function a() {
                for (var t, i; e.next;) t = (e = e.next).task, e.task = void 0, (i = e.domain) && (e.domain = void 0, i.enter()), l(t, i);
                for (; s.length;) l(t = s.pop());
                n = !1
            }

            function l(e, t) {
                try {
                    e()
                } catch (e) {
                    if (o) throw t && t.exit(), setTimeout(a, 0), t && t.enter(), e;
                    setTimeout(function () {
                        throw e
                    }, 0)
                }
                t && t.exit()
            }

            if (r = function (e) {
                t = t.next = {task: e, domain: o && process.domain, next: null}, n || (n = !0, i())
            }, "object" == typeof process && "[object process]" === process.toString() && process.nextTick) o = !0, i = function () {
                process.nextTick(a)
            }; else if ("function" == typeof setImmediate) i = "undefined" != typeof window ? setImmediate.bind(window, a) : function () {
                setImmediate(a)
            }; else if ("undefined" != typeof MessageChannel) {
                var c = new MessageChannel;
                c.port1.onmessage = function () {
                    i = u, c.port1.onmessage = a, a()
                };
                var u = function () {
                    c.port2.postMessage(0)
                };
                i = function () {
                    setTimeout(a, 0), u()
                }
            } else i = function () {
                setTimeout(a, 0)
            };
            return r.runAfter = function (e) {
                s.push(e), n || (n = !0, i())
            }, r
        }(), o = Function.call;

        function s(e) {
            return function () {
                return o.apply(e, arguments)
            }
        }

        var a, l = s(Array.prototype.slice), c = s(Array.prototype.reduce || function (e, t) {
            var n = 0, i = this.length;
            if (1 === arguments.length) for (; ;) {
                if (n in this) {
                    t = this[n++];
                    break
                }
                if (++n >= i) throw new TypeError
            }
            for (; n < i; n++) n in this && (t = e(t, this[n], n));
            return t
        }), u = s(Array.prototype.indexOf || function (e) {
            for (var t = 0; t < this.length; t++) if (this[t] === e) return t;
            return -1
        }), d = s(Array.prototype.map || function (e, t) {
            var n = this, i = [];
            return c(n, function (r, o, s) {
                i.push(e.call(t, o, s, n))
            }, void 0), i
        }), h = Object.create || function (e) {
            function t() {
            }

            return t.prototype = e, new t
        }, f = Object.defineProperty || function (e, t, n) {
            return e[t] = n.value, e
        }, p = s(Object.prototype.hasOwnProperty), A = Object.keys || function (e) {
            var t = [];
            for (var n in e) p(e, n) && t.push(n);
            return t
        }, v = s(Object.prototype.toString);
        a = "undefined" != typeof ReturnValue ? ReturnValue : function (e) {
            this.value = e
        };
        var g = "From previous event:";

        function m(t, n) {
            if (e && n.stack && "object" == typeof t && null !== t && t.stack) {
                for (var i = [], r = n; r; r = r.source) r.stack && (!t.__minimumStackCounter__ || t.__minimumStackCounter__ > r.stackCounter) && (f(t, "__minimumStackCounter__", {
                    value: r.stackCounter,
                    configurable: !0
                }), i.unshift(r.stack));
                i.unshift(t.stack);
                var o = function (e) {
                    for (var t = e.split("\n"), n = [], i = 0; i < t.length; ++i) {
                        var r = t[i];
                        !y(r) && (-1 === (o = r).indexOf("(module.js:") && -1 === o.indexOf("(node.js:")) && r && n.push(r)
                    }
                    var o;
                    return n.join("\n")
                }(i.join("\n" + g + "\n"));
                f(t, "stack", {value: o, configurable: !0})
            }
        }

        function C(e) {
            var t = /at .+ \((.+):(\d+):(?:\d+)\)$/.exec(e);
            if (t) return [t[1], Number(t[2])];
            var n = /at ([^ ]+):(\d+):(?:\d+)$/.exec(e);
            if (n) return [n[1], Number(n[2])];
            var i = /.*@(.+):(\d+)$/.exec(e);
            return i ? [i[1], Number(i[2])] : void 0
        }

        function y(e) {
            var i = C(e);
            if (!i) return !1;
            var r = i[0], o = i[1];
            return r === t && o >= n && o <= J
        }

        function w() {
            if (e) try {
                throw new Error
            } catch (e) {
                var n = e.stack.split("\n"), i = C(n[0].indexOf("@") > 0 ? n[1] : n[2]);
                if (!i) return;
                return t = i[0], i[1]
            }
        }

        function b(e) {
            return e instanceof k ? e : T(e) ? (t = e, n = E(), b.nextTick(function () {
                try {
                    t.then(n.resolve, n.reject, n.notify)
                } catch (e) {
                    n.reject(e)
                }
            }), n.promise) : z(e);
            var t, n
        }

        b.resolve = b, b.nextTick = r, b.longStackSupport = !1;
        var x = 1;

        function E() {
            var t, n = [], i = [], r = h(E.prototype), o = h(k.prototype);
            if (o.promiseDispatch = function (e, r, o) {
                var s = l(arguments);
                n ? (n.push(s), "when" === r && o[1] && i.push(o[1])) : b.nextTick(function () {
                    t.promiseDispatch.apply(t, s)
                })
            }, o.valueOf = function () {
                if (n) return o;
                var e = D(t);
                return M(e) && (t = e), e
            }, o.inspect = function () {
                return t ? t.inspect() : {state: "pending"}
            }, b.longStackSupport && e) try {
                throw new Error
            } catch (e) {
                o.stack = e.stack.substring(e.stack.indexOf("\n") + 1), o.stackCounter = x++
            }

            function s(r) {
                t = r, b.longStackSupport && e && (o.source = r), c(n, function (e, t) {
                    b.nextTick(function () {
                        r.promiseDispatch.apply(r, t)
                    })
                }, void 0), n = void 0, i = void 0
            }

            return r.promise = o, r.resolve = function (e) {
                t || s(b(e))
            }, r.fulfill = function (e) {
                t || s(z(e))
            }, r.reject = function (e) {
                t || s(K(e))
            }, r.notify = function (e) {
                t || c(i, function (t, n) {
                    b.nextTick(function () {
                        n(e)
                    })
                }, void 0)
            }, r
        }

        function I(e) {
            if ("function" != typeof e) throw new TypeError("resolver must be a function.");
            var t = E();
            try {
                e(t.resolve, t.reject, t.notify)
            } catch (e) {
                t.reject(e)
            }
            return t.promise
        }

        function S(e) {
            return I(function (t, n) {
                for (var i = 0, r = e.length; i < r; i++) b(e[i]).then(t, n)
            })
        }

        function k(e, t, n) {
            void 0 === t && (t = function (e) {
                return K(new Error("Promise does not support operation: " + e))
            }), void 0 === n && (n = function () {
                return {state: "unknown"}
            });
            var i = h(k.prototype);
            if (i.promiseDispatch = function (n, r, o) {
                var s;
                try {
                    s = e[r] ? e[r].apply(i, o) : t.call(i, r, o)
                } catch (e) {
                    s = K(e)
                }
                n && n(s)
            }, i.inspect = n, n) {
                var r = n();
                "rejected" === r.state && (i.exception = r.reason), i.valueOf = function () {
                    var e = n();
                    return "pending" === e.state || "rejected" === e.state ? i : e.value
                }
            }
            return i
        }

        function P(e, t, n, i) {
            return b(e).then(t, n, i)
        }

        function D(e) {
            if (M(e)) {
                var t = e.inspect();
                if ("fulfilled" === t.state) return t.value
            }
            return e
        }

        function M(e) {
            return e instanceof k
        }

        function T(e) {
            return (t = e) === Object(t) && "function" == typeof e.then;
            var t
        }

        "object" == typeof process && process && process.env && process.env.Q_DEBUG && (b.longStackSupport = !0), b.defer = E, E.prototype.makeNodeResolver = function () {
            var e = this;
            return function (t, n) {
                t ? e.reject(t) : arguments.length > 2 ? e.resolve(l(arguments, 1)) : e.resolve(n)
            }
        }, b.Promise = I, b.promise = I, I.race = S, I.all = Y, I.reject = K, I.resolve = b, b.passByCopy = function (e) {
            return e
        }, k.prototype.passByCopy = function () {
            return this
        }, b.join = function (e, t) {
            return b(e).join(t)
        }, k.prototype.join = function (e) {
            return b([this, e]).spread(function (e, t) {
                if (e === t) return e;
                throw new Error("Q can't join: not the same: " + e + " " + t)
            })
        }, b.race = S, k.prototype.race = function () {
            return this.then(b.race)
        }, b.makePromise = k, k.prototype.toString = function () {
            return "[object Promise]"
        }, k.prototype.then = function (e, t, n) {
            var i = this, r = E(), o = !1;
            return b.nextTick(function () {
                i.promiseDispatch(function (t) {
                    o || (o = !0, r.resolve(function (t) {
                        try {
                            return "function" == typeof e ? e(t) : t
                        } catch (e) {
                            return K(e)
                        }
                    }(t)))
                }, "when", [function (e) {
                    o || (o = !0, r.resolve(function (e) {
                        if ("function" == typeof t) {
                            m(e, i);
                            try {
                                return t(e)
                            } catch (e) {
                                return K(e)
                            }
                        }
                        return K(e)
                    }(e)))
                }])
            }), i.promiseDispatch(void 0, "when", [void 0, function (e) {
                var t, i = !1;
                try {
                    t = function (e) {
                        return "function" == typeof n ? n(e) : e
                    }(e)
                } catch (e) {
                    if (i = !0, !b.onerror) throw e;
                    b.onerror(e)
                }
                i || r.notify(t)
            }]), r.promise
        }, b.tap = function (e, t) {
            return b(e).tap(t)
        }, k.prototype.tap = function (e) {
            return e = b(e), this.then(function (t) {
                return e.fcall(t).thenResolve(t)
            })
        }, b.when = P, k.prototype.thenResolve = function (e) {
            return this.then(function () {
                return e
            })
        }, b.thenResolve = function (e, t) {
            return b(e).thenResolve(t)
        }, k.prototype.thenReject = function (e) {
            return this.then(function () {
                throw e
            })
        }, b.thenReject = function (e, t) {
            return b(e).thenReject(t)
        }, b.nearer = D, b.isPromise = M, b.isPromiseAlike = T, b.isPending = function (e) {
            return M(e) && "pending" === e.inspect().state
        }, k.prototype.isPending = function () {
            return "pending" === this.inspect().state
        }, b.isFulfilled = function (e) {
            return !M(e) || "fulfilled" === e.inspect().state
        }, k.prototype.isFulfilled = function () {
            return "fulfilled" === this.inspect().state
        }, b.isRejected = function (e) {
            return M(e) && "rejected" === e.inspect().state
        }, k.prototype.isRejected = function () {
            return "rejected" === this.inspect().state
        };
        var B, O, R, N = [], Q = [], j = [], L = !0;

        function F() {
            N.length = 0, Q.length = 0, L || (L = !0)
        }

        function K(e) {
            var t = k({
                when: function (t) {
                    return t && function (e) {
                        if (L) {
                            var t = u(Q, e);
                            -1 !== t && ("object" == typeof process && "function" == typeof process.emit && b.nextTick.runAfter(function () {
                                var n = u(j, e);
                                -1 !== n && (process.emit("rejectionHandled", N[t], e), j.splice(n, 1))
                            }), Q.splice(t, 1), N.splice(t, 1))
                        }
                    }(this), t ? t(e) : this
                }
            }, function () {
                return this
            }, function () {
                return {state: "rejected", reason: e}
            });
            return function (e, t) {
                L && ("object" == typeof process && "function" == typeof process.emit && b.nextTick.runAfter(function () {
                    -1 !== u(Q, e) && (process.emit("unhandledRejection", t, e), j.push(e))
                }), Q.push(e), t && void 0 !== t.stack ? N.push(t.stack) : N.push("(no stack) " + t))
            }(t, e), t
        }

        function z(e) {
            return k({
                when: function () {
                    return e
                }, get: function (t) {
                    return e[t]
                }, set: function (t, n) {
                    e[t] = n
                }, delete: function (t) {
                    delete e[t]
                }, post: function (t, n) {
                    return null === t || void 0 === t ? e.apply(void 0, n) : e[t].apply(e, n)
                }, apply: function (t, n) {
                    return e.apply(t, n)
                }, keys: function () {
                    return A(e)
                }
            }, void 0, function () {
                return {state: "fulfilled", value: e}
            })
        }

        function U(e, t, n) {
            return b(e).spread(t, n)
        }

        function H(e, t, n) {
            return b(e).dispatch(t, n)
        }

        function Y(e) {
            return P(e, function (e) {
                var t = 0, n = E();
                return c(e, function (i, r, o) {
                    var s;
                    M(r) && "fulfilled" === (s = r.inspect()).state ? e[o] = s.value : (++t, P(r, function (i) {
                        e[o] = i, 0 == --t && n.resolve(e)
                    }, n.reject, function (e) {
                        n.notify({index: o, value: e})
                    }))
                }, void 0), 0 === t && n.resolve(e), n.promise
            })
        }

        function W(e) {
            if (0 === e.length) return b.resolve();
            var t = b.defer(), n = 0;
            return c(e, function (i, r, o) {
                var s = e[o];
                n++, P(s, function (e) {
                    t.resolve(e)
                }, function (e) {
                    if (0 == --n) {
                        var i = e || new Error("" + e);
                        i.message = "Q can't get fulfillment value from any promise, all promises were rejected. Last error message: " + i.message, t.reject(i)
                    }
                }, function (e) {
                    t.notify({index: o, value: e})
                })
            }, void 0), t.promise
        }

        function G(e) {
            return P(e, function (e) {
                return e = d(e, b), P(Y(d(e, function (e) {
                    return P(e, i, i)
                })), function () {
                    return e
                })
            })
        }

        b.resetUnhandledRejections = F, b.getUnhandledReasons = function () {
            return N.slice()
        }, b.stopUnhandledRejectionTracking = function () {
            F(), L = !1
        }, F(), b.reject = K, b.fulfill = z, b.master = function (e) {
            return k({
                isDef: function () {
                }
            }, function (t, n) {
                return H(e, t, n)
            }, function () {
                return b(e).inspect()
            })
        }, b.spread = U, k.prototype.spread = function (e, t) {
            return this.all().then(function (t) {
                return e.apply(void 0, t)
            }, t)
        }, b.async = function (e) {
            return function () {
                function t(e, t) {
                    var o;
                    if ("undefined" == typeof StopIteration) {
                        try {
                            o = n[e](t)
                        } catch (e) {
                            return K(e)
                        }
                        return o.done ? b(o.value) : P(o.value, i, r)
                    }
                    try {
                        o = n[e](t)
                    } catch (e) {
                        return function (e) {
                            return "[object StopIteration]" === v(e) || e instanceof a
                        }(e) ? b(e.value) : K(e)
                    }
                    return P(o, i, r)
                }

                var n = e.apply(this, arguments), i = t.bind(t, "next"), r = t.bind(t, "throw");
                return i()
            }
        }, b.spawn = function (e) {
            b.done(b.async(e)())
        }, b.return = function (e) {
            throw new a(e)
        }, b.promised = function (e) {
            return function () {
                return U([this, Y(arguments)], function (t, n) {
                    return e.apply(t, n)
                })
            }
        }, b.dispatch = H, k.prototype.dispatch = function (e, t) {
            var n = this, i = E();
            return b.nextTick(function () {
                n.promiseDispatch(i.resolve, e, t)
            }), i.promise
        }, b.get = function (e, t) {
            return b(e).dispatch("get", [t])
        }, k.prototype.get = function (e) {
            return this.dispatch("get", [e])
        }, b.set = function (e, t, n) {
            return b(e).dispatch("set", [t, n])
        }, k.prototype.set = function (e, t) {
            return this.dispatch("set", [e, t])
        }, b.del = b.delete = function (e, t) {
            return b(e).dispatch("delete", [t])
        }, k.prototype.del = k.prototype.delete = function (e) {
            return this.dispatch("delete", [e])
        }, b.mapply = b.post = function (e, t, n) {
            return b(e).dispatch("post", [t, n])
        }, k.prototype.mapply = k.prototype.post = function (e, t) {
            return this.dispatch("post", [e, t])
        }, b.send = b.mcall = b.invoke = function (e, t) {
            return b(e).dispatch("post", [t, l(arguments, 2)])
        }, k.prototype.send = k.prototype.mcall = k.prototype.invoke = function (e) {
            return this.dispatch("post", [e, l(arguments, 1)])
        }, b.fapply = function (e, t) {
            return b(e).dispatch("apply", [void 0, t])
        }, k.prototype.fapply = function (e) {
            return this.dispatch("apply", [void 0, e])
        }, b.try = b.fcall = function (e) {
            return b(e).dispatch("apply", [void 0, l(arguments, 1)])
        }, k.prototype.fcall = function () {
            return this.dispatch("apply", [void 0, l(arguments)])
        }, b.fbind = function (e) {
            var t = b(e), n = l(arguments, 1);
            return function () {
                return t.dispatch("apply", [this, n.concat(l(arguments))])
            }
        }, k.prototype.fbind = function () {
            var e = this, t = l(arguments);
            return function () {
                return e.dispatch("apply", [this, t.concat(l(arguments))])
            }
        }, b.keys = function (e) {
            return b(e).dispatch("keys", [])
        }, k.prototype.keys = function () {
            return this.dispatch("keys", [])
        }, b.all = Y, k.prototype.all = function () {
            return Y(this)
        }, b.any = W, k.prototype.any = function () {
            return W(this)
        }, b.allResolved = (B = G, O = "allResolved", R = "allSettled", function () {
            return "undefined" != typeof console && "function" == typeof console.warn && console.warn(O + " is deprecated, use " + R + " instead.", new Error("").stack), B.apply(B, arguments)
        }), k.prototype.allResolved = function () {
            return G(this)
        }, b.allSettled = function (e) {
            return b(e).allSettled()
        }, k.prototype.allSettled = function () {
            return this.then(function (e) {
                return Y(d(e, function (e) {
                    function t() {
                        return e.inspect()
                    }

                    return (e = b(e)).then(t, t)
                }))
            })
        }, b.fail = b.catch = function (e, t) {
            return b(e).then(void 0, t)
        }, k.prototype.fail = k.prototype.catch = function (e) {
            return this.then(void 0, e)
        }, b.progress = function (e, t) {
            return b(e).then(void 0, void 0, t)
        }, k.prototype.progress = function (e) {
            return this.then(void 0, void 0, e)
        }, b.fin = b.finally = function (e, t) {
            return b(e).finally(t)
        }, k.prototype.fin = k.prototype.finally = function (e) {
            if (!e || "function" != typeof e.apply) throw new Error("Q can't apply finally callback");
            return e = b(e), this.then(function (t) {
                return e.fcall().then(function () {
                    return t
                })
            }, function (t) {
                return e.fcall().then(function () {
                    throw t
                })
            })
        }, b.done = function (e, t, n, i) {
            return b(e).done(t, n, i)
        }, k.prototype.done = function (e, t, n) {
            var i = function (e) {
                b.nextTick(function () {
                    if (m(e, r), !b.onerror) throw e;
                    b.onerror(e)
                })
            }, r = e || t || n ? this.then(e, t, n) : this;
            "object" == typeof process && process && process.domain && (i = process.domain.bind(i)), r.then(void 0, i)
        }, b.timeout = function (e, t, n) {
            return b(e).timeout(t, n)
        }, k.prototype.timeout = function (e, t) {
            var n = E(), i = setTimeout(function () {
                t && "string" != typeof t || ((t = new Error(t || "Timed out after " + e + " ms")).code = "ETIMEDOUT"), n.reject(t)
            }, e);
            return this.then(function (e) {
                clearTimeout(i), n.resolve(e)
            }, function (e) {
                clearTimeout(i), n.reject(e)
            }, n.notify), n.promise
        }, b.delay = function (e, t) {
            return void 0 === t && (t = e, e = void 0), b(e).delay(t)
        }, k.prototype.delay = function (e) {
            return this.then(function (t) {
                var n = E();
                return setTimeout(function () {
                    n.resolve(t)
                }, e), n.promise
            })
        }, b.nfapply = function (e, t) {
            return b(e).nfapply(t)
        }, k.prototype.nfapply = function (e) {
            var t = E(), n = l(e);
            return n.push(t.makeNodeResolver()), this.fapply(n).fail(t.reject), t.promise
        }, b.nfcall = function (e) {
            var t = l(arguments, 1);
            return b(e).nfapply(t)
        }, k.prototype.nfcall = function () {
            var e = l(arguments), t = E();
            return e.push(t.makeNodeResolver()), this.fapply(e).fail(t.reject), t.promise
        }, b.nfbind = b.denodeify = function (e) {
            if (void 0 === e) throw new Error("Q can't wrap an undefined function");
            var t = l(arguments, 1);
            return function () {
                var n = t.concat(l(arguments)), i = E();
                return n.push(i.makeNodeResolver()), b(e).fapply(n).fail(i.reject), i.promise
            }
        }, k.prototype.nfbind = k.prototype.denodeify = function () {
            var e = l(arguments);
            return e.unshift(this), b.denodeify.apply(void 0, e)
        }, b.nbind = function (e, t) {
            var n = l(arguments, 2);
            return function () {
                var i = n.concat(l(arguments)), r = E();
                return i.push(r.makeNodeResolver()), b(function () {
                    return e.apply(t, arguments)
                }).fapply(i).fail(r.reject), r.promise
            }
        }, k.prototype.nbind = function () {
            var e = l(arguments, 0);
            return e.unshift(this), b.nbind.apply(void 0, e)
        }, b.nmapply = b.npost = function (e, t, n) {
            return b(e).npost(t, n)
        }, k.prototype.nmapply = k.prototype.npost = function (e, t) {
            var n = l(t || []), i = E();
            return n.push(i.makeNodeResolver()), this.dispatch("post", [e, n]).fail(i.reject), i.promise
        }, b.nsend = b.nmcall = b.ninvoke = function (e, t) {
            var n = l(arguments, 2), i = E();
            return n.push(i.makeNodeResolver()), b(e).dispatch("post", [t, n]).fail(i.reject), i.promise
        }, k.prototype.nsend = k.prototype.nmcall = k.prototype.ninvoke = function (e) {
            var t = l(arguments, 1), n = E();
            return t.push(n.makeNodeResolver()), this.dispatch("post", [e, t]).fail(n.reject), n.promise
        }, b.nodeify = function (e, t) {
            return b(e).nodeify(t)
        }, k.prototype.nodeify = function (e) {
            if (!e) return this;
            this.then(function (t) {
                b.nextTick(function () {
                    e(null, t)
                })
            }, function (t) {
                b.nextTick(function () {
                    e(t)
                })
            })
        }, b.noConflict = function () {
            throw new Error("Q.noConflict only works when Q is used as a global")
        };
        var J = w();
        return b
    })
}, function (e, t, n) {
    "use strict";
    var i = n(6), r = {}, o = {numeric: !0, timeout: 2, min_reply: 1, extra: []};
    r.getResult = function (e, t) {
        var n = t || {}, r = [];
        return ["numeric", "timeout", "min_reply", "extra"].forEach(function (e) {
            "boolean" != typeof n[e] && (n[e] = n[e] || o[e])
        }), n.numeric && r.push("-n"), n.timeout && (r = r.concat(["-w", i.format("%d", n.timeout)])), n.min_reply && (r = r.concat(["-c", i.format("%d", n.min_reply)])), n.extra && (r = r.concat(n.extra)), r.push(e), r
    }, e.exports = r
}, function (e, t, n) {
    "use strict";
    var i = n(6), r = {}, o = {numeric: !0, timeout: 2, min_reply: 1, extra: []};
    r.getResult = function (e, t) {
        var n = t || {}, r = [];
        return ["numeric", "timeout", "min_reply", "extra"].forEach(function (e) {
            "boolean" != typeof n[e] && (n[e] = n[e] || o[e])
        }), n.numeric && r.push("-n"), n.timeout && (r = r.concat(["-t", i.format("%d", n.timeout)])), n.min_reply && (r = r.concat(["-c", i.format("%d", n.min_reply)])), n.extra && (r = r.concat(n.extra)), r.push(e), r
    }, e.exports = r
}, function (e, t, n) {
    "use strict";
    var i = n(6), r = {}, o = {numeric: !0, timeout: 5, min_reply: 1, extra: []};
    r.getResult = function (e, t) {
        var n = t || {}, r = [];
        return ["numeric", "timeout", "min_reply", "extra"].forEach(function (e) {
            "boolean" != typeof n[e] && (n[e] = n[e] || o[e])
        }), n.numeric || r.push("-a"), n.timeout && (r = r.concat(["-w", i.format("%d", 1e3 * n.timeout)])), n.min_reply && (r = r.concat(["-n", i.format("%d", n.min_reply)])), n.extra && (r = r.concat(n.extra)), r.push(e), r
    }, e.exports = r
}, function (e, t, n) {
    "use strict";
    var i = n(6), r = n(677), o = n(850), s = n(678), a = n(851);

    function l() {
    }

    l.createParser = function (e) {
        if (!r.isPlatformSupport(e)) throw new Error(i.format("Platform |%s| is not support", e));
        var t = null;
        return r.isWindow(e) ? t = new o : r.isMacOS(e) ? t = new s : r.isLinux(e) && (t = new a), t
    }, e.exports = l
}, function (e, t, n) {
    "use strict";
    var i = n(6), r = n(231), o = n(554);

    function s() {
        o.call(this), this._ipv4Regex = /^([0-9]{1,3}\.){3}[0-9]{1,3}$/
    }

    i.inherits(s, o), s.prototype._processHeader = function (e) {
        var t = e.split(" ");
        this._response.host = t[1], this._ipv4Regex.test(this._response.host) ? this._response.numeric_host = t[1] : this._response.numeric_host = t[2].slice(1, -1), this._changeState(this.STATES.BODY)
    }, s.prototype._processBody = function (e) {
        var t = e.split(" "), n = r.filter(t, function (e) {
            return e.indexOf("=") >= 0 || e.indexOf("<") >= 0
        });
        if (n.length >= 3) {
            var i = r.find(n, function (e) {
                return e.indexOf("ms") >= 0
            }), o = /([0-9\.]+)/.exec(i);
            this._times.push(parseFloat(o[1], 10))
        }
        ":" === e.slice(-1) && this._changeState(this.STATES.FOOTER)
    }, s.prototype._processFooter = function (e) {
        if (e.indexOf("ms") >= 0) {
            var t = /([0-9\.]+)/g, n = t.exec(e), i = t.exec(e), o = t.exec(e);
            r.all([n, i, o]) && (this._response.min = parseFloat(n[1], 10), this._response.max = parseFloat(i[1], 10), this._response.avg = parseFloat(o[1], 10), this._changeState(this.STATES.END))
        }
    }, e.exports = s
}, function (e, t, n) {
    "use strict";
    var i = n(6), r = n(554), o = n(678);

    function s() {
        r.call(this)
    }

    i.inherits(s, r), s.prototype._processHeader = function (e) {
        var t = e.split(" ");
        this._response.host = t[1], this._response.numeric_host = t[2].slice(1, -1), this._changeState(this.STATES.BODY)
    }, s.prototype._processBody = function (e) {
        o.prototype._processBody.call(this, e)
    }, s.prototype._processFooter = function (e) {
        o.prototype._processFooter.call(this, e)
    }, e.exports = s
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(635), r = n(410);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\common\\views\\is-login-ctrl.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    var i = n(1139);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(600), r = n(412);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\custom-task-filter.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(601), r = n(414);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    n(857);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\create-big-file.vue", t.default = a.exports
}, function (e, t) {
    e.exports = "data:image/png;base64, "
}, function (e, t, n) {
    "use strict";
    var i = n(1141);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(602), r = n(416);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    n(859);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\img-dlg.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    var i = n(1143);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(603), r = n(418);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    n(861), n(232), n(184), n(679), n(862), n(863);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\copy-link-share.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    var i = n(1145);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    var i = n(1153);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    var i = n(1155);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(604), r = n(420);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    n(156), n(232);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\favorites.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(605), r = n(422);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    n(866);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, "12995ddd", null);
    a.options.__file = "src\\message-box-renderer\\views\\http-auth-login.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    var i = n(1160);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(606), r = n(424);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\shoulei-sync-guide.vue", t.default = a.exports
}, function (e, t) {
    e.exports = "data:image/png;base64, "
}, function (e, t) {
    e.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABDCAYAAAALU4KYAAAABHNCSVQICAgIfAhkiAAABw9JREFUeF7tnElwFFUYx/9fzySzZSUY9m2QRbaERaDUg0Io0j2JckELF8SDLHoxHAStwoNSxXIgnATRA+JCWVwUawYoIsVBS4QghE0WCXswMTF7pmeS6Wf1DAnpmQmQ6ZmeV8l0VVcnPe997/v/+v/165p+CaGPbX7xhRUmUp4TSCgwE5tGoLy+2g7E84qChgCxiwEFVQro95OHZ+yPppPCT84puvqMzezfbxZQMBDBxKqpS0GVtyt9xZ8Vk//qHUMDcH7xufXpgmkzAbZYBxrI/RjglQPs48ojM3Z26+wBOG/phQ+tJmwbyADipU0OYEPlkRnb1XhBgLPFi9OsRKeJYI3XIAM5DmOQZcbmnjk0/RIBTJgvXjxtIiocyKLjra2L4cypQ9PmUcHSyy9ZTcqxeA8wGOLJAWERFSy9tMliwqeDQXC8NfoC+IQKiy8dNQtUFO/ggyFel8LcNEe8XE9gg+ohOV4XVwFqaLZ0mcUr4GCMQ4ViCqCeC0+zpCspB+ogSDNTAHXgA2i6eDXlQB0IaZrEL8CR+eagtJq6Lh0SE9uVporXuHTgR6uHYuWynKD6fT82Ycue+sSSiDE6TeEU4KkDTmQ6hKCsljYF81+tjlFiYrvRJOlvLh141T1Ro3yy63piScQYnZ4W+QR4zaMFOEniFKCz+DqXDrx+yKnxxESR0xKeIPEJsNqtBeh0cQpwnHiDSwfe9IzXOHC8dDPGu1Riu9FYsZpLgLc8EzTKx0k3Eksixug0mlMH3glz4BheHThKvMmlA+96xmk8MVq6FaNHEtuNRki3uARY4x6rUT7SdTuxJGKMTsNFPgHe92gBjpA4BZhffJtLB9YeGqPxxDDxToweSWw3ekriE2CdWwsw38UpwDzxLpcOrPeM0lhnqHQvsVaKMToNke5wCbDBPVojKc91N0aJie1GOQY6MNtBWPtKBn4778ev532PVNYY5sDcxzjwhZkWPD8zHbt/akNzu3GeoGzxnmGjnds7DGPzTUFw7+1owvcVHX1CbPKM1HyWI9X02fb1Ijs+Xx/68vVWbQAF79Qm1na9olOmVGMIQNdCK/ZvytUIW1fehO8qvFHFtrhHaM5nue5HbfdGkQ27ykLwurcVnzXCfUI2BCJliPcNAaiW78W9+VCPvbe1O5qjQmz1DNe0y5T+iQCiwtu9PltzXi3f6avqDCtjshsEUFU5y2nG4W15ERDX7GjGt2FObA8D6AgD+P4yO7avzoqAV7yhAeeqjXsJRTbJGAd2K1UhHtkaCfGbCi/WlDf3AOlwax1odz104J6ybLxZpF2FrDpv6UZj4anJkkWqNaSEe1tFhXh0a26EE/dVyFhd3hJsKrvzNe6yuuqCv39ZloW3irQLaVV4SzY2Guq87uQoXTQeYHc5V2yLAvGojHfLW+DzaAFapDp8tT46vKINyYEXdKBZ/NdwB3ZfvQKnCb9sy4lw4tdHfXh7iUXjwH0VPqws0p5Tnbd4QxOqqgOGzLjRBiFTEgGqCakQj0WB2OZlyLCFZux2GXCELX9X4S1KMrygA0mqT5oDezvx+NbsCCf6H0ym6aEVHj2bCu/Fjc1JdV7PPRBSQ9IBqskUOk04vjUrAmJ42YTgteBsEsu2d04E6T8uAD6EmNknxBC8Vm7gBUuYJ4CPgsgjvBBAVyM3DuwujcIJajln9DgxBK8NZ28kb7bta5onuJq4A6gmm+Mg7C2zB/NeVd6BJgO/ourPMxHB1cwlwP6ISGbbFECd9AklLSkH6oBIKGlNAdQHsC0FMAVQBwGdXQmlnD4f6BRmVHdCaUeqhHXQJpR6UwB1ASzxngDRAh0xBm9Xxv4glMq7QVjDAwWTAAjqTvTgGMpKYYCiqEcWPAYUHrIFwPAFocS/FgLbZVRKaWbAmkawpQuwWgi2NAoezaEFC0+8dQUA2cfg7WSQ/QxenwK5k6HTuDeagELrCKVsKKhT/RuCzCfO/gkbqo5yWCm0WwQ4bP0H9YRD9TRTwbbLDO1eBe0+Fvw5QY5tBUtzhl46lPo/AFF5f5Pt3Z4IsFsouKugHBaCNV1PxPj1lf0PoKpgZQavn4HpnToZK8PP6TtDAJczE3ydF0A0NZa0VXi5GYShWQIyH7wIiiWOEX1avQz1zQoa23VAZKiExbwQByjwcKFKSedimKiiPyJsFgSh5WUQTP28h/VnnES0DQSAhjaG+hYF3kevtIscnpmexUGqVD/QrvR5mU0BlB9Aj/7Xdw4LMDxXQLZDfa2XCHnGxVRLuakdqG1U75mPGZehChBew0G60t0yUv5cloZR2AhimwCk9Q6ZaQNGDCGox4G4tXYA9xsZWiNX3HUCtBl3sQWnqVNz7+8TxHJmgwwnBDiz7FiQZUdhmhmOgQguXFOXH62NHTjX5sVJBFANO67jAEVdyPg/KEV5yF6ISZwAAAAASUVORK5CYII="
}, function (e, t) {
    e.exports = "data:image/png;base64, "
}, function (e, t) {
    e.exports = "data:image/gif;base64, "
}, function (e, t) {
    e.exports = "data:image/gif;base64, "
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(607), r = n(426);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\shoulei-file-transfer.vue", t.default = a.exports
}, function (e, t) {
    e.exports = "data:image/jpeg;base64, "
}, function (e, t, n) {
    "use strict";
    var i = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(2), o = n(40), s = n(19), a = n(876), l = n(20), c = n(112),
        u = n(1).default.getLogger("ShouleiInstallImg"), d = "https://static-xl.a.88cdn.com/json/mobile-pc.json";
    let h = "";
    t.getMobileImgSrc = function () {
        return i(this, void 0, void 0, function* () {
            let e = "";
            do {
                let t = null;
                try {
                    s.default.defaults.adapter = n(17);
                    let e = new o.Agent({rejectUnauthorized: !1});
                    t = yield s.default.get(d, {timeout: 1e4, httpsAgent: e})
                } catch (e) {
                    u.warning(e)
                }
                let i = "";
                if (null !== t && void 0 !== t.status && 200 === t.status && void 0 !== t.data && null !== t.data && t.data.downloadQR && (i = t.data.downloadQR), !i) break;
                let f = c.ParseUrlFileNameNS.getNameFromUrl(i);
                if (!f) break;
                let p = r.resolve(__profilesDir, `mobile/${f}`);
                if (p === h && (yield l.FileSystemAWNS.existsAW(p))) {
                    e = p;
                    break
                }
                u.information("downloadFileAW", i, p), (yield a.AxiosNS.downloadFileAW(i, p)) && (h = p, e = p)
            } while (0);
            return e
        })
    }
}, function (e, t, n) {
    "use strict";
    var i = this && this.__awaiter || function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
            function s(e) {
                try {
                    l(i.next(e))
                } catch (e) {
                    o(e)
                }
            }

            function a(e) {
                try {
                    l(i.throw(e))
                } catch (e) {
                    o(e)
                }
            }

            function l(e) {
                e.done ? r(e.value) : new n(function (t) {
                    t(e.value)
                }).then(s, a)
            }

            l((i = i.apply(e, t || [])).next())
        })
    };
    Object.defineProperty(t, "__esModule", {value: !0});
    const r = n(37), o = n(19), s = n(2), a = n(20), l = n(1).default.getLogger("Axios.Helper");
    !function (e) {
        e.getFileSizeWithUrlAW = function (e) {
            return i(this, void 0, void 0, function* () {
                let t = 0;
                do {
                    let n = r.parse(e);
                    if ("https:" !== n.protocol && "http:" !== n.protocol) break;
                    let i = null;
                    try {
                        i = yield o.default.get(e, {responseType: "arraybuffer"})
                    } catch (e) {
                        l.warning(e)
                    }
                    if (null !== i && void 0 !== i.status && 200 === i.status) {
                        let e = i.headers["content-length"];
                        void 0 !== e && (t = parseInt(e, 10))
                    }
                } while (0);
                return t
            })
        }, e.downloadFileAW = function (e, t, n) {
            return i(this, void 0, void 0, function* () {
                let i = !1, r = 0;
                for (; ;) {
                    let c = null;
                    r += 1;
                    try {
                        c = yield o.default.get(e, {responseType: "arraybuffer", headers: n})
                    } catch (e) {
                        l.information(e);
                        break
                    }
                    if (null !== c && void 0 !== c.status && 200 === c.status && void 0 !== c.data && null !== c.data && "" !== c.data) {
                        let e = s.dirname(t), n = yield a.FileSystemAWNS.mkdirsAW(e);
                        if (n && (n = yield a.FileSystemAWNS.writeFileAW(t, c.data))) {
                            i = !0;
                            break
                        }
                        if (r > 3) break
                    }
                }
                return i
            })
        }
    }(t.AxiosNS || (t.AxiosNS = {}))
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(608), r = n(428);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\custom-download-mode.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(609), r = n(430);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    n(879);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\imgViewer.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    var i = n(1162);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(610), r = n(432);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    n(884), n(885);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, "e2447990", null);
    a.options.__file = "src\\message-box-renderer\\views\\scancode-help.vue", t.default = a.exports
}, function (e, t) {
    e.exports = "data:image/png;base64, "
}, function (e, t) {
    e.exports = "data:image/png;base64, "
}, function (e, t) {
    e.exports = "data:image/png;base64, "
}, function (e, t, n) {
    "use strict";
    var i = n(1164);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    var i = n(1166);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(611), r = n(434);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    n(888);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, "7d63a43a", null);
    a.options.__file = "src\\message-box-renderer\\views\\phone-auth.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";

    function i(e) {
        var t = [];
        for (var n in e) e.hasOwnProperty(n) && t.push(encodeURIComponent(n) + "=" + encodeURIComponent(e[n]));
        return e ? "?" + t.join("&") : ""
    }

    function r(e) {
        try {
            return null == document.cookie.match(new RegExp("(^" + e + "| " + e + ")=([^;]*)")) ? "" : RegExp.$2
        } catch (e) {
            throw new Error(e)
        }
    }

    function o(e, t, n) {
        e.addEventListener ? e.addEventListener(t, n) : e.attachEvent("on" + t, function (t) {
            n.call(e, t)
        })
    }

    function s(e) {
        return "undefined" == typeof window || /http/.test(window.location.protocol) ? e : "https:" + e
    }

    n.r(t), n.d(t, "isNeedAuth", function () {
        return c
    }), n.d(t, "shouldAuth", function () {
        return u
    });
    var a = {
        getModulesConfig: function () {
            return function () {
                var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
                e.type = (e.type || "GET").toUpperCase(), e.dataType = e.dataType || "json";
                var t = i(e.data), n = new window.XMLHttpRequest;
                return new Promise(function (i, r) {
                    n.onreadystatechange = function () {
                        var t = n.status;
                        if (4 === n.readyState) return t >= 200 && t < 300 ? (e.success && e.success(n.responseText), i(JSON.parse(n.responseText))) : (e.fail && e.fail(t), r(t))
                    }, "GET" === e.type ? (n.open("GET", e.url + t, !0), n.send(null)) : "POST" === e.type && (n.open("POST", e.url, !0), n.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"), n.send(t))
                })
            }({url: s("//static-xl.a.88cdn.com/json/modules.json"), type: "get", dataType: "json"})
        }, isAuth: function () {
            var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, t = {};
            e.userid && (t = {
                "auth.deviceid": e.deviceid,
                "auth.sessionid": e.sessionid || r("sessionid"),
                "auth.userid": e.userid || r("userid"),
                "auth.usernewno": e.usernewno || r("usernewno"),
                "auth.usrname": e.username || r("usrname"),
                "auth.usernick": e.usernick || r("usernick"),
                "auth.appid": e.appid || "165",
                authType: "phone",
                "auth.clientVersion": e.clientVersion || r("XL_CLIENT_VERION")
            });
            var n = {authType: "phone", "auth.deviceid": r("deviceid") || window.localStorage.getItem("deviceid")};
            return function () {
                var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
                return new Promise(function (t, n) {
                    if (e.callback = e.callback || "callback", !e.url) return n(new Error("url is necessary"));
                    var r = "jsonp" + (new Date).getTime(), o = document.getElementsByTagName("head")[0];
                    e.data[e.callback] = r;
                    var s = i(e.data), a = document.createElement("script");
                    o.appendChild(a), a.onerror = function (e) {
                        return o.removeChild(a), delete window[r], n(new Error("创建script标签失败"))
                    }, window[r] = function (n) {
                        return o.removeChild(a), e.time && clearTimeout(a.timer), delete window[r], e.success && e.success(n), t(n)
                    }, a.src = e.url + s, e.time && (a.timer = setTimeout(function () {
                        delete window[r], n(new Error("timeout"))
                    }, e.time))
                })
            }({
                url: "https://xluser-ssl.xunlei.com/certification/v1/isauth",
                dataType: "jsonp",
                time: 5e3,
                data: t = Object.assign({}, n, t)
            })
        }
    }, l = 1;

    function c() {
        var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
        return r("sessionid") || e.sessionid ? a.getModulesConfig().then(function (t) {
            return !!t.real_name.enable && a.isAuth(e)
        }).then(function (e) {
            if ("boolean" == typeof e) return !1;
            if ("ISAUTH" === e.result || "NOAUTH" === e.result) return "NOAUTH" === e.result;
            throw new Error(JSON.stringify(e))
        }) : Promise.reject(new Error("not login"))
    }

    function u(e) {
        var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, n = arguments[2],
            i = s("//pc.xunlei.com/auth");
        return e && (i += /\?/.test(i) ? "&entrypage=" + e : "?entrypage=" + e), n && (i += /\?/.test(i) ? "&from=" + n : "?from=" + n), new Promise(function (e, n) {
            c(t).then(function (r) {
                if (!r) return e();
                !function (e, t) {
                    var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
                    if ("function" == typeof e) try {
                        var i = null;
                        document.getElementById("authIframe") ? (i = document.getElementById("authIframe")).style.display = "block" : ((i = document.createElement("iframe")).src = t, i.setAttribute("id", "authIframe"), i.setAttribute("frameborder", 0), i.style.cssText = "position: fixed; top: 0; left: 0; width: 100%; height: 100%; border: 0; z-index:999;", document.body.appendChild(i), o(i, "load", function (e) {
                            i.contentWindow.postMessage(JSON.stringify(n), "*")
                        }), o(window, "message", function (t) {
                            try {
                                var n = JSON.parse(t.data);
                                "auth" === n.from && "close" === n.event && (i.style.display = "none", e(null, n.code))
                            } catch (e) {
                            }
                        }))
                    } catch (t) {
                        e(t)
                    }
                }(function (t, i) {
                    if (t) return n(new Error("version too low"));
                    i === l ? e() : n(new Error("auth error"))
                }, i, t)
            }).catch(n)
        })
    }

    "undefined" != typeof document && /xunlei\.com/.test(location.host) && (document.domain = "xunlei.com")
}, function (e, t, n) {
    "use strict";
    var i = n(1168);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(612), r = n(436);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    n(891);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\latest-messages.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    var i;
    Object.defineProperty(t, "__esModule", {value: !0}), function (e) {
        e.Download = "download-panel", e.Cloud = "pan-plugin-view", e.Browser = "find-page", e.Message = "message-page"
    }(i = t.NavViewID || (t.NavViewID = {}));
    const r = {
        currentNav: i.Download,
        navs: [{
            content: "下载",
            icon: "xly-icon-nav-down",
            key: i.Download,
            unReadNum: 0,
            showUnRead: !0,
            showRedDot: !1
        }, {
            content: "云盘",
            icon: "xly-icon-nav-cloud",
            key: i.Cloud,
            unReadNum: 0,
            showUnRead: !0,
            showRedDot: !1
        }, {
            content: "发现",
            icon: "xly-icon-nav-find",
            key: i.Browser,
            unReadNum: 0,
            showUnRead: !0,
            showRedDot: !1
        }, {content: "消息", icon: "xly-icon-nav-message", key: i.Message, unReadNum: 0, showUnRead: !0, showRedDot: !1}]
    }, o = {
        SELECT_NAV(e, t) {
            e.navs.some(e => e.key === t) && (e.currentNav = t, "find-page" === t ? this.commit("SHOW_OR_HIDE_BROWSER", !0, {root: !0}) : this.commit("SHOW_OR_HIDE_BROWSER", !1, {root: !0}))
        }, SET_NAV_UNREAD_NUM(e, t) {
            let n = e.navs.findIndex(e => e.key === t.nav);
            e.navs[n].unReadNum = t.unReadNum
        }, SET_NAV_SHOW_UNREAD_NUM(e, t) {
            let n = e.navs.findIndex(e => e.key === t.nav);
            e.navs[n].showUnRead = t.show
        }, SET_NAV_SHOW_RED_DOT(e, t) {
            let n = e.navs.findIndex(e => e.key === t.nav);
            e.navs[n].showRedDot = t.show
        }, ADD_NAV_UNREAD_NUM(e, t) {
            let n = e.navs.findIndex(e => e.key === t);
            e.navs[n].unReadNum = (e.navs[n].unReadNum || 0) + 1
        }
    }, s = {
        currentNav: e => e.currentNav, navList: e => e.navs, messageUnreadNum: e => {
            let t = e.navs.findIndex(e => e.key === i.Message);
            return e.navs[t].unReadNum
        }
    };
    t.default = {state: r, mutations: o, getters: s}
}, function (e, t, n) {
    "use strict";
    var i = n(1170);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(613), r = n(438);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\xmp-associate.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(614), r = n(440);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\xmp-wait-init.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(615), r = n(442);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\main-menu-view.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(636), r = n(444);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\common\\views\\main-menu.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    n.r(t);
    var i = n(616), r = n(446);
    for (var o in r) "default" !== o && function (e) {
        n.d(t, e, function () {
            return r[e]
        })
    }(o);
    var s = n(0), a = Object(s.a)(r.default, i.a, i.b, !1, null, null, null);
    a.options.__file = "src\\message-box-renderer\\views\\zip-password.vue", t.default = a.exports
}, function (e, t, n) {
    "use strict";
    var i = n(1172);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    var i = n(1174);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    var i = n(1176);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    var i = n(1178);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    var i = n(1180);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    var i = n(1182);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    var i = n(1184);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    var i = n(1186);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    var i = n(1188);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    var i = n(1190);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    var i = n(1192);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    var i = n(1194);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    var i = n(1196);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    var i = n(1199);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    var i = n(1201);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    var i = n(1203);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    var i = n(1205);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    var i = n(1209);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    var i = n(1212);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    var i = n(1214);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    var i = n(1216);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    var i = n(1218);
    n.n(i).a
}, function (e, t, n) {
    "use strict";
    var i = n(1221);
    n.n(i).a
}, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , function (e, t) {
}, , function (e, t) {
}, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , , , function (e, t) {
}, , , , function (e, t) {
}, , , , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , , , function (e, t) {
}, , , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , function (e, t) {
}, , , function (e, t) {
}]);