// ==UserScript== // @name 🎯学习通全能助手|【💡我不明白】|✨超星尔雅|自动化答题课程不暂停 // @namespace 余恋研喜 // @version 2.1.1 // @description 进入超星学习页面后自动加载控制面板,集中管理脚本状态、配置项和日志。自动识别章节任务,支持倍速播放/挂机模式,结课后可自动跳到下一章。章节测试可一键开启自动答题、自动保存与自动提交;支持导入题库 token 提高准确率。运行日志实时显示所有动作,提供清空、导出按钮,方便排查问题。学习进度面板展示当前任务、百分比、学习时长等信息,便于掌握脚本执行情况。 // @author 雪中送碳 // @run-at document-end // @storageName wbmb // @match *://*.chaoxing.com/* // @match *://*.edu.cn/* // @match *://*.nbdlib.cn/* // @match *://*.hnsyu.net/* // @match *://*.ac.cn/* // @icon http://pan-yz.chaoxing.com/favicon.ico // @grant unsafeWindow // @grant GM_xmlhttpRequest // @grant GM_setValue // @grant GM_getValue // @grant GM_addValueChangeListener // @grant GM_info // @connect mooc1-1.chaoxing.com // @connect mooc1.chaoxing.com // @connect mooc1-2.chaoxing.com // @connect passport2-api.chaoxing.com // @connect 14.29.190.187 // @connect cx.icodef.com // @connect tk.swk.tw // @license GPL-3.0-or-later // @original-script https://scriptcat.org/script-show-page/878/ // @original-author unrival // @original-license GPL-3.0-or-later //如果脚本提示添加安全网址,请将脚本提示内容填写到下方区域,一行一个,如果不会,请加群询问 //安全网址请填写在上方空白区域 // ==/UserScript== (() => { // 配置 var token = GM_getValue('tikutoken'), jumpType = 1, // 0:智能模式,1:遍历模式,2:不跳转 disableMonitor = 0, // 0:无操作,1:解除多端学习监控 accuracy = 70, // 章节测试正确率百分比 randomDo = 1, // 找不到答案自动选 backGround = 0, // 是否对接超星挂机小助手 autoLogin = 0, // 掉线是否自动登录 phoneNumber = '', // 自动登录的手机号 password = ''; // 自动登录的密码 // 常量定义 const CONSTANTS = { LOG_MAX_LENGTH: 50, LOOP_INTERVAL: 500, MIN_BROWSER_VERSION: 86, BACKGROUND_CHECK_INTERVAL: 15, CONFIRM_INTERVAL: 2000, BUTTON_CLASSES: { DEFAULT: 'btn btn-default', SUCCESS: 'btn btn-success' } }; // 全局变量 var host = 'http://14.29.190.187:54223/', rate = GM_getValue('unrivalrate', '1'), ctUrl = 'http://tk.swk.tw/api/search.php', isCat = GM_info.scriptHandler == 'ScriptCat', _w = unsafeWindow, _d = _w.document, _l = _w.location, _p = _l.protocol, _h = _l.host, isFf = _w.navigator.userAgent.includes("Firefox"), isMobile = _w.navigator.userAgent.includes("Android"), stop = false, cVersion = 999, jq = _w.top.$ || _w.top.jQuery; // 工具函数 const getQueryVariable = (variable) => { const q = _l.search.substring(1).split("&"); for (const param of q) { const [key, val] = param.split("="); if (key === variable) return val; } return null; }; const getCookie = (name) => `; ${document.cookie}`.split(`; ${name}=`).pop().split(';')[0]; const handleImgs = (s) => { if (!s) return ''; return s.replace(/]*src=["']([^"']+)["'][^>]*>/gi, (match, url) => { return url.replace(/^https?:\/\//, ''); }); }; // 时间格式化工具函数 const formatTime = (date = new Date()) => { const pad = (n) => String(n).padStart(2, '0'); return { hour: pad(date.getHours()), minute: pad(date.getMinutes()), second: pad(date.getSeconds()) }; }; const formatDuration = (seconds = 0) => { const total = Math.max(0, Math.floor(Number(seconds) || 0)); const h = Math.floor(total / 3600); const m = Math.floor((total % 3600) / 60); const s = total % 60; const pad = (n) => String(n).padStart(2, '0'); if (h > 0) { return `${pad(h)}:${pad(m)}:${pad(s)}`; } return `${pad(m)}:${pad(s)}`; }; const trim = (s) => { if (!s) return ''; const replacements = { 'javascript:void(0);': '', ' ': '', ',': ',', '。': '.', ':': ':', ';': ';', '?': '?', '(': '(', ')': ')', '"': '"', '"': '"', '!': '!', '-': ' ' }; let result = handleImgs(s); for (const [old, new_] of Object.entries(replacements)) { result = result.replaceAll(old, new_); } return result.replace(/(<([^>]+)>)/ig, '') .replace(/^\s+/ig, '') .replace(/\s+$/ig, ''); }; // 获取页面参数(初始值,后续可能会被重新赋值) let classId = getQueryVariable('clazzid') || getQueryVariable('clazzId') || getQueryVariable('classid') || getQueryVariable('classId'); let courseId = getQueryVariable('courseid') || getQueryVariable('courseId'); let UID = getCookie('_uid') || getCookie('UID'); let FID = getCookie('fid'); // 重写confirm函数 _w.confirm = () => true; setInterval(() => { _w.confirm = () => true; }, CONSTANTS.CONFIRM_INTERVAL); // 规范化倍速值 rate = parseFloat(rate) === parseInt(rate) ? parseInt(rate) : parseFloat(rate); try { _w.top.unrivalReviewMode = GM_getValue('unrivalreview', '0') || '0'; _w.top.unrivalDoWork = GM_getValue('unrivaldowork', '1') || '1'; _w.top.unrivalAutoSubmit = GM_getValue('unrivalautosubmit', '1') || '1'; _w.top.unrivalAutoSave = GM_getValue('unrivalautosave', '0') || '0'; } catch (e) { } if (_l.href.indexOf("knowledge/cards") > 0) { let allowBackground = false, spans = _d.getElementsByTagName('span'); for (let i = 0, l = spans.length; i < l; i++) { if (spans[i].innerHTML.indexOf('章节未开放') != -1) { if (_l.href.indexOf("ut=s") != -1) { _l.href = _l.href.replace("ut=s", "ut=t").replace(/&cpi=[0-9]{1,10}/, ''); } else if (_l.href.indexOf("ut=t") != -1) { spans[i].innerHTML = '此课程为闯关模式,请回到上一章节完成学习任务!' return; } break; } } _w.top.unrivalPageRd = String(Math.random()); if (!isFf) { try { cVersion = parseInt(navigator.userAgent.match(/Chrome\/[0-9]{2,3}./)[0].replace('Chrome/', '') .replace('.', '')); } catch (e) { } } var busyThread = 0, getStr = (str, start, end) => { let res = str.substring(str.indexOf(start), str.indexOf(end)).replace(start, ''); return res; }, scripts = _d.getElementsByTagName('script'), param = null; for (let i = 0, l = scripts.length; i < l; i++) { if (scripts[i].innerHTML.indexOf('mArg = "";') != -1 && scripts[i].innerHTML.indexOf( '==UserScript==') == -1) { param = getStr(scripts[i].innerHTML, 'try{\n mArg = ', ';\n}catch(e){'); } } if (param == null) { return; } try { vrefer = _d.getElementsByClassName('ans-attach-online ans-insertvideo-online')[0].src; } catch (e) { vrefer = _p + '//' + _h + '/ananas/modules/video/index.html?v=2022-1118-1729'; } GM_setValue('vrefer', vrefer); GM_setValue('host', _h); var base222 = `data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAHQAdADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD6pooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig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GlSzgSASN1baAM0AalFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB8y/tsW+oz6T4bNtBLJZJLKZSikhXwu3P4bq6H9kDwtPofgC91K+t5ILnVLncgkXa3lIMKfoSWr3hlV1KsAynqCMg0oAAAAAA7CgAooooAzNe8QaR4et459c1G1sIZG2o08gQMfQZq7ZXUF9axXNnNHPbyqGSSNtysD3BrxH9pf4Va78Q20a78PT25lsleN7eeTYCGIO4HGMjFeg/B/wvd+Dfh7pOhahcJcXVsjeY8ZJUFmLbRnqBnFAHZ0UUUAfHf7bNn5fjPw/eAKPOsGiyOpKSE8/99ivWv2RLoz/By2jO7/R7yePk+4bj/vqnftKfC3U/iLpelS6C9uL+wd/3czbBIjYzhsdQQOtb3wA8A3nw88Cf2ZqksUt/PcNczeUxZFJAAUE9eFFMD0qiiikB8eftj+EbqLxfYeIrK1lktby3EM7xoSFlQnGceqkflXt37MMV/B8HNHj1SGSGRWl8pZAQfL3krwfxr1RlDKVYAqeoI60oAAAAAA7CgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP//Zft1TCQAAAABzP0oMyiars87QQAvuiDAQ` _d.getElementsByTagName("html")[0].innerHTML = ` 学习通小助手
任务配置
任务列表
运行日志
学习进度
使用说明
保存 复习模式 后台挂机 激活挂机
保存 请前往网址tk.swk.tw领取密钥
微信码

🔧作者是大四牛马,大二的时候已经对本专业不感兴趣了却转不了专业,大三上学期连挂三门,奖学金离我而去,而且身心俱疲🔧

📚学化学救不了我的毕设,所以大四我考研计算机了(还胖了8近),而且为了顺利毕业,将挂的科重修回来了📚

🚀也祝福大家都能找到自己热爱的事业,而不是被不感兴趣的课程耽误,祝学业顺利🚀

提示:使用 Ctrl+3 快速切换到日志
[00:00:00]如果此提示不消失,说明页面出现了错误,请联系作者
当前任务
暂无任务
0%
类型:-
等待任务开始

📖 使用说明

1️⃣

本脚本对接的新题库需要前往 tk.swk.tw 领取密钥以解锁自动答题功能

2️⃣

如任务点没通过,先通过浏览器右上角拓展图标(拼图形状)关闭脚本,检查是视频还是章节检测任务点没通过。

  • 视频任务点没通过:请关闭倍数
  • 章节检测任务点没通过:请先领取密钥以激活答题功能
3️⃣

如要最小化运行,请在任务配置中激活挂机

💡 提示:如有其他问题,请查看运行日志或联系作者

