// ==UserScript== // @name Bilibili Evolved (Preview Offline) // @version 487.06 // @description Bilibili Evolved 的预览离线版, 可以抢先体验新功能, 并且所有功能都已内置于脚本中. // @author Grant Howard, Coulomb-G // @copyright 2019, Grant Howard (https://github.com/the1812) & Coulomb-G (https://github.com/Coulomb-G) // @license MIT // @match *://*.bilibili.com/* // @run-at document-start // @updateURL https://github.com/the1812/Bilibili-Evolved/raw/preview/bilibili-evolved.preview-offline.user.js // @downloadURL https://github.com/the1812/Bilibili-Evolved/raw/preview/bilibili-evolved.preview-offline.user.js // @supportURL https://github.com/the1812/Bilibili-Evolved/issues // @homepage https://github.com/the1812/Bilibili-Evolved // @grant unsafeWindow // @grant GM_getValue // @grant GM_setValue // @grant GM_setClipboard // @grant GM_info // @grant GM_xmlhttpRequest // @grant GM.getValue // @grant GM.setValue // @grant GM.setClipboard // @grant GM.info // @grant GM.xmlHttpRequest // @connect raw.githubusercontent.com // @connect * // @require https://greasemonkey.github.io/gm4-polyfill/gm4-polyfill.js // @require https://code.jquery.com/jquery-3.4.0.min.js // @require https://cdn.jsdelivr.net/npm/lodash@4.17.15/lodash.min.js // @require https://cdn.bootcss.com/jszip/3.1.5/jszip.min.js // @require https://cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.js // @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAAC0CAYAAAA9zQYyAAAACXBIWXMAAAsTAAALEwEAmpwYAAAH0mlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxOC0wMi0yNVQxNDo1NzozOCswODowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOC0wMi0yNVQxNDo1NzozOCswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMTgtMDItMjVUMTQ6NTc6MzgrMDg6MDAiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODY3MDMzY2UtZjdlMy0wYTRiLWE5YWItODE3ZTI2ZmNlYTMyIiB4bXBNTTpEb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6YWFhN2UzZTQtM2MzOS0yOTQ4LWI1OTgtYTEzM2ZjMTMxNDMyIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6YjRjNGFjZWUtZjQyYS0yMTQwLTlmMzgtY2NlZTc3YmY2ZTM1IiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkhpc3Rvcnk9IjIwMTgtMDItMjVUMTQ6NTc6MTArMDg6MDAmI3g5O+aWh+S7tiDmnKrmoIfpopgtMiDlt7LmiZPlvIAmI3hBO+W7uueriyYjeDk75paw5bu6OiDmlofmoaMmI3hBO0ZBTFNFJiN4QTvmqKHlvI86IFJHQiDpopzoibLmqKHlvI8mI3hBO+WuveW6pjogMi41IOiLseWvuCYjeEE76auY5bqmOiAyLjUg6Iux5a+4JiN4QTvmr4/oi7Hlr7gg5YiG6L6o546HOiA3MiYjeEE75YOP57Sg6ZW/5a695q+UOiAxJiN4QTvloavlhYU6IOmAj+aYjiYjeEE75rex5bqmOiA4JiN4QTvphY3nva7mlofku7Y6IOKAnG5vbmXigJ0mI3hBO+WPguiAg+e6vzog5pegJiN4QTsyMTcmI3hBOyYjeEE757KY6LS0JiN4QTvnspjotLQmI3g5O+a2iOmZpOmUr+m9vzog5pegJiN4QTvkuLo6IOWDj+e0oCYjeEE7JiN4QTsyMDE4LTAyLTI1VDE0OjU3OjM4KzA4OjAwJiN4OTvmlofku7YgQzpcVXNlcnNcVGhlMThcUGljdHVyZXNcR3JhcGhpY3NcYmlsaWJpbGkgbG9nbyBzbWFsbC5wbmcg5bey5a2Y5YKoJiN4QTvlrZjlgqgmI3g5OyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6YjRjNGFjZWUtZjQyYS0yMTQwLTlmMzgtY2NlZTc3YmY2ZTM1IiBzdEV2dDp3aGVuPSIyMDE4LTAyLTI1VDE0OjU3OjM4KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIg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 // @icon64 data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAACXBIWXMAAAsSAAALEgHS3X78AAAfPElEQVR4nO2dC3RU9Z3Hf5ME8iAJ4f2WAQQJqAm2AmsrwTZQ2tqSgMVdKwa07bq+YM8WRTmseJAq0rMl0G11+yBRj9t6lhBa66OJQlDbQhUSfGCVQKKEN5oHhADJzJ7fzf+Gycz938f//u/7/znnnglDZnJn5n7n9/z//qFoNAoC7uQAQD4AhMkh/xvIz3mMf7AOAJrJz7Xk5wZy1Mb8n4ATQiDmmU0uflkQBQ6fT02MYGqFcMwhBGKMMBGELApWS2A3dUQoO8nR4JHzdhwhEHVyiBiKyO1YN5+sARqJUCrJrbAwFIRAEgkTQRS5wF2yixoilkphXXojBNINWool5PCK22QV6I6VkSPwliXoAikiopjvgnNxI9uJUCqD+gYEUSDhGGvhl5jCahpjrEqgXLAgCQSzTssBoMQF5+JlygFgI8mK+Z4gCASzT2sCFHDbRQ15X3f6+UUmueAcrGI2+fB2CHFYQgF5b3eS99qX+FEgQhj24muh+MnFChPfWGSknKWcuF6+COb9IJAcEnw/6oJzEVzmMfKF5elaitcFUkQ+BFvTtUeOHIGmpibIzc2F7OxsO/+012gkX16eraN4VSBhkpO3Lcb48MMPYevWrVBVVSWJQyYrKwt27dolhKJODak7ec7t8qJAlhMft7/VfwgtBQoChXHgwAHq7z3wwAOwbNkyq0/H67SQz22jl16HlwRim9VAQeCxe/duXb+PVqS2NhB1Mx54ypp4RSBFRByWWQ20FqWlpZLFaGtrM/z4+vp6S87Lp7QQkbg+NklxwTmokUPMsmX+i1FrIeACftFtA4BS8vm6NtPlZgsSJt8w3NvPW1tbYcuWLZIwYgNuMwgLwkwd8RBc6XK51YJY4lLJblRFRQXT40eNGsVNUIIe8kjjoytdLjcKZA3voh+6TygMFjcKA/A5c+bA3LlzpdsJEybwPDVBN7LL9Rj5/F2D2wRSxrMdHV0oFAbLt/6MGTNg4cKFkijkGgfWQpRAyyLgwqMx63VcgVsEkkOa3UzHG3J8gYfRbBRaCxTF0qVLYfTo0Qn/T3s+pd8VMFNC1u7MdkPw7gaBcAnG8dsdRcESX6AFwEJfrLUQOEoe+cJ0PHh3WiD55I1gDsbRYtx9991M8UVhYSHceeedkjslcB1y8D7bydWLTgrEtDiQtWvXGhKHHHSjxRCukevpH7POxBGROCUQLuJA9LpUKAyMLfAQbpSncFQkTgiEmziAXPhqwbgcX2Dw7SQXIwAnL0ZhQJ8Q9Et29FS8iGMisVsgXMWBTJkyRdHFwrUaq1evdjy+eON0BHZ/EYE9zRHp32sn94Grs0KOnpNHcUQkdgqEuziA1CtoAnFKHLIg8La9q/s+IQku2C4SuwQStkIcQCyIEmrrN6zg5IUo/PFEBPZ8EYFTF8U4VwuRRZJvRwrYDoHkkDqHJa3qaCmUsFMgh9ujcPf+S7b9PYF0LVXaUUy0Y+wPlwo5DUzVYqCuhF0t7O1dwmI4QJ4dQ+usFkiZHdPSaW4WrXeKFbQUZhmXIaIRjuSRa8wyrBTIGrvm4NKCcV4C2XE6Av/5USf89tNO088lUrzcKbGyA9iqGKTIzjlVVgTq57pACrh/19Qlgm738yjJanFfT2KFQMJWm714eAbqmI3acSYCfzreJYkEYlK0as6RcJwcp8yKzBZvF8vSjBUNHoE6xhc/P9wJ/7b/ErzYdFkcAs8gZ7ZyeJ4wb4FsdGoLM5qbhcts1ZDjix9/cEn6WeBp8njHIzwFUuTk5jQ0N0srUH/xaBd82BaRXCQ9Bw2zjxdwYxm5FrnASyC2xx3xsAbqYZF29SNl5Jo0DS+BWDrUTQ+0tR1aFgTrEqEQ6DrUTIDu5xDYQX9eX9g8BLLcDRvV0Goh2AqvFodMzfLzJluBpoBcm6Ywe3WE3TSmhRaHqE01EZVtX7PGrKtlViCOu1ax0Mbv/O1vf6M+JiMZYEhfIRKfYtrVMiOQIrftAcia6h2aKgTiYwrMZLVYBZLjxn0eaALRGhw3NStkKk2r97FCho6xkbWAyCqQ5XZve6YHmoulVU0XqV7fM5Y1YGcRSNitG2bSLAhouFlj04VAAsCjLAE7i0BcNVw4HpZMFsYgopIeCAxfu0YFMtvJdhI9sGSykFxRDwkCJeQa1o3Rq8LV1gNMZLKkeoiZr39hQryCoWvYiEBmuy2tqwRrJmtIX3vOT+A4BUasiBGBuN56gIqLpdWTFc5I0vzyTx2q/NztDR8JA+ItdF/LegXiCesBKhYEe7JwEjwNPane1CHKAulqN74rrsBRdFsRvQLxhPWQoVkRtdZ3ueVEZLECg65rWo9A8r1iPWRore9agfoQ0XISJArIta2KHoGYbhm2G1rru5ZApoqh0kFD89rWEkjY7XUPJWj7f2i1nIiu3sBRolVd1xKIa3YbNQItUFcL0pHBIgYJIqrXuC8FwhKkI1OytJff0hBLbj0Ls0CK3Nixqwe1vQe14pDBGm5W6pCRive3frCHz8kL7Gas2noRNYF40nrIsG6eoxWH0GohAk9DvdZpAsHFJfO9/IqV9iRE0WjtbJsrMllBZD5tQRVtNq+nrQcQgWBQXlVVJblVKA7cs1ALuVhoFBGEe54lSqtkfSsQRN722QhDUtkEAjoF0ng+KhZouRNFgSi5WGGn5uu6gdxMtov3win1bmGZdjEU263kKdVElATCba6pW8BO3q1bt+reUEetHtJ/6nTFx1w42STqIN4n4dpXcrF8JZAVK1ZARUVFz78XLFgAGzZsUH0MullnxKY5QaQo3s2KtyA5XmtMVAOtRqw4EPy3VsuJ5GYZrfbprBQKK+JqCuKzWfECMbRe1+3QioJa69MzktVbTpQQrSa+oZcG4gXiu/hDCa1YZKzK4ilaobDlfXu2nBZYTi8N+NqCzJw5U/F+XF2oxhXpdAuSTll2C8KC+AWqBQl7tfeKBuu+hRkWbtX86XkR/LucsbHp3liB+Mp6gMakRa3W91xKZy/NDHS2t+mK09u7hEA8QI8WfC0QMNH6PojStJgZnqx4/7mGjxjOTuBSFAWiuT7XizCvT++rHEP06ae8WhFEJstP9GhBFkiOX9tLWNenjxH9UkGmRwuyQHxpPUBlfbpWqldt4VRKhnLwf/awutsm8BSSm+V7gagNklNDLdWbOU45DsEBclru1T/OiiDdI0ia8L1AWDfVAcmKiMENAaaXQLhsuu5G1FYQ6plyokQKJVDvOKmv5V3gCSRNyALxTYOiErRNdbRSvVdlKtdCssYpP1/HqSYx1cQ/SJpIYt3c0EvQAnWtTBY2LfJGtNF7ipwkP8cfMjQLoifVq1wLoWextOKPzy/xelUCG8hP8XP8IcOe6lUOqrPCyoLrPNcqgnB/EU4KgkBYu3pp7SaCwBAORAzC2tULlIp6CsXFajusrx9LxCGeIRgxiFpXrxbpyYmZqOzxFBdLZ0fvmYvWvE4Bd/IDs/cxa8FQSvUaKPZ1kThEFAr9QSBcLFApGGoVC2mp3ixK23urDjdL1EM8g+RiBWJIHOvut0ZTvXpaTT4+G+HymgSWk0cbPeo7WC3IwD7G3KIOMkBO4A8CE4PQAnXWlYUDr1ZeZ3Je9GP5isAIhLXdBBmdntiTpTYgSyuL1dRh8sUIbCMwAqG1mzQ1aX/j45ST+DgigzL+5/P3dmvGIOfF4AbPEHgLAjqsyMTMJN0CEWtC/EVgBAIq69O1rEi6gXepXUcMcqRDWBCvECiB0NCV6o2LIwZfo7wNwvlTRzVjkAsiy+sZhAUxkOrV6yZ1imq6bwiUQFjb3gdSUr3ZlOENeqrpB88JN8sLBEogrBNOgIhEbzUdRJDuGwIlEFrbu56t2dDNioc2ZbH1kPZ8LJHq9QbCgui0IErFwv6UtvdLOtrej4pioScIXBaL1YqkJ+lvez9/4ohwsXwCCqQuSC+Y1Ypc2S9RIEOuVk71tuvY8fbYBeFieYA6FEhzkF4xzYJo7VtohEvntF02EYN4gubAuVisy28n9EuMQXImKKd5JQuiEYN0dJl8IQJbQIHUBumtptVC9AxwiI9D+vbLhoyhIxN+b+TMrwsXyx/UBs7FMjPAYVRa4oV+w6r/7iWSIVdfD/k/fEQ0LPqDZlxR2BCkV2xmBFC6tD699zd/zvhc+NZv3oDmQwegT2Y29FPZBTeeQ+1RGK+y5bTAcRoCJxAzFmRkWgg+pMTfAyg1EYGnkQQSqBgEiBVRSutiLURNQGnJ+iaSoDW5qCOT9daxJDiVmSQNlFDbpkHgGLUpQYtBgFgRJZdKqxYyKi2kGDtcOtcKe//nJ9DweqWh89ipcB+KVxYproLEpAKKBw8hJNtplqea1Ph9j5BY1KrptJZ4JC1JObjexyAOGihSWby0uAiFg2JBIeGB/xbC4Q5qAmSBNARJIHhRVVdXJ9yvtS5kRJryLjiHOYlDLziJBY/414DiRrHg68OfhWhMIcXmskAwDinx5uswDuu6EGRAH4Bml+7xgRYn1uqgpUSh4HR7vDWToAggUmweK5DAYKard0CfELRc6p3qHf/1Yjj0+jbXvX34etDKyJYGBTNnzhxJMHirNshC0K2JUDTa82EHprSL37K33XZbwv14AdXWqn9XbDvWBftaer9VF8+1wrvP/KRHJLiQSm/ad1xGSFcNxgrQHVu4cKEkFuGOJSD50rECqQ3KnF5kwoQJivfX19erPm7H6QjsPMNv6sKSMcmSSGTQzcNvfoyH8Ge8xXhDvrUKWSx4CMsidbhL24LECqQsSHEITSA1NTWq36b7WiKw/ThfgYQNVNNxhheOKcLuY/xZDth5UlhYCLfccotkWQJKOX40EBODAEnLB0YgGLQquTZ48akJBGMQnjScjxoSiFwTiU9H42tBi4OHWdHIcQumkpcuXRpEq9JToooXSODBb2W1WkiOwWnvdoHnHHve6JKhaNDS4C2LYPDL4vHHH4fS0lLJmixbtiwosYqiQDDv2wgAY505J3tBn1vJgmiNIc3pE+K6Ac6n7VGAQfxfOn7j40Utu0komKqqKkkweKsnYyeDv1tRUSEdCxYsgNWrV/vZojTG9ifGL5gKjBWhfcBaxUKIsSI8DrvA14uu0oYNG6RM3dNPPy1d7LSuAhooklmzZklWRc975UF6aSBeIPaWhB2Edb8QJCdFeYADy/HpeWey62hZWMWCFmXTpk1w8803O5aitpBeGhAWhIEchRlZXkYWy65du+Cpp56ibhURD8YoWE9au3atn6xJLw3Epnljf8H3fVkYaxQUKL9MrVrIm2ci8Obn/FK93x+dzPS4sQp7uPMCLQO6UXotBIoKxeXxdhZsUJwde4eSQJYDwM9sPS2HYC0W/r05AtWn3DWifWhqCFKTujuOh6WGpLUreJ/8b1aMCAVdtBdeeMHLIvl3ANgYe4eSQMLYoGrraTlEfn6+YjYHP2S1VC/GDS8cYRtL0naiCf769Do4tn8PDBqfC1cXl0D4hkLL3wBZLFdkhCTBZKcYEw4KBF0prRjN4yIZF7/CVkkgEJS2E/Sflb4ZtQRy8kIUtnzGJpAXFt8EZ08e7XXfzRueg5HXKg+hs5oxad2CGZoKcEV6CPprFEK3bNkiWRS1NLFHRdLTXhILbS5WmW2n5UK02t6HMrosR/fvSRAH8vGfKxx7Ez7riMI7LRF4+WQEnm7sgo2HOqHiWBe80xyRvgjiwcr6Sy+9pBrIo3jwy0fPBqkuYqPSqQRaIKwb6gB541gOJc6eaGJ+Pt7HpQhA/bmo1JRZ/lkXPNPYJYnnk3NR6CBhF1bTUSSYGqaBInnwwQd5fVR2oFjioH1muE59u5deHU/0fPNdwTGD1HY88e9dONsKbz+9Dv6wYjHs+OlKOF1vXSevGq2XovBBawQqj3XB5kOdUrv/+23dYsHUMGauaKD7unXrVkfO2yDbabMZUlSeB63IfDecvVXQfGQ9W0MjRltOBlNGlbadPNrruVAcKIwzhy7vVPWPqm0waPxkuHZBCUyeS//mtpr69ijUt3fHXzjQ+6q5C2BdFGDVQ8rWAgN7DyzOonpMarN5K0lfim8x024ibexpsHKelkm/SC6evbyvYcNfqnuJQwbv2/HTh+E3xV+Gt3+5TnLNeFX0WQ50xV472QWnvzQfbrpVuREcXS3s/XIxjWodJFrDq30di2A7txJ62k2kIdQMF9Xg8cpW5Ez9Rz2/g6lgNXDm1v5tz8Jzi78Gr6y5B47W7XFUKBcjAFPueoT62jDz5WJUr/FAC8RM6/bQviFICoHhI5ViRWKfZ8JX9NdFDv/ldahcsRieXXwT7N9WLs3oYjkvHsese1YpnqO8ItKlmBJIA1ld5VtYd5xKZesOgezhylbrSN3lesyQCbkwffF9hp637cRRePOXP4Gy278G1RtWwikHgvpRedMha1jitHvQaZUdoFxr9K6e/UEU88N+gXXCyRC0IAwp1uxhygIJxf3eP91xPyx9/g3IL74DUlV2040H3a8Df94Gv7u7CCr+Y7HkftmZJh6dp5w631L9Vzh10XVzQTSvbT0CqZWnzAUJrVQv9j2xOOw0F+tI3Z6E30VrU3DvKrh7+zswZ8UT1CwYjab9e2DrjxfDkf2Jz23VQbOQrZ1R+N+mLtj9hWt62Gr0jLvSu8PUGvPn405oxUI9tZBshnUhQ69UrkBrPW7qNxbA7c9sh+8/UwlT5hYbei8PvFZha9Cu9vr2NEckobR2GnoJVqDrmtYrkJ1BtCJa9E8x7oKkZyq7Sxgz6Hn8sAm5MO/BJ+Heyr/DP91xH2RTfP5YWo/bV6k/dVA51kjrl93zO59fjMLvm7rgtHMuV43etU96BQJ+tSK0TJae9u7U5MR9C7UOmgW5cE57b/XYIy0rG760sASyh2tn4q78aqHh82Q9JFdRgaETc3s956VoFCqPR+BwuyMi0X0tGxGIL62ImVTvkL5cT0X6ptfLyYMH4NkfzadekDJT5xZLQrKDg29XS0JXYqhC/HQxEoU3TkfstiS6rQcYFAj40YqwpnllWHz0MXnKre2tOivjH7xWAc/9axG0nkjsDI7lpnsegW8+9KRtscfercoVgSETJktdBMpFxqg0iK/NvpjE0DVsVCA7/VYXMTPIGjfU4dXRC6RpUeuxr65fCa8+9bDqeWFa+J//6zm4fmGJbbFH/dvV8BnFmmmdR2cEu4dt2Re73OjcBaMCAT9ntOLRU/0NhUKGj2GUOKTlxFHqc2F9o+xH8+H9P6tPkUdXZumv/gBj82cwnRvLgef28vqViueDYp301Tmaz3v8AsDHZy13tQxfuywCwcrjYwyPcy20xT9a1d/BfdnG/9CaFi/ENCzGHhhv/PJfboKT9YkNjLFc841iuO1nz0PO8FG2pnX/tH4lNfa4/pYlVPcq/ni3xdIayWMsG9aqtbursZEM9/XFFEbWVuy+ScZb3hGaBUEhxD/f/lcrpAtQi8J7H5EuRrt5s2wzfPJ24m5dQKzH9beU6H6PznUBtHR2p88508jaEcJiQYAsLlnO/WU4hJlAPSuZxYIo/72OOAvy0pMPaYoDL8Lv/+w5mH7LElutBh7vvVoBb5Vvpp7bd1auh3Sd1kM+lJb5cmA562a1rAIB0kPvi7QvLVDXE4NkMXzb5VBqF7ILhUL59Q++C++9ph1v/ODX3fGG3aBle0lFvJO+UgiTvmp8WssZ/inf7WYmhpo1ZktIP0t/k8/jSvQG6ckhYx/qwBHK/UpAKurPLrud6tPL5M0rhrn3rVJdhGUVdRri6D9sFMx/+ElIZnA/GR6iRotZT8esQBpIZsDTg+bMzOkdkQpw4oLxv4kXUYvCwqhf/UB7lfN3Vz4JefOcWXb72s/XwZ7/o2f60eVbtO4XzMLlLJA1LIF5LDzCIQx+irw8rtTsemmWDxUzTUoCUQMvvpLS52E4Jci3EnT7fr/qHmhUqdzzOL90xnU2CtTwWKrBK1/gaVfLTJA+SEr1GvebjX7DDpswGZaUPu+IS9VQuxsqn1ipKeh596+CESbFix3SHGiRt1AzCy+BNJATct9eyDowU03HVG8Sw2c6YmIu/IOSHo0nf14xFD+83vgf4cCOLZthZxk9UwVSp24WLN3Ex7KxDuWLY4lZ10qGZ8YZMwWlALCM43O6HqkWwnCSeh9TvPJJmPZN++ON4wcPQMUTD8Hxg+rFSRTHnZzEMaAPFxerlOc+N2bSvEqsITNOPQdtwolW2ztu6slSQxg3TX0WL1549/xmO1z3zQW21jawmv/K5nXwi7vma4pj+JWT4d7f/kFyq3j87clZpi/HOt6tULxrls0kYPdcPIJt73oHxiXAYELUYgm88O7aZH+8se+VCnh50zro0EgxI9PmFcO3HuCXZs5MBhhvYLdfBVrItcdUEKTBv6jv8XgkHj21kIF9QtB8yVigPmpiLozLnw6Ha3tnha6bVwwLH7E33tj7SgW8vmUzNOtYj4KW7et33g83fI9vW8t1OaatB7e4IxYrBALEB8TmsEcten7u0Ha9xUyW1ob6qYyB+h1P/AL+uGkdDBg+WlqKO37aDCl4t4sP36yGt14sSxApjRFXTobvPbKe+zmOTAvB6DRT1uMxq/bXtEogQHxB3IzHnuVsJjFTC8lMATh90fjjsE9pkc3WAnn3lQqo/u1m+MLACsbCpfdD4Z33cz+XjGSA6easR7mVSzCsFAgQs5fv5c149Ew36ZfMVguxk/NnW+GtF8slcRgRxvj86bBo1XoYQBnnY4Y+SQBfGZgkZQIZqeNV76BhtUCAbIq40+0imTlzprS1cTxWTXq3iw/erIb3d1XBu68YCwlREN9dtgqm3mjd9nD52UmQo7GjlQp18RtuWoEdAvFsZksvbtsW+ugnB+CdlyskcRixFkBa8W9ctATmWOBOxfLl/kkwlj1rZUnGSgk7BAIkuyBbEleKxEy7iVRNt+CcjICieJ9Yi6Ma9QslUBizFi2BGxeVSLGRlWDGysQW1i3kWuKesVLCLoEAsSCuFYmZdpM+SSGmLJZZ3ttVDfX7dku3Ri2FDAqjYNESmHWr9cJApvVPMrM7lywOzZGhvLBTIOB2kbCCS0Tt0EfTJwckMRzctxvq9+lLzdLAGGPeXffD9G/Z08aSkhSSAnITy2ltFwc4IBBws0iw3UQpKMf6iNq20MB/HUMCP7/vdjhoUhTINTcWQsGtJXDlNPtWIWb3CcH1OUlSSpcRR8QBDgkE3CoSM+0muL84TjA3AlqE822t8Mm+PdIt/vuaWYUw49sLerk7u/9UYUocA3FK/K0lcO2sOaqrGa1gXEYSTM0y3ULiiDjAQYGA39yt7rb3yxfCEXLxI5/s7a7Qf36sCc4cOyLdfk6JGVAIe16ugJXP/rHnPpb4AkVxbQGKbSGMtrE6L4PZ22uzQzDMXPu6o+IAhwUC5IXnkzYBx+sktI7e0tLSXi4WFg/jLQ1ul3xgr3kXCCTL8hEc3LsbJl7X/TczsvQFz7IoZjokCplRaQC5WUnAXuKQqCOpXFuyVTScFgjEpYAdFYnapHc90955gktc5dTxDd9eAC//ehOcP5uYUbt2ViFMum4G5M2aA4Nsdp/iwQkvkzNDMLCv6YhMLgJaXufQwg0CAfJG5JMNFT3Ru2U1oydeTjtjPPL4tp3wxu/K4OO9uyVBoHWZdJ39436USEkCyM0MSU2HHCi3un3E0GtzwTnEIrcsO9IF7JbN7ktWr4chI3tbg35Z2fCdHz7g2DkpgcvHsaaBFXE+S8mlrlxXzX52m0CAvEG1xJrYGrxrpXKtYNK06VKMMWZSLoyZmAtjJk1x3FXSAi3GmPSQJA5OwpCHLFjSsm6GUDTq2i7UsBPB+4oVK6CiosL08+D6DrzokcEjRvdc9Fd9qVuEV7nEPTJCGhHGiDRuwgC3BOM03CwQJIdYFFsHQVRVVWn2YGH3bywXuwBaR1ylO+PkJbAZE4Ux2HzwHU8p+XwdD8ZpuF0gMkVOuFxG2XnGNVscmwatxfDUkHSk8RvmJuNalyoerwgEiMtV5uYJjrs8LhCcpYtWYlgqmFmnoUWNXa3qPPCSQGSWE7PsOmvy9+YIXPCYRnA9PU6HxCbCQfxdqFhayOdmehyonXhRIOBWa/Jea0TaAMbtyGLA/rF+/N0nJbaTLzZXBuJqeFUgMkXkG8kVO1293xaVWk7cBnbToijkWxtpJMJwfaxBw+sCAZLpWu6GEUP156Jw0t49vxPAlvLM5JB0m5FiuyBieYx8eXki1qDhB4HIhImP61irypGOKDSdt+f9xNghNTkk9T9JPyeFINsdZd9yHvtyuAU/CURmNvmAbI9PmjqicLSDz/uZntxdjMPMEloDvMXxQvK/XUgNed8N7UPudvwoEBnbhXK2E+ALhRgE16unKUx1wPtTYxazoyVg2bbMYXwpDBk/C0TGMYvic3wtDJkgCEQmnwTzop3eHOUk+HZslZ+dBEkgMmHS5rDELelhD9BI6k5lfgm+9RJEgcRSRISivbVsMNlOROHZOoZZgi4QmZwYq+LZQducqIuxFp6uYfBACCSRMLEsnt7a2iDbSbBdGTQXSgshEHVySBasiNz6JWZpjBHETmEp6AiBGCNMhDLbY/ue1JGs005yCCuhEyEQ88hiyScCctotqyECqI0RhYARIRBryIkRTDjm30B+ZrU8dTHuUC35uSFGEMJV4gkA/D8Ze2PVUj2a9gAAAABJRU5ErkJggg== // ==/UserScript== /* eslint-disable */ /* spell-checker: disable */ Vue.config.productionTip = false Vue.config.devtools = false function logError (error) { let finalMessage = error if (typeof error === 'object' && 'stack' in error) { if (settings.toastInternalError) { finalMessage = `${error.message}\n${error.stack}` } else { finalMessage = error.message } } Toast.error(finalMessage, '错误') console.error(error) } function raiseEvent (element, eventName) { const event = document.createEvent('HTMLEvents') event.initEvent(eventName, true, true) element.dispatchEvent(event) } async function loadLazyPanel (selector) { await SpinQuery.unsafeJquery() const panel = await SpinQuery.any(() => unsafeWindow.$(selector)) if (!panel) { throw new Error(`Panel not found: ${selector}`) } panel.mouseover().mouseout() } async function loadDanmakuSettingsPanel () { const style = document.createElement('style') style.innerText = `.bilibili-player-video-danmaku-setting-wrap { display: none !important; }` document.body.insertAdjacentElement('beforeend', style) await loadLazyPanel('.bilibili-player-video-danmaku-setting') setTimeout(() => style.remove(), 300) } function contentLoaded (callback) { if (/complete|interactive|loaded/.test(document.readyState)) { callback() } else { document.addEventListener('DOMContentLoaded', () => callback()) } } function fullyLoaded (callback) { if (document.readyState === 'complete') { callback() } else { unsafeWindow.addEventListener('load', () => callback()) } } function fixed (number, precision = 1) { const str = number.toString() const index = str.indexOf('.') if (index !== -1) { if (str.length - index > precision + 1) { return str.substring(0, index + precision + 1) } else { return str } } else { return str + '.0' } } function isEmbeddedPlayer () { return location.host === 'player.bilibili.com' || document.URL.startsWith('https://www.bilibili.com/html/player.html') } function isIframe () { return document.body && unsafeWindow.parent.window !== unsafeWindow } const languageNameToCode = { '日本語': 'ja-JP', 'English': 'en-US', 'Deutsch': 'de-DE' } const languageCodeToName = { 'ja-JP': '日本語', 'en-US': 'English', 'de-DE': 'Deutsch' } function getI18nKey () { return settings.i18n ? languageNameToCode[settings.i18nLanguage] : 'zh-CN' } const dq = (selector, scopedSelector) => { if (!scopedSelector) { return document.querySelector(selector) } return selector.querySelector(scopedSelector) } const dqa = (selector, scopedSelector) => { if (!scopedSelector) { return [...document.querySelectorAll(selector)] } return [...selector.querySelectorAll(scopedSelector)] } const UserAgent = `Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0` const EmptyImageUrl = 'data:image/svg+xml;utf-8,' const ascendingSort = (itemProp) => { return (a, b) => itemProp(a) - itemProp(b) } const descendingSort = (itemProp) => { return (a, b) => itemProp(b) - itemProp(a) } const formatFileSize = (bytes, fixed = 1) => { const units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'] let number = bytes let unitIndex = 0 while (number >= 1024) { number /= 1024 unitIndex++ } return `${Math.round(number * (10 ** fixed)) / (10 ** fixed)}${units[unitIndex]}` } const formatDuration = (time, fixed = 0) => { const second = (time % 60).toFixed(fixed) const minute = (Math.trunc(time / 60) % 60).toString() const hour = Math.trunc(time / 3600).toString() if (hour === '0') { return `${minute.padStart(2, '0')}:${second.padStart(2, '0')}` } return `${hour}:${minute.padStart(2, '0')}:${second.padStart(2, '0')}` } const getDpiSourceSet = (src, baseSize, extension = 'jpg') => { const dpis = [1, 1.25, 1.5, 1.75, 2, 2.25, 2.5, 2.75, 3, 3.25, 3.5, 3.75, 4] if (extension.startsWith('.')) { extension = extension.substring(1) } return dpis.map(dpi => { if (typeof baseSize === 'object') { if ('width' in baseSize && 'height' in baseSize) { return `${src}@${Math.trunc(baseSize.width * dpi)}w_${Math.trunc(baseSize.height * dpi)}h.${extension} ${dpi}x` } else if ('width' in baseSize) { return `${src}@${Math.trunc(baseSize.width * dpi)}w.${extension} ${dpi}x` } else if ('height' in baseSize) { return `${src}@${Math.trunc(baseSize.height * dpi)}h.${extension} ${dpi}x` } } else { return `${src}@${Math.trunc(baseSize * dpi)}w_${Math.trunc(baseSize * dpi)}h.${extension} ${dpi}x` } }).join(",") } const isOffline = () => typeof offlineData !== 'undefined' const getUID = () => document.cookie.replace(/(?:(?:^|.*;\s*)DedeUserID\s*\=\s*([^;]*).*$)|^.*$/, '$1') const scriptVersion = (() => { const match = GM.info.script.name.match(/Bilibili Evolved (Preview Offline) \((.*)\)/) return match ? match[1] : 'Stable' })() const getCsrf = () => document.cookie.replace(/(?:(?:^|.*;\s*)bili_jct\s*\=\s*([^;]*).*$)|^.*$/, '$1') const formatCount = (count) => { if (typeof count === 'string') { count = parseInt(count) } if (count > 100000000) { return Math.round(count / 10000000) / 10 + '亿' } if (count > 10000) { return Math.round(count / 1000) / 10 + '万' } return count + '' } const escapeFilename = (filename, replacement = '') => { return filename.replace(/[\/\\:\*\?"<>\|]/g, replacement) } function html(strings, ...values) { return [...strings].reduce((previous, current, index) => { const value = values[index] return previous + current + (value === undefined ? '' : value) }, '') } const dashExtensions = ['.mp4', '.m4a'] const dashFragmentExtension = 'm4s' const customNavbarDefaultOrders = { blank1: 0, logo: 1, category: 2, rankingLink: 3, drawingLink: 4, musicLink: 5, gamesIframe: 6, livesIframe: 7, shopLink: 8, mangaLink: 9, blank2: 10, search: 11, userInfo: 12, messages: 13, activities: 14, bangumi: 15, watchlaterList: 16, favoritesList: 17, historyList: 18, upload: 19, blank3: 20, } const aria2RpcDefaultOption = { secretKey: '', dir: '', host: '127.0.0.1', port: '6800', method: 'get', skipByDefault: false, maxDownloadLimit: '', baseDir: '', } const settings = { useDarkStyle: false, compactLayout: false, // showBanner: true, hideBanner: false, expandDanmakuList: true, expandDescription: true, watchLaterRedirect: true, touchNavBar: false, touchVideoPlayer: false, customControlBackgroundOpacity: 0.64, customControlBackground: false, darkScheduleStart: '18:00', darkScheduleEnd: '6:00', darkSchedule: false, toast: true, fullTweetsTitle: true, fullPageTitle: false, removeVideoTopMask: false, removeLiveWatermark: true, harunaScale: true, removeAds: true, showBlockedAdsTip: false, hideTopSearch: false, touchVideoPlayerDoubleTapControl: false, customStyleColor: '#00A0D8', preserveRank: true, blurBackgroundOpacity: 0.382, useDefaultPlayerMode: false, applyPlayerModeOnPlay: true, defaultPlayerMode: '常规', useDefaultVideoQuality: false, defaultVideoQuality: '自动', useDefaultDanmakuSettings: false, enableDanmaku: true, rememberDanmakuSettings: false, danmakuSettings: { subtitlesPreserve: false, smartMask: false, }, defaultPlayerLayout: '新版', defaultBangumiLayout: '新版', skipChargeList: false, comboLike: false, autoLightOff: false, useCache: true, autoContinue: false, allowJumpContinue: false, autoPlay: false, deadVideoTitleProvider: '稍后再看', useBiliplusRedirect: false, biliplusRedirect: false, framePlayback: true, useCommentStyle: true, imageResolution: false, imageResolutionScale: 'auto', toastInternalError: false, i18n: false, i18nLanguage: '日本語', playerFocus: false, playerFocusOffset: -10, oldTweets: false, simplifyLiveroom: false, simplifyLiveroomSettings: { vip: true, fansMedal: true, title: true, userLevel: true, guard: true, systemMessage: true, welcomeMessage: true, giftMessage: true, guardPurchase: true, giftPanel: true, kanban: true, eventsBanner: false, popup: false, skin: false, }, customNavbar: true, customNavbarFill: false, customNavbarShadow: true, customNavbarCompact: false, customNavbarBlur: true, customNavbarBlurOpacity: 0.7, customNavbarOrder: { ...customNavbarDefaultOrders }, customNavbarHidden: [], customNavbarBoundsPadding: 5, playerShadow: false, narrowDanmaku: true, favoritesRedirect: true, outerWatchlater: true, hideOldEntry: true, videoScreenshot: false, hideBangumiReviews: false, filenameFormat: '[title][ - ep]', sideBarOffset: 0, noLiveAutoplay: false, hideHomeLive: false, noMiniVideoAutoplay: false, useDefaultVideoSpeed: false, defaultVideoSpeed: '1.0', hideCategory: false, foldComment: true, downloadVideoDefaultDanmaku: '无', aria2RpcOption: {...aria2RpcDefaultOption}, aria2RpcOptionSelectedProfile: '', aria2RpcOptionProfiles: [], searchHistory: [], seedsToCoins: true, autoSeedsToCoins: true, lastSeedsToCoinsDate: 0, autoDraw: false, keymap: false, doubleClickFullscreen: false, doubleClickFullscreenPreventSingleClick: false, simplifyHome: false, simplifyHomeStyle: '清爽', ajaxHook: false, scriptLoadingMode: '延后(自动)', scriptDownloadMode: 'bundle', guiSettingsDockSide: '左侧', fullActivityContent: true, feedsFilter: false, feedsFilterPatterns: [], feedsFilterTypes: [], feedsFilterSideCards: [], activityImageSaver: false, scriptBlockPatterns: [], customNavbarSeasonLogo: false, selectableColumnText: true, downloadVideoFormat: 'flv', downloadVideoDashCodec: 'AVC/H.264', watchlaterExpireWarnings: true, watchlaterExpireWarningDays: 14, superchatTranslate: false, miniPlayerTouchMove: false, hideBangumiSponsors: false, hideRecommendLive: false, hideRelatedVideos: false, cache: {}, } const fixedSettings = { guiSettings: true, viewCover: true, notifyNewVersion: true, clearCache: true, downloadVideo: true, enableDashDownload: true, downloadDanmaku: true, downloadAudio: true, medalHelper: true, about: true, playerLayout: false, forceWide: false, useNewStyle: false, overrideNavBar: false, touchVideoPlayerAnimation: false, allNavbarFill: false, showDeadVideoTitle: false, blurVideoControl: false, latestVersionLink: 'https://github.com/the1812/Bilibili-Evolved/raw/preview/bilibili-evolved.preview-offline.user.js', currentVersion: GM.info.script.version, } const settingsChangeHandlers = {} function addSettingsListener (key, handler, initCall) { if (!settingsChangeHandlers[key]) { settingsChangeHandlers[key] = [handler] } else { settingsChangeHandlers[key].push(handler) } if (initCall) { const value = settings[key] handler(value, value) } } function removeSettingsListener (key, handler) { const handlers = settingsChangeHandlers[key] if (!handlers) { return } handlers.splice(handlers.indexOf(handler), 1) } async function loadSettings () { for (const key in fixedSettings) { settings[key] = fixedSettings[key] await GM.setValue(key, fixedSettings[key]) } if (Object.keys(languageCodeToName).includes(navigator.language)) { settings.i18n = true settings.i18nLanguage = languageCodeToName[navigator.language] } for (const key in settings) { let value = await GM.getValue(key) if (value === undefined) { value = settings[key] GM.setValue(key, settings[key]) } else if (settings[key] !== undefined && value.constructor === Object) { value = Object.assign(settings[key], value) } Object.defineProperty(settings, key, { get () { return value }, set (newValue) { value = newValue GM.setValue(key, newValue) const handlers = settingsChangeHandlers[key] if (handlers) { if (key === 'useDarkStyle') { setTimeout(() => handlers.forEach(h => h(newValue, value)), 200) } else { handlers.forEach(h => h(newValue, value)) } } const input = document.querySelector(`input[key=${key}]`) if (input !== null) { if (input.type === 'checkbox') { input.checked = newValue } else if (input.type === 'text' && !input.parentElement.classList.contains('gui-settings-dropdown')) { input.value = newValue } } } }) } } class Ajax { static send (xhr, body, text = true) { return new Promise((resolve, reject) => { xhr.addEventListener('load', () => { // if (xhr.status.toString().match(/^[45]/)) { // reject(xhr.status) // } else { resolve(text ? xhr.responseText : xhr.response) // } }) xhr.addEventListener('error', () => reject(xhr.status)) xhr.send(body) }) } static getBlob (url) { const xhr = new XMLHttpRequest() xhr.responseType = 'blob' xhr.open('GET', url) return this.send(xhr, undefined, false) } static getBlobWithCredentials (url) { const xhr = new XMLHttpRequest() xhr.responseType = 'blob' xhr.open('GET', url) xhr.withCredentials = true return this.send(xhr, undefined, false) } static async getJson (url) { return JSON.parse(await this.getText(url)) } static async getJsonWithCredentials (url) { return JSON.parse(await this.getTextWithCredentials(url)) } static getText (url) { const xhr = new XMLHttpRequest() xhr.open('GET', url) return this.send(xhr) } static getTextWithCredentials (url) { const xhr = new XMLHttpRequest() xhr.open('GET', url) xhr.withCredentials = true return this.send(xhr) } static postText (url, body) { const xhr = new XMLHttpRequest() xhr.open('POST', url) xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded') return this.send(xhr, body) } static postTextWithCredentials (url, body) { const xhr = new XMLHttpRequest() xhr.open('POST', url) xhr.withCredentials = true xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded') return this.send(xhr, body) } static postJson (url, json) { const xhr = new XMLHttpRequest() xhr.open('POST', url) xhr.setRequestHeader('Content-Type', 'application/json') return this.send(xhr, JSON.stringify(json), false) } static postJsonWithCredentials (url, json) { const xhr = new XMLHttpRequest() xhr.open('POST', url) xhr.withCredentials = true xhr.setRequestHeader('Content-Type', 'application/json') return this.send(xhr, JSON.stringify(json), false) } static getHandlers (name) { name = name.toLowerCase() let handlers = Ajax[name] if (handlers === undefined) { handlers = Ajax[name] = [] } return handlers } static addEventListener (type, handler) { const handlers = Ajax.getHandlers(type) handlers.push(handler) } static removeEventListener (type, handler) { const handlers = Ajax.getHandlers(type) handlers.splice(handlers.indexOf(handler), 1) } static monkey (details) { return new Promise((resolve, reject) => { const fullDetails = { ...details, onload: r => resolve(r.response), onerror: r => reject(r), } if (!('method' in fullDetails)) { fullDetails.method = 'GET' } GM.xmlHttpRequest(fullDetails) }) } } // https://github.com/the1812/Bilibili-Evolved/issues/84 let ajaxHooked = false function setupAjaxHook () { if (ajaxHooked) { return } ajaxHooked = true const original = { open: XMLHttpRequest.prototype.open, send: XMLHttpRequest.prototype.send } const fireHandlers = (name, thisArg, ...args) => Ajax.getHandlers(name).forEach(it => it.call(thisArg, ...args)) const hook = (name, thisArgs, ...args) => { fireHandlers('before' + name, thisArgs, ...args) const returnValue = original[name].call(thisArgs, ...args) fireHandlers('after' + name, thisArgs, ...args) return returnValue } const hookOnEvent = (name, thisArg) => { if (thisArg[name]) { const originalHandler = thisArg[name] thisArg[name] = (...args) => { fireHandlers('before' + name, thisArg, ...args) originalHandler.apply(thisArg, args) fireHandlers('after' + name, thisArg, ...args) } } else { thisArg[name] = (...args) => { fireHandlers('before' + name, thisArg, ...args) fireHandlers('after' + name, thisArg, ...args) } } } XMLHttpRequest.prototype.open = function (...args) { return hook('open', this, ...args) } XMLHttpRequest.prototype.send = function (...args) { hookOnEvent('onreadystatechange', this) hookOnEvent('onload', this) return hook('send', this, ...args) } } function loadResources () { Resource.root = 'https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/' Resource.all = {} Resource.displayNames = {} // Resource.reloadables = [ // 'useDarkStyle', // 'hideBanner', // 'customNavbar', // 'playerShadow', // 'narrowDanmaku', // 'compactLayout', // 'useCommentStyle', // 'removeVideoTopMask', // 'hideOldEntry', // 'hideBangumiReviews', // 'videoScreenshot', // 'blurVideoControl', // 'customControlBackground', // 'harunaScale', // 'removeLiveWatermark', // 'framePlayback', // 'hideCategory', // 'fullTweetsTitle', // 'fullActivityContent', // ] Resource.reloadables = [] for (const [key, data] of Object.entries(Resource.manifest)) { const resource = new Resource(data.path, { styles: data.styles, alwaysPreview: data.alwaysPreview }) resource.key = key resource.dropdown = data.dropdown if (data.reloadable) { Resource.reloadables.push(key) } if (data.displayNames) { resource.displayName = data.displayNames[key] Object.assign(Resource.displayNames, data.displayNames) } if (data.style) { const styleKey = key + 'Style' const style = Resource.all[styleKey] = new Resource(data.path.replace('.js', '.css'), { alwaysPreview: data.alwaysPreview }) style.key = styleKey switch (data.style) { case 'instant': { resource.styles.push(styleKey) break } case true: { resource.dependencies.push(style) break } case 'important': { resource.styles.push({ key: styleKey, important: true }) break } default: { if (typeof data.style === 'object') { resource.styles.push(Object.assign({ key: styleKey }, data.style)) } break } } } if (data.html === true) { const htmlKey = key + 'Html' const html = Resource.all[htmlKey] = new Resource(data.path.replace('.js', '.html'), { alwaysPreview: data.alwaysPreview }) html.key = htmlKey resource.dependencies.push(html) } Resource.all[key] = resource } for (const [key, data] of Object.entries(Resource.manifest)) { if (data.dependencies) { Resource.all[key].dependencies.push(...data.dependencies.map(name => Resource.all[name])) } } } // Placeholder class for Toast class Toast { show () { } dismiss () { } static show () { } static info () { } static success () { } static error () { } } class DoubleClickEvent { constructor (handler, singleClickHandler = null) { this.handler = handler this.singleClickHandler = singleClickHandler this.elements = [] this.clickedOnce = false this.doubleClickHandler = e => { if (!this.clickedOnce) { this.clickedOnce = true setTimeout(() => { if (this.clickedOnce) { this.clickedOnce = false this.singleClickHandler && this.singleClickHandler(e) } }, 200) } else { this.clickedOnce = false this.handler && this.handler(e) } } } bind (element) { if (this.elements.indexOf(element) === -1) { this.elements.push(element) element.addEventListener('click', this.doubleClickHandler) } } unbind (element) { const index = this.elements.indexOf(element) if (index === -1) { return } this.elements.splice(index, 1) element.removeEventListener('click', this.doubleClickHandler) } } let cidHooked = false const videoChangeCallbacks = [] class Observer { constructor (elements, callback) { this.elements = elements || [] this.callback = callback this.observer = null this.options = undefined } start () { this.elements.forEach(element => { this.observer = new MutationObserver(this.callback) this.observer.observe(element, this.options) }) return this } add (element) { this.elements.push(element) this.observer.observe(element, this.options) return this } stop () { this.observer && this.observer.disconnect() return this } // 向后兼容的接口, 实际并没有什么遍历 forEach (callback) { callback(this) } static observe (selector, callback, options) { callback([]) let elements = selector if (typeof selector === 'string') { elements = [...document.querySelectorAll(selector)] } else if (!Array.isArray(selector)) { elements = [selector] } const observer = new Observer(elements, callback) observer.options = options return observer.start() } static childList (selector, callback) { return Observer.observe(selector, callback, { childList: true, subtree: false, attributes: false }) } static childListSubtree (selector, callback) { return Observer.observe(selector, callback, { childList: true, subtree: true, attributes: false }) } static attributes (selector, callback) { return Observer.observe(selector, callback, { childList: false, subtree: false, attributes: true }) } static attributesSubtree (selector, callback) { return Observer.observe(selector, callback, { childList: false, subtree: true, attributes: true }) } static all (selector, callback) { return Observer.observe(selector, callback, { childList: true, subtree: true, attributes: true }) } static async videoChange (callback) { const cid = await SpinQuery.select(() => unsafeWindow.cid) if (cid === null) { return } if (!cidHooked) { let hookedCid = cid Object.defineProperty(unsafeWindow, 'cid', { get () { return hookedCid }, set (newId) { hookedCid = newId if (!Array.isArray(newId)) { videoChangeCallbacks.forEach(it => it()) } } }) cidHooked = true } // callback(); const videoContainer = await SpinQuery.select('#bofqi video') if (videoContainer) { Observer.childList(videoContainer, callback) } else { callback() } videoChangeCallbacks.push(callback) } } class SpinQuery { constructor (query, condition, action, failed) { this.maxRetry = 15 this.retry = 0 this.queryInterval = 1000 this.query = query this.condition = condition this.action = action this.failed = failed } start () { this.tryQuery(this.query, this.condition, this.action, this.failed) } tryQuery (query, condition, action, failed) { if (this.retry < this.maxRetry) { const result = query() if (condition(result)) { action(result) } else { if (document.hasFocus()) { this.retry++ } setTimeout(() => this.tryQuery(query, condition, action, failed), this.queryInterval) } } else { typeof failed === 'function' && failed() } } static condition (query, condition, action, failed) { if (action !== undefined) { new SpinQuery(query, condition, action, failed).start() } else { return new Promise((resolve) => { new SpinQuery(query, condition, it => resolve(it), () => resolve(null)).start() }) } } static select (query, action, failed) { if (typeof query === 'string') { const selector = query query = () => document.querySelector(selector) } return SpinQuery.condition(query, it => it !== null && it !== undefined, action, failed) } static any (query, action, failed) { if (typeof query === 'string') { const selector = query query = () => $(selector) } return SpinQuery.condition(query, it => it.length > 0, action, failed) } static count (query, count, action, failed) { if (typeof query === 'string') { const selector = query query = () => document.querySelectorAll(selector) } return SpinQuery.condition(query, it => it.length === count, action, failed) } static unsafeJquery (action, failed) { return SpinQuery.condition(() => unsafeWindow.$, jquery => jquery !== undefined, action, failed) } } class ColorProcessor { constructor (hex) { this.hex = hex } get rgb () { return this.hexToRgb(this.hex) } get rgba () { return this.hexToRgba(this.hex) } getHexRegex (alpha, shorthand) { const repeat = shorthand ? '' : '{2}' const part = `([a-f\\d]${repeat})` const count = alpha ? 4 : 3 const pattern = `#?${part.repeat(count)}` return new RegExp(pattern, 'ig') } hexToRgbOrRgba (hex, alpha) { const isShortHand = hex.length < 6 if (isShortHand) { const shorthandRegex = this.getHexRegex(alpha, true) hex = hex.replace(shorthandRegex, function (...args) { let result = '' let i = 1 while (args[i]) { result += args[i].repeat(2) i++ } return result }) } const regex = this.getHexRegex(alpha, false) const regexResult = regex.exec(hex) if (regexResult) { const color = { r: parseInt(regexResult[1], 16), g: parseInt(regexResult[2], 16), b: parseInt(regexResult[3], 16) } if (regexResult[4]) { color.a = parseInt(regexResult[4], 16) / 255 } return color } else if (alpha) { const rgb = this.hexToRgbOrRgba(hex, false) if (rgb) { rgb.a = 1 return rgb } } return null } hexToRgb (hex) { return this.hexToRgbOrRgba(hex, false) } hexToRgba (hex) { return this.hexToRgbOrRgba(hex, true) } rgbToString (color) { if (color.a) { return `rgba(${color.r},${color.g},${color.b},${color.a})` } return `rgb(${color.r},${color.g},${color.b})` } rgbToHsb (rgb) { const { r, g, b } = rgb const max = Math.max(r, g, b) const min = Math.min(r, g, b) const delta = max - min const s = Math.round((max === 0 ? 0 : delta / max) * 100) const v = Math.round(max / 255 * 100) let h if (delta === 0) { h = 0 } else if (r === max) { h = (g - b) / delta % 6 } else if (g === max) { h = (b - r) / delta + 2 } else if (b === max) { h = (r - g) / delta + 4 } h = Math.round(h * 60) if (h < 0) { h += 360 } return { h: h, s: s, b: v } } get hsb () { return this.rgbToHsb(this.rgb) } get grey () { const color = this.rgb return 1 - (0.299 * color.r + 0.587 * color.g + 0.114 * color.b) / 255 } get foreground () { const color = this.rgb if (color && this.grey < 0.35) { return '#000' } return '#fff' } makeImageFilter (originalRgb) { const { h, s } = this.rgbToHsb(originalRgb) const targetColor = this.hsb const hue = targetColor.h - h const saturate = ((targetColor.s - s) / 100 + 1) * 100 // const brightness = ((targetColor.b - b) / 100 + 1) * 100; const filter = `hue-rotate(${hue}deg) saturate(${saturate}%)` return filter } get blueImageFilter () { const blueColor = { r: 0, g: 160, b: 213 } return this.makeImageFilter(blueColor) } get pinkImageFilter () { const pinkColor = { r: 251, g: 113, b: 152 } return this.makeImageFilter(pinkColor) } get brightness () { return `${this.foreground === '#000' ? '100' : '0'}%` } get filterInvert () { return this.foreground === '#000' ? 'invert(0)' : 'invert(1)' } } const offlineData = {}; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/simplify-liveroom.min.css"] = `.simplify-eventsBanner .activity-pushing-out,.simplify-eventsBanner .flip-view,.simplify-fansMedal .fans-medal-item-ctnr,.simplify-giftMessage .chat-item.gift-item,.simplify-giftPanel .gift-control-panel .wish-icon,.simplify-giftPanel .gift-control-panel .wish-tip,.simplify-giftPanel .gift-panel,.simplify-giftPanel .gift-panel-switch,.simplify-giftPanel .gift-section.guard-ent,.simplify-giftPanel .seeds-wrap>.dp-i-block>.item:not(.seeds),.simplify-guard i.guard-icon,.simplify-guardPurchase .chat-item.guard-buy,.simplify-kanban .live-haruna-ctnr,.simplify-popup .chat-popups-section,.simplify-popup .link-popup-ctnr,.simplify-systemMessage .announcement-wrapper,.simplify-systemMessage .system-msg,.simplify-title .title-label,.simplify-userLevel .user-level-icon,.simplify-vip .vip-icon,.simplify-welcomeMessage .welcome-guard,.simplify-welcomeMessage .welcome-msg{display:none!important}.simplify-giftPanel .gift-control-panel,.simplify-giftPanel .gift-control-section{height:48px!important}.simplify-giftPanel .treasure-box{display:flex!important;align-items:center!important;padding:10px 0 0 16px!important}.simplify-giftPanel .treasure-box .box-icon{width:24px!important;height:24px!important;background-position:0 -2.5px!important}.simplify-giftPanel .treasure-box .box-icon.open{background-position:0 -1px!important}.simplify-giftPanel .treasure-box .count-down{margin-left:12px!important;padding:4px 8px!important;max-width:unset!important}.simplify-giftPanel .treasure-box .awarding-panel{bottom:42px!important}.simplify-giftPanel .gift-control-panel .right-part{height:48px!important;display:flex!important;justify-content:flex-end!important}.simplify-giftPanel .gift-control-panel .right-part>.dp-table-cell{display:flex!important;align-items:center!important}.simplify-giftPanel .gift-control-panel .right-part>.dp-table-cell .supporting-info{transform:translateY(-2px)!important}.simplify-skin #gift-control-vm,.simplify-skin #head-info-vm,.simplify-skin #rank-list-ctnr-box{background-image:none!important}.simplify-guard .guard-danmaku::before{border-image:none!important;background-color:transparent!important}.simplify-guard .guard-danmaku::before .guard-danmaku{margin:0!important;padding:4px 5px!important}.simplify-guard .guard-danmaku::before .guard-danmaku::after{background-image:none!important}.simplify-guard [class*=guard-level-]{padding:0!important;margin:0!important}.simplify-guard [class*=guard-level-]::after{display:none!important}.simplify-liveroom-settings>ul>li{padding:8px 12px;display:flex;align-items:center}.simplify-liveroom-settings>ul>li:hover{background:rgba(0,0,0,.16)}.round-corner .simplify-liveroom-settings>ul>li{border-radius:var(--corner-radius)}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/no-banner.min.css"] = `#banner_link,.z-top-container.has-banner>.header{display:none!important}.b-header-mask-wrp .b-header-mask-bg,div.blur-bg{opacity:0!important}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/aria2-rpc-profiles.vue.min.js"] = (()=>{return(e,i)=>{const r=`

