SOURCE

function(s) {
    var f = Object.assign({
        text: "",
        target: "",
        sex: -1,
        type: "default",
        reverse: !1,
        mode: "default",
        optimal: !1
    }, s);

    q = S(f.mode);


    var x = y(f.text), d = y(f.target);
    d.length || (d = [""]); var m = []; return x.forEach(function (s) {
        d.forEach(function (x) {
            N({ from: s, to: x, sex: f.sex, optimal: f.optimal }).forEach(function (s) {
                var x = s ? k(s.selector, s.sex) : null;
                x && x.forEach(
                    function (x) {
                        var d = [x], b = s.sex; f.reverse && (d = P(x, b), b = x.match(/([fhs1](&[ol\d]+)?|[olx]b)$/) ? 1 : 0),
                            "chain" == f.type ? d.forEach(function (f) {
                                var x = function (s) {
                                    return s.split(",").map(function (s) {
                                        var f = s.replace(/&[ol\d]+/, "");
                                        return Object.assign({}, C, { xb: ["兄弟"], xs: ["姐妹"] })[f][0]
                                    }).join("的")
                                }(f); s.sex > -1 && q[s.sex + "," + f] && (0 == s.sex ? x = "(女性)" + x : 1 == s.sex && (x = "(男性)" + x)), x && m.push(x)
                            }) : "pair" == f.type ? (d = P(x, s.sex)).forEach(function (s) {
                                var f = function (s, f) {
                                    var x = [], d = [], m = []; s = s.replace(/&\d+/, ""), f = f.replace(/&\d+/, ""); var b = s.replace(/([ol])([bs])/, "x$2"), h = f.replace(/([ol])([bs])/, "x$2"), M = s.replace(/&[ol]/, ""), w = f.replace(/&[ol]/, "");
                                    for (var o in v) {
                                        var l = o.split("#"); if (l.length > 1) {
                                            var e = k(l[0]), r = k(l[1]), G = e.map(function (s) { return s.replace(/&[ol\d]+/, "").replace(/([ol])([bs])/, "x$2") }), t = r.map(function (s) { return s.replace(/&[ol\d]+/, "").replace(/([ol])([bs])/, "x$2") });
                                            (e.includes(s) && r.includes(f) || e.includes(f) && r.includes(s)) && x.push(v[o][0]), (G.includes(b) && t.includes(h) || G.includes(h) && t.includes(b)) && d.push(v[o][0]), (G.includes(M) && t.includes(w) || G.includes(w) && t.includes(M)) && m.push(v[o][0])
                                        }
                                    } return x.length || (x = d), x.length || (x = m), x
                                }(x, s);

                                f.length && (m = m.concat(f))
                            }) : d.forEach(function (s) { var f = R(s); f.length || (f = R(b + "," + s)), f.length && (m = m.concat(f)) })
                    })
            })
        })
    }), O(m)
}
console 命令行工具 X clear

                    
>
console