`; // 日志系统(优化版) var logs = { logArry: [], logElement: null, logContainer: null, // 初始化日志元素(延迟获取,确保DOM已加载) init: function() { if (!this.logElement) { this.logElement = _d.getElementById('log'); this.logContainer = _d.querySelector('#tab-log .panel-body'); } }, // 滚动到底部 scrollToBottom: function() { this.init(); if (this.logElement) { // 使用requestAnimationFrame确保DOM更新后再滚动 requestAnimationFrame(() => { this.logElement.scrollTop = this.logElement.scrollHeight; // 如果logElement本身不可滚动,滚动其父容器 if (this.logContainer) { this.logContainer.scrollTop = this.logContainer.scrollHeight; } }); } }, addLog: function (str, color = "black") { if (this.logArry.length >= CONSTANTS.LOG_MAX_LENGTH) { this.logArry.shift(); } const time = formatTime(); const logEntry = `[${time.hour}:${time.minute}:${time.second}] ${str}`; this.logArry.push(logEntry); this.init(); if (this.logElement) { this.logElement.innerHTML = this.logArry.join('
'); // 只在日志tab可见时才自动滚动 const logTab = _d.getElementById('tab-log'); if (logTab && logTab.classList.contains('active')) { this.scrollToBottom(); } } } }, clampPercent = (value) => { if (typeof value !== 'number' || isNaN(value)) return 0; return Math.max(0, Math.min(100, Math.round(value))); }, progressTracker = { state: { taskName: '暂无任务', percent: 0, type: '-', detail: '等待任务开始' }, elements: { name: null, percent: null, bar: null, detail: null, type: null }, init: function () { if (!this.elements.name) { this.elements = { name: _d.getElementById('progressTaskName'), percent: _d.getElementById('progressTaskPercent'), bar: _d.getElementById('progressBarFill'), detail: _d.getElementById('progressTaskDetail'), type: _d.getElementById('progressTaskType') }; } return this.elements.name && this.elements.percent && this.elements.bar && this.elements.detail && this.elements.type; }, render: function () { if (!this.init()) return; this.elements.name.textContent = this.state.taskName; this.elements.percent.textContent = this.state.percent + '%'; this.elements.bar.style.width = this.state.percent + '%'; this.elements.bar.setAttribute('aria-valuenow', this.state.percent); this.elements.detail.textContent = this.state.detail; this.elements.type.textContent = '类型:' + this.state.type; }, update: function (patch = {}) { this.state = Object.assign({}, this.state, patch); if (typeof this.state.percent !== 'number') { this.state.percent = 0; } this.state.percent = clampPercent(this.state.percent); this.render(); }, reset: function (message = '等待任务开始') { this.update({ taskName: '暂无任务', percent: 0, type: '-', detail: message }); } }, getTaskName = (item) => { if (!item) return '未命名任务'; if (item['name']) return item['name']; if (item['property']) { if (item['property']['name']) return item['property']['name']; if (item['property']['title']) return item['property']['title']; } return '未命名任务'; }, buildTaskTitle = (typeLabel, item) => { return '[' + typeLabel + '] ' + getTaskName(item); }, reportProgress = (typeLabel, item, percent, detail) => { progressTracker.update({ taskName: buildTaskTitle(typeLabel, item), type: typeLabel, percent: percent, detail: detail }); }, htmlHook = setInterval(function () { if (_d.getElementById('unrivalRate') && _d.getElementById('updateRateButton') && _d .getElementById('reviewModeButton') && _d.getElementById('autoDoWorkButton') && _d .getElementById('autoSubmitButton') && _d.getElementById('autoSaveButton')) { if (!backGround) { _d.getElementById('fuckMeModeButton').style.display = "none"; } allowBackground = Math.round(new Date() / 1000) - parseInt(GM_getValue( 'unrivalBackgroundVideoEnable', '6')) < CONSTANTS.BACKGROUND_CHECK_INTERVAL; if (allowBackground) { _d.getElementById('fuckMeModeButton').setAttribute('href', 'unrivalxxtbackground/'); } clearInterval(htmlHook); progressTracker.render(); if (cVersion < CONSTANTS.MIN_BROWSER_VERSION) { logs.addLog( '\u60a8\u7684\u6d4f\u89c8\u5668\u5185\u6838\u8fc7\u8001\uff0c\u8bf7\u66f4\u65b0\u7248\u672c\u6216\u4f7f\u7528\u4e3b\u6d41\u6d4f\u89c8\u5668\uff0c\u63a8\u8350\u003c\u0061\u0020\u0068\u0072\u0065\u0066\u003d\u0022\u0068\u0074\u0074\u0070\u0073\u003a\u002f\u002f\u0077\u0077\u0077\u002e\u006d\u0069\u0063\u0072\u006f\u0073\u006f\u0066\u0074\u002e\u0063\u006f\u006d\u002f\u007a\u0068\u002d\u0063\u006e\u002f\u0065\u0064\u0067\u0065\u0022\u0020\u0074\u0061\u0072\u0067\u0065\u0074\u003d\u0022\u0076\u0069\u0065\u0077\u005f\u0077\u0069\u006e\u0064\u006f\u0077\u0022\u003e\u0065\u0064\u0067\u0065\u6d4f\u89c8\u5668\u003c\u002f\u0061\u003e', 'red'); stop = true; return; } if (isMobile) { logs.addLog('手机浏览器不保证能正常运行此脚本', 'orange'); } _d.addEventListener('visibilitychange', function () { let isH = _d.hidden; if (!isH) { logs.addLog('欢迎回来,您不在的时候我也在努力,记得激活挂机模式哦,这样我就不会偷懒了', 'orange'); } }); _d.getElementById('unrivalRate').value = rate; _d.getElementById('updateToken').onclick = () => { const newToken = _d.getElementById('token').value; logs.addLog('题库token已更新为' + newToken, 'green'); GM_setValue('tikutoken', newToken); token = newToken; }; _d.getElementById('updateRateButton').onclick = () => { let urate = _d.getElementById('unrivalRate').value; urate = parseFloat(urate) === parseInt(urate) ? parseInt(urate) : parseFloat(urate); GM_setValue('unrivalrate', urate); rate = urate; if (urate > 0) { logs.addLog('视频倍速已更新为' + urate + '倍,将在3秒内生效', 'green'); } else { logs.addLog('奇怪的倍速,将会自动跳过视频任务', 'orange'); } }; _d.getElementById('backGround').onclick = () => { logs.addLog('挂机激活成功,您现在可以最小化页面了', 'green'); _w.top.backNow = 1; }; // 按钮切换处理函数 const toggleButton = (buttonId, storageKey, topKey, messages) => { const button = _d.getElementById(buttonId); const isActive = button.getAttribute('class') === CONSTANTS.BUTTON_CLASSES.SUCCESS; const newClass = isActive ? CONSTANTS.BUTTON_CLASSES.DEFAULT : CONSTANTS.BUTTON_CLASSES.SUCCESS; const newValue = isActive ? '0' : '1'; button.setAttribute('class', newClass); logs.addLog(isActive ? messages.off : messages.on, 'green'); GM_setValue(storageKey, newValue); _w.top[topKey] = newValue; }; _d.getElementById('reviewModeButton').onclick = () => toggleButton( 'reviewModeButton', 'unrivalreview', 'unrivalReviewMode', { on: '复习模式已开启,遇到已完成的视频任务不会跳过', off: '复习模式已关闭,遇到已完成的视频任务会自动跳过' } ); _d.getElementById('autoDoWorkButton').onclick = () => toggleButton( 'autoDoWorkButton', 'unrivaldowork', 'unrivalDoWork', { on: '自动做章节测试已开启,将会自动做章节测试', off: '自动做章节测试已关闭,将不会自动做章节测试' } ); _d.getElementById('autoSubmitButton').onclick = () => toggleButton( 'autoSubmitButton', 'unrivalautosubmit', 'unrivalAutoSubmit', { on: '符合提交标准的章节测试将会自动提交', off: '章节测试将不会自动提交' } ); _d.getElementById('autoSaveButton').onclick = () => toggleButton( 'autoSaveButton', 'unrivalautosave', 'unrivalAutoSave', { on: '不符合提交标准的章节测试将会自动保存', off: '不符合提交标准的章节测试将不会自动保存,等待用户自己操作' } ); // 选项卡切换功能(优化版) // 缓存DOM元素,提高性能 const tabItems = _d.querySelectorAll('.tab-item'); const tabContents = _d.querySelectorAll('.tab-content'); const logContainer = _d.querySelector('#tab-log .panel-body'); const switchTab = (tabName) => { try { // 移除所有活动状态 tabItems.forEach(item => item.classList.remove('active')); tabContents.forEach(content => content.classList.remove('active')); // 激活选中的选项卡 const activeTab = _d.querySelector(`[data-tab="${tabName}"]`); const activeContent = _d.getElementById(`tab-${tabName}`); if (!activeTab || !activeContent) { console.warn(`选项卡 "${tabName}" 不存在`); return; } activeTab.classList.add('active'); activeContent.classList.add('active'); // 特殊处理:切换到日志tab时,自动滚动到底部 if (tabName === 'log') { setTimeout(() => { logs.scrollToBottom(); }, 100); } // 保存用户选择 GM_setValue('lastSelectedTab', tabName); } catch (error) { console.error('切换选项卡时出错:', error); logs.addLog('切换选项卡时出错: ' + error.message, 'red'); } }; // 绑定选项卡点击事件 tabItems.forEach(item => { item.onclick = () => { const tabName = item.getAttribute('data-tab'); if (tabName) switchTab(tabName); }; }); // 键盘快捷键:Ctrl+1-4 切换选项卡 _d.addEventListener('keydown', (e) => { if (e.ctrlKey && e.key >= '1' && e.key <= '4') { e.preventDefault(); const tabNames = ['config', 'joblist', 'log', 'progress']; const index = parseInt(e.key) - 1; if (tabNames[index]) { switchTab(tabNames[index]); } } }); // 恢复用户上次选择的选项卡 const lastTab = GM_getValue('lastSelectedTab', 'config'); if (lastTab !== 'config') { setTimeout(() => switchTab(lastTab), 200); } // 清空日志功能 const clearLogBtn = _d.getElementById('clearLogBtn'); if (clearLogBtn) { clearLogBtn.onclick = () => { if (confirm('确定要清空所有日志吗?')) { logs.logArry = []; const logElement = _d.getElementById('log'); if (logElement) { logElement.innerHTML = '[日志已清空]'; } logs.addLog('日志已清空', 'green'); } }; } // 导出日志功能 const exportLogBtn = _d.getElementById('exportLogBtn'); if (exportLogBtn) { exportLogBtn.onclick = () => { try { const logText = logs.logArry.map(log => { // 移除HTML标签,提取纯文本 const div = _d.createElement('div'); div.innerHTML = log; return div.textContent || div.innerText || ''; }).join('\n'); const blob = new Blob([logText], { type: 'text/plain;charset=utf-8' }); const url = URL.createObjectURL(blob); const a = _d.createElement('a'); a.href = url; a.download = `学习通日志_${new Date().toISOString().replace(/[:.]/g, '-')}.txt`; _d.body.appendChild(a); a.click(); _d.body.removeChild(a); URL.revokeObjectURL(url); logs.addLog('日志导出成功', 'green'); } catch (error) { console.error('导出日志失败:', error); logs.addLog('导出日志失败: ' + error.message, 'red'); } }; } } }, 100), loopjob = () => { if (_w.top.unrivalScriptList.length > 1) { logs.addLog('您同时开启了多个刷课脚本,会挂科,会挂科,会挂科,会挂科,会挂科,会挂科,会挂科,会挂科', 'red'); } if (cVersion < CONSTANTS.MIN_BROWSER_VERSION) { logs.addLog( '\u60a8\u7684\u6d4f\u89c8\u5668\u5185\u6838\u8fc7\u8001\uff0c\u8bf7\u66f4\u65b0\u7248\u672c\u6216\u4f7f\u7528\u4e3b\u6d41\u6d4f\u89c8\u5668\uff0c\u63a8\u8350\u003c\u0061\u0020\u0068\u0072\u0065\u0066\u003d\u0022\u0068\u0074\u0074\u0070\u0073\u003a\u002f\u002f\u0077\u0077\u0077\u002e\u006d\u0069\u0063\u0072\u006f\u0073\u006f\u0066\u0074\u002e\u0063\u006f\u006d\u002f\u007a\u0068\u002d\u0063\u006e\u002f\u0065\u0064\u0067\u0065\u0022\u0020\u0074\u0061\u0072\u0067\u0065\u0074\u003d\u0022\u0076\u0069\u0065\u0077\u005f\u0077\u0069\u006e\u0064\u006f\u0077\u0022\u003e\u0065\u0064\u0067\u0065\u6d4f\u89c8\u5668\u003c\u002f\u0061\u003e', 'red'); stop = true; return; } if (stop) { return; } let missionli = missionList; if (missionli == []) { setTimeout(loopjob, CONSTANTS.LOOP_INTERVAL); return; } for (let itemName in missionli) { if (missionli[itemName]['running']) { setTimeout(loopjob, CONSTANTS.LOOP_INTERVAL); return; } } for (let itemName in missionli) { if (!missionli[itemName]['done']) { switch (missionli[itemName]['type']) { case 'video': doVideo(missionli[itemName]); break; case 'document': doDocument(missionli[itemName]); break; case 'work': doWork(missionli[itemName]); break; } setTimeout(loopjob, CONSTANTS.LOOP_INTERVAL); return; } } if (busyThread <= 0) { progressTracker.update({ taskName: '所有任务', type: '完成', percent: 100, detail: '所有任务处理完毕' }); if (jumpType != 2) { _w.top.jump = true; logs.addLog('所有任务处理完毕,5秒后自动下一章', 'green'); } else { logs.addLog('所有任务处理完毕,用户设置为不跳转,脚本已结束运行,如需自动跳转,请编辑脚本代码参数', 'green'); } clearInterval(loopjob); } else { setTimeout(loopjob, CONSTANTS.LOOP_INTERVAL); } }, readyCheck = () => { setTimeout(function () { try { if (!isCat) { logs.addLog( '推荐使用脚本猫运行此脚本,使用其他脚本管理器不保证能正常运行', 'orange'); } // 恢复按钮状态 const setButtonState = (buttonId, value, message) => { const button = _d.getElementById(buttonId); if (button) { const buttonClass = value === '1' ? CONSTANTS.BUTTON_CLASSES.SUCCESS : CONSTANTS.BUTTON_CLASSES.DEFAULT; button.setAttribute('class', buttonClass); if (message && value === '1') { logs.addLog(message, 'green'); } } }; setButtonState('reviewModeButton', _w.top.unrivalReviewMode, '复习模式已开启,遇到已完成的视频任务不会跳过'); setButtonState('autoDoWorkButton', _w.top.unrivalDoWork, '自动做章节测试已开启,将会自动做章节测试'); setButtonState('autoSubmitButton', _w.top.unrivalAutoSubmit); setButtonState('autoSaveButton', _w.top.unrivalAutoSave); } catch (e) { console.log(e); readyCheck(); return; } }, 500); } progressTracker.reset(); readyCheck(); try { var pageData = JSON.parse(param); } catch (e) { if (jumpType != 2) { _w.top.jump = true; logs.addLog('此页无任务,5秒后自动下一章', 'green'); } else { logs.addLog('此页无任务,用户设置为不跳转,脚本已结束运行,如需自动跳转,请编辑脚本代码参数', 'green'); } return; } var data = pageData['defaults'], jobList = [], chapterId = data['knowledgeid'], reportUrl = data['reportUrl'], ktoken = data['ktoken']; // 使用data中的值更新classId和courseId(如果存在) classId = classId || data['clazzId']; UID = UID || data['userid']; FID = FID || data['fid']; for (let i = 0, l = pageData['attachments'].length; i < l; i++) { let item = pageData['attachments'][i]; if (item['job'] != true || item['isPassed'] == true) { if (_w.top.unrivalReviewMode == '1' && item['type'] == 'video') { jobList.push(item); } continue; } else { jobList.push(item); } } var video_getReady = (item) => { let statusUrl = _p + '//' + _h + '/ananas/status/' + item['property']['objectid'] + '?k=' + FID + '&flag=normal&_dc=' + String(Math.round(new Date())), doubleSpeed = item['property']['doublespeed']; busyThread += 1; GM_xmlhttpRequest({ method: "get", headers: { 'Host': _h, 'Referer': vrefer, 'Sec-Fetch-Site': 'same-origin' }, url: statusUrl, onload: function (res) { try { busyThread -= 1; let videoInfo = JSON.parse(res.responseText), duration = videoInfo['duration'], dtoken = videoInfo['dtoken']; if (duration == undefined) { _d.getElementById('joblist').innerHTML += `
` + '[无效视频]' + item['property']['name'] + `
` return; } missionList['m' + item['jobid']] = { 'module': item['property']['module'], 'type': 'video', 'dtoken': dtoken, 'duration': duration, 'objectId': item['property']['objectid'], 'rt': item['property']['rt'] || '0.9', 'otherInfo': item['otherInfo'], 'doublespeed': doubleSpeed, 'jobid': item['jobid'], 'name': item['property']['name'], 'done': false, 'running': false }; _d.getElementById('joblist').innerHTML += `
` + '[视频]' + item['property']['name'] + `
` } catch (e) { } }, onerror: function (err) { console.log(err); if (err.error.indexOf('@connect list') >= 0) { logs.addLog('请添加安全网址,将 【 //@connect ' + _h + ' 】方括号里的内容(不包括方括号)添加到脚本代码内指定位置,否则脚本无法正常运行,如图所示:', 'red'); logs.addLog( '' ); stop = true; } else { logs.addLog('获取任务详情失败', 'red'); logs.addLog('错误原因:' + err.error, 'red'); } } }); }, doVideo = (item) => { const videoDuration = Number(item['duration']) || 0; reportProgress('视频', item, 0, videoDuration ? '准备开始 (00:00 / ' + formatDuration(videoDuration) + ')' : '准备开始...'); if (rate <= 0) { missionList['m' + item['jobid']]['running'] = true; logs.addLog('奇怪的倍速,视频已自动跳过', 'orange'); reportProgress('视频', item, 100, '倍速异常,已自动跳过该视频'); setTimeout(function () { missionList['m' + item['jobid']]['running'] = false; missionList['m' + item['jobid']]['done'] = true; }, 5000); return; } if (allowBackground && backGround) { if (_w.top.document.getElementsByClassName('catalog_points_sa').length > 0 || _w.top.document .getElementsByClassName('lock').length > 0) { logs.addLog('您已安装超星挂机小助手,但此课程可能为闯关模式,不支持后台挂机,将为您在线完成', 'blue'); } else { item['userid'] = UID; item['classId'] = classId; item['review'] = [false, true][_w.top.unrivalReviewMode]; item['reportUrl'] = reportUrl; item['rt'] = missionList['m' + item['jobid']]['rt']; GM_setValue('unrivalBackgroundVideo', item); _d.cookie = "videojs_id=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;"; logs.addLog( '您已安装超星挂机小助手,已添加至后台任务,点我查看后台', 'green'); reportProgress('视频', item, 100, '已添加至后台挂机任务'); missionList['m' + item['jobid']]['running'] = true; setTimeout(function () { missionList['m' + item['jobid']]['running'] = false; missionList['m' + item['jobid']]['done'] = true; }, 5000); return; } } let videojs_id = String(parseInt(Math.random() * 9999999)); _d.cookie = 'videojs_id=' + videojs_id + ';path=/' logs.addLog('开始刷视频:' + item['name'] + ',倍速:' + String(rate) + '倍'); logs.addLog('视频观看信息每30秒上报一次,请耐心等待', 'green'); logs.addLog('如遇脚本使用异常情况,请检查脚本版本是否为最新版,点我(脚本猫)点我(greasyfork)检查', 'orange'); if (disableMonitor) { logs.addLog('解除多端学习监控有清除进度风险,请谨慎使用', 'orange'); } let dtype = 'Video'; if (item['module'].includes('audio')) { dtype = 'Audio'; rt = ''; } let playTime = 0, playsTime = 0, isdrag = '3', times = 0, encUrl = '', first = true, loop = setInterval(function () { if (rate <= 0) { clearInterval(loop); logs.addLog('奇怪的倍速,视频已自动跳过', 'orange'); setTimeout(function () { missionList['m' + item['jobid']]['running'] = false; missionList['m' + item['jobid']]['done'] = true; }, 5000); return; } else if (item['doublespeed'] == 0 && rate > 1 && _w.top.unrivalReviewMode == '0') { //rate = 1; //logs.addLog('该视频不允许倍速播放,已恢复至一倍速,高倍速会被清空进度挂科,勿存侥幸', 'red'); } rt = missionList['m' + item['jobid']]['rt']; playsTime += rate; playTime = Math.ceil(playsTime); const cappedTime = videoDuration ? Math.min(playTime, videoDuration) : playTime; const percent = videoDuration ? (cappedTime / videoDuration) * 100 : 0; reportProgress('视频', item, percent, videoDuration ? ('进度 ' + formatDuration(cappedTime) + ' / ' + formatDuration(videoDuration)) : ('已观看 ' + formatDuration(cappedTime))); if (times == 0 || times % 30 == 0 || playTime >= item['duration']) { if (first) { playTime = 0; } if (playTime >= item['duration']) { clearInterval(loop); playTime = item['duration']; isdrag = '4'; } else if (playTime > 0) { isdrag = '0'; } encUrl = host + 'chaoXing/v3/getEnc.php?classid=' + classId + '&playtime=' + playTime + '&duration=' + item['duration'] + '&objectid=' + item[ 'objectId'] + '&jobid=' + item['jobid'] + '&uid=' + UID; busyThread += 1; var _bold_playTime = playTime; function ecOnload(res) { let enc = ''; if (res && res.status == 200) { enc = res.responseText; if (enc.includes('--#')) { let warnInfo = enc.match(new RegExp('--#(.*?)--#', "ig"))[0] .replace(/--#/ig, ''); logs.addLog(warnInfo, 'red'); enc = enc.replace(/--#(.*?)--#/ig, ''); } if (enc.indexOf('.stop') >= 0) { clearInterval(loop); stop = true; return; } } else { strEc = `[${classId}][${UID}][${item['jobid']}][${item['objectId']}][${playTime * 1000}][d_yHJ!$pdA~5][${item['duration'] * 1000}][0_${item['duration']}]`, enc = jq.md5(strEc); } if (enc.length != 32) { clearInterval(loop); stop = true; return; } let reportsUrl = reportUrl + '/' + item['dtoken'] + '?clazzId=' + classId + '&playingTime=' + playTime + '&duration=' + item['duration'] + '&clipTime=0_' + item[ 'duration'] + '&objectId=' + item['objectId'] + '&otherInfo=' + item['otherInfo'] + '&jobid=' + item[ 'jobid'] + '&userid=' + UID + '&isdrag=' + isdrag + '&view=pc&enc=' + enc + '&rt=' + rt + '&dtype=' + dtype + '&_t=' + String(Math.round(new Date())); GM_xmlhttpRequest({ method: "get", headers: { 'Host': _h, 'Referer': vrefer, 'Sec-Fetch-Site': 'same-origin', 'Content-Type': 'application/json' }, url: reportsUrl, onload: function (res) { try { let today = new Date(), todayStr = today.getFullYear() + 'd' + today.getMonth() + 'd' + today .getDate(), timelong = GM_getValue( 'unrivaltimelong', {}); if (timelong[UID] == undefined || timelong[UID]['today'] != todayStr ) { timelong[UID] = { 'time': 0, 'today': todayStr }; } else { timelong[UID]['time']++; } GM_setValue('unrivaltimelong', timelong); busyThread -= 1; if (timelong[UID]['time'] / 60 > 22 && item['doublespeed'] == 0 && _w.top .unrivalReviewMode == '0') { clearInterval(loop); logs.addLog( '今日学习时间过长,继续学习会导致清空进度,请明天再来', 'red'); setTimeout(function () { missionList['m' + item[ 'jobid']][ 'running' ] = false; missionList['m' + item[ 'jobid']][ 'done' ] = true; }, 5000); return; } let ispass = JSON.parse(res .responseText); first = false; if (ispass['isPassed'] && _w.top .unrivalReviewMode == '0') { logs.addLog('视频任务已完成', 'green'); reportProgress('视频', item, 100, '视频任务已完成'); missionList['m' + item['jobid']]['running'] = false; missionList['m' + item['jobid']]['done'] = true; clearInterval(loop); return; } else if (isdrag == '4') { if (_w.top.unrivalReviewMode == '1') { logs.addLog('视频已观看完毕', 'green'); } else { logs.addLog('视频已观看完毕,但视频任务未完成', 'red'); } reportProgress('视频', item, 100, _w.top.unrivalReviewMode == '1' ? '视频已观看完毕' : '视频已观看完毕,等待任务点完成'); missionList['m' + item['jobid']][ 'running' ] = false; missionList['m' + item['jobid']][ 'done' ] = true; try { clearInterval(loop); } catch (e) { } } else { logs.addLog(item['name'] + '已观看' + _bold_playTime + '秒,剩余大约' + String(item['duration'] - _bold_playTime) + '秒'); } } catch (e) { console.log(e); if (res.responseText.indexOf('验证码') >= 0) { logs.addLog('已被超星风控,请点我处理,60秒后自动刷新页面', 'red'); missionList['m' + item['jobid']][ 'running' ] = false; clearInterval(loop); stop = true; setTimeout(function () { _l.reload(); }, 60000); return; } logs.addLog('超星返回错误信息,十秒后重试', 'red'); times = -10; reportProgress('视频', item, percent, '超星返回错误信息,十秒后重试'); return; } }, onerror: function (err) { console.log(err); if (err.error.indexOf('@connect list') >= 0) { logs.addLog( '请添加安全网址,将 【 //@connect ' + _h + ' 】方括号里的内容(不包括方括号)添加到脚本代码内指定位置,否则脚本无法正常运行,如图所示:', 'red'); logs.addLog( '' ); stop = true; } else { logs.addLog('观看视频失败', 'red'); logs.addLog('错误原因:' + err.error, 'red'); } reportProgress('视频', item, percent, '观看视频失败:' + err.error); missionList['m' + item['jobid']][ 'running' ] = false; clearInterval(loop); } }); }; GM_xmlhttpRequest({ method: "get", url: encUrl, timeout: 2000, onload: ecOnload, onerror: function (err) { console.log(err); ecOnload(false); }, ontimeout: function (err) { console.log(err); ecOnload(false); } }); } times += 1; }, 1000); missionList['m' + item['jobid']]['running'] = true; }, doDocument = (item) => { missionList['m' + item['jobid']]['running'] = true; logs.addLog('开始刷文档:' + item['name']); reportProgress('文档', item, 0, '准备阅读文档...'); setTimeout(function () { busyThread += 1; GM_xmlhttpRequest({ method: "get", url: _p + '//' + _h + '/ananas/job/document?jobid=' + item['jobid'] + '&knowledgeid=' + chapterId + '&courseid=' + courseId + '&clazzid=' + classId + '&jtoken=' + item['jtoken'], onload: function (res) { try { busyThread -= 1; let ispass = JSON.parse(res.responseText); if (ispass['status']) { logs.addLog('文档任务已完成', 'green'); reportProgress('文档', item, 100, '文档任务已完成'); } else { logs.addLog('文档已阅读完成,但任务点未完成', 'red'); reportProgress('文档', item, 100, '文档已阅读完成,但任务点未完成'); } } catch (err) { console.log(err); console.log(res.responseText); logs.addLog('解析文档内容失败', 'red'); reportProgress('文档', item, 0, '解析文档内容失败,稍后重试'); } missionList['m' + item['jobid']]['running'] = false; missionList['m' + item['jobid']]['done'] = true; }, onerror: function (err) { console.log(err); if (err.error.indexOf('@connect list') >= 0) { logs.addLog('请添加安全网址,将 【 //@connect ' + _h + ' 】方括号里的内容(不包括方括号)添加到脚本代码内指定位置,否则脚本无法正常运行,如图所示:', 'red'); logs.addLog( '' ); stop = true; } else { logs.addLog('阅读文档失败', 'red'); logs.addLog('错误原因:' + err.error, 'red'); } reportProgress('文档', item, 0, '阅读文档失败:' + err.error); missionList['m' + item['jobid']]['running'] = false; missionList['m' + item['jobid']]['done'] = true; } }); }, parseInt(Math.random() * 2000 + 9000, 10)) }, doWork = (item) => { missionList['m' + item['jobid']]['running'] = true; logs.addLog('开始刷章节测试:' + item['name']); logs.addLog('您设置的答题正确率为:' + String(accuracy) + '%,只有在高于此正确率时才会提交测试', 'blue'); reportProgress('章节测试', item, 0, '正在打开章节测试...'); _d.getElementById('workPanel').style.display = 'block'; _d.getElementById('frame_content').src = _p + '//' + _h + '/work/phone/work?workId=' + item['jobid'] .replace('work-', '') + '&courseId=' + courseId + '&clazzId=' + classId + '&knowledgeId=' + chapterId + '&jobId=' + item['jobid'] + '&enc=' + item['enc']; _w.top.unrivalWorkInfo = ''; _w.top.unrivalDoneWorkId = ''; setInterval(function () { if (_w.top.unrivalWorkInfo != '') { logs.addLog(_w.top.unrivalWorkInfo); _w.top.unrivalWorkInfo = ''; } }, 100); let checkcross = setInterval(function () { if (_w.top.unrivalWorkDone == false) { clearInterval(checkcross); return; } let ifW = _d.getElementById('frame_content').contentWindow; try { ifW.location.href; } catch (e) { console.log(e); if (e.message.indexOf('cross-origin') != -1) { clearInterval(checkcross); _w.top.unrivalWorkDone = true; return; } } }, 2000); let workDoneInterval = setInterval(function () { if (_w.top.unrivalWorkDone) { _w.top.unrivalWorkDone = false; clearInterval(workDoneInterval); _w.top.unrivalDoneWorkId = ''; _d.getElementById('workPanel').style.display = 'none'; _d.getElementById('frame_content').src = ''; setTimeout(function () { missionList['m' + item['jobid']]['running'] = false; missionList['m' + item['jobid']]['done'] = true; reportProgress('章节测试', item, 100, '章节测试已完成'); }, 5000); } }, 500); }, missionList = []; if (jobList.length <= 0) { progressTracker.reset('当前章节没有需要完成的任务'); if (jumpType != 2) { _w.top.jump = true; logs.addLog('此页无任务,5秒后自动下一章', 'green'); } else { logs.addLog('此页无任务,用户设置为不跳转,脚本已结束运行,如需自动跳转,请编辑脚本代码参数', 'green'); } return; } for (let i = 0, l = jobList.length; i < l; i++) { let item = jobList[i]; if (item['type'] == 'video') { video_getReady(item); } else if (item['type'] == 'document') { missionList['m' + item['jobid']] = { 'type': 'document', 'jtoken': item['jtoken'], 'jobid': item['jobid'], 'name': item['property']['name'], 'done': false, 'running': false }; _d.getElementById('joblist').innerHTML += `
` + '[文档]' + item['property']['name'] + `
` } else if (item['type'] == 'workid' && _w.top.unrivalDoWork == '1') { missionList['m' + item['jobid']] = { 'type': 'work', 'workid': item['property']['workid'], 'jobid': item['jobid'], 'name': item['property']['title'], 'enc': item['enc'], 'done': false, 'running': false }; _d.getElementById('joblist').innerHTML += `
` + '[章节测试]' + item['property']['title'] + `
` } else { try { let jobName = item['property']['name']; if (jobName == undefined) { jobName = item['property']['title']; } _d.getElementById('joblist').innerHTML += `
` + '已跳过:' + jobName + `
` } catch (e) { } } } loopjob(); } else if (_l.href.includes("mycourse/studentstudy")) { var audiofile = 'data:audio/ogg;base64,T2dnUwACAAAAAAAAAABwRPFFAAAAAGFtEqwBHgF2b3JiaXMAAAAAAUAfAAAAAAAAUHgAAAAAAACZAU9nZ1MAAAAAAAAAAAAAcETxRQEAAAA7J4IBDP8F////////////tQN2b3JiaXMvAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxNDAxMjIgKFR1cnBha8OkcsOkamlpbikGAAAAJQAAAEVOQ09ERVI9U291bmQgU3R1ZGlvLCBsaWJWb3JiaXMgMS4zLjEbAAAAQUxCVU0gQVJUSVNUPUFkdmVudHVyZSBMYW5kFAAAAEFMQlVNPUFkdmVudHVyZSBMYW5kIQAAAEVOQ09ESU5HIEFQUExJQ0FUSU9OPVNvdW5kIFN0dWRpbxUAAABBUlRJU1Q9QWR2ZW50dXJlIExhbmQjAAAAVElUTEU9RW1wdHkgTG9vcCBGb3IgSlMgUGVyZm9ybWFuY2UBBXZvcmJpcxJCQ1YBAAABAAxSFCElGVNKYwiVUlIpBR1jUFtHHWPUOUYhZBBTiEkZpXtPKpVYSsgRUlgpRR1TTFNJlVKWKUUdYxRTSCFT1jFloXMUS4ZJCSVsTa50FkvomWOWMUYdY85aSp1j1jFFHWNSUkmhcxg6ZiVkFDpGxehifDA6laJCKL7H3lLpLYWKW4q91xpT6y2EGEtpwQhhc+211dxKasUYY4wxxsXiUyiC0JBVAAABAABABAFCQ1YBAAoAAMJQDEVRgNCQVQBABgCAABRFcRTHcRxHkiTLAkJDVgEAQAAAAgAAKI7hKJIjSZJkWZZlWZameZaouaov+64u667t6roOhIasBADIAAAYhiGH3knMkFOQSSYpVcw5CKH1DjnlFGTSUsaYYoxRzpBTDDEFMYbQKYUQ1E45pQwiCENInWTOIEs96OBi5zgQGrIiAIgCAACMQYwhxpBzDEoGIXKOScggRM45KZ2UTEoorbSWSQktldYi55yUTkompbQWUsuklNZCKwUAAAQ4AAAEWAiFhqwIAKIAABCDkFJIKcSUYk4xh5RSjinHkFLMOcWYcowx6CBUzDHIHIRIKcUYc0455iBkDCrmHIQMMgEAAAEOAAABFkKhISsCgDgBAIMkaZqlaaJoaZooeqaoqqIoqqrleabpmaaqeqKpqqaquq6pqq5seZ5peqaoqp4pqqqpqq5rqqrriqpqy6ar2rbpqrbsyrJuu7Ks256qyrapurJuqq5tu7Js664s27rkearqmabreqbpuqrr2rLqurLtmabriqor26bryrLryratyrKua6bpuqKr2q6purLtyq5tu7Ks+6br6rbqyrquyrLu27au+7KtC7vourauyq6uq7Ks67It67Zs20LJ81TVM03X9UzTdVXXtW3VdW1bM03XNV1XlkXVdWXVlXVddWVb90zTdU1XlWXTVWVZlWXddmVXl0XXtW1Vln1ddWVfl23d92VZ133TdXVblWXbV2VZ92Vd94VZt33dU1VbN11X103X1X1b131htm3fF11X11XZ1oVVlnXf1n1lmHWdMLqurqu27OuqLOu+ruvGMOu6MKy6bfyurQvDq+vGseu+rty+j2rbvvDqtjG8um4cu7Abv+37xrGpqm2brqvrpivrumzrvm/runGMrqvrqiz7uurKvm/ruvDrvi8Mo+vquirLurDasq/Lui4Mu64bw2rbwu7aunDMsi4Mt+8rx68LQ9W2heHVdaOr28ZvC8PSN3a+AACAAQcAgAATykChISsCgDgBAAYhCBVjECrGIIQQUgohpFQxBiFjDkrGHJQQSkkhlNIqxiBkjknIHJMQSmiplNBKKKWlUEpLoZTWUmotptRaDKG0FEpprZTSWmopttRSbBVjEDLnpGSOSSiltFZKaSlzTErGoKQOQiqlpNJKSa1lzknJoKPSOUippNJSSam1UEproZTWSkqxpdJKba3FGkppLaTSWkmptdRSba21WiPGIGSMQcmck1JKSamU0lrmnJQOOiqZg5JKKamVklKsmJPSQSglg4xKSaW1kkoroZTWSkqxhVJaa63VmFJLNZSSWkmpxVBKa621GlMrNYVQUgultBZKaa21VmtqLbZQQmuhpBZLKjG1FmNtrcUYSmmtpBJbKanFFluNrbVYU0s1lpJibK3V2EotOdZaa0ot1tJSjK21mFtMucVYaw0ltBZKaa2U0lpKrcXWWq2hlNZKKrGVklpsrdXYWow1lNJiKSm1kEpsrbVYW2w1ppZibLHVWFKLMcZYc0u11ZRai621WEsrNcYYa2415VIAAMCAAwBAgAlloNCQlQBAFAAAYAxjjEFoFHLMOSmNUs45JyVzDkIIKWXOQQghpc45CKW01DkHoZSUQikppRRbKCWl1losAACgwAEAIMAGTYnFAQoNWQkARAEAIMYoxRiExiClGIPQGKMUYxAqpRhzDkKlFGPOQcgYc85BKRljzkEnJYQQQimlhBBCKKWUAgAAChwAAAJs0JRYHKDQkBUBQBQAAGAMYgwxhiB0UjopEYRMSielkRJaCylllkqKJcbMWomtxNhICa2F1jJrJcbSYkatxFhiKgAA7MABAOzAQig0ZCUAkAcAQBijFGPOOWcQYsw5CCE0CDHmHIQQKsaccw5CCBVjzjkHIYTOOecghBBC55xzEEIIoYMQQgillNJBCCGEUkrpIIQQQimldBBCCKGUUgoAACpwAAAIsFFkc4KRoEJDVgIAeQAAgDFKOSclpUYpxiCkFFujFGMQUmqtYgxCSq3FWDEGIaXWYuwgpNRajLV2EFJqLcZaQ0qtxVhrziGl1mKsNdfUWoy15tx7ai3GWnPOuQAA3AUHALADG0U2JxgJKjRkJQCQBwBAIKQUY4w5h5RijDHnnENKMcaYc84pxhhzzjnnFGOMOeecc4wx55xzzjnGmHPOOeecc84556CDkDnnnHPQQeicc845CCF0zjnnHIQQCgAAKnAAAAiwUWRzgpGgQkNWAgDhAACAMZRSSimllFJKqKOUUkoppZRSAiGllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimVUkoppZRSSimllFJKKaUAIN8KBwD/BxtnWEk6KxwNLjRkJQAQDgAAGMMYhIw5JyWlhjEIpXROSkklNYxBKKVzElJKKYPQWmqlpNJSShmElGILIZWUWgqltFZrKam1lFIoKcUaS0qppdYy5ySkklpLrbaYOQelpNZaaq3FEEJKsbXWUmuxdVJSSa211lptLaSUWmstxtZibCWlllprqcXWWkyptRZbSy3G1mJLrcXYYosxxhoLAOBucACASLBxhpWks8LR4EJDVgIAIQEABDJKOeecgxBCCCFSijHnoIMQQgghREox5pyDEEIIIYSMMecghBBCCKGUkDHmHIQQQgghhFI65yCEUEoJpZRSSucchBBCCKWUUkoJIYQQQiillFJKKSGEEEoppZRSSiklhBBCKKWUUkoppYQQQiillFJKKaWUEEIopZRSSimllBJCCKGUUkoppZRSQgillFJKKaWUUkooIYRSSimllFJKCSWUUkoppZRSSikhlFJKKaWUUkoppQAAgAMHAIAAI+gko8oibDThwgMQAAAAAgACTACBAYKCUQgChBEIAAAAAAAIAPgAAEgKgIiIaOYMDhASFBYYGhweICIkAAAAAAAAAAAAAAAABE9nZ1MAAAAlAAAAAAAAcETxRQIAAADTrXQwJmt0bGlramxtbHNnb21tbXFzcGtpbmtwcW5zbnVvb2tsdHBta3BlZhbry4DtM3VQAWLUQPUmXo6f2t47/VrSXPrn8ma9e/AsTi3jqbB04Sw1zdUPa1fjBMs6ownQ4fOi7NHbj7EzW18kEcPik1/Hkf6eyyMbbw0MVludxzOcVjQa0tFB03Y3O32eBHsYvVfM2gBiF0vOUGLD1pagBBgAQIxhIGX9+b9y/2nv4/t7D9itr/186PC/E6ve0ZkxrzRb3FpXyv7J9NScZvTM1XbpHSd+Ju08SmIxLbasFJ1T6vnXiRtuqyhS3kmftQgl8tfnGzZLV/1YpYeM+Q6/cNjATi4Vt+3pAGIWvsZgLmYRoMQY9cQ8tT4w9Lvcr++VI4fNwX/fvj3rvN9EuAhnY/OP+CuO9jXMmpysCOMpwj1HBLeq35i+xyq60Nw7d6yBpaSaBDP3jOFoFN/x7/IEcapdaY2sww2nRCfm01ZD+6vEZZJ1DGIXPs6g29Iri4EYY162vvt+VKqlfzH11bP7Z33Xf6S89kRuzB/j5y/PkZOYo3S+5Jm4RvMrpEbbhLmhIaF9rVXiuUxUvHQLPVIveiyU24DGNLhIScNs9cUVfepmowzVOEnm0hDeXAdBN2IXvmTsDHEAxFgB2ooJm4floR8vJ57Y7P377PaW+GvEvSfzdnpqXFlZgjQkZUiMZPw9XnUTwquoN/oWnM29dRtD8cddNHbriDk06c9rSg4SbA2P0ctYSrAO6xeUKJTguQHVnOsW8IVKPT+hYhe+5rFe0VrKAn6M2vHJyT8nr+tDW/u+2cqlY/Lf01fq/85y7Ph7625oxu5CwuLr8dP8ROByyJ0ynbiFw360xxCM0smHfWxuwERtV8yvw+XlnjtWunqGpNh0CZd8NIE0aejlNXRk9+rTBl4XyamwBINdAqgAkWo/Lcfefr48/3H8eNduPV1ei3pQKaZwe+9mQkNnHFZ60vYOjdLfiku5C77tKvu/yWu5yLe206/LF54LvPrPlI8DEbZH5fIn6p72c5aGOumB6KazRYybsEeUAZp4GpTDDWIXvs6Yuh8xd0ACCCId96Oz1g8n5sPTPOOdzY90G8f7zNyaZ7wysba77LWDalPj0Q+3xCXGpZk3nr1GwYv8fbBzZSQfVff5/KvKVnfkizXG6Oj2tDhEbUmIexVn4W90k4QOoa7BA9SDETmTzxhiF77G0O3KBIgxyon3NVPff/3z6I/Dr+WZo+Sffmtr7bUnabprN7LWupJjOXyIqxfq2bzHeG/P+r21Lhk1zy1OGg5lEUne6kB92BzzjU/TTkYUkI9qBfop6DzmDd4UfCN/CGtO8bqvzHfi3Q5iFr7GMHJhIxdpbWNKIwHEmBirTWr/fv/4i8e7L3/dObaz+Soqwfx+/9FIvWbJicnORaLbmDyWxs3usrdwerPppjbD8MlYdOSrBJBnyG+Fv74wYPGhhxwpcpNHKqb6OmwuBIfBdT57kMINGfcpyHHhbX4KYhi+xrDd8DwPiH5MZpnvxLNDH68+7zP7j7m1Pqo1ee3Q49p8G4lVLbL5l+hK7FMPiSPL6OYwyymXkTftNF7HYlctgdsZ90F2oebPv3PJtfue942usdsE4bzeYH5hPY7WFKt8pgm7FmIXvs4gvroAEBOAel4+hCvf3/pnmcprH66dXb69vr3PjGufU9ee9FbnoBPeTYxk2siW9VPD4gf+wje4XE/VTUIgSGZOphQvYco4Mf/qcy0nHRdJ9wFSKmlsyt+tbbm0YHPO7ed5ifVhveYQm+4RTGIXvsbQB/xgtqZAjL7WhCZnHTqetn+/iZ+v21Xn/6+OW8OPkHg8fsz7dyX3h5yecQLrdpnos0RnoO89KZm/5T5CeSFao4DEhQfp+S1IdED7bPGmvL8Kbsz7wLXXx/pGHaahaxB/ya/X4jNG9gZmF0vt4Yu83igoAPwEMLFq9XQzGr3W7tFbd188TU0d5a0frZ0/M3X60sbP0TsneFsLy5OJ5ErSdOP3I20lZaasMvMl6d1Pt9FmExGTftf4zEnKoci+zzKityAgwEqmCfiVnHxoOtR1EDzKKdghXhc+ZNh4tU0AYgwW07i0dfPjQ0f+7W/X2Tnd+sBk7w6vHNo5bjHHnXUzL+yWtR/NTXmaZ0za0uNpVrVctp78reWr55Z8sfl8fXjlxnQk/a6FCCRe5aG0ejw5PqYw5ioa1vapzdtH2f04mWufu2IWvsagDxxYy0GgAsToo/WL882ntybTfjF74unM1bYH/ybTh6+GJV1cpSSHiTPLOnVoddbsfGA5iXv9sMHtqnswpu+iG3cEbKTUdfE061k1Rl8EBHEjLT287bR5LAqC//MULwTHvZxUxjJp88zWZYciYha+zmCuWpu9gxgTQDiJkz9sEqe3jtx5krA5/v+TdHd7X85+kLN7k9bJ5WVf642s9rqy6jS0vPX/O+q35dI7HPK9oVaWzId535hFksfK1DMS5dEh+6z6VKkrxF3+ylydtOjP7jt/e9Nw/Tm7Q83EKE/yAF4WPmTY/NmmPDAAgBgZL+HfX38fsrexy++SL2++llkbxs8yXvdxzz0NQ9jUPb16cfGumzvRknbtYtQjfZJfSqwcTK3dvHiSXwtnv6RTHo2zkKaMGQIMYy3peexdJ/rrkfHZIuO599bwVVbWqYYrYwliFr7OoG10t7QBMUbFw8TpA1Pre2baL5/PePvi6egSnTzrdd1oYWXdfA6BWUiIx3Ui2SOrhC/u96m/xtR5sxXiLuOwBkZgtuBljCKqwFLdqbC5iHL2dF4p6fRlCylFo0rhMTAok2kQ/LAFAWIYvmQwF010EBsgpsad/b4bU7Pf1Yfr/Xa+GG7XWqLse7eepFy273Y2Yl5qu5Ln3tVhL5lbmxjJrJ9f1sNwRveWDM/vy7Q6FbMukSjmD33JHjlvV9fs36BrTpQeyeKp5mNxSogzLV6nCGIXvs6Qi7T0tEdMAHG+YmLn/INc+v+h3f+6sqmTNn9WB28J24/T06tR2sS69cxwM5gJ1UTu/Ai8sLy/soMv6xHdOMPmP8NwM3Lu80xRO8X1nNXoxmG7f7TnYsTG1hLfPXtbriyW07e6wsace9pnYhe+zpzt2bQSwMUYrcKfil90LneuPHjsZkuaL+P4uq584t7pMO2PV1885W+NUchIEj3654qU0M92w3adIFzXHs2OxEmvoPDKARXcs8ZYMaQ9zFb3LOk0o0FwIeuMHzZYHtI9ZGhJS7JU6KRiF0vGoBffEUgA0Td8S7R8mezr+cVb4lbv5/vxaPtyb74trRzMU0+6F8s5e/29d5QMNoPbdPIyEgOReDj8jLDw8jzU0vv6/k9aJTLKj9odBdavRh3L86Pq3m2TOhkVh4jIhH4TLn39ctoU/08W6QYJYhdLzrDqoyyl6wUVIMagCXNn9er2D7t9j9hVpUWGXa+JrX8f2Kje6R1jojVJnGifyV+bj0npjj/ZO98EWoh7bKLswwfm3lJ2R3w73LHZ9Kqx3qZsn/bTQCI9b937t59x0kHCnKGXwsEQDY9IQGBZXApiF77OkAZuPG6ABBDjYshIX32ml18cSX///cvHO+fd16ZYSzz4JNH30vjK6XROfmgdE/ekGM1U2e8CtWzG8LNTdtQOXnQsw9/BHNsm/YvNe7heFyhILNy28v6Mrpy+MDJFk3pEua1ZJQ/09HpVCWIXS2SIkT9OgASEGGNMdlRtj7227Vi/i35pnp9/T1hPuC0HNqmrOJW8fMhyZl4ZJ3bUMqXpO2Pr/Vn8Moans/2xvVsmi9HF66OxZfl4eNTSYQ/m3+0LeSen6QjRplcJe96c+bCgazQz9lfYUEk6xq43j2ZeF+k9GlVGcIQKENUiqTYPvP5xM13K/OJX99bkZp/68tC4+9vWeujzdcvksKJ6op7e4uwfA525rJWXqx+Gbl59twPfke7nPYuLIdJSL5cHFou8hbxHC8KIwb7WGizRZNSnlTe40pFFa/o7DlchHmIXS0bFVwesjAYAKkDUlcejqT2Hrk18fTLr9Uuzamy99bZ1uH/UVjSRhtibu+21YLds6Yh+01l7MddlWXaMVM6e7f1ek2/i++9eMx3vj+/XHXswvGh8BaRH5p6dernxNr/HVHkoHyD648Opbr/aHxvizuSOAGIWvu6hr1IuaP+oAH7siPlh8ixN/4e+j215uD2mvO838fj16cnH6QfXV/abfffCXlt217th7Cc9eZ0fs4ksfmc7Oksnn3xdI0gFB0DFUcOzs/WzWUrBler2Top6FSwso5LFIbgTmX6Kkj1aZ+EOY2JWXIZh4002su/QeRUgRk3K/CY8uDd/6ElK/+OWyY32eHX6Rxr7XU0zle5d3E0zS05iwpoyrAhDvkjGcrnkcH4dpI6IKRPDt1L9DeLtRigRfjxx2AuDCQ4hnDVMOhfEmNXo7co2p3R1mQ2GXMaLDmIXvmRYumh6HYgxitTp6dpD/zz5Noa0R5M3r22daZ3zdHfp7X7qSXQVkJroprmsVcYp63GYVC4gGcXtY3hMkdt04/vhOfmiYycT6S84gQ+fXIbqv21+tNqrMpBsuakRd3kHwXOPTCaROGgGYldcjmG1AZEakwRQAaJ3KtF3Zsf+x7Kx/G+f2q+T7Xre//sp/G7T/R5TjHbeHfr2MZ4bZPPCCj/zmjkP1aq/jBjMsTmb4DbKj779hakKmSqWC2gpyoXi1eLsZD42o23vTstInaZWnekYvHADYhZLxnC9G0gHCSABVABhxvzn3Hwm9hObD1mM9BdHDk1fuXtzZWjtaUifrLI7ulkcrPoMi7EkwjDhdtPNttjrWG3WUiTxRZGcsI1JUkWi5ChCwmF/wqdeMo5lni5XmTU+/fjHT7GC8I72AA2Cj33dSafDvAFiF77OIDa1so0DUAEqQFxM4/bZVau5/Xz69uPbZYvtV2dNnv9JHLmb6LFunJi9Q+q4r9TpDywug2FQdhon1obW6dSy5roF6VjAMn51H/fDzOFkVIPqI+GHUXbYVF5LI2Mfx5STjc5qJIGGzrNnC0cOYhe+zrDBb04REywBALECDITunL//bdv6z6eTYB1tvdtr9puyVr680TehpqTb6Y6bivRPmaIk0dX9kdGTQ+KXK93TlVc2wMeyZy+QiLXflyi7Genmb4ltc5cjn/ztvAk7ezkHC56Ps67mIXZQZ2IXvs6gGUUrQIwxj3w+s//Vex/Yavfysc/9z93uV90nt83+4uP5xN4E3bA9fl2mi5OW0pGKtJyvUUzgp5Ry3SetNTyG91kl1Knli15bRHvk9+Ha/CaDKmcbvw410H5ZRq59wjbR3B4UKFojYhdLxlCuhw5PBYgx1N4TWV26n3b61g/77sbyz8zbp/+Wmbp3J7xl4SYYJyluGn2OvIXLuSWfkVSY2ZGQs7pfmD2mSU3yi2X09NOesxKGeh6i8niN1oMwcBd989JdBpofHyhYU4lggQcVyzvwaj+Xc2IXvu6x8fc+sOsTRD9mHzoz94ZbtUyv+m0X5GTtpF3b1tZazQhfSlP/+KS+hgxEk7CGrbkhqeW0F2RFz5p53OyxyOkyqB2tHpn9FV5Js7puV1NIMV3HWYDuXXYW1I2b5gAnWowBT2dnUwAAAEsAAAAAAABwRPFFAwAAAKvJe/AmamtuZ3lvb2lxbGt0cHZscXFsbW1rb2pqamxvamtqampvaG9ra2tiF77G4NfYCqgAUZ2Iz/LTg/TnV4bXXsw/LemNWT++vNi5Tdpu6c7Jas2Suv7zJCl9POMyHvddZRCZb+TnI5lHZDlcNjvnz9IpQ53vl/aGXP35sFMmqYYsv+slcJroYUdxnp5OcUcSP4lzYhi+znAXclFuEUQ/js14yTKR7mLcSdv/lbeHdk5P+5l3X037ou9T46StYd3oeMzdw3gYJY8UBJ6W4+EG7ZF54jBdnTioi4TjrFHMtO1lt7kr9NOv3WWOLmTR7guDlti1emYXJZ0aaPZDbwJiF77G0NrAgX8NiDHGcHLmVz9bvr7zo+8D3Xfvw49P03H64GRbsk3YysSvON6coHEN7U9xH7GHTpa0YPp8PMzbRD8Wlfj1o+nBe0XekLi2b/e0+ttMOj6CkjGPB0OKepoj9a67yK+XHEpLPAR5jmIXvsawmFCgEWMUdsdT+eed9aejv/eTCel+OTnx7GA8+ds4lNgbPOn50tAPyO8zpDnT5Y+JXyQ9H0l1SyUWdYkcHo73XcIp7RSMTTkgXmD+vKPqg3LaFjVUftV5cllGASshRns8yABiF0vuYWO33ABFwAAQUAESgK/3HT+/8/DOrW23/3m73DPzueVXn3nr3T3TK7vTVw/p7RByb/qlO6jFXnInaSx3+06utkvq+IiYoh3xRJmrYVI2lqQm2jsdZ5Hh/Vm3W8GEGg3r++JBbyK9QT5EGkI7didS8APEh+kYYhe+xrDbZNEwmRATQOzIgXdu+ny57cuP5//2Hx/X6Z7+Npayi7c3up3RqaRd1id+djvGnrRIZy9EnmQbt3H1j2NHBDGFEmopRJhwqXV40H51zzoWlzdryBNvuVC5qZAPcDRcBziO5D2mYw64rNqDYhe+zvgy60tkAJAAonpcWHvf/Vg/7fdp9/r27iu2v7qv3j2rlIuZ+nN3Mg6r2H9NfRVDZzSMdZXoUexVdDY9hL4JPN2X1afhm66Dvswywm6eJOuSuyfo3JN49BE9DRslZx85fYs0PKotUqfnmXoJYlZcjqFrkzwQYzR3ws7q6Medflt7rdLbuz6zf09n88nm/cevLpLx4CQp65fS1G4Zet92Yf5558AHzNpAo+36crks2Scs1EgIXDpKXA2P1vYDEhJyZ5jBQmnPmf1yHfA7CU003TifT1gZYhdLxnBy2Y2PhJgAYjdlSR2++L39463dgytn5mgyx27+99B7UoPR/dg9Tcrl1Uk3Tk42+bH4eveVbv8UibI+fZiwxo5F4WanuFbOmcVIt0NPEuEc8JokPWOl8zLZlnVOF61L4Zj3qdalSK81zXHaUg5iF77GsI/RMwBijE2f+fu4Xk9SD11Jc3f2pv3Ox4286oT3X5ujWflHjyA6eQ4izSDfA7+xT09JGF/LeXqn7vOzRYv4kxP0PTuNUmY9R5iTBNXh1jv4zNvMrgGhfMJ8562zFOOeY+jzDZJ4qTtiF77GMG8GGogxeuBde2Djocmn7enf5zeX097q/tm91GNM98bxV3Wy9nIn5NenDq302vUpzN5x53r1Npe8YSPXb1NfJeL6FPzVvBlPm0xfnXrScYGuroctyfFaMDwd0WV2nSVTRKsLchr9BGIXS8acGcaLdkAFKDogVsvPsFz6k/ZLm6vy0JVfp+ntn4xGT64mbG7Jy+m4vxMTY90w17i82Xk63pZj/7A68d44TyQlYa6yehxzUWw7z6JfN8mXxrOb/WYU3D7zv8BPUYDOezpIZnuPWcFMnWX2ndC/rqgFYhe+ZLih6h1AjHFCc8ql9Qd+fXp1xlcbVz/uWrZ3z/an0rWLH7NO/+ZJPY83o41XpvtYQIxJ6cRqQku/iNPNSdFzbnLC8IyoytW2hpnStUrqlWdeBGOde4tvJOHMexNWd3A25VNvcl7DZQyn1HWbCGIXS8Z4m/TN3IMBoMMAAOJkMU/eH/Twp87lV+++/7j18ysvEgePqTMSy3k2OmIc3qt2YdczHg0Tae7PLec19u4q9t9u6e7axFH7udbGyRp0t7cFtOudtbtmGTZJ0Q52LDWMHK7Baero1deDCserZEVPjcyGbhFiV1zEsO71nU1SFsQY17zmg2nzJz/c54jt3fGMT7vn+8axa2fP5HLNfFyfH7lHyZbET18sdmLC6QS1yYWdsGdUK32JJg1Cr0ZRGAm1xHNbIZm7qdvayVVw58du19x7MCkabjWN7hAX+fORvDRiF77OOKMvujWwMTFGzd8bR34l1tNYUi4fOZh19YGV5djDB9OB5Os3QVdpfm1rQNgONLxOz++9jvK1LW9a1thCjORyi6ukDzzFyOeH6L1LDVHTAhW8deDZI+1z5innRwakHMmsG5zH+5xnPJxaaFi2AmIXS8bog/3KAySACo7olTfmaX993b1t+vOP/x7Znzz88NGTzYdbPekJq5Vc2E6enHsi/QlxWE+ed89ezk+vJ9xGO4mnCc0cxT3P4ZFfHePZRd3yaasEQRb2zKkk0V90O6VaqjRJaPUExNdBjHqAYAUfYhY+xpiZZ7g3SiHGKLWSuy/ma+neH3qe9dPn04ffbNN2Z77+ffNs6RkfOB24HzSxsHhzyBSusXATd2PhMHehZYuf16AJvmMsawu95ijusWbuWVIVWIdim43hmKqHjGR4QgSpgMUp3oMm3BcAYhe+zbBIm7cUhSbGOK5VPd/y+ovP+4dHV68MP62bae5Z+v9qdbRz88W9Q+bGtAFHWnM/wPMTZUMg+ljKU5xE57MjSukp/NMDE+egMXlHKpZkOGAFj65VXhofqvp+tUUbP9yUyGl4CPe9/xsRAV4XPmSY80vBFkg6ECN+6fatj+ktf2Y9pt3qf2dSU+mN+bvbh/bGL9udFH3i5sN6MTA+fdZpZ2HTe/tZ94dzh6KzoNsxsZBCNBHx7DjXRLSWy+ECAYirTFOWNLV54GWoGA5lg/w+rTNeyFn0sAJiVlyGYUSpb2l7CWKMmqiwny695TFNytNb9zlvD13at0tY0490df7KJU6C1QkdIvHfJQWXeZHGIhmzx57cy30S+9BnY3EeYgBoxbAxpPMhMKy+cbXEviOKpeNlMlbMj+ZbOFovrMRmvnoDO2IWvs6YlD6bA3EAcIi+xJRblvT/X/v7J7HX+/CxL3bsZvz4vX66aRz+cWvMfg+/fEgYvkPsdHo7lfc6WknPy89mpuSs/WhRQUdfLus06wVhIbRACIyOkzzlfjYfyDVdRx6MfPmgj/qGEsJWjglhEGIXvsZg841MgBjjziTt4NH2yZ/5/Uv95j02lz/tXtOJLYlJRs+f7KQanovsvAXCFHI4SNgJueCncec5JnGBKCcfXjDXyN+N4uiw5eSOOSOvYH+x83VhwUXAgRhSZuHzjkfmNkkzTBJJ8AFeF8kZbGmVsQ7EGGswTn+f2NofOv7h5/MrZzbbj6U9fjBx8zxbNruXUUuHm0vpZbJ4zdlxkAT38oMu7Fp2dd4p7jUkVEmYeRGp1g4hIerlGstp6EHmg7VPvV1teS7ZpAKWnj74bNDg4GMCYhe+xmBdMyLxiDFSfUajPCP+91ry+/lkql1i65NDT85S+977lLpYy1ZGLpVitvJL6DmqhD/xS7HkNyxRzRXjyxdyyDVsbHHUY+Gnz3KJtEdT2tNyrJ+T4Ps5cXhVdApLd7Z1gB7Mk4hwUmIXvsZgvPEiCRD92IzJ8PRO3uWf3189/OTHkXTpXkn75OrrvY+nyX1NWHrWoxuO58w7oqzEt/BCwi+PYcJsnR/PRbp4hnkk8XT+ioYnFakgadInUbSHWfgdM6dzf3LOh+gSNgSHeAmYj3mNJ2IXvsYwWJ2lDjAAgAoQfZ711sGPq6sPE9XyQ1/+fhuunc5lQi2LHJbb9KTD9OnVfmy7mcTtvJ0wJEgx5XAuc9R798y3hTpt+UwqdkRDho510cr+h8Z52zI+b3Y3TgeohAPamrIoSvB1P4gH/yUtAmIXvs4wOPKIMwwx8H25aKdLrYcH0rz8/26aL7bPvPrr0Omo/+atkyF+d/tUD266biQki1epc7WKYXvBgIuxyKI+k7397btaypHbb7uJ2MKor5TDuS3Wq5Lz3kpdWZOsZcWJ3M2oQ1hy521iF77OeFVaAcQYJ4fUxPqX4QS73w9ce3zLP7+w9J/x4OedS89Sx+tGTxxLEixx6oelc/4g2SNaEstlSf+ugrnZXxftuhRXf6lkVw8mYHP7TnCPotNdZJCS9+XLxDJ7g26O4Q+0i6SqkrwNn2YYy+1hk5TeDRbEGKOzpLaHvurX9+B9Hb50cOnelV/Hfv68/my0Nopd41TGKHuNCRkK3iT/pY+LS2+Lnm8r82YIgP1TgCaJXNAl1BkhmTa6D4dKP5xBu5np3pybllg9O/CmufrkLEXs3BdiV1yGB4m31UjQYoxxtu0/T8o95dWf59hwdO1wytTzvDqbOW7f2y/tf5yfN2nmn7kgwdxSq/dvz7kOzzgewJ624Kw3+jvE/UONYW3Ba3PY5CutzqId+pISk8gdNkW+ud03M9umZRexupsdYhi+xmCb+gNEdRwR9NZjIrn0Wh7bv58e3JsRQrh8/qt7cWkYP0n3pN6pGIOb8qLjJn4qhB39Poz+o07aGv2U9v/xx0ws2mP+Qf7zVwTVyuPk00q7FjlxyiM99ieW8jLDWq8CrboBhFVvAGKXOTUM7wjAeABQAaIoukp7JfX2Zp+/z+8cfXH00lSOo94ncTVhdNZXG4v26OoOe3VLRxfBmjww4yBy99207ExIHKrX5bc4cnAz6l5OeTY2u94UNCUxCo5iT+tm4GBeT+EGSkgdzhDN8SpKlx5XAWJX3Iahsll0k+SrCaijrhlB7vw71Xcirbl5/KftWtvduDKxk/JtNQ9tNMuhiuNZ4nLUIJ2A1tlIoleXj02lu4uGnQnPnq+VS9b8Y4PV2+TKI4Ua57IFr3nkBeu1Olc4aHGXquStAy0AYhe+xvgBUW0dARUgxjZ3WW6nT58PpbMcbYfTDrd2n3SCdS0xaU6eue3uxW7rkf6rRbZ0h9CTWvXlTOZIrv691k9p2nVzC0fnQ7hLgilKNSi4XfBjuyb5gcyLt/OQtrpVEFkaRaLnsfJm+7OJ4w9IXhc+xphmbrjwlkrEGKlxrM3RrRd/7l669c+DnT/j6amPaxcpsxiGdppM+jEP08dLvBKNay0VrzVE0PEXLO8M64G73rVfsD1CUBTemmIbxgyGSn3K5nX8N0PmTJwORTsZYxileTYxBD0eu/piFr7GcJ+m1CHGmOPq1o/uL0ueva07mfohGs+v/Fkqpl2bMTG+PXlyaR1OVQ4vcveT1XXGKQl0GHGe+8xDOPNb59mSjBAu5TIfQ46/sYbWg4sNAyuxt6/bwwumjgP1K944XIU7Zq+wtxTSTWIXvsZQLjYwv4AYY6IN2T58H7XrSe3//Z/eTG5b23m6Y00c7eF4zDardWAbvINwuqDjUMNlJWcfkzCNi6c4Ct7LfKBf5U2k58tM2ffrMGAQxe+mDKMwBg2Doe8fjiHuPgaE8PaVQ7A8V0w+T2dnUwAAAHEAAAAAAABwRPFFBAAAAHza/+smcG5tbmlqa3JtbGtza3BxbnBubG9ub25saHBsbG14b25xbnBsamtiF77OsNyGdAkkgJgAoiQOW2d8ejnjhbH/4M7rXF7ueDh57ddor6rWJtYOlhNLJWf0M4wwaqlz3jSupNO1bliNtr+23uinBZVJmIthKOweF7mp37d9chq5EgMt9whLYYsNotue+rnUi98fTw0PTeoIXhc+ZPSN8MUXQAWIEdp1y9cfr6y/70nG/MCt07m27UdGhIk7l6vdWqP0JAzLvzuLYaznpA6C9uFt/70N0RiQWaETUxI55b4IeIbLii3tfLzK/E0ix1NoO3kPyaq7SUtElLFzkujlHvPHp7cPIQNiVlyOwYg7zaKgAsQE0Drt6f3H8fTkLcvb6Mw23dHerx62/BPXX4t7j0/jTetJzV88EfHTzMJc11fNmEdlY/eH0cwm9QZqdvdqeRp6kdi4URcdTSzxUSIa14PZrPZ1PrXbUBFhZk5JDEchU5IJYha+xqAvFS1LQIzRT9uL8XzNOPx9+/vw/d5Pk08eWL3U/t18s7aTmrTrmO/zqYS2fvvb+qRh6jhuysnka1AySCr/61H/SlzQyTFdBn/QWKy8kYTXJQrv+PhMtordr5exmILUY2QOq/G12Ga5+yNiGL5k6DdzMUxUgOjX+tO4XNq8nManZ8xK/+vpfynnPWdtfCjx0P027KoeeOpmGebcwD7mMrsCRp0E4SKGJoH24ASz6YsLtudqRhv88co4PI0eSVSFA++RF8wtYp0qKXbAj3F56gt2+6NiF77OcNlHMfwCYoyJlkjb6fLvQxMPXX51QxM36+3jMfYyKbaPac1k8s2tSc/Foauf/BUtUu/x9JSnp5iY+p7qp5uuzu0YBAt1D3JCLIkae5OFe0t5FV1OLofNDYtn6p66fZaexTU927IcYha+ZDgtAMQ4AIC2PDv8lkzy4HgGR19JF9P98L7Jl6eG9FltHWzV93LTMPW2+Fq1rE+1pFMaIPzc8zYMHYk3kxbX78nJOi9Mw25C2Xd6sJlo2Q5T1zCGKhed7/YNj6ez3Pj3OpNRi+ZCqQNiF77NuMVUBl4LEAcAECvks9s/H/812sw4M+2s59bnR7Z2fZn1+cqlQ518M2mIaRIWNxKx38pIxHQXmroTg4zGerqaYuq8u20e0f2HpAPctg4XfSO7o+ZkwHfe5s/T3XdeMvYS+JFEg7gOonq8jtgjcQFiF77OYPCXOOiBGGNXY3vfObjU+/D68fvL7+2J37Vz78jFp9GTk2W+c2ssHAZv1zs4R6YTL4y32Zd58OZMjQ6HX1IkXNh2iBm/OVX1uOTiN3073soFmILnvJnWdR38OVznaFdkDUYShOdXMh0DYhe+xnA/NrgGxBiznm1K3/0/3Yntd+TxRe+WazOX97WYdwy7w2K1JGoAFeTTQXIT9VKm1AtHsp/ja6rLuCEAGVtcf10X81XcqUYv7VJnajd5xXsKsQ7FelRcXgDEcSrhGafEq8Rj09rnUWgJYha+9KAbTXQg+jFVc7hZZj09/PC2F0/7Xfni4SNT9hpmdi4N3YPko93m7JVCysxgerQDdDk85+J4HUfulufGvkQzdlAndHlrBWY4i7r2gG+eTxCejP8r0OpegxKFOtjMK4XVY9DlsJU89AFiF0vGUIkom4QJEkCMHsydy2f/dw/ufz585e62vZnJWw+dpjtJpLlVyUnr2Y4vJ12eTMntzV7jw/SGjnZ8v4gg2xvxlAT9OQ8z99z0oLmcmz8LFlbhSf6xh0OH60yuwk6hjS1FH+qKwRWWgmROeDML6eIAYhe+ZLB4SCYgxhh0YrrPh6MX8vz71a1na8+MWXY+f7pVU167/GOne2ChAw+MWSzgLtAtJF04XfK+stBjuN8HDqsLU7mid95k58NYFnAZqcGZXXNWxpuGS+30yVKF8B41nn/6dLTlbCY8EARiGEvGnL92VoAKUAGixPodujXr6dToasfu6st3f7fp7/HO9xNOj9X6eTPmfbYc+mnMV0NnLCFVPJ1PPlkx9A7T+cQcG8dX+bFRXNo256U+alBRi/Ci9bCnQN60pFHS7oQQP1QkqbaBXeQfUrly5IcAYhdLxnC/2prOYTABEKMl+6FsyPVrkx+v9zzc7++55fr0wWvSnXyicduk7XJyVonshrH0G9M9K2E0t+kNyW1PzBP7Qz2yJ2PD6ndVg/eYQDJ+icNhDFj2uYT0uHrmBGaPLdz9Z92PyRcIWJipP3axHwFeFz5kWG+yid4AFSDGodptc9Wu3F6OHOo+nzH71tAv75+nf26q/J6YSjlpu7oZJtusRfK8p910iQa+Kh+MucYtNFOfbJ4zkC0EZ/dNkr34RoMLFxViN6J/HtSlc75007iFcK4fVuvnwzawOtqNAV4XvmSIzaX4BCpAjCQDlk6sZ7Ybs/8kv+j+935G/6th0jzr3z0JfUMi7k729Mj57qe1VdNR2Hq3/5IEvZWDolQyzWOal6TfTjGGoUq2x14zcodRZjrB4/nG4hGHXnBb/YUNmZd2vQNCTrvnej/hDyJiF77G8EPkrEEgxgowWWtpNs737x+ftrHvs+1r0+aB72vXpma+Hf+bk7ujeatdM3GyzM1lpL8HCY6nboF+myjDGwppOv+ZkxM/KXIbyG3JzkEypsoYM0ODWdCNJilBwHJ7RxDV27eDo+2hY7QKBWIXvsawSLoZjUSMFUCccCjN4ZNn/60+Xvp9v4+9vfVpbOODdE8+7iaMu+EqyljD3IgfYihvghBQ1s+BdRJi6m4WkAvjIKjUOpcdRXLFuhPzXJ14tDakHTscls4ibKl82CYn+N60+k0qiKNnF2IWvsYwtUWahpIqQIxzHYU05w9tW3a/sj1UszZ/d3cmDZc929MnaY5Ze9rBk8Np9/jlNSFISAxyx6fBnaOlCaNkn2h5b7mUC/XoMLVTIiWqMAVhM1gkEm0Vd9PfqzB7rCkNVeXiIIRhdRhwuyjaDmIYS86waNvIGANFjOphCInLOuvxhfzfPXzkvGevPo/reMrmPCUl5XuwbNHF12tVLM678mhJW3h7KuSMJxe/4MjoKe76aH5P+2jdcnt+P+BIHIyFPinq2cy33F68qr3a+h1sYuueYzSFh6QoqkABYha+xmit36DXTFSAGIPPzc/r97aurk+ePZv92355myfftgf7p50kqXkymZiwOdR/opOc75Wsx2XyIYx6ffpuFDPf0YSKLJD7AFgKAfqsomsdSqBhOPK4ZYmb/8YSXzCHfVtE5YeBNLXnTB+HTQokYhe+ZOjyo9OhAsQowdj9c+zh2Vcv/rFcfnj21onpH/0mpz7NtrHr7jxedPCDyDDuEeX9jjlamrfclnoT2dE8MH/qvpPo9gbf+OlantMK4YlGRq4QjgfrzKfORun1aa8ooJ5uYeQtw2HbM72jPg9iF77GMN6WeuqZoALE2NZiTr38d0a/qS82bwWJl+3tmt38z+7nO6O2ccI4N9+jtk+tk/XEF+N03HN2M5kKFX2og6NNv5W7hJ82kgc3+Hlo0rNLVOQxkxSD+9qHcvNDnIgg6HrGcsfM/y2mqRliGL7GsC2br9EOxBgxR2nofy2lfZi//vDl/v3eWd5F888QXlpn+9HbKZqPgoRfduo8+OqIVVhTWyo6/iJiwP7T/zeSYNLU3ZpoiG0UctTq25aWaYeMz16WjFmtC3C7lOavVoQ5+nCKAl4X6RmN0Sz6QI8VoAIgB+2DpR2ekX62jT7t81h32vb5kfnLYbtpjm2tadu4ur0+e6KG796NkU72xjaBuNF+VKnZTgCWbOKUsmfnt3Upylqjt+SnEOlGlLIuFC9SerMQwzLKbefXeB4T8walOI/crABiF77G0IaXUI3OJMZYZ8llmO+8vOhs/OzD13bt5cV/j6+bufflTrq9cSYM9n4VYlF4saMcgrAagv7eAaZh02FqzxdXObCNEbaswwBe7q2RMFHM94onIRhCnMjCr6Pols7k2LbLnvMtOvCHxAhiF77OMM2hmUCMUdRvm/o7pTf5Kc2n2Wu7156/XYuj5fTB3lWn51DQh+ca+vKWfJZEzhnCwJdgLg+xnCQ9ji6g4rzkGruUcPbl0zep7NCPr4EQjt6lU7iKubx3T4NyuZFT3QiVvBj+OudVvgReFz5kaMv1KwAVIEaMVt3VF6lfz9ePX5l8vBqPSs/fq1F3dubzmaP71sl4qhPd3W/rraSuxBCtXFdfCIUtvG7OvVFBpGfhMruM+Xn+4KC8Ixl8rnuPJfApfMyI+f5E8TrsnMSt7ARx5YU0Mac3YhdLxpBt0SUtbnEECWAAAHFlfO9Yh5SvfNZ/T79a/W2fT/qeTp30Tdr07Tvl5k0eTnf9/iqvxeQikt+edI7qEO7WaOhps1baNwTZTww/pPOkG2Q9adV7gVCrSqL13Sd+vNxUh7MwY3FOApT9gLTXkMiwTh04+C0BXhc+ZFicy0vGoiDG6CUnE8m/9tsufTmj/dqY8dXh49tfezGZfHou/XtHN5cOvn7l2cLfvWJvznq2naD0Byy0OG0kz47uhgmBHSwsiE5TBnny2cgpSQs670BCqn+vfFhgaz54KrLyGZNzA7Zy8cIKYldchsESMKubmBD9WKtFrBMf548v+v8zmW5v7RXjmqlGyrbE3mFz8iY5/rQtFqI19Nf4QWWK2LYo1S3/xh3DGeqU7gpeBE3Bm2quOWvd77KZEhBd5D2+dcKBcSvulXrgnQUxsD4FRAwTQ2FyVCtiF77GICtLK8FDBbQKUAFGYUif4rbjtdT8/Pb58/B2s9/0vt0Da0v/k7XE7bPpIXHSKYlhuLkk+bPnYVCfXuvttho32tuQtF+LMukdaWYygB/YVKZ0CixFNNGLmyc94TpPzoYOriZ14yDtTJlFntiVA2IXS8YwtdK6GAGxUkDU0Gm9faeXqbtTnUvtU+rmg9OXb0frlcs3j0Z5jK+uluTvTFu3XLgQbbyFMEj+JyE+zv0eLgENJS9FzZluDxhwv6aYk/4U72PKTpDD459uRLx32ISYKASV1DolZVFOpQMTYhe+ZNyZAAwAIMamt3YmfsY2Y8I+P36/dvng88/ux56bns7bYR/PnwY9WFzir1E2lhRLiPObFG/71rNoMRLy9q7Ty/caZ/20bw9NhB2JIj8Tl6RHiXz2DsJ6HY8k6RXVKFAe21mv4tPGeSg67JH0M2IXvs6YG7RKWRWbgBhjOROk+Xm+P+PnxPUtfX/nlAdvbHb7PBsm36ecdJ7Nl3ToKV2KdOnrFOU1quvRFSos9wnN3nFOQA/ncW/xzDQ9vBw59ParWKW6uQd2FUUeyEaBbJRItcawRsLc92Y5MmIWvuahbXKm2UCMau+MljRpvri0tn/r9S/f6TG/Uv+8t+iBbjW2q3XifJe+J7zRGDTdHW4pTbyRT7uLpL1KwzJPXAhri/wpirS1nTANjkL2zo5aO4WVST6dvw1GkT/dFfkmIB37F4h6pgRiF77G0PZ2OBBjrLm+NI2Zp/8eeW53/esHDyf6dJ8u/3TFbs/opyeWZTi85vb6XsdBBgfPPNs5a7v1NdAqZ+R2FehymkM9m+atn2kz3xsOwxZmdHGVEBzE5if5uu4D2M67mGykwklRvOUbBk9nZ1MAAACXAAAAAAAAcETxRQUAAADt8vzOJmZsa2tsa2tua3FtbW5xampua2xvb250anpubW9wbG9ub25ya2hxYhi+xuCHkFOTqADRb7ravTSf2US/X5/Y6GPNf9L6+671Vr9oej3dMZLfKR2NtVTQZJw/xmEENU1LsQnBPrDpOTmncGOkj01rZqE6wekhZPo1qho6GJwEKZNzArlcs40FvLlzxqwAXhfJGSdcEUAFiJG8zEx2Pr02sWZx8+Vr/3/Uh+dTl35cRVI6fePocI9oW6arPX9bz/ZGDCsvAzLWh2MN03PCwAEXhIa3Q9teXig8zppusR/5ZnM3Sq/hUxQNN6vTsNQn1Tii7qLtH6LO6VEFYha+9BA/CqmBChBjzGcH5vT1+ztvV/vduX78yYvf+5N73cvT9kmZYZEZ3d7I7M1imJoYVoIlDozLXmNOAqR+qMKnWEnPpRZ8donmQzK6upqYNoQZKR8kVy3TUH+lG/i6bko9ZYpDSNxc+ARiFz7OA459gIsOYoyi0B5VOhped1P7yoS/99v+vP/BYH+ydzrj9OeJxHWSnL2DTDFKuWc85CqJkjIn5UPgWPc9M72U5S+TjHvzXSEiSYmSxYcC+1TsTdsOj6+ptNozwzj3hyBRgKKmcIpWAGIXvmSw5Ng9oALEqEnf3+nON69MpvycmZhx/PJecvfpkG6vJsdmTztLsjssyd7WRv/anuT1wXTtLTVRmtQhwscqCntRhhs/lTuDOsl4jDodyQPbRPygqTw3CYM3OXFWro9W4SWnAzuRQrjXYGJWXMRgsJ45G1AbIFYA5qqT9/XL8/8/fbW/df+L/fCw+UB8Or8xW5o4+X7jI24bGPpUNJLJxNrKFc9cmhuleS/HdCmVu1ox2B6nncfeJqgQiteRKQNw5Mh3OlWgxc4kKhZB2P64VhfyeI4MYhi+7mFxpTcwC9GPchZt88HPVfKiku9+vPb9QJ2/8tLYOvZr/6Z0J7b2hsvDCFk3wrrbGrput8Yx54SQZWLCmncywHuH3ZtYdDqZ+Kn7fcLP53Tm752j2HWdL5w6tjyHytQRS0KciTfK9BNiF77GsBpanzQQYyR5sbPEk813l23m45k/0z3b7E5//LGaTyQvwnBrPA7ngbuZ03/lggT+ln9uVs7t+zcpeac6hOJeXbKDW/NTUgvY1DyngumnuURkcTqoB4wa3czUz3XgKCCPH0Ke9BUKfkYTGV4XPmS4G7BQU4BYAaKnJnvqYtnS27379VcPvbOmn1/7kewNzZKanF+ttR4tz2Spn5WyK5hQrCXjFmWUjzqafrvJryOptwrv2yFtdMJxqJNf368uECVRoIUSPEdrl2+fiee2MpocbGWy4NxtYhdL5mFLhMh21ogVIAHUbtfmif2nW5ZTc+vzF7aPU88eDte+0z546EolfuT5xEiVbukqhW1CN1Q6P9nQthg72SsRTI97PzuFeDNrN2Wt4RWHgJwhRCdiIUMuLEDyCs7TxEqdq+DVSa1mTwXRiRSumwFiF77GsF/2eECMsa3tJKw9r7w/e3X31X//+cGMh7Z+/fraq83fzfwzX70yGcM61mD7MS99528Su9KGSTqFTg+KzCaGSI/D0ZxjstW9e2Q073C8h1NXp75oucgtnEZMTFop3FNLNqOATrbRZyICYhZ7iaGU+kNAjHHcEnL57M+9xORXD+1/3Jnv/rv0XGnHf/e1naDXRzvZbkBf5nEu152E5SBPP3hW9DLc1D5NNxTN4srfp/ChwiaEHJeukjqKxxdXjQmTMK2AX/Noi/zxJq9mGoHq4gkFmUqRBGIYS8bgatqmASpAjEa1xKeD8W599W7L7e+tnenPt4enNvfl6PlS2ufps3/STeYh0ZtM3E1Od0jWpH7FeAQdx/WXTrxGw5FKuHDT708m+ktwR6yCLxeQR8OSdLQRBer9GMIzuZwb11/TJNYKjXkAYhdL7gdk4CW7R0y6ChCjWYjN906b8fTmPVRmd/9dS59+67+2k3Z99p//eNafmWdnnfFha+zGZBzm/iazwaLxnJ9FYNS5oKuY8Ta6bxZqbKq8lnq0h8JrMoks12IPN7/DbJ6LFK0NMHL1rIZ7xZd9ptliF77GY8EFHA4xRkHq0W76j7ff61v3M3d863x9f8aWV+fvLxtnUdd3tr19khnt4bhZdBwKB3GqYztUFHOe8Entij2aK3uIq9O0fuOZy91rFqo4V74fgFYCybl8lorhur+hr56/Ks/HFqsAYhe+xrCf3dNBrAAx12lNjNJ8sdyk6s5D4y/61E2aJ5v3Yw2p0nNWa/Za3QqJWoUWz1x6cSqs1RvVc40FFXJFTP4Q47qDyNssyBo4UpeXcx/nkDxfptGXjoZY6ovHFhpTBmjvcMz1i6ZWBGIWvs449f9oI0BLAH4MsbMkfn79+d3KfJKcnfREPDw6vDl6cuR2e2/yTi6CDH3bWf3ssYYDlnGPOjuWYkb8W3qwyzpujLlL61fcalfrVLMytunNnrPWBL2X+KTDRMJ87DYHwYmNuOK2jfM/MXwAYhe+xkjDX5r+IMaYlxr69W1p5r9t7/ek7PxOWb9q/erD4/0Hhmyk9B4d7emaHraQB6A8gSKx5vJ8q1habywNRd6lP6UavRRe12nOSB827t5LSaxdcxC/6DTRGCRLjp1L9D0hzl5XoVjJVhFiF77OYMiRN6AxABJAjPN4ZSjz5yjPNKQzT2+/O1jTns/o/X85/H7He6cheHduZOZ54S0kRSLEmbnboCOrZ42Dw0ESauBRb7PlNTZQCrNm6ZM9/0y88BYOS45SM/nsPKOPcT0omqMbFJhHFgBeFz5kuC2DkgMVIMYlTtZWm2fnKV898PqX92wmbdMm+0/+vjhkPP/ZCYfXzXepoets0ZHXhKVXR94ohIP8OU5GHZWIcM5UseN9c1OKH2UnRw2Kw57hIcXvys/2V5a6jbiIosEf/EcLXrxNluU5hxVeFskZ931uVAdIoBMjalnk55OD/tevJH59KdNr6X++JXfrqMVmNbfoumqNUkJiPbVWS/rQKQkelm9/sJ2dO44Wh1I7i2xun64pm8OZ74y20H0WakCRm2k0zUx4hf6b5ZjhtLp0diOujw5wikaX5QViF0vGMMWbURpUgBh1t+VEfHutX+L7ah28f/n+yOz1+eFb+SwbStsJU1tHp31vXz+vja0h6R4frvoXIzQ8VGrbFl0mRzLls3X1T6Y445eun3Tuplm2nvcFW8KkIR5RQZCI8AwVIc4bb9MmlKsvE2IWvsZobqEiALEiIQFo61hv7ujZuz83nX+P75gPv72fvvazt+8xi/XYnB7bU9Pd0tIZKefqsal269QYyXiRdzFGjYZG7j5I0fkcdTQJQ35zspy3yhH35vwW/2/HHXp9PaTRwkW/cTGEv5JtfYqDb8w7x73sYhe+xnDdOs0CKkCMhtZ7ztK97Fd3Ng/++2rqZb+Z8x8PPrB7OTlRW/okUydl0oYaJ2rJmxO/tQ+pO+VZZkcLPs5ibXtq4qfDH+WaDPmwwb1MG7vQSGNd6lszZVva3S7KGUpm8baFk6fqCmIWS8ZgU9epAIYC9A4FJlQA1WGJa91k7+cvfv6YaTv6mXp65030ZmbKMDWxMteNxGVtaV7qXvJZ7+S67YUkTp4k7HetZdNWbsreXkvYGHLSzxrrN4ZlZCbHld4v53FvW5tsKfFx++XBfsPqqPSOfInopQp7XO/U9+bMYhdLtqGtsAPEWAEkqP5I8+nDi807F1v/SXf5yJfanUg8IBEZy7Bm+97xrswZ6fTQ3PD17She8CNvtJIdf7HIFzQfJZHX7fvjn29758nZ/tsw3usncSmxdn7aVSYsKOXDrjKjo9RhK9LTrnO+bQpiF77OsEQ5YBIgxihxLHrn62crWb1Nvtr3q+NHrj1Ne2f3cWL9YnX6d/3iTZiI4n40WDnevgOwYfeez5AzvBrNd5qdFoRZBJ38QU1Lrt5riKXP3vIcstuF+c1mJoJ/cr/5Gj2wzE/BIRrD/RA6YldcjmHztnx1tHggKUCsAKO8lhPtxSF/a+FPJ+3GZJpPb336PE8zaTNI8vnO6aZ+iwXZjUuFhO73umTZORve1dL1nNT43vvwtztCsmpyT06CEKqiwiQmDuLIe9J8Li7vDGspmEUL9fhsw07mcXoNXhY+ZLD+4awCKkAFiMiaHzm9dzCZYjNhuzUN59YH927/SbPfgq354HTrG0on9beZ6KpUOxkvRD9YevOlUerO7qxofS7hoz02Oz5Hr8IH2vr4pPGwnW6cZVvcwy+PS8CM6izRh+cyY0kLNqrSYVYOBGIXvu5hbvgBJYkK4PvhYNiZeH6nn6Y8e/O1sD9OPnmf/ti1tYem3tmqeXz1cHdtfrKEYdPlbDnJKqCNeDk/556LdC2JlMZkUbhVxRgJfu997W0m/jV9qq7DQ59vbwL7jNdwOefGvRFEM32Uh2IYS2SwwcigARWgAkStlHETnfvmvS+eP09//O3Zpx8/np7OO4fW1icT3YnNvXmP3h46e7PqLFom6q+supJ3bixDyy1a3K2DDn9pGQiRx/LOeud0UB6E0yuIUiN2gzoT4oJ7ThXRZDJVGgmu/HmUIGJXXR7j5ybirgADAFBHbePG119nu8mpfvbtv2drv358GHfChkW3XTLq6dBN1gS1Zp+0KFva+sSza93Obkpn7rLMdWT4ruO0LpJnvk/mqPW3kEmzoHM0i20v5DozA3UYBCa0NNdpeMN4wTrzPTETYha+zjB0dgs2nsaIMS7CodvbvtA/B8vslL/3HtgbX723CjYpvyxu5u606XtenF07brw0gO9FPt4Hn6/pekDz+tNtB3kYiQeJ22fSvFzJypmsh440EzQOBvmetndwGEQO7t7EgsZxPKdG6uo7p3IFXlfQYxhAneygAsRY2W9fmZ1+693L9x+PbSYff776T3fZND69P1vrPNizt5tedV6el+nuU6Mt6x0NJal321viyoP3FMQ6RAF2bgCv/OzOLXCBrn3Yx0Ec2qM+izybHXiN3VpF1pHQw1jKc4dhkKxiF0tkMGIhTQUkgAoQhPPclXXjof9P7thcWb98JW/bYjyxrP+dp4rNybIzWs9mSufNkhzinMO74yFcNfO67/3ItRuf1YrA5mVwq7uOTWggDznr06sYztzny6xnuX+dXipCMrHY85XiqXj3WXScVM6xsb1iF77OcJtUBpEgxhjEmJA/Fz0px3Y+nLz+dHqe8t1JpNmJ81dGy+nj7nxKqf65/N+vwoI7tPKZf+56yEHHBawDZsD68iMHmvydBiF8tx1UNjmsQdqZIvzUqqvJfefGK1l6FJsYddLpJIjsGF4XPmT42vLEkYgxmjzj5ubn6Mvfrz7WwbRh+D+nfecVZrXdbV5PBqqRnph8D/0chzBlxQ4xiHdov+NJoOF9bB6tQ6gULEc5eJdZM/W9mJrecxp6aio3oTKlYg+8L1z35IFn4nUZgoEJYhhLzmCRZtEBhYZYoSFK6c2278lN+9+fd9fma92N7Rcfe2ZdDPcn+w1pk327vWUmUp5a9d2pWCuG1WSjG/MVEP72UnCvg7CAwz6b05aRtt/lv75M5PeA+J42l3oZilfVU49yG7K9nS6ks/bWes5IVQFPZ2dTAAAAvQAAAAAAAHBE8UUGAAAAFvE3iiZucGptcGpqbHBtc290bHJudHZvbmZrbnBrbXJocWxyb3Nxbm52Z2IXS+7RVZPDKqjAiVETaj3pf42rz4JZn9pO+u/urF2/87Pzr632PJ1oQyKei/Vg7pc3hR/Nw+O+xAeVKSInOAEPFz/QSrpfWZe16f4QZ2cI8X6rdK3hcZrH3bycT7q6/RmkQ+yBXSUOwyZq6EsBYha+ZNy/WQNIADGqbDVuXm75dJH856floc8fbA6mXztiy03nFOOiPeXaWjd0uuO2Wron4Twl4ZFNn3/Orv62+MtE28GreSLIgusdNS7382zvtZMCkfjzj1Y10bnidXAzy7kk8BczfQuIrSnTB2++AWIWvuZh8YAWTFsgxpjYr+SpPHv5rPthJ72dHNx6uSVdXXv/7m+zTcpOp468r+R6HnDRMDsOUmMUBU6TtgluGVGn+lRZTjd4xfQQWdTKnsWZNwntpcm9pVtA1Wvl5aetp4vcDtXqJvjOuQFiFr7u8ebmLAAVwI/zlQ/rb7dSbGut+hn/Lg8d3r75derUs2dX404+1n+key2L7S4zUh4OJ4M5ylFQPb2PBmXfi4Qer8cefLEdBTqsFPwVvtn3OqNm8n8Jk8C0oQb2z6VPspCQuxNlhHMdNl8KYhdLxqCnpUYBYoyE+HF9Yu/qs+1fPDi18+Wfx+S/Np9vjSzW54tt4rTX7rt151zt+e9iGXdiuOa8c2n3y+CTFyJ1r4duLrAtyUXbJE5HA08XMpFHtcM5Xbq31vWP6uQFTfYlUY5dMp4LwpKHwZ+bAmIXvsZw41cGH4gxlu6c7v5IPPs+lmZ3lS8nf199u9cxjvrsD+u71tSE+aYWO4XoH09UK61/XfZ1IO921jos81CUQ8uYV5I7Pkto0H5Mez+FoqF0Wd6dibU1enIYCiESC6mkuyyIPpYbEFNiF77GsGXL0IMaDzFGkjJOv/nx3Rdfv+NXetm9efZ0P+3o0MdVgjYrtLQ2buJpxXgUSkI9eME8Hk6ZtzW+mzxO7fUyqeE4Pxm0hwO7stiBDhRbBd8XSH0zICi4J1Lm8wwSdeX4iV0zlqICYha+5nGi9QH+QIyxtb1987tn/v/tbGN/ar99P+XSx74vD+p03LcrE7/7Ras4fPKWts8y3tkqXT2QMqzNiZveO1/wgi6+j0tJ4F38tCHnwiwgYF/jUzQTPT04IYOP5etoh2fjVIjfCUVcei4ZYhe+zrDIVkPtNnICYoxiHHR8dPDPK4ePXm+3/90Z/tzPaV9PvmqunWydmryklPOXNZ7j8ppCGOphuhBenOQCHKxd2IcjipzonWYr+XG718XjGZ9D74LwYusCHUkflmiI8XSzujNmf2sfbh2dSQQOE2IXvmQw0IA5O5AAYgyb4pNfbeorMeVhc/bZrNM+rxxvV6z7lkspre89QzRJ69Rub5fvEM46kGfDJnOjf03D+FCOELHN+YJ4kuqGL69dnfDIpUdkMj2P9lUyVcMeQ5YuPq8sSXkUdAcg0CaHDQZiF0v0mBbZ4lwdVIAEoAHIUTbbi4O06Z98+sJ+meztvZU4/0o7exefUvNi3bL/4MRyMxIfLaP8+FkNx7u/nlqG3Ta5po4Vem8k7gypbae+827vPCL2lPc4izQ8pdo5P23Dbh62I6I3/4TMZMtrPavcP/FAYhdL7UFl6z7qrtRBAoixSdRD7+v7avLDzWjrFjs/bLslTaV/cfjSyb1byb43ehJc8jtLn7XcK1FWAz6WNr/qViOw3siwG4lo7PHkJIpmvlsjMSZZaUyFE2tKfe4Dzrlco7HZVW74A1eOKtoWRvYBYhdLzpC9Lek0oAIkeEQjW/qd2fxnfPJjt/e37P6y63Nz3KYbVy019Zfng2dW67leO5VO3dqxLvfDQaoYmuyM++YvujVx4B4bWCbk9+UkAh9vfA53j0NfWO0RCk/PHj1bSRgfk5AjCmsHp3XFQcdax7mDPQFiF77GMK3ODrNTAMRosJF4f3D5A76td8c29p5/nc6S9kzrZ7/46hZyjKaR9i30dPyMvaRbFyPi/d6vfHt4L3MF5h/CRWzSXOlpgYt0wsC+NP7GCTV5gomq1eqtXyI/ythsZ4L5gmJ7CbOaQgViFr7GsHRdLd9BFxNAlJEc2tt+7HF946zn5K1vsrf3zvqtHhni6My8fP1E5paes515kQf7lNVt92jZbxJ5+PYpWNOBavFIRbWNkQm55I+nMLcJ0yOX4T+jMFR0FB+tUBViB3PO20zWpIEsmdswQ8TsNhFiFr5kyEq2CkAFqABRUvXdjN21208T/+x+Ml9azeXW8d7Rl4meahYZrWzO0hkTqScnGyxnQ2hWA4x5uB+yvl5DBX+c64NoeOJYeI1LugjUr2ntOWTm400QZ8JGYYs8qGc1ZBwikNKqkJZQR6uLL2IXS8boBuYitgMMACBWgK6QrLQ76a7NntX++vuJxxlHJ7q7x8527Lie+8qxTu/oh5wcTjOXoU2QJ2ym87p/r2buiei8I3k9m009UTn93hgr5ztLwk1yWDZ2uc5IIqdwJhcPs6X88ObaL1TaMqWhP0tvJ3wDYhdL5sEo933XgHUAQANEldD3jnHlbJV4er75dXL7vQfv3Lryd3LjV/LGepEPbcj2mBj7pK4bqzOmTmLlet+g5cLaU/Oe3mycL+9vx4mTvdPk9Hhjw32rJxHzRG4oykcXk3lo50Wh7MEJm4/RBD/OZquIh+whBmIXvsZw2drKAQkgxlrbuZt+7/2L/vsPjT8vKT/1eOJpnHzQOuPtYgnDk4m/iWUJq7xFUpblPIyeCeNLwv69wzGN0UY/T7hlMPch5W/mlC5cWjtBB8393hfVQolQEKWQbOsX57jdYJvTA09j5tSPBmKXRo7Bco8vFBJABYhZU/v0fljdmZwfv9ck3jma6Hz6Y+0+tGO8GK2eBB/VGhstZeMlPl/27FYdktns6TFPX5XY0/qd9nwUafVcOQ0jXyZGYrEmHqpKkGq47ag1HNixVOyrkU2C1MODoHia1bMAYha+pKL8qosxVtd63Vie7qU/dOzq9odTj7yjz4s+fQ1b0LtwOaooIAwpHNa8jErePJ7o0zfUyWe69fFUGQ8fa3tixaYJp2AMmJoFMUZn6hV+MrZCLdEP+Z4vY2EYdwQzk/PMKmpuYldchsEP3m5ATBBjxBwn9uyO+IOp29++eprYS7/936d1rVMHO+df7siduzKG4/DvkMF1EqrO07goTvxZ8z3c3BP1LhErbFeH1eIWqOGKlNQooP6aGTphdxRTYCwmXrvML3F+qYJL0flcPABiF77OEIsOHGUxoMRYAdz6zFM2Zv56dtrv6XQ+7TM66T1lK7Ok/8fTxN8fTc/cHFX+WB2N2qQV/4LJhetS8NmF5f2623/LHfkpX7ySL0iHCk9S5PSkL3FKY06uss0irdsxO5QRPiKVzJl6neUBc2IXvsZgkV9UB8QYjXHqek57ljq6snHstT+b1ktbdzcvXZmYudF7aj7QLkX/FPZ8nMbiw7+yg9u7Qw6y/D2cwuDFqHm8jQlhCjp+uXY4hJGxsB21R1Evaaxo3ffGvTfMs7KiPRW6GmEMREdRRedDCQliF77G8LSvdQpijD4/O2w5GD2c7uqX2/Zvvpz98NHjvVcG1v9pQ5qd57upJW2ZfR94MO8pusFlnDOtDO/XZRiU2mXEgqpjLmH1tuhtuJ9L1QNEnvYyYvCsxl75rVx5LA4QtgM5b4ooZWLnB14XPsbw29o0ARUgRoLFGL3b/Ur2t4anj6MtX6TZfLJ3yVqGne/Z6MGq6xNT3SjxSX6/G0/X6+jSLB7DpUeSxLquOJ6eOCgHfP7NJ74KJJTvFvbIF3NnkQoSTwV/Xw/+LmDdlm6cdzpytA/CIwJiF77GoC3hxlM+iDEBxLnOh7S3Lo72/3maPhzq101vZ701nG/+27196cw8O5Q0c+dTDaYlmKmryCLl1OE+CjFrCZ7+8vWvRAbdCNfz43y7IspDYOI9sE45F6PIVqJVwlfsPQpp/cpVaCd1vCMXolOkOAJiFr7mYTc3vlpAI8Y4kpszm9H550T48tOfl9PnT9+1FLkyOfb87nFjYj8pH4fIvlOBXVL0AkIXzmrUE2KOggbPriF3TtbUzlWbUmkOZ7FETt4Ovew8ZKG5RftqHGozkz0ONNXbXn5qEV4XvmRM96sEUgWIkdVJ3Ptv+uBnn5f2D9t/mO9fXZ+Is5M5GbbMWOtTof84dA5Pn7anIbm2tOSYBKoow5BjfdSvQV3FRai9y8c78bdTvAbMCcLgvb6ndCKn85v2rG3J4hFPYxQnmtcwWx5NgsgsdSsBYhe+ZOTZhMxQTBUgRj21Cf/tvP93o7fe75+kTXx10u+vmdLd/D6Zm4l+0ermznjkdilBdIga9Jreva9bHj7BPnMq/1KEB7RAN9JS0WtKr3YIktlETjQKZASXB6fuOghxdKqQ8kHCy9G0NKAAYhe+xugjB+aAKIAKEGPibrKZ/ac2nm2fetx6vO/42t3+g+XprfPRPDkx7sh4at+6nTyeT+y8m0+OhmpIj2XHGViVi9Ylf3lgXK9v98nqMnQseBmMFXH1wV9dL7v1OtGwzJ+01T6UhrXl9pyHK47F8z0BXhfJGfRx+AcGABCjBNqu5d7VS8f/OdtqbE3//e7a20PW023mrU4lQ7F9XsZl63o2tRNJ+vfI4thb7xiTbWfU9vx5bGIf9PxmpOsYPGS03Mh3rHVyNXwZKSL2P1v56xCvi0iYSzqPUOdP47ZtWpgDYhdLxtB/04zsDZgJAMQ4dm0nNsnvyze3vr67/+zS/pf3erZehp0t3enl53xy7fBiNzTrExK9q8OjhdX5chBXWGR0tUVPfufqVM9yN7ROn546j3A+ih5BfChLBLa6dy4ovV9Gd1gaCqUQyJM5r1IVU9exGmIXS844lcKmRA0kgBgT2jl9+ix5fUn7s+8ZR58t73pPjqaeLpd+rPaeGc+V450zYTlssc6HVLf4Ti56vS3/TrKe/k7hoOtFeXBfrkfu5fQcnm/yOnt6HovOk6Y/ZqBmH7HyHF2urMQrAeJkcZXOG20EYhe+xiDOUMEYYgWIUfbyMfnvlev/pn3t8Zbt7PQ7s3Wn9/G/v7fWkiMxO6HqZ9a15FLaPdszOP788hbs3aKl/7kATy7gvMnjZbWDH8h1jHiauSMM/j46GOTGodi2ugfSTGVktNpWoxPJG1VviAheFz5ktN2m/ktABYixwnLwTr8fTnvnwfj+y8tXjEs91yX1Vu3M0L311XK62RM6RqITV/gn8yzsQfxFLWq5k48pmnt4Jv4fzYSN9Ms4fPL2EgeEMZ2MgwY9wKvZzeOUEr4v3gGJaLZ3R8spyU+bfGIXvsYwaKnWlh0JKkAFqABteGvDy9ftU28fsussX/lOz///f7XtfE1kcn/vnlji+nRyIu8kxy21e2fnp5hiy5oZOxM+NsyD6j+f7Qwd6yQTHLjZsny4oaPj3XyebTlfOJdw4spz30uNqlaZuUTHrptDzBGZSQ1iF77GePV1ooEYo89HOWXi082n786VnrujLNtP85drbmvUzd1O9c0OgjAeLrX25QTfzXChvj3XXwKp926L4QBKC2GBkCJz3OUlZOV5mfuD6RJIKiYaDDcx4ZBRxg+p7B48+hxRuHrGT2dnUwAEFMgAAAAAAABwRPFFBwAAAOp7PcwMZmlkdnJtcWtwcWwhXhceGd1o9YWSQIlR7VqJx8+XuskHjkzYzHo9bYqovFo945OTtM+u6q/JpC8lMvdo+aBYQOznGNpML7w2HGF3HrlhyO7rmcmJYMSPIBfRxuZxPEoa9kspv8KKSmrJ1E1cFtA5wi0BYlbcZoNmiVMISYxWWckwNX9xfLPPRbj9r9utvdxy9/avrU+fzrg2c/aYk2hwtwiEfc1hi4mkQ9IUT3qOa6fXOrqCIyYnb58YY22pE/iBcf9KthrMQ6rWGbOoRxeniBzdmjsuRM8vIpMqYhi+xnBrLTE5frQuOVxs253x7M+l6xfHx3Z7dkdn/kpZ9MiefhgNP9+3pR62XRahQeR1k/NhsCfZ3mpnJTkp0kDgrkmn8npgcmtOaSnftqatd8wKw0FO55TnqyiaX2nOM6UDYmIXS84wZ/kYSVUjASTQiF0fnu4eTM3q/9+PBz7N6jveO3T7lXRT/9Fr+bjxfLK3c6kt1tEoDj6yGhdvcSKXBD+zPp4k345astarnU1Xd/COpk3d7qZjuRGGhcV2s/CS9al8T6Rw8J5tKATbDUWSiZMcd+8d2AFiF77GeFYlxiaoABUghrPVKvjl5Pnb8Zknhx6++vRa2H3yleX7wdUqr/UOZvckTe72n9RxT7aYfr0Sa3u9p36qb+sTyzBRmSOaRX6pK/fHWgPzyYvXcupTYnfDQlcPPIxH9DAhS/GYFx7x4baOoZDrjABiF77O0FN10w0AxBiDeFjrhLRbrl0Yy4frH3WmPPhFuq3WPoPFmEjzckaUO9fj1BfDHONud/zZ6SzfHirTFkfO16d0XahaGeGbuc3Niu3RWa42IeSZVkiR7zGy3ydp8JIZulhT2C1qPWOq3iMEYha+zjDLD37rdMQBACQAzBPL+sNfHtv2OXlk++z3X3yxZfbT5ev9trb1U8U+/jStBtMvgom+JZmbhlwzxY0yW2g67eMQEhJqfBoWd8Po2JuYQfi9QP4097lMQtuC45tphVquxoag8xGIOY+xcLTn7gNiF77GULRWAKoGxNh22tqPe78+/Hv0eEi/nKyV/phMbPdaje7tmYwsd+vL7szU5XILaXuSY6n2eFB3nnI8QxSGabYWGwb5USiwRquYrTdwihSDwtxGTyx9gwnTpeDyHSRzC4fkSj6+ErYwAV4X6Rn332LjRQADAEgAcWge+E675Z/4/j/bVy976mNvsPzwg9zy6Xw87z7t2/1jOdk7SCYv6WLMPdp01k5Dp93YjXKr5SYbfzwzis3VprVghmdNysqlQi5djuSZYJrDiTAW3dMsGBVJnHWRhqH1GlNiFr7GmOU2uYw9MAAAdYwd1remnLbDT9e+Pl0sTy7bfJx18tRsYbxlKKvpKV1NCZN5SO7Mk4ndft22c7KjhpHySSVRDN+XnrDzx+6nplxD+NTygEqVvfAsrlLPDdtbIY9x6g9R0qP+3kyeNa1sPgRJAWYWy8tgqI/LdQMxRnI2pn+luXzw+jDD/kmfvrIt23zcv3/8fC2ROidP/hmbtnEhp+1mLW9x2EE3T30KfG9PYZ1FkrmzhdBf6iANcV3wi0P9JqpLytqodB2bchTLoqP0/CpSvdmPyDnn1iDTCmYCjwYwuQGcMAh8wzJQOQy/NKqLAWDr4ocvJ4XBdZy4Aw==', audioPlayer = new Audio(audiofile); _w.top.backNow = 0; audioPlayer.loop = true; _w.audioPlayer = audioPlayer; setInterval(function () { try { _w.jQuery.fn.viewer.Constructor.prototype.show = () => { }; } catch (e) { } }, 1000); try { _w.unrivalScriptList.push('Fuck me please'); } catch (e) { _w.unrivalScriptList = ['Fuck me please']; } function checkOffline() { let dleft = _d.getElementsByClassName('left'); if (dleft.length == 1) { let img = dleft[0].getElementsByTagName('img'); if (img.length == 1) { if (img[0].src.indexOf('loading.gif') != -1) { return true; } } } return false; } setInterval(function () { if (checkOffline()) { setTimeout(function () { if (checkOffline()) { _l.reload(); } }, 10000) } }, 3000); _d.addEventListener('visibilitychange', function () { var c = 0; if (_w.top.backNow == 0) { _d.title = '⚠️请先激活挂机'; return } else { _d.title = '学生学习页面'; } if (_d.hidden) { audioPlayer.play(); var timer = setInterval(function () { if (c) { _d.title = '🙈挂只因中'; c = 0; } else { _d.title = '🙉挂只因中'; c = 1; } if (!_d.hidden) { clearInterval(timer); _d.title = '学生学习页面'; } }, 1300); } else { audioPlayer.pause(); } }); _w.unrivalgetTeacherAjax = _w.getTeacherAjax; _w.getTeacherAjax = (courseid, classid, cid) => { if (cid == getQueryVariable('chapterId')) { return; } _w.top.unrivalPageRd = ''; _w.unrivalgetTeacherAjax(courseid, classid, cid); } if (disableMonitor == 1) { _w.appendChild = _w.Element.prototype.appendChild; _w.Element.prototype.appendChild = function () { try { if (arguments[0].src.indexOf('detect.chaoxing.com') > 0) { return; } } catch (e) { } _w.appendChild.apply(this, arguments); }; } _w.jump = false; setInterval(function () { if (getQueryVariable('mooc2') == '1') { let tabs = _d.getElementsByClassName('posCatalog_select'); for (let i = 0, l = tabs.length; i < l; i++) { let tabId = tabs[i].getAttribute('id'); if (tabId.indexOf('cur') >= 0 && tabs[i].getAttribute('class') == 'posCatalog_select') { tabs[i].setAttribute('onclick', "getTeacherAjax('" + courseId + "','" + classId + "','" + tabId.replace('cur', '') + "');"); } } } else { let h4s = _d.getElementsByTagName('h4'), h5s = _d.getElementsByTagName('h5'); for (let i = 0, l = h4s.length; i < l; i++) { if (h4s[i].getAttribute('id').indexOf('cur') >= 0) { h4s[i].setAttribute('onclick', "getTeacherAjax('" + courseId + "','" + classId + "','" + h4s[i].getAttribute('id').replace('cur', '') + "');"); } } for (let i = 0, l = h5s.length; i < l; i++) { if (h5s[i].getAttribute('id').indexOf('cur') >= 0) { h5s[i].setAttribute('onclick', "getTeacherAjax('" + courseId + "','" + classId + "','" + h5s[i].getAttribute('id').replace('cur', '') + "');"); } } } }, 1000); setInterval(function () { let but = null; if (_w.jump) { _w.jump = false; _w.top.unrivalDoneWorkId = ''; _w.jjump = (rd) => { if (rd != _w.top.unrivalPageRd) { return; } try { setTimeout(function () { if (jumpType == 1) { if (getQueryVariable('mooc2') == '1') { but = _d.getElementsByClassName( 'jb_btn jb_btn_92 fs14 prev_next next'); } else { but = _d.getElementsByClassName('orientationright'); } try { setTimeout(function () { if (rd != _w.top.unrivalPageRd) { return; } but[0].click(); }, 2000); } catch (e) { } return; } if (getQueryVariable('mooc2') == '1') { let ul = _d.getElementsByClassName('prev_ul')[0], lis = ul.getElementsByTagName('li'); for (let i = 0, l = lis.length; i < l; i++) { if (lis[i].getAttribute('class') == 'active') { if (i + 1 >= l) { break; } else { try { lis[i + 1].click(); } catch (e) { } return; } } } let tabs = _d.getElementsByClassName('posCatalog_select'); for (let i = 0, l = tabs.length; i < l; i++) { if (tabs[i].getAttribute('class') == 'posCatalog_select posCatalog_active') { while (i + 1 < tabs.length) { let nextTab = tabs[i + 1]; if ((nextTab.innerHTML.includes( 'icon_Completed prevTips') && _w.top .unrivalReviewMode == '0') || nextTab .innerHTML.includes( 'catalog_points_er prevTips')) { i++; continue; } if (nextTab.id.indexOf('cur') < 0) { i++; continue; } let clickF = setInterval(function () { if (rd != _w.top.unrivalPageRd) { clearInterval(clickF); return; } nextTab.click(); }, 2000); break; } break; } } } else { let div = _d.getElementsByClassName('tabtags')[0], spans = div.getElementsByTagName('span'); for (let i = 0, l = spans.length; i < l; i++) { if (spans[i].getAttribute('class').indexOf('currents') >= 0) { if (i + 1 == l) { break; } else { try { spans[i + 1].click(); } catch (e) { } return; } } } let tabs = _d.getElementsByTagName('span'), newTabs = []; for (let i = 0, l = tabs.length; i < l; i++) { if (tabs[i].getAttribute('style') != null && tabs[i] .getAttribute('style').indexOf( 'cursor:pointer;height:18px;') >= 0) { newTabs.push(tabs[i]); } } tabs = newTabs; for (let i = 0, l = tabs.length; i < l; i++) { if (tabs[i].parentNode.getAttribute('class') == 'currents') { while (i + 1 < tabs.length) { let nextTab = tabs[i + 1].parentNode; if ((nextTab.innerHTML.includes( 'roundpoint blue') && _w.top .unrivalReviewMode == '0') || nextTab .innerHTML.includes('roundpointStudent lock') ) { i++; continue; } if (nextTab.id.indexOf('cur') < 0) { i++; continue; } let clickF = setInterval(function () { if (rd != _w.top.unrivalPageRd) { clearInterval(clickF); return; } nextTab.click(); }, 2000); break; } break; } } } }, 2000); } catch (e) { } } _w.onReadComplete1(); setTimeout('jjump("' + _w.top.unrivalPageRd + '")', 2856); } }, 200); } else if (_l.href.indexOf("work/phone/doHomeWork") > 0) { var wIdE = _d.getElementById('workLibraryId') || _d.getElementById('oldWorkId'), wid = wIdE.value; _w.top.unrivalWorkDone = false; _w.aalert = _w.alert; _w.alert = (msg) => { if (msg == '保存成功') { _w.top.unrivalDoneWorkId = getQueryVariable('workId'); return; } aalert(msg); } if (_w.top.unrivalDoneWorkId == getQueryVariable('workId')) { _w.top.unrivalWorkDone = true; return; } _w.confirm = (msg) => { return true; } var questionList = [], questionsElement = _d.getElementsByClassName('Py-mian1'), questionNum = questionsElement.length, totalQuestionNum = questionNum; for (let i = 0; i < questionNum; i++) { let questionElement = questionsElement[i], idElements = questionElement.getElementsByTagName('input'), questionId = '0', question = questionElement.getElementsByClassName('Py-m1-title fs16')[0].innerHTML; question = handleImgs(question).replace(/(<([^>]+)>)/ig, '').replace(/[0-9]{1,3}.\[(.*?)\]/ig, '').replaceAll('\n', '').replace(/^\s+/ig, '').replace(/\s+$/ig, ''); for (let z = 0, k = idElements.length; z < k; z++) { try { if (idElements[z].getAttribute('name').indexOf('answer') >= 0) { questionId = idElements[z].getAttribute('name').replace('type', ''); break; } } catch (e) { console.log(e); continue; } } if (questionId == '0' || question == '') { continue; } typeE = questionElement.getElementsByTagName('input'); if (typeE == null || typeE == []) { continue; } let typeN = 'fuckme'; for (let g = 0, h = typeE.length; g < h; g++) { if (typeE[g].id == 'answertype' + questionId.replace('answer', '').replace('check', '')) { typeN = typeE[g].value; break; } } if (['0', '1', '3'].indexOf(typeN) < 0) { continue; } type = { '0': '单选题', '1': '多选题', '3': '判断题' }[typeN]; let optionList = { length: 0 }; if (['单选题', '多选题'].indexOf(type) >= 0) { let answersElements = questionElement.getElementsByClassName('answerList')[0].getElementsByTagName( 'li'); for (let x = 0, j = answersElements.length; x < j; x++) { let optionE = answersElements[x], optionTextE = trim(optionE.innerHTML.replace(/(^\s*)|(\s*$)/g, "")), optionText = optionTextE.slice(1).replace(/(^\s*)|(\s*$)/g, ""), optionValue = optionTextE.slice(0, 1), optionId = optionE.getAttribute('id-param'); if (optionText == '') { break; } optionList[optionText] = { 'id': optionId, 'value': optionValue } optionList.length++; } if (answersElements.length != optionList.length) { continue; } } questionList.push({ 'question': question, 'type': type, 'questionid': questionId, 'options': optionList }); } var qu = null, nowTime = -4000, busyThread = questionList.length, ctOnload = function (res, quu) { busyThread -= 1; var ctResult = { 'code': 0, 'data': '未找到答案' }; if (res) { try { var responseText = res.responseText, ctResult = JSON.parse(responseText); } catch (e) { console.log(e); _w.top.unrivalWorkInfo = '查题错误,响应解析失败'; return; } } try { let choiceEs = _d.getElementsByTagName('li'); // 新API: code === 1 表示成功,code === 0 表示失败 if (ctResult['code'] !== 1) { try { if (ctResult['msg'] !== undefined) { _w.top.unrivalWorkInfo = ctResult['msg']; } else { _w.top.unrivalWorkInfo = '未找到答案'; } } catch (e) { } return; } try { var result = ctResult['data']; } catch (e) { _w.top.unrivalWorkInfo = '答案解析失败'; return; } _w.top.unrivalWorkInfo = '题目:' + quu['question'] + ':' + result; switch (quu['type']) { case '判断题': (function () { let answer = 'abaabaaba'; if ('正确是对√Tri'.indexOf(result) >= 0) { answer = 'true'; } else if ('错误否错×Fwr'.indexOf(result) >= 0) { answer = 'false'; } for (let u = 0, k = choiceEs.length; u < k; u++) { if (choiceEs[u].getAttribute('val-param') == answer && choiceEs[u].getAttribute( 'id-param') == quu['questionid'].replace( 'answer', '')) { choiceEs[u].click(); questionNum -= 1; return; } } if (randomDo == 1 && accuracy < 100) { _w.top.unrivalWorkInfo = quu['question'] + ':未找到正确答案,自动选【错】'; for (let u = 0, k = choiceEs.length; u < k; u++) { if (choiceEs[u].getElementsByTagName('em') .length < 1) { continue; } if (choiceEs[u].getAttribute('val-param') == 'false' && choiceEs[u].getAttribute( 'id-param') == quu['questionid'] .replace('answer', '')) { choiceEs[u].click(); return; } } } })(); break; case '单选题': (function () { let answerData = result; for (let option in quu['options']) { if (trim(option).replace(/\s/ig, '') == trim(answerData).replace(/\s/ig, '') || trim( option).replace(/\s/ig, '').includes(trim(answerData).replace(/\s/ig, '')) || trim(answerData).replace(/\s/ig, '').includes(trim(option).replace(/\s/ig, ''))) { for (let y = 0, j = choiceEs.length; y < j; y++) { if (choiceEs[y].getElementsByTagName( 'em').length < 1) { continue; } if (choiceEs[y].getElementsByTagName( 'em')[0].getAttribute( 'id-param') == quu['options'][ option ]['value'] && choiceEs[y] .getAttribute('id-param') == quu[ 'questionid'].replace('answer', '')) { if (!choiceEs[y].getAttribute( 'class').includes('cur')) { choiceEs[y].click(); } questionNum -= 1; return; } } } } if (randomDo == 1 && accuracy < 100) { _w.top.unrivalWorkInfo = quu['question'] + ':未找到正确答案,自动选【B】'; for (let y = 0, j = choiceEs.length; y < j; y++) { if (choiceEs[y].getElementsByTagName('em') .length < 1) { continue; } if (choiceEs[y].getElementsByTagName('em')[ 0].getAttribute('id-param') == 'B' && choiceEs[y].getAttribute( 'id-param') == quu['questionid'] .replace('answer', '')) { if (!choiceEs[y].getAttribute('class') .includes('cur')) { choiceEs[y].click(); } return; } } } })(); break; case '多选题': (function () { let answerData = trim(result).replace(/\s/ig, ''), hasAnswer = false; for (let option in quu['options']) { if (answerData.includes(trim(option).replace(/\s/ig, ''))) { for (let y = 0, j = choiceEs.length; y < j; y++) { if (choiceEs[y].getElementsByTagName( 'em').length < 1) { continue; } if (choiceEs[y].getElementsByTagName( 'em')[0].getAttribute( 'id-param') == quu['options'][ option ]['value'] && choiceEs[y] .getAttribute('id-param') == quu[ 'questionid'].replace('answer', '')) { if (!choiceEs[y].getAttribute( 'class').includes('cur')) { choiceEs[y].click(); } hasAnswer = true; break; } } } } if (hasAnswer) { questionNum -= 1; } else if (randomDo == 1 && accuracy < 100) { _w.top.unrivalWorkInfo = quu['question'] + ':未找到正确答案,自动全选'; for (let y = 0, j = choiceEs.length; y < j; y++) { if (choiceEs[y].getElementsByTagName('em') .length < 1) { continue; } if (choiceEs[y].getAttribute('id-param') == quu['questionid'].replace('answer', '') ) { if (!choiceEs[y].getAttribute('class') .includes('cur')) { choiceEs[y].click(); } } } } })(); break; } } catch (e) { console.log(e); } } for (let i = 0, l = questionList.length; i < l; i++) { nowTime += parseInt(Math.random() * 2000 + 2500, 10); setTimeout(function () { qu = questionList[i]; // 构建新API请求参数 let param = 'question=' + encodeURIComponent(qu['question']) + '&key=' + encodeURIComponent(token || ''); // 添加题目类型(可选) if (qu['type']) { param += '&type=' + encodeURIComponent(qu['type']); } // 构建选择题选项列表(anslist) if (['单选题', '多选题'].indexOf(qu['type']) >= 0 && qu['options'] && qu['options'].length > 0) { let anslist = []; for (let option in qu['options']) { if (option !== 'length' && qu['options'].hasOwnProperty(option)) { anslist.push(trim(option)); } } if (anslist.length > 0) { param += '&anslist=' + encodeURIComponent(JSON.stringify(anslist)); } } GM_xmlhttpRequest({ method: "POST", headers: { 'Content-type': 'application/x-www-form-urlencoded', }, url: ctUrl, timeout: 5000, data: param, onload: function (res) { ctOnload(res, qu); }, onerror: function () { ctOnload(false, qu); }, ontimeout: function () { ctOnload(false, qu); } }); }, nowTime); } var workInterval = setInterval(function () { if (busyThread != 0) { return; } clearInterval(workInterval); if (Math.floor((totalQuestionNum - questionNum) / totalQuestionNum) * 100 >= accuracy && _w.top .unrivalAutoSubmit == '1') { _w.top.unrivalDoneWorkId = getQueryVariable('workId'); _w.top.unrivalWorkInfo = '正确率符合标准,已提交答案'; setTimeout(function () { submitCheckTimes(); escapeBlank() submitAction() // setTimeout(function() { // document.querySelector(".cx_alert-blue").click() // }, parseInt(1000)); }, parseInt(Math.random() * 2000 + 3000, 10)); } else if (_w.top.unrivalAutoSave == 1) { _w.top.unrivalWorkInfo = '正确率不符合标准或未设置自动提交,已自动保存答案'; if (Math.floor((totalQuestionNum - questionNum) / totalQuestionNum) >= 0) { setTimeout(function () { _w.top.unrivalDoneWorkId = getQueryVariable('workId'); _w.noSubmit(); }, 2000); } } else { _w.top.unrivalWorkInfo = '用户设置为不自动保存答案,请手动提交或保存作业'; } }, 1000); } else if (_l.href.includes('work/phone/selectWorkQuestionYiPiYue')) { _w.top.unrivalWorkDone = true; _w.top.unrivalDoneWorkId = getQueryVariable('workId'); } else if (_l.href.includes('stat2-ans.chaoxing.com/task/s/index')) { if (_w.top == _w) { return; } _d.getElementsByClassName('page-container studentStatistic')[0].setAttribute('class', 'studentStatistic'); _d.getElementsByClassName('page-item item-task-list minHeight390')[0].remove(); _d.getElementsByClassName('subNav clearfix')[0].remove(); setInterval(function () { _l.reload(); }, 90000); } else if (_l.href.includes('passport2.') && _l.href.includes('login?refer=http') && autoLogin == 1) { if (!(/^1[3456789]\d{9}$/.test(phoneNumber))) { alert('自动登录的手机号填写错误,无法登陆') return; } if (password == '') { alert('未填写登录密码,无法登陆') return; } GM_xmlhttpRequest({ method: "get", url: 'https://passport2-api.chaoxing.com/v11/loginregister?cx_xxt_passport=json&uname=' + phoneNumber + '&code=' + encodeURIComponent(password), onload: function (res) { try { let ispass = JSON.parse(res.responseText); if (ispass['status']) { _l.href = decodeURIComponent(getQueryVariable('refer')); } else { alert(ispass['mes']); } } catch (err) { console.log(res.responseText); alert('登陆失败'); } }, onerror: function (err) { alert('登陆错误'); } }); } else if (_l.href.includes('unrivalxxtbackground')) { _d.getElementsByTagName("html")[0].innerHTML = ` 学习通挂机小助手

学习通挂机小助手 


任务列表
运行日志
`; // 日志系统(后台挂机模式) var logs = { logArry: [], addLog: function (str, color = "black") { if (this.logArry.length >= CONSTANTS.LOG_MAX_LENGTH) { this.logArry.shift(); } const time = formatTime(); const logEntry = `[${time.hour}:${time.minute}:${time.second}] ${str}`; this.logArry.push(logEntry); const logElement = _d.getElementById('log'); if (logElement) { logElement.innerHTML = this.logArry.join('
'); logElement.scrollTop = logElement.scrollHeight; } } }; logs.addLog('此页面不必保持在最前端,后台会自动进行任务', 'green'); setInterval(function () { logs.addLog('此页面不必保持在最前端,后台会自动进行任务', 'green'); logs.addLog('如想禁用后台刷视频功能,请关闭脚本并重启浏览器', 'blue'); }, 120000) GM_addValueChangeListener('unrivalxxtbackgroundinfo', function (name, old_value, new_value, remote) { if (old_value != new_value) { logs.addLog(new_value); } }); setInterval(function () { if (Math.round(new Date() / 1000) - parseInt(GM_getValue('unrivalBackgroundVideoEnable', '6')) > CONSTANTS.BACKGROUND_CHECK_INTERVAL) { logs.addLog('超星挂机小助手可能运行异常,如页面无反应,请尝试重启脚本猫或重启浏览器(脚本猫0.9.0版本有此问题)'); } }, 10000); var loopShow = () => { let jobList = GM_getValue('unrivalBackgroundList', '1'); if (jobList == '1') { _d.getElementById('joblist').innerHTML = '请将“超星挂机小助手”升级到最新版并重启浏览器'; } else { try { let jobHtml = ''; for (let i = 0, l = jobList.length; i < l; i++) { let status = ''; if (jobList[i]['done']) { status = '已完成'; } else if (parseInt(jobList[i]['playTime']) > 0) { status = '进行中'; } else { status = '等待中'; } if (jobList[i]['review']) { status += ':复习模式'; } jobHtml += `
` + '[' + status + ']' + jobList[i]['name'] + `
` } _d.getElementById('joblist').innerHTML = jobHtml; } catch (e) { _d.getElementById('joblist').innerHTML = '请将“超星挂机小助手”升级到最新版并重启浏览器!'; } } } loopShow(); setInterval(loopShow, 10000); } })();