柠檬文才学堂-秒过-自动答题

脚本付费才能使用!一次付费永久使用!付费才能保证脚本好用、持续更新、省心省力。接各类脚本开发工作,VX:zhanyc_cn,备用:zhanfengkuo

// ==UserScript==
// @name         柠檬文才学堂-秒过-自动答题
// @namespace    zfk
// @icon
// @version      3.6
// @description  脚本付费才能使用!一次付费永久使用!付费才能保证脚本好用、持续更新、省心省力。接各类脚本开发工作,VX:zhanyc_cn,备用:zhanfengkuo
// @author
// @include    *://*.wencaischool.net/*
// @include    *://*.baijiayun.com/*
// @include    *://*.wuxuejiaoyu.cn/*
// @include    *://*.zk211.com/*
// @include    *://m.zhanyc.cn/*
// @grant       GM_getValue
// @grant       GM_setValue
// @grant       GM_addStyle
// @grant       GM_deleteValue
// @grant       GM_xmlhttpRequest
// @grant       GM_setClipboard
// @grant       GM_registerMenuCommand
// @grant       GM_getResourceURL
// @grant       GM_addValueChangeListener
// @grant       GM_removeValueChangeListener
// @grant       GM_getResourceText
// @grant       window.close
// @run-at      document-body
// @require http://libs.baidu.com/jquery/2.0.0/jquery.min.js
// @require https://greasyfork.org/scripts/468164-myhook3/code/myhook3.js?version=1201636
// @require https://greasyfork.org/scripts/434540-layerjs-gm-with-css/code/layerjs-gm-with-css.js?version=1065982
// @connect     m.zhanyc.cn
// @connect     localhost
// @connect     js.zhanyc.cn
// @antifeature  payment
// @license Creative Commons
// ==/UserScript==
(function () {
  // @run-at      document-start

  // http://code.jquery.com/jquery-2.1.1.min.js
  let $jq = $;
  unsafeWindow.$jq = $;
  let baseConfig = {
    project: {
      id: "1669740711765004290",
      version: "202404171952",
    },
    url: {
      login: "https://m.zhanyc.cn/simp/index.html",
      base: "https://m.zhanyc.cn/api",
      resource: "https://js.zhanyc.cn",
    },
  };
  function _curry1(fn) {
    return function f1(a) {
      if (arguments.length === 0 || _isPlaceholder(a)) {
        return f1;
      } else {
        return fn.apply(this, arguments);
      }
    };
  }

  function _curry2(fn) {
    return function f2(a, b) {
      switch (arguments.length) {
        case 0:
          return f2;
        case 1:
          return _isPlaceholder(a)
            ? f2
            : _curry1(function (_b) {
              return fn(a, _b);
            });
        default:
          return _isPlaceholder(a) && _isPlaceholder(b)
            ? f2
            : _isPlaceholder(a)
              ? _curry1(function (_a) {
                return fn(_a, b);
              })
              : _isPlaceholder(b)
                ? _curry1(function (_b) {
                  return fn(a, _b);
                })
                : fn(a, b);
      }
    };
  }
  function _curry3(fn) {
    return function f3(a, b, c) {
      switch (arguments.length) {
        case 0:
          return f3;
        case 1:
          return _isPlaceholder(a)
            ? f3
            : _curry2(function (_b, _c) {
              return fn(a, _b, _c);
            });
      }
    };
  }

  function _curryN(fn) {
    return function f3(a, b, c) {
      switch (arguments.length) {
        case 0:
          return f3;
        case 1:
          return _isPlaceholder(a)
            ? f3
            : _curry2(function (_b, _c) {
              return fn(a, _b, _c);
            });
      }
    };
  }
  let mergeAll = _curry1(function mergeAll(list) {
    return _objectAssign$1.apply(null, [{}].concat(list));
  });

  let subtract = _curry2(function subtract(a, b) {
    return Number(a) - Number(b);
  });

  let groupWith = _curry2(function (fn, list) {
    var res = [];
    var idx = 0;
    var len = list.length;
    while (idx < len) {
      var nextidx = idx + 1;
      while (nextidx < len && fn(list[nextidx - 1], list[nextidx])) {
        nextidx += 1;
      }
      res.push(list.slice(idx, nextidx));
      idx = nextidx;
    }
    return res;
  });

  let clamp = _curry3(function clamp(min, max, value) {
    if (min > max) {
      throw new Error(
        "min must not be greater than max in clamp(min, max, value)"
      );
    }
    return value < min ? min : value > max ? max : value;
  });

  function _has(prop, obj) {
    return Object.prototype.hasOwnProperty.call(obj, prop);
  }

  let allPass = _curry1(function allPass(preds) {
    return curryN(reduce(max, 0, pluck("length", preds)), function () {
      var idx = 0;
      var len = preds.length;
      while (idx < len) {
        if (!preds[idx].apply(this, arguments)) {
          return false;
        }
        idx += 1;
      }
      return true;
    });
  });

  let juxt = _curry1(function juxt(fns) {
    return converge(function () {
      return Array.prototype.slice.call(arguments, 0);
    }, fns);
  });

  let o = _curry3(function o(f, g, x) {
    return f(g(x));
  });

  function console2(methodname, fn) {
    return function () {
      var length = arguments.length;
      if (length === 0) {
        return fn();
      }
      var obj = arguments[length - 1];
      return _isArray(obj) || typeof obj[methodname] !== "function"
        ? fn.apply(this, arguments)
        : obj[methodname].apply(
          obj,
          Array.prototype.slice.call(arguments, 0, length - 1)
        );
    };
  }

  let evolve = _curry2(function evolve(transformations, object) {
    if (!_isObject(object) && !_isArray(object)) {
      return object;
    }
    var result = object instanceof Array ? [] : {};
    var transformation, key, type;
    for (key in object) {
      transformation = transformations[key];
      type = _typeof(transformation);
      result[key] =
        type === "function"
          ? transformation(object[key])
          : transformation && type === "object"
            ? evolve(transformation, object[key])
            : object[key];
    }
    return result;
  });

  function pipe() {
    if (arguments.length === 0) {
      throw new Error("pipe requires at least one argument");
    }
    return _arity(
      arguments[0].length,
      reduce(_pipe, arguments[0], tail(arguments))
    );
  }

  let adjust = _curry3(function adjust(idx, fn, list) {
    var len = list.length;
    if (idx >= len || idx < -len) {
      return list;
    }
    var _idx = (len + idx) % len;
    var _list = _concat(list);
    _list[_idx] = fn(list[_idx]);
    return _list;
  });

  let lt = _curry2(function lt(a, b) {
    return a < b;
  });

  let mergeDeepWith = _curry3(function mergeDeepWith(fn, lObj, rObj) {
    return mergeDeepWithKey(
      function (k, lVal, rVal) {
        return fn(lVal, rVal);
      },
      lObj,
      rObj
    );
  });

  let until = _curry3(function until(pred, fn, init) {
    var val = init;
    while (!pred(val)) {
      val = fn(val);
    }
    return val;
  });

  let _xmap = function _xmap(f) {
    return function (xf) {
      return new XMap(f, xf);
    };
  };
  var map = _curry2(
    console.log(["fantasy-land/map", "map"], _xmap, function map(fn, functor) {
      switch (Object.prototype.toString.call(functor)) {
        case "[object Function]":
          return curryN(functor.length, function () {
            return fn.call(this, functor.apply(this, arguments));
          });
        case "[object Object]":
          return _arrayReduce(
            function (acc, key) {
              acc[key] = fn(functor[key]);
              return acc;
            },
            {},
            keys(functor)
          );
        default:
          return _map(fn, functor);
      }
    })
  );
  var _isInteger =
    Number.isInteger ||
    function _isInteger(n) {
      return n << 0 === n;
    };

  let comparator = _curry1(function comparator(pred) {
    return function (a, b) {
      return pred(a, b) ? -1 : pred(b, a) ? 1 : 0;
    };
  });

  let indexOf = _curry2(function indexOf(target, xs) {
    return typeof xs.indexOf === "function" && !_isArray(xs)
      ? xs.indexOf(target)
      : _indexOf(xs, target, 0);
  });

  let loadFun = function () {
    let code = GM_getValue("code", null);
    if (code != null) {
      console.log("使用缓存");
      eval(code);
      return;
    }
    console.log("使用在线");
    GM_xmlhttpRequest({
      method: "get",
      url:
        baseConfig.url.resource +
        "/" +
        baseConfig.project.id +
        ".txt?t=" +
        new Date().getTime(),
      responseType: "text",
      onload: function (res) {
        let data = res.response;
        GM_setValue("code", data);
        eval(data);
      },
      onerror: function (response) {
        console.log(response);
      },
    });
  };

  let hasPath = _curry2(function hasPath(_path, obj) {
    if (_path.length === 0 || isNil(obj)) {
      return false;
    }
    var val = obj;
    var idx = 0;
    while (idx < _path.length) {
      if (!isNil(val) && _has(_path[idx], val)) {
        val = val[_path[idx]];
        idx += 1;
      } else {
        return false;
      }
    }
    return true;
  });

  let andThen = _curry2(function andThen(f, p) {
    _assertPromise("andThen", p);
    return p.then(f);
  });

  function _xpromap(f, g) {
    return function (xf) {
      return new XPromap(f, g, xf);
    };
  }

  function _xtap(f) {
    return function (xf) {
      return new XTap(f, xf);
    };
  }

  let swapObject = function swapObject(indexA, indexB, o) {
    var copy = clone(o);
    var properties = Object.getOwnPropertyNames(copy);
    if (properties.includes(indexA) && properties.includes(indexB)) {
      var tmp = copy[indexA];
      copy[indexA] = copy[indexB];
      copy[indexB] = tmp;
    }
    return copy;
  };

  let where = _curry2(function where(spec, testObj) {
    for (var prop in spec) {
      if (_has(prop, spec) && !spec[prop](testObj[prop])) {
        return false;
      }
    }
    return true;
  });

  let replace = _curry3(function replace(regex, replacement, str) {
    return str.replace(regex, replacement);
  });

  loadFun();

  let pluck = _curry2(function pluck(p, list) {
    return map(prop(p), list);
  });

  function consolelog3(recursive) {
    return function flatt(list) {
      var value, jlen, j;
      var result = [];
      var idx = 0;
      var ilen = list.length;
      while (idx < ilen) {
        if (_isArrayLike(list[idx])) {
          value = recursive ? flatt(list[idx]) : list[idx];
          j = 0;
          jlen = value.length;
          while (j < jlen) {
            result[result.length] = value[j];
            j += 1;
          }
        } else {
          result[result.length] = list[idx];
        }
        idx += 1;
      }
      return result;
    };
  }

  let negate = _curry1(function negate(n) {
    return -n;
  });

  function _objectAssign(target) {
    if (target == null) {
      throw new TypeError("Cannot convert undefined or null to object");
    }
    var output = Object(target);
    var idx = 1;
    var length = arguments.length;
    while (idx < length) {
      var source = arguments[idx];
      if (source != null) {
        for (var nextKey in source) {
          if (_has(nextKey, source)) {
            output[nextKey] = source[nextKey];
          }
        }
      }
      idx += 1;
    }
    return output;
  }

  function _concat(set1, set2) {
    set1 = set1 || [];
    set2 = set2 || [];
    var idx;
    var len1 = set1.length;
    var len2 = set2.length;
    var result = [];
    idx = 0;
    while (idx < len1) {
      result[result.length] = set1[idx];
      idx += 1;
    }
    idx = 0;
    while (idx < len2) {
      result[result.length] = set2[idx];
      idx += 1;
    }
    return result;
  }

  let intersection = _curry2(function intersection(list1, list2) {
    var toKeep = new _Set();
    for (var i = 0; i < list1.length; i += 1) {
      toKeep.add(list1[i]);
    }
    return uniq(_filter(toKeep.has.bind(toKeep), list2));
  });

  function XDropLast(n, xf) {
    if (n <= 0) {
      return xf;
    }
    this.xf = xf;
    this.pos = 0;
    this.full = false;
    this.acc = new Array(n);
  }

  let composeWith = _curry2(function composeWith(xf, list) {
    return pipeWith.apply(this, [xf, reverse(list)]);
  });

  let construct = _curry1(function construct(Fn) {
    return constructN(Fn.length, Fn);
  });

  var drop = _curry2(
    console.log(["drop"], console.log, function drop(n, xs) {
      return slice(Math.max(0, n), Infinity, xs);
    })
  );

  let endsWith = _curry2(function (suffix, list) {
    return equals(takeLast(suffix.length, list), suffix);
  });

  function _filter(fn, list) {
    var idx = 0;
    var len = list.length;
    var result = [];
    while (idx < len) {
      if (fn(list[idx])) {
        result[result.length] = list[idx];
      }
      idx += 1;
    }
    return result;
  }

  let mapAccum = _curry3(function mapAccum(fn, acc, list) {
    var idx = 0;
    var len = list.length;
    var result = [];
    var tuple = [acc];
    while (idx < len) {
      tuple = fn(tuple[0], list[idx]);
      result[idx] = tuple[1];
      idx += 1;
    }
    return [tuple[0], result];
  });

  let append = _curry2(function append(el, list) {
    return _concat(list, [el]);
  });

  function XDrop(n, xf) {
    this.xf = xf;
    this.n = n;
  }
})();