七猫小说

http://jingpin-book.qm989.com

采集机器人 (2)2023/04/01

数据采集
二维码导入
{
    "bookSourceGroup": "爱猫小说书源合集",
    "bookSourceName": "七猫小说",
    "bookSourceType": 0,
    "bookSourceUrl": "http:\/\/jingpin-book.qm989.com",
    "bookUrlPattern": "",
    "customOrder": 55,
    "enabled": true,
    "enabledExplore": true,
    "exploreUrl": "                      男频                      ::\/shuku_0_0_0_0_0_0_{{page}}.html\n玄幻::\/shuku_0_1_0_0_0_0_{{page}}.html\n奇幻::\/shuku_0_2_0_0_0_0_{{page}}.html\n武侠::\/shuku_0_3_0_0_0_0_{{page}}.html\n仙侠::\/shuku_0_4_0_0_0_0_{{page}}.html\n都市::\/shuku_0_5_0_0_0_0_{{page}}.html\n军事::\/shuku_0_7_0_0_0_0_{{page}}.html\n历史::\/shuku_0_8_0_0_0_0_{{page}}.html\n游戏::\/shuku_0_9_0_0_0_0_{{page}}.html\n科幻::\/shuku_0_10_0_0_0_0_{{page}}.html\n悬疑::\/shuku_0_18_0_0_0_0_{{page}}.html\n文学::\/shuku_0_19_0_0_0_0_{{page}}.html\n其他::\/shuku_0_21_0_0_0_0_{{page}}.html\n                      女频                      ::\/shuku_1_0_0_0_0_0_{{page}}.html\n现代言情::\/shuku_0_11_0_0_0_0_{{page}}.html\n古代言情::\/shuku_0_12_0_0_0_0_{{page}}.html\n穿越架空::\/shuku_0_13_0_0_0_0_{{page}}.html\n总裁豪门::\/shuku_0_14_0_0_0_0_{{page}}.html\n青春校园::\/shuku_0_15_0_0_0_0_{{page}}.html\n幻想言情::\/huanyan.html",
    "header": "",
    "lastUpdateTime": 0,
    "loginUrl": "https:\/\/jingpin-mbook.qm989.com\/index.php?c=user&a=login",
    "ruleBookInfo": {
        "author": "[email protected]@text",
        "coverUrl": "class.imgbox@src",
        "init": "",
        "intro": "[email protected]@text",
        "kind": "[email protected]@text&&[email protected]@text&&[email protected]@text##分类.|更新时间.",
        "lastChapter": "[email protected]@text",
        "name": "[email protected]@text##\\《|\\》",
        "tocUrl": "@js:var bid = baseUrl.match(\/\\\/(\\d+)\/)[1];\njava.put('bid',bid);\n'https:\/\/yuedu.km.com\/api\/book\/fictionChapter\/?channel=wapdownload&device=android&version=50705&is_all_update=0&chapter_ver=&book_id='+bid+'&chapter_id='",
        "wordCount": "[email protected]@text##字数."
    },
    "ruleContent": {
        "content": "content||msg@js:\nvar CryptoJS = function(c) {\n    function r() {}\n    var t = {},\n    e = t.lib = {},\n    i = e.Base = {\n        extend: function(t) {\n            r.prototype = this;\n            var e = new r;\n            return t && e.mixIn(t),\n            e.hasOwnProperty(\"init\") || (e.init = function() {\n                e.$super.init.apply(this, arguments)\n            }),\n            (e.init.prototype = e).$super = this,\n            e\n        },\n        create: function() {\n            var t = this.extend();\n            return t.init.apply(t, arguments),\n            t\n        },\n        init: function() {},\n        mixIn: function(t) {\n            for (var e in t) t.hasOwnProperty(e) && (this[e] = t[e]);\n            t.hasOwnProperty(\"toString\") && (this.toString = t.toString)\n        },\n        clone: function() {\n            return this.init.prototype.extend(this)\n        }\n    },\n    a = e.WordArray = i.extend({\n        init: function(t, e) {\n            t = this.words = t || [],\n            this.sigBytes = null != e ? e: 4 * t.length\n        },\n        toString: function(t) {\n            return (t || o).stringify(this)\n        },\n        concat: function(t) {\n            var e = this.words,\n            r = t.words,\n            i = this.sigBytes;\n            if (t = t.sigBytes, this.clamp(), i % 4) for (var n = 0; n < t; n++) e[i + n >>> 2] |= (r[n >>> 2] >>> 24 - n % 4 * 8 & 255) << 24 - (i + n) % 4 * 8;\n            else if (65535 < r.length) for (n = 0; n < t; n += 4) e[i + n >>> 2] = r[n >>> 2];\n            else e.push.apply(e, r);\n            return this.sigBytes += t,\n            this\n        },\n        clamp: function() {\n            var t = this.words,\n            e = this.sigBytes;\n            t[e >>> 2] &= 4294967295 << 32 - e % 4 * 8,\n            t.length = c.ceil(e \/ 4)\n        },\n        clone: function() {\n            var t = i.clone.call(this);\n            return t.words = this.words.slice(0),\n            t\n        },\n        random: function(t) {\n            for (var e = [], r = 0; r < t; r += 4) e.push(4294967296 * c.random() | 0);\n            return new a.init(e, t)\n        }\n    }),\n    n = t.enc = {},\n    o = n.Hex = {\n        stringify: function(t) {\n            var e = t.words;\n            t = t.sigBytes;\n            for (var r = [], i = 0; i < t; i++) {\n                var n = e[i >>> 2] >>> 24 - i % 4 * 8 & 255;\n                r.push((n >>> 4).toString(16)),\n                r.push((15 & n).toString(16))\n            }\n            return r.join(\"\")\n        },\n        parse: function(t) {\n            for (var e = t.length,\n            r = [], i = 0; i < e; i += 2) r[i >>> 3] |= parseInt(t.substr(i, 2), 16) << 24 - i % 8 * 4;\n            return new a.init(r, e \/ 2)\n        }\n    },\n    s = n.Latin1 = {\n        stringify: function(t) {\n            var e = t.words;\n            t = t.sigBytes;\n            for (var r = [], i = 0; i < t; i++) r.push(String.fromCharCode(e[i >>> 2] >>> 24 - i % 4 * 8 & 255));\n            return r.join(\"\")\n        },\n        parse: function(t) {\n            for (var e = t.length,\n            r = [], i = 0; i < e; i++) r[i >>> 2] |= (255 & t.charCodeAt(i)) << 24 - i % 4 * 8;\n            return new a.init(r, e)\n        }\n    },\n    f = n.Utf8 = {\n        stringify: function(t) {\n            try {\n                return decodeURIComponent(escape(s.stringify(t)))\n            } catch(t) {\n                throw Error(\"Malformed UTF-8 data\")\n            }\n        },\n        parse: function(t) {\n            return s.parse(unescape(encodeURIComponent(t)))\n        }\n    },\n    h = e.BufferedBlockAlgorithm = i.extend({\n        reset: function() {\n            this._data = new a.init,\n            this._nDataBytes = 0\n        },\n        _append: function(t) {\n            \"string\" == typeof t && (t = f.parse(t)),\n            this._data.concat(t),\n            this._nDataBytes += t.sigBytes\n        },\n        _process: function(t) {\n            var e = this._data,\n            r = e.words,\n            i = e.sigBytes,\n            n = this.blockSize,\n            o = i \/ (4 * n);\n            if (t = (o = t ? c.ceil(o) : c.max((0 | o) - this._minBufferSize, 0)) * n, i = c.min(4 * t, i), t) {\n                for (var s = 0; s < t; s += n) this._doProcessBlock(r, s);\n                s = r.splice(0, t),\n                e.sigBytes -= i\n            }\n            return new a.init(s, i)\n        },\n        clone: function() {\n            var t = i.clone.call(this);\n            return t._data = this._data.clone(),\n            t\n        },\n        _minBufferSize: 0\n    });\n    e.Hasher = h.extend({\n        cfg: i.extend(),\n        init: function(t) {\n            this.cfg = this.cfg.extend(t),\n            this.reset()\n        },\n        reset: function() {\n            h.reset.call(this),\n            this._doReset()\n        },\n        update: function(t) {\n            return this._append(t),\n            this._process(),\n            this\n        },\n        finalize: function(t) {\n            return t && this._append(t),\n            this._doFinalize()\n        },\n        blockSize: 16,\n        _createHelper: function(r) {\n            return function(t, e) {\n                return new r.init(e).finalize(t)\n            }\n        },\n        _createHmacHelper: function(r) {\n            return function(t, e) {\n                return new u.HMAC.init(r, e).finalize(t)\n            }\n        }\n    });\n    var u = t.algo = {};\n    return t\n} (Math); !\nfunction() {\n    var t = CryptoJS,\n    a = t.lib.WordArray;\n    t.enc.Base64 = {\n        stringify: function(t) {\n            var e = t.words,\n            r = t.sigBytes,\n            i = this._map;\n            t.clamp(),\n            t = [];\n            for (var n = 0; n < r; n += 3) for (var o = (e[n >>> 2] >>> 24 - n % 4 * 8 & 255) << 16 | (e[n + 1 >>> 2] >>> 24 - (n + 1) % 4 * 8 & 255) << 8 | e[n + 2 >>> 2] >>> 24 - (n + 2) % 4 * 8 & 255, s = 0; s < 4 && n + .75 * s < r; s++) t.push(i.charAt(o >>> 6 * (3 - s) & 63));\n            if (e = i.charAt(64)) for (; t.length % 4;) t.push(e);\n            return t.join(\"\")\n        },\n        parse: function(t) {\n            var e = t.length,\n            r = this._map; ! (i = r.charAt(64)) || -1 != (i = t.indexOf(i)) && (e = i);\n            for (var i = [], n = 0, o = 0; o < e; o++) if (o % 4) {\n                var s = r.indexOf(t.charAt(o - 1)) << o % 4 * 2,\n                c = r.indexOf(t.charAt(o)) >>> 6 - o % 4 * 2;\n                i[n >>> 2] |= (s | c) << 24 - n % 4 * 8,\n                n++\n            }\n            return a.create(i, n)\n        },\n        _map: \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+\/=\"\n    }\n} (),\nfunction(o) {\n    function k(t, e, r, i, n, o, s) {\n        return ((t = t + (e & r | ~e & i) + n + s) << o | t >>> 32 - o) + e\n    }\n    function C(t, e, r, i, n, o, s) {\n        return ((t = t + (e & i | r & ~i) + n + s) << o | t >>> 32 - o) + e\n    }\n    function w(t, e, r, i, n, o, s) {\n        return ((t = t + (e ^ r ^ i) + n + s) << o | t >>> 32 - o) + e\n    }\n    function z(t, e, r, i, n, o, s) {\n        return ((t = t + (r ^ (e | ~i)) + n + s) << o | t >>> 32 - o) + e\n    }\n    for (var t = CryptoJS,\n    e = (i = t.lib).WordArray, r = i.Hasher, i = t.algo, E = [], n = 0; n < 64; n++) E[n] = 4294967296 * o.abs(o.sin(n + 1)) | 0;\n    i = i.MD5 = r.extend({\n        _doReset: function() {\n            this._hash = new e.init([1732584193, 4023233417, 2562383102, 271733878])\n        },\n        _doProcessBlock: function(t, e) {\n            for (var r = 0; r < 16; r++) {\n                var i = t[s = e + r];\n                t[s] = 16711935 & (i << 8 | i >>> 24) | 4278255360 & (i << 24 | i >>> 8)\n            }\n            r = this._hash.words;\n            var n, o, s = t[e + 0],\n            c = (i = t[e + 1], t[e + 2]),\n            a = t[e + 3],\n            f = t[e + 4],\n            h = t[e + 5],\n            u = t[e + 6],\n            p = t[e + 7],\n            d = t[e + 8],\n            l = t[e + 9],\n            y = t[e + 10],\n            _ = t[e + 11],\n            g = t[e + 12],\n            v = t[e + 13],\n            B = t[e + 14],\n            S = t[e + 15],\n            m = r[0],\n            x = z(x = z(x = z(x = z(x = w(x = w(x = w(x = w(x = C(x = C(x = C(x = C(x = k(x = k(x = k(x = k(x = r[1], o = k(o = r[2], n = k(n = r[3], m = k(m, x, o, n, s, 7, E[0]), x, o, i, 12, E[1]), m, x, c, 17, E[2]), n, m, a, 22, E[3]), o = k(o, n = k(n, m = k(m, x, o, n, f, 7, E[4]), x, o, h, 12, E[5]), m, x, u, 17, E[6]), n, m, p, 22, E[7]), o = k(o, n = k(n, m = k(m, x, o, n, d, 7, E[8]), x, o, l, 12, E[9]), m, x, y, 17, E[10]), n, m, _, 22, E[11]), o = k(o, n = k(n, m = k(m, x, o, n, g, 7, E[12]), x, o, v, 12, E[13]), m, x, B, 17, E[14]), n, m, S, 22, E[15]), o = C(o, n = C(n, m = C(m, x, o, n, i, 5, E[16]), x, o, u, 9, E[17]), m, x, _, 14, E[18]), n, m, s, 20, E[19]), o = C(o, n = C(n, m = C(m, x, o, n, h, 5, E[20]), x, o, y, 9, E[21]), m, x, S, 14, E[22]), n, m, f, 20, E[23]), o = C(o, n = C(n, m = C(m, x, o, n, l, 5, E[24]), x, o, B, 9, E[25]), m, x, a, 14, E[26]), n, m, d, 20, E[27]), o = C(o, n = C(n, m = C(m, x, o, n, v, 5, E[28]), x, o, c, 9, E[29]), m, x, p, 14, E[30]), n, m, g, 20, E[31]), o = w(o, n = w(n, m = w(m, x, o, n, h, 4, E[32]), x, o, d, 11, E[33]), m, x, _, 16, E[34]), n, m, B, 23, E[35]), o = w(o, n = w(n, m = w(m, x, o, n, i, 4, E[36]), x, o, f, 11, E[37]), m, x, p, 16, E[38]), n, m, y, 23, E[39]), o = w(o, n = w(n, m = w(m, x, o, n, v, 4, E[40]), x, o, s, 11, E[41]), m, x, a, 16, E[42]), n, m, u, 23, E[43]), o = w(o, n = w(n, m = w(m, x, o, n, l, 4, E[44]), x, o, g, 11, E[45]), m, x, S, 16, E[46]), n, m, c, 23, E[47]), o = z(o, n = z(n, m = z(m, x, o, n, s, 6, E[48]), x, o, p, 10, E[49]), m, x, B, 15, E[50]), n, m, h, 21, E[51]), o = z(o, n = z(n, m = z(m, x, o, n, g, 6, E[52]), x, o, a, 10, E[53]), m, x, y, 15, E[54]), n, m, i, 21, E[55]), o = z(o, n = z(n, m = z(m, x, o, n, d, 6, E[56]), x, o, S, 10, E[57]), m, x, u, 15, E[58]), n, m, v, 21, E[59]), o = z(o, n = z(n, m = z(m, x, o, n, f, 6, E[60]), x, o, _, 10, E[61]), m, x, c, 15, E[62]), n, m, l, 21, E[63]);\n            r[0] = r[0] + m | 0,\n            r[1] = r[1] + x | 0,\n            r[2] = r[2] + o | 0,\n            r[3] = r[3] + n | 0\n        },\n        _doFinalize: function() {\n            var t = this._data,\n            e = t.words,\n            r = 8 * this._nDataBytes,\n            i = 8 * t.sigBytes;\n            e[i >>> 5] |= 128 << 24 - i % 32;\n            var n = o.floor(r \/ 4294967296);\n            for (e[15 + (i + 64 >>> 9 << 4)] = 16711935 & (n << 8 | n >>> 24) | 4278255360 & (n << 24 | n >>> 8), e[14 + (i + 64 >>> 9 << 4)] = 16711935 & (r << 8 | r >>> 24) | 4278255360 & (r << 24 | r >>> 8), t.sigBytes = 4 * (e.length + 1), this._process(), e = (t = this._hash).words, r = 0; r < 4; r++) i = e[r],\n            e[r] = 16711935 & (i << 8 | i >>> 24) | 4278255360 & (i << 24 | i >>> 8);\n            return t\n        },\n        clone: function() {\n            var t = r.clone.call(this);\n            return t._hash = this._hash.clone(),\n            t\n        }\n    }),\n    t.MD5 = r._createHelper(i),\n    t.HmacMD5 = r._createHmacHelper(i)\n} (Math),\nfunction() {\n    var t, e = CryptoJS,\n    r = (t = e.lib).Base,\n    f = t.WordArray,\n    i = (t = e.algo).EvpKDF = r.extend({\n        cfg: r.extend({\n            keySize: 4,\n            hasher: t.MD5,\n            iterations: 1\n        }),\n        init: function(t) {\n            this.cfg = this.cfg.extend(t)\n        },\n        compute: function(t, e) {\n            for (var r = (s = this.cfg).hasher.create(), i = f.create(), n = i.words, o = s.keySize, s = s.iterations; n.length < o;) {\n                c && r.update(c);\n                var c = r.update(t).finalize(e);\n                r.reset();\n                for (var a = 1; a < s; a++) c = r.finalize(c),\n                r.reset();\n                i.concat(c)\n            }\n            return i.sigBytes = 4 * o,\n            i\n        }\n    });\n    e.EvpKDF = function(t, e, r) {\n        return i.create(r).compute(t, e)\n    }\n} (),\nCryptoJS.lib.Cipher ||\nfunction() {\n    var t = (p = CryptoJS).lib,\n    e = t.Base,\n    s = t.WordArray,\n    r = t.BufferedBlockAlgorithm,\n    i = p.enc.Base64,\n    n = p.algo.EvpKDF,\n    o = t.Cipher = r.extend({\n        cfg: e.extend(),\n        createEncryptor: function(t, e) {\n            return this.create(this._ENC_XFORM_MODE, t, e)\n        },\n        createDecryptor: function(t, e) {\n            return this.create(this._DEC_XFORM_MODE, t, e)\n        },\n        init: function(t, e, r) {\n            this.cfg = this.cfg.extend(r),\n            this._xformMode = t,\n            this._key = e,\n            this.reset()\n        },\n        reset: function() {\n            r.reset.call(this),\n            this._doReset()\n        },\n        process: function(t) {\n            return this._append(t),\n            this._process()\n        },\n        finalize: function(t) {\n            return t && this._append(t),\n            this._doFinalize()\n        },\n        keySize: 4,\n        ivSize: 4,\n        _ENC_XFORM_MODE: 1,\n        _DEC_XFORM_MODE: 2,\n        _createHelper: function(i) {\n            return {\n                encrypt: function(t, e, r) {\n                    return (\"string\" == typeof e ? d: u).encrypt(i, t, e, r)\n                },\n                decrypt: function(t, e, r) {\n                    return (\"string\" == typeof e ? d: u).decrypt(i, t, e, r)\n                }\n            }\n        }\n    });\n    function c(t, e, r) {\n        var i = this._iv;\n        i ? this._iv = void 0 : i = this._prevBlock;\n        for (var n = 0; n < r; n++) t[e + n] ^= i[n]\n    }\n    t.StreamCipher = o.extend({\n        _doFinalize: function() {\n            return this._process(!0)\n        },\n        blockSize: 1\n    });\n    var a = p.mode = {},\n    f = (t.BlockCipherMode = e.extend({\n        createEncryptor: function(t, e) {\n            return this.Encryptor.create(t, e)\n        },\n        createDecryptor: function(t, e) {\n            return this.Decryptor.create(t, e)\n        },\n        init: function(t, e) {\n            this._cipher = t,\n            this._iv = e\n        }\n    })).extend();\n    f.Encryptor = f.extend({\n        processBlock: function(t, e) {\n            var r = this._cipher,\n            i = r.blockSize;\n            c.call(this, t, e, i),\n            r.encryptBlock(t, e),\n            this._prevBlock = t.slice(e, e + i)\n        }\n    }),\n    f.Decryptor = f.extend({\n        processBlock: function(t, e) {\n            var r = this._cipher,\n            i = r.blockSize,\n            n = t.slice(e, e + i);\n            r.decryptBlock(t, e),\n            c.call(this, t, e, i),\n            this._prevBlock = n\n        }\n    }),\n    a = a.CBC = f,\n    f = (p.pad = {}).Pkcs7 = {\n        pad: function(t, e) {\n            for (var r, i = (r = (r = 4 * e) - t.sigBytes % r) << 24 | r << 16 | r << 8 | r, n = [], o = 0; o < r; o += 4) n.push(i);\n            r = s.create(n, r),\n            t.concat(r)\n        },\n        unpad: function(t) {\n            t.sigBytes -= 255 & t.words[t.sigBytes - 1 >>> 2]\n        }\n    },\n    t.BlockCipher = o.extend({\n        cfg: o.cfg.extend({\n            mode: a,\n            padding: f\n        }),\n        reset: function() {\n            o.reset.call(this);\n            var t = (e = this.cfg).iv,\n            e = e.mode;\n            if (this._xformMode == this._ENC_XFORM_MODE) var r = e.createEncryptor;\n            else r = e.createDecryptor,\n            this._minBufferSize = 1;\n            this._mode = r.call(e, this, t && t.words)\n        },\n        _doProcessBlock: function(t, e) {\n            this._mode.processBlock(t, e)\n        },\n        _doFinalize: function() {\n            var t = this.cfg.padding;\n            if (this._xformMode == this._ENC_XFORM_MODE) {\n                t.pad(this._data, this.blockSize);\n                var e = this._process(!0)\n            } else e = this._process(!0),\n            t.unpad(e);\n            return e\n        },\n        blockSize: 4\n    });\n    var h = t.CipherParams = e.extend({\n        init: function(t) {\n            this.mixIn(t)\n        },\n        toString: function(t) {\n            return (t || this.formatter).stringify(this)\n        }\n    }),\n    u = (a = (p.format = {}).OpenSSL = {\n        stringify: function(t) {\n            var e = t.ciphertext;\n            return ((t = t.salt) ? s.create([1398893684, 1701076831]).concat(t).concat(e) : e).toString(i)\n        },\n        parse: function(t) {\n            var e = (t = i.parse(t)).words;\n            if (1398893684 == e[0] && 1701076831 == e[1]) {\n                var r = s.create(e.slice(2, 4));\n                e.splice(0, 4),\n                t.sigBytes -= 16\n            }\n            return h.create({\n                ciphertext: t,\n                salt: r\n            })\n        }\n    },\n    t.SerializableCipher = e.extend({\n        cfg: e.extend({\n            format: a\n        }),\n        encrypt: function(t, e, r, i) {\n            i = this.cfg.extend(i);\n            var n = t.createEncryptor(r, i);\n            return e = n.finalize(e),\n            n = n.cfg,\n            h.create({\n                ciphertext: e,\n                key: r,\n                iv: n.iv,\n                algorithm: t,\n                mode: n.mode,\n                padding: n.padding,\n                blockSize: t.blockSize,\n                formatter: i.format\n            })\n        },\n        decrypt: function(t, e, r, i) {\n            return i = this.cfg.extend(i),\n            e = this._parse(e, i.format),\n            t.createDecryptor(r, i).finalize(e.ciphertext)\n        },\n        _parse: function(t, e) {\n            return \"string\" == typeof t ? e.parse(t, this) : t\n        }\n    })),\n    p = (p.kdf = {}).OpenSSL = {\n        execute: function(t, e, r, i) {\n            return i = i || s.random(8),\n            t = n.create({\n                keySize: e + r\n            }).compute(t, i),\n            r = s.create(t.words.slice(e), 4 * r),\n            t.sigBytes = 4 * e,\n            h.create({\n                key: t,\n                iv: r,\n                salt: i\n            })\n        }\n    },\n    d = t.PasswordBasedCipher = u.extend({\n        cfg: u.cfg.extend({\n            kdf: p\n        }),\n        encrypt: function(t, e, r, i) {\n            return r = (i = this.cfg.extend(i)).kdf.execute(r, t.keySize, t.ivSize),\n            i.iv = r.iv,\n            (t = u.encrypt.call(this, t, e, r.key, i)).mixIn(r),\n            t\n        },\n        decrypt: function(t, e, r, i) {\n            return i = this.cfg.extend(i),\n            e = this._parse(e, i.format),\n            r = i.kdf.execute(r, t.keySize, t.ivSize, e.salt),\n            i.iv = r.iv,\n            u.decrypt.call(this, t, e, r.key, i)\n        }\n    })\n} (),\nfunction() {\n    for (var t = CryptoJS,\n    e = t.lib.BlockCipher,\n    r = t.algo,\n    s = [], i = [], n = [], o = [], c = [], a = [], f = [], h = [], u = [], p = [], d = [], l = 0; l < 256; l++) d[l] = l < 128 ? l << 1 : l << 1 ^ 283;\n    var y = 0,\n    _ = 0;\n    for (l = 0; l < 256; l++) {\n        var g = (g = _ ^ _ << 1 ^ _ << 2 ^ _ << 3 ^ _ << 4) >>> 8 ^ 255 & g ^ 99;\n        s[y] = g;\n        var v = d[i[g] = y],\n        B = d[v],\n        S = d[B],\n        m = 257 * d[g] ^ 16843008 * g;\n        n[y] = m << 24 | m >>> 8,\n        o[y] = m << 16 | m >>> 16,\n        c[y] = m << 8 | m >>> 24,\n        a[y] = m,\n        m = 16843009 * S ^ 65537 * B ^ 257 * v ^ 16843008 * y,\n        f[g] = m << 24 | m >>> 8,\n        h[g] = m << 16 | m >>> 16,\n        u[g] = m << 8 | m >>> 24,\n        p[g] = m,\n        y ? (y = v ^ d[d[d[S ^ v]]], _ ^= d[d[_]]) : y = _ = 1\n    }\n    var x = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54];\n    r = r.AES = e.extend({\n        _doReset: function() {\n            for (var t = (r = this._key).words, e = r.sigBytes \/ 4, r = 4 * ((this._nRounds = e + 6) + 1), i = this._keySchedule = [], n = 0; n < r; n++) if (n < e) i[n] = t[n];\n            else {\n                var o = i[n - 1];\n                n % e ? 6 < e && 4 == n % e && (o = s[o >>> 24] << 24 | s[o >>> 16 & 255] << 16 | s[o >>> 8 & 255] << 8 | s[255 & o]) : (o = s[(o = o << 8 | o >>> 24) >>> 24] << 24 | s[o >>> 16 & 255] << 16 | s[o >>> 8 & 255] << 8 | s[255 & o], o ^= x[n \/ e | 0] << 24),\n                i[n] = i[n - e] ^ o\n            }\n            for (t = this._invKeySchedule = [], e = 0; e < r; e++) n = r - e,\n            o = e % 4 ? i[n] : i[n - 4],\n            t[e] = e < 4 || n <= 4 ? o: f[s[o >>> 24]] ^ h[s[o >>> 16 & 255]] ^ u[s[o >>> 8 & 255]] ^ p[s[255 & o]]\n        },\n        encryptBlock: function(t, e) {\n            this._doCryptBlock(t, e, this._keySchedule, n, o, c, a, s)\n        },\n        decryptBlock: function(t, e) {\n            var r = t[e + 1];\n            t[e + 1] = t[e + 3],\n            t[e + 3] = r,\n            this._doCryptBlock(t, e, this._invKeySchedule, f, h, u, p, i),\n            r = t[e + 1],\n            t[e + 1] = t[e + 3],\n            t[e + 3] = r\n        },\n        _doCryptBlock: function(t, e, r, i, n, o, s, c) {\n            for (var a = this._nRounds,\n            f = t[e] ^ r[0], h = t[e + 1] ^ r[1], u = t[e + 2] ^ r[2], p = t[e + 3] ^ r[3], d = 4, l = 1; l < a; l++) {\n                var y = i[f >>> 24] ^ n[h >>> 16 & 255] ^ o[u >>> 8 & 255] ^ s[255 & p] ^ r[d++],\n                _ = i[h >>> 24] ^ n[u >>> 16 & 255] ^ o[p >>> 8 & 255] ^ s[255 & f] ^ r[d++],\n                g = i[u >>> 24] ^ n[p >>> 16 & 255] ^ o[f >>> 8 & 255] ^ s[255 & h] ^ r[d++];\n                p = i[p >>> 24] ^ n[f >>> 16 & 255] ^ o[h >>> 8 & 255] ^ s[255 & u] ^ r[d++],\n                f = y,\n                h = _,\n                u = g\n            }\n            y = (c[f >>> 24] << 24 | c[h >>> 16 & 255] << 16 | c[u >>> 8 & 255] << 8 | c[255 & p]) ^ r[d++],\n            _ = (c[h >>> 24] << 24 | c[u >>> 16 & 255] << 16 | c[p >>> 8 & 255] << 8 | c[255 & f]) ^ r[d++],\n            g = (c[u >>> 24] << 24 | c[p >>> 16 & 255] << 16 | c[f >>> 8 & 255] << 8 | c[255 & h]) ^ r[d++],\n            p = (c[p >>> 24] << 24 | c[f >>> 16 & 255] << 16 | c[h >>> 8 & 255] << 8 | c[255 & u]) ^ r[d++],\n            t[e] = y,\n            t[e + 1] = _,\n            t[e + 2] = g,\n            t[e + 3] = p\n        },\n        keySize: 8\n    }),\n    t.AES = e._createHelper(r)\n} (),\nCryptoJS.pad.ZeroPadding = {\n    pad: function(t, e) {\n        var r = 4 * e;\n        t.clamp(),\n        t.sigBytes += r - (t.sigBytes % r || r)\n    },\n    unpad: function(t) {\n        for (var e = t.words,\n        r = t.sigBytes - 1; ! (e[r >>> 2] >>> 24 - r % 4 * 8 & 255);) r--;\n        t.sigBytes = r + 1\n    }\n};\n\nfunction showChapter(t) {\n    var e = CryptoJS.enc.Latin1.parse(\"1234567812345678\"),\n    r = CryptoJS.enc.Latin1.parse(\"1234567812345676\");\n    return CryptoJS.AES.decrypt(t.trim(), e, {\n        iv: r,\n        padding: CryptoJS.pad.ZeroPadding\n    }).toString(CryptoJS.enc.Utf8)\n}\n\nString(result).length>50?showChapter(result):result;",
        "imageStyle": "0",
        "nextContentUrl": "",
        "sourceRegex": "",
        "webJs": ""
    },
    "ruleExplore": {
        "author": "tag.a.2@text",
        "bookList": "[email protected]",
        "bookUrl": "tag.a.1@href",
        "coverUrl": "tag.img@_src",
        "intro": "class.desc@text##详细.*",
        "kind": "",
        "lastChapter": "tag.a.3@text",
        "name": "tag.a.1@text",
        "wordCount": ""
    },
    "ruleSearch": {
        "author": "tag.span.1@text",
        "bookList": "[email protected]",
        "bookUrl": "tag.a.1@href",
        "coverUrl": "tag.img@_src",
        "intro": "class.desc@text##详细.*",
        "kind": "tag.span.0@text##\\s.*",
        "lastChapter": "tag.span.2@text",
        "name": "tag.a.1@text",
        "wordCount": "tag.span.0@text##.*\\s"
    },
    "ruleToc": {
        "chapterList": "$..chapter_list[*]",
        "chapterName": "$.title",
        "chapterUrl": "$.id@js:'https:\/\/jingpin-mbook.qm989.com\/index.php?c=bookChapter&a=ajaxGetContent&bid=' + java.get('bid') + '&cid=' + result;",
        "isVip": "$.is_vip",
        "nextTocUrl": "",
        "updateTime": ""
    },
    "searchUrl": "\/search-{{page}}.html?search_type=&keyword={{key}}",
    "weight": 0
}
广告