biliscope - B站AI总结+热评外显

悬停视频封面,看B站AI总结+热评

安装此脚本?
作者推荐脚本

您可能也喜欢BiliFold - 收起动态评论

安装此脚本
// ==UserScript==
// @name         biliscope - B站AI总结+热评外显
// @namespace    https://github.com/F-park/biliscope-tampermonkey/blob/master/video
// @version      0.1.0
// @author       F-park
// @description  悬停视频封面,看B站AI总结+热评
// @license      MIT
// @icon         data:image/png;base64,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
// @supportURL   https://github.com/F-park/biliscope-tampermonkey/issues
// @match        https://*.bilibili.com/*
// @grant        GM_addStyle
// @run-at       document-start
// ==/UserScript==

(i=>{if(typeof GM_addStyle=="function"){GM_addStyle(i);return}const e=document.createElement("style");e.textContent=i,document.head.append(e)})(' #biliscope-video-card{position:absolute;z-index:1002}#biliscope-video-card *{box-sizing:content-box}#biliscope-video-card .d-none{display:none}#biliscope-video-card-inner{font-size:14px;display:flex;flex-direction:column;border:1px solid #e3e5e7;background-color:#fff;border-radius:8px;max-height:50vh}#biliscope-ai-summary-none{border:solid 1px;font-size:13px;color:#444;width:max-content;padding:0 5px;background-color:#fff}#biliscope-hot-comment-wrapper{display:flex;width:376px;flex-shrink:0;background-color:#fff;border-top:1px solid #e3e5e7;border-radius:0 0 8px 8px}#biliscope-hot-comment{margin-bottom:10px;padding:10px 15px 0;font-weight:400;background-color:#fff;border-radius:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-y:hidden;font-size:13px;color:#9499a0}#biliscope-hot-comment:hover{display:block;max-height:20vh;overflow-y:auto}#biliscope-hot-comment-text{color:#9499a0;font-size:13px}#biliscope-hot-comment-text img{width:1.4em;height:1.4em;vertical-align:text-bottom}#biliscope-hot-comment-text a{color:#008ac5;cursor:pointer}#biliscope-hot-comment-text a:hover{color:#00aeec}#biliscope-hot-comment-author{color:#61666d;cursor:pointer}#biliscope-hot-comment-author:hover{color:#00aeec}#biliscope-hot-comment-icon{flex-shrink:0;position:relative;height:14px;left:10px;top:15px;width:14px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAAA2CAYAAACMRWrdAAAACXBIWXMAACE4AAAhOAFFljFgAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAASmSURBVHgB7VlRctpIEO0eBMknuQF7giUnWHyCeE8A+tg4LkhsThB8Ary7drni/RCcIPgEZk8QbpDkBnymjJhOj4xgJI1AQkKQKt4PSDUzmjfd093zBuCII4444ogVEHLG3Z1TcwFqafpYAN/Oz+1vkCMyE/v3zmnwKKco8A8gqEMWIExI0v88zuj9uT2GDNia2D93TkuUsMmTaMAOQGxFBOx1zppD2AKpiSkLYQn7ma2TEIqgK+mkm9JVUxG7/W/4kV2lB9GPTwXBWAKOAeV3S8IEEkJKqEoBVUDxuwBqSIQGT6oabseu3mv/1bxKOm5iYjf3A4cZtPR3ajWB8Np9IYdd255CDug7TrX0w9uzHzEchBAGnbctO8k4iYgZSUm6cl/CdV6ETGC37ymCgZcJyW0kFnY/z0qS7KxRKylub526tPBzyHrXnbNWd12/tcS8yCfQ8Z+33chZ0efcaAl81MnxYp+sW9xYYsrXrSf8og82k/Rb0aR8KMuRhY+wCCzeIlfoddxWEHEDVVxxETQ/dfdFSqHdticSaBkV1dysH3AZ1z6WmJTU8v+r1emc2dewZ3xQc0AY+88cWC6UZ5naGompvRWwFgcLOBDQnPRcVi0/BaO1DyMxr1TyB2JrFRUBk2Axl1UBgPjG1M7sinr9J2mrWm2X4Ij4sHqAuskdI8S8aj2IMRwextr/amUWPSZFLSaCdRpXF4nrvqIQntN8Hi3Io8RkoNF0lyXTtljMaTkvIWCzK+ogrfOhQZ8byZTEfmVEiHlF7gKYUrsoEvrcUEQ9K0Is3EiJM3Bg6N87gWBBhoNthJgbajSD3WgaWVAKRUFX8zIfEWKq0NXdsSTMmX2fQG2x1VxNxXlM5bHK7NyxEVdo7gPqbMbF77LkQzQXEHEl1Uh7qq47HhSNiiWa+vMsWBQvEXvQZJ3jUasZp3zIfL3P85iCslZZ4NflC1bGOu9aJ6a2sXkscjworSSCfYHn8Fl/RkGxukcsMXU8IKK/ly/YejefBn3YE5SoFBBpWa1qv7Vj69i1lYf7AnoUDKWX3gcKhkkpi9tbPjbLbyERZdFp9CR3r4GoaFyesftRILxP3QT7fWOtqEQUdElt0FXRCXCq5LCbT8Mm7Ai398MLVsm+Rki5yeS/xBJ3jHDpuQVrjwOuax7W+Xyib6hSCcUbFpIuw/q9J7e59Ge3newbqS4lPOESoKcnyNDHp5wwJ0gwZals+P7MHsWOxQtVKePFol+dCGqmy4jFwOMZkZ3G9be6H/NULNOlQQizCr0yHVRNyq4Jz4GLuusWKA6ZbjQ9CRzZehhTKBOedt41H/RXJoU52g9UqrnKoo5ZkAEfzu0B/wyeJ8vkWFbQb0ckyVfhPl6U0zV4tUfV3RrRdw5lE7cC4zzkiEwWM4GTOPn/OQjYC/J+6H7Uk+wm/T0LMlksKbw99eTlwpr/bnlzsyOxKFeLeffTwiPwDN5jWIJ6OHwXcR2Vr8UQTvVHQhrwvqtisM3EnXM+2nHVkq9KFdLRI0mWi+pZuZiLw1wtti7BZg3faZErMXUxJwBXR5s9EPKRe7hXAYSDQ23+EkaHKI8fcUTB+Akpbi5uawt9pAAAAABJRU5ErkJggg==) 50%/contain no-repeat}.biliscope-ai-summary-popup{width:375px;border-radius:8px 8px 0 0;background:#fff;box-shadow:0 0 30px #0000001a;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-user-select:none;-webkit-user-select:none;user-select:none;min-height:0}.biliscope-ai-summary-popup-header{position:relative;border-radius:8px 8px 0 0;-ms-flex-negative:0;flex-shrink:0;height:32px;padding:18px 14px 10px;-ms-flex-pack:justify;justify-content:space-between;background:url(data:image/png;base64,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) 0 0/900px 52px no-repeat}.biliscope-ai-summary-popup-header,.biliscope-ai-summary-popup-header-left{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.biliscope-ai-summary-popup-header-left .biliscope-ai-summary-popup-icon{display:-ms-flexbox;display:flex;margin-right:8px}.biliscope-ai-summary-popup-header-left .biliscope-ai-summary-popup-tips{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.biliscope-ai-summary-popup-header-left .biliscope-ai-summary-popup-tips-text{color:#18191c;font-size:14px;font-weight:700}.biliscope-ai-summary-popup-body{-ms-flex:1;flex:1;max-height:50vh;overflow:auto;color:#18191c;box-sizing:border-box;padding:8px 8px 6px}.biliscope-ai-summary-popup-body-abstracts{padding:8px 10px;user-select:text;-webkit-user-select:text;font-size:14px;font-weight:700}.biliscope-ai-summary-popup-body-outline .ai-summary-section{line-height:20px;padding:12px 8px;font-size:14px}.biliscope-ai-summary-popup-body-outline .ai-summary-section .ai-summary-section-title{display:-ms-flexbox;display:flex;font-weight:700;font-size:14px;cursor:pointer}.biliscope-ai-summary-popup-body-outline .ai-summary-section .ai-summary-section-title:before{-ms-flex-negative:0;flex-shrink:0;content:"";display:block;border-radius:2px;width:4px;height:4px;background-color:#000;margin:8px 12px 8px 6px}.biliscope-ai-summary-popup-body-outline .ai-summary-section .bullet{display:-ms-flexbox;display:flex;margin-top:8px;margin-left:22px;transition:color .3s;cursor:pointer}.biliscope-ai-summary-popup-body-outline .ai-summary-section .bullet .timestamp{font-size:13px;color:#9499a0;-ms-flex:0 0 56px;flex:0 0 56px;text-align:left}.biliscope-ai-summary-popup-body-outline .ai-summary-section .bullet .timestamp-inner{transition:color .3s}.biliscope-ai-summary-popup-body-outline .ai-summary-section .bullet:first-child{padding-top:0}.biliscope-ai-summary-popup-body-outline .ai-summary-section .bullet:hover,.biliscope-ai-summary-popup-body-outline .ai-summary-section .bullet:hover .timestamp{color:#00aeec}.biliscope-ai-summary-popup-body-outline .ai-summary-section:hover{border-radius:8px;background-color:#f6f7f8}.biliscope-ai-summary-popup-body::-webkit-scrollbar{width:4px}.biliscope-ai-summary-popup-body::-webkit-scrollbar-thumb{border-radius:4px;background:#999} ');