预设

`;i.applyStyleFromText(`.aria2-rpc-profiles .profiles-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.aria2-rpc-profiles .profiles-header .profile-operations{display:flex;align-items:center}.aria2-rpc-profiles .profiles-header .profile-operations .operation{padding:4px;background-color:#8882;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer}.aria2-rpc-profiles .profiles-header .profile-operations .operation:not(:last-child){margin-right:8px}.aria2-rpc-profiles .profiles-header .profile-operations .operation:hover{background-color:#8884}.aria2-rpc-profiles .profiles-header .profile-operations .operation .mdi{margin:0}.aria2-rpc-profiles .profiles-list{display:flex;overflow:auto;scrollbar-width:none!important}.aria2-rpc-profiles .profiles-list::-webkit-scrollbar{height:0!important}`,"aria2-rpc-profiles-style");const o={name:"未命名",...e.aria2RpcOption};return{export:Object.assign({template:r},{components:{ProfileItem:()=>i.importAsync("aria2-rpc-profile-item.vue"),Icon:()=>i.importAsync("icon.vue")},data(){this.migrateOldProfiles();const i=[...e.aria2RpcOptionProfiles];if(i.length===0){i.push(o);e.aria2RpcOptionProfiles=i}return{profiles:i,selectedProfile:e.aria2RpcOptionSelectedProfile||o.name}},watch:{selectedProfile(i){if(e.aria2RpcOptionSelectedProfile!==i){e.aria2RpcOptionSelectedProfile=i}}},methods:{migrateOldProfiles(){const i=Object.getOwnPropertyNames(e.aria2RpcOption).filter(e=>!e.startsWith("_"));i.push("name");let r=false;for(const o of e.aria2RpcOptionProfiles){i.filter(e=>!(e in o)).forEach(i=>{o[i]=e.aria2RpcOption[i];console.log(`migrated profile property '${i}'`);r=true})}if(r){e.aria2RpcOptionProfiles=e.aria2RpcOptionProfiles}},profileUpdate(){e.aria2RpcOptionProfiles=this.profiles;this.selectedProfile=e.aria2RpcOptionSelectedProfile},changeProfile(e){this.selectedProfile=e.name;this.$emit("profile-change",e)},addProfile(){const i={...this.profiles.find(e=>e.name===this.selectedProfile)};i.name=i.name.replace(/[\d]+$/,"");if(this.profiles.some(e=>e.name===i.name)){let e=1;while(this.profiles.some(r=>r.name===i.name+e.toString())){e++}i.name=i.name+e.toString()}this.profiles.push(i);e.aria2RpcOptionProfiles=this.profiles;this.changeProfile(i)},deleteProfile(){const i=this.profiles.findIndex(e=>e.name===this.selectedProfile);const r=i===0?0:i-1;const o=this.profiles[r];this.profiles.splice(i,1);e.aria2RpcOptionProfiles=this.profiles;this.changeProfile(o)}}})}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/biliplus-redirect.min.js"] = (()=>{return(i,e)=>{const n=`hd.biliplus.com`;const c=["bilibili.com/video/av","bilibili.com/bangumi/play","bilibili.com/bangumi/media","space.bilibili.com"];return{widget:{condition:()=>{return c.some(i=>document.URL.includes(i))},content:`\n`,success:()=>{const i=document.querySelector("#biliplus-redirect");i.addEventListener("click",()=>{if(location.host==="space.bilibili.com"){location.assign(document.URL.replace("space.bilibili.com/",`${n}/space/`))}else if(document.URL.includes("/bangumi/")){const i=unsafeWindow.aid||document.querySelector(".av-link,.info-sec-av").innerText.replace(/[aAvV]/g,"");location.assign(`https://${n}/video/av${i}/`)}else{location.host=n}})}}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/settings-tooltip.min.css"] = `.gui-settings-tooltip{position:fixed;left:440px;color:#fff;background:#0008;padding:1rem;font-size:12pt;top:50%;transform:translateY(-50%);transition:.2s ease-out .8s;opacity:0;min-width:100%;max-height:100%;line-height:2;white-space:pre-wrap;pointer-events:none}.round-corner .gui-settings-tooltip{border-radius:var(--large-corner-radius)}.gui-settings-tooltip.show{pointer-events:initial;opacity:1}.gui-settings-tooltip span{font-weight:700}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/tweets.min.css"] = `.nav-search-submit{display:block!important;color:var(--foreground-color-d)!important;transform:translateX(-125px);-webkit-tap-highlight-color:transparent}.nav-search-submit:hover{color:var(--foreground-color)!important}#nav_searchform{transition:.3s ease-out;box-shadow:none;width:0!important;padding:0!important}.preserve-rank>a{opacity:0!important;pointer-events:none}.showSearch .preserve-rank>a{opacity:.382!important;pointer-events:initial}.showSearch #nav_searchform{box-shadow:0 2px 10px 1px #0002;width:250px!important}.showSearch .nav-search-submit,.showSearch .nav-search-submit:hover{color:#888!important;transform:none}@media only screen and (max-width:1291px){.showSearch #nav_searchform{width:140px!important}}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/slip.min.js"] = (()=>{return(t,e)=>{window["Slip"]=function(){"use strict";var t={container:{ariaRole:"listbox",tabIndex:0,focus:false},items:{ariaRole:"option",tabIndex:-1,focus:false}};var e=/Chrome\/[3-5]/.test(navigator.userAgent);var i=e;var n=e;var s=document.createElement("div").style;var o="transition"in s?"transition":"webkitTransition";var a="transform"in s?"transform":"webkitTransform";var r=a==="webkitTransform"?"-webkit-transform":"transform";var h="userSelect"in s?"userSelect":"webkitUserSelect";s[a]="translateZ(0)";var l=s[a]?"translateZ(0) ":"";var c=s[a]?"translateZ(1px) ":"";s=null;var u=0;var d=false;var f=function(){};function g(t,e){if("string"===typeof t)t=document.querySelector(t);if(!t||!t.addEventListener)throw new Error("Please specify DOM node to attach to");if(!this||this===window)return new g(t,e);this.options=e=e||{};this.options.keepSwipingPercent=e.keepSwipingPercent||0;this.options.minimumSwipeVelocity=e.minimumSwipeVelocity||1;this.options.minimumSwipeTime=e.minimumSwipeTime||110;this.options.ignoredElements=e.ignoredElements||[];if(!Array.isArray(this.options.ignoredElements))throw new Error("ignoredElements must be an Array");this.cancel=this.setState.bind(this,this.states.idle);this.onTouchStart=this.onTouchStart.bind(this);this.onTouchMove=this.onTouchMove.bind(this);this.onTouchEnd=this.onTouchEnd.bind(this);this.onMouseDown=this.onMouseDown.bind(this);this.onMouseMove=this.onMouseMove.bind(this);this.onMouseUp=this.onMouseUp.bind(this);this.onMouseLeave=this.onMouseLeave.bind(this);this.onSelection=this.onSelection.bind(this);this.onContainerFocus=this.onContainerFocus.bind(this);this.setState(this.states.idle);this.attach(t)}function m(t){var e=t.style[a];if(e){return{value:e,original:e}}if(window.getComputedStyle){var i=window.getComputedStyle(t).getPropertyValue(r);if(i&&i!=="none")return{value:i,original:""}}return{value:"",original:""}}function v(t,e){var i=0;var n=0;for(var s=0;s20&&t.y20){this.setState(this.states.idle)}if(t.x>t.y*1.2)return false},onLeave:function(){this.setState(this.states.idle)},onEnd:function(){var t=this.dispatch(this.target.originalTarget,"tap");this.setState(this.states.idle);return t}}},swipe:function t(){var e=false;var i=this.container;var n=v(this.target,this.container.childNodes);i.classList.add("slip-swiping-container");function s(){i.classList.remove("slip-swiping-container")}this.target.height=this.target.node.offsetHeight;return{leaveState:function(){if(e){this.animateSwipe(function(t){t.node.style[a]=t.baseTransform.original;if(this.dispatch(t.node,"afterswipe")){s();return true}else{this.animateToZero(undefined,t)}}.bind(this))}else{this.animateToZero(s)}},onMove:function(){var t=this.getTotalMovement();if(Math.abs(t.y)this.options.minimumSwipeVelocity&&t.time>this.options.minimumSwipeTime||this.options.keepSwipingPercent&&s>this.options.keepSwipingPercent;if(o){if(this.dispatch(this.target.node,"swipe",{direction:t.directionX,originalIndex:n})){e=true}}else{this.dispatch(this.target.node,"cancelswipe")}this.setState(this.states.idle);return!o}}},reorder:function e(){if(this.target.node.focus&&t.items.focus){this.target.node.focus()}this.target.height=this.target.node.offsetHeight;var i;if(this.options.ignoredElements.length){var s=this.container;var o=s.tagName.toLowerCase();if(s.getAttribute("id")){o="#"+s.getAttribute("id")}else if(s.classList.length){o+="."+s.getAttribute("class").replace(" ",".")}o+=" > ";this.options.ignoredElements.forEach(function(t){o+=":not("+t+")"});try{i=s.parentNode.querySelectorAll(o)}catch(t){if(t instanceof DOMException&&t.name==="SyntaxError")throw new Error("ignoredElements you specified contain invalid query");else throw t}}else{i=this.container.childNodes}var r=v(this.target,i);var u;var d=this.target.node.offsetTop+this.target.height/2;var f=[];for(var g=0;gt.y){n=e}else if(i.pos>0&&t.y>0&&i.post.y){break}}i=e}else{for(e=f.length-1;e>=0;e--){if(f[e].pos1){this.setState(this.states.idle);return}if(!this.setTarget(t))return;this.startAtPosition({x:t.touches[0].clientX,y:t.touches[0].clientY,time:t.timeStamp})},setTarget:function(t){var e=this.findTargetNode(t.target);if(!e){this.setState(this.states.idle);return false}var i=this.options.scrollContainer;if(!i){var n=document.scrollingElement||document.documentElement;i=e.parentNode;while(i){if(i==n)break;if(i!=document.body&&i.scrollHeight>i.clientHeight&&window.getComputedStyle(i)["overflow-y"]!="visible")break;i=i.parentNode}i=i||n}this.target={originalTarget:t.target,node:e,scrollContainer:i,origScrollTop:i.scrollTop,origScrollHeight:i.scrollHeight,baseTransform:m(e)};return true},startAtPosition:function(t){this.startPosition=this.previousPosition=this.latestPosition=t;this.setState(this.states.undecided)},updatePosition:function(t,e){if(this.target==null){return}this.latestPosition=e;if(this.state.onMove){if(this.state.onMove.call(this)===false){t.preventDefault()}}if(this.latestPosition.time-this.previousPosition.time>100){this.previousPosition=this.latestPosition}},onMouseMove:function(t){t.stopPropagation();this.updatePosition(t,{x:t.clientX,y:t.clientY,time:t.timeStamp})},onTouchMove:function(t){t.stopPropagation();this.updatePosition(t,{x:t.touches[0].clientX,y:t.touches[0].clientY,time:t.timeStamp});this.canPreventScrolling=false},onMouseUp:function(t){t.stopPropagation();if(this.usingTouch||t.button!==0)return;if(this.state.onEnd&&false===this.state.onEnd.call(this)){t.preventDefault()}},onTouchEnd:function(t){t.stopPropagation();if(t.touches.length>1){this.cancel()}else if(this.state.onEnd&&false===this.state.onEnd.call(this)){t.preventDefault()}},getTotalMovement:function(){var t=this.target.scrollContainer.scrollTop-this.target.origScrollTop;return{x:this.latestPosition.x-this.startPosition.x,y:this.latestPosition.y-this.startPosition.y+t,time:this.latestPosition.time-this.startPosition.time}},getAbsoluteMovement:function(){var t=this.getTotalMovement();return{x:Math.abs(t.x),y:Math.abs(t.y),time:t.time,directionX:t.x<0?"left":"right",directionY:t.y<0?"up":"down"}},updateScrolling:function(){var t=40,e=0;var i=this.target.scrollContainer,n=i.getBoundingClientRect(),s=this.target.node.getBoundingClientRect(),o=Math.min(n.bottom,window.innerHeight)-s.bottom,a=s.top-Math.max(n.top,0),r=this.target.origScrollHeight-Math.min(i.clientHeight,window.innerHeight);if(o0?"":"-")+"100%,0) "+l+e.baseTransform.value;setTimeout(function(){if(t.call(this,e)){i.forEach(function(t){t.node.style[a]=n+t.baseTransform.value});setTimeout(function(){i.forEach(function(t){t.node.style[a]="translate(0,0) "+l+t.baseTransform.value});setTimeout(function(){i.forEach(function(t){t.node.style[a]=t.baseTransform.original})},101)},1)}}.bind(this),101)}};if("function"===typeof define&&define.amd){define(function(){return g})}if("object"===typeof module&&module.exports){module.exports=g}return g}()}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/screenshot.min.css"] = `.video-take-screenshot{padding:0 4px 0 12px;height:100%;cursor:pointer;display:none!important}.video-take-screenshot.touch{padding:0 6px 0 10px;margin-left:12px}.bilibili-player-video-control-bottom .video-take-screenshot{display:flex!important}.video-take-screenshot.touch span{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.video-take-screenshot i{font-size:20px;color:#fff;transform:scale(1);opacity:.9;transition:.4s cubic-bezier(.18,.89,.32,1.28);display:block}.bilibili-player.mode-fullscreen .video-take-screenshot i,.bilibili-player.mode-webfullscreen .video-take-screenshot i{font-size:24px}.video-take-screenshot:hover i{transform:scale(1.05);opacity:1}.video-take-screenshot:active i{transform:scale(.95);opacity:1}.video-screenshot-container{position:relative;--screenshot-width:240px;--screenshot-width-negative:calc(0px - var(--screenshot-width));--screenshot-height:135px;--thumbnail-margin-vertical:12px;--thumbnail-margin-horizontal:24px;--screenshot-list-width:calc(2 * var(--thumbnail-margin-horizontal) + var(--screenshot-width))}.video-screenshot-batch{position:fixed;bottom:0;right:0;z-index:20000;display:flex;width:var(--screenshot-list-width);align-items:center;justify-content:space-evenly}.video-screenshot-batch button{background:#000c;color:#fff;border:none;border-radius:10px 10px 0 0;font-size:11pt;cursor:pointer;outline:0!important;padding:8px 12px;display:flex;justify-content:center;align-items:center}.video-screenshot-batch button i{font-size:14pt;margin-right:4px}.video-screenshot-container,.video-screenshot-container *{transition:.2s ease-out}.video-screenshot-list{position:fixed;top:0;right:0;z-index:20000;padding:var(--thumbnail-margin-vertical) 0;pointer-events:none;height:calc(100% - 2 * var(--thumbnail-margin-vertical) - 48px);width:var(--screenshot-list-width);overflow:auto}.video-screenshot-list *{pointer-events:initial}.video-screenshot-list-enter{opacity:0;transform:translateX(var(--screenshot-width-negative))}.video-screenshot-list-leave-to{opacity:0;transform:translateX(var(--screenshot-width))}.video-screenshot-thumbnail img{max-width:var(--screenshot-width);max-height:var(--screenshot-height);display:block;background-color:#000}.video-screenshot-thumbnail{margin:var(--thumbnail-margin-vertical) var(--thumbnail-margin-horizontal);position:relative;transition:.35s cubic-bezier(.18,.89,.32,1.28);width:var(--screenshot-width);height:var(--screenshot-height);background-color:#000;display:flex;justify-content:center;align-items:center}@keyframes spinner{to{transform:translate(-50%,-50%) rotate(360deg)}}.video-screenshot-thumbnail .loading::before{content:"";box-sizing:border-box;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(0);width:24px;height:24px;border-radius:50%;border:3px solid #8888;border-top-color:var(--theme-color);animation:.6s linear infinite spinner}.video-screenshot-thumbnail.video-screenshot-list-leave-active{position:absolute;transition:.35s cubic-bezier(.6,-.28,.74,.05)}.video-screenshot-thumbnail .mask{position:absolute;opacity:0;top:0;left:0;width:100%;height:100%;background:#0008;display:flex;justify-content:space-around;align-items:center;transition:none;pointer-events:none}.video-screenshot-thumbnail:hover .mask{opacity:1}.video-screenshot-thumbnail .mask .time{color:#fff;position:absolute;bottom:4px;left:8px;font-size:10pt}.video-screenshot-thumbnail .mask button{background:#000a;color:#fff;border:none;border-radius:50%;font-size:24pt;cursor:pointer;width:48px;height:48px;pointer-events:initial;outline:0!important}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/medal-helper.min.css"] = `.medal-popup *{transition:.2s}.medal-popup ul{list-style:none;margin:0;padding:0}.round-corner .medal-popup ul>li{border-radius:var(--corner-radius)}.medal-popup ul>li.active{box-shadow:0 0 4px 0 var(--theme-color)}.medal-popup ul>li:hover{background-color:rgba(0,0,0,.16)}.medal-popup label{display:flex;align-items:center;justify-content:center;cursor:pointer;padding:8px}.medal-popup label>*{flex-shrink:0}.medal-popup input[type=radio]{visibility:collapse;width:0;margin:0;padding:0}.medal-popup input[type=radio]~i{opacity:0;transform:scale(.8);margin:0}.medal-popup input[type=radio]~.fans-medal-item{margin:0 8px}.medal-popup input[type=radio]:checked~i{opacity:1}.title-image{display:inline-block;vertical-align:middle;height:20px}.fans-medal-item .label{width:40px;text-align:center;padding:0 2px;color:#fff}.fans-medal-item .level{width:16px;background-color:#fff;text-align:center;color:#61decb}.fans-medal-item .label,.fans-medal-item .level{position:relative;display:block;float:left}.fans-medal-item{display:inline-block;height:14px;line-height:14px;color:#fff;border:1px solid #61decb;border-left:0;white-space:nowrap;border-radius:2px;flex-shrink:0;font-size:12px}.level-1,.level-2,.level-3,.level-4{border-color:#61decb}.level-1 .label,.level-2 .label,.level-3 .label,.level-4 .label{background-color:#61decb}.level-1 .level,.level-2 .level,.level-3 .level,.level-4 .level{color:#61decb}.level-5,.level-6,.level-7,.level-8{border-color:#5896de}.level-5 .label,.level-6 .label,.level-7 .label,.level-8 .label{background-color:#5896de}.level-5 .level,.level-6 .level,.level-7 .level,.level-8 .level{color:#5896de}.level-10,.level-11,.level-12,.level-9{border-color:#a068f1}.level-10 .label,.level-11 .label,.level-12 .label,.level-9 .label{background-color:#a068f1}.level-10 .level,.level-11 .level,.level-12 .level,.level-9 .level{color:#a068f1}.level-13,.level-14,.level-15,.level-16{border-color:#ff86b2}.level-13 .label,.level-14 .label,.level-15 .label,.level-16 .label{background-color:#ff86b2}.level-13 .level,.level-14 .level,.level-15 .level,.level-16 .level{color:#ff86b2}.level-17,.level-18,.level-19,.level-20{border-color:#f6be18}.level-17 .label,.level-18 .label,.level-19 .label,.level-20 .label{background-color:#f6be18}.level-17 .level,.level-18 .level,.level-19 .level,.level-20 .level{color:#f6be18}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/settings-tooltip.en-US.min.js"] = (()=>{return(e,o)=>{const a=new Map([["useDefaultPlayerMode",`Set the default player mode. Could be Normal, Widescreen, Web fullscreen or Fullscreen.`],["defaultPlayerMode",`Select the default player mode.`],["applyPlayerModeOnPlay",`Apply mode on video play instead of page load.`],["useDefaultPlayerLayout",`Set the default player layout.\n- Old: The legacy layout\n- New: The default new layout\nWarning: Some features won't work on old layout.`],["defaultPlayerLayout",`Video player layout`],["defaultBangumiLayout",`Bangumi player layout`],["useDefaultVideoQuality",`Auto select the specified video quality. If the highest quality of video in lower than your choice, the highest quality will be used.`],["defaultVideoQuality","Select the default video quality."],["autoLightOff",`Auto turn off the light when video starts playing, and turn on the light after complete.`],["useDefaultDanmakuSettings",`Set the default settings about danmakus.`],["enableDanmaku",`Disable this if you want to turn off danmakus by default.`],["rememberDanmakuSettings",`Remember the "Prevent blocking subtitles" and "Smart danmaku mask" settings. If you change these settings on player, every video will apply these settings by default.`],["expandDanmakuList",`Auto expand the danmaku list.`],["autoPlay",`Auto start playing video on page load.`],["autoContinue",`If playback history exists, auto continue from it.`],["skipChargeList",`Skip charge acknowledgements on the end of some videos.`],["framePlayback",`Append 2 buttons to the right of video time to seek video by frame. Support keyboard shortcut Shift+/. (Old layout can only use keyboard shortcut)`],["playerFocus",`Auto scroll to the player when you enter the page.`],["playerFocusOffset",`Set the scroll offset. (in px unit)`],["customStyleColor",`Set the theme color for custom navbar, dark mode and more. Click the color circle to choose from 16 predefined colors, or input any valid hex color in textbox. (#rrggbb or #rgb)`],["useDarkStyle",`Dark style looks much better at night, and will widely apply theme color.`],["darkSchedule",`Schedule the dark mode time.`],["compactLayout",`Use compact layout for homepage, reduce margin and remove rounded corner of video cards, use vector icons in categories.`],["useCommentStyle",`- Remove "Follow" button on hot comments\n- Remove the level badge of user\n- Remove the platform info (like From Android client)\n- Move post time to upper right.\n- Use vector icons\nTip: You can still access the removed "Follow" and level badge by hovering on their avatars.`],["simplifyLiveroom",`- Hide master icon\n- Hide fan badge\n- Hide event title\n- Hide user level\n- Hide captain icon\n- Hide global notice\n- Hide welcome message (xxx master entered room)\n- Hide lottery draw notifications\n- Disable room skin\nTip: Every item can be toggled individually in Add-ons.`],["blurVideoControl",`Use background blur effect for video controls.`],["customControlBackground",`Use a filled black rectangle as background of video controls instead of the original shadow effect.`],["customControlBackgroundOpacity",`Set the opacity of rectangle`],["harunaScale",`Make live room showgirl DPI-aware.`],["removeLiveWatermark",`Remove the watermark of live stream`],["removeVideoTopMask",`Remove the top mask of videos`],["removeAds",`Remove all ads. including slideshow ads, mobile app ads and video ads.`],["watchLaterRedirect",`Redirects all watchlater videos to the normal video page in order to use new layout.`],["favoritesRedirect",`Redirects all videos in favorites from favorites playlist to the individual video page.`],["hideTopSearch",`Use "Search" in place of search recommendations.`],["fullTweetsTitle",`Always expand full title in the feeds peek in navbar.`],["fullPageTitle",`Always expand full title of video episodes and (when there are many episodes) expand the entire list. (Not work for bangumi)`],["biliplusRedirect",`Append "Jump to BiliPlus" button to Add-ons.`],["imageResolution",`Request hi-resolution images by your screen DPI. But also cause longer loading time.`],["oldTweets",`Replace feeds link by the old version, and you can switch between new and old versions in Add-ons.`],["touchNavBar",`Allow to tap on a navbar item to view its popup info, instead of open the top-level link.`],["comboLike",`Allow long press the like button to perform a combo like.`],["touchVideoPlayer",`Increase margin of video control buttons for better touch experience. And enable touch gestures:\n- Left/Right slide to seek\n- Up/Down slide to adjust volume\n- Cancel a gesture on upper left/right corner\n- Slide on different position to use different sensibility.`],["touchVideoPlayerAnimation",`Use experimental animations for touch gestures, but may cause frame drops.`],["touchVideoPlayerDoubleTapControl",`Enable double-tap control: single tap to view/hide control bar, double tap to pause/resume.`],["toast",`Show toasts on the lower left corner of page, including update notifications and error display.`],["toastInternalError",`Show internal error messages, which may be helpful when reporting a bug.`],["useCache",`Use cache to increase load speed of this userscript.`],["outerWatchlater",`Move watchlater button from menu to outside.`],["i18n",`[Experimental] Provides UI translation for some common words.`],["i18nLanguage",`Set the target language.`],["customNavbar",`Enable custom navbar to replace the legacy one. New navbars in live/photos/shop are not affected.`],["customNavbarFill",`Use theme color to fill the navbar.`],["allNavbarFill",`Fill theme color to all navbars, including live/photos/shop.`],["customNavbarShadow",`Drop shadow for custom navbar.`],["customNavbarCompact",`Use compact layout for custom navbar, provides smaller margins and use ... for long titles.`],["customNavbarBlur",`If top banner exists, use background blur effect.`],["playerShadow",`Use theme color shadow for player.`],["narrowDanmaku",`Force preserve danmaku input in web fullscreen mode. May cause buttons on the right out of screen.`],["hideOldEntry",`Hide "Back to old" buttons in new layout.`],["hideBanner",`Hide top banner.`],["allowJumpContinue",`Allow jump to episodes different from current.`],["hideBangumiReviews",`Hide reviews on bangumi page.`],["videoScreenshot",`Append screenshot button to the right of video time. Support keyboard shortcut Ctrl+Alt+C. (Old layout can only use keyboard shortcut)`],["filenameFormat",`Customize the filename format used by Download danmaku, Download video, Video screenshot, View cover.\nThere are a few variables:\n- title: Video title / Live room title\n- ep: Episode title\n- aid: AV ID\n- cid: CID (The unique ID of video, as AV ID may contains multiple episodes)\n- lid: Live room ID\n- y/M/d: Year / Month / Day of month\n- h/m/s/ms: Hour / Minute / Second / Millisecond\n\nThe default format is [title][ - ep], representing video title and episode title. If episode title not exists, only video title is used.\n\nPut your variables inside square brackets, other contents inside brackets (like " - " in "[ - ep]") will only appear when the variable exists. For instance, if the format is [title] - [ep]. Even there's no episode title, that " - " will still appear in filename (which is meaningless). So in default format, when episode title not exists, " - " will also disappear.\n\nA more specific example: To use a "video title + AV ID + time" format, we can use [title][ AVaid] [y]-[M]-[d] [h]-[m]-[s]. And get filenames like "xxxx AV23333 2019-05-29 19-59-44".`],["noLiveAutoplay",`Disable autoplay on live homepage.`],["hideHomeLive",`Hide recommended live rooms on live homepage.`],["sideBarOffset",`Set vertical offset of side bar (in percent). Valid range: -40% ~ 40%.`],["hideCategory",`Hide category bar on main site, you can select category from Home in navbar.`],["foldComment",`Append a "Fold comments" button on the bottom of page when viewing comments in feeds. Then you can quickly fold comments without scrolling up.`],["showDeadVideoTitle",`Retrieve title and cover of dead videos in your space`],["useBiliplusRedirect",`Jump to BiliPlus for dead videos.`],["deadVideoTitleProvider",`Select dead video info provider: Watchlater is stable but takes some time, BiliPlus runs fast but it's not implemented yet.`],["useDefaultVideoSpeed",`Set the default video playback rate.`],["defaultVideoSpeed",`Select the default playback rate.`],["seedsToCoins",`Append a Seeds to coins button, click to convert 700 silver seeds to 1 coin, up to one time per day.`],["autoDraw",`Auto click draw button when there're drawing events in live room.`],["keymap",`Enable more keyboard shortcuts for video player:\n- w Web fullscreen\n- t Wide screen / Theater mode\n- r Toggle repeat\n- m Toggle mute\n- d Toggle danmakus\n- l Like\n- c Coin\n- s Favorite\n- Shift + ↑/↓ / Shift + ,/. Playback speed adjust\n- Shift + / Reset playback speed`],["doubleClickFullscreen",`Allow double click the player to toggle fullscreen, please note that this feature will not work if 播放器触摸支持 - 启用双击控制 is also enabled.`],["ajaxHook",`The Ajax Hook API may help other extensions or add-ons access ajax requests in bilibili.`],["scriptLoadingMode",`Feature loading mode:\n- Simultaneous: Load features as soon as possible\n- Delay: Load features after the original page has loaded\n- Simultaneous (Auto): Auto determine loading mode and prefer Simultaneous mode\n- Delay (Auto): Auto determine loading mode and prefer Delay mode`],[`fullActivityContent`,`Always expand for full content of feeds.`],[`activityImageSaver`,`When viewing a save-restricted image in feeds, you can right-click to get a toast with that image for saving.`],[`selectableColumnText`,`Make texts in column selectable.`],[`watchlaterExpireWarnings`,`Videos in watchlater will expire and be deleted in 60 days. Enable this feature will show a warning if a video will expire in less than 14 days.`],[`miniPlayerTouchMove`,`Allow touch drag to move mini player.`],[`feedsFilter`,`Filter out unwanted feeds by type or keywords, and remove side cards in your feeds homepage.`],[`hideBangumiSponsors`,`Hide bangumi sponsors sections and buttons.`],[`hideRecommendLive`,`Hide recommended live broadcasts in video pages.`],[`hideRelatedVideos`,`Hide related videos in video and bangumi pages.`],[`simplifyHome`,`Replace the original homepage by one of these style:\n- Simple: A clean design with additional feeds section.\n- Minimal: Only video feeds and trending videos, no other sections.`]]);return{export:{toolTips:a}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/default-danmaku-settings.min.js"] = (()=>{return(e,t)=>{async function i(e,t){const i=await SpinQuery.select(()=>document.querySelector(e));if(!i){return}i.checked=t;raiseEvent(i,"change")}Observer.videoChange(()=>{if(!e.enableDanmaku){i(".bilibili-player-video-danmaku-switch>input",false)}if(e.rememberDanmakuSettings){const i={subtitlesPreserve:".bilibili-player-video-danmaku-setting-left-preventshade input",smartMask:".bilibili-player-video-danmaku-setting-left-danmaku-mask input"};async function n(){const n=await SpinQuery.select(()=>document.querySelector(".bilibili-player-video-danmaku-setting"));if(!n){return}await loadLazyPanel(".bilibili-player-video-danmaku-setting");setTimeout(()=>t.removeStyle("defaultDanmakuSettingsStyle"),300);for(const[t,n]of Object.entries(e.danmakuSettings)){const e=await SpinQuery.select(()=>document.querySelector(i[t]));if(e!==null&&e.checked!==undefined&&e.checked!==n){e.click()}}}async function a(){for(const t in e.danmakuSettings){const n=await SpinQuery.select(()=>document.querySelector(i[t]));if(!n){return}n.addEventListener("click",()=>{e.danmakuSettings=Object.assign(e.danmakuSettings,{[t]:n.checked})})}}n();a()}})}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/image-resolution.min.js"] = (()=>{return(t,e)=>{const o=/@(\d+)[Ww]_(\d+)[Hh]/;const n=t.imageResolutionScale==="auto"?window.devicePixelRatio:parseFloat(t.imageResolutionScale);const r=["#certify-img1","#certify-img2"];const i=(t,e)=>{const o=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,null,false);let n=o.nextNode();while(n){e(n);n=o.nextNode()}};async function a(t){const e=(e,i)=>{const a=e(t);if(a===null){return}if(r.some(e=>t.matches(e))){return}const s=a.match(o);if(!s){return}let[,c,u]=s;let l=parseInt(t.getAttribute("data-resolution-width")||"0");if(parseInt(c)>=l&&l!==0){return}if(t.getAttribute("width")===null&&t.getAttribute("height")===null){t.setAttribute("width",c)}c=Math.round(n*parseInt(c)).toString();u=Math.round(n*parseInt(u)).toString();t.setAttribute("data-resolution-width",c);i(t,a.replace(o,`@${c}w_${u}h`))};Observer.attributes(t,()=>{e(t=>t.getAttribute("src"),(t,e)=>t.setAttribute("src",e));e(t=>t.style.backgroundImage,(t,e)=>t.style.backgroundImage=e)})}const s=async()=>{i(document.body,t=>a(t));Observer.childListSubtree(document.body,t=>{for(const e of t){for(const t of e.addedNodes){if(t instanceof HTMLElement){a(t);if(t.nodeName.toUpperCase()!=="IMG"){i(t,t=>a(t))}}}}})};s();e.applyStyleFromText(`.favInfo-box .favInfo-cover img {width: 100% !important; object-position: left !important;}`,"image-resolution-fix");return{export:{imageResolution:a}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/video-dash.min.js"] = (()=>{return(t,e)=>{const a=t=>{return{url:t.downloadUrl,backupUrls:t.backupUrls,length:t.duration,size:Math.trunc(t.bandWidth*t.duration/8)}};const d=e=>{console.log(e.videoDashes);const d=(()=>{const a=e=>e.videoCodec===t.downloadVideoDashCodec;if(e.videoDashes.some(a)){return e.videoDashes.filter(a).sort(ascendingSort(t=>t.bandWidth))[0]}else{return e.videoDashes.sort(ascendingSort(t=>t.bandWidth))[0]}})();const o=e.audioDashes.sort(descendingSort(t=>t.bandWidth))[0];return[a(d),a(o)]};const o=async(t,e)=>{const a=await Ajax.getJsonWithCredentials(t);const d=a.data||a.result||a;if(a.code!==0||!d.dash){throw new Error("DASH api failed")}const o=d.accept_quality;if(!o.includes(e)){throw new Error("没有找到请求的清晰度")}if(d.quality!==e){throw new Error("无法获取请求的清晰度, 请确认当前账号有相应的权限")}const r=d.accept_description;const s=r[o.indexOf(e)];const c=d.dash.duration;const n=d.dash.video.filter(t=>t.id===e).map(t=>{const a=(()=>{switch(t.codecid){case 12:return"HEVC/H.265";default:case 7:return"AVC/H.264"}})();const d={quality:e,qualityText:s,width:t.width,height:t.height,codecs:t.codecs,codecId:t.codecid,bandWidth:t.bandwidth,frameRate:t.frameRate,backupUrls:(t.backupUrl||t.backup_url||[]).forEach(t=>t.replace("http:","https:")),downloadUrl:(t.baseUrl||t.base_url||"").replace("http:","https:"),duration:c,videoCodec:a};return d});const i=d.dash.audio.map(t=>{return{bandWidth:t.bandwidth,codecs:t.codecs,codecId:t.codecid,backupUrls:(t.backupUrl||t.backup_url||[]).forEach(t=>t.replace("http:","https:")),downloadUrl:(t.baseUrl||t.base_url||"").replace("http:","https:"),duration:c}});return{videoDashes:n,audioDashes:i}};return{export:{getDashInfo:o,dashToFragments:d}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/style.min.css"] = `.bili-wrapper{display:flex!important;justify-content:center!important;align-items:center!important;height:50px!important}.bili-header-m>.nav-menu,.link-navbar,.link-navbar .main-ctnr .nav-items-ctnr,.link-navbar-ctnr .link-navbar,.link-navbar-ctnr .link-navbar .main-ctnr .nav-items-ctnr,.nav-header-wrapper{background:var(--theme-color)!important}.bili-header-m>.nav-menu,.link-navbar-ctnr,.nav-header-wrapper{box-shadow:var(--theme-color-70) 0 2px 10px 1px!important}div.stardust-player{background:#fff!important}.nav-header-wrapper>.nav-header,.nav-mask{background-color:transparent!important}.link-navbar,.nav-mask{box-shadow:none!important}.nav-con{flex-grow:10!important;flex-shrink:0!important}.nav-con.fl{margin-left:-2em!important}.nav-search-box{margin:9px 0 0!important}.bili-header-m .nav-menu .nav-con .nav-item .t,.link-navbar .main-ctnr .custom-link>a,.link-navbar .main-ctnr .nav-logo,.link-navbar .main-ctnr .nav-switcher,.link-navbar .nav-item,.link-navbar .nav-item .icon-font,.link-navbar .nav-item.selected .label,.link-navbar .nav-item:hover,.my-link-btn,.nav-header-wrapper .nav-header .nav-header-mainsite,.nav-header-wrapper .nav-header .order-center,.shortcuts-ctnr,.shortcuts-ctnr .shortcut-item,.stardust-video .nav-menu .nav-con .nav-item.home .drop,.stardust-video .nav-menu .nav-con .nav-item.home .header-icon-Navbar_logo{color:var(--foreground-color-d)!important}.stardust-video .nav-menu .nav-con .nav-item.home .header-icon-Navbar_logo{transform:scale(.75)!important;top:7px!important}.stardust-video .nav-menu .up-load .up-nav{top:42px!important}.link-navbar .nav-item:hover,.link-navbar-ctnr .link-navbar .nav-item:hover,.link-navbar-ctnr .shortcuts-ctnr .shortcut-item:hover,.my-link-btn:hover,.publish-btn:hover,.shortcuts-ctnr .shortcut-item:hover,li.nav-item:not(.profile-info):hover{background-color:hsla(0,0%,var(--brightness),.2)!important}.link-navbar .nav-item:hover .nav-link .label,.my-link-btn .label:hover,.publish-btn:hover::after,.shortcuts-ctnr .shortcut-item .label-wrapper .text:hover,li.nav-item.home:hover{background:0 0!important}.vip-m{background:#fff!important}a.t>i.bili-icon,a.t>i.bili-icon-logo{width:50px!important;left:-60px!important;top:0!important;height:50px!important;background-position-y:12px!important}.link-navbar .nav-item:first-child::before,.main-ctnr .nav-logo:before,.nav-header-wrapper .nav-header .nav-header-logo,.nav-header-wrapper .nav-header .nav-header-tv-icon,.nav-header-wrapper .nav-header .order-icon,a.t>i.bili-icon,a.t>i.bili-icon-logo{filter:brightness(0) var(--invert-filter)!important;opacity:.81!important}#entryOld,.b-icon-app,.blp-red-tip::after,.main-container .entry-old,.nav-search-submit,.title-icon,body>#Header{display:none!important}.bilibili-player-video-inputbar{display:flex!important}.i-face>.face,.user-panel-ctnr .msg-hinter{box-shadow:0 0 2px 1.5px #0002!important}div.up-load{margin-top:8px!important;margin-left:9px!important;height:32px!important;order:4!important;flex-grow:0;flex-shrink:0}.stardust-video .nav-menu .nav-wrapper{padding:0 5rem!important}.publish-btn{height:40px!important;line-height:40px!important;background:var(--theme-color)!important;border:1px solid!important;border-radius:5px!important;box-shadow:none!important;top:calc(50% - 20px)!important;transition:.2s!important}.publish-panel{margin-top:7px!important}.my-link-btn{border-radius:0!important}.main-ctnr .search-bar-ctnr .search-bar input,.slot-ctnr a{color:#222!important}.main-ctnr .search-bar-ctnr .search-bar .placeholder,.main-ctnr .search-bar-ctnr .search-bar .search-btn{color:#878787!important}.main-ctnr .search-bar-ctnr .search-bar{border:none!important;box-shadow:0 2px 10px 1px #0002!important}.u-link{background:0 0!important;color:var(--foreground-color-d)!important;border-radius:4px!important;line-height:30px!important;height:30px!important;transition:background-color .2s!important}.shortcuts-ctnr .shortcut-item .hinter,.shortcuts-ctnr .shortcut-item .num-hinter,.u-link{border:1px solid!important}.u-link:hover{opacity:1!important;background-color:hsla(0,0%,var(--brightness),.2)!important}#nav_searchform,.stardust-video .nav-con .nav-search{width:130px!important}.stardust-video .nav-con .nav-search .nav-search-keyword{color:#222!important;width:120px!important;padding-right:32px}.nav-header-wrapper .nav-header .nav-header-search-bar,.stardust-video .nav-con #nav_searchform{border-radius:4px!important;background:#fffb!important;border:none!important;transition:background-color .2s!important;box-shadow:0 2px 10px 1px #0002;padding-right:0!important}.search-bar-ctnr .search-bar{background-color:#fffd!important;transition:.2s!important}.nav-header-wrapper .nav-header .nav-header-search-bar:focus-within,.nav-header-wrapper .nav-header .nav-header-search-bar:hover,.search-bar-ctnr .search-bar:focus-within,.search-bar-ctnr .search-bar:hover,.stardust-video .nav-con #nav_searchform:focus-within,.stardust-video .nav-con #nav_searchform:hover{background-color:#fff!important}#bilibiliPlayer{box-shadow:0 4px 16px 0 var(--theme-color-40)!important}.blur-bg{opacity:var(--blur-background-opacity)!important;filter:blur(20px)!important}.suggest-item .cancel{width:28px!important}.stardust-video .nav-con ul.bilibili-suggest{margin-left:-35px!important;width:200px!important}li.suggest-item>a{max-width:155px!important}.nav-item div.num{box-shadow:0 .5px 4px 0 #0004!important}#primary_menu,#primary_menu>ul.nav-menu{display:flex!important;align-items:center!important}.bilibili-player-video-btn-quality{width:auto!important;margin:0 6px!important}#primary_menu,div.nav-gif{padding:0!important}.filter-item.search,body{margin:0!important}.input-box textarea{padding:8px!important}.link-navbar .main-ctnr .nav-switcher.open-btn{filter:brightness(0) invert(1)!important;opacity:.8!important}.guard-rank-cntr.open .tip.rank-desc{visibility:visible!important}.guard-rank-cntr .rank-cntr .tip{visibility:hidden!important}.tag-container .tag-item .tag-border .tag-border-inner{width:100%!important}.bilibili-player-video-control{background-color:transparent!important}.mouse-hover .bilibili-player-video-control-top,.video-control-show .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:32px!important}.bilibili-player-video-control-top{left:-12px!important;right:-12px!important;bottom:0!important}.bilibili-player .bilibili-player-area .bilibili-player-video-control-wrap{bottom:0!important}.showSearch .nav-search-submit{top:6px!important}.nav-header-wrapper .nav-header .nav-header-search-bar::placeholder,.search-bar-ctnr .search-bar .search-btn,.search-bar-ctnr .search-bar input::placeholder{color:#888!important}.card-list .card{border:none!important;border-radius:4px!important}@media only screen and (min-width:1291px){.nav-con{margin:0 1em!important}#nav_searchform,.stardust-video .nav-con .bilibili-suggest.nav,.stardust-video .nav-con .nav-search{width:250px!important}.stardust-video .nav-con .nav-search .nav-search-keyword{width:240px!important}.stardust-video .nav-con ul.bilibili-suggest{margin-left:0!important;width:250px!important}.stardust-video .nav-con li.suggest-item>a{max-width:205px!important}}@media screen and (min-width:750px){.player .bilibili-player.mode-fullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-top,.player .bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-top{left:-12px!important;right:-12px!important;bottom:0!important}.mode-fullscreen .bilibili-player-area.mouse-hover:not(.disable-original-hover) .bilibili-player-video-control-top,.mode-fullscreen .bilibili-player-area.video-control-show:not(.disable-original-hover) .bilibili-player-video-control-top,.mode-webfullscreen .bilibili-player-area.mouse-hover:not(.disable-original-hover) .bilibili-player-video-control-top,.mode-webfullscreen .bilibili-player-area.video-control-show:not(.disable-original-hover) .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:42px!important}}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/screenshot.min.js"] = (()=>{return(e,t)=>{const{getFriendlyTitle:i}=t.import("title");const n=document.createElement("canvas");class s{constructor(e,t,i=false){this.url="";this.timeStamp=(new Date).getTime();this.withDanmaku=false;this.video=e;this.videoTime=t;this.withDanmaku=i;this.createUrl()}async createUrl(){n.width=this.video.videoWidth;n.height=this.video.videoHeight;const e=n.getContext("2d");if(e===null){logError("视频截图失败: canvas 未创建或创建失败.");return}e.drawImage(this.video,0,0);if(this.withDanmaku){const t=dq("canvas.bilibili-player-video-danmaku");if(t!==null){e.drawImage(t,0,0,this.video.videoWidth,this.video.videoHeight)}}n.toBlob(e=>{if(e===null){logError("视频截图失败: 创建 blob 失败.");return}this.blob=e;this.url=URL.createObjectURL(e)},"image/png")}get filename(){return`${i()} @${this.time.replace(/:/g,"-")} ${this.timeStamp.toString()}.png`}get id(){return this.videoTime.toString()+this.timeStamp.toString()}get time(){const e=Math.trunc(this.videoTime/3600).toString();const t=Math.trunc(this.videoTime/60).toString();const i=(this.videoTime%60).toFixed(2);if(e==="0"){return`${t.padStart(2,"0")}:${i.padStart(5,"0")}`}return`${e}:${t.padStart(2,"0")}:${i.padStart(5,"0")}`}revoke(){URL.revokeObjectURL(this.url)}}const o=(e,t=false)=>{const i=e.currentTime;return new s(e,i,t)};let r={screenshots:[]};Observer.videoChange(async()=>{if(!dq(".video-screenshot-container")){t.applyStyle("videoScreenshotStyle");document.body.insertAdjacentHTML("beforeend",`\n
\n\n\n\n
\n\n\n\n
\n
\n`);Vue.component("video-screenshot",{props:{objectUrl:String,filename:String,time:String},template:`\n
\n\n
\n\n\n\n{{time}}\n
\n
\n
\n
\n`,methods:{discard(){this.$emit("discard")},save(){this.$el.querySelector(".link").click();this.discard()}}});r=new Vue({el:".video-screenshot-container",data:{screenshots:[],batchFilename:i()+".zip"},methods:{discard(e){this.screenshots.splice(this.screenshots.indexOf(e),1);e.revoke()},async saveAll(){const e=new JSZip;this.screenshots.forEach(t=>{e.file(t.filename,t.blob,{date:new Date(t.timeStamp)})});const t=await e.generateAsync({type:"blob"});const i=this.$el.querySelector(".batch-link");i.href=URL.createObjectURL(t);i.click();URL.revokeObjectURL(i.href);i.href="";this.discardAll()},discardAll(){this.screenshots.forEach(e=>e.revoke());this.screenshots=[]}},computed:{showBatch(){return this.screenshots.length>=2}}})}const n=await SpinQuery.select("#bofqi video");if(n===null){return}const s=await SpinQuery.select(".bilibili-player-video-time");if(s===null||document.querySelector(".video-take-screenshot")){return}const c=`\n
\n\n
`;s.insertAdjacentHTML("afterend",c);const a=document.querySelector(".video-take-screenshot");a.addEventListener("click",async e=>{const t=await SpinQuery.select("#bofqi video");const i=o(t,e.shiftKey);r.screenshots.unshift(i)});document.addEventListener("keydown",e=>{if(document.activeElement&&["input","textarea"].includes(document.activeElement.nodeName.toLowerCase())){return}if(e.ctrlKey&&e.altKey&&e.key.toLowerCase()==="c"){e.stopPropagation();e.preventDefault();a.click()}});if(e.touchVideoPlayer){document.querySelectorAll(".video-take-screenshot").forEach(e=>e.classList.add("touch"))}});return{export:{takeScreenshot:o,screenShotsList:r},unload:()=>document.querySelectorAll(".bilibili-player-video-control-bottom .video-take-screenshot,.video-screenshot-container").forEach(e=>e.setAttribute("style","display: none !important")),reload:()=>document.querySelectorAll(".bilibili-player-video-control-bottom .video-take-screenshot,.video-screenshot-container").forEach(e=>e.setAttribute("style","display: flex !important"))}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/dark-important.min.css"] = `#disable-popup-modal .vip-exchange .months button.disabled,#vip-exchange-modal .vip-exchange .months button.disabled,.action-row .publish-btn.disabled,.action-row .publish-btn.publishing,.action-row .sch-pub-btn.disabled,.action-row .sch-pub-btn.publishing,.app-body .section-block,.bl-button--primary:disabled,.link-footer,.live-skin-coloration-area .live-skin-separate-area,.live-skin-coloration-area .live-skin-separate-area-hover:hover,.payment-active,.player-auxiliary-area .player-auxiliary-bscrollbar .bscroll-indicator,.tab-list .tab-item.active:before{background-color:#222!important}.app-body .section-block.with-bottom-radius,.app-body .section-block.with-radius,.bb-comment .no-login .comment-submit,.common .bb-comment .no-login .comment-submit,.container .pagination,.coupon-content-con .coupon-btn-disable,.customize-wrp .select,.f-list-hover:hover,.fjw-case-detail .ban-detail .content-box .video-model,.game-groom-m .num,.main-container .media-info .media-right .media-tool-bar .btn-follow.active,.main-container .pay-bar .vip .btn-pay.active,.open-dialog-masker .open-dialog-content .open-footer .btn-normal.disabled,.open-dialog-masker .open-dialog-content .open-footer .btn-normal.disabled:hover,.pagination-container li.pagination,.status_box .status_btn.disabled,.wrapper .elec-btn.disabled{background-color:#444!important}.danmaku-wrap .player-auxiliary-area .player-auxiliary-danmaku-wrap .bscroll-indicator{background-color:#555!important}.danmaku-wrap .player-auxiliary-area .player-auxiliary-danmaku-wrap .bscroll-vertical-scrollbar.mousedown,.danmaku-wrap .player-auxiliary-area .player-auxiliary-danmaku-wrap:hover .bscroll-vertical-scrollbar,.m-recommend-item div.box,.player-auxiliary-area .player-auxiliary-bscrollbar .bscroll-vertical-scrollbar,.player-auxiliary-area .player-auxiliary-bscrollbar .bscroll-vertical-scrollbar.mousedown,.player-auxiliary-area .player-auxiliary-bscrollbar:hover .bscroll-vertical-scrollbar{background-color:transparent!important}.live-skin-coloration-area .live-skin-normal-a-text,.live-skin-coloration-area .live-skin-normal-a-text:link,.live-skin-coloration-area .live-skin-normal-a-text:visited,.live-skin-coloration-area .live-skin-normal-text,.open-dialog-masker .open-dialog-content .open-footer .btn-normal.disabled,.open-dialog-masker .open-dialog-content .open-footer .btn-normal.disabled:hover,.status_box .status_btn.disabled,blockquote *,blockquote .color-blue-01,blockquote .color-blue-02,blockquote .color-blue-03,blockquote .color-blue-04,blockquote .color-gray-01,blockquote .color-gray-02,blockquote .color-gray-03,blockquote .color-gray-04,blockquote .color-green-01,blockquote .color-green-02,blockquote .color-green-03,blockquote .color-green-04,blockquote .color-lblue-01,blockquote .color-lblue-02,blockquote .color-lblue-03,blockquote .color-lblue-04,blockquote .color-pink-01,blockquote .color-pink-02,blockquote .color-pink-03,blockquote .color-pink-04,blockquote .color-purple-01,blockquote .color-purple-02,blockquote .color-purple-03,blockquote .color-purple-04,blockquote .color-yellow-01,blockquote .color-yellow-02,blockquote .color-yellow-03,blockquote .color-yellow-04{color:#aaa!important}#app .sticky-bar .bar-content .message,.bb-comment .no-login .comment-submit,.bp-popup-panel .title-ctnr .popup-title,.commnent-screen-wrap .el-input__inner,.common .bb-comment .no-login .comment-submit,.coupon-content-con .coupon-btn-disable,.cover .disabled-cover,.customize-wrp .select,.el-input__inner,.home-page .sticky-bar .bar-content .message,.invitation-record-warp .invtable .inputdone,.live-room-app .guard-rank-cntr .tabs.isHundred .item.active,.live-room-app .guard-rank-cntr.hundred .live-skin-highlight-text,.live-room-app .guard-rank-cntr.hundred .live-skin-main-a-text,.live-room-app .guard-rank-cntr.hundred .page-box .live-skin-main-text,.live-room-app .guard-rank-cntr.thousand .live-skin-highlight-text,.live-room-app .guard-rank-cntr.thousand .live-skin-main-a-text,.live-room-app .guard-rank-cntr.thousand .page-box .live-skin-main-text,.live-skin-coloration-area .live-skin-highlight-text,.live-skin-coloration-area .live-skin-main-text,.manga-detail .episode-list-component .episode-list .list-data .list-item.last-read,.popup-content-ctnr .bl-button--ghost,.s-paging>ul>a.current,.s-paging>ul>span.current,.score-info .go-movie,.tag-list li.tag-item.on{color:#eee!important}#rank-list-vm .tabs.isHundred .item,.bb-comment .no-login .comment-submit,.commnent-screen-wrap .el-input__inner,.common .bb-comment .no-login .comment-submit,.el-input__inner,.enter-failure .password-input .pink-border,.link-footer,.live-skin-coloration-area .live-skin-highlight-border,.live-skin-coloration-area .live-skin-separate-border,.popup-content-ctnr .bl-button--ghost:hover,.score-info .go-movie,.select-box-v2-container .select-box-v2-controller-disabled,.song-info .info-wrap .type-list .item-list .type-item.active,.tabs-bar,.ui-input-textarea.focus,.user-setting-warp .el-radio-button__orig-radio:checked+.el-radio-button__inner{border-color:transparent!important}#app .sticky-bar .bar-content .message:hover,.app-layout .style-section .tag-block .tag-containers .style-tag.selected,.container .video-panel .play-all .bilifont,.detail-wrp .detail-content[data-v-00c9b213] p a span,.drop-list-v2-container .drop-list-v2-item-selected .drop-list-v2-item-cont p.item-cont-main,.edit-button:hover>.icon-font,.edit-button:hover>span .left-nav-item-childed:hover,.el-select-dropdown__item.selected,.home-page .sticky-bar .bar-content .message:hover,.im-popup .bp-popup-panel .title-ctnr .popup-title,.left-nav-wrapper .active,.left-nav-wrapper .active .left-nav-item-child,.left-nav-wrapper .advice-btn:hover,.left-nav-wrapper .left-nav-item.active,.left-nav-wrapper .left-nav-item.active i.active,.left-nav-wrapper .left-nav-list.on .left-nav-item,.left-nav-wrapper .left-nav-list.on .left-nav-item .icon,.live-room-app .guard-rank-cntr.hundred .live-skin-main-a-text:hover,.live-room-app .guard-rank-cntr.thousand .live-skin-main-a-text:hover,.live-skin-coloration-area .live-skin-highlight-text,.live-skin-coloration-area .live-skin-normal-a-text:hover,.live-skin-normal-a-text:active,.manga-detail .episode-list-component .episode-list .list-header .header-item.selected,.more-data a:hover,.other a a:hover,.r-con .members-info .up-card .info-name.is-vip:hover,.rank-item .content .info .detail a a:hover,.rank-item .content .more-data:hover,.rank-item .content .other a:hover,.room-info-down-row .icon-label.hover-text-blue:hover .label,.room-introduction .edit-button:hover>.icon-font,.room-introduction .edit-button:hover>span,.up-info .u-info .name .username.is-vip:hover,.voucher-ing .voucher-left-money,.voucher-ing .voucher-left-money:before,.voucher-no-used .voucher-left-money,.voucher-no-used .voucher-left-money:before{color:var(--theme-color)!important}.aside-ctnr .author-info .communicate-btn,.live-skin-coloration-area .room-info-ctnr .info-section .live-skin-highlight-border,.manga-detail .episode-list-component .episode-list .list-data .list-item.last-read,.page-list-box .page-input:focus,.page-list-box .page-input:hover,.popup-content-ctnr .bl-button--ghost,.season-timeline .season-group.today,.season-timeline .season-group.today .group-time::before,.tag-list li.tag-item.on,.tag-list li.tag-item:hover{border-color:var(--theme-color)!important}.bg-blue,.el-date-table td.current:not(.disabled),.el-date-table td.end-date,.el-date-table td.start-date,.face-g-list#my-g-list .face-g-block .my-mp-block .mp-info .btn-white,.face-g-tab li.current,.live-skin-coloration-area .live-skin-highlight-bg,.popup-content-ctnr .bl-button--ghost:hover,.popup-content-ctnr .bl-button--primary,.season-timeline .season-group.today.is-published .group-time::before,.security-list .child-list li a.bg-blue:hover,.song-info .info-wrap .type-list .item-list .type-item.active,.tag-list li.tag-item.on,.user-my-btn .el-button--primary,.user-setting-warp .el-radio-button__orig-radio:checked+.el-radio-button__inner{background-color:var(--theme-color)!important}.current .tab-btn-link,.el-date-table td.current:not(.disabled),.el-date-table td.end-date,.el-date-table td.start-date,.face-g-tab li.current,.popup-content-ctnr .bl-button--ghost:hover,.style-section .tag-block .tag-containers .style-tag:active{color:var(--foreground-color)!important}#bilibiliPlayer{box-shadow:0 4px 8px 0 #0004;background-color:#222!important}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/simplify-liveroom.min.js"] = (()=>{return(e,i)=>{const s={vip:"老爷图标",fansMedal:"粉丝勋章",title:"活动头衔",userLevel:"用户等级",guard:"舰长图标",systemMessage:"全区广播",welcomeMessage:"欢迎信息",giftMessage:"礼物弹幕",guardPurchase:"上舰提示",giftPanel:"付费礼物",kanban:"看板娘",eventsBanner:"活动横幅",popup:"抽奖提示",skin:"房间皮肤"};class t{constructor(i,s){this.skinDisabled=e.simplifyLiveroomSettings.skin;this.skinSelectors=i;this.skinClass=s;i.forEach(e=>{SpinQuery.select(e,i=>{Observer.attributes(e,e=>{e.forEach(e=>{if(e.attributeName==="class"){if(this.skinDisabled&&i.classList.contains(s)){i.classList.remove(s)}else if(!this.skinDisabled&&!i.classList.contains(s)){i.classList.add(s)}}})})})})}setSkin(e){this.skinDisabled=!e;this.skinSelectors.forEach(i=>{SpinQuery.select(i,i=>i.classList[e?"add":"remove"](this.skinClass))})}}const n=[new t(["#head-info-vm","#gift-control-vm","#rank-list-vm","#rank-list-ctnr-box",".gift-panel.base-panel",".gift-panel.extend-panel",".seeds-wrap>div:first-child",".gift-section>div:last-child",".z-gift-package>div>div",".right-action"],"live-skin-coloration-area"),new t([".rank-list-ctnr .tabs"],"isHundred"),new t([".rank-list-ctnr .tab-content > div"],"hundred")];const a=(e,i)=>{document.body.classList[e?"add":"remove"](`simplify-${i}`);if(i==="skin"){n.forEach(i=>i.setSkin(!e))}};const c=()=>document.URL.startsWith(`https://live.bilibili.com/`);if(c()){Object.keys(s).forEach(i=>{const s=e.simplifyLiveroomSettings[i];a(s,i)})}return{widget:{condition:c,content:`\n
\n\n简化直播间\n\n
\n`,success:()=>{const i=document.querySelector("#simplify-liveroom");const t=document.querySelector(".gui-settings-mask");i.addEventListener("click",e=>{const i=document.querySelector(".simplify-liveroom-settings");if(i.contains(e.target)||e.target===i){return}i.classList.toggle("opened")});i.addEventListener("mouseenter",()=>t.classList.add("transparent"));i.addEventListener("mouseleave",()=>t.classList.remove("transparent"));new Vue({el:".simplify-liveroom-settings",data:{items:Object.entries(s).map(([i,s])=>{const t=e.simplifyLiveroomSettings[i];a(t,i);return{key:i,name:s,checked:t}})},methods:{itemClick(i){i.checked=!i.checked;a(i.checked,i.key);e.simplifyLiveroomSettings=Object.assign(e.simplifyLiveroomSettings,{[i.key]:i.checked})}}})}}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/hide-bangumi-sponsors.min.js"] = (()=>{return(n,e)=>{return e.toggleStyle(`\n #sponsor_module, #paybar_module { display: none !important; }\n`,`hide-bangumi-sponsors-style`)}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/default-danmaku-settings.min.css"] = `.bilibili-player-video-danmaku-setting-wrap{display:none!important}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/keymap.min.js"] = (()=>{return(e,i)=>{const t=["https://www.bilibili.com/bangumi/","https://www.bilibili.com/video/"];if(t.some(e=>document.URL.startsWith(e))){const e={w:".bilibili-player-video-web-fullscreen",t:".bilibili-player-video-btn-widescreen",r:".bilibili-player-video-btn-repeat",m:".bilibili-player-video-btn-volume .bilibili-player-iconfont-volume",l:".video-toolbar .like",c:".video-toolbar .coin,.tool-bar .coin-info",s:".video-toolbar .collect"};let t;const a=e=>{let a=dq(".keymap-playback-tip");if(!a){const e=dq(".bilibili-player-video-wrap");if(!e){return}e.insertAdjacentHTML("afterbegin",`\n
\n\n
x\n
\n`);i.applyStyleFromText(`\n .keymap-playback-tip-container {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n padding: 8px 16px;\n background-color: #000A;\n color: white;\n pointer-events: none;\n opacity: 0;\n z-index: 100;\n display: flex;\n align-items: center;\n font-size: 14pt;\n border-radius: 4px;\n transition: .2s ease-out;\n }\n .keymap-playback-tip-container.show {\n opacity: 1;\n }\n .keymap-playback-tip-container i {\n line-height: 1;\n margin-right: 8px;\n font-size: 18pt;\n }\n`,"keymapStyle");a=dq(".keymap-playback-tip")}a.innerHTML=e.toString();if(t){clearTimeout(t)}dq(".keymap-playback-tip-container").classList.add("show");t=setTimeout(()=>{dq(".keymap-playback-tip-container").classList.remove("show")},2e3)};document.body.addEventListener("keydown",i=>{if(document.activeElement&&["input","textarea"].includes(document.activeElement.nodeName.toLowerCase())){return}const t=i.key.toLowerCase();const n=!i.shiftKey&&!i.altKey&&!i.ctrlKey;if(t in e&&n){const a=dq(e[t]);if(!a){return}i.stopPropagation();i.preventDefault();a.click()}else if(t==="d"&&n){const e=dq(".bilibili-player-video-danmaku-switch input");if(!e){return}i.stopPropagation();i.preventDefault();e.checked=!e.checked;raiseEvent(e,"change")}else if(i.shiftKey){const e=dq(".bilibili-player-video video");if(e===null){return}const n=[.5,.75,1,1.25,1.5,2];let o=true;if(t===">"||t==="ArrowUp".toLowerCase()){e.playbackRate=n.find(i=>i>e.playbackRate)||n[n.length-1];a(e.playbackRate)}else if(t==="<"||t==="ArrowDown".toLowerCase()){e.playbackRate=[...n].reverse().find(i=>i{return(r,e)=>{const n=new Map([[`主站`,`主站`],[`画友`,`絵画`],[`音频`,`音樂`],[`游戏中心`,`遊戲`],[`会员购`,`購物`],[`漫画`,`漫畫`],[`下载APP`,`下載APP`],[`大会员`,`大會員`],[`动态`,`動態`],[`稍后再看`,`稍後再看`],[`历史`,`歷史`],[`番剧`,`番劇`],[`动画`,`動畫`],[`国创`,`國創`],[`音乐`,`音樂`],[`游戏`,`遊戲`],[`数码`,`數位`],[`电影`,`電影`],[`纪录片`,`紀錄片`],[`时尚`,`時尚`],[`娱乐`,`娛樂`],[`广告`,`廣告`],[`原创`,`原創`],[`广场`,`廣場`],[`发布`,`發佈`],[`专栏`,`專欄`],[`关注`,`關注`],[`粉丝`,`粉絲`],[`热门`,`熱門`],[`视频`,`影片`],[`图片`,`圖片`],[`小视频`,`短影片`],[`公告栏`,`公告欄`],[`特别推荐`,`特別推薦`],[`有新动态`,`有新動態`],[`所有关注`,`所有關注`],[`首页`,`首頁`],[`编辑`,`編輯`],[`回复`,`回覆`],[`举报`,`舉報`],[`在线人数`,`在線人數`],[`*`,[]]]);return{export:{map:n}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/view-cover.min.js"] = (()=>{return(e,t)=>{const{VideoInfo:i}=t.import("video-info");const{getFriendlyTitle:n}=t.import("title");class o{constructor(e){this.url=e;if(document.querySelector(".image-viewer")===null){this.createContainer()}this.viewer=document.querySelector(".image-viewer-container");this.downloadImage();addSettingsListener("filenameFormat",()=>{this.viewer.querySelector(".download").setAttribute("download",this.filename)})}createContainer(){document.body.insertAdjacentHTML("beforeend",t.import("imageViewerHtml"));document.querySelector(".image-viewer-container .close").addEventListener("click",()=>this.hide());t.applyStyle("imageViewerStyle")}downloadImage(){document.querySelector("#view-cover").style.display=this.url?"flex":"none";if(this.url===""){return}const e=new XMLHttpRequest;e.open("GET",this.url.replace("http:","https:"),true);e.responseType="blob";e.onload=(()=>{const t=URL.createObjectURL(e.response);if(this.imageData){URL.revokeObjectURL(this.imageData)}this.imageData=t;const i=this.viewer.querySelector(".download");i.setAttribute("href",t);i.setAttribute("download",this.filename);this.viewer.querySelector(".copy-link").addEventListener("click",()=>GM.setClipboard(this.url));this.viewer.querySelector(".new-tab").setAttribute("href",this.url);this.viewer.querySelector(".image").src=t});e.send()}show(){this.viewer.classList.add("opened")}hide(){this.viewer.classList.remove("opened")}get filename(){return n(document.URL.includes("/www.bilibili.com/bangumi/"))+this.url.substring(this.url.lastIndexOf("."))}}return(()=>{if(!document.URL.includes("live.bilibili.com")){return{widget:{content:`\n\n\n查看封面\n`,condition:async()=>{const e=await SpinQuery.select(()=>(unsafeWindow||window).aid);return Boolean(e)},success:async()=>{async function e(){const e=(unsafeWindow||window).aid;const t=new i(e);try{await t.fetchInfo()}catch(e){return""}return t.coverUrl}let t=new o(await e());document.querySelector("#view-cover").addEventListener("click",()=>{t.show()});const n=async()=>{t=new o(await e())};Observer.videoChange(n)}}}}else{return{widget:{content:`\n\n\n查看封面\n`,condition:async()=>{const e=await SpinQuery.select(()=>document.querySelector(".header-info-ctnr .room-cover"));return Boolean(e)},success:async()=>{const e=document.querySelector(".header-info-ctnr .room-cover");const t=e.getAttribute("href").match(/space\.bilibili\.com\/([\d]+)/);if(t&&t[1]){const e=t[1];const i=`https://api.live.bilibili.com/room/v1/Room/getRoomInfoOld?mid=${e}`;const n=await Ajax.getJson(i);const r=n.data.cover;const s=new o(r);document.querySelector("#view-cover").addEventListener("click",()=>{s.show()})}}}}}})()}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/aria2-rpc.min.js"] = (()=>{return(t,e)=>{function o(){const e=t.aria2RpcOption;const o=e.host.match(/^http[s]?:\/\//)?e.host:"http://"+e.host;const r="aria2.addUri";return{option:e,host:o,methodName:r}}async function r(t,e=false){try{let o=await t();if(typeof o==="string"){o=JSON.parse(o)}if(o.error!==undefined){if(o.error.code===1){logError(`请求遭到拒绝, 请检查您的密钥相关设置.`)}else{logError(`请求发生错误, code = ${o.error.code}, message = ${o.error.message}`)}return false}if(!e){Toast.success(`成功发送了请求, GID = ${o.result}`,"aria2 RPC",5e3)}return true}catch(t){logError(`无法连接到RPC主机.`);return false}}async function s(t,e=false){const{option:s,host:n,methodName:a}=o();return await r(async()=>{const e=window.btoa(unescape(encodeURIComponent(JSON.stringify(t.params))));const o=`${n}:${s.port}/jsonrpc?method=${a}&id=${t.id}¶ms=${e}`;console.log(`RPC request:`,o);if(o.startsWith("http:")){return await new Promise((t,e)=>{GM.xmlHttpRequest({method:"GET",url:o,responseType:"json",onload:e=>t(e.response),onerror:t=>e(t)})})}else{return await Ajax.getJson(o)}},e)}async function n(t,e=false){const{option:s,host:n,methodName:a}=o();return await r(async()=>{const e=`${n}:${s.port}/jsonrpc`;const o={method:a,id:t.id,params:t.params};if(e.startsWith("http:")){return await new Promise((t,r)=>{GM.xmlHttpRequest({method:"POST",url:e,responseType:"json",data:JSON.stringify(o),onload:e=>t(e.response),onerror:t=>r(t)})})}else{return await Ajax.postJson(e,o)}},e)}async function a(e,o=false){const r=t.aria2RpcOption;for(const t of e){let e;if(r.method==="get"){e=await s(t,o)}else{e=await n(t,o)}if(o===true&&e===false){logError(`${decodeURIComponent(t.id)} 导出失败`)}}}return{export:{sendRpc:a}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/auto-draw.min.js"] = (()=>{return(t,n)=>{(async()=>{if(!/^https:\/\/live\.bilibili\.com\/[\d]+/.test(document.URL)){return}const t=await SpinQuery.condition(()=>dq(".chat-popups-section"),t=>t.querySelector("chat-draw-area")===null);if(!t){console.warn("[自动领奖] 未能找到弹窗容器");return}Observer.childListSubtree(t,()=>{let t;console.log("draw button = ",dq(".chat-popups-section .draw>span:nth-child(3)"));t=dq(".chat-popups-section .draw>span:nth-child(3)");if(t===null){const t=dq(".chat-popups-section .function-bar>span:nth-child(3)");if(t!==null){const n=Observer.attributes(t,()=>{if(t.style.display!=="none"){n.forEach(t=>t.stop());t.click()}})}}if(t!==null){t.click()}})})()}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/outer-watchlater.min.js"] = (()=>{return(t,e)=>{(async()=>{if(!document.URL.includes("//www.bilibili.com/video/av")){return}await SpinQuery.condition(()=>document.querySelector(".video-toolbar .ops .collect"),t=>{return t!==null&&t.innerText!=="--"});const t=getCsrf();const e=document.querySelector(".video-toolbar .ops .collect");if(!e){return}e.insertAdjacentHTML("afterend",`\n\n\n 稍后再看\n
\n
\n`);const i=document.querySelector(".ops .watchlater");const s=document.querySelector(".ops .watchlater .tip");if(!i||!s){return}const a=async()=>{const t=await SpinQuery.select(()=>unsafeWindow.aid);if(!t){return}const e=await Ajax.getJsonWithCredentials("https://api.bilibili.com/x/v2/history/toview/web");if(e.code!==0){e.data={list:[]}}const s=e.data.list.map(t=>t.aid);if(s.includes(parseInt(t))){i.classList.add("on")}else{i.classList.remove("on")}};Observer.videoChange(async()=>{await a()});let n=0;const o=async({url:e,tipText:i})=>{const a=await Ajax.postTextWithCredentials(e,`aid=${unsafeWindow.aid}&csrf=${t}`);const o=JSON.parse(a);if(o.code!==0){logError(`稍后再看操作失败: ${o.message}`);return false}else{s.innerHTML=i;s.classList.add("show");if(n!==0){clearTimeout(n)}n=setTimeout(()=>s.classList.remove("show"),2e3);return true}};i.addEventListener("click",async()=>{i.classList.toggle("on");let t;if(i.classList.contains("on")){t=await o({url:"https://api.bilibili.com/x/v2/history/toview/add",tipText:"已添加至稍后再看"})}else{t=await o({url:"https://api.bilibili.com/x/v2/history/toview/del",tipText:"已从稍后再看移除"})}if(t===false){i.classList.toggle("on")}})})()}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/narrow-danmaku.min.js"] = (()=>{return(e,l)=>{const i=``;l.applyStyleFromText(i);return{reload:()=>l.applyStyleFromText(i),unload:()=>document.getElementById("narrow-danmaku-style").remove()}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/video-card-info.min.js"] = (()=>{return(r,e)=>{}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/remove-promotions.min.css"] = `#home_popularize .adpos,#home_popularize .l-con,#reportFirst2 .extension,#slide_ad,.activity-m,.bili-header-m .nav-menu .nav-con .nav-item .text-red,.bilibili-player-promote-wrap,.gg-floor-module,.gg-window .operate-card,.home-app-download,.international-home .banner-card,.mascot,.mobile-link-l,.video-page-game-card,.video-page-special-card{display:none!important}#home_popularize{position:relative!important}.gg-window .online,.popularize-module .online{position:absolute!important;top:50%!important;right:.5%!important;transform:translateY(-100%)!important}.gg-window .online{right:0!important;padding:0 16px!important}#reportFirst2{position:relative;margin-bottom:4px}.blocked-ads{width:440px;height:220px;display:flex;color:#888;background-color:#8882;font-size:24pt;font-weight:700;align-items:center;justify-content:space-evenly}body.compact .blocked-ads{width:480px;height:240px}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/rank-list.vue.min.js"] = (()=>{return(a,i)=>{const t=`
加载中...
空空如也哦 = ̄ω ̄=
`;i.applyStyleFromText(`.rank-days-list .loading{height:48px;display:flex;align-items:center;justify-content:center;font-size:11pt;color:#707070}.rank-days-list .loading .mdi{margin-right:8px}body.dark .rank-days-list .loading{color:#eee}.rank-days-list .cards{display:flex;flex-wrap:wrap;align-items:center}`,"rank-list-style");return{export:Object.assign({template:t},{components:{VideoCard:()=>i.importAsync("video-card.vue")},props:["rankDays"],data(){return{cards:[],loading:true}},async mounted(){try{const a=await Ajax.getJsonWithCredentials(`https://api.bilibili.com/x/web-interface/ranking/index?day=${this.rankDays}`);const{getWatchlaterList:t}=await i.importAsync("watchlater-api");const e=await t();if(a.code!==0){throw new Error(a.message)}this.cards=a.data.map(a=>{return{id:a.aid,aid:parseInt(a.aid),title:a.title,upID:a.mid,upName:a.author,coverUrl:a.pic.replace("http://","https://"),description:a.description,durationText:a.duration,playCount:formatCount(a.play),coins:formatCount(a.coins),favorites:formatCount(a.favorites),watchlater:e.includes(a.aid)}})}catch(a){Toast.error(a.message,"排行",3e3)}finally{this.loading=false}}})}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/video-list.vue.min.js"] = (()=>{return(i,a)=>{const t=`
加载中...
空空如也哦 = ̄ω ̄=
`;a.applyStyleFromText(`.minimal-home .video-list .empty,.minimal-home .video-list .loading{height:48px;display:flex;align-items:center;justify-content:center;font-size:11pt;color:#707070}.minimal-home .video-list .empty .mdi,.minimal-home .video-list .loading .mdi{margin-right:8px}body.dark .minimal-home .video-list .empty,body.dark .minimal-home .video-list .loading{color:#eee}.minimal-home .video-list .cards{display:flex;flex-wrap:wrap;align-items:flex-end}.minimal-home .video-list .cards.show-rank .video-card:nth-child(1),.minimal-home .video-list .cards.show-rank .video-card:nth-child(17),.minimal-home .video-list .cards.show-rank .video-card:nth-child(9){margin-top:48px}.minimal-home .video-list .cards.show-rank .video-card:nth-child(1)::before,.minimal-home .video-list .cards.show-rank .video-card:nth-child(17)::before,.minimal-home .video-list .cards.show-rank .video-card:nth-child(9)::before{position:absolute;top:-42px;left:0;font-size:14pt;font-weight:700}.minimal-home .video-list .cards.show-rank .video-card:nth-child(1)::before{content:"今日"}.minimal-home .video-list .cards.show-rank .video-card:nth-child(9)::before{content:"三日"}.minimal-home .video-list .cards.show-rank .video-card:nth-child(17)::before{content:"一周"}`,"video-list-style");return{export:Object.assign({template:t},{components:{VideoCard:()=>a.importAsync("video-card.vue")},props:["showRank"],data(){return{cards:[],loading:true}},methods:{async getRankList(){const{getTrendingVideos:i}=await a.importAsync("trending-videos");const{getWatchlaterList:t}=await a.importAsync("watchlater-api");const e=await t();const o=async a=>{const t=await i(a,e);this.cards.push(...t)};await Promise.all([1,3,7].map(o))},async getActivityVideos(){const i=await Ajax.getJsonWithCredentials(`https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=${getUID()}&type_list=8`);const{getWatchlaterList:t}=await a.importAsync("watchlater-api");const e=await t();if(i.code!==0){throw new Error(i.message)}this.cards=i.data.cards.map(i=>{const a=JSON.parse(i.card);const t=_.get(i,"display.topic_info.topic_details",[]).map(i=>{return{id:i.topic_id,name:i.topic_name}});return{id:i.desc.dynamic_id_str,aid:a.aid,title:a.title,upID:i.desc.user_profile.info.uid,upName:i.desc.user_profile.info.uname,upFaceUrl:i.desc.user_profile.info.face,coverUrl:a.pic,description:a.desc,timestamp:i.timestamp,time:new Date(i.timestamp*1e3),topics:t,dynamic:a.dynamic,like:formatCount(i.desc.like),duration:a.duration,durationText:formatDuration(a.duration,0),playCount:formatCount(a.stat.view),danmakuCount:formatCount(a.stat.danmaku),watchlater:e.includes(a.aid)}})}},async mounted(){try{if(this.showRank){await this.getRankList()}else{await this.getActivityVideos()}}catch(i){Toast.error(i.message,this.showRank?"热门视频":"视频动态",3e3)}finally{this.loading=false}}})}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/title.min.js"] = (()=>{return(e,t)=>{function i(e=true){const t=document.title.replace("_番剧_bilibili_哔哩哔哩","").replace("_电影_bilibili_哔哩哔哩","").replace("_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili","").replace(" - 哔哩哔哩直播,二次元弹幕直播平台","").replace(/[\/\\:\*\?"<>\|]/g," ").trim();if(!e||document.URL.indexOf("/bangumi")!==-1){return t}else{const e=document.querySelector("#multi_page .cur-list>ul li.on a");if(e===null){return t}else{const i=e.getAttribute("title");return t+" - "+i}}}function l(e,t=true){const i=new Date;const l={title:document.title.replace(t?/:([^:]+?)_番剧_bilibili_哔哩哔哩/:"_番剧_bilibili_哔哩哔哩","").replace(t?/:([^:]+?)_国创_bilibili_哔哩哔哩/:"_国创_bilibili_哔哩哔哩","").replace(t?/:([^:]+?)_电影_bilibili_哔哩哔哩/:"_电影_bilibili_哔哩哔哩","").replace(t?/:([^:]+?)_纪录片_bilibili_哔哩哔哩/:"_纪录片_bilibili_哔哩哔哩","").replace("_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili","").replace(/(.*?) - (.*?) - 哔哩哔哩直播,二次元弹幕直播平台/,"$1").trim(),ep:(()=>{if(!t){return null}const e=dq("#eplist_module li.cursor .ep-title");if(e!==null){return e.innerText}const i=document.querySelector("#multi_page .cur-list>ul li.on a");if(i!==null){return i.getAttribute("title")}return null})(),aid:unsafeWindow.aid,cid:unsafeWindow.cid,lid:document.URL.replace(/https:\/\/live\.bilibili\.com\/(\d+).*/,"$1"),y:i.getFullYear().toString(),M:(i.getMonth()+1).toString().padStart(2,"0"),d:i.getDate().toString().padStart(2,"0"),h:i.getHours().toString().padStart(2,"0"),m:i.getMinutes().toString().padStart(2,"0"),s:i.getSeconds().toString().padStart(2,"0"),ms:i.getMilliseconds().toString().substr(0,3)};const r=Object.keys(l).reduce((e,t)=>{return e.replace(new RegExp(`\\[([^\\[\\]]*?)${t}([^\\[\\]]*?)\\]`,"g"),l[t]?`$1${l[t]}$2`:"")},e);return r.replace(/[\/\\:\*\?"<>\|]/g," ")}function r(t=true){if(e.filenameFormat===undefined){return i(t)}return l(e.filenameFormat,t)}return{export:{getFriendlyTitle:r,formatTitle:l}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/i18n.en-US.min.js"] = (()=>{return(e,o)=>{const t=true;const i=new Map([[`主站`,`Home`],[`画友`,`Photos`],[`音频`,`Music`],[`游戏中心`,`Game`],[`会员购`,`Shop`],[`下载APP`,`App`],[`会员`,[`User`,{selector:`.ep-list-wrapper .ep-item .badge.pink`,text:`VIP`}]],[`大会员`,`VIP`],[`小会员`,`Reverse VIP`],[`未登录`,`Not logged in`],[`注册会员`,`Registered User`],[`正式会员`,`Formal User`],[`年度大会员`,`Annual VIP`],[`年度小会员`,`Annual Reverse VIP`],[`消息`,`Notifications`],[`动态`,`Feeds`],[`稍后再看`,`Watchlater`],[`收藏`,`Favorite`],[`更多`,`More`],[`排行`,`Ranking`],[`图片`,`Photo`],[`视频`,`Video`],[`音乐`,`Music`],[`时尚`,`Fashion`],[`电影`,`Movie`],[`影视`,`Film`],[`特摄`,`Tokusatsu`],[`学习`,`Study`],[`放映厅`,`Cinema`],[`广告`,`Ads`],[`广场`,`Plaza`],[`发布`,`Post`],[`举报`,`Report`],[`首页`,`Home`],[`热门`,`Trending`],[`周一`,`MON`],[`周二`,`TUE`],[`周三`,`WED`],[`周四`,`THU`],[`周五`,`FRI`],[`周六`,`SAT`],[`周日`,`SUN`],[`今天`,`Today`],[`昨天`,`Yesterday`],[`近1周`,`This week`],[`1周前`,`Past week`],[`发送`,`Send`],[`取消`,`Cancel`],[`关闭`,`Close`],[`表情`,`Sticker`],[`小视频`,`Mini video`],[`短视频`,`Mini video`],[`查看更多`,`More`],[`显示更多`,`More`],[`浏览更多`,`More`],[`查看全部`,`More`],[`所有关注`,`All followings`],[`进入专栏区`,`Columns`],[`暂时没有新动态了哦!`,`No new feeds yet.`],[`播放历史`,`History`],[`暂停记录历史`,`Pause recording history`],[`啊叻?你要暂停历史记录功能吗?`,`Do you really want to pause recording history?`],[`确定暂停`,`Yes`],[`清空历史`,`Clear history`],[`已看完`,`Completed`],[`一键清空`,`Clear all`],[`移除已观看视频`,`Clear watched`],[`即将删除所有已观看视频,此操作不可恢复。确定是否删除?`,`This will remove all watched videos and is unrecoverable, do you want to continue?`],[`清空确认`,`Clear Confirm`],[`确定要清空你的稍后再看列表吗?`,`Clear the entire watchlater list?`],[`已观看`,`Watched`],[`删除`,`Delete`],[`确认`,`Yes`],[`添加`,`Add`],[`取消关注`,`Unfollow`],[`全部`,`All`],[`投稿视频`,`Posted video`],[`公告栏`,`Notice`],[`正在直播`,`Live broadcasting`],[`虚拟主播`,`Vtuber`],[`房间标题`,`Title`],[`设置`,`Settings`],[`频道`,`Channel`],[`标签`,`Tag`],[`关注`,`Follow`],[`关注数`,`Following`],[`粉丝`,`Follower`],[`粉丝数`,`Followers`],[`阅读数`,`Read`],[`阅读量`,`Read`],[`相簿`,`Photos`],[`我的频道`,`My Channel`],[`我的视频`,`My Video`],[`我的音频`,`My Audio`],[`我的音乐`,`My Music`],[`我的专栏`,`My Column`],[`我的相簿`,`My Photos`],[`我的关注`,`My Followings`],[`我的粉丝`,`My Follwers`],[`我的消息`,`My Messages`],[`我的收藏`,`My Favorites`],[`我的订阅`,`My Subscribes`],[`系统通知`,`System`],[`网游`,`Online`],[`手游`,`Mobile`],[`单机`,`Console`],[`电台`,`Radio`],[`绘画`,`Drawing`],[`投稿`,`Upload`],[`热门话题`,`Trending #Tags#`],[`人气排行`,`Trending`],[`我关注的话题`,`Following #Tags#`],[`前往TA的直播间`,`Open live room`],[`今天你想了解什么呢?(☆▽☆)`,`Search ~~~ (☆▽☆)`],[`请输入弹幕 DA☆ZE~`,`Enter your danmaku DA☆ZE~`],[`有什么想和大家分享的?`,`What's happening?`],[`有新动态,点击查看`,`New feeds, click to view`],[`以上为热门评论,`,`Aboves are hot comments`],[`请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。`,`Post your comments ε=ε=(ノ≧∇≦)ノ`],[`点击查看`,`Click to view`],[`刚刚`,`Just now`],[`转发动态`,`Repost`],[`分享动态`,`Share`],[`转发`,`Repost`],[`赞`,`Like`],[`好评`,`Like`],[`支持一下`,`Like`],[`重播`,`Replay`],[`投币`,`Coin`],[`同时点赞内容`,`Like as well`],[`添加到收藏夹`,`Add to favorites`],[`投稿了`,`Posted`],[`动态首页`,`Feeds Home`],[`历史动态`,`Feeds History`],[`活动作品`,`Event`],[`未经作者授权,禁止转载`,`Please do not repost or reproduce without prior permission`],[`上一帧`,`Previous Frame`],[`下一帧`,`Next Frame`],[`人正在看`,`watching`],[`条实时弹幕`,`danmakus`],[`开启弹幕`,`Turn on danmakus`],[`显示弹幕`,`Show danmakus`],[`关闭弹幕`,`Turn off danmakus`],[`隐藏弹幕`,`Hide danmakus`],[`发个友善的弹幕见证当下`,`Enter your danmaku`],[`发个弹幕见证当下`,`Enter your danmaku`],[`弹幕礼仪`,`Guidelines`],[`追番`,[`Subscribe`,{selector:`.subscriptions-tabs .tab`,text:`Bangumi`},{selector:`.tab-bar .tab-text`,text:`Subscriptions`}]],[`已追番`,`Subscribed`],[`取消追番`,`Unsubscribe`],[`追剧`,[`Subscribe`,{selector:`.subscriptions-tabs .tab`,text:`Shows`}]],[`已追剧`,`Subscribed`],[`取消追剧`,`Unsubscribe`],[`取消订阅`,`Unsubscribe`],[`用手机观看`,`Mobile`],[`用手机看`,`Mobile`],[`弹幕列表`,`Danmaku List`],[`左舷弹幕太薄了,大家快来吐槽吧~`,`Danmaku list is empty. Be the first danmaku sender!`],[`屏蔽设定`,`Block Settings`],[`屏蔽列表`,`Block List`],[`高级弹幕`,`Special Danmaku`],[`时间`,`Time`],[`弹幕内容 (`,`Content ( `],[`发送时间`,`Time`],[`已屏蔽`,`Blocked`],[`查看历史弹幕`,`Danmaku history`],[`相关视频推荐`,`Related videos`],[`相关推荐`,`Related`],[`点评`,`Reviews`],[`评论`,`Comments`],[`新番时间表`,`Timetable`],[`小黑屋`,`Judge`],[`摄影`,`Photography`],[`插画`,`Illustration`],[`其他`,`Other`],[`下载`,`Download`],[`更新了`,`Updated`],[`排行榜`,`Ranking`],[`推荐`,`Recommended`],[`播放`,`Play`],[`播放数量`,`Plays`],[`暂停`,`Pause`],[`静音`,`Mute`],[`弹幕`,`Danmaku`],[`硬币`,`Coin`],[`宽屏模式`,`Widescreen`],[`退出宽屏`,`Exit widescreen`],[`退出网页全屏`,`Exit web fullscreen`],[`退出全屏`,`Exit fullscreen`],[`进入全屏`,`Fullscreen`],[`全屏模式`,`Fullscreen`],[`打开洗脑循环`,`Turn on loop`],[`观看人数`,`Viewers`],[`转载`,`Reproduction`],[`展开`,`Expand`],[`收起`,`Fold`],[`展开全部`,`Expand`],[`展开全文`,`Expand`],[`收起全文`,`Fold`],[`已结束`,`Ended`],[`电视剧`,`Drama`],[`上一页`,`Previous`],[`下一页`,`Next`],[`搜索`,`Search`],[`直播中`,`Live boradcasting`],[`等级`,`Level`],[`个人中心`,`Profile`],[`创作中心`,`Creations`],[`直播中心`,`Live center`],[`订单中心`,`Orders`],[`B币钱包`,`Bili Wallet`],[`B币`,`Bili Coin`],[`主页`,`Home`],[`排序`,`Sort`],[`移除`,`Remove`],[`复制`,`Copy`],[`换一换`,`Refresh`],[`特别推荐`,`Recommended`],[`热门榜单`,`Hits`],[`播放全部`,`Play all`],[`自动播放`,`Auto play`],[`观看历史`,`History`],[`个人收益`,`Personal income`],[`同时转发到我的动态`,`Repost to my feeds`],[`人气值`,`Popularity`],[`友爱社`,`Club`],[`话题`,`#Tags#`],[`活动`,`Event`],[`活动中心`,`Event center`],[`消息中心`,`Messages`],[`专栏投稿`,`Post column`],[`音频投稿`,`Post audio`],[`视频投稿`,`Post video`],[`相簿投稿`,`Post photo`],[`上传视频`,`Upload`],[`退出登录`,`Log out`],[`回复我的`,`Reply`],[`TA 的直播间`,`Live room`],[`TA 的小视频`,`Mini videos`],[`TA的视频`,`Videos`],[`TA的音频`,`Audios`],[`TA的专栏`,`Columns`],[`TA的频道`,`Channels`],[`TA的订阅`,`Subscriptions`],[`TA的收藏夹`,`Favorites`],[`邮箱验证`,`Email verification`],[`手机验证`,`Phone verification`],[`领取`,`Collect`],[`确定`,`OK`],[`公开`,`Public`],[`隐藏`,`Private`],[`搜索设置项`,`Search settings`],[`样式`,`Style`],[`工具`,`Tools`],[`触摸`,`Touch`],[`指定播放器布局`,`Player layout`],[`视频区布局`,`Video`],[`番剧区布局`,`Bangumi`],[`使用默认播放器模式`,`Default player mode`],[`默认播放器模式`,`Mode`],[`播放时应用模式`,`Apply on playing`],[`播放时自动关灯`,`Turn off light when playing`],[`使用默认视频画质`,`Default video quality`],[`画质设定`,`Quality`],[`使用默认弹幕设置`,`Default danmaku settings`],[`记住弹幕设置`,`Remember danmaku settings`],[`自动展开弹幕列表`,`Auto expand danmaku list`],[`自动展开视频简介`,`Auto expand video description`],[`自动从历史记录点播放`,`Auto continue by history`],[`允许跨集跳转`,`Allow jump across episodes`],[`自动播放视频`,`Auto play video`],[`跳过充电鸣谢`,`Skip charge acknowledgements`],[`启用逐帧调整`,`Enable seek by frame`],[`启用视频截图`,`Enable video screenshots`],[`自动定位到播放器`,`Auto locate player`],[`定位偏移量`,`Locate offset`],[`外置稍后再看`,`Outside watchlater`],[`主题颜色`,`Theme color`],[`使用自定义顶栏`,`Custom navbar`],[`主题色填充`,`Fill with theme color`],[`填充其他顶栏`,`Also fill other navbars`],[`紧凑布局`,`Compact layout`],[`背景模糊`,`Background blur`],[`夜间模式`,`Dark mode`],[`夜间模式计划时段`,`Dark mode schedule`],[`起始时间`,`From`],[`结束时间`,`To`],[`首页使用紧凑布局`,`Compact layout for homepage`],[`简化评论区`,`Simplify comments`],[`简化直播间`,`Simplify live room`],[`隐藏顶部横幅`,`Hide top banner`],[`播放器投影`,`Drop shadow for player`],[`强制保留弹幕栏`,`Force preserve danmaku input`],[`模糊视频控制栏背景`,`Background blur for video controls`],[`控制栏着色`,`Fill video controls`],[`不透明度`,`Opacity`],[`缩放直播看板娘`,`DPI-ware live room showgirl`],[`删除直播水印`,`Remove live watermark`],[`删除视频标题层`,`Remove video top mask`],[`隐藏返回旧版`,`Hide "Back to old"`],[`隐藏番剧点评`,`Hide bangumi reviews`],[`删除广告`,`Remove ads`],[`稍后再看重定向`,`Watchlater redirect`],[`收藏夹视频重定向`,`Favorites redirect`],[`隐藏搜索推荐`,`Hide search recommendation`],[`展开动态标题`,`Expand title in feeds`],[`展开选集列表`,`Expand episode list`],[`BiliPlus跳转支持`,`BiliPlus support`],[`高分辨率图片`,`DPI-aware images`],[`旧版动态跳转支持`,`Old feeds support`],[`界面翻译`,`UI translation`],[`语言`,`Language`],[`顶栏触摸优化`,`Touch support for navbar`],[`素质三连触摸支持`,`Touch support for combo like`],[`播放器触摸支持`,`Touch support for player`],[`启用实验性动画效果`,`Experimental animations`],[`启用双击控制`,`Enable double-tap control`],[`显示消息`,`Show toasts`],[`显示内部错误消息`,`Show internal errors`],[`新版本`,`New version`],[`已发布.`,`is available.`],[`安装`,`Install`],[`查看`,`Details`],[`检查更新`,`Check for updates`],[`安装更新`,`Install update`],[`查看更新`,`View update`],[`启用缓存`,`Enable cache`],[`附加功能`,`Add-ons`],[`清除缓存`,`Clear cache`],[`转到BiliPlus`,`Jump to BiliPlus`],[`顶栏布局`,`Navbar layout`],[`搜索框`,`Search box`],[`用户信息`,`User profile`],[`投稿入口`,`Post entrance`],[`转到新版`,`Jump to new version`],[`回到旧版`,`Jump to old verison`],[`查看封面`,`View cover`],[`复制原链接`,`Copy link`],[`在新标签页打开`,`Open in new tab`],[`下载弹幕`,`Download danmaku`],[`下载视频`,`Download video`],[`下载音频`,`Download audio`],[`更换勋章`,`Change your badge`],[`更换头衔`,`Change your title`],[`关于`,`About`],[`动画`,`Anime`],[`舞蹈`,`Dance`],[`国创`,`China`],[`科技`,`Tech`],[`生活`,`Life`],[`鬼畜`,`Kichiku`],[`专栏`,`Column`],[`游戏`,`Game`],[`直播`,`Live`],[`数码`,`Digital`],[`TV剧`,`TV`],[`番剧`,[`Bangumi`,{selector:`.elevator-module .nav-list .item`,text:`Bangu`}]],[`纪录片`,[`Documentary`,{selector:`.elevator-module .nav-list .item`,text:`Doc`}]],[`娱乐`,[`Entertainment`,{selector:`.primary-menu .nav-menu li .nav-name, .elevator-module .nav-list .item`,text:`Entmt`}]],[`自动`,`Auto`],[`常规`,`Normal`],[`宽屏`,`Widescreen`],[`网页全屏`,`Web fullscreen`],[`全屏`,`Fullscreen`],[`历史`,`History`],[`登录`,`Log in`],[`注册`,`Sign up`],[`我的直播间`,`My live room`],[`直播间`,`Live room`],[`订阅`,[`Subscribe`,{selector:`.main-content`,text:`Subscriptions`}]],[`主站空间`,`My space`],[`播放数`,`Plays`],[`综合`,`General`],[`用户`,`User`],[`投稿管理`,`Posts`],[`个人信息`,`Profiles`],[`开播设置`,`Live settings`],[`直播分类:`,`Live type`],[`修改分区`,`Edit category`],[`房间标题:`,`Live title`],[`开始直播`,`Start live`],[`关闭直播`,`Stop live`],[`主播公告`,`Host notice`],[`简介`,`Description`],[`直播封面`,`Live cover`],[`我的个人标签`,`My tags`],[`个人简介`,`Bio`],[`直播间信息`,`Live room info`],[`我的船员`,`My sailor`],[`直播数据`,`Live data`],[`数据总览`,`Overall stats`],[`直播时长`,`Total time`],[`最高人气值`,`Max popularity`],[`直播收益(金仓鼠)`,`Live income (Golden hamster)`],[`直播收益`,`Live income`],[`新增关注数`,`New subscribes`],[`人均观看时长`,`Avg watch time`],[`礼物流水`,`Gifts`],[`礼物统计`,`Gift stats`],[`消费排行`,`Consumption ranking`],[`更多>>`,`More>>`],[`主播`,`Host`],[`未开播`,`Idle`],[`金瓜子`,`Golden seeds`],[`银瓜子`,`Silver seeds`],[`残忍取关`,`Unfollow`],[`再考虑一下`,`Cancel`],[`已关注`,`Following`],[`七日榜`,`Rank`],[`舰队`,`Fleet`],[`房管`,`Manager`],[`粉丝榜`,`Follower`],[`分享`,`Share`],[`轮播`,`Slideshow`],[`闲置`,`Idle`],[`回复`,`Reply`],[`查看更多评论`,`View more comments`],[`英雄联盟`,`LOL`],[`APEX英雄`,`Apex Legends`],[`守望先锋`,`Overwatch`],[`绝地求生`,`PUBG`],[`王者荣耀`,`Arena Of Valor`],[`第五人格`,`Identity V`],[`绝地求生:刺激战场`,`PUBG Mobile`],[`崩坏3`,`Houkai 3rd`],[`主机游戏`,`Console games`],[`我的世界`,`MC`],[`怪物猎人:世界`,`Monster Hunter: World`],[`只狼:影逝二度`,`Sekiro: Shadows Die Twice`],[`鬼泣5`,`Devil May Cry 5`],[`视频唱见`,`Singer`],[`舞见`,`Dancer`],[`视频聊天`,`Chat`],[`才艺`,`Talent show`],[`唱见电台`,`Singer radio`],[`声优`,`CV`],[`聊天电台`,`Chat radio`],[`同人绘画`,`Doujin`],[`原创绘画`,`Original`],[`临摹绘画`,` Copy`],[`其他绘画`,`Other`],[`扭蛋机`,`Capsule machine`],[`我关注的直播`,`Following lives`],[`我关注的动态`,`Following feeds`],[`按热度排序`,`By likes`],[`按时间排序`,`By time`],[`全部评论`,`All comments`],[`发消息`,`Send message`],[`点赞`,`Like`],[`发表评论`,`Comment`],[`你的rtmp地址:`,`Yout RTMP address: `],[`你的直播码:`,`Streaming code: `],[`颜值领域专属封面`,`顔出し用サムネ`],[`私信存档`,`Archive`],[`历史私信`,`Message History`],[`用户中心`,`User center`],[`我的信息`,`My messages`],[`领取奖励`,`Collect`],[`关注直播间`,`Follow`],[`加入黑名单`,`Block`],[`悄悄关注`,`Private follow`],[`个人信息举报`,`Report`],[`观众分析`,`Audience`],[`游客分析`,`Visitor`],[`粉丝分析`,`Follower`],[`游客基本属性`,`Basic properties of visitor`],[`性别占比`,`Gender ratio`],[`观众年龄`,`Ages`],[`观看途径`,`Approach`],[`消息设置`,`Settings`],[`消息提醒样式`,`Style`],[`(不含应援团)`,`(Support groups are not included)`],[`数字`,`Number`],[`收到的赞消息提醒`,`Likes`],[`(是否接收点赞消息通知)`,`(Config notifications of likes)`],[`始终提醒`,`Always notify`],[`永不提醒`,`Never notify`],[`回复我的消息提醒`,`Replies`],[`(接受谁的评论消息提醒)`,`(Config notifications of replies)`],[`所有人`,`From all people`],[`关注的人`,`Only from people that you follow`],[`不接受任何消息提醒`,`Never notify`],[`@我的消息提醒`,`@Mentions`],[`(接受谁的@消息提醒)`,`(Config notifications of @mentions)`],[`红点`,`Dot`],[`不提醒`,`Don't show`],[`推荐位申请`,`Apply for recommendation`],[`直播看板娘`,`Live showgirl`],[`收到的赞`,`Likes`],[`漫画`,`Manga`],[`投影`,`Drop shadow`],[`加载中...`,`Loading...`],[`模糊层不透明度`,`Opacity`],[`签到`,`Check-in`],[`新版`,[`New version`,{selector:`.gui-settings-dropdown-container *`,text:`New`}]],[`旧版`,[`Old version`,{selector:`.gui-settings-dropdown-container *`,text:`Old`}]],[`文件命名格式`,`Filename format`],[`发布动态`,`Post`],[`了解更多`,`Learn more`],[`编辑`,`Edit`],[`新闻公告`,`Notice`],[`全部直播`,`All`],[`游戏直播`,`Games`],[`网游直播`,`Online`],[`网络游戏`,`Online`],[`手游直播`,`Mobile`],[`手机游戏`,`Mobile`],[`单机游戏`,`Console`],[`娱乐直播`,`Entertainment`],[`电台直播`,`Radio`],[`绘画直播`,`Drawing`],[`哔考`,`Study`],[`进入直播间`,`Enter`],[`直播持续时间`,`Duration`],[`Ta还没有应援的友爱社喔 (ಥ_ಥ)`,`No fans club yet (ಥ_ಥ)`],[`参与创作了`,`Participated`],[`未经作者授权 禁止转载`,`Please do not reproduce without prior permission`],[`稿件投诉`,`Report`],[`充电`,`Charge`],[`为TA`,``],[`为TA充电`,`Charge`],[`充电设置`,`Charge settings`],[`移动`,`Move`],[`保护`,`Reserve`],[`忽略`,`Ignore`],[`该视频弹幕为空`,`No danmakus yet`],[`屏蔽设置`,`Block settings`],[`屏蔽用户`,`Block user`],[`屏蔽该弹幕的发送者`,`Block sender of this danmaku`],[`设为置顶`,`Stick on top`],[`取消置顶`,`Cancel sticking`],[`没有更多信息`,`No more messages available`],[`取消静音`,`Cancel mute`],[`展开更多`,`More`],[`搜索视频`,`Search for videos`],[`搜索音频`,`Search for audios`],[`搜索稿件`,`Search for works`],[`立即播放`,`Play now`],[`我的友爱社`,`My fans club`],[`新闻`,`News`],[`视频截图`,`Video screenshots`],[`截图`,`Take screenshot`],[`老爷图标`,`Live VIP Icon`],[`粉丝勋章`,`Fans Badge`],[`活动头衔`,`Event Title`],[`用户等级`,`User Level`],[`舰长图标`,`Captain Icon`],[`全区广播`,`Global Messages`],[`欢迎信息`,`Welcome Messages`],[`抽奖提示`,`Lucky Draw Popups`],[`房间皮肤`,`Room Skin`],[`复制链接`,`Copy Link`],[`投稿时间排序`,`Sort by time`],[`点击数排序`,`Sort by views`],[`评论数排序`,`Sort by comments`],[`收藏数排序`,`Sort by favorites`],[`弹幕数排序`,`Sort by danmakus`],[`首页管理`,`Home`],[`内容管理`,`Posts`],[`视频管理`,`Videos`],[`专栏管理`,`Columns`],[`音频管理`,`Audios`],[`相簿管理`,`Photos`],[`你还没有投过一个稿件("▔□▔)`,`You didn't post anything ("▔□▔)`],[`数据`,`Stat`],[`编辑稿件`,`Edit`],[`(单次最多允许上传100p视频,推荐采用mp4、flv格式,可有效缩短审核转码耗时)`,`(Up to 100 episodes per video, using mp4 or flv format can reduce encoding time)`],[`上传完成`,`Upload complete`],[`添加视频`,`Add video`],[`视频封面设置`,`Video cover`],[`(格式jpeg、png,文件大小≤5MB,建议尺寸≥1146*717,最低尺寸≥960*600)`,`(Format: jpeg / png, Size: ≤ 5MB, Recommended Resolution: ≥ 1146px*717px, Minimum Resolution: ≥ 960px*600px)`],[`类型`,`Type`],[`分区`,`Category`],[`全部分区`,`All categories`],[`热门分区`,`Trending categories`],[`标题`,`Title`],[`更多选项`,`Advanced`],[`定时发布`,`Schedule`],[`立即投稿`,`Post immediately`],[`分享投稿`,`Share post`],[`编辑记录`,`Edit history`],[`删除稿件`,`Delete`],[`数据中心`,`Stats`],[`粉丝管理`,`Followers`],[`互动管理`,`Interactions`],[`评论管理`,`Comments`],[`弹幕管理`,`Danmakus`],[`字幕管理`,`Subtitles`],[`收益管理`,`Earnings`],[`创作激励`,`Creative Rewards`],[`充电计划`,`Charge`],[`悬赏计划`,`Bounties`],[`任务成就`,`Achievements`],[`创作学院`,`Learn`],[`个人设置`,`Settings`],[`申诉管理`,`Appeal`],[`你的手机号/邮箱`,`Phone Number / Email`],[`密码`,`Password`],[`禁止直播首页自动播放`,`Disable live autoplay`],[`隐藏首页推荐直播`,`Hide recommended live rooms`],[`侧栏垂直偏移量`,`Side bar vertical offset`],[`合作视频`,`Collaboration`],[`礼物弹幕`,`Gift danmaku`],[`上舰提示`,`New captains`],[`隐藏分区栏`,`Hide category bar`],[`显示失效视频信息`,`Retrieve dead video info`],[`失效视频重定向`,`Redirect dead video`],[`信息来源`,`Info provider`],[`快速收起动态评论区`,`Quick fold comments`],[`收起评论`,`Fold comments`],[`我的直播间地址`,`My live room address`],[`选择分类`,`Category`],[`必须选择分类才能开播`,`You can't start live broadcasting before select a category.`],[`使用默认播放速度`,`Default playback rate`],[`默认播放速度`,`Playback rate`],[`标记为 想看`,`Mark as "Want to watch"`],[`想看`,`Want to watch`],[`标记为 在看`,`Mark as "Watching"`],[`在看`,`Watching`],[`标记为 已看`,`Mark as "Watched"`],[`标记为 看过`,`Mark as "Watched"`],[`看过`,`Watched`],[`显示占位文本`,`Show placeholder text`],[`瓜子换硬币`,`Seeds to coins`],[`每天最多能兑换 1 个`,`You can only exchange up to 1 coin per day.`],[`单个视频`,`Single video`],[`获取大小中`,`Fetching size`],[`获取大小失败`,`Failed to fetch size`],[`预计大小:`,`Estimated size: `],[`警告: 过大的视频大小会在直接下载时占用大量内存, 并可能导致浏览器标签页崩溃. 请考虑降低清晰度或使用导出选项.`,`Warning: Videos in large size will cost a large number of RAM during Direct Download, even crash the browser tab. Please use lower quality or use Export.`],[`清晰度`,`Quality`],[`无`,`None`],[`直接下载`,`Direct Download`],[`开始`,`Start`],[`导出`,`Export`],[`导出aria2`,`Export to aria2`],[`复制vld数据`,`Copy vld data`],[`导出vld数据`,`Export vld data`],[`导出aria2 RPC`,`Export to aria2 RPC`],[`无法连接到RPC主机.`,`Could not connect to RPC host.`],[`aria2 RPC 配置`,`aria2 RPC config`],[`主机`,`Host`],[`端口`,`Port`],[`密钥`,`Secret Key`],[`路径`,`Path`],[`批量导出`,`Batch Export`],[`请至少选择1集或以上的数量!`,`Please select at least 1 episode!`],[`选集`,`Episodes`],[`全选`,`Select All`],[`全不选`,`Deselect All`],[`反选`,`Inverse Selection`],[`错误`,`Error`],[`请求遭到拒绝, 请检查您的密钥相关设置.`,`Connection refused, please check your Secret Key.`],[`明日方舟`,`Arknights`],[`直播歌曲内容不适宜请立即调整`,`Your songs in live have conflicted our policy, please use other songs.`],[`快捷键扩展`,`Extended Keymap`],[`限速`,`Speed Limit`],[`双击全屏`,`Quick fullscreen`],[`启用 Ajax Hook API`,`Enable Ajax Hook API`],[`加载模式`,`Loading Mode`],[`同时`,`Simultaneous`],[`延后`,`Delay`],[`同时(自动)`,`Simultaneous (Auto)`],[`延后(自动)`,`Delay (Auto)`],[`设置面板停靠位置`,`Settings panel dock side`],[`左侧`,`Left`],[`右侧`,`Right`],[`直播间自动领奖`,`Auto perform drawing in live room`],[`专栏文字选择`,`Selectable texts in column`],[`稍后再看期限提醒`,`Watchlater expire time warnings`],[`解除动态存图限制`,`Unlock image-saving in feeds`],[`展开动态内容`,`Expand feeds content`],[`使用季节Logo`,`Use seasonal logo`],[`格式`,`Format`],[`预设`,`Presets`],[`配置`,`Config`],[`未命名`,`Unnamed`],[`重命名`,`Rename`],[`新增预设`,`New preset`],[`删除预设`,`Delete preset`],[`默认路径`,`Default Path`],[`方法`,`Method`],[`开始下载`,`Start Download`],[`保存配置`,`Save Config`],[`已保存`,`Saved!`],[`全部动态`,`View all`],[`已添加`,`Added`],[`迷你播放器触摸拖动`,`Touch move for mini player`],[`显示链接`,`Show link`],[`复制全部`,`Copy All`],[`简化首页`,`Simplify home`],[`首页风格`,`Style`],[`清爽`,`Simple`],[`极简`,`Minimal`],[`隐藏番剧承包`,`Hide bangumi sponsors`],[`隐藏推荐直播`,`Hide recommended live`],[`隐藏视频推荐`,`Hide related videos`],[`动态过滤器`,`Feeds filter`],[`首选编码`,`Preferred Codec`],[`ffmpeg - 分段列表`,`ffmpeg - Segments List`],[`ffmpeg - 分P列表`,`ffmpeg - Episodes List`],[`视频动态`,`My Feeds`],[`热门视频`,`Trending`],[`返回顶部`,`Back to top`],[`今日`,`Today`],[`三日`,`3 days`],[`一周`,`Weekly`],[`栏目`,`Sites`],[`*`,[{selector:`.gui-settings-widgets-box .widgets-container .empty-tip`,text:`Nothing here = ̄ω ̄=`},{selector:`.custom-navbar-settings .paddings-desc`,text:`Edge padding: Set padding for left and right edge of navbar. It's measured as percent (total width is 100%) with 0% ~ 40% valid range.`},{selector:`.custom-navbar-settings .orders-desc`,text:`Orders & Display: Drag the hamburger icon to reorder them, or press on the name for some time to start a drag. Click the eye icon on the right to toggle their visibility.`}]]]);const a=new Map([[/^浏览:([0-9\.a-z]+)$/,`Views:$1`],[/^收藏:([0-9\.a-z]+)$/,`Favorites:$1`],[/^支持:([0-9\.a-z]+)$/,`Likes:$1`],[/^共([\d]+)页$/,`$1 pages in total`],[/^小视频 ([\d]+)$/,`Mini videos $1`],[/^相簿 ([\d]+)$/,`Photos $1`],[/^在线人数:([\d]+)$/,`Online: $1`],[/^([0-1])[ ]?分钟前$/,`$1 minute ago`],[/^([\d]+)[ ]?分钟前$/,`$1 minutes ago`],[/^([0-1])[ ]?小时前$/,`$1 hour ago`],[/^([\d]+)[ ]?小时前$/,`$1 hours ago`],[/^([0-1])播放/,`$1 View`],[/^([\d]+)播放/,`$1 Views`],[/^([\d]+)\.([\d])万播放/,`$1$2k Views`],[/^([0-1])弹幕$/,`$1 Danmaku`],[/^([\d]+)弹幕$/,`$1 Danmakus`],[/^([\d]+)\.([\d])万弹幕$/,`$1$2k Danmakus`],[/^([\+]?[ ]?)关注([:]?[:]?[ ]?)([\d]+)?$/,`$1Follow$2$3`],[/^上传时间:([\d])/,`Upload time: $1`],[/^粉丝([:]?[:]?[ ]?)$/,`Follower$1`],[/^@([ ]?)我的$/,`@Mentions`],[/^TA([ ]?)的相簿$/,`Photos`],[/^1硬币$/,`1 Coin`],[/^([\d]+)硬币$/,`$1 Coins`],[/^阅读([:]?[:]?[ ]?)$/,`$1 Reads`],[/^弹性空白([\d])/,`Flexible blank $1`],[/^金仓鼠([ ]?[:]?)$/,`Golden hamster$1`],[/^贝壳([ ]?[:]?)$/,`Shell$1`],[/^创作团队(([\d]+))$/,`Team($1)`],[/^([\d]+)\.(\d)万$/,`$1$2k`],[/^([\d]+)万$/,`$10k`],[/^在线人数: ([\d]+)$/,`$1 people online`],[/^关注([ ])([\d]+)\.([\d])万$/,`Follow$1$2$3k`],[/^点赞数([\d]+)$/,`$1 Likes`],[/^投硬币枚数([\d]+)$/,`$1 Coins`],[/^收藏人数([\d]+)$/,`$1 Favorites`],[/^热门直播([:]?)$/,`Trending live$1`],[/^热门活动([:]?)$/,`Trending events$1`],[/^全部稿件 \(([\d]+)\)$/,`All works ($1)`],[/^进行中 \(([\d]+)\)$/,`Processing ($1)`],[/^已通过 \(([\d]+)\)$/,`Accepted ($1)`],[/^未通过 \(([\d]+)\)$/,`Rejected ($1)`],[/^共([\d]+)P$/,`$1 Episodes`],[/^超清 ([\d]+)K$/,`Ultra $1K`],[/^高清 ([\d]+)P([60\+]?)$/,`HD $1P$2`],[/^清晰 ([\d]+)P$/,`$1P`],[/^流畅 ([\d]+)P$/,`$1P`],[/^兑换成功\n剩余银瓜子:([\d]+)$/,`Exchanged successfully.\nYou have $1 silver seeds left.`],[/^预计大小: (.+)$/,`Estimated size: $1`],[/^最终路径: (.+)$/,`Final path: $1`]]);return{export:{map:i,regex:a}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/touch-navbar.min.js"] = (()=>{return(e,r)=>{SpinQuery.count(()=>document.querySelectorAll("ul.fr>li.nav-item:not(.profile-info), .nav-user-center .nav-item"),6,e=>{e.forEach(e=>{e.style.cursor="pointer";const r=e.querySelector("a.t");r.removeAttribute("href")})})}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/default-video-speed.min.js"] = (()=>{return(e,a)=>{const i=a=>{const i=parseFloat(e.defaultVideoSpeed);a.playbackRate=i;SpinQuery.condition(()=>a,()=>a.playbackRate!==i,()=>a.playbackRate=i)};Observer.videoChange(()=>{const e=dq(".bilibili-player-video video");if(!e){return}i(e)})}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/new-styles.min.js"] = (()=>{return(e,l)=>{if(document.URL===`https://h.bilibili.com/`){return}if(document.querySelector(`.z_header`)!==null){l.removeStyle("tweetsStyle");return}SpinQuery.any(()=>$(".custom-scrollbar"),e=>e.removeClass("custom-scrollbar"));SpinQuery.any(()=>$("#banner_link"),()=>l.removeStyle("tweetsStyle"));if(["/h.bilibili.com","/live.bilibili.com","/link.bilibili.com"].some(e=>document.URL.includes(e))){l.applyStyle("style","bilibili-style-optimization")}else{Promise.race([SpinQuery.select(()=>document.querySelector(".bili-header-m")).then(e=>e!==null&&e.classList.contains("stardust-video")),SpinQuery.select(()=>document.querySelector("body>#Header")).then(e=>e!==null)]).then(e=>l.applyStyle(e?"style":"oldStyle","bilibili-style-optimization"))}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/override-navbar.min.js"] = (()=>{return(e,n)=>{if(document.querySelector(`.z_header`)!==null){n.removeStyle("tweetsStyle");return}SpinQuery.any(()=>$(".head-content.bili-wrapper>div.search:not(.filter-item)"),e=>{const n=$(document.querySelector(".nav-con.fr"));e.detach().insertAfter(n)});if(e.preserveRank){SpinQuery.select(()=>document.querySelector(".nav-wrapper .searchform,.nav-con #nav_searchform"),e=>{e.classList.add("preserve-rank");if(!e.querySelector("a.icons-enabled")){e.insertAdjacentHTML("afterbegin",`\n\n\n\n`)}})}else{SpinQuery.select(()=>document.querySelector(".nav-wrapper .searchform,.nav-con #nav_searchform"),e=>{e.classList.remove("preserve-rank");const n=e.querySelector("a.icons-enabled");n&&n.remove()})}SpinQuery.any(()=>$("#banner_link"),()=>n.removeStyle("tweetsStyle"));if(!e.showBanner){n.applyStyle("noBannerStyle")}else{n.removeStyle("noBannerStyle")}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/theme-colors.min.js"] = (()=>{return(e,r)=>{const t={red:"#e57373",pink:"#F06292",purple:"#BA68C8",deepPurple:"#9575CD",indigo:"#7986CB",blue:"#2196F3",lightBlue:"#00A0D8",cyan:"#00ACC1",teal:"#26A69A",green:"#81C784",lightGreen:"#9CCC65",orange:"#FF9800",deepOrange:"#FF7043",brown:"#A1887F",grey:"#757575",blueGrey:"#78909C"};class o{constructor(){this.reloadColor=(()=>{const e=document.querySelector("html");return function(r){const t=new ColorProcessor(r);const o=e=>t.rgbToString(t.hexToRgba(e));e.style.setProperty("--theme-color",r);for(let t=10;t<=90;t+=10){e.style.setProperty(`--theme-color-${t}`,o(r+t))}e.style.setProperty("--foreground-color",t.foreground);e.style.setProperty("--foreground-color-b",o(t.foreground+"b"));e.style.setProperty("--foreground-color-d",o(t.foreground+"d"));e.style.setProperty("--blue-image-filter",t.blueImageFilter);e.style.setProperty("--pink-image-filter",t.pinkImageFilter);e.style.setProperty("--brightness",t.brightness);e.style.setProperty("--invert-filter",t.filterInvert)}})()}setupDom(){const e=document.querySelector(`input[key='customStyleColor']`);e.addEventListener("change",()=>{this.reloadColor(e.value)});const r=document.querySelector(".predefined-colors-grid");for(const o of Object.values(t)){const t=document.createElement("div");r.insertAdjacentElement("beforeend",t);t.classList.add("predefined-colors-grid-block");t.style.background=o;t.setAttribute("data-color",o);t.addEventListener("click",r=>{const t=r.target.getAttribute("data-color");e.value=t;raiseEvent(e,"input");raiseEvent(e,"change")})}const o=document.querySelector(".predefined-colors");document.querySelector("div.custom-color-preview").addEventListener("click",()=>{o.classList.toggle("opened")})}}return{export:{ThemeColors:o}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/image-viewer.min.css"] = `body.image-viewer-opened,html.image-viewer-opened{overflow:hidden!important}.image-viewer-container{background:rgba(0,0,0,.85);width:100%;height:100%;position:fixed;top:0;left:0;z-index:100000;display:none;justify-content:center;align-items:center}.image-viewer-container.opened{display:flex}.image-viewer{width:90%;height:90%;display:grid;grid-template-columns:auto 48px;grid-template-rows:48px auto 48px 12px 48px 18px 48px;grid-template-areas:"image close" "image ." "image copy-link" "image ." "image new-tab" "image ." "image download";grid-column-gap:12px;justify-items:center;justify-content:stretch;align-items:center;align-content:stretch}.image-viewer .image{grid-area:image;width:auto;height:auto;max-width:100%;max-height:100%}.image-viewer .close{grid-area:close}.image-viewer .download{grid-area:download}.image-viewer .copy-link{grid-area:copy-link;transform:scale(.95)}.image-viewer .new-tab{grid-area:new-tab;transform:scale(.85)}.image-viewer-icon{cursor:pointer;width:100%;height:100%}.image-viewer-icon svg{max-width:48px;max-height:48px}.image-viewer-icon path{fill:#eee;transition:.2s;transform-origin:center}.image-viewer-icon:hover path{fill:var(--theme-color);transform:scale(1.1)}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/dpi-img.vue.min.js"] = (()=>{return(t,s)=>{const e=``;return{export:Object.assign({template:e},{props:["size","src","blur","root","rootMargin","threshold"],data(){return{srcset:null,actualSrc:null}},methods:{calcSrc(){if(!this.src||!this.size){return null}const t=this.src.substring(this.src.lastIndexOf(".")+1);this.srcset=getDpiSourceSet(this.src,this.size,t);this.actualSrc=this.src}},mounted(){const t={root:this.root,rootMargin:this.rootMargin||"200px",threshold:this.threshold};const s=new IntersectionObserver(t=>{t.forEach(t=>{if(t.isIntersecting){this.calcSrc();s.disconnect()}})},t);s.observe(this.$el)},computed:{width(){if(typeof this.size==="object"&&"width"in this.size){return this.size.width}return null},height(){if(typeof this.size==="object"&&"height"in this.size){return this.size.height}return null}}})}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/frame-playback.min.js"] = (()=>{return(e,t)=>{const r=t.import("framePlaybackHtml");t.applyStyle("framePlaybackStyle");const a=async()=>{if(e.videoScreenshot){const e=await SpinQuery.select(".video-take-screenshot");if(e===null||document.querySelector(".frame-playback")){return}e.insertAdjacentHTML("afterend",r)}else{const e=await SpinQuery.select(".bilibili-player-video-time");if(e===null||document.querySelector(".frame-playback")){return}e.insertAdjacentHTML("afterend",r)}let t=0;const a=()=>dq("video").currentTime-=t;const i=()=>dq("video").currentTime+=t;Observer.attributesSubtree(".bilibili-player-video-quality-menu ul.bui-select-list",()=>{const e=document.querySelector(".bilibili-player-video-quality-menu .bui-select-item-active");const r=e?parseInt(e.getAttribute("data-value")):0;const a=(()=>{switch(r){case 116:case 74:return 6e4/1001;default:return 3e4/1001}})();t=1/a});document.addEventListener("keydown",e=>{if(e.shiftKey&&!["input","textarea"].includes(document.activeElement.nodeName.toLowerCase())){if(e.key==="ArrowLeft"){e.stopPropagation();e.preventDefault();a()}else if(e.key==="ArrowRight"){e.stopPropagation();e.preventDefault();i()}}});document.querySelector(".prev-frame").addEventListener("click",a);document.querySelector(".next-frame").addEventListener("click",i);if(e.touchVideoPlayer){document.querySelectorAll(".frame-playback").forEach(e=>e.classList.add("touch"))}};Observer.videoChange(a);return{reload:()=>document.querySelectorAll(".bilibili-player-video-control-bottom .frame-playback").forEach(e=>e.setAttribute("style","display: flex !important")),unload:()=>document.querySelectorAll(".bilibili-player-video-control-bottom .frame-playback").forEach(e=>e.setAttribute("style","display: none !important"))}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/trending-videos.min.js"] = (()=>{return(t,a)=>{const i=async(t,i)=>{const e=await Ajax.getJsonWithCredentials(`https://api.bilibili.com/x/web-interface/ranking/index?day=${t}`);if(i===undefined){const{getWatchlaterList:t}=await a.importAsync("watchlater-api");i=await t()}if(e.code!==0){throw new Error(e.message)}return e.data.map(a=>({id:a.aid+"-"+t,aid:parseInt(a.aid),title:a.title,upID:a.mid,upName:a.author,coverUrl:a.pic.replace("http://","https://"),description:a.description,durationText:a.duration,playCount:formatCount(a.play),coins:formatCount(a.coins),favorites:formatCount(a.favorites),watchlater:i.includes(parseInt(a.aid))}))};return{export:{getTrendingVideos:i}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/download-video.min.html"] = `

下载视频

单个视频
批量导出
警告: 过大的视频大小会在直接下载时占用大量内存, 并可能导致浏览器标签页崩溃. 请考虑降低清晰度或使用导出选项.
预计大小: {{displaySize}}
格式
清晰度
弹幕
首选编码

直接下载

{{speed}}
{{progressPercent}}%

选集

{{selectedEpisodeCount}}/{{episodeList.length}}

导出

{{showRpcSettings ? '取消' : 'aria2 RPC'}}

aria2 RPC

配置

主机
端口
密钥
限速
默认路径
路径
最终路径: {{rpcSettings.baseDir + rpcSettings.dir}}
方法
开始下载
{{saveRpcSettingsText}}
`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/hide-bangumi-reviews.min.js"] = (()=>{return(e,n)=>{return n.toggleStyle(`\n #review_module { display: none !important; }\n`,`hide-bangumi-reviews-style`)}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/skip-charge-list.min.js"] = (()=>{return(e,i)=>{async function n(){const e=await SpinQuery.select(()=>document.querySelector("video"));e&&e.addEventListener("ended",async()=>{const e=await SpinQuery.select(()=>document.querySelector(".bilibili-player-electric-panel-jump"));e&&e.click()})}if(Observer.videoChange){Observer.videoChange(n)}else{Observer.childList("#bofqi",n)}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/comment.min.css"] = `.comment-list .list-item{position:relative}.bb-comment .comment-list .list-item .info,.dynamic-list-item-wrap .reply-item>.info{display:flex}.bb-comment .comment-list .list-item .info .floor,.dynamic-list-item-wrap .reply-item>.info .floor{order:1}.bb-comment .comment-list .list-item .info .reply,.dynamic-list-item-wrap .reply-item>.info .reply{order:2}.bb-comment .comment-list .list-item .info .operation,.dynamic-list-item-wrap .reply-item>.info .operation{order:3;flex-grow:1;display:flex!important;justify-content:flex-end}.bb-comment .comment-list .list-item>.con>.reply-box{transform:translateX(0)}.bb-comment .comment-list .list-item>.con>.info{margin-top:4px}.bb-comment .comment-list .list-item>.con>.info>.time,.reply-item>.info>.time{position:absolute;right:8px;top:24px;margin:0!important;line-height:normal;color:#000}.reply-item>.info>.time{top:12px;opacity:1}.reply-box .item-user>a{margin-right:8px}.bb-comment .comment-header .tabs-order li.on:after,.bb-comment .comment-list .list-item .con .vote-container,.bb-comment .comment-list .list-item .user-face .hot-follow,.bb-comment .comment-list .list-item>.con>.info>.plad,.bb-comment .nameplate,.bb-comment .reply-notice,.comment-area .dynamic-level,.dynamic-list-item-wrap .info .plat{display:none!important}.bb-comment .comment-list .reply-con,.bb-comment .reply-item{position:relative}.bb-comment .comment-list .reply-con>.info>.time,.dynamic-list-item-wrap .reply-box .time{position:absolute;right:8px;top:0;margin:0;opacity:.5;line-height:normal;color:#000}.dynamic-list-item-wrap .reply-box .time{top:10px;opacity:.7}.bb-comment .comment-list .list-item .user{margin-right:120px}.reply-box .item-user .text{display:block}.bb-comment .comment-list .list-item .user .level{visibility:hidden;width:0;margin:0}.bb-comment .comment-list .list-item .info .hate>*,.bb-comment .comment-list .list-item .info .like>*,.bb-comment .comment-list .list-item .info .operation .spot,.bb-comment .comment-send .comment-emoji>*,.dynamic-hate i,.dynamic-like i{transition:.2s ease-out}.bb-comment .comment-list .list-item .info .hate i,.bb-comment .comment-list .list-item .info .like i,.bb-comment .comment-list .list-item .info .operation .spot,.bb-comment .comment-send .comment-emoji .face,.dynamic-hate i,.dynamic-like i,.dynamic-spot,.textarea-container .comm-tool .comm-emoji .icon-face{height:16px!important;width:16px!important;opacity:.5}.bb-comment .comment-list .list-item .info .hate span,.bb-comment .comment-list .list-item .info .like span,.bb-comment .comment-send .comment-emoji span{opacity:.5}.bb-comment .comment-list .list-item .info .hate span,.bb-comment .comment-list .list-item .info .hate.hated span,.bb-comment .comment-list .list-item .info .hate:hover span,.bb-comment .comment-list .list-item .info .like span,.bb-comment .comment-list .list-item .info .like.liked span,.bb-comment .comment-list .list-item .info .like:hover span,.bb-comment .comment-send .comment-emoji span{color:#000}.bb-comment .comment-list .list-item .info .hate:hover>*,.bb-comment .comment-list .list-item .info .like.hated:hover>*,.bb-comment .comment-list .list-item .info .like.hated>*,.bb-comment .comment-list .list-item .info .like.liked:hover>*,.bb-comment .comment-list .list-item .info .like.liked>*,.bb-comment .comment-list .list-item .info .like:hover>*,.bb-comment .comment-list .list-item .info .operation .spot:hover,.bb-comment .comment-send .comment-emoji.open .face,.bb-comment .comment-send .comment-emoji:hover .face,.bb-comment .comment-send .comment-emoji:hover span{opacity:.7}.bb-comment .comment-list .list-item .info .like i,.dynamic-like i{background:url('data:image/svg+xml;utf-8,')!important}.bb-comment .comment-list .list-item .info .like.liked i,.bb-comment .comment-list .list-item .info .like.liked:hover i,.dynamic-like:hover i,.dynamic-liked i{background:url('data:image/svg+xml;utf-8,')!important}.bb-comment .comment-list .list-item .info .hate i,.dynamic-hate i{background:url('data:image/svg+xml;utf-8,')!important}.bb-comment .comment-list .list-item .info .hate.hated i,.bb-comment .comment-list .list-item .info .hate.hated:hover i,.dynamic-hate:hover i,.dynamic-hated i{background:url('data:image/svg+xml;utf-8,')!important}.bb-comment .comment-list .list-item .info .operation .spot,.dynamic-spot{background:url('data:image/svg+xml;utf-8,')!important}.bb-comment .comment-send .comment-emoji .face,.textarea-container .comm-tool .comm-emoji .icon-face{background:url('data:image/svg+xml;utf-8,')!important}.bb-comment .reply-notice .notice-item{background-color:#0001!important;border:none!important;display:flex!important;align-items:center;padding:10px 14px!important}.dark .bb-comment .reply-notice .notice-item{background-color:#333!important}.bb-comment .reply-notice .notice-item .icon-notice{order:0;position:static!important;margin-right:12px;background:url('data:image/svg+xml;utf-8,')!important}.bb-comment .reply-notice .notice-item a{order:1;flex-grow:1;color:#000!important}.dark .bb-comment .reply-notice .notice-item a{color:#eee!important}.bb-comment .reply-notice .notice-item .icon-close-notice{order:2;position:static!important;background:url('data:image/svg+xml;utf-8,')!important}.bb-comment .reply-notice .notice-item .icon-close-notice,.bb-comment .reply-notice .notice-item .icon-notice{height:18px;width:18px;opacity:.7}.bb-comment .comment-list .list-item .user .text-con{white-space:pre-wrap;display:block}.bb-comment .comment-list .list-item .text{white-space:pre-wrap}body.dark .bb-comment .comment-list .list-item .info .hate.hated>i,body.dark .bb-comment .comment-list .list-item .info .hate>i,body.dark .bb-comment .comment-list .list-item .info .like.liked>i,body.dark .bb-comment .comment-list .list-item .info .like>i,body.dark .bb-comment .comment-list .list-item .info .operation .spot,body.dark .bb-comment .comment-list .list-item>.con>.info>.floor,body.dark .bb-comment .comment-list .list-item>.con>.info>.time,body.dark .bb-comment .comment-list .reply-con>.info>.time,body.dark .bb-comment .comment-send .comment-emoji .text,body.dark .dynamic-hate i,body.dark .dynamic-hate:hover i,body.dark .dynamic-hated i,body.dark .dynamic-hated:hover i,body.dark .dynamic-like i,body.dark .dynamic-like:hover i,body.dark .dynamic-liked i,body.dark .dynamic-liked:hover i,body.dark .dynamic-spot,body.dark .textarea-container .comm-tool .comm-emoji .icon-face{filter:brightness(0) invert(1)!important}body.dark .bb-comment .comment-list .list-item .info .hate span,body.dark .bb-comment .comment-list .list-item .info .hate.hated span,body.dark .bb-comment .comment-list .list-item .info .hate:hover span,body.dark .bb-comment .comment-list .list-item .info .like span,body.dark .bb-comment .comment-list .list-item .info .like.liked span,body.dark .bb-comment .comment-list .list-item .info .like:hover span,body.dark .bb-comment .reply-item>.info>.time{color:#eee!important}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/dark-schedule.min.js"] = (()=>{return(e,t)=>{class i{constructor(...e){if(e.length===0){const e=new Date;this.hour=e.getHours();this.minute=e.getMinutes()}else if(e.length===1){const[t]=e;[this.hour,this.minute]=t.split(":").slice(0,2).map(e=>this.validatePart(e));this.normalize()}else if(v.length===2){[this.hour,this.minute]=e}}validatePart(e){const t=parseInt(e);if(!isNaN(t)&&t>=0&&t<=59){return t}else{return null}}normalize(){while(this.minute<0){this.minute+=60;this.hour-=1}while(this.minute>=60){this.minute-=60;this.hour+=1}while(this.hour<0){this.hour+=24}while(this.hour>=24){this.hour-=24}}lessThan(e){if(this.houre.hour||this.hour===e.hour&&this.minute>e.minute){return true}return false}equals(e){return this.hour===e.hour&&this.minute===e.minute}isInRange(e,t){if(e.equals(t)){return false}let i=this.greaterThan(e)&&this.lessThan(t);if(e.greaterThan(t)){i=this.greaterThan(e)||this.lessThan(t)}const s=i||this.equals(e);return s}static millisecondsBefore(e){const t=new i;const s=(new Date).getSeconds();const r=1e3*(t.hour*3600+t.minute*60+s);const n=1e3*(e.hour*3600+e.minute*60);let h=n-r;if(t.greaterThan(e)||t.equals(e)&&s!==0){h+=24*3600*1e3}return h}}function s(){if(e.darkSchedule){const t=new i(e.darkScheduleStart);const r=new i(e.darkScheduleEnd);const n=new i;const h=n.isInRange(t,r);if(e.useDarkStyle!==h){e.useDarkStyle=h}let u=0;if(h){u=i.millisecondsBefore(r)}else{u=i.millisecondsBefore(t)}if(u!==0){setTimeout(()=>s(),u)}}}fullyLoaded(()=>s());return{export:{ScheduleTime:i}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/outer-watchlater.min.css"] = `.ops .watchlater{margin-right:28px!important;position:relative}.ops .watchlater .tip{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);z-index:1000;background:#000d;padding:4px 8px;border-radius:4px;color:#eee;transition:.2s ease-out;opacity:0;pointer-events:none}.watchlater .tip.show{opacity:1;pointer-events:initial}.ops .watchlater>i{display:inline-block;font-style:normal;vertical-align:baseline;text-align:center;text-transform:none;line-height:1;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.more-ops-list>ul>li:nth-child(2){display:none!important}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/dark-slice-8.min.css"] = `.app-layout .dropbox-component,.app-layout .dropbox-component .data-list,.app-layout .page-content .feedback-content-input,.app-layout .page-content .manga-textbox,.box .content-wrap .btn .info,.calendar-wrap .calendar-body .date-desc_wrap,.content .share-wrap,.dialog-wrapper .dialog,.fjw-kpi-wrap-bg,.fjw-point .point-wrap .user-point .face .unfocus-btn,.international-home .bilibili-search-history,.item-wrap__task .operate-btn,.main-wrapper .comment-wrapper,.navbar-container,.nomal-task .bottom-box .btn,.reply-bottom-menu-mask .more-ops,.reply-emoji-panel .emoji-cate,.reply-emoji-panel .emoji-cate a,.reply-emoji-panel .emoji-list,.round-corner .app-layout,.row1 .calendar-wrap,.security_content .close-btn,.security_content .coupon-wrapper .coupon-content,.security_content .title-right-link,.submit button,.van-popover{background-color:#222!important}.app-layout .sidebar,.at-popup .user-container .item.is-selected,.bangumi-options .opt-list,.bpui-selected,.bpui-selected span,.bui-button.bui-button-gray2,.bui-swiper-wrap .bui-swiper-item .bui-swiper-text,.comic-info-component .page-normal .comic-info-con,.comic-info-component .page-normal .comic-info-con .comic-des,.container .links .link-item:hover,.container .logout a:hover,.container .tab-item--normal:hover,.container .video-card:hover,.danmaku-wrap .player-auxiliary-area .player-auxiliary-danmaku-btn-footer,.danmaku-wrap .player-auxiliary-area .player-auxiliary-danmaku-wrap,.danmaku-wrap .player-auxiliary-area .player-auxiliary-danmaku-wrap-child .player-auxiliary-panel-title,.danmaku-wrap .player-auxiliary-block-wrap,.dropdown__content .dropdown__active,.dropdown__content .dropdown__item:hover,.guest-home .button-box button,.lang-change .lang-intro-item:hover,.lang-change .lang-item:hover,.manga-button.ghost,.manga-button.primary,.player-auxiliary-danmaku-function,.player-auxiliary-danmaku-function [class*=player-auxiliary-danmaku-btn-],.player-auxiliary-danmaku-wrap .player-auxiliary-danmaku-load-status,.practice-wrap .tab-container,.qa-area-ol-wrp,.r-con .members-info__container,.video-editor-ol-wrp{background-color:#333!important}.app-layout .page-content .router-view,.app-layout .sidebar .nav-item-indicator,.bangumi-item .right-info .headline .bangumi-label,.bangumi-options .opt-list li:hover,.bili-search .live-user-item .item-right .tags>span,.bili-search .pgc-item .right-info .headline .pgc-label,.bili-search .user-item .attention-btn,.box .content-wrap,.box .record-wrap,.box-body,.bpui-selected>span,.bpui-selecting>span,.bpui-unselecting,.bui-collapse .bui-collapse-header,.bui-swiper-wrap .bui-swiper-next,.bui-swiper-wrap .bui-swiper-pre,.calendar-wrap .calendar-body .calendar-body__select .ui-dropdown .default:hover,.calendarEntry_wrap,.calendarEntry_wrap .calendarEntry_slide,.carousel-wrap li.scrollx,.coming-soon-wrapper .card-wrapper .card-item .time-line-wrapper .line .point-wrapper,.coming-soon-wrapper .slider-contro span,.comment .comment-hot-item-floor .operate-utils,.container .more-btn,.detail-content .activity-info,.detail-content .guest-wrapper,.detail-content .jump-pagination-input,.detail-content .more-hot-comments,.elevator .list-box,.elevator .list-box .item,.elevator .list-box .item.back-old,.elevator .list-box .item.sort,.episode-list-component .episode-list .list-data .list-item,.exchange-btn .btn,.feed-card .feed-title,.feed-topic .empty-content,.flow-loader .activity-item .info .type,.follow-right-module .follow-head .follow-more,.gg-window .online,.guest-home .login-panel,.hot-recom-module .random-change,.international-home .bilibili-search-history .history-item.focus,.international-home .bilibili-search-history .history-item:hover,.list-header .filter-wrp .article-type,.list-header .filter-wrp .category-wrp,.list-header .filter-wrp .filter-level,.list-header .filter-wrp .order-wrp,.list-header .filter-wrp .video-type,.live-charge-box .tip-popup,.live-rank .live-rank-item .number,.main-panel .hot-topic-panel,.mession-box .content .list-wrap .item-index,.modal-wrapper .modal-container,.news-dialog-Wrapper,.pgc-rank-wrap .number,.player-auxiliary-danmaku-report-wrap.player-auxiliary-danmaku-report-wrap-white .player-auxiliary-danmaku-report-box .player-auxiliary-danmaku-report-panel,.r-con .members-info .up-card .attention,.r-con .members-info .up-card .attention--not,.r-con .members-info__header,.rank-wrap .number,.recommendation-list .list-item:before,.replies-comment-input-wrapper .replies-upload .comment-input-img,.replies-comment-input-wrapper .replies-upload .replies-uploading-container,.replies-comment-input-wrapper .submit-comment.no-login,.reply-emoji-panel .emoji-cate a.on,.reply-emoji-panel .emoji-list .emoji-pager .pager-dot,.reply-input .input-area .reply-emoji-btn,.reply-input .input-area .reply-submit-btn,.reply-input .input-area input,.reply-report .reason-choose .reason-group .list li input[type=radio],.reply-report .submit-btn button:disabled,.report-pc-dialog .report-dialog-container,.security_content .coupon-content-con .coupon-btn,.tabs .customize-tab,.tabs-nav .tab-item.border-bottom,.tabs-nav .tab-item.full,.tabs-wrapper,.ticket-tips-wrapper .rec-item,.ticket-tips-wrapper .ticket-tips,.time-line .tl-link,.ui-dropdown .default,.ui-dropdown .ui-dropdown-text,.ui-dropdown .ul-dropdown-list,.user-item .attention-btn.followed,.user-item .attention-btn.followed:hover,.vip-m .bubble-traditional .renew-btn button,li.danmaku-info-row.bpui-selected,li.danmaku-info-row.bpui-selecting{background-color:#444!important}.coming-soon-wrapper .card-wrapper .card-item .time-line-wrapper .line,.coming-soon-wrapper .card-wrapper .card-item .time-line-wrapper .line .point-wrapper .point,.config-item:not(:last-child):after{background-color:#555!important}.guard-rank-cntr .rank-cntr .rank-list-box .url-back,.replies-comment-input-wrapper .submit-comment{background-image:none!important}#app .calendarEntry_content .header,#app .report-dialog-container .submit,#bp-app,.app-layout .list-item:hover,.app-layout .page-content,.app-layout .size-ruler,.app-layout .user-info>.uid,.article-action .more .more-ops-list,.article-action .more .more-ops-list ul li:hover,.buyticket,.buyticket .bread-wrapper,.calendar-wrap .calendar-body .date-desc_wrap .date-desc__content .nothing-wrap,.calendar-wrap .calendar-body .date-desc_wrap .item-desc_card,.card .forw-area a.more:hover,.cc-body #app .container,.container .info .date,.danmaku-box .bui-radio-input:checked+.bui-radio-label,.detail-content .activity-info-body .info-header,.detail-content .comment,.edit-article-wrap #edit-article-box,.episode-item,.high-wrapper .body-padding,.iframe-comp-container>div,.list-header .filter-wrp .article-type .bili-btn,.list-header .filter-wrp .article-type .line,.list-header .filter-wrp .filter-level .bili-btn,.list-header .filter-wrp .filter-level .line,.list-header .filter-wrp .video-type .bili-btn,.list-header .filter-wrp .video-type .line,.manga-recommendation .data-list .list-item,.manga-spread-module .label,.mini-header__content .i-frame,.mini-header__content .i-frame::before,.multi-line-text:after,.page-content .-BiliFooter,.player-auxiliary-area .danmaku-info-row-special,.rank-list-ctnr .normal-list .item.self,.rank-list-ctnr .own,.reply-emoji-panel .emoji-list .emoji-text:hover,.round-corner .international-footer,.round-corner .loc-menu-box,.round-corner .out-container,.round-corner .out-container .tab-bar,.whole-detail-info-wrapper{background-color:transparent!important}.reply-item .sub-reply-preview,.security_content .coupon-wrapper{background:0 0!important}.box .title .h1:after{background:#fff!important}.fans-medal-item.special-medal .label .content{color:#222!important}.main-container .ep-list-wrapper .list-wrapper.simple ul .ep-item.visited,.main-container .ep-list-wrapper .list-wrapper.simple ul .ep-item:visited{color:#888!important}#all-list .user-item .up-info>span,#page-index .channel .channel-item .small-item .video-desc,.app-layout .page-content .extral-info,.article-card .r-con .count,.article-card .r-con .up,.bangumi-item .right-info .intros .label,.bangumi-item .right-info .intros .value,.bili-search .article-item .content .desc,.bili-search .article-item .content .so-icon a,.bili-search .live-user-item .item-right .info .star,.bili-search .live-user-item .item-right .info .type,.bili-search .pgc-item .right-info .intros .label,.bili-search .pgc-item .right-info .intros .value,.bili-search .topic-item .content .desc,.bottom-box .wrap-list .gift-item .B-paper,.box .content-wrap p,.box .list-box .wrap-list .text,.calendar-wrap .calendar-body .date-desc_wrap .item-desc_card .item-desc_body .item-desc__content,.calendarEntry_wrap .calendarEntry_footer .footer_content span,.carousel-wrap .panel .pic li a .card-info .detail,.center-box .line-1,.coming-soon-wrapper .card-wrapper .card-item .info-wrapper .desc,.comment .comment-hot-item-floor,.comment .reply-comment-list .reply-comment-item .reply-comment-item-floor,.data-list .list-container .data-item .text-section .footer-text .text,.detail-content .activity-info-body .info-content p span,.guest-home .title h2,.h5share-container .text-area .text-desc,.header-info .manga-info .supporting-text,.item-wrap__task .content-desc,.live-card .up .txt .desc,.live-card .up .txt .tag,.live-list .text-info,.live-list .text-info a,.live-rank .live-rank-item .txt p.p2,.manga-card-horizontal .text-section .footer-text,.manga-rank-list .rank-item .ri-detail .ri-first-info,.manga-rank-list .rank-item .ri-detail .ri-update,.manga-spread-module .label,.mession-box .content .list-wrap .item-summary,.my-coupon .subtitle,.past-work .card-view .collect-num,.past-work .card-view .danmu-num,.past-work .card-view .play-num,.pgc-rank-wrap .txt .update,.player-auxiliary-area .danmaku-info-row-block span.danmaku-info-danmaku,.player-auxiliary-area .danmaku-info-row-block span.danmaku-info-time,.player-auxiliary-area .danmaku-info-row-block::after,.player-auxiliary-area .danmaku-info-row-super::after,.practice-wrap .banner-container .title~p,.purchase-history .list-item .text-info .recharge-date,.qa-area-ol-wrp .qa-area-ol-content a,.rank-wrap .preview .txt span,.reply-dialog .subtitle,.security_content .common-subtitle,.ticket-tips-wrapper .rec-item .rec-item-time,.ticket-tips-wrapper .rec-item .rec-item-vuene,.time-line-card .txt .update a,.user-item .up-info>span,.user-item .up-videos .ptime,.video-card-common .up,.video-editor-ol-wrp .video-editor-ol-content a,.video-list .card-view .collect-num,.video-list .card-view .danmu-num,.video-list .card-view .play-num,.videos-wrap .card-view .collect-num,.videos-wrap .card-view .danmu-num,.videos-wrap .card-view .play-num{color:#aaa!important}#all-list .user-item .title,.activity-info .activity-info-header,.activity-item .info .title,.app-ctnr .club-brief,.app-layout .account-info-container,.app-layout .dropbox-component .current,.app-layout .dropbox-component .data-list>li,.app-layout .page-content .feedback-content-input .length-hinter,.app-layout .page-content .manga-textbox,.app-layout .search-list .keyword-hinter,.article-card .r-con .title,.bangumi-item .right-info .headline .bangumi-label,.bangumi-item .right-info .headline .title,.bangumi-options .opt-list li,.bangumi-options .opt-list li:hover,.bb-comment a.more-link,.bili-search #live-list .headline-live .user-more,.bili-search #live-list .headline-room .filter a,.bili-search #live-list .live-tabs a,.bili-search .article-item .content .title,.bili-search .live-room-item .item-title,.bili-search .live-user-item .item-right .tags>span,.bili-search .live-user-item .item-right .uname,.bili-search .pgc-item .right-info .headline .pgc-label,.bili-search .pgc-item .right-info .headline .title,.bili-search .photo-item .title,.bili-search .topic-item .content .headline a,.bili-search .user-item .attention-btn,.bili-search .user-item .title,.bottom-box .complete,.box .title .h1,.box .title .progress-num,.bui-swiper-wrap .bui-swiper-item .bui-swiper-text,.buyticket .bread-wrapper span,.buyticket .bread-wrapper span a,.buyticket .map-model .modal-container .modal-header,.buyticket .whole-detail-info-wrapper,.calendar .month,.calendar .weekdays li,.calendar-wrap .calendar-body .date-desc_wrap .item-desc_card .item-desc_title .item-title,.calendar-wrap .calendar-body .date-wrap,.calendar-wrap .calendar-body .date-wrap .wrap-content .today,.calendar-wrap .calendar-header,.calendar-wrap .headerClass,.calendarEntry_wrap .calendarEntry_slide,.calendarEntry_wrap .greetings,.carousel-wrap .panel .pic li a .card-info .title .headline,.cc-nav-wrp .activity-nav-wrp .activity-link,.cc-zimu-wrp .zimu-header .zimu-header-title,.center-box .line-2,.comic-episodes .episode-header .episode-operation,.comic-episodes .episode-list .episode-item,.comic-info-component .page-normal .comic-info-con .comic-des .comic-operation .fav-btn .fav-text,.comic-info-component .page-normal .comic-tab .tab-titles .tab-title.active .comments-total,.coming-soon-wrapper .block-title,.coming-soon-wrapper .card-wrapper .card-item .info-wrapper .title,.coming-soon-wrapper .card-wrapper .card-item .time-line-wrapper .date,.coming-soon-wrapper .card-wrapper .card-item .time-line-wrapper .time,.comment .comment-hot-item-floor .operate-utils,.comment .comment-hot-item-user-name,.common-pagination-wrapper,.container .count-item .item-value,.container .date-title,.container .level-info .grade,.container .level-intro,.container .links .link-title,.container .more-btn,.container .split-line,.container .tab-header .tab-item,.container .tab-header .tab-item:hover,.container .tab-item--normal,.container .video-info .line-2,.customize-wrap .item-list .item .info-text,.customize-wrap .steps-title,.customize-wrap .title,.data-list .list-container .data-item .text-section .manga-title,.detail-content .activity-info-body .info-header span,.detail-content .content-detail p,.detail-content .content-detail span,.detail-content .jump-pagination-input,.detail-content .more-hot-comments,.dynamic-btn.pink.with-border-radius.publish-btn.disabled,.dynamic-m .dyn_menu li,.elevator .list-box .item.back-old,.empty-wrap .empty-text,.episode-list-component .episode-list .list-header .header-item,.exchange-btn .btn,.feed-card .feed-title,.fjw-point .point-wrap .user-point .face .unfocus-btn,.flow-loader .activity-item .info .type,.follow-right-module .follow-head .follow-more,.gg-window .online a,.guest-home .button-box .regist,.guest-home .title h1,.guest-wrapper .guest-header,.guest-wrapper .guest-list .name,.h5share-container .text-area .text-content,.handpick-right-module .block-header .block-title,.header-info .manga-info .author-name,.horizontalSelect-wrap .month,.hot-recom-module .random-change .info,.index-entry-wrapper .filter-block-title a,.index-entry-wrapper .filter-block-title span,.index-entry-wrapper .filter-list .filter-item,.interact-dialog .btn,.international-header a,.item-wrap__task .content-title,.item-wrap__task .operate-btn,.lang-change .lang-intro,.lang-change .lang-title,.left-nav-list.no-office .left-nav-item span,.list-header .dropdown-btn .icon-text,.list-header .dropdown-btn:hover,.list-header .filter-wrp .article-type .bili-btn,.list-header .filter-wrp .bread-crumb .main,.list-header .filter-wrp .bread-crumb .second,.list-header .filter-wrp .filter-level .bili-btn,.list-header .filter-wrp .video-type .bili-btn,.live-card .up .txt .name,.live-charge-box .popup-cntr .retry,.live-charge-cntr .popup-cntr .tip-content,.live-rank .live-rank-item .number,.live-rank .live-rank-item .txt p,.main-panel .more,.main-panel .title,.manga-button.ghost,.manga-button.primary,.manga-card .manga-title,.mession-box .btn,.mession-box .content .list-wrap .item-index,.mession-box .content .list-wrap .item-title,.mession-box .title,.my-coupon .coupon-title,.my-coupon .coupon-title .coupon-number,.navbar-container .logo-part,.navbar-container .size-ruler .app-title,.new-comers-module .zone-title .headline .name,.news-dialog__wrapper .dialog-wrapper__desc .dialog-wrapper__body,.news-dialog__wrapper .dialog-wrapper__desc .dialog-wrapper__btn,.news-dialog__wrapper .dialog-wrapper__desc .dialog-wrapper__title,.pgc-rank-wrap .number,.pgc-rank-wrap .txt .title,.pivot-component .pivot-headers .pivot-header-item,.player-auxiliary-danmaku-report-wrap .player-auxiliary-danmaku-report-box .player-auxiliary-danmaku-report-panel .player-auxiliary-report-panel-title,.player-auxiliary-danmaku-report-wrap.player-auxiliary-danmaku-report-wrap-white .player-auxiliary-danmaku-report-box .player-auxiliary-danmaku-report-panel .player-auxiliary-report-content,.popularity-list .list-title,.product-info-time-wrapper .product-info-time,.product-info-time-wrapper .product-info-time-title,.purchase-history .list-item .coin-info .recharge-count,.purchase-history .list-item .text-info .display-text,.qa-area-ol-wrp .qa-area-ol-content p,.rank-header .name,.rank-list-item .expand-mode .text-section .item-title,.rank-wrap .link .title,.rank-wrap .number,.rank-wrap .preview .txt p,.reason-container .reason-category .reason-category-title,.reply-bottom-menu-mask .more-ops .cancel,.reply-bottom-menu-mask .more-ops .ops-list li,.reply-bottom-menu-mask .more-ops .ops-list li a,.reply-dialog .title,.reply-emoji-panel .emoji-list .emoji-text .text-list span,.reply-input .input-area .reply-emoji-btn,.reply-input .input-area .reply-submit-btn,.reply-item .info .name,.reply-report .reason-choose .reason-group .list li,.reply-report .submit-btn button,.reply-report .submit-btn button:disabled,.report-dialog-container .submit .cancel-btn,.report-pc-dialog .report-dialog-container .title,.round-corner .international-footer .link-box .link-item .bt,.round-corner .international-footer .link-box .link-item ul a,.round-corner .international-footer .link-box .link-item.link-c p,.round-corner .international-footer .partner a,.round-corner .out-container .tab-bar,.schedule-list .list-header .date-selector .date-item,.security_content .close-btn,.security_content .common-title,.security_content .coupon-content-con .coupon-btn,.security_content .title-package-name,.security_content .title-right-link,.selectable-option.unable,.special-recommend header,.style-section .tag-block .block-title,.style-section .tag-block .tag-containers .style-tag,.sub-tabs .filter-content,.tabs-nav .tab-item,.tabs-nav .tab-item.border-bottom,.tabs-nav .tab-item.full,.ticket-tips-wrapper .rec-item .rec-item-name,.ticket-tips-wrapper .ticket-tips-content span,.ticket-tips-wrapper .ticket-tips-header,.time-line .tl-link,.time-line-card .txt .ss,.ui-dropdown .default,.ui-dropdown .ul-dropdown-list,.up-info .btn-panel .following,.user-info-component .coin-info,.user-item .attention-btn.followed,.user-item .attention-btn.followed:hover,.user-item .up-videos .video-item .video-desc,.user-item .up-videos .video-more,.van-popover a,.video-card-common .title,.video-editor-ol-wrp .video-editor-ol-content p,.video-item.matrix .title,.vip-m .bubble-traditional .recommand .title,.vip-m .bubble-traditional .renew-btn button,.whole-detail-info-wrapper .detail-info-wrapper .vuene-wrapper .check-map,.whole-detail-info-wrapper .detail-info-wrapper .vuene-wrapper .title,.whole-detail-info-wrapper .detail-info-wrapper .vuene-wrapper .vuene-info-content .address-name,.whole-detail-info-wrapper .product-buy-wrapper .want-wrapper .want-content p{color:#eee!important}.app-layout .dropbox-component,.app-layout .dropbox-component .data-list,.app-layout .page-content .manga-textbox:focus,.ban-vote .vote-dialog .dialog-header,.bangumi-item .right-info .headline .bangumi-label,.bangumi-options .opt-list,.bangumi-timing-module .headline .c-clink,.bili-search .live-user-item .item-right .tags>span,.bili-search .pgc-item .right-info .headline .pgc-label,.bili-search .photo-item,.bilibili-player-ending-panel-box-recommend:hover,.calendarEntry_wrap,.calendarEntry_wrap .calendarEntry_slide,.calendarEntry_wrap .greetings,.carousel-wrap .page .next.current,.coin-nav,.comic-info-component .page-normal .comic-tab .tab-titles,.comment .comment-selecotr,.container .coins,.container .counts,.container .links,.container .tab-header,.detail-content .activity-info,.detail-content .comment,.detail-content .guest-wrapper,.detail-content .jump-pagination-input,.elevator .list-box,.elevator .list-box .item.back-old,.elevator .list-box .item.back-top,.exchange-btn .btn,.flow-loader .activity-item,.flow-loader .activity-item .info .type,.flow-loader .user-item,.flow-loader .video-item.matrix,.follow-right-module .follow-head .follow-more,.gg-window .online,.guest-home .button-box button,.head .dropdown-menu .article-list,.home-container .at-popup,.hot-recom-module .random-change,.interact-dialog .btn,.international-home .bilibili-search-history,.item-wrap__task .operate-btn,.lang-change,.list-header .filter-wrp .article-type,.list-header .filter-wrp .category-wrp,.list-header .filter-wrp .filter-level,.list-header .filter-wrp .order-wrp,.list-header .filter-wrp .video-type,.love-card .header:after,.love-detail .follow-btn.active,.main-wrapper .comment-wrapper,.navbar-container,.nomal-task .card,.page-tab .con li,.practice-wrap .tab-container,.replies-comment-input-wrapper .replies-upload .comment-input-img,.reply-bottom-menu-mask .more-ops .cancel,.reply-input .input-area .reply-emoji-btn,.reply-input .input-area .reply-submit-btn,.reply-report .reason-choose .reason-group .list li input[type=radio],.report-dialog-container .submit .cancel-btn:after,.report-dialog-container .submit .submit-btn:after,.report-dialog-container .textarea-wrapper,.round-corner .out-container .tab-bar,.security_content .bcoin-wrapper,.security_content .title-right-link,.tab-line-itnl,.tabs .customize-tab,.ticket-tips-wrapper .rec-item,.ticket-tips-wrapper .ticket-tips,.time-line .tl-link,.title-container .info .activity,.ui-dropdown .ui-dropdown-text,.van-popover,.van-popper[x-placement^=bottom] .popper__arrow,.van-popper[x-placement^=top] .popper__arrow{border-color:transparent!important}.carousel-wrp .page .next,.item-wrap__task:after,.item-wrap__task:before,.security_content .coupon-wrapper .coupon-content-con{border-color:#aaa!important}#all-list .mixin-list ul:not(:last-child),.bili-search .article-item,.bili-search .bangumi-item,.bili-search .pgc-item,.bili-search .topic-item,.calendar-wrap .calendar-body .date-desc_wrap .item-desc_card .item-desc_body .item-desc__content,.calendar-wrap .calendar-header,.comic-episodes .episode-list .episode-item .item-body,.link-input,.live-category .latest,.mession-box .content,.mession-box .content .list-wrap .border-btm,.practice-wrap .banner-container .current-work,.reply-bottom-menu-mask .more-ops .ops-list li,.reply-list .reply-item,.round-corner .international-footer .link-box .link-item,.tab-content .bilibili-comment,.van-popper[x-placement^=bottom] .popper__arrow:after,.van-popper[x-placement^=top] .popper__arrow:after{border-color:#444!important}.app-layout .pivot-component .pivot-headers,.at-item:not(:last-child):after,.carousel-wrap .page .next,.center-box .orginal-reply,.container .play-all,.container .split-line::before,.container .tabs-panel,.elevator .list-box .item.sort,.liked-user:not(:last-child):after,.love-item:not(:last-child):after,.player-auxiliary-danmaku-report-wrap.player-auxiliary-danmaku-report-wrap-white .player-auxiliary-danmaku-report-box .player-auxiliary-danmaku-report-panel .player-auxiliary-report-panel-title,.reply-item:not(:last-child):after{border-color:#555!important}.app-layout .sidebar .nav-item .nav-item-icon,.follow-right-module .follow-head .follow-more .icon,.header-info .manga-info .action-buttons .do-favourite .fav-icon,.header-info .manga-info .supporting-text .label-icon,.hot-recom-module .random-change .icon_read,.index-entry-wrapper .filter-block-title a:after,.my-coupon .subtitle .question-cion,.security_content .m-arrow-package,.security_content .security-list:hover .security-icon,.whole-detail-info-wrapper .detail-info-wrapper .vuene-wrapper .address-icon{filter:brightness(0) invert(1)!important}.bili-search .so-icon i.icon-like,.bili-search .so-icon i.icon-reply,.bili-search .so-icon i.icon-view{filter:brightness(0) invert(.7)!important}.bili-search #live-list .headline-room .icon-live-face,.bili-search #live-list .headline-room .icon-live-frame,.bui-swiper-wrap .bui-swiper-next svg,.bui-swiper-wrap .bui-swiper-pre svg,.fjw-random .agree.active,.fjw-random .agree:hover,.fjw-random .unagree.active,.fjw-random .unagree:hover,.fold-box:hover .fold-arrow,.home-slide .trigger span.on,.ops canvas.ring-progress,.sticky-bar .bar-content .title-icon,.svga-container.svga-center canvas{filter:var(--blue-image-filter)!important}.activity-info .icon-activity,.buyticket .product-buy.enable,.calendar-date-body .wrap-content img,.comment .up-icon.active,.detail-content .comment .hot-icon span,.guest-wrapper .icon-guest,.reason-container .reason-category .other-reason .icon-select.selected,.reason-container .reason-category .reason-item .icon-select.selected,.replies-comment-input-wrapper .replies-upload .comment-input-img span,.replies-comment-input-wrapper .replies-upload .replies-uploading-container .replies-uploading-btn,.replies-comment-input-wrapper .replies-upload .replies-uploading-container p span:hover,.report-pc-dialog .report-dialog-container .title i:hover,.ticket-count .count-plus.active:after,.ticket-count .count-reduce.active:before,.ticket-tips-wrapper .ticket-tips-header span,.whole-detail-info-wrapper .product-buy-wrapper .want-wrapper .want-icon{filter:var(--pink-image-filter)!important}.fans-medal-item.special-medal .union{filter:brightness(.125)!important}.video-info-m .number .coin b,.video-info-m .number .coin i,.video-info-m .number .fav b,.video-info-m .number .fav i{filter:brightness(.135)!important}.bili-share-pc .favourite .icon-fav,.news-dialog__wrapper .trangle-img img{filter:brightness(.27)!important}.box .record-wrap,.buyticket .product-buy.enable,.comment .comment-hot-item-user-content,.comment .comment-selecotr,.replies-comment-input-wrapper .submit-comment{box-shadow:none!important}.bilibili-player-ending-panel-box-recommend:hover,.guest-wrapper .guest-list .guest-item:hover .image,.navbar-container,.pgc-space-follow-item .bangumi-options .opt-list,.player-auxiliary-danmaku-report-wrap.player-auxiliary-danmaku-report-wrap-white .player-auxiliary-danmaku-report-box .player-auxiliary-danmaku-report-panel,.section-block .at-popup,.selectable-option.active{box-shadow:0 1px 10px 0 var(--theme-color-30)!important}.members-info .up-card{margin:16px!important}.bili-search #live-list .live-tabs a.active,.bilibili-player-ending-panel-box-functions .bilibili-player-upinfo-head.up-avatar:hover,.comic-info-component .page-normal .comic-tab .tab-titles .tab-title.active .tab-btn,.live-tabs .tab-switch .tab-switch-item.on,.replies-comment-input-wrapper .replies-upload .comment-input-img:hover,.selectable-option.active,.selectable-option.active:after,.tabs-nav .tab-item.border-bottom,.time-line .tab-switch .tab-switch-item.on{border-color:var(--theme-color)!important}.app-layout .dropbox-component .data-list>li:hover,.be-tags-container .tag.coop-tag,.bili-search .user-item .attention-btn:hover,.bottom-box .complete .complete_text:before,.bui-swiper-wrap .bui-swiper-next:hover,.bui-swiper-wrap .bui-swiper-pre:hover,.calendar .days li.selected,.calendar-wrap .calendar-body .date-wrap .wrap-content .select-icon,.carousel-wrap .page .next.current,.channel-menu-itnl .item .name em,.comic-info-component .page-normal .comic-info-con .comic-des .comic-operation .comic-view-btn,.comment .comment-selecotr .all-comments.active:before,.comment .comment-selecotr .sortByHot.active:before,.container .more-btn:hover,.container .tab-item--active,.elevator .list-box .item.on,.elevator .list-box .item:hover,.episode-list-component .episode-list .list-data .list-item:hover,.exchange-btn .btn:hover,.follow-right-module .follow-head .follow-more:hover,.guest-home .button-box button:hover,.h5share-container .tag,.home-slide .trigger span:hover,.interact-dialog .btn,.item-wrap__task .item-index,.live-rank .live-rank-item .number.on,.live-room-app .guard-rank-cntr .rank-cntr .btn-box .buy:hover,.manga-button.primary:hover,.navbar-container .nav-items .nav-item.activated:before,.news-dialog__wrapper .dialog-wrapper__desc .dialog-wrapper__btn,.pgc-rank-wrap .number.on,.practice-wrap .banner-container .current-work .bili-btn,.progress-bar-core.p-absolute,.qa-area-ol-wrp .qa-area-ol-btn,.rank-wrap .number.on,.replies-comment-input-wrapper .submit-comment,.reply-emoji-panel .emoji-list .emoji-pager .pager-dot.on,.reply-input .input-area .reply-emoji-btn:hover,.reply-input .input-area .reply-submit-btn:hover,.reply-report .reason-choose .reason-group .list li input[type=radio]:checked:after,.reply-report .submit-btn button,.round-corner .out-container .tab-item.active,.security_content .close-btn:hover,.security_content .coupon-content-con .coupon-btn:hover,.style-section .tag-block .tag-containers .style-tag:active,.tabs-wrapper .tabs .tabs-item.active:before,.time-line .tl-link:hover,.video-control-show .bilibili-player-video-interactive-list .check:hover .big-round,.video-editor-ol-wrp .video-editor-ol-btn,.vip-m .bubble-traditional .renew-btn button:hover{background-color:var(--theme-color)!important}#all-list .user-item .title:hover,.activity-item .info .title:hover,.article-card .r-con .title:hover,.article-container:hover .text-area .title,.bangumi-item .right-info .headline .title:hover,.bili-search #live-list .headline-live .user-more:hover,.bili-search #live-list .headline-room .filter a.active,.bili-search #live-list .headline-room .filter a:hover,.bili-search #live-list .live-tabs a.active,.bili-search .article-item .content .title:hover,.bili-search .live-room-item .item-title:hover,.bili-search .live-user-item .item-right .uname:hover,.bili-search .pgc-item .right-info .headline .title:hover,.bili-search .photo-item .title:hover,.bili-search .topic-item .content .headline a:hover,.bili-search .user-item .title:hover,.bottom-box .complete .uncomplete,.bui-swiper-wrap .bui-swiper-item .bui-swiper-text:hover,.calendar-wrap .calendar-body .date-desc_wrap .date-desc__content .nothing-wrap .release-link,.calendar-wrap .calendar-body .date-desc_wrap .item-desc_card .item-desc_body .item-desc__content .item-desc_share,.calendarEntry_wrap .calendarEntry_footer .footer-link,.calendarEntry_wrap .greetings .greet-num,.card .forw-area a.more:hover,.card .more-panel .child-button:hover,.cc-nav-wrp .activity-nav-wrp .activity-link.active i,.cc-nav-wrp .activity-nav-wrp .activity-link.active span,.cc-nav-wrp .activity-nav-wrp .activity-link:hover i,.cc-nav-wrp .activity-nav-wrp .activity-link:hover span,.cc-nav-wrp .nav-item.active i,.cc-nav-wrp .nav-item.active span,.cc-nav-wrp .nav-item:hover i,.cc-nav-wrp .nav-item:hover span,.center-box .line-1 .like-item:hover,.center-box .line-3 .action-button.active,.center-box .line-3 .action-button:hover,.comic-info-component .page-normal .comic-tab .tab-titles .tab-title.active,.coming-soon-wrapper .card-wrapper .card-item .info-wrapper .title:hover,.comment .comment-selecotr .all-comments.active,.comment .comment-selecotr .sortByHot.active,.comment .more-replys span,.container .count-item:hover .item-key,.container .count-item:hover .item-value,.container .publish-time,.container .video-list .content:hover,.customize-wrap .item-list .item .learn.unlearn,.d-data .fold-box:hover,.gg-window .online a:hover,.guest-wrapper .guest-list .guest-item:hover .name,.index-entry-wrapper .filter-block-title a:hover,.index-entry-wrapper .filter-list .filter-item:hover,.international-header a:hover,.international-home .bilibili-search-history .cancel-icon:hover,.lang-change .lang-intro-item.on,.left-nav-childed .left-nav-childed-list .left-nav-item-childed:hover span,.left-nav-childed .left-nav-childed-list.active .left-nav-item-childed span,.left-nav-item-child:hover i,.left-nav-item-child:hover span,.left-nav-list.active .left-nav-item i,.left-nav-list.active .left-nav-item span,.left-nav-wrapper .left-nav-ul .left-nav-item:hover i,.left-nav-wrapper .left-nav-ul .left-nav-item:hover span,.list-header .filter-wrp .article-type .bili-btn.current,.list-header .filter-wrp .filter-level .bili-btn.current,.list-header .filter-wrp .video-type .bili-btn.current,.live-card .up .txt .name:hover,.live-category .latest a.active,.live-category .latest a:hover,.live-tabs .tab-switch .tab-switch-item.on,.main-panel .more:hover,.mession-box .btn:hover,.n-statistics a:hover,.new-comers-module .zone-title .headline .name:hover,.pgc-rank-wrap .txt .title:hover,.pivot-component .pivot-headers .pivot-header-item.selected,.pivot-component .pivot-headers .pivot-header-item:active,.qa-area-ol-wrp .qa-area-ol-content a:hover,.rank-wrap .link p:hover,.rank-wrap .preview .txt p:hover,.replies-comment-input-wrapper .replies-upload .comment-input-img,.round-corner .international-footer .link-box .link-item ul a:hover,.round-corner .international-footer .link-box .link-item.link-c a:hover p,.round-corner .international-footer .partner a:hover,.round-corner .out-container .tab-item:hover,.schedule-list .list-header .date-selector .date-item.active,.security_content .coupon-content-con .coupon-money,.security_content .coupon-money-1:after,.security_content .coupon-money-2:after,.security_content .security-list-link-jump:hover,.security_content .title-right-link:hover,.selectable-option.active,.sub-reply-preview .show-more,.sub-reply-preview .sub-preview-item a,.tabs-wrapper .tabs .tabs-item.active,.time-line .tab-switch .tab-switch-item.on,.time-line-card .txt .update .published,.time-line-card .txt a:hover,.up-info .up-focus-btn,.user-item .up-videos .video-item .video-desc:hover,.user-item .up-videos .video-more:hover,.van-popover a:hover,.video-card-common .title:hover,.video-card-common .up:hover,.video-editor-ol-wrp .video-editor-ol-content a:hover,.video-item-biref:hover .biref-info .biref-title,.video-item.matrix .title:hover,.video-list .card-txt:hover,.whole-detail-info-wrapper .product-buy-wrapper .want-wrapper .want-content p:hover,.whole-pagination-wrapper .common-pagination-wrapper .pageNum.active,.whole-pagination-wrapper .common-pagination-wrapper .pageNum:hover{color:var(--theme-color)!important}#page-fav .fav-sidenav .fav-item.cur .be-dropdown-trigger .icon-ic_more,#page-fav .fav-sidenav .fav-item.cur .iconfont,#page-fav .fav-sidenav .fav-item.cur .num,#page-fav .fav-sidenav .fav-item.cur .text.router-link-exact-active.router-link-active,.app-layout .dropbox-component .data-list>li:hover,.bangumi-timing-module .headline .c-clink,.bangumi-timing-module .headline .c-clink:hover,.bilibili-player-ending-panel-box-functions .bilibili-player-upinfo-electric,.bilibili-player-ending-panel-box-functions .bilibili-player-upinfo-electric.little,.block-area .timeline-title .headline .timeline-more:hover,.comic-info-component .page-normal .comic-info-con .comic-des .comic-operation .comic-view-btn,.container .more-btn:hover,.container .tab-item--active,.dynamic-m .wnd_bottom a:hover,.edit-media-list .edit-mask .edit-board .edit-info .submit-btn,.elevator .list-box .item.on,.elevator .list-box .item:hover,.elevator-module .nav-list .customize:hover,.elevator-module .nav-list .item.on,.episode-list-component .episode-list .list-data .list-item:hover,.exchange-btn .btn:hover,.favInfo-box .favInfo-details .fav-options .fav-play:hover,.follow-dialog-wrap .follow-dialog-window .bottom .btn,.follow-right-module .follow-head .follow-more:hover,.guest-home .button-box button:hover,.h5share-container .tag,.item-wrap__task .item-index,.link-navbar .nav-item:hover .nav-link,.live-rank .live-rank-item .number.on,.manga-navbar-manga-logo,.new-stat-module .zone-title .headline .new-stat-more:hover,.pgc-rank-wrap .number.on,.practice-wrap .banner-container .current-work .bili-btn,.qa-area-ol-wrp .qa-area-ol-btn,.rank-wrap .number.on,.reply-input .input-area .reply-emoji-btn:hover,.reply-input .input-area .reply-submit-btn:hover,.round-corner .out-container .tab-item.active,.security-left .on .security-nav-name,.security_content .close-btn:hover,.security_content .coupon-content-con .coupon-btn:hover,.security_content .security-list:hover .security-nav-name,.sticky-bar .bar-content .send-button .send-text,.time-line .tl-link:hover,.timeline-box .timeline-item.new p.num a,.upload-v2-step1-container #homeDrop .upload-btn .upload-btn-title,.video-editor-ol-wrp .video-editor-ol-btn{color:var(--foreground-color)!important}.bilibili-player-ending-panel-box-functions .bilibili-player-upinfo-follow .bp-svgicon{fill:var(--foreground-color)!important}.selectable-option.active:after{border-top-color:transparent!important;border-left-color:transparent!important}.van-popper[x-placement^=bottom] .popper__arrow:after,.van-popper[x-placement^=top] .popper__arrow:after{border-left-color:transparent!important;border-right-color:transparent!important}.feed-topic .empty-content,.report-dialog-container .textarea-wrapper{border-radius:4px!important}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/simplify-home.min.js"] = (()=>{return(e,i)=>{(async()=>{if(document.URL.replace(window.location.search,"")!=="https://www.bilibili.com/"){i.removeStyle("simplifyHomeStyle");return}document.body.insertAdjacentHTML("beforeend",`\n\n`);const m=new Vue({el:"simplify-home",components:{SimplifyHome:()=>i.importAsync("simplify-home.vue")},data:{homeStyle:e.simplifyHomeStyle}});addSettingsListener("simplifyHomeStyle",e=>m.homeStyle=e,false)})()}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/hide-banner.min.js"] = (()=>{return(e,l)=>{const r="hideBannerStyle";l.applyStyle(r);return{reload:()=>l.applyStyle(r),unload:()=>l.removeStyle(r)}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/touch-move.min.js"] = (()=>{return(e,t)=>{const n=(e,t,n)=>{const c=Math.pow(Math.abs(e.x-t.x),2);const s=Math.pow(Math.abs(e.y-t.y),2);return c+s>=n*n};const c=(e,t)=>{return new MouseEvent(e,{screenX:t.screenX,screenY:t.screenY,clientX:t.clientX,clientY:t.clientY,bubbles:true,cancelable:true,view:unsafeWindow,detail:1})};const s=(e,t,n)=>{return new WheelEvent("wheel",{deltaY:t.y-e.y,screenX:n.screenX,screenY:n.screenY,clientX:n.clientX,clientY:n.clientY,bubbles:true,cancelable:true,view:unsafeWindow})};const o=[];const l={passive:false,capture:true};const r=(e,t)=>{if(o.some(t=>t.element===e)){return}let r;let a;let u;let i;const h=_.get(t,"minMoveDistance",20);const v=_.get(t,"scroll",false);const d=e=>{if(e.touches.length<1){return}const t=e.touches[0];a=t;r={x:t.clientX,y:t.clientY};e.target.dispatchEvent(c("mousedown",t))};e.addEventListener("touchstart",d,l);const f=e=>{if(e.touches.length!==1){return}const t=e.touches[0];const o={x:t.clientX,y:t.clientY};if(!v){if(n(r,o,h)){e.target.dispatchEvent(c("mousemove",t));i=true;if(e.cancelable){e.preventDefault()}}else{i=false}}else{const t={x:u?u.clientX:r.x,y:u?u.clientY:r.y};console.log("touch scroll",t,o);e.target.dispatchEvent(s(t,o,a))}u=t};e.addEventListener("touchmove",f,l);const b=e=>{if(i){e.target.dispatchEvent(c("mouseup",u));if(e.cancelable){e.preventDefault()}i=false}};e.addEventListener("touchend",b,l);e.addEventListener("touchcancel",b,l);o.push({element:e,touchstart:d,touchmove:f,touchend:b})};const a=e=>{const t=o.findIndex(t=>t.element===e);if(t===-1){return}const n=o[t];["touchstart","touchmove","touchend"].forEach(t=>{e.removeEventListener(t,n[t],l)});e.removeEventListener("touchcancel",n.touchend,l);o.splice(t,1)};return{export:{enableTouchMove:r,disableTouchMove:a}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/frame-playback.min.html"] = `
`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/default-player-mode.min.js"] = (()=>{return(e,i)=>{if(typeof isEmbeddedPlayer!=="undefined"&&isEmbeddedPlayer()){return}const n=[{name:"常规",action:()=>{}},{name:"宽屏",action:()=>{document.querySelector(".bilibili-player-video-btn-widescreen").click();document.querySelector("#bofqi").scrollIntoView({behavior:"smooth"})}},{name:"网页全屏",action:()=>{document.querySelector(".bilibili-player-video-web-fullscreen").click()}},{name:"全屏",action:async()=>{const e=await SpinQuery.condition(()=>document.querySelector(".bilibili-player-video video"),e=>{return e!==null&&e.readyState===4&&document.readyState==="complete"&&document.hasFocus()});if(e===null){console.warn("[默认播放器模式] 未能应用全屏模式, 等待超时.");return}document.querySelector(".bilibili-player-video-btn-fullscreen").click()}}];let t=()=>{};let o=()=>{};async function l(){if(e.autoLightOff){await SpinQuery.unsafeJquery();const e=await SpinQuery.any(()=>unsafeWindow.$(".bilibili-player-video-btn-setting"));if(!e){return}e.mouseover().mouseout();const i=async e=>{const i=await SpinQuery.select(()=>document.querySelector(".bilibili-player-video-btn-setting-panel-others-content-lightoff .bui-checkbox-input"));i.checked=e;raiseEvent(i,"change")};t=(()=>i(true));o=(()=>i(false))}}async function a(){await l();await SpinQuery.condition(()=>$(".bilibili-player-video,.bilibili-player-video-btn-start,.bilibili-player-area"),e=>e.length===3&&$("video").length>0&&$("video").prop("duration"));const i=document.querySelector("video");if(!i){return}const a=n.find(i=>i.name===e.defaultPlayerMode);{const n=()=>{if(a&&$("#bilibiliPlayer[class*=mode-]").length===0){a.action()}};if(e.applyPlayerModeOnPlay&&!e.autoPlay){i.addEventListener("play",n,{once:true})}else{n()}if(!e.autoPlay){i.addEventListener("play",t,{once:true})}else{t()}i.addEventListener("ended",o,{once:true})}}Observer.videoChange(a)}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/icon.vue.min.js"] = (()=>{return(o,e)=>{const n=``;e.applyStyleFromText(`@font-face{font-family:be-main-iconfont;src:url(//s1.hdslb.com/bfs/seed/jinkela/header/asserts/iconfont.ttf) format("truetype")}@font-face{font-family:be-extended-iconfont;src:url(//s1.hdslb.com/bfs/static/jinkela/video/asserts/iconfont.4bab144.ttf) format("truetype")}@font-face{font-family:be-home-iconfont;src:url(//s1.hdslb.com/bfs/static/jinkela/international-home/asserts/iconfont.ttf) format("truetype")}.be-icon{color:inherit;font-size:24px;font-style:normal;line-height:1}.be-icon.be-main-iconfont{font-family:be-main-iconfont!important}.be-icon.be-extended-iconfont{font-family:be-extended-iconfont!important}.be-icon.be-home-iconfont{font-family:be-home-iconfont!important}.be-icon.be-iconfont-logo::before{content:""}.be-icon.be-iconfont-lv0::before{content:"";color:#9a9a9a}.be-icon.be-iconfont-lv1::before{content:"";color:#646464}body.dark .be-icon.be-iconfont-lv0::before{color:#777}body.dark .be-icon.be-iconfont-lv1::before{color:#ddd}.be-icon.be-iconfont-lv2::before{content:"";color:#1bc861}.be-icon.be-iconfont-lv3::before{content:"";color:#22baea}.be-icon.be-iconfont-lv4::before{content:"";color:#eaa722}.be-icon.be-iconfont-lv5::before{content:"";color:#ff7631}.be-icon.be-iconfont-lv6::before{content:"";color:#ff3131}.be-icon.be-iconfont-profile::before{content:""}.be-icon.be-iconfont-posts::before{content:""}.be-icon.be-iconfont-wallet::before{content:""}.be-icon.be-iconfont-live-center::before{content:""}.be-icon.be-iconfont-order-center::before{content:""}.be-icon.be-iconfont-logout::before{content:""}.be-icon.be-iconfont-ok::before{content:""}.be-icon.be-iconfont-cancel::before{content:""}.be-icon.be-iconfont-bind-phone::before{content:""}.be-icon.be-iconfont-bind-email::before{content:""}.be-icon.be-iconfont-coin-outline::before{content:""}.be-icon.be-iconfont-coin::before{content:""}.be-icon.be-iconfont-b-coin::before{content:""}.be-icon.be-iconfont-activity::before{content:""}.be-icon.be-iconfont-message::before{content:""}.be-icon.be-iconfont-favorites-outline::before{content:""}.be-icon.be-iconfont-favorites::before{content:""}.be-icon.be-iconfont-history::before{content:""}.be-icon.be-iconfont-vip::before{content:""}.be-icon.be-iconfont-play::before{content:""}.be-icon.be-iconfont-danmaku::before{content:""}.be-icon.be-iconfont-like::before{content:""}.be-icon.be-iconfont-like-outline::before{content:""}.be-icon.be-iconfont-up::before{content:""}.be-icon.be-iconfont-up-outline::before{content:""}`,"icon-style");return{export:Object.assign({template:n},{props:{icon:String,type:String},computed:{classes(){if(this.icon===""||this.type===""){return[]}if(this.type==="mdi"){return["mdi",`mdi-${this.icon}`]}return[`be-iconfont-${this.icon}`,`be-${this.type}-iconfont`]}}})}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/medal-helper.min.js"] = (()=>{return(e,t)=>{class i{constructor(e,t){this.isActive=e;this.id=t}static parseJson(e,{successAction:t,errorMessage:i,errorAction:a}){const s=JSON.parse(e);if(s.code!==0){logError(`${i} 错误码:${s.code} ${s.message||""}`);return a(s)}return t(s)}}class a extends i{constructor({medal_id:e,status:t,level:i,medalName:a,uname:s}){super(t===1,e);this.level=i;this.name=a;this.upName=s}static async getList(){return i.parseJson(await Ajax.getTextWithCredentials("https://api.live.bilibili.com/i/api/medal?page=1&pageSize=256"),{successAction:e=>e.data.fansMedalList.map(e=>new a(e)),errorAction:()=>[],errorMessage:"无法获取勋章列表."})}static getContainer(){return document.querySelector("#medal-helper .medal-popup ul")}static getItemTemplate(e){return`
  • \n\n
  • `}async activate(){return i.parseJson(await Ajax.getTextWithCredentials(`https://api.live.bilibili.com/i/ajaxWearFansMedal?medal_id=${this.id}`),{successAction:()=>{this.isActive=true;return true},errorAction:()=>false,errorMessage:"佩戴勋章失败."})}async deactivate(){return i.parseJson(await Ajax.getTextWithCredentials(`https://api.live.bilibili.com/i/ajaxCancelWear`),{successAction:()=>{this.isActive=false;return true},errorAction:()=>false,errorMessage:"卸下勋章失败."})}}class s extends i{constructor({id:e,cid:t,wear:i,css:a,name:r,source:c}){super(i,a);this.tid=e;this.cid=t;this.name=r;this.source=c;s.getImageMap().then(e=>{this.imageUrl=e[this.id]})}static async getImageMap(){if(s.imageMap===undefined){return i.parseJson(await Ajax.getTextWithCredentials("https://api.live.bilibili.com/rc/v1/Title/webTitles"),{successAction(e){s.imageMap={};e.data.forEach(e=>{s.imageMap[e.identification]=e.web_pic_url});return s.imageMap},errorAction:()=>{return{}},errorMessage:"获取头衔图片失败."})}else{return s.imageMap}}static async getList(){return i.parseJson(await Ajax.getTextWithCredentials("https://api.live.bilibili.com/i/api/ajaxTitleInfo?page=1&pageSize=256&had=1"),{successAction:e=>e.data.list.map(e=>new s(e)),errorAction:()=>[],errorMessage:"无法获取头衔列表."})}static getContainer(){return document.querySelector("#title-helper .medal-popup ul")}static getItemTemplate(e){return`
  • \n\n
  • `}async activate(){return i.parseJson(await Ajax.postTextWithCredentials(`https://api.live.bilibili.com/i/ajaxWearTitle`,`id=${this.tid}&cid=${this.cid}`),{successAction:()=>{this.isActive=true;return true},errorAction:()=>false,errorMessage:"佩戴头衔失败."})}async deactivate(){return i.parseJson(await Ajax.postTextWithCredentials(`https://api.live.bilibili.com/i/ajaxCancelWearTitle`,""),{successAction:()=>{this.isActive=false;return true},errorAction:()=>false,errorMessage:"卸下头衔失败."})}}async function r(e){const t=e.getContainer();const i=await e.getList();const a=async()=>{const i=await e.getList();i.forEach(e=>{const i=t.querySelector(`li[data-id='${e.id}']`);if(e.isActive){i.classList.add("active")}else{i.classList.remove("active")}i.querySelector(`input`).checked=e.isActive})};i.forEach(s=>{const r=e.getItemTemplate(s);t.insertAdjacentHTML("beforeend",r);const c=t.querySelector(`li[data-id='${s.id}']`);const n=c.querySelector(`input`);c.addEventListener("click",e=>{if(e.target===n){return}if(s.isActive){s.deactivate().then(a)}else{const e=i.find(e=>e.isActive);if(e){e.isActive=false}s.activate().then(a)}})})}return{export:{Badge:i,Medal:a,Title:s},widget:{condition:()=>document.domain==="live.bilibili.com",content:t.data.medalHelperHtml.text,success:()=>{document.querySelectorAll(".medal-helper").forEach(e=>{const t=e.querySelector(".medal-popup");e.addEventListener("click",e=>{if(!t.contains(e.target)){t.classList.toggle("opened")}})});r(a);s.getImageMap().then(()=>r(s))}}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/about.min.html"] = ``; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/hide-top-search.min.js"] = (()=>{return(e,r)=>{const t=[".nav-search-keyword",".search-keyword"];for(const e of t){new SpinQuery(()=>$(e),e=>e!==undefined&&e.length>0&&e.attr("placeholder").length>0,e=>e.attr("placeholder","搜索")).start()}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/double-click-fullscreen.min.js"] = (()=>{return(i,e)=>{(async()=>{const e=["https://www.bilibili.com/bangumi/","https://www.bilibili.com/video/"];if(!e.some(i=>document.URL.startsWith(i))){return}if(i.touchVideoPlayer&&i.touchVideoPlayerDoubleTapControl){Toast.info("在开启了播放器触摸支持-启用双击控制后, 双击全屏功能将无效.","提示");i.doubleClickFullscreen=false;return}await SpinQuery.unsafeJquery();const l=await SpinQuery.condition(()=>dq(".bilibili-player-area"),i=>i!==null&&unsafeWindow.$(".bilibili-player-video").data("events"));if(l===null){return}const n="double-click-fullscreen";if(!l.classList.contains(n)){l.classList.add(n);const e=unsafeWindow.$(".bilibili-player-video");const t=i.doubleClickFullscreenPreventSingleClick?e.data("events").click[0].handler:()=>{};const c=new DoubleClickEvent(()=>dq(".bilibili-player-video-btn-fullscreen").click(),i=>t(i));if(i.doubleClickFullscreenPreventSingleClick){e.unbind("click")}c.bind(e[0])}})()}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/comment.min.js"] = (()=>{return(e,t)=>{t.applyImportantStyle("useCommentStyleStyle");return{reload:()=>t.applyImportantStyle("useCommentStyleStyle"),unload:()=>t.removeStyle("useCommentStyleStyle")}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/download-danmaku.min.js"] = (()=>{return(t,e)=>{const{getFriendlyTitle:n}=e.import("title");const{DanmakuInfo:i}=e.import("video-info");const{DanmakuConverter:a}=e.import("danmaku-converter");async function o(t){const e=n();let i={title:e};try{await loadDanmakuSettingsPanel();const t=t=>{const e=parseFloat(dq(t).style.transform.replace(/translateX\(([\d\.]+)/,"$1"));const n={0:0,44:1,94:2,144:3,188:4}[e];return n};i.font=dq(".bilibili-player-video-danmaku-setting-right-font .bui-select-result").innerText;i.alpha=parseFloat(dq(".bilibili-player-setting-opacity .bui-bar").style.transform.replace(/scaleX\(([\d\.]+)\)/,"$1"));i.duration=(()=>{const e=[18,14,10,8,6][t(".bilibili-player-setting-speedplus .bui-thumb")];return t=>{switch(t.type){case 4:case 5:return 4;default:return e}}})();i.blockTypes=(()=>{let t=[];const e={".bilibili-player-block-filter-type[ftype=scroll]":[1,2,3],".bilibili-player-block-filter-type[ftype=top]":[5],".bilibili-player-block-filter-type[ftype=bottom]":[4],".bilibili-player-block-filter-type[ftype=color]":["color"]};for(const[n,i]of Object.entries(e)){if(dq(n).classList.contains("disabled")){t=t.concat(i)}}return t.concat(7,8)})();const e=[1.4,1.2,1,.8,.6][t(".bilibili-player-setting-fontsize .bui-thumb")];i.resolution={x:1920*e,y:1080*e};i.bottomMarginPercent=[.75,.5,.25,0,0][t(".bilibili-player-setting-area .bui-thumb")];if(i.bottomMarginPercent===0&&dq(".bilibili-player-video-danmaku-setting-left-preventshade input").checked){i.bottomMarginPercent=.15}i.bold=dq(".bilibili-player-video-danmaku-setting-right-font-bold input").checked}catch(t){i={font:"微软雅黑",alpha:.6,duration:t=>{switch(t.type){case 4:case 5:return 4;default:return 6}},blockTypes:[7,8],resolution:{x:1920,y:1080},bottomMarginPercent:.15,bold:false}}const o=new a(i);const l=o.convertToAssDocument(t);return l.generateAss()}async function l(t,e){const a=n();const l=new i((unsafeWindow||window).cid);await l.fetchInfo();const r=await(async()=>{if(t===true){return new Blob([await o(l.rawXML)],{type:"text/plain"})}else{return new Blob([l.rawXML],{type:"text/plain"})}})();const s=URL.createObjectURL(r);const c=dq("#danmaku-link");const d=c.getAttribute("href");if(d){URL.revokeObjectURL(d)}clearTimeout(e);dq("#download-danmaku>span").innerHTML="下载弹幕";c.setAttribute("download",`${a}.${t?"ass":"xml"}`);c.setAttribute("href",s);c.click()}return{export:{downloadDanmaku:l,convertToAss:o},widget:{content:`\n\n\n下载弹幕\n\n`,condition:async()=>{let t=await SpinQuery.select(()=>(unsafeWindow||window).cid);return Boolean(t)},success:()=>{const t=document.querySelector("#danmaku-link");dq("#download-danmaku").addEventListener("click",e=>{if(e.target!==t){const t=setTimeout(()=>dq("#download-danmaku>span").innerHTML="请稍侯...",200);l(e.shiftKey,t)}})}}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-control-background.min.js"] = (()=>{return(o,t)=>{document.body.style.setProperty("--custom-control-background-opacity",o.customControlBackgroundOpacity);addSettingsListener("customControlBackgroundOpacity",o=>{document.body.style.setProperty("--custom-control-background-opacity",o)});const n=()=>{t.applyStyle("customControlBackgroundStyle");if(!o.touchVideoPlayer){t.applyImportantStyleFromText(`\n\n`)}};n();return{reload:n,unload:()=>{t.removeStyle("customControlBackgroundStyle");const o=document.getElementById("control-background-non-touch");o&&o.remove()}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/hide-hash-tags.min.js"] = (()=>{return(t,e)=>{if(document.URL.replace(location.search,"")!=="https://t.bilibili.com/"){return}const n=`.left-panel .tag-panel,.right-panel .tag-panel{display: none !important}`;const a="hideHashTagsStyle";return e.toggleStyle(n,a)}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/toast.min.js"] = (()=>{return(t,a)=>{var s;(function(t){t["Default"]="default";t["Info"]="info";t["Success"]="success";t["Error"]="error"})(s||(s={}));let e;class r{constructor(t="",a="",e=s.Default){this.creationTime=new Date;this.type=e;this.message=t;this.title=a;this.duration=3e3}show(){r.containerVM.cards.splice(0,0,this);if(this.duration!==undefined){setTimeout(()=>this.dismiss(),this.duration)}}dismiss(){if(r.containerVM.cards.includes(this)){r.containerVM.cards.splice(r.containerVM.cards.indexOf(this),1)}}get element(){return dq(`.toast-card[data-key='${this.key}']`)}get key(){return this.creationTime.toISOString()}static get containerVM(){if(!e){r.createToastContainer()}return e}static createToastContainer(){if(!document.querySelector(".toast-card-container")){document.body.insertAdjacentHTML("beforeend",`\n\n\n`);e=new Vue({el:".toast-card-container",components:{"toast-card":{props:["card"],template:`\n
    \n
    \n
    \n

    {{card.title}}

    \n
    \n\n\n\n
    \n
    \n
    \n
    \n`}},data:{cards:[]}})}}static internalShow(t,a,s,e){const i=new r(t,a,e);i.duration=s;i.show();return i}static show(t,a,e){return this.internalShow(t,a,e,s.Default)}static info(t,a,e){return this.internalShow(t,a,e,s.Info)}static success(t,a,e){return this.internalShow(t,a,e,s.Success)}static error(t,a,e){return this.internalShow(t,a,e,s.Error)}}a.applyStyle("toastStyle");return{export:r}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/toast.min.css"] = `.toast-card-container{--card-min-width:240px;--card-min-width-negative:-240px;position:fixed;left:0;bottom:0;display:flex;flex-direction:column-reverse;align-items:start;padding-left:16px;z-index:100001;pointer-events:none;overflow:hidden;width:100%;height:100%;transition:.2s ease-out}.toast-card-container *{pointer-events:initial;transition:.2s ease-out}.toast-card.toast-card-container-enter,.toast-card.toast-card-container-leave-to{opacity:0;transform:translateX(var(--card-min-width-negative))}.toast-card{background:#fff;min-width:var(--card-min-width);max-width:60vw;min-height:96px;margin:8px 0;box-shadow:rgba(0,0,0,.2) 0 4px 8px 0;transform-origin:left;overflow:hidden;display:flex;flex-direction:column;border-left-style:solid;transition:.3s cubic-bezier(.18,.89,.32,1.28);position:relative;border-left-width:0;padding-left:var(--corner-radius);border-radius:var(--corner-radius)}.toast-card.toast-card-container-leave-active{position:absolute;transition:.3s cubic-bezier(.6,-.28,.74,.05)}.toast-card-header{display:flex;align-items:center}.toast-card-title{font-size:18px;color:#000;opacity:.5;margin:16px;font-weight:700;flex:1 1 auto}.toast-card-dismiss{height:24px;width:24px;flex:0 0 auto;padding:16px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:.2s ease-out;transform-origin:center;opacity:.5;box-sizing:content-box}.toast-card-dismiss:hover{transform:scale(1.2)}.toast-card-dismiss:active{transform:scale(1.1)}.toast-card-message{color:#000;font-size:14px;margin:0 16px 16px;white-space:pre-wrap;display:flex;align-items:center;line-height:1.5;flex-wrap:wrap;word-break:break-all;max-height:200px;overflow:auto}.toast-card.toast-default{border-left-color:#444}.toast-card.toast-error{border-left-color:#f44336}.toast-card.toast-info{border-left-color:#2196f3}.toast-card.toast-success{border-left-color:#8bc34a}.toast-card .toast-card-border{position:absolute;height:100%;width:4px;border-radius:var(--corner-radius);height:calc(100% - 10px);width:var(--corner-radius);top:5px;left:0}.toast-card.toast-default .toast-card-border{background-color:#444}.toast-card.toast-error .toast-card-border{background-color:#f44336}.toast-card.toast-info .toast-card-border{background-color:#2196f3}.toast-card.toast-success .toast-card-border{background-color:#8bc34a}.toast-card .link,.toast-card span{display:inline-block;padding:4px 6px;margin:0 2px;background-color:#8882;text-decoration:none;color:#000;transition:.2s ease-out;border-radius:var(--corner-radius)}.toast-card .link:hover{background-color:#8883}.toast-card .link:active{background-color:#8884}.toast-card .download-link{color:inherit!important;text-decoration:underline;word-break:break-all}@keyframes loading{0%,100%{top:0;left:50%}25%{top:50%;left:100%}50%{top:100%;left:50%}75%{top:50%;left:0}}.toast-card .loading{width:14px;height:14px;display:inline-block;margin-right:14px;position:relative}.toast-card .loading::after{content:"";width:10px;height:10px;background-color:#8884;border-radius:50%;display:block;transform:translateX(-50%) translateY(-50%);position:absolute;top:0;left:50%;animation:1s cubic-bezier(.22,.61,.36,1) infinite loading}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-control-background.min.css"] = `.bilibili-player-video-control-mask{background:0 0!important}.bilibili-player-video-control .bilibili-player-video-control-bottom,.bilibili-player-video-control .bui-slider .bui-track.bui-track-video-progress .bui-bar-wrap{background:rgba(0,0,0,var(--custom-control-background-opacity))!important}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/simplify-home.vue.min.js"] = (()=>{return(e,o)=>{const m=`
    `;o.applyStyleFromText(`.simplify-home{padding-top:32px;display:flex;align-items:flex-start;justify-content:center;min-height:100vh;background-color:#f4f4f4}body.dark .simplify-home{background-color:#181818}.simplify-home .simplify-home-component{max-width:100%}html{scroll-behavior:smooth}`,"simplify-home-style");return{export:Object.assign({template:m},{components:{"minimal-home":()=>o.importAsync("minimal-home.vue"),"simple-home":()=>o.importAsync("simple-home.vue")},computed:{activeComponent(){return this.homeStyle==="清爽"?"simple-home":"minimal-home"}},props:{homeStyle:String}})}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/simple-home-categories.vue.min.js"] = (()=>{return(e,i)=>{const s=`
    分区
    快了, 已经在路上了.jpg
    `;i.applyStyleFromText(`.simple-home .categories{display:flex;flex-direction:column}`,"simple-home-categories-style");return{export:Object.assign({template:s},{})}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/clear-cache.min.js"] = (()=>{return(n,c)=>{return{widget:{content:`\n\n\n清除缓存\n`,condition:()=>typeof offlineData==="undefined",success:()=>{$("#clear-cache").on("click",()=>{n.cache={};Toast.success("已删除全部缓存.","清除缓存",5e3)})}}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/batch-download.min.js"] = (()=>{return(t,e)=>{const i=12;const s=[".mp4",".m4a"];class n{constructor(t){this.config=t;this.itemList=[]}async getRawItems(t){return JSON.parse(await this.collectData(t))}extension(t,e){const i=[".flv",".mp4"].find(e=>t.includes(e));if(i){return i}else if(t.includes(".m4s")){return s[e]}else{return".flv"}}async collectAria2(s,n){const r=await this.getRawItems(s);if(n){const s=t.aria2RpcOption;const{sendRpc:n}=await e.importAsync("aria2-rpc");for(const t of r){const e=t.fragments.map((e,n)=>{let r="";if(t.fragments.length>1&&!e.url.includes(".m4s")){r=" - "+(n+1)}const a=[];if(s.secretKey!==""){a.push(`token:${s.secretKey}`)}a.push([e.url]);a.push({referer:document.URL.replace(window.location.search,""),"user-agent":UserAgent,out:`${t.title}${r}${this.extension(e.url,n)}`,split:i,dir:s.baseDir+s.dir||undefined,"max-download-limit":s.maxDownloadLimit||undefined});const o=encodeURIComponent(`${t.title}${r}`);return{params:a,id:o}});await n(e,true)}}else{return`\n# Generated by Bilibili Evolved Video Export\n# https://github.com/the1812/Bilibili-Evolved/\n${r.map(t=>{return t.fragments.map((e,s)=>{let n="";if(t.fragments.length>1&&!e.url.includes(".m4s")){n=` - ${s+1}`}return`\n${e.url}\n referer=${t.referer}\n user-agent=${UserAgent}\n out=${t.title}${n}${this.extension(e.url,s)}\n split=${i}\n`.trim()}).join("\n")}).join("\n")}\n`.trim()}}}class r extends n{static async test(){if(!document.URL.includes("/www.bilibili.com/video/av")){return false}return await SpinQuery.select("#multi_page")!==null}async getItemList(){if(this.itemList.length>0){return this.itemList}const t=`https://api.bilibili.com/x/web-interface/view?aid=${unsafeWindow.aid}`;const e=await Ajax.getJson(t);if(e.code!==0){Toast.error(`获取视频选集列表失败, message=${e.message}`,"批量下载");return[]}const i=e.data.pages;if(i===undefined){Toast.error(`获取视频选集列表失败, 没有找到选集信息.`,"批量下载");return[]}this.itemList=i.map(t=>{return{title:`P${t.page} ${t.part}`,cid:t.cid,aid:unsafeWindow.aid}});return this.itemList}async collectData(t){const i=[];for(const s of(await this.getItemList()).filter(this.config.itemFilter)){const n=this.config.api?this.config.api(s.aid,s.cid,t):`https://api.bilibili.com/x/player/playurl?avid=${s.aid}&cid=${s.cid}&qn=${t}&otype=json`;const r=await Ajax.getJsonWithCredentials(n);const a=r.data||r.result||r;if(a.quality!==t){console.warn(`${s.title} 不支持所选画质, 已回退到较低画质. (quality=${a.quality})`)}let o;if(a.durl){o=a.durl.map(t=>{return{length:t.length,size:t.size,url:t.url}})}else{const{getDashInfo:i,dashToFragments:s}=await e.importAsync("video-dash");const r=await i(n,typeof t==="string"?parseInt(t):t);o=s(r)}i.push({fragments:o,title:s.title.replace(/[\/\\:\*\?"<>\|]/g," "),totalSize:o.map(t=>t.size).reduce((t,e)=>t+e),cid:s.cid,referer:document.URL.replace(window.location.search,"")})}return JSON.stringify(i)}}class a extends n{static async test(){return document.URL.includes("/www.bilibili.com/bangumi")}async getItemList(){if(this.itemList.length>0){return this.itemList}const t=document.querySelector("meta[property='og:url']");if(t===null){Toast.error("获取番剧数据失败: 无法找到 Season ID","批量下载");return[]}const e=t.getAttribute("content").match(/play\/ss(\d+)/)[1];if(e===undefined){Toast.error("获取番剧数据失败: 无法解析 Season ID","批量下载");return[]}const i=await Ajax.getJson(`https://api.bilibili.com/pgc/web/season/section?season_id=${e}`);if(i.code!==0){Toast.error(`获取番剧数据失败: 无法获取番剧集数列表, message=${i.message}`,"批量下载");return[]}this.itemList=i.result.main_section.episodes.map((t,e)=>{return{aid:t.aid,cid:t.cid,title:t.long_title?`${t.title} - ${t.long_title}`:`${e+1} - ${t.title}`}});return this.itemList}async collectData(t){const i=[];for(const s of(await this.getItemList()).filter(this.config.itemFilter)){const n=this.config.api?this.config.api(s.aid,s.cid,t):`https://api.bilibili.com/pgc/player/web/playurl?avid=${s.aid}&cid=${s.cid}&qn=${t}&otype=json`;const r=await Ajax.getJsonWithCredentials(n);const a=r.data||r.result||r;if(a.quality!==t){console.warn(`${s.title} 不支持所选画质, 已回退到较低画质. (quality=${a.quality})`)}let o;if(a.durl){o=a.durl.map(t=>{return{length:t.length,size:t.size,url:t.url}})}else{const{getDashInfo:i,dashToFragments:s}=await e.importAsync("video-dash");const r=await i(n,typeof t==="string"?parseInt(t):t);o=s(r)}i.push({fragments:o,title:s.title.replace(/[\/\\:\*\?"<>\|]/g," "),totalSize:o.map(t=>t.size).reduce((t,e)=>t+e),cid:s.cid,referer:document.URL.replace(window.location.search,"")})}return JSON.stringify(i)}}const o=[a,r];let c;class l{constructor(t){this.config=Object.assign({itemFilter:()=>true},t)}static async test(){for(const t of o){if(await t.test()===true){c=t;return true}}return false}getExtractor(){if(c===null){logError("[批量下载] 未找到合适的解析模块.");throw new Error(`[Batch Download] module not found.`)}const t=new c(this.config);return t}async getItemList(){const t=this.getExtractor();return await t.getItemList()}async getRawItems(t){const e=this.getExtractor();return await e.getRawItems(t.quality)}async collectData(t,e){const i=this.getExtractor();const s=await i.collectData(t.quality);e.dismiss();return s}async collectAria2(t,e,i=false){const s=this.getExtractor();const n=await s.collectAria2(t.quality,i);e.dismiss();return n}}return{export:{BatchExtractor:l}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/settings-tooltip.ja-JP.min.js"] = (()=>{return(a,n)=>{const e=new Map([["useDefaultPlayerLayout",`デフォルト・プレーヤー・レイアウトを設定する. できるだけ、適切なページに設定(例えば、番組の放送ページに番組プレーヤーのレイアウトを設定する)、そうでない場合は効果がない可能性があります.\n- 旧版: 伝統的なレイアウト\n- 新版: 動画ページに黙認の新版レイアウト\n注意: 伝統的なレイアウトでは、多くのスクリプト機能が適用されない.`],["defaultPlayerLayout",`動画プレーヤーのレイアウトを設定する.`],["defaultBangumiLayout",`番組プレーヤーのレイアウトを設定する.`],["useDefaultPlayerMode",`デフォルト・プレーヤー・モードが使用するかどうかを制御する、 例えば常规宽屏网页全屏全屏.`],["defaultPlayerMode",`デフォルト・プレーヤー・モードが設定する.`],["applyPlayerModeOnPlay",`再生時にモードを適用する、「いいえ」を選択すると、再生が開始されていないときに適用されます.`],["autoLightOff",`初回放送時には、自動的に消灯モードに入り、再生終了後に自動的に点灯します.`],["useDefaultVideoQuality",`動画を開くときに指定された画質を自動的に選択する. 映像の最高画質が選択された画質より低ければ、映像の最高画質を使用する.`],["defaultVideoQuality",`自動的に選択された映像画質を設定する.`],["useDefaultDanmakuSettings",`デフォルトで弾幕を開くかどうかを設定する.そして、「防挡字幕」と「智能防挡弹幕」を覚えておくかどうかを設定できる.`],["enableDanmaku",`弾幕がデフォルトで開くかどうかを制御する.`],["rememberDanmakuSettings",`弾幕ブロックの設定を覚えるかどうかを制御する、「防挡字幕」と「智能防挡弹幕」を含まれています.これらの設定を動画制御欄で変更すると、すべでの動画にデフォルトでこれらの設定が使用されます.`],["expandDanmakuList",`新版レイアウトでは、他のおすすめ動画が表示されるようにデフォルトで弾幕リストが折りたたまれています.この機能を有効にすると、動画が読み込まれるたびに弾幕リストが自動的に展開されます.`],["expandDescription",`長すぎる動画概要欄はデフォルトで折りたたまれています、この機能を有効にすると完全な動画概要欄が強制的に展開されます.`],["autoContinue",`動画再生時に視聴履歴が検出されると(前回の见た...情報)、自動的に対応する時間に再生される.`],["allowJumpContinue",`履歴のセット数が現在開いているページと矛盾している場合でも、自動的にジャンプします.`],["autoPlay",`動画ページに入ると、自動的に動画の再生が開始されます.`],["skipChargeList",`エンディングの「充电鸣谢」を自動スキップ.`],["framePlayback",`プレーヤーの時間に右側に2つのボタンが追加されました.動画の時間を細かく調整するために使用される. キーボードショートカットに対応しますShift+/. (伝統的なレイアウトでキーボードショートカットのみ使用でき、ボタンは表示されません)`],["videoScreenshot",`プレーヤーの時間に右側に1つのボタンが追加されました.動画スクリーンショットを使用されます. キーボードショートカットに対応しますCtrl+Alt+C. (伝統的なレイアウトでキーボードショートカットのみ使用でき、ボタンは表示されません)`],["playerFocus",`動画/番組の放送ページに入る時、プレーヤーに自動的に移動する.`],["playerFocusOffset",`移動時の垂直オフセット、単位はピクセル(px).`],["outerWatchlater",`動画放送ページの稍后再看を外に移動します.`],["keymap",`動画プレーヤーのためにより多くのショートカットを有効にします:\n- w ウェブの全画面\n- t ワイドモード\n- r サイクル放送\n- m 消音\n- d 弾幕スイッチ\n- l いいね\n- c コインを投げる\n- s お気に入り\n- Shift + w 後で見る\n- Shift + ↑/↓ / Shift + ,/. 再生速度を調整する\n- Shift + / 再生速度をリセットする`],["doubleClickFullscreen",`ダブルクリックして全画面に切り替えることができます.ご注意ください播放器触摸支持 - 启用双击控制と共に使用できない.`],["customStyleColor",`頂欄(スタイルの調整が有効な場合)とダークテーマのテーマ色で埋める、カラープレビューサークルをクリックして、设定の16種類のテーマカラーにできるの、右側のテキストボックスに任意の有効な16進数のカラー値を直接入力することもできます.(#rrggbb#rgb).`],["blurBackgroundOpacity",`设置顶栏对横幅的透明度(0~1), 数值越高顶栏越淡, 当横幅关闭时此选项无效.`],["customNavbar",`カスタム頂欄を使用する.伝統的な頂欄に取って代わる.メインステーション専用です.「生放送」、「アルバム」、「会員購」などには影響しません.`],["customNavbarSeasonLogo",`通常のロゴの代わりに季節のロゴを使用するかどうか.`],["customNavbarFill",`テーマ色で頂欄を埋める.`],["allNavbarFill",`テーマ色で他の頂欄を埋める.「生放送」、「アルバム」、「会員購」などが含まれています.`],["customNavbarShadow",`頂欄に投影効果を追加する.`],["customNavbarCompact",`トップページにコンパクトなレイアウトを使する.コンパクトなレイアウトはより小さなスペースを使用し、そして動画のタイトルが長すぎる場合に後者の部分を省略するための 「...」を使用する.`],["customNavbarBlur",`トップの横断幕が存在する場合は、背景のぼかし効果を使用します.`],["useDarkStyle",`ダークテーマでは、ページの明るい部分が暗い色に変わり、夜間の視聴に最適な表示になります.そして多くのテーマカラーを適用します.ぜひお試しください.`],["darkSchedule",`ダークテーマを使用して计画タイムを設定する.この期間を開始または終了すると、ダークテーマは自動的にオンまたはオフになり、終了時刻は開始時刻より短く、翌日と見なされます.例えば18:00から6:00夜の18:00から翌日の6:00までを表しています.`],["darkScheduleStart",`計画期間の開始時刻を設定する.`],["darkScheduleEnd",`計画期間の終了時刻を設定する.`],["compactLayout",`ホームページでコンパクトレイアウトを使用するかどうかを設定します.動画の間隔が狭くなり、フィレットが切り取られ、カテゴリ欄のアイコンは高解像度版を使用します.`],["useCommentStyle",`- 人気コメントのアバターの下にある「フォロー」ボタンを削除します\n- ユーザーの「レベル」アイコンの削除します\n- 発送端末の情報を削除(例えば来自安卓客户端)\n- 送信時刻は右上に移動します\n- ビットアイコンはすべてベクトルアイコンを入れ替えており、高解像度の画面はぼやけません.\n注釈:「フォロー」と「レベル」アイコンはマウスでアバタ上に置くことで,ポップアップした資料カードに表示することができる.`],["simplifyLiveroom",`- 「老爷」アイコンを隠す\n- 「ファン勲章」アイコンを隠す\n- 「活動肩書き」アイコンを隠す\n- 「レベル」アイコンを隠す\n- 「艦長」アイコンを隠す\n- 「全域放送」を隠す\n- 「ウェルカムメッセージ」を隠す (例えば、「xxx老爷进入直播间」)\n- 「ギフト弾幕」を隠す (弾幕リストのみ. 例えば「节奏风暴」など特殊効果は影響を受けません)\n- 「艦長購入のヒント」を隠す (弾幕リストの「xxxは艦長を購入する」)\n- 「有料ギフト」を隠す (プレーヤーの下でのさまざまな有料ギフト欄)\n- 「イベント横断幕」を隠す\n- 「抽選のヒント」を隠す (例えば、「艦長」を購入する時、「小飞船」を購入する時、ギフトを抽選のヒント)\n- 配信ルームの「特殊な背景」を無効にする(ダークテーマでは、デフォルトでは「特殊な背景」も無効になっています)\n各項目は、非表示にするかどうかを附加功能の中で個別に選択することができる.`],["hideBanner",`トップページの横断幕を非表示.`],["playerShadow",`プレーヤーにテーマカラーの投影の追加する.`],["narrowDanmaku",`ウェブの全画面表示されている場合は、幅が狭すぎても弾幕欄を強制的に保持し.この場合には右側の機能ボタンが境界線を押し出してしまう可能性があることに注意する.`],["blurVideoControl",`動画制御欄の背景をぼかします.伝統的な陰影効果は無効になります.`],["customControlBackground",`動画制御欄に半透明な黒を付ける、伝統的な陰影効果を置き換える.`],["customControlBackgroundOpacity",`制御欄に黒の不透明度(0~1)を設定し、数値が大きくなるほど黒が濃くなるように設定します.`],["harunaScale",`スクリーンDPIによって、配信ルームの看板娘のサイズをスケーリングして、ピクセルの解像度を高めます.`],["removeLiveWatermark",`生放送時、隅の透かしを削除する.`],["removeVideoTopMask",`マウスが通過したら、動画の右上隅にあるタイトル層を削除します.`],["hideOldEntry",`放送ページの右側返回旧版を隠す.`],["hideBangumiReviews",`番組ページの採点区を隠す.`],["hideCategory",`ホームページのエリア欄を隠す、それでもエリア欄は頂欄のホームメニューからアクセスできます.`],["removeAds",`ビリビリのさまざまな広告を削除する.ホームページのプロモーションモジュール、モバイルアプリのおすすめ、動画ページの右側にある広告などが含まれます.`],["watchLaterRedirect",`「後で見る」のリンクを通常の再生ページに変更して、新版レイアウトの再生ページを使用する.`],["favoritesRedirect",`個人センターの「お気に入り」の動画を通常の再生ページに変更して、「お気に入り」再生の放送ページではなく.`],["hideTopSearch",`検索欄の推薦語を搜索に置き換える.`],["fullTweetsTitle",`頂欄のフィードプレビューページでは、常に完全なタイトルが展開されます.`],["fullPageTitle",`動画選集リストですべでを展開し、タイトルが1行を超えたら、別の行を開始して完全なタイトルを表示します.`],["showDeadVideoTitle",`個人センターの中に、失効した動画のタイトルとサムネイルを復元する.`],["useBiliplusRedirect",`失効した動画のリンクを「BiliPlus」ページに変更して.`],["deadVideoTitleProvider",`失効した動画の情報源: 「後で見る」は安定していますが、少し時間がかかります; 「BiliPlus」のスピードは速いですが、書き残していますので、しばらく開けません.`],["biliplusRedirect",`動画、番組、個人センターページで、追加機能转到BiliPlusをクリックして、BiliPlusの対応するページに移動します.`],["imageResolution",`スクリーンDPIによって、より高い解像度の画像を読み込む.(例えば、スクリーンのDPIが200%に調整されている場合、解像度は2倍になり、読み込み時間は長くなります.)`],["oldTweets",`「新版のフィード」リンクを 「旧版のフィード」に置き換え、追加機能で 「新版のフィード」/「旧版のフィード」を切り替えます.`],["i18n",`インタフェースの一般的なテキストの翻訳を提供する.`],["i18nLanguage",`翻訳言語`],["noLiveAutoplay",`生放送のホームページのおすすめライブルームで自動的に再生を開始することは禁止されています.`],["hideHomeLive",`生放送のホームページのおすすめライブルームを隠す.`],["foldComment",`フィードページにコメントを表示しているときに下部に「コメントを閉じる」ボタンを追加します.`],["seedsToCoins",`追加機能に瓜子换硬币ボタンを追加し、クリックして1日に1回に制限されて、1コインに700銀ヒマワリの種を交換してください.`],["touchNavBar",`頂欄の右側の1級リンクを削除します(大会員から履歴まで).タッチスクリーンデバイスですばやく情報を便利にします.削除されたリンクページはそれぞれのプレビューの中から查看更多に入ることができます.`],["comboLike",`「おすすめ三連」(「いいね」を長押した)のタッチサポートを有効にする.`],["touchVideoPlayer",`制御欄のボタン間隔を大きくして、タッチ操作をより正確にする.プレーヤーのタッチサポートを有効にする:\n- 左右にスワイプして再生の進行状況を調整します\n- 上下にスワイプして音量を調整します\n- 進行状況の調整は左上と右上でキャンセルできます\n- 異なる位置にスワイプすると、3つの異なる感度を使用できます.`],["touchVideoPlayerAnimation",`タッチ調整のヒントボックスにアニメーションの表示と非表示のどうかを決定します.このアニメーションはフレームがドロップされる可能性があります.`],["touchVideoPlayerDoubleTapControl",`操作方法を変更する.クリック:制御欄を表示/非表示, ダブルクリック放送/一時停止.`],["toast",`ウェブページの左下隅に表示スクリプトからのメッセージ、例えば更新通知の送信、エラーメッセージなどです.`],["toastInternalError",`オープンしたら、エラーメッセージは詳細な技術的エラー情報とスタック追跡を表示します.これは通常問題発生の原因を正確に確定するために使用されます.だから、問題を報告する時にこれらの情報はとても役に立ちます.`],["useCache",`スクリプトの読み込み速度を上げるためにキャッシュを使う.`],["filenameFormat",`ファイルの命名形式をカスタマイズする、下载弹幕下载视频视频截图查看封面に作用する.\n使用できる変数は:\n- title: 動画のタイトル/配信ルームのタイトル\n- ep: エピソードタイトル\n- aid: AV番号 (動画アドレス番号)\n- cid: CID (動画の唯一の番号、動画アドレス番号に対応するの動画アドレスは複数の動画を含み得る)\n- lid: 配信ルーム番号\n- y/M/d: 年/月/日\n- h/m/s/ms: 時間/分/秒/ミリ秒\n\nデフォルトの命名形式は[title][ - ep]、動画のタイトル+エピソードタイトル、エピソードタイトルがない場合は動画のタイトルを表示する.\n\n変数は角括弧内に配置され、角括弧内のその他の内容は変数が有効な場合に表示されます. 例えば、命名形式が[title] - [ep]書かれている場合ではエピソードタイトルがなくても、この - ファイル名にも表示されます. デフォルトとして角括弧で囲まれている場合、エピソードタイトルがない、 - が表示されません.\n\n例えば、タイトル+AV番号+時間の命名形式が欲しい、[title][ AVaid] [y]-[M]-[d] [h]-[m]-[s]に設定することができます. xxxx AV23333 2019-06-1 22-22-22ような名前をつけることができます.`],["sideBarOffset",`設定ボタンの垂直オフセット、単位はパーセント、許容範囲は-40%〜40%です.`],["useDefaultVideoSpeed",`デフォルトの再生速度を使用するかどうかを設定します.`],["defaultVideoSpeed",`デフォルトの動画再生速度を設定する.`],["autoDraw",`ライブルームに抽選活動がある場合は、「受け取り」ボタンを自動的にクリックします.\n 注意:少量の抽選にしか適用されますので、「99+限定抽選」は他の人のスピードに追いつけないかもしれません.`],["ajaxHook",`「Ajax Hook API」を有効にするかどうか、他のプラグインまたは追加機能は、この「API」を通じて「Ajax」が要求する情報を取得できます.`],["scriptLoadingMode",`スクリプト機能読み込みモード:\n- 同時: Bilibiliのページと同時に読み込む\n- 延後: Bilibiliのページを優先的に読み込み、元のページの読み込みが完了したらスクリプトの読み込みを開始します\n- 同時(自動): さまざまなページに従って読み込みモードを自動的に選択します.デフォルトは「同時」モード\n- 延後(自動): さまざまなページに従って読み込みモードを自動的に選択します.デフォルトは「延後」モード`],[`fullActivityContent`,`情報内容がどれぐらい長いにも関わらず、いつも完全な内容を展開します.`],[`activityImageSaver`,`大きなフィード画像を右クリックすると、画像付きのメッセージがポップアップ表示され、簡単に保存できます.`],[`selectableColumnText`,`コラムのテキストを選択可能にする.`],[`watchlaterExpireWarnings`,`「後で見る」の動画は、追加後60日で有効期限が切れます.この機能を開くと、14日より後のリストに有効期限の警告が表示されます.`],[`miniPlayerTouchMove`,`ミニプレーヤーをタッチしてドラッグする.`],[`feedsFilter`,`タイプまたはキーワードでフィードホームページの内容をフィルタリングするか、フィードページのいくつかのサイドカードを削除します. ご注意ください:今、「すべてのフィード」でのみ有効にする、別のカテゴリに切り替える場合は無効.`],[`hideBangumiSponsors`,`番組ページの下のスポンサーランクと右側のスポンサーボタンを隠す.`],[`hideRecommendLive`,`動画ページ右側のおすすめ生放送を隠す.`],[`hideRelatedVideos`,`番組と動画ページ右側のおすすめ動画を隠す.`],[`simplifyHome`,`ホームページを置き換えます.2つのスタイルがあります:\n- さわやか: レイアウトは元のホームページに似ており、フィードセクションが追加されています.\n- ミニマル: 他のすべてのセクションを削除し、動画フィードと人気動画のみを残します.`]]);return{export:{toolTips:e}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/dark-styles.min.js"] = (()=>{return(e,t)=>{const l=()=>{SpinQuery.select(".custom-scrollbar").then(e=>e&&e.classList.remove("custom-scrollbar"))};const r=()=>{document.body.classList.add("dark");l();t.applyStyle("scrollbarStyle");t.applyImportantStyle("darkStyleNavBar");t.applyStyle("darkStyle");t.applyImportantStyle("darkStyleImportant")};r();return{reload:r,unload:()=>{document.body.classList.remove("dark");t.removeStyle("scrollbarStyle");t.removeStyle("darkStyleNavBar");t.removeStyle("darkStyle");t.removeStyle("darkStyleImportant")}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/selectable-column-text.min.js"] = (()=>{return(e,t)=>{const n=`.article-holder { user-select: text !important }`;const r="selectable-column-text-style";const l=()=>{t.applyStyleFromText(n,r);SpinQuery.unsafeJquery().then(async()=>{if(!unsafeWindow.$){return}await SpinQuery.select(".article-holder");unsafeWindow.$(".article-holder").unbind("copy")})};l();return{reload:l,unload:()=>{document.getElementById(r).remove()}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/favorites-redirect.min.js"] = (()=>{return(t,e)=>{function i(){const t=document.querySelectorAll("li[data-aid]>a");t.forEach(t=>{const e=t.getAttribute("href");if(e===null||!e.includes("medialist")){return}const i=t.parentElement.getAttribute("data-aid");t.setAttribute("href",`https://www.bilibili.com/video/av${i}`)})}(async()=>{const t=await SpinQuery.select("#app>.s-space");if(t!==null){Observer.childListSubtree("#app>.s-space",i)}})()}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/video-story.min.js"] = (()=>{return(t,i)=>{class e{constructor(t){this.title=t.option;this.nodeID=t.node_id;this.cid=t.cid;this.default=t.is_default===1}}class s{constructor(t,i,e){this.title=t.title;this.nodeID=t.node_id;this.aid=i;this.cid=t.cid;this.graphVersion=e;this.choices=[];this.choiceTime=-1}async getChoices(){if(this.choices.length>0){return}const t=`https://api.bilibili.com/x/stein/nodeinfo?aid=${this.aid}&node_id=${this.nodeID}&graph_version=504`;const i=await Ajax.getJsonWithCredentials(t);if(i.code!==0){console.error(`获取选项失败: ${i.message}`);return}this.choices=i.data.edges.choices.map(t=>new e(t))}}class o{constructor(t,i){this.nodeList=t;if(i){this.startingNode=i}else{[this.startingNode]=t}}async getAllChoices(){return await Promise.all(this.nodeList.map(t=>t.getChoices()))}}const n=async(t,i)=>{const n=`https://api.bilibili.com/x/stein/nodeinfo?aid=${t}&graph_version=${i}`;const c=await Ajax.getJsonWithCredentials(n);if(c.code!==0){return c.message}const a=c.data.story_list.map(e=>new s(e,t,i));const d=a.find(t=>t.nodeID===c.data.node_id);if(!d){return"获取起始结点失败"}d.choiceTime=c.data.edges.show_time;const r=c.data.edges.choices.map(t=>new e(t));d.choices=r;return new o(a,d)};return{export:{StoryChoice:e,StoryNode:s,Story:o,getStoryNodes:n}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/fold-comment.min.js"] = (()=>{return(e,t)=>{if(document.URL.replace(window.location.search,"")==="https://t.bilibili.com/"){(async()=>{t.applyImportantStyle("foldCommentStyle");const e=await SpinQuery.select(".card-list .feed-card>.content");const l=e=>{const t=t=>{const l=document.createElement("div");l.classList.add("fold-comment");l.innerHTML="收起评论";const n=t.querySelector(".bb-comment");if(n===null){console.error("未找到评论区");return}else if(n.querySelector(".fold-comment")!==null){return}else{l.addEventListener("click",()=>{const t=e.querySelector(".button-bar").children[1];if(t!==null){t.click();e.scrollIntoView()}});n.insertAdjacentElement("beforeend",l)}};const l=e.querySelector(".panel-area");if(l===null){console.log(e)}if(l.childElementCount===0){const e=Observer.childList(l,n=>{if(n.length>0){t(l);e.forEach(e=>e.stop())}})}else{t(l)}};Observer.childList(e,()=>e.querySelectorAll("div.card").forEach(l))})()}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/magic-grid.min.js"] = (()=>{return(t,e)=>{const i=function(t){const e=25;if(!t){throw new Error("No config object has been provided.")}if(typeof t.useTransform!=="boolean"){t.useTransform=true}if(typeof t.gutter!=="number"){t.gutter=e}if(!t.container){s("container")}if(!t.items&&!t.static){s("items or static")}};const s=function(t){throw new Error("Missing property '"+t+"' in MagicGrid config")};const n=function(t){let e=t[0];for(const i of t){if(i.heightthis.maxColumns){i=this.maxColumns}for(let t=0;ts){s=o.height}}this.container.style.height=s+"px"}ready(){if(this.static){return true}return this.items.length>=this.size}getReady(){const t=setInterval(()=>{this.container=document.querySelector(this.containerClass);this.items=this.container.children;if(this.ready()){clearInterval(t);this.init();this.listen()}},100)}listen(){if(this.ready()){let t;window.addEventListener("resize",()=>{if(!t){t=setTimeout(()=>{this.positionItems();t=null},200)}});this.positionItems()}else{this.getReady()}}}const h={template:`\n
    \n\n
    \n`,name:"magic-grid",props:{wrapper:{type:String,default:"wrapper"},gap:{type:Number,default:32},maxCols:{type:Number,default:5},maxColWidth:{type:Number,default:280},animate:{type:Boolean,default:true},useMin:{type:Boolean,default:false}},data(){return{started:false,items:[]}},mounted(){this.waitUntilReady()},updated(){this.positionItems()},methods:{waitUntilReady(){if(this.isReady()){this.positionItems()}else this.getReady()},isReady(){return this.$el&&this.items.length>0},getReady(){let t=setInterval(()=>{this.items=this.$el.children;if(this.isReady()){clearInterval(t);this.init()}},100)},init(){if(!this.isReady()||this.started)return;this.$el.style.position="relative";Array.prototype.forEach.call(this.items,t=>{t.style.position="absolute";t.style.maxWidth=this.maxColWidth+"px";if(this.animate)t.style.transition="top, left 0.2s ease"});this.started=true;this.waitUntilReady()},colWidth(){return this.items[0].getBoundingClientRect().width+this.gap},setup(){let t=this.$el.getBoundingClientRect().width;let e=Math.floor(t/this.colWidth())||1;let i=[];if(this.maxCols&&e>this.maxCols){e=this.maxCols}for(let t=0;t{i.style.position="absolute";i.style.maxWidth=this.maxColWidth+"px";if(this.animate)i.style.transition="top, left 0.2s ease";let n=this.nextCol(t,s);let o=n.index*this.colWidth()+e;i.style.left=o+"px";i.style.top=n.height+n.top+"px";n.height+=n.top+i.getBoundingClientRect().height;n.top=this.gap});this.$el.style.height=this.getMax(t).height+"px"},getMax(t){let e=t[0];for(let i of t){if(i.height>e.height)e=i}return e},getMin(t){let e=t[0];for(let i of t){if(i.height