// ==UserScript==
// @name 德阳市继续教育公需科目培训平台播放页自动播放【稳定运行1年,无封号】
// @namespace https://bbs.tampermonkey.net.cn/
// @version 7.0.14
// @author You
// @description 自动播放公需科目视频,自动切换下一个2026年8月26日
// @match https://px.dyhrsc.cn/*
// @require https://cdn.jsdelivr.net/npm/vue@3.5.41/dist/vue.global.prod.js
// @connect *
// @connect wx.dyhrsc.cn
// @grant GM.xmlHttpRequest
// @grant GM_addStyle
// ==/UserScript==
(function(vue) {
"use strict";
var s = new Set();
var _css = async (t) => {
if (s.has(t)) return;
s.add(t);
((c) => {
if (typeof GM_addStyle === "function") GM_addStyle(c);
else (document.head || document.documentElement).appendChild(document.createElement("style")).append(c);
})(t);
};
_css(" .cvm-overlay[data-v-02e6ec91]{z-index:2147483647;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0009;justify-content:center;align-items:center;animation:.25s fadeIn-02e6ec91;display:flex;position:fixed;inset:0}@keyframes fadeIn-02e6ec91{0%{opacity:0}to{opacity:1}}.cvm-content[data-v-02e6ec91]{color:#e0e0e0;background:#1e1e2e;border:1px solid #333;border-radius:14px;width:420px;max-width:92vw;max-height:90vh;padding:28px 26px 20px;font-family:-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;animation:.3s slideUp-02e6ec91;position:relative;overflow-y:auto;box-shadow:0 12px 40px #00000080}.cvm-content[data-v-02e6ec91]::-webkit-scrollbar{width:4px}.cvm-content[data-v-02e6ec91]::-webkit-scrollbar-thumb{background:#555;border-radius:2px}@keyframes slideUp-02e6ec91{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.cvm-title-row[data-v-02e6ec91]{justify-content:center;align-items:center;margin-bottom:18px;display:flex;position:relative}.cvm-title[data-v-02e6ec91]{text-align:center;color:#fff;margin:0;font-size:20px;font-weight:700}.cvm-close[data-v-02e6ec91]{color:#888;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:18px;transition:all .2s;position:absolute;top:50%;right:0;transform:translateY(-50%)}.cvm-close[data-v-02e6ec91]:hover{color:#fff;background:#ffffff1a}.cvm-desc[data-v-02e6ec91]{background:#4caf5014;border:1px solid #4caf5033;border-radius:10px;margin-bottom:18px;padding:14px 16px}.cvm-desc-title[data-v-02e6ec91]{color:#4caf50;margin-bottom:10px;font-size:15px;font-weight:700}.cvm-desc-list[data-v-02e6ec91]{color:#ccc;font-size:13px;line-height:1.9}.cvm-desc-list b[data-v-02e6ec91]{color:#e0e0e0}.cvm-desc-stats[data-v-02e6ec91]{color:#aaa;border-top:1px solid #ffffff14;justify-content:center;gap:16px;margin-top:10px;padding-top:10px;font-size:12px;display:flex}.cvm-desc-stats b[data-v-02e6ec91]{color:#4caf50}.cvm-desc-note[data-v-02e6ec91]{color:#999;border-top:1px solid #ffffff14;margin-top:10px;padding-top:10px;font-size:12px;line-height:1.6}.cvm-input-group[data-v-02e6ec91]{gap:10px;margin-bottom:14px;display:flex}.cvm-input-group input[data-v-02e6ec91]{color:#e0e0e0;background:#2a2a3c;border:1px solid #444;border-radius:8px;outline:none;flex:1;padding:10px 14px;font-size:14px;transition:border-color .2s}.cvm-input-group input[data-v-02e6ec91]:focus{border-color:#4fc3f7}.cvm-input-group input[data-v-02e6ec91]::placeholder{color:#666}.cvm-input-group button[data-v-02e6ec91]{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#4caf50,#43a047);border:none;border-radius:8px;padding:10px 22px;font-size:14px;font-weight:600;transition:transform .15s,box-shadow .2s}.cvm-input-group button[data-v-02e6ec91]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #4caf5066}.cvm-input-group button[data-v-02e6ec91]:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.cvm-status[data-v-02e6ec91]{text-align:center;min-height:22px;margin-bottom:14px;font-size:13px}.cvm-status.success[data-v-02e6ec91]{color:#4caf50}.cvm-status.error[data-v-02e6ec91]{color:#f44336}.cvm-status.loading[data-v-02e6ec91]{color:#ffa726}.cvm-buy-btn[data-v-02e6ec91]{text-align:center;color:#fff;background:linear-gradient(135deg,#ff9800,#f57c00);border-radius:8px;margin-bottom:14px;padding:10px;font-size:14px;font-weight:600;text-decoration:none;transition:transform .15s,box-shadow .2s;display:block}.cvm-buy-btn[data-v-02e6ec91]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ff980066}.cvm-tip[data-v-02e6ec91]{text-align:center;color:#888;font-size:12px;line-height:1.6}.cvm-disclaimer-link[data-v-02e6ec91]{text-align:center;color:#666;border-top:1px solid #ffffff0f;margin-top:12px;padding-top:10px;font-size:11px}.cvm-disclaimer-link a[data-v-02e6ec91]{color:#888;cursor:pointer;text-decoration:underline;transition:color .2s}.cvm-disclaimer-link a[data-v-02e6ec91]:hover{color:#aaa}.disclaimer-overlay[data-v-02e6ec91]{z-index:2147483647;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.disclaimer-modal[data-v-02e6ec91]{background:#1e1e2e;border:1px solid #333;border-radius:12px;flex-direction:column;width:380px;max-width:90vw;max-height:80vh;display:flex;box-shadow:0 12px 40px #00000080}.disclaimer-modal-header[data-v-02e6ec91]{color:#ffa726;border-bottom:1px solid #333;justify-content:space-between;align-items:center;padding:14px 18px;font-size:15px;font-weight:700;display:flex}.disclaimer-modal-header button[data-v-02e6ec91]{color:#888;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:16px}.disclaimer-modal-header button[data-v-02e6ec91]:hover{color:#fff;background:#ffffff1a}.disclaimer-modal-body[data-v-02e6ec91]{color:#aaa;padding:16px 18px;font-size:12px;line-height:2;overflow-y:auto}.disclaimer-modal-body p[data-v-02e6ec91]{margin:0;padding:2px 0}.disclaimer-modal-body b[data-v-02e6ec91]{color:#ddd}.disclaimer-modal-footer[data-v-02e6ec91]{text-align:center;border-top:1px solid #333;padding:12px 18px}.disclaimer-modal-footer button[data-v-02e6ec91]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4caf50,#43a047);border:none;border-radius:6px;padding:8px 24px;font-size:13px;font-weight:600;transition:transform .15s}.disclaimer-modal-footer button[data-v-02e6ec91]:hover{transform:translateY(-1px)}.ap-tab[data-v-cc8f3555]{padding:12px 16px}.ap-row[data-v-cc8f3555]{align-items:flex-start;margin-bottom:4px;font-size:13px;display:flex}.ap-label[data-v-cc8f3555]{color:#aaa;flex-shrink:0;width:70px}.ap-value[data-v-cc8f3555]{color:#e8e8e8;word-break:break-all;flex:1}.ap-bar-wrap[data-v-cc8f3555]{background:#333;border-radius:4px;height:6px;margin-top:8px;overflow:hidden}.ap-bar[data-v-cc8f3555]{background:linear-gradient(90deg,#4caf50,#4fc3f7);border-radius:4px;height:100%;transition:width .5s}.ap-delay[data-v-cc8f3555]{align-items:center;gap:8px;margin-top:10px;font-size:12px;display:flex}.ap-delay-label[data-v-cc8f3555]{color:#aaa;flex-shrink:0}.ap-delay-range[data-v-cc8f3555]{appearance:none;cursor:pointer;background:#444;border-radius:2px;outline:none;flex:1;height:4px}.ap-delay-range[data-v-cc8f3555]::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#4fc3f7;border-radius:50%;width:14px;height:14px}.ap-delay-value[data-v-cc8f3555]{color:#4fc3f7;text-align:right;min-width:24px;font-weight:600}.ap-info[data-v-cc8f3555]{margin-top:10px}.ap-info-row[data-v-cc8f3555]{color:#aaa;margin-bottom:4px;font-size:12px}.ap-card-status[data-v-cc8f3555]{border-radius:4px;padding:1px 6px;font-size:11px;font-weight:600;display:inline-block}.ap-card-status.active[data-v-cc8f3555]{color:#4caf50;background:#4caf5033}.ap-card-status.expired[data-v-cc8f3555]{color:#f44336;background:#f4433633}.ap-device[data-v-cc8f3555]{color:#666;font-size:11px}.ap-safe[data-v-cc8f3555]{color:#aaa;background:#4caf500f;border:1px solid #4caf5026;border-radius:8px;margin-top:12px;padding:10px 12px;font-size:11px;line-height:1.8}.ap-safe-title[data-v-cc8f3555]{color:#4caf50;margin-bottom:4px;font-size:12px;font-weight:600}.vlt-tab[data-v-e873fd8e]{padding:12px 16px}.vlt-settings[data-v-e873fd8e]{background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;margin-bottom:12px;padding:10px}.vlt-settings-title[data-v-e873fd8e]{color:#81d4fa;margin-bottom:8px;font-size:12px;font-weight:600}.vlt-presets[data-v-e873fd8e]{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.vlt-preset-btn[data-v-e873fd8e]{color:#aaa;cursor:pointer;white-space:nowrap;background:#ffffff0d;border:1px solid #444;border-radius:4px;padding:3px 8px;font-size:11px;transition:all .2s}.vlt-preset-btn.active[data-v-e873fd8e]{color:#4fc3f7;background:#4fc3f71a;border-color:#4fc3f7}.vlt-preset-btn[data-v-e873fd8e]:hover{color:#ccc;border-color:#888}.vlt-params[data-v-e873fd8e]{flex-direction:column;gap:6px;display:flex}.vlt-param[data-v-e873fd8e]{align-items:center;gap:8px;display:flex}.vlt-param label[data-v-e873fd8e]{color:#aaa;text-align:right;flex-shrink:0;width:56px;font-size:11px}.vlt-param-row[data-v-e873fd8e]{flex:1;align-items:center;gap:8px;display:flex}.vlt-param-row input[type=range][data-v-e873fd8e]{accent-color:#4fc3f7;cursor:pointer;flex:1;height:4px}.vlt-param-val[data-v-e873fd8e]{color:#4fc3f7;text-align:right;flex-shrink:0;min-width:48px;font-size:11px;font-weight:600}.vlt-speed-info[data-v-e873fd8e]{color:#888;text-align:center;margin-top:6px;font-size:11px}.vlt-speed-info b[data-v-e873fd8e]{color:#ffcc02}.vlt-progress-wrap[data-v-e873fd8e]{background:#4fc3f70f;border:1px solid #4fc3f726;border-radius:8px;margin-bottom:12px;padding:10px 12px;transition:all .5s}.vlt-progress-wrap.all-done[data-v-e873fd8e]{background:#4caf5014;border-color:#4caf5040}.vlt-progress-info[data-v-e873fd8e]{justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;display:flex}.vlt-progress-label[data-v-e873fd8e]{color:#aaa;font-weight:600}.vlt-progress-count[data-v-e873fd8e]{color:#ccc;font-size:11px}.vlt-progress-error[data-v-e873fd8e]{color:#f44336}.vlt-progress-running[data-v-e873fd8e]{color:#4fc3f7}.vlt-progress-pct[data-v-e873fd8e]{color:#4fc3f7;text-align:right;min-width:40px;font-size:14px;font-weight:700;transition:color .3s}.vlt-progress-pct.pct-done[data-v-e873fd8e]{color:#4caf50}.vlt-progress-track[data-v-e873fd8e]{background:#1a1a2e;border-radius:5px;height:10px;position:relative;overflow:hidden}.vlt-progress-bar[data-v-e873fd8e]{background:linear-gradient(90deg,#1976d2,#4caf50);border-radius:5px;height:100%;transition:width .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 0 8px #4caf5066}.vlt-progress-shine[data-v-e873fd8e]{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);width:100%;height:100%;animation:1.5s ease-in-out infinite vlt-shine-e873fd8e;position:absolute;top:0;left:-100%}@keyframes vlt-shine-e873fd8e{0%{left:-100%}to{left:200%}}.vlt-progress-error-bar[data-v-e873fd8e]{background:#f4433680;border-radius:0 5px 5px 0;height:100%;position:absolute;top:0}.vlt-header[data-v-e873fd8e]{color:#aaa;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:12px;display:flex}.vlt-header-btns[data-v-e873fd8e]{gap:6px;display:flex}.vlt-refresh-btn[data-v-e873fd8e]{color:#aaa;cursor:pointer;background:0 0;border:1px solid #555;border-radius:5px;padding:4px 10px;font-size:11px;transition:all .2s}.vlt-refresh-btn[data-v-e873fd8e]:hover{color:#4fc3f7;border-color:#4fc3f7}.vlt-refresh-btn[data-v-e873fd8e]:disabled{opacity:.5;cursor:not-allowed}.vlt-complete-all[data-v-e873fd8e]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ff9800,#f57c00);border:none;border-radius:5px;padding:4px 10px;font-size:11px;font-weight:600;transition:transform .15s,box-shadow .2s}.vlt-complete-all[data-v-e873fd8e]:hover{transform:translateY(-1px);box-shadow:0 3px 10px #ff980066}.vlt-complete-all[data-v-e873fd8e]:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.vlt-list[data-v-e873fd8e]{max-height:140px;overflow-y:auto}.vlt-list[data-v-e873fd8e]::-webkit-scrollbar{width:4px}.vlt-list[data-v-e873fd8e]::-webkit-scrollbar-thumb{background:#444;border-radius:2px}.vlt-item[data-v-e873fd8e]{border-bottom:1px solid #222;align-items:center;gap:6px;padding:5px 0;font-size:12px;display:flex}.vlt-item[data-v-e873fd8e]:last-child{border-bottom:none}.vlt-name[data-v-e873fd8e]{color:#ccc;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.vlt-progress[data-v-e873fd8e]{color:#4fc3f7;text-align:right;flex-shrink:0;min-width:32px;font-size:11px;font-weight:600}.vlt-status[data-v-e873fd8e]{border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:11px}.vlt-status.done[data-v-e873fd8e]{color:#4caf50;background:#4caf5026}.vlt-status.partial[data-v-e873fd8e]{color:#ffc107;background:#ffc10726}.vlt-status.pending[data-v-e873fd8e]{color:#ffa726;background:#ff980026}.vlt-status.running[data-v-e873fd8e]{color:#4fc3f7;background:#4fc3f726}.vlt-status.error[data-v-e873fd8e]{color:#f44336;background:#f4433626}.vlt-btn[data-v-e873fd8e]{color:#aaa;cursor:pointer;background:0 0;border:1px solid #555;border-radius:4px;flex-shrink:0;padding:2px 7px;font-size:11px;transition:all .2s}.vlt-btn[data-v-e873fd8e]:hover{color:#4caf50;border-color:#4caf50}.vlt-btn[data-v-e873fd8e]:disabled{opacity:.4;cursor:not-allowed;color:#666;border-color:#333}.vlt-empty[data-v-e873fd8e]{text-align:center;color:#888;padding:20px}.vlt-footer-status[data-v-e873fd8e]{text-align:center;color:#666;margin-top:8px;font-size:11px}.vlt-footer-status.error[data-v-e873fd8e]{color:#f44336}.vlt-footer-status.success[data-v-e873fd8e]{color:#4caf50}.mp-panel[data-v-60bd3afd]{z-index:99999;color:#e8e8e8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);-webkit-user-select:none;user-select:none;background:#000000d9;border-radius:10px;flex-direction:column;width:360px;max-height:calc(100vh - 60px);font-family:-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:13px;line-height:1.7;display:flex;position:fixed;top:16px;left:16px;box-shadow:0 4px 20px #00000059}.mp-header[data-v-60bd3afd]{cursor:move;border-bottom:1px solid #2a2a2a;flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.mp-header-title[data-v-60bd3afd]{color:#4fc3f7;align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.dot[data-v-60bd3afd]{background:#4caf50;border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite pulse-60bd3afd}.dot-warn[data-v-60bd3afd]{background:#ffa726;animation:none}@keyframes pulse-60bd3afd{0%,to{opacity:1}50%{opacity:.3}}.mp-header-btns button[data-v-60bd3afd]{color:#888;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:14px;transition:all .2s}.mp-header-btns button[data-v-60bd3afd]:hover{color:#fff;background:#ffffff1a}.mp-body[data-v-60bd3afd]{border-top:1px solid #2a2a2a;flex:1;min-height:0;overflow:hidden auto}.mp-body[data-v-60bd3afd]::-webkit-scrollbar{width:4px}.mp-body[data-v-60bd3afd]::-webkit-scrollbar-thumb{background:#555;border-radius:2px}.mp-body[data-v-60bd3afd]::-webkit-scrollbar-track{background:0 0}.mp-tip[data-v-60bd3afd]{border-bottom:1px solid #ffffff0d;padding:8px 16px;font-size:12px}.mp-tip b[data-v-60bd3afd]{font-weight:600}.mp-tip-ok[data-v-60bd3afd]{color:#4caf50;background:#4caf5014;border-bottom-color:#4caf5026}.mp-tip-warn[data-v-60bd3afd]{color:#ffa726;background:#ff980014;border-bottom-color:#ff980026}.mp-tip-sub[data-v-60bd3afd]{color:#888;margin-top:2px;font-size:11px}.mp-best-tip[data-v-60bd3afd]{background:linear-gradient(135deg,#ff980026,#ff57221f);border:1px solid #ff980059;border-radius:8px;margin:8px 12px;padding:10px 14px}.mp-best-title[data-v-60bd3afd]{color:#ff9800;letter-spacing:.5px;margin-bottom:6px;font-size:13px;font-weight:700}.mp-best-content[data-v-60bd3afd]{color:#e0c8a0;font-size:12px;line-height:1.8}.mp-best-content b[data-v-60bd3afd]{color:#ffcc02}.mp-notice[data-v-60bd3afd]{background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;margin:8px 12px;padding:10px 14px}.mp-notice-title[data-v-60bd3afd]{color:#81d4fa;margin-bottom:6px;font-size:13px;font-weight:700}.mp-notice-list[data-v-60bd3afd]{color:#999;font-size:11px;line-height:1.8}.mp-notice-list p[data-v-60bd3afd]{margin:0;padding:2px 0}.mp-notice-list b[data-v-60bd3afd]{color:#bbb;font-weight:600}.mp-tabs[data-v-60bd3afd]{border-bottom:1px solid #2a2a2a;display:flex}.mp-tab[data-v-60bd3afd]{text-align:center;white-space:nowrap;color:#888;cursor:pointer;border-bottom:2px solid #0000;flex:1;padding:8px 2px;font-size:11px;transition:all .2s}.mp-tab.active[data-v-60bd3afd]{color:#4fc3f7;border-bottom-color:#4fc3f7}.mp-tab[data-v-60bd3afd]:hover{color:#ccc}.mp-instant-tip[data-v-60bd3afd]{background:linear-gradient(135deg,#ff980026,#ff57221f);border:1px solid #ff980059;border-radius:8px;margin:8px 12px;padding:10px 14px}.mp-instant-title[data-v-60bd3afd]{color:#ff9800;letter-spacing:.5px;margin-bottom:6px;font-size:13px;font-weight:700}.mp-instant-content[data-v-60bd3afd]{color:#e0c8a0;font-size:12px;line-height:1.8}.mp-instant-content b[data-v-60bd3afd]{color:#ffcc02}.card-tab[data-v-60bd3afd]{padding:12px 16px}.card-status-box[data-v-60bd3afd]{background:#f4433614;border:1px solid #f4433633;border-radius:10px;align-items:center;gap:12px;margin-bottom:12px;padding:14px;transition:all .3s;display:flex}.card-status-box.active[data-v-60bd3afd]{background:#4caf5014;border-color:#4caf5040}.card-status-icon[data-v-60bd3afd]{font-size:28px}.card-status-info[data-v-60bd3afd]{flex:1}.card-status-label[data-v-60bd3afd]{color:#f44336;font-size:15px;font-weight:700}.card-status-box.active .card-status-label[data-v-60bd3afd]{color:#4caf50}.card-status-detail[data-v-60bd3afd]{color:#aaa;margin-top:2px;font-size:11px}.card-info-list[data-v-60bd3afd]{margin-bottom:12px}.card-info-item[data-v-60bd3afd]{border-bottom:1px solid #ffffff0d;justify-content:space-between;padding:6px 0;font-size:12px;display:flex}.card-info-key[data-v-60bd3afd]{color:#888}.card-info-val[data-v-60bd3afd]{color:#ccc;font-weight:600}.card-actions[data-v-60bd3afd]{gap:8px;margin-bottom:12px;display:flex}.card-btn[data-v-60bd3afd]{cursor:pointer;border:none;border-radius:6px;flex:1;padding:8px 0;font-size:13px;font-weight:600;transition:transform .15s,box-shadow .2s}.card-btn[data-v-60bd3afd]:hover{transform:translateY(-1px)}.card-btn-primary[data-v-60bd3afd]{color:#fff;background:linear-gradient(135deg,#4caf50,#43a047)}.card-btn-primary[data-v-60bd3afd]:hover{box-shadow:0 3px 10px #4caf5066}.card-btn-warn[data-v-60bd3afd]{color:#fff;background:linear-gradient(135deg,#ff9800,#f57c00)}.card-btn-warn[data-v-60bd3afd]:hover{box-shadow:0 3px 10px #ff980066}.card-buy-link[data-v-60bd3afd]{text-align:center;color:#ff9800;background:#ff98001a;border:1px solid #ff980033;border-radius:6px;padding:8px;font-size:12px;font-weight:600;text-decoration:none;transition:all .2s;display:block}.card-buy-link[data-v-60bd3afd]:hover{background:#ff980033}.mp-footer[data-v-60bd3afd]{border-top:1px solid #2a2a2a;flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.mp-footer-text[data-v-60bd3afd]{color:#666;font-size:11px}.mp-footer-card[data-v-60bd3afd]{color:#888;font-size:11px}.mp-footer-card.active[data-v-60bd3afd]{color:#4caf50}.mp-disclaimer[data-v-60bd3afd]{text-align:center;color:#555;flex-shrink:0;padding:4px 16px 8px;font-size:10px}.mp-disclaimer a[data-v-60bd3afd]{color:#666;cursor:pointer;text-decoration:underline;transition:color .2s}.mp-disclaimer a[data-v-60bd3afd]:hover{color:#aaa}.disclaimer-overlay[data-v-60bd3afd]{z-index:2147483647;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.disclaimer-modal[data-v-60bd3afd]{background:#1e1e2e;border:1px solid #333;border-radius:12px;flex-direction:column;width:380px;max-width:90vw;max-height:80vh;display:flex;box-shadow:0 12px 40px #00000080}.disclaimer-modal-header[data-v-60bd3afd]{color:#ffa726;border-bottom:1px solid #333;justify-content:space-between;align-items:center;padding:14px 18px;font-size:15px;font-weight:700;display:flex}.disclaimer-modal-header button[data-v-60bd3afd]{color:#888;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:16px}.disclaimer-modal-header button[data-v-60bd3afd]:hover{color:#fff;background:#ffffff1a}.disclaimer-modal-body[data-v-60bd3afd]{color:#aaa;padding:16px 18px;font-size:12px;line-height:2;overflow-y:auto}.disclaimer-modal-body p[data-v-60bd3afd]{margin:0;padding:2px 0}.disclaimer-modal-body b[data-v-60bd3afd]{color:#ddd}.disclaimer-modal-footer[data-v-60bd3afd]{text-align:center;border-top:1px solid #333;padding:12px 18px}.disclaimer-modal-footer button[data-v-60bd3afd]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4caf50,#43a047);border:none;border-radius:6px;padding:8px 24px;font-size:13px;font-weight:600;transition:transform .15s}.disclaimer-modal-footer button[data-v-60bd3afd]:hover{transform:translateY(-1px)}#dygx-app[data-v-b9df25d8]{z-index:99999;pointer-events:auto;position:fixed;top:0;left:0}\n/*$vite$:1*/ ");
function _0x30dc(_0x43369c, _0x2f632d) {
_0x43369c = _0x43369c - 387;
const _0x490a62 = _0x490a();
let _0x30dc92 = _0x490a62[_0x43369c];
if (_0x30dc["TBwBlI"] === void 0) {
var _0x593338 = function(_0x16688e) {
const _0x9eb0f7 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=";
let _0xdb06da = "", _0x3d23c5 = "";
for (let _0x3339a9 = 0, _0x26cd40, _0x372b02, _0x2b668b = 0; _0x372b02 = _0x16688e["charAt"](_0x2b668b++); ~_0x372b02 && (_0x26cd40 = _0x3339a9 % 4 ? _0x26cd40 * 64 + _0x372b02 : _0x372b02, _0x3339a9++ % 4) && (_0xdb06da += String["fromCharCode"](255 & _0x26cd40 >> (-2 * _0x3339a9 & 6)))) _0x372b02 = _0x9eb0f7["indexOf"](_0x372b02);
for (let _0x15da86 = 0, _0x27c27c = _0xdb06da["length"]; _0x15da86 < _0x27c27c; _0x15da86++) _0x3d23c5 += "%" + ("00" + _0xdb06da["charCodeAt"](_0x15da86)["toString"](16))["slice"](-2);
return decodeURIComponent(_0x3d23c5);
};
const _0x1444b8 = function(_0x30b6b9, _0x4f04ee) {
let _0x37bb65 = [], _0x2f149b = 0, _0x153846, _0x4ba5a1 = "";
_0x30b6b9 = _0x593338(_0x30b6b9);
let _0x448bd4;
for (_0x448bd4 = 0; _0x448bd4 < 256; _0x448bd4++) _0x37bb65[_0x448bd4] = _0x448bd4;
for (_0x448bd4 = 0; _0x448bd4 < 256; _0x448bd4++) _0x2f149b = (_0x2f149b + _0x37bb65[_0x448bd4] + _0x4f04ee["charCodeAt"](_0x448bd4 % _0x4f04ee["length"])) % 256, _0x153846 = _0x37bb65[_0x448bd4], _0x37bb65[_0x448bd4] = _0x37bb65[_0x2f149b], _0x37bb65[_0x2f149b] = _0x153846;
_0x448bd4 = 0, _0x2f149b = 0;
for (let _0x470106 = 0; _0x470106 < _0x30b6b9["length"]; _0x470106++) _0x448bd4 = (_0x448bd4 + 1) % 256, _0x2f149b = (_0x2f149b + _0x37bb65[_0x448bd4]) % 256, _0x153846 = _0x37bb65[_0x448bd4], _0x37bb65[_0x448bd4] = _0x37bb65[_0x2f149b], _0x37bb65[_0x2f149b] = _0x153846, _0x4ba5a1 += String["fromCharCode"](_0x30b6b9["charCodeAt"](_0x470106) ^ _0x37bb65[(_0x37bb65[_0x448bd4] + _0x37bb65[_0x2f149b]) % 256]);
return _0x4ba5a1;
};
_0x30dc["uGgYQR"] = _0x1444b8, _0x30dc["XvlyQy"] = {}, _0x30dc["TBwBlI"] = true;
}
const _0x53364a = _0x490a62[0], _0x120949 = _0x43369c + _0x53364a, _0x2750bf = _0x30dc["XvlyQy"][_0x120949];
return !_0x2750bf ? (_0x30dc["jcsLEz"] === void 0 && (_0x30dc["jcsLEz"] = true), _0x30dc92 = _0x30dc["uGgYQR"](_0x30dc92, _0x2f632d), _0x30dc["XvlyQy"][_0x120949] = _0x30dc92) : _0x30dc92 = _0x2750bf, _0x30dc92;
}
var _0x7c58e0 = _0x30dc;
(function(_0x1e2cdc, _0x32c250) {
const _0x10088b = _0x30dc, _0x1beba8 = _0x1e2cdc();
while (true) try {
if (parseInt(_0x10088b(394, "&uaZ")) / 1 * (-parseInt(_0x10088b(418, "Bq3d")) / 2) + parseInt(_0x10088b(390, "3rtX")) / 3 * (parseInt(_0x10088b(403, "rTO#")) / 4) + -parseInt(_0x10088b(387, "Hj7(")) / 5 + parseInt(_0x10088b(393, "p%SJ")) / 6 + parseInt(_0x10088b(416, "M8pJ")) / 7 * (-parseInt(_0x10088b(408, "UvZa")) / 8) + -parseInt(_0x10088b(395, "5%7b")) / 9 * (-parseInt(_0x10088b(397, "(!VR")) / 10) + parseInt(_0x10088b(414, "DnpM")) / 11 === _0x32c250) break;
else _0x1beba8["push"](_0x1beba8["shift"]());
} catch (_0x464689) {
_0x1beba8["push"](_0x1beba8["shift"]());
}
})(_0x490a, 483512);
function _0x490a() {
const _0x3a763b = [
"WPT+mmkxBG",
"iSk1W53dMNZcVgBdLSoiWRNcMmkJW5q",
"uSoBWPJdLGL2dq",
"hLbXWOWWW57dJW",
"BmokWRRcV8okWQafWP5kWOVdMsv6",
"WRLXC8otBIG",
"WPFcOCk/WRWuE8oAccBcQCoWW4av",
"zSo7W6KgWOrYqMmDW5qdDa",
"WOZcNXpcOITtW7/dOq",
"pmoBWPdcICowAt9TWOma",
"WQqKW5VdJYtcSXW9nwFdIYVcTG",
"g8k5W6K1W7hcNJ8OlSk6WOpdGG",
"W7OKjCkemhFdKt3cP18bFWu",
"eSogA8oXW4G",
"W4n4WO5bW4JdKYVcHa",
"W5zIWQDyxI3cV8oSo1W7hq",
"xmkLDmkPW6JcOSkBE8kUW4y",
"BSoSWReNovddLG",
"aSoDWRSwWOZdGJq",
"W6KWfmoyWQ/dPSk+W6O",
"pKpcIh1xAmkyWPa",
"amk3W6qmsa",
"W4RcPSkla8kB",
"eqPkWRfq",
"WP3cRYNcSG",
"wbTbFxSoWOy",
"WPneW4RdRmo0WQO",
"CYxcT8kYW6hdH2pcOgBdGKhdU8oU",
"EYXbWOvMt8kd",
"W5dcTdhdSdyEWP/dJw3dTXNdR3q",
"DrRcHCk+W4u",
"FIlcVmk+W6ddHM7cRg7dHwddVCow"
];
_0x490a = function() {
return _0x3a763b;
};
return _0x490a();
}
var DEVICE_KEY = "dygx_devic" + _0x7c58e0(407, "*V[B");
function getDeviceId() {
const _0x1b6011 = _0x7c58e0, _0x2d056f = {};
_0x2d056f["poMRv"] = function(_0x4321a0, _0x23014f) {
return _0x4321a0 * _0x23014f;
}, _0x2d056f[_0x1b6011(404, "(9Zu")] = function(_0x383ba0, _0x2d0d10) {
return _0x383ba0 === _0x2d0d10;
}, _0x2d056f[_0x1b6011(396, "MFsS")] = function(_0x129653, _0x3c79c3) {
return _0x129653 & _0x3c79c3;
}, _0x2d056f[_0x1b6011(415, "J1hY")] = _0x1b6011(399, "cHJ*") + "xxx-4xxx-y" + _0x1b6011(392, "v^z7") + _0x1b6011(409, "n(Y&");
const _0x8191f5 = _0x2d056f;
let _0x3cec6e = localStorage["getItem"](DEVICE_KEY);
if (_0x3cec6e) return _0x3cec6e;
return _0x3cec6e = _0x8191f5[_0x1b6011(406, "bSj!")][_0x1b6011(417, "y%N!")](/[xy]/g, (_0x3374de) => {
const _0x42c9b0 = _0x1b6011, _0x1f22d8 = _0x8191f5[_0x42c9b0(405, "NlPp")](Math[_0x42c9b0(388, "5%7b")](), 16) | 0;
return (_0x8191f5["rAoTV"](_0x3374de, "x") ? _0x1f22d8 : _0x8191f5[_0x42c9b0(413, "mpfP")](_0x1f22d8, 3) | 8)[_0x42c9b0(391, "*V[B")](16);
}), localStorage[_0x1b6011(401, "bT7z")](DEVICE_KEY, _0x3cec6e), _0x3cec6e;
}
var _0x281254 = _0x276d;
function _0x276d(_0x1bb168, _0x4b68f2) {
_0x1bb168 = _0x1bb168 - 115;
const _0x472bbb = _0x472b();
let _0x276d99 = _0x472bbb[_0x1bb168];
if (_0x276d["dTQuFw"] === void 0) {
var _0x41daa7 = function(_0x373369) {
const _0x51fb13 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=";
let _0x5d26f7 = "", _0x244970 = "";
for (let _0x2fdfb8 = 0, _0x2e89e8, _0x5792ac, _0x258a44 = 0; _0x5792ac = _0x373369["charAt"](_0x258a44++); ~_0x5792ac && (_0x2e89e8 = _0x2fdfb8 % 4 ? _0x2e89e8 * 64 + _0x5792ac : _0x5792ac, _0x2fdfb8++ % 4) && (_0x5d26f7 += String["fromCharCode"](255 & _0x2e89e8 >> (-2 * _0x2fdfb8 & 6)))) _0x5792ac = _0x51fb13["indexOf"](_0x5792ac);
for (let _0x280bb8 = 0, _0x3cded6 = _0x5d26f7["length"]; _0x280bb8 < _0x3cded6; _0x280bb8++) _0x244970 += "%" + ("00" + _0x5d26f7["charCodeAt"](_0x280bb8)["toString"](16))["slice"](-2);
return decodeURIComponent(_0x244970);
};
const _0x5190d9 = function(_0x34b1a2, _0x2dbdcf) {
let _0xb15256 = [], _0x3e1e27 = 0, _0x140b51, _0x2a6670 = "";
_0x34b1a2 = _0x41daa7(_0x34b1a2);
let _0x21d1c3;
for (_0x21d1c3 = 0; _0x21d1c3 < 256; _0x21d1c3++) _0xb15256[_0x21d1c3] = _0x21d1c3;
for (_0x21d1c3 = 0; _0x21d1c3 < 256; _0x21d1c3++) _0x3e1e27 = (_0x3e1e27 + _0xb15256[_0x21d1c3] + _0x2dbdcf["charCodeAt"](_0x21d1c3 % _0x2dbdcf["length"])) % 256, _0x140b51 = _0xb15256[_0x21d1c3], _0xb15256[_0x21d1c3] = _0xb15256[_0x3e1e27], _0xb15256[_0x3e1e27] = _0x140b51;
_0x21d1c3 = 0, _0x3e1e27 = 0;
for (let _0x26be26 = 0; _0x26be26 < _0x34b1a2["length"]; _0x26be26++) _0x21d1c3 = (_0x21d1c3 + 1) % 256, _0x3e1e27 = (_0x3e1e27 + _0xb15256[_0x21d1c3]) % 256, _0x140b51 = _0xb15256[_0x21d1c3], _0xb15256[_0x21d1c3] = _0xb15256[_0x3e1e27], _0xb15256[_0x3e1e27] = _0x140b51, _0x2a6670 += String["fromCharCode"](_0x34b1a2["charCodeAt"](_0x26be26) ^ _0xb15256[(_0xb15256[_0x21d1c3] + _0xb15256[_0x3e1e27]) % 256]);
return _0x2a6670;
};
_0x276d["IGkbaj"] = _0x5190d9, _0x276d["eGVbVE"] = {}, _0x276d["dTQuFw"] = true;
}
const _0x4fc249 = _0x472bbb[0], _0x535fa9 = _0x1bb168 + _0x4fc249, _0x57c117 = _0x276d["eGVbVE"][_0x535fa9];
return !_0x57c117 ? (_0x276d["yojNcB"] === void 0 && (_0x276d["yojNcB"] = true), _0x276d99 = _0x276d["IGkbaj"](_0x276d99, _0x4b68f2), _0x276d["eGVbVE"][_0x535fa9] = _0x276d99) : _0x276d99 = _0x57c117, _0x276d99;
}
(function(_0x15c67d, _0x1ba73c) {
const _0x3e1f83 = _0x276d, _0x351928 = _0x15c67d();
while (true) try {
if (-parseInt(_0x3e1f83(128, "A0]X")) / 1 + parseInt(_0x3e1f83(168, "GrrT")) / 2 + parseInt(_0x3e1f83(123, "aYZW")) / 3 + parseInt(_0x3e1f83(192, "1Vaq")) / 4 * (parseInt(_0x3e1f83(252, "A0]X")) / 5) + parseInt(_0x3e1f83(187, "EKoR")) / 6 + -parseInt(_0x3e1f83(134, "k62D")) / 7 * (-parseInt(_0x3e1f83(164, "TNBp")) / 8) + -parseInt(_0x3e1f83(202, "s5Ip")) / 9 === _0x1ba73c) break;
else _0x351928["push"](_0x351928["shift"]());
} catch (_0x237c06) {
_0x351928["push"](_0x351928["shift"]());
}
})(_0x472b, 490818);
var BASE_URL = "https://ka" + _0x281254(178, "Ipz5") + _0x281254(214, "tSYe");
var API_BASE = _0x281254(242, "kC^B") + _0x281254(197, "nkpf");
function gmRequest(_0xb96d8f, _0x3bec60, _0x506a46, _0x3ddd41) {
const _0x192076 = _0x281254, _0x5d082a = {
"wDwDD": _0x192076(198, "Nc90"),
"UgQmk": function(_0x161b32, _0xd5ef41) {
return _0x161b32 !== _0xd5ef41;
},
"BPMcR": _0x192076(176, "7Z9k"),
"ucfbt": function(_0x3613d7, _0x4036c5) {
return _0x3613d7 === _0x4036c5;
},
"DWTvZ": _0x192076(256, ")xE&"),
"HiKCM": function(_0x554992, _0x5c45e3) {
return _0x554992(_0x5c45e3);
},
"MaMXe": _0x192076(206, "GrrT"),
"tAVdB": function(_0x5bd6f0, _0x1faef8) {
return _0x5bd6f0 + _0x1faef8;
},
"nGpeZ": function(_0x440da8, _0x2498de) {
return _0x440da8 + _0x2498de;
}
};
return new Promise((_0xec1f36, _0x3f5c75) => {
const _0xc54047 = _0x192076, _0xc6b3e3 = {
"dnaNl": _0x5d082a[_0xc54047(175, "#nXi")],
"FBgEa": function(_0x51a1ef, _0x3bc926) {
return _0x5d082a[_0xc54047(157, "TK^N")](_0x51a1ef, _0x3bc926);
},
"eFLew": _0x5d082a[_0xc54047(222, "k@6A")],
"fYZIX": function(_0x54a644, _0x324ff2) {
return _0x5d082a[_0xc54047(247, "qtVH")](_0x54a644, _0x324ff2);
},
"VkMpG": _0x5d082a[_0xc54047(121, "$HhZ")],
"vrHfq": function(_0x199908, _0x2467e2) {
return _0x5d082a[_0xc54047(141, "A0]X")](_0x199908, _0x2467e2);
},
"TABIt": _0x5d082a[_0xc54047(147, "TNBp")]
}, _0x139451 = {
"method": _0xb96d8f,
"url": _0x5d082a[_0xc54047(241, "0ecw")](BASE_URL, _0x3bec60),
"headers": {
"Content-Type": _0xc54047(231, "xheD") + "n/json",
"Authorization": _0x5d082a["nGpeZ"]("Bearer ", _0x506a46)
},
"onload": (_0x2b3865) => {
const _0x6f731d = _0xc54047;
if (_0xc6b3e3[_0x6f731d(125, "PekZ")](_0xc6b3e3[_0x6f731d(126, "g0i3")], _0xc6b3e3["eFLew"])) _0x156b09(new Error(_0xc6b3e3[_0x6f731d(219, "GrrT")]));
else try {
if (_0xc6b3e3[_0x6f731d(234, "jHJx")](_0xc6b3e3[_0x6f731d(136, "d&Cb")], _0xc6b3e3[_0x6f731d(212, "aYZW")])) _0xc6b3e3[_0x6f731d(216, "K!n6")](_0xec1f36, JSON[_0x6f731d(244, "TK^N")](_0x2b3865[_0x6f731d(138, "MpP)") + "xt"]));
else try {
_0x13cbb2(JSON["parse"](_0x36ba96[_0x6f731d(138, "MpP)") + "xt"]));
} catch {
_0x118aa2(new Error(_0xc6b3e3[_0x6f731d(188, "k62D")]));
}
} catch {
_0xc6b3e3[_0x6f731d(200, "WJrX")](_0x3f5c75, new Error(_0xc6b3e3[_0x6f731d(165, "kLv)")]));
}
},
"onerror": () => _0x3f5c75(new Error(_0xc54047(207, "SFVa"))),
"ontimeout": () => _0x3f5c75(new Error(_0xc54047(224, "A0]X")))
};
if (_0x3ddd41) _0x139451["data"] = JSON["stringify"](_0x3ddd41);
GM[_0xc54047(189, "MpP)") + "uest"](_0x139451);
});
}
function activateCard(_0x5aafee) {
const _0x401fe9 = _0x281254, _0x525ea1 = {
"LKGEq": _0x401fe9(236, "d&Cb"),
"mglPg": function(_0xd54be5) {
return _0xd54be5();
}
};
return gmRequest(_0x525ea1["LKGEq"], _0x401fe9(118, "TK^N") + "ate", _0x5aafee, { "device_id": _0x525ea1[_0x401fe9(119, "3OuV")](getDeviceId) });
}
function verifyCard(_0x3c8940) {
const _0x290028 = _0x281254, _0x1c4936 = {
"bGWcd": function(_0x491ab9, _0x351669, _0x41bc80, _0x5c8187, _0x64c687) {
return _0x491ab9(_0x351669, _0x41bc80, _0x5c8187, _0x64c687);
},
"MuvQo": function(_0x7ddd6b) {
return _0x7ddd6b();
}
};
return _0x1c4936["bGWcd"](gmRequest, _0x290028(233, "6kQh"), _0x290028(185, "JB)9") + "y", _0x3c8940, { "device_id": _0x1c4936[_0x290028(140, "Ao[L")](getDeviceId) });
}
function getAuthToken() {
const _0x35aee8 = _0x281254, _0x11b211 = {};
_0x11b211[_0x35aee8(253, "qtVH")] = _0x35aee8(169, "Eze8"), _0x11b211[_0x35aee8(246, "jHJx")] = _0x35aee8(208, "MpP)"), _0x11b211[_0x35aee8(223, "d&Cb")] = function(_0x47b4a8, _0x1a7f90) {
return _0x47b4a8 < _0x1a7f90;
}, _0x11b211[_0x35aee8(263, "d&Cb")] = "[自动播放] 未找到" + _0x35aee8(151, "6kQh") + _0x35aee8(218, "kC^B");
const _0x5b2083 = _0x11b211;
try {
const _0x19e454 = JSON[_0x35aee8(167, "SFVa")](localStorage[_0x35aee8(116, "WJrX")](_0x5b2083[_0x35aee8(259, "Ipz5")]) || _0x5b2083[_0x35aee8(158, "Ao[L")]);
if (_0x19e454 && _0x19e454[_0x35aee8(245, "3OuV") + _0x35aee8(262, ")%27")]) return _0x19e454[_0x35aee8(238, "BQkp") + _0x35aee8(144, "kLv)")];
} catch {}
try {
for (let _0x1d23b6 = 0; _0x5b2083["YiMdi"](_0x1d23b6, localStorage[_0x35aee8(130, "7Z9k")]); _0x1d23b6++) {
const _0x5c8df6 = localStorage[_0x35aee8(204, "F6fr")](_0x1d23b6);
try {
const _0x1502a8 = JSON[_0x35aee8(230, "7bpe")](localStorage[_0x35aee8(251, "TK^N")](_0x5c8df6) || _0x5b2083[_0x35aee8(240, "MFsT")]);
if (_0x1502a8 && _0x1502a8[_0x35aee8(177, "Ipz5") + _0x35aee8(243, "Ipz5")]) return _0x1502a8[_0x35aee8(249, "tSYe") + "ion"];
if (_0x1502a8 && _0x1502a8["token"]) return _0x1502a8[_0x35aee8(181, "BQkp")];
} catch {}
}
} catch {}
return console[_0x35aee8(131, "WJrX")](_0x5b2083[_0x35aee8(156, "Ao[L")]), "";
}
function apiGet(_0x4796d4, _0x282def) {
const _0x4e5911 = _0x281254, _0x15206b = {
"IjsJz": function(_0x3e735d, _0x1097e7) {
return _0x3e735d(_0x1097e7);
},
"NfQhs": "解析失败",
"APZxJ": "POST",
"xDVIR": _0x4e5911(160, "MpP)") + _0x4e5911(209, "aYZW") + _0x4e5911(137, "jHJx") + _0x4e5911(183, "0ecw"),
"uHSGx": function(_0x25bf74, _0x1dbf8d) {
return _0x25bf74 !== _0x1dbf8d;
},
"NQcYQ": _0x4e5911(232, "*6v*"),
"lKRFY": function(_0x560def) {
return _0x560def();
},
"NueWx": _0x4e5911(213, "1Vaq") + "oken",
"dRfto": function(_0x485187, _0x4398be) {
return _0x485187 + _0x4398be;
},
"RsXVu": _0x4e5911(155, "kLv)")
};
return new Promise((_0x5c4dbd, _0x3aa281) => {
const _0x242073 = _0x4e5911, _0x5c4c38 = _0x15206b[_0x242073(124, "1Vaq")](getAuthToken);
if (!_0x5c4c38) return _0x15206b[_0x242073(226, "nkpf")](_0x3aa281, new Error(_0x15206b[_0x242073(149, "PekZ")]));
const _0x4f12f8 = new URLSearchParams(_0x282def)[_0x242073(180, "qtVH")](), _0x3db161 = _0x15206b[_0x242073(184, "1Vaq")](_0x15206b[_0x242073(261, "SFVa")](_0x15206b["dRfto"](API_BASE, _0x4796d4), "?"), _0x4f12f8), _0x4ac74b = {};
_0x4ac74b[_0x242073(195, "kC^B") + _0x242073(154, ")xE&")] = _0x5c4c38, GM["xmlHttpRequest"]({
"method": _0x15206b[_0x242073(150, "aYZW")],
"url": _0x3db161,
"headers": _0x4ac74b,
"onload": (_0x2fcbda) => {
const _0xa3793f = _0x242073, _0x33b423 = {
"TIlgS": function(_0x1ed0ce, _0x4deb1a) {
return _0x15206b[_0x276d(228, "k62D")](_0x1ed0ce, _0x4deb1a);
},
"JXNCW": _0x15206b[_0xa3793f(142, "MFsT")],
"UrdLa": function(_0x2c809b) {
return _0x2c809b();
},
"BgSUe": _0xa3793f(146, "tSYe"),
"CClWp": _0x15206b[_0xa3793f(153, "qtVH")],
"ieggf": _0x15206b["xDVIR"]
};
try {
if (_0x15206b[_0xa3793f(190, "TK^N")](_0x15206b[_0xa3793f(132, "K!n6")], _0x15206b[_0xa3793f(122, "7bpe")])) {
const _0xaa8a5 = {
"fchJr": function(_0x468a6c, _0x588fdd) {
return _0x33b423[_0xa3793f(257, "gG[Z")](_0x468a6c, _0x588fdd);
},
"ndaWH": _0x33b423[_0xa3793f(196, "d&Cb")]
}, _0x5bfda7 = _0x33b423[_0xa3793f(127, "7bpe")](_0x276057);
if (!_0x5bfda7) return _0x33b423[_0xa3793f(179, "d&Cb")](_0x2d12a3, new Error(_0x33b423[_0xa3793f(174, "qtVH")]));
const _0x423a80 = new URLSearchParams();
for (const [_0x2e154b, _0x42b1eb] of _0x480b4e[_0xa3793f(194, "MFsT")](_0x3b7357)) _0x423a80["append"](_0x2e154b, _0x42b1eb);
GM[_0xa3793f(189, "MpP)") + "uest"]({
"method": _0x33b423[_0xa3793f(161, "d&Cb")],
"url": _0x50f564 + _0x1f6c25,
"headers": {
"Content-Type": _0x33b423[_0xa3793f(205, "Eze8")],
"X-Access-Token": _0x5bfda7
},
"data": _0x423a80["toString"](),
"onload": (_0x342868) => {
const _0x81f91f = _0xa3793f;
try {
_0xaa8a5["fchJr"](_0x2c51a9, JSON[_0x81f91f(191, "gG[Z")](_0x342868[_0x81f91f(193, "6T2t") + "xt"]));
} catch {
_0xaa8a5[_0x81f91f(145, "EKoR")](_0x59c1bd, new Error(_0xaa8a5[_0x81f91f(143, "aYZW")]));
}
},
"onerror": () => _0x40cde0(new Error(_0xa3793f(186, "KObj")))
});
} else _0x15206b["IjsJz"](_0x5c4dbd, JSON[_0xa3793f(248, "xheD")](_0x2fcbda["responseText"]));
} catch {
_0x3aa281(new Error(_0x15206b[_0xa3793f(115, "s5Ip")]));
}
},
"onerror": () => _0x3aa281(new Error(_0x242073(235, "GrrT")))
});
});
}
function _0x472b() {
const _0x514b77 = [
"ledcK8oSWQu",
"6kAY5P2s5AE56lwc",
"W4VdR8kWW4uZbmk/W7xdJCk8",
"WPddJ8oAW5S/",
"uahdP8kTW7H+W6ebW40rwmkbnmkD",
"WOpdHCo1W5Kd",
"W4qqeHTFzSkvW6u",
"pbKThuu",
"W6ChWOldQCoJWQtdMK9yW70UW4bf",
"tSoNW5/dKMW",
"BhpdLmkBW7DYW6FdHvRcQWyyWRq",
"r8o/gs5ysSk0Aq",
"ymo3W79qW5NdJXeUWPFdM2xdHMm",
"WOxdLmkOWQ1OWOFcUCoD",
"vmkvkSo3z8oZDG",
"WRTpWRnVW4flFCk/urq",
"WRhdJf0/aG",
"nCkiWRrcwa",
"WQJcVLDFeq",
"WPTkWRDRW4DADCkXwq8",
"WRfEWQDIWOzhCSkNuru",
"WOFdHCoAW6SC",
"WOFdHf0EfCk+t3q",
"k8kcWRddR8oV",
"D8o+WRdcTGq",
"WPRcPwq",
"W5PbWQ/dNCkM",
"WQnoW4D5W6C3e8o0W5tdUG",
"576I57IS6zs66kYx",
"jLnWpSk/W6javrFcLSoHwMe",
"FXzeASoe",
"W5ldSSkSW6eUe8kUW5pdGCkI",
"rCkazeaB",
"ruRcUHZcGa",
"WO0QW7NcNSoWW4GEpSkpW490sJq",
"WOz0WRi4WQGeW7qbWOrq",
"WOGvyCkbiqdcOG",
"dCkUWQjsW4vBWQBdUhJcLq",
"WPNdLmo4W48y",
"kfVdIZZcSfNdMGRcLCku",
"6ksP5P+k5AAT6lAg",
"oCkvWONdOCoi",
"qCkukSk0WP4",
"vmkTuW",
"bCoLt3FdLSoHW7/cKSobW6HiW6yeW4i",
"W4uHW7v5W7jFW4ehWODeWRHL",
"B8oayG",
"w8oPgZT3",
"5zkq5BUs6ksa5PY85AE/6lwJ",
"572V57MA6k2A5RoJ5As46lsO",
"W4tdQSkSW4u",
"jNNdQmkjhCoEa8obcCkH",
"ltJdPmowa8ombW",
"W7O0WOureCk+wbpdHSka",
"hJ3dNCoulq",
"5P6u55MO5B6C776L5PsP5RcS6i6F5y6gW7RdIa",
"AmkrW4xdPgFcQa",
"l8kmWQNdUCoK",
"uIxdQCoiEa",
"572e57Q/6zwr6k+K",
"56c76kYN5Bsr55Mk5B+Z",
"osJcGSoIWQi",
"hY4hmxq",
"tHCoWRZcS8oHkbKgvmoFhde",
"WOjlWOueW54",
"WORdPCo7W6GM",
"6kY65Ron6lAW5Pw1",
"pSkBW4xdPwRcOI8Tb0FcH8oVfa",
"t1xdGr7cUa",
"W4zOWPfzmG",
"uHjwBSos",
"WPJcRSoXWPLVv8oPW47dHCkHi8oYEa",
"WQzsW4BcR8kX",
"WP4BWRhcPgVdKCkQW7DZW50",
"x8kVWO3dL8kd",
"umoUWPVdIW",
"WPqcWO0hBq",
"57Ym57QA6zE66k2d",
"WOpdG8oLW5G",
"aCklWOSYWQW",
"hSkyWQ/dOSoUuxZdL8kftW",
"dbFcH8oFWPG",
"WQmowmkljW",
"WORcGvBdOL4",
"pCo3WPDbW5ueW7RcPclcUq",
"WRnqWQ0",
"qmkPrxqg",
"f8opASorlmkXCSkWW6TY",
"WRWUWPO2wG",
"WOBdIgGieW",
"WO8kWRpcU2C",
"tmoEWONcUdZdQx4upfS",
"CSomW6xdQSoTiSkKWRZcI8on",
"v8kTq04xlvq",
"W7JdHwtdI8oKFSk0",
"WRNdOKuefG",
"W7jkax9wtsa3oSo5",
"W5aMWONcNJW",
"W687WQhcSt8",
"ywlcPaJcTG",
"WP4ZWPy2tW",
"WPb2WOHTW5K",
"AWbwvSop",
"wSouW4VdLwy",
"W63dNmkA",
"WPBdUSovW70y",
"ECk3jYBcLW",
"umkdfSkBWPVcPmk6",
"WOVcPxpdSG",
"h8kPr25mkvRcUaFdSa",
"o8oDCSoPja",
"WPKurSkhoGZcV8oV",
"jCkil8ojua",
"WPHIW5FcHCkf",
"EwlcPSkrxCkCtmkKn8kMWOBcIbW",
"W5jyWPVdR8kq",
"W7lcOmkhWR1F",
"W7fDWRfzeq",
"WOnbW5dcKmk1",
"W7ZcVWhcSSk8bmkBW6mfBCkDWPC",
"tIxdMmo2AW",
"WQlcIhfUe8ki",
"qmkhemk8",
"AGBdGSo3wa",
"hf5oW67dPmk0",
"kuKufmkDsX0rBSonemocWOS",
"W4CiWOVcJdG",
"WOxdP8o7W7Wi",
"WOa2W7O7rZbPuCoFea",
"W5JdUSkZW5K1cCkTW6tdSmk2",
"WQrwW4FcRmk7W7/cKwjuW7a",
"l0dcQmofWQu",
"WOxdPN7dGmoe",
"WQmDrmkBoW",
"jJldSCoZiG",
"atCb",
"CWaGqCo0",
"5PYN55Uq5B6O",
"WRHhfXzS",
"5P6+55MG5B6O",
"W7RcL8kfWQ9g",
"gIxdImoYhW",
"55M75B+0W6JdI8oWjCkKWRZVV6tORzu",
"eSkyhSo3ua",
"WRldU1qslq",
"W7GQWQ3cTW",
"lX07",
"j0pcVCoLWP0",
"zCkVzMOi"
];
_0x472b = function() {
return _0x514b77;
};
return _0x472b();
}
function apiPost(_0x376d41, _0xefc35) {
const _0x287ba3 = _0x281254, _0x4d9e1e = {
"PICUL": function(_0x335364, _0x54bd27) {
return _0x335364(_0x54bd27);
},
"QQdsV": _0x287ba3(159, "up^j"),
"lhAxz": function(_0x46ef96, _0x52afeb) {
return _0x46ef96 === _0x52afeb;
},
"fxRkI": _0x287ba3(220, "kLv)"),
"sGeHZ": _0x287ba3(255, ")xE&"),
"pxsrg": function(_0x1940aa) {
return _0x1940aa();
},
"LdeDY": _0x287ba3(148, "g0i3"),
"RsleT": "POST",
"zUMfW": function(_0x448eff, _0x2729a3) {
return _0x448eff + _0x2729a3;
},
"jryXb": _0x287ba3(173, "Ipz5") + _0x287ba3(211, "g0i3") + _0x287ba3(250, "6kQh") + _0x287ba3(201, "TK^N")
};
return new Promise((_0x51757f, _0x161e8c) => {
const _0x456c3a = _0x287ba3, _0x59ebf7 = { "YTQtU": function(_0x4f0983, _0x5af36a) {
return _0x4d9e1e[_0x276d(237, "up^j")](_0x4f0983, _0x5af36a);
} };
if (_0x4d9e1e[_0x456c3a(258, "jHJx")](_0x4d9e1e[_0x456c3a(199, "BQkp")], _0x4d9e1e[_0x456c3a(152, "$HhZ")])) _0x59ebf7["YTQtU"](_0x2c2ba4, JSON["parse"](_0x3fdb33[_0x456c3a(139, "7bpe") + "xt"]));
else {
const _0x1b6508 = _0x4d9e1e[_0x456c3a(260, "k62D")](getAuthToken);
if (!_0x1b6508) return _0x4d9e1e[_0x456c3a(135, ")xE&")](_0x161e8c, new Error(_0x4d9e1e["LdeDY"]));
const _0x444a2c = new URLSearchParams();
for (const [_0x5a906f, _0x231fed] of Object[_0x456c3a(210, "aYZW")](_0xefc35)) _0x444a2c[_0x456c3a(133, "d74w")](_0x5a906f, _0x231fed);
GM[_0x456c3a(254, "nC04") + _0x456c3a(117, "0ecw")]({
"method": _0x4d9e1e[_0x456c3a(227, "g0i3")],
"url": _0x4d9e1e[_0x456c3a(182, "tSYe")](API_BASE, _0x376d41),
"headers": {
"Content-Type": _0x4d9e1e[_0x456c3a(129, "K!n6")],
"X-Access-Token": _0x1b6508
},
"data": _0x444a2c[_0x456c3a(120, "MFsT")](),
"onload": (_0x3916d5) => {
const _0x296ef6 = _0x456c3a;
try {
_0x4d9e1e["PICUL"](_0x51757f, JSON[_0x296ef6(215, "BQkp")](_0x3916d5[_0x296ef6(193, "6T2t") + "xt"]));
} catch {
_0x4d9e1e[_0x296ef6(163, "d&Cb")](_0x161e8c, new Error(_0x4d9e1e[_0x296ef6(239, "GrrT")]));
}
},
"onerror": () => _0x161e8c(new Error(_0x456c3a(217, "EKoR")))
});
}
});
}
var _0x4170cb = _0x4475;
(function(_0x31c33b, _0x5b4e44) {
const _0x2ae0d7 = _0x4475, _0x5a37da = _0x31c33b();
while (true) try {
if (parseInt(_0x2ae0d7(346, "TPc7")) / 1 * (parseInt(_0x2ae0d7(367, "TPc7")) / 2) + -parseInt(_0x2ae0d7(366, "G6Bp")) / 3 + -parseInt(_0x2ae0d7(342, "khav")) / 4 * (-parseInt(_0x2ae0d7(339, "acfT")) / 5) + -parseInt(_0x2ae0d7(357, "WalF")) / 6 + -parseInt(_0x2ae0d7(352, "igv9")) / 7 * (parseInt(_0x2ae0d7(360, "G6Bp")) / 8) + parseInt(_0x2ae0d7(344, "khav")) / 9 * (parseInt(_0x2ae0d7(345, "uB%D")) / 10) + parseInt(_0x2ae0d7(368, ")M%D")) / 11 === _0x5b4e44) break;
else _0x5a37da["push"](_0x5a37da["shift"]());
} catch (_0x512e3a) {
_0x5a37da["push"](_0x5a37da["shift"]());
}
})(_0xdb4a, 459305);
var STORAGE_KEY = _0x4170cb(371, "RUAM") + "verified";
var PROJECT_GROUP = _0x4170cb(350, "h!S0");
function getSavedCard() {
const _0x2f3612 = _0x4170cb, _0x51fbf5 = {};
_0x51fbf5["wjBwm"] = function(_0x4255f8, _0x51b4d4) {
return _0x4255f8 === _0x51b4d4;
}, _0x51fbf5["LKqFU"] = function(_0x1e5732, _0x5e80cf) {
return _0x1e5732 !== _0x5e80cf;
}, _0x51fbf5["qsFWq"] = _0x2f3612(338, "Xe3O");
const _0x103e0c = _0x51fbf5;
try {
const _0x2f42b3 = localStorage[_0x2f3612(363, "y]j^")](STORAGE_KEY);
if (!_0x2f42b3) return null;
const _0x43fda4 = JSON["parse"](_0x2f42b3);
return _0x43fda4[_0x2f3612(362, "KBPc")] && _0x43fda4["cardKey"] && _0x43fda4["group"] === PROJECT_GROUP ? _0x43fda4 : null;
} catch {
if (_0x103e0c[_0x2f3612(347, "U8yL")](_0x103e0c[_0x2f3612(343, "Xe3O")], _0x103e0c[_0x2f3612(349, "WalF")])) try {
const _0x387bfa = localStorage[_0x2f3612(370, "RUAM")](_0x26acf6);
if (!_0x387bfa) return null;
const _0x5e4900 = JSON["parse"](_0x387bfa);
return _0x5e4900["verified"] && _0x5e4900[_0x2f3612(351, "qt!t")] && _0x103e0c[_0x2f3612(356, "Jh0j")](_0x5e4900[_0x2f3612(358, "L#63")], _0x44989b) ? _0x5e4900 : null;
} catch {
return null;
}
else return null;
}
}
function _0xdb4a() {
const _0x27c159 = [
"W4xcMwDXWP0",
"nbNdNmoBW7pdPJGa",
"WRxcJCkfW5nvn8kImSk7fmoxWQm",
"FSo6nxddLCopWOVdM0FcMSkU",
"WRTacJpdHG",
"xhuGcSkxW5WPuSk9W7j/",
"mGiJsmoN",
"W7RdNCo/bmo3WQOr",
"oSosW7zIW4KTaa",
"DCkUWPX9zSoSW6a",
"WPtcH3VdNZBdMSo8CW",
"A8kUWR4",
"iI48WRiRW6yoWRhdSq",
"sSkliCoSWP8",
"CuvskmkVjmo8WQFdJCocWORcTq",
"aCkQW6mdxq",
"vCobq2zbAwZcLGxcOa",
"bSk3W5/dSSkNttddNCoZDJ7cMZC",
"WRiHW4ldPhNcV8oF",
"DmkUvcFcJmkswSkO",
"r0JcLNPVWQK3",
"vcOfW47dTh3cN8oJWRmOW59aW4O",
"tSkveCoYWPZdV8oMWOnJ",
"a8k7W5VdT8kStetdNmoMtsdcMW",
"FSo7EX/cLCozWONdIG",
"W4xcMCopW4BcM8k9WO51WR5Zr8k3dG",
"WRlcTY7dQmkQbgTnWOyqW7FcOW",
"WQ/dJSkLwmkImW4",
"WQZdKSk2ACkjnqlcUSkRta",
"FCota8k2pa",
"W7ZcVw5YWOC",
"zWBdGfFcI1f1WRpdTW",
"W43dVmoDmmk0",
"W4JcU1VdGJ/dQSkPba",
"pXZcISkVWPFdOJe2WRmIW7e"
];
_0xdb4a = function() {
return _0x27c159;
};
return _0xdb4a();
}
function saveVerified(_0x2f1680, _0x48dd93, _0x105005) {
const _0x39850e = _0x4170cb;
localStorage[_0x39850e(361, "Dp8i")](STORAGE_KEY, JSON[_0x39850e(365, "Jh0j")]({
"verified": true,
"cardKey": _0x2f1680,
"group": _0x48dd93,
"cardData": _0x105005 || null,
"time": Date[_0x39850e(354, "CdM)")]()
}));
}
function clearVerified() {
const _0x163fd7 = _0x4170cb;
localStorage[_0x163fd7(359, "GgsJ")](STORAGE_KEY);
}
function _0x4475(_0x54ac45, _0xc07ce6) {
_0x54ac45 = _0x54ac45 - 337;
const _0xdb4a18 = _0xdb4a();
let _0x44751d = _0xdb4a18[_0x54ac45];
if (_0x4475["kEFwWI"] === void 0) {
var _0x286871 = function(_0x528fce) {
const _0x362425 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=";
let _0x4ed064 = "", _0x47dd8c = "";
for (let _0x3e82ec = 0, _0x26acf6, _0x44989b, _0x35ce44 = 0; _0x44989b = _0x528fce["charAt"](_0x35ce44++); ~_0x44989b && (_0x26acf6 = _0x3e82ec % 4 ? _0x26acf6 * 64 + _0x44989b : _0x44989b, _0x3e82ec++ % 4) && (_0x4ed064 += String["fromCharCode"](255 & _0x26acf6 >> (-2 * _0x3e82ec & 6)))) _0x44989b = _0x362425["indexOf"](_0x44989b);
for (let _0x7eace5 = 0, _0x3c789d = _0x4ed064["length"]; _0x7eace5 < _0x3c789d; _0x7eace5++) _0x47dd8c += "%" + ("00" + _0x4ed064["charCodeAt"](_0x7eace5)["toString"](16))["slice"](-2);
return decodeURIComponent(_0x47dd8c);
};
const _0x3d4474 = function(_0x351d7d, _0x450355) {
let _0x2eca7a = [], _0xaf90fd = 0, _0x3768b4, _0x432a6c = "";
_0x351d7d = _0x286871(_0x351d7d);
let _0x4fe894;
for (_0x4fe894 = 0; _0x4fe894 < 256; _0x4fe894++) _0x2eca7a[_0x4fe894] = _0x4fe894;
for (_0x4fe894 = 0; _0x4fe894 < 256; _0x4fe894++) _0xaf90fd = (_0xaf90fd + _0x2eca7a[_0x4fe894] + _0x450355["charCodeAt"](_0x4fe894 % _0x450355["length"])) % 256, _0x3768b4 = _0x2eca7a[_0x4fe894], _0x2eca7a[_0x4fe894] = _0x2eca7a[_0xaf90fd], _0x2eca7a[_0xaf90fd] = _0x3768b4;
_0x4fe894 = 0, _0xaf90fd = 0;
for (let _0xa82309 = 0; _0xa82309 < _0x351d7d["length"]; _0xa82309++) _0x4fe894 = (_0x4fe894 + 1) % 256, _0xaf90fd = (_0xaf90fd + _0x2eca7a[_0x4fe894]) % 256, _0x3768b4 = _0x2eca7a[_0x4fe894], _0x2eca7a[_0x4fe894] = _0x2eca7a[_0xaf90fd], _0x2eca7a[_0xaf90fd] = _0x3768b4, _0x432a6c += String["fromCharCode"](_0x351d7d["charCodeAt"](_0xa82309) ^ _0x2eca7a[(_0x2eca7a[_0x4fe894] + _0x2eca7a[_0xaf90fd]) % 256]);
return _0x432a6c;
};
_0x4475["IMjKES"] = _0x3d4474, _0x4475["lmLfKt"] = {}, _0x4475["kEFwWI"] = true;
}
const _0x4eaf17 = _0xdb4a18[0], _0x4c83cc = _0x54ac45 + _0x4eaf17, _0x4b3ab4 = _0x4475["lmLfKt"][_0x4c83cc];
return !_0x4b3ab4 ? (_0x4475["LJPaUy"] === void 0 && (_0x4475["LJPaUy"] = true), _0x44751d = _0x4475["IMjKES"](_0x44751d, _0xc07ce6), _0x4475["lmLfKt"][_0x4c83cc] = _0x44751d) : _0x44751d = _0x4b3ab4, _0x44751d;
}
var _0x3f1a2a = _0x5423;
(function(_0x1631f1, _0x5cb2f7) {
const _0x5c3e48 = _0x5423, _0x53c724 = _0x1631f1();
while (true) try {
if (parseInt(_0x5c3e48(158, "KZg&")) / 1 + -parseInt(_0x5c3e48(179, "KZg&")) / 2 + -parseInt(_0x5c3e48(138, "CLSa")) / 3 + -parseInt(_0x5c3e48(165, "Du)Q")) / 4 * (parseInt(_0x5c3e48(174, ")[pz")) / 5) + -parseInt(_0x5c3e48(183, "l!Y4")) / 6 + -parseInt(_0x5c3e48(145, "BJ4z")) / 7 + -parseInt(_0x5c3e48(155, "Ib$Z")) / 8 * (-parseInt(_0x5c3e48(166, "9V%%")) / 9) === _0x5cb2f7) break;
else _0x53c724["push"](_0x53c724["shift"]());
} catch (_0x507d8c) {
_0x53c724["push"](_0x53c724["shift"]());
}
})(_0x45f6, 312497);
function _0x45f6() {
const _0x4837bf = [
"vbXZWQ1KA19zeqyoWRG",
"w3VcICk/WOO",
"BSoOErhcRW",
"W6xcVYvCWQi",
"WPddVCoQW5GwW51hB8k5W4tdJCkxBa",
"eN1hW4a",
"WQruWRpdQaS",
"jXb0yG",
"WPeLb8oXaa",
"W4hcTmkKoIRcO1r+pq",
"W6upW47dSt7cICkMW4XiW6ldI8k5W6S",
"W7ldL8kPWRu8",
"ew5CW5tdTW",
"W43dOs5XiG",
"drjfWPGHWQjBW6vl",
"cmkaoXZdOSoIWPK",
"W68fdSo6W7pcSxRcLfKmWO9twq",
"fdbaDSk8qSkCW7eUWRxdTIi",
"WQiIWRPm",
"tmkxB08",
"W7VdICk7W4Ku",
"WRFdRJRdM2S",
"jCoVW5tcVbK",
"cGZcM21F",
"WObha8k4WRCPW60",
"vahdUfTvntXpBmoAb8kgW5K",
"W4BcQCkUWOS",
"ahLbW4JdOwxdQSkF",
"rg/dLmoEvqVcHCkF",
"BqBcHSk4dq",
"W55elCkUWQ4",
"5yYe5A+R5lMp5Bok5lUA5BYo5yMc6Agl55Q6772G",
"WQldR34EW79SW5DXWRJdJ8kDd8oY",
"W7r/FCk1rGJcKaP7m8kdW5xdLG",
"W7yVDLmb",
"W4RcJCoLWRlcQmo5W5S",
"qSoKWRToW5VdSSkwW6qMxSofbSkS",
"uwSNnmo+",
"fJngECkXt8oEW7aRWOtdJGpdNq",
"W6pcIxldHq",
"bKWWW7aqphTt",
"WRNcT8krpSk3",
"W63dTexcNxzDDXKqd8ozWRvg",
"5R+O5REn5AsQ6lsl",
"WQhcImoJBmkftJRcR8oF",
"umoaf8klFa",
"WQxdQatdJ28",
"W5DnpSk/",
"WQ4LWP/cGeq",
"W7VcV8orWRhcTa",
"fJ/cL8kdivZcOCkvWOCNWRrm",
"jLKQW4W8",
"od1hW43dJW"
];
_0x45f6 = function() {
return _0x4837bf;
};
return _0x45f6();
}
function _0x5423(_0x3cc6e6, _0x796e4d) {
_0x3cc6e6 = _0x3cc6e6 - 135;
const _0x45f665 = _0x45f6();
let _0x5423a7 = _0x45f665[_0x3cc6e6];
if (_0x5423["FFvdWG"] === void 0) {
var _0x5bb6d4 = function(_0x2edf2f) {
const _0x287070 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=";
let _0x5c0cf7 = "", _0x243588 = "";
for (let _0x1f63b8 = 0, _0x3bb19d, _0x418ca9, _0x39df47 = 0; _0x418ca9 = _0x2edf2f["charAt"](_0x39df47++); ~_0x418ca9 && (_0x3bb19d = _0x1f63b8 % 4 ? _0x3bb19d * 64 + _0x418ca9 : _0x418ca9, _0x1f63b8++ % 4) && (_0x5c0cf7 += String["fromCharCode"](255 & _0x3bb19d >> (-2 * _0x1f63b8 & 6)))) _0x418ca9 = _0x287070["indexOf"](_0x418ca9);
for (let _0x1d724c = 0, _0x9fc72d = _0x5c0cf7["length"]; _0x1d724c < _0x9fc72d; _0x1d724c++) _0x243588 += "%" + ("00" + _0x5c0cf7["charCodeAt"](_0x1d724c)["toString"](16))["slice"](-2);
return decodeURIComponent(_0x243588);
};
const _0x4ff076 = function(_0x1674f1, _0x27c875) {
let _0x2e4a18 = [], _0x4135d5 = 0, _0x26fafe, _0x4262bb = "";
_0x1674f1 = _0x5bb6d4(_0x1674f1);
let _0x54f7f0;
for (_0x54f7f0 = 0; _0x54f7f0 < 256; _0x54f7f0++) _0x2e4a18[_0x54f7f0] = _0x54f7f0;
for (_0x54f7f0 = 0; _0x54f7f0 < 256; _0x54f7f0++) _0x4135d5 = (_0x4135d5 + _0x2e4a18[_0x54f7f0] + _0x27c875["charCodeAt"](_0x54f7f0 % _0x27c875["length"])) % 256, _0x26fafe = _0x2e4a18[_0x54f7f0], _0x2e4a18[_0x54f7f0] = _0x2e4a18[_0x4135d5], _0x2e4a18[_0x4135d5] = _0x26fafe;
_0x54f7f0 = 0, _0x4135d5 = 0;
for (let _0x4ed8c9 = 0; _0x4ed8c9 < _0x1674f1["length"]; _0x4ed8c9++) _0x54f7f0 = (_0x54f7f0 + 1) % 256, _0x4135d5 = (_0x4135d5 + _0x2e4a18[_0x54f7f0]) % 256, _0x26fafe = _0x2e4a18[_0x54f7f0], _0x2e4a18[_0x54f7f0] = _0x2e4a18[_0x4135d5], _0x2e4a18[_0x4135d5] = _0x26fafe, _0x4262bb += String["fromCharCode"](_0x1674f1["charCodeAt"](_0x4ed8c9) ^ _0x2e4a18[(_0x2e4a18[_0x54f7f0] + _0x2e4a18[_0x4135d5]) % 256]);
return _0x4262bb;
};
_0x5423["rYNnLV"] = _0x4ff076, _0x5423["UFHyEK"] = {}, _0x5423["FFvdWG"] = true;
}
const _0x15c0ae = _0x45f665[0], _0x120c95 = _0x3cc6e6 + _0x15c0ae, _0x118dbd = _0x5423["UFHyEK"][_0x120c95];
return !_0x118dbd ? (_0x5423["KtKVTu"] === void 0 && (_0x5423["KtKVTu"] = true), _0x5423a7 = _0x5423["rYNnLV"](_0x5423a7, _0x796e4d), _0x5423["UFHyEK"][_0x120c95] = _0x5423a7) : _0x5423a7 = _0x118dbd, _0x5423a7;
}
var verified = (0, vue.ref)(!!getSavedCard());
var cardData = (0, vue.ref)(getSavedCard()?.[_0x3f1a2a(169, "CLSa")] || null);
function useCardVerify() {
const _0x426383 = _0x3f1a2a, _0x3cce5d = {
"FzTkW": function(_0x50a364, _0x45cbd5) {
return _0x50a364 !== _0x45cbd5;
},
"OMpTI": _0x426383(184, "r8jt"),
"utQat": function(_0x3d057d, _0x2641e5) {
return _0x3d057d !== _0x2641e5;
},
"RSFgW": function(_0x1b2a60, _0x5e115b) {
return _0x1b2a60 === _0x5e115b;
},
"HjtCp": _0x426383(171, "Du)Q"),
"PuzSG": function(_0x2770d6, _0x128c1b) {
return _0x2770d6 + _0x128c1b;
},
"HNQjB": _0x426383(172, "Q&oo"),
"HRBpk": function(_0x354a64, _0x21a043, _0x3285ac, _0x69b00e) {
return _0x354a64(_0x21a043, _0x3285ac, _0x69b00e);
},
"CthXh": _0x426383(149, ")[pz"),
"MiGYF": function(_0x2166cf) {
return _0x2166cf();
},
"ifZSt": function(_0x4efb77, _0x48425d) {
return _0x4efb77(_0x48425d);
},
"tJxes": function(_0x5f4b05, _0x73ba6e, _0x304b99, _0xd2b53e) {
return _0x5f4b05(_0x73ba6e, _0x304b99, _0xd2b53e);
}
}, _0x5bce52 = _0x3cce5d["ifZSt"](vue.computed, () => getSavedCard());
async function _0x1f91a5(_0x4f90d7) {
const _0x5661bd = _0x426383, _0x34ef80 = await activateCard(_0x4f90d7);
if (_0x3cce5d["FzTkW"](_0x34ef80[_0x5661bd(135, "Du)Q")], 200)) throw new Error(_0x34ef80["message"] || _0x3cce5d[_0x5661bd(143, "!@IW")]);
if (_0x3cce5d[_0x5661bd(187, "r[uD")](_0x34ef80[_0x5661bd(180, "fura")][_0x5661bd(153, "Ln&K")], PROJECT_GROUP)) {
if (_0x3cce5d[_0x5661bd(137, "lP2!")](_0x3cce5d["HjtCp"], _0x5661bd(136, "$O1m"))) throw new Error(_0x3cce5d[_0x5661bd(142, "^mAR")](_0x3cce5d["PuzSG"](_0x3cce5d[_0x5661bd(175, "ybzq")], _0x34ef80[_0x5661bd(160, "r8jt")][_0x5661bd(163, "v01l")]), ")"));
else return true;
}
return _0x3cce5d["HRBpk"](saveVerified, _0x4f90d7, _0x34ef80[_0x5661bd(146, "Ln&K")]["group"], _0x34ef80[_0x5661bd(148, "tt$5")]), cardData[_0x5661bd(182, "$4GO")] = _0x34ef80["data"], _0x34ef80[_0x5661bd(167, "BJ4z")];
}
async function _0x26f126() {
const _0x3c172b = _0x426383;
if (_0x3c172b(178, "KZg&") === _0x3cce5d[_0x3c172b(139, "Q&oo")]) return _0x9fc72d(), _0x1674f1[_0x3c172b(182, "$4GO")] = false, false;
else {
const _0x4b9748 = _0x3cce5d[_0x3c172b(164, "Th9Y")](getSavedCard);
if (!_0x4b9748) return false;
try {
const _0x292de9 = await _0x3cce5d["ifZSt"](verifyCard, _0x4b9748[_0x3c172b(176, "lP2!")]);
if (_0x292de9["code"] !== 200 || _0x292de9[_0x3c172b(159, "%v5A")][_0x3c172b(162, "r[uD")] !== PROJECT_GROUP) return _0x3cce5d[_0x3c172b(186, "(u8$")](clearVerified), verified[_0x3c172b(140, "Xp6g")] = false, false;
return _0x3cce5d["tJxes"](saveVerified, _0x4b9748["cardKey"], _0x292de9[_0x3c172b(148, "tt$5")][_0x3c172b(147, "v]I#")], _0x292de9["data"]), cardData[_0x3c172b(144, "VWqF")] = _0x292de9["data"], true;
} catch {
return true;
}
}
}
function _0x1c307c() {
const _0x2abb5f = _0x426383;
clearVerified(), verified[_0x2abb5f(154, "O^EA")] = false, cardData[_0x2abb5f(170, "RTkr")] = null;
}
const _0x1b5792 = {};
return _0x1b5792[_0x426383(168, "Ln&K")] = verified, _0x1b5792[_0x426383(181, "Q&oo")] = cardData, _0x1b5792["savedCard"] = _0x5bce52, _0x1b5792["activate"] = _0x1f91a5, _0x1b5792[_0x426383(185, "q8WO")] = _0x26f126, _0x1b5792[_0x426383(161, "2d9F")] = _0x1c307c, _0x1b5792;
}
var _plugin_vue_export_helper_default = (sfc, props) => {
const target = sfc.__vccOpts || sfc;
for (const [key, val] of props) target[key] = val;
return target;
};
var _hoisted_1$4 = { class: "cvm-content" };
var _hoisted_2$3 = { class: "cvm-title-row" };
var _hoisted_3$3 = { class: "cvm-title" };
var _hoisted_4$3 = { class: "cvm-input-group" };
var _hoisted_5$3 = ["disabled"];
var _hoisted_6$3 = { class: "cvm-disclaimer-link" };
var _hoisted_7$3 = { class: "disclaimer-modal-header" };
var _hoisted_8$3 = { class: "disclaimer-modal-footer" };
var SUPPRESS = ".el-message-box,.el-dialog__wrapper,.el-overlay,.el-modal";
var CardVerifyModal_default = _plugin_vue_export_helper_default({
__name: "CardVerifyModal",
props: { isReset: Boolean },
emits: ["verified", "close"],
setup(__props, { emit: __emit }) {
const emit = __emit;
const cardKey = (0, vue.ref)("");
const status = (0, vue.ref)("");
const statusType = (0, vue.ref)("");
const btnDisabled = (0, vue.ref)(false);
const btnText = (0, vue.ref)("验证");
const showDisclaimer = (0, vue.ref)(false);
const { activate } = useCardVerify();
const suppressed = [];
function suppress() {
document.querySelectorAll(SUPPRESS).forEach((el) => {
if (el.style.display === "none") return;
suppressed.push({
el,
prev: el.style.display
});
el.style.display = "none";
});
}
let obs, focusGuard;
(0, vue.onMounted)(() => {
suppress();
obs = new MutationObserver(suppress);
obs.observe(document.body, {
childList: true,
subtree: true
});
focusGuard = setInterval(() => {
const a = document.activeElement;
if (a !== inputRef.value && a !== btnRef.value) inputRef.value?.focus();
}, 500);
});
(0, vue.onUnmounted)(() => {
obs?.disconnect();
clearInterval(focusGuard);
suppressed.forEach(({ el, prev }) => el.style.display = prev || "");
});
function onBackdrop(e) {
if (e.target === e.currentTarget) emit("close");
}
function onEsc(e) {
if (e.key === "Escape") emit("close");
}
(0, vue.onMounted)(() => document.addEventListener("keydown", onEsc));
(0, vue.onUnmounted)(() => document.removeEventListener("keydown", onEsc));
const inputRef = (0, vue.ref)(null);
const btnRef = (0, vue.ref)(null);
async function handleVerify() {
const key = cardKey.value.trim();
if (!key) {
status.value = "⚠️ 请输入卡密";
statusType.value = "error";
inputRef.value?.focus();
return;
}
btnDisabled.value = true;
btnText.value = "验证中...";
status.value = "正在激活卡密...";
statusType.value = "loading";
try {
const data = await activate(key);
status.value = "✅ 验证成功!有效期剩余 " + (data.remaining_days || "∞") + " 天";
statusType.value = "success";
emit("verified");
} catch (err) {
status.value = "❌ " + err.message;
statusType.value = "error";
} finally {
btnDisabled.value = false;
btnText.value = "验证";
}
}
return (_ctx, _cache) => {
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
class: "cvm-overlay",
onClick: onBackdrop
}, [(0, vue.createElementVNode)("div", _hoisted_1$4, [
(0, vue.createElementVNode)("div", _hoisted_2$3, [(0, vue.createElementVNode)("h3", _hoisted_3$3, "🔑 " + (0, vue.toDisplayString)(__props.isReset ? "更换卡密" : "德阳公需科目 · 全自动学习助手"), 1), (0, vue.createElementVNode)("button", {
class: "cvm-close",
onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("close"))
}, "✕")]),
_cache[8] || (_cache[8] = (0, vue.createStaticVNode)("
🚀 一键启动,全自动完成所有课程
⚡ 秒过模式 — 后台直接完成,30个视频仅需几分钟,无需等待播放
🎮 播放速度自由调节 — 1倍速模拟真实播放,也可百倍加速瞬间完成
🔄 断点续播 — 中途刷新页面?自动接续上次进度,一秒不浪费
🖥️ 前台无感运行 — 后台静默处理,你可以正常浏览其他网页
📋 实时进度面板 — 每个视频的完成状态一目了然,精确到百分比
🛡️ 安全稳定 — 仅模拟播放行为,不修改平台数据
🔒 独立运行 — 不读取密码,不收集信息,仅在本页面生效
📅 已稳定运行 1年+👥 服务用户 数千人🎯 成功率 99%+
💡 考试和作业需要自己完成哦~本工具帮你搞定看视频这件最耗时的事
", 1)),
(0, vue.createElementVNode)("div", _hoisted_4$3, [(0, vue.withDirectives)((0, vue.createElementVNode)("input", {
ref_key: "inputRef",
ref: inputRef,
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => cardKey.value = $event),
type: "text",
placeholder: "请输入卡密",
autocomplete: "off",
onKeydown: (0, vue.withKeys)(handleVerify, ["enter"])
}, null, 544), [[vue.vModelText, cardKey.value]]), (0, vue.createElementVNode)("button", {
ref_key: "btnRef",
ref: btnRef,
disabled: btnDisabled.value,
onClick: handleVerify
}, (0, vue.toDisplayString)(btnText.value), 9, _hoisted_5$3)]),
(0, vue.createElementVNode)("div", { class: (0, vue.normalizeClass)(["cvm-status", statusType.value]) }, (0, vue.toDisplayString)(status.value), 3),
_cache[9] || (_cache[9] = (0, vue.createElementVNode)("a", {
class: "cvm-buy-btn",
href: "https://pay.ldxp.cn/item/dtaidf",
target: "_blank"
}, " 🛒 没有卡密?点此获取 · 月卡仅 个位数 ", -1)),
_cache[10] || (_cache[10] = (0, vue.createElementVNode)("div", { class: "cvm-tip" }, " 本工具已稳定运行超过一年,服务器与维护成本持续增长。如果您觉得好用,恳请给予一点支持 🙏 ", -1)),
(0, vue.createElementVNode)("div", _hoisted_6$3, [_cache[7] || (_cache[7] = (0, vue.createTextVNode)(" 使用本软件则代表接受 ", -1)), (0, vue.createElementVNode)("a", {
href: "javascript:void(0)",
onClick: _cache[2] || (_cache[2] = (0, vue.withModifiers)(($event) => showDisclaimer.value = true, ["stop"]))
}, "《免责声明》")])
]), showDisclaimer.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
key: 0,
class: "disclaimer-overlay",
onClick: _cache[6] || (_cache[6] = ($event) => showDisclaimer.value = false)
}, [(0, vue.createElementVNode)("div", {
class: "disclaimer-modal",
onClick: _cache[5] || (_cache[5] = (0, vue.withModifiers)(() => {}, ["stop"]))
}, [
(0, vue.createElementVNode)("div", _hoisted_7$3, [_cache[11] || (_cache[11] = (0, vue.createElementVNode)("span", null, "📋 免责声明", -1)), (0, vue.createElementVNode)("button", { onClick: _cache[3] || (_cache[3] = ($event) => showDisclaimer.value = false) }, "✕")]),
_cache[12] || (_cache[12] = (0, vue.createStaticVNode)("1. 本软件仅供学习辅助用途,使用者应遵守相关法律法规及平台服务条款。
2. 本软件仅模拟视频播放行为,不修改平台任何数据
3. 使用本软件产生的一切后果由使用者自行承担,开发者不承担任何直接或间接责任。
4. 本软件按"现状"提供,不作任何明示或暗示的保证,不保证功能永久可用。
5. 平台方可能随时更新策略或接口,导致本软件功能失效,此属正常情况,非软件故障。
6. 本软件不保证与所有浏览器或系统兼容,不提供任何形式的技术支持承诺。
7. 开发者保留随时修改、暂停或终止本软件的权利,恕不另行通知。
8. 如不同意以上条款,请立即停止使用并卸载本软件。
", 1)),
(0, vue.createElementVNode)("div", _hoisted_8$3, [(0, vue.createElementVNode)("button", { onClick: _cache[4] || (_cache[4] = ($event) => showDisclaimer.value = false) }, "我已知晓")])
])])) : (0, vue.createCommentVNode)("", true)]);
};
}
}, [["__scopeId", "data-v-02e6ec91"]]);
(function(_0x2b135e, _0x40cd9b) {
const _0xe95f8a = _0x58b0, _0x235489 = _0x2b135e();
while (true) try {
if (-parseInt(_0xe95f8a(363, "jalc")) / 1 + parseInt(_0xe95f8a(448, "(@8@")) / 2 + -parseInt(_0xe95f8a(382, "6)*0")) / 3 + parseInt(_0xe95f8a(477, "1^(9")) / 4 * (parseInt(_0xe95f8a(321, ")Bs^")) / 5) + parseInt(_0xe95f8a(490, "6)*0")) / 6 * (-parseInt(_0xe95f8a(317, "1Sjz")) / 7) + -parseInt(_0xe95f8a(345, "rf22")) / 8 * (parseInt(_0xe95f8a(306, "DuUD")) / 9) + parseInt(_0xe95f8a(369, "pkER")) / 10 === _0x40cd9b) break;
else _0x235489["push"](_0x235489["shift"]());
} catch (_0x1b50fb) {
_0x235489["push"](_0x235489["shift"]());
}
})(_0x18e0, 638698);
var currentTitle = (0, vue.ref)("");
var nextTitle = (0, vue.ref)("");
var progress = (0, vue.ref)(0);
var isPlaying = (0, vue.ref)(false);
var allFinished = (0, vue.ref)(false);
var switchDelay = (0, vue.ref)(3);
var videoEl = null;
var switching = false;
var videoEnded = false;
var started = false;
function _0x58b0(_0xe8f216, _0x402db9) {
_0xe8f216 = _0xe8f216 - 292;
const _0x18e07b = _0x18e0();
let _0x58b0bc = _0x18e07b[_0xe8f216];
if (_0x58b0["nUnkuk"] === void 0) {
var _0x26311e = function(_0x308cca) {
const _0xa00f80 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=";
let _0x475d04 = "", _0xb6a20d = "";
for (let _0x6b422d = 0, _0x1b1d01, _0x5fc21c, _0x3163d3 = 0; _0x5fc21c = _0x308cca["charAt"](_0x3163d3++); ~_0x5fc21c && (_0x1b1d01 = _0x6b422d % 4 ? _0x1b1d01 * 64 + _0x5fc21c : _0x5fc21c, _0x6b422d++ % 4) && (_0x475d04 += String["fromCharCode"](255 & _0x1b1d01 >> (-2 * _0x6b422d & 6)))) _0x5fc21c = _0xa00f80["indexOf"](_0x5fc21c);
for (let _0x4ae50b = 0, _0x1ae3b9 = _0x475d04["length"]; _0x4ae50b < _0x1ae3b9; _0x4ae50b++) _0xb6a20d += "%" + ("00" + _0x475d04["charCodeAt"](_0x4ae50b)["toString"](16))["slice"](-2);
return decodeURIComponent(_0xb6a20d);
};
const _0x2d6567 = function(_0x3d95ac, _0x354376) {
let _0x3a9bf0 = [], _0x71494c = 0, _0x1d9b68, _0x5d78e3 = "";
_0x3d95ac = _0x26311e(_0x3d95ac);
let _0x4f62f3;
for (_0x4f62f3 = 0; _0x4f62f3 < 256; _0x4f62f3++) _0x3a9bf0[_0x4f62f3] = _0x4f62f3;
for (_0x4f62f3 = 0; _0x4f62f3 < 256; _0x4f62f3++) _0x71494c = (_0x71494c + _0x3a9bf0[_0x4f62f3] + _0x354376["charCodeAt"](_0x4f62f3 % _0x354376["length"])) % 256, _0x1d9b68 = _0x3a9bf0[_0x4f62f3], _0x3a9bf0[_0x4f62f3] = _0x3a9bf0[_0x71494c], _0x3a9bf0[_0x71494c] = _0x1d9b68;
_0x4f62f3 = 0, _0x71494c = 0;
for (let _0xdc8385 = 0; _0xdc8385 < _0x3d95ac["length"]; _0xdc8385++) _0x4f62f3 = (_0x4f62f3 + 1) % 256, _0x71494c = (_0x71494c + _0x3a9bf0[_0x4f62f3]) % 256, _0x1d9b68 = _0x3a9bf0[_0x4f62f3], _0x3a9bf0[_0x4f62f3] = _0x3a9bf0[_0x71494c], _0x3a9bf0[_0x71494c] = _0x1d9b68, _0x5d78e3 += String["fromCharCode"](_0x3d95ac["charCodeAt"](_0xdc8385) ^ _0x3a9bf0[(_0x3a9bf0[_0x4f62f3] + _0x3a9bf0[_0x71494c]) % 256]);
return _0x5d78e3;
};
_0x58b0["pPtZgt"] = _0x2d6567, _0x58b0["HaLCvm"] = {}, _0x58b0["nUnkuk"] = true;
}
const _0x4344e2 = _0x18e07b[0], _0x265b20 = _0xe8f216 + _0x4344e2, _0x106524 = _0x58b0["HaLCvm"][_0x265b20];
return !_0x106524 ? (_0x58b0["JGzmEr"] === void 0 && (_0x58b0["JGzmEr"] = true), _0x58b0bc = _0x58b0["pPtZgt"](_0x58b0bc, _0x402db9), _0x58b0["HaLCvm"][_0x265b20] = _0x58b0bc) : _0x58b0bc = _0x106524, _0x58b0bc;
}
function bindEnded(_0x4c08bd) {
const _0x35be8c = _0x58b0, _0x3f847f = {};
_0x3f847f[_0x35be8c(420, "LZSM")] = _0x35be8c(404, "(8Vx");
const _0x48256c = _0x3f847f;
_0x4c08bd[_0x35be8c(456, "m%h1") + _0x35be8c(487, "b&Q6")](_0x48256c[_0x35be8c(420, "LZSM")], () => {
videoEnded = true;
});
}
function forceSyncProgress(_0x2e14ef) {
const _0x4572ab = _0x58b0, _0x39267d = {
"ZINrH": function(_0x25cb05, _0x24315c) {
return _0x25cb05(_0x24315c);
},
"KlVyf": function(_0x2ee90a, _0x438e38) {
return _0x2ee90a === _0x438e38;
},
"rzYRT": _0x4572ab(350, "1^(9"),
"FLwJd": function(_0x405e0d, _0x523bed) {
return _0x405e0d !== _0x523bed;
},
"ACJEK": _0x4572ab(446, "aT4o"),
"cELdJ": function(_0x4c8f47, _0x1a79e6) {
return _0x4c8f47(_0x1a79e6);
}
};
try {
const _0x21c68c = _0x2e14ef[_0x4572ab(333, "Og&4")] || _0x2e14ef[_0x4572ab(335, "bFL%") + "_"] || _0x2e14ef["parentElement"]?.["__vue__"];
if (_0x21c68c && _0x39267d[_0x4572ab(367, "*5S[")](typeof _0x21c68c[_0x4572ab(341, "pkER") + _0x4572ab(479, "mw2B")], _0x39267d["rzYRT"])) {
if (_0x39267d[_0x4572ab(397, "YXza")]("GrzvU", _0x39267d["ACJEK"])) _0x3ca4b5 = _0x200cb0, _0x1aa696 = false, _0x39267d[_0x4572ab(395, "mw2B")](_0xd445f2, _0x579f0e);
else {
if (_0x2e14ef[_0x4572ab(450, "rf22")] && !_0x39267d[_0x4572ab(337, "s%Q9")](isNaN, _0x2e14ef[_0x4572ab(478, "9KJr")])) _0x2e14ef["currentTime"] = _0x2e14ef[_0x4572ab(445, "FV^y")];
return _0x21c68c[_0x4572ab(455, "xrGU") + _0x4572ab(406, "m2@Q")](), true;
}
}
} catch {}
return false;
}
function getNowAndNext() {
const _0x140760 = _0x58b0, _0x2fcf27 = {};
_0x2fcf27[_0x140760(464, "bFL%")] = "active", _0x2fcf27[_0x140760(432, "N#4w")] = function(_0x13465f, _0x11db44) {
return _0x13465f + _0x11db44;
}, _0x2fcf27["FfQbE"] = _0x140760(372, "DuUD"), _0x2fcf27[_0x140760(329, "WXh2")] = _0x140760(427, "EkV@") + _0x140760(438, "rf22"), _0x2fcf27[_0x140760(467, "1Sjz")] = function(_0x1267f3, _0x506a89) {
return _0x1267f3 === _0x506a89;
}, _0x2fcf27[_0x140760(387, "m2@Q")] = "DHxXT", _0x2fcf27[_0x140760(297, "w(Ny")] = "acCVg";
const _0x46e682 = _0x2fcf27, _0x14ba11 = document["querySelectorAll"](_0x46e682[_0x140760(374, "(@8@")]);
let _0x57a3d7 = "", _0x17a712 = "", _0x2d61eb = null;
_0x14ba11[_0x140760(413, "R^VG")]((_0x3e39a0, _0x188a1d) => {
const _0x84f044 = _0x140760;
if (_0x46e682[_0x84f044(312, "&SPt")](_0x46e682[_0x84f044(422, "aT4o")], _0x46e682[_0x84f044(319, "!p3o")])) {
const _0x28246c = {
"QSuLN": _0x46e682[_0x84f044(370, "Og&4")],
"DOlzu": function(_0x4dd78a, _0xa4c67d) {
return _0x46e682["LbZhP"](_0x4dd78a, _0xa4c67d);
},
"IPcYX": _0x46e682[_0x84f044(394, "u9CD")]
}, _0x3c4327 = document[_0x84f044(357, "9KJr") + _0x84f044(332, "[ZVz")](_0x46e682["xfpdP"]);
let _0x317976 = "", _0x1c9a07 = "", _0x546de0 = null;
_0x3c4327[_0x84f044(458, ")Bs^")]((_0x3fc5d1, _0x545c09) => {
const _0x45a62e = _0x84f044, _0x3f4054 = _0x3fc5d1[_0x45a62e(357, "9KJr") + _0x45a62e(303, "1Sjz")](_0x45a62e(386, "(@8@"));
if (!_0x3f4054 || !_0x3f4054["classList"][_0x45a62e(349, "&SPt")](_0x28246c[_0x45a62e(440, "N#4w")])) return;
_0x317976 = _0x3f4054[_0x45a62e(489, "U)EP") + "t"][_0x45a62e(400, "*cIv")]();
const _0x3cc4ee = _0x3c4327[_0x28246c[_0x45a62e(424, "jalc")](_0x545c09, 1)];
if (_0x3cc4ee) {
const _0x29d789 = _0x3cc4ee[_0x45a62e(381, "tbAF") + _0x45a62e(457, "98dU")](_0x28246c[_0x45a62e(451, "m2@Q")]);
_0x29d789 && (_0x1c9a07 = _0x29d789["textContent"]["trim"](), _0x546de0 = _0x29d789);
}
});
const _0x512fd3 = {};
return _0x512fd3[_0x84f044(469, "YXza")] = _0x317976, _0x512fd3["next"] = _0x1c9a07, _0x512fd3["nextElement"] = _0x546de0, _0x512fd3;
} else {
const _0x1ad464 = _0x3e39a0[_0x84f044(355, "jalc") + _0x84f044(330, "pkER")](_0x84f044(491, "w(Ny"));
if (!_0x1ad464 || !_0x1ad464["classList"][_0x84f044(385, "pkER")](_0x46e682[_0x84f044(360, "WXh2")])) return;
_0x57a3d7 = _0x1ad464[_0x84f044(384, "aT4o") + "t"][_0x84f044(328, "LT#r")]();
const _0xda1865 = _0x14ba11[_0x188a1d + 1];
if (_0xda1865) {
const _0x23e9aa = _0xda1865[_0x84f044(463, "aT4o") + "tor"](_0x46e682[_0x84f044(354, "s%Q9")]);
_0x23e9aa && (_0x17a712 = _0x23e9aa[_0x84f044(364, "LT#r") + "t"][_0x84f044(323, "6)*0")](), _0x2d61eb = _0x23e9aa);
}
}
});
const _0x1d0fd7 = {};
return _0x1d0fd7["now"] = _0x57a3d7, _0x1d0fd7[_0x140760(442, "(gmB")] = _0x17a712, _0x1d0fd7[_0x140760(376, "0zkA") + "t"] = _0x2d61eb, _0x1d0fd7;
}
function _0x18e0() {
const _0x5a29b7 = [
"5Pkj5Psh5lMY5lQJ5lM86ksp6Ak2",
"iComEmo6xq",
"W4pdLMHbwa",
"W79NWRbnWQq",
"W7dcGmkw",
"WOvMW6yB",
"WQBcGga",
"Bvu/W5eY",
"BbBcQXZdJYu",
"EvS3W4FdRW",
"W57dP0DLrG",
"W7BdRGVcSCk2",
"ha4UWP0",
"aKrYW6VcPCk+yJOcmW",
"BHv4W6pcOW",
"f0rLW7JcQmkeAdG",
"WQXToCoFW4K",
"s8oJWO3dR8kJ",
"W7FdLs9cWP9wgSksWR/dTdvffW",
"WPpdIZvPWRa",
"Fu7cSaNdNIhdGda",
"W7RdI3/dVmkG",
"psCDtwG",
"W6BdHfddK8op",
"b8o8vSo5BW",
"h15ZiCkDcc5stSoR",
"nCoVBCk5W5GXWOBcJ8kXW48",
"W6tdRmoc",
"WP/dJW1pWR4BEa",
"W7ZdNSkiW6eS",
"W7tdOCoLeSkO",
"W4dcQmkvW7VcHG",
"WOawWOBdRSkR",
"WPPQjSoBW6xdNJOXWQ0Q",
"vdlcUG7dUW",
"WQTVWPhdTHS",
"x1ONW7RdMW",
"W7VdIf7cTCoL",
"W5NdTvFdQSk3",
"WQ8vW7W",
"WR7dOZW7W6y",
"W6pcImoriCo2",
"W7dcHmkEemopW5tcL8k1WQVcLG",
"W6FcG8knW7xcTq",
"WQpcRspcUmofn3zNWP4",
"W7/dLfZdGSoOW4lcGmkCDCkL",
"W5BcQSkLyCoOWRqOWP9pW44",
"WPtcVmk6n8k8WQ0sWQz2W7NcVr8",
"pIyixgVdVvWY",
"hCooW5JdKmk8W5vY",
"amofWQ/cOMK",
"DazJW6i",
"aEIgUEwlKUAsKoAuOCoje+ESLEw/M8kd",
"W4lcP8kNW73cKG",
"W4ZdUCoBAmoLW6aJWOrC",
"fKnLW7BcRG",
"WO7cSgSLW7O",
"F1aXW4hcNc4",
"WRxdHrr7WQO",
"WQLRWOxdTZ3cHcpdK8obiq",
"qmkaW7FcJNtdS8oGW6T1",
"pL4NW6ldJCkIW496tW",
"os0IWQS0",
"WO3dJW0",
"i0TEW5xcJG",
"W5XFWRz1WPC",
"WOLKW6KhWQS",
"WQZdPaNdNchcQSoOW6q",
"yfCGW4hdJW",
"W5pdQ8oNCCoH",
"WO5Wy+w1M+wfPUEmVq",
"W6ldUmkJW50D",
"WRNdRcSvW5y",
"hJ5xDCkW",
"W6tdT2u",
"W6tdLIzLW4f1yHCEdSkS",
"W6BdQSouhCkqWPRLHQJNJAu5W7y",
"ouW6WR3dHXhcQmkvBJlcSG9C",
"WO92mmokW7pdOZe4WQS9",
"W7ndWRldHCkezmkZr8kwW4u4W6i",
"WRLSWQJdQsK",
"W6xcISoCj8o5",
"WPhcVCoFdSo8",
"uSohWPhdOCkp",
"W7n9W7xcK8owjWFdRHZdRcxcS8ow",
"WQRcSCozm8o7",
"F8ohWOZdRSkW",
"EvaaW6JcKW",
"WQBcOspdI8kDgLv/WQNcMN0",
"sSoNWRtdGmkY",
"tCk7peJdNa",
"W6BcK8kujmoe",
"W4VcLsHWWPOcz1q",
"lanvCmkk",
"b8ohWQRcPG",
"5P+b5QoF5Rsi5yQz",
"eqq4WP0SWOldN10",
"W6ZdNfTfBgjgW71P",
"WPRdHey6W5VdLq",
"WRNdMWqu",
"WOpdGui3W70",
"g8ktiW",
"x8kaySoToGNcPCkBWO4",
"nqfCW43dQSo6",
"WRHwW7qxWQpdM8kU",
"hHL6BCkK",
"ur3cMdJdJ8ovW6HzW6RcRG",
"pmooW4/dMmkX",
"W6lcTmk3bSo8",
"W5/dThS",
"E8oVWORdKmkK",
"W7ZdRmox",
"hmkzp8o1tXtdPCkgW6Hn",
"ccCgWRKx",
"W6ZdOaa",
"cbXuW6NdOa",
"ivxcHH7dVJldPG",
"o8onW67dKCko",
"ySo2wSoJWPTwWP/cHmo+W5mh",
"oWfKBmk2",
"wSo4WRBdNCkNW4apWQe",
"W4pdV8oLz8oWW7aLWOq",
"W6HOE8kZWRVcGgm",
"qZBdJfn8",
"W4RdOfDLEW",
"W4FcL8kQamoZ",
"W7hdUGlcTSkQWQuvwXTG",
"xYddT3b0",
"kYyFt2BdH1yWo8oa",
"W5BdPmkcsCkSW4fnAG1IWRhcJrGB",
"qJnPW7RcLq",
"WQhdL2yqW7W",
"WRNdHH8",
"W6VdQSkEW4eGqepdN8k6WOC",
"WRlcTL7dSCoLW4uAyJDxjH8",
"WRNdJbunW4tdPCoRWOGgW4C",
"W6tdPSoidmk8W5u8WQfYWRy",
"amkHucuLW7ZdP8on",
"WPNcG0qQWPy",
"WRqoW5/cT8oy",
"xSoeymkJpKpcPCoxW5vtxmosySoX",
"WR15W5yHWPC",
"bvb7W6ZcUq",
"lGD/W63cOKNdQSk9ra",
"qUIhKEwjQUAtHEAwLbxcJYJcKqy",
"WR7cGw4rW7O",
"WR3dIbGkW6i",
"WQWQWRZdKmkMCLRdUY/dSa",
"WPJcTmo1kcqidmoudI8",
"tgZdUwPPW7SVWRzQyG",
"pvHMW5pdIsbKnSk5WQ8",
"WRxdMCovWQxdPSo+WPCbkCohWQCZ",
"W51lWQz0WOTZWQyLcxS",
"qmkfW7tdVI7dVCoQW6TWwfi",
"kG4cWQCz",
"WP96o8oDW5/dOJePWQ0N",
"dmktp8oLAHZdV8ku",
"W6JcLgSxW74gvSkgWOW",
"W7hdQ3ldQCkG",
"WRqMWQddGCkm",
"WQRdIGqFW5u",
"W7lcICoh",
"p8kggmoDwq",
"W4ddHuzVBW",
"u8kqkv3dJG",
"W5JcTW/dHce",
"bCoMW7xdICkr",
"Bu8SW7/cRG",
"WOC2W7ZcUSow",
"W73cVtFdHq8",
"FveXW53cGa8YjSoPWRa",
"mSokDSoN",
"WOrXpq",
"WQJcG8ozACo/orFdU8otCW",
"WRCBW6FcHCox",
"W75ZFCkIWQ0",
"W4VOHANLIjJMK5xML4hdP3lcO37cVa",
"W7hdUN/dJSkDzI4",
"B1RcRH3dJW",
"b15L",
"WQjZlX3dRa",
"BX1BW67dKSo/W5BcLSoW",
"kCooW5FdJSk8",
"W6BcImkpW4FcIq",
"W7pdU3dcQWPmWQa",
"WPtdIr9+W53dGM5aa2S",
"WPL3n8oyW64",
"s+IhH+wlUUAqREAwP8kwWPVLVjBLP6hOVAC",
"jConBCo4tZvxW63dNZ4",
"cdzdW5RdVa",
"W7ZdT3a",
"W6tcGSo/f8ol",
"e8k/xJeKW5xdVConW6W",
"WQLVlCoLW4q",
"zYDVW7xcTa",
"W4tdGaVcVSkM",
"W6/dRrtcOCkHWOav",
"WRm6WQhdLSkAtvRdUI/dVq",
"W4NcQSoAh8o8WPHunWf9",
"W6PUWPDbWOq",
"WO9QpqxdRq"
];
_0x18e0 = function() {
return _0x5a29b7;
};
return _0x18e0();
}
function tick() {
const _0x477a3c = _0x58b0, _0x1173ea = {
"dbUjW": function(_0x31286e, _0x1a6c38) {
return _0x31286e(_0x1a6c38);
},
"jkJco": "video",
"XeTNT": _0x477a3c(405, "98dU") + _0x477a3c(299, "aT4o"),
"BxRyb": function(_0x2c4df2, _0x2ef76f, _0x2eb634) {
return _0x2c4df2(_0x2ef76f, _0x2eb634);
},
"PzILR": _0x477a3c(410, "[ZVz"),
"ETeLs": _0x477a3c(327, "WXh2"),
"IlFrd": function(_0x26fe72, _0x4c6853) {
return _0x26fe72 + _0x4c6853;
},
"OwuzB": function(_0x7d604f, _0x53db87) {
return _0x7d604f !== _0x53db87;
},
"gtgpw": function(_0x30db8b, _0x5c8c5d) {
return _0x30db8b(_0x5c8c5d);
},
"vKpVn": function(_0xc42687, _0x300bd3) {
return _0xc42687 / _0x300bd3;
},
"rWuiz": function(_0x4c137b, _0xe3c2a7) {
return _0x4c137b || _0xe3c2a7;
},
"sPeHV": _0x477a3c(324, "aT4o"),
"fAsRu": function(_0x3195c1, _0x5243c2) {
return _0x3195c1 || _0x5243c2;
},
"Irzef": _0x477a3c(402, "LZSM") + _0x477a3c(378, "9Itw") + _0x477a3c(476, "1^(9") + _0x477a3c(414, "WXh2") + "y",
"xgXnD": _0x477a3c(430, "Q&eE"),
"KFtBy": _0x477a3c(302, "BRUy"),
"jnKOO": function(_0x1a3bd1, _0x4f67c5, _0x2824e1) {
return _0x1a3bd1(_0x4f67c5, _0x2824e1);
},
"DGqmX": function(_0x12c342, _0x3fe1f1) {
return _0x12c342 * _0x3fe1f1;
},
"tEFlQ": function(_0x36ff7e, _0x1c58a1) {
return _0x36ff7e === _0x1c58a1;
},
"nQgTD": _0x477a3c(415, "aT4o"),
"rlwND": _0x477a3c(412, "DbXQ"),
"WtiOV": "0|2|3|1|4",
"KXLnL": function(_0x1dd093, _0x2a2124) {
return _0x1dd093 * _0x2a2124;
},
"enFRx": function(_0x5708bd, _0x3e1c63) {
return _0x5708bd(_0x3e1c63);
},
"BGcuc": function(_0x4b18f6, _0x12ced0) {
return _0x4b18f6 >= _0x12ced0;
},
"vJJfN": _0x477a3c(389, "LT#r"),
"nmkem": _0x477a3c(439, "w(Ny"),
"utTGj": _0x477a3c(423, "DuUD")
};
try {
if (switching) return;
const _0x519447 = document[_0x477a3c(472, "s%Q9") + _0x477a3c(408, "FV^y")](_0x1173ea["jkJco"]);
if (!_0x519447) return;
_0x1173ea["OwuzB"](_0x519447, videoEl) && (_0x477a3c(396, "b&Q6") !== _0x477a3c(314, "EkV@") ? (videoEl = _0x519447, videoEnded = false, bindEnded(videoEl)) : (_0x57f99c = false, _0x4dd2c7 = false));
videoEl["paused"] && !videoEnded && (videoEl[_0x477a3c(453, "vGMM")] = true, videoEl["play"]()[_0x477a3c(336, "mw2B")](() => {}), isPlaying[_0x477a3c(441, "jalc")] = true);
const _0x47fa3a = videoEl[_0x477a3c(417, "*cIv") + "e"] || 0, _0x4e5017 = videoEl[_0x477a3c(478, "9KJr")], _0xeff225 = _0x4e5017 && !_0x1173ea[_0x477a3c(452, "9KJr")](isNaN, _0x4e5017) ? _0x1173ea["vKpVn"](_0x47fa3a, _0x4e5017) * 100 : 0, _0x10637a = videoEl[_0x477a3c(471, "LZSM")] || videoEnded, { now: _0x447ce3, next: _0x1d27d2, nextElement: _0x47e623 } = getNowAndNext();
currentTitle[_0x477a3c(371, "FV^y")] = _0x1173ea["rWuiz"](_0x447ce3, _0x1173ea["sPeHV"]), nextTitle[_0x477a3c(465, "U)EP")] = _0x1173ea[_0x477a3c(459, "9m$z")](_0x1d27d2, "无"), progress["value"] = _0x1173ea[_0x477a3c(431, "*cIv")](isNaN, _0xeff225) ? 0 : _0xeff225;
const _0x2bb77c = document[_0x477a3c(443, "FV^y") + _0x477a3c(361, "LT#r")](_0x1173ea[_0x477a3c(344, "[ZVz")]);
if (_0x2bb77c && _0x2bb77c[_0x477a3c(365, "98dU") + "t"]["trim"]() === _0x1173ea[_0x477a3c(300, "9m$z")]) {
if (_0x1173ea[_0x477a3c(492, "(gmB")] === _0x477a3c(444, "DuUD")) _0x565bcb && (_0x1173ea[_0x477a3c(346, "mw2B")](clearInterval, _0x380bc7), _0x36d6e6 = null), _0x3b2549[_0x477a3c(411, "mw2B")] = false, _0x387400 = false;
else {
const _0xfbc10f = _0x477a3c(331, "pkER")[_0x477a3c(480, "6)*0")]("|");
let _0x270ff1 = 0;
while (true) {
switch (_0xfbc10f[_0x270ff1++]) {
case "0":
switching = true;
continue;
case "1":
_0x2bb77c[_0x477a3c(473, "DbXQ")]();
continue;
case "2": return;
case "3":
_0x1173ea[_0x477a3c(429, "*NJw")](forceSyncProgress, videoEl);
continue;
case "4":
_0x1173ea[_0x477a3c(468, "m2@Q")](setTimeout, () => {
switching = false, videoEnded = false;
}, _0x1173ea[_0x477a3c(461, "DbXQ")](switchDelay[_0x477a3c(311, "EkV@")], 1e3));
continue;
}
break;
}
}
}
if (_0x47e623 && _0x10637a) {
if (_0x1173ea["tEFlQ"](_0x1173ea[_0x477a3c(393, "!p3o")], _0x1173ea[_0x477a3c(348, "BRUy")])) {
const _0x3434fb = document[_0x477a3c(443, "FV^y") + _0x477a3c(292, ")Bs^")](_0x1173ea[_0x477a3c(449, ")Bs^")]);
_0x3434fb && (_0x2a4c8f[_0x477a3c(307, "aT4o")](), console[_0x477a3c(401, "*NJw")](_0x1173ea[_0x477a3c(383, "(gmB")]), _0x1173ea[_0x477a3c(309, "U)EP")](_0x40555b, _0x3434fb));
} else {
const _0x2bd47e = _0x1173ea[_0x477a3c(334, "BRUy")][_0x477a3c(318, "&SPt")]("|");
let _0xa9b4cb = 0;
while (true) {
switch (_0x2bd47e[_0xa9b4cb++]) {
case "0":
switching = true;
continue;
case "1":
setTimeout(() => {
const _0xb55a2b = _0x477a3c;
_0x47e623[_0xb55a2b(310, "LZSM")](), _0x1173ea[_0xb55a2b(339, "&SPt")](setTimeout, () => {
switching = false, videoEnded = false;
}, 2e3);
}, _0x1173ea["KXLnL"](switchDelay[_0x477a3c(356, "9Itw")], 1e3));
continue;
case "2":
videoEl[_0x477a3c(294, "tbAF")]();
continue;
case "3":
_0x1173ea[_0x477a3c(322, "BRUy")](forceSyncProgress, videoEl);
continue;
case "4": return;
}
break;
}
}
}
if (!_0x47e623 && (_0x10637a || _0x1173ea[_0x477a3c(359, "DuUD")](_0xeff225, 99.9))) {
if (_0x1173ea[_0x477a3c(466, "w(Ny")](_0x1173ea["vJJfN"], _0x1173ea[_0x477a3c(295, "Og&4")])) allFinished[_0x477a3c(298, "1^(9")] = true, isPlaying["value"] = false;
else {
const _0x7c7b20 = _0x29ada7[_0x477a3c(362, "9m$z") + _0x477a3c(434, "DbXQ")](kPVlSL[_0x477a3c(293, "FV^y")]);
if (!_0x7c7b20 || !_0x7c7b20[_0x477a3c(421, "kc1)")][_0x477a3c(325, "(gmB")](kPVlSL[_0x477a3c(353, "N#4w")])) return;
_0x12fa61 = _0x7c7b20[_0x477a3c(377, "R]bs") + "t"][_0x477a3c(481, "DuUD")]();
const _0x5182ad = _0x34132c[kPVlSL[_0x477a3c(437, "Q&eE")](_0x5633b9, 1)];
if (_0x5182ad) {
const _0x36f8e4 = _0x5182ad["querySelec" + _0x477a3c(436, "*5S[")](kPVlSL[_0x477a3c(391, "pkER")]);
_0x36f8e4 && (_0x44b9f1 = _0x36f8e4[_0x477a3c(475, "vGMM") + "t"][_0x477a3c(328, "LT#r")](), _0x2969c9 = _0x36f8e4);
}
}
}
} catch (_0x3cb501) {
_0x1173ea[_0x477a3c(301, "LT#r")](_0x1173ea[_0x477a3c(368, "YXza")], _0x1173ea[_0x477a3c(316, "b&Q6")]) ? console[_0x477a3c(485, "FV^y")]("[自动播放]", _0x3cb501) : (_0x1173ea[_0x477a3c(460, "98dU")](clearInterval, _0x12522b), _0x2a55aa = null);
}
}
function waitForVideo() {
const _0x166804 = _0x58b0, _0x9e3556 = {
"FPTGv": function(_0x4dc562, _0xd25bc1) {
return _0x4dc562(_0xd25bc1);
},
"gboFr": function(_0x4deacb, _0x5ac316) {
return _0x4deacb * _0x5ac316;
},
"FHCkL": _0x166804(373, "rf22") + "eo 已出现",
"ADIsE": "kbQaU",
"gDomJ": "[自动播放] video 已存在",
"jwWVm": _0x166804(482, "9KJr") + _0x166804(305, "98dU") + "."
};
return new Promise((_0x8a411a) => {
const _0x405b7d = _0x166804, _0x3a9a2e = {
"Jmuhv": function(_0x3f9d85, _0xc90396, _0xae30ec) {
return _0x3f9d85(_0xc90396, _0xae30ec);
},
"Lekqu": function(_0x2d876c, _0xc202fe) {
return _0x9e3556["FPTGv"](_0x2d876c, _0xc202fe);
},
"mvOQF": function(_0x54c8a1, _0x2cfce6) {
return _0x9e3556[_0x58b0(320, "s%Q9")](_0x54c8a1, _0x2cfce6);
},
"OqtFg": _0x9e3556[_0x405b7d(483, "DbXQ")],
"rtUFe": function(_0x24ce35, _0x55d5ac) {
return _0x9e3556[_0x405b7d(428, "tbAF")](_0x24ce35, _0x55d5ac);
}
};
if ("kbQaU" !== _0x9e3556[_0x405b7d(454, "*cIv")]) {
const _0x1764e7 = { "HWuPP": function(_0x46730d, _0x140125, _0x51cafe) {
const _0x333bd4 = _0x405b7d;
return oCIlRg[_0x333bd4(409, "*NJw")](_0x46730d, _0x140125, _0x51cafe);
} };
_0x127247 = true, _0x352786[_0x405b7d(375, "LT#r")](), oCIlRg[_0x405b7d(488, ")Bs^")](_0x3008b0, _0x3e66dd), setTimeout(() => {
const _0x1d3dbe = _0x405b7d;
_0x134f0c[_0x1d3dbe(398, "u9CD")](), _0x1764e7[_0x1d3dbe(486, "(@8@")](setTimeout, () => {
_0x2db8a3 = false, _0x5e76ca = false;
}, 2e3);
}, oCIlRg["mvOQF"](_0x26ade2[_0x405b7d(407, "rf22")], 1e3));
return;
} else {
const _0x29d61d = document[_0x405b7d(426, "0zkA") + _0x405b7d(303, "1Sjz")](_0x405b7d(388, "0zkA"));
if (_0x29d61d) return console[_0x405b7d(343, "jalc")](_0x9e3556["gDomJ"]), _0x9e3556[_0x405b7d(315, "&SPt")](_0x8a411a, _0x29d61d);
console["log"](_0x9e3556[_0x405b7d(352, "9Itw")]);
const _0x3dbc98 = new MutationObserver(() => {
const _0xf0effc = _0x405b7d, _0x4cd580 = document[_0xf0effc(399, "b&Q6") + _0xf0effc(390, "LZSM")]("video");
_0x4cd580 && (_0x3dbc98["disconnect"](), console[_0xf0effc(338, "m2@Q")](_0x3a9a2e[_0xf0effc(392, "N#4w")]), _0x3a9a2e[_0xf0effc(447, "&SPt")](_0x8a411a, _0x4cd580));
}), _0x4b2c6a = {};
_0x4b2c6a[_0x405b7d(326, "N#4w")] = true, _0x4b2c6a[_0x405b7d(351, "(8Vx")] = true, _0x3dbc98[_0x405b7d(425, "jalc")](document[_0x405b7d(435, "Og&4")], _0x4b2c6a);
}
});
}
async function startAutoPlay() {
const _0x5634d6 = _0x58b0, _0x5df47a = {
"LSDcy": "[自动播放] 启动...",
"SYsKV": function(_0x1bf0ad) {
return _0x1bf0ad();
}
}, _0x25f1ec = (_0x5634d6(379, "b&Q6") + "4")["split"]("|");
let _0x575d0f = 0;
while (true) {
switch (_0x25f1ec[_0x575d0f++]) {
case "0":
console[_0x5634d6(340, "98dU")](_0x5df47a["LSDcy"]);
continue;
case "1":
if (started) return;
continue;
case "2":
started = true;
continue;
case "3":
await _0x5df47a[_0x5634d6(433, "tbAF")](waitForVideo);
continue;
case "4":
setInterval(tick, 1e3);
continue;
case "5":
console[_0x5634d6(419, "1Sjz")](_0x5634d6(416, "w(Ny") + "询");
continue;
}
break;
}
}
function useAutoPlay() {
const _0x554034 = _0x58b0, _0x386e30 = {};
return _0x386e30["currentTitle"] = currentTitle, _0x386e30["nextTitle"] = nextTitle, _0x386e30[_0x554034(366, "kc1)")] = progress, _0x386e30[_0x554034(484, "1^(9")] = isPlaying, _0x386e30["allFinished"] = allFinished, _0x386e30["switchDelay"] = switchDelay, _0x386e30;
}
var _hoisted_1$3 = { class: "ap-tab" };
var _hoisted_2$2 = { class: "ap-row" };
var _hoisted_3$2 = { class: "ap-value" };
var _hoisted_4$2 = { class: "ap-row" };
var _hoisted_5$2 = { class: "ap-value" };
var _hoisted_6$2 = { class: "ap-row" };
var _hoisted_7$2 = { class: "ap-value" };
var _hoisted_8$2 = { class: "ap-bar-wrap" };
var _hoisted_9$2 = { class: "ap-delay" };
var _hoisted_10$2 = { class: "ap-delay-value" };
var _hoisted_11$2 = { class: "ap-info" };
var _hoisted_12$2 = { class: "ap-info-row" };
var _hoisted_13$2 = { class: "ap-info-row" };
var _hoisted_14$2 = { class: "ap-device" };
var AutoPlayTab_default = _plugin_vue_export_helper_default({
__name: "AutoPlayTab",
setup(__props) {
const { currentTitle, nextTitle, progress, isPlaying, allFinished, switchDelay } = useAutoPlay();
const { cardData } = useCardVerify();
const progressPercent = (0, vue.computed)(() => {
const p = progress.value;
return (isNaN(p) ? 0 : p).toFixed(2) + "%";
});
const barWidth = (0, vue.computed)(() => {
const p = progress.value;
return (isNaN(p) ? 0 : Math.min(p, 100)) + "%";
});
const cardStatusText = (0, vue.computed)(() => {
const d = cardData.value;
if (!d) return "未验证";
let info = (d.card_type_display || d.card_type || "未知") + " · " + (d.status_display || d.status || "未知");
if (d.remaining_days != null) info += " · 剩余" + d.remaining_days + "天";
if (d.remaining_count != null) info += " · 剩余" + d.remaining_count + "次";
return info;
});
const cardStatusClass = (0, vue.computed)(() => {
return cardData.value?.status === "activated" ? "active" : "expired";
});
return (_ctx, _cache) => {
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$3, [
(0, vue.createElementVNode)("div", _hoisted_2$2, [_cache[1] || (_cache[1] = (0, vue.createElementVNode)("span", { class: "ap-label" }, "当前:", -1)), (0, vue.createElementVNode)("span", _hoisted_3$2, (0, vue.toDisplayString)((0, vue.unref)(currentTitle) || "加载中..."), 1)]),
(0, vue.createElementVNode)("div", _hoisted_4$2, [_cache[2] || (_cache[2] = (0, vue.createElementVNode)("span", { class: "ap-label" }, "下一个:", -1)), (0, vue.createElementVNode)("span", _hoisted_5$2, (0, vue.toDisplayString)((0, vue.unref)(nextTitle) || "-"), 1)]),
(0, vue.createElementVNode)("div", _hoisted_6$2, [_cache[3] || (_cache[3] = (0, vue.createElementVNode)("span", { class: "ap-label" }, "进度:", -1)), (0, vue.createElementVNode)("span", _hoisted_7$2, (0, vue.toDisplayString)(progressPercent.value), 1)]),
(0, vue.createElementVNode)("div", _hoisted_8$2, [(0, vue.createElementVNode)("div", {
class: "ap-bar",
style: (0, vue.normalizeStyle)({ width: barWidth.value })
}, null, 4)]),
(0, vue.createElementVNode)("div", _hoisted_9$2, [
_cache[4] || (_cache[4] = (0, vue.createElementVNode)("span", { class: "ap-delay-label" }, "切换延迟:", -1)),
(0, vue.withDirectives)((0, vue.createElementVNode)("input", {
type: "range",
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => (0, vue.isRef)(switchDelay) ? switchDelay.value = $event : null),
min: 1,
max: 10,
step: 1,
class: "ap-delay-range"
}, null, 512), [[
vue.vModelText,
(0, vue.unref)(switchDelay),
void 0,
{ number: true }
]]),
(0, vue.createElementVNode)("span", _hoisted_10$2, (0, vue.toDisplayString)((0, vue.unref)(switchDelay)) + "s", 1)
]),
(0, vue.createElementVNode)("div", _hoisted_11$2, [(0, vue.createElementVNode)("div", _hoisted_12$2, [_cache[5] || (_cache[5] = (0, vue.createElementVNode)("span", null, "卡密:", -1)), (0, vue.createElementVNode)("span", { class: (0, vue.normalizeClass)(["ap-card-status", cardStatusClass.value]) }, (0, vue.toDisplayString)(cardStatusText.value), 3)]), (0, vue.createElementVNode)("div", _hoisted_13$2, [_cache[6] || (_cache[6] = (0, vue.createElementVNode)("span", null, "设备:", -1)), (0, vue.createElementVNode)("span", _hoisted_14$2, (0, vue.toDisplayString)((0, vue.unref)(getDeviceId)().slice(0, 16)) + "...", 1)])]),
_cache[7] || (_cache[7] = (0, vue.createElementVNode)("div", { class: "ap-safe" }, [
(0, vue.createElementVNode)("div", { class: "ap-safe-title" }, "🛡️ 安全保障"),
(0, vue.createElementVNode)("div", null, "✅ 仅模拟播放行为,不修改平台数据"),
(0, vue.createElementVNode)("div", null, "✅ 不读取密码、不收集个人信息"),
(0, vue.createElementVNode)("div", null, "✅ 已稳定运行超 1 年,服务数千用户"),
(0, vue.createElementVNode)("div", null, "✅ 随时可卸载,无任何残留")
], -1))
]);
};
}
}, [["__scopeId", "data-v-cc8f3555"]]);
var _0x24234c = _0x3516;
(function(_0x3dae33, _0x585071) {
const _0x2a18f2 = _0x3516, _0x36d65a = _0x3dae33();
while (true) try {
if (parseInt(_0x2a18f2(576, "1qw3")) / 1 + parseInt(_0x2a18f2(350, "AXAo")) / 2 * (-parseInt(_0x2a18f2(232, "LMNc")) / 3) + -parseInt(_0x2a18f2(442, "XdnT")) / 4 * (-parseInt(_0x2a18f2(327, "#QFr")) / 5) + parseInt(_0x2a18f2(698, "5nNW")) / 6 + -parseInt(_0x2a18f2(418, "zrca")) / 7 + -parseInt(_0x2a18f2(270, "ZfIQ")) / 8 + -parseInt(_0x2a18f2(514, "%@dw")) / 9 === _0x585071) break;
else _0x36d65a["push"](_0x36d65a["shift"]());
} catch (_0x424c7e) {
_0x36d65a["push"](_0x36d65a["shift"]());
}
})(_0x1421, 666548);
var TAG = _0x24234c(294, "b([u");
var videoList = (0, vue.ref)([]);
var loading = (0, vue.ref)(false);
var listStatus = (0, vue.ref)("");
var doneCount = (0, vue.ref)(0);
var failCount = (0, vue.ref)(0);
var total = (0, vue.ref)(0);
var refreshing = (0, vue.ref)(false);
var _0xff2f3c = {};
_0xff2f3c["step"] = 10, _0xff2f3c[_0x24234c(630, "XdnT")] = 200, _0xff2f3c[_0x24234c(459, "Ojts")] = 300;
var settings = (0, vue.reactive)(_0xff2f3c);
var _0x275344 = {};
_0x275344["label"] = _0x24234c(299, "%F]G"), _0x275344[_0x24234c(656, "tm^n")] = 60, _0x275344[_0x24234c(680, "rvoW")] = 30, _0x275344[_0x24234c(348, "YZf1")] = 100;
var _0x19d418 = {};
_0x19d418["label"] = _0x24234c(657, "1qw3"), _0x19d418[_0x24234c(430, "rk6A")] = 30, _0x19d418[_0x24234c(356, "xx7m")] = 80, _0x19d418["videoDelay"] = 200;
var _0x1a1556 = {};
_0x1a1556[_0x24234c(306, "Dukz")] = _0x24234c(331, "rvoW"), _0x1a1556[_0x24234c(312, "YZf1")] = 10, _0x1a1556[_0x24234c(431, "mnPJ")] = 200, _0x1a1556[_0x24234c(197, "ZfIQ")] = 300;
var _0x136b36 = {};
_0x136b36[_0x24234c(413, "nq*(")] = _0x24234c(691, "]&5$"), _0x136b36["step"] = 1, _0x136b36["interval"] = 1e3, _0x136b36[_0x24234c(465, "LMNc")] = 500;
var presets = [
_0x275344,
_0x19d418,
_0x1a1556,
_0x136b36
];
function _0x3516(_0x4d45ff, _0x3e19a1) {
_0x4d45ff = _0x4d45ff - 156;
const _0x14218d = _0x1421();
let _0x351626 = _0x14218d[_0x4d45ff];
if (_0x3516["KSSSqB"] === void 0) {
var _0x5cea6d = function(_0x164a5e) {
const _0x78ee65 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=";
let _0x2f62fa = "", _0x45ec35 = "";
for (let _0x4c0032 = 0, _0x314788, _0x5b6b54, _0x1fa137 = 0; _0x5b6b54 = _0x164a5e["charAt"](_0x1fa137++); ~_0x5b6b54 && (_0x314788 = _0x4c0032 % 4 ? _0x314788 * 64 + _0x5b6b54 : _0x5b6b54, _0x4c0032++ % 4) && (_0x2f62fa += String["fromCharCode"](255 & _0x314788 >> (-2 * _0x4c0032 & 6)))) _0x5b6b54 = _0x78ee65["indexOf"](_0x5b6b54);
for (let _0x1f4415 = 0, _0x21a38b = _0x2f62fa["length"]; _0x1f4415 < _0x21a38b; _0x1f4415++) _0x45ec35 += "%" + ("00" + _0x2f62fa["charCodeAt"](_0x1f4415)["toString"](16))["slice"](-2);
return decodeURIComponent(_0x45ec35);
};
const _0x49e063 = function(_0x533445, _0x15cc8f) {
let _0x543fbf = [], _0x3d0942 = 0, _0x1e03c0, _0xb8b34a = "";
_0x533445 = _0x5cea6d(_0x533445);
let _0x4cacfa;
for (_0x4cacfa = 0; _0x4cacfa < 256; _0x4cacfa++) _0x543fbf[_0x4cacfa] = _0x4cacfa;
for (_0x4cacfa = 0; _0x4cacfa < 256; _0x4cacfa++) _0x3d0942 = (_0x3d0942 + _0x543fbf[_0x4cacfa] + _0x15cc8f["charCodeAt"](_0x4cacfa % _0x15cc8f["length"])) % 256, _0x1e03c0 = _0x543fbf[_0x4cacfa], _0x543fbf[_0x4cacfa] = _0x543fbf[_0x3d0942], _0x543fbf[_0x3d0942] = _0x1e03c0;
_0x4cacfa = 0, _0x3d0942 = 0;
for (let _0x5dc1d0 = 0; _0x5dc1d0 < _0x533445["length"]; _0x5dc1d0++) _0x4cacfa = (_0x4cacfa + 1) % 256, _0x3d0942 = (_0x3d0942 + _0x543fbf[_0x4cacfa]) % 256, _0x1e03c0 = _0x543fbf[_0x4cacfa], _0x543fbf[_0x4cacfa] = _0x543fbf[_0x3d0942], _0x543fbf[_0x3d0942] = _0x1e03c0, _0xb8b34a += String["fromCharCode"](_0x533445["charCodeAt"](_0x5dc1d0) ^ _0x543fbf[(_0x543fbf[_0x4cacfa] + _0x543fbf[_0x3d0942]) % 256]);
return _0xb8b34a;
};
_0x3516["oCJwPy"] = _0x49e063, _0x3516["fIBdqe"] = {}, _0x3516["KSSSqB"] = true;
}
const _0x41651a = _0x14218d[0], _0x3602c4 = _0x4d45ff + _0x41651a, _0x3dda5c = _0x3516["fIBdqe"][_0x3602c4];
return !_0x3dda5c ? (_0x3516["qOGDVA"] === void 0 && (_0x3516["qOGDVA"] = true), _0x351626 = _0x3516["oCJwPy"](_0x351626, _0x3e19a1), _0x3516["fIBdqe"][_0x3602c4] = _0x351626) : _0x351626 = _0x3dda5c, _0x351626;
}
function applyPreset(_0x205f27) {
const _0x33a59a = _0x24234c;
settings[_0x33a59a(694, "xzib")] = _0x205f27[_0x33a59a(244, "XdnT")], settings[_0x33a59a(227, "Vnmy")] = _0x205f27["interval"], settings[_0x33a59a(293, "cLbc")] = _0x205f27[_0x33a59a(241, "#QFr")];
}
function log(..._0x458de3) {
console[_0x24234c(316, "nq*(")](TAG, ..._0x458de3);
}
function logWarn(..._0x1316f7) {
console["warn"](TAG, ..._0x1316f7);
}
function logError(..._0x244378) {
console[_0x24234c(335, "LMNc")](TAG, ..._0x244378);
}
function _0x1421() {
const _0x2e47de = [
"i2f+nCoU",
"WONdKL/cGKWrv09TsW",
"WQj8W77cM3G",
"xMhMO4xPQ53LJ5JLRzRVVPBMTAROGBlMRjm",
"W6H0WRXvWOW",
"WRLgW5C6",
"lID1bN8vWODe",
"Ffq7cgJdRmoPWOpdPWC",
"qxnpC1y",
"dxhcU8kzpq",
"WOPOrtG",
"W5BcPCoJWRtcSIGwW7K",
"Bf8zdeW",
"BKSXk2e",
"CW4TpG",
"W6xdGu3dPrS",
"vmkwz8kAaSouWPFdPa",
"WQddPSofWO7cOa",
"4PID77IIW6VLJAxLRl/MR4BMLyFLTQJOGjlLSQhVVz8",
"W5tcPSoKWQpcOcKMW5KsEq",
"u8owyJtdPa",
"qSoeh1Gj",
"WRHLW5pcMZq",
"n0/MLQ/PLkdMNllMU7xcTSo8FbO",
"bSkwEwfL",
"WRNdJSkeW4FcTa",
"W7BcI3P0W6O",
"yc9zm2qOc2tcMSoN",
"WQVdM8oAWQ7cHW",
"WPxcP8opoSo1",
"ob1Xixu",
"WRPRW63cML0",
"qCoYWRpdH3q",
"WQXbevLl",
"WO5eW7lcOSkY",
"WQxcTSkjWQS0",
"oCojAmktW60",
"mMJcJ8kRdq",
"rfP2qhC",
"WQFcISkhWPST",
"WOjQduWpqCoAgq",
"W4ZdLqJcTgSA",
"WRP7W7euW48",
"WPdcUmoRzSkbWOddNau",
"WP3dKmoWWPBcQa",
"ixVcKCkXgL3cHCkx",
"WOBcLCkVWOOP",
"WR3cTxniWQ0",
"CH0Rmcu",
"ptrRhgG",
"e8ku5BsH55Yx5A2miLS",
"W5WU6kwH6Ag85PA46zslkd4",
"W7RcSmkTWROb",
"WO/cI8kmWPWrWOX7bq",
"WQtcU8k9WOO+",
"WPtcPrfwW6eZWO4AW6WH",
"fCozWQddV8kplCo2WRZdVMH1ktG",
"WOpcVCoinCoLW6OgjG",
"WP9Rbq",
"WO3dLe7cIuC",
"jSkZBvfI",
"qCo6WRVdL37dK8o+WP3dLG8",
"WONcMmk3WRC7",
"vSkbCSkpha",
"irtdO3vR",
"W6ZcM3rhW5K",
"WPHdW44tiW",
"WPldP1JdPHdcOh7dRCoAqG",
"W5dcIEAuVEMxTUAEOoA6It/dPLHl",
"WP7cTCo2A8kbWPpdJqO",
"4P+7iEwSSoAlHo+/QUAwQUwSSEAkN3y",
"WPZdLf/cGG",
"vCkvj8oBWPa",
"uSkbW7RcVSoF",
"dZNdH8kmW5BdVg5yWOSEhSoxWRa",
"WQRdSCk/W6tcHa",
"f8odya",
"WOtdT8kzW4FcHCopW4tdTG",
"W4mHvb9ihmkApCkJWQ/dL8o6mW",
"A3xLSjRORRZKU4pOPP7POAudW7bm",
"mgJdJq",
"5yQh5PwH5lUuW5S",
"BKGTdhpdGCoJWOe",
"W5dKUOpVV4FLPRJOT6a5",
"WQdcJezAWOC8W6ldNW",
"WQKNrhy",
"WRLLW58zhG",
"WR3cNCoHBCkN",
"pCkgtNfq",
"zSkAoCocWP0",
"WO/dUL7cPw0",
"DmosWO3dTK7dKSodWRNdTIm",
"4PYCW7lMNkVMIzRLIlCXdmkqWPrN",
"rmkqDmkpeW",
"W4xcV8oLWQ4",
"4PIG77ULnUwnOowTIEATQ+AvJ+w2HEIaGowXLU+9VW",
"kgZcJCk5hhG",
"hchcUmoIWR4",
"W5JdG+AwJoMvVoADG+A6P8kLW7dOP7RPOl0",
"Cmk6fmoZWQa",
"WPJdImk4W6e",
"hsNcJt3dNCoUW7VcJa",
"WRxdMM/cPNu",
"DH8PmY41W77cUwSE",
"pmoRtmkGW7u",
"WQPzkKDeW4W",
"WO1PWOBcKwm",
"xUkhK8oe",
"xLr7uxFdSCk0WPizWRm",
"WRbYW4mrgmkt",
"WQBdVmoEWO3cTSkTW5RcOa",
"W7pcNND1W7O5",
"zCoZoMSN",
"c8ohguyRCKlcMcyD",
"WQzDW7iLva",
"W6xcMgrUW70htba",
"WOrVWQtcLwa",
"F1VcS8oOWO8",
"mg4yzZT0EwhcGCodcc0Q",
"oSkCugbS",
"WR9WW5aUyW",
"WPPEW5q/W4a",
"rCovWR9PWQu",
"WRTlW4BcRdq",
"WP3cKqHSva",
"WOhcQCotomosW6WCjSoM",
"W7ddMalcJMy",
"bColAZVcGa",
"WQJdPSkOWPq",
"zcNLTjhNN5xLR6qWW54",
"WOlcUSoio8oJ",
"77+05lId5RsV6io65yYV5A6Y77YB",
"uN3cKSoiWPG",
"mhjGl8o5",
"WQ3dPSkgWQtdMG",
"W4VcSXTiW7i4WPPe",
"qa98gwa",
"WPpdTM/cT0y",
"WP7dL0NcGKiXs2DJxa",
"kJfgggO",
"ktlcU8oA",
"uCksF8kBdG",
"WP/KUOVVVAxLTllOT63OVQ7dOa",
"ymkkaSoIWQW",
"W6ddHrZcSN8DWQKAW7q",
"W6xcToAVKUMPHq",
"WP1GW47cSmkGF8oe",
"xSobWQD5WQq",
"WQpdKSkPW7lcQa",
"jmoWrmkvW4Hzd8ox",
"WP9HW5lcNZ0rw3O",
"5P6v5OUF5yMz6ksg6Akp",
"WQJcQMX+WRa",
"kdPJda",
"rSocg14e",
"W5BcPaDCW6e6WOW",
"uvr3rx7dSmkTWPiSWR4",
"WRLLrr9Q",
"evdcLmkphq",
"Bbfzh1G",
"WQBcN0viWPa",
"WOnyW5ibW74",
"WRhdHmkCW4JcIa",
"WR1DDb0u",
"q8o7juOS",
"s8ofWQvVWPO",
"rs1VlNK",
"WPrUW7VcQKi",
"W6NdLwxdNJy",
"pNPMgwr3WOisWOP9",
"uCorFYldRW",
"WQr9vJzR",
"WPRcVSo2B8kxWOtdMaC",
"W5LcWQvH",
"WPBdO8khW5pcLa",
"CNhcHCoBWQS",
"W4VdIatcPq",
"W5hcG8kDWQ0h",
"WPhcQCowiCo0",
"b8o1u8kRW5a",
"WRpdTCoBWPtcTW",
"kSocAXZcUG",
"bXRdU0fQoa",
"W5ddSfO",
"wbH/egC",
"WPldP8kgW4NcH8odW6RdRmkDW44",
"xSorWQbVWQfLfG",
"oCoNwmkbW5TBgq",
"WRXNWQJcNv7dRmkKna",
"BdPAjwSRlq",
"5P+u5OM/5yQm5y615AYT",
"W43dSvldUapcQ2RcSW",
"WPpcQCooiCoI",
"WOxcUCoMB8kk",
"cSoVqqRcGW",
"WR/cPmojFmkK",
"CrCOgXW",
"WQrmW4FcILe",
"W4BcVSoZWRy",
"8j+lNWNLVR3PGju",
"mW9KbeC",
"rSkxD8kRhCoFWP7dO8k2Cq",
"W55uW67cMmol5ywz5PEn5O+HDUkeVa",
"bmkhvuHP",
"umk5dCoEWR/cUG",
"W67KUilVVPVLP4/OTjaw",
"6i6t5y216kA66AkU5yMD6kg0c8kBBq",
"tvpcV8oLWRC",
"WPlcGSoMxmk1",
"mvNcTCk6hG",
"xt4rbWC",
"Ceuth3y",
"WPhdJSkAW4hcUq",
"WQ9mj0zu",
"5yMX5PAJ54Q65OgB5lQXW6hcOJ8",
"W6hcJNjeW7KVuqnBaG",
"zJpML7RPLkxMN7NMUz/cTJhPO7BPN7m",
"WRPgW50dcG",
"WRFcQmkJWPaPWOS6mq",
"WOXTW60XsConFqG",
"WPNcJWHMr1pdPSkuu8oc",
"prpdGwnn",
"W6NcHgjKW708xHS",
"WOfSg0Cy",
"nt8S6zAU6zIiW7i",
"WP/dNmk5W7RcOfbHW7W",
"WPTdW4lcSKu",
"i8kMzePIyW",
"WONdMLFcKKy",
"W43dHatcOxChWQKBW709",
"iSoJr8khW58",
"DGmRoJybW7xcMhCv",
"eJFcVtldIG",
"4O+v77QSxoATNow5SUMaG+w6G+AqMoAvVq",
"rSkSW4dcJmo9",
"WOtcVmoAxSkk",
"WQz3WQJcGG",
"wCo8WRhdLW",
"WQP5yG17",
"WOZdJCoAWRlcTq",
"W4RdImoAW49tW5S+pXJcNmo/wH8",
"xCopme4a",
"WP53a08XtCoAhG",
"W5BcQCoXWQFcUq",
"nSoTt8kl",
"WP/cM8ovbmoW",
"WP5OqY1ha8kM",
"WOPWW6eZaG",
"W57IHPpcNa",
"WOpdNCkQW73cSgO",
"Dos6Qo+8P+w0GoI1IEI/U1W",
"cXdcHSotWQ8",
"WOxcJSospCoK",
"WQfZW5NcP8kED8oyW585W50",
"WRzSWRJcNgy",
"W5bxWOnhWR4",
"CCo4WONdOxa",
"WOhcKIbrrq",
"WRtcVmoBimoKW7a",
"6kY55PUC5O+15y6F5A+Z5zc46yEG6k2G",
"4PYeF+wUPEAjHU+8I+AxVowVHoAiNmot",
"mgZcSmkQhxtcK8kEW787",
"pSo5qtJcVa",
"WPpdNLxcGfC9",
"W44P5y2q5A6F5Qcp6AUUW7dcHey6",
"wLNcMSo+WPq",
"keTIlSoF",
"WRH4W4mt",
"W4NdReNdVH0",
"wSoAWQD5WRj0eGG",
"W4lcRtHEW4O",
"v2xcGCozWPdcSZ1F",
"5lIU5OMf5AAN6lEU",
"WO/dT8kzW5xcLmkjW4ZdVCkDW6O",
"f+s6UEAFTEwMTUEqLW",
"WPBdUulcIge",
"WQRcKCoybCoI",
"hIVOTiBOVBVLJOpLRipMOB3PQR/dOwG",
"zc1BoxGbo2S",
"WPrnWO/cPKC",
"W7akW4S3W4NdU34m",
"i8kMyfzZyJJcLSkvFq",
"W7f4WOrDWPC",
"W67LPjNOTRldHa",
"WPv7W6C5ECorrX8",
"ymkmpSoUWPxcJmkhWQtdV8kW",
"W7qoWPLVWRBcPWjHWPTx",
"sMRcGCojWPe",
"CSo6WQjPWRm",
"WRldH8k4W7ZcHa",
"5O6w5y+f5yI86kAC6AcnW7u",
"W5xdOK7dTW",
"WQ1oxXfi",
"WPpdLfRcGW",
"WPdcVSkzWRG9",
"WR0eWRFPLiRPMQel",
"FtSajti",
"dJNdVM1o",
"WOXFW77cUg0",
"WQ5YW4SecCkiW4nxh8kD",
"WRHMqan/",
"WOPSda",
"4PUW77UDiEwnHEwVGEASSoAuN+w0JEIdTUwWQo+9Ja",
"eWqqf8kc",
"WQjae0Oe",
"WRNcKSk1WQGc",
"W4dcO8kwWPWLW4TReq",
"WPtcQKPyWRO",
"W5pdMCkrWP4oWOHHgdBcUa",
"mt3dPvvX",
"cZRdJmkiW5ldT2P6WPWcm8o2WQG",
"ptXJdgiCWPfpW4rN",
"WQ7dOmkWWP/dKG",
"W7lcS8klWRan",
"rSoMWRRdGgJdHmo+WP3dKHu",
"W47MO4NMN5tKUBqatmoK",
"WQ9el1zE",
"eWWGpSk1WQCnfWCL",
"jtrQda",
"WQxcTKnoWP4",
"umolWOBdH3C",
"y8otd28t",
"WOSUW53cPmkcnColWR55W40",
"v3Pdwgu",
"iIBcVCoiWQ/dQ15OkSol",
"WPZcTeHKWR0",
"FgldVSkkW7VdVbP1pmoIW7fYW4G",
"bHRdPLv/n8oF",
"W7pdQ8kGWOJdLZBcPCoXWOddJW",
"lJZcQ8oE",
"vCkSamoFWQ8",
"DmoxECk+WPRLHB/MLiZMJ4RcQokeKW",
"WQL4W5W5lW",
"WQH4W5KxamkVW4jtfa",
"WOvTW6pcIZC",
"vmkhDSkadSoi",
"vCoVdvGc",
"y8ozWRTKWOi",
"yq41kJi",
"d39RpSoE",
"WPH+W7y3",
"WRv5W5KthSknW4Ps",
"WR9LW4GxgmkEW65sfmkx",
"ccdcIctdNa",
"caqWomkY",
"WQNdLeRcVxi",
"mWqWcexdIConWR8",
"uLr2BSoVWQC9icmDzG",
"u8k/a8onWRJcRmkSWP8",
"hCoTrt3cIG",
"WRnIW58fcCouW49xa8km",
"WR7cTCkWWPSxWQ86iLJLP58",
"gmosz8k3W48",
"WPHLW7/cR1W",
"WP3KUQNVVlhLTA3OTOlOViK5",
"WPhcOCoEmCo+W4CmjmoZeG",
"WOnSWRZcQem",
"gCoPrcFcMum",
"WOdcPmoNEG",
"tNNcKmopWOFcSs8",
"CXORpImmW6pcSG",
"j8oguXVcNa",
"pIFcRSopWR/cTW",
"WO/cNmknWP8kWODV",
"W5hdPLpdUaxcPG",
"oCoJuW",
"AxDPi8o9WQhdQZZdPSo1",
"vSofBq",
"WP59deWjta",
"77+W6l+e6koo5lM7gW",
"WQ/dU8kKWOxdGYS",
"WR7cIcXqrW",
"WRNcPmoLzCkG",
"vSodAZe",
"AmoZmhO/",
"xSoXWQRdHNq",
"W5NcV8knWP4LW5H5dG",
"WQRdRSkPWOtdKW",
"FG0SkZi",
"WQfDEYbJ",
"uSkjW7lcRSovuCkGWOFdVf0",
"WPpdTSkkW5lcHmov",
"rmo2WPBdLG",
"uSoceeOV",
"EwaYxZLQW4blW5jAWOiQWQK",
"pCoAEmk+W74",
"zhNcJCoLWOW",
"W4BcVSo3WRlcTd4",
"vZHLe2q",
"bYfmh0W",
"WQ1qW5qNaG",
"WOLSrq9hbSkVW4TNla",
"bblcTHFdTq",
"WQjOf3il",
"WRj1W7FcOSkQ",
"r8oHWRddLwpdSSoOWOi",
"6i6q5yYL5AsI6lEl",
"W57cMdnGW7C",
"WPpcVCojACkJWQ1hzG",
"iXLkp3q",
"W4pcQ8o6WRpcPa",
"W5NcGmkAWRGw",
"WQLFjfrdW5P0cq",
"WOpdRCkEW5tcGSodW6ldVa",
"WOP+W64JxG",
"WODMxW",
"qmozEG",
"mMdcH8k7b1tcK8kCW6Or",
"pUEMT+I+GWy",
"WOddSokeKcO",
"WPBcUSoBnCoM",
"W7xKUkNVV4hLIPVKVyVcPq",
"g8o+rI/cNupdV2W",
"4PU1WQlMNQRPG63NPAJOV7S",
"W5NcR8o4WQhcTsu",
"WR1CW7BcIKbf",
"gmo4sdZcMLu",
"WPz3de4",
"jIBdT3DT",
"BCo6wNOHtetdLG",
"W5FcObzkW6W",
"CITiiN8/",
"WOBdICkTWOtdRW",
"WPpdTSkzW4/cN8obW4ldVSkq",
"aCk+Aen1",
"ccJcHZVdQa",
"W4pcPCkCWOS",
"WPHHW4NcIa",
"WRFcNSkcWOSk",
"kUkgR38",
"xLr9",
"jZX0hv4SWPvxW5bT",
"WQPFka",
"n33cHSkU",
"yHf4gwS",
"WQxdRSkjW6tcTa",
"WQBdOCodWPJcOG",
"WP3dJmk4W7RcPh5G",
"W5NcNuXkW7O",
"WQ1HAbrS",
"s8onWRPFWOe",
"W5ddUCkiyCkKW4CSdCoxj8oK",
"aCkGrg9d",
"W6xKUR7VVRVLIOJKVOVdVW",
"WQpdVCkoW43dVW",
"8l+qOdBMOiBLHyK",
"77YB5P2f5B2z5AAuDW",
"WQlcQmk0WPm0WQCT",
"WRNdTSkWWQtdHG",
"B08TaNu",
"WPfRW5tcNI8tDW",
"WPDQeeqp",
"W5FcPbPiW7q1",
"WRLSWQZcLL7dRmkKnbHx",
"vLPUva",
"ftNcOCoWWQC",
"W7dcN2vP",
"D8kVnCoFWP8",
"dXnbAZtdImoYW54",
"WOFdNM/cR1C",
"W7XOWODdWQe",
"WPbBW7xcVsS",
"W4BcUmkDWP44W6P9dI3cTa",
"rEs5J+IMGUMJISo2W4pMRj3PLjPB",
"W6NcUCo0W4dcGHxcKSkyWQJdJGm",
"WOZcJCkgWOS",
"WOPAW48cW54",
"WR9sW4GNW64",
"eGDSxhBdSmk2W4Ln4Owa",
"z8khpSopWR4",
"tSkDz8klgComWPhdUW",
"ihZcKCk/hhNcMCkE",
"gCouBCk/W7e",
"WP15kfz+",
"WOvlW7aOW6m",
"W64i4O2677UXfEw3HowUOEAkPE+9IUI1J+I8OG",
"CCkdW4hcPCoo",
"ldtdMfvl",
"W5joWOvGWP4",
"W7BdMN7dHWS",
"W5fiWQvJWO3cJW",
"5y6D5A+i5Bwv5AEC5Psg",
"WQ7dQSkOWP7dGd3cG8kOWPhdMq",
"W7W357Ma5PoB5lYH576vWPeE",
"bN7cISkyma",
"WORcHHXXq0tdT8krumoa",
"i2hcLZldKCo5W7RcLWLx",
"WPxdQUAvOoMwUEAEPoA7NwxcVEMGIoMDTq",
"t8o1sdtdSq",
"W4/dRNFdLsG",
"W7dcJJDnW4e",
"W4NcPvPzW5G",
"qmoaWRjOWRvX",
"cepcMCkngW",
"gqRdU0H3pSoD",
"WQnIWQhcH3C",
"5y6D5A+i776U",
"W7VdQgVdJba",
"W7L5WQHHWRy",
"WQ9TW4lcLc8",
"WPPOhW",
"gmojBYFcLq",
"v8ogh1aKEfy",
"i8kMyfbYyG",
"u8kspq",
"bZlcM8o6WPW",
"W41FWQrJWOVcGKqP",
"WPPzcurD",
"q8kwlG",
"y8kNCmklja",
"WRtdSwhcGg4",
"q8oUn3OV",
"kUs4L+ADTEwLQEEqGq",
"pCk7BW",
"WP/dKSoBWRxcPq",
"CaipgYu",
"W5pcQIXDW48",
"WQNdMSo0WPBcLW",
"WR3cM1PoWPq+W7q",
"WP5plfXD",
"ngKyzZ4bgeJcVSoUdq",
"aqq9ka",
"WO9gW7lcQWO",
"kNNcTmk1bW",
"W5JdSsxcQ3u",
"rSkBWRjSWQKTbvuiyq",
"vbbUn0u",
"xLP4uh4",
"yCobWPVdVMK",
"WRHjW7VcI1a",
"mXdcTINdVW",
"uZWTndi",
"W40TWRbMd8krpbdcMSkbmCkAW78",
"qCkHcmoqWO4",
"77Y25lIg5Rw96ikR5y6d5AYd772v",
"WQhdUSoVW4j7",
"WPfSW6u",
"sSkwymkDcSoDWPu",
"WRvxW4RcVIK",
"WRPmovD6W5P+",
"WPrUW7/cI2W",
"WQnpW5xcTxS",
"u8o8WRhdL1ldUmoUWP/dGW",
"u1Kkg18",
"W45zWQ50",
"l314p8oUWRNdRx0",
"igJcL8k/",
"W4dcVSkDW4/cLCodW4tcPSoj4OsU",
"W5i45lMO5OQo6i2+5zUqWPnk",
"WPHOxsXl",
"WQFdSvZcKMu",
"pIFcQSol",
"W5JdG+wVTUAiK+E7TEAEQ8kLW7bFW4m",
"W451WOfDWQW",
"qmo8WOzAWOq",
"hrBdSunXhmotW5FcJq",
"W4RdOSoBxmk0WPFdSXe",
"pNpdSCkgW6O",
"WQpdUmoyWO7cOa",
"ma4rf8kQ",
"WOhcPmovo8oJ",
"FSorbgyK",
"WQdcItfGvW",
"CCkVW5hcQSo1",
"Cqm2mcu",
"W7xdGd3cGuG",
"WPZdVCoAWQBcTq",
"lwJcPmkAha",
"mG3dSv5Y",
"WO3dPCkIWOtdPW",
"WOtcTCkGWQuk",
"WOrfW5JcUvS"
];
_0x1421 = function() {
return _0x2e47de;
};
return _0x1421();
}
async function consumeCardCount() {
const _0xbc98b0 = _0x24234c, _0x360c91 = {
"ZXtmA": function(_0x5971ef, _0xcaca0c) {
return _0x5971ef > _0xcaca0c;
},
"ylLqJ": function(_0x33f05b, _0xd89e99) {
return _0x33f05b(_0xd89e99);
},
"OykNx": function(_0x1ad956) {
return _0x1ad956();
},
"xSoPa": function(_0x340a99, _0xa024d4) {
return _0x340a99 !== _0xa024d4;
},
"ocNdg": _0xbc98b0(375, "p35j"),
"xCAil": function(_0x489785, _0x8f2cc1) {
return _0x489785(_0x8f2cc1);
},
"eFOEe": _0xbc98b0(163, "P5aE") + _0xbc98b0(648, "TDia"),
"bVIQU": function(_0x1b6f88, _0x5531eb) {
return _0x1b6f88(_0x5531eb);
},
"fVyRB": _0xbc98b0(461, "^Mx^") + "数)...",
"LJaYH": function(_0x452333, _0x2c4aac) {
return _0x452333(_0x2c4aac);
},
"lqbFV": _0xbc98b0(321, "mx5e"),
"mzHCG": _0xbc98b0(590, "P5aE"),
"VMhQi": _0xbc98b0(367, "%vSG")
}, _0x26873c = _0x360c91[_0xbc98b0(584, "VcuH")](getSavedCard);
if (!_0x26873c?.[_0xbc98b0(425, "!9rB")]) {
if (_0x360c91["xSoPa"](_0xbc98b0(610, "UM!2"), _0x360c91[_0xbc98b0(364, "rk6A")])) {
_0x360c91["xCAil"](logWarn, _0x360c91["eFOEe"]);
return;
} else _0x1fa137[_0xbc98b0(259, "m02I")] = _0x1f4415[_0xbc98b0(351, "5nNW")], _0x21a38b[_0xbc98b0(727, "uxM0")] = _0x533445[_0xbc98b0(157, "P5aE")], _0x15cc8f[_0xbc98b0(241, "#QFr")] = _0x543fbf["videoDelay"];
}
_0x360c91["bVIQU"](log, _0x360c91["fVyRB"]);
const _0x12d69a = await _0x360c91[_0xbc98b0(211, "UM!2")](verifyCard, _0x26873c[_0xbc98b0(604, "TDia")]);
_0x360c91[_0xbc98b0(156, "Dukz")](log, _0xbc98b0(722, "hMiu") + _0xbc98b0(187, "hMiu") + _0x12d69a["code"] + ", msg=" + _0x12d69a[_0xbc98b0(647, "1qw3")] + (_0xbc98b0(194, "5nNW") + "g=") + (_0x12d69a[_0xbc98b0(432, "cLbc")]?.[_0xbc98b0(687, "VcuH") + _0xbc98b0(712, "xzib")] ?? _0x12d69a[_0xbc98b0(472, "6Akp")]?.["remaining_" + _0xbc98b0(407, "b([u")] ?? "-"));
if (_0x360c91["xSoPa"](_0x12d69a["code"], 200)) {
if (_0x360c91[_0xbc98b0(703, "#QFr")](_0x360c91[_0xbc98b0(523, "rvoW")], _0x360c91[_0xbc98b0(713, "rk6A")])) throw new Error("CARD_EXHAU" + _0xbc98b0(621, "hMiu") + (_0x12d69a[_0xbc98b0(336, "%vSG")] || _0x360c91[_0xbc98b0(239, "g0pA")]));
else if (_0x1e858a?.[_0x424f43] && _0x360c91[_0xbc98b0(533, "mx5e")](_0x360c91[_0xbc98b0(504, "5nNW")](parseInt, _0x1bc407[_0x597b18]), 0)) {
const _0x4640c5 = _0x360c91[_0xbc98b0(699, "]&5$")](parseInt, _0x3738b3[_0x51c9a7]);
return _0x513158(_0xbc98b0(526, "mx5e") + _0xbc98b0(538, "cLbc") + _0x4dcccc + _0xbc98b0(315, "LMNc") + _0x4640c5 + "s"), _0x4640c5;
}
}
}
function sleep(_0x42a8b2) {
return new Promise((_0x18566f) => setTimeout(_0x18566f, _0x42a8b2));
}
function getUrlParam(_0x232dfa) {
const _0x3cb18c = _0x24234c, _0x2a1649 = {};
_0x2a1649[_0x3cb18c(701, "tm^n")] = function(_0x16eefd, _0x1e4e1d) {
return _0x16eefd + _0x1e4e1d;
}, _0x2a1649[_0x3cb18c(308, "AXAo")] = _0x3cb18c(543, "94#o"), _0x2a1649["NMcgB"] = _0x3cb18c(344, "nq*(");
const _0xb9da2a = _0x2a1649, _0x197a71 = (location[_0x3cb18c(558, "mx5e")] || "")[_0x3cb18c(230, "b([u")](new RegExp(_0xb9da2a[_0x3cb18c(551, "xx7m")](_0xb9da2a[_0x3cb18c(426, "g0pA")] + _0x232dfa, _0xb9da2a[_0x3cb18c(545, "XdnT")])));
return _0x197a71 ? _0x197a71[1] : "";
}
function getCourseId() {
const _0x4e3183 = _0x24234c, _0x1f559 = {
"iaGDt": function(_0x4001cc, _0x2b0cec) {
return _0x4001cc(_0x2b0cec);
},
"jdPtd": _0x4e3183(469, "tm^n")
};
return _0x1f559[_0x4e3183(453, "cLbc")](getUrlParam, _0x1f559[_0x4e3183(655, "g0pA")]);
}
function extractVideos(_0x28292a) {
const _0x307187 = _0x24234c, _0xb83553 = {
"VRDLx": function(_0x3502ab, _0x5243e0) {
return _0x3502ab(_0x5243e0);
},
"yqZRc": _0x307187(249, "5nNW")
}, _0xaac684 = [];
if (!_0x28292a) return _0xaac684;
for (const _0x1366bf of _0x28292a) if (_0x1366bf[_0x307187(568, "qZ[A")]) _0xaac684[_0x307187(463, "fEBR")](..._0xb83553[_0x307187(414, "i]Rc")](extractVideos, _0x1366bf[_0x307187(559, "^Mx^")]));
else if (_0x1366bf["id"]) _0xaac684[_0x307187(342, "rvoW")](_0xb83553["VRDLx"](vue.reactive, {
..._0x1366bf,
"status": _0xb83553[_0x307187(715, "IYm*")],
"progress": 0,
"errorMsg": ""
}));
return _0xaac684;
}
function getVideoDurationFromUrl(_0x4694e9) {
const _0x145449 = _0x24234c, _0x19d727 = {
"UYwQu": function(_0x5d2b33, _0x4d5994) {
return _0x5d2b33(_0x4d5994);
},
"dRoBv": function(_0x2f9c16, _0x2f4a32) {
return _0x2f9c16 !== _0x2f4a32;
},
"UkULp": _0x145449(562, "%F]G"),
"qiCUl": function(_0x6498a7) {
return _0x6498a7();
},
"BwiFX": function(_0x25865c, _0x53dbb8) {
return _0x25865c(_0x53dbb8);
},
"umcPN": _0x145449(318, "!9rB"),
"WltFD": "hzbIP",
"vZQKi": function(_0x529b0d, _0x44bb3f) {
return _0x529b0d <= _0x44bb3f;
},
"mLKfH": _0x145449(527, "XdnT"),
"AfAUl": _0x145449(695, "i]Rc"),
"lMTPe": function(_0x26b97a, _0xe282ad, _0x43b142) {
return _0x26b97a(_0xe282ad, _0x43b142);
},
"LzpgI": _0x145449(566, "nq*(") + _0x145449(468, "hMiu"),
"adAqg": "error"
};
return new Promise((_0x187966) => {
const _0x11058f = _0x145449, _0x335cbc = {
"gCMDk": _0x19d727["umcPN"],
"VlTES": _0x11058f(367, "%vSG"),
"KJZgM": _0x19d727[_0x11058f(615, "hMiu")],
"lNCwE": function(_0x135003, _0x1e3c33) {
return _0x19d727[_0x11058f(184, "g0pA")](_0x135003, _0x1e3c33);
},
"ChYMB": function(_0x561d60) {
return _0x561d60();
},
"eFkKP": function(_0x4c2b79, _0x266df6) {
return _0x19d727["vZQKi"](_0x4c2b79, _0x266df6);
}
};
if (!_0x4694e9) return _0x187966(0);
const _0x41328f = document[_0x11058f(228, "Vnmy") + _0x11058f(292, "m02I")](_0x11058f(651, "XdnT"));
_0x41328f[_0x11058f(333, "L1Js")] = _0x19d727["mLKfH"], _0x41328f[_0x11058f(605, "uxM0")] = true, _0x41328f[_0x11058f(681, "94#o")]["display"] = _0x19d727["AfAUl"], document[_0x11058f(702, "%F]G")][_0x11058f(485, "1qw3") + "d"](_0x41328f);
const _0x193cd1 = () => {
const _0x306a74 = _0x11058f;
_0x41328f[_0x306a74(643, "@Xvf") + _0x306a74(261, "i]Rc")](_0x335cbc["gCMDk"]), _0x41328f[_0x306a74(179, "Ojts")](), _0x41328f["remove"]();
}, _0x26a2a5 = _0x19d727[_0x11058f(595, "Ojts")](setTimeout, () => {
const _0x36b0c7 = _0x11058f;
_0x193cd1(), _0x19d727[_0x36b0c7(616, "cLbc")](_0x187966, 0);
}, 8e3);
_0x41328f[_0x11058f(673, "rvoW") + _0x11058f(685, "QAso")](_0x19d727[_0x11058f(633, "P5aE")], () => {
const _0x192fa6 = _0x11058f, _0x36de55 = {};
_0x36de55[_0x192fa6(376, "Dukz")] = _0x335cbc[_0x192fa6(679, "!ij]")];
if (_0x335cbc["KJZgM"] === _0x335cbc[_0x192fa6(396, "Ojts")]) {
_0x335cbc["lNCwE"](clearTimeout, _0x26a2a5);
const _0x21f862 = Math["floor"](_0x41328f["duration"]);
_0x335cbc[_0x192fa6(325, "hMiu")](_0x193cd1), _0x335cbc[_0x192fa6(403, "qZ[A")](_0x187966, _0x335cbc["lNCwE"](isNaN, _0x21f862) || _0x335cbc[_0x192fa6(183, "!ij]")](_0x21f862, 0) ? 0 : _0x21f862);
} else throw new Error(_0x192fa6(549, "i]Rc") + _0x192fa6(330, "mx5e") + (_0x181f3e[_0x192fa6(423, "xx7m")] || RYihIi["KOCbA"]));
}), _0x41328f[_0x11058f(659, "xx7m") + _0x11058f(221, "xx7m")](_0x19d727[_0x11058f(597, "ZfIQ")], () => {
const _0x3f4c4e = _0x11058f;
_0x19d727[_0x3f4c4e(723, "P5aE")](_0x19d727[_0x3f4c4e(684, "g0pA")], _0x19d727[_0x3f4c4e(445, "b([u")]) ? console[_0x3f4c4e(475, "qZ[A")](_0x23e74c, ..._0x234f4b) : (_0x19d727[_0x3f4c4e(462, "rk6A")](clearTimeout, _0x26a2a5), _0x19d727[_0x3f4c4e(592, "AXAo")](_0x193cd1), _0x19d727[_0x3f4c4e(370, "cLbc")](_0x187966, 0));
}), _0x41328f["src"] = _0x4694e9;
});
}
async function resolveDuration(_0x171dd5, _0x1f9ebe) {
const _0x326ca0 = _0x24234c, _0x3e3926 = {
"GEaAz": function(_0x1b1e8d, _0x522f98, _0x225f97) {
return _0x1b1e8d(_0x522f98, _0x225f97);
},
"PpuYv": "loadList 失败:",
"NpiUy": _0x326ca0(725, "Vnmy"),
"ipWQU": function(_0x27c478, _0x55d917) {
return _0x27c478 === _0x55d917;
},
"bFhiu": "qKNKs",
"uARDg": _0x326ca0(202, "!9rB"),
"PXqay": function(_0x24d325, _0x539c77) {
return _0x24d325 > _0x539c77;
},
"CGnHf": function(_0x169a51, _0x5bc743) {
return _0x169a51(_0x5bc743);
},
"nOmOU": _0x326ca0(357, "cLbc"),
"LUOYn": _0x326ca0(219, "Vnmy"),
"UuhpS": _0x326ca0(203, "b([u") + _0x326ca0(291, "hMiu"),
"CKbdt": "length",
"mNpIR": _0x326ca0(388, "]&5$"),
"xeTHt": function(_0x3c8671, _0x37ab1b) {
return _0x3c8671 > _0x37ab1b;
},
"qraaw": function(_0x4e15ad, _0x46f5a0) {
return _0x4e15ad(_0x46f5a0);
},
"fQpuf": function(_0x58a1e5, _0xb40b15) {
return _0x58a1e5 !== _0xb40b15;
},
"ZrxYn": _0x326ca0(358, "%F]G")
};
try {
if (_0x3e3926["ipWQU"](_0x3e3926[_0x326ca0(710, "#QFr")], "qKNKs")) {
const _0x3c108b = document[_0x326ca0(200, "i]Rc") + "tor"](_0x3e3926["uARDg"]);
if (_0x3e3926[_0x326ca0(190, "94#o")](_0x3c108b?.[_0x326ca0(540, "LMNc")], 0) && !_0x3e3926[_0x326ca0(178, "hMiu")](isNaN, _0x3c108b[_0x326ca0(246, "6Akp")])) {
const _0x17ed57 = Math[_0x326ca0(446, "#QFr")](_0x3c108b[_0x326ca0(515, "#QFr")]);
return _0x3e3926[_0x326ca0(601, "ax1c")](log, _0x326ca0(674, "mnPJ") + _0x326ca0(433, "@Xvf") + " " + _0x17ed57 + "s"), _0x17ed57;
}
} else _0x3e3926[_0x326ca0(581, "%vSG")](_0x1ea00b, _0x3e3926[_0x326ca0(279, "94#o")], _0xbdbe1b), _0x45552b[_0x326ca0(618, "UM!2")] = "❌ " + _0x4638ef[_0x326ca0(213, "!ij]")];
} catch {}
for (const _0x1876ba of [
_0x3e3926[_0x326ca0(486, "qZ[A")],
_0x3e3926[_0x326ca0(168, "rk6A")],
_0x3e3926[_0x326ca0(720, ")drz")],
_0x3e3926["CKbdt"],
_0x3e3926[_0x326ca0(617, "1qw3")]
]) if (_0x1f9ebe?.[_0x1876ba] && _0x3e3926["xeTHt"](_0x3e3926[_0x326ca0(521, "xx7m")](parseInt, _0x1f9ebe[_0x1876ba]), 0)) {
if (_0x3e3926[_0x326ca0(675, "Vnmy")](_0x3e3926[_0x326ca0(272, "P5aE")], _0x3e3926[_0x326ca0(447, "]&5$")])) _0x1710ef[_0x326ca0(263, "AXAo")]++, _0x437762[_0x326ca0(662, "ax1c")] = _0x3e3926["NpiUy"], _0x92c692[_0x326ca0(677, "zrca")] = 100;
else {
const _0xeb1930 = _0x3e3926[_0x326ca0(296, "#QFr")](parseInt, _0x1f9ebe[_0x1876ba]);
return log(_0x326ca0(481, "6Akp") + _0x326ca0(390, "xx7m") + _0x1876ba + _0x326ca0(706, "TDia") + _0xeb1930 + "s"), _0xeb1930;
}
}
if (_0x1f9ebe?.["url"]) {
log(_0x326ca0(537, "ZfIQ") + "L 加载元数据...");
const _0x155869 = await _0x3e3926["CGnHf"](getVideoDurationFromUrl, _0x1f9ebe["url"]);
if (_0x3e3926[_0x326ca0(345, "Ojts")](_0x155869, 0)) return log(" 时长来源: 视频" + _0x326ca0(217, "%F]G") + " " + _0x155869 + "s"), _0x155869;
}
return logWarn(" ⚠️ 无法获取真实时长,使用默认 18" + _0x326ca0(534, "xx7m")), 1800;
}
async function simulateWatchVideo(_0x205313, _0x594bfe) {
const _0x155c24 = _0x24234c, _0x553c5a = {
"VoqZQ": function(_0x33aa4f, _0x10228a) {
return _0x33aa4f(_0x10228a);
},
"achBl": function(_0x3e546a, _0x40fe08, _0x4b603f) {
return _0x3e546a(_0x40fe08, _0x4b603f);
},
"qGyQn": _0x155c24(214, "AXAo") + "u/api/v1/c" + _0x155c24(159, "@Xvf") + _0x155c24(170, "zrca"),
"WdyZc": function(_0xeb3f53, _0x287867, _0xaeab9e) {
return _0xeb3f53(_0x287867, _0xaeab9e);
},
"IlgdB": function(_0x2c5e86, _0x41ee23) {
return _0x2c5e86(_0x41ee23);
},
"dLFcV": function(_0x469741, _0x23b043, _0x2edb67) {
return _0x469741(_0x23b043, _0x2edb67);
},
"XDGwz": function(_0x5e397f, _0x59c850) {
return _0x5e397f >= _0x59c850;
},
"UOGaO": function(_0x17af78, _0x3a3c51, _0x2eeb12) {
return _0x17af78(_0x3a3c51, _0x2eeb12);
},
"JtgoE": _0x155c24(525, "p35j") + _0x155c24(208, "TDia") + _0x155c24(210, "uLx^") + "teStudentS" + _0x155c24(650, "#QFr"),
"IOLXW": function(_0x22d061, _0x30db37) {
return _0x22d061 !== _0x30db37;
},
"zSRFL": function(_0x28bf77, _0x3dd2e2) {
return _0x28bf77 + _0x3dd2e2;
},
"CikPU": function(_0x5cdfeb, _0x4ec018) {
return _0x5cdfeb(_0x4ec018);
},
"nGBso": function(_0x511811, _0x14ef46) {
return _0x511811 !== _0x14ef46;
},
"iQcCA": _0x155c24(158, "%@dw"),
"VDxEb": function(_0x3ea47f, _0x49b3bd) {
return _0x3ea47f(_0x49b3bd);
},
"QrEKD": function(_0x55fb52, _0x391d26, _0x3259d3) {
return _0x55fb52(_0x391d26, _0x3259d3);
},
"YimGg": function(_0x192698, _0x402c9d) {
return _0x192698(_0x402c9d);
},
"Ulmcq": function(_0x3003c3, _0x3c7b86) {
return _0x3003c3(_0x3c7b86);
},
"VAxgL": function(_0x4ee859) {
return _0x4ee859();
}
};
_0x553c5a[_0x155c24(456, "L1Js")](log, _0x155c24(172, "fEBR") + " 开始处理视频 " + _0x205313 + " ==========");
const _0x3cb625 = {};
_0x3cb625["id"] = _0x205313;
const _0x531c0c = (await _0x553c5a[_0x155c24(652, ")drz")](apiGet, _0x553c5a[_0x155c24(276, "Vnmy")], _0x3cb625))["data"] || {};
_0x553c5a["WdyZc"](log, _0x155c24(277, "hMiu") + "Id data:", JSON[_0x155c24(309, "@Xvf")](_0x531c0c, null, 2));
const _0x47f4e4 = parseInt(_0x531c0c[_0x155c24(586, "AXAo")] || 0);
_0x553c5a[_0x155c24(225, "mnPJ")](log, _0x155c24(369, "Vnmy") + _0x47f4e4 + "s");
const _0x2176e0 = await _0x553c5a["dLFcV"](resolveDuration, _0x205313, _0x531c0c);
log(_0x155c24(509, "%vSG") + _0x2176e0 + "s");
let _0x368bee = Math[_0x155c24(251, "%F]G")](0, _0x47f4e4);
if (_0x553c5a[_0x155c24(502, "qZ[A")](_0x368bee, _0x2176e0)) {
_0x553c5a[_0x155c24(186, "hMiu")](log, _0x155c24(508, "uxM0") + _0x368bee + _0x155c24(421, "L1Js") + _0x2176e0 + "s), 跳过(不消耗卡密)");
if (_0x594bfe) _0x553c5a[_0x155c24(412, "1qw3")](_0x594bfe, _0x2176e0, _0x2176e0);
const _0x262c83 = {};
return _0x262c83[_0x155c24(611, "ZfIQ")] = 1, _0x262c83[_0x155c24(596, "Ojts") + "e"] = true, _0x262c83;
}
_0x553c5a[_0x155c24(242, "xzib")](log, _0x155c24(434, "94#o") + _0x368bee + _0x155c24(295, "XdnT") + _0x2176e0 + "s | 步长=" + settings[_0x155c24(319, "cLbc")] + _0x155c24(181, "g0pA") + settings[_0x155c24(262, "YZf1")] + "ms"), await apiPost(_0x553c5a[_0x155c24(258, "XdnT")], {
"videoId": _0x205313,
"status": "1",
"schedule": String(_0x368bee)
}), await _0x553c5a[_0x155c24(231, "Ojts")](sleep, 50);
const { step: _0x52b503, interval: _0x2be459 } = settings;
let _0x4c6311 = _0x368bee, _0x4a737d = 0;
while (_0x4c6311 < _0x2176e0) if (_0x553c5a[_0x155c24(377, "rvoW")](_0x155c24(697, "qZ[A"), _0x155c24(424, "%vSG"))) _0x4695a4[_0x155c24(599, "xx7m")] = false;
else {
_0x4c6311 = Math[_0x155c24(399, "QAso")](_0x553c5a[_0x155c24(278, "^Mx^")](_0x4c6311, _0x52b503), _0x2176e0), _0x4a737d++;
const _0x58d5f0 = await apiPost(_0x155c24(252, "mnPJ") + "u/api/v1/course/upda" + _0x155c24(719, "cLbc") + _0x155c24(173, "P5aE"), {
"videoId": _0x205313,
"status": "1",
"schedule": _0x553c5a[_0x155c24(352, "fEBR")](String, _0x4c6311)
});
if (_0x553c5a[_0x155c24(585, ")drz")](_0x58d5f0[_0x155c24(215, "uLx^")], 1)) {
_0x553c5a["WdyZc"](logError, _0x155c24(603, "qZ[A") + _0x4a737d + _0x155c24(169, "g0pA"), _0x58d5f0);
throw new Error(_0x58d5f0[_0x155c24(516, "94#o")] || _0x553c5a[_0x155c24(287, "YZf1")]);
}
_0x553c5a[_0x155c24(482, "QAso")](log, " [" + _0x4a737d + (_0x155c24(372, "^Mx^") + "=") + _0x4c6311 + "/" + _0x2176e0 + " (" + Math["round"](_0x4c6311 / _0x2176e0 * 100) + "%)");
if (_0x594bfe) _0x553c5a[_0x155c24(328, "QAso")](_0x594bfe, _0x4c6311, _0x2176e0);
await sleep(_0x2be459);
}
_0x553c5a[_0x155c24(452, "qZ[A")](log, " 递增完毕 (" + _0x4a737d + ("步), 发送 sta" + _0x155c24(284, "#QFr")));
const _0x13f4cc = await _0x553c5a[_0x155c24(449, "%@dw")](apiPost, _0x553c5a[_0x155c24(629, "hMiu")], {
"videoId": _0x205313,
"status": "2",
"schedule": String(_0x2176e0)
});
_0x553c5a["Ulmcq"](log, _0x155c24(438, "IYm*") + _0x155c24(394, "xx7m") + _0x13f4cc[_0x155c24(611, "ZfIQ")]), await _0x553c5a["VAxgL"](consumeCardCount);
const _0x27500b = { ..._0x13f4cc };
return _0x27500b[_0x155c24(689, "6Akp") + "e"] = false, _0x27500b;
}
async function refreshVideoStatus(_0xc163a2) {
const _0x4256d0 = _0x24234c, _0x2efb21 = {
"nXntC": _0x4256d0(544, "Vnmy"),
"mKCaW": _0x4256d0(631, "rk6A"),
"dvnFf": function(_0x5e0622, _0x577099, _0x789a90) {
return _0x5e0622(_0x577099, _0x789a90);
},
"iByoB": function(_0xd375db, _0x41b420) {
return _0xd375db(_0x41b420);
},
"CtBwl": function(_0x45d842, _0x8058b9) {
return _0x45d842 >= _0x8058b9;
},
"npWko": function(_0x239a3d, _0x43770c) {
return _0x239a3d > _0x43770c;
},
"AELGX": function(_0x2d2345, _0x251b4b) {
return _0x2d2345 !== _0x251b4b;
},
"JkvSu": _0x4256d0(365, "p35j"),
"nPtun": function(_0x3553dd, _0x1072b6) {
return _0x3553dd === _0x1072b6;
},
"sHvHx": _0x4256d0(417, "6Akp"),
"jBFup": _0x4256d0(704, "hMiu"),
"bldzD": function(_0x518a7b, _0x752264) {
return _0x518a7b === _0x752264;
},
"FCIhe": "rpYVP",
"APUOj": "pending"
}, _0xb1d4d3 = {};
_0xb1d4d3["id"] = _0xc163a2["id"];
const _0x366d83 = (await _0x2efb21[_0x4256d0(471, "LMNc")](apiGet, _0x4256d0(513, "Dukz") + _0x4256d0(627, "ZfIQ") + "ourse/getVideoById", _0xb1d4d3))[_0x4256d0(598, "uLx^")] || {}, _0x168202 = _0x2efb21[_0x4256d0(161, "Ojts")](parseInt, _0x366d83[_0x4256d0(634, "VcuH")] || 0), _0x2f39da = await resolveDuration(_0xc163a2["id"], _0x366d83);
_0xc163a2[_0x4256d0(711, "TDia")] = _0x168202, _0xc163a2[_0x4256d0(602, "VcuH")] = _0x2f39da;
if (_0x2efb21[_0x4256d0(393, "!9rB")](_0x168202, _0x2f39da) && _0x2efb21[_0x4256d0(409, "cLbc")](_0x2f39da, 0)) _0x2efb21[_0x4256d0(346, "rk6A")](_0x2efb21[_0x4256d0(522, "!ij]")], _0x2efb21[_0x4256d0(619, "fEBR")]) ? _0x2bb5fa[_0x4256d0(248, "uLx^")] = _0x2efb21[_0x4256d0(724, "mnPJ")] : (_0xc163a2["status"] = "done", _0xc163a2[_0x4256d0(281, "i]Rc")] = 100);
else if (_0x168202 > 0) _0x2efb21["nPtun"](_0x2efb21[_0x4256d0(488, "ZfIQ")], _0x4256d0(455, "AXAo")) ? (_0x2463d3[_0x4256d0(569, "rvoW")] = _0x2efb21[_0x4256d0(494, "%F]G")], _0x138ca1[_0x4256d0(649, "p35j")] = 100) : (_0xc163a2[_0x4256d0(707, "mx5e")] = _0x2efb21[_0x4256d0(374, "m02I")], _0xc163a2[_0x4256d0(288, "!9rB")] = Math[_0x4256d0(517, "Ojts")](_0x168202 / _0x2f39da * 100));
else if (_0x2efb21[_0x4256d0(419, "ax1c")](_0x2efb21[_0x4256d0(709, "uLx^")], "BpMJa")) {
_0x497fcf[_0x4256d0(591, "mnPJ")] = _0x4256d0(550, "QAso") + _0x4256d0(268, "i]Rc");
return;
} else _0xc163a2[_0x4256d0(273, "tm^n")] = _0x2efb21[_0x4256d0(594, "1qw3")], _0xc163a2["progress"] = 0;
}
function useVideoList() {
const _0x1c6434 = _0x24234c, _0x510f54 = {
"JaTAV": _0x1c6434(303, "94#o"),
"aRdVP": function(_0x1b1c63, _0xb5003d) {
return _0x1b1c63(_0xb5003d);
},
"DTceO": function(_0x41c5d9, _0x18a963) {
return _0x41c5d9 === _0x18a963;
},
"mfJPl": _0x1c6434(401, "6Akp"),
"Qligr": function(_0x2853ad, _0x5daad5, _0x45aa8b) {
return _0x2853ad(_0x5daad5, _0x45aa8b);
},
"qSHAA": _0x1c6434(339, "xzib") + _0x1c6434(683, "mx5e"),
"cKIzZ": "加载中...",
"LxTzh": _0x1c6434(436, "Ojts"),
"bagaN": _0x1c6434(491, "!9rB"),
"PmhxB": function(_0x254338, _0x1e156d, _0x334601) {
return _0x254338(_0x1e156d, _0x334601);
},
"JmOGn": _0x1c6434(571, "]&5$") + _0x1c6434(411, "uxM0") + _0x1c6434(236, "Vnmy") + _0x1c6434(646, "xzib"),
"FkVSa": function(_0x383eb3, _0x993b42) {
return _0x383eb3 !== _0x993b42;
},
"MYbQs": function(_0x5976be, _0x6548a1) {
return _0x5976be(_0x6548a1);
},
"fxqDK": function(_0x111e8d, _0x5a8499, _0x4ef8ef, _0x51660d) {
return _0x111e8d(_0x5a8499, _0x4ef8ef, _0x51660d);
},
"BdHGf": "kPalv",
"UcWnt": "ChWaP",
"GpsPY": _0x1c6434(237, "L1Js") + "败:",
"XjKcq": function(_0x152b17, _0x181809) {
return _0x152b17 + _0x181809;
},
"pAeBN": _0x1c6434(253, "m02I"),
"GKMsU": function(_0x3cf772, _0x439f4c) {
return _0x3cf772 / _0x439f4c;
},
"sHUFD": function(_0x5684c3, _0x392551) {
return _0x5684c3 - _0x392551;
},
"vXKqZ": _0x1c6434(460, "g0pA"),
"TVXAG": _0x1c6434(380, "!ij]"),
"gXYuf": function(_0x40c2bf, _0x29cac5) {
return _0x40c2bf === _0x29cac5;
},
"UAImK": _0x1c6434(218, "Vnmy"),
"LtKvA": _0x1c6434(458, "mnPJ"),
"ZFlTw": _0x1c6434(171, "ax1c") + "STED:",
"YwZKu": function(_0xed66b8, _0x1ca90d) {
return _0xed66b8 !== _0x1ca90d;
},
"mTOUW": _0x1c6434(639, ")drz"),
"Yrdxl": "卡密耗尽",
"tfqcn": _0x1c6434(553, "rvoW") + _0x1c6434(717, "g0pA"),
"LPLEu": "❌ 刷新失败:",
"VgLEn": function(_0x132cee, _0x371fc7) {
return _0x132cee + _0x371fc7;
},
"DJRet": function(_0x285571, _0x261932) {
return _0x285571 !== _0x261932;
},
"cutyp": _0x1c6434(341, "uLx^"),
"xZcmJ": _0x1c6434(690, "^Mx^"),
"mKZuX": function(_0x3a7951, _0x590244) {
return _0x3a7951 / _0x590244;
},
"SwxYj": function(_0x1749e5) {
return _0x1749e5();
},
"eYGOw": function(_0x1af7b4, _0x42520e) {
return _0x1af7b4(_0x42520e);
},
"ehQBj": "❌ 未找到 courseId",
"pENvY": _0x1c6434(416, "^Mx^"),
"iXSLD": "UynxP",
"YLoaE": "获取视频列表失败",
"eyuUp": _0x1c6434(609, "VcuH"),
"AmWAM": function(_0x5441b8, _0x2ff43c) {
return _0x5441b8(_0x2ff43c);
},
"YGVFm": function(_0x269695, _0x3e54a4) {
return _0x269695 < _0x3e54a4;
},
"EWUhW": _0x1c6434(693, "XdnT"),
"sEFoz": function(_0x1f1876, _0x4688e1) {
return _0x1f1876 + _0x4688e1;
},
"sXJYU": _0x1c6434(467, "cLbc"),
"yikgb": _0x1c6434(670, "@Xvf"),
"LJzSs": _0x1c6434(347, "%vSG"),
"uPVdv": _0x1c6434(405, "!9rB"),
"BbrKZ": function(_0x3f0931, _0x58ba96) {
return _0x3f0931 + _0x58ba96;
},
"hLMVy": function(_0x2eb5f8, _0x578004) {
return _0x2eb5f8 === _0x578004;
},
"ANqus": "HEzjW",
"Dktvz": function(_0x13a093, _0x2934c0) {
return _0x13a093(_0x2934c0);
},
"mgBKN": function(_0x543ffa) {
return _0x543ffa();
},
"QrwYt": function(_0x3a51a8, _0x5d7716) {
return _0x3a51a8(_0x5d7716);
},
"NPmCg": function(_0x27ea6c, _0x4f8b4d) {
return _0x27ea6c(_0x4f8b4d);
},
"DrFxs": function(_0x563b92, _0x4b1f1d) {
return _0x563b92(_0x4b1f1d);
},
"jTYze": "vpkkj",
"OTJyM": _0x1c6434(672, "mnPJ"),
"YdUvX": _0x1c6434(343, "ax1c"),
"fbFaK": _0x1c6434(572, "zrca"),
"vaTLX": function(_0x469abe, _0x9c7c7c) {
return _0x469abe(_0x9c7c7c);
},
"gLYhd": function(_0x50d76f, _0x49d087) {
return _0x50d76f + _0x49d087;
},
"hkXrO": "CaKUd"
};
async function _0x4561a0() {
const _0x548b32 = _0x1c6434;
if (_0x510f54[_0x548b32(395, "xx7m")](_0x510f54["mfJPl"], "hwQBP")) _0x29b4c5["value"] = false;
else {
const _0x5926be = getCourseId();
_0x510f54[_0x548b32(310, "QAso")](log, _0x510f54["qSHAA"], _0x5926be);
if (!_0x5926be) {
listStatus[_0x548b32(435, "hMiu")] = "请在课程页面使用";
return;
}
loading["value"] = true, listStatus["value"] = _0x510f54["cKIzZ"];
try {
if (_0x510f54[_0x548b32(524, "Vnmy")](_0x510f54[_0x548b32(360, "fEBR")], _0x510f54[_0x548b32(612, "]&5$")])) {
_0x4c68fd(_0x548b32(587, "cLbc") + _0x1c4e33 + _0x548b32(443, "uLx^") + _0xfb4062 + ("s), 跳过(不消耗" + _0x548b32(382, "%vSG")));
if (_0x262ca6) SDTPaa[_0x548b32(397, "]&5$")](_0x56ffde, _0x1057ce, _0x3a2c37);
const _0x497d74 = {};
return _0x497d74["code"] = 1, _0x497d74[_0x548b32(678, "IYm*") + "e"] = true, _0x497d74;
} else {
const _0x775ba5 = {};
_0x775ba5[_0x548b32(289, "@Xvf")] = _0x5926be;
const _0x5e006c = await _0x510f54[_0x548b32(223, "uxM0")](apiGet, _0x510f54[_0x548b32(457, "g0pA")], _0x775ba5);
if (_0x510f54[_0x548b32(191, "5nNW")](_0x5e006c["code"], 1)) throw new Error(_0x548b32(282, "xx7m"));
videoList[_0x548b32(290, "zrca")] = _0x510f54[_0x548b32(304, "!ij]")](extractVideos, _0x5e006c[_0x548b32(226, "zrca")]?.[_0x548b32(559, "^Mx^")]), _0x510f54[_0x548b32(654, "6Akp")](log, _0x548b32(176, "mnPJ"), videoList[_0x548b32(235, ")drz")]["length"], "个"), listStatus[_0x548b32(638, "qZ[A")] = "";
}
} catch (_0x36855c) {
_0x510f54[_0x548b32(714, "i]Rc")](_0x510f54[_0x548b32(180, "L1Js")], _0x510f54[_0x548b32(362, "%@dw")]) ? (logError(_0x510f54[_0x548b32(207, "]&5$")], _0x36855c), listStatus["value"] = _0x510f54[_0x548b32(564, "xzib")]("❌ ", _0x36855c[_0x548b32(323, "mx5e")])) : (_0xbed56e++, _0x3f34cd[_0x548b32(267, "@Xvf")] = _0x510f54[_0x548b32(391, "uLx^")], _0x2819a7[_0x548b32(192, "YZf1")] = 100, _0x510f54[_0x548b32(666, "XdnT")](_0x9229ce, " ⏭️ 已完成,跳过" + _0x548b32(589, "%vSG")));
} finally {
loading[_0x548b32(671, "!9rB")] = false;
}
}
}
async function _0x5942d9(_0x5b68d6) {
const _0x157ec7 = _0x1c6434, _0x2bf347 = {
"JQHXP": function(_0x6a9965, _0x1880fb) {
return _0x510f54[_0x3516(363, "!ij]")](_0x6a9965, _0x1880fb);
},
"zxLrq": function(_0x476a20, _0x8fc959) {
return _0x510f54[_0x3516(500, "fEBR")](_0x476a20, _0x8fc959);
},
"oFbTr": function(_0x4c7c40, _0x376b2e) {
return _0x510f54[_0x3516(408, "%vSG")](_0x4c7c40, _0x376b2e);
},
"MQBwZ": function(_0x3e7b02, _0x375801) {
return _0x3e7b02(_0x375801);
}
};
if (_0x157ec7(175, "mx5e") !== _0x510f54[_0x157ec7(530, "ax1c")]) {
const _0x1d5eef = videoList[_0x157ec7(518, "QAso")]["find"]((_0xbe3131) => _0xbe3131["id"] === _0x5b68d6);
if (!_0x1d5eef) return;
_0x1d5eef[_0x157ec7(389, "QAso")] = _0x510f54[_0x157ec7(626, "p35j")], _0x1d5eef[_0x157ec7(498, "94#o")] = 0;
try {
if (_0x510f54[_0x157ec7(622, "]&5$")](_0x157ec7(326, "uxM0"), _0x510f54["UAImK"])) _0x4b3a51[_0x157ec7(688, "%F]G")] = _0x510f54[_0x157ec7(448, "IYm*")]("❌ ", _0x542caf[_0x157ec7(644, "uxM0")]);
else {
const _0x4dde3e = await simulateWatchVideo(_0x5b68d6, (_0x474af1, _0x3aad76) => {
const _0x31c68b = _0x157ec7;
_0x1d5eef[_0x31c68b(542, "UM!2")] = Math[_0x31c68b(487, "#QFr")](_0x2bf347[_0x31c68b(668, "6Akp")](_0x474af1, _0x3aad76) * 100);
});
_0x510f54[_0x157ec7(206, "i]Rc")](_0x4dde3e["code"], 1) ? (_0x1d5eef[_0x157ec7(301, "g0pA")] = _0x157ec7(313, "%vSG"), _0x1d5eef[_0x157ec7(298, ")drz")] = 100) : (_0x1d5eef[_0x157ec7(273, "tm^n")] = _0x510f54[_0x157ec7(653, "XdnT")], _0x1d5eef[_0x157ec7(573, "rvoW")] = _0x4dde3e[_0x157ec7(641, "p35j")] || "未知");
}
} catch (_0x14de7f) {
if (_0x14de7f[_0x157ec7(613, "Dukz")]?.["startsWith"](_0x510f54[_0x157ec7(400, "qZ[A")])) {
if (_0x510f54["YwZKu"](_0x510f54[_0x157ec7(546, "QAso")], _0x157ec7(165, "xzib"))) {
const _0x109961 = _0x157ec7(476, "rk6A") + "新完成 " + _0x2a7436["value"] + " 个,已跳过 " + _0x5d4474 + _0x157ec7(297, "xzib") + _0x2bf347["zxLrq"](_0x2bf347["oFbTr"](_0x2bf347[_0x157ec7(669, "LMNc")](_0x42fd45[_0x157ec7(567, "Vnmy")], _0x13e105["value"]), _0x1f8af1), _0x30756[_0x157ec7(580, "uxM0")]) + _0x157ec7(160, "i]Rc");
_0x30625d["value"] = _0x109961, _0x2bf347["MQBwZ"](alert, _0x109961);
} else _0x1d5eef["status"] = _0x510f54[_0x157ec7(275, "ZfIQ")], _0x1d5eef[_0x157ec7(464, "ZfIQ")] = _0x510f54["Yrdxl"], _0x510f54["MYbQs"](alert, _0x510f54[_0x157ec7(628, "m02I")]);
} else if (_0x510f54[_0x157ec7(359, "!9rB")](_0x157ec7(578, "zrca"), "kQKZz")) return _0x254ad3(_0x157ec7(556, "IYm*") + _0x157ec7(660, "TDia") + " " + _0x459716 + "s"), _0x2a2f14;
else _0x1d5eef[_0x157ec7(563, "!9rB")] = _0x510f54[_0x157ec7(280, "TDia")], _0x1d5eef[_0x157ec7(503, "cLbc")] = _0x14de7f[_0x157ec7(645, "%F]G")];
}
} else _0x20c739[_0x157ec7(368, "AXAo") + _0x157ec7(264, "6Akp")](JlMHCz[_0x157ec7(548, "Ojts")]), _0x5e31c9["load"](), _0x4dc29b[_0x157ec7(243, ")drz")]();
}
async function _0x558486() {
const _0x5a12d3 = _0x1c6434, _0x4a9ada = {
"IIMrU": function(_0x1e96de, _0x30aa7f) {
return _0x510f54[_0x3516(705, "Vnmy")](_0x1e96de, _0x30aa7f);
},
"vicjQ": function(_0x1403e4, _0x12498b) {
return _0x510f54[_0x3516(274, "1qw3")](_0x1403e4, _0x12498b);
},
"CPBTY": "[?&]",
"uHjsk": _0x5a12d3(305, "QAso"),
"uHWNF": function(_0x3eb12b, _0x536eb0) {
return _0x510f54[_0x5a12d3(355, "ax1c")](_0x3eb12b, _0x536eb0);
},
"eDStQ": _0x510f54[_0x5a12d3(322, "qZ[A")],
"loUyh": _0x510f54[_0x5a12d3(658, "ZfIQ")],
"ycDfy": function(_0xe924f8, _0x518ac5) {
return _0xe924f8 * _0x518ac5;
},
"aiaIp": function(_0x122b47, _0x50749c) {
return _0x510f54[_0x5a12d3(505, "UM!2")](_0x122b47, _0x50749c);
},
"TUTln": function(_0x1a4a6d, _0xd446b5) {
return _0x1a4a6d + _0xd446b5;
},
"cNQOa": _0x510f54["JaTAV"],
"NpMCT": function(_0x32ad1b) {
return _0x510f54[_0x5a12d3(637, "%F]G")](_0x32ad1b);
},
"eAYmw": function(_0x246b1e, _0x69ed92) {
return _0x510f54[_0x5a12d3(283, "Dukz")](_0x246b1e, _0x69ed92);
}
}, _0x2843a0 = _0x510f54["SwxYj"](getCourseId);
if (!_0x2843a0) {
listStatus[_0x5a12d3(415, "g0pA")] = _0x510f54["ehQBj"];
return;
}
loading[_0x5a12d3(224, "6Akp")] = true, doneCount[_0x5a12d3(478, "m02I")] = 0, failCount[_0x5a12d3(490, "i]Rc")] = 0, listStatus["value"] = _0x5a12d3(664, "]&5$");
try {
if (_0x510f54[_0x5a12d3(193, "UM!2")](_0x510f54[_0x5a12d3(492, "TDia")], _0x510f54[_0x5a12d3(271, "%F]G")])) {
const _0x61819c = Math[_0x5a12d3(444, "qZ[A")](_0xbcaa41[_0x5a12d3(535, "@Xvf")]);
return _0x5f5798(_0x5a12d3(373, "tm^n") + _0x5a12d3(354, "nq*(") + " " + _0x61819c + "s"), _0x61819c;
} else {
const _0x461def = {};
_0x461def[_0x5a12d3(608, "%vSG")] = _0x2843a0;
const _0x31aaa1 = await apiGet(_0x510f54["JmOGn"], _0x461def);
if (_0x31aaa1[_0x5a12d3(529, "Ojts")] !== 1) throw new Error(_0x510f54[_0x5a12d3(483, "@Xvf")]);
const _0x5d7309 = _0x510f54[_0x5a12d3(162, "#QFr")](extractVideos, _0x31aaa1[_0x5a12d3(340, "nq*(")]?.["children"]);
if (!_0x5d7309["length"]) throw new Error(_0x510f54[_0x5a12d3(334, "AXAo")]);
videoList[_0x5a12d3(286, "tm^n")] = _0x5d7309, total[_0x5a12d3(216, "ax1c")] = _0x5d7309[_0x5a12d3(254, "94#o")], _0x510f54["AmWAM"](log, "获取到 " + _0x5d7309[_0x5a12d3(338, "Dukz")] + _0x5a12d3(349, "b([u") + settings[_0x5a12d3(437, "uLx^")] + _0x5a12d3(682, "mnPJ") + settings["interval"] + "ms, 视频间隔=" + settings[_0x5a12d3(266, "%@dw")] + "ms");
let _0x33a62d = false, _0x592764 = 0;
for (let _0x1fad6c = 0; _0x510f54["YGVFm"](_0x1fad6c, _0x5d7309[_0x5a12d3(366, "rk6A")]); _0x1fad6c++) if (_0x510f54[_0x5a12d3(257, "IYm*")](_0x5a12d3(493, "L1Js"), _0x510f54[_0x5a12d3(547, "ax1c")])) _0x4553f7["value"] = _0x510f54[_0x5a12d3(238, "%F]G")] + _0x10e805[_0x5a12d3(647, "1qw3")];
else {
const _0x3af6df = _0x5d7309[_0x1fad6c];
listStatus["value"] = _0x510f54[_0x5a12d3(387, ")drz")](_0x1fad6c, 1) + "/" + _0x5d7309[_0x5a12d3(250, "p35j")] + ":" + _0x3af6df[_0x5a12d3(204, "ZfIQ")] + _0x5a12d3(201, "hMiu");
try {
const _0x1d75c3 = await _0x510f54[_0x5a12d3(574, "xzib")](simulateWatchVideo, _0x3af6df["id"], (_0x42a972, _0x1b512a) => {
const _0x1d7d38 = _0x5a12d3;
_0x4a9ada[_0x1d7d38(606, "@Xvf")], _0x4a9ada[_0x1d7d38(205, "UM!2")];
if (_0x4a9ada["uHWNF"](_0x4a9ada[_0x1d7d38(314, "L1Js")], _0x4a9ada["loUyh"])) _0x3af6df[_0x1d7d38(677, "zrca")] = Math[_0x1d7d38(198, "AXAo")](_0x4a9ada[_0x1d7d38(220, "%vSG")](_0x4a9ada["aiaIp"](_0x42a972, _0x1b512a), 100)), listStatus["value"] = _0x4a9ada[_0x1d7d38(661, "QAso")](_0x1fad6c, 1) + "/" + _0x5d7309[_0x1d7d38(554, "cLbc")] + ":" + _0x3af6df["name"] + " " + _0x3af6df[_0x1d7d38(593, "Dukz")] + "%";
else {
const _0x3e9d11 = (location[_0x1d7d38(177, "p35j")] || "")["match"](new RegExp(xWXzik[_0x1d7d38(410, "VcuH")](xWXzik[_0x1d7d38(696, "hMiu")](xWXzik["tKtSk"], _0x480386), xWXzik[_0x1d7d38(623, "uxM0")])));
return _0x3e9d11 ? _0x3e9d11[1] : "";
}
});
if (_0x1d75c3[_0x5a12d3(477, "tm^n") + "e"]) _0x592764++, _0x3af6df[_0x5a12d3(378, "uxM0")] = _0x510f54[_0x5a12d3(451, "VcuH")], _0x3af6df[_0x5a12d3(511, "5nNW")] = 100, _0x510f54[_0x5a12d3(635, "YZf1")](log, _0x5a12d3(361, "g0pA") + _0x5a12d3(420, "P5aE"));
else _0x510f54["gXYuf"](_0x1d75c3["code"], 1) ? (doneCount[_0x5a12d3(484, "rvoW")]++, _0x3af6df[_0x5a12d3(256, "AXAo")] = _0x510f54[_0x5a12d3(560, "Ojts")], _0x3af6df[_0x5a12d3(607, "%F]G")] = 100) : (failCount[_0x5a12d3(507, "ZfIQ")]++, _0x3af6df[_0x5a12d3(301, "g0pA")] = _0x5a12d3(582, "IYm*"), _0x3af6df[_0x5a12d3(164, "1qw3")] = _0x1d75c3[_0x5a12d3(422, "zrca")] || "未知");
} catch (_0x2015e0) {
if (_0x510f54[_0x5a12d3(439, "rk6A")] === _0x510f54[_0x5a12d3(665, "P5aE")]) {
if (_0x2015e0["message"]?.[_0x5a12d3(167, "QAso")](_0x510f54[_0x5a12d3(625, "g0pA")])) {
if (_0x510f54[_0x5a12d3(384, "rk6A")](_0x510f54["yikgb"], _0x5a12d3(222, "]&5$"))) {
_0x3af6df[_0x5a12d3(307, "1qw3")] = _0x5a12d3(588, "#QFr"), _0x3af6df[_0x5a12d3(676, "L1Js")] = _0x510f54[_0x5a12d3(454, "!ij]")], _0x33a62d = true;
break;
} else return new Promise((_0x17d20f) => setTimeout(_0x17d20f, _0x5a9c92));
}
failCount["value"]++, _0x3af6df[_0x5a12d3(302, ")drz")] = _0x5a12d3(337, "94#o");
} else _0x1635c4[_0x5a12d3(234, "ax1c")] = Math["round"](_0x510f54["GKMsU"](_0x1ac9c6, _0x4dcedb) * 100);
}
await sleep(settings[_0x5a12d3(519, "i]Rc")]);
}
if (_0x33a62d) {
if (_0x510f54[_0x5a12d3(324, "rvoW")](_0x510f54[_0x5a12d3(379, "cLbc")], _0x510f54[_0x5a12d3(247, ")drz")])) _0x51df60["status"] = AcfkId[_0x5a12d3(320, "1qw3")], _0x48aa2d[_0x5a12d3(392, "rk6A")] = 100;
else {
const _0x24ab57 = _0x5a12d3(188, "QAso") + "新完成 " + doneCount[_0x5a12d3(495, "cLbc")] + _0x5a12d3(708, "%F]G") + _0x592764 + _0x5a12d3(329, "qZ[A") + (_0x510f54[_0x5a12d3(466, "nq*(")](_0x510f54[_0x5a12d3(440, "uxM0")](_0x5d7309[_0x5a12d3(721, "Ojts")], doneCount[_0x5a12d3(381, "xzib")]), _0x592764) - failCount["value"]) + _0x5a12d3(398, "LMNc");
listStatus[_0x5a12d3(269, "]&5$")] = _0x24ab57, alert(_0x24ab57);
}
} else _0x510f54["DJRet"](_0x510f54[_0x5a12d3(667, "cLbc")], _0x510f54[_0x5a12d3(497, "L1Js")]) ? (AcfkId["NpMCT"](_0x1cd77c), AcfkId[_0x5a12d3(209, "nq*(")](_0x1e9cc8, 0)) : listStatus[_0x5a12d3(531, "%@dw")] = _0x5a12d3(528, "TDia") + doneCount["value"] + _0x5a12d3(240, "p35j") + _0x592764 + _0x5a12d3(541, "mx5e") + failCount[_0x5a12d3(263, "AXAo")] + " 个";
}
} catch (_0x1af91a) {
listStatus[_0x5a12d3(353, "fEBR")] = _0x510f54[_0x5a12d3(199, "YZf1")]("❌ ", _0x1af91a[_0x5a12d3(404, "UM!2")]);
} finally {
_0x510f54[_0x5a12d3(285, "ZfIQ")](_0x5a12d3(489, "g0pA"), _0x510f54[_0x5a12d3(174, "uxM0")]) ? _0x36ec58["value"] = false : loading[_0x5a12d3(229, "^Mx^")] = false;
}
}
async function _0x6304ed() {
const _0x10df7d = _0x1c6434;
if (_0x510f54[_0x10df7d(383, "p35j")](_0x510f54[_0x10df7d(182, "6Akp")], "Tsrrx")) {
!videoList["value"][_0x10df7d(640, "!ij]")] && await _0x510f54[_0x10df7d(557, "ax1c")](_0x4561a0);
if (!videoList[_0x10df7d(686, "Ojts")]["length"]) return;
refreshing[_0x10df7d(496, "nq*(")] = true, listStatus["value"] = _0x510f54[_0x10df7d(265, "hMiu")];
let _0x176d4e = 0, _0x189963 = 0, _0x2f3c49 = 0;
try {
if (_0x510f54[_0x10df7d(429, "LMNc")] === _0x10df7d(385, "%vSG")) {
QMbvnq[_0x10df7d(570, "]&5$")](clearTimeout, _0x3c6cc9);
const _0x5e86b5 = Math[_0x10df7d(450, "6Akp")](_0x4ec116["duration"]);
QMbvnq[_0x10df7d(479, "]&5$")](_0x96e074), QMbvnq[_0x10df7d(692, "%@dw")](_0x3a3a73, QMbvnq[_0x10df7d(575, "P5aE")](isNaN, _0x5e86b5) || QMbvnq[_0x10df7d(579, "fEBR")](_0x5e86b5, 0) ? 0 : _0x5e86b5);
} else {
for (let _0x259797 = 0; _0x510f54[_0x10df7d(642, "1qw3")](_0x259797, videoList["value"][_0x10df7d(300, "tm^n")]); _0x259797++) if (_0x510f54["FkVSa"](_0x10df7d(195, "!ij]"), _0x510f54[_0x10df7d(470, "LMNc")])) {
const _0x416c0b = QMbvnq["EhRPy"](parseInt, _0x5d7845[_0x1c0655]);
return QMbvnq[_0x10df7d(577, "QAso")](_0x211e59, _0x10df7d(481, "6Akp") + _0x10df7d(386, "hMiu") + _0x3f718e + _0x10df7d(565, "^Mx^") + _0x416c0b + "s"), _0x416c0b;
} else {
const _0x3a7a27 = videoList["value"][_0x259797];
listStatus[_0x10df7d(618, "UM!2")] = _0x10df7d(539, "YZf1") + (_0x259797 + 1) + "/" + videoList[_0x10df7d(580, "uxM0")]["length"] + ":" + _0x3a7a27["name"];
try {
await _0x510f54[_0x10df7d(520, "5nNW")](refreshVideoStatus, _0x3a7a27);
if (_0x3a7a27["status"] === _0x510f54[_0x10df7d(510, "YZf1")]) _0x176d4e++;
else if (_0x3a7a27[_0x10df7d(499, "VcuH")] === "partial") _0x189963++;
else _0x2f3c49++;
} catch {
_0x3a7a27[_0x10df7d(302, ")drz")] = _0x10df7d(506, "6Akp");
}
await _0x510f54[_0x10df7d(189, "b([u")](sleep, 100);
}
listStatus["value"] = "✅ 刷新完毕:已完成 " + _0x176d4e + _0x10df7d(255, "zrca") + _0x189963 + _0x10df7d(332, "6Akp") + _0x2f3c49;
}
} catch (_0xdfdc75) {
listStatus[_0x10df7d(632, "@Xvf")] = _0x510f54["gLYhd"](_0x510f54[_0x10df7d(260, "]&5$")], _0xdfdc75[_0x10df7d(213, "!ij]")]);
} finally {
_0x10df7d(473, "p35j") !== _0x510f54[_0x10df7d(402, "Dukz")] ? refreshing[_0x10df7d(512, "L1Js")] = false : _0x5341ef[_0x10df7d(686, "Ojts")] = _0x10df7d(718, "1qw3") + _0x45cbfa[_0x10df7d(636, "#QFr")] + _0x10df7d(600, "VcuH") + _0x1db7ea + _0x10df7d(663, "g0pA") + _0x556ea4[_0x10df7d(224, "6Akp")] + " 个";
}
} else {
const _0x5f505c = [];
if (!_0x4da356) return _0x5f505c;
for (const _0x3834a6 of _0x215f8b) if (_0x3834a6[_0x10df7d(501, "XdnT")]) _0x5f505c["push"](..._0x3faafa(_0x3834a6["children"]));
else if (_0x3834a6["id"]) _0x5f505c[_0x10df7d(552, "tm^n")](JlMHCz[_0x10df7d(620, "mx5e")](_0x46f7aa, {
..._0x3834a6,
"status": "pending",
"progress": 0,
"errorMsg": ""
}));
return _0x5f505c;
}
}
const _0x3637b8 = {};
return _0x3637b8[_0x1c6434(441, "!ij]")] = videoList, _0x3637b8["loading"] = loading, _0x3637b8[_0x1c6434(317, "ZfIQ")] = listStatus, _0x3637b8[_0x1c6434(428, "i]Rc")] = doneCount, _0x3637b8[_0x1c6434(583, "#QFr")] = failCount, _0x3637b8[_0x1c6434(726, "p35j")] = total, _0x3637b8[_0x1c6434(185, "Vnmy")] = refreshing, _0x3637b8[_0x1c6434(474, "xx7m")] = settings, _0x3637b8[_0x1c6434(245, "P5aE")] = presets, _0x3637b8[_0x1c6434(561, "6Akp") + "t"] = applyPreset, _0x3637b8[_0x1c6434(700, "94#o")] = _0x4561a0, _0x3637b8["completeSingle"] = _0x5942d9, _0x3637b8[_0x1c6434(614, "nq*(") + "l"] = _0x558486, _0x3637b8[_0x1c6434(371, "IYm*") + _0x1c6434(716, "#QFr")] = _0x6304ed, _0x3637b8;
}
var _hoisted_1$2 = { class: "vlt-tab" };
var _hoisted_2$1 = { class: "vlt-settings" };
var _hoisted_3$1 = { class: "vlt-presets" };
var _hoisted_4$1 = ["onClick"];
var _hoisted_5$1 = { class: "vlt-params" };
var _hoisted_6$1 = { class: "vlt-param" };
var _hoisted_7$1 = { class: "vlt-param-row" };
var _hoisted_8$1 = { class: "vlt-param-val" };
var _hoisted_9$1 = { class: "vlt-param" };
var _hoisted_10$1 = { class: "vlt-param-row" };
var _hoisted_11$1 = { class: "vlt-param-val" };
var _hoisted_12$1 = { class: "vlt-param" };
var _hoisted_13$1 = { class: "vlt-param-row" };
var _hoisted_14$1 = { class: "vlt-param-val" };
var _hoisted_15$1 = { class: "vlt-speed-info" };
var _hoisted_16$1 = { class: "vlt-header" };
var _hoisted_17$1 = { class: "vlt-header-btns" };
var _hoisted_18$1 = ["disabled"];
var _hoisted_19$1 = ["disabled"];
var _hoisted_20$1 = { class: "vlt-progress-info" };
var _hoisted_21$1 = { class: "vlt-progress-label" };
var _hoisted_22$1 = { class: "vlt-progress-count" };
var _hoisted_23$1 = {
key: 0,
class: "vlt-progress-error"
};
var _hoisted_24$1 = {
key: 1,
class: "vlt-progress-running"
};
var _hoisted_25$1 = { class: "vlt-progress-track" };
var _hoisted_26$1 = {
key: 0,
class: "vlt-progress-shine"
};
var _hoisted_27 = { class: "vlt-list" };
var _hoisted_28 = ["title"];
var _hoisted_29 = {
key: 0,
class: "vlt-progress"
};
var _hoisted_30 = {
key: 1,
class: "vlt-progress"
};
var _hoisted_31 = ["disabled", "onClick"];
var _hoisted_32 = {
key: 0,
class: "vlt-empty"
};
var VideoListTab_default = _plugin_vue_export_helper_default({
__name: "VideoListTab",
setup(__props) {
const requestVerify = (0, vue.inject)("requestVerify");
const { videoList, loading, listStatus, refreshing, loadList, completeSingle, completeAll, refreshAllStatus, settings, presets, applyPreset } = useVideoList();
(0, vue.onMounted)(() => {
loadList();
});
async function verifyAndRun(fn) {
try {
await requestVerify();
} catch {
return;
}
return fn();
}
const totalCount = (0, vue.computed)(() => videoList.value.length);
const doneCount = (0, vue.computed)(() => videoList.value.filter((v) => v.status === "done").length);
const errorCount = (0, vue.computed)(() => videoList.value.filter((v) => v.status === "error").length);
const runningCount = (0, vue.computed)(() => videoList.value.filter((v) => v.status === "running").length);
const totalPercent = (0, vue.computed)(() => totalCount.value ? Math.round(doneCount.value / totalCount.value * 100) : 0);
const isAllDone = (0, vue.computed)(() => totalCount.value > 0 && doneCount.value === totalCount.value);
function statusClass(s) {
return {
done: "done",
running: "running",
error: "error",
partial: "partial",
pending: "pending"
}[s] || "pending";
}
function statusText(s, errorMsg) {
return {
done: "✅ 已完成",
running: "执行中",
error: "❌ " + (errorMsg || "失败"),
partial: "⏳ 进行中",
pending: "待完成"
}[s] || "待完成";
}
function formatSpeed() {
if (!settings.step || !settings.interval) return "-";
const x = settings.step / (settings.interval / 1e3);
if (x >= 1e3) return `${Math.round(x)}x`;
return `${x.toFixed(1)}x`;
}
function formatEstimate() {
if (!settings.step || !settings.interval) return "-";
const ms = Math.ceil(1800 / settings.step) * settings.interval + settings.videoDelay;
const sec = Math.round(ms / 1e3);
if (sec < 60) return `~${sec}秒/视频`;
return `~${(sec / 60).toFixed(1)}分/视频`;
}
return (_ctx, _cache) => {
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$2, [
(0, vue.createElementVNode)("div", _hoisted_2$1, [
_cache[10] || (_cache[10] = (0, vue.createElementVNode)("div", { class: "vlt-settings-title" }, "⚙️ 播放速度设置", -1)),
(0, vue.createElementVNode)("div", _hoisted_3$1, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)((0, vue.unref)(presets), (p) => {
return (0, vue.openBlock)(), (0, vue.createElementBlock)("button", {
key: p.label,
class: (0, vue.normalizeClass)(["vlt-preset-btn", { active: (0, vue.unref)(settings).step === p.step && (0, vue.unref)(settings).interval === p.interval }]),
onClick: ($event) => (0, vue.unref)(applyPreset)(p)
}, (0, vue.toDisplayString)(p.label), 11, _hoisted_4$1);
}), 128))]),
(0, vue.createElementVNode)("div", _hoisted_5$1, [
(0, vue.createElementVNode)("div", _hoisted_6$1, [_cache[5] || (_cache[5] = (0, vue.createElementVNode)("label", null, "步长", -1)), (0, vue.createElementVNode)("div", _hoisted_7$1, [(0, vue.withDirectives)((0, vue.createElementVNode)("input", {
type: "range",
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => (0, vue.unref)(settings).step = $event),
min: "1",
max: "120",
step: "1"
}, null, 512), [[
vue.vModelText,
(0, vue.unref)(settings).step,
void 0,
{ number: true }
]]), (0, vue.createElementVNode)("span", _hoisted_8$1, (0, vue.toDisplayString)((0, vue.unref)(settings).step) + "秒", 1)])]),
(0, vue.createElementVNode)("div", _hoisted_9$1, [_cache[6] || (_cache[6] = (0, vue.createElementVNode)("label", null, "间隔", -1)), (0, vue.createElementVNode)("div", _hoisted_10$1, [(0, vue.withDirectives)((0, vue.createElementVNode)("input", {
type: "range",
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => (0, vue.unref)(settings).interval = $event),
min: "10",
max: "2000",
step: "10"
}, null, 512), [[
vue.vModelText,
(0, vue.unref)(settings).interval,
void 0,
{ number: true }
]]), (0, vue.createElementVNode)("span", _hoisted_11$1, (0, vue.toDisplayString)((0, vue.unref)(settings).interval) + "ms", 1)])]),
(0, vue.createElementVNode)("div", _hoisted_12$1, [_cache[7] || (_cache[7] = (0, vue.createElementVNode)("label", null, "视频间隔", -1)), (0, vue.createElementVNode)("div", _hoisted_13$1, [(0, vue.withDirectives)((0, vue.createElementVNode)("input", {
type: "range",
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => (0, vue.unref)(settings).videoDelay = $event),
min: "0",
max: "2000",
step: "50"
}, null, 512), [[
vue.vModelText,
(0, vue.unref)(settings).videoDelay,
void 0,
{ number: true }
]]), (0, vue.createElementVNode)("span", _hoisted_14$1, (0, vue.toDisplayString)((0, vue.unref)(settings).videoDelay) + "ms", 1)])])
]),
(0, vue.createElementVNode)("div", _hoisted_15$1, [
_cache[8] || (_cache[8] = (0, vue.createTextVNode)(" 速度: ", -1)),
(0, vue.createElementVNode)("b", null, (0, vue.toDisplayString)(formatSpeed()), 1),
_cache[9] || (_cache[9] = (0, vue.createTextVNode)(" · 预估: ", -1)),
(0, vue.createElementVNode)("b", null, (0, vue.toDisplayString)(formatEstimate()), 1)
])
]),
(0, vue.createElementVNode)("div", _hoisted_16$1, [(0, vue.createElementVNode)("span", null, "共 " + (0, vue.toDisplayString)((0, vue.unref)(videoList).length) + " 个视频", 1), (0, vue.createElementVNode)("div", _hoisted_17$1, [(0, vue.createElementVNode)("button", {
class: "vlt-refresh-btn",
disabled: (0, vue.unref)(refreshing) || (0, vue.unref)(loading),
onClick: _cache[3] || (_cache[3] = (...args) => (0, vue.unref)(refreshAllStatus) && (0, vue.unref)(refreshAllStatus)(...args))
}, (0, vue.toDisplayString)((0, vue.unref)(refreshing) ? "刷新中..." : "🔄 刷新状态"), 9, _hoisted_18$1), (0, vue.createElementVNode)("button", {
class: "vlt-complete-all",
disabled: (0, vue.unref)(loading) || (0, vue.unref)(refreshing),
onClick: _cache[4] || (_cache[4] = ($event) => verifyAndRun((0, vue.unref)(completeAll)))
}, (0, vue.toDisplayString)((0, vue.unref)(loading) ? "⚡ 执行中..." : "⚡ 一键全部完成"), 9, _hoisted_19$1)])]),
totalCount.value > 0 ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
key: 0,
class: (0, vue.normalizeClass)(["vlt-progress-wrap", { "all-done": isAllDone.value }])
}, [(0, vue.createElementVNode)("div", _hoisted_20$1, [
(0, vue.createElementVNode)("span", _hoisted_21$1, [(0, vue.unref)(loading) ? ((0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, { key: 0 }, [(0, vue.createTextVNode)("⚡ 处理中...")], 64)) : isAllDone.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, { key: 1 }, [(0, vue.createTextVNode)("🎉 全部完成!")], 64)) : ((0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, { key: 2 }, [(0, vue.createTextVNode)("进度")], 64))]),
(0, vue.createElementVNode)("span", _hoisted_22$1, [
(0, vue.createTextVNode)((0, vue.toDisplayString)(doneCount.value) + "/" + (0, vue.toDisplayString)(totalCount.value) + " ", 1),
errorCount.value > 0 ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_23$1, " (" + (0, vue.toDisplayString)(errorCount.value) + "失败)", 1)) : (0, vue.createCommentVNode)("", true),
runningCount.value > 0 ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_24$1, " · " + (0, vue.toDisplayString)(runningCount.value) + "个处理中", 1)) : (0, vue.createCommentVNode)("", true)
]),
(0, vue.createElementVNode)("span", { class: (0, vue.normalizeClass)(["vlt-progress-pct", { "pct-done": isAllDone.value }]) }, (0, vue.toDisplayString)(totalPercent.value) + "%", 3)
]), (0, vue.createElementVNode)("div", _hoisted_25$1, [(0, vue.createElementVNode)("div", {
class: "vlt-progress-bar",
style: (0, vue.normalizeStyle)({ width: totalPercent.value + "%" })
}, [!isAllDone.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_26$1)) : (0, vue.createCommentVNode)("", true)], 4), errorCount.value > 0 ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
key: 0,
class: "vlt-progress-error-bar",
style: (0, vue.normalizeStyle)({
width: Math.round(errorCount.value / totalCount.value * 100) + "%",
left: totalPercent.value + "%"
})
}, null, 4)) : (0, vue.createCommentVNode)("", true)])], 2)) : (0, vue.createCommentVNode)("", true),
(0, vue.createElementVNode)("div", _hoisted_27, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)((0, vue.unref)(videoList), (v) => {
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
key: v.id,
class: "vlt-item"
}, [
(0, vue.createElementVNode)("span", {
class: "vlt-name",
title: v.name
}, (0, vue.toDisplayString)(v.name), 9, _hoisted_28),
v.status === "running" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_29, (0, vue.toDisplayString)(v.progress || 0) + "%", 1)) : (0, vue.createCommentVNode)("", true),
v.status === "partial" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_30, (0, vue.toDisplayString)(v.progress || 0) + "%", 1)) : (0, vue.createCommentVNode)("", true),
(0, vue.createElementVNode)("span", { class: (0, vue.normalizeClass)(["vlt-status", statusClass(v.status)]) }, (0, vue.toDisplayString)(statusText(v.status, v.errorMsg)), 3),
(0, vue.createElementVNode)("button", {
class: "vlt-btn",
disabled: v.status === "running" || v.status === "done",
onClick: ($event) => verifyAndRun(() => (0, vue.unref)(completeSingle)(v.id))
}, (0, vue.toDisplayString)(v.status === "done" ? "✓" : "完成"), 9, _hoisted_31)
]);
}), 128)), !(0, vue.unref)(videoList).length && !(0, vue.unref)(loading) ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_32, "暂无视频")) : (0, vue.createCommentVNode)("", true)]),
(0, vue.unref)(listStatus) ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
key: 1,
class: (0, vue.normalizeClass)(["vlt-footer-status", {
error: (0, vue.unref)(listStatus).startsWith("❌"),
success: (0, vue.unref)(listStatus).startsWith("✅")
}])
}, (0, vue.toDisplayString)((0, vue.unref)(listStatus)), 3)) : (0, vue.createCommentVNode)("", true)
]);
};
}
}, [["__scopeId", "data-v-e873fd8e"]]);
var _hoisted_1$1 = { class: "mp-header-title" };
var _hoisted_2 = { class: "mp-header-btns" };
var _hoisted_3 = ["title"];
var _hoisted_4 = { class: "mp-body" };
var _hoisted_5 = {
key: 0,
class: "mp-tip mp-tip-ok"
};
var _hoisted_6 = { class: "mp-tabs" };
var _hoisted_7 = { class: "card-tab" };
var _hoisted_8 = { class: "card-status-icon" };
var _hoisted_9 = { class: "card-status-info" };
var _hoisted_10 = { class: "card-status-label" };
var _hoisted_11 = { class: "card-status-detail" };
var _hoisted_12 = {
key: 0,
class: "card-info-list"
};
var _hoisted_13 = {
key: 0,
class: "card-info-item"
};
var _hoisted_14 = { class: "card-info-val" };
var _hoisted_15 = {
key: 1,
class: "card-info-item"
};
var _hoisted_16 = { class: "card-info-val" };
var _hoisted_17 = {
key: 2,
class: "card-info-item"
};
var _hoisted_18 = { class: "card-info-val" };
var _hoisted_19 = {
key: 3,
class: "card-info-item"
};
var _hoisted_20 = { class: "card-info-val" };
var _hoisted_21 = { class: "card-actions" };
var _hoisted_22 = { class: "mp-footer" };
var _hoisted_23 = { class: "mp-footer-text" };
var _hoisted_24 = { class: "mp-disclaimer" };
var _hoisted_25 = { class: "disclaimer-modal-header" };
var _hoisted_26 = { class: "disclaimer-modal-footer" };
var MainPanel_default = _plugin_vue_export_helper_default({
__name: "MainPanel",
emits: ["reset"],
setup(__props, { emit: __emit }) {
const requestVerify = (0, vue.inject)("requestVerify");
const verified = (0, vue.inject)("verified");
const cardData = (0, vue.inject)("cardData");
const minimized = (0, vue.ref)(false);
const activeTab = (0, vue.ref)("instant");
const showDisclaimer = (0, vue.ref)(false);
const cardStatusText = (0, vue.computed)(() => {
if (!verified.value) return "未激活";
const d = cardData.value;
if (!d) return "已激活";
let text = d.card_type_display || d.card_type || "已激活";
if (d.remaining_days != null) text += ` · 剩余${d.remaining_days}天`;
if (d.remaining_count != null) text += ` · 剩余${d.remaining_count}次`;
return text;
});
const isLiveStudy = (0, vue.ref)(location.hash.startsWith("#/liveStudy"));
function onHashChange() {
isLiveStudy.value = location.hash.startsWith("#/liveStudy");
}
(0, vue.onMounted)(() => window.addEventListener("hashchange", onHashChange));
(0, vue.onUnmounted)(() => window.removeEventListener("hashchange", onHashChange));
const panelRef = (0, vue.ref)(null);
let dragging = false, startX, startY, origX, origY;
function onHeaderMouseDown(e) {
if (e.target.tagName === "BUTTON") return;
dragging = true;
startX = e.clientX;
startY = e.clientY;
const r = panelRef.value.getBoundingClientRect();
origX = r.left;
origY = r.top;
}
function onMouseMove(e) {
if (!dragging) return;
panelRef.value.style.left = origX + e.clientX - startX + "px";
panelRef.value.style.top = origY + e.clientY - startY + "px";
}
function onMouseUp() {
dragging = false;
}
document.addEventListener("mousemove", onMouseMove);
document.addEventListener("mouseup", onMouseUp);
return (_ctx, _cache) => {
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
ref_key: "panelRef",
ref: panelRef,
class: "mp-panel"
}, [(0, vue.createElementVNode)("div", {
class: "mp-header",
onMousedown: onHeaderMouseDown
}, [(0, vue.createElementVNode)("div", _hoisted_1$1, [(0, vue.createElementVNode)("span", { class: (0, vue.normalizeClass)(["dot", { "dot-warn": !isLiveStudy.value }]) }, null, 2), (0, vue.createTextVNode)(" " + (0, vue.toDisplayString)(isLiveStudy.value ? "自动播放中(如异常请手动刷新页面)" : "等待中(如异常请手动刷新页面)"), 1)]), (0, vue.createElementVNode)("div", _hoisted_2, [(0, vue.createElementVNode)("button", {
onClick: _cache[0] || (_cache[0] = (0, vue.withModifiers)(($event) => minimized.value = !minimized.value, ["stop"])),
title: minimized.value ? "展开" : "最小化"
}, (0, vue.toDisplayString)(minimized.value ? "□" : "—"), 9, _hoisted_3)])], 32), (0, vue.withDirectives)((0, vue.createElementVNode)("div", _hoisted_4, [
isLiveStudy.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_5, [..._cache[11] || (_cache[11] = [
(0, vue.createTextVNode)(" 🟢 ", -1),
(0, vue.createElementVNode)("b", null, "视频播放页面", -1),
(0, vue.createTextVNode)(",脚本正在自动运行 ", -1)
])])) : (0, vue.createCommentVNode)("", true),
(0, vue.createElementVNode)("div", _hoisted_6, [
(0, vue.createElementVNode)("div", {
class: (0, vue.normalizeClass)(["mp-tab", { active: activeTab.value === "instant" }]),
onClick: _cache[1] || (_cache[1] = ($event) => activeTab.value = "instant")
}, " ⚡ 后台播放模式(推荐) ", 2),
(0, vue.createElementVNode)("div", {
class: (0, vue.normalizeClass)(["mp-tab", { active: activeTab.value === "auto" }]),
onClick: _cache[2] || (_cache[2] = ($event) => activeTab.value = "auto")
}, " 📺 前台播放模式(不推荐) ", 2),
(0, vue.createElementVNode)("div", {
class: (0, vue.normalizeClass)(["mp-tab", { active: activeTab.value === "card" }]),
onClick: _cache[3] || (_cache[3] = ($event) => activeTab.value = "card")
}, " 🔑 卡密信息 ", 2)
]),
(0, vue.withDirectives)((0, vue.createElementVNode)("div", null, [
_cache[12] || (_cache[12] = (0, vue.createElementVNode)("div", { class: "mp-best-tip" }, [(0, vue.createElementVNode)("div", { class: "mp-best-title" }, "🔥 最佳挂机效果提示"), (0, vue.createElementVNode)("div", { class: "mp-best-content" }, [
(0, vue.createElementVNode)("b", null, "①"),
(0, vue.createTextVNode)(" 关闭其它标签页,只留本页面在前台"),
(0, vue.createElementVNode)("br"),
(0, vue.createElementVNode)("b", null, "②"),
(0, vue.createTextVNode)(" 最好打开声音 "),
(0, vue.createElementVNode)("b", { style: { "color": "#4fc3f7" } }, "1%"),
(0, vue.createTextVNode)("(防止浏览器静音暂停) ")
])], -1)),
(0, vue.createVNode)(AutoPlayTab_default),
_cache[13] || (_cache[13] = (0, vue.createStaticVNode)("📋 使用须知
1. 德阳继续教育系统播放记录更新不灵敏,延迟属于正常现象,请耐心等待
2. 全部播放完成后,刷新页面再查看学习记录
3. 如有少部分遗漏,请手动播放补上遗漏的视频
4. 本脚本仅自动播放视频,不会修改任何学习数据,请放心使用
5. 播放过程中请勿频繁刷新页面,以免进度丢失
", 1))
], 512), [[vue.vShow, activeTab.value === "auto"]]),
(0, vue.withDirectives)((0, vue.createElementVNode)("div", null, [_cache[14] || (_cache[14] = (0, vue.createElementVNode)("div", { class: "mp-instant-tip" }, [(0, vue.createElementVNode)("div", { class: "mp-instant-title" }, "⚡ 后台播放模式说明"), (0, vue.createElementVNode)("div", { class: "mp-instant-content" }, [
(0, vue.createTextVNode)(" 后台隐藏播放,前台可以做任何事,无需管它,可以选择速度"),
(0, vue.createElementVNode)("b", null, "已完成"),
(0, vue.createTextVNode)(",无需等待播放"),
(0, vue.createElementVNode)("br"),
(0, vue.createTextVNode)(" 点击"),
(0, vue.createElementVNode)("b", null, "一键自动完成全部视频"),
(0, vue.createTextVNode)(",即可自动播放所有视频,无需手动操作 ")
])], -1)), (0, vue.createVNode)(VideoListTab_default)], 512), [[vue.vShow, activeTab.value === "instant"]]),
(0, vue.withDirectives)((0, vue.createElementVNode)("div", _hoisted_7, [
(0, vue.createElementVNode)("div", { class: (0, vue.normalizeClass)(["card-status-box", { active: (0, vue.unref)(verified) }]) }, [(0, vue.createElementVNode)("div", _hoisted_8, (0, vue.toDisplayString)((0, vue.unref)(verified) ? "✅" : "⚠️"), 1), (0, vue.createElementVNode)("div", _hoisted_9, [(0, vue.createElementVNode)("div", _hoisted_10, (0, vue.toDisplayString)((0, vue.unref)(verified) ? "已激活" : "未激活"), 1), (0, vue.createElementVNode)("div", _hoisted_11, (0, vue.toDisplayString)(cardStatusText.value), 1)])], 2),
(0, vue.unref)(verified) && (0, vue.unref)(cardData) ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_12, [
(0, vue.unref)(cardData).card_type_display ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_13, [_cache[15] || (_cache[15] = (0, vue.createElementVNode)("span", { class: "card-info-key" }, "卡密类型", -1)), (0, vue.createElementVNode)("span", _hoisted_14, (0, vue.toDisplayString)((0, vue.unref)(cardData).card_type_display), 1)])) : (0, vue.createCommentVNode)("", true),
(0, vue.unref)(cardData).status_display ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_15, [_cache[16] || (_cache[16] = (0, vue.createElementVNode)("span", { class: "card-info-key" }, "状态", -1)), (0, vue.createElementVNode)("span", _hoisted_16, (0, vue.toDisplayString)((0, vue.unref)(cardData).status_display), 1)])) : (0, vue.createCommentVNode)("", true),
(0, vue.unref)(cardData).remaining_days != null ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_17, [_cache[17] || (_cache[17] = (0, vue.createElementVNode)("span", { class: "card-info-key" }, "剩余天数", -1)), (0, vue.createElementVNode)("span", _hoisted_18, (0, vue.toDisplayString)((0, vue.unref)(cardData).remaining_days) + " 天", 1)])) : (0, vue.createCommentVNode)("", true),
(0, vue.unref)(cardData).remaining_count != null ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_19, [_cache[18] || (_cache[18] = (0, vue.createElementVNode)("span", { class: "card-info-key" }, "剩余次数", -1)), (0, vue.createElementVNode)("span", _hoisted_20, (0, vue.toDisplayString)((0, vue.unref)(cardData).remaining_count) + " 次", 1)])) : (0, vue.createCommentVNode)("", true)
])) : (0, vue.createCommentVNode)("", true),
(0, vue.createElementVNode)("div", _hoisted_21, [!(0, vue.unref)(verified) ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("button", {
key: 0,
class: "card-btn card-btn-primary",
onClick: _cache[4] || (_cache[4] = (...args) => (0, vue.unref)(requestVerify) && (0, vue.unref)(requestVerify)(...args))
}, " 🔑 激活卡密 ")) : (0, vue.createCommentVNode)("", true), (0, vue.unref)(verified) ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("button", {
key: 1,
class: "card-btn card-btn-warn",
onClick: _cache[5] || (_cache[5] = ($event) => _ctx.$emit("reset"))
}, " 🔄 更换卡密 ")) : (0, vue.createCommentVNode)("", true)]),
_cache[19] || (_cache[19] = (0, vue.createElementVNode)("a", {
class: "card-buy-link",
href: "https://pay.ldxp.cn/item/dtaidf",
target: "_blank"
}, " 🛒 没有卡密?点此获取 ", -1))
], 512), [[vue.vShow, activeTab.value === "card"]]),
(0, vue.createElementVNode)("div", _hoisted_22, [(0, vue.createElementVNode)("span", _hoisted_23, (0, vue.toDisplayString)(isLiveStudy.value ? "脚本运行中" : "请进入视频播放页面"), 1), (0, vue.createElementVNode)("span", { class: (0, vue.normalizeClass)(["mp-footer-card", { active: (0, vue.unref)(verified) }]) }, (0, vue.toDisplayString)((0, vue.unref)(verified) ? "🔑 已激活" : "🔑 未激活"), 3)]),
(0, vue.createElementVNode)("div", _hoisted_24, [_cache[20] || (_cache[20] = (0, vue.createTextVNode)(" 使用本软件则代表接受 ", -1)), (0, vue.createElementVNode)("a", {
href: "javascript:void(0)",
onClick: _cache[6] || (_cache[6] = (0, vue.withModifiers)(($event) => showDisclaimer.value = true, ["stop"]))
}, "《免责声明》")]),
showDisclaimer.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
key: 1,
class: "disclaimer-overlay",
onClick: _cache[10] || (_cache[10] = ($event) => showDisclaimer.value = false)
}, [(0, vue.createElementVNode)("div", {
class: "disclaimer-modal",
onClick: _cache[9] || (_cache[9] = (0, vue.withModifiers)(() => {}, ["stop"]))
}, [
(0, vue.createElementVNode)("div", _hoisted_25, [_cache[21] || (_cache[21] = (0, vue.createElementVNode)("span", null, "📋 免责声明", -1)), (0, vue.createElementVNode)("button", { onClick: _cache[7] || (_cache[7] = ($event) => showDisclaimer.value = false) }, "✕")]),
_cache[22] || (_cache[22] = (0, vue.createStaticVNode)("1. 本软件仅供学习辅助用途,使用者应遵守相关法律法规及平台服务条款。
2. 本软件仅模拟视频播放行为,不修改平台任何数据
3. 使用本软件产生的一切后果由使用者自行承担,开发者不承担任何直接或间接责任。
4. 本软件按"现状"提供,不作任何明示或暗示的保证,不保证功能永久可用。
5. 平台方可能随时更新策略或接口,导致本软件功能失效,此属正常情况,非软件故障。
6. 本软件不保证与所有浏览器或系统兼容,不提供任何形式的技术支持承诺。
7. 开发者保留随时修改、暂停或终止本软件的权利,恕不另行通知。
8. 如不同意以上条款,请立即停止使用并卸载本软件。
", 1)),
(0, vue.createElementVNode)("div", _hoisted_26, [(0, vue.createElementVNode)("button", { onClick: _cache[8] || (_cache[8] = ($event) => showDisclaimer.value = false) }, "我已知晓")])
])])) : (0, vue.createCommentVNode)("", true)
], 512), [[vue.vShow, !minimized.value]])], 512);
};
}
}, [["__scopeId", "data-v-60bd3afd"]]);
var _hoisted_1 = { id: "dygx-app" };
var App_default = _plugin_vue_export_helper_default({
__name: "App",
setup(__props) {
const { verified, cardData, heartbeat, reset } = useCardVerify();
const showCardModal = (0, vue.ref)(false);
const isResetMode = (0, vue.ref)(false);
let verifyResolve = null;
let verifyReject = null;
function requestVerify() {
if (verified.value) return Promise.resolve(true);
return new Promise((resolve, reject) => {
verifyResolve = resolve;
verifyReject = reject;
showCardModal.value = true;
});
}
(0, vue.provide)("requestVerify", requestVerify);
(0, vue.provide)("verified", verified);
(0, vue.provide)("cardData", cardData);
let routeTimer = null;
let lastHash = "";
function isOnLiveStudy() {
return location.hash.startsWith("#/liveStudy");
}
(0, vue.onMounted)(async () => {
if (verified.value) {
await heartbeat();
if (isOnLiveStudy()) startAutoPlay();
}
lastHash = location.hash;
routeTimer = setInterval(() => {
if (location.hash !== lastHash) {
lastHash = location.hash;
if (verified.value && isOnLiveStudy()) startAutoPlay();
}
}, 500);
});
(0, vue.onUnmounted)(() => {
if (routeTimer) clearInterval(routeTimer);
});
function onVerified() {
verified.value = true;
showCardModal.value = false;
showConfetti();
if (verifyResolve) {
verifyResolve(true);
verifyResolve = null;
verifyReject = null;
}
}
function onCardClose() {
showCardModal.value = false;
if (verifyReject) {
verifyReject(new Error("未验证"));
verifyResolve = null;
verifyReject = null;
}
}
function onReset() {
if (!confirm("确定要更换卡密吗?")) return;
reset();
isResetMode.value = true;
showCardModal.value = true;
}
function showConfetti() {
const canvas = document.createElement("canvas");
canvas.style.cssText = "position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:2147483647;pointer-events:none;";
document.body.appendChild(canvas);
const ctx = canvas.getContext("2d");
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
const colors = [
"#ff1744",
"#ff9100",
"#ffea00",
"#00e676",
"#00b0ff",
"#d500f9",
"#ff4081",
"#f50057",
"#651fff",
"#00e5ff"
];
const particles = [];
for (let i = 0; i < 250; i++) particles.push({
x: canvas.width / 2 + (Math.random() - .5) * 400,
y: canvas.height * .35,
vx: (Math.random() - .5) * 24,
vy: (Math.random() - 1) * 25 - 6,
w: Math.random() * 14 + 4,
h: Math.random() * 8 + 3,
color: colors[Math.floor(Math.random() * colors.length)],
rotation: Math.random() * 360,
rotSpeed: (Math.random() - .5) * 18,
gravity: .28 + Math.random() * .15,
opacity: 1
});
let frame = 0;
const max = 150;
function animate() {
frame++;
ctx.clearRect(0, 0, canvas.width, canvas.height);
for (const p of particles) {
p.vy += p.gravity;
p.x += p.vx;
p.y += p.vy;
p.vx *= .99;
p.rotation += p.rotSpeed;
if (frame > max * .4) p.opacity = Math.max(0, 1 - (frame - max * .4) / (max * .6));
ctx.save();
ctx.translate(p.x, p.y);
ctx.rotate(p.rotation * Math.PI / 180);
ctx.globalAlpha = p.opacity;
ctx.fillStyle = p.color;
ctx.fillRect(-p.w / 2, -p.h / 2, p.w, p.h);
ctx.restore();
}
if (frame < max) requestAnimationFrame(animate);
else canvas.remove();
}
requestAnimationFrame(animate);
}
return (_ctx, _cache) => {
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1, [(0, vue.createVNode)(MainPanel_default, { onReset }), showCardModal.value ? ((0, vue.openBlock)(), (0, vue.createBlock)(CardVerifyModal_default, {
key: 0,
isReset: isResetMode.value,
onVerified,
onClose: onCardClose
}, null, 8, ["isReset"])) : (0, vue.createCommentVNode)("", true)]);
};
}
}, [["__scopeId", "data-v-b9df25d8"]]);
var _0x34f736 = _0x5bee;
(function(_0x37b47f, _0x1bf788) {
const _0x4894e1 = _0x5bee, _0x4afcec = _0x37b47f();
while (true) try {
if (-parseInt(_0x4894e1(411, "8za]")) / 1 + -parseInt(_0x4894e1(422, "G0Qh")) / 2 * (-parseInt(_0x4894e1(418, "qpS&")) / 3) + -parseInt(_0x4894e1(440, "eNPU")) / 4 * (-parseInt(_0x4894e1(429, "r#oe")) / 5) + parseInt(_0x4894e1(443, "G0Qh")) / 6 + -parseInt(_0x4894e1(439, "PIx!")) / 7 * (parseInt(_0x4894e1(407, "h56D")) / 8) + parseInt(_0x4894e1(417, "G0Qh")) / 9 * (parseInt(_0x4894e1(424, "NR6$")) / 10) + parseInt(_0x4894e1(438, "*9fl")) / 11 * (-parseInt(_0x4894e1(436, "lLoB")) / 12) === _0x1bf788) break;
else _0x4afcec["push"](_0x4afcec["shift"]());
} catch (_0x54070a) {
_0x4afcec["push"](_0x4afcec["shift"]());
}
})(_0x2cf3, 583520);
var _0xa3da0f = {};
_0xa3da0f[_0x34f736(408, "NR6$")] = false, _0xa3da0f[_0x34f736(414, "2J!K")] = false, _0xa3da0f[_0x34f736(404, "PO*5") + "le"] = true, Object["defineProperty"](document, "hidden", _0xa3da0f);
function _0x5bee(_0x49a120, _0x1783b3) {
_0x49a120 = _0x49a120 - 402;
const _0x2cf3ee = _0x2cf3();
let _0x5bee9c = _0x2cf3ee[_0x49a120];
if (_0x5bee["vGKofC"] === void 0) {
var _0x45599e = function(_0xc0d06f) {
const _0x4b16c4 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=";
let _0x4d9743 = "", _0x3324a8 = "";
for (let _0x3c1fac = 0, _0x2aacef, _0x1d2038, _0x3e323a = 0; _0x1d2038 = _0xc0d06f["charAt"](_0x3e323a++); ~_0x1d2038 && (_0x2aacef = _0x3c1fac % 4 ? _0x2aacef * 64 + _0x1d2038 : _0x1d2038, _0x3c1fac++ % 4) && (_0x4d9743 += String["fromCharCode"](255 & _0x2aacef >> (-2 * _0x3c1fac & 6)))) _0x1d2038 = _0x4b16c4["indexOf"](_0x1d2038);
for (let _0x12e514 = 0, _0x3ecf41 = _0x4d9743["length"]; _0x12e514 < _0x3ecf41; _0x12e514++) _0x3324a8 += "%" + ("00" + _0x4d9743["charCodeAt"](_0x12e514)["toString"](16))["slice"](-2);
return decodeURIComponent(_0x3324a8);
};
const _0x1eac8b = function(_0x4c67ca, _0x106090) {
let _0x339dc1 = [], _0x358d19 = 0, _0x23ee97, _0x28b0a6 = "";
_0x4c67ca = _0x45599e(_0x4c67ca);
let _0x17483b;
for (_0x17483b = 0; _0x17483b < 256; _0x17483b++) _0x339dc1[_0x17483b] = _0x17483b;
for (_0x17483b = 0; _0x17483b < 256; _0x17483b++) _0x358d19 = (_0x358d19 + _0x339dc1[_0x17483b] + _0x106090["charCodeAt"](_0x17483b % _0x106090["length"])) % 256, _0x23ee97 = _0x339dc1[_0x17483b], _0x339dc1[_0x17483b] = _0x339dc1[_0x358d19], _0x339dc1[_0x358d19] = _0x23ee97;
_0x17483b = 0, _0x358d19 = 0;
for (let _0x3543c3 = 0; _0x3543c3 < _0x4c67ca["length"]; _0x3543c3++) _0x17483b = (_0x17483b + 1) % 256, _0x358d19 = (_0x358d19 + _0x339dc1[_0x17483b]) % 256, _0x23ee97 = _0x339dc1[_0x17483b], _0x339dc1[_0x17483b] = _0x339dc1[_0x358d19], _0x339dc1[_0x358d19] = _0x23ee97, _0x28b0a6 += String["fromCharCode"](_0x4c67ca["charCodeAt"](_0x3543c3) ^ _0x339dc1[(_0x339dc1[_0x17483b] + _0x339dc1[_0x358d19]) % 256]);
return _0x28b0a6;
};
_0x5bee["jXitfZ"] = _0x1eac8b, _0x5bee["gYIYov"] = {}, _0x5bee["vGKofC"] = true;
}
const _0x5d027e = _0x2cf3ee[0], _0x43cc2f = _0x49a120 + _0x5d027e, _0x3781cb = _0x5bee["gYIYov"][_0x43cc2f];
return !_0x3781cb ? (_0x5bee["RzxoTb"] === void 0 && (_0x5bee["RzxoTb"] = true), _0x5bee9c = _0x5bee["jXitfZ"](_0x5bee9c, _0x1783b3), _0x5bee["gYIYov"][_0x43cc2f] = _0x5bee9c) : _0x5bee9c = _0x3781cb, _0x5bee9c;
}
function _0x2cf3() {
const _0x45bcf8 = [
"D1ekqdFcPeNdJddcRq",
"WO/cKSkHsN/cTXHgcCknktau",
"WPbLvWVdQq",
"BSkJWPRdUmk4o8o9W5RdGmod",
"eXNcNCk3W4Dfhq",
"cxNdKSkDhG7cV8kVWRldVSoauG",
"BSooW68DW4xdRmoXW57cHmkMDW",
"jmk7DCoNaNxdNSoPoYK",
"o8k1tCkAp2y",
"W5qyfrvIfSkvlCkmcW",
"DmoyW5C1WQ5/W6O",
"WOJcVmobsSoYiW04nCozBY1p",
"WRddLZX9W4GiySk9W7u",
"qColW60zDmkgE8kn",
"ACo8WPr6C8o/W7K",
"WOCxyslcHCo4cCknv8k3WRpdQmkG",
"W6aHWOpdNZC",
"pmolWR1T",
"AxVcQgFcSrhdLHldMmkZuCo2wa",
"kmonWQP9rSosW5/cSXBdPG",
"WOTRtHddUa",
"WOqnWQ/dHqvEW4m",
"DeZcLbijW5nmfHNcTG",
"W4NdKmo8daldRK17fCkn",
"t8kaW6XX",
"W74biSotxJLDlrfmBSkOW6S",
"WQ4bWPXmiG",
"W6GpW4tdLwHCuwm",
"yCodW4e9WRH2W4RcVCkCma",
"e8ocWQG/wmkJlc7dLmkaWOHw",
"e8ooW79WWPxdM8kPxmkAWPm",
"gt3dP8oWamkHc8kxdan5zdS",
"ySkDW5aDyqKyWQC",
"tmkmWOy",
"aCooW79oWOldHG",
"zsddKWldSexcUa",
"WRfFWOpdG2fBD0xdRW",
"WOyZWQFdOsvkW6i",
"W5jmlW",
"W4NdGCoNnsxdT0vSb8kf",
"B3RcQwBcULBcTYVdNmkQEq",
"WQZcVY1/uNxdJmkQ",
"W6LrW4miCqNcGmk+W7ldS8oLWOWIWQ8"
];
_0x2cf3 = function() {
return _0x45bcf8;
};
return _0x2cf3();
}
var _0x35ef45 = {};
_0x35ef45[_0x34f736(402, "J!X%")] = _0x34f736(435, "EF4b"), _0x35ef45[_0x34f736(423, "8xI9")] = false, _0x35ef45["configurable"] = true, Object[_0x34f736(434, "OAc9") + _0x34f736(406, "8za]")](document, _0x34f736(432, "mB4D") + _0x34f736(441, "^tl["), _0x35ef45), document[_0x34f736(425, "egW[") + _0x34f736(416, "oMjW")](_0x34f736(444, "PIx!") + _0x34f736(433, "KWMt"), (_0x22726d) => {
const _0xbdba16 = _0x34f736;
_0x22726d[_0xbdba16(405, "MSNF") + _0xbdba16(412, "oMjW") + "tion"]();
}, true), document[_0x34f736(409, "qpS&")] = () => true;
var originalSetInterval = window["setInterval"];
window[_0x34f736(421, "MSNF") + "l"] = (_0x3ff3f0, _0x5217c0, ..._0x3953a3) => {
return originalSetInterval["call"](window, _0x3ff3f0, _0x5217c0, ..._0x3953a3);
};
var container = document[_0x34f736(410, "EF4b") + _0x34f736(415, "Gzm7")](_0x34f736(420, "eNPU"));
container["id"] = "dygx-users" + _0x34f736(428, "^kt["), document[_0x34f736(442, "PIx!")]["appendChild"](container), (0, vue.createApp)(App_default)[_0x34f736(427, "J!X%")](container);
})(Vue);