(function () {
  'use strict';

  const BILIBILI_API_URL = "https://api.bilibili.com";
  var biliMixin = null;
  async function getBiliMixin() {
    const OE = [
      46,
      47,
      18,
      2,
      53,
      8,
      23,
      32,
      15,
      50,
      10,
      31,
      58,
      3,
      45,
      35,
      27,
      43,
      5,
      49,
      33,
      9,
      42,
      19,
      29,
      28,
      14,
      39,
      12,
      38,
      41,
      13,
      37,
      48,
      7,
      16,
      24,
      55,
      40,
      61,
      26,
      17,
      0,
      1,
      60,
      51,
      30,
      4,
      22,
      25,
      54,
      21,
      56,
      59,
      6,
      63,
      57,
      62,
      11,
      36,
      20,
      34,
      44,
      52
    ];
    return fetch("https://api.bilibili.com/x/web-interface/nav").then((response) => response.json()).then((data) => {
      let img_val = data["data"]["wbi_img"]["img_url"].split("/").pop().split(".")[0];
      let sub_val = data["data"]["wbi_img"]["sub_url"].split("/").pop().split(".")[0];
      let val = img_val + sub_val;
      return OE.reduce((s, v) => s + val[v], "").substring(0, 32);
    });
  }
  async function biliGet(url, params, retry = 5) {
    const origUrl = url;
    if (biliMixin === null) {
      biliMixin = await getBiliMixin();
    }
    if (url.indexOf("/wbi/") != -1 || url.indexOf("/conclusion/get") != -1) {
      params["wts"] = Math.floor(Date.now() / 1e3);
      let keys = Object.keys(params).sort();
      let paramsStr = keys.map((key) => `${key}=${params[key]}`).join("&");
      let sign = md5(paramsStr + biliMixin);
      url = `${url}?${paramsStr}&w_rid=${sign}`;
    } else {
      let keys = Object.keys(params).sort();
      let paramsStr = keys.map((key) => `${key}=${params[key]}`).join("&");
      url = `${url}?${paramsStr}`;
    }
    return fetch(url, { "credentials": "include", "mode": "cors" }).then((response) => response.json()).then((data) => {
      if (data["code"] == -403) {
        biliMixin = null;
      }
      if (data["code"] == -799 && retry > 0) {
        return new Promise((resolve) => setTimeout(resolve, 1e3)).then(() => biliGet(origUrl, params, retry - 1));
      }
      return data;
    });
  }
  var videoInfoCache = /* @__PURE__ */ new Map();
  function cacheValidVideo(cache) {
    if (!cache) {
      return false;
    }
    return ["conclusion"].every((key) => cache[key]);
  }
  function cacheAndUpdateVideo(callback, videoId, api, payload) {
    let cache = videoInfoCache.get(videoId) ?? {};
    cache[api] = payload;
    videoInfoCache.set(videoId, cache);
    callback({ "bvid": videoId, "api": api, "payload": payload });
  }
  function updateVideoInfo(videoId, callback) {
    let cache = videoInfoCache.get(videoId);
    if (cacheValidVideo(cache)) {
      for (let api in cache) {
        callback({ "videoId": videoId, "api": api, "payload": cache[api] });
      }
      return;
    }
    biliGet(`${BILIBILI_API_URL}/x/web-interface/view`, {
      bvid: videoId
    }).then((data) => {
      if (data["code"] == 0) {
        cacheAndUpdateVideo(callback, videoId, "view", data["data"]);
        biliGet(`${BILIBILI_API_URL}/x/web-interface/view/conclusion/get`, {
          bvid: videoId,
          cid: data["data"]["cid"],
          up_mid: data["data"]["owner"]["mid"]
        }).then((data2) => {
          cacheAndUpdateVideo(callback, videoId, "conclusion", data2["data"]);
        });
        biliGet(`${BILIBILI_API_URL}/x/v2/reply/wbi/main`, {
          type: 1,
          oid: data["data"]["aid"]
        }).then((data2) => {
          cacheAndUpdateVideo(callback, videoId, "reply", data2["data"]);
        });
      }
    });
  }
  function showProfile(event, target) {
    const videoId = target.getAttribute("biliscope-videoid");
    if (videoProfileCard == null ? void 0 : videoProfileCard.enable()) {
      const updated = videoProfileCard.updateVideoId(videoId);
      videoProfileCard.updateTarget(target);
      videoProfileCard.updatePosition();
      if (updated) {
        updateVideoInfo(videoId, (data) => {
          videoProfileCard.updateData(data);
        });
      }
    }
  }
  function showProfileDebounce(event) {
    clearTimeout(this.timer);
    const target = event.target.closest("[biliscope-videoid]");
    if (!target) {
      return;
    }
    target.addEventListener("mouseout", () => clearTimeout(this.timer));
    this.timer = setTimeout(() => {
      showProfile(event, target);
    }, 800);
  }
  window.addEventListener("load", function() {
    videoProfileCard = new VideoProfileCard();
    this.document.addEventListener("mouseover", showProfileDebounce);
    installIdHooks();
  });
  const BILIBILI_DYNAMIC_URL = "https://t.bilibili.com";
  const BILIBILI_DYNAMIC_DETAIL_URL = "https://www.bilibili.com/opus";
  const BILIBILI_SPACE_URL = "https://space.bilibili.com";
  const BILIBILI_POPULAR_URL = "https://www.bilibili.com/v/popular";
  const BILIBILI_VIDEO_URL = "https://www.bilibili.com/video";
  const BILIBILI_WATCH_LATER_URL = "https://www.bilibili.com/list/watchlater";
  var videoProfileCard = null;
  function getVideoIdFromLink(link) {
    var _a;
    const regexBV = /(BV[1-9a-zA-Z]{10})/g;
    return (_a = link.match(regexBV)) == null ? void 0 : _a[0];
  }
  function elementImageChildren(el) {
    return el.querySelector("img") || el.querySelector("picture");
  }
  function labelLinks() {
    for (let el of document.getElementsByTagName("a")) {
      if (el.href.startsWith(BILIBILI_VIDEO_URL) || el.href.startsWith(BILIBILI_WATCH_LATER_URL)) {
        const videoId = getVideoIdFromLink(el.href);
        if (videoId && elementImageChildren(el)) {
          el.setAttribute("biliscope-videoid", videoId);
        }
      }
    }
  }
  function installIdHooks() {
    let pageObserver = new MutationObserver((mutationList, observer) => {
      labelLinks();
    });
    pageObserver.observe(document.body, {
      childList: true,
      subtree: true
    });
  }
  const md5 = function(r) {
    function n(o) {
      if (t[o]) return t[o].exports;
      var e = t[o] = { i: o, l: false, exports: {} };
      return r[o].call(e.exports, e, e.exports, n), e.l = true, e.exports;
    }
    var t = {};
    return n.m = r, n.c = t, n.i = function(r2) {
      return r2;
    }, n.d = function(r2, t2, o) {
      n.o(r2, t2) || Object.defineProperty(r2, t2, { configurable: false, enumerable: true, get: o });
    }, n.n = function(r2) {
      var t2 = r2 && r2.__esModule ? function() {
        return r2.default;
      } : function() {
        return r2;
      };
      return n.d(t2, "a", t2), t2;
    }, n.o = function(r2, n2) {
      return Object.prototype.hasOwnProperty.call(r2, n2);
    }, n.p = "", n(n.s = 4);
  }([function(r, n) {
    var t = { utf8: { stringToBytes: function(r2) {
      return t.bin.stringToBytes(unescape(encodeURIComponent(r2)));
    }, bytesToString: function(r2) {
      return decodeURIComponent(escape(t.bin.bytesToString(r2)));
    } }, bin: { stringToBytes: function(r2) {
      for (var n2 = [], t2 = 0; t2 < r2.length; t2++) n2.push(255 & r2.charCodeAt(t2));
      return n2;
    }, bytesToString: function(r2) {
      for (var n2 = [], t2 = 0; t2 < r2.length; t2++) n2.push(String.fromCharCode(r2[t2]));
      return n2.join("");
    } } };
    r.exports = t;
  }, function(r, n, t) {
    !function() {
      var n2 = t(2), o = t(0).utf8, e = t(3), u = t(0).bin, i = function(r2, t2) {
        r2.constructor == String ? r2 = t2 && "binary" === t2.encoding ? u.stringToBytes(r2) : o.stringToBytes(r2) : e(r2) ? r2 = Array.prototype.slice.call(r2, 0) : Array.isArray(r2) || (r2 = r2.toString());
        for (var f = n2.bytesToWords(r2), s = 8 * r2.length, c = 1732584193, a = -271733879, l = -1732584194, g = 271733878, h = 0; h < f.length; h++) f[h] = 16711935 & (f[h] << 8 | f[h] >>> 24) | 4278255360 & (f[h] << 24 | f[h] >>> 8);
        f[s >>> 5] |= 128 << s % 32, f[14 + (s + 64 >>> 9 << 4)] = s;
        for (var p = i._ff, y = i._gg, v = i._hh, d = i._ii, h = 0; h < f.length; h += 16) {
          var b = c, T = a, x = l, B = g;
          c = p(c, a, l, g, f[h + 0], 7, -680876936), g = p(g, c, a, l, f[h + 1], 12, -389564586), l = p(l, g, c, a, f[h + 2], 17, 606105819), a = p(a, l, g, c, f[h + 3], 22, -1044525330), c = p(c, a, l, g, f[h + 4], 7, -176418897), g = p(g, c, a, l, f[h + 5], 12, 1200080426), l = p(l, g, c, a, f[h + 6], 17, -1473231341), a = p(a, l, g, c, f[h + 7], 22, -45705983), c = p(c, a, l, g, f[h + 8], 7, 1770035416), g = p(g, c, a, l, f[h + 9], 12, -1958414417), l = p(l, g, c, a, f[h + 10], 17, -42063), a = p(a, l, g, c, f[h + 11], 22, -1990404162), c = p(c, a, l, g, f[h + 12], 7, 1804603682), g = p(g, c, a, l, f[h + 13], 12, -40341101), l = p(l, g, c, a, f[h + 14], 17, -1502002290), a = p(a, l, g, c, f[h + 15], 22, 1236535329), c = y(c, a, l, g, f[h + 1], 5, -165796510), g = y(g, c, a, l, f[h + 6], 9, -1069501632), l = y(l, g, c, a, f[h + 11], 14, 643717713), a = y(a, l, g, c, f[h + 0], 20, -373897302), c = y(c, a, l, g, f[h + 5], 5, -701558691), g = y(g, c, a, l, f[h + 10], 9, 38016083), l = y(l, g, c, a, f[h + 15], 14, -660478335), a = y(a, l, g, c, f[h + 4], 20, -405537848), c = y(c, a, l, g, f[h + 9], 5, 568446438), g = y(g, c, a, l, f[h + 14], 9, -1019803690), l = y(l, g, c, a, f[h + 3], 14, -187363961), a = y(a, l, g, c, f[h + 8], 20, 1163531501), c = y(c, a, l, g, f[h + 13], 5, -1444681467), g = y(g, c, a, l, f[h + 2], 9, -51403784), l = y(l, g, c, a, f[h + 7], 14, 1735328473), a = y(a, l, g, c, f[h + 12], 20, -1926607734), c = v(c, a, l, g, f[h + 5], 4, -378558), g = v(g, c, a, l, f[h + 8], 11, -2022574463), l = v(l, g, c, a, f[h + 11], 16, 1839030562), a = v(a, l, g, c, f[h + 14], 23, -35309556), c = v(c, a, l, g, f[h + 1], 4, -1530992060), g = v(g, c, a, l, f[h + 4], 11, 1272893353), l = v(l, g, c, a, f[h + 7], 16, -155497632), a = v(a, l, g, c, f[h + 10], 23, -1094730640), c = v(c, a, l, g, f[h + 13], 4, 681279174), g = v(g, c, a, l, f[h + 0], 11, -358537222), l = v(l, g, c, a, f[h + 3], 16, -722521979), a = v(a, l, g, c, f[h + 6], 23, 76029189), c = v(c, a, l, g, f[h + 9], 4, -640364487), g = v(g, c, a, l, f[h + 12], 11, -421815835), l = v(l, g, c, a, f[h + 15], 16, 530742520), a = v(a, l, g, c, f[h + 2], 23, -995338651), c = d(c, a, l, g, f[h + 0], 6, -198630844), g = d(g, c, a, l, f[h + 7], 10, 1126891415), l = d(l, g, c, a, f[h + 14], 15, -1416354905), a = d(a, l, g, c, f[h + 5], 21, -57434055), c = d(c, a, l, g, f[h + 12], 6, 1700485571), g = d(g, c, a, l, f[h + 3], 10, -1894986606), l = d(l, g, c, a, f[h + 10], 15, -1051523), a = d(a, l, g, c, f[h + 1], 21, -2054922799), c = d(c, a, l, g, f[h + 8], 6, 1873313359), g = d(g, c, a, l, f[h + 15], 10, -30611744), l = d(l, g, c, a, f[h + 6], 15, -1560198380), a = d(a, l, g, c, f[h + 13], 21, 1309151649), c = d(c, a, l, g, f[h + 4], 6, -145523070), g = d(g, c, a, l, f[h + 11], 10, -1120210379), l = d(l, g, c, a, f[h + 2], 15, 718787259), a = d(a, l, g, c, f[h + 9], 21, -343485551), c = c + b >>> 0, a = a + T >>> 0, l = l + x >>> 0, g = g + B >>> 0;
        }
        return n2.endian([c, a, l, g]);
      };
      i._ff = function(r2, n3, t2, o2, e2, u2, i2) {
        var f = r2 + (n3 & t2 | ~n3 & o2) + (e2 >>> 0) + i2;
        return (f << u2 | f >>> 32 - u2) + n3;
      }, i._gg = function(r2, n3, t2, o2, e2, u2, i2) {
        var f = r2 + (n3 & o2 | t2 & ~o2) + (e2 >>> 0) + i2;
        return (f << u2 | f >>> 32 - u2) + n3;
      }, i._hh = function(r2, n3, t2, o2, e2, u2, i2) {
        var f = r2 + (n3 ^ t2 ^ o2) + (e2 >>> 0) + i2;
        return (f << u2 | f >>> 32 - u2) + n3;
      }, i._ii = function(r2, n3, t2, o2, e2, u2, i2) {
        var f = r2 + (t2 ^ (n3 | ~o2)) + (e2 >>> 0) + i2;
        return (f << u2 | f >>> 32 - u2) + n3;
      }, i._blocksize = 16, i._digestsize = 16, r.exports = function(r2, t2) {
        if (void 0 === r2 || null === r2) throw new Error("Illegal argument " + r2);
        var o2 = n2.wordsToBytes(i(r2, t2));
        return t2 && t2.asBytes ? o2 : t2 && t2.asString ? u.bytesToString(o2) : n2.bytesToHex(o2);
      };
    }();
  }, function(r, n) {
    !function() {
      var n2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", t = { rotl: function(r2, n3) {
        return r2 << n3 | r2 >>> 32 - n3;
      }, rotr: function(r2, n3) {
        return r2 << 32 - n3 | r2 >>> n3;
      }, endian: function(r2) {
        if (r2.constructor == Number) return 16711935 & t.rotl(r2, 8) | 4278255360 & t.rotl(r2, 24);
        for (var n3 = 0; n3 < r2.length; n3++) r2[n3] = t.endian(r2[n3]);
        return r2;
      }, randomBytes: function(r2) {
        for (var n3 = []; r2 > 0; r2--) n3.push(Math.floor(256 * Math.random()));
        return n3;
      }, bytesToWords: function(r2) {
        for (var n3 = [], t2 = 0, o = 0; t2 < r2.length; t2++, o += 8) n3[o >>> 5] |= r2[t2] << 24 - o % 32;
        return n3;
      }, wordsToBytes: function(r2) {
        for (var n3 = [], t2 = 0; t2 < 32 * r2.length; t2 += 8) n3.push(r2[t2 >>> 5] >>> 24 - t2 % 32 & 255);
        return n3;
      }, bytesToHex: function(r2) {
        for (var n3 = [], t2 = 0; t2 < r2.length; t2++) n3.push((r2[t2] >>> 4).toString(16)), n3.push((15 & r2[t2]).toString(16));
        return n3.join("");
      }, hexToBytes: function(r2) {
        for (var n3 = [], t2 = 0; t2 < r2.length; t2 += 2) n3.push(parseInt(r2.substr(t2, 2), 16));
        return n3;
      }, bytesToBase64: function(r2) {
        for (var t2 = [], o = 0; o < r2.length; o += 3) for (var e = r2[o] << 16 | r2[o + 1] << 8 | r2[o + 2], u = 0; u < 4; u++) 8 * o + 6 * u <= 8 * r2.length ? t2.push(n2.charAt(e >>> 6 * (3 - u) & 63)) : t2.push("=");
        return t2.join("");
      }, base64ToBytes: function(r2) {
        r2 = r2.replace(/[^A-Z0-9+\/]/gi, "");
        for (var t2 = [], o = 0, e = 0; o < r2.length; e = ++o % 4) 0 != e && t2.push((n2.indexOf(r2.charAt(o - 1)) & Math.pow(2, -2 * e + 8) - 1) << 2 * e | n2.indexOf(r2.charAt(o)) >>> 6 - 2 * e);
        return t2;
      } };
      r.exports = t;
    }();
  }, function(r, n) {
    function t(r2) {
      return !!r2.constructor && "function" == typeof r2.constructor.isBuffer && r2.constructor.isBuffer(r2);
    }
    function o(r2) {
      return "function" == typeof r2.readFloatLE && "function" == typeof r2.slice && t(r2.slice(0, 0));
    }
    r.exports = function(r2) {
      return null != r2 && (t(r2) || o(r2) || !!r2._isBuffer);
    };
  }, function(r, n, t) {
    r.exports = t(1);
  }]);
  function secondsToDisplay(sec) {
    if (!sec) {
      return 0;
    }
    function digitToStr(n) {
      n = Math.floor(n);
      return n < 10 ? "0" + n : n;
    }
    sec = Math.floor(sec);
    if (sec < 60) {
      return `00:${digitToStr(sec)}`;
    } else if (sec < 60 * 60) {
      return `${digitToStr(sec / 60)}:${digitToStr(sec % 60)}`;
    } else {
      return `${digitToStr(sec / 60 / 60)}:${digitToStr(sec / 60) % 60}:${digitToStr(sec % 60)}`;
    }
  }
  function secondsToTimeLink(sec) {
    if (!sec) {
      return 0;
    }
    function digitToStr(n) {
      n = Math.floor(n);
      return n < 10 ? "0" + n : n;
    }
    sec = Math.floor(sec);
    if (sec < 60) {
      return `${digitToStr(sec)}s`;
    } else if (sec < 60 * 60) {
      return `${digitToStr(sec / 60)}m${digitToStr(sec % 60)}s`;
    } else {
      return `${digitToStr(sec / 60 / 60)}h${digitToStr(sec / 60) % 60}m${digitToStr(sec % 60)}s`;
    }
  }
  function displayElOutsideTarget(el, targetBounding, directions, cursorPadding = 10, windowPadding = 20) {
    const cardWidth = el.scrollWidth;
    const cardHeight = el.scrollHeight;
    const { left = 0, right = 0, top = 0, bottom = 0 } = targetBounding;
    for (const direction of directions) {
      switch (direction) {
        case "left":
          if (left - windowPadding - cardWidth < 0) {
            continue;
          }
          el.style.left = `${left - cursorPadding - cardWidth + window.scrollX}px`;
          break;
        case "right":
          if (right + windowPadding + cardWidth > window.innerWidth) {
            continue;
          }
          el.style.left = `${right + cursorPadding + window.scrollX}px`;
          break;
        case "top":
          if (top - cardHeight < 0) {
            continue;
          }
          el.style.top = `${top - cursorPadding - cardHeight + window.scrollY}px`;
          break;
        case "bottom":
          console.log(bottom + cardHeight, window.innerHeight);
          if (bottom + cardHeight > window.innerHeight) {
            continue;
          }
        case "default":
          el.style.top = `${bottom + cursorPadding + window.scrollY}px`;
          break;
      }
      switch (direction) {
        case "left":
        case "right":
          if (top + windowPadding + cardHeight < window.innerHeight) {
            el.style.top = `${top + window.scrollY}px`;
          } else if (bottom - windowPadding - cardHeight > 0) {
            el.style.top = `${bottom - cardHeight + window.scrollY}px`;
          } else {
            const middle = top + (bottom - top) / 2;
            el.style.top = `${middle - cardHeight / 2 + window.scrollY}px`;
          }
          return;
        case "top":
        case "bottom":
        case "default":
          if (left + cardWidth > window.innerWidth) {
            el.style.left = `${right - cardHeight + window.scrollX}px`;
          } else {
            el.style.left = `${left + window.scrollX}px`;
          }
          return;
      }
    }
  }
  function getVideoProfileCardHTML(data) {
    return `
        <div id="biliscope-video-card">
            <div id="biliscope-ai-summary-none">此视频不存在AI总结</div>
            <div id="biliscope-video-card-inner">
                ${getAiSummaryHTML()}
                <div id="biliscope-hot-comment-wrapper">
                    <div id="biliscope-hot-comment-icon">
                    </div>
                    <div id="biliscope-hot-comment">
                        <span id="biliscope-hot-comment-author">
                        </span>
                        <span id="biliscope-hot-comment-text">
                        </span>
                    </div>
                </div>
            </div>
        </div>
    `;
  }
  function getAiSummaryHTML(data) {
    return `
        <div id="biliscope-ai-summary-popup" class="biliscope-ai-summary-popup">
            <div class="biliscope-ai-summary-popup-header">
                <div class="biliscope-ai-summary-popup-header-left">
                    <svg width="30" height="30" viewBox="0 0 30 30" fill="none"
                        xmlns="http://www.w3.org/2000/svg" class="biliscope-ai-summary-popup-icon">
                        <g clip-path="url(#clip0_8728_3421)">
                            <path fill-rule="evenodd" clip-rule="evenodd"
                                d="M7.53976 2.34771C8.17618 1.81736 9.12202 1.90335 9.65237 2.53976L12.1524 5.53976C12.6827 6.17618 12.5967 7.12202 11.9603 7.65237C11.3239 8.18272 10.3781 8.09673 9.84771 7.46031L7.34771 4.46031C6.81736 3.8239 6.90335 2.87805 7.53976 2.34771Z"
                                fill="url(#paint0_linear_8728_3421)"></path>
                            <path fill-rule="evenodd" clip-rule="evenodd"
                                d="M21.9602 2.34771C21.3238 1.81736 20.378 1.90335 19.8476 2.53976L17.3476 5.53976C16.8173 6.17618 16.9033 7.12202 17.5397 7.65237C18.1761 8.18272 19.1219 8.09673 19.6523 7.46031L22.1523 4.46031C22.6826 3.8239 22.5967 2.87805 21.9602 2.34771Z"
                                fill="url(#paint1_linear_8728_3421)"></path>
                            <g opacity="0.2" filter="url(#filter0_d_8728_3421)">
                                <path
                                    d="M27 18.2533C27 25.0206 21.6274 27 15 27C8.37258 27 3 25.0206 3 18.2533C3 11.486 3.92308 6 15 6C26.5385 6 27 11.486 27 18.2533Z"
                                    fill="#D9D9D9"></path>
                            </g>
                            <g filter="url(#filter1_ii_8728_3421)">
                                <path
                                    d="M28 18.9489C28 26.656 22.1797 28 15 28C7.8203 28 2 26.656 2 18.9489C2 10 3 6 15 6C27.5 6 28 10 28 18.9489Z"
                                    fill="url(#paint2_linear_8728_3421)"></path>
                            </g>
                            <path
                                d="M4.78613 14.2091C4.78613 11.9263 6.44484 9.96205 8.71139 9.6903C13.2069 9.1513 16.7678 9.13141 21.3132 9.68091C23.5697 9.95371 25.2147 11.9138 25.2147 14.1868V19.192C25.2147 21.3328 23.7551 23.2258 21.6452 23.5884C16.903 24.4032 13.1705 24.2461 8.55936 23.5137C6.36235 23.1647 4.78613 21.2323 4.78613 19.0078V14.2091Z"
                                fill="#191924"></path>
                            <path d="M19.6426 15.3125L19.6426 18.0982" stroke="#2CFFFF" stroke-width="2.4"
                                stroke-linecap="round"></path>
                            <path d="M10.3574 14.8516L12.2146 16.7087L10.3574 18.5658" stroke="#2CFFFF" stroke-width="1.8"
                                stroke-linecap="round" stroke-linejoin="round"></path>
                        </g>
                        <defs>
                            <filter id="filter0_d_8728_3421" x="1" y="4" width="30" height="27" filterUnits="userSpaceOnUse"
                                color-interpolation-filters="sRGB">
                                <feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood>
                                <feColorMatrix in="SourceAlpha" type="matrix"
                                    values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"></feColorMatrix>
                                <feOffset dx="1" dy="1"></feOffset>
                                <feGaussianBlur stdDeviation="1.5"></feGaussianBlur>
                                <feComposite in2="hardAlpha" operator="out"></feComposite>
                                <feColorMatrix type="matrix"
                                    values="0 0 0 0 0.039545 0 0 0 0 0.0845023 0 0 0 0 0.200107 0 0 0 0.85 0">
                                </feColorMatrix>
                                <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_8728_3421">
                                </feBlend>
                                <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_8728_3421" result="shape">
                                </feBlend>
                            </filter>
                            <filter id="filter1_ii_8728_3421" x="0" y="4.14286" width="30.7857" height="26.6429"
                                filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
                                <feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood>
                                <feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"></feBlend>
                                <feColorMatrix in="SourceAlpha" type="matrix"
                                    values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"></feColorMatrix>
                                <feOffset dx="2.78571" dy="3.71429"></feOffset>
                                <feGaussianBlur stdDeviation="1.39286"></feGaussianBlur>
                                <feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"></feComposite>
                                <feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.25 0">
                                </feColorMatrix>
                                <feBlend mode="normal" in2="shape" result="effect1_innerShadow_8728_3421"></feBlend>
                                <feColorMatrix in="SourceAlpha" type="matrix"
                                    values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"></feColorMatrix>
                                <feOffset dx="-2" dy="-1.85714"></feOffset>
                                <feGaussianBlur stdDeviation="1.85714"></feGaussianBlur>
                                <feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"></feComposite>
                                <feColorMatrix type="matrix"
                                    values="0 0 0 0 0 0 0 0 0 0.15445 0 0 0 0 0.454264 0 0 0 0.11 0"></feColorMatrix>
                                <feBlend mode="normal" in2="effect1_innerShadow_8728_3421"
                                    result="effect2_innerShadow_8728_3421"></feBlend>
                            </filter>
                            <linearGradient id="paint0_linear_8728_3421" x1="6.80424" y1="2.84927" x2="9.01897" y2="8.29727"
                                gradientUnits="userSpaceOnUse">
                                <stop stop-color="#393946"></stop>
                                <stop offset="0.401159" stop-color="#23232E"></stop>
                                <stop offset="1" stop-color="#191924"></stop>
                            </linearGradient>
                            <linearGradient id="paint1_linear_8728_3421" x1="22.6958" y1="2.84927" x2="20.481" y2="8.29727"
                                gradientUnits="userSpaceOnUse">
                                <stop stop-color="#393946"></stop>
                                <stop offset="0.401159" stop-color="#23232E"></stop>
                                <stop offset="1" stop-color="#191924"></stop>
                            </linearGradient>
                            <linearGradient id="paint2_linear_8728_3421" x1="7.67091" y1="10.8068" x2="19.9309" y2="29.088"
                                gradientUnits="userSpaceOnUse">
                                <stop stop-color="#F4FCFF"></stop>
                                <stop offset="1" stop-color="#EAF5F9"></stop>
                            </linearGradient>
                            <clipPath id="clip0_8728_3421">
                                <rect width="30" height="30" fill="white"></rect>
                            </clipPath>
                        </defs>
                    </svg>
                    <div class="biliscope-ai-summary-popup-tips">
                        <span class="biliscope-ai-summary-popup-tips-text">已为你生成视频总结</span>
                    </div>
                </div>
            </div>
            <div class="biliscope-ai-summary-popup-body">
                <div id="biliscope-ai-summary-abstracts" class="biliscope-ai-summary-popup-body-abstracts">
                </div>
                <div id="biliscope-ai-summary-outline" class="biliscope-ai-summary-popup-body-outline">
                </div>
            </div>
        </div>
    `;
  }
  function VideoProfileCard() {
    this.enabled = false;
    this.data = {};
    this.target = null;
    this.enabled = false;
    this.videoId = null;
    this.el = document.createElement("div");
    this.el.style.position = "absolute";
    this.el.style.display = "none";
    this.el.innerHTML = getVideoProfileCardHTML(this.data);
    document.body.appendChild(this.el);
    const outlineDiv = document.getElementById("biliscope-ai-summary-outline");
    outlineDiv == null ? void 0 : outlineDiv.addEventListener("click", (ev) => {
      const node = ev.target.closest("[biliscope-video-timestamp]");
      if (node) {
        const timestamp = parseInt(node.getAttribute("biliscope-video-timestamp"));
        const tLink = secondsToTimeLink(timestamp);
        window.open(`https://www.bilibili.com/video/${this.videoId}/?t=${tLink}`, "_blank");
      }
    });
    document.body.appendChild(this.el);
    this.disable();
  }
  VideoProfileCard.prototype.enable = function() {
    if (!this.enabled) {
      this.enabled = true;
      return true;
    }
    return false;
  };
  VideoProfileCard.prototype.disable = function() {
    this.videoId = null;
    this.enabled = false;
    this.valid = false;
    this.data = {};
    if (this.el) {
      this.el.style.display = "none";
    }
    return true;
  };
  VideoProfileCard.prototype.setLeaveEvent = function() {
    let validTargets = [this.el, this.target];
    const dispatchToPopover = (event) => {
      const popover = this.target.closest(".v-popover");
      popover == null ? void 0 : popover.dispatchEvent(new Event(event));
    };
    this.leaveCallback = (ev) => {
      if (this.disable()) {
        for (let target of validTargets) {
          target.removeEventListener("mouseleave", this.disableDebounce);
          target.removeEventListener("mouseenter", this.enterCallback);
        }
        if (ev.target == this.el) {
          dispatchToPopover("mouseleave");
        }
      }
    };
    this.enterCallback = (ev) => {
      clearTimeout(this.disableDebounce.timer);
      if (ev.target == this.el) {
        dispatchToPopover("mouseenter");
      }
    };
    this.disableDebounce = (ev) => {
      this.disableDebounce.timer = setTimeout(() => {
        this.leaveCallback(ev);
      }, 400);
    };
    for (let target of validTargets) {
      target.addEventListener("mouseleave", this.disableDebounce);
      target.addEventListener("mouseenter", this.enterCallback);
    }
  };
  VideoProfileCard.prototype.updateVideoId = function(videoId) {
    let updated = this.videoId != videoId;
    this.videoId = videoId;
    return updated;
  };
  VideoProfileCard.prototype.updatePosition = function() {
    const targetBounding = this.target.getBoundingClientRect();
    const { href } = window.location;
    if ((href.startsWith(BILIBILI_DYNAMIC_URL) || href.startsWith(BILIBILI_DYNAMIC_DETAIL_URL) || href.startsWith(BILIBILI_SPACE_URL) && window.location.pathname.endsWith("/dynamic")) && this.target.matches(".bili-dyn-card-video")) {
      displayElOutsideTarget(this.el, targetBounding, ["left", "bottom", "top", "right", "default"]);
    } else if (href.startsWith(BILIBILI_POPULAR_URL) && this.target.matches(".popular-container [biliscope-videoid]")) {
      displayElOutsideTarget(this.el, targetBounding, ["bottom", "top", "left", "default"]);
    } else if ((href.startsWith(BILIBILI_VIDEO_URL) || href.startsWith(BILIBILI_WATCH_LATER_URL)) && this.target.matches("#reco_list [biliscope-videoid]")) {
      displayElOutsideTarget(this.el, targetBounding, ["left", "bottom", "top", "default"]);
    } else {
      displayElOutsideTarget(this.el, targetBounding, ["right", "left", "bottom", "top", "default"]);
    }
  };
  VideoProfileCard.prototype.updateTarget = function(target) {
    if (target != this.target) {
      let node = target;
      let zIndex = 1002;
      while (node && node != document) {
        if (node instanceof ShadowRoot) {
          node = node.host;
        }
        let containerIndex = window.getComputedStyle(node).getPropertyValue("z-index");
        if (containerIndex && containerIndex != "auto" && containerIndex > zIndex) {
          zIndex = containerIndex;
        }
        node = node.parentNode;
      }
      this.el.style.zIndex = zIndex + 1;
    }
    this.target = target;
    this.valid = null;
    this.setLeaveEvent();
  };
  VideoProfileCard.prototype.drawConclusion = function() {
    var _a, _b, _c, _d;
    let summary = (_b = (_a = this.data.conclusion) == null ? void 0 : _a.model_result) == null ? void 0 : _b.summary;
    let outline = (_d = (_c = this.data.conclusion) == null ? void 0 : _c.model_result) == null ? void 0 : _d.outline;
    const summaryDiv = document.getElementById("biliscope-ai-summary-abstracts");
    const outlineDiv = document.getElementById("biliscope-ai-summary-outline");
    if (summary) {
      summaryDiv.classList.remove("d-none");
      summaryDiv.innerHTML = summary;
    } else {
      summaryDiv.classList.add("d-none");
    }
    if (outline && outline.length > 0) {
      let outlineHTML = "";
      outlineDiv.classList.remove("d-none");
      for (let i = 0; i < outline.length; i++) {
        outlineHTML += `<div class="ai-summary-section" biliscope-video-timestamp="${outline[i].timestamp}">`;
        outlineHTML += `<div class="ai-summary-section-title">
                                ${outline[i].title}
                            </div>`;
        for (let j = 0; j < outline[i].part_outline.length; j++) {
          let part = outline[i].part_outline[j];
          outlineHTML += `<div class="bullet" biliscope-video-timestamp="${part.timestamp}">`;
          outlineHTML += `<span class="timestamp">
                                    <span class="timestamp-inner">${secondsToDisplay(part.timestamp)}</span>
                                </span>
                                <span class="content">
                                    ${part.content}
                                </span>`;
          outlineHTML += `</div>`;
        }
        outlineHTML += "</div>";
      }
      outlineDiv.innerHTML = outlineHTML;
    } else {
      outlineDiv.classList.add("d-none");
    }
  };
  VideoProfileCard.prototype.drawHotComment = function() {
    var _a, _b;
    if (!((_a = this.data.replies) == null ? void 0 : _a.length)) {
      document.getElementById("biliscope-hot-comment-wrapper").classList.add("d-none");
      return;
    }
    let hotComment = (_b = this.data.replies.filter(
      (reply) => (reply == null ? void 0 : reply.attr) == 32768
    )) == null ? void 0 : _b[0];
    if (!hotComment) {
      hotComment = this.data.replies.reduce(
        (lReply, rReply) => lReply.like > rReply.like ? lReply : rReply
      );
    }
    if (hotComment) {
      const { content, member } = hotComment;
      const hotCommentText = document.getElementById("biliscope-hot-comment-text");
      const hotCommentAuthor = document.getElementById("biliscope-hot-comment-author");
      hotCommentText.innerHTML = "";
      hotCommentAuthor.innerHTML = `${member.uname}:`;
      hotCommentAuthor.onclick = function() {
        open(`//space.bilibili.com/${member.mid}`);
      };
      const emotes = content == null ? void 0 : content.emote;
      const jump_urls = content == null ? void 0 : content.jump_url;
      const separators = Object.keys(emotes || {}).concat(Object.keys(jump_urls || {}));
      const regexStr = separators.map(
        (s) => s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")
      ).join("|");
      if (!regexStr) {
        hotCommentText.innerHTML = content.message;
      } else {
        let jump_urls_copy = { ...jump_urls };
        content.message.split(new RegExp(`(${regexStr})`)).map((s) => {
          let hotCommentItem;
          if (emotes == null ? void 0 : emotes[s]) {
            hotCommentItem = document.createElement("img");
            hotCommentItem.src = emotes[s].url;
          } else if (jump_urls_copy == null ? void 0 : jump_urls_copy[s]) {
            hotCommentItem = document.createElement("a");
            hotCommentItem.target = "_blank";
            hotCommentItem.href = jump_urls_copy[s].pc_url;
            hotCommentItem.innerHTML = s;
            delete jump_urls_copy[s];
          } else {
            hotCommentItem = document.createElement("span");
            hotCommentItem.innerHTML = s;
          }
          hotCommentText.appendChild(hotCommentItem);
        });
      }
      document.getElementById("biliscope-hot-comment-wrapper").classList.remove("d-none");
    }
  };
  VideoProfileCard.prototype.updateData = function(data) {
    var _a;
    if (data["api"] == "view") {
      this.data.view = data["payload"];
    } else if (data["api"] == "conclusion") {
      this.data.conclusion = data["payload"];
      if (this.data.conclusion.code == 0) {
        this.valid = true;
      } else {
        this.valid = false;
      }
    } else if (data["api"] == "reply") {
      this.data.replies = (_a = data.payload) == null ? void 0 : _a.replies;
    }
    if (this.enabled && this.el) {
      if (this.valid != null) {
        this.el.style.display = "flex";
        if (this.valid) {
          this.drawConclusion();
          this.drawHotComment();
          document.getElementById("biliscope-video-card-inner").classList.remove("d-none");
          document.getElementById("biliscope-ai-summary-none").classList.add("d-none");
        } else {
          document.getElementById("biliscope-video-card-inner").classList.add("d-none");
          document.getElementById("biliscope-ai-summary-none").classList.remove("d-none");
        }
      }
    }
    this.updatePosition();
  };

})();