From fada5175f082627a55d9aed79669cfeb2bf71169 Mon Sep 17 00:00:00 2001
From: KotoriK <52659125+KotoriK@users.noreply.github.com>
Date: Mon, 22 Nov 2021 13:44:19 +0800
Subject: [PATCH 01/12] =?UTF-8?q?=E5=88=A0=E9=99=A4=E9=87=8D=E5=A4=8D?=
=?UTF-8?q?=E6=A0=B7=E5=BC=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
style.css | 1 -
1 file changed, 1 deletion(-)
diff --git a/style.css b/style.css
index 52abcb57..f00b515f 100644
--- a/style.css
+++ b/style.css
@@ -7253,7 +7253,6 @@ li>ol {
background-color: rgba(255, 255, 255, 0);
transform: translateX(0);
right: calc((100% - 1040px - 250px)/ 2);
- position: absolute !important;
top: 480px;
position: absolute;
padding-top: 10px;
From 7aa6570f17a4ca3fadb54e509a1fa1a713cd79c2 Mon Sep 17 00:00:00 2001
From: KotoriK <52659125+KotoriK@users.noreply.github.com>
Date: Mon, 22 Nov 2021 22:26:19 +0800
Subject: [PATCH 02/12] =?UTF-8?q?fix(=E5=85=BC=E5=AE=B9:php8):=20=20Undefi?=
=?UTF-8?q?ned=20array=20key=20"cb"?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
inc/categories-images.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/inc/categories-images.php b/inc/categories-images.php
index 6928cae4..9bdef448 100644
--- a/inc/categories-images.php
+++ b/inc/categories-images.php
@@ -207,7 +207,7 @@ function z_quick_edit_custom_box($column_name, $screen, $name) {
*/
function z_taxonomy_columns( $columns ) {
$new_columns = array();
- $new_columns['cb'] = $columns['cb'];
+ if(isset($columns['cb']))$new_columns['cb'] = $columns['cb'];
$new_columns['thumb'] = __('image', 'sakurairo')/*图像*/;
unset( $columns['cb'] );
From 8803d9d26229f5ca50667dc01b9c5dbce03d274b Mon Sep 17 00:00:00 2001
From: KotoriK <52659125+KotoriK@users.noreply.github.com>
Date: Wed, 24 Nov 2021 18:11:12 +0800
Subject: [PATCH 03/12] =?UTF-8?q?fix:=20=E6=9C=89=E8=AE=BE=E7=BD=AE?=
=?UTF-8?q?=E7=89=B9=E8=89=B2=E5=9B=BE=E5=83=8F=E4=BD=86=E6=9C=AA=E8=AE=BE?=
=?UTF-8?q?=E7=BD=AE=E2=80=9Cuse=5Fas=5Fthumb=E2=80=9Dmeta=E7=9A=84?=
=?UTF-8?q?=E6=96=87=E7=AB=A0=E4=B8=8D=E6=98=BE=E7=A4=BA=E6=A0=87=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
functions.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/functions.php b/functions.php
index b703d3db..53150464 100644
--- a/functions.php
+++ b/functions.php
@@ -2098,5 +2098,5 @@ function should_show_title():bool{
$use_as_thumb = get_post_meta($id, 'use_as_thumb', true); //'true','only',(default)
return !iro_opt('patternimg')
|| !get_post_thumbnail_id($id)
- && $use_as_thumb == 'only' && !get_post_meta($id, 'video_cover', true);
+ && $use_as_thumb != 'true' && !get_post_meta($id, 'video_cover', true);
}
\ No newline at end of file
From a8b2c54d2ff3165648ff6bd69a618e73a88335ae Mon Sep 17 00:00:00 2001
From: KotoriK <52659125+KotoriK@users.noreply.github.com>
Date: Wed, 24 Nov 2021 20:41:31 +0800
Subject: [PATCH 04/12] =?UTF-8?q?feat:=20=E6=9B=B4=E5=8F=8B=E5=A5=BD?=
=?UTF-8?q?=E7=9A=84=E6=96=87=E7=AB=A0=E5=B0=8F=E6=A0=87=E9=A2=98=E9=94=9A?=
=?UTF-8?q?=E7=82=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
style.css | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/style.css b/style.css
index f00b515f..f70e1846 100644
--- a/style.css
+++ b/style.css
@@ -8387,12 +8387,11 @@ td.hljs-ln-numbers {
background: #ddd;
color: black;
}
-h1[id*=toc-head]::before,
-h2[id*=toc-head]::before,
-h3[id*=toc-head]::before,
-h4[id*=toc-head]::before,
-h5[id*=toc-head]::before,
-h6[id*=toc-head]::before {
+h1::before,
+h2::before,
+h3::before,
+h4::before,
+h5::before {
display: block;
content: " ";
height: 80px;
From 1dfecb58c1e128d0fbf22ff19cd85e543b8272f0 Mon Sep 17 00:00:00 2001
From: KotoriK <52659125+KotoriK@users.noreply.github.com>
Date: Wed, 24 Nov 2021 20:54:26 +0800
Subject: [PATCH 05/12] =?UTF-8?q?fix:=20cover=5Ffull=5Fscreen=E9=80=89?=
=?UTF-8?q?=E9=A1=B9=E5=A4=B1=E6=95=88=EF=BC=9Brefactor:=20site=5Fbg=5Fas?=
=?UTF-8?q?=5Fcover=E7=9A=84=E5=AE=9E=E7=8E=B0=E8=BD=AC=E7=A7=BB=E5=88=B0c?=
=?UTF-8?q?ss?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
inc/decorate.php | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/inc/decorate.php b/inc/decorate.php
index 17079206..e1904e83 100644
--- a/inc/decorate.php
+++ b/inc/decorate.php
@@ -508,7 +508,10 @@ function customizer_css() { ?>
//$image_api = 'background-image: url("'.rest_url('sakura/v1/image/cover').'");';
$bg_style = !iro_opt('cover_full_screen') ? 'background-position: center center;background-attachment: inherit;' : '';
?>
-.centerbg{background-position: center center;background-attachment: inherit;}
+#centerbg{}
.rotating {
-webkit-animation: rotating 6s linear infinite;
-moz-animation: rotating 6s linear infinite;
From f4d926917f1f30a1ee4ecd8dd774ac4f226e4c98 Mon Sep 17 00:00:00 2001
From: KotoriK <52659125+KotoriK@users.noreply.github.com>
Date: Wed, 24 Nov 2021 20:55:01 +0800
Subject: [PATCH 06/12] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0css=E5=8F=98?=
=?UTF-8?q?=E9=87=8F=20var(--theme-skin-matching)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
inc/decorate.php | 1 +
1 file changed, 1 insertion(+)
diff --git a/inc/decorate.php b/inc/decorate.php
index e1904e83..8df199a6 100644
--- a/inc/decorate.php
+++ b/inc/decorate.php
@@ -13,6 +13,7 @@ function customizer_css() { ?>
if (iro_opt('theme_skin')) { ?>
:root{
--theme-skin: ;
+ --theme-skin-matching:
}
.author-profile i , .post-like a , .post-share .show-share , .sub-text , .we-info a , span.sitename { color: }
From b141ce71864715047865ab788814bf2facd2f609 Mon Sep 17 00:00:00 2001
From: KotoriK <52659125+KotoriK@users.noreply.github.com>
Date: Wed, 24 Nov 2021 20:55:36 +0800
Subject: [PATCH 07/12] =?UTF-8?q?feat(theme-color):=20=E4=BD=BF=E7=94=A8?=
=?UTF-8?q?=E9=BB=98=E8=AE=A4=E5=80=BC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
header.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/header.php b/header.php
index 8b0797e9..656eb993 100644
--- a/header.php
+++ b/header.php
@@ -29,7 +29,7 @@
-
+
From 9b2f509992a2e71e73f5d9ce0ee28c774a7178c1 Mon Sep 17 00:00:00 2001
From: KotoriK <52659125+KotoriK@users.noreply.github.com>
Date: Wed, 24 Nov 2021 21:37:08 +0800
Subject: [PATCH 08/12] update js bundle to 3a6b1dd
---
js/anf.js.LICENSE.txt | 2 +-
js/app.js | 2 +-
js/app.js.LICENSE.txt | 2 +-
js/app.js.map | 2 +-
js/page.js | 2 +-
js/page.js.LICENSE.txt | 2 +-
js/page.js.map | 2 +-
7 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/js/anf.js.LICENSE.txt b/js/anf.js.LICENSE.txt
index e173ad35..277f50b9 100644
--- a/js/anf.js.LICENSE.txt
+++ b/js/anf.js.LICENSE.txt
@@ -1 +1 @@
-//! build be47151 2021/11/21
+//! build 3a6b1dd 2021/11/24
diff --git a/js/app.js b/js/app.js
index a4124238..f1e31be5 100644
--- a/js/app.js
+++ b/js/app.js
@@ -1,3 +1,3 @@
/*! For license information please see app.js.LICENSE.txt */
-!function(){var e,t,n,o,r,i={5213:function(e){var t;t=function(){return function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={exports:{},id:o,loaded:!1};return e[o].call(r.exports,r,r.exports,n),r.loaded=!0,r.exports}return n.m=e,n.c=t,n.p="",n(0)}([function(e,t,n){var o=document.createElement("canvas");o.width=window.innerWidth,o.height=window.innerHeight,o.style.cssText="position:fixed;top:0;left:0;pointer-events:none;z-index:999999",window.addEventListener("resize",(function(){o.width=window.innerWidth,o.height=window.innerHeight})),document.body.appendChild(o);var r=o.getContext("2d"),i=[],a=0,s=!1;function c(e,t){return Math.random()*(t-e)+e}function l(e){if(u.colorful){var t=c(0,360);return"hsla("+c(t-10,t+10)+", 100%, "+c(50,80)+"%, 1)"}return window.getComputedStyle(e).color}function d(e,t,n){return{x:e,y:t,alpha:1,color:n,velocity:{x:2*Math.random()-1,y:2*Math.random()-3.5}}}function u(){for(var e=function(){var e,t=document.activeElement;if("TEXTAREA"===t.tagName||"INPUT"===t.tagName&&"text"===t.getAttribute("type")){var o=n(1)(t,t.selectionEnd);return e=t.getBoundingClientRect(),{x:o.left+e.left,y:o.top+e.top,color:l(t)}}var r=window.getSelection();if(r.rangeCount){var i=r.getRangeAt(0),a=i.startContainer;return a.nodeType===document.TEXT_NODE&&(a=a.parentNode),{x:(e=i.getBoundingClientRect()).left,y:e.top,color:l(a)}}return{x:0,y:0,color:"transparent"}}(),t=5+Math.round(10*Math.random());t--;)i[a]=d(e.x,e.y,e.color),a=(a+1)%500;if(u.shake){var o=1+2*Math.random(),r=o*(Math.random()>.5?-1:1),c=o*(Math.random()>.5?-1:1);document.body.style.marginLeft=r+"px",document.body.style.marginTop=c+"px",setTimeout((function(){document.body.style.marginLeft="",document.body.style.marginTop=""}),75)}s||requestAnimationFrame(m)}function m(){s=!0,r.clearRect(0,0,o.width,o.height);for(var e=!1,t=o.getBoundingClientRect(),n=0;nparseInt(l.height)&&(c.overflowY="scroll"):c.overflow="hidden",s.textContent=e.value.substring(0,o),"INPUT"===e.nodeName&&(s.textContent=s.textContent.replace(/\s/g," "));var d=document.createElement("span");d.textContent=e.value.substring(o)||".",s.appendChild(d);var u={top:d.offsetTop+parseInt(l.borderTopWidth),left:d.offsetLeft+parseInt(l.borderLeftWidth)};return i?d.style.backgroundColor="#aaa":document.body.removeChild(s),u}void 0!==e&&void 0!==e.exports?e.exports=o:window.getCaretCoordinates=o}()}])},e.exports=t()},7652:function(){window.imgError=function(e,t){switch(t){case 1:e.src="https://view.moezx.cc/images/2017/12/30/Transparent_Akkarin.th.jpg";break;case 2:e.src="https://sdn.geekzu.org/avatar/?s=80&d=mm&r=g";break;default:e.src="https://view.moezx.cc/images/2018/05/13/image-404.png"}},window.cmt_showPopup=function(e){let t=e.querySelector("#thePopup");t.classList.add("show"),e.querySelector("input").onblur=()=>{t.classList.remove("show")}},window.coverVideo=function(){let e=document.getElementById("coverVideo"),t=document.getElementById("cv-pc");if(e.paused){e.play();try{t.innerHTML=''}catch{}}else{e.pause();try{t.innerHTML=''}catch{}}},window.coverVideoMute=function(){const e=document.getElementById("coverVideo"),t=document.getElementById("cv-vc");e.muted?(e.muted=!1,t.innerHTML=''):(e.muted=!0,t.innerHTML='')},window.killCoverVideo=function(){var e=document.getElementById("coverVideo"),t=document.getElementById("cv-pc");if(e.paused);else{e.pause();try{t.innerHTML=''}catch(e){}}},window.mail_me=function(){window.open("mailto:"+mashiro_option.email_name+"@"+mashiro_option.email_domain)},window.headertop_down=function(){let e=document.getElementById("content").getBoundingClientRect().top+window.pageYOffset;window.scrollTo({top:e,behavior:"smooth"})}},5229:function(e,t,n){var o=n(7841);e.exports={name:"lab",min:[0,-100,-100],max:[100,100,100],channel:["lightness","a","b"],alias:["LAB","cielab"],xyz:function(e){var t,n,o,r,i=e[0],a=e[1],s=e[2];return i<=8?r=(n=100*i/903.3)/100*7.787+16/116:(n=100*Math.pow((i+16)/116,3),r=Math.pow(n/100,1/3)),[t=t/95.047<=.008856?t=95.047*(a/500+r-16/116)/7.787:95.047*Math.pow(a/500+r,3),n,o=o/108.883<=.008859?o=108.883*(r-s/200-16/116)/7.787:108.883*Math.pow(r-s/200,3)]}},o.lab=function(e){var t=e[0],n=e[1],o=e[2];return n/=100,o/=108.883,t=(t/=95.047)>.008856?Math.pow(t,1/3):7.787*t+16/116,[116*(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116)-16,500*(t-n),200*(n-(o=o>.008856?Math.pow(o,1/3):7.787*o+16/116))]}},2409:function(e){e.exports={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}},7841:function(e,t,n){var o=n(2409),r={name:"xyz",min:[0,0,0],channel:["X","Y","Z"],alias:["XYZ","ciexyz","cie1931"],whitepoint:{2:{A:[109.85,100,35.585],C:[98.074,100,118.232],D50:[96.422,100,82.521],D55:[95.682,100,92.149],D65:[95.045592705167,100,108.9057750759878],D75:[94.972,100,122.638],F2:[99.187,100,67.395],F7:[95.044,100,108.755],F11:[100.966,100,64.37],E:[100,100,100]},10:{A:[111.144,100,35.2],C:[97.285,100,116.145],D50:[96.72,100,81.427],D55:[95.799,100,90.926],D65:[94.811,100,107.304],D75:[94.416,100,120.641],F2:[103.28,100,69.026],F7:[95.792,100,107.687],F11:[103.866,100,65.627],E:[100,100,100]}}};r.max=r.whitepoint[2].D65,r.rgb=function(e,t){t=t||r.whitepoint[2].E;var n,o,i,a=e[0]/t[0],s=e[1]/t[1],c=e[2]/t[2];return o=-.96924363628087*a+1.87596750150772*s+.041555057407175*c,i=.055630079696993*a+-.20397695888897*s+1.056971514242878*c,n=(n=3.240969941904521*a+-1.537383177570093*s+-.498610760293*c)>.0031308?1.055*Math.pow(n,1/2.4)-.055:n*=12.92,o=o>.0031308?1.055*Math.pow(o,1/2.4)-.055:o*=12.92,i=i>.0031308?1.055*Math.pow(i,1/2.4)-.055:i*=12.92,[255*(n=Math.min(Math.max(0,n),1)),255*(o=Math.min(Math.max(0,o),1)),255*(i=Math.min(Math.max(0,i),1))]},o.xyz=function(e,t){var n=e[0]/255,o=e[1]/255,i=e[2]/255,a=.21263900587151*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)+.71516867876775*(o=o>.04045?Math.pow((o+.055)/1.055,2.4):o/12.92)+.072192315360733*(i=i>.04045?Math.pow((i+.055)/1.055,2.4):i/12.92),s=.019330818715591*n+.11919477979462*o+.95053215224966*i;return[(.41239079926595*n+.35758433938387*o+.18048078840183*i)*(t=t||r.whitepoint[2].E)[0],a*t[1],s*t[2]]},e.exports=r},8487:function(e,t,n){var o;o=void 0!==n.g?n.g:this,t.loadCSS=function(e,t,n,r){var i,a=o.document,s=a.createElement("link");if(t)i=t;else{var c=(a.body||a.getElementsByTagName("head")[0]).childNodes;i=c[c.length-1]}var l=a.styleSheets;if(r)for(var d in r)r.hasOwnProperty(d)&&s.setAttribute(d,r[d]);s.rel="stylesheet",s.href=e,s.media="only x",function e(t){if(a.body)return t();setTimeout((function(){e(t)}))}((function(){i.parentNode.insertBefore(s,t?i:i.nextSibling)}));var u=function(e){for(var t=s.href,n=l.length;n--;)if(l[n].href===t)return e();setTimeout((function(){u(e)}))};function m(){s.addEventListener&&s.removeEventListener("load",m),s.media=n||"all"}return s.addEventListener&&s.addEventListener("load",m),s.onloadcssdefined=u,u(m),s}},9905:function(e){var t=0;function n(e,t){var n=t.data;if(Array.isArray(n)&&!(n.length<2)){var o=n[0],r=n[1],i=n[2],a=e._callbacks[o];a&&(delete e._callbacks[o],a(r,i))}}function o(e){var t=this;t._worker=e,t._callbacks={},e.addEventListener("message",(function(e){n(t,e)}))}o.prototype.postMessage=function(e){var o=this,r=t++,i=[r,e];return new Promise((function(e,t){if(o._callbacks[r]=function(n,o){if(n)return t(new Error(n.message));e(o)},void 0!==o._worker.controller){var a=new MessageChannel;a.port1.onmessage=function(e){n(o,e)},o._worker.controller.postMessage(i,[a.port2])}else o._worker.postMessage(i)}))},e.exports=o},9791:function(e,t,n){n.d(t,{m:function(){return i}});const o={src:"data-src",srcset:"data-srcset",selector:".lazyload",root:null,rootMargin:"0px",threshold:0};class r{constructor(e,t){this.obs=null,this.doLoad=e=>{const{settings:t}=this,n=e.getAttribute(t.src),o=e.getAttribute(t.srcset),r=e.tagName.toLowerCase();"video"===r?n&&(e.src=n):"img"===r?(n&&(e.src=n),o&&(e.srcset=o)):e.style.backgroundImage="url('"+n+"')"},this.settings=Object.assign(Object.assign({},o),t),this.elms=e||document.querySelectorAll(this.settings.selector),this.init()}init(){if(!IntersectionObserver)return void this.load();const e=this;this.obs=new IntersectionObserver((function(t){Array.prototype.forEach.call(t,(function(t){t.isIntersecting&&(e.obs.unobserve(t.target),e.doLoad(t.target))}))}),{root:this.settings.root,rootMargin:this.settings.rootMargin,threshold:[this.settings.threshold]}),this.elms.forEach((t=>{e.obs.observe(t)}))}loadAndDestroy(){this.settings&&(this.load(),this.destroy())}load(){if(!this.settings)return;const{settings:e}=this;Array.prototype.forEach.call(this.elms,this.doLoad)}destroy(){this.settings&&(this.obs.disconnect(),this.settings=null)}}const i=(e,t)=>new r(e,t)},9354:function(e,t,n){function o(){const e=document.getElementsByClassName("butterBar");if(e.length>0)for(let t=0;t{o()}),"number"==typeof t?t:6e3),n}n.d(t,{f:function(){return r}})},476:function(e,t,n){n.d(t,{NB:function(){return r},Cd:function(){return a},VV:function(){return s},cG:function(){return c},wy:function(){return l},bf:function(){return d}});let o=[];const r=e=>{let t=!1;return(...n)=>{if(!t){t=!0;try{const o=e(...n);return o instanceof Promise?o.finally((()=>t=!1)):t=!1,o}catch(e){console.warn(e),t=!1}}}},i=()=>{document.removeEventListener("DOMContentLoaded",i);for(const e of o)e();o=[]},a=function(e){if("loading"!==document.readyState)return e();0==o.length&&document.addEventListener("DOMContentLoaded",i,!1),o.push(e)},s=(e,t)=>ee.replace(/\.\w+$/,"");function l(e,t=1e3,n="",o){let r=e;r.status=r.status||getComputedStyle(r,null).display;const i="none"!=r.status;1==i&&"show"==n||0==i&&"hide"==n||(r.status=i?"none":"block",r.style.transition="height "+t/1e3+"s",r.style.overflow="hidden",clearTimeout(r.tagTimer),r.tagTimer=r.tagTimer||null,r.style.display="block",r.tagHeight=r.tagHeight||r.clientHeight+"px",r.style.display="",r.style.height=i?r.tagHeight:"0px",setTimeout((()=>{r.style.height=i?"0px":r.tagHeight}),0),r.tagTimer=setTimeout((()=>{r.style.display=i?"none":"block",r.style.transition="",r.style.overflow="",r.style.height="",r.status=r.tagHeight=null}),t),o&&o())}function d(e,t={},n=!0){const o=new URL(e),{searchParams:r}=o;for(const[e,n]of Object.entries(t))r.set(e,n);return n&&r.set("_wpnonce",Poi.nonce),o.toString()}},302:function(e,t,n){n.d(t,{N2:function(){return i},B3:function(){return l},Lg:function(){return d},q1:function(){return m}});const o=window.matchMedia("(prefers-color-scheme:dark)");let r=!1;const i=()=>r;function a(e){e!==r&&(document.dispatchEvent(new CustomEvent("darkmode",{detail:e})),r=e)}function s(){localStorage.getItem("dark")||(o.matches&&mashiro_option.darkmode?l():d())}function c(e){e==u()?localStorage.removeItem("dark"):1==e?localStorage.setItem("dark","1"):localStorage.setItem("dark","0")}function l(e){document.documentElement.style.backgroundColor="#333",document.getElementsByClassName("site-content")[0].style.backgroundColor="#333",document.body.classList.add("dark"),e&&c(!0),a(!0)}function d(e){document.documentElement.style.backgroundColor="",document.getElementsByClassName("site-content")[0].style.backgroundColor="rgba(255, 255, 255, .8)",document.body.classList.remove("dark"),document.body.classList.remove("dynamic"),a(!1),e&&c(!1)}function u(){switch(mashiro_option.dm_strategy){case"client":return o.matches;case"eien":return!0;default:return function(){const e=new Date;return e.getHours()>21||e.getHours()<7}()}}function m(){const e=localStorage.getItem("dark");e?"1"==e?l():d():u()&&mashiro_option.darkmode?l():d()}"client"===mashiro_option.dm_strategy&&(o.removeEventListener?o.removeEventListener("change",s):o.removeListener(s),o.addEventListener?o.addEventListener("change",s):o.addListener(s))},2605:function(e,t,n){n.d(t,{__:function(){return o},_$:function(){return r},o:function(){return i},t:function(){return a}});const o=e=>window._sakurairoi18n&&_sakurairoi18n[e]||e,r=(e,...t)=>{let n=o(e);for(const e in t)n=n.replace("{"+e+"}",t[e]);return n},i={opt:{}},a=(e,t)=>Object.defineProperty(i,e,{value:t,writable:!1,enumerable:!0});if("_sakurairo"in window){const e=window._sakurairo;"opt"in e&&(i.opt=e.opt)}window._sakurairo=i}},a={};function s(e){var t=a[e];if(void 0!==t)return t.exports;var n=a[e]={exports:{}};return i[e].call(n.exports,n,n.exports,s),n.exports}s.m=i,e=[],s.O=function(t,n,o,r){if(!n){var i=1/0;for(d=0;d=r)&&Object.keys(s.O).every((function(e){return s.O[e](n[c])}))?n.splice(c--,1):(a=!1,r0&&e[d-1][2]>r;d--)e[d]=e[d-1];e[d]=[n,o,r]},s.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},s.t=function(e,o){if(1&o&&(e=this(e)),8&o)return e;if("object"==typeof e&&e){if(4&o&&e.__esModule)return e;if(16&o&&"function"==typeof e.then)return e}var r=Object.create(null);s.r(r);var i={};t=t||[null,n({}),n([]),n(n)];for(var a=2&o&&e;"object"==typeof a&&!~t.indexOf(a);a=n(a))Object.getOwnPropertyNames(a).forEach((function(t){i[t]=function(){return e[t]}}));return i.default=function(){return e},s.d(r,i),r},s.d=function(e,t){for(var n in t)s.o(t,n)&&!s.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},s.f={},s.e=function(e){return Promise.all(Object.keys(s.f).reduce((function(t,n){return s.f[n](e,t),t}),[]))},s.u=function(e){return({8:"lg-plugin-0",238:"lg-plugin-1",359:"lg-plugin-5",400:"lg-plugin-4",515:"lg-plugin-6",568:"lg-plugin-10",642:"lg-plugin-8",649:"lg-plugin-3",719:"lg-plugin-11",725:"lg-plugin-9",846:"lg-plugin-2",893:"lg-plugin-7"}[e]||e)+".js"},s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o={},r="sakurairo-scripts:",s.l=function(e,t,n,i){if(o[e])o[e].push(t);else{var a,c;if(void 0!==n)for(var l=document.getElementsByTagName("script"),d=0;d{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)}))}function n(n,o){const r=e().then((()=>{const e=indexedDB.open(n);return e.onupgradeneeded=()=>e.result.createObjectStore(o),t(e)}));return(e,t)=>r.then((n=>t(n.transaction(o,e).objectStore(o))))}const o=n("sakurairo","cache");var r;let i=null!==(r=mashiro_option.cookie_version_control)&&void 0!==r?r:"";const a=navigator.userAgent,c=Array.from(a.matchAll(/(Firefox|Chrome|AppleWebkit|OPR|Edg)\/(\d+)/gi));function l(e){for(const[t,n,o]of c)if(parseFloat(o)>=e[n])return!0;return!1}const d=function(){const e=["image/*,*/*;q=0.8"];return l({Chrome:59,OPR:46,Firefox:3,Edg:79,AppleWebKit:600})&&(e.push("image/apng"),l({Chrome:32,OPR:19,Firefox:65,Edg:18,AppleWebKit:605})&&(!function(e,t,n){const o=n?"; expires="+new Date(Date.now()+24*n*60*60*1e3).toUTCString():"";document.cookie=e+i+"="+(t||"")+o+"; path=/"}("su_webp","1",114514),e.push("image/webp"),l({Chrome:85,OPR:71,Firefox:93})&&e.push("image/avif"))),e.reverse().join(",")}();var u=s(2605);let m=1,f="";async function g(){y(await E(!0)),m++}async function p(){m--,y(await E(!0))}const h=document.querySelector(".centerbg"),y=mashiro_option.site_bg_as_cover?e=>{document.body.style.backgroundImage=`url(${e})`,document.dispatchEvent(new CustomEvent("coverBG_change",{detail:e}))}:h?e=>{h.style.backgroundImage=`url(${e})`,document.dispatchEvent(new CustomEvent("coverBG_change",{detail:e}))}:()=>{};function v(e){const t=null==e?void 0:e.match(/^url\((.+)\)$/);if(t)return t[1]}const b=mashiro_option.site_bg_as_cover?()=>v(document.body.style.backgroundImage):()=>{var e;return v(null===(e=document.querySelector(".centerbg"))||void 0===e?void 0:e.style.backgroundImage)};function w(e=!1){const t=new URL(mashiro_option.cover_api);return document.body.clientWidth<860&&1==mashiro_option.random_graphs_mts?(t.searchParams.set("type","mobile"),t.toString()+(e?"&"+m:"")):t.toString()+(e?(""===t.search?"?":"&")+m:"")}const E=mashiro_option.cache_cover?(e=!1)=>{return(n="cover",o("readonly",(e=>t(e.get(n))))).then((t=>t&&t instanceof ArrayBuffer?(URL.revokeObjectURL(f),f="",f=URL.createObjectURL(new Blob([t])),f):w(e))).finally((()=>{!async function(e=!1){try{const n=await fetch(w(e),{headers:{Accept:d}});if(n.ok){const e=await n.arrayBuffer();try{((e,n)=>{o("readwrite",(o=>(o.put(n,e),t(o.transaction))))})("cover",e)}catch(e){console.warn(e)}}}catch(e){e instanceof TypeError&&(console.warn((0,u.__)("你的封面API好像不支持跨域调用,这种情况下缓存是不会生效的哦")),(e=>{o("readwrite",(n=>(n.delete(e),t(n.transaction))))})("cover"))}}(e)}));var n}:w;async function _(){if(mashiro_option.site_bg_as_cover){if(h&&(h.style.background="#0000"),"white-bg"!==localStorage.getItem("bgImgSetting"))return}else if(!mashiro_option.land_at_home)return;y(await E())}var L=s(9354);const k=["# 商业转载请联系作者获得授权,非商业转载请注明出处。","# For commercial use, please contact the author for authorization. For non-commercial use, please indicate the source.","# 协议(License):署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)","# 作者(Author):"+mashiro_option.author_name,"# 链接(URL):"+window.location.href,"# 来源(Source):"+mashiro_option.site_name];function S(e){const t=window.getSelection();if(t){const n=t.toString();n.length>30&&(!function(e,t){e.preventDefault();const n=k.join("
")+"
"+t.replace(/\r\n/g,"
"),o=k.join("\n")+"\n\n"+t.toString().replace(/\r\n/g,"\n");if(e.clipboardData)e.clipboardData.setData("text/html",n),e.clipboardData.setData("text/plain",o);else if(window.clipboardData)window.clipboardData.setData("text",o)}(e,n),(0,L.f)((0,u.__)("复制成功!"),1e3))}}function x(){mashiro_option.clipboardCopyright&&(document.body.removeEventListener("copy",S),document.body.addEventListener("copy",S))}var B=s(8487),T=s(9791),I=(s(7652),s(476));function C(e){if(document.documentElement.style.overflowY="unset",0!=mashiro_option.preload_blur)try{return void(e.animate([{filter:"blur(0px)",backdropFilter:"blur(10px)",opacity:1},{backdropFilter:"blur(0px)grayscale(0)",opacity:.1},{opacity:0,filter:"blur(100px)"}],{duration:mashiro_option.preload_blur,fill:"forwards",easing:"ease"}).onfinish=()=>{e.remove()})}catch(e){console.warn(e)}e.classList.add("hide"),e.classList.remove("show"),setTimeout((()=>e.remove()),233)}async function q(){var e;if(mashiro_option.yiyan){const t=document.getElementById("footer_yiyan");if(0==(null!==(e=mashiro_option.yiyan_api)&&void 0!==e?e:["https://api.maho.cc/yiyan/"]).length)console.warn("一言API路径为空");else if(t)for(const e of mashiro_option.yiyan_api)try{const n=await A(e);t.innerText=n;break}catch(t){console.warn(`一言api: 尝试联系"${e}"时出错。\n`,t);continue}}}const A=async e=>{const t=await fetch(e,{headers:{Accept:"application/json"}});if(t.ok){const e=await t.json(),n=("null"==e.from_who?null:e.from_who)||"",o=e.from!=e.from_who?`「${e.from}」`:"";return e.hitokoto+"——"+n+o}throw t.status};function M(){if(!mashiro_option.audio)return;const e=window.AudioContext||window.webkitAudioContext;if(e){let t,n=new e,o=function(){var e;const t=null===(e=u.o.opt.web_audio)||void 0===e?void 0:e.sheet;if("string"==typeof t)return t.split(" ");if(t instanceof Array)return t}()||N,r=0,i=1,a="♪ ♩ ♫ ♬ ♭ € § ¶ ♯".split(" ");document.querySelectorAll(".site-title, #moblieGoTop, .site-branding, .searchbox, .changeSkin-gear, .menu-list li").forEach((e=>{e.addEventListener("mouseenter",(e=>{var s;if(t)return;let c=o[r];c||(r=0,c=o[r]),r+=i;const l=n.createOscillator(),d=n.createGain(),m=n.createGain();l.connect(d),d.connect(m),m.connect(n.destination),m.gain.setValueAtTime((null===(s=u.o.opt.web_audio)||void 0===s?void 0:s.main_gain)||1,n.currentTime),l.type="sine",l.frequency.value=c,d.gain.setValueAtTime(0,n.currentTime),d.gain.linearRampToValueAtTime(1,n.currentTime+.01),l.start(n.currentTime),d.gain.exponentialRampToValueAtTime(.001,n.currentTime+1),l.stop(n.currentTime+1);const f=Math.round(7*Math.random()),g=e.pageX,p=e.pageY-5;t=document.createElement("b"),t.textContent=a[f],t.style.zIndex="99999",t.style.top=p-100+"px",t.style.left=g+"px",t.style.position="absolute",t.style.color="#FF6EB4",document.body.appendChild(t),t.animate([{top:p+"px"},{opacity:0}],{duration:500}),setTimeout((()=>{t.remove(),t=null}),500),e.stopPropagation()}))}))}}const N="880 987 1046 987 1046 1318 987 659 659 880 784 880 1046 784 659 659 698 659 698 1046 659 1046 1046 1046 987 698 698 987 987 880 987 1046 987 1046 1318 987 659 659 880 784 880 1046 784 659 698 1046 987 1046 1174 1174 1174 1046 1046 880 987 784 880 1046 1174 1318 1174 1318 1567 1046 987 1046 1318 1318 1174 784 784 880 1046 987 1174 1046 784 784 1396 1318 1174 659 1318 1046 1318 1760 1567 1567 1318 1174 1046 1046 1174 1046 1174 1567 1318 1318 1760 1567 1318 1174 1046 1046 1174 1046 1174 987 880 880 987 880".split(" ");const j=document.getElementById("main-container");function O(){document.body.classList.toggle("navOpen"),j.classList.toggle("open"),document.getElementById("mo-nav").classList.toggle("open"),document.querySelector(".openNav").classList.toggle("open"),document.querySelector(".site-header").classList.toggle("open")}function P(){O(),document.documentElement.style.overflow="unset",j.removeEventListener("click",P)}let D;const H=(0,I.NB)((function(){const e=document.location.href,t=document.querySelector("#pagination a");t.classList.contains("loading")||(t.classList.add("loading"),t.innerText="",fetch(t.getAttribute("href")+"#main").then((async n=>{const o=await n.text();if(e!=document.location.href)return;const r=(new DOMParser).parseFromString(o,"text/html"),i=r.querySelectorAll("#main .post"),a=r.querySelector("#pagination a"),s=a&&a.innerText,c=a&&a.getAttribute("href"),l=document.getElementById("main");for(let e=0;e"+(0,u.__)("很高兴你翻到这里,但是真的没有了...")+""})))}));function R(){if(document.querySelector("article")&&document.querySelector("article").classList.contains("post-list-thumb")){const e=new IntersectionObserver((t=>{t.forEach(window.IntersectionObserver?t=>{t.target.classList.contains("post-list-show")?(t.target.style.willChange="auto",e.unobserve(t.target)):t.isIntersecting&&(t.target.classList.add("post-list-show"),t.target.style.willChange="auto",e.unobserve(t.target))}:e=>{e.target.style.willChange="auto",!1===e.target.classList.contains("post-list-show")&&e.target.classList.add("post-list-show")})}),{root:null,threshold:[.66]}),t=document.getElementsByClassName("post-list-thumb");for(let n=0;n1){var a=o/Math.sqrt(i),s=r/Math.sqrt(i),c=e(a,s);return null==c||c.drawImage(t,0,0,a,s),null==c?void 0:c.getImageData(0,0,a,s)}var l=e(o,r);return null==l||l.drawImage(t,0,0),null==l?void 0:l.getImageData(0,0,o,r)}var Y=s(9905);let G,X,K=new(s.n(Y)())(new Worker(new URL(s.p+s.u(16),s.b)));async function J(e){const t=document.createElement("img");t.src=e,await function(e){return new Promise((function(t,n){e.addEventListener("load",(function(e){t(e)})),e.addEventListener("error",(function(e){n(e)}))}))}(t);const n=function(e,t){return V(U,e,t)}(t,1e4),o=await K.postMessage({k:3,iteration:20,img:n}),{label:r,centroid:i}=o,a=[...r].sort(((e,t)=>t-e))[0];!function(e){const t=document.querySelector('meta[name=theme-color][media="(prefers-color-scheme: light)"]');t&&(t.content=function(e){return"rgba("+e.map((function(e){return Math.floor(e)})).join(",")+")"}(e))}(function(e){var t=e.slice(0,3),n=e[3],o=$.xyz(t),r=W.rgb(o);return[].concat(r,[n])}(i[r.findIndex((e=>e==a))]))}function Z(e){return()=>{const{name:t}=e.dataset;t!=localStorage.getItem("font_family")&&("serif"==t?(document.body.clientWidth<=860&&(0,L.f)((0,u.__)("将从网络加载字体,流量请注意")),document.body.classList.add("serif"),ee("serif"),localStorage.setItem("font_family","serif")):(document.body.classList.remove("serif"),ee("sans-serif"),localStorage.setItem("font_family","sans-serif")))}}function Q(){const e=localStorage.getItem("font_family");e&&"serif"!=e||document.body.classList.add("serif")}function ee(e){(null!=e?e:"sans-serif"==localStorage.getItem("font_family"))?(G.classList.remove("selected"),X.classList.add("selected")):(X.classList.remove("selected"),G.classList.add("selected"))}function te(){const e=(G=document.getElementsByClassName("control-btn-serif")[0],X=document.getElementsByClassName("control-btn-sans-serif")[0],X&&G);e||localStorage.removeItem("font_family"),Q(),e&&(ee(),G.addEventListener("click",Z(G)),X.addEventListener("click",Z(X)))}var ne,oe=s(302);const re=document.getElementById("bgvideo"),ie=(null===(ne=Poi.movies.name)||void 0===ne?void 0:ne.split(","))||[];let ae=new Array(ie.length).fill(0).map(((e,t)=>t));function se(){const e=document.getElementsByClassName("video-stu")[0],t=(()=>{0==ae.length&&(ae=new Array(ie.length).fill(0).map(((e,t)=>t)));const e=Math.floor(Math.random()*ae.length);return ie[ae.splice(e,1)[0]]})();e.innerHTML=(0,u.__)("正在载入视频 ..."),e.style.bottom="0px",re.setAttribute("src",new URL(t,Poi.movies.url||location.origin).toString()),re.setAttribute("video-name",(0,I.cG)(t))}function ce(){let e=document.getElementById("video-btn");e&&(e.classList.add("video-pause"),e.classList.remove("video-play"),e.style.display="");try{if(document.querySelector(".video-stu").style.bottom="-100px",document.querySelector(".focusinfo").style.top="-999px",mashiro_option.float_player_on)return void s.e(58).then(s.bind(s,6058)).then((({destroyAllAplayer:e})=>{e(),re.play()}))}catch(e){console.warn(e)}re.play()}function le(){let e=document.getElementById("video-btn");e&&(e.classList.add("video-play"),e.classList.remove("video-pause"));try{document.querySelector(".focusinfo").style.top="49.3%"}catch(e){}re.pause()}async function de(){!async function(){const e=document.querySelectorAll("video.hls");if(0==e.length)return;if(e[0].canPlayType("application/vnd.apple.mpegurl"))for(const t of e)t.src=t.dataset.src||t.src,t.autoplay=!0;else{if(!window.Hls)try{const{default:e}=await s.e(631).then(s.t.bind(s,7631,23));window.Hls=e}catch(e){console.warn("Hls load failed: ",e)}Hls.isSupported()||console.error("Hls: Media Source Extensions is unsupported.");for(const t of e){const e=new Hls;e.loadSource(t.dataset.src||t.src),e.attachMedia(t),e.on(Hls.Events.MANIFEST_PARSED,(function(){t.play()}))}}}(),async function(){document.querySelectorAll("video.lazyload").forEach((e=>e.addEventListener("canplay",ue)))}()}function ue(){this.poster=""}let me;function fe(e,t,n,o,r,i,a){if(e){var s=e.trim().split(" "),c=o.indexOf(s[s.length-1]),l=a.indexOf(s[s.length-1]);o=(o=c<60?o.slice(0,80):o.slice(c-30,c+30)).replace(s[s.length-1],' '+s[s.length-1].toUpperCase()+" "),a=(a=l<60?a.slice(0,80):a.slice(l-30,l+30)).replace(s[s.length-1],' '+s[s.length-1].toUpperCase()+" ")}return``}function ge(e,t){var n="",o="",r="",i="",a="",s="",c='",d="",m=function(e,t){for(let e=0;eObject.values(e).some((e=>new RegExp(t+"").test(e)))))}(e,t.trim());for(const e of m)switch(e.type){case"post":o+=fe(t,e.link,"file",e.title,"mark",e.comments,e.text);break;case"tag":a+=fe("",e.link,"tag",e.title,"none","","");break;case"category":i+=fe("",e.link,"folder",e.title,"none","","");break;case"page":r+=fe(t,e.link,"file",e.title,"mark",e.comments,e.text);break;case"comment":s+=fe(t,e.link,"comment",e.title,"none","",e.text)}o&&(n=n+c+(0,u.__)("文章")+d+o+l),r&&(n=n+c+(0,u.__)("页面")+d+r+l),i&&(n=n+c+(0,u.__)("分类")+d+i+l),a&&(n=n+c+(0,u.__)("标签")+d+a+l),s&&(n=n+c+(0,u.__)("评论")+d+s+l),document.getElementById("PostlistBox").innerHTML=n}function pe(){const e=document.querySelector(".search_close"),t=document.getElementById("Ty");for(const n of document.getElementsByClassName("ins-selectable"))n.addEventListener("click",(()=>{t.href=n.getAttribute("href"),t.click(),e.click()}))}function he(){if(document.getElementsByClassName("js-toggle-search")[0].classList.toggle("is-active"),document.getElementsByClassName("js-search")[0].classList.toggle("is-visible"),document.documentElement.style.overflowY="hidden",mashiro_option.live_search){me=[],function(e){const t=document.getElementById("search-input");null!=sessionStorage.getItem("search")?(me=JSON.parse(sessionStorage.getItem("search")),ge(me,t.value),pe()):fetch(e).then((async e=>{if(e.ok){const n=await e.text();""!=n&&(sessionStorage.setItem("search",n),me=JSON.parse(n),ge(me,t.value),pe())}else console.warn("HTTP "+e.status)})).catch((e=>console.warn(e)))}((0,I.bf)(Poi.api+"sakura/v1/cache_search/json"));var e=document.getElementById("search-input"),t=null;e.oninput=function(){null!=t&&clearTimeout(t),t=setTimeout((function(){ge(me,e.value),pe()}),250)}}}var ye=s(5213),ve=s.n(ye);function be(){if(!1===mashiro_global.variables.skinSecter){const e=document.querySelector(".pattern-center"),t=document.querySelector(".headertop-bar");e&&(e.classList.remove("pattern-center"),e.classList.add("pattern-center-sakura")),t&&(t.classList.remove("headertop-bar"),t.classList.add("headertop-bar-sakura"))}else{const e=document.querySelector(".pattern-center-sakura"),t=document.querySelector(".headertop-bar-sakura");e&&(e.classList.remove("pattern-center-sakura"),e.classList.add("pattern-center")),t&&(t.classList.remove("headertop-bar-sakura"),t.classList.add("headertop-bar"))}}function we(){const e=document.getElementById("primary");e&&e.addEventListener("contextmenu",(function(e){"img"==e.target.nodeName.toLowerCase()&&(e.preventDefault(),e.stopPropagation())}))}async function Ee(e){mashiro_global.variables.skinSecter="white-bg"==e||"dark-bg"==e,be();const t=document.body.style.backgroundImage;let n;switch(e){case"white-bg":n=mashiro_option.site_bg_as_cover?await E():mashiro_option.skin_bg0;break;case"diy1-bg":n=mashiro_option.skin_bg1;break;case"diy2-bg":n=mashiro_option.skin_bg2;break;case"diy3-bg":n=mashiro_option.skin_bg3;break;case"diy4-bg":n=mashiro_option.skin_bg4}t!=n&&(document.body.style.backgroundImage=n?`url(${n})`:"")}function _e(){const e=document.getElementById("bg-next"),t=document.getElementById("bg-pre");e&&(e.onclick=g),t&&(t.onclick=p)}function Le(){window.scrollTo({top:0,behavior:"smooth"})}function ke(e){let t=document.getElementById("archives");if(null==t)return;let n=t.getElementsByClassName("al_mon");1==e?(t.addEventListener("click",(function(e){e.target.classList.contains("al_mon")&&((0,I.wy)(e.target.nextElementSibling,500),e.preventDefault())})),(0,T.m)()):function(){let e=document.getElementById("al_expand_collapse");e.style.cursor="s-resize";for(let e=0;e860){for(let e=0;e{e.stopPropagation(),document.body.classList.contains("navOpen")?P():(O(),document.documentElement.style.overflow="hidden",j.addEventListener("click",P))}))}function xe(){if("auto"==Poi.windowheight){if(document.querySelector("h1.main-title")){const e=document.getElementById("centerbg"),t=document.getElementById("bgvideo");e&&(e.style.height="100vh"),t&&(t.style.minHeight="100vh")}}else document.querySelector(".headertop")&&document.querySelector(".headertop").classList.add("headertop-bar")}function Be(){if(document.querySelector(".headertop")){let e=document.querySelector(".headertop"),t=document.querySelector(".blank");if(document.querySelector(".main-title")){try{t.style.paddingTop="0px"}catch(e){}e.style.height="auto",e.style.display="",Poi.movies.live&&re&&null!=re.oncanplay&&document.querySelector(".haslive")&&document.querySelector(".videolive")&&ce()}else{try{t.style.paddingTop="75px"}catch(e){}e.style.height="0px",e.style.display="none",function(){if(re&&null!=re.oncanplay&&document.querySelector(".haslive")){le();let e=document.getElementsByClassName("video-stu")[0];e.style.bottom="0px",e.innerHTML=(0,u.__)("已暂停...")}}()}}}function Te(){let e=document.querySelector(".comments-fold"),t=document.querySelector(".comments-main");null!=e&&(e.style.display="block",t.style.display="none",e.addEventListener("click",(function(){(0,I.wy)(t,500,"show"),e.style.display="none"})));let n=document.getElementsByClassName("archives");if(n.length>0){for(let e=0;e{e.preventDefault(),e.stopPropagation(),(0,I.wy)(e.target.nextElementSibling,300)}))}for(const e of document.getElementsByClassName("js-toggle-search"))e.addEventListener("click",he);const o=document.querySelector(".search_close");o&&o.addEventListener("click",(function(){let e=document.getElementsByClassName("js-search")[0];e.classList.contains("is-visible")&&(document.getElementsByClassName("js-toggle-search")[0].classList.toggle("is-active"),e.classList.toggle("is-visible"),document.documentElement.style.overflowY="unset")}));try{let e=document.getElementById("show-nav");e.addEventListener("click",(function(){if(e.classList.contains("showNav")){e.classList.remove("showNav"),e.classList.add("hideNav");let t=document.querySelector(".site-top .lower nav");t&&t.classList.add("navbar")}else{e.classList.remove("hideNav"),e.classList.add("showNav");let t=document.querySelector(".site-top .lower nav");t&&t.classList.remove("navbar")}})),document.getElementById("loading").addEventListener("click",(function(){let e=document.getElementById("loading");e.classList.add("hide"),e.classList.remove("show")}))}catch(e){}}function Ie(){const e=document.querySelector(".site-header");window.addEventListener("scroll",(()=>{(document.documentElement.scrollTop||window.pageYOffset)>0?e.classList.add("yya"):e.classList.remove("yya")}))}function Ce(){document.querySelector(".skin-menu").classList.remove("show"),setTimeout((function(){null!=document.querySelector(".changeSkin-gear")&&(document.querySelector(".changeSkin-gear").style.visibility="visible")}),300)}Poi.pjax=Poi.pjax&&l({Firefox:60,Edg:79,Chrome:66,OPR:53,AppleWebKit:606}),Poi.pjax&&s.e(48).then(s.bind(s,3048)).then((e=>{let{default:t}=e;return new t({selectors:["#page","title",".footer-device","#_mashiro_","#login-link"],scripts:"#_mashiro_",timeout:8e3,defaultTrigger:{exclude:"a[data-no-pjax]"}})})),(0,B.loadCSS)(mashiro_option.jsdelivr_css_src),(0,B.loadCSS)(mashiro_option.entry_content_style_src),(0,B.loadCSS)("https://at.alicdn.com/t/font_679578_qyt5qzzavdo39pb9.css"),mashiro_global.variables=new function(){this.skinSecter=!0},we(),ke(),x(),mashiro_option.float_player_on&&document.body.clientWidth>860&&s.e(58).then(s.bind(s,6058)).then((e=>{let{aplayerInit:t}=e;return t()})),setTimeout((function(){!function(){let e=document.getElementById("secondary");if(document.body.clientWidth>860){let t=document.querySelector(".show-hide");t&&t.addEventListener("click",(function(){e&&e.classList.toggle("active")}))}else e&&e.remove()}()}),100),Poi.pjax&&(document.addEventListener("pjax:send",(()=>{for(const e of document.getElementsByClassName("normal-cover-video"))e.pause(),e.src="",e.load="";document.getElementById("bar").style.width="0%",mashiro_option.NProgressON&&s.e(865).then(s.t.bind(s,4865,23)).then((e=>{let{default:t}=e;t.start()})),document.body.classList.contains("navOpen")&&P()})),document.addEventListener("pjax:complete",(function(){xe(),_(),Be(),Te(),mashiro_option.land_at_home&&F(),mashiro_option.NProgressON&&s.e(865).then(s.t.bind(s,4865,23)).then((e=>{let{default:t}=e;t.done()})),we(),Q();let e=document.getElementsByTagName("p");for(let t=0;t{for(let e=0;e{(0,L.f)((0,u._$)("页面加载出错了 HTTP {0}",e.request.status))})),window.addEventListener("popstate",(function(e){xe(),q(),Be(),Te(),ke(!0),R()}),!1)),window.addEventListener("hashchange",(function(){let e,t=location.hash.substring(1);/^[A-z0-9_-]+$/.test(t)&&(e=document.getElementById(t),e&&(/^(?:a|select|input|button|textarea)$/i.test(e.tagName)||(e.tabIndex=-1),e.focus()))}),!1),Ee(localStorage.getItem("bgImgSetting")||"white-bg"),(0,oe.q1)(),(0,I.Cd)((function(){_().then((()=>{l({AppleWebKit:605})&&(document.addEventListener("coverBG_change",(({detail:e})=>J(e))),J(b()))})),document.querySelectorAll(".menu-list li").forEach((e=>{e.addEventListener("click",(function(){const e=this.id;"dark-bg"==e?(0,oe.B3)(!0):((0,oe.Lg)(!0),Ee(e),localStorage.setItem("bgImgSetting",e)),Ce()}))}));let e=document.querySelector("#changskin"),t=document.querySelector(".skin-menu #close-skinMenu");e&&e.addEventListener("click",(function(){document.querySelector(".skin-menu").classList.toggle("show")})),t&&t.addEventListener("click",(function(){Ce()})),xe(),Be(),Ie(),function(){let e=document.querySelector("#moblieGoTop"),t=document.querySelector("#changskin");window.addEventListener("scroll",(()=>{const n=(document.documentElement.scrollTop||document.body.scrollTop)>20?"scale(1)":"scale(0)";e.style.transform=n,t.style.transform=n})),e.onclick=Le}(),F(),Te(),Se(),function(){let e=document.getElementById("video-btn");e&&e.addEventListener("click",(function(){this.classList.contains("loadvideo")?(this.classList.add("video-pause"),this.classList.remove("loadvideo"),se(),re.oncanplay=function(){ce(),document.getElementById("video-add").style.display="block",e.classList.add("videolive","haslive")}):this.classList.contains("video-pause")?(le(),e.classList.remove("videolive"),document.getElementsByClassName("video-stu")[0].style.bottom="0px",document.getElementsByClassName("video-stu")[0].innerHTML="已暂停 ..."):(ce(),e.classList.add("videolive")),re.onended=function(){re.setAttribute("src",""),document.getElementById("video-add").style.display="none",document.querySelector(".focusinfo").style.top="49.3%",e&&(e.classList.add("loadvideo"),e.classList.remove("video-pause","videolive","haslive"),Poi.movies.loop&&e.click())}}));const t=document.getElementById("video-add");t&&t.addEventListener("click",se)}(),q(),_e(),te(),M(),function(){const e=document.getElementById("preload");if(e){if("complete"===document.readyState)return C(e);window.addEventListener("load",(()=>{C(e)}))}}(),(0,T.m)(),ve().colorful=!0,ve().shake=!1,document.body.addEventListener("input",ve()),console.log("%c Sakurairo %c https://github.com/mirai-mamori/Sakurairo","background:#D05A6E;color:#fffffb",""),console.log(" 僕らは求めるものも\n 描いてる未来も違うけれど\n 手と手を取り合えたなら\n きっと笑い合える日が来るから\n %c——「ツバメ」","font-style:italic")})),R(),de(),be(),document.body.clientWidth>860&&window.addEventListener("scroll",(()=>{let e=document.documentElement.scrollTop||document.body.scrollTop,t=document.documentElement.scrollHeight||document.body.scrollHeight,n=window.innerHeight,o=parseInt(e/(t-n)*100);document.getElementById("bar").style.width=o+"%";const r=document.querySelector(".skin-menu");r&&r.classList.remove("show")}))}(),c=s.O(c)}();
+!function(){var e,t,n,o,r,i={5213:function(e){var t;t=function(){return function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={exports:{},id:o,loaded:!1};return e[o].call(r.exports,r,r.exports,n),r.loaded=!0,r.exports}return n.m=e,n.c=t,n.p="",n(0)}([function(e,t,n){var o=document.createElement("canvas");o.width=window.innerWidth,o.height=window.innerHeight,o.style.cssText="position:fixed;top:0;left:0;pointer-events:none;z-index:999999",window.addEventListener("resize",(function(){o.width=window.innerWidth,o.height=window.innerHeight})),document.body.appendChild(o);var r=o.getContext("2d"),i=[],a=0,s=!1;function c(e,t){return Math.random()*(t-e)+e}function l(e){if(u.colorful){var t=c(0,360);return"hsla("+c(t-10,t+10)+", 100%, "+c(50,80)+"%, 1)"}return window.getComputedStyle(e).color}function d(e,t,n){return{x:e,y:t,alpha:1,color:n,velocity:{x:2*Math.random()-1,y:2*Math.random()-3.5}}}function u(){for(var e=function(){var e,t=document.activeElement;if("TEXTAREA"===t.tagName||"INPUT"===t.tagName&&"text"===t.getAttribute("type")){var o=n(1)(t,t.selectionEnd);return e=t.getBoundingClientRect(),{x:o.left+e.left,y:o.top+e.top,color:l(t)}}var r=window.getSelection();if(r.rangeCount){var i=r.getRangeAt(0),a=i.startContainer;return a.nodeType===document.TEXT_NODE&&(a=a.parentNode),{x:(e=i.getBoundingClientRect()).left,y:e.top,color:l(a)}}return{x:0,y:0,color:"transparent"}}(),t=5+Math.round(10*Math.random());t--;)i[a]=d(e.x,e.y,e.color),a=(a+1)%500;if(u.shake){var o=1+2*Math.random(),r=o*(Math.random()>.5?-1:1),c=o*(Math.random()>.5?-1:1);document.body.style.marginLeft=r+"px",document.body.style.marginTop=c+"px",setTimeout((function(){document.body.style.marginLeft="",document.body.style.marginTop=""}),75)}s||requestAnimationFrame(m)}function m(){s=!0,r.clearRect(0,0,o.width,o.height);for(var e=!1,t=o.getBoundingClientRect(),n=0;nparseInt(l.height)&&(c.overflowY="scroll"):c.overflow="hidden",s.textContent=e.value.substring(0,o),"INPUT"===e.nodeName&&(s.textContent=s.textContent.replace(/\s/g," "));var d=document.createElement("span");d.textContent=e.value.substring(o)||".",s.appendChild(d);var u={top:d.offsetTop+parseInt(l.borderTopWidth),left:d.offsetLeft+parseInt(l.borderLeftWidth)};return i?d.style.backgroundColor="#aaa":document.body.removeChild(s),u}void 0!==e&&void 0!==e.exports?e.exports=o:window.getCaretCoordinates=o}()}])},e.exports=t()},7652:function(){window.imgError=function(e,t){switch(t){case 1:e.src="https://view.moezx.cc/images/2017/12/30/Transparent_Akkarin.th.jpg";break;case 2:e.src="https://sdn.geekzu.org/avatar/?s=80&d=mm&r=g";break;default:e.src="https://view.moezx.cc/images/2018/05/13/image-404.png"}},window.cmt_showPopup=function(e){let t=e.querySelector("#thePopup");t.classList.add("show"),e.querySelector("input").onblur=()=>{t.classList.remove("show")}},window.coverVideo=function(){let e=document.getElementById("coverVideo"),t=document.getElementById("cv-pc");if(e.paused){e.play();try{t.innerHTML=''}catch{}}else{e.pause();try{t.innerHTML=''}catch{}}},window.coverVideoMute=function(){const e=document.getElementById("coverVideo"),t=document.getElementById("cv-vc");e.muted?(e.muted=!1,t.innerHTML=''):(e.muted=!0,t.innerHTML='')},window.killCoverVideo=function(){var e=document.getElementById("coverVideo"),t=document.getElementById("cv-pc");if(e.paused);else{e.pause();try{t.innerHTML=''}catch(e){}}},window.mail_me=function(){window.open("mailto:"+mashiro_option.email_name+"@"+mashiro_option.email_domain)},window.headertop_down=function(){let e=document.getElementById("content").getBoundingClientRect().top+window.pageYOffset;window.scrollTo({top:e,behavior:"smooth"})}},5229:function(e,t,n){var o=n(7841);e.exports={name:"lab",min:[0,-100,-100],max:[100,100,100],channel:["lightness","a","b"],alias:["LAB","cielab"],xyz:function(e){var t,n,o,r,i=e[0],a=e[1],s=e[2];return i<=8?r=(n=100*i/903.3)/100*7.787+16/116:(n=100*Math.pow((i+16)/116,3),r=Math.pow(n/100,1/3)),[t=t/95.047<=.008856?t=95.047*(a/500+r-16/116)/7.787:95.047*Math.pow(a/500+r,3),n,o=o/108.883<=.008859?o=108.883*(r-s/200-16/116)/7.787:108.883*Math.pow(r-s/200,3)]}},o.lab=function(e){var t=e[0],n=e[1],o=e[2];return n/=100,o/=108.883,t=(t/=95.047)>.008856?Math.pow(t,1/3):7.787*t+16/116,[116*(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116)-16,500*(t-n),200*(n-(o=o>.008856?Math.pow(o,1/3):7.787*o+16/116))]}},2409:function(e){e.exports={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}},7841:function(e,t,n){var o=n(2409),r={name:"xyz",min:[0,0,0],channel:["X","Y","Z"],alias:["XYZ","ciexyz","cie1931"],whitepoint:{2:{A:[109.85,100,35.585],C:[98.074,100,118.232],D50:[96.422,100,82.521],D55:[95.682,100,92.149],D65:[95.045592705167,100,108.9057750759878],D75:[94.972,100,122.638],F2:[99.187,100,67.395],F7:[95.044,100,108.755],F11:[100.966,100,64.37],E:[100,100,100]},10:{A:[111.144,100,35.2],C:[97.285,100,116.145],D50:[96.72,100,81.427],D55:[95.799,100,90.926],D65:[94.811,100,107.304],D75:[94.416,100,120.641],F2:[103.28,100,69.026],F7:[95.792,100,107.687],F11:[103.866,100,65.627],E:[100,100,100]}}};r.max=r.whitepoint[2].D65,r.rgb=function(e,t){t=t||r.whitepoint[2].E;var n,o,i,a=e[0]/t[0],s=e[1]/t[1],c=e[2]/t[2];return o=-.96924363628087*a+1.87596750150772*s+.041555057407175*c,i=.055630079696993*a+-.20397695888897*s+1.056971514242878*c,n=(n=3.240969941904521*a+-1.537383177570093*s+-.498610760293*c)>.0031308?1.055*Math.pow(n,1/2.4)-.055:n*=12.92,o=o>.0031308?1.055*Math.pow(o,1/2.4)-.055:o*=12.92,i=i>.0031308?1.055*Math.pow(i,1/2.4)-.055:i*=12.92,[255*(n=Math.min(Math.max(0,n),1)),255*(o=Math.min(Math.max(0,o),1)),255*(i=Math.min(Math.max(0,i),1))]},o.xyz=function(e,t){var n=e[0]/255,o=e[1]/255,i=e[2]/255,a=.21263900587151*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)+.71516867876775*(o=o>.04045?Math.pow((o+.055)/1.055,2.4):o/12.92)+.072192315360733*(i=i>.04045?Math.pow((i+.055)/1.055,2.4):i/12.92),s=.019330818715591*n+.11919477979462*o+.95053215224966*i;return[(.41239079926595*n+.35758433938387*o+.18048078840183*i)*(t=t||r.whitepoint[2].E)[0],a*t[1],s*t[2]]},e.exports=r},8487:function(e,t,n){var o;o=void 0!==n.g?n.g:this,t.loadCSS=function(e,t,n,r){var i,a=o.document,s=a.createElement("link");if(t)i=t;else{var c=(a.body||a.getElementsByTagName("head")[0]).childNodes;i=c[c.length-1]}var l=a.styleSheets;if(r)for(var d in r)r.hasOwnProperty(d)&&s.setAttribute(d,r[d]);s.rel="stylesheet",s.href=e,s.media="only x",function e(t){if(a.body)return t();setTimeout((function(){e(t)}))}((function(){i.parentNode.insertBefore(s,t?i:i.nextSibling)}));var u=function(e){for(var t=s.href,n=l.length;n--;)if(l[n].href===t)return e();setTimeout((function(){u(e)}))};function m(){s.addEventListener&&s.removeEventListener("load",m),s.media=n||"all"}return s.addEventListener&&s.addEventListener("load",m),s.onloadcssdefined=u,u(m),s}},9905:function(e){var t=0;function n(e,t){var n=t.data;if(Array.isArray(n)&&!(n.length<2)){var o=n[0],r=n[1],i=n[2],a=e._callbacks[o];a&&(delete e._callbacks[o],a(r,i))}}function o(e){var t=this;t._worker=e,t._callbacks={},e.addEventListener("message",(function(e){n(t,e)}))}o.prototype.postMessage=function(e){var o=this,r=t++,i=[r,e];return new Promise((function(e,t){if(o._callbacks[r]=function(n,o){if(n)return t(new Error(n.message));e(o)},void 0!==o._worker.controller){var a=new MessageChannel;a.port1.onmessage=function(e){n(o,e)},o._worker.controller.postMessage(i,[a.port2])}else o._worker.postMessage(i)}))},e.exports=o},9791:function(e,t,n){n.d(t,{m:function(){return i}});const o={src:"data-src",srcset:"data-srcset",selector:".lazyload",root:null,rootMargin:"0px",threshold:0};class r{constructor(e,t){this.obs=null,this.doLoad=e=>{const{settings:t}=this,n=e.getAttribute(t.src),o=e.getAttribute(t.srcset),r=e.tagName.toLowerCase();"video"===r?n&&(e.src=n):"img"===r?(n&&(e.src=n),o&&(e.srcset=o)):e.style.backgroundImage="url('"+n+"')"},this.settings=Object.assign(Object.assign({},o),t),this.elms=e||document.querySelectorAll(this.settings.selector),this.init()}init(){if(!IntersectionObserver)return void this.load();const e=this;this.obs=new IntersectionObserver((function(t){Array.prototype.forEach.call(t,(function(t){t.isIntersecting&&(e.obs.unobserve(t.target),e.doLoad(t.target))}))}),{root:this.settings.root,rootMargin:this.settings.rootMargin,threshold:[this.settings.threshold]}),this.elms.forEach((t=>{e.obs.observe(t)}))}loadAndDestroy(){this.settings&&(this.load(),this.destroy())}load(){if(!this.settings)return;const{settings:e}=this;Array.prototype.forEach.call(this.elms,this.doLoad)}destroy(){this.settings&&(this.obs.disconnect(),this.settings=null)}}const i=(e,t)=>new r(e,t)},9354:function(e,t,n){function o(){const e=document.getElementsByClassName("butterBar");if(e.length>0)for(let t=0;t{o()}),"number"==typeof t?t:6e3),n}n.d(t,{f:function(){return r}})},476:function(e,t,n){n.d(t,{NB:function(){return r},Cd:function(){return a},cG:function(){return s},wy:function(){return c},bf:function(){return l}});let o=[];const r=e=>{let t=!1;return(...n)=>{if(!t){t=!0;try{const o=e(...n);return o instanceof Promise?o.finally((()=>t=!1)):t=!1,o}catch(e){console.warn(e),t=!1}}}},i=()=>{document.removeEventListener("DOMContentLoaded",i);for(const e of o)e();o=[]},a=function(e){if("loading"!==document.readyState)return e();0==o.length&&document.addEventListener("DOMContentLoaded",i,!1),o.push(e)},s=e=>e.replace(/\.\w+$/,"");function c(e,t=1e3,n="",o){let r=e;r.status=r.status||getComputedStyle(r,null).display;const i="none"!=r.status;1==i&&"show"==n||0==i&&"hide"==n||(r.status=i?"none":"block",r.style.transition="height "+t/1e3+"s",r.style.overflow="hidden",clearTimeout(r.tagTimer),r.tagTimer=r.tagTimer||null,r.style.display="block",r.tagHeight=r.tagHeight||r.clientHeight+"px",r.style.display="",r.style.height=i?r.tagHeight:"0px",setTimeout((()=>{r.style.height=i?"0px":r.tagHeight}),0),r.tagTimer=setTimeout((()=>{r.style.display=i?"none":"block",r.style.transition="",r.style.overflow="",r.style.height="",r.status=r.tagHeight=null}),t),o&&o())}function l(e,t={},n=!0){const o=new URL(e),{searchParams:r}=o;for(const[e,n]of Object.entries(t))r.set(e,n);return n&&r.set("_wpnonce",Poi.nonce),o.toString()}},302:function(e,t,n){n.d(t,{N2:function(){return i},B3:function(){return l},Lg:function(){return d},q1:function(){return m}});const o=window.matchMedia("(prefers-color-scheme:dark)");let r=!1;const i=()=>r;function a(e){e!==r&&(document.dispatchEvent(new CustomEvent("darkmode",{detail:e})),r=e)}function s(){localStorage.getItem("dark")||(o.matches&&mashiro_option.darkmode?l():d())}function c(e){e==u()?localStorage.removeItem("dark"):1==e?localStorage.setItem("dark","1"):localStorage.setItem("dark","0")}function l(e){document.documentElement.style.backgroundColor="#333",document.getElementsByClassName("site-content")[0].style.backgroundColor="#333",document.body.classList.add("dark"),e&&c(!0),a(!0)}function d(e){document.documentElement.style.backgroundColor="",document.getElementsByClassName("site-content")[0].style.backgroundColor="rgba(255, 255, 255, .8)",document.body.classList.remove("dark"),document.body.classList.remove("dynamic"),a(!1),e&&c(!1)}function u(){switch(mashiro_option.dm_strategy){case"client":return o.matches;case"eien":return!0;default:return function(){const e=new Date;return e.getHours()>21||e.getHours()<7}()}}function m(){const e=localStorage.getItem("dark");e?"1"==e?l():d():u()&&mashiro_option.darkmode?l():d()}"client"===mashiro_option.dm_strategy&&(o.removeEventListener?o.removeEventListener("change",s):o.removeListener(s),o.addEventListener?o.addEventListener("change",s):o.addListener(s))},2605:function(e,t,n){n.d(t,{__:function(){return o},_$:function(){return r},o:function(){return i},t:function(){return a}});const o=e=>window._sakurairoi18n&&_sakurairoi18n[e]||e,r=(e,...t)=>{let n=o(e);for(const e in t)n=n.replace("{"+e+"}",t[e]);return n},i={opt:{}},a=(e,t)=>Object.defineProperty(i,e,{value:t,writable:!1,enumerable:!0});if("_sakurairo"in window){const e=window._sakurairo;"opt"in e&&(i.opt=e.opt)}window._sakurairo=i}},a={};function s(e){var t=a[e];if(void 0!==t)return t.exports;var n=a[e]={exports:{}};return i[e].call(n.exports,n,n.exports,s),n.exports}s.m=i,e=[],s.O=function(t,n,o,r){if(!n){var i=1/0;for(d=0;d=r)&&Object.keys(s.O).every((function(e){return s.O[e](n[c])}))?n.splice(c--,1):(a=!1,r0&&e[d-1][2]>r;d--)e[d]=e[d-1];e[d]=[n,o,r]},s.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},s.t=function(e,o){if(1&o&&(e=this(e)),8&o)return e;if("object"==typeof e&&e){if(4&o&&e.__esModule)return e;if(16&o&&"function"==typeof e.then)return e}var r=Object.create(null);s.r(r);var i={};t=t||[null,n({}),n([]),n(n)];for(var a=2&o&&e;"object"==typeof a&&!~t.indexOf(a);a=n(a))Object.getOwnPropertyNames(a).forEach((function(t){i[t]=function(){return e[t]}}));return i.default=function(){return e},s.d(r,i),r},s.d=function(e,t){for(var n in t)s.o(t,n)&&!s.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},s.f={},s.e=function(e){return Promise.all(Object.keys(s.f).reduce((function(t,n){return s.f[n](e,t),t}),[]))},s.u=function(e){return({8:"lg-plugin-0",238:"lg-plugin-1",359:"lg-plugin-5",400:"lg-plugin-4",515:"lg-plugin-6",568:"lg-plugin-10",642:"lg-plugin-8",649:"lg-plugin-3",719:"lg-plugin-11",725:"lg-plugin-9",846:"lg-plugin-2",893:"lg-plugin-7"}[e]||e)+".js"},s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o={},r="sakurairo-scripts:",s.l=function(e,t,n,i){if(o[e])o[e].push(t);else{var a,c;if(void 0!==n)for(var l=document.getElementsByTagName("script"),d=0;d{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)}))}function n(n,o){const r=e().then((()=>{const e=indexedDB.open(n);return e.onupgradeneeded=()=>e.result.createObjectStore(o),t(e)}));return(e,t)=>r.then((n=>t(n.transaction(o,e).objectStore(o))))}const o=n("sakurairo","cache");var r;let i=null!==(r=mashiro_option.cookie_version_control)&&void 0!==r?r:"";const a=navigator.userAgent,c=Array.from(a.matchAll(/(Firefox|Chrome|Version|OPR|Edg)\/(\d+)/gi));function l(e){for(const[t,n,o]of c)if(parseFloat(o)>=e[n])return!0;return!1}const d=function(){const e=["image/*,*/*;q=0.8"];return l({Chrome:59,OPR:46,Firefox:3,Edg:79,Version:8})&&(e.push("image/apng"),l({Chrome:32,OPR:19,Firefox:65,Edg:18,Version:14})&&(!function(e,t,n){const o=n?"; expires="+new Date(Date.now()+24*n*60*60*1e3).toUTCString():"";document.cookie=e+i+"="+(t||"")+o+"; path=/"}("su_webp","1",114514),e.push("image/webp"),l({Chrome:85,OPR:71,Firefox:93})&&e.push("image/avif"))),e.reverse().join(",")}();var u=s(2605);let m=1,f="";async function g(){y(await E(!0)),m++}async function p(){m--,y(await E(!0))}const h=document.querySelector(".centerbg"),y=mashiro_option.site_bg_as_cover?e=>{document.body.style.backgroundImage=`url(${e})`,document.dispatchEvent(new CustomEvent("coverBG_change",{detail:e}))}:h?e=>{h.style.backgroundImage=`url(${e})`,document.dispatchEvent(new CustomEvent("coverBG_change",{detail:e}))}:()=>{};function v(e){const t=null==e?void 0:e.match(/^url\("(.+)"\)$/);if(t)return t[1]}const b=mashiro_option.site_bg_as_cover?()=>v(document.body.style.backgroundImage):()=>v(h.style.backgroundImage);function w(e=!1){const t=new URL(mashiro_option.cover_api);return document.body.clientWidth<860&&1==mashiro_option.random_graphs_mts?(t.searchParams.set("type","mobile"),t.toString()+(e?"&"+m:"")):t.toString()+(e?(""===t.search?"?":"&")+m:"")}const E=mashiro_option.cache_cover?(e=!1)=>{return(n="cover",o("readonly",(e=>t(e.get(n))))).then((t=>t&&t instanceof ArrayBuffer?(URL.revokeObjectURL(f),f="",f=URL.createObjectURL(new Blob([t])),f):w(e))).finally((()=>{!async function(e=!1){try{const n=await fetch(w(e),{headers:{Accept:d}});if(n.ok){const e=await n.arrayBuffer();try{((e,n)=>{o("readwrite",(o=>(o.put(n,e),t(o.transaction))))})("cover",e)}catch(e){console.warn(e)}}}catch(e){e instanceof TypeError&&(console.warn((0,u.__)("你的封面API好像不支持跨域调用,这种情况下缓存是不会生效的哦")),(e=>{o("readwrite",(n=>(n.delete(e),t(n.transaction))))})("cover"))}}(e)}));var n}:w;var _=s(9354);const L=["# 商业转载请联系作者获得授权,非商业转载请注明出处。","# For commercial use, please contact the author for authorization. For non-commercial use, please indicate the source.","# 协议(License):署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)","# 作者(Author):"+mashiro_option.author_name,"# 链接(URL):"+window.location.href,"# 来源(Source):"+mashiro_option.site_name];function k(e){const t=window.getSelection();if(t){const n=t.toString();n.length>30&&(!function(e,t){e.preventDefault();const n=L.join("
")+"
"+t.replace(/\r\n/g,"
"),o=L.join("\n")+"\n\n"+t.toString().replace(/\r\n/g,"\n");if(e.clipboardData)e.clipboardData.setData("text/html",n),e.clipboardData.setData("text/plain",o);else if(window.clipboardData)window.clipboardData.setData("text",o)}(e,n),(0,_.f)((0,u.__)("复制成功!"),1e3))}}function S(){mashiro_option.clipboardCopyright&&(document.body.removeEventListener("copy",k),document.body.addEventListener("copy",k))}var x=s(8487),B=s(9791),T=(s(7652),s(476));function C(e){if(document.documentElement.style.overflowY="unset",0!=mashiro_option.preload_blur)try{return void(e.animate([{filter:"blur(0px)",backdropFilter:"blur(10px)",opacity:1},{backdropFilter:"blur(0px)grayscale(0)",opacity:.1},{opacity:0,filter:"blur(100px)"}],{duration:mashiro_option.preload_blur,fill:"forwards",easing:"ease"}).onfinish=()=>{e.remove()})}catch(e){console.warn(e)}e.classList.add("hide"),e.classList.remove("show"),setTimeout((()=>e.remove()),233)}async function I(){var e;if(mashiro_option.yiyan){const t=document.getElementById("footer_yiyan");if(0==(null!==(e=mashiro_option.yiyan_api)&&void 0!==e?e:["https://api.maho.cc/yiyan/"]).length)console.warn("一言API路径为空");else if(t)for(const e of mashiro_option.yiyan_api)try{const n=await q(e);t.innerText=n;break}catch(t){console.warn(`一言api: 尝试联系"${e}"时出错。\n`,t);continue}}}const q=async e=>{const t=await fetch(e,{headers:{Accept:"application/json"}});if(t.ok){const e=await t.json(),n=("null"==e.from_who?null:e.from_who)||"",o=e.from!=e.from_who?`「${e.from}」`:"";return e.hitokoto+"——"+n+o}throw t.status};function M(){if(!mashiro_option.audio)return;const e=window.AudioContext||window.webkitAudioContext;if(e){let t,n=new e,o=function(){var e;const t=null===(e=u.o.opt.web_audio)||void 0===e?void 0:e.sheet;if("string"==typeof t)return t.split(" ");if(t instanceof Array)return t}()||A,r=0,i=1,a="♪ ♩ ♫ ♬ ♭ € § ¶ ♯".split(" ");document.querySelectorAll(".site-title, #moblieGoTop, .site-branding, .searchbox, .changeSkin-gear, .menu-list li").forEach((e=>{e.addEventListener("mouseenter",(e=>{var s;if(t)return;let c=o[r];c||(r=0,c=o[r]),r+=i;const l=n.createOscillator(),d=n.createGain(),m=n.createGain();l.connect(d),d.connect(m),m.connect(n.destination),m.gain.setValueAtTime((null===(s=u.o.opt.web_audio)||void 0===s?void 0:s.main_gain)||1,n.currentTime),l.type="sine",l.frequency.value=c,d.gain.setValueAtTime(0,n.currentTime),d.gain.linearRampToValueAtTime(1,n.currentTime+.01),l.start(n.currentTime),d.gain.exponentialRampToValueAtTime(.001,n.currentTime+1),l.stop(n.currentTime+1);const f=Math.round(7*Math.random()),g=e.pageX,p=e.pageY-5;t=document.createElement("b"),t.textContent=a[f],t.style.zIndex="99999",t.style.top=p-100+"px",t.style.left=g+"px",t.style.position="absolute",t.style.color="#FF6EB4",document.body.appendChild(t),t.animate([{top:p+"px"},{opacity:0}],{duration:500}),setTimeout((()=>{t.remove(),t=null}),500),e.stopPropagation()}))}))}}const A="880 987 1046 987 1046 1318 987 659 659 880 784 880 1046 784 659 659 698 659 698 1046 659 1046 1046 1046 987 698 698 987 987 880 987 1046 987 1046 1318 987 659 659 880 784 880 1046 784 659 698 1046 987 1046 1174 1174 1174 1046 1046 880 987 784 880 1046 1174 1318 1174 1318 1567 1046 987 1046 1318 1318 1174 784 784 880 1046 987 1174 1046 784 784 1396 1318 1174 659 1318 1046 1318 1760 1567 1567 1318 1174 1046 1046 1174 1046 1174 1567 1318 1318 1760 1567 1318 1174 1046 1046 1174 1046 1174 987 880 880 987 880".split(" ");const N=document.getElementById("main-container");function j(){document.body.classList.toggle("navOpen"),N.classList.toggle("open"),document.getElementById("mo-nav").classList.toggle("open"),document.querySelector(".openNav").classList.toggle("open"),document.querySelector(".site-header").classList.toggle("open")}function P(){j(),document.documentElement.style.overflow="unset",N.removeEventListener("click",P)}let O;const D=(0,T.NB)((function(){const e=document.location.href,t=document.querySelector("#pagination a");t.classList.contains("loading")||(t.classList.add("loading"),t.innerText="",fetch(t.getAttribute("href")+"#main").then((async n=>{const o=await n.text();if(e!=document.location.href)return;const r=(new DOMParser).parseFromString(o,"text/html"),i=r.querySelectorAll("#main .post"),a=r.querySelector("#pagination a"),s=a&&a.innerText,c=a&&a.getAttribute("href"),l=document.getElementById("main");for(let e=0;e"+(0,u.__)("很高兴你翻到这里,但是真的没有了...")+""})))}));function H(){if(document.querySelector("article")&&document.querySelector("article").classList.contains("post-list-thumb")){const e=new IntersectionObserver((t=>{t.forEach(window.IntersectionObserver?t=>{t.target.classList.contains("post-list-show")?(t.target.style.willChange="auto",e.unobserve(t.target)):t.isIntersecting&&(t.target.classList.add("post-list-show"),t.target.style.willChange="auto",e.unobserve(t.target))}:e=>{e.target.style.willChange="auto",!1===e.target.classList.contains("post-list-show")&&e.target.classList.add("post-list-show")})}),{root:null,threshold:[.66]}),t=document.getElementsByClassName("post-list-thumb");for(let n=0;n1){var a=o/Math.sqrt(i),s=r/Math.sqrt(i),c=e(a,s);return null==c||c.drawImage(t,0,0,a,s),null==c?void 0:c.getImageData(0,0,a,s)}var l=e(o,r);return null==l||l.drawImage(t,0,0),null==l?void 0:l.getImageData(0,0,o,r)}var V=s(9905),Y=s.n(V);let G,X,J;async function Z(e){try{const t=document.createElement("img");t.src=e,await function(e){return new Promise((function(t,n){e.addEventListener("load",(function(e){t(e)})),e.addEventListener("error",(function(e){n(e)}))}))}(t);const n=function(e,t){return U(W,e,t)}(t,1e4),o=await G.postMessage({k:3,iteration:20,img:n}),{label:r,centroid:i}=o,a=Math.max(...r);K(function(e){return"rgba("+e.map((function(e){return Math.floor(e)})).join(",")+")"}(function(e){var t=e.slice(0,3),n=e[3],o=$.xyz(t),r=F.rgb(o);return[].concat(r,[n])}(i[r.findIndex((e=>e==a))])))}catch(e){console.error(e),K(getComputedStyle(document.documentElement).getPropertyValue("--theme-skin-matching"))}}function K(e){const t=document.querySelector('meta[name=theme-color][media="(prefers-color-scheme: light)"]');t&&(t.content=e)}function Q(e){return()=>{const{name:t}=e.dataset;t!=localStorage.getItem("font_family")&&("serif"==t?(document.body.clientWidth<=860&&(0,_.f)((0,u.__)("将从网络加载字体,流量请注意")),document.body.classList.add("serif"),te("serif"),localStorage.setItem("font_family","serif")):(document.body.classList.remove("serif"),te("sans-serif"),localStorage.setItem("font_family","sans-serif")))}}function ee(){const e=localStorage.getItem("font_family");e&&"serif"!=e||document.body.classList.add("serif")}function te(e){(null!=e?e:"sans-serif"==localStorage.getItem("font_family"))?(X.classList.remove("selected"),J.classList.add("selected")):(J.classList.remove("selected"),X.classList.add("selected"))}function ne(){const e=(X=document.getElementsByClassName("control-btn-serif")[0],J=document.getElementsByClassName("control-btn-sans-serif")[0],J&&X);e||localStorage.removeItem("font_family"),ee(),e&&(te(),X.addEventListener("click",Q(X)),J.addEventListener("click",Q(J)))}var oe,re=s(302);const ie=document.getElementById("bgvideo"),ae=(null===(oe=Poi.movies.name)||void 0===oe?void 0:oe.split(","))||[];let se=new Array(ae.length).fill(0).map(((e,t)=>t));function ce(){const e=document.getElementsByClassName("video-stu")[0],t=(()=>{0==se.length&&(se=new Array(ae.length).fill(0).map(((e,t)=>t)));const e=Math.floor(Math.random()*se.length);return ae[se.splice(e,1)[0]]})();e.innerHTML=(0,u.__)("正在载入视频 ..."),e.style.bottom="0px",ie.setAttribute("src",new URL(t,Poi.movies.url||location.origin).toString()),ie.setAttribute("video-name",(0,T.cG)(t))}function le(){let e=document.getElementById("video-btn");e&&(e.classList.add("video-pause"),e.classList.remove("video-play"),e.style.display="");try{if(document.querySelector(".video-stu").style.bottom="-100px",document.querySelector(".focusinfo").style.top="-999px",mashiro_option.float_player_on)return void s.e(58).then(s.bind(s,6058)).then((({destroyAllAplayer:e})=>{e(),ie.play()}))}catch(e){console.warn(e)}ie.play()}function de(){let e=document.getElementById("video-btn");e&&(e.classList.add("video-play"),e.classList.remove("video-pause"));try{document.querySelector(".focusinfo").style.top="49.3%"}catch(e){}ie.pause()}async function ue(){!async function(){const e=document.querySelectorAll("video.hls");if(0==e.length)return;if(e[0].canPlayType("application/vnd.apple.mpegurl"))for(const t of e)t.src=t.dataset.src||t.src,t.autoplay=!0;else{if(!window.Hls)try{const{default:e}=await s.e(631).then(s.t.bind(s,7631,23));window.Hls=e}catch(e){console.warn("Hls load failed: ",e)}Hls.isSupported()||console.error("Hls: Media Source Extensions is unsupported.");for(const t of e){const e=new Hls;e.loadSource(t.dataset.src||t.src),e.attachMedia(t),e.on(Hls.Events.MANIFEST_PARSED,(function(){t.play()}))}}}(),async function(){document.querySelectorAll("video.lazyload").forEach((e=>e.addEventListener("canplay",me)))}()}function me(){this.poster=""}let fe;function ge(e,t,n,o,r,i,a){if(e){var s=e.trim().split(" "),c=o.indexOf(s[s.length-1]),l=a.indexOf(s[s.length-1]);o=(o=c<60?o.slice(0,80):o.slice(c-30,c+30)).replace(s[s.length-1],' '+s[s.length-1].toUpperCase()+" "),a=(a=l<60?a.slice(0,80):a.slice(l-30,l+30)).replace(s[s.length-1],' '+s[s.length-1].toUpperCase()+" ")}return``}function pe(e,t){var n="",o="",r="",i="",a="",s="",c='",d="",m=function(e,t){for(let e=0;eObject.values(e).some((e=>new RegExp(t+"").test(e)))))}(e,t.trim());for(const e of m)switch(e.type){case"post":o+=ge(t,e.link,"file",e.title,"mark",e.comments,e.text);break;case"tag":a+=ge("",e.link,"tag",e.title,"none","","");break;case"category":i+=ge("",e.link,"folder",e.title,"none","","");break;case"page":r+=ge(t,e.link,"file",e.title,"mark",e.comments,e.text);break;case"comment":s+=ge(t,e.link,"comment",e.title,"none","",e.text)}o&&(n=n+c+(0,u.__)("文章")+d+o+l),r&&(n=n+c+(0,u.__)("页面")+d+r+l),i&&(n=n+c+(0,u.__)("分类")+d+i+l),a&&(n=n+c+(0,u.__)("标签")+d+a+l),s&&(n=n+c+(0,u.__)("评论")+d+s+l),document.getElementById("PostlistBox").innerHTML=n}function he(){const e=document.querySelector(".search_close"),t=document.getElementById("Ty");for(const n of document.getElementsByClassName("ins-selectable"))n.addEventListener("click",(()=>{t.href=n.getAttribute("href"),t.click(),e.click()}))}function ye(){if(document.getElementsByClassName("js-toggle-search")[0].classList.toggle("is-active"),document.getElementsByClassName("js-search")[0].classList.toggle("is-visible"),document.documentElement.style.overflowY="hidden",mashiro_option.live_search){fe=[],function(e){const t=document.getElementById("search-input");null!=sessionStorage.getItem("search")?(fe=JSON.parse(sessionStorage.getItem("search")),pe(fe,t.value),he()):fetch(e).then((async e=>{if(e.ok){const n=await e.text();""!=n&&(sessionStorage.setItem("search",n),fe=JSON.parse(n),pe(fe,t.value),he())}else console.warn("HTTP "+e.status)})).catch((e=>console.warn(e)))}((0,T.bf)(Poi.api+"sakura/v1/cache_search/json"));var e=document.getElementById("search-input"),t=null;e.oninput=function(){null!=t&&clearTimeout(t),t=setTimeout((function(){pe(fe,e.value),he()}),250)}}}var ve=s(5213),be=s.n(ve);function we(){if(!1===mashiro_global.variables.skinSecter){const e=document.querySelector(".pattern-center"),t=document.querySelector(".headertop-bar");e&&(e.classList.remove("pattern-center"),e.classList.add("pattern-center-sakura")),t&&(t.classList.remove("headertop-bar"),t.classList.add("headertop-bar-sakura"))}else{const e=document.querySelector(".pattern-center-sakura"),t=document.querySelector(".headertop-bar-sakura");e&&(e.classList.remove("pattern-center-sakura"),e.classList.add("pattern-center")),t&&(t.classList.remove("headertop-bar-sakura"),t.classList.add("headertop-bar"))}}function Ee(){const e=document.getElementById("primary");e&&e.addEventListener("contextmenu",(function(e){"img"==e.target.nodeName.toLowerCase()&&(e.preventDefault(),e.stopPropagation())}))}async function _e(e){let t;switch(mashiro_global.variables.skinSecter="white-bg"==e||"dark-bg"==e,we(),e){case"white-bg":if(mashiro_option.site_bg_as_cover)return t=await E(),void y(t);if(!mashiro_option.land_at_home)return;t=mashiro_option.skin_bg0;break;case"diy1-bg":t=mashiro_option.skin_bg1;break;case"diy2-bg":t=mashiro_option.skin_bg2;break;case"diy3-bg":t=mashiro_option.skin_bg3;break;case"diy4-bg":t=mashiro_option.skin_bg4}document.body.style.backgroundImage=t?`url(${t})`:""}function Le(){const e=document.getElementById("bg-next"),t=document.getElementById("bg-pre");e&&(e.onclick=g),t&&(t.onclick=p)}function ke(){window.scrollTo({top:0,behavior:"smooth"})}function Se(e){let t=document.getElementById("archives");if(null==t)return;let n=t.getElementsByClassName("al_mon");1==e?(t.addEventListener("click",(function(e){e.target.classList.contains("al_mon")&&((0,T.wy)(e.target.nextElementSibling,500),e.preventDefault())})),(0,B.m)()):function(){let e=document.getElementById("al_expand_collapse");e.style.cursor="s-resize";for(let e=0;e860){for(let e=0;e{e.stopPropagation(),document.body.classList.contains("navOpen")?P():(j(),document.documentElement.style.overflow="hidden",N.addEventListener("click",P))}))}function Be(){if("auto"==Poi.windowheight){if(document.querySelector("h1.main-title")){const e=document.getElementById("centerbg"),t=document.getElementById("bgvideo");e&&(e.style.height="100vh"),t&&(t.style.minHeight="100vh")}}else document.querySelector(".headertop")&&document.querySelector(".headertop").classList.add("headertop-bar")}function Te(){if(document.querySelector(".headertop")){let e=document.querySelector(".headertop"),t=document.querySelector(".blank");if(document.querySelector(".main-title")){try{t.style.paddingTop="0px"}catch(e){}e.style.height="auto",e.style.display="",Poi.movies.live&&ie&&null!=ie.oncanplay&&document.querySelector(".haslive")&&document.querySelector(".videolive")&&le()}else{try{t.style.paddingTop="75px"}catch(e){}e.style.height="0px",e.style.display="none",function(){if(ie&&null!=ie.oncanplay&&document.querySelector(".haslive")){de();let e=document.getElementsByClassName("video-stu")[0];e.style.bottom="0px",e.innerHTML=(0,u.__)("已暂停...")}}()}}}function Ce(){let e=document.querySelector(".comments-fold"),t=document.querySelector(".comments-main");null!=e&&(e.style.display="block",t.style.display="none",e.addEventListener("click",(function(){(0,T.wy)(t,500,"show"),e.style.display="none"})));let n=document.getElementsByClassName("archives");if(n.length>0){for(let e=0;e{e.preventDefault(),e.stopPropagation(),(0,T.wy)(e.target.nextElementSibling,300)}))}for(const e of document.getElementsByClassName("js-toggle-search"))e.addEventListener("click",ye);const o=document.querySelector(".search_close");o&&o.addEventListener("click",(function(){let e=document.getElementsByClassName("js-search")[0];e.classList.contains("is-visible")&&(document.getElementsByClassName("js-toggle-search")[0].classList.toggle("is-active"),e.classList.toggle("is-visible"),document.documentElement.style.overflowY="unset")}));try{let e=document.getElementById("show-nav");e.addEventListener("click",(function(){if(e.classList.contains("showNav")){e.classList.remove("showNav"),e.classList.add("hideNav");let t=document.querySelector(".site-top .lower nav");t&&t.classList.add("navbar")}else{e.classList.remove("hideNav"),e.classList.add("showNav");let t=document.querySelector(".site-top .lower nav");t&&t.classList.remove("navbar")}})),document.getElementById("loading").addEventListener("click",(function(){let e=document.getElementById("loading");e.classList.add("hide"),e.classList.remove("show")}))}catch(e){}}function Ie(){const e=document.querySelector(".site-header");window.addEventListener("scroll",(()=>{(document.documentElement.scrollTop||window.pageYOffset)>0?e.classList.add("yya"):e.classList.remove("yya")}))}function qe(){document.querySelector(".skin-menu").classList.remove("show"),setTimeout((function(){null!=document.querySelector(".changeSkin-gear")&&(document.querySelector(".changeSkin-gear").style.visibility="visible")}),300)}Poi.pjax=Poi.pjax&&l({Firefox:60,Edg:79,Chrome:66,OPR:53,Version:12}),Poi.pjax&&s.e(48).then(s.bind(s,3048)).then((e=>{let{default:t}=e;return new t({selectors:["#page","title",".footer-device","#_mashiro_","#login-link"],scripts:"#_mashiro_",timeout:8e3,defaultTrigger:{exclude:"a[data-no-pjax]"}})})),(0,x.loadCSS)(mashiro_option.jsdelivr_css_src),(0,x.loadCSS)(mashiro_option.entry_content_style_src),(0,x.loadCSS)("https://at.alicdn.com/t/font_679578_qyt5qzzavdo39pb9.css"),mashiro_global.variables=new function(){this.skinSecter=!0},Ee(),Se(),S(),mashiro_option.float_player_on&&document.body.clientWidth>860&&s.e(58).then(s.bind(s,6058)).then((e=>{let{aplayerInit:t}=e;return t()})),setTimeout((function(){!function(){let e=document.getElementById("secondary");if(document.body.clientWidth>860){let t=document.querySelector(".show-hide");t&&t.addEventListener("click",(function(){e&&e.classList.toggle("active")}))}else e&&e.remove()}()}),100),Poi.pjax&&(document.addEventListener("pjax:send",(()=>{for(const e of document.getElementsByClassName("normal-cover-video"))e.pause(),e.src="",e.load="";document.getElementById("bar").style.width="0%",mashiro_option.NProgressON&&s.e(865).then(s.t.bind(s,4865,23)).then((e=>{let{default:t}=e;t.start()})),document.body.classList.contains("navOpen")&&P()})),document.addEventListener("pjax:complete",(function(){Be(),Te(),Ce(),mashiro_option.land_at_home&&z(),mashiro_option.NProgressON&&s.e(865).then(s.t.bind(s,4865,23)).then((e=>{let{default:t}=e;t.done()})),Ee(),ee();let e=document.getElementsByTagName("p");for(let t=0;t{for(let e=0;e{(0,_.f)((0,u._$)("页面加载出错了 HTTP {0}",e.request.status))})),window.addEventListener("popstate",(function(e){Be(),I(),Te(),Ce(),Se(!0),H()}),!1)),window.addEventListener("hashchange",(function(){const e=location.hash.substring(1);if(!/^[A-z0-9_-]+$/.test(e))return;const t=document.getElementById(e);t&&(/^(?:a|select|input|button|textarea)$/i.test(t.tagName)||(t.tabIndex=-1),t.focus())}),!1),(0,re.q1)(),(0,T.Cd)((function(){_e(localStorage.getItem("bgImgSetting")||"white-bg").then((()=>{if(l({Version:15})){G||(G=new(Y())(new Worker(new URL(s.p+s.u(16),s.b)))),document.addEventListener("coverBG_change",(({detail:e})=>Z(e)));const e=b();e&&Z(e)}})),document.querySelectorAll(".menu-list li").forEach((e=>{e.addEventListener("click",(function(){const e=this.id;"dark-bg"==e?(0,re.B3)(!0):((0,re.Lg)(!0),_e(e),localStorage.setItem("bgImgSetting",e)),qe()}))}));let e=document.querySelector("#changskin"),t=document.querySelector(".skin-menu #close-skinMenu");e&&e.addEventListener("click",(function(){document.querySelector(".skin-menu").classList.toggle("show")})),t&&t.addEventListener("click",(function(){qe()})),Be(),Te(),Ie(),function(){let e=document.querySelector("#moblieGoTop"),t=document.querySelector("#changskin");window.addEventListener("scroll",(()=>{const n=(document.documentElement.scrollTop||document.body.scrollTop)>20?"scale(1)":"scale(0)";e.style.transform=n,t.style.transform=n})),e.onclick=ke}(),z(),Ce(),xe(),function(){let e=document.getElementById("video-btn");e&&e.addEventListener("click",(function(){this.classList.contains("loadvideo")?(this.classList.add("video-pause"),this.classList.remove("loadvideo"),ce(),ie.oncanplay=function(){le(),document.getElementById("video-add").style.display="block",e.classList.add("videolive","haslive")}):this.classList.contains("video-pause")?(de(),e.classList.remove("videolive"),document.getElementsByClassName("video-stu")[0].style.bottom="0px",document.getElementsByClassName("video-stu")[0].innerHTML="已暂停 ..."):(le(),e.classList.add("videolive")),ie.onended=function(){ie.setAttribute("src",""),document.getElementById("video-add").style.display="none",document.querySelector(".focusinfo").style.top="49.3%",e&&(e.classList.add("loadvideo"),e.classList.remove("video-pause","videolive","haslive"),Poi.movies.loop&&e.click())}}));const t=document.getElementById("video-add");t&&t.addEventListener("click",ce)}(),I(),Le(),ne(),M(),function(){const e=document.getElementById("preload");if(e){if("complete"===document.readyState)return C(e);window.addEventListener("load",(()=>{C(e)}))}}(),(0,B.m)(),be().colorful=!0,be().shake=!1,document.body.addEventListener("input",be()),console.log("%c Sakurairo %c https://github.com/mirai-mamori/Sakurairo","background:#D05A6E;color:#fffffb",""),console.log(" 僕らは求めるものも\n 描いてる未来も違うけれど\n 手と手を取り合えたなら\n きっと笑い合える日が来るから\n %c——「ツバメ」","font-style:italic")})),H(),ue(),we(),document.body.clientWidth>860&&window.addEventListener("scroll",(()=>{let e=document.documentElement.scrollTop||document.body.scrollTop,t=document.documentElement.scrollHeight||document.body.scrollHeight,n=window.innerHeight,o=parseInt(e/(t-n)*100);document.getElementById("bar").style.width=o+"%";const r=document.querySelector(".skin-menu");r&&r.classList.remove("show")}))}(),c=s.O(c)}();
//# sourceMappingURL=app.js.map
\ No newline at end of file
diff --git a/js/app.js.LICENSE.txt b/js/app.js.LICENSE.txt
index b0347b82..591f11fa 100644
--- a/js/app.js.LICENSE.txt
+++ b/js/app.js.LICENSE.txt
@@ -43,4 +43,4 @@
*
*/
-//! build be47151 2021/11/21
+//! build 3a6b1dd 2021/11/24
diff --git a/js/app.js.map b/js/app.js.map
index d566a8f1..5311f94b 100644
--- a/js/app.js.map
+++ b/js/app.js.map
@@ -1 +1 @@
-{"version":3,"file":"app.js","mappings":"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","sources":["webpack://sakurairo-scripts/webpack/runtime/chunk loaded","webpack://sakurairo-scripts/webpack/runtime/create fake namespace object","webpack://sakurairo-scripts/webpack/runtime/load script","webpack://sakurairo-scripts/./node_modules/activate-power-mode/dist/activate-power-mode.js","webpack://sakurairo-scripts/./src/sakura-app/global-func.js","webpack://sakurairo-scripts/./node_modules/color-space/lab.js","webpack://sakurairo-scripts/./node_modules/color-space/rgb.js","webpack://sakurairo-scripts/./node_modules/color-space/xyz.js","webpack://sakurairo-scripts/./node_modules/fg-loadcss/src/loadCSS.js","webpack://sakurairo-scripts/./node_modules/promise-worker/index.js","webpack://sakurairo-scripts/./node_modules/lazyload/src/lazyload.ts","webpack://sakurairo-scripts/./src/common/butterbar.ts","webpack://sakurairo-scripts/./src/common/util.ts","webpack://sakurairo-scripts/./src/sakura-app/darkmode.ts","webpack://sakurairo-scripts/./src/sakura-app/sakurairo_global.ts","webpack://sakurairo-scripts/webpack/bootstrap","webpack://sakurairo-scripts/webpack/runtime/compat get default export","webpack://sakurairo-scripts/webpack/runtime/define property getters","webpack://sakurairo-scripts/webpack/runtime/ensure chunk","webpack://sakurairo-scripts/webpack/runtime/get javascript chunk filename","webpack://sakurairo-scripts/webpack/runtime/global","webpack://sakurairo-scripts/webpack/runtime/hasOwnProperty shorthand","webpack://sakurairo-scripts/webpack/runtime/make namespace object","webpack://sakurairo-scripts/webpack/runtime/publicPath","webpack://sakurairo-scripts/webpack/runtime/jsonp chunk loading","webpack://sakurairo-scripts/./node_modules/safari-14-idb-fix/dist/index.js","webpack://sakurairo-scripts/./node_modules/idb-keyval/dist/index.js","webpack://sakurairo-scripts/./src/sakura-app/cache.ts","webpack://sakurairo-scripts/./src/common/cookie.ts","webpack://sakurairo-scripts/./src/sakura-app/compatibility.ts","webpack://sakurairo-scripts/./src/sakura-app/coverBackground.ts","webpack://sakurairo-scripts/./src/sakura-app/copyright.ts","webpack://sakurairo-scripts/./src/sakura-app/preload_screen.ts","webpack://sakurairo-scripts/./src/sakura-app/hitokoto.ts","webpack://sakurairo-scripts/./src/sakura-app/web_audio.ts","webpack://sakurairo-scripts/./src/sakura-app/mobile_nav.ts","webpack://sakurairo-scripts/./src/sakura-app/posts.js","webpack://sakurairo-scripts/./node_modules/@kotorik/palette/dist/index.mjs","webpack://sakurairo-scripts/./src/sakura-app/theme-color/index.ts","webpack://sakurairo-scripts/./src/sakura-app/font_control.ts","webpack://sakurairo-scripts/./src/sakura-app/video.ts","webpack://sakurairo-scripts/./src/sakura-app/search.ts","webpack://sakurairo-scripts/./src/sakura-app/index.js","webpack://sakurairo-scripts/./src/sakura-app/about_us.ts"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"sakurairo-scripts:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"POWERMODE\"] = factory();\n\telse\n\t\troot[\"POWERMODE\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar canvas = document.createElement('canvas');\n\tcanvas.width = window.innerWidth;\n\tcanvas.height = window.innerHeight;\n\tcanvas.style.cssText = 'position:fixed;top:0;left:0;pointer-events:none;z-index:999999';\n\twindow.addEventListener('resize', function () {\n\t canvas.width = window.innerWidth;\n\t canvas.height = window.innerHeight;\n\t});\n\tdocument.body.appendChild(canvas);\n\tvar context = canvas.getContext('2d');\n\tvar particles = [];\n\tvar particlePointer = 0;\n\tvar rendering = false;\n\n\tPOWERMODE.shake = true;\n\n\tfunction getRandom(min, max) {\n\t return Math.random() * (max - min) + min;\n\t}\n\n\tfunction getColor(el) {\n\t if (POWERMODE.colorful) {\n\t var u = getRandom(0, 360);\n\t return 'hsla(' + getRandom(u - 10, u + 10) + ', 100%, ' + getRandom(50, 80) + '%, ' + 1 + ')';\n\t } else {\n\t return window.getComputedStyle(el).color;\n\t }\n\t}\n\n\tfunction getCaret() {\n\t var el = document.activeElement;\n\t var bcr;\n\t if (el.tagName === 'TEXTAREA' ||\n\t (el.tagName === 'INPUT' && el.getAttribute('type') === 'text')) {\n\t var offset = __webpack_require__(1)(el, el.selectionEnd);\n\t bcr = el.getBoundingClientRect();\n\t return {\n\t x: offset.left + bcr.left,\n\t y: offset.top + bcr.top,\n\t color: getColor(el)\n\t };\n\t }\n\t var selection = window.getSelection();\n\t if (selection.rangeCount) {\n\t var range = selection.getRangeAt(0);\n\t var startNode = range.startContainer;\n\t if (startNode.nodeType === document.TEXT_NODE) {\n\t startNode = startNode.parentNode;\n\t }\n\t bcr = range.getBoundingClientRect();\n\t return {\n\t x: bcr.left,\n\t y: bcr.top,\n\t color: getColor(startNode)\n\t };\n\t }\n\t return { x: 0, y: 0, color: 'transparent' };\n\t}\n\n\tfunction createParticle(x, y, color) {\n\t return {\n\t x: x,\n\t y: y,\n\t alpha: 1,\n\t color: color,\n\t velocity: {\n\t x: -1 + Math.random() * 2,\n\t y: -3.5 + Math.random() * 2\n\t }\n\t };\n\t}\n\n\tfunction POWERMODE() {\n\t { // spawn particles\n\t var caret = getCaret();\n\t var numParticles = 5 + Math.round(Math.random() * 10);\n\t while (numParticles--) {\n\t particles[particlePointer] = createParticle(caret.x, caret.y, caret.color);\n\t particlePointer = (particlePointer + 1) % 500;\n\t }\n\t }\n\t { // shake screen\n\t if (POWERMODE.shake) {\n\t var intensity = 1 + 2 * Math.random();\n\t var x = intensity * (Math.random() > 0.5 ? -1 : 1);\n\t var y = intensity * (Math.random() > 0.5 ? -1 : 1);\n\t document.body.style.marginLeft = x + 'px';\n\t document.body.style.marginTop = y + 'px';\n\t setTimeout(function() {\n\t document.body.style.marginLeft = '';\n\t document.body.style.marginTop = '';\n\t }, 75);\n\t }\n\t }\n\t if(!rendering){\n\t requestAnimationFrame(loop);\n\t }\n\t};\n\tPOWERMODE.colorful = false;\n\n\tfunction loop() {\n\t rendering = true;\n\t context.clearRect(0, 0, canvas.width, canvas.height);\n\t var rendered = false;\n\t var rect = canvas.getBoundingClientRect();\n\t for (var i = 0; i < particles.length; ++i) {\n\t var particle = particles[i];\n\t if (particle.alpha <= 0.1) continue;\n\t particle.velocity.y += 0.075;\n\t particle.x += particle.velocity.x;\n\t particle.y += particle.velocity.y;\n\t particle.alpha *= 0.96;\n\t context.globalAlpha = particle.alpha;\n\t context.fillStyle = particle.color;\n\t context.fillRect(\n\t Math.round(particle.x - 1.5) - rect.left,\n\t Math.round(particle.y - 1.5) - rect.top,\n\t 3, 3\n\t );\n\t rendered = true;\n\t }\n\t if(rendered){\n\t requestAnimationFrame(loop);\n\t }else{\n\t rendering = false;\n\t }\n\t}\n\n\tmodule.exports = POWERMODE;\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n\t/* jshint browser: true */\n\n\t(function () {\n\n\t// The properties that we copy into a mirrored div.\n\t// Note that some browsers, such as Firefox,\n\t// do not concatenate properties, i.e. padding-top, bottom etc. -> padding,\n\t// so we have to do every single property specifically.\n\tvar properties = [\n\t 'direction', // RTL support\n\t 'boxSizing',\n\t 'width', // on Chrome and IE, exclude the scrollbar, so the mirror div wraps exactly as the textarea does\n\t 'height',\n\t 'overflowX',\n\t 'overflowY', // copy the scrollbar for IE\n\n\t 'borderTopWidth',\n\t 'borderRightWidth',\n\t 'borderBottomWidth',\n\t 'borderLeftWidth',\n\t 'borderStyle',\n\n\t 'paddingTop',\n\t 'paddingRight',\n\t 'paddingBottom',\n\t 'paddingLeft',\n\n\t // https://developer.mozilla.org/en-US/docs/Web/CSS/font\n\t 'fontStyle',\n\t 'fontVariant',\n\t 'fontWeight',\n\t 'fontStretch',\n\t 'fontSize',\n\t 'fontSizeAdjust',\n\t 'lineHeight',\n\t 'fontFamily',\n\n\t 'textAlign',\n\t 'textTransform',\n\t 'textIndent',\n\t 'textDecoration', // might not make a difference, but better be safe\n\n\t 'letterSpacing',\n\t 'wordSpacing',\n\n\t 'tabSize',\n\t 'MozTabSize'\n\n\t];\n\n\tvar isFirefox = window.mozInnerScreenX != null;\n\n\tfunction getCaretCoordinates(element, position, options) {\n\n\t var debug = options && options.debug || false;\n\t if (debug) {\n\t var el = document.querySelector('#input-textarea-caret-position-mirror-div');\n\t if ( el ) { el.parentNode.removeChild(el); }\n\t }\n\n\t // mirrored div\n\t var div = document.createElement('div');\n\t div.id = 'input-textarea-caret-position-mirror-div';\n\t document.body.appendChild(div);\n\n\t var style = div.style;\n\t var computed = window.getComputedStyle? getComputedStyle(element) : element.currentStyle; // currentStyle for IE < 9\n\n\t // default textarea styles\n\t style.whiteSpace = 'pre-wrap';\n\t if (element.nodeName !== 'INPUT')\n\t style.wordWrap = 'break-word'; // only for textarea-s\n\n\t // position off-screen\n\t style.position = 'absolute'; // required to return coordinates properly\n\t if (!debug)\n\t style.visibility = 'hidden'; // not 'display: none' because we want rendering\n\n\t // transfer the element's properties to the div\n\t properties.forEach(function (prop) {\n\t style[prop] = computed[prop];\n\t });\n\n\t if (isFirefox) {\n\t // Firefox lies about the overflow property for textareas: https://bugzilla.mozilla.org/show_bug.cgi?id=984275\n\t if (element.scrollHeight > parseInt(computed.height))\n\t style.overflowY = 'scroll';\n\t } else {\n\t style.overflow = 'hidden'; // for Chrome to not render a scrollbar; IE keeps overflowY = 'scroll'\n\t }\n\n\t div.textContent = element.value.substring(0, position);\n\t // the second special handling for input type=\"text\" vs textarea: spaces need to be replaced with non-breaking spaces - http://stackoverflow.com/a/13402035/1269037\n\t if (element.nodeName === 'INPUT')\n\t div.textContent = div.textContent.replace(/\\s/g, \"\\u00a0\");\n\n\t var span = document.createElement('span');\n\t // Wrapping must be replicated *exactly*, including when a long word gets\n\t // onto the next line, with whitespace at the end of the line before (#7).\n\t // The *only* reliable way to do that is to copy the *entire* rest of the\n\t // textarea's content into the created at the caret position.\n\t // for inputs, just '.' would be enough, but why bother?\n\t span.textContent = element.value.substring(position) || '.'; // || because a completely empty faux span doesn't render at all\n\t div.appendChild(span);\n\n\t var coordinates = {\n\t top: span.offsetTop + parseInt(computed['borderTopWidth']),\n\t left: span.offsetLeft + parseInt(computed['borderLeftWidth'])\n\t };\n\n\t if (debug) {\n\t span.style.backgroundColor = '#aaa';\n\t } else {\n\t document.body.removeChild(div);\n\t }\n\n\t return coordinates;\n\t}\n\n\tif (typeof module != \"undefined\" && typeof module.exports != \"undefined\") {\n\t module.exports = getCaretCoordinates;\n\t} else {\n\t window.getCaretCoordinates = getCaretCoordinates;\n\t}\n\n\t}());\n\n/***/ })\n/******/ ])\n});\n;","function imgError(ele, type) {\n switch (type) {\n case 1:\n ele.src = 'https://view.moezx.cc/images/2017/12/30/Transparent_Akkarin.th.jpg';\n break;\n case 2:\n ele.src = 'https://sdn.geekzu.org/avatar/?s=80&d=mm&r=g';\n break;\n default:\n ele.src = 'https://view.moezx.cc/images/2018/05/13/image-404.png';\n }\n}\nfunction cmt_showPopup(ele) {\n let popup = ele.querySelector(\"#thePopup\");\n popup.classList.add(\"show\");\n ele.querySelector(\"input\").onblur = () => {\n popup.classList.remove(\"show\");\n }\n}\n/*视频feature*/\nfunction coverVideo() {\n let video = document.getElementById(\"coverVideo\"),\n btn_playControl = document.getElementById(\"cv-pc\");\n\n if (video.paused) {\n video.play();\n try {\n btn_playControl.innerHTML = '';\n } catch { };\n //console.info('play:coverVideo()');\n } else {\n video.pause();\n try {\n btn_playControl.innerHTML = '';\n } catch { };\n //console.info('pause:coverVideo()');\n }\n}\nfunction coverVideoMute() {\n const video = document.getElementById(\"coverVideo\")\n const btn_volumeControl = document.getElementById(\"cv-vc\");\n if (video.muted) {\n video.muted = false\n btn_volumeControl.innerHTML = ''\n } else {\n video.muted = true\n btn_volumeControl.innerHTML = ''\n }\n}\nfunction killCoverVideo() {\n var video = document.getElementById(\"coverVideo\");\n var btn_playControl = document.getElementById(\"cv-pc\");\n\n if (video.paused) {\n //console.info('none:killCoverVideo()');\n } else {\n video.pause();\n try {\n btn_playControl.innerHTML = '';\n } catch (e) { };\n //console.info('pause:killCoverVideo()');\n }\n}\n\nfunction mail_me() {\n window.open(\"mailto:\" + mashiro_option.email_name + \"@\" + mashiro_option.email_domain);\n}\n/* 首页下拉箭头 */\nfunction headertop_down() {\n let coverOffset = document.getElementById(\"content\").getBoundingClientRect().top + window.pageYOffset;\n window.scrollTo({\n top: coverOffset,\n behavior: \"smooth\"\n });\n}\nwindow.imgError = imgError\nwindow.cmt_showPopup = cmt_showPopup\nwindow.coverVideo = coverVideo\nwindow.coverVideoMute = coverVideoMute\nwindow.killCoverVideo = killCoverVideo\nwindow.mail_me = mail_me\nwindow.headertop_down = headertop_down","/**\n * CIE LAB space model\n *\n * @module color-space/lab\n */\n'use strict'\n\nvar xyz = require('./xyz');\n\nmodule.exports = {\n\tname: 'lab',\n\tmin: [0,-100,-100],\n\tmax: [100,100,100],\n\tchannel: ['lightness', 'a', 'b'],\n\talias: ['LAB', 'cielab'],\n\n\txyz: function(lab) {\n\t\tvar l = lab[0],\n\t\t\t\ta = lab[1],\n\t\t\t\tb = lab[2],\n\t\t\t\tx, y, z, y2;\n\n\t\tif (l <= 8) {\n\t\t\ty = (l * 100) / 903.3;\n\t\t\ty2 = (7.787 * (y / 100)) + (16 / 116);\n\t\t} else {\n\t\t\ty = 100 * Math.pow((l + 16) / 116, 3);\n\t\t\ty2 = Math.pow(y / 100, 1/3);\n\t\t}\n\n\t\tx = x / 95.047 <= 0.008856 ? x = (95.047 * ((a / 500) + y2 - (16 / 116))) / 7.787 : 95.047 * Math.pow((a / 500) + y2, 3);\n\n\t\tz = z / 108.883 <= 0.008859 ? z = (108.883 * (y2 - (b / 200) - (16 / 116))) / 7.787 : 108.883 * Math.pow(y2 - (b / 200), 3);\n\n\t\treturn [x, y, z];\n\t}\n};\n\n\n//extend xyz\nxyz.lab = function(xyz){\n\tvar x = xyz[0],\n\t\t\ty = xyz[1],\n\t\t\tz = xyz[2],\n\t\t\tl, a, b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1/3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1/3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1/3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n","/**\n * RGB space.\n *\n * @module color-space/rgb\n */\n'use strict'\n\nmodule.exports = {\n\tname: 'rgb',\n\tmin: [0,0,0],\n\tmax: [255,255,255],\n\tchannel: ['red', 'green', 'blue'],\n\talias: ['RGB']\n};\n","/**\n * CIE XYZ\n *\n * @module color-space/xyz\n */\n'use strict'\n\nvar rgb = require('./rgb');\n\nvar xyz = {\n\tname: 'xyz',\n\tmin: [0,0,0],\n\tchannel: ['X','Y','Z'],\n\talias: ['XYZ', 'ciexyz', 'cie1931']\n};\n\n\n/**\n * Whitepoint reference values with observer/illuminant\n *\n * http://en.wikipedia.org/wiki/Standard_illuminant\n */\nxyz.whitepoint = {\n\t//1931 2°\n\t2: {\n\t\t//incadescent\n\t\tA:[109.85, 100, 35.585],\n\t\t// B:[],\n\t\tC: [98.074, 100, 118.232],\n\t\tD50: [96.422, 100, 82.521],\n\t\tD55: [95.682, 100, 92.149],\n\t\t//daylight\n\t\tD65: [95.045592705167, 100, 108.9057750759878],\n\t\tD75: [94.972, 100, 122.638],\n\t\t//flourescent\n\t\t// F1: [],\n\t\tF2: [99.187, 100, 67.395],\n\t\t// F3: [],\n\t\t// F4: [],\n\t\t// F5: [],\n\t\t// F6:[],\n\t\tF7: [95.044, 100, 108.755],\n\t\t// F8: [],\n\t\t// F9: [],\n\t\t// F10: [],\n\t\tF11: [100.966, 100, 64.370],\n\t\t// F12: [],\n\t\tE: [100,100,100]\n\t},\n\n\t//1964 10°\n\t10: {\n\t\t//incadescent\n\t\tA:[111.144, 100, 35.200],\n\t\tC: [97.285, 100, 116.145],\n\t\tD50: [96.720, 100, 81.427],\n\t\tD55: [95.799, 100, 90.926],\n\t\t//daylight\n\t\tD65: [94.811, 100, 107.304],\n\t\tD75: [94.416, 100, 120.641],\n\t\t//flourescent\n\t\tF2: [103.280, 100, 69.026],\n\t\tF7: [95.792, 100, 107.687],\n\t\tF11: [103.866, 100, 65.627],\n\t\tE: [100,100,100]\n\t}\n};\n\n\n/**\n * Top values are the whitepoint’s top values, default are D65\n */\nxyz.max = xyz.whitepoint[2].D65;\n\n\n/**\n * Transform xyz to rgb\n *\n * @param {Array} xyz Array of xyz values\n *\n * @return {Array} RGB values\n */\nxyz.rgb = function (_xyz, white) {\n\t//FIXME: make sure we have to divide like this. Probably we have to replace matrix as well then\n\twhite = white || xyz.whitepoint[2].E;\n\n\tvar x = _xyz[0] / white[0],\n\t\ty = _xyz[1] / white[1],\n\t\tz = _xyz[2] / white[2],\n\t\tr, g, b;\n\n\t// assume sRGB\n\t// http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html\n\tr = (x * 3.240969941904521) + (y * -1.537383177570093) + (z * -0.498610760293);\n\tg = (x * -0.96924363628087) + (y * 1.87596750150772) + (z * 0.041555057407175);\n\tb = (x * 0.055630079696993) + (y * -0.20397695888897) + (z * 1.056971514242878);\n\n\tr = r > 0.0031308 ? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055)\n\t\t: r = (r * 12.92);\n\n\tg = g > 0.0031308 ? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)\n\t\t: g = (g * 12.92);\n\n\tb = b > 0.0031308 ? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055)\n\t\t: b = (b * 12.92);\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n}\n\n\n\n/**\n * RGB to XYZ\n *\n * @param {Array} rgb RGB channels\n *\n * @return {Array} XYZ channels\n */\nrgb.xyz = function(rgb, white) {\n\tvar r = rgb[0] / 255,\n\t\t\tg = rgb[1] / 255,\n\t\t\tb = rgb[2] / 255;\n\n\t// assume sRGB\n\tr = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);\n\n\tvar x = (r * 0.41239079926595) + (g * 0.35758433938387) + (b * 0.18048078840183);\n\tvar y = (r * 0.21263900587151) + (g * 0.71516867876775) + (b * 0.072192315360733);\n\tvar z = (r * 0.019330818715591) + (g * 0.11919477979462) + (b * 0.95053215224966);\n\n\twhite = white || xyz.whitepoint[2].E;\n\n\treturn [x * white[0], y * white[1], z * white[2]];\n};\n\n\n\nmodule.exports = xyz;\n","/*! loadCSS. [c]2020 Filament Group, Inc. MIT License */\n(function(w){\n\t\"use strict\";\n\t/* exported loadCSS */\n\tvar loadCSS = function( href, before, media, attributes ){\n\t\t// Arguments explained:\n\t\t// `href` [REQUIRED] is the URL for your CSS file.\n\t\t// `before` [OPTIONAL] is the element the script should use as a reference for injecting our stylesheet before\n\t\t// By default, loadCSS attempts to inject the link after the last stylesheet or script in the DOM. However, you might desire a more specific location in your document.\n\t\t// `media` [OPTIONAL] is the media type or query of the stylesheet. By default it will be 'all'\n\t\t// `attributes` [OPTIONAL] is the Object of attribute name/attribute value pairs to set on the stylesheet's DOM Element.\n\t\tvar doc = w.document;\n\t\tvar ss = doc.createElement( \"link\" );\n\t\tvar ref;\n\t\tif( before ){\n\t\t\tref = before;\n\t\t}\n\t\telse {\n\t\t\tvar refs = ( doc.body || doc.getElementsByTagName( \"head\" )[ 0 ] ).childNodes;\n\t\t\tref = refs[ refs.length - 1];\n\t\t}\n\n\t\tvar sheets = doc.styleSheets;\n\t\t// Set any of the provided attributes to the stylesheet DOM Element.\n\t\tif( attributes ){\n\t\t\tfor( var attributeName in attributes ){\n\t\t\t\tif( attributes.hasOwnProperty( attributeName ) ){\n\t\t\t\t\tss.setAttribute( attributeName, attributes[attributeName] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tss.rel = \"stylesheet\";\n\t\tss.href = href;\n\t\t// temporarily set media to something inapplicable to ensure it'll fetch without blocking render\n\t\tss.media = \"only x\";\n\n\t\t// wait until body is defined before injecting link. This ensures a non-blocking load in IE11.\n\t\tfunction ready( cb ){\n\t\t\tif( doc.body ){\n\t\t\t\treturn cb();\n\t\t\t}\n\t\t\tsetTimeout(function(){\n\t\t\t\tready( cb );\n\t\t\t});\n\t\t}\n\t\t// Inject link\n\t\t\t// Note: the ternary preserves the existing behavior of \"before\" argument, but we could choose to change the argument to \"after\" in a later release and standardize on ref.nextSibling for all refs\n\t\t\t// Note: `insertBefore` is used instead of `appendChild`, for safety re: http://www.paulirish.com/2011/surefire-dom-element-insertion/\n\t\tready( function(){\n\t\t\tref.parentNode.insertBefore( ss, ( before ? ref : ref.nextSibling ) );\n\t\t});\n\t\t// A method (exposed on return object for external use) that mimics onload by polling document.styleSheets until it includes the new sheet.\n\t\tvar onloadcssdefined = function( cb ){\n\t\t\tvar resolvedHref = ss.href;\n\t\t\tvar i = sheets.length;\n\t\t\twhile( i-- ){\n\t\t\t\tif( sheets[ i ].href === resolvedHref ){\n\t\t\t\t\treturn cb();\n\t\t\t\t}\n\t\t\t}\n\t\t\tsetTimeout(function() {\n\t\t\t\tonloadcssdefined( cb );\n\t\t\t});\n\t\t};\n\n\t\tfunction loadCB(){\n\t\t\tif( ss.addEventListener ){\n\t\t\t\tss.removeEventListener( \"load\", loadCB );\n\t\t\t}\n\t\t\tss.media = media || \"all\";\n\t\t}\n\n\t\t// once loaded, set link's media back to `all` so that the stylesheet applies once it loads\n\t\tif( ss.addEventListener ){\n\t\t\tss.addEventListener( \"load\", loadCB);\n\t\t}\n\t\tss.onloadcssdefined = onloadcssdefined;\n\t\tonloadcssdefined( loadCB );\n\t\treturn ss;\n\t};\n\t// commonjs\n\tif( typeof exports !== \"undefined\" ){\n\t\texports.loadCSS = loadCSS;\n\t}\n\telse {\n\t\tw.loadCSS = loadCSS;\n\t}\n}( typeof global !== \"undefined\" ? global : this ));\n","'use strict'\n\nvar messageIds = 0\n\nfunction onMessage (self, e) {\n var message = e.data\n if (!Array.isArray(message) || message.length < 2) {\n // Ignore - this message is not for us.\n return\n }\n var messageId = message[0]\n var error = message[1]\n var result = message[2]\n\n var callback = self._callbacks[messageId]\n\n if (!callback) {\n // Ignore - user might have created multiple PromiseWorkers.\n // This message is not for us.\n return\n }\n\n delete self._callbacks[messageId]\n callback(error, result)\n}\n\nfunction PromiseWorker (worker) {\n var self = this\n self._worker = worker\n self._callbacks = {}\n\n worker.addEventListener('message', function (e) {\n onMessage(self, e)\n })\n}\n\nPromiseWorker.prototype.postMessage = function (userMessage) {\n var self = this\n var messageId = messageIds++\n\n var messageToSend = [messageId, userMessage]\n\n return new Promise(function (resolve, reject) {\n self._callbacks[messageId] = function (error, result) {\n if (error) {\n return reject(new Error(error.message))\n }\n resolve(result)\n }\n\n /* istanbul ignore if */\n if (typeof self._worker.controller !== 'undefined') {\n // service worker, use MessageChannels because e.source is broken in Chrome < 51:\n // https://bugs.chromium.org/p/chromium/issues/detail?id=543198\n var channel = new MessageChannel()\n channel.port1.onmessage = function (e) {\n onMessage(self, e)\n }\n self._worker.controller.postMessage(messageToSend, [channel.port2])\n } else {\n // web worker\n self._worker.postMessage(messageToSend)\n }\n })\n}\n\nmodule.exports = PromiseWorker\n","/**\n * default option\n */\nconst defaults = {\n src: \"data-src\",\n srcset: \"data-srcset\",\n selector: \".lazyload\",\n root: null,\n rootMargin: \"0px\",\n threshold: 0\n};\n/**\n * @class LazyLoad\n */\nexport default class LazyLoad {\n constructor(elms, options) {\n this.obs = null;\n this.doLoad = (element) => {\n const { settings } = this;\n const src = element.getAttribute(settings.src);\n const srcset = element.getAttribute(settings.srcset);\n const tagName = element.tagName.toLowerCase();\n if (tagName === 'video') {\n if (src) {\n element.src = src;\n }\n }\n else if (tagName === 'img') {\n if (src) {\n element.src = src;\n }\n if (srcset) {\n //@ts-ignore\n element.srcset = srcset;\n }\n }\n else {\n element.style.backgroundImage = \"url('\" + src + \"')\";\n }\n };\n this.settings = Object.assign(Object.assign({}, defaults), options);\n this.elms = elms || document.querySelectorAll(this.settings.selector);\n this.init();\n }\n init() {\n /* Without observers load everything and bail out early. */\n if (!IntersectionObserver) {\n this.load();\n return;\n }\n const self = this;\n this.obs = new IntersectionObserver(function (entries) {\n Array.prototype.forEach.call(entries, function (entry) {\n if (entry.isIntersecting) {\n self.obs.unobserve(entry.target);\n self.doLoad(entry.target);\n }\n });\n }, {\n root: this.settings.root,\n rootMargin: this.settings.rootMargin,\n threshold: [this.settings.threshold]\n });\n this.elms.forEach((image) => {\n self.obs.observe(image);\n });\n }\n loadAndDestroy() {\n if (!this.settings) {\n return;\n }\n this.load();\n this.destroy();\n }\n load() {\n if (!this.settings) {\n return;\n }\n const { settings } = this;\n Array.prototype.forEach.call(this.elms, this.doLoad);\n }\n /**\n * Destroy Lazyload Instance\n * @returns\n */\n destroy() {\n if (!this.settings) {\n return;\n }\n this.obs.disconnect();\n this.settings = null;\n }\n}\nexport const lazyload = (images, options) => new LazyLoad(images, options);\n","export function clearButterbar() {\n const butterBar = document.getElementsByClassName(\"butterBar\");\n if (butterBar.length > 0) {\n for (let i = 0; i < butterBar.length; i++) {\n butterBar[i].remove();\n }\n }\n}\nexport function createButterbar(message, keep) {\n clearButterbar();\n /* document.body.insertAdjacentHTML('beforeend', '');\n */\n const div = document.createElement('div');\n const p = document.createElement('p');\n div.classList.add('butterBar', 'butterBar--center');\n p.classList.add('butterBar-message');\n p.innerHTML = message;\n div.appendChild(p);\n document.body.appendChild(div);\n if (keep !== true)\n setTimeout(() => { clearButterbar(); }, typeof keep == 'number' ? keep : 6000);\n return div;\n}\n","let readyFunctionList = [];\n/**\n * 传入的函数同时间只能运行一个\n * @param func 要包装的函数\n * @returns 包装后的函数\n */\nexport const onlyOnceATime = (func) => {\n let isRunning = false;\n return (...args) => {\n if (!isRunning) {\n isRunning = true;\n try {\n const result = func(...args);\n if (result instanceof Promise) {\n result.finally(() => isRunning = false);\n }\n else {\n isRunning = false;\n }\n return result;\n }\n catch (e) {\n console.warn(e);\n isRunning = false;\n }\n }\n };\n};\nconst whileReady = () => {\n document.removeEventListener('DOMContentLoaded', whileReady);\n for (const fn of readyFunctionList) {\n fn();\n }\n readyFunctionList = [];\n};\n/**\n * 延迟函数到DOM树加载完成后执行\n * @seealso https://developer.mozilla.org/zh-CN/docs/Web/API/Document/readyState\n * @param fn 要延迟执行的函数\n */\nexport const ready = function (fn) {\n //interactive:等价于事件DOMContentLoaded\n //complete:等价于事件load\n if (document.readyState !== 'loading') {\n return fn();\n }\n if (readyFunctionList.length == 0) {\n document.addEventListener('DOMContentLoaded', whileReady, false);\n }\n readyFunctionList.push(fn);\n};\n/* export const max = (a: number, b: number) => a > b ? a : b\n */ export const min = (a, b) => a < b ? a : b;\n/**\n * 获取文件名的主名部分(即去除扩展名)\n * @param fileName 文件名\n * @returns 主名\n */\nexport const getFileNameMain = (fileName) => fileName.replace(/\\.\\w+$/, '');\nexport function slideToggle(el, duration = 1000, mode = '', callback) {\n let dom = el;\n dom.status = dom.status || getComputedStyle(dom, null)['display'];\n const flag = dom.status != 'none';\n if ((flag == true && mode == \"show\") || (flag == false && mode == \"hide\"))\n return;\n dom.status = flag ? 'none' : 'block';\n dom.style.transition = 'height ' + duration / 1000 + 's';\n dom.style.overflow = 'hidden';\n clearTimeout(dom.tagTimer);\n dom.tagTimer = dom.tagTimer || null;\n dom.style.display = 'block';\n dom.tagHeight = dom.tagHeight || dom.clientHeight + 'px';\n dom.style.display = '';\n dom.style.height = flag ? dom.tagHeight : \"0px\";\n setTimeout(() => {\n dom.style.height = flag ? \"0px\" : dom.tagHeight;\n }, 0);\n dom.tagTimer = setTimeout(() => {\n dom.style.display = flag ? 'none' : 'block';\n dom.style.transition = '';\n dom.style.overflow = '';\n dom.style.height = '';\n dom.status = dom.tagHeight = null;\n }, duration);\n if (callback)\n callback();\n}\nexport function buildAPI(apiPath, params = {}, nonce = true) {\n const path = new URL(apiPath);\n const { searchParams } = path;\n for (const [key, value] of Object.entries(params)) {\n searchParams.set(key, value);\n }\n if (nonce)\n searchParams.set(\"_wpnonce\", Poi.nonce);\n return path.toString();\n}\n","const mediaQuery = window.matchMedia('(prefers-color-scheme:dark)');\nlet inDarkMode = false;\nexport const isInDarkMode = () => inDarkMode;\nfunction informDarkModeChange(nextValue) {\n if (nextValue !== inDarkMode) {\n document.dispatchEvent(new CustomEvent(\"darkmode\", { detail: nextValue }));\n inDarkMode = nextValue;\n }\n}\nfunction mediaQueryCallback() {\n const dark = localStorage.getItem(\"dark\");\n //仅在深色模式不是用户主动设置时触发\n if (!dark) {\n if (mediaQuery.matches && mashiro_option.darkmode) {\n turnOnDarkMode();\n }\n else {\n turnOffDarkMode();\n }\n }\n}\nif (mashiro_option.dm_strategy === 'client') {\n mediaQuery.removeEventListener ? mediaQuery.removeEventListener('change', mediaQueryCallback) : mediaQuery.removeListener(mediaQueryCallback);\n mediaQuery.addEventListener ? mediaQuery.addEventListener('change', mediaQueryCallback) : mediaQuery.addListener(mediaQueryCallback);\n}\nfunction saveUserSetting(value) {\n if (value == ifDarkmodeShouldOn()) {\n //用户设置与自动切换深色模式判断一致时,恢复自动切换\n localStorage.removeItem('dark');\n }\n else {\n if (value == true) {\n localStorage.setItem(\"dark\", \"1\");\n }\n else {\n localStorage.setItem(\"dark\", \"0\");\n }\n }\n //localStorage.setItem(\"bgImgSetting\", \"white-bg\");\n}\nexport function turnOnDarkMode(userTriggered) {\n document.documentElement.style.backgroundColor = \"#333\";\n document.getElementsByClassName(\"site-content\")[0].style.backgroundColor = \"#333\";\n document.body.classList.add(\"dark\");\n if (userTriggered)\n saveUserSetting(true);\n informDarkModeChange(true);\n}\nexport function turnOffDarkMode(userTriggered) {\n document.documentElement.style.backgroundColor = \"\";\n document.getElementsByClassName(\"site-content\")[0].style.backgroundColor = \"rgba(255, 255, 255, .8)\";\n document.body.classList.remove(\"dark\");\n document.body.classList.remove(\"dynamic\");\n informDarkModeChange(false);\n if (userTriggered) {\n saveUserSetting(false);\n //document.body.style.backgroundImage = `url(${mashiro_option.skin_bg0})`;\n }\n}\n/**\n * 检查是否在深色模式时间\n * @returns {boolean}\n */\nfunction checkTime() {\n const today = new Date();\n return (today.getHours() > 21 || today.getHours() < 7);\n}\nexport function ifDarkmodeShouldOn() {\n switch (mashiro_option.dm_strategy) {\n case 'client':\n return mediaQuery.matches;\n case 'eien':\n return true;\n default: /**case time */\n return checkTime();\n }\n}\nexport function checkDarkModeSetting() {\n const dark = localStorage.getItem(\"dark\");\n if (!dark) {\n //无用户设置时,自动切换深色模式\n if (ifDarkmodeShouldOn() && mashiro_option.darkmode) {\n turnOnDarkMode();\n }\n else {\n turnOffDarkMode();\n }\n }\n else {\n if (dark == '1') {\n turnOnDarkMode();\n }\n else {\n turnOffDarkMode();\n }\n }\n}\n/* function mobile_dark_light() {\n if (document.body.classList.contains(\"dark\")) {\n document.documentElement.style.background = \"unset\";\n document.body.classList.remove(\"dark\");\n document.getElementById(\"moblieDarkLight\").innerHTML = '';\n setCookie(\"dark\", \"0\", 0.33);\n } else {\n document.documentElement.style.background = \"#333333\";\n document.getElementById(\"moblieDarkLight\").innerHTML = '';\n document.body.classList.add(\"dark\");\n setCookie(\"dark\", \"1\", 0.33);\n }\n} */ \n","/**\n *\n * @param key 这段句子的中文表述(默认语言)\n */\n//@ts-ignore\nexport const __ = (defaultStr) => (window._sakurairoi18n && _sakurairoi18n[defaultStr]) || defaultStr;\n/**\n *\n * 占位符格式 {index} ex.{0}\n * @param defaultStr 这段句子的中文表述(默认语言)\n * @param replacements 句子中占位符的替代元素\n */\nexport const _$ = (defaultStr, ...replacements) => {\n let template = __(defaultStr);\n for (const index in replacements) {\n template = template.replace('{' + index + '}', replacements[index]);\n }\n return template;\n};\nexport const sakurairoGlobal = {\n opt: {},\n /* _sys_call:sys_call\n */ \n};\n/**\n * 在sakurairoGlobal注册一个对象\n * @param key\n * @param value\n * @returns\n */\nexport const registerOnGlobal = (key, value) => Object.defineProperty(sakurairoGlobal, key, {\n value: value,\n writable: false,\n enumerable: true,\n});\nif ('_sakurairo' in window) {\n //@ts-ignore\n const _sakurairo = window._sakurairo;\n if ('opt' in _sakurairo) {\n sakurairoGlobal.opt = _sakurairo.opt;\n }\n}\n//@ts-ignore\nwindow._sakurairo = sakurairoGlobal;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + ({\"8\":\"lg-plugin-0\",\"238\":\"lg-plugin-1\",\"359\":\"lg-plugin-5\",\"400\":\"lg-plugin-4\",\"515\":\"lg-plugin-6\",\"568\":\"lg-plugin-10\",\"642\":\"lg-plugin-8\",\"649\":\"lg-plugin-3\",\"719\":\"lg-plugin-11\",\"725\":\"lg-plugin-9\",\"846\":\"lg-plugin-2\",\"893\":\"lg-plugin-7\"}[chunkId] || chunkId) + \".js\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkIds[i]] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunksakurairo_scripts\"] = self[\"webpackChunksakurairo_scripts\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","/**\n * Work around Safari 14 IndexedDB open bug.\n *\n * Safari has a horrible bug where IDB requests can hang while the browser is starting up. https://bugs.webkit.org/show_bug.cgi?id=226547\n * The only solution is to keep nudging it until it's awake.\n */\nfunction idbReady() {\n var isSafari = !navigator.userAgentData &&\n /Safari\\//.test(navigator.userAgent) &&\n !/Chrom(e|ium)\\//.test(navigator.userAgent);\n // No point putting other browsers or older versions of Safari through this mess.\n if (!isSafari || !indexedDB.databases)\n return Promise.resolve();\n var intervalId;\n return new Promise(function (resolve) {\n var tryIdb = function () { return indexedDB.databases().finally(resolve); };\n intervalId = setInterval(tryIdb, 100);\n tryIdb();\n }).finally(function () { return clearInterval(intervalId); });\n}\n\nexport default idbReady;\n","import safariFix from 'safari-14-idb-fix';\n\nfunction promisifyRequest(request) {\n return new Promise((resolve, reject) => {\n // @ts-ignore - file size hacks\n request.oncomplete = request.onsuccess = () => resolve(request.result);\n // @ts-ignore - file size hacks\n request.onabort = request.onerror = () => reject(request.error);\n });\n}\nfunction createStore(dbName, storeName) {\n const dbp = safariFix().then(() => {\n const request = indexedDB.open(dbName);\n request.onupgradeneeded = () => request.result.createObjectStore(storeName);\n return promisifyRequest(request);\n });\n return (txMode, callback) => dbp.then((db) => callback(db.transaction(storeName, txMode).objectStore(storeName)));\n}\nlet defaultGetStoreFunc;\nfunction defaultGetStore() {\n if (!defaultGetStoreFunc) {\n defaultGetStoreFunc = createStore('keyval-store', 'keyval');\n }\n return defaultGetStoreFunc;\n}\n/**\n * Get a value by its key.\n *\n * @param key\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction get(key, customStore = defaultGetStore()) {\n return customStore('readonly', (store) => promisifyRequest(store.get(key)));\n}\n/**\n * Set a value with a key.\n *\n * @param key\n * @param value\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction set(key, value, customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => {\n store.put(value, key);\n return promisifyRequest(store.transaction);\n });\n}\n/**\n * Set multiple values at once. This is faster than calling set() multiple times.\n * It's also atomic – if one of the pairs can't be added, none will be added.\n *\n * @param entries Array of entries, where each entry is an array of `[key, value]`.\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction setMany(entries, customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => {\n entries.forEach((entry) => store.put(entry[1], entry[0]));\n return promisifyRequest(store.transaction);\n });\n}\n/**\n * Get multiple values by their keys\n *\n * @param keys\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction getMany(keys, customStore = defaultGetStore()) {\n return customStore('readonly', (store) => Promise.all(keys.map((key) => promisifyRequest(store.get(key)))));\n}\n/**\n * Update a value. This lets you see the old value and update it as an atomic operation.\n *\n * @param key\n * @param updater A callback that takes the old value and returns a new value.\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction update(key, updater, customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => \n // Need to create the promise manually.\n // If I try to chain promises, the transaction closes in browsers\n // that use a promise polyfill (IE10/11).\n new Promise((resolve, reject) => {\n store.get(key).onsuccess = function () {\n try {\n store.put(updater(this.result), key);\n resolve(promisifyRequest(store.transaction));\n }\n catch (err) {\n reject(err);\n }\n };\n }));\n}\n/**\n * Delete a particular key from the store.\n *\n * @param key\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction del(key, customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => {\n store.delete(key);\n return promisifyRequest(store.transaction);\n });\n}\n/**\n * Delete multiple keys at once.\n *\n * @param keys List of keys to delete.\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction delMany(keys, customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => {\n keys.forEach((key) => store.delete(key));\n return promisifyRequest(store.transaction);\n });\n}\n/**\n * Clear all values in the store.\n *\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction clear(customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => {\n store.clear();\n return promisifyRequest(store.transaction);\n });\n}\nfunction eachCursor(customStore, callback) {\n return customStore('readonly', (store) => {\n // This would be store.getAllKeys(), but it isn't supported by Edge or Safari.\n // And openKeyCursor isn't supported by Safari.\n store.openCursor().onsuccess = function () {\n if (!this.result)\n return;\n callback(this.result);\n this.result.continue();\n };\n return promisifyRequest(store.transaction);\n });\n}\n/**\n * Get all keys in the store.\n *\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction keys(customStore = defaultGetStore()) {\n const items = [];\n return eachCursor(customStore, (cursor) => items.push(cursor.key)).then(() => items);\n}\n/**\n * Get all values in the store.\n *\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction values(customStore = defaultGetStore()) {\n const items = [];\n return eachCursor(customStore, (cursor) => items.push(cursor.value)).then(() => items);\n}\n/**\n * Get all entries in the store. Each entry is an array of `[key, value]`.\n *\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction entries(customStore = defaultGetStore()) {\n const items = [];\n return eachCursor(customStore, (cursor) => items.push([cursor.key, cursor.value])).then(() => items);\n}\n\nexport { clear, createStore, del, delMany, entries, get, getMany, keys, promisifyRequest, set, setMany, update, values };\n","import { createStore, promisifyRequest } from 'idb-keyval';\nconst store = createStore('sakurairo', 'cache');\nconst get = (key) => store('readonly', (store) => promisifyRequest(store.get(key)));\nconst set = (key, value) => store('readwrite', (store) => {\n store.put(value, key);\n return promisifyRequest(store.transaction);\n});\nconst del = (key) => store('readwrite', (store) => {\n store.delete(key);\n return promisifyRequest(store.transaction);\n});\nexport { get, set, del };\n","var _a;\n/**\n * Cookie\n * from github.com/mirai-mamori/Sakurairo ./js/sakura-app.js ,commit 71f5a0c\n * @license GPL-v2\n * @date 2021.03\n */\nlet _version_ctrl = (_a = mashiro_option.cookie_version_control) !== null && _a !== void 0 ? _a : '';\nexport function setCookie(key, value, days) {\n const expires = days ? \"; expires=\" + new Date(Date.now() + (days * 24 * 60 * 60 * 1000)).toUTCString() : \"\";\n document.cookie = key + _version_ctrl + \"=\" + (value || \"\") + expires + \"; path=/\";\n}\nexport function getCookie(key) {\n const nameEQ = key + _version_ctrl + \"=\", ca = document.cookie.split(';');\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i];\n while (c.charAt(0) == ' ')\n c = c.substring(1, c.length);\n if (c.indexOf(nameEQ) == 0)\n return c.substring(nameEQ.length, c.length);\n }\n return null;\n}\nexport function removeCookie(key) {\n document.cookie = key + _version_ctrl + '=; Max-Age=-99999999;';\n}\n","const UA = navigator.userAgent;\n/**\n * 关于AppleWebkit与Safari版本的对应,参考:\n * @seealso https://gist.github.com/jakub-g/48a16195280a7023f570ffa5c8a4eae5\n * @seealso https://en.wikipedia.org/wiki/Safari_version_history\n *\n * Opera浏览器自15以来更换了User Agent\n * OPR/*\n */\nconst uaMatches = Array.from(UA.matchAll(/(Firefox|Chrome|AppleWebkit|OPR|Edg)\\/(\\d+)/ig));\nimport { setCookie } from '../common/cookie';\nfunction setAcceptImage() {\n const acceptList = ['image/*,*/*;q=0.8'];\n if (isSupported({ Chrome: 59, OPR: 46, Firefox: 3, Edg: 79, AppleWebKit: 600 /**Safari 8 */ })) {\n acceptList.push('image/apng');\n if (isSupported({ Chrome: 32, OPR: 19, Firefox: 65, Edg: 18, AppleWebKit: 605 /**Safari 14 */ })) {\n setCookie('su_webp', '1', 114514);\n acceptList.push('image/webp');\n if (isSupported({ Chrome: 85, OPR: 71, Firefox: 93 })) {\n acceptList.push('image/avif');\n }\n }\n }\n return acceptList.reverse().join(',');\n}\nexport function isSupported(checkList) {\n for (const [_, name, version] of uaMatches) {\n if (parseFloat(version) >= checkList[name]) {\n return true;\n }\n }\n return false;\n}\nexport const Accept_Image = setAcceptImage();\n","import { get, set, del } from './cache';\nimport { Accept_Image } from './compatibility';\nimport { __ } from './sakurairo_global';\nlet bgn = 1;\nlet blob_url = '';\nexport async function nextBG() {\n changeCoverBG(await getCoverPath(true));\n bgn++;\n}\nexport async function preBG() {\n bgn--;\n changeCoverBG(await getCoverPath(true));\n}\nconst centerbg = document.querySelector(\".centerbg\");\n/**\n * 更改封面背景\n */\nconst changeCoverBG = mashiro_option.site_bg_as_cover ? (url) => {\n document.body.style.backgroundImage = `url(${url})`;\n document.dispatchEvent(new CustomEvent('coverBG_change', { detail: url }));\n} :\n centerbg ? (url) => {\n centerbg.style.backgroundImage = `url(${url})`;\n document.dispatchEvent(new CustomEvent('coverBG_change', { detail: url }));\n } : () => { };\nfunction parseCSSUrl(cssText) {\n const result = cssText === null || cssText === void 0 ? void 0 : cssText.match(/^url\\((.+)\\)$/);\n if (result) {\n return result[1];\n }\n}\n/**\n * 返回当前封面背景的URL\n */\nexport const getCurrentBG = mashiro_option.site_bg_as_cover ? () => parseCSSUrl(document.body.style.backgroundImage)\n : () => { var _a; return parseCSSUrl((_a = document.querySelector(\".centerbg\")) === null || _a === void 0 ? void 0 : _a.style.backgroundImage); };\nfunction getAPIPath(useBGN = false) {\n const cover_api_url = new URL(mashiro_option.cover_api);\n if (document.body.clientWidth < 860 && mashiro_option.random_graphs_mts == true) {\n cover_api_url.searchParams.set('type', 'mobile');\n return cover_api_url.toString() + (useBGN ? \"&\" + bgn : '');\n }\n else {\n return cover_api_url.toString() + (useBGN ? (cover_api_url.search === '' ? \"?\" : '&') + bgn : '');\n }\n}\nexport const getCoverPath = mashiro_option.cache_cover ? (useBGN = false) => get('cover').then(coverBG => {\n if (coverBG && coverBG instanceof ArrayBuffer) {\n cleanBlobUrl();\n blob_url = URL.createObjectURL(new Blob([coverBG]));\n return blob_url;\n }\n else {\n //fallback\n return getAPIPath(useBGN);\n }\n}).finally(() => {\n fetchAndCache(useBGN);\n})\n : getAPIPath;\nasync function fetchAndCache(useBGN = false) {\n try {\n const resp = await fetch(getAPIPath(useBGN), { headers: { Accept: Accept_Image } });\n if (resp.ok) {\n const buf = await resp.arrayBuffer();\n try {\n set('cover', buf);\n /**\n * @problem Safari暂时不支持indexdb存储blob\n * DataCloneError: Failed to store record in an IDBObjectStore: BlobURLs are not yet supported.\n * @seealso https://developers.google.com/web/fundamentals/instant-and-offline/web-storage/indexeddb-best-practices#keeping_your_app_predictable\n */\n }\n catch (e) {\n //catch: FireFox无痕模式下数据库不允许修改\n /**\n * @problem FireFox无痕模式下数据库不允许修改\n * DOMException: A mutation operation was attempted on a database that did not allow mutations\n * Chrome不会报错\n * 像是火狐的设计 https://wiki.mozilla.org/Private_Browsing#Persistent_Storage\n * 变通方法 https://bugzilla.mozilla.org/show_bug.cgi?id=1639542#c9\n */\n console.warn(e);\n }\n }\n }\n catch (e) {\n if (e instanceof TypeError) {\n console.warn(__('你的封面API好像不支持跨域调用,这种情况下缓存是不会生效的哦'));\n del('cover');\n }\n }\n}\nfunction cleanBlobUrl() {\n URL.revokeObjectURL(blob_url);\n blob_url = '';\n}\nexport async function initCoverBG() {\n if (mashiro_option.site_bg_as_cover) {\n if (centerbg)\n centerbg.style.background = '#0000';\n if (localStorage.getItem('bgImgSetting') !== 'white-bg') {\n return;\n }\n }\n else if (!mashiro_option.land_at_home)\n return; //防止.centerbg在非主页加载图片\n changeCoverBG(await getCoverPath());\n}\n","import { createButterbar } from \"../common/butterbar\";\nimport { __ } from \"./sakurairo_global\";\nconst txt = [\n \"# 商业转载请联系作者获得授权,非商业转载请注明出处。\",\n \"# For commercial use, please contact the author for authorization. For non-commercial use, please indicate the source.\",\n \"# 协议(License):署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)\",\n \"# 作者(Author):\" + mashiro_option.author_name,\n \"# 链接(URL):\" + window.location.href,\n \"# 来源(Source):\" + mashiro_option.site_name,\n];\nfunction setClipboardText(event, selectionTxt) {\n event.preventDefault();\n const htmlData = txt.join('
') + \"
\" + selectionTxt.replace(/\\r\\n/g, \"
\"), textData = txt.join('\\n') + \"\\n\\n\" + selectionTxt.toString().replace(/\\r\\n/g, \"\\n\");\n if (event.clipboardData) {\n event.clipboardData.setData(\"text/html\", htmlData);\n event.clipboardData.setData(\"text/plain\", textData);\n }\n else if (window.clipboardData) {\n //deprecate?\n return window.clipboardData.setData(\"text\", textData);\n }\n}\nfunction copytext(e) {\n const selection = window.getSelection();\n if (selection) {\n const selectionText = selection.toString();\n if (selectionText.length > 30) {\n setClipboardText(e, selectionText);\n createButterbar(__(\"复制成功!\"), 1000);\n }\n }\n}\n/**\n * 添加复制时的版权提示\n */\nexport default function add_copyright() {\n if (mashiro_option.clipboardCopyright) {\n document.body.removeEventListener(\"copy\", copytext);\n document.body.addEventListener(\"copy\", copytext);\n }\n}\n","export default function () {\n const preload = document.getElementById(\"preload\");\n if (preload) {\n if (document.readyState === 'complete')\n return removeScreen(preload);\n window.addEventListener('load', () => {\n removeScreen(preload);\n });\n }\n}\nfunction removeScreen(preload) {\n document.documentElement.style.overflowY = 'unset';\n if (mashiro_option.preload_blur != 0) {\n try {\n preload.animate([\n { filter: \"blur(0px)\", backdropFilter: \"blur(10px)\", opacity: 1 },\n { backdropFilter: \"blur(0px)grayscale(0)\", opacity: 0.1 },\n { opacity: 0, filter: \"blur(100px)\", }\n ], { duration: mashiro_option.preload_blur, fill: \"forwards\", easing: \"ease\" }).onfinish = () => {\n preload.remove();\n };\n return;\n }\n catch (error) {\n console.warn(error);\n }\n }\n preload.classList.add('hide');\n preload.classList.remove('show');\n setTimeout(() => preload.remove(), 233);\n}\n","export default async function hitokoto() {\n var _a;\n if (mashiro_option.yiyan) {\n const yiyan = document.getElementById(\"footer_yiyan\");\n const api_group = (_a = mashiro_option.yiyan_api) !== null && _a !== void 0 ? _a : [\"https://api.maho.cc/yiyan/\"];\n if (api_group.length == 0) {\n console.warn('一言API路径为空');\n }\n else if (yiyan) {\n for (const api_path of mashiro_option.yiyan_api) {\n try {\n const txt = await request(api_path);\n yiyan.innerText = txt;\n break;\n }\n catch (e) {\n console.warn(`一言api: 尝试联系\"${api_path}\"时出错。\\n`, e);\n continue;\n }\n }\n }\n }\n}\nconst request = async (api) => {\n const res = await fetch(api, { headers: { Accept: \"application/json\" } });\n if (res.ok) {\n const data = await res.json();\n const from_who = (data.from_who == 'null' ? null : data.from_who) || '';\n const from = data.from != data.from_who ? `「${data['from']}」` : '';\n const hitokoto = data.hitokoto;\n return hitokoto + '——' + from_who + from;\n }\n else {\n throw res.status;\n }\n};\n","import { sakurairoGlobal } from \"./sakurairo_global\";\nexport function web_audio() {\n if (!mashiro_option.audio)\n return;\n //@ts-ignore\n const AudioContext = window.AudioContext || window.webkitAudioContext;\n if (AudioContext) {\n let ctx = new AudioContext, t = readSheetOption() || sheet, i = 0, o = 1, dom, a = \"♪ ♩ ♫ ♬ ♭ € § ¶ ♯\".split(\" \"), selects = document.querySelectorAll(\".site-title, #moblieGoTop, .site-branding, .searchbox, .changeSkin-gear, .menu-list li\");\n selects.forEach((select) => {\n select.addEventListener(\"mouseenter\", (e) => {\n var _a;\n if (dom)\n return;\n let r = t[i];\n if (!r) {\n (i = 0, r = t[i]);\n }\n i += o;\n const c = ctx.createOscillator(), l = ctx.createGain(), mainGain = ctx.createGain();\n c.connect(l);\n l.connect(mainGain);\n mainGain.connect(ctx.destination);\n mainGain.gain.setValueAtTime(((_a = sakurairoGlobal.opt.web_audio) === null || _a === void 0 ? void 0 : _a.main_gain) || 1, ctx.currentTime);\n c.type = \"sine\";\n c.frequency.value = r;\n l.gain.setValueAtTime(0, ctx.currentTime);\n l.gain.linearRampToValueAtTime(1, ctx.currentTime + .01);\n c.start(ctx.currentTime);\n l.gain.exponentialRampToValueAtTime(.001, ctx.currentTime + 1);\n c.stop(ctx.currentTime + 1);\n const d = Math.round(7 * Math.random());\n const h = e.pageX;\n const p = e.pageY - 5;\n dom = document.createElement(\"b\");\n dom.textContent = a[d];\n dom.style.zIndex = \"99999\";\n dom.style.top = p - 100 + \"px\";\n dom.style.left = h + \"px\";\n dom.style.position = \"absolute\";\n dom.style.color = \"#FF6EB4\";\n document.body.appendChild(dom);\n dom.animate([\n { top: p + \"px\" },\n { opacity: 0 }\n ], {\n duration: 500\n });\n setTimeout(() => {\n dom.remove();\n dom = null;\n }, 500);\n e.stopPropagation();\n });\n });\n }\n}\n//欢乐颂\n/*t = \"329.628 329.628 349.228 391.995 391.995 349.228 329.628 293.665 261.626 261.626 293.665 329.628 329.628 293.665 293.665 329.628 329.628 349.228 391.995 391.995 349.228 329.628 293.665 261.626 261.626 293.665 329.628 293.665 261.626 261.626 293.665 293.665 329.628 261.626 293.665 329.628 349.228 329.628 261.626 293.665 329.628 349.228 329.628 293.665 261.626 293.665 195.998 329.628 329.628 349.228 391.995 391.995 349.228 329.628 293.665 261.626 261.626 293.665 329.628 293.665 261.626 261.626\".split(\" \")*/\n//天空之城\nconst sheet = \"880 987 1046 987 1046 1318 987 659 659 880 784 880 1046 784 659 659 698 659 698 1046 659 1046 1046 1046 987 698 698 987 987 880 987 1046 987 1046 1318 987 659 659 880 784 880 1046 784 659 698 1046 987 1046 1174 1174 1174 1046 1046 880 987 784 880 1046 1174 1318 1174 1318 1567 1046 987 1046 1318 1318 1174 784 784 880 1046 987 1174 1046 784 784 1396 1318 1174 659 1318 1046 1318 1760 1567 1567 1318 1174 1046 1046 1174 1046 1174 1567 1318 1318 1760 1567 1318 1174 1046 1046 1174 1046 1174 987 880 880 987 880\".split(\" \");\nfunction readSheetOption() {\n var _a;\n const sheet = (_a = sakurairoGlobal.opt.web_audio) === null || _a === void 0 ? void 0 : _a.sheet;\n if (typeof sheet == 'string') {\n return sheet.split(' ');\n }\n else if (sheet instanceof Array) {\n return sheet;\n }\n}\n","const mainContainer = document.getElementById(\"main-container\");\nfunction toggle() {\n document.body.classList.toggle(\"navOpen\");\n mainContainer.classList.toggle(\"open\");\n document.getElementById(\"mo-nav\").classList.toggle(\"open\");\n document.querySelector(\".openNav\").classList.toggle(\"open\");\n document.querySelector(\".site-header\").classList.toggle(\"open\");\n}\nexport function open() {\n toggle();\n document.documentElement.style.overflow = \"hidden\";\n mainContainer.addEventListener('click', close);\n}\nexport function close() {\n toggle();\n document.documentElement.style.overflow = \"unset\";\n mainContainer.removeEventListener('click', close);\n}\n","import { onlyOnceATime } from \"../common/util\";\nimport { lazyload } from 'lazyload'\nimport { __ } from './sakurairo_global'\n\nlet load_post_timer;\nconst load_post = onlyOnceATime(function load_post() {\n const now_href = document.location.href\n const pagination_a = document.querySelector('#pagination a');\n if (pagination_a.classList.contains(\"loading\")) return;\n pagination_a.classList.add(\"loading\");\n pagination_a.innerText = \"\";\n\n // $('#pagination a').addClass(\"loading\").text(\"\");\n fetch(pagination_a.getAttribute(\"href\") + \"#main\")\n .then(async resp => {\n const text = await resp.text()\n //在进行DOM操作前检查页面是否已经变化,防止错误加载到其他页面上\n if (now_href != document.location.href) return /**如果页面状态发生了变化,那么也应该不用理加载提示符 */\n const parser = new DOMParser(),\n DOM = parser.parseFromString(text, \"text/html\"),\n result = DOM.querySelectorAll(\"#main .post\"),\n paga = DOM.querySelector(\"#pagination a\"),\n paga_innerText = paga && paga.innerText,\n nextHref = paga && paga.getAttribute(\"href\"),\n main = document.getElementById(\"main\")\n for (let i = 0; i < result.length; i++) {\n main.append(result[i])\n }\n //if (resp.ok) {\n // result = $(data).find(\"#main .post\");\n // nextHref = $(data).find(\"#pagination a\").attr(\"href\");\n // $(\"#main\").append(result.fadeIn(500));\n const dpga = document.querySelector(\"#pagination a\"),\n addps = document.querySelector(\"#add_post span\");\n if (dpga) {\n dpga.classList.remove(\"loading\");\n dpga.innerText = paga_innerText;\n }\n if (addps) {\n addps.classList.remove(\"loading\");\n addps.innerText = \"\";\n }\n // $(\"#pagination a\").removeClass(\"loading\").text(\"Previous\");\n // $('#add_post span').removeClass(\"loading\").text(\"\");\n lazyload();\n post_list_show_animation();\n document.dispatchEvent(new CustomEvent('ajax_post_loaded',))\n if (nextHref != undefined) {\n pagination_a.setAttribute(\"href\", nextHref);\n // $(\"#pagination a\").attr(\"href\", nextHref);\n //加载完成上滑\n let tempScrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;;\n // window.scrollTo(tempScrollTop);\n // $(window).scrollTop(tempScrollTop);\n window.scrollTo({\n top: tempScrollTop + 300,\n behavior: 'smooth'\n })\n // $body.animate({\n // scrollTop: tempScrollTop + 300\n //\n // }, 666)\n } else {\n document.getElementById(\"pagination\").innerHTML = \"\" + __(\"很高兴你翻到这里,但是真的没有了...\") + \"\";\n // $(\"#pagination\").html(\"很高兴你翻到这里,但是真的没有了...\");\n }\n //}\n\n })\n /* $.ajax({\n type: \"POST\",\n url: $('#pagination a').attr(\"href\") + \"#main\",\n success: function (data) {\n result = $(data).find(\"#main .post\");\n nextHref = $(data).find(\"#pagination a\").attr(\"href\");\n $(\"#main\").append(result.fadeIn(500));\n $(\"#pagination a\").removeClass(\"loading\").text(\"Previous\");\n $('#add_post span').removeClass(\"loading\").text(\"\");\n lazyload();\n post_list_show_animation();\n if (nextHref != undefined) {\n $(\"#pagination a\").attr(\"href\", nextHref);\n //加载完成上滑\n var tempScrollTop = $(window).scrollTop();\n $(window).scrollTop(tempScrollTop);\n $body.animate({\n scrollTop: tempScrollTop + 300\n\n }, 666)\n } else {\n $(\"#pagination\").html(\"很高兴你翻到这里,但是真的没有了...\");\n }\n }\n }); */\n})\nexport function post_list_show_animation() {\n if (document.querySelector('article') && document.querySelector('article').classList.contains(\"post-list-thumb\")) {\n const options = {\n root: null,\n threshold: [0.66]\n },\n callback = (entries) => {\n entries.forEach(window.IntersectionObserver ? (article) => {\n if (article.target.classList.contains(\"post-list-show\")) {\n article.target.style.willChange = 'auto';\n io.unobserve(article.target)\n } else if (article.isIntersecting) {\n article.target.classList.add(\"post-list-show\");\n article.target.style.willChange = 'auto';\n io.unobserve(article.target)\n }\n } : (article) => {\n article.target.style.willChange = 'auto';\n if (article.target.classList.contains(\"post-list-show\") === false) {\n article.target.classList.add(\"post-list-show\");\n }\n\n })\n },\n io = new IntersectionObserver(callback, options),\n articles = document.getElementsByClassName('post-list-thumb');\n for (let a = 0; a < articles.length; a++) {\n io.observe(articles[a]);\n }\n }\n}\nfunction XLS_Listener(e) {\n if (e.target === document.querySelector(\"#pagination a\")) {\n e.preventDefault();\n e.stopPropagation();\n clearTimeout(load_post_timer);\n load_post();\n }\n}\nexport function XLS() {\n const intersectionObserver = new IntersectionObserver(function (entries) {\n if (entries[0].intersectionRatio <= 0) return;\n // var page_next = $('#pagination a').attr(\"href\");\n const _page_next = document.querySelector('#pagination a')\n if (_page_next) {\n const href_page_next = _page_next.getAttribute(\"href\"),\n load_key = document.getElementById(\"add_post_time\");\n if (href_page_next != undefined && load_key) {\n const load_time = load_key.title;\n if (load_time != \"233\") {\n console.log(\"%c 自动加载时倒计时 %c\", \"background:#9a9da2; color:#ffffff; border-radius:4px;\", \"\", \"\", load_time);\n load_post_timer = setTimeout(function () {\n load_post();\n }, load_time * 1000);\n }\n }\n }\n });\n intersectionObserver.observe(\n document.querySelector('.footer-device')\n );\n document.body.removeEventListener('click', XLS_Listener)\n document.body.addEventListener(\"click\", XLS_Listener)\n}","import r from\"color-space/rgb.js\";import t from\"color-space/xyz.js\";import n from\"color-space/lab.js\";function e(r,t,n){var e=r[t++]-n[0],a=r[t++]-n[1],o=r[t++]-n[2],i=r[t++]-n[3];return Math.pow(e,2)+Math.pow(a,2)+Math.pow(o,2)+Math.pow(i,2)}function a(r,t,n,a){void 0===a&&(a=1);for(var i,u,f,l,c,v=[],h=[],s=[],d=0,m=0;m1){var i=e/Math.sqrt(o),u=a/Math.sqrt(o),f=r(i,u);return null==f||f.drawImage(t,0,0,i,u),null==f?void 0:f.getImageData(0,0,i,u)}var l=r(e,a);return null==l||l.drawImage(t,0,0),null==l?void 0:l.getImageData(0,0,e,a)}function m(r,t){(null==t||t>r.length)&&(t=r.length);for(var n=0,e=new Array(t);n(o=e[1])?o>i?[a,i]:a>i?[a,o]:[i,o]:o>i?i>a?[o,a]:[o,i]:[i,a]),f=u[0],l=u[1],c=f-l,v=f+l;if(0==c)t=0,n=0;else{if(f==r[0]){var h=60*(r[1]-r[2])/c;t=h<0?h+360:h}else t=f==r[1]?60*(r[2]-r[0])/c+120:60*(r[0]-r[1])/c+240;n=0==v?0:v<=1?c/v:c/(2-v)}return[t,n,v/2,r[3]]}var y=function(r){return void 0===r&&(r=[0,1,2,3]),function(t,n){for(var e,a,o=function(r,t){var n=\"undefined\"!=typeof Symbol&&r[Symbol.iterator]||r[\"@@iterator\"];if(n)return(n=n.call(r)).next.bind(n);if(Array.isArray(r)||(n=function(r,t){if(r){if(\"string\"==typeof r)return m(r,t);var n=Object.prototype.toString.call(r).slice(8,-1);return\"Object\"===n&&r.constructor&&(n=r.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(r):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?m(r,t):void 0}}(r))){n&&(r=n);var e=0;return function(){return e>=r.length?{done:!0}:{done:!1,value:r[e++]}}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}(r);!(a=o()).done;){var i=a.value;if(0!=(e=t[i]-n[i]))return e}return e}},b=function(r){return\"hsla(\"+r[0]+\"deg,\"+100*r[1]+\"%,\"+100*r[2]+\"%,\"+r[3]+\")\"},w=function(r){return\"rgba(\"+r.map(function(r){return Math.floor(r)}).join(\",\")+\")\"};function M(n){for(var e=[],a=0;a b - a)[0];\n const index = label.findIndex(value => value == max);\n _updateThemeSkin(labaToRGBA(centroid[index]));\n //console.log(result)\n}\nfunction _updateThemeSkin(color) {\n //TODO: 暗色模式支持\n const metaLight = document.querySelector('meta[name=theme-color][media=\"(prefers-color-scheme: light)\"]');\n /* const metaDark = document.querySelector('meta[name=theme-color][media=\"(prefers-color-scheme: dark)\"]')\n const [h,s,l,a] = rgbaToHSLA(color) */\n metaLight && (metaLight.content = rgbaCSSText(color));\n /* metaDark && (metaDark.content = hslaCSSText([h,s,l,a]))\n */ \n}\nexport function init() {\n document.addEventListener('coverBG_change', (({ detail: coverBGUrl }) => updateThemeSkin(coverBGUrl)));\n}\n","import { createButterbar } from \"../common/butterbar\";\nimport { __ } from \"./sakurairo_global\";\nlet btnSerif, btnSansSerif;\nfunction Serif() {\n if (document.body.clientWidth <= 860) {\n createButterbar(__(\"将从网络加载字体,流量请注意\"));\n }\n document.body.classList.add(\"serif\");\n setButtonState('serif');\n localStorage.setItem(\"font_family\", \"serif\");\n}\nfunction SansSerif() {\n document.body.classList.remove(\"serif\");\n setButtonState('sans-serif');\n localStorage.setItem(\"font_family\", \"sans-serif\");\n}\nfunction change_font_listener(btn) {\n return () => {\n const { name } = btn.dataset;\n const nowFont = localStorage.getItem(\"font_family\");\n if (name == nowFont) {\n return;\n }\n else {\n if (name == 'serif') {\n Serif();\n }\n else {\n SansSerif();\n }\n }\n };\n}\nexport function loadFontSetting() {\n const nowFont = localStorage.getItem(\"font_family\");\n if (!nowFont || nowFont == \"serif\") {\n document.body.classList.add(\"serif\");\n }\n}\nfunction setButtonState(font_name) {\n if (font_name !== null && font_name !== void 0 ? font_name : localStorage.getItem(\"font_family\") == 'sans-serif') {\n btnSerif.classList.remove(\"selected\");\n btnSansSerif.classList.add(\"selected\");\n }\n else {\n btnSansSerif.classList.remove(\"selected\");\n btnSerif.classList.add(\"selected\");\n }\n}\nfunction initDOMCache() {\n btnSerif = document.getElementsByClassName(\"control-btn-serif\")[0];\n btnSansSerif = document.getElementsByClassName(\"control-btn-sans-serif\")[0];\n return btnSansSerif && btnSerif;\n}\nfunction initListener() {\n btnSerif.addEventListener('click', change_font_listener(btnSerif));\n btnSansSerif.addEventListener('click', change_font_listener(btnSansSerif));\n}\nexport function initFontControl() {\n const result = initDOMCache();\n if (!result)\n localStorage.removeItem('font_family'); //样式菜单“简单”时,使用默认字体 “A”\n loadFontSetting();\n if (result) {\n setButtonState();\n initListener();\n }\n}\n","var _a;\nimport { getFileNameMain } from '../common/util';\nimport { __ } from './sakurairo_global';\nconst bgvideo = document.getElementById(\"bgvideo\");\nconst videoList = ((_a = Poi.movies.name) === null || _a === void 0 ? void 0 : _a.split(\",\")) || []; // 视频列表\nlet unplayedIndex = new Array(videoList.length).fill(0).map((_, index) => index);\n//#region 背景视频\nconst _getNextRandomVideo = () => {\n if (unplayedIndex.length == 0) {\n unplayedIndex = new Array(videoList.length).fill(0).map((_, index) => index);\n }\n const nextIndex = Math.floor(Math.random() * unplayedIndex.length);\n return videoList[unplayedIndex.splice(nextIndex, 1)[0]];\n};\nfunction getVideo() {\n const video_stu = document.getElementsByClassName(\"video-stu\")[0];\n const fileName = _getNextRandomVideo(); // 随机抽取视频\n video_stu.innerHTML = __(\"正在载入视频 ...\");\n video_stu.style.bottom = \"0px\";\n //这里不需要检验Poi.movies是不是字符串,因为应该在前边检查\n bgvideo.setAttribute(\"src\", new URL(fileName, Poi.movies.url || location.origin).toString());\n bgvideo.setAttribute(\"video-name\", getFileNameMain(fileName));\n}\n/**\n * 播放\n */\nfunction splay() {\n let video_btn = document.getElementById(\"video-btn\");\n if (video_btn) {\n video_btn.classList.add(\"video-pause\");\n video_btn.classList.remove(\"video-play\");\n video_btn.style.display = \"\";\n }\n try {\n document.querySelector(\".video-stu\").style.bottom = \"-100px\";\n document.querySelector(\".focusinfo\").style.top = \"-999px\";\n if (mashiro_option.float_player_on) {\n import('./aplayer').then(({ destroyAllAplayer }) => {\n destroyAllAplayer();\n bgvideo.play();\n });\n return;\n }\n }\n catch (e) {\n console.warn(e);\n }\n bgvideo.play();\n}\n/**\n * 暂停\n */\nfunction spause() {\n let video_btn = document.getElementById(\"video-btn\");\n if (video_btn) {\n video_btn.classList.add(\"video-play\");\n video_btn.classList.remove(\"video-pause\");\n }\n try {\n document.querySelector(\".focusinfo\").style.top = \"49.3%\";\n }\n catch (_a) { }\n bgvideo.pause();\n}\n/**\n * 自动续播 - 播放\n */\nexport function liveplay() {\n if (bgvideo && bgvideo.oncanplay != undefined && document.querySelector(\".haslive\")) { // 检查视频数据\n if (document.querySelector(\".videolive\")) { // 检查播放状态\n splay();\n }\n }\n}\nexport function livepause() {\n if (bgvideo && bgvideo.oncanplay != undefined && document.querySelector(\".haslive\")) { // 检查视频数据\n spause();\n let video_stu = document.getElementsByClassName(\"video-stu\")[0];\n video_stu.style.bottom = \"0px\";\n video_stu.innerHTML = __(\"已暂停...\");\n }\n}\nexport function coverVideo() {\n let video_btn = document.getElementById(\"video-btn\");\n if (video_btn)\n video_btn.addEventListener(\"click\", function () {\n if (this.classList.contains(\"loadvideo\")) {\n this.classList.add(\"video-pause\");\n this.classList.remove(\"loadvideo\");\n getVideo();\n bgvideo.oncanplay = function () {\n splay();\n document.getElementById(\"video-add\").style.display = \"block\";\n video_btn.classList.add(\"videolive\", \"haslive\"); // MDZZ\n };\n }\n else {\n if (this.classList.contains(\"video-pause\")) {\n spause();\n video_btn.classList.remove(\"videolive\");\n document.getElementsByClassName(\"video-stu\")[0].style.bottom = \"0px\";\n document.getElementsByClassName(\"video-stu\")[0].innerHTML = \"已暂停 ...\";\n }\n else {\n splay();\n video_btn.classList.add(\"videolive\"); // 用于判断切换页面时的状态\n }\n }\n bgvideo.onended = function () {\n bgvideo.setAttribute(\"src\", \"\");\n document.getElementById(\"video-add\").style.display = \"none\";\n document.querySelector(\".focusinfo\").style.top = \"49.3%\";\n if (video_btn) {\n video_btn.classList.add(\"loadvideo\");\n video_btn.classList.remove(\"video-pause\", \"videolive\", \"haslive\");\n if (Poi.movies.loop) {\n video_btn.click();\n }\n }\n };\n });\n const video_add = document.getElementById(\"video-add\");\n if (video_add)\n video_add.addEventListener(\"click\", getVideo);\n}\n//#endregion\nexport async function coverVideoIni() {\n initHLS();\n lazyloadPatch();\n}\nfunction canPlayHandler() {\n this.poster = '';\n}\n/**\n * 用户代理可能会禁止自动播放,此时需要撤掉poster\n */\nasync function lazyloadPatch() {\n const videos = document.querySelectorAll('video.lazyload');\n videos.forEach(video => video.addEventListener('canplay', canPlayHandler));\n}\nasync function initHLS() {\n const videos = document.querySelectorAll('video.hls');\n if (videos.length == 0)\n return;\n //检查浏览器是否原生支持\n if (videos[0].canPlayType('application/vnd.apple.mpegurl')) {\n for (const video of videos) {\n video.src = video.dataset.src || video.src;\n video.autoplay = true;\n }\n }\n else {\n if (!window.Hls) {\n try {\n const { default: Hls } = await import('hls.js');\n window.Hls = Hls;\n }\n catch (reason) {\n console.warn('Hls load failed: ', reason);\n }\n }\n if (!Hls.isSupported())\n console.error('Hls: Media Source Extensions is unsupported.');\n for (const video of videos) {\n const hls = new Hls();\n hls.loadSource(video.dataset.src || video.src);\n hls.attachMedia(video);\n hls.on(Hls.Events.MANIFEST_PARSED, function () {\n video.play();\n });\n }\n }\n}\n","import { buildAPI } from '../common/util';\nimport { __ } from './sakurairo_global';\nlet QueryStorage;\nfunction search_result(keyword, link, fa, title, iconfont, comments, text) {\n if (keyword) {\n var s = keyword.trim().split(\" \"), a = title.indexOf(s[s.length - 1]), b = text.indexOf(s[s.length - 1]);\n title = a < 60 ? title.slice(0, 80) : title.slice(a - 30, a + 30);\n title = title.replace(s[s.length - 1], ' ' + s[s.length - 1].toUpperCase() + ' ');\n text = b < 60 ? text.slice(0, 80) : text.slice(b - 30, b + 30);\n text = text.replace(s[s.length - 1], ' ' + s[s.length - 1].toUpperCase() + ' ');\n }\n return ``;\n}\nfunction Cx(array, query) {\n for (let s = 0; s < query.length; s++) {\n if (['.', '?', '*'].indexOf(query[s]) != -1) {\n query = query.slice(0, s) + \"\\\\\" + query.slice(s);\n s++;\n }\n }\n query = query.replace(query, \"^(?=.*?\" + query + \").+$\").replace(/\\s/g, \")(?=.*?\");\n return array.filter(v => Object.values(v)\n .some(v => new RegExp(query + '').test(v)));\n}\nfunction query(B, A) {\n var s, y = \"\", w = \"\", u = \"\", r = \"\", p = \"\", F = \"\", G = '\", E = \"\", C = Cx(B, A.trim());\n for (const H of C) {\n switch (H.type) {\n case \"post\":\n w = w + search_result(A, H.link, \"file\", H.title, \"mark\", H.comments, H.text);\n break;\n case \"tag\":\n p = p + search_result(\"\", H.link, \"tag\", H.title, \"none\", \"\", \"\");\n break;\n case \"category\":\n r = r + search_result(\"\", H.link, \"folder\", H.title, \"none\", \"\", \"\");\n break;\n case \"page\":\n u = u + search_result(A, H.link, \"file\", H.title, \"mark\", H.comments, H.text);\n break;\n case \"comment\":\n F = F + search_result(A, H.link, \"comment\", H.title, \"none\", \"\", H.text);\n break;\n }\n }\n w && (y = y + G + __(\"文章\") + E + w + D);\n u && (y = y + G + __(\"页面\") + E + u + D);\n r && (y = y + G + __(\"分类\") + E + r + D);\n p && (y = y + G + __(\"标签\") + E + p + D);\n F && (y = y + G + __(\"评论\") + E + F + D);\n s = document.getElementById(\"PostlistBox\");\n s.innerHTML = y;\n}\nfunction search_a(val) {\n const otxt = document.getElementById(\"search-input\");\n if (sessionStorage.getItem('search') != null) {\n QueryStorage = JSON.parse(sessionStorage.getItem('search'));\n query(QueryStorage, otxt.value);\n div_href();\n }\n else {\n fetch(val)\n .then(async (resp) => {\n if (resp.ok) {\n const json = await resp.text();\n if (json != \"\") {\n sessionStorage.setItem('search', json);\n QueryStorage = JSON.parse(json);\n query(QueryStorage, otxt.value);\n div_href();\n }\n }\n else {\n console.warn('HTTP ' + resp.status);\n }\n })\n .catch(reason => console.warn(reason));\n }\n}\n/* if (!Object.values) Object.values = function (obj) {\n if (obj !== Object(obj))\n throw new TypeError('Object.values called on a non-object');\n var val = [],\n key;\n for (key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n val.push(obj[key]);\n }\n }\n return val;\n } */\nfunction div_href() {\n const search_close = document.querySelector(\".search_close\");\n const Ty = document.getElementById('Ty');\n for (const ele of document.getElementsByClassName('ins-selectable')) {\n ele.addEventListener(\"click\", () => {\n Ty.href = ele.getAttribute('href');\n Ty.click();\n search_close.click();\n });\n }\n /* $(\".ins-selectable\").each(function () {\n $(this).click(function () {\n $(\"#Ty\").attr('href', $(this).attr('href'));\n $(\"#Ty\").click();\n $(\".search_close\").click();\n });\n }); */\n}\nexport function jsSearchCallback() {\n //$('.js-toggle-search').toggleClass('is-active');\n document.getElementsByClassName('js-toggle-search')[0].classList.toggle('is-active');\n //$('.js-search').toggleClass('is-visible');\n document.getElementsByClassName('js-search')[0].classList.toggle('is-visible');\n //$('html').css('overflow-y', 'hidden');\n document.documentElement.style.overflowY = 'hidden';\n if (mashiro_option.live_search) {\n QueryStorage = [];\n search_a(buildAPI(Poi.api + \"sakura/v1/cache_search/json\"));\n var otxt = document.getElementById(\"search-input\"), \n //list = document.getElementById(\"PostlistBox\"),\n //Record = list.innerHTML,\n searchFlag = null;\n otxt.oninput = function () {\n if (searchFlag != null) {\n clearTimeout(searchFlag);\n }\n searchFlag = setTimeout(function () {\n query(QueryStorage, otxt.value);\n div_href();\n }, 250);\n };\n }\n}\n","/**\n * app.js - Client script bundle for Sakurairo, a WordPress theme.\n * @author bymoye \n * @author KotoriK\n * @license GPL-v2\n * @date 2021.3.21\n * Github Repository:\n * @url https://github.com/Fuukei/Sakurairo_Scripts\n * @url https://github.com/mirai-mamori/Sakurairo commit f7db3c5\n * \n * *** ACKNOWLEDGEMENT *** \n * \n * *** modified on mashirozx/Sakura/js/sakura-app.js ***\n * Sakura theme application bundle\n * @author Mashiro\n * @url https://2heng.xin\n * @date 2019.8.3\n * *** ***\n * \n * *** inherited from louie-senpai/Siren/js/app.js ***\n * Siren application js\n * @author Louie\n * @url http://i94.me\n * @date 2016.11.19\n * *** ***\n * \n * inherited from Xoin-Yang/Akina/js/global.js\n * @author Xoin-Yang\n * @date 2017.04.25\n * @url http://www.akina.pw/\n * *** END OF ACKNOWLEDGEMENT *** \n * \n * Press 'F' to pay respects.\n * \n */\n\nimport { nextBG, preBG, initCoverBG, getCoverPath, getCurrentBG } from './coverBackground'\nimport add_copyright from './copyright'\nimport { createButterbar } from '../common/butterbar'\nimport { loadCSS } from 'fg-loadcss'\nimport { lazyload } from 'lazyload'\nimport './global-func'\nimport { ready, slideToggle } from '../common/util'\nimport about_us from './about_us'\nimport preload_screen from './preload_screen'\nimport { _$ } from './sakurairo_global'\nimport { isSupported } from './compatibility'\nimport hitokoto from './hitokoto'\nimport { web_audio } from './web_audio'\nimport { open, close } from './mobile_nav'\nimport { XLS, post_list_show_animation } from './posts'\nimport { init, updateThemeSkin } from './theme-color'\n/**\n * 检查是否应当开启Poi.pjax\n * @seealso https://github.com/PaperStrike/Pjax#compatibility\n */\nPoi.pjax = Poi.pjax && isSupported({ Firefox: 60, Edg: 79, Chrome: 66, OPR: 53, AppleWebKit: 606/**Safari 12 */ });\nPoi.pjax && import('@sliphua/pjax').then(({ default: Pjax }) =>\n new Pjax({\n selectors: [\"#page\", \"title\", \".footer-device\", \"#_mashiro_\", \"#login-link\"],\n scripts: \"#_mashiro_\",\n timeout: 8000,\n defaultTrigger: {\n exclude: 'a[data-no-pjax]',\n }\n })\n)\nloadCSS(mashiro_option.jsdelivr_css_src);\nloadCSS(mashiro_option.entry_content_style_src);\nloadCSS(\"https://at.alicdn.com/t/font_679578_qyt5qzzavdo39pb9.css\");\n\nmashiro_global.variables = new function () {\n this.skinSecter = true;\n}\nimport { initFontControl, loadFontSetting } from './font_control'\n\nfunction scrollBar() {\n if (document.body.clientWidth > 860) {\n window.addEventListener(\"scroll\", () => {\n let s = document.documentElement.scrollTop || document.body.scrollTop,\n a = document.documentElement.scrollHeight || document.body.scrollHeight,\n b = window.innerHeight, c,\n result = parseInt(s / (a - b) * 100),\n cached = document.getElementById('bar');\n cached.style.width = result + \"%\";\n /* switch (true) {\n case (result <= 19): c = '#cccccc'; break;\n case (result <= 39): c = '#50bcb6'; break;\n case (result <= 59): c = '#85c440'; break;\n case (result <= 79): c = '#f2b63c'; break;\n case (result <= 99): c = '#FF0000'; break;\n case (result == 100): c = '#5aaadb'; break;\n default: c = \"orange\";\n }\n cached.style.background = c; */\n //炫彩scrollbar好像不是很好看,又被php那边的样式强制覆盖了,就先注释掉\n const skinMenu = document.querySelector(\".skin-menu\");\n skinMenu && skinMenu.classList.remove(\"show\");\n })\n }\n}\n\nfunction checkSkinSecter() {\n if (mashiro_global.variables.skinSecter === false) {\n const pattern = document.querySelector(\".pattern-center\"),\n headertop = document.querySelector(\".headertop-bar\");\n if (pattern) {\n pattern.classList.remove(\"pattern-center\");\n pattern.classList.add(\"pattern-center-sakura\");\n }\n if (headertop) {\n headertop.classList.remove(\"headertop-bar\");\n headertop.classList.add(\"headertop-bar-sakura\");\n }\n } else {\n const pattern = document.querySelector(\".pattern-center-sakura\"),\n headertop = document.querySelector(\".headertop-bar-sakura\");\n if (pattern) {\n pattern.classList.remove(\"pattern-center-sakura\");\n pattern.classList.add(\"pattern-center\");\n }\n if (headertop) {\n headertop.classList.remove(\"headertop-bar-sakura\");\n headertop.classList.add(\"headertop-bar\");\n }\n }\n}\nimport { checkDarkModeSetting, turnOnDarkMode, turnOffDarkMode, } from './darkmode'\nfunction no_right_click() {\n const pri = document.getElementById(\"primary\");\n if (pri) pri.addEventListener(\"contextmenu\", function (e) {\n if (e.target.nodeName.toLowerCase() == \"img\") {\n e.preventDefault();\n e.stopPropagation();\n }\n })\n}\nno_right_click();\n\nasync function changeBG(bgid) {\n //@sideeffect\n mashiro_global.variables.skinSecter = bgid == \"white-bg\" || bgid == \"dark-bg\";\n checkSkinSecter();\n const now_bg_url = document.body.style.backgroundImage\n let bg_url;\n switch (bgid) {\n case \"white-bg\":\n if (mashiro_option.site_bg_as_cover) {\n //if(mashiro_option.cache_cover && now_bg_url.match(/^url\\(\"blob:/)) return\n bg_url = await getCoverPath()\n } else {\n bg_url = mashiro_option.skin_bg0;\n }\n break;\n case \"diy1-bg\":\n bg_url = mashiro_option.skin_bg1;\n break;\n case \"diy2-bg\":\n bg_url = mashiro_option.skin_bg2;\n break;\n case \"diy3-bg\":\n bg_url = mashiro_option.skin_bg3;\n break;\n case \"diy4-bg\":\n bg_url = mashiro_option.skin_bg4;\n break;\n }\n if (now_bg_url != bg_url) {\n document.body.style.backgroundImage = bg_url ? `url(${bg_url})` : '';\n }\n}\n\nfunction bgButtonAddListener() {\n const next = document.getElementById(\"bg-next\"),\n pre = document.getElementById(\"bg-pre\");\n if (next) { next.onclick = nextBG };\n if (pre) { pre.onclick = preBG };\n}\n\nfunction topFunction() {\n window.scrollTo({\n top: 0,\n behavior: \"smooth\"\n });\n}\n\nfunction timeSeriesReload(flag) {\n let archives = document.getElementById('archives');\n if (archives == null) return;\n let al_li = archives.getElementsByClassName('al_mon');\n if (flag == true) {\n archives.addEventListener(\"click\", function (e) {\n if (e.target.classList.contains(\"al_mon\")) {\n slideToggle(e.target.nextElementSibling, 500);\n e.preventDefault();\n }\n })\n lazyload();\n } else {\n (function () {\n let al_expand_collapse = document.getElementById('al_expand_collapse');\n al_expand_collapse.style.cursor = \"s-resize\";\n for (let i = 0; i < al_li.length; i++) {\n let a = al_li[i],\n num = a.nextElementSibling.getElementsByTagName('li').length;\n a.style.cursor = \"s-resize\";\n a.querySelector('#post-num').textContent = num;\n }\n let al_post_list = archives.getElementsByClassName(\"al_post_list\"),\n al_post_list_f = al_post_list[0];\n for (let i = 0; i < al_post_list.length; i++) {\n slideToggle(al_post_list[i], 500, 'hide', function () {\n slideToggle(al_post_list_f, 500, 'show');\n })\n }\n archives.addEventListener(\"click\", function (e) {\n if (e.target.classList.contains(\"al_mon\")) {\n slideToggle(e.target.nextElementSibling, 500);\n e.preventDefault();\n }\n })\n if (document.body.clientWidth > 860) {\n for (let i = 0; i < al_post_list.length; i++) {\n let el = al_post_list[i];\n el.parentNode.addEventListener('mouseover', function () {\n slideToggle(el, 500, 'show');\n return false;\n })\n }\n if (false) {\n for (let i = 0; i < al_post_list.length; i++) {\n let el = al_post_list[i];\n el.parentNode.addEventListener('mouseover', function () {\n slideToggle(el, 500, 'hide');\n return false;\n })\n }\n }\n let al_expand_collapse_click = 0;\n al_expand_collapse.addEventListener('click', function () {\n if (al_expand_collapse_click == 0) {\n for (let i = 0; i < al_post_list.length; i++) {\n let el = al_post_list[i];\n slideToggle(el, 500, 'show');\n };\n al_expand_collapse_click++;\n } else if (al_expand_collapse_click == 1) {\n for (let i = 0; i < al_post_list.length; i++) {\n let el = al_post_list[i];\n slideToggle(el, 500, 'hide');\n };\n al_expand_collapse_click--;\n }\n });\n }\n })();\n }\n}\n\ntimeSeriesReload();\n\nadd_copyright()\n\nif (mashiro_option.float_player_on) {\n if (document.body.clientWidth > 860) {\n import('./aplayer').then(({ aplayerInit }) => aplayerInit())\n }\n}\n\nfunction activate_widget() {\n let secondary = document.getElementById(\"secondary\");\n if (document.body.clientWidth > 860) {\n let show_hide = document.querySelector(\".show-hide\");\n show_hide && show_hide.addEventListener(\"click\", function () {\n secondary && secondary.classList.toggle(\"active\");\n });\n } else {\n secondary && secondary.remove();\n }\n}\nsetTimeout(function () {\n activate_widget();\n}, 100);\n\n//#region Siren\nimport { liveplay, livepause, coverVideo, coverVideoIni } from './video'\nfunction MN() {\n const iconflat = document.querySelector(\".iconflat\");\n iconflat && iconflat.addEventListener(\"click\", (e) => {\n e.stopPropagation()\n if (document.body.classList.contains(\"navOpen\")) {\n close()\n } else {\n open()\n }\n });\n}\n\nfunction MNH() {\n if (document.body.classList.contains(\"navOpen\")) {\n close()\n }\n}\nfunction auto_height() {\n if (Poi.windowheight == 'auto') {\n if (document.querySelector(\"h1.main-title\")) {\n //let _height = document.documentElement.clientHeight + \"px\";\n const centerbg = document.getElementById(\"centerbg\")\n const bgvideo = document.getElementById(\"bgvideo\")\n if (centerbg) centerbg.style.height = \"100vh\";\n if (bgvideo) bgvideo.style.minHeight = \"100vh\";\n }\n } else {\n document.querySelector(\".headertop\") && document.querySelector(\".headertop\").classList.add(\"headertop-bar\");\n }\n}\nfunction PE() {\n if (document.querySelector(\".headertop\")) {\n let headertop = document.querySelector(\".headertop\"),\n blank = document.querySelector(\".blank\");\n if (document.querySelector(\".main-title\")) {\n try {\n blank.style.paddingTop = \"0px\";\n } catch (e) { }\n headertop.style.height = \"auto\";\n headertop.style.display = \"\";\n if (Poi.movies.live) liveplay();\n } else {\n try {\n blank.style.paddingTop = \"75px\";\n } catch (e) { }\n headertop.style.height = \"0px\";\n headertop.style.display = \"none\";\n livepause();\n }\n }\n}\nimport { jsSearchCallback } from './search'\nfunction CE() {\n let comments_fold = document.querySelector(\".comments-fold\");\n let comments_main = document.querySelector(\".comments-main\");\n if (comments_fold != null) {\n comments_fold.style.display = \"block\";\n comments_main.style.display = \"none\";\n comments_fold.addEventListener(\"click\", function () {\n slideToggle(comments_main, 500, 'show');\n comments_fold.style.display = \"none\";\n });\n }\n let archives = document.getElementsByClassName(\"archives\");\n if (archives.length > 0) {\n for (let i = 0; i < archives.length; i++) {\n archives[i].style.display = \"none\";\n }\n archives[0].style.display = \"\";\n let h3 = document.getElementById(\"archives-temp\").getElementsByTagName(\"h3\");\n for (let i = 0; i < h3.length; i++) {\n h3[i].addEventListener(\"click\", (e) => {\n e.preventDefault();\n e.stopPropagation();\n slideToggle(e.target.nextElementSibling, 300);\n })\n }\n }\n // $('.comments-hidden').show();\n // $('.comments-main').hide();\n // $('.comments-hidden').click(function () {\n // $('.comments-main').slideDown(500);\n // $('.comments-hidden').hide();\n // });\n // $('.archives').hide();\n // $('.archives:first').show();\n // $('#archives-temp h3').click(function () {\n // $(this).next().slideToggle('fast');\n // return false;\n // });\n /*if (mashiro_option.baguetteBoxON) {\n baguetteBox.run('.entry-content', {\n captions: function (element) {\n return element.getElementsByTagName('img')[0].alt;\n },\n ignoreClass: 'fancybox',\n });\n }*/\n\n for (const ele of document.getElementsByClassName('js-toggle-search')) {\n ele.addEventListener('click', jsSearchCallback);\n }\n\n const sc = document.querySelector(\".search_close\");\n sc && sc.addEventListener(\"click\", function () {\n let js_search = document.getElementsByClassName(\"js-search\")[0];\n if (js_search.classList.contains(\"is-visible\")) {\n document.getElementsByClassName(\"js-toggle-search\")[0].classList.toggle(\"is-active\");\n js_search.classList.toggle(\"is-visible\");\n document.documentElement.style.overflowY = \"unset\";\n }\n });\n try {\n let show_Nav = document.getElementById(\"show-nav\");\n show_Nav.addEventListener(\"click\", function () {\n if (show_Nav.classList.contains(\"showNav\")) {\n show_Nav.classList.remove(\"showNav\");\n show_Nav.classList.add(\"hideNav\");\n let sln = document.querySelector(\".site-top .lower nav\");\n sln && sln.classList.add(\"navbar\");\n } else {\n show_Nav.classList.remove(\"hideNav\");\n show_Nav.classList.add(\"showNav\");\n let sln = document.querySelector(\".site-top .lower nav\");\n sln && sln.classList.remove(\"navbar\");\n }\n });\n document.getElementById(\"loading\").addEventListener(\"click\", function () {\n let loading = document.getElementById(\"loading\");\n loading.classList.add(\"hide\");\n loading.classList.remove(\"show\");\n });\n } catch (e) { }\n}\nfunction NH() {\n const thresold = 0,\n siteHeader = document.querySelector(\".site-header\")\n window.addEventListener(\"scroll\", () => {\n const scrollTop = document.documentElement.scrollTop || window.pageYOffset;\n if (scrollTop > thresold) {\n siteHeader.classList.add(\"yya\");\n } else {\n siteHeader.classList.remove(\"yya\");\n }\n })\n // $(window).scroll(function () {\n // var s = $(document).scrollTop(),\n // cached = $('.site-header');\n // if (s == h1) {\n // cached.removeClass('yya');\n // }\n // if (s > h1) {\n // cached.addClass('yya');\n // }\n // });\n}\nfunction GT() {\n let mb_to_top = document.querySelector(\"#moblieGoTop\"),\n changskin = document.querySelector(\"#changskin\");\n window.addEventListener(\"scroll\", () => {\n const scroll = document.documentElement.scrollTop || document.body.scrollTop;\n const cssText = scroll > 20 ? \"scale(1)\" : \"scale(0)\"\n mb_to_top.style.transform = cssText;\n changskin.style.transform = cssText;\n })\n mb_to_top.onclick = topFunction\n}\n\n//#endregion Siren\nif (Poi.pjax) {\n document.addEventListener(\"pjax:send\", () => {\n for (const element of document.getElementsByClassName(\"normal-cover-video\")) {\n element.pause();\n element.src = '';\n element.load = '';\n }\n document.getElementById(\"bar\").style.width = \"0%\";\n if (mashiro_option.NProgressON) import('nprogress').then(({ default: NProgress }) => { NProgress.start() })\n MNH();\n });\n document.addEventListener(\"pjax:complete\", function () {\n auto_height();\n initCoverBG()\n PE();\n CE();\n if (mashiro_option.land_at_home) XLS();\n if (mashiro_option.NProgressON) import('nprogress').then(({ default: NProgress }) => { NProgress.done() })\n //#region mashiro_global.ini.pjax();\n //#region pjaxInit\n no_right_click();\n loadFontSetting()\n let _p = document.getElementsByTagName(\"p\");\n for (let i = 0; i < _p.length; i++) {\n _p[i].classList.remove(\"head-copyright\");\n }\n let _div = document.getElementsByTagName(\"div\"),\n tla = document.getElementById(\"to-load-aplayer\");\n tla && tla.addEventListener(\"click\", () => {\n /* try {\n reloadHermit();\n } catch (e) { }; */\n for (let i = 0; i < _div.length; i++) {\n _div[i].classList.remove(\"load-aplayer\");\n }\n });\n /* for (let i = 0; i < _div.length; i++) {\n if (_div[i].classList.contains(\"aplayer\")) {\n try {\n reloadHermit();\n } catch { };\n }\n } */\n let iconflat = document.getElementsByClassName(\"iconflat\");\n if (iconflat.length != 0) {\n iconflat[0].style.width = '50px';\n iconflat[0].style.height = '50px';\n }\n let openNav = document.getElementsByClassName(\"openNav\");\n if (openNav.length != 0) {\n openNav[0].style.height = '50px';\n }\n bgButtonAddListener()\n timeSeriesReload();\n add_copyright();\n //#endregion pjaxInit\n post_list_show_animation();\n web_audio();\n coverVideoIni();\n checkSkinSecter();\n NH();\n //#endregion\n let loading = document.getElementById(\"loading\");\n if (loading) {\n loading.classList.add(\"hide\");\n loading.classList.remove(\"show\");\n }\n //未实际使用的选项\n /* if (Poi.codelamp == 'open') {\n self.Prism.highlightAll(event)\n }; */\n if (document.querySelector(\".js-search.is-visible\")) {\n document.getElementsByClassName(\"js-toggle-search\")[0].classList.toggle(\"is-active\");\n document.getElementsByClassName(\"js-search\")[0].classList.toggle(\"is-visible\");\n document.documentElement.style.overflowY = \"unset\";\n }\n hitokoto()\n lazyload();\n });\n document.addEventListener(\"pjax:success\", function () {\n //pjax加载时自动拉取page.js\n if (!mashiro_option.land_at_home && !document.getElementById('app-page-js')) {\n // id需要与php侧同步\n const script_app = document.getElementById('app-js')\n const script_app_page = document.createElement('script')\n script_app_page.src = script_app.src.replace('/app.js', '/page.js')\n script_app_page.id = 'app-page-js'\n document.body.appendChild(script_app_page)\n }\n //发送页面浏览事件\n\n /**\n * Google Analytics\n * @seealso https://developers.google.com/analytics/devguides/collection/gtagjs/pages\n */\n if (window.gtag) {\n gtag('config', Poi.google_analytics_id, {\n 'page_path': window.location.pathname\n });\n }\n /**\n * 百度统计\n * @seealso https://tongji.baidu.com/web/help/article?id=235\n */\n if (window._hmt) {\n _hmt.push(['_trackPageview', pageURL]);\n }\n });\n document.addEventListener(\"pjax:error\", (e) => {\n createButterbar(_$('页面加载出错了 HTTP {0}', e.request.status))\n })\n window.addEventListener('popstate', function (e) {\n auto_height();\n hitokoto()\n PE();\n CE();\n timeSeriesReload(true);\n post_list_show_animation();\n }, false);\n}\n\n/* let isWebkit = navigator.userAgent.toLowerCase().indexOf('webkit') > -1,\n isOpera = navigator.userAgent.toLowerCase().indexOf('opera') > -1,\n isIe = navigator.userAgent.toLowerCase().indexOf('msie') > -1;\nif ((isWebkit || isOpera || isIe) && document.getElementById && window.addEventListener) { */\nwindow.addEventListener('hashchange', function () {\n let id = location.hash.substring(1),\n element;\n if (!(/^[A-z0-9_-]+$/.test(id))) {\n return;\n }\n element = document.getElementById(id);\n if (element) {\n if (!(/^(?:a|select|input|button|textarea)$/i.test(element.tagName))) {\n element.tabIndex = -1;\n }\n element.focus();\n }\n}, false);\n/* } */\n\nfunction addSkinMenuListener() {\n const cached = document.querySelectorAll(\".menu-list li\");\n cached.forEach(e => {\n e.addEventListener(\"click\", function () {\n const tagid = this.id;\n if (tagid == \"dark-bg\") {\n turnOnDarkMode(true)\n } else {\n turnOffDarkMode(true)\n changeBG(tagid)\n localStorage.setItem(\"bgImgSetting\", tagid)\n }\n closeSkinMenu();\n });\n });\n}\nfunction checkBgImgSetting() {\n changeBG(localStorage.getItem(\"bgImgSetting\") || 'white-bg');\n}\n\ncheckBgImgSetting()\ncheckDarkModeSetting();\n\nfunction closeSkinMenu() {\n document.querySelector(\".skin-menu\").classList.remove(\"show\");\n setTimeout(function () {\n if (document.querySelector(\".changeSkin-gear\") != null) {\n document.querySelector(\".changeSkin-gear\").style.visibility = \"visible\";\n }\n }, 300);\n}\nimport POWERMODE from 'activate-power-mode'\n\nfunction powermode() {\n POWERMODE.colorful = true;\n POWERMODE.shake = false;\n document.body.addEventListener('input', POWERMODE)\n}\n//afterDOMContentLoaded\n\nready(function () {\n initCoverBG().then(() => {\n if (isSupported({ AppleWebKit: 605 })) {\n init()\n updateThemeSkin(getCurrentBG())\n }\n })\n addSkinMenuListener();\n //let checkskin_bg = (a) => a == \"none\" ? \"\" : a;\n let changskin = document.querySelector(\"#changskin\"),\n close_SkinMenu = document.querySelector(\".skin-menu #close-skinMenu\");\n changskin && changskin.addEventListener(\"click\", function () {\n document.querySelector(\".skin-menu\").classList.toggle(\"show\");\n })\n close_SkinMenu && close_SkinMenu.addEventListener(\"click\", function () {\n closeSkinMenu();\n })\n\n auto_height();\n PE();\n NH();\n GT();\n XLS();\n CE();\n MN();\n coverVideo();\n hitokoto()\n bgButtonAddListener()\n initFontControl()\n web_audio()\n preload_screen()\n lazyload();\n powermode()\n about_us()\n\n});\n//#region mashiro_global.ini.normalize();\npost_list_show_animation();\ncoverVideoIni();\ncheckSkinSecter();\nscrollBar();\n//#endregion","export default function about_us() {\n console.log('%c Sakurairo %c https://github.com/mirai-mamori/Sakurairo', 'background:#D05A6E;color:#fffffb', '');\n console.log(` 僕らは求めるものも\n 描いてる未来も違うけれど\n 手と手を取り合えたなら\n きっと笑い合える日が来るから\n %c——「ツバメ」`, 'font-style:italic');\n}\n"],"names":["deferred","leafPrototypes","getProto","inProgress","dataWebpackPrefix","factory","modules","installedModules","moduleId","exports","module","id","loaded","call","m","c","p","canvas","document","createElement","width","window","innerWidth","height","innerHeight","style","cssText","addEventListener","body","appendChild","context","getContext","particles","particlePointer","rendering","getRandom","min","max","Math","random","getColor","el","POWERMODE","colorful","u","getComputedStyle","color","createParticle","x","y","alpha","velocity","caret","bcr","activeElement","tagName","getAttribute","offset","selectionEnd","getBoundingClientRect","left","top","selection","getSelection","rangeCount","range","getRangeAt","startNode","startContainer","nodeType","TEXT_NODE","parentNode","getCaret","numParticles","round","shake","intensity","marginLeft","marginTop","setTimeout","requestAnimationFrame","loop","clearRect","rendered","rect","i","length","particle","globalAlpha","fillStyle","fillRect","properties","isFirefox","mozInnerScreenX","getCaretCoordinates","element","position","options","debug","querySelector","removeChild","div","computed","currentStyle","whiteSpace","nodeName","wordWrap","visibility","forEach","prop","scrollHeight","parseInt","overflowY","overflow","textContent","value","substring","replace","span","coordinates","offsetTop","offsetLeft","backgroundColor","imgError","ele","type","src","cmt_showPopup","popup","classList","add","onblur","remove","coverVideo","video","getElementById","btn_playControl","paused","play","innerHTML","pause","coverVideoMute","btn_volumeControl","muted","killCoverVideo","e","mail_me","open","mashiro_option","email_name","email_domain","headertop_down","coverOffset","pageYOffset","scrollTo","behavior","xyz","name","channel","alias","lab","z","y2","l","a","b","pow","rgb","A","C","D50","D55","D65","D75","F2","F7","F11","E","whitepoint","_xyz","white","r","g","w","this","loadCSS","href","before","media","attributes","ref","doc","ss","refs","getElementsByTagName","childNodes","sheets","styleSheets","attributeName","hasOwnProperty","setAttribute","rel","ready","cb","insertBefore","nextSibling","onloadcssdefined","resolvedHref","loadCB","removeEventListener","messageIds","onMessage","self","message","data","Array","isArray","messageId","error","result","callback","_callbacks","PromiseWorker","worker","_worker","prototype","postMessage","userMessage","messageToSend","Promise","resolve","reject","Error","controller","MessageChannel","port1","onmessage","port2","defaults","srcset","selector","root","rootMargin","threshold","LazyLoad","constructor","elms","obs","doLoad","settings","toLowerCase","backgroundImage","Object","assign","querySelectorAll","init","IntersectionObserver","load","entries","entry","isIntersecting","unobserve","target","image","observe","loadAndDestroy","destroy","disconnect","lazyload","images","clearButterbar","butterBar","getElementsByClassName","createButterbar","keep","readyFunctionList","onlyOnceATime","func","isRunning","args","finally","console","warn","whileReady","fn","readyState","push","getFileNameMain","fileName","slideToggle","duration","mode","dom","status","flag","transition","clearTimeout","tagTimer","display","tagHeight","clientHeight","buildAPI","apiPath","params","nonce","path","URL","searchParams","key","set","Poi","toString","mediaQuery","matchMedia","inDarkMode","isInDarkMode","informDarkModeChange","nextValue","dispatchEvent","CustomEvent","detail","mediaQueryCallback","localStorage","getItem","matches","darkmode","turnOnDarkMode","turnOffDarkMode","saveUserSetting","ifDarkmodeShouldOn","removeItem","setItem","userTriggered","documentElement","dm_strategy","today","Date","getHours","checkTime","checkDarkModeSetting","dark","removeListener","addListener","__","defaultStr","_sakurairoi18n","_$","replacements","template","index","sakurairoGlobal","opt","registerOnGlobal","defineProperty","writable","enumerable","_sakurairo","__webpack_module_cache__","__webpack_require__","cachedModule","undefined","__webpack_modules__","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","keys","every","splice","n","getter","__esModule","d","getPrototypeOf","obj","__proto__","t","then","ns","create","def","current","indexOf","getOwnPropertyNames","definition","o","get","f","chunkId","all","reduce","promises","globalThis","Function","url","done","script","needAttach","scripts","s","charset","timeout","nc","onScriptComplete","prev","event","onerror","onload","doneFns","bind","head","Symbol","toStringTag","scriptUrl","importScripts","location","currentScript","baseURI","installedChunks","installedChunkData","promise","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","intervalId","navigator","userAgentData","test","userAgent","indexedDB","databases","tryIdb","setInterval","clearInterval","promisifyRequest","oncomplete","onsuccess","onabort","createStore","dbName","storeName","dbp","onupgradeneeded","createObjectStore","txMode","db","transaction","objectStore","store","_a","_version_ctrl","cookie_version_control","UA","uaMatches","from","matchAll","isSupported","checkList","_","version","parseFloat","Accept_Image","acceptList","Chrome","OPR","Firefox","Edg","AppleWebKit","days","expires","now","toUTCString","cookie","setCookie","reverse","join","setAcceptImage","bgn","blob_url","async","nextBG","changeCoverBG","getCoverPath","preBG","centerbg","site_bg_as_cover","parseCSSUrl","match","getCurrentBG","getAPIPath","useBGN","cover_api_url","cover_api","clientWidth","random_graphs_mts","search","cache_cover","coverBG","ArrayBuffer","revokeObjectURL","createObjectURL","Blob","resp","fetch","headers","Accept","ok","buf","arrayBuffer","put","TypeError","delete","fetchAndCache","initCoverBG","background","land_at_home","txt","author_name","site_name","copytext","selectionText","selectionTxt","preventDefault","htmlData","textData","clipboardData","setData","setClipboardText","add_copyright","clipboardCopyright","removeScreen","preload","preload_blur","animate","filter","backdropFilter","opacity","fill","easing","onfinish","hitokoto","yiyan","yiyan_api","api_path","innerText","api","res","json","from_who","web_audio","audio","AudioContext","webkitAudioContext","ctx","sheet","split","readSheetOption","select","createOscillator","createGain","mainGain","connect","destination","gain","setValueAtTime","main_gain","currentTime","frequency","linearRampToValueAtTime","start","exponentialRampToValueAtTime","stop","h","pageX","pageY","zIndex","stopPropagation","mainContainer","toggle","load_post_timer","load_post","now_href","pagination_a","contains","text","DOM","DOMParser","parseFromString","paga","paga_innerText","nextHref","main","append","dpga","addps","post_list_show_animation","tempScrollTop","scrollTop","io","article","willChange","articles","XLS_Listener","XLS","intersectionRatio","_page_next","href_page_next","load_key","load_time","title","log","naturalWidth","naturalHeight","sqrt","drawImage","getImageData","btnSerif","btnSansSerif","Worker","updateThemeSkin","coverBGUrl","imgElement","k","iteration","img","label","centroid","sort","metaLight","content","map","floor","_updateThemeSkin","slice","concat","findIndex","change_font_listener","btn","dataset","setButtonState","loadFontSetting","nowFont","font_name","initFontControl","bgvideo","videoList","movies","unplayedIndex","getVideo","video_stu","nextIndex","_getNextRandomVideo","bottom","origin","splay","video_btn","float_player_on","destroyAllAplayer","spause","coverVideoIni","videos","canPlayType","autoplay","Hls","default","reason","hls","loadSource","attachMedia","on","Events","MANIFEST_PARSED","initHLS","canPlayHandler","lazyloadPatch","poster","QueryStorage","search_result","keyword","link","fa","iconfont","comments","trim","toUpperCase","query","B","F","G","D","array","v","values","RegExp","Cx","H","div_href","search_close","Ty","click","jsSearchCallback","live_search","val","otxt","sessionStorage","JSON","parse","catch","search_a","searchFlag","oninput","checkSkinSecter","mashiro_global","variables","skinSecter","pattern","headertop","no_right_click","pri","changeBG","bgid","now_bg_url","bg_url","skin_bg0","skin_bg1","skin_bg2","skin_bg3","skin_bg4","bgButtonAddListener","next","pre","onclick","topFunction","timeSeriesReload","archives","al_li","nextElementSibling","al_expand_collapse","cursor","num","al_post_list","al_post_list_f","al_expand_collapse_click","MN","iconflat","close","auto_height","windowheight","minHeight","PE","blank","paddingTop","live","oncanplay","livepause","CE","comments_fold","comments_main","h3","sc","js_search","show_Nav","sln","loading","NH","siteHeader","closeSkinMenu","pjax","Pjax","selectors","defaultTrigger","exclude","jsdelivr_css_src","entry_content_style_src","aplayerInit","secondary","show_hide","activate_widget","NProgressON","NProgress","_p","_div","tla","openNav","script_app","script_app_page","gtag","google_analytics_id","pathname","_hmt","pageURL","hash","tabIndex","focus","tagid","changskin","close_SkinMenu","mb_to_top","transform","GT","onended","video_add","preload_screen","skinMenu"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"app.js","mappings":"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","sources":["webpack://sakurairo-scripts/webpack/runtime/chunk loaded","webpack://sakurairo-scripts/webpack/runtime/create fake namespace object","webpack://sakurairo-scripts/webpack/runtime/load script","webpack://sakurairo-scripts/./node_modules/activate-power-mode/dist/activate-power-mode.js","webpack://sakurairo-scripts/./src/sakura-app/global-func.js","webpack://sakurairo-scripts/./node_modules/color-space/lab.js","webpack://sakurairo-scripts/./node_modules/color-space/rgb.js","webpack://sakurairo-scripts/./node_modules/color-space/xyz.js","webpack://sakurairo-scripts/./node_modules/fg-loadcss/src/loadCSS.js","webpack://sakurairo-scripts/./node_modules/promise-worker/index.js","webpack://sakurairo-scripts/./node_modules/lazyload/src/lazyload.ts","webpack://sakurairo-scripts/./src/common/butterbar.ts","webpack://sakurairo-scripts/./src/common/util.ts","webpack://sakurairo-scripts/./src/sakura-app/darkmode.ts","webpack://sakurairo-scripts/./src/sakura-app/sakurairo_global.ts","webpack://sakurairo-scripts/webpack/bootstrap","webpack://sakurairo-scripts/webpack/runtime/compat get default export","webpack://sakurairo-scripts/webpack/runtime/define property getters","webpack://sakurairo-scripts/webpack/runtime/ensure chunk","webpack://sakurairo-scripts/webpack/runtime/get javascript chunk filename","webpack://sakurairo-scripts/webpack/runtime/global","webpack://sakurairo-scripts/webpack/runtime/hasOwnProperty shorthand","webpack://sakurairo-scripts/webpack/runtime/make namespace object","webpack://sakurairo-scripts/webpack/runtime/publicPath","webpack://sakurairo-scripts/webpack/runtime/jsonp chunk loading","webpack://sakurairo-scripts/./node_modules/safari-14-idb-fix/dist/index.js","webpack://sakurairo-scripts/./node_modules/idb-keyval/dist/index.js","webpack://sakurairo-scripts/./src/sakura-app/cache.ts","webpack://sakurairo-scripts/./src/common/cookie.ts","webpack://sakurairo-scripts/./src/sakura-app/compatibility.ts","webpack://sakurairo-scripts/./src/sakura-app/coverBackground.ts","webpack://sakurairo-scripts/./src/sakura-app/copyright.ts","webpack://sakurairo-scripts/./src/sakura-app/preload_screen.ts","webpack://sakurairo-scripts/./src/sakura-app/hitokoto.ts","webpack://sakurairo-scripts/./src/sakura-app/web_audio.ts","webpack://sakurairo-scripts/./src/sakura-app/mobile_nav.ts","webpack://sakurairo-scripts/./src/sakura-app/posts.js","webpack://sakurairo-scripts/./node_modules/@kotorik/palette/dist/index.mjs","webpack://sakurairo-scripts/./src/sakura-app/theme-color/index.ts","webpack://sakurairo-scripts/./src/sakura-app/font_control.ts","webpack://sakurairo-scripts/./src/sakura-app/video.ts","webpack://sakurairo-scripts/./src/sakura-app/search.ts","webpack://sakurairo-scripts/./src/sakura-app/index.js","webpack://sakurairo-scripts/./src/sakura-app/about_us.ts"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"sakurairo-scripts:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"POWERMODE\"] = factory();\n\telse\n\t\troot[\"POWERMODE\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar canvas = document.createElement('canvas');\n\tcanvas.width = window.innerWidth;\n\tcanvas.height = window.innerHeight;\n\tcanvas.style.cssText = 'position:fixed;top:0;left:0;pointer-events:none;z-index:999999';\n\twindow.addEventListener('resize', function () {\n\t canvas.width = window.innerWidth;\n\t canvas.height = window.innerHeight;\n\t});\n\tdocument.body.appendChild(canvas);\n\tvar context = canvas.getContext('2d');\n\tvar particles = [];\n\tvar particlePointer = 0;\n\tvar rendering = false;\n\n\tPOWERMODE.shake = true;\n\n\tfunction getRandom(min, max) {\n\t return Math.random() * (max - min) + min;\n\t}\n\n\tfunction getColor(el) {\n\t if (POWERMODE.colorful) {\n\t var u = getRandom(0, 360);\n\t return 'hsla(' + getRandom(u - 10, u + 10) + ', 100%, ' + getRandom(50, 80) + '%, ' + 1 + ')';\n\t } else {\n\t return window.getComputedStyle(el).color;\n\t }\n\t}\n\n\tfunction getCaret() {\n\t var el = document.activeElement;\n\t var bcr;\n\t if (el.tagName === 'TEXTAREA' ||\n\t (el.tagName === 'INPUT' && el.getAttribute('type') === 'text')) {\n\t var offset = __webpack_require__(1)(el, el.selectionEnd);\n\t bcr = el.getBoundingClientRect();\n\t return {\n\t x: offset.left + bcr.left,\n\t y: offset.top + bcr.top,\n\t color: getColor(el)\n\t };\n\t }\n\t var selection = window.getSelection();\n\t if (selection.rangeCount) {\n\t var range = selection.getRangeAt(0);\n\t var startNode = range.startContainer;\n\t if (startNode.nodeType === document.TEXT_NODE) {\n\t startNode = startNode.parentNode;\n\t }\n\t bcr = range.getBoundingClientRect();\n\t return {\n\t x: bcr.left,\n\t y: bcr.top,\n\t color: getColor(startNode)\n\t };\n\t }\n\t return { x: 0, y: 0, color: 'transparent' };\n\t}\n\n\tfunction createParticle(x, y, color) {\n\t return {\n\t x: x,\n\t y: y,\n\t alpha: 1,\n\t color: color,\n\t velocity: {\n\t x: -1 + Math.random() * 2,\n\t y: -3.5 + Math.random() * 2\n\t }\n\t };\n\t}\n\n\tfunction POWERMODE() {\n\t { // spawn particles\n\t var caret = getCaret();\n\t var numParticles = 5 + Math.round(Math.random() * 10);\n\t while (numParticles--) {\n\t particles[particlePointer] = createParticle(caret.x, caret.y, caret.color);\n\t particlePointer = (particlePointer + 1) % 500;\n\t }\n\t }\n\t { // shake screen\n\t if (POWERMODE.shake) {\n\t var intensity = 1 + 2 * Math.random();\n\t var x = intensity * (Math.random() > 0.5 ? -1 : 1);\n\t var y = intensity * (Math.random() > 0.5 ? -1 : 1);\n\t document.body.style.marginLeft = x + 'px';\n\t document.body.style.marginTop = y + 'px';\n\t setTimeout(function() {\n\t document.body.style.marginLeft = '';\n\t document.body.style.marginTop = '';\n\t }, 75);\n\t }\n\t }\n\t if(!rendering){\n\t requestAnimationFrame(loop);\n\t }\n\t};\n\tPOWERMODE.colorful = false;\n\n\tfunction loop() {\n\t rendering = true;\n\t context.clearRect(0, 0, canvas.width, canvas.height);\n\t var rendered = false;\n\t var rect = canvas.getBoundingClientRect();\n\t for (var i = 0; i < particles.length; ++i) {\n\t var particle = particles[i];\n\t if (particle.alpha <= 0.1) continue;\n\t particle.velocity.y += 0.075;\n\t particle.x += particle.velocity.x;\n\t particle.y += particle.velocity.y;\n\t particle.alpha *= 0.96;\n\t context.globalAlpha = particle.alpha;\n\t context.fillStyle = particle.color;\n\t context.fillRect(\n\t Math.round(particle.x - 1.5) - rect.left,\n\t Math.round(particle.y - 1.5) - rect.top,\n\t 3, 3\n\t );\n\t rendered = true;\n\t }\n\t if(rendered){\n\t requestAnimationFrame(loop);\n\t }else{\n\t rendering = false;\n\t }\n\t}\n\n\tmodule.exports = POWERMODE;\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n\t/* jshint browser: true */\n\n\t(function () {\n\n\t// The properties that we copy into a mirrored div.\n\t// Note that some browsers, such as Firefox,\n\t// do not concatenate properties, i.e. padding-top, bottom etc. -> padding,\n\t// so we have to do every single property specifically.\n\tvar properties = [\n\t 'direction', // RTL support\n\t 'boxSizing',\n\t 'width', // on Chrome and IE, exclude the scrollbar, so the mirror div wraps exactly as the textarea does\n\t 'height',\n\t 'overflowX',\n\t 'overflowY', // copy the scrollbar for IE\n\n\t 'borderTopWidth',\n\t 'borderRightWidth',\n\t 'borderBottomWidth',\n\t 'borderLeftWidth',\n\t 'borderStyle',\n\n\t 'paddingTop',\n\t 'paddingRight',\n\t 'paddingBottom',\n\t 'paddingLeft',\n\n\t // https://developer.mozilla.org/en-US/docs/Web/CSS/font\n\t 'fontStyle',\n\t 'fontVariant',\n\t 'fontWeight',\n\t 'fontStretch',\n\t 'fontSize',\n\t 'fontSizeAdjust',\n\t 'lineHeight',\n\t 'fontFamily',\n\n\t 'textAlign',\n\t 'textTransform',\n\t 'textIndent',\n\t 'textDecoration', // might not make a difference, but better be safe\n\n\t 'letterSpacing',\n\t 'wordSpacing',\n\n\t 'tabSize',\n\t 'MozTabSize'\n\n\t];\n\n\tvar isFirefox = window.mozInnerScreenX != null;\n\n\tfunction getCaretCoordinates(element, position, options) {\n\n\t var debug = options && options.debug || false;\n\t if (debug) {\n\t var el = document.querySelector('#input-textarea-caret-position-mirror-div');\n\t if ( el ) { el.parentNode.removeChild(el); }\n\t }\n\n\t // mirrored div\n\t var div = document.createElement('div');\n\t div.id = 'input-textarea-caret-position-mirror-div';\n\t document.body.appendChild(div);\n\n\t var style = div.style;\n\t var computed = window.getComputedStyle? getComputedStyle(element) : element.currentStyle; // currentStyle for IE < 9\n\n\t // default textarea styles\n\t style.whiteSpace = 'pre-wrap';\n\t if (element.nodeName !== 'INPUT')\n\t style.wordWrap = 'break-word'; // only for textarea-s\n\n\t // position off-screen\n\t style.position = 'absolute'; // required to return coordinates properly\n\t if (!debug)\n\t style.visibility = 'hidden'; // not 'display: none' because we want rendering\n\n\t // transfer the element's properties to the div\n\t properties.forEach(function (prop) {\n\t style[prop] = computed[prop];\n\t });\n\n\t if (isFirefox) {\n\t // Firefox lies about the overflow property for textareas: https://bugzilla.mozilla.org/show_bug.cgi?id=984275\n\t if (element.scrollHeight > parseInt(computed.height))\n\t style.overflowY = 'scroll';\n\t } else {\n\t style.overflow = 'hidden'; // for Chrome to not render a scrollbar; IE keeps overflowY = 'scroll'\n\t }\n\n\t div.textContent = element.value.substring(0, position);\n\t // the second special handling for input type=\"text\" vs textarea: spaces need to be replaced with non-breaking spaces - http://stackoverflow.com/a/13402035/1269037\n\t if (element.nodeName === 'INPUT')\n\t div.textContent = div.textContent.replace(/\\s/g, \"\\u00a0\");\n\n\t var span = document.createElement('span');\n\t // Wrapping must be replicated *exactly*, including when a long word gets\n\t // onto the next line, with whitespace at the end of the line before (#7).\n\t // The *only* reliable way to do that is to copy the *entire* rest of the\n\t // textarea's content into the created at the caret position.\n\t // for inputs, just '.' would be enough, but why bother?\n\t span.textContent = element.value.substring(position) || '.'; // || because a completely empty faux span doesn't render at all\n\t div.appendChild(span);\n\n\t var coordinates = {\n\t top: span.offsetTop + parseInt(computed['borderTopWidth']),\n\t left: span.offsetLeft + parseInt(computed['borderLeftWidth'])\n\t };\n\n\t if (debug) {\n\t span.style.backgroundColor = '#aaa';\n\t } else {\n\t document.body.removeChild(div);\n\t }\n\n\t return coordinates;\n\t}\n\n\tif (typeof module != \"undefined\" && typeof module.exports != \"undefined\") {\n\t module.exports = getCaretCoordinates;\n\t} else {\n\t window.getCaretCoordinates = getCaretCoordinates;\n\t}\n\n\t}());\n\n/***/ })\n/******/ ])\n});\n;","function imgError(ele, type) {\n switch (type) {\n case 1:\n ele.src = 'https://view.moezx.cc/images/2017/12/30/Transparent_Akkarin.th.jpg';\n break;\n case 2:\n ele.src = 'https://sdn.geekzu.org/avatar/?s=80&d=mm&r=g';\n break;\n default:\n ele.src = 'https://view.moezx.cc/images/2018/05/13/image-404.png';\n }\n}\nfunction cmt_showPopup(ele) {\n let popup = ele.querySelector(\"#thePopup\");\n popup.classList.add(\"show\");\n ele.querySelector(\"input\").onblur = () => {\n popup.classList.remove(\"show\");\n }\n}\n/*视频feature*/\nfunction coverVideo() {\n let video = document.getElementById(\"coverVideo\"),\n btn_playControl = document.getElementById(\"cv-pc\");\n\n if (video.paused) {\n video.play();\n try {\n btn_playControl.innerHTML = '';\n } catch { };\n //console.info('play:coverVideo()');\n } else {\n video.pause();\n try {\n btn_playControl.innerHTML = '';\n } catch { };\n //console.info('pause:coverVideo()');\n }\n}\nfunction coverVideoMute() {\n const video = document.getElementById(\"coverVideo\")\n const btn_volumeControl = document.getElementById(\"cv-vc\");\n if (video.muted) {\n video.muted = false\n btn_volumeControl.innerHTML = ''\n } else {\n video.muted = true\n btn_volumeControl.innerHTML = ''\n }\n}\nfunction killCoverVideo() {\n var video = document.getElementById(\"coverVideo\");\n var btn_playControl = document.getElementById(\"cv-pc\");\n\n if (video.paused) {\n //console.info('none:killCoverVideo()');\n } else {\n video.pause();\n try {\n btn_playControl.innerHTML = '';\n } catch (e) { };\n //console.info('pause:killCoverVideo()');\n }\n}\n\nfunction mail_me() {\n window.open(\"mailto:\" + mashiro_option.email_name + \"@\" + mashiro_option.email_domain);\n}\n/* 首页下拉箭头 */\nfunction headertop_down() {\n let coverOffset = document.getElementById(\"content\").getBoundingClientRect().top + window.pageYOffset;\n window.scrollTo({\n top: coverOffset,\n behavior: \"smooth\"\n });\n}\nwindow.imgError = imgError\nwindow.cmt_showPopup = cmt_showPopup\nwindow.coverVideo = coverVideo\nwindow.coverVideoMute = coverVideoMute\nwindow.killCoverVideo = killCoverVideo\nwindow.mail_me = mail_me\nwindow.headertop_down = headertop_down","/**\n * CIE LAB space model\n *\n * @module color-space/lab\n */\n'use strict'\n\nvar xyz = require('./xyz');\n\nmodule.exports = {\n\tname: 'lab',\n\tmin: [0,-100,-100],\n\tmax: [100,100,100],\n\tchannel: ['lightness', 'a', 'b'],\n\talias: ['LAB', 'cielab'],\n\n\txyz: function(lab) {\n\t\tvar l = lab[0],\n\t\t\t\ta = lab[1],\n\t\t\t\tb = lab[2],\n\t\t\t\tx, y, z, y2;\n\n\t\tif (l <= 8) {\n\t\t\ty = (l * 100) / 903.3;\n\t\t\ty2 = (7.787 * (y / 100)) + (16 / 116);\n\t\t} else {\n\t\t\ty = 100 * Math.pow((l + 16) / 116, 3);\n\t\t\ty2 = Math.pow(y / 100, 1/3);\n\t\t}\n\n\t\tx = x / 95.047 <= 0.008856 ? x = (95.047 * ((a / 500) + y2 - (16 / 116))) / 7.787 : 95.047 * Math.pow((a / 500) + y2, 3);\n\n\t\tz = z / 108.883 <= 0.008859 ? z = (108.883 * (y2 - (b / 200) - (16 / 116))) / 7.787 : 108.883 * Math.pow(y2 - (b / 200), 3);\n\n\t\treturn [x, y, z];\n\t}\n};\n\n\n//extend xyz\nxyz.lab = function(xyz){\n\tvar x = xyz[0],\n\t\t\ty = xyz[1],\n\t\t\tz = xyz[2],\n\t\t\tl, a, b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1/3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1/3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1/3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n","/**\n * RGB space.\n *\n * @module color-space/rgb\n */\n'use strict'\n\nmodule.exports = {\n\tname: 'rgb',\n\tmin: [0,0,0],\n\tmax: [255,255,255],\n\tchannel: ['red', 'green', 'blue'],\n\talias: ['RGB']\n};\n","/**\n * CIE XYZ\n *\n * @module color-space/xyz\n */\n'use strict'\n\nvar rgb = require('./rgb');\n\nvar xyz = {\n\tname: 'xyz',\n\tmin: [0,0,0],\n\tchannel: ['X','Y','Z'],\n\talias: ['XYZ', 'ciexyz', 'cie1931']\n};\n\n\n/**\n * Whitepoint reference values with observer/illuminant\n *\n * http://en.wikipedia.org/wiki/Standard_illuminant\n */\nxyz.whitepoint = {\n\t//1931 2°\n\t2: {\n\t\t//incadescent\n\t\tA:[109.85, 100, 35.585],\n\t\t// B:[],\n\t\tC: [98.074, 100, 118.232],\n\t\tD50: [96.422, 100, 82.521],\n\t\tD55: [95.682, 100, 92.149],\n\t\t//daylight\n\t\tD65: [95.045592705167, 100, 108.9057750759878],\n\t\tD75: [94.972, 100, 122.638],\n\t\t//flourescent\n\t\t// F1: [],\n\t\tF2: [99.187, 100, 67.395],\n\t\t// F3: [],\n\t\t// F4: [],\n\t\t// F5: [],\n\t\t// F6:[],\n\t\tF7: [95.044, 100, 108.755],\n\t\t// F8: [],\n\t\t// F9: [],\n\t\t// F10: [],\n\t\tF11: [100.966, 100, 64.370],\n\t\t// F12: [],\n\t\tE: [100,100,100]\n\t},\n\n\t//1964 10°\n\t10: {\n\t\t//incadescent\n\t\tA:[111.144, 100, 35.200],\n\t\tC: [97.285, 100, 116.145],\n\t\tD50: [96.720, 100, 81.427],\n\t\tD55: [95.799, 100, 90.926],\n\t\t//daylight\n\t\tD65: [94.811, 100, 107.304],\n\t\tD75: [94.416, 100, 120.641],\n\t\t//flourescent\n\t\tF2: [103.280, 100, 69.026],\n\t\tF7: [95.792, 100, 107.687],\n\t\tF11: [103.866, 100, 65.627],\n\t\tE: [100,100,100]\n\t}\n};\n\n\n/**\n * Top values are the whitepoint’s top values, default are D65\n */\nxyz.max = xyz.whitepoint[2].D65;\n\n\n/**\n * Transform xyz to rgb\n *\n * @param {Array} xyz Array of xyz values\n *\n * @return {Array} RGB values\n */\nxyz.rgb = function (_xyz, white) {\n\t//FIXME: make sure we have to divide like this. Probably we have to replace matrix as well then\n\twhite = white || xyz.whitepoint[2].E;\n\n\tvar x = _xyz[0] / white[0],\n\t\ty = _xyz[1] / white[1],\n\t\tz = _xyz[2] / white[2],\n\t\tr, g, b;\n\n\t// assume sRGB\n\t// http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html\n\tr = (x * 3.240969941904521) + (y * -1.537383177570093) + (z * -0.498610760293);\n\tg = (x * -0.96924363628087) + (y * 1.87596750150772) + (z * 0.041555057407175);\n\tb = (x * 0.055630079696993) + (y * -0.20397695888897) + (z * 1.056971514242878);\n\n\tr = r > 0.0031308 ? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055)\n\t\t: r = (r * 12.92);\n\n\tg = g > 0.0031308 ? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)\n\t\t: g = (g * 12.92);\n\n\tb = b > 0.0031308 ? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055)\n\t\t: b = (b * 12.92);\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n}\n\n\n\n/**\n * RGB to XYZ\n *\n * @param {Array} rgb RGB channels\n *\n * @return {Array} XYZ channels\n */\nrgb.xyz = function(rgb, white) {\n\tvar r = rgb[0] / 255,\n\t\t\tg = rgb[1] / 255,\n\t\t\tb = rgb[2] / 255;\n\n\t// assume sRGB\n\tr = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);\n\n\tvar x = (r * 0.41239079926595) + (g * 0.35758433938387) + (b * 0.18048078840183);\n\tvar y = (r * 0.21263900587151) + (g * 0.71516867876775) + (b * 0.072192315360733);\n\tvar z = (r * 0.019330818715591) + (g * 0.11919477979462) + (b * 0.95053215224966);\n\n\twhite = white || xyz.whitepoint[2].E;\n\n\treturn [x * white[0], y * white[1], z * white[2]];\n};\n\n\n\nmodule.exports = xyz;\n","/*! loadCSS. [c]2020 Filament Group, Inc. MIT License */\n(function(w){\n\t\"use strict\";\n\t/* exported loadCSS */\n\tvar loadCSS = function( href, before, media, attributes ){\n\t\t// Arguments explained:\n\t\t// `href` [REQUIRED] is the URL for your CSS file.\n\t\t// `before` [OPTIONAL] is the element the script should use as a reference for injecting our stylesheet before\n\t\t// By default, loadCSS attempts to inject the link after the last stylesheet or script in the DOM. However, you might desire a more specific location in your document.\n\t\t// `media` [OPTIONAL] is the media type or query of the stylesheet. By default it will be 'all'\n\t\t// `attributes` [OPTIONAL] is the Object of attribute name/attribute value pairs to set on the stylesheet's DOM Element.\n\t\tvar doc = w.document;\n\t\tvar ss = doc.createElement( \"link\" );\n\t\tvar ref;\n\t\tif( before ){\n\t\t\tref = before;\n\t\t}\n\t\telse {\n\t\t\tvar refs = ( doc.body || doc.getElementsByTagName( \"head\" )[ 0 ] ).childNodes;\n\t\t\tref = refs[ refs.length - 1];\n\t\t}\n\n\t\tvar sheets = doc.styleSheets;\n\t\t// Set any of the provided attributes to the stylesheet DOM Element.\n\t\tif( attributes ){\n\t\t\tfor( var attributeName in attributes ){\n\t\t\t\tif( attributes.hasOwnProperty( attributeName ) ){\n\t\t\t\t\tss.setAttribute( attributeName, attributes[attributeName] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tss.rel = \"stylesheet\";\n\t\tss.href = href;\n\t\t// temporarily set media to something inapplicable to ensure it'll fetch without blocking render\n\t\tss.media = \"only x\";\n\n\t\t// wait until body is defined before injecting link. This ensures a non-blocking load in IE11.\n\t\tfunction ready( cb ){\n\t\t\tif( doc.body ){\n\t\t\t\treturn cb();\n\t\t\t}\n\t\t\tsetTimeout(function(){\n\t\t\t\tready( cb );\n\t\t\t});\n\t\t}\n\t\t// Inject link\n\t\t\t// Note: the ternary preserves the existing behavior of \"before\" argument, but we could choose to change the argument to \"after\" in a later release and standardize on ref.nextSibling for all refs\n\t\t\t// Note: `insertBefore` is used instead of `appendChild`, for safety re: http://www.paulirish.com/2011/surefire-dom-element-insertion/\n\t\tready( function(){\n\t\t\tref.parentNode.insertBefore( ss, ( before ? ref : ref.nextSibling ) );\n\t\t});\n\t\t// A method (exposed on return object for external use) that mimics onload by polling document.styleSheets until it includes the new sheet.\n\t\tvar onloadcssdefined = function( cb ){\n\t\t\tvar resolvedHref = ss.href;\n\t\t\tvar i = sheets.length;\n\t\t\twhile( i-- ){\n\t\t\t\tif( sheets[ i ].href === resolvedHref ){\n\t\t\t\t\treturn cb();\n\t\t\t\t}\n\t\t\t}\n\t\t\tsetTimeout(function() {\n\t\t\t\tonloadcssdefined( cb );\n\t\t\t});\n\t\t};\n\n\t\tfunction loadCB(){\n\t\t\tif( ss.addEventListener ){\n\t\t\t\tss.removeEventListener( \"load\", loadCB );\n\t\t\t}\n\t\t\tss.media = media || \"all\";\n\t\t}\n\n\t\t// once loaded, set link's media back to `all` so that the stylesheet applies once it loads\n\t\tif( ss.addEventListener ){\n\t\t\tss.addEventListener( \"load\", loadCB);\n\t\t}\n\t\tss.onloadcssdefined = onloadcssdefined;\n\t\tonloadcssdefined( loadCB );\n\t\treturn ss;\n\t};\n\t// commonjs\n\tif( typeof exports !== \"undefined\" ){\n\t\texports.loadCSS = loadCSS;\n\t}\n\telse {\n\t\tw.loadCSS = loadCSS;\n\t}\n}( typeof global !== \"undefined\" ? global : this ));\n","'use strict'\n\nvar messageIds = 0\n\nfunction onMessage (self, e) {\n var message = e.data\n if (!Array.isArray(message) || message.length < 2) {\n // Ignore - this message is not for us.\n return\n }\n var messageId = message[0]\n var error = message[1]\n var result = message[2]\n\n var callback = self._callbacks[messageId]\n\n if (!callback) {\n // Ignore - user might have created multiple PromiseWorkers.\n // This message is not for us.\n return\n }\n\n delete self._callbacks[messageId]\n callback(error, result)\n}\n\nfunction PromiseWorker (worker) {\n var self = this\n self._worker = worker\n self._callbacks = {}\n\n worker.addEventListener('message', function (e) {\n onMessage(self, e)\n })\n}\n\nPromiseWorker.prototype.postMessage = function (userMessage) {\n var self = this\n var messageId = messageIds++\n\n var messageToSend = [messageId, userMessage]\n\n return new Promise(function (resolve, reject) {\n self._callbacks[messageId] = function (error, result) {\n if (error) {\n return reject(new Error(error.message))\n }\n resolve(result)\n }\n\n /* istanbul ignore if */\n if (typeof self._worker.controller !== 'undefined') {\n // service worker, use MessageChannels because e.source is broken in Chrome < 51:\n // https://bugs.chromium.org/p/chromium/issues/detail?id=543198\n var channel = new MessageChannel()\n channel.port1.onmessage = function (e) {\n onMessage(self, e)\n }\n self._worker.controller.postMessage(messageToSend, [channel.port2])\n } else {\n // web worker\n self._worker.postMessage(messageToSend)\n }\n })\n}\n\nmodule.exports = PromiseWorker\n","/**\n * default option\n */\nconst defaults = {\n src: \"data-src\",\n srcset: \"data-srcset\",\n selector: \".lazyload\",\n root: null,\n rootMargin: \"0px\",\n threshold: 0\n};\n/**\n * @class LazyLoad\n */\nexport default class LazyLoad {\n constructor(elms, options) {\n this.obs = null;\n this.doLoad = (element) => {\n const { settings } = this;\n const src = element.getAttribute(settings.src);\n const srcset = element.getAttribute(settings.srcset);\n const tagName = element.tagName.toLowerCase();\n if (tagName === 'video') {\n if (src) {\n element.src = src;\n }\n }\n else if (tagName === 'img') {\n if (src) {\n element.src = src;\n }\n if (srcset) {\n //@ts-ignore\n element.srcset = srcset;\n }\n }\n else {\n element.style.backgroundImage = \"url('\" + src + \"')\";\n }\n };\n this.settings = Object.assign(Object.assign({}, defaults), options);\n this.elms = elms || document.querySelectorAll(this.settings.selector);\n this.init();\n }\n init() {\n /* Without observers load everything and bail out early. */\n if (!IntersectionObserver) {\n this.load();\n return;\n }\n const self = this;\n this.obs = new IntersectionObserver(function (entries) {\n Array.prototype.forEach.call(entries, function (entry) {\n if (entry.isIntersecting) {\n self.obs.unobserve(entry.target);\n self.doLoad(entry.target);\n }\n });\n }, {\n root: this.settings.root,\n rootMargin: this.settings.rootMargin,\n threshold: [this.settings.threshold]\n });\n this.elms.forEach((image) => {\n self.obs.observe(image);\n });\n }\n loadAndDestroy() {\n if (!this.settings) {\n return;\n }\n this.load();\n this.destroy();\n }\n load() {\n if (!this.settings) {\n return;\n }\n const { settings } = this;\n Array.prototype.forEach.call(this.elms, this.doLoad);\n }\n /**\n * Destroy Lazyload Instance\n * @returns\n */\n destroy() {\n if (!this.settings) {\n return;\n }\n this.obs.disconnect();\n this.settings = null;\n }\n}\nexport const lazyload = (images, options) => new LazyLoad(images, options);\n","export function clearButterbar() {\n const butterBar = document.getElementsByClassName(\"butterBar\");\n if (butterBar.length > 0) {\n for (let i = 0; i < butterBar.length; i++) {\n butterBar[i].remove();\n }\n }\n}\nexport function createButterbar(message, keep) {\n clearButterbar();\n /* document.body.insertAdjacentHTML('beforeend', '');\n */\n const div = document.createElement('div');\n const p = document.createElement('p');\n div.classList.add('butterBar', 'butterBar--center');\n p.classList.add('butterBar-message');\n p.innerHTML = message;\n div.appendChild(p);\n document.body.appendChild(div);\n if (keep !== true)\n setTimeout(() => { clearButterbar(); }, typeof keep == 'number' ? keep : 6000);\n return div;\n}\n","let readyFunctionList = [];\n/**\n * 传入的函数同时间只能运行一个\n * @param func 要包装的函数\n * @returns 包装后的函数\n */\nexport const onlyOnceATime = (func) => {\n let isRunning = false;\n return (...args) => {\n if (!isRunning) {\n isRunning = true;\n try {\n const result = func(...args);\n if (result instanceof Promise) {\n result.finally(() => isRunning = false);\n }\n else {\n isRunning = false;\n }\n return result;\n }\n catch (e) {\n console.warn(e);\n isRunning = false;\n }\n }\n };\n};\nconst whileReady = () => {\n document.removeEventListener('DOMContentLoaded', whileReady);\n for (const fn of readyFunctionList) {\n fn();\n }\n readyFunctionList = [];\n};\n/**\n * 延迟函数到DOM树加载完成后执行\n * @seealso https://developer.mozilla.org/zh-CN/docs/Web/API/Document/readyState\n * @param fn 要延迟执行的函数\n */\nexport const ready = function (fn) {\n //interactive:等价于事件DOMContentLoaded\n //complete:等价于事件load\n if (document.readyState !== 'loading') {\n return fn();\n }\n if (readyFunctionList.length == 0) {\n document.addEventListener('DOMContentLoaded', whileReady, false);\n }\n readyFunctionList.push(fn);\n};\n/**\n * 获取文件名的主名部分(即去除扩展名)\n * @param fileName 文件名\n * @returns 主名\n */\nexport const getFileNameMain = (fileName) => fileName.replace(/\\.\\w+$/, '');\nexport function slideToggle(el, duration = 1000, mode = '', callback) {\n let dom = el;\n dom.status = dom.status || getComputedStyle(dom, null)['display'];\n const flag = dom.status != 'none';\n if ((flag == true && mode == \"show\") || (flag == false && mode == \"hide\"))\n return;\n dom.status = flag ? 'none' : 'block';\n dom.style.transition = 'height ' + duration / 1000 + 's';\n dom.style.overflow = 'hidden';\n clearTimeout(dom.tagTimer);\n dom.tagTimer = dom.tagTimer || null;\n dom.style.display = 'block';\n dom.tagHeight = dom.tagHeight || dom.clientHeight + 'px';\n dom.style.display = '';\n dom.style.height = flag ? dom.tagHeight : \"0px\";\n setTimeout(() => {\n dom.style.height = flag ? \"0px\" : dom.tagHeight;\n }, 0);\n dom.tagTimer = setTimeout(() => {\n dom.style.display = flag ? 'none' : 'block';\n dom.style.transition = '';\n dom.style.overflow = '';\n dom.style.height = '';\n dom.status = dom.tagHeight = null;\n }, duration);\n if (callback)\n callback();\n}\nexport function buildAPI(apiPath, params = {}, nonce = true) {\n const path = new URL(apiPath);\n const { searchParams } = path;\n for (const [key, value] of Object.entries(params)) {\n searchParams.set(key, value);\n }\n if (nonce)\n searchParams.set(\"_wpnonce\", Poi.nonce);\n return path.toString();\n}\n","const mediaQuery = window.matchMedia('(prefers-color-scheme:dark)');\nlet inDarkMode = false;\nexport const isInDarkMode = () => inDarkMode;\nfunction informDarkModeChange(nextValue) {\n if (nextValue !== inDarkMode) {\n document.dispatchEvent(new CustomEvent(\"darkmode\", { detail: nextValue }));\n inDarkMode = nextValue;\n }\n}\nfunction mediaQueryCallback() {\n const dark = localStorage.getItem(\"dark\");\n //仅在深色模式不是用户主动设置时触发\n if (!dark) {\n if (mediaQuery.matches && mashiro_option.darkmode) {\n turnOnDarkMode();\n }\n else {\n turnOffDarkMode();\n }\n }\n}\nif (mashiro_option.dm_strategy === 'client') {\n mediaQuery.removeEventListener ? mediaQuery.removeEventListener('change', mediaQueryCallback) : mediaQuery.removeListener(mediaQueryCallback);\n mediaQuery.addEventListener ? mediaQuery.addEventListener('change', mediaQueryCallback) : mediaQuery.addListener(mediaQueryCallback);\n}\nfunction saveUserSetting(value) {\n if (value == ifDarkmodeShouldOn()) {\n //用户设置与自动切换深色模式判断一致时,恢复自动切换\n localStorage.removeItem('dark');\n }\n else {\n if (value == true) {\n localStorage.setItem(\"dark\", \"1\");\n }\n else {\n localStorage.setItem(\"dark\", \"0\");\n }\n }\n //localStorage.setItem(\"bgImgSetting\", \"white-bg\");\n}\nexport function turnOnDarkMode(userTriggered) {\n document.documentElement.style.backgroundColor = \"#333\";\n document.getElementsByClassName(\"site-content\")[0].style.backgroundColor = \"#333\";\n document.body.classList.add(\"dark\");\n if (userTriggered)\n saveUserSetting(true);\n informDarkModeChange(true);\n}\nexport function turnOffDarkMode(userTriggered) {\n document.documentElement.style.backgroundColor = \"\";\n document.getElementsByClassName(\"site-content\")[0].style.backgroundColor = \"rgba(255, 255, 255, .8)\";\n document.body.classList.remove(\"dark\");\n document.body.classList.remove(\"dynamic\");\n informDarkModeChange(false);\n if (userTriggered) {\n saveUserSetting(false);\n //document.body.style.backgroundImage = `url(${mashiro_option.skin_bg0})`;\n }\n}\n/**\n * 检查是否在深色模式时间\n * @returns {boolean}\n */\nfunction checkTime() {\n const today = new Date();\n return (today.getHours() > 21 || today.getHours() < 7);\n}\nexport function ifDarkmodeShouldOn() {\n switch (mashiro_option.dm_strategy) {\n case 'client':\n return mediaQuery.matches;\n case 'eien':\n return true;\n default: /**case time */\n return checkTime();\n }\n}\nexport function checkDarkModeSetting() {\n const dark = localStorage.getItem(\"dark\");\n if (!dark) {\n //无用户设置时,自动切换深色模式\n if (ifDarkmodeShouldOn() && mashiro_option.darkmode) {\n turnOnDarkMode();\n }\n else {\n turnOffDarkMode();\n }\n }\n else {\n if (dark == '1') {\n turnOnDarkMode();\n }\n else {\n turnOffDarkMode();\n }\n }\n}\n/* function mobile_dark_light() {\n if (document.body.classList.contains(\"dark\")) {\n document.documentElement.style.background = \"unset\";\n document.body.classList.remove(\"dark\");\n document.getElementById(\"moblieDarkLight\").innerHTML = '';\n setCookie(\"dark\", \"0\", 0.33);\n } else {\n document.documentElement.style.background = \"#333333\";\n document.getElementById(\"moblieDarkLight\").innerHTML = '';\n document.body.classList.add(\"dark\");\n setCookie(\"dark\", \"1\", 0.33);\n }\n} */ \n","/**\n *\n * @param key 这段句子的中文表述(默认语言)\n */\n//@ts-ignore\nexport const __ = (defaultStr) => (window._sakurairoi18n && _sakurairoi18n[defaultStr]) || defaultStr;\n/**\n *\n * 占位符格式 {index} ex.{0}\n * @param defaultStr 这段句子的中文表述(默认语言)\n * @param replacements 句子中占位符的替代元素\n */\nexport const _$ = (defaultStr, ...replacements) => {\n let template = __(defaultStr);\n for (const index in replacements) {\n template = template.replace('{' + index + '}', replacements[index]);\n }\n return template;\n};\nexport const sakurairoGlobal = {\n opt: {},\n /* _sys_call:sys_call\n */ \n};\n/**\n * 在sakurairoGlobal注册一个对象\n * @param key\n * @param value\n * @returns\n */\nexport const registerOnGlobal = (key, value) => Object.defineProperty(sakurairoGlobal, key, {\n value: value,\n writable: false,\n enumerable: true,\n});\nif ('_sakurairo' in window) {\n //@ts-ignore\n const _sakurairo = window._sakurairo;\n if ('opt' in _sakurairo) {\n sakurairoGlobal.opt = _sakurairo.opt;\n }\n}\n//@ts-ignore\nwindow._sakurairo = sakurairoGlobal;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + ({\"8\":\"lg-plugin-0\",\"238\":\"lg-plugin-1\",\"359\":\"lg-plugin-5\",\"400\":\"lg-plugin-4\",\"515\":\"lg-plugin-6\",\"568\":\"lg-plugin-10\",\"642\":\"lg-plugin-8\",\"649\":\"lg-plugin-3\",\"719\":\"lg-plugin-11\",\"725\":\"lg-plugin-9\",\"846\":\"lg-plugin-2\",\"893\":\"lg-plugin-7\"}[chunkId] || chunkId) + \".js\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkIds[i]] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunksakurairo_scripts\"] = self[\"webpackChunksakurairo_scripts\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","/**\n * Work around Safari 14 IndexedDB open bug.\n *\n * Safari has a horrible bug where IDB requests can hang while the browser is starting up. https://bugs.webkit.org/show_bug.cgi?id=226547\n * The only solution is to keep nudging it until it's awake.\n */\nfunction idbReady() {\n var isSafari = !navigator.userAgentData &&\n /Safari\\//.test(navigator.userAgent) &&\n !/Chrom(e|ium)\\//.test(navigator.userAgent);\n // No point putting other browsers or older versions of Safari through this mess.\n if (!isSafari || !indexedDB.databases)\n return Promise.resolve();\n var intervalId;\n return new Promise(function (resolve) {\n var tryIdb = function () { return indexedDB.databases().finally(resolve); };\n intervalId = setInterval(tryIdb, 100);\n tryIdb();\n }).finally(function () { return clearInterval(intervalId); });\n}\n\nexport default idbReady;\n","import safariFix from 'safari-14-idb-fix';\n\nfunction promisifyRequest(request) {\n return new Promise((resolve, reject) => {\n // @ts-ignore - file size hacks\n request.oncomplete = request.onsuccess = () => resolve(request.result);\n // @ts-ignore - file size hacks\n request.onabort = request.onerror = () => reject(request.error);\n });\n}\nfunction createStore(dbName, storeName) {\n const dbp = safariFix().then(() => {\n const request = indexedDB.open(dbName);\n request.onupgradeneeded = () => request.result.createObjectStore(storeName);\n return promisifyRequest(request);\n });\n return (txMode, callback) => dbp.then((db) => callback(db.transaction(storeName, txMode).objectStore(storeName)));\n}\nlet defaultGetStoreFunc;\nfunction defaultGetStore() {\n if (!defaultGetStoreFunc) {\n defaultGetStoreFunc = createStore('keyval-store', 'keyval');\n }\n return defaultGetStoreFunc;\n}\n/**\n * Get a value by its key.\n *\n * @param key\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction get(key, customStore = defaultGetStore()) {\n return customStore('readonly', (store) => promisifyRequest(store.get(key)));\n}\n/**\n * Set a value with a key.\n *\n * @param key\n * @param value\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction set(key, value, customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => {\n store.put(value, key);\n return promisifyRequest(store.transaction);\n });\n}\n/**\n * Set multiple values at once. This is faster than calling set() multiple times.\n * It's also atomic – if one of the pairs can't be added, none will be added.\n *\n * @param entries Array of entries, where each entry is an array of `[key, value]`.\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction setMany(entries, customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => {\n entries.forEach((entry) => store.put(entry[1], entry[0]));\n return promisifyRequest(store.transaction);\n });\n}\n/**\n * Get multiple values by their keys\n *\n * @param keys\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction getMany(keys, customStore = defaultGetStore()) {\n return customStore('readonly', (store) => Promise.all(keys.map((key) => promisifyRequest(store.get(key)))));\n}\n/**\n * Update a value. This lets you see the old value and update it as an atomic operation.\n *\n * @param key\n * @param updater A callback that takes the old value and returns a new value.\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction update(key, updater, customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => \n // Need to create the promise manually.\n // If I try to chain promises, the transaction closes in browsers\n // that use a promise polyfill (IE10/11).\n new Promise((resolve, reject) => {\n store.get(key).onsuccess = function () {\n try {\n store.put(updater(this.result), key);\n resolve(promisifyRequest(store.transaction));\n }\n catch (err) {\n reject(err);\n }\n };\n }));\n}\n/**\n * Delete a particular key from the store.\n *\n * @param key\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction del(key, customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => {\n store.delete(key);\n return promisifyRequest(store.transaction);\n });\n}\n/**\n * Delete multiple keys at once.\n *\n * @param keys List of keys to delete.\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction delMany(keys, customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => {\n keys.forEach((key) => store.delete(key));\n return promisifyRequest(store.transaction);\n });\n}\n/**\n * Clear all values in the store.\n *\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction clear(customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => {\n store.clear();\n return promisifyRequest(store.transaction);\n });\n}\nfunction eachCursor(customStore, callback) {\n return customStore('readonly', (store) => {\n // This would be store.getAllKeys(), but it isn't supported by Edge or Safari.\n // And openKeyCursor isn't supported by Safari.\n store.openCursor().onsuccess = function () {\n if (!this.result)\n return;\n callback(this.result);\n this.result.continue();\n };\n return promisifyRequest(store.transaction);\n });\n}\n/**\n * Get all keys in the store.\n *\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction keys(customStore = defaultGetStore()) {\n const items = [];\n return eachCursor(customStore, (cursor) => items.push(cursor.key)).then(() => items);\n}\n/**\n * Get all values in the store.\n *\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction values(customStore = defaultGetStore()) {\n const items = [];\n return eachCursor(customStore, (cursor) => items.push(cursor.value)).then(() => items);\n}\n/**\n * Get all entries in the store. Each entry is an array of `[key, value]`.\n *\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction entries(customStore = defaultGetStore()) {\n const items = [];\n return eachCursor(customStore, (cursor) => items.push([cursor.key, cursor.value])).then(() => items);\n}\n\nexport { clear, createStore, del, delMany, entries, get, getMany, keys, promisifyRequest, set, setMany, update, values };\n","import { createStore, promisifyRequest } from 'idb-keyval';\nconst store = createStore('sakurairo', 'cache');\nconst get = (key) => store('readonly', (store) => promisifyRequest(store.get(key)));\nconst set = (key, value) => store('readwrite', (store) => {\n store.put(value, key);\n return promisifyRequest(store.transaction);\n});\nconst del = (key) => store('readwrite', (store) => {\n store.delete(key);\n return promisifyRequest(store.transaction);\n});\nexport { get, set, del };\n","var _a;\n/**\n * Cookie\n * from github.com/mirai-mamori/Sakurairo ./js/sakura-app.js ,commit 71f5a0c\n * @license GPL-v2\n * @date 2021.03\n */\nlet _version_ctrl = (_a = mashiro_option.cookie_version_control) !== null && _a !== void 0 ? _a : '';\nexport function setCookie(key, value, days) {\n const expires = days ? \"; expires=\" + new Date(Date.now() + (days * 24 * 60 * 60 * 1000)).toUTCString() : \"\";\n document.cookie = key + _version_ctrl + \"=\" + (value || \"\") + expires + \"; path=/\";\n}\nexport function getCookie(key) {\n const nameEQ = key + _version_ctrl + \"=\", ca = document.cookie.split(';');\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i];\n while (c.charAt(0) == ' ')\n c = c.substring(1, c.length);\n if (c.indexOf(nameEQ) == 0)\n return c.substring(nameEQ.length, c.length);\n }\n return null;\n}\nexport function removeCookie(key) {\n document.cookie = key + _version_ctrl + '=; Max-Age=-99999999;';\n}\n","const UA = navigator.userAgent;\n/**\n * 关于AppleWebkit与Safari版本的对应,参考:\n * @seealso https://gist.github.com/jakub-g/48a16195280a7023f570ffa5c8a4eae5\n * @seealso https://en.wikipedia.org/wiki/Safari_version_history\n *\n * Opera浏览器自15以来更换了User Agent\n * OPR/*\n */\nconst uaMatches = Array.from(UA.matchAll(/(Firefox|Chrome|Version|OPR|Edg)\\/(\\d+)/ig));\nimport { setCookie } from '../common/cookie';\nfunction setAcceptImage() {\n const acceptList = ['image/*,*/*;q=0.8'];\n if (isSupported({ Chrome: 59, OPR: 46, Firefox: 3, Edg: 79, Version: 8 /**Safari 8 */ })) {\n acceptList.push('image/apng');\n if (isSupported({ Chrome: 32, OPR: 19, Firefox: 65, Edg: 18, Version: 14 /**Safari 14 */ })) {\n setCookie('su_webp', '1', 114514);\n acceptList.push('image/webp');\n if (isSupported({ Chrome: 85, OPR: 71, Firefox: 93 })) {\n acceptList.push('image/avif');\n }\n }\n }\n return acceptList.reverse().join(',');\n}\nexport function isSupported(checkList) {\n for (const [_, name, version] of uaMatches) {\n if (parseFloat(version) >= checkList[name]) {\n return true;\n }\n }\n return false;\n}\nexport const Accept_Image = setAcceptImage();\n","import { get, set, del } from './cache';\nimport { Accept_Image } from './compatibility';\nimport { __ } from './sakurairo_global';\nlet bgn = 1;\nlet blob_url = '';\nexport async function nextBG() {\n changeCoverBG(await getCoverPath(true));\n bgn++;\n}\nexport async function preBG() {\n bgn--;\n changeCoverBG(await getCoverPath(true));\n}\nconst centerbg = document.querySelector(\".centerbg\");\n/**\n * 更改封面背景\n */\nexport const changeCoverBG = mashiro_option.site_bg_as_cover ? (url) => {\n document.body.style.backgroundImage = `url(${url})`;\n document.dispatchEvent(new CustomEvent('coverBG_change', { detail: url }));\n} :\n centerbg ? (url) => {\n centerbg.style.backgroundImage = `url(${url})`;\n document.dispatchEvent(new CustomEvent('coverBG_change', { detail: url }));\n } : () => { };\nfunction parseCSSUrl(cssText) {\n const result = cssText === null || cssText === void 0 ? void 0 : cssText.match(/^url\\(\"(.+)\"\\)$/);\n if (result) {\n return result[1];\n }\n}\n/**\n * 返回当前封面背景的URL\n */\nexport const getCurrentBG = mashiro_option.site_bg_as_cover ? () => parseCSSUrl(document.body.style.backgroundImage) :\n () => parseCSSUrl(centerbg.style.backgroundImage);\nfunction getAPIPath(useBGN = false) {\n const cover_api_url = new URL(mashiro_option.cover_api);\n if (document.body.clientWidth < 860 && mashiro_option.random_graphs_mts == true) {\n cover_api_url.searchParams.set('type', 'mobile');\n return cover_api_url.toString() + (useBGN ? \"&\" + bgn : '');\n }\n else {\n return cover_api_url.toString() + (useBGN ? (cover_api_url.search === '' ? \"?\" : '&') + bgn : '');\n }\n}\nexport const getCoverPath = mashiro_option.cache_cover ? (useBGN = false) => get('cover').then(coverBG => {\n if (coverBG && coverBG instanceof ArrayBuffer) {\n cleanBlobUrl();\n blob_url = URL.createObjectURL(new Blob([coverBG]));\n return blob_url;\n }\n else {\n //fallback\n return getAPIPath(useBGN);\n }\n}).finally(() => {\n fetchAndCache(useBGN);\n})\n : getAPIPath;\nasync function fetchAndCache(useBGN = false) {\n try {\n const resp = await fetch(getAPIPath(useBGN), { headers: { Accept: Accept_Image } });\n if (resp.ok) {\n const buf = await resp.arrayBuffer();\n try {\n set('cover', buf);\n /**\n * @problem Safari暂时不支持indexdb存储blob\n * DataCloneError: Failed to store record in an IDBObjectStore: BlobURLs are not yet supported.\n * @seealso https://developers.google.com/web/fundamentals/instant-and-offline/web-storage/indexeddb-best-practices#keeping_your_app_predictable\n */\n }\n catch (e) {\n //catch: FireFox无痕模式下数据库不允许修改\n /**\n * @problem FireFox无痕模式下数据库不允许修改\n * DOMException: A mutation operation was attempted on a database that did not allow mutations\n * Chrome不会报错\n * 像是火狐的设计 https://wiki.mozilla.org/Private_Browsing#Persistent_Storage\n * 变通方法 https://bugzilla.mozilla.org/show_bug.cgi?id=1639542#c9\n */\n console.warn(e);\n }\n }\n }\n catch (e) {\n if (e instanceof TypeError) {\n console.warn(__('你的封面API好像不支持跨域调用,这种情况下缓存是不会生效的哦'));\n del('cover');\n }\n }\n}\nfunction cleanBlobUrl() {\n URL.revokeObjectURL(blob_url);\n blob_url = '';\n}\n/* export function initCoverBG() {\n if (mashiro_option.site_bg_as_cover) {\n if (centerbg) centerbg.style.background = '#0000'\n }\n} */ \n","import { createButterbar } from \"../common/butterbar\";\nimport { __ } from \"./sakurairo_global\";\nconst txt = [\n \"# 商业转载请联系作者获得授权,非商业转载请注明出处。\",\n \"# For commercial use, please contact the author for authorization. For non-commercial use, please indicate the source.\",\n \"# 协议(License):署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)\",\n \"# 作者(Author):\" + mashiro_option.author_name,\n \"# 链接(URL):\" + window.location.href,\n \"# 来源(Source):\" + mashiro_option.site_name,\n];\nfunction setClipboardText(event, selectionTxt) {\n event.preventDefault();\n const htmlData = txt.join('
') + \"
\" + selectionTxt.replace(/\\r\\n/g, \"
\"), textData = txt.join('\\n') + \"\\n\\n\" + selectionTxt.toString().replace(/\\r\\n/g, \"\\n\");\n if (event.clipboardData) {\n event.clipboardData.setData(\"text/html\", htmlData);\n event.clipboardData.setData(\"text/plain\", textData);\n }\n else if (window.clipboardData) {\n //deprecate?\n return window.clipboardData.setData(\"text\", textData);\n }\n}\nfunction copytext(e) {\n const selection = window.getSelection();\n if (selection) {\n const selectionText = selection.toString();\n if (selectionText.length > 30) {\n setClipboardText(e, selectionText);\n createButterbar(__(\"复制成功!\"), 1000);\n }\n }\n}\n/**\n * 添加复制时的版权提示\n */\nexport default function add_copyright() {\n if (mashiro_option.clipboardCopyright) {\n document.body.removeEventListener(\"copy\", copytext);\n document.body.addEventListener(\"copy\", copytext);\n }\n}\n","export default function () {\n const preload = document.getElementById(\"preload\");\n if (preload) {\n if (document.readyState === 'complete')\n return removeScreen(preload);\n window.addEventListener('load', () => {\n removeScreen(preload);\n });\n }\n}\nfunction removeScreen(preload) {\n document.documentElement.style.overflowY = 'unset';\n if (mashiro_option.preload_blur != 0) {\n try {\n preload.animate([\n { filter: \"blur(0px)\", backdropFilter: \"blur(10px)\", opacity: 1 },\n { backdropFilter: \"blur(0px)grayscale(0)\", opacity: 0.1 },\n { opacity: 0, filter: \"blur(100px)\", }\n ], { duration: mashiro_option.preload_blur, fill: \"forwards\", easing: \"ease\" }).onfinish = () => {\n preload.remove();\n };\n return;\n }\n catch (error) {\n console.warn(error);\n }\n }\n preload.classList.add('hide');\n preload.classList.remove('show');\n setTimeout(() => preload.remove(), 233);\n}\n","export default async function hitokoto() {\n var _a;\n if (mashiro_option.yiyan) {\n const yiyan = document.getElementById(\"footer_yiyan\");\n const api_group = (_a = mashiro_option.yiyan_api) !== null && _a !== void 0 ? _a : [\"https://api.maho.cc/yiyan/\"];\n if (api_group.length == 0) {\n console.warn('一言API路径为空');\n }\n else if (yiyan) {\n for (const api_path of mashiro_option.yiyan_api) {\n try {\n const txt = await request(api_path);\n yiyan.innerText = txt;\n break;\n }\n catch (e) {\n console.warn(`一言api: 尝试联系\"${api_path}\"时出错。\\n`, e);\n continue;\n }\n }\n }\n }\n}\nconst request = async (api) => {\n const res = await fetch(api, { headers: { Accept: \"application/json\" } });\n if (res.ok) {\n const data = await res.json();\n const from_who = (data.from_who == 'null' ? null : data.from_who) || '';\n const from = data.from != data.from_who ? `「${data['from']}」` : '';\n const hitokoto = data.hitokoto;\n return hitokoto + '——' + from_who + from;\n }\n else {\n throw res.status;\n }\n};\n","import { sakurairoGlobal } from \"./sakurairo_global\";\nexport function web_audio() {\n if (!mashiro_option.audio)\n return;\n //@ts-ignore\n const AudioContext = window.AudioContext || window.webkitAudioContext;\n if (AudioContext) {\n let ctx = new AudioContext, t = readSheetOption() || sheet, i = 0, o = 1, dom, a = \"♪ ♩ ♫ ♬ ♭ € § ¶ ♯\".split(\" \"), selects = document.querySelectorAll(\".site-title, #moblieGoTop, .site-branding, .searchbox, .changeSkin-gear, .menu-list li\");\n selects.forEach((select) => {\n select.addEventListener(\"mouseenter\", (e) => {\n var _a;\n if (dom)\n return;\n let r = t[i];\n if (!r) {\n (i = 0, r = t[i]);\n }\n i += o;\n const c = ctx.createOscillator(), l = ctx.createGain(), mainGain = ctx.createGain();\n c.connect(l);\n l.connect(mainGain);\n mainGain.connect(ctx.destination);\n mainGain.gain.setValueAtTime(((_a = sakurairoGlobal.opt.web_audio) === null || _a === void 0 ? void 0 : _a.main_gain) || 1, ctx.currentTime);\n c.type = \"sine\";\n c.frequency.value = r;\n l.gain.setValueAtTime(0, ctx.currentTime);\n l.gain.linearRampToValueAtTime(1, ctx.currentTime + .01);\n c.start(ctx.currentTime);\n l.gain.exponentialRampToValueAtTime(.001, ctx.currentTime + 1);\n c.stop(ctx.currentTime + 1);\n const d = Math.round(7 * Math.random());\n const h = e.pageX;\n const p = e.pageY - 5;\n dom = document.createElement(\"b\");\n dom.textContent = a[d];\n dom.style.zIndex = \"99999\";\n dom.style.top = p - 100 + \"px\";\n dom.style.left = h + \"px\";\n dom.style.position = \"absolute\";\n dom.style.color = \"#FF6EB4\";\n document.body.appendChild(dom);\n dom.animate([\n { top: p + \"px\" },\n { opacity: 0 }\n ], {\n duration: 500\n });\n setTimeout(() => {\n dom.remove();\n dom = null;\n }, 500);\n e.stopPropagation();\n });\n });\n }\n}\n//欢乐颂\n/*t = \"329.628 329.628 349.228 391.995 391.995 349.228 329.628 293.665 261.626 261.626 293.665 329.628 329.628 293.665 293.665 329.628 329.628 349.228 391.995 391.995 349.228 329.628 293.665 261.626 261.626 293.665 329.628 293.665 261.626 261.626 293.665 293.665 329.628 261.626 293.665 329.628 349.228 329.628 261.626 293.665 329.628 349.228 329.628 293.665 261.626 293.665 195.998 329.628 329.628 349.228 391.995 391.995 349.228 329.628 293.665 261.626 261.626 293.665 329.628 293.665 261.626 261.626\".split(\" \")*/\n//天空之城\nconst sheet = \"880 987 1046 987 1046 1318 987 659 659 880 784 880 1046 784 659 659 698 659 698 1046 659 1046 1046 1046 987 698 698 987 987 880 987 1046 987 1046 1318 987 659 659 880 784 880 1046 784 659 698 1046 987 1046 1174 1174 1174 1046 1046 880 987 784 880 1046 1174 1318 1174 1318 1567 1046 987 1046 1318 1318 1174 784 784 880 1046 987 1174 1046 784 784 1396 1318 1174 659 1318 1046 1318 1760 1567 1567 1318 1174 1046 1046 1174 1046 1174 1567 1318 1318 1760 1567 1318 1174 1046 1046 1174 1046 1174 987 880 880 987 880\".split(\" \");\nfunction readSheetOption() {\n var _a;\n const sheet = (_a = sakurairoGlobal.opt.web_audio) === null || _a === void 0 ? void 0 : _a.sheet;\n if (typeof sheet == 'string') {\n return sheet.split(' ');\n }\n else if (sheet instanceof Array) {\n return sheet;\n }\n}\n","const mainContainer = document.getElementById(\"main-container\");\nfunction toggle() {\n document.body.classList.toggle(\"navOpen\");\n mainContainer.classList.toggle(\"open\");\n document.getElementById(\"mo-nav\").classList.toggle(\"open\");\n document.querySelector(\".openNav\").classList.toggle(\"open\");\n document.querySelector(\".site-header\").classList.toggle(\"open\");\n}\nexport function open() {\n toggle();\n document.documentElement.style.overflow = \"hidden\";\n mainContainer.addEventListener('click', close);\n}\nexport function close() {\n toggle();\n document.documentElement.style.overflow = \"unset\";\n mainContainer.removeEventListener('click', close);\n}\n","import { onlyOnceATime } from \"../common/util\";\nimport { lazyload } from 'lazyload'\nimport { __ } from './sakurairo_global'\n\nlet load_post_timer;\nconst load_post = onlyOnceATime(function load_post() {\n const now_href = document.location.href\n const pagination_a = document.querySelector('#pagination a');\n if (pagination_a.classList.contains(\"loading\")) return;\n pagination_a.classList.add(\"loading\");\n pagination_a.innerText = \"\";\n\n // $('#pagination a').addClass(\"loading\").text(\"\");\n fetch(pagination_a.getAttribute(\"href\") + \"#main\")\n .then(async resp => {\n const text = await resp.text()\n //在进行DOM操作前检查页面是否已经变化,防止错误加载到其他页面上\n if (now_href != document.location.href) return /**如果页面状态发生了变化,那么也应该不用理加载提示符 */\n const parser = new DOMParser(),\n DOM = parser.parseFromString(text, \"text/html\"),\n result = DOM.querySelectorAll(\"#main .post\"),\n paga = DOM.querySelector(\"#pagination a\"),\n paga_innerText = paga && paga.innerText,\n nextHref = paga && paga.getAttribute(\"href\"),\n main = document.getElementById(\"main\")\n for (let i = 0; i < result.length; i++) {\n main.append(result[i])\n }\n //if (resp.ok) {\n // result = $(data).find(\"#main .post\");\n // nextHref = $(data).find(\"#pagination a\").attr(\"href\");\n // $(\"#main\").append(result.fadeIn(500));\n const dpga = document.querySelector(\"#pagination a\"),\n addps = document.querySelector(\"#add_post span\");\n if (dpga) {\n dpga.classList.remove(\"loading\");\n dpga.innerText = paga_innerText;\n }\n if (addps) {\n addps.classList.remove(\"loading\");\n addps.innerText = \"\";\n }\n // $(\"#pagination a\").removeClass(\"loading\").text(\"Previous\");\n // $('#add_post span').removeClass(\"loading\").text(\"\");\n lazyload();\n post_list_show_animation();\n document.dispatchEvent(new CustomEvent('ajax_post_loaded',))\n if (nextHref != undefined) {\n pagination_a.setAttribute(\"href\", nextHref);\n // $(\"#pagination a\").attr(\"href\", nextHref);\n //加载完成上滑\n let tempScrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;;\n // window.scrollTo(tempScrollTop);\n // $(window).scrollTop(tempScrollTop);\n window.scrollTo({\n top: tempScrollTop + 300,\n behavior: 'smooth'\n })\n // $body.animate({\n // scrollTop: tempScrollTop + 300\n //\n // }, 666)\n } else {\n document.getElementById(\"pagination\").innerHTML = \"\" + __(\"很高兴你翻到这里,但是真的没有了...\") + \"\";\n // $(\"#pagination\").html(\"很高兴你翻到这里,但是真的没有了...\");\n }\n //}\n\n })\n /* $.ajax({\n type: \"POST\",\n url: $('#pagination a').attr(\"href\") + \"#main\",\n success: function (data) {\n result = $(data).find(\"#main .post\");\n nextHref = $(data).find(\"#pagination a\").attr(\"href\");\n $(\"#main\").append(result.fadeIn(500));\n $(\"#pagination a\").removeClass(\"loading\").text(\"Previous\");\n $('#add_post span').removeClass(\"loading\").text(\"\");\n lazyload();\n post_list_show_animation();\n if (nextHref != undefined) {\n $(\"#pagination a\").attr(\"href\", nextHref);\n //加载完成上滑\n var tempScrollTop = $(window).scrollTop();\n $(window).scrollTop(tempScrollTop);\n $body.animate({\n scrollTop: tempScrollTop + 300\n\n }, 666)\n } else {\n $(\"#pagination\").html(\"很高兴你翻到这里,但是真的没有了...\");\n }\n }\n }); */\n})\nexport function post_list_show_animation() {\n if (document.querySelector('article') && document.querySelector('article').classList.contains(\"post-list-thumb\")) {\n const options = {\n root: null,\n threshold: [0.66]\n },\n callback = (entries) => {\n entries.forEach(window.IntersectionObserver ? (article) => {\n if (article.target.classList.contains(\"post-list-show\")) {\n article.target.style.willChange = 'auto';\n io.unobserve(article.target)\n } else if (article.isIntersecting) {\n article.target.classList.add(\"post-list-show\");\n article.target.style.willChange = 'auto';\n io.unobserve(article.target)\n }\n } : (article) => {\n article.target.style.willChange = 'auto';\n if (article.target.classList.contains(\"post-list-show\") === false) {\n article.target.classList.add(\"post-list-show\");\n }\n\n })\n },\n io = new IntersectionObserver(callback, options),\n articles = document.getElementsByClassName('post-list-thumb');\n for (let a = 0; a < articles.length; a++) {\n io.observe(articles[a]);\n }\n }\n}\nfunction XLS_Listener(e) {\n if (e.target === document.querySelector(\"#pagination a\")) {\n e.preventDefault();\n e.stopPropagation();\n clearTimeout(load_post_timer);\n load_post();\n }\n}\nexport function XLS() {\n const intersectionObserver = new IntersectionObserver(function (entries) {\n if (entries[0].intersectionRatio <= 0) return;\n // var page_next = $('#pagination a').attr(\"href\");\n const _page_next = document.querySelector('#pagination a')\n if (_page_next) {\n const href_page_next = _page_next.getAttribute(\"href\"),\n load_key = document.getElementById(\"add_post_time\");\n if (href_page_next != undefined && load_key) {\n const load_time = load_key.title;\n if (load_time != \"233\") {\n console.log(\"%c 自动加载时倒计时 %c\", \"background:#9a9da2; color:#ffffff; border-radius:4px;\", \"\", \"\", load_time);\n load_post_timer = setTimeout(function () {\n load_post();\n }, load_time * 1000);\n }\n }\n }\n });\n intersectionObserver.observe(\n document.querySelector('.footer-device')\n );\n document.body.removeEventListener('click', XLS_Listener)\n document.body.addEventListener(\"click\", XLS_Listener)\n}","import r from\"color-space/rgb.js\";import t from\"color-space/xyz.js\";import n from\"color-space/lab.js\";function e(r,t,n){var e=r[t++]-n[0],a=r[t++]-n[1],o=r[t++]-n[2],i=r[t++]-n[3];return Math.pow(e,2)+Math.pow(a,2)+Math.pow(o,2)+Math.pow(i,2)}function a(r,t,n,a){void 0===a&&(a=1);for(var i,u,f,l,c,v=[],h=[],s=[],d=0,m=0;m1){var i=e/Math.sqrt(o),u=a/Math.sqrt(o),f=r(i,u);return null==f||f.drawImage(t,0,0,i,u),null==f?void 0:f.getImageData(0,0,i,u)}var l=r(e,a);return null==l||l.drawImage(t,0,0),null==l?void 0:l.getImageData(0,0,e,a)}function m(r,t){(null==t||t>r.length)&&(t=r.length);for(var n=0,e=new Array(t);n(o=e[1])?o>i?[a,i]:a>i?[a,o]:[i,o]:o>i?i>a?[o,a]:[o,i]:[i,a]),f=u[0],l=u[1],c=f-l,v=f+l;if(0==c)t=0,n=0;else{if(f==r[0]){var h=60*(r[1]-r[2])/c;t=h<0?h+360:h}else t=f==r[1]?60*(r[2]-r[0])/c+120:60*(r[0]-r[1])/c+240;n=0==v?0:v<=1?c/v:c/(2-v)}return[t,n,v/2,r[3]]}var y=function(r){return void 0===r&&(r=[0,1,2,3]),function(t,n){for(var e,a,o=function(r,t){var n=\"undefined\"!=typeof Symbol&&r[Symbol.iterator]||r[\"@@iterator\"];if(n)return(n=n.call(r)).next.bind(n);if(Array.isArray(r)||(n=function(r,t){if(r){if(\"string\"==typeof r)return m(r,t);var n=Object.prototype.toString.call(r).slice(8,-1);return\"Object\"===n&&r.constructor&&(n=r.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(r):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?m(r,t):void 0}}(r))){n&&(r=n);var e=0;return function(){return e>=r.length?{done:!0}:{done:!1,value:r[e++]}}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}(r);!(a=o()).done;){var i=a.value;if(0!=(e=t[i]-n[i]))return e}return e}},b=function(r){return\"hsla(\"+r[0]+\"deg,\"+100*r[1]+\"%,\"+100*r[2]+\"%,\"+r[3]+\")\"},w=function(r){return\"rgba(\"+r.map(function(r){return Math.floor(r)}).join(\",\")+\")\"};function M(n){for(var e=[],a=0;a value == max);\n _updateThemeSkin(rgbaCSSText(labaToRGBA(centroid[index])));\n }\n catch (error) {\n console.error(error);\n _updateThemeSkin(getComputedStyle(document.documentElement).getPropertyValue('--theme-skin-matching')); //回滚\n }\n}\nfunction _updateThemeSkin(color_css) {\n //TODO: 暗色模式支持\n const metaLight = document.querySelector('meta[name=theme-color][media=\"(prefers-color-scheme: light)\"]');\n /* const metaDark = document.querySelector('meta[name=theme-color][media=\"(prefers-color-scheme: dark)\"]')\n const [h,s,l,a] = rgbaToHSLA(color) */\n metaLight && (metaLight.content = color_css);\n /* metaDark && (metaDark.content = hslaCSSText([h,s,l,a]))\n */ \n}\nexport function initThemeColor() {\n if (!worker)\n worker = new PromiseWorker(new Worker(new URL('./worker.ts', import.meta.url)));\n document.addEventListener('coverBG_change', (({ detail: coverBGUrl }) => updateThemeSkin(coverBGUrl)));\n}\n","import { createButterbar } from \"../common/butterbar\";\nimport { __ } from \"./sakurairo_global\";\nlet btnSerif, btnSansSerif;\nfunction Serif() {\n if (document.body.clientWidth <= 860) {\n createButterbar(__(\"将从网络加载字体,流量请注意\"));\n }\n document.body.classList.add(\"serif\");\n setButtonState('serif');\n localStorage.setItem(\"font_family\", \"serif\");\n}\nfunction SansSerif() {\n document.body.classList.remove(\"serif\");\n setButtonState('sans-serif');\n localStorage.setItem(\"font_family\", \"sans-serif\");\n}\nfunction change_font_listener(btn) {\n return () => {\n const { name } = btn.dataset;\n const nowFont = localStorage.getItem(\"font_family\");\n if (name == nowFont) {\n return;\n }\n else {\n if (name == 'serif') {\n Serif();\n }\n else {\n SansSerif();\n }\n }\n };\n}\nexport function loadFontSetting() {\n const nowFont = localStorage.getItem(\"font_family\");\n if (!nowFont || nowFont == \"serif\") {\n document.body.classList.add(\"serif\");\n }\n}\nfunction setButtonState(font_name) {\n if (font_name !== null && font_name !== void 0 ? font_name : localStorage.getItem(\"font_family\") == 'sans-serif') {\n btnSerif.classList.remove(\"selected\");\n btnSansSerif.classList.add(\"selected\");\n }\n else {\n btnSansSerif.classList.remove(\"selected\");\n btnSerif.classList.add(\"selected\");\n }\n}\nfunction initDOMCache() {\n btnSerif = document.getElementsByClassName(\"control-btn-serif\")[0];\n btnSansSerif = document.getElementsByClassName(\"control-btn-sans-serif\")[0];\n return btnSansSerif && btnSerif;\n}\nfunction initListener() {\n btnSerif.addEventListener('click', change_font_listener(btnSerif));\n btnSansSerif.addEventListener('click', change_font_listener(btnSansSerif));\n}\nexport function initFontControl() {\n const result = initDOMCache();\n if (!result)\n localStorage.removeItem('font_family'); //样式菜单“简单”时,使用默认字体 “A”\n loadFontSetting();\n if (result) {\n setButtonState();\n initListener();\n }\n}\n","var _a;\nimport { getFileNameMain } from '../common/util';\nimport { __ } from './sakurairo_global';\nconst bgvideo = document.getElementById(\"bgvideo\");\nconst videoList = ((_a = Poi.movies.name) === null || _a === void 0 ? void 0 : _a.split(\",\")) || []; // 视频列表\nlet unplayedIndex = new Array(videoList.length).fill(0).map((_, index) => index);\n//#region 背景视频\nconst _getNextRandomVideo = () => {\n if (unplayedIndex.length == 0) {\n unplayedIndex = new Array(videoList.length).fill(0).map((_, index) => index);\n }\n const nextIndex = Math.floor(Math.random() * unplayedIndex.length);\n return videoList[unplayedIndex.splice(nextIndex, 1)[0]];\n};\nfunction getVideo() {\n const video_stu = document.getElementsByClassName(\"video-stu\")[0];\n const fileName = _getNextRandomVideo(); // 随机抽取视频\n video_stu.innerHTML = __(\"正在载入视频 ...\");\n video_stu.style.bottom = \"0px\";\n //这里不需要检验Poi.movies是不是字符串,因为应该在前边检查\n bgvideo.setAttribute(\"src\", new URL(fileName, Poi.movies.url || location.origin).toString());\n bgvideo.setAttribute(\"video-name\", getFileNameMain(fileName));\n}\n/**\n * 播放\n */\nfunction splay() {\n let video_btn = document.getElementById(\"video-btn\");\n if (video_btn) {\n video_btn.classList.add(\"video-pause\");\n video_btn.classList.remove(\"video-play\");\n video_btn.style.display = \"\";\n }\n try {\n document.querySelector(\".video-stu\").style.bottom = \"-100px\";\n document.querySelector(\".focusinfo\").style.top = \"-999px\";\n if (mashiro_option.float_player_on) {\n import('./aplayer').then(({ destroyAllAplayer }) => {\n destroyAllAplayer();\n bgvideo.play();\n });\n return;\n }\n }\n catch (e) {\n console.warn(e);\n }\n bgvideo.play();\n}\n/**\n * 暂停\n */\nfunction spause() {\n let video_btn = document.getElementById(\"video-btn\");\n if (video_btn) {\n video_btn.classList.add(\"video-play\");\n video_btn.classList.remove(\"video-pause\");\n }\n try {\n document.querySelector(\".focusinfo\").style.top = \"49.3%\";\n }\n catch (_a) { }\n bgvideo.pause();\n}\n/**\n * 自动续播 - 播放\n */\nexport function liveplay() {\n if (bgvideo && bgvideo.oncanplay != undefined && document.querySelector(\".haslive\")) { // 检查视频数据\n if (document.querySelector(\".videolive\")) { // 检查播放状态\n splay();\n }\n }\n}\nexport function livepause() {\n if (bgvideo && bgvideo.oncanplay != undefined && document.querySelector(\".haslive\")) { // 检查视频数据\n spause();\n let video_stu = document.getElementsByClassName(\"video-stu\")[0];\n video_stu.style.bottom = \"0px\";\n video_stu.innerHTML = __(\"已暂停...\");\n }\n}\nexport function coverVideo() {\n let video_btn = document.getElementById(\"video-btn\");\n if (video_btn)\n video_btn.addEventListener(\"click\", function () {\n if (this.classList.contains(\"loadvideo\")) {\n this.classList.add(\"video-pause\");\n this.classList.remove(\"loadvideo\");\n getVideo();\n bgvideo.oncanplay = function () {\n splay();\n document.getElementById(\"video-add\").style.display = \"block\";\n video_btn.classList.add(\"videolive\", \"haslive\"); // MDZZ\n };\n }\n else {\n if (this.classList.contains(\"video-pause\")) {\n spause();\n video_btn.classList.remove(\"videolive\");\n document.getElementsByClassName(\"video-stu\")[0].style.bottom = \"0px\";\n document.getElementsByClassName(\"video-stu\")[0].innerHTML = \"已暂停 ...\";\n }\n else {\n splay();\n video_btn.classList.add(\"videolive\"); // 用于判断切换页面时的状态\n }\n }\n bgvideo.onended = function () {\n bgvideo.setAttribute(\"src\", \"\");\n document.getElementById(\"video-add\").style.display = \"none\";\n document.querySelector(\".focusinfo\").style.top = \"49.3%\";\n if (video_btn) {\n video_btn.classList.add(\"loadvideo\");\n video_btn.classList.remove(\"video-pause\", \"videolive\", \"haslive\");\n if (Poi.movies.loop) {\n video_btn.click();\n }\n }\n };\n });\n const video_add = document.getElementById(\"video-add\");\n if (video_add)\n video_add.addEventListener(\"click\", getVideo);\n}\n//#endregion\nexport async function coverVideoIni() {\n initHLS();\n lazyloadPatch();\n}\nfunction canPlayHandler() {\n this.poster = '';\n}\n/**\n * 用户代理可能会禁止自动播放,此时需要撤掉poster\n */\nasync function lazyloadPatch() {\n const videos = document.querySelectorAll('video.lazyload');\n videos.forEach(video => video.addEventListener('canplay', canPlayHandler));\n}\nasync function initHLS() {\n const videos = document.querySelectorAll('video.hls');\n if (videos.length == 0)\n return;\n //检查浏览器是否原生支持\n if (videos[0].canPlayType('application/vnd.apple.mpegurl')) {\n for (const video of videos) {\n video.src = video.dataset.src || video.src;\n video.autoplay = true;\n }\n }\n else {\n if (!window.Hls) {\n try {\n const { default: Hls } = await import('hls.js');\n window.Hls = Hls;\n }\n catch (reason) {\n console.warn('Hls load failed: ', reason);\n }\n }\n if (!Hls.isSupported())\n console.error('Hls: Media Source Extensions is unsupported.');\n for (const video of videos) {\n const hls = new Hls();\n hls.loadSource(video.dataset.src || video.src);\n hls.attachMedia(video);\n hls.on(Hls.Events.MANIFEST_PARSED, function () {\n video.play();\n });\n }\n }\n}\n","import { buildAPI } from '../common/util';\nimport { __ } from './sakurairo_global';\nlet QueryStorage;\nfunction search_result(keyword, link, fa, title, iconfont, comments, text) {\n if (keyword) {\n var s = keyword.trim().split(\" \"), a = title.indexOf(s[s.length - 1]), b = text.indexOf(s[s.length - 1]);\n title = a < 60 ? title.slice(0, 80) : title.slice(a - 30, a + 30);\n title = title.replace(s[s.length - 1], ' ' + s[s.length - 1].toUpperCase() + ' ');\n text = b < 60 ? text.slice(0, 80) : text.slice(b - 30, b + 30);\n text = text.replace(s[s.length - 1], ' ' + s[s.length - 1].toUpperCase() + ' ');\n }\n return ``;\n}\nfunction Cx(array, query) {\n for (let s = 0; s < query.length; s++) {\n if (['.', '?', '*'].indexOf(query[s]) != -1) {\n query = query.slice(0, s) + \"\\\\\" + query.slice(s);\n s++;\n }\n }\n query = query.replace(query, \"^(?=.*?\" + query + \").+$\").replace(/\\s/g, \")(?=.*?\");\n return array.filter(v => Object.values(v)\n .some(v => new RegExp(query + '').test(v)));\n}\nfunction query(B, A) {\n var s, y = \"\", w = \"\", u = \"\", r = \"\", p = \"\", F = \"\", G = '\", E = \"\", C = Cx(B, A.trim());\n for (const H of C) {\n switch (H.type) {\n case \"post\":\n w = w + search_result(A, H.link, \"file\", H.title, \"mark\", H.comments, H.text);\n break;\n case \"tag\":\n p = p + search_result(\"\", H.link, \"tag\", H.title, \"none\", \"\", \"\");\n break;\n case \"category\":\n r = r + search_result(\"\", H.link, \"folder\", H.title, \"none\", \"\", \"\");\n break;\n case \"page\":\n u = u + search_result(A, H.link, \"file\", H.title, \"mark\", H.comments, H.text);\n break;\n case \"comment\":\n F = F + search_result(A, H.link, \"comment\", H.title, \"none\", \"\", H.text);\n break;\n }\n }\n w && (y = y + G + __(\"文章\") + E + w + D);\n u && (y = y + G + __(\"页面\") + E + u + D);\n r && (y = y + G + __(\"分类\") + E + r + D);\n p && (y = y + G + __(\"标签\") + E + p + D);\n F && (y = y + G + __(\"评论\") + E + F + D);\n s = document.getElementById(\"PostlistBox\");\n s.innerHTML = y;\n}\nfunction search_a(val) {\n const otxt = document.getElementById(\"search-input\");\n if (sessionStorage.getItem('search') != null) {\n QueryStorage = JSON.parse(sessionStorage.getItem('search'));\n query(QueryStorage, otxt.value);\n div_href();\n }\n else {\n fetch(val)\n .then(async (resp) => {\n if (resp.ok) {\n const json = await resp.text();\n if (json != \"\") {\n sessionStorage.setItem('search', json);\n QueryStorage = JSON.parse(json);\n query(QueryStorage, otxt.value);\n div_href();\n }\n }\n else {\n console.warn('HTTP ' + resp.status);\n }\n })\n .catch(reason => console.warn(reason));\n }\n}\n/* if (!Object.values) Object.values = function (obj) {\n if (obj !== Object(obj))\n throw new TypeError('Object.values called on a non-object');\n var val = [],\n key;\n for (key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n val.push(obj[key]);\n }\n }\n return val;\n } */\nfunction div_href() {\n const search_close = document.querySelector(\".search_close\");\n const Ty = document.getElementById('Ty');\n for (const ele of document.getElementsByClassName('ins-selectable')) {\n ele.addEventListener(\"click\", () => {\n Ty.href = ele.getAttribute('href');\n Ty.click();\n search_close.click();\n });\n }\n /* $(\".ins-selectable\").each(function () {\n $(this).click(function () {\n $(\"#Ty\").attr('href', $(this).attr('href'));\n $(\"#Ty\").click();\n $(\".search_close\").click();\n });\n }); */\n}\nexport function jsSearchCallback() {\n //$('.js-toggle-search').toggleClass('is-active');\n document.getElementsByClassName('js-toggle-search')[0].classList.toggle('is-active');\n //$('.js-search').toggleClass('is-visible');\n document.getElementsByClassName('js-search')[0].classList.toggle('is-visible');\n //$('html').css('overflow-y', 'hidden');\n document.documentElement.style.overflowY = 'hidden';\n if (mashiro_option.live_search) {\n QueryStorage = [];\n search_a(buildAPI(Poi.api + \"sakura/v1/cache_search/json\"));\n var otxt = document.getElementById(\"search-input\"), \n //list = document.getElementById(\"PostlistBox\"),\n //Record = list.innerHTML,\n searchFlag = null;\n otxt.oninput = function () {\n if (searchFlag != null) {\n clearTimeout(searchFlag);\n }\n searchFlag = setTimeout(function () {\n query(QueryStorage, otxt.value);\n div_href();\n }, 250);\n };\n }\n}\n","/**\n * app.js - Client script bundle for Sakurairo, a WordPress theme.\n * @author bymoye \n * @author KotoriK\n * @license GPL-v2\n * @date 2021.3.21\n * Github Repository:\n * @url https://github.com/Fuukei/Sakurairo_Scripts\n * @url https://github.com/mirai-mamori/Sakurairo commit f7db3c5\n * \n * *** ACKNOWLEDGEMENT *** \n * \n * *** modified on mashirozx/Sakura/js/sakura-app.js ***\n * Sakura theme application bundle\n * @author Mashiro\n * @url https://2heng.xin\n * @date 2019.8.3\n * *** ***\n * \n * *** inherited from louie-senpai/Siren/js/app.js ***\n * Siren application js\n * @author Louie\n * @url http://i94.me\n * @date 2016.11.19\n * *** ***\n * \n * inherited from Xoin-Yang/Akina/js/global.js\n * @author Xoin-Yang\n * @date 2017.04.25\n * @url http://www.akina.pw/\n * *** END OF ACKNOWLEDGEMENT *** \n * \n * Press 'F' to pay respects.\n * \n */\n\nimport { nextBG, preBG, getCoverPath, getCurrentBG, changeCoverBG } from './coverBackground'\nimport add_copyright from './copyright'\nimport { createButterbar } from '../common/butterbar'\nimport { loadCSS } from 'fg-loadcss'\nimport { lazyload } from 'lazyload'\nimport './global-func'\nimport { ready, slideToggle } from '../common/util'\nimport about_us from './about_us'\nimport preload_screen from './preload_screen'\nimport { _$ } from './sakurairo_global'\nimport { isSupported } from './compatibility'\nimport hitokoto from './hitokoto'\nimport { web_audio } from './web_audio'\nimport { open, close } from './mobile_nav'\nimport { XLS, post_list_show_animation } from './posts'\nimport { initThemeColor, updateThemeSkin } from './theme-color'\n/**\n * 检查是否应当开启Poi.pjax\n * @seealso https://github.com/PaperStrike/Pjax#compatibility\n */\nPoi.pjax = Poi.pjax && isSupported({ Firefox: 60, Edg: 79, Chrome: 66, OPR: 53, Version: 12/**Safari 12 */ });\nPoi.pjax && import('@sliphua/pjax').then(({ default: Pjax }) =>\n new Pjax({\n selectors: [\"#page\", \"title\", \".footer-device\", \"#_mashiro_\", \"#login-link\"],\n scripts: \"#_mashiro_\",\n timeout: 8000,\n defaultTrigger: {\n exclude: 'a[data-no-pjax]',\n }\n })\n)\nloadCSS(mashiro_option.jsdelivr_css_src);\nloadCSS(mashiro_option.entry_content_style_src);\nloadCSS(\"https://at.alicdn.com/t/font_679578_qyt5qzzavdo39pb9.css\");\n\nmashiro_global.variables = new function () {\n this.skinSecter = true;\n}\nimport { initFontControl, loadFontSetting } from './font_control'\n\nfunction scrollBar() {\n if (document.body.clientWidth > 860) {\n window.addEventListener(\"scroll\", () => {\n let s = document.documentElement.scrollTop || document.body.scrollTop,\n a = document.documentElement.scrollHeight || document.body.scrollHeight,\n b = window.innerHeight, c,\n result = parseInt(s / (a - b) * 100),\n cached = document.getElementById('bar');\n cached.style.width = result + \"%\";\n /* switch (true) {\n case (result <= 19): c = '#cccccc'; break;\n case (result <= 39): c = '#50bcb6'; break;\n case (result <= 59): c = '#85c440'; break;\n case (result <= 79): c = '#f2b63c'; break;\n case (result <= 99): c = '#FF0000'; break;\n case (result == 100): c = '#5aaadb'; break;\n default: c = \"orange\";\n }\n cached.style.background = c; */\n //炫彩scrollbar好像不是很好看,又被php那边的样式强制覆盖了,就先注释掉\n const skinMenu = document.querySelector(\".skin-menu\");\n skinMenu && skinMenu.classList.remove(\"show\");\n })\n }\n}\n\nfunction checkSkinSecter() {\n if (mashiro_global.variables.skinSecter === false) {\n const pattern = document.querySelector(\".pattern-center\"),\n headertop = document.querySelector(\".headertop-bar\");\n if (pattern) {\n pattern.classList.remove(\"pattern-center\");\n pattern.classList.add(\"pattern-center-sakura\");\n }\n if (headertop) {\n headertop.classList.remove(\"headertop-bar\");\n headertop.classList.add(\"headertop-bar-sakura\");\n }\n } else {\n const pattern = document.querySelector(\".pattern-center-sakura\"),\n headertop = document.querySelector(\".headertop-bar-sakura\");\n if (pattern) {\n pattern.classList.remove(\"pattern-center-sakura\");\n pattern.classList.add(\"pattern-center\");\n }\n if (headertop) {\n headertop.classList.remove(\"headertop-bar-sakura\");\n headertop.classList.add(\"headertop-bar\");\n }\n }\n}\nimport { checkDarkModeSetting, turnOnDarkMode, turnOffDarkMode, } from './darkmode'\nfunction no_right_click() {\n const pri = document.getElementById(\"primary\");\n if (pri) pri.addEventListener(\"contextmenu\", function (e) {\n if (e.target.nodeName.toLowerCase() == \"img\") {\n e.preventDefault();\n e.stopPropagation();\n }\n })\n}\nno_right_click();\n\nasync function changeSkin(tagId) {\n //@sideeffect\n mashiro_global.variables.skinSecter = tagId == \"white-bg\" || tagId == \"dark-bg\";\n checkSkinSecter();\n let bg_url;\n switch (tagId) {\n case \"white-bg\":\n if (mashiro_option.site_bg_as_cover) {\n bg_url = await getCoverPath()\n changeCoverBG(bg_url)\n return\n } else {\n if (!mashiro_option.land_at_home) return //在非主页上,.centerbg不显示,因此没有必要更新\n bg_url = mashiro_option.skin_bg0;\n }\n break;\n case \"diy1-bg\":\n bg_url = mashiro_option.skin_bg1;\n break;\n case \"diy2-bg\":\n bg_url = mashiro_option.skin_bg2;\n break;\n case \"diy3-bg\":\n bg_url = mashiro_option.skin_bg3;\n break;\n case \"diy4-bg\":\n bg_url = mashiro_option.skin_bg4;\n break;\n }\n document.body.style.backgroundImage = bg_url ? `url(${bg_url})` : '';\n}\n\nfunction bgButtonAddListener() {\n const next = document.getElementById(\"bg-next\"),\n pre = document.getElementById(\"bg-pre\");\n if (next) { next.onclick = nextBG };\n if (pre) { pre.onclick = preBG };\n}\n\nfunction topFunction() {\n window.scrollTo({\n top: 0,\n behavior: \"smooth\"\n });\n}\n\nfunction timeSeriesReload(flag) {\n let archives = document.getElementById('archives');\n if (archives == null) return;\n let al_li = archives.getElementsByClassName('al_mon');\n if (flag == true) {\n archives.addEventListener(\"click\", function (e) {\n if (e.target.classList.contains(\"al_mon\")) {\n slideToggle(e.target.nextElementSibling, 500);\n e.preventDefault();\n }\n })\n lazyload();\n } else {\n (function () {\n let al_expand_collapse = document.getElementById('al_expand_collapse');\n al_expand_collapse.style.cursor = \"s-resize\";\n for (let i = 0; i < al_li.length; i++) {\n let a = al_li[i],\n num = a.nextElementSibling.getElementsByTagName('li').length;\n a.style.cursor = \"s-resize\";\n a.querySelector('#post-num').textContent = num;\n }\n let al_post_list = archives.getElementsByClassName(\"al_post_list\"),\n al_post_list_f = al_post_list[0];\n for (let i = 0; i < al_post_list.length; i++) {\n slideToggle(al_post_list[i], 500, 'hide', function () {\n slideToggle(al_post_list_f, 500, 'show');\n })\n }\n archives.addEventListener(\"click\", function (e) {\n if (e.target.classList.contains(\"al_mon\")) {\n slideToggle(e.target.nextElementSibling, 500);\n e.preventDefault();\n }\n })\n if (document.body.clientWidth > 860) {\n for (let i = 0; i < al_post_list.length; i++) {\n let el = al_post_list[i];\n el.parentNode.addEventListener('mouseover', function () {\n slideToggle(el, 500, 'show');\n return false;\n })\n }\n if (false) {\n for (let i = 0; i < al_post_list.length; i++) {\n let el = al_post_list[i];\n el.parentNode.addEventListener('mouseover', function () {\n slideToggle(el, 500, 'hide');\n return false;\n })\n }\n }\n let al_expand_collapse_click = 0;\n al_expand_collapse.addEventListener('click', function () {\n if (al_expand_collapse_click == 0) {\n for (let i = 0; i < al_post_list.length; i++) {\n let el = al_post_list[i];\n slideToggle(el, 500, 'show');\n };\n al_expand_collapse_click++;\n } else if (al_expand_collapse_click == 1) {\n for (let i = 0; i < al_post_list.length; i++) {\n let el = al_post_list[i];\n slideToggle(el, 500, 'hide');\n };\n al_expand_collapse_click--;\n }\n });\n }\n })();\n }\n}\n\ntimeSeriesReload();\n\nadd_copyright()\n\nif (mashiro_option.float_player_on) {\n if (document.body.clientWidth > 860) {\n import('./aplayer').then(({ aplayerInit }) => aplayerInit())\n }\n}\n\nfunction activate_widget() {\n let secondary = document.getElementById(\"secondary\");\n if (document.body.clientWidth > 860) {\n let show_hide = document.querySelector(\".show-hide\");\n show_hide && show_hide.addEventListener(\"click\", function () {\n secondary && secondary.classList.toggle(\"active\");\n });\n } else {\n secondary && secondary.remove();\n }\n}\nsetTimeout(function () {\n activate_widget();\n}, 100);\n\n//#region Siren\nimport { liveplay, livepause, coverVideo, coverVideoIni } from './video'\nfunction MN() {\n const iconflat = document.querySelector(\".iconflat\");\n iconflat && iconflat.addEventListener(\"click\", (e) => {\n e.stopPropagation()\n if (document.body.classList.contains(\"navOpen\")) {\n close()\n } else {\n open()\n }\n });\n}\n\nfunction MNH() {\n if (document.body.classList.contains(\"navOpen\")) {\n close()\n }\n}\nfunction auto_height() {\n if (Poi.windowheight == 'auto') {\n if (document.querySelector(\"h1.main-title\")) {\n //let _height = document.documentElement.clientHeight + \"px\";\n const centerbg = document.getElementById(\"centerbg\")\n const bgvideo = document.getElementById(\"bgvideo\")\n if (centerbg) centerbg.style.height = \"100vh\";\n if (bgvideo) bgvideo.style.minHeight = \"100vh\";\n }\n } else {\n document.querySelector(\".headertop\") && document.querySelector(\".headertop\").classList.add(\"headertop-bar\");\n }\n}\nfunction PE() {\n if (document.querySelector(\".headertop\")) {\n let headertop = document.querySelector(\".headertop\"),\n blank = document.querySelector(\".blank\");\n if (document.querySelector(\".main-title\")) {\n try {\n blank.style.paddingTop = \"0px\";\n } catch (e) { }\n headertop.style.height = \"auto\";\n headertop.style.display = \"\";\n if (Poi.movies.live) liveplay();\n } else {\n try {\n blank.style.paddingTop = \"75px\";\n } catch (e) { }\n headertop.style.height = \"0px\";\n headertop.style.display = \"none\";\n livepause();\n }\n }\n}\nimport { jsSearchCallback } from './search'\nfunction CE() {\n let comments_fold = document.querySelector(\".comments-fold\");\n let comments_main = document.querySelector(\".comments-main\");\n if (comments_fold != null) {\n comments_fold.style.display = \"block\";\n comments_main.style.display = \"none\";\n comments_fold.addEventListener(\"click\", function () {\n slideToggle(comments_main, 500, 'show');\n comments_fold.style.display = \"none\";\n });\n }\n let archives = document.getElementsByClassName(\"archives\");\n if (archives.length > 0) {\n for (let i = 0; i < archives.length; i++) {\n archives[i].style.display = \"none\";\n }\n archives[0].style.display = \"\";\n let h3 = document.getElementById(\"archives-temp\").getElementsByTagName(\"h3\");\n for (let i = 0; i < h3.length; i++) {\n h3[i].addEventListener(\"click\", (e) => {\n e.preventDefault();\n e.stopPropagation();\n slideToggle(e.target.nextElementSibling, 300);\n })\n }\n }\n // $('.comments-hidden').show();\n // $('.comments-main').hide();\n // $('.comments-hidden').click(function () {\n // $('.comments-main').slideDown(500);\n // $('.comments-hidden').hide();\n // });\n // $('.archives').hide();\n // $('.archives:first').show();\n // $('#archives-temp h3').click(function () {\n // $(this).next().slideToggle('fast');\n // return false;\n // });\n /*if (mashiro_option.baguetteBoxON) {\n baguetteBox.run('.entry-content', {\n captions: function (element) {\n return element.getElementsByTagName('img')[0].alt;\n },\n ignoreClass: 'fancybox',\n });\n }*/\n\n for (const ele of document.getElementsByClassName('js-toggle-search')) {\n ele.addEventListener('click', jsSearchCallback);\n }\n\n const sc = document.querySelector(\".search_close\");\n sc && sc.addEventListener(\"click\", function () {\n let js_search = document.getElementsByClassName(\"js-search\")[0];\n if (js_search.classList.contains(\"is-visible\")) {\n document.getElementsByClassName(\"js-toggle-search\")[0].classList.toggle(\"is-active\");\n js_search.classList.toggle(\"is-visible\");\n document.documentElement.style.overflowY = \"unset\";\n }\n });\n try {\n let show_Nav = document.getElementById(\"show-nav\");\n show_Nav.addEventListener(\"click\", function () {\n if (show_Nav.classList.contains(\"showNav\")) {\n show_Nav.classList.remove(\"showNav\");\n show_Nav.classList.add(\"hideNav\");\n let sln = document.querySelector(\".site-top .lower nav\");\n sln && sln.classList.add(\"navbar\");\n } else {\n show_Nav.classList.remove(\"hideNav\");\n show_Nav.classList.add(\"showNav\");\n let sln = document.querySelector(\".site-top .lower nav\");\n sln && sln.classList.remove(\"navbar\");\n }\n });\n document.getElementById(\"loading\").addEventListener(\"click\", function () {\n let loading = document.getElementById(\"loading\");\n loading.classList.add(\"hide\");\n loading.classList.remove(\"show\");\n });\n } catch (e) { }\n}\nfunction NH() {\n const thresold = 0,\n siteHeader = document.querySelector(\".site-header\")\n window.addEventListener(\"scroll\", () => {\n const scrollTop = document.documentElement.scrollTop || window.pageYOffset;\n if (scrollTop > thresold) {\n siteHeader.classList.add(\"yya\");\n } else {\n siteHeader.classList.remove(\"yya\");\n }\n })\n // $(window).scroll(function () {\n // var s = $(document).scrollTop(),\n // cached = $('.site-header');\n // if (s == h1) {\n // cached.removeClass('yya');\n // }\n // if (s > h1) {\n // cached.addClass('yya');\n // }\n // });\n}\nfunction GT() {\n let mb_to_top = document.querySelector(\"#moblieGoTop\"),\n changskin = document.querySelector(\"#changskin\");\n window.addEventListener(\"scroll\", () => {\n const scroll = document.documentElement.scrollTop || document.body.scrollTop;\n const cssText = scroll > 20 ? \"scale(1)\" : \"scale(0)\"\n mb_to_top.style.transform = cssText;\n changskin.style.transform = cssText;\n })\n mb_to_top.onclick = topFunction\n}\n\n//#endregion Siren\nif (Poi.pjax) {\n document.addEventListener(\"pjax:send\", () => {\n for (const element of document.getElementsByClassName(\"normal-cover-video\")) {\n element.pause();\n element.src = '';\n element.load = '';\n }\n document.getElementById(\"bar\").style.width = \"0%\";\n if (mashiro_option.NProgressON) import('nprogress').then(({ default: NProgress }) => { NProgress.start() })\n MNH();\n });\n document.addEventListener(\"pjax:complete\", function () {\n auto_height();\n PE();\n CE();\n if (mashiro_option.land_at_home) XLS();\n if (mashiro_option.NProgressON) import('nprogress').then(({ default: NProgress }) => { NProgress.done() })\n //#region mashiro_global.ini.pjax();\n //#region pjaxInit\n no_right_click();\n loadFontSetting()\n let _p = document.getElementsByTagName(\"p\");\n for (let i = 0; i < _p.length; i++) {\n _p[i].classList.remove(\"head-copyright\");\n }\n let _div = document.getElementsByTagName(\"div\"),\n tla = document.getElementById(\"to-load-aplayer\");\n tla && tla.addEventListener(\"click\", () => {\n /* try {\n reloadHermit();\n } catch (e) { }; */\n for (let i = 0; i < _div.length; i++) {\n _div[i].classList.remove(\"load-aplayer\");\n }\n });\n /* for (let i = 0; i < _div.length; i++) {\n if (_div[i].classList.contains(\"aplayer\")) {\n try {\n reloadHermit();\n } catch { };\n }\n } */\n let iconflat = document.getElementsByClassName(\"iconflat\");\n if (iconflat.length != 0) {\n iconflat[0].style.width = '50px';\n iconflat[0].style.height = '50px';\n }\n let openNav = document.getElementsByClassName(\"openNav\");\n if (openNav.length != 0) {\n openNav[0].style.height = '50px';\n }\n bgButtonAddListener()\n timeSeriesReload();\n add_copyright();\n //#endregion pjaxInit\n post_list_show_animation();\n web_audio();\n coverVideoIni();\n checkSkinSecter();\n NH();\n //#endregion\n let loading = document.getElementById(\"loading\");\n if (loading) {\n loading.classList.add(\"hide\");\n loading.classList.remove(\"show\");\n }\n //未实际使用的选项\n /* if (Poi.codelamp == 'open') {\n self.Prism.highlightAll(event)\n }; */\n if (document.querySelector(\".js-search.is-visible\")) {\n document.getElementsByClassName(\"js-toggle-search\")[0].classList.toggle(\"is-active\");\n document.getElementsByClassName(\"js-search\")[0].classList.toggle(\"is-visible\");\n document.documentElement.style.overflowY = \"unset\";\n }\n hitokoto()\n lazyload();\n });\n document.addEventListener(\"pjax:success\", function () {\n //pjax加载时自动拉取page.js\n if (!mashiro_option.land_at_home && !document.getElementById('app-page-js')) {\n // id需要与php侧同步\n const script_app = document.getElementById('app-js')\n const script_app_page = document.createElement('script')\n script_app_page.src = script_app.src.replace('/app.js', '/page.js')\n script_app_page.id = 'app-page-js'\n document.body.appendChild(script_app_page)\n }\n //发送页面浏览事件\n\n /**\n * Google Analytics\n * @seealso https://developers.google.com/analytics/devguides/collection/gtagjs/pages\n */\n if (window.gtag) {\n gtag('config', Poi.google_analytics_id, {\n 'page_path': window.location.pathname\n });\n }\n /**\n * 百度统计\n * @seealso https://tongji.baidu.com/web/help/article?id=235\n */\n if (window._hmt) {\n _hmt.push(['_trackPageview', pageURL]);\n }\n });\n document.addEventListener(\"pjax:error\", (e) => {\n createButterbar(_$('页面加载出错了 HTTP {0}', e.request.status))\n })\n window.addEventListener('popstate', function (e) {\n auto_height();\n hitokoto()\n PE();\n CE();\n timeSeriesReload(true);\n post_list_show_animation();\n }, false);\n}\n\n/* let isWebkit = navigator.userAgent.toLowerCase().indexOf('webkit') > -1,\n isOpera = navigator.userAgent.toLowerCase().indexOf('opera') > -1,\n isIe = navigator.userAgent.toLowerCase().indexOf('msie') > -1;\nif ((isWebkit || isOpera || isIe) && document.getElementById && window.addEventListener) { */\nwindow.addEventListener('hashchange', function () {\n const id = location.hash.substring(1)\n if (!(/^[A-z0-9_-]+$/.test(id))) {\n return;\n }\n const element = document.getElementById(id);\n if (element) {\n if (!(/^(?:a|select|input|button|textarea)$/i.test(element.tagName))) {\n element.tabIndex = -1;\n }\n element.focus();\n }\n}, false);\n/* } */\n\nfunction addSkinMenuListener() {\n const cached = document.querySelectorAll(\".menu-list li\");\n cached.forEach(e => {\n e.addEventListener(\"click\", function () {\n const tagid = this.id;\n if (tagid == \"dark-bg\") {\n turnOnDarkMode(true)\n } else {\n turnOffDarkMode(true)\n changeSkin(tagid)\n localStorage.setItem(\"bgImgSetting\", tagid)\n }\n closeSkinMenu();\n });\n });\n}\nfunction checkBgImgSetting() {\n return changeSkin(localStorage.getItem(\"bgImgSetting\") || 'white-bg');\n}\n\n\ncheckDarkModeSetting();\n\nfunction closeSkinMenu() {\n document.querySelector(\".skin-menu\").classList.remove(\"show\");\n setTimeout(function () {\n if (document.querySelector(\".changeSkin-gear\") != null) {\n document.querySelector(\".changeSkin-gear\").style.visibility = \"visible\";\n }\n }, 300);\n}\nimport POWERMODE from 'activate-power-mode'\n\nfunction powermode() {\n POWERMODE.colorful = true;\n POWERMODE.shake = false;\n document.body.addEventListener('input', POWERMODE)\n}\n//afterDOMContentLoaded\n\nready(function () {\n checkBgImgSetting()\n .then(() => {\n if (isSupported({ Version: 15/**Safari 15 */ })) {\n initThemeColor()\n const bgUrl = getCurrentBG()\n if (bgUrl) updateThemeSkin(bgUrl)\n }\n })\n addSkinMenuListener();\n //let checkskin_bg = (a) => a == \"none\" ? \"\" : a;\n let changskin = document.querySelector(\"#changskin\"),\n close_SkinMenu = document.querySelector(\".skin-menu #close-skinMenu\");\n changskin && changskin.addEventListener(\"click\", function () {\n document.querySelector(\".skin-menu\").classList.toggle(\"show\");\n })\n close_SkinMenu && close_SkinMenu.addEventListener(\"click\", function () {\n closeSkinMenu();\n })\n\n auto_height();\n PE();\n NH();\n GT();\n XLS();\n CE();\n MN();\n coverVideo();\n hitokoto()\n bgButtonAddListener()\n initFontControl()\n web_audio()\n preload_screen()\n lazyload();\n powermode()\n about_us()\n\n});\n//#region mashiro_global.ini.normalize();\npost_list_show_animation();\ncoverVideoIni();\ncheckSkinSecter();\nscrollBar();\n//#endregion","export default function about_us() {\n console.log('%c Sakurairo %c https://github.com/mirai-mamori/Sakurairo', 'background:#D05A6E;color:#fffffb', '');\n console.log(` 僕らは求めるものも\n 描いてる未来も違うけれど\n 手と手を取り合えたなら\n きっと笑い合える日が来るから\n %c——「ツバメ」`, 'font-style:italic');\n}\n"],"names":["deferred","leafPrototypes","getProto","inProgress","dataWebpackPrefix","factory","modules","installedModules","moduleId","exports","module","id","loaded","call","m","c","p","canvas","document","createElement","width","window","innerWidth","height","innerHeight","style","cssText","addEventListener","body","appendChild","context","getContext","particles","particlePointer","rendering","getRandom","min","max","Math","random","getColor","el","POWERMODE","colorful","u","getComputedStyle","color","createParticle","x","y","alpha","velocity","caret","bcr","activeElement","tagName","getAttribute","offset","selectionEnd","getBoundingClientRect","left","top","selection","getSelection","rangeCount","range","getRangeAt","startNode","startContainer","nodeType","TEXT_NODE","parentNode","getCaret","numParticles","round","shake","intensity","marginLeft","marginTop","setTimeout","requestAnimationFrame","loop","clearRect","rendered","rect","i","length","particle","globalAlpha","fillStyle","fillRect","properties","isFirefox","mozInnerScreenX","getCaretCoordinates","element","position","options","debug","querySelector","removeChild","div","computed","currentStyle","whiteSpace","nodeName","wordWrap","visibility","forEach","prop","scrollHeight","parseInt","overflowY","overflow","textContent","value","substring","replace","span","coordinates","offsetTop","offsetLeft","backgroundColor","imgError","ele","type","src","cmt_showPopup","popup","classList","add","onblur","remove","coverVideo","video","getElementById","btn_playControl","paused","play","innerHTML","pause","coverVideoMute","btn_volumeControl","muted","killCoverVideo","e","mail_me","open","mashiro_option","email_name","email_domain","headertop_down","coverOffset","pageYOffset","scrollTo","behavior","xyz","name","channel","alias","lab","z","y2","l","a","b","pow","rgb","A","C","D50","D55","D65","D75","F2","F7","F11","E","whitepoint","_xyz","white","r","g","w","this","loadCSS","href","before","media","attributes","ref","doc","ss","refs","getElementsByTagName","childNodes","sheets","styleSheets","attributeName","hasOwnProperty","setAttribute","rel","ready","cb","insertBefore","nextSibling","onloadcssdefined","resolvedHref","loadCB","removeEventListener","messageIds","onMessage","self","message","data","Array","isArray","messageId","error","result","callback","_callbacks","PromiseWorker","worker","_worker","prototype","postMessage","userMessage","messageToSend","Promise","resolve","reject","Error","controller","MessageChannel","port1","onmessage","port2","defaults","srcset","selector","root","rootMargin","threshold","LazyLoad","constructor","elms","obs","doLoad","settings","toLowerCase","backgroundImage","Object","assign","querySelectorAll","init","IntersectionObserver","load","entries","entry","isIntersecting","unobserve","target","image","observe","loadAndDestroy","destroy","disconnect","lazyload","images","clearButterbar","butterBar","getElementsByClassName","createButterbar","keep","readyFunctionList","onlyOnceATime","func","isRunning","args","finally","console","warn","whileReady","fn","readyState","push","getFileNameMain","fileName","slideToggle","duration","mode","dom","status","flag","transition","clearTimeout","tagTimer","display","tagHeight","clientHeight","buildAPI","apiPath","params","nonce","path","URL","searchParams","key","set","Poi","toString","mediaQuery","matchMedia","inDarkMode","isInDarkMode","informDarkModeChange","nextValue","dispatchEvent","CustomEvent","detail","mediaQueryCallback","localStorage","getItem","matches","darkmode","turnOnDarkMode","turnOffDarkMode","saveUserSetting","ifDarkmodeShouldOn","removeItem","setItem","userTriggered","documentElement","dm_strategy","today","Date","getHours","checkTime","checkDarkModeSetting","dark","removeListener","addListener","__","defaultStr","_sakurairoi18n","_$","replacements","template","index","sakurairoGlobal","opt","registerOnGlobal","defineProperty","writable","enumerable","_sakurairo","__webpack_module_cache__","__webpack_require__","cachedModule","undefined","__webpack_modules__","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","keys","every","splice","n","getter","__esModule","d","getPrototypeOf","obj","__proto__","t","then","ns","create","def","current","indexOf","getOwnPropertyNames","definition","o","get","f","chunkId","all","reduce","promises","globalThis","Function","url","done","script","needAttach","scripts","s","charset","timeout","nc","onScriptComplete","prev","event","onerror","onload","doneFns","bind","head","Symbol","toStringTag","scriptUrl","importScripts","location","currentScript","baseURI","installedChunks","installedChunkData","promise","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","intervalId","navigator","userAgentData","test","userAgent","indexedDB","databases","tryIdb","setInterval","clearInterval","promisifyRequest","oncomplete","onsuccess","onabort","createStore","dbName","storeName","dbp","onupgradeneeded","createObjectStore","txMode","db","transaction","objectStore","store","_a","_version_ctrl","cookie_version_control","UA","uaMatches","from","matchAll","isSupported","checkList","_","version","parseFloat","Accept_Image","acceptList","Chrome","OPR","Firefox","Edg","Version","days","expires","now","toUTCString","cookie","setCookie","reverse","join","setAcceptImage","bgn","blob_url","async","nextBG","changeCoverBG","getCoverPath","preBG","centerbg","site_bg_as_cover","parseCSSUrl","match","getCurrentBG","getAPIPath","useBGN","cover_api_url","cover_api","clientWidth","random_graphs_mts","search","cache_cover","coverBG","ArrayBuffer","revokeObjectURL","createObjectURL","Blob","resp","fetch","headers","Accept","ok","buf","arrayBuffer","put","TypeError","delete","fetchAndCache","txt","author_name","site_name","copytext","selectionText","selectionTxt","preventDefault","htmlData","textData","clipboardData","setData","setClipboardText","add_copyright","clipboardCopyright","removeScreen","preload","preload_blur","animate","filter","backdropFilter","opacity","fill","easing","onfinish","hitokoto","yiyan","yiyan_api","api_path","innerText","api","res","json","from_who","web_audio","audio","AudioContext","webkitAudioContext","ctx","sheet","split","readSheetOption","select","createOscillator","createGain","mainGain","connect","destination","gain","setValueAtTime","main_gain","currentTime","frequency","linearRampToValueAtTime","start","exponentialRampToValueAtTime","stop","h","pageX","pageY","zIndex","stopPropagation","mainContainer","toggle","load_post_timer","load_post","now_href","pagination_a","contains","text","DOM","DOMParser","parseFromString","paga","paga_innerText","nextHref","main","append","dpga","addps","post_list_show_animation","tempScrollTop","scrollTop","io","article","willChange","articles","XLS_Listener","XLS","intersectionRatio","_page_next","href_page_next","load_key","load_time","title","log","naturalWidth","naturalHeight","sqrt","drawImage","getImageData","btnSerif","btnSansSerif","updateThemeSkin","coverBGUrl","imgElement","k","iteration","img","label","centroid","_updateThemeSkin","map","floor","slice","concat","findIndex","getPropertyValue","color_css","metaLight","content","change_font_listener","btn","dataset","setButtonState","loadFontSetting","nowFont","font_name","initFontControl","bgvideo","videoList","movies","unplayedIndex","getVideo","video_stu","nextIndex","_getNextRandomVideo","bottom","origin","splay","video_btn","float_player_on","destroyAllAplayer","spause","coverVideoIni","videos","canPlayType","autoplay","Hls","default","reason","hls","loadSource","attachMedia","on","Events","MANIFEST_PARSED","initHLS","canPlayHandler","lazyloadPatch","poster","QueryStorage","search_result","keyword","link","fa","iconfont","comments","trim","toUpperCase","query","B","F","G","D","array","v","values","RegExp","Cx","H","div_href","search_close","Ty","click","jsSearchCallback","live_search","val","otxt","sessionStorage","JSON","parse","catch","search_a","searchFlag","oninput","checkSkinSecter","mashiro_global","variables","skinSecter","pattern","headertop","no_right_click","pri","changeSkin","tagId","bg_url","land_at_home","skin_bg0","skin_bg1","skin_bg2","skin_bg3","skin_bg4","bgButtonAddListener","next","pre","onclick","topFunction","timeSeriesReload","archives","al_li","nextElementSibling","al_expand_collapse","cursor","num","al_post_list","al_post_list_f","al_expand_collapse_click","MN","iconflat","close","auto_height","windowheight","minHeight","PE","blank","paddingTop","live","oncanplay","livepause","CE","comments_fold","comments_main","h3","sc","js_search","show_Nav","sln","loading","NH","siteHeader","closeSkinMenu","pjax","Pjax","selectors","defaultTrigger","exclude","jsdelivr_css_src","entry_content_style_src","aplayerInit","secondary","show_hide","activate_widget","NProgressON","NProgress","_p","_div","tla","openNav","script_app","script_app_page","gtag","google_analytics_id","pathname","_hmt","pageURL","hash","tabIndex","focus","Worker","bgUrl","tagid","changskin","close_SkinMenu","mb_to_top","transform","GT","onended","video_add","preload_screen","skinMenu"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/page.js b/js/page.js
index 2f9f7f32..dfd81409 100644
--- a/js/page.js
+++ b/js/page.js
@@ -1,3 +1,3 @@
/*! For license information please see page.js.LICENSE.txt */
-(self.webpackChunksakurairo_scripts=self.webpackChunksakurairo_scripts||[]).push([[768],{4689:function(){const e=[".bili",".menhera",".tieba"];window.motionSwitch=function(t){for(let t=0;tn(8508)(`./${e}/lg-${e}.es5.js`))))).map((e=>"fulfilled"==e.status?e.value.default:console.error("加载lightGallery的插件时出错啦!",e.reason)))},r))}}function s(){!function(){const e=document.getElementsByClassName("collapseButton");if(e.length>0){const t=e=>{(0,a.wy)(e.target.parentNode.parentNode.parentNode.querySelector(".xContent"))};for(const n of e)n.addEventListener("click",t)}}(),i(),async function(){document.getElementsByTagName("math").length>0&&("MathJax"in window||(window.MathJax={svg:{fontCache:"global"},startup:{typeset:!1},chtml:{fontURL:"https://cdn.jsdelivr.net/npm/mathjax/es5/output/chtml/fonts/woff-v2",mathmlSpacing:!0}}),await n.e(490).then(n.t.bind(n,2490,23)),window.MathJax.typeset())}()}var l=n(9791),c=n(9354),u=(n(4689),n(2568)),m=n.n(u);const d=(e,t=80)=>"https://"+Poi.gravatar_url+"/"+m()(e)+".jpg?s="+t+"&d=mm";function g(){let e=!1;const t=document.querySelector("input#author"),n=document.querySelector("input#qq"),o=document.querySelector("input#email"),r=document.querySelector("input#url"),i=document.querySelector(".qq-check"),s=document.querySelector(".gravatar-check"),l=document.querySelector("div.comment-user-avatar img");if(null==t)return;localStorage.getItem("user_qq")||localStorage.getItem("user_qq_email")||localStorage.getItem("user_author")||(n.value=t.value=o.value=r.value=""),localStorage.getItem("user_avatar")&&localStorage.getItem("user_qq")&&localStorage.getItem("user_qq_email")&&(l.setAttribute("src",localStorage.getItem("user_avatar")),t.value=localStorage.getItem("user_author"),o.value=localStorage.getItem("user_qq")+"@qq.com",n.value=localStorage.getItem("user_qq"),mashiro_option.qzone_autocomplete&&(r.value="https://user.qzone.qq.com/"+localStorage.getItem("user_qq")),n.value&&(i.style.display="block",s.style.display="none"));let c=o.value;t.addEventListener("blur",(()=>{const u=t.value;if(/^[1-9]\d{4,9}$/.test(u)){const m=()=>{n.value="",i.style.display="none",s.style.display="block",l.setAttribute("src",d(o.value,80)),localStorage.setItem("user_qq",""),localStorage.setItem("user_email",o.value),localStorage.setItem("user_avatar",d(o.value,80))};fetch((0,a.bf)(mashiro_option.qq_api_url,{qq:u})).then((async a=>{if(a.ok)try{const m=await a.json();t.value=m.name,o.value=u.trim()+"@qq.com",mashiro_option.qzone_autocomplete&&(r.value="https://user.qzone.qq.com/"+u.trim()),l.setAttribute("src","https://q2.qlogo.cn/headimg_dl?dst_uin="+u+"&spec=100"),e=!0,n.value=u.trim(),n.value&&(i.style.display="block",s.style.display="none"),localStorage.setItem("user_author",m.name),localStorage.setItem("user_qq",u),localStorage.setItem("is_user_qq","yes"),localStorage.setItem("user_qq_email",u+"@qq.com"),localStorage.setItem("user_email",u+"@qq.com"),c=o.value,l.setAttribute("src",m.avatar),localStorage.setItem("user_avatar",m.avatar)}catch(e){console.warn(e),m()}else m()}))}})),localStorage.getItem("user_avatar")&&localStorage.getItem("user_email")&&"no"==localStorage.getItem("is_user_qq")&&!localStorage.getItem("user_qq_email")&&(l.setAttribute("src",localStorage.getItem("user_avatar")),o.value=localStorage.getItem("user_mail"),n.value="",n.value||(i.style.display="none",s.style.display="block")),o.addEventListener("blur",(function(){let t=o.value;0!=e&&c==t||""==t||(l.setAttribute("src",d(t,80)),localStorage.setItem("user_avatar",d(t,80)),localStorage.setItem("user_email",t),localStorage.setItem("user_qq_email",""),localStorage.setItem("is_user_qq","no"),n.value="",n.value||(i.style.display="none",s.style.display="block"))})),localStorage.getItem("user_url")&&(r.value=localStorage.getItem("user_url")),r.addEventListener("blur",(function(){let e=r.value;r.value=e,localStorage.setItem("user_url",e)})),localStorage.getItem("user_author")&&(t.value=localStorage.getItem("user_author")),t.addEventListener("blur",(function(){let e=t.value;t.value=e,localStorage.setItem("user_author",e)}))}const f={respondId:"",moveForm:function(e,t,n){const o=document.getElementById(e),a=document.getElementById(n),r=document.getElementById("cancel-comment-reply-link"),i=document.getElementById("comment_parent");if(this.respondId=n,!document.getElementById("wp-temp-form-div")){const e=document.createElement("div");e.id="wp-temp-form-div",e.style.display="none",a.parentNode.insertBefore(e,a)}if(o)o.parentNode.insertBefore(a,o.nextSibling);else{const e=document.getElementById("wp-temp-form-div");document.getElementById("comment_parent").value="0",e.parentNode.insertBefore(a,e),e.remove()}const s=document.getElementById("respond");window.scrollTo({top:s.getBoundingClientRect().top+window.pageYOffset-s.clientTop-100,behavior:"smooth"}),i.value=t,r.style.display="",r.onclick=function(e){var t=f,n=document.getElementById("wp-temp-form-div"),o=document.getElementById(t.respondId);return document.getElementById("comment_parent").value="0",n&&o&&(n.parentNode.insertBefore(o,n),n.remove()),this.style.display="none",this.onclick=null,!1};try{document.getElementById("comment").focus()}catch(e){}return!1}};var p,h=f,y=n(302);const v={autocomplete:"off",autocorrect:"off",autocapitalize:"off",spellcheck:"false",contenteditable:"false",design:"by Mashiro"};function _(e,t){if(!e.children[0])return;let n="text";const o=e.children[0].className.match(/language-(\w+)/i);o&&(n=o[1]),e.classList.add("highlight-wrap");for(const t in v)e.setAttribute(t,v[t]);t.setAttribute("data-rel",n.toUpperCase())}const b=e=>{const t=e.target;if(t.classList.contains("highlight-wrap")){if(t.classList.contains("code-block-fullscreen"))t.remove();else{const e=t.cloneNode(!0);e.classList.toggle("code-block-fullscreen"),document.body.append(e)}document.documentElement.classList.toggle("code-block-fullscreen-html-scroll")}};async function w(e,t){try{await async function(){try{window.hljs||(window.hljs=(await Promise.all([n.e(857),n.e(128),n.e(980),n.e(49),n.e(82),n.e(930),n.e(529),n.e(420),n.e(223),n.e(302),n.e(587)]).then(n.bind(n,637))).default,await n.e(241).then(n.t.bind(n,5241,23)))}catch(e){console.warn(e)}}();for(let e=0;e{var e;const{light:t,dark:n}=(null==(e=mashiro_option.code_highlight_prism)?void 0:e.theme)??{},o={light:t??"themes/prism.min.css",dark:n??"themes/prism-tomorrow.min.css"};for(const e in o)o[e]=new URL(o[e],S).toString();return o})();function L(e){const t=e?q.dark:q.light;if(E){if(E.href!==t){const e=(0,o.loadCSS)(t);e.addEventListener("load",(()=>{E.remove(),E=e}))}}else E=(0,o.loadCSS)(t)}const I=e=>{L(e.detail)};async function B(e){try{await async function(){try{window.Prism||(L((0,y.N2)()),document.addEventListener("darkmode",I),(0,o.loadCSS)(new URL("plugins/toolbar/prism-toolbar.min.css",S).toString()),(0,o.loadCSS)(new URL("plugins/previewers/prism-previewers.min.css",S).toString()),await n.e(953).then(n.bind(n,3953)),Prism.plugins.autoloader.languages_path=new URL("components/",S).toString())}catch(e){console.warn(e)}}();let t=!1,a=!1;mashiro_option.code_highlight_prism.line_number_all&&(document.querySelector(".entry-content").classList.add("line-numbers"),t=!0);for(const n of e)if(n.parentElement.classList.contains("line-numbers")&&(t=!0),n.classList.contains("match-braces")&&(a=!0,1==t))break;await Promise.all([t&&((0,o.loadCSS)(new URL("plugins/line-numbers/prism-line-numbers.min.css",S).toString()),n.e(759).then(n.t.bind(n,8759,23))),a&&((0,o.loadCSS)(new URL("plugins/match-braces/prism-match-braces.min.css",S).toString()),n.e(873).then(n.t.bind(n,7873,23)))]);for(const t of e)Prism.highlightElement(t);Prism.plugins.fileHighlight&&Prism.plugins.fileHighlight.highlight()}catch(e){console.warn(e)}}var k=n(2605);const T=e=>{const t=e.target;if(t===document.querySelector("#bangumi-pagination a")){if(e.preventDefault(),e.stopPropagation(),t.classList.contains("loading"))return;t.classList.add("loading"),t.textContent="",fetch(t.dataset.href+"&_wpnonce="+Poi.nonce,{method:"POST"}).then((async e=>{const t=await e.json();if(!e.ok)throw Error(`Error,Status:${e.status}`);document.getElementById("bangumi-pagination").remove(),document.querySelector(".row").insertAdjacentHTML("beforeend",t),(0,l.m)()})).catch((e=>{console.error(e),(0,c.f)(e),t.classList.remove("loading"),t.innerHTML=' ERROR '}))}};function j(){const e=document.getElementsByTagName("section");let t=!1;for(let n=0;n0){for(let e=0;e');const{default:e}=await n.e(152).then(n.t.bind(n,2152,23));new e(".copy-code")}}function C(){document.getElementsByClassName("comment_inline_img").length&&document.getElementsByClassName("comments-main")[0].addEventListener("click",(function(e){e.target.classList.contains("comment_inline_img")&&window.open(e.target.src)}))}function A(){document.getElementsByClassName("emoji-item").length&&document.querySelector(".menhera-container").addEventListener("click",(function(e){e.target.classList.contains("emoji-item")&&grin(e.target.innerText,"custom","`","` ")}))}function N(){const e="commentwrap",t=document.getElementById("commentform");if(t){let n=!1;t.addEventListener("submit",(function(t){if(t.stopPropagation(),t.preventDefault(),n)return;const o=(0,c.f)((0,k.__)("提交中...."),!0),a=new FormData(this);a.append("action","ajax_comment"),n=!0,fetch(Poi.ajaxurl,{method:this.attributes.method.value,body:a}).then((async t=>{const n=await t.text();if(t.ok){Array.from(document.getElementsByTagName("textarea")).forEach((e=>e.value=""));const t=document.getElementById("cancel-comment-reply-link"),o=document.getElementById("wp-temp-form-div"),a=document.getElementById(h.respondId);"0"!=document.getElementById("comment_parent").value?document.getElementById("respond").insertAdjacentHTML("beforebegin",''+n+"
"):document.getElementsByClassName(e).length?"asc"==Poi.order?document.getElementsByClassName("commentwrap")[1].insertAdjacentHTML("beforeend",n):document.getElementsByClassName("commentwrap")[1].insertAdjacentHTML("afterbegin",n):"bottom"==Poi.formpostion?document.getElementById("respond").insertAdjacentHTML("beforebegin",''+n+"
"):document.getElementById("respond").insertAdjacentHTML("afterend",''+n+"
"),(0,c.f)((0,k.__)("提交成功")),document.dispatchEvent(new CustomEvent("ajax_comment_complete")),t.style.display="none",t.onclick=null,document.getElementById("comment_parent").value="0",o&&a&&(o.parentNode.insertBefore(a,o),o.remove())}else(0,c.f)(n??"HTTP"+t.status+":"+t.statusText)})).catch((e=>{(0,c.f)(e)})).finally((()=>{o.remove(),n=!1}))}))}}function M(){let e=document.getElementsByClassName("sm"),t=document.querySelector(".comments-main");e.length&&t&&("new"==Poi.reply_link_version&&t.addEventListener("click",(function(e){if(e.target.classList.contains("comment-reply-link")){e.preventDefault(),e.stopPropagation();let t=e.target.getAttribute("data-commentid");h.moveForm("comment-"+t,t,"respond",this.getAttribute("data-postid"))}})),t.addEventListener("click",(e=>{let t=e.target.parentNode;if(t.classList.contains("sm")){let e=(0,k.__)("您真的要设为私密吗?");if(1==confirm(e)){if(t.classList.contains("private_now"))return alert((0,k.__)("您之前已设过私密评论")),!1;{t.classList.add("private_now");let e=t.getAttribute("data-idp"),n=t.getAttribute("data-actionp"),o=t.getElementsByClassName("has_set_private")[0],a="action=siren_private&p_id="+e+"&p_action="+n,r=new XMLHttpRequest;return r.onreadystatechange=function(){4==this.readyState&&200==this.status&&(o.innerHTML=r.responseText)},r.open("POST","/wp-admin/admin-ajax.php",!0),r.setRequestHeader("Content-type","application/x-www-form-urlencoded"),r.send(a),!1}}}})))}function H(){const e=document.querySelector(".toc-container"),t=document.querySelector(".site-content");if(e&&t){const n=()=>{e.style.height=(0,a.VV)(t.getBoundingClientRect().height,document.documentElement.offsetHeight-e.offsetTop)+"px"};n(),window.addEventListener("resize",n,{passive:!0})}}function P(e){if(!(document.body.clientWidth<=1200))if(document.querySelector("div.have-toc")||document.querySelector("div.has-toc")){if(e&&document.getElementsByClassName("toc").length>0){let e=1,t="sakura"==mashiro_option.entry_content_theme?document.querySelector("article.type-post")?document.querySelector("div.pattern-attachment-img")?-75:200:375:window.innerHeight/2,o=document.querySelectorAll(".entry-content,.links");for(let t=0;t{let{default:n}=e;n.init({tocSelector:".toc",contentSelector:[".entry-content",".links"],headingSelector:"h1, h2, h3, h4, h5",headingsOffset:t-window.innerHeight/2})}))}}else{let e=document.getElementsByClassName("toc-container")[0];e&&(e.remove(),e=null)}}function O(){let e=document.getElementById("emotion-toggle");e&&e.addEventListener("click",(function(){document.querySelector(".emotion-toggle-off").classList.toggle("emotion-hide"),document.querySelector(".emotion-toggle-on").classList.toggle("emotion-show"),document.querySelector(".emotion-box").classList.toggle("emotion-box-show")}))}function R(){const e=document.querySelector(".form-submit #submit");if(null==e)return;if(!mashiro_option.comment_upload_img)return void(e.style.width="100%");e.insertAdjacentHTML("afterend",''),function(){let e=document.getElementsByClassName("insert-image-tips")[0],t=document.getElementById("upload-img-file");t&&t.addEventListener("change",(function(){if(this.files.length>10)return(0,c.f)((0,k.__)("每次上传上限为10张")),0;for(let e=0;e=5242880)return void alert((0,k._$)("图片上传大小限制为5 MB\n\n「{0}」\n\n这张图太大啦~请重新上传噢!",this.files[e].name));for(let t=0;t',(0,c.f)((0,k.__)("上传中..."))})),a.open("POST",buildAPI(Poi.api+"sakura/v1/image/upload"),!0),a.send(o),a.onreadystatechange=function(){if(4!=a.readyState||200!=a.status&&304!=a.status)4==a.readyState&&(e.innerHTML='',alert((0,k.__)("上传失败,请重试.")),setTimeout((function(){e.innerHTML=''}),1e3));else{e.innerHTML='',setTimeout((function(){e.innerHTML=''}),1e3);let t=JSON.parse(a.responseText);if(200==t.status){let e=t.proxy;document.getElementById("upload-img-show").insertAdjacentHTML("afterend",''),(0,l.m)(),(0,c.f)((0,k.__)("图片上传成功~")),grin(e,type="Img")}else(0,c.f)((0,k._$)("上传失败!\n文件名: {0}\ncode: {1}\n{2}",n.name,t.status,t.message),3e3)}}}}))}();const t=document.getElementById("upload-img-file"),n=document.getElementsByClassName("insert-image-tips")[0],o=document.getElementById("uploadTipPopup");t&&(t.addEventListener("mouseenter",(function(){n.classList.toggle("insert-image-tips-hover"),o.classList.toggle("show")})),t.addEventListener("mouseleave",(function(){n.classList.toggle("insert-image-tips-hover"),o.classList.toggle("show")})))}function z(){(0,l.m)(),x(),C(),document.getElementById("upload-img-show").innerHTML=""}function U(){s(),M()}window.addEventListener("popstate",U),C(),x(),j(),M(),A(),O(),P(!0),document.querySelectorAll(".comt-addsmilies").forEach((e=>{e.addEventListener("click",(()=>{"block"==e.stlye.display?e.style.display="none":e.style.display="block"}))})),document.querySelectorAll(".comt-smilies a").forEach((e=>{e.addEventListener("click",(()=>{e.parentNode.style.display="none"}))})),document.addEventListener("ajax_comment_complete",z),document.addEventListener("pjax:complete",(function(){try{R(),s(),j(),P(!0),C(),g(),M(),A(),x(),O(),N(),H()}catch(e){console.warn(e)}})),(0,a.Cd)((function(){s(),N(),document.body.addEventListener("click",(function(e){if(e.target.parentNode==document.getElementById("comments-navi")&&"a"==e.target.nodeName.toLowerCase()){e.preventDefault(),e.stopPropagation();let t=e.target,n=t.pathname,o=new XMLHttpRequest;o.open("GET",t.getAttribute("href"),!0),o.responseType="document",o.onloadstart=()=>{let e=document.getElementById("comments-navi"),t=document.querySelector("ul.commentwrap"),n=document.getElementById("loading-comments"),o=document.getElementById("comments-list-title");e.remove(),t.remove(),n.style.display="block",(0,a.wy)(n,500,"show"),window.scrollTo({top:o.getBoundingClientRect().top+window.pageYOffset-o.clientTop-65,behavior:"smooth"})},o.onreadystatechange=function(){if(4==o.readyState&&200==o.status){let e=o.response,t=e.querySelector("ul.commentwrap"),r=e.getElementById("comments-navi"),i=document.getElementById("loading-comments");(0,a.wy)(i,200,"hide"),document.getElementById("loading-comments").insertAdjacentHTML("afterend",t.outerHTML),document.querySelector("ul.commentwrap").insertAdjacentHTML("afterend",r.outerHTML),(0,l.m)(),window.gtag&>ag("config",Poi.google_analytics_id,{page_path:n}),x(),C();let s=document.querySelector("ul.commentwrap");window.scrollTo({top:s&&s.getBoundingClientRect().top+window.pageYOffset-s.clientTop-200,behavior:"smooth"})}},o.send()}})),g(),R(),H()}))},487:function(e){var t={utf8:{stringToBytes:function(e){return t.bin.stringToBytes(unescape(encodeURIComponent(e)))},bytesToString:function(e){return decodeURIComponent(escape(t.bin.bytesToString(e)))}},bin:{stringToBytes:function(e){for(var t=[],n=0;n>>32-t},rotr:function(e,t){return e<<32-t|e>>>t},endian:function(e){if(e.constructor==Number)return 16711935&n.rotl(e,8)|4278255360&n.rotl(e,24);for(var t=0;t0;e--)t.push(Math.floor(256*Math.random()));return t},bytesToWords:function(e){for(var t=[],n=0,o=0;n>>5]|=e[n]<<24-o%32;return t},wordsToBytes:function(e){for(var t=[],n=0;n<32*e.length;n+=8)t.push(e[n>>>5]>>>24-n%32&255);return t},bytesToHex:function(e){for(var t=[],n=0;n>>4).toString(16)),t.push((15&e[n]).toString(16));return t.join("")},hexToBytes:function(e){for(var t=[],n=0;n>>6*(3-r)&63)):n.push("=");return n.join("")},base64ToBytes:function(e){e=e.replace(/[^A-Z0-9+\/]/gi,"");for(var n=[],o=0,a=0;o>>6-2*a);return n}},e.exports=n},8738:function(e){function t(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}e.exports=function(e){return null!=e&&(t(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&t(e.slice(0,0))}(e)||!!e._isBuffer)}},8508:function(e,t,n){var o={"./autoplay/lg-autoplay.es5.js":[8509,8],"./comment/lg-comment.es5.js":[8080,238],"./fullscreen/lg-fullscreen.es5.js":[2508,846],"./hash/lg-hash.es5.js":[1185,649],"./mediumZoom/lg-medium-zoom.es5.js":[7180,400],"./pager/lg-pager.es5.js":[6220,359],"./relativeCaption/lg-relative-caption.es5.js":[823,515],"./rotate/lg-rotate.es5.js":[4671,893],"./share/lg-share.es5.js":[627,642],"./thumbnail/lg-thumbnail.es5.js":[1997,725],"./video/lg-video.es5.js":[2523,568],"./zoom/lg-zoom.es5.js":[2869,719]};function a(e){if(!n.o(o,e))return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=o[e],a=t[0];return n.e(t[1]).then((function(){return n(a)}))}a.keys=function(){return Object.keys(o)},a.id=8508,e.exports=a},2568:function(e,t,n){var o,a,r,i,s;o=n(1012),a=n(487).utf8,r=n(8738),i=n(487).bin,(s=function(e,t){e.constructor==String?e=t&&"binary"===t.encoding?i.stringToBytes(e):a.stringToBytes(e):r(e)?e=Array.prototype.slice.call(e,0):Array.isArray(e)||e.constructor===Uint8Array||(e=e.toString());for(var n=o.bytesToWords(e),l=8*e.length,c=1732584193,u=-271733879,m=-1732584194,d=271733878,g=0;g>>24)|4278255360&(n[g]<<24|n[g]>>>8);n[l>>>5]|=128<>>9<<4)]=l;var f=s._ff,p=s._gg,h=s._hh,y=s._ii;for(g=0;g>>0,u=u+_>>>0,m=m+b>>>0,d=d+w>>>0}return o.endian([c,u,m,d])})._ff=function(e,t,n,o,a,r,i){var s=e+(t&n|~t&o)+(a>>>0)+i;return(s<>>32-r)+t},s._gg=function(e,t,n,o,a,r,i){var s=e+(t&o|n&~o)+(a>>>0)+i;return(s<>>32-r)+t},s._hh=function(e,t,n,o,a,r,i){var s=e+(t^n^o)+(a>>>0)+i;return(s<>>32-r)+t},s._ii=function(e,t,n,o,a,r,i){var s=e+(n^(t|~o))+(a>>>0)+i;return(s<>>32-r)+t},s._blocksize=16,s._digestsize=16,e.exports=function(e,t){if(null==e)throw new Error("Illegal argument "+e);var n=o.wordsToBytes(s(e,t));return t&&t.asBytes?n:t&&t.asString?i.bytesToString(n):o.bytesToHex(n)}}},function(e){var t;t=5840,e(e.s=t)}]);
+(self.webpackChunksakurairo_scripts=self.webpackChunksakurairo_scripts||[]).push([[768],{4689:function(){const e=[".bili",".menhera",".tieba"];window.motionSwitch=function(t){for(let t=0;tn(8508)(`./${e}/lg-${e}.es5.js`))))).map((e=>"fulfilled"==e.status?e.value.default:console.error("加载lightGallery的插件时出错啦!",e.reason)))},r))}}function s(){!function(){const e=document.getElementsByClassName("collapseButton");if(e.length>0){const t=e=>{(0,a.wy)(e.target.parentNode.parentNode.parentNode.querySelector(".xContent"))};for(const n of e)n.addEventListener("click",t)}}(),i(),async function(){document.getElementsByTagName("math").length>0&&("MathJax"in window||(window.MathJax={svg:{fontCache:"global"},startup:{typeset:!1},chtml:{fontURL:"https://cdn.jsdelivr.net/npm/mathjax/es5/output/chtml/fonts/woff-v2",mathmlSpacing:!0}}),await n.e(490).then(n.t.bind(n,2490,23)),window.MathJax.typeset())}()}var l=n(9791),c=n(9354),u=(n(4689),n(2568)),m=n.n(u);const d=(e,t=80)=>"https://"+Poi.gravatar_url+"/"+m()(e)+".jpg?s="+t+"&d=mm";function g(){let e=!1;const t=document.querySelector("input#author"),n=document.querySelector("input#qq"),o=document.querySelector("input#email"),r=document.querySelector("input#url"),i=document.querySelector(".qq-check"),s=document.querySelector(".gravatar-check"),l=document.querySelector("div.comment-user-avatar img");if(null==t)return;localStorage.getItem("user_qq")||localStorage.getItem("user_qq_email")||localStorage.getItem("user_author")||(n.value=t.value=o.value=r.value=""),localStorage.getItem("user_avatar")&&localStorage.getItem("user_qq")&&localStorage.getItem("user_qq_email")&&(l.setAttribute("src",localStorage.getItem("user_avatar")),t.value=localStorage.getItem("user_author"),o.value=localStorage.getItem("user_qq")+"@qq.com",n.value=localStorage.getItem("user_qq"),mashiro_option.qzone_autocomplete&&(r.value="https://user.qzone.qq.com/"+localStorage.getItem("user_qq")),n.value&&(i.style.display="block",s.style.display="none"));let c=o.value;t.addEventListener("blur",(()=>{const u=t.value;if(/^[1-9]\d{4,9}$/.test(u)){const m=()=>{n.value="",i.style.display="none",s.style.display="block",l.setAttribute("src",d(o.value,80)),localStorage.setItem("user_qq",""),localStorage.setItem("user_email",o.value),localStorage.setItem("user_avatar",d(o.value,80))};fetch((0,a.bf)(mashiro_option.qq_api_url,{qq:u})).then((async a=>{if(a.ok)try{const m=await a.json();t.value=m.name,o.value=u.trim()+"@qq.com",mashiro_option.qzone_autocomplete&&(r.value="https://user.qzone.qq.com/"+u.trim()),l.setAttribute("src","https://q2.qlogo.cn/headimg_dl?dst_uin="+u+"&spec=100"),e=!0,n.value=u.trim(),n.value&&(i.style.display="block",s.style.display="none"),localStorage.setItem("user_author",m.name),localStorage.setItem("user_qq",u),localStorage.setItem("is_user_qq","yes"),localStorage.setItem("user_qq_email",u+"@qq.com"),localStorage.setItem("user_email",u+"@qq.com"),c=o.value,l.setAttribute("src",m.avatar),localStorage.setItem("user_avatar",m.avatar)}catch(e){console.warn(e),m()}else m()}))}})),localStorage.getItem("user_avatar")&&localStorage.getItem("user_email")&&"no"==localStorage.getItem("is_user_qq")&&!localStorage.getItem("user_qq_email")&&(l.setAttribute("src",localStorage.getItem("user_avatar")),o.value=localStorage.getItem("user_mail"),n.value="",n.value||(i.style.display="none",s.style.display="block")),o.addEventListener("blur",(function(){let t=o.value;0!=e&&c==t||""==t||(l.setAttribute("src",d(t,80)),localStorage.setItem("user_avatar",d(t,80)),localStorage.setItem("user_email",t),localStorage.setItem("user_qq_email",""),localStorage.setItem("is_user_qq","no"),n.value="",n.value||(i.style.display="none",s.style.display="block"))})),localStorage.getItem("user_url")&&(r.value=localStorage.getItem("user_url")),r.addEventListener("blur",(function(){let e=r.value;r.value=e,localStorage.setItem("user_url",e)})),localStorage.getItem("user_author")&&(t.value=localStorage.getItem("user_author")),t.addEventListener("blur",(function(){let e=t.value;t.value=e,localStorage.setItem("user_author",e)}))}const f={respondId:"",moveForm:function(e,t,n){const o=document.getElementById(e),a=document.getElementById(n),r=document.getElementById("cancel-comment-reply-link"),i=document.getElementById("comment_parent");if(this.respondId=n,!document.getElementById("wp-temp-form-div")){const e=document.createElement("div");e.id="wp-temp-form-div",e.style.display="none",a.parentNode.insertBefore(e,a)}if(o)o.parentNode.insertBefore(a,o.nextSibling);else{const e=document.getElementById("wp-temp-form-div");document.getElementById("comment_parent").value="0",e.parentNode.insertBefore(a,e),e.remove()}const s=document.getElementById("respond");window.scrollTo({top:s.getBoundingClientRect().top+window.pageYOffset-s.clientTop-100,behavior:"smooth"}),i.value=t,r.style.display="",r.onclick=function(e){var t=f,n=document.getElementById("wp-temp-form-div"),o=document.getElementById(t.respondId);return document.getElementById("comment_parent").value="0",n&&o&&(n.parentNode.insertBefore(o,n),n.remove()),this.style.display="none",this.onclick=null,!1};try{document.getElementById("comment").focus()}catch(e){}return!1}};var p,h=f,y=n(302);const v={autocomplete:"off",autocorrect:"off",autocapitalize:"off",spellcheck:"false",contenteditable:"false",design:"by Mashiro"};function _(e,t){if(!e.children[0])return;let n="text";const o=e.children[0].className.match(/language-(\w+)/i);o&&(n=o[1]),e.classList.add("highlight-wrap");for(const t in v)e.setAttribute(t,v[t]);t.setAttribute("data-rel",n.toUpperCase())}const b=e=>{const t=e.target;if(t.classList.contains("highlight-wrap")){if(t.classList.contains("code-block-fullscreen"))t.remove();else{const e=t.cloneNode(!0);e.classList.toggle("code-block-fullscreen"),document.body.append(e)}document.documentElement.classList.toggle("code-block-fullscreen-html-scroll")}};async function w(e,t){try{await async function(){try{window.hljs||(window.hljs=(await Promise.all([n.e(857),n.e(128),n.e(980),n.e(49),n.e(82),n.e(930),n.e(529),n.e(420),n.e(223),n.e(302),n.e(587)]).then(n.bind(n,637))).default,await n.e(241).then(n.t.bind(n,5241,23)))}catch(e){console.warn(e)}}();for(let e=0;e{var e;const{light:t,dark:n}=(null==(e=mashiro_option.code_highlight_prism)?void 0:e.theme)??{},o={light:t??"themes/prism.min.css",dark:n??"themes/prism-tomorrow.min.css"};for(const e in o)o[e]=new URL(o[e],S).toString();return o})();function L(e){const t=e?q.dark:q.light;if(E){if(E.href!==t){const e=(0,o.loadCSS)(t);e.addEventListener("load",(()=>{E.remove(),E=e}))}}else E=(0,o.loadCSS)(t)}const I=e=>{L(e.detail)};async function B(e){try{await async function(){try{window.Prism||(L((0,y.N2)()),document.addEventListener("darkmode",I),(0,o.loadCSS)(new URL("plugins/toolbar/prism-toolbar.min.css",S).toString()),(0,o.loadCSS)(new URL("plugins/previewers/prism-previewers.min.css",S).toString()),await n.e(953).then(n.bind(n,3953)),Prism.plugins.autoloader.languages_path=new URL("components/",S).toString())}catch(e){console.warn(e)}}();let t=!1,a=!1;mashiro_option.code_highlight_prism.line_number_all&&(document.querySelector(".entry-content").classList.add("line-numbers"),t=!0);for(const n of e)if(n.parentElement.classList.contains("line-numbers")&&(t=!0),n.classList.contains("match-braces")&&(a=!0,1==t))break;await Promise.all([t&&((0,o.loadCSS)(new URL("plugins/line-numbers/prism-line-numbers.min.css",S).toString()),n.e(759).then(n.t.bind(n,8759,23))),a&&((0,o.loadCSS)(new URL("plugins/match-braces/prism-match-braces.min.css",S).toString()),n.e(873).then(n.t.bind(n,7873,23)))]);for(const t of e)Prism.highlightElement(t);Prism.plugins.fileHighlight&&Prism.plugins.fileHighlight.highlight()}catch(e){console.warn(e)}}var k=n(2605);const T=e=>{const t=e.target;if(t===document.querySelector("#bangumi-pagination a")){if(e.preventDefault(),e.stopPropagation(),t.classList.contains("loading"))return;t.classList.add("loading"),t.textContent="",fetch(t.dataset.href+"&_wpnonce="+Poi.nonce,{method:"POST"}).then((async e=>{const t=await e.json();if(!e.ok)throw Error(`Error,Status:${e.status}`);document.getElementById("bangumi-pagination").remove(),document.querySelector(".row").insertAdjacentHTML("beforeend",t),(0,l.m)()})).catch((e=>{console.error(e),(0,c.f)(e),t.classList.remove("loading"),t.innerHTML=' ERROR '}))}};function j(){const e=document.getElementsByTagName("section");let t=!1;for(let n=0;n0){for(let e=0;e');const{default:e}=await n.e(152).then(n.t.bind(n,2152,23));new e(".copy-code")}}function C(){document.getElementsByClassName("comment_inline_img").length&&document.getElementsByClassName("comments-main")[0].addEventListener("click",(function(e){e.target.classList.contains("comment_inline_img")&&window.open(e.target.src)}))}function A(){document.getElementsByClassName("emoji-item").length&&document.querySelector(".menhera-container").addEventListener("click",(function(e){e.target.classList.contains("emoji-item")&&grin(e.target.innerText,"custom","`","` ")}))}function N(){const e="commentwrap",t=document.getElementById("commentform");if(t){let n=!1;t.addEventListener("submit",(function(t){if(t.stopPropagation(),t.preventDefault(),n)return;const o=(0,c.f)((0,k.__)("提交中...."),!0),a=new FormData(this);a.append("action","ajax_comment"),n=!0,fetch(Poi.ajaxurl,{method:this.attributes.method.value,body:a}).then((async t=>{const n=await t.text();if(t.ok){Array.from(document.getElementsByTagName("textarea")).forEach((e=>e.value=""));const t=document.getElementById("cancel-comment-reply-link"),o=document.getElementById("wp-temp-form-div"),a=document.getElementById(h.respondId);"0"!=document.getElementById("comment_parent").value?document.getElementById("respond").insertAdjacentHTML("beforebegin",''+n+"
"):document.getElementsByClassName(e).length?"asc"==Poi.order?document.getElementsByClassName("commentwrap")[1].insertAdjacentHTML("beforeend",n):document.getElementsByClassName("commentwrap")[1].insertAdjacentHTML("afterbegin",n):"bottom"==Poi.formpostion?document.getElementById("respond").insertAdjacentHTML("beforebegin",''+n+"
"):document.getElementById("respond").insertAdjacentHTML("afterend",''+n+"
"),(0,c.f)((0,k.__)("提交成功")),document.dispatchEvent(new CustomEvent("ajax_comment_complete")),t.style.display="none",t.onclick=null,document.getElementById("comment_parent").value="0",o&&a&&(o.parentNode.insertBefore(a,o),o.remove())}else(0,c.f)(n??"HTTP"+t.status+":"+t.statusText)})).catch((e=>{(0,c.f)(e)})).finally((()=>{o.remove(),n=!1}))}))}}function M(){let e=document.getElementsByClassName("sm"),t=document.querySelector(".comments-main");e.length&&t&&("new"==Poi.reply_link_version&&t.addEventListener("click",(function(e){if(e.target.classList.contains("comment-reply-link")){e.preventDefault(),e.stopPropagation();let t=e.target.getAttribute("data-commentid");h.moveForm("comment-"+t,t,"respond",this.getAttribute("data-postid"))}})),t.addEventListener("click",(e=>{let t=e.target.parentNode;if(t.classList.contains("sm")){let e=(0,k.__)("您真的要设为私密吗?");if(1==confirm(e)){if(t.classList.contains("private_now"))return alert((0,k.__)("您之前已设过私密评论")),!1;{t.classList.add("private_now");let e=t.getAttribute("data-idp"),n=t.getAttribute("data-actionp"),o=t.getElementsByClassName("has_set_private")[0],a="action=siren_private&p_id="+e+"&p_action="+n,r=new XMLHttpRequest;return r.onreadystatechange=function(){4==this.readyState&&200==this.status&&(o.innerHTML=r.responseText)},r.open("POST","/wp-admin/admin-ajax.php",!0),r.setRequestHeader("Content-type","application/x-www-form-urlencoded"),r.send(a),!1}}}})))}function H(){const e=document.querySelector(".toc-container"),t=document.querySelector(".site-content");if(e&&t){const n=()=>{e.style.height=Math.min(t.getBoundingClientRect().height,document.documentElement.offsetHeight-e.offsetTop)+"px"};n(),window.addEventListener("resize",n,{passive:!0})}}function P(e){if(!(document.body.clientWidth<=1200))if(document.querySelector("div.have-toc")||document.querySelector("div.has-toc")){if(e&&document.getElementsByClassName("toc").length>0){const e=n.e(866).then(n.t.bind(n,2866,23)),t="sakurairo"==mashiro_option.entry_content_style?document.querySelector("article.type-post")?document.querySelector("div.pattern-attachment")?-75:200:375:window.innerHeight/2,o=document.querySelectorAll(".entry-content,.links"),a=new Set;let r=1;for(let e=0;e{let{default:n}=e;n.init({tocSelector:".toc",contentSelector:[".entry-content",".links"],headingSelector:"h1,h2,h3,h4,h5",headingsOffset:t-window.innerHeight/2,onClick:null})}))}}else{let e=document.getElementsByClassName("toc-container")[0];e&&(e.remove(),e=null)}}function O(){let e=document.getElementById("emotion-toggle");e&&e.addEventListener("click",(function(){document.querySelector(".emotion-toggle-off").classList.toggle("emotion-hide"),document.querySelector(".emotion-toggle-on").classList.toggle("emotion-show"),document.querySelector(".emotion-box").classList.toggle("emotion-box-show")}))}function R(){const e=document.querySelector(".form-submit #submit");if(null==e)return;if(!mashiro_option.comment_upload_img)return void(e.style.width="100%");e.insertAdjacentHTML("afterend",''),function(){let e=document.getElementsByClassName("insert-image-tips")[0],t=document.getElementById("upload-img-file");t&&t.addEventListener("change",(function(){if(this.files.length>10)return(0,c.f)((0,k.__)("每次上传上限为10张")),0;for(let e=0;e=5242880)return void alert((0,k._$)("图片上传大小限制为5 MB\n\n「{0}」\n\n这张图太大啦~请重新上传噢!",this.files[e].name));for(let t=0;t',(0,c.f)((0,k.__)("上传中..."))})),a.open("POST",buildAPI(Poi.api+"sakura/v1/image/upload"),!0),a.send(o),a.onreadystatechange=function(){if(4!=a.readyState||200!=a.status&&304!=a.status)4==a.readyState&&(e.innerHTML='',alert((0,k.__)("上传失败,请重试.")),setTimeout((function(){e.innerHTML=''}),1e3));else{e.innerHTML='',setTimeout((function(){e.innerHTML=''}),1e3);let t=JSON.parse(a.responseText);if(200==t.status){let e=t.proxy;document.getElementById("upload-img-show").insertAdjacentHTML("afterend",''),(0,l.m)(),(0,c.f)((0,k.__)("图片上传成功~")),grin(e,type="Img")}else(0,c.f)((0,k._$)("上传失败!\n文件名: {0}\ncode: {1}\n{2}",n.name,t.status,t.message),3e3)}}}}))}();const t=document.getElementById("upload-img-file"),n=document.getElementsByClassName("insert-image-tips")[0],o=document.getElementById("uploadTipPopup");t&&(t.addEventListener("mouseenter",(function(){n.classList.toggle("insert-image-tips-hover"),o.classList.toggle("show")})),t.addEventListener("mouseleave",(function(){n.classList.toggle("insert-image-tips-hover"),o.classList.toggle("show")})))}function U(){(0,l.m)(),x(),C(),document.getElementById("upload-img-show").innerHTML=""}function z(){s(),M()}window.addEventListener("popstate",z),C(),x(),j(),M(),A(),O(),P(!0),document.querySelectorAll(".comt-addsmilies").forEach((e=>{e.addEventListener("click",(()=>{"block"==e.stlye.display?e.style.display="none":e.style.display="block"}))})),document.querySelectorAll(".comt-smilies a").forEach((e=>{e.addEventListener("click",(()=>{e.parentNode.style.display="none"}))})),document.addEventListener("ajax_comment_complete",U),document.addEventListener("pjax:complete",(function(){try{R(),s(),j(),P(!0),C(),g(),M(),A(),x(),O(),N(),H()}catch(e){console.warn(e)}})),(0,a.Cd)((function(){s(),N(),document.body.addEventListener("click",(function(e){if(e.target.parentNode==document.getElementById("comments-navi")&&"a"==e.target.nodeName.toLowerCase()){e.preventDefault(),e.stopPropagation();let t=e.target,n=t.pathname,o=new XMLHttpRequest;o.open("GET",t.getAttribute("href"),!0),o.responseType="document",o.onloadstart=()=>{let e=document.getElementById("comments-navi"),t=document.querySelector("ul.commentwrap"),n=document.getElementById("loading-comments"),o=document.getElementById("comments-list-title");e.remove(),t.remove(),n.style.display="block",(0,a.wy)(n,500,"show"),window.scrollTo({top:o.getBoundingClientRect().top+window.pageYOffset-o.clientTop-65,behavior:"smooth"})},o.onreadystatechange=function(){if(4==o.readyState&&200==o.status){let e=o.response,t=e.querySelector("ul.commentwrap"),r=e.getElementById("comments-navi"),i=document.getElementById("loading-comments");(0,a.wy)(i,200,"hide"),document.getElementById("loading-comments").insertAdjacentHTML("afterend",t.outerHTML),document.querySelector("ul.commentwrap").insertAdjacentHTML("afterend",r.outerHTML),(0,l.m)(),window.gtag&>ag("config",Poi.google_analytics_id,{page_path:n}),x(),C();let s=document.querySelector("ul.commentwrap");window.scrollTo({top:s&&s.getBoundingClientRect().top+window.pageYOffset-s.clientTop-200,behavior:"smooth"})}},o.send()}})),g(),R(),H()}))},487:function(e){var t={utf8:{stringToBytes:function(e){return t.bin.stringToBytes(unescape(encodeURIComponent(e)))},bytesToString:function(e){return decodeURIComponent(escape(t.bin.bytesToString(e)))}},bin:{stringToBytes:function(e){for(var t=[],n=0;n>>32-t},rotr:function(e,t){return e<<32-t|e>>>t},endian:function(e){if(e.constructor==Number)return 16711935&n.rotl(e,8)|4278255360&n.rotl(e,24);for(var t=0;t0;e--)t.push(Math.floor(256*Math.random()));return t},bytesToWords:function(e){for(var t=[],n=0,o=0;n>>5]|=e[n]<<24-o%32;return t},wordsToBytes:function(e){for(var t=[],n=0;n<32*e.length;n+=8)t.push(e[n>>>5]>>>24-n%32&255);return t},bytesToHex:function(e){for(var t=[],n=0;n>>4).toString(16)),t.push((15&e[n]).toString(16));return t.join("")},hexToBytes:function(e){for(var t=[],n=0;n>>6*(3-r)&63)):n.push("=");return n.join("")},base64ToBytes:function(e){e=e.replace(/[^A-Z0-9+\/]/gi,"");for(var n=[],o=0,a=0;o>>6-2*a);return n}},e.exports=n},8738:function(e){function t(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}e.exports=function(e){return null!=e&&(t(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&t(e.slice(0,0))}(e)||!!e._isBuffer)}},8508:function(e,t,n){var o={"./autoplay/lg-autoplay.es5.js":[8509,8],"./comment/lg-comment.es5.js":[8080,238],"./fullscreen/lg-fullscreen.es5.js":[2508,846],"./hash/lg-hash.es5.js":[1185,649],"./mediumZoom/lg-medium-zoom.es5.js":[7180,400],"./pager/lg-pager.es5.js":[6220,359],"./relativeCaption/lg-relative-caption.es5.js":[823,515],"./rotate/lg-rotate.es5.js":[4671,893],"./share/lg-share.es5.js":[627,642],"./thumbnail/lg-thumbnail.es5.js":[1997,725],"./video/lg-video.es5.js":[2523,568],"./zoom/lg-zoom.es5.js":[2869,719]};function a(e){if(!n.o(o,e))return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=o[e],a=t[0];return n.e(t[1]).then((function(){return n(a)}))}a.keys=function(){return Object.keys(o)},a.id=8508,e.exports=a},2568:function(e,t,n){var o,a,r,i,s;o=n(1012),a=n(487).utf8,r=n(8738),i=n(487).bin,(s=function(e,t){e.constructor==String?e=t&&"binary"===t.encoding?i.stringToBytes(e):a.stringToBytes(e):r(e)?e=Array.prototype.slice.call(e,0):Array.isArray(e)||e.constructor===Uint8Array||(e=e.toString());for(var n=o.bytesToWords(e),l=8*e.length,c=1732584193,u=-271733879,m=-1732584194,d=271733878,g=0;g>>24)|4278255360&(n[g]<<24|n[g]>>>8);n[l>>>5]|=128<>>9<<4)]=l;var f=s._ff,p=s._gg,h=s._hh,y=s._ii;for(g=0;g>>0,u=u+_>>>0,m=m+b>>>0,d=d+w>>>0}return o.endian([c,u,m,d])})._ff=function(e,t,n,o,a,r,i){var s=e+(t&n|~t&o)+(a>>>0)+i;return(s<>>32-r)+t},s._gg=function(e,t,n,o,a,r,i){var s=e+(t&o|n&~o)+(a>>>0)+i;return(s<>>32-r)+t},s._hh=function(e,t,n,o,a,r,i){var s=e+(t^n^o)+(a>>>0)+i;return(s<>>32-r)+t},s._ii=function(e,t,n,o,a,r,i){var s=e+(n^(t|~o))+(a>>>0)+i;return(s<>>32-r)+t},s._blocksize=16,s._digestsize=16,e.exports=function(e,t){if(null==e)throw new Error("Illegal argument "+e);var n=o.wordsToBytes(s(e,t));return t&&t.asBytes?n:t&&t.asString?i.bytesToString(n):o.bytesToHex(n)}}},function(e){var t;t=5840,e(e.s=t)}]);
//# sourceMappingURL=page.js.map
\ No newline at end of file
diff --git a/js/page.js.LICENSE.txt b/js/page.js.LICENSE.txt
index 96000a61..e6a88488 100644
--- a/js/page.js.LICENSE.txt
+++ b/js/page.js.LICENSE.txt
@@ -5,4 +5,4 @@
* @license MIT
*/
-//! build be47151 2021/11/21
+//! build 3a6b1dd 2021/11/24
diff --git a/js/page.js.map b/js/page.js.map
index 7d257266..2ec5506a 100644
--- a/js/page.js.map
+++ b/js/page.js.map
@@ -1 +1 @@
-{"version":3,"file":"page.js","mappings":"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","sources":["webpack://sakurairo-scripts/./src/page/global-func.js","webpack://sakurairo-scripts/./node_modules/tslib/tslib.es6.js","webpack://sakurairo-scripts/./src/page/article_attach.ts","webpack://sakurairo-scripts/./src/page/gravatar.ts","webpack://sakurairo-scripts/./src/page/getqqinfo.js","webpack://sakurairo-scripts/./src/page/AddComment.ts","webpack://sakurairo-scripts/./src/page/code_highlight.js","webpack://sakurairo-scripts/./src/page/bangumi.ts","webpack://sakurairo-scripts/./src/page/index.js","webpack://sakurairo-scripts/./node_modules/charenc/charenc.js","webpack://sakurairo-scripts/./node_modules/crypt/crypt.js","webpack://sakurairo-scripts/./node_modules/is-buffer/index.js","webpack://sakurairo-scripts/./node_modules/lightgallery/plugins|lazy|/^\\.\\/.*\\/lg\\-.*\\.es5\\.js$/|chunkName: lg-plugin-|groupOptions: {}|namespace object","webpack://sakurairo-scripts/./node_modules/md5/md5.js"],"sourcesContent":["\nconst motionEles = [\".bili\", \".menhera\", \".tieba\"];\nfunction motionSwitch(ele) {\n for (let i = 0; i < motionEles.length; i++) {\n document.querySelector(motionEles[i] + '-bar').classList.remove('on-hover');\n document.querySelector(motionEles[i] + '-container').style.display = 'none';\n }\n document.querySelector(ele + '-bar').classList.add(\"on-hover\");\n document.querySelector(ele + '-container').style.display = 'block';\n}\nfunction grin(tag, type, before, after) {\n let myField;\n switch (type) {\n case \"custom\": tag = before + tag + after; break;\n case \"Img\": tag = '[img]' + tag + '[/img]'; break;\n case \"Math\": tag = ' {{' + tag + '}} '; break;\n case \"tieba\": tag = ' ::' + tag + ':: '; break;\n default: tag = ' :' + tag + ': ';\n }\n if (document.getElementById('comment') && document.getElementById('comment').type == 'textarea') {\n myField = document.getElementById('comment');\n } else {\n return false;\n }\n if (document.selection) {\n myField.focus();\n sel = document.selection.createRange();\n sel.text = tag;\n myField.focus();\n } else if (myField.selectionStart || myField.selectionStart == '0') {\n let startPos = myField.selectionStart,\n endPos = myField.selectionEnd,\n cursorPos = endPos;\n myField.value = myField.value.substring(0, startPos) + tag + myField.value.substring(endPos, myField.value.length);\n cursorPos += tag.length;\n myField.focus();\n myField.selectionStart = cursorPos;\n myField.selectionEnd = cursorPos;\n } else {\n myField.value += tag;\n myField.focus();\n }\n}\nwindow.motionSwitch = motionSwitch\nwindow.grin = grin","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { __rest } from \"tslib\";\nimport { loadCSS } from 'fg-loadcss';\nimport { slideToggle } from '../common/util';\nfunction collapse() {\n //收缩、展开\n /* jQuery(document).ready(\n function(jQuery){\n jQuery('.collapseButton').click(function(){\n jQuery(this).parent().parent().find('.xContent').slideToggle('slow');\n });\n }) */\n const collapseButtons = document.getElementsByClassName('collapseButton');\n if (collapseButtons.length > 0) {\n const collapseListener = (e) => {\n slideToggle(e.target.parentNode.parentNode.parentNode.querySelector(\".xContent\"));\n // e.parentNode.parentNode.querySelector(\".xContent\")\n };\n for (const ele of collapseButtons) {\n ele.addEventListener(\"click\", collapseListener);\n }\n // import('jquery').then(({ default: jQuery }) => {\n // jQuery('.collapseButton').on(\"click\", function () {\n // jQuery(this).parent().parent().find('.xContent').slideToggle('slow');\n // })\n // })\n }\n}\nlet lightBoxCSS;\nasync function lightbox() {\n //init lightbox\n if (mashiro_option.baguetteBoxON) {\n if (!lightBoxCSS)\n lightBoxCSS = loadCSS('https://cdn.jsdelivr.net/npm/baguettebox.js@1.11.1/dist/baguetteBox.min.css');\n //@ts-ignore\n const { default: baguetteBox } = await import('baguettebox.js');\n baguetteBox.run('.entry-content', {\n captions: function (element) {\n return element.getElementsByTagName('img')[0].alt;\n },\n ignoreClass: 'fancybox',\n });\n }\n else if (mashiro_option.fancybox) {\n if (!lightBoxCSS)\n lightBoxCSS = loadCSS('https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.css');\n if (!((window.jQuery instanceof Function) || (window.$ instanceof Function))) {\n //@ts-ignore\n const jQuery = await import('jquery');\n window.jQuery = jQuery.default;\n window.$ = jQuery.default;\n }\n //@ts-ignore\n import('@fancyapps/fancybox');\n }\n else if (mashiro_option.lightGallery) {\n //@ts-ignore\n const { default: lightGallery } = await import('lightgallery/lib/index.js');\n const _a = mashiro_option.lightGallery, { plugins } = _a, opts = __rest(_a, [\"plugins\"]);\n loadCSS('https://cdn.jsdelivr.net/npm/lightgallery@2.3.0/css/lightgallery-bundle.min.css');\n lightGallery(document.querySelector('.entry-content'), Object.assign({ plugins: (await Promise.allSettled(plugins.map(moduleName => import(\n /* webpackChunkName: \"lg-plugin-\" */\n `lightgallery/plugins/${moduleName}/lg-${moduleName}.es5.js`)))).map(result => result.status == 'fulfilled' ? result.value.default : console.error('加载lightGallery的插件时出错啦!', result.reason)) }, opts));\n }\n}\nasync function math() {\n if (document.getElementsByTagName('math').length > 0) {\n if (!('MathJax' in window)) {\n //@ts-ignore\n window.MathJax = {\n svg: {\n fontCache: 'global'\n }, startup: {\n typeset: false, // Perform initial typeset?\n }, chtml: {\n fontURL: \"https://cdn.jsdelivr.net/npm/mathjax/es5/output/chtml/fonts/woff-v2\",\n mathmlSpacing: true // true for MathML spacing rules, false for TeX rules\n }\n };\n }\n //@ts-ignore\n await import('mathjax/es5/mml-chtml');\n //@ts-ignore\n window.MathJax.typeset();\n }\n}\nexport default function article_attach() {\n collapse();\n lightbox();\n math();\n}\n","import MD5 from 'md5';\n/**\n * Gravatar\n * from a6cd66c 11.third-part-functions.js\n */\nexport const get_gravatar = (email, size = 80) => 'https://' + Poi.gravatar_url + '/' + MD5(email) + '.jpg?s=' + size + '&d=mm';\n","import { buildAPI } from '../common/util'\nimport { get_gravatar } from './gravatar'\n\nexport default function getqqinfo() {\n let is_get_by_qq = false;\n const i_author = document.querySelector(\"input#author\"),\n i_qq = document.querySelector(\"input#qq\"),\n i_email = document.querySelector(\"input#email\"),\n i_url = document.querySelector(\"input#url\"),\n qq_check = document.querySelector(\".qq-check\"),\n gravatar_check = document.querySelector(\".gravatar-check\"),\n user_avatar_img = document.querySelector(\"div.comment-user-avatar img\");\n if (i_author == null) return;\n if (!localStorage.getItem('user_qq') && !localStorage.getItem('user_qq_email') && !localStorage.getItem('user_author')) {\n i_qq.value = i_author.value = i_email.value = i_url.value = \"\";\n }\n if (localStorage.getItem('user_avatar') && localStorage.getItem('user_qq') && localStorage.getItem('user_qq_email')) {\n user_avatar_img.setAttribute('src', localStorage.getItem('user_avatar'));\n i_author.value = localStorage.getItem('user_author');\n i_email.value = localStorage.getItem('user_qq') + '@qq.com';\n i_qq.value = localStorage.getItem('user_qq');\n if (mashiro_option.qzone_autocomplete) {\n i_url.value = 'https://user.qzone.qq.com/' + localStorage.getItem('user_qq');\n }\n if (i_qq.value) {\n qq_check.style.display = \"block\";\n gravatar_check.style.display = \"none\";\n }\n }\n let emailAddressFlag = i_email.value;\n //var emailAddressFlag = cached.filter('#email').val();\n i_author.addEventListener('blur', () => {\n // })\n //cached.filter('#author').on('blur', function () {\n const qq = i_author.value,\n reg_QQ = /^[1-9]\\d{4,9}$/;\n if (reg_QQ.test(qq)) {\n const whileFailed = () => {\n i_qq.value = '';\n qq_check.style.display = 'none';\n gravatar_check.style.display = 'block';\n user_avatar_img.setAttribute('src', get_gravatar(i_email.value, 80));\n localStorage.setItem('user_qq', '');\n localStorage.setItem('user_email', i_email.value);\n localStorage.setItem('user_avatar', get_gravatar(i_email.value, 80));\n /***/\n /* qq.value = email.value = url.value = \"\";\n if (!qq.value) {\n qq_check.style.display = 'none';\n gravatar_check.style.display = 'block';\n setCookie('user_qq', '', 30);\n user_avatar_img.setAttribute('src', get_gravatar(email.value, 80));\n setCookie('user_avatar', get_gravatar(email.value, 80), 30);\n } */\n }\n fetch(buildAPI(mashiro_option.qq_api_url, { qq: qq }))\n .then(async resp => {\n if (resp.ok) {\n //success\n try {\n const data = await resp.json()\n i_author.value = data.name;\n i_email.value = qq.trim() + '@qq.com';\n if (mashiro_option.qzone_autocomplete) {\n i_url.value = 'https://user.qzone.qq.com/' + qq.trim();\n }\n user_avatar_img.setAttribute('src', 'https://q2.qlogo.cn/headimg_dl?dst_uin=' + qq + '&spec=100');\n is_get_by_qq = true;\n i_qq.value = qq.trim();\n if (i_qq.value) {\n qq_check.style.display = 'block';\n gravatar_check.style.display = 'none';\n }\n localStorage.setItem('user_author', data.name);\n localStorage.setItem('user_qq', qq);\n localStorage.setItem('is_user_qq', 'yes');\n localStorage.setItem('user_qq_email', qq + '@qq.com');\n localStorage.setItem('user_email', qq + '@qq.com');\n emailAddressFlag = i_email.value;\n /***/\n user_avatar_img.setAttribute('src', data.avatar);\n localStorage.setItem('user_avatar', data.avatar);\n } catch (e) {\n console.warn(e)\n whileFailed()\n }\n } else {\n whileFailed()\n }\n })\n }\n });\n if (localStorage.getItem('user_avatar') && localStorage.getItem('user_email') && localStorage.getItem('is_user_qq') == 'no' && !localStorage.getItem('user_qq_email')) {\n user_avatar_img.setAttribute(\"src\", localStorage.getItem('user_avatar'));\n i_email.value = localStorage.getItem('user_mail');\n i_qq.value = '';\n if (!i_qq.value) {\n qq_check.style.display = \"none\";\n gravatar_check.style.display = \"block\";\n }\n // $('div.comment-user-avatar img').attr('src', getCookie('user_avatar'));\n // cached.filter('#email').val(getCookie('user_email'));\n // cached.filter('#qq').val('');\n // if (!cached.filter('#qq').val()) {\n // $('.qq-check').css('display', 'none');\n // $('.gravatar-check').css('display', 'block');\n // }\n }\n i_email.addEventListener(\"blur\", function () {\n //cached.filter('#email').on('blur', function () {\n let emailAddress = i_email.value;\n // var emailAddress = cached.filter('#email').val();\n if ((is_get_by_qq == false || emailAddressFlag != emailAddress) && emailAddress != '') {\n user_avatar_img.setAttribute(\"src\", get_gravatar(emailAddress, 80));\n //$('div.comment-user-avatar img').attr('src', get_gravatar(emailAddress, 80));\n localStorage.setItem('user_avatar', get_gravatar(emailAddress, 80));\n localStorage.setItem('user_email', emailAddress);\n localStorage.setItem('user_qq_email', '');\n localStorage.setItem('is_user_qq', 'no');\n i_qq.value = '';\n // cached.filter('#qq').val('');\n if (!i_qq.value) {\n qq_check.style.display = \"none\";\n gravatar_check.style.display = \"block\";\n // $('.qq-check').css('display', 'none');\n // $('.gravatar-check').css('display', 'block');\n }\n }\n });\n if (localStorage.getItem('user_url')) {\n i_url.value = localStorage.getItem(\"user_url\");\n // cached.filter('#url').val(getCookie('user_url'));\n }\n i_url.addEventListener(\"blur\", function () {\n //cached.filter('#url').on('blur', function () {\n let URL_Address = i_url.value;\n i_url.value = URL_Address;\n // var URL_Address = cached.filter('#url').val();\n // cached.filter('#url').val(URL_Address);\n localStorage.setItem('user_url', URL_Address);\n });\n if (localStorage.getItem('user_author')) {\n i_author.value = localStorage.getItem('user_author');\n // cached.filter('#author').val(getCookie('user_author'));\n }\n i_author.addEventListener(\"blur\", function () {\n // cached.filter('#author').on('blur', function () {\n let user_name = i_author.value;\n i_author.value = user_name;\n // var user_name = cached.filter('#author').val();\n // cached.filter('#author').val(user_name);\n localStorage.setItem('user_author', user_name);\n });\n}","const AddComment = {\n respondId: '',\n moveForm: function (commId, parentId, respondId) {\n const comm = document.getElementById(commId), respond = document.getElementById(respondId), cancel = document.getElementById('cancel-comment-reply-link'), parent = document.getElementById('comment_parent');\n //post = document.getElementById('comment_post_ID');\n this.respondId = respondId;\n if (!document.getElementById('wp-temp-form-div')) {\n const div = document.createElement('div');\n div.id = 'wp-temp-form-div';\n div.style.display = 'none';\n respond.parentNode.insertBefore(div, respond);\n }\n if (!comm) {\n const temp = document.getElementById('wp-temp-form-div');\n document.getElementById('comment_parent').value = '0';\n temp.parentNode.insertBefore(respond, temp);\n temp.remove();\n }\n else {\n comm.parentNode.insertBefore(respond, comm.nextSibling);\n }\n const _respond = document.getElementById(\"respond\");\n window.scrollTo({\n top: _respond.getBoundingClientRect().top + window.pageYOffset - _respond.clientTop - 100,\n behavior: \"smooth\"\n });\n parent.value = parentId;\n cancel.style.display = '';\n cancel.onclick = function (e) {\n var t = AddComment, temp = document.getElementById('wp-temp-form-div'), respond = document.getElementById(t.respondId);\n document.getElementById('comment_parent').value = '0';\n if (temp && respond) {\n temp.parentNode.insertBefore(respond, temp);\n temp.remove();\n //temp.parentNode.removeChild(temp);\n }\n this.style.display = 'none';\n this.onclick = null;\n return false;\n };\n try {\n document.getElementById('comment').focus();\n }\n catch (e) { }\n return false;\n },\n};\nexport default AddComment;\n","import { isInDarkMode } from '../sakura-app/darkmode'\nimport { loadCSS } from 'fg-loadcss'\nconst attributes = {\n 'autocomplete': 'off',\n 'autocorrect': 'off',\n 'autocapitalize': 'off',\n 'spellcheck': 'false',\n 'contenteditable': 'false',\n 'design': 'by Mashiro'\n}\nfunction gen_top_bar(pre, code_a) {\n if (!pre.children[0]) return\n let lang = 'text'\n const className = pre.children[0].className\n const matchResult = className.match(/language-(\\w+)/i)\n if (matchResult) {\n lang = matchResult[1]\n }\n pre.classList.add(\"highlight-wrap\");\n for (const t in attributes) {\n pre.setAttribute(t, attributes[t]);\n }\n code_a.setAttribute('data-rel', lang.toUpperCase());\n}\nasync function importHighlightjs() {\n try {\n if (!window.hljs) {\n window.hljs = (await import('highlight.js')).default\n await import('highlightjs-line-numbers.js')\n }\n } catch (e) {\n console.warn(e)\n }\n}\nconst hljs_click_callback = (e) => {\n const element = e.target\n if (!element.classList.contains(\"highlight-wrap\")) return;\n if (element.classList.contains('code-block-fullscreen')) {\n element.remove()\n } else {\n const cloneElement = element.cloneNode(true)\n cloneElement.classList.toggle(\"code-block-fullscreen\")\n document.body.append(cloneElement)\n }\n document.documentElement.classList.toggle('code-block-fullscreen-html-scroll');\n}\nexport function deattchHljsCallback() {\n document.body.removeEventListener(\"click\", hljs_click_callback)\n}\nexport async function hljs_process(pre, code) {\n try {\n await importHighlightjs()\n for (let i = 0; i < code.length; i++) {\n hljs.highlightElement(code[i]);\n }\n for (let i = 0; i < pre.length; i++) {\n gen_top_bar(pre[i], code[i]);\n }\n hljs.initLineNumbersOnLoad();\n document.body.addEventListener(\"click\", hljs_click_callback)\n } catch (e) {\n console.warn(e)\n }\n}\n//Prism\nconst PrismBaseUrl = mashiro_option.code_highlight_prism?.autoload_path ?? 'https://cdn.jsdelivr.net/npm/prismjs@1.23.0/'\nlet currentPrismThemeCSS = undefined\nconst themeCSS = (() => {\n const { light, dark } = mashiro_option.code_highlight_prism?.theme ?? {}\n const theme = {\n light: light ?? 'themes/prism.min.css',\n dark: dark ?? 'themes/prism-tomorrow.min.css',\n }\n for (const theme_name in theme) {\n theme[theme_name] = new URL(theme[theme_name], PrismBaseUrl).toString()\n }\n return theme\n})()\n\nfunction loadPrismCSS(darkmodeOn) {\n const nextCSS = darkmodeOn ? themeCSS.dark : themeCSS.light\n if (currentPrismThemeCSS) {\n if (currentPrismThemeCSS.href !== nextCSS) {\n const nextCSSElement = loadCSS(nextCSS)\n nextCSSElement.addEventListener('load', () => {\n currentPrismThemeCSS.remove()\n currentPrismThemeCSS = nextCSSElement\n })\n }\n } else {\n currentPrismThemeCSS = loadCSS(nextCSS)\n }\n}\n\nconst prism_darkmode_callback = (e) => {\n loadPrismCSS(e.detail)\n}\nexport const deattachPrismCallback = () => document.removeEventListener('darkmode', prism_darkmode_callback)\nasync function importPrismJS() {\n try {\n if (!window.Prism) {\n loadPrismCSS(isInDarkMode())\n document.addEventListener('darkmode', prism_darkmode_callback)\n //必备插件全家桶\n loadCSS(new URL('plugins/toolbar/prism-toolbar.min.css', PrismBaseUrl).toString())\n loadCSS(new URL('plugins/previewers/prism-previewers.min.css', PrismBaseUrl).toString())\n await import('./prism_pack')\n Prism.plugins.autoloader.languages_path = new URL('components/', PrismBaseUrl).toString()\n }\n } catch (reason) {\n console.warn(reason)\n }\n}\nfunction loadPrismPluginLineNumbers() {\n loadCSS(new URL('plugins/line-numbers/prism-line-numbers.min.css', PrismBaseUrl).toString())\n return import('prismjs/plugins/line-numbers/prism-line-numbers')\n}\nfunction loadPrismMatchBraces() {\n loadCSS(new URL('plugins/match-braces/prism-match-braces.min.css', PrismBaseUrl).toString())\n return import('prismjs/plugins/match-braces/prism-match-braces')\n}\n/**\n * \n * @param {NodeListOf} code document.querySelectorAll(\"pre code\")\n */\nexport async function prism_process(code) {\n try {\n await importPrismJS()\n let loadLineNumber = false\n let loadMatchBraces = false\n if (mashiro_option.code_highlight_prism.line_number_all) {\n document.querySelector('.entry-content').classList.add('line-numbers')\n loadLineNumber = true\n }\n for (const ele of code) {\n if (ele.parentElement.classList.contains('line-numbers')) {\n loadLineNumber = true\n }\n if (ele.classList.contains('match-braces')) {\n loadMatchBraces = true\n if (loadLineNumber == true) {\n break\n }\n }\n }\n await Promise.all([loadLineNumber && loadPrismPluginLineNumbers(), loadMatchBraces && loadPrismMatchBraces()])\n for (const ele of code) {\n Prism.highlightElement(ele)\n }\n Prism.plugins.fileHighlight && Prism.plugins.fileHighlight.highlight()\n } catch (error) {\n console.warn(error)\n }\n}","import { createButterbar } from \"../common/butterbar\";\nimport { lazyload } from 'lazyload';\nconst bgmlistener = (e) => {\n const target = e.target;\n if (target === document.querySelector(\"#bangumi-pagination a\")) {\n e.preventDefault();\n e.stopPropagation();\n if (target.classList.contains(\"loading\"))\n return;\n target.classList.add(\"loading\");\n target.textContent = \"\";\n fetch(target.dataset.href + \"&_wpnonce=\" + Poi.nonce, {\n method: \"POST\"\n })\n .then(async (res) => {\n const data = await res.json();\n if (res.ok) {\n document.getElementById(\"bangumi-pagination\").remove();\n document.querySelector(\".row\").insertAdjacentHTML('beforeend', data);\n //@ts-ignore\n lazyload();\n }\n else {\n throw Error(`Error,Status:${res.status}`);\n }\n })\n .catch(e => {\n console.error(e);\n createButterbar(e);\n target.classList.remove(\"loading\");\n target.innerHTML = ' ERROR ';\n });\n }\n};\nexport default function load_bangumi() {\n const sections = document.getElementsByTagName(\"section\");\n let _flag = false;\n for (let i = 0; i < sections.length; i++) {\n if (sections[i].classList.contains(\"bangumi\")) {\n _flag = true;\n break;\n }\n }\n if (_flag) {\n document.addEventListener('click', bgmlistener);\n }\n}\n","import article_attach from './article_attach'\nimport { min, ready, slideToggle } from '../common/util'\nimport { lazyload } from 'lazyload'\nimport { createButterbar } from '../common/butterbar'\nimport './global-func'\nimport getqqinfo from './getqqinfo'\nimport addComment from './AddComment'\nimport { hljs_process, prism_process, deattachPrismCallback, deattchHljsCallback } from './code_highlight'\nimport { _$, __ } from '../sakura-app/sakurairo_global'\nimport load_bangumi from './bangumi'\nasync function code_highlight_style() {\n const pre = document.getElementsByTagName(\"pre\"),\n code = document.querySelectorAll(\"pre code\");\n if (!pre.length) {\n switch (mashiro_option.code_highlight) {\n case 'hljs':\n deattchHljsCallback()\n return\n case 'prism':\n deattachPrismCallback()\n return\n default:\n }\n }\n switch (mashiro_option.code_highlight) {\n case 'hljs':\n await hljs_process(pre, code)\n break\n case 'prism':\n await prism_process(code)\n break\n case 'custom': return\n default:\n console.warn(`mashiro_option.code_highlight这咋填的是个${mashiro_option.code_highlight}啊🤔`)\n }\n //copy_code_block\n if (code.length > 0) {\n for (let j = 0; j < code.length; j++) {\n code[j].setAttribute('id', 'code-block-' + j);\n code[j].insertAdjacentHTML('afterend', '');\n };\n const { default: ClipboardJS } = await import('clipboard')\n new ClipboardJS('.copy-code');\n }\n}\nfunction click_to_view_image() {\n const comment_inline = document.getElementsByClassName('comment_inline_img');\n if (!comment_inline.length) return;\n document.getElementsByClassName(\"comments-main\")[0].addEventListener(\"click\", function (e) {\n if (e.target.classList.contains(\"comment_inline_img\")) {\n window.open(e.target.src);\n }\n })\n}\nfunction clean_upload_images() {\n document.getElementById(\"upload-img-show\").innerHTML = '';\n}\nfunction original_emoji_click() {\n const emoji = document.getElementsByClassName('emoji-item');\n if (!emoji.length) return;\n document.querySelector(\".menhera-container\").addEventListener(\"click\", function (e) {\n if (e.target.classList.contains(\"emoji-item\")) {\n grin(e.target.innerText, \"custom\", \"`\", \"` \");\n }\n })\n}\nfunction XCS() {\n const __list = 'commentwrap';\n const form = document.getElementById(\"commentform\")\n if (form) {\n let statusSubmitting = false\n form.addEventListener('submit', function (event) {\n event.stopPropagation()\n event.preventDefault();\n if (statusSubmitting) return\n const butterBarRef = createButterbar(__(\"提交中....\"), true)\n const form = new FormData(this)\n form.append('action', 'ajax_comment')\n statusSubmitting = true\n fetch(Poi.ajaxurl, {\n method: this.attributes.method.value,\n body: form\n }).then(async resp => {\n const data = await resp.text()\n if (resp.ok) {\n Array.from(document.getElementsByTagName('textarea'))\n .forEach((e) => e.value = '')\n const cancel = document.getElementById('cancel-comment-reply-link'),\n temp = document.getElementById('wp-temp-form-div'),\n respond = document.getElementById(addComment.respondId),\n //post = document.getElementById('comment_post_ID').value,\n parent = document.getElementById('comment_parent').value;\n if (parent != '0') {\n //jQuery('#respond').before('' + data + '
');\n document.getElementById(\"respond\").insertAdjacentHTML('beforebegin', '' + data + '
');\n } else if (!document.getElementsByClassName(__list).length) {\n if (Poi.formpostion == 'bottom') {\n document.getElementById(\"respond\").insertAdjacentHTML('beforebegin', '' + data + '
');\n //jQuery('#respond').before('' + data + '
');\n } else {\n document.getElementById(\"respond\").insertAdjacentHTML('afterend', '' + data + '
');\n //jQuery('#respond').after('' + data + '
');\n }\n } else {\n if (Poi.order == 'asc') {\n document.getElementsByClassName(\"commentwrap\")[1].insertAdjacentHTML('beforeend', data);\n //jQuery('.' + __list).append(data);\n } else {\n document.getElementsByClassName(\"commentwrap\")[1].insertAdjacentHTML('afterbegin', data);\n //jQuery('.' + __list).prepend(data);\n }\n }\n createButterbar(__(\"提交成功\"));\n document.dispatchEvent(new CustomEvent('ajax_comment_complete',))\n cancel.style.display = 'none';\n cancel.onclick = null;\n document.getElementById('comment_parent').value = '0';\n if (temp && respond) {\n temp.parentNode.insertBefore(respond, temp);\n temp.remove();\n //temp.parentNode.removeChild(temp)\n }\n } else {\n createButterbar(data ?? 'HTTP' + resp.status + ':' + resp.statusText);\n }\n }).catch(reason => {\n createButterbar(reason);\n }).finally(() => {\n butterBarRef.remove()\n statusSubmitting = false\n })\n /* jQuery.ajax({\n url: Poi.ajaxurl,\n data: jQuery(this).serialize() + \"&action=ajax_comment\",\n type: jQuery(this).attr('method'),\n beforeSend: createButterbar(\"提交中(Commiting)....\"),\n error: function (request) {\n var t = addComment;\n t.createButterbar(request.responseText);\n },\n success: function (data) {\n jQuery('textarea').each(function () {\n this.value = ''\n });\n var t = addComment,\n cancel = t.I('cancel-comment-reply-link'),\n temp = t.I('wp-temp-form-div'),\n respond = t.I(t.respondId),\n post = t.I('comment_post_ID').value,\n parent = t.I('comment_parent').value;\n if (parent != '0') {\n jQuery('#respond').before('' + data + '
');\n } else if (!jQuery('.' + __list).length) {\n if (Poi.formpostion == 'bottom') {\n jQuery('#respond').before('' + data + '
');\n } else {\n jQuery('#respond').after('' + data + '
');\n }\n } else {\n if (Poi.order == 'asc') {\n jQuery('.' + __list).append(data);\n } else {\n jQuery('.' + __list).prepend(data);\n }\n }\n t.createButterbar(\"提交成功(Succeed)\");\n lazyload();\n code_highlight_style();\n click_to_view_image();\n clean_upload_images();\n cancel.style.display = 'none';\n cancel.onclick = null;\n t.I('comment_parent').value = '0';\n if (temp && respond) {\n temp.parentNode.insertBefore(respond, temp);\n temp.remove();\n //temp.parentNode.removeChild(temp)\n }\n }\n }); */\n })\n }\n}\n\nfunction XCP() {\n document.body.addEventListener('click', function (e) {\n if (e.target.parentNode == document.getElementById(\"comments-navi\") && e.target.nodeName.toLowerCase() == \"a\") {\n e.preventDefault();\n e.stopPropagation();\n let _this = e.target,\n path = _this.pathname,\n _xhr = new XMLHttpRequest();\n _xhr.open(\"GET\", _this.getAttribute('href'), true);\n _xhr.responseType = \"document\";\n _xhr.onloadstart = () => {\n let comments_navi = document.getElementById(\"comments-navi\"),\n commentwrap = document.querySelector(\"ul.commentwrap\"),\n loading_comments = document.getElementById(\"loading-comments\"),\n comments_list = document.getElementById(\"comments-list-title\");\n comments_navi.remove();\n commentwrap.remove();\n //comments_navi.parentNode.removeChild(comments_navi);\n //commentwrap.parentNode.removeChild(commentwrap);\n loading_comments.style.display = \"block\";\n slideToggle(loading_comments, 500, \"show\");\n window.scrollTo({\n top: comments_list.getBoundingClientRect().top + window.pageYOffset - comments_list.clientTop - 65,\n behavior: \"smooth\"\n });\n }\n _xhr.onreadystatechange = function () {\n if (_xhr.readyState == 4 && _xhr.status == 200) {\n let json = _xhr.response,\n result = json.querySelector(\"ul.commentwrap\"),\n nextlink = json.getElementById(\"comments-navi\"),\n loading_comments = document.getElementById(\"loading-comments\");\n slideToggle(loading_comments, 200, \"hide\");\n document.getElementById(\"loading-comments\").insertAdjacentHTML('afterend', result.outerHTML);\n document.querySelector(\"ul.commentwrap\").insertAdjacentHTML('afterend', nextlink.outerHTML);\n lazyload();\n if (window.gtag) {\n gtag('config', Poi.google_analytics_id, {\n 'page_path': path\n });\n }\n code_highlight_style();\n click_to_view_image();\n let commentwrap = document.querySelector(\"ul.commentwrap\");\n window.scrollTo({\n top: commentwrap && (commentwrap.getBoundingClientRect().top + window.pageYOffset - commentwrap.clientTop - 200),\n behavior: \"smooth\"\n });\n }\n }\n _xhr.send();\n }\n });\n}\nfunction sm() {\n let sm = document.getElementsByClassName('sm'),\n cm = document.querySelector(\".comments-main\");\n if (!sm.length) return;\n if (cm) {\n if (Poi.reply_link_version == 'new') {\n cm.addEventListener(\"click\", function (e) {\n if (e.target.classList.contains(\"comment-reply-link\")) {\n e.preventDefault();\n e.stopPropagation();\n let data_commentid = e.target.getAttribute(\"data-commentid\");\n addComment.moveForm(\"comment-\" + data_commentid, data_commentid, \"respond\", this.getAttribute(\"data-postid\"));\n }\n })\n }\n cm.addEventListener(\"click\", (e) => {\n let list = e.target.parentNode;\n if (list.classList.contains(\"sm\")) {\n let msg = __(\"您真的要设为私密吗?\");\n if (confirm(msg) == true) {\n if (list.classList.contains('private_now')) {\n alert(__('您之前已设过私密评论'));\n return false;\n } else {\n list.classList.add('private_now');\n let idp = list.getAttribute(\"data-idp\"),\n actionp = list.getAttribute(\"data-actionp\"),\n rateHolderp = list.getElementsByClassName('has_set_private')[0];\n let ajax_data = \"action=siren_private&p_id=\" + idp + \"&p_action=\" + actionp;\n let request = new XMLHttpRequest();\n request.onreadystatechange = function () {\n if (this.readyState == 4 && this.status == 200) {\n rateHolderp.innerHTML = request.responseText;\n }\n };\n request.open('POST', '/wp-admin/admin-ajax.php', true);\n request.setRequestHeader(\"Content-type\", \"application/x-www-form-urlencoded\");\n request.send(ajax_data);\n return false;\n }\n }\n }\n })\n }\n\n}\nfunction resizeTOC() {\n const toc_container = document.querySelector(\".toc-container\"),\n sc = document.querySelector(\".site-content\")\n if (toc_container && sc) {\n const resize = () => {\n toc_container.style.height = min(sc.getBoundingClientRect()[\"height\"], document.documentElement.offsetHeight - toc_container.offsetTop) + \"px\";\n }\n resize()\n //TODO:性能\n window.addEventListener('resize', resize, { passive: true })\n }\n}\nfunction tableOfContentScroll(flag) {\n if (document.body.clientWidth <= 1200) {\n return;\n } else if (!document.querySelector(\"div.have-toc\") && !document.querySelector(\"div.has-toc\")) {\n let ele = document.getElementsByClassName(\"toc-container\")[0];\n if (ele) {\n ele.remove();\n ele = null;\n }\n } else {\n if (flag && document.getElementsByClassName('toc').length > 0) {\n let id = 1,\n heading_fix = mashiro_option.entry_content_theme == \"sakura\" ? (document.querySelector(\"article.type-post\") ? (document.querySelector(\"div.pattern-attachment-img\") ? -75 : 200) : 375) : window.innerHeight / 2;\n let _els = document.querySelectorAll('.entry-content,.links');\n for (let i = 0; i < _els.length; i++) {\n let _el = _els[i].querySelectorAll('h1,h2,h3,h4,h5');\n for (let j = 0; j < _el.length; j++) {\n _el[j].id = \"toc-head-\" + id;\n id++;\n }\n }\n import('tocbot').then(({ default: tocbot }) => {\n tocbot.init({\n tocSelector: '.toc',\n contentSelector: ['.entry-content', '.links'],\n headingSelector: 'h1, h2, h3, h4, h5',\n headingsOffset: heading_fix - window.innerHeight / 2,\n });\n })\n }\n }\n}\n/**\n * 上传图片提示\n */\nfunction attach_image() {\n let cached = document.getElementsByClassName(\"insert-image-tips\")[0],\n upload_img = document.getElementById('upload-img-file');\n if (!upload_img) return;\n upload_img.addEventListener(\"change\", (function () {\n if (this.files.length > 10) {\n createButterbar(__(\"每次上传上限为10张\"));\n return 0;\n }\n for (let i = 0; i < this.files.length; i++) {\n if (this.files[i].size >= 5242880) {\n alert(_$('图片上传大小限制为5 MB\\n\\n「{0}」\\n\\n这张图太大啦~请重新上传噢!', this.files[i].name));\n return;\n }\n }\n for (let i = 0; i < this.files.length; i++) {\n let f = this.files[i],\n formData = new FormData(),\n xhr = new XMLHttpRequest();\n formData.append('cmt_img_file', f);\n xhr.addEventListener('loadstart', function () {\n cached.innerHTML = '';\n createButterbar(__(\"上传中...\"));\n });\n xhr.open(\"POST\", buildAPI(Poi.api + 'sakura/v1/image/upload'), true);\n xhr.send(formData);\n xhr.onreadystatechange = function () {\n if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 304)) {\n cached.innerHTML = '';\n setTimeout(function () {\n cached.innerHTML = '';\n }, 1000);\n let res = JSON.parse(xhr.responseText);\n if (res.status == 200) {\n let get_the_url = res.proxy;\n document.getElementById(\"upload-img-show\").insertAdjacentHTML('afterend', '');\n lazyload();\n createButterbar(__(\"图片上传成功~\"));\n grin(get_the_url, type = 'Img');\n } else {\n createButterbar(_$('上传失败!\\n文件名: {0}\\ncode: {1}\\n{2}', f.name, res.status, res.message), 3000)\n }\n } else if (xhr.readyState == 4) {\n cached.innerHTML = '';\n alert(__(\"上传失败,请重试.\"));\n setTimeout(function () {\n cached.innerHTML = '';\n }, 1000);\n }\n }\n };\n }));\n}\nfunction smileBoxToggle() {\n let et = document.getElementById(\"emotion-toggle\");\n et && et.addEventListener('click', function () {\n document.querySelector('.emotion-toggle-off').classList.toggle(\"emotion-hide\");\n document.querySelector('.emotion-toggle-on').classList.toggle(\"emotion-show\");\n document.querySelector('.emotion-box').classList.toggle(\"emotion-box-show\");\n })\n}\n/**\n * 添加上传图片的提示\n */\nfunction add_upload_tips() {\n const form_submit = document.querySelector('.form-submit #submit');\n if (form_submit == null) return;\n if (!mashiro_option.comment_upload_img) {\n form_submit.style.width = '100%'\n return\n }\n form_submit.insertAdjacentHTML('afterend', '
');\n attach_image();\n\n const file_submit = document.getElementById('upload-img-file'),\n hover = document.getElementsByClassName('insert-image-tips')[0],\n Tip = document.getElementById('uploadTipPopup');\n if (!file_submit) return;\n file_submit.addEventListener(\"mouseenter\", function () {\n hover.classList.toggle('insert-image-tips-hover');\n Tip.classList.toggle('show');\n });\n file_submit.addEventListener(\"mouseleave\", function () {\n hover.classList.toggle('insert-image-tips-hover');\n Tip.classList.toggle('show');\n });\n}\nfunction addComtListener() {\n document.querySelectorAll(\".comt-addsmilies\").forEach((e) => {\n e.addEventListener(\"click\", () => {\n if (e.stlye.display == \"block\") {\n e.style.display = \"none\";\n } else {\n e.style.display = \"block\";\n }\n })\n })\n document.querySelectorAll(\".comt-smilies a\").forEach((e) => {\n e.addEventListener(\"click\", () => {\n e.parentNode.style.display = \"none\";\n })\n })\n}\nfunction afterAjaxCommentComplete() {\n lazyload();\n code_highlight_style();\n click_to_view_image();\n clean_upload_images();\n}\n\n// #region LifeCycle\nfunction whilePopstate() {\n article_attach()\n sm()\n}\nfunction whileReady() {\n article_attach()\n XCS()\n XCP()\n getqqinfo()\n add_upload_tips()\n resizeTOC()\n}\nfunction whilePjaxComplete() {\n try {\n add_upload_tips()\n article_attach()\n load_bangumi();\n tableOfContentScroll(true);\n click_to_view_image()\n getqqinfo()\n sm()\n original_emoji_click()\n code_highlight_style()\n smileBoxToggle()\n XCS()\n resizeTOC()\n } catch (e) {\n console.warn(e)\n }\n}\nfunction whileLoaded() {\n window.addEventListener('popstate', whilePopstate)\n click_to_view_image()\n code_highlight_style()\n load_bangumi();\n sm()\n original_emoji_click()\n smileBoxToggle()\n tableOfContentScroll(true);\n addComtListener()\n document.addEventListener('ajax_comment_complete', afterAjaxCommentComplete)\n}\nwhileLoaded()\ndocument.addEventListener('pjax:complete', whilePjaxComplete)\nready(whileReady)\n//#endregion","var charenc = {\n // UTF-8 encoding\n utf8: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));\n }\n },\n\n // Binary encoding\n bin: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n for (var bytes = [], i = 0; i < str.length; i++)\n bytes.push(str.charCodeAt(i) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n for (var str = [], i = 0; i < bytes.length; i++)\n str.push(String.fromCharCode(bytes[i]));\n return str.join('');\n }\n }\n};\n\nmodule.exports = charenc;\n","(function() {\n var base64map\n = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n\n crypt = {\n // Bit-wise rotation left\n rotl: function(n, b) {\n return (n << b) | (n >>> (32 - b));\n },\n\n // Bit-wise rotation right\n rotr: function(n, b) {\n return (n << (32 - b)) | (n >>> b);\n },\n\n // Swap big-endian to little-endian and vice versa\n endian: function(n) {\n // If number given, swap endian\n if (n.constructor == Number) {\n return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;\n }\n\n // Else, assume array and swap all items\n for (var i = 0; i < n.length; i++)\n n[i] = crypt.endian(n[i]);\n return n;\n },\n\n // Generate an array of any length of random bytes\n randomBytes: function(n) {\n for (var bytes = []; n > 0; n--)\n bytes.push(Math.floor(Math.random() * 256));\n return bytes;\n },\n\n // Convert a byte array to big-endian 32-bit words\n bytesToWords: function(bytes) {\n for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n words[b >>> 5] |= bytes[i] << (24 - b % 32);\n return words;\n },\n\n // Convert big-endian 32-bit words to a byte array\n wordsToBytes: function(words) {\n for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a hex string\n bytesToHex: function(bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xF).toString(16));\n }\n return hex.join('');\n },\n\n // Convert a hex string to a byte array\n hexToBytes: function(hex) {\n for (var bytes = [], c = 0; c < hex.length; c += 2)\n bytes.push(parseInt(hex.substr(c, 2), 16));\n return bytes;\n },\n\n // Convert a byte array to a base-64 string\n bytesToBase64: function(bytes) {\n for (var base64 = [], i = 0; i < bytes.length; i += 3) {\n var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n for (var j = 0; j < 4; j++)\n if (i * 8 + j * 6 <= bytes.length * 8)\n base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));\n else\n base64.push('=');\n }\n return base64.join('');\n },\n\n // Convert a base-64 string to a byte array\n base64ToBytes: function(base64) {\n // Remove non-base-64 characters\n base64 = base64.replace(/[^A-Z0-9+\\/]/ig, '');\n\n for (var bytes = [], i = 0, imod4 = 0; i < base64.length;\n imod4 = ++i % 4) {\n if (imod4 == 0) continue;\n bytes.push(((base64map.indexOf(base64.charAt(i - 1))\n & (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2))\n | (base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));\n }\n return bytes;\n }\n };\n\n module.exports = crypt;\n})();\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n","var map = {\n\t\"./autoplay/lg-autoplay.es5.js\": [\n\t\t8509,\n\t\t8\n\t],\n\t\"./comment/lg-comment.es5.js\": [\n\t\t8080,\n\t\t238\n\t],\n\t\"./fullscreen/lg-fullscreen.es5.js\": [\n\t\t2508,\n\t\t846\n\t],\n\t\"./hash/lg-hash.es5.js\": [\n\t\t1185,\n\t\t649\n\t],\n\t\"./mediumZoom/lg-medium-zoom.es5.js\": [\n\t\t7180,\n\t\t400\n\t],\n\t\"./pager/lg-pager.es5.js\": [\n\t\t6220,\n\t\t359\n\t],\n\t\"./relativeCaption/lg-relative-caption.es5.js\": [\n\t\t823,\n\t\t515\n\t],\n\t\"./rotate/lg-rotate.es5.js\": [\n\t\t4671,\n\t\t893\n\t],\n\t\"./share/lg-share.es5.js\": [\n\t\t627,\n\t\t642\n\t],\n\t\"./thumbnail/lg-thumbnail.es5.js\": [\n\t\t1997,\n\t\t725\n\t],\n\t\"./video/lg-video.es5.js\": [\n\t\t2523,\n\t\t568\n\t],\n\t\"./zoom/lg-zoom.es5.js\": [\n\t\t2869,\n\t\t719\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function() { return Object.keys(map); };\nwebpackAsyncContext.id = 8508;\nmodule.exports = webpackAsyncContext;","(function(){\r\n var crypt = require('crypt'),\r\n utf8 = require('charenc').utf8,\r\n isBuffer = require('is-buffer'),\r\n bin = require('charenc').bin,\r\n\r\n // The core\r\n md5 = function (message, options) {\r\n // Convert to byte array\r\n if (message.constructor == String)\r\n if (options && options.encoding === 'binary')\r\n message = bin.stringToBytes(message);\r\n else\r\n message = utf8.stringToBytes(message);\r\n else if (isBuffer(message))\r\n message = Array.prototype.slice.call(message, 0);\r\n else if (!Array.isArray(message) && message.constructor !== Uint8Array)\r\n message = message.toString();\r\n // else, assume byte array already\r\n\r\n var m = crypt.bytesToWords(message),\r\n l = message.length * 8,\r\n a = 1732584193,\r\n b = -271733879,\r\n c = -1732584194,\r\n d = 271733878;\r\n\r\n // Swap endian\r\n for (var i = 0; i < m.length; i++) {\r\n m[i] = ((m[i] << 8) | (m[i] >>> 24)) & 0x00FF00FF |\r\n ((m[i] << 24) | (m[i] >>> 8)) & 0xFF00FF00;\r\n }\r\n\r\n // Padding\r\n m[l >>> 5] |= 0x80 << (l % 32);\r\n m[(((l + 64) >>> 9) << 4) + 14] = l;\r\n\r\n // Method shortcuts\r\n var FF = md5._ff,\r\n GG = md5._gg,\r\n HH = md5._hh,\r\n II = md5._ii;\r\n\r\n for (var i = 0; i < m.length; i += 16) {\r\n\r\n var aa = a,\r\n bb = b,\r\n cc = c,\r\n dd = d;\r\n\r\n a = FF(a, b, c, d, m[i+ 0], 7, -680876936);\r\n d = FF(d, a, b, c, m[i+ 1], 12, -389564586);\r\n c = FF(c, d, a, b, m[i+ 2], 17, 606105819);\r\n b = FF(b, c, d, a, m[i+ 3], 22, -1044525330);\r\n a = FF(a, b, c, d, m[i+ 4], 7, -176418897);\r\n d = FF(d, a, b, c, m[i+ 5], 12, 1200080426);\r\n c = FF(c, d, a, b, m[i+ 6], 17, -1473231341);\r\n b = FF(b, c, d, a, m[i+ 7], 22, -45705983);\r\n a = FF(a, b, c, d, m[i+ 8], 7, 1770035416);\r\n d = FF(d, a, b, c, m[i+ 9], 12, -1958414417);\r\n c = FF(c, d, a, b, m[i+10], 17, -42063);\r\n b = FF(b, c, d, a, m[i+11], 22, -1990404162);\r\n a = FF(a, b, c, d, m[i+12], 7, 1804603682);\r\n d = FF(d, a, b, c, m[i+13], 12, -40341101);\r\n c = FF(c, d, a, b, m[i+14], 17, -1502002290);\r\n b = FF(b, c, d, a, m[i+15], 22, 1236535329);\r\n\r\n a = GG(a, b, c, d, m[i+ 1], 5, -165796510);\r\n d = GG(d, a, b, c, m[i+ 6], 9, -1069501632);\r\n c = GG(c, d, a, b, m[i+11], 14, 643717713);\r\n b = GG(b, c, d, a, m[i+ 0], 20, -373897302);\r\n a = GG(a, b, c, d, m[i+ 5], 5, -701558691);\r\n d = GG(d, a, b, c, m[i+10], 9, 38016083);\r\n c = GG(c, d, a, b, m[i+15], 14, -660478335);\r\n b = GG(b, c, d, a, m[i+ 4], 20, -405537848);\r\n a = GG(a, b, c, d, m[i+ 9], 5, 568446438);\r\n d = GG(d, a, b, c, m[i+14], 9, -1019803690);\r\n c = GG(c, d, a, b, m[i+ 3], 14, -187363961);\r\n b = GG(b, c, d, a, m[i+ 8], 20, 1163531501);\r\n a = GG(a, b, c, d, m[i+13], 5, -1444681467);\r\n d = GG(d, a, b, c, m[i+ 2], 9, -51403784);\r\n c = GG(c, d, a, b, m[i+ 7], 14, 1735328473);\r\n b = GG(b, c, d, a, m[i+12], 20, -1926607734);\r\n\r\n a = HH(a, b, c, d, m[i+ 5], 4, -378558);\r\n d = HH(d, a, b, c, m[i+ 8], 11, -2022574463);\r\n c = HH(c, d, a, b, m[i+11], 16, 1839030562);\r\n b = HH(b, c, d, a, m[i+14], 23, -35309556);\r\n a = HH(a, b, c, d, m[i+ 1], 4, -1530992060);\r\n d = HH(d, a, b, c, m[i+ 4], 11, 1272893353);\r\n c = HH(c, d, a, b, m[i+ 7], 16, -155497632);\r\n b = HH(b, c, d, a, m[i+10], 23, -1094730640);\r\n a = HH(a, b, c, d, m[i+13], 4, 681279174);\r\n d = HH(d, a, b, c, m[i+ 0], 11, -358537222);\r\n c = HH(c, d, a, b, m[i+ 3], 16, -722521979);\r\n b = HH(b, c, d, a, m[i+ 6], 23, 76029189);\r\n a = HH(a, b, c, d, m[i+ 9], 4, -640364487);\r\n d = HH(d, a, b, c, m[i+12], 11, -421815835);\r\n c = HH(c, d, a, b, m[i+15], 16, 530742520);\r\n b = HH(b, c, d, a, m[i+ 2], 23, -995338651);\r\n\r\n a = II(a, b, c, d, m[i+ 0], 6, -198630844);\r\n d = II(d, a, b, c, m[i+ 7], 10, 1126891415);\r\n c = II(c, d, a, b, m[i+14], 15, -1416354905);\r\n b = II(b, c, d, a, m[i+ 5], 21, -57434055);\r\n a = II(a, b, c, d, m[i+12], 6, 1700485571);\r\n d = II(d, a, b, c, m[i+ 3], 10, -1894986606);\r\n c = II(c, d, a, b, m[i+10], 15, -1051523);\r\n b = II(b, c, d, a, m[i+ 1], 21, -2054922799);\r\n a = II(a, b, c, d, m[i+ 8], 6, 1873313359);\r\n d = II(d, a, b, c, m[i+15], 10, -30611744);\r\n c = II(c, d, a, b, m[i+ 6], 15, -1560198380);\r\n b = II(b, c, d, a, m[i+13], 21, 1309151649);\r\n a = II(a, b, c, d, m[i+ 4], 6, -145523070);\r\n d = II(d, a, b, c, m[i+11], 10, -1120210379);\r\n c = II(c, d, a, b, m[i+ 2], 15, 718787259);\r\n b = II(b, c, d, a, m[i+ 9], 21, -343485551);\r\n\r\n a = (a + aa) >>> 0;\r\n b = (b + bb) >>> 0;\r\n c = (c + cc) >>> 0;\r\n d = (d + dd) >>> 0;\r\n }\r\n\r\n return crypt.endian([a, b, c, d]);\r\n };\r\n\r\n // Auxiliary functions\r\n md5._ff = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & c | ~b & d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._gg = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & d | c & ~d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._hh = function (a, b, c, d, x, s, t) {\r\n var n = a + (b ^ c ^ d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._ii = function (a, b, c, d, x, s, t) {\r\n var n = a + (c ^ (b | ~d)) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n\r\n // Package private blocksize\r\n md5._blocksize = 16;\r\n md5._digestsize = 16;\r\n\r\n module.exports = function (message, options) {\r\n if (message === undefined || message === null)\r\n throw new Error('Illegal argument ' + message);\r\n\r\n var digestbytes = crypt.wordsToBytes(md5(message, options));\r\n return options && options.asBytes ? digestbytes :\r\n options && options.asString ? bin.bytesToString(digestbytes) :\r\n crypt.bytesToHex(digestbytes);\r\n };\r\n\r\n})();\r\n"],"names":["motionEles","window","motionSwitch","ele","i","length","document","querySelector","classList","remove","style","display","add","grin","tag","type","before","after","myField","getElementById","selection","focus","sel","createRange","text","selectionStart","startPos","endPos","selectionEnd","cursorPos","value","substring","Object","create","lightBoxCSS","async","lightbox","mashiro_option","baguetteBoxON","loadCSS","default","baguetteBox","run","captions","element","getElementsByTagName","alt","ignoreClass","fancybox","jQuery","Function","$","lightGallery","_a","plugins","opts","s","e","t","p","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__rest","assign","Promise","allSettled","map","moduleName","result","status","console","error","reason","article_attach","collapseButtons","getElementsByClassName","collapseListener","target","parentNode","addEventListener","collapse","MathJax","svg","fontCache","startup","typeset","chtml","fontURL","mathmlSpacing","math","get_gravatar","email","size","Poi","gravatar_url","getqqinfo","is_get_by_qq","i_author","i_qq","i_email","i_url","qq_check","gravatar_check","user_avatar_img","localStorage","getItem","setAttribute","qzone_autocomplete","emailAddressFlag","qq","test","whileFailed","setItem","fetch","buildAPI","qq_api_url","then","resp","ok","data","json","name","trim","avatar","warn","emailAddress","URL_Address","user_name","AddComment","respondId","moveForm","commId","parentId","comm","respond","cancel","parent","this","div","createElement","id","insertBefore","nextSibling","temp","_respond","scrollTo","top","getBoundingClientRect","pageYOffset","clientTop","behavior","onclick","attributes","gen_top_bar","pre","code_a","children","lang","matchResult","className","match","toUpperCase","hljs_click_callback","contains","cloneElement","cloneNode","toggle","body","append","documentElement","hljs_process","code","hljs","importHighlightjs","highlightElement","initLineNumbersOnLoad","PrismBaseUrl","code_highlight_prism","autoload_path","currentPrismThemeCSS","themeCSS","light","dark","theme","theme_name","URL","toString","loadPrismCSS","darkmodeOn","nextCSS","href","nextCSSElement","prism_darkmode_callback","detail","prism_process","Prism","isInDarkMode","autoloader","languages_path","importPrismJS","loadLineNumber","loadMatchBraces","line_number_all","parentElement","all","fileHighlight","highlight","bgmlistener","preventDefault","stopPropagation","textContent","dataset","nonce","method","res","Error","insertAdjacentHTML","lazyload","catch","innerHTML","load_bangumi","sections","_flag","code_highlight_style","querySelectorAll","code_highlight","removeEventListener","j","__","ClipboardJS","click_to_view_image","open","src","original_emoji_click","innerText","XCS","__list","form","statusSubmitting","event","butterBarRef","createButterbar","FormData","ajaxurl","Array","from","forEach","addComment","order","formpostion","dispatchEvent","CustomEvent","statusText","finally","sm","cm","reply_link_version","data_commentid","getAttribute","list","msg","confirm","alert","idp","actionp","rateHolderp","ajax_data","request","XMLHttpRequest","onreadystatechange","readyState","responseText","setRequestHeader","send","resizeTOC","toc_container","sc","resize","height","min","offsetHeight","offsetTop","passive","tableOfContentScroll","flag","clientWidth","heading_fix","entry_content_theme","innerHeight","_els","_el","tocbot","init","tocSelector","contentSelector","headingSelector","headingsOffset","smileBoxToggle","et","add_upload_tips","form_submit","comment_upload_img","width","cached","upload_img","files","_$","f","formData","xhr","api","setTimeout","JSON","parse","get_the_url","proxy","message","attach_image","file_submit","hover","Tip","afterAjaxCommentComplete","whilePopstate","stlye","ready","nodeName","toLowerCase","_this","path","pathname","_xhr","responseType","onloadstart","comments_navi","commentwrap","loading_comments","comments_list","slideToggle","response","nextlink","outerHTML","gtag","google_analytics_id","charenc","utf8","stringToBytes","str","bin","unescape","encodeURIComponent","bytesToString","bytes","decodeURIComponent","escape","push","charCodeAt","String","fromCharCode","join","module","exports","base64map","crypt","rotl","n","b","rotr","endian","constructor","Number","randomBytes","Math","floor","random","bytesToWords","words","wordsToBytes","bytesToHex","hex","hexToBytes","c","parseInt","substr","bytesToBase64","base64","triplet","charAt","base64ToBytes","replace","imod4","pow","isBuffer","obj","readFloatLE","slice","isSlowBuffer","_isBuffer","webpackAsyncContext","req","__webpack_require__","o","resolve","ids","keys","md5","options","encoding","isArray","Uint8Array","m","l","a","d","FF","_ff","GG","_gg","HH","_hh","II","_ii","aa","bb","cc","dd","x","_blocksize","_digestsize","digestbytes","asBytes","asString"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"page.js","mappings":"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","sources":["webpack://sakurairo-scripts/./src/page/global-func.js","webpack://sakurairo-scripts/./node_modules/tslib/tslib.es6.js","webpack://sakurairo-scripts/./src/page/article_attach.ts","webpack://sakurairo-scripts/./src/page/gravatar.ts","webpack://sakurairo-scripts/./src/page/getqqinfo.js","webpack://sakurairo-scripts/./src/page/AddComment.ts","webpack://sakurairo-scripts/./src/page/code_highlight.js","webpack://sakurairo-scripts/./src/page/bangumi.ts","webpack://sakurairo-scripts/./src/page/index.js","webpack://sakurairo-scripts/./node_modules/charenc/charenc.js","webpack://sakurairo-scripts/./node_modules/crypt/crypt.js","webpack://sakurairo-scripts/./node_modules/is-buffer/index.js","webpack://sakurairo-scripts/./node_modules/lightgallery/plugins|lazy|/^\\.\\/.*\\/lg\\-.*\\.es5\\.js$/|chunkName: lg-plugin-|groupOptions: {}|namespace object","webpack://sakurairo-scripts/./node_modules/md5/md5.js"],"sourcesContent":["\nconst motionEles = [\".bili\", \".menhera\", \".tieba\"];\nfunction motionSwitch(ele) {\n for (let i = 0; i < motionEles.length; i++) {\n document.querySelector(motionEles[i] + '-bar').classList.remove('on-hover');\n document.querySelector(motionEles[i] + '-container').style.display = 'none';\n }\n document.querySelector(ele + '-bar').classList.add(\"on-hover\");\n document.querySelector(ele + '-container').style.display = 'block';\n}\nfunction grin(tag, type, before, after) {\n let myField;\n switch (type) {\n case \"custom\": tag = before + tag + after; break;\n case \"Img\": tag = '[img]' + tag + '[/img]'; break;\n case \"Math\": tag = ' {{' + tag + '}} '; break;\n case \"tieba\": tag = ' ::' + tag + ':: '; break;\n default: tag = ' :' + tag + ': ';\n }\n if (document.getElementById('comment') && document.getElementById('comment').type == 'textarea') {\n myField = document.getElementById('comment');\n } else {\n return false;\n }\n if (document.selection) {\n myField.focus();\n sel = document.selection.createRange();\n sel.text = tag;\n myField.focus();\n } else if (myField.selectionStart || myField.selectionStart == '0') {\n let startPos = myField.selectionStart,\n endPos = myField.selectionEnd,\n cursorPos = endPos;\n myField.value = myField.value.substring(0, startPos) + tag + myField.value.substring(endPos, myField.value.length);\n cursorPos += tag.length;\n myField.focus();\n myField.selectionStart = cursorPos;\n myField.selectionEnd = cursorPos;\n } else {\n myField.value += tag;\n myField.focus();\n }\n}\nwindow.motionSwitch = motionSwitch\nwindow.grin = grin","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { __rest } from \"tslib\";\nimport { loadCSS } from 'fg-loadcss';\nimport { slideToggle } from '../common/util';\nfunction collapse() {\n //收缩、展开\n /* jQuery(document).ready(\n function(jQuery){\n jQuery('.collapseButton').click(function(){\n jQuery(this).parent().parent().find('.xContent').slideToggle('slow');\n });\n }) */\n const collapseButtons = document.getElementsByClassName('collapseButton');\n if (collapseButtons.length > 0) {\n const collapseListener = (e) => {\n slideToggle(e.target.parentNode.parentNode.parentNode.querySelector(\".xContent\"));\n // e.parentNode.parentNode.querySelector(\".xContent\")\n };\n for (const ele of collapseButtons) {\n ele.addEventListener(\"click\", collapseListener);\n }\n // import('jquery').then(({ default: jQuery }) => {\n // jQuery('.collapseButton').on(\"click\", function () {\n // jQuery(this).parent().parent().find('.xContent').slideToggle('slow');\n // })\n // })\n }\n}\nlet lightBoxCSS;\nasync function lightbox() {\n //init lightbox\n if (mashiro_option.baguetteBoxON) {\n if (!lightBoxCSS)\n lightBoxCSS = loadCSS('https://cdn.jsdelivr.net/npm/baguettebox.js@1.11.1/dist/baguetteBox.min.css');\n //@ts-ignore\n const { default: baguetteBox } = await import('baguettebox.js');\n baguetteBox.run('.entry-content', {\n captions: function (element) {\n return element.getElementsByTagName('img')[0].alt;\n },\n ignoreClass: 'fancybox',\n });\n }\n else if (mashiro_option.fancybox) {\n if (!lightBoxCSS)\n lightBoxCSS = loadCSS('https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.css');\n if (!((window.jQuery instanceof Function) || (window.$ instanceof Function))) {\n //@ts-ignore\n const jQuery = await import('jquery');\n window.jQuery = jQuery.default;\n window.$ = jQuery.default;\n }\n //@ts-ignore\n import('@fancyapps/fancybox');\n }\n else if (mashiro_option.lightGallery) {\n //@ts-ignore\n const { default: lightGallery } = await import('lightgallery/lib/index.js');\n const _a = mashiro_option.lightGallery, { plugins } = _a, opts = __rest(_a, [\"plugins\"]);\n loadCSS('https://cdn.jsdelivr.net/npm/lightgallery@2.3.0/css/lightgallery-bundle.min.css');\n lightGallery(document.querySelector('.entry-content'), Object.assign({ plugins: (await Promise.allSettled(plugins.map(moduleName => import(\n /* webpackChunkName: \"lg-plugin-\" */\n `lightgallery/plugins/${moduleName}/lg-${moduleName}.es5.js`)))).map(result => result.status == 'fulfilled' ? result.value.default : console.error('加载lightGallery的插件时出错啦!', result.reason)) }, opts));\n }\n}\nasync function math() {\n if (document.getElementsByTagName('math').length > 0) {\n if (!('MathJax' in window)) {\n //@ts-ignore\n window.MathJax = {\n svg: {\n fontCache: 'global'\n }, startup: {\n typeset: false, // Perform initial typeset?\n }, chtml: {\n fontURL: \"https://cdn.jsdelivr.net/npm/mathjax/es5/output/chtml/fonts/woff-v2\",\n mathmlSpacing: true // true for MathML spacing rules, false for TeX rules\n }\n };\n }\n //@ts-ignore\n await import('mathjax/es5/mml-chtml');\n //@ts-ignore\n window.MathJax.typeset();\n }\n}\nexport default function article_attach() {\n collapse();\n lightbox();\n math();\n}\n","import MD5 from 'md5';\n/**\n * Gravatar\n * from a6cd66c 11.third-part-functions.js\n */\nexport const get_gravatar = (email, size = 80) => 'https://' + Poi.gravatar_url + '/' + MD5(email) + '.jpg?s=' + size + '&d=mm';\n","import { buildAPI } from '../common/util'\nimport { get_gravatar } from './gravatar'\n\nexport default function getqqinfo() {\n let is_get_by_qq = false;\n const i_author = document.querySelector(\"input#author\"),\n i_qq = document.querySelector(\"input#qq\"),\n i_email = document.querySelector(\"input#email\"),\n i_url = document.querySelector(\"input#url\"),\n qq_check = document.querySelector(\".qq-check\"),\n gravatar_check = document.querySelector(\".gravatar-check\"),\n user_avatar_img = document.querySelector(\"div.comment-user-avatar img\");\n if (i_author == null) return;\n if (!localStorage.getItem('user_qq') && !localStorage.getItem('user_qq_email') && !localStorage.getItem('user_author')) {\n i_qq.value = i_author.value = i_email.value = i_url.value = \"\";\n }\n if (localStorage.getItem('user_avatar') && localStorage.getItem('user_qq') && localStorage.getItem('user_qq_email')) {\n user_avatar_img.setAttribute('src', localStorage.getItem('user_avatar'));\n i_author.value = localStorage.getItem('user_author');\n i_email.value = localStorage.getItem('user_qq') + '@qq.com';\n i_qq.value = localStorage.getItem('user_qq');\n if (mashiro_option.qzone_autocomplete) {\n i_url.value = 'https://user.qzone.qq.com/' + localStorage.getItem('user_qq');\n }\n if (i_qq.value) {\n qq_check.style.display = \"block\";\n gravatar_check.style.display = \"none\";\n }\n }\n let emailAddressFlag = i_email.value;\n //var emailAddressFlag = cached.filter('#email').val();\n i_author.addEventListener('blur', () => {\n // })\n //cached.filter('#author').on('blur', function () {\n const qq = i_author.value,\n reg_QQ = /^[1-9]\\d{4,9}$/;\n if (reg_QQ.test(qq)) {\n const whileFailed = () => {\n i_qq.value = '';\n qq_check.style.display = 'none';\n gravatar_check.style.display = 'block';\n user_avatar_img.setAttribute('src', get_gravatar(i_email.value, 80));\n localStorage.setItem('user_qq', '');\n localStorage.setItem('user_email', i_email.value);\n localStorage.setItem('user_avatar', get_gravatar(i_email.value, 80));\n /***/\n /* qq.value = email.value = url.value = \"\";\n if (!qq.value) {\n qq_check.style.display = 'none';\n gravatar_check.style.display = 'block';\n setCookie('user_qq', '', 30);\n user_avatar_img.setAttribute('src', get_gravatar(email.value, 80));\n setCookie('user_avatar', get_gravatar(email.value, 80), 30);\n } */\n }\n fetch(buildAPI(mashiro_option.qq_api_url, { qq: qq }))\n .then(async resp => {\n if (resp.ok) {\n //success\n try {\n const data = await resp.json()\n i_author.value = data.name;\n i_email.value = qq.trim() + '@qq.com';\n if (mashiro_option.qzone_autocomplete) {\n i_url.value = 'https://user.qzone.qq.com/' + qq.trim();\n }\n user_avatar_img.setAttribute('src', 'https://q2.qlogo.cn/headimg_dl?dst_uin=' + qq + '&spec=100');\n is_get_by_qq = true;\n i_qq.value = qq.trim();\n if (i_qq.value) {\n qq_check.style.display = 'block';\n gravatar_check.style.display = 'none';\n }\n localStorage.setItem('user_author', data.name);\n localStorage.setItem('user_qq', qq);\n localStorage.setItem('is_user_qq', 'yes');\n localStorage.setItem('user_qq_email', qq + '@qq.com');\n localStorage.setItem('user_email', qq + '@qq.com');\n emailAddressFlag = i_email.value;\n /***/\n user_avatar_img.setAttribute('src', data.avatar);\n localStorage.setItem('user_avatar', data.avatar);\n } catch (e) {\n console.warn(e)\n whileFailed()\n }\n } else {\n whileFailed()\n }\n })\n }\n });\n if (localStorage.getItem('user_avatar') && localStorage.getItem('user_email') && localStorage.getItem('is_user_qq') == 'no' && !localStorage.getItem('user_qq_email')) {\n user_avatar_img.setAttribute(\"src\", localStorage.getItem('user_avatar'));\n i_email.value = localStorage.getItem('user_mail');\n i_qq.value = '';\n if (!i_qq.value) {\n qq_check.style.display = \"none\";\n gravatar_check.style.display = \"block\";\n }\n // $('div.comment-user-avatar img').attr('src', getCookie('user_avatar'));\n // cached.filter('#email').val(getCookie('user_email'));\n // cached.filter('#qq').val('');\n // if (!cached.filter('#qq').val()) {\n // $('.qq-check').css('display', 'none');\n // $('.gravatar-check').css('display', 'block');\n // }\n }\n i_email.addEventListener(\"blur\", function () {\n //cached.filter('#email').on('blur', function () {\n let emailAddress = i_email.value;\n // var emailAddress = cached.filter('#email').val();\n if ((is_get_by_qq == false || emailAddressFlag != emailAddress) && emailAddress != '') {\n user_avatar_img.setAttribute(\"src\", get_gravatar(emailAddress, 80));\n //$('div.comment-user-avatar img').attr('src', get_gravatar(emailAddress, 80));\n localStorage.setItem('user_avatar', get_gravatar(emailAddress, 80));\n localStorage.setItem('user_email', emailAddress);\n localStorage.setItem('user_qq_email', '');\n localStorage.setItem('is_user_qq', 'no');\n i_qq.value = '';\n // cached.filter('#qq').val('');\n if (!i_qq.value) {\n qq_check.style.display = \"none\";\n gravatar_check.style.display = \"block\";\n // $('.qq-check').css('display', 'none');\n // $('.gravatar-check').css('display', 'block');\n }\n }\n });\n if (localStorage.getItem('user_url')) {\n i_url.value = localStorage.getItem(\"user_url\");\n // cached.filter('#url').val(getCookie('user_url'));\n }\n i_url.addEventListener(\"blur\", function () {\n //cached.filter('#url').on('blur', function () {\n let URL_Address = i_url.value;\n i_url.value = URL_Address;\n // var URL_Address = cached.filter('#url').val();\n // cached.filter('#url').val(URL_Address);\n localStorage.setItem('user_url', URL_Address);\n });\n if (localStorage.getItem('user_author')) {\n i_author.value = localStorage.getItem('user_author');\n // cached.filter('#author').val(getCookie('user_author'));\n }\n i_author.addEventListener(\"blur\", function () {\n // cached.filter('#author').on('blur', function () {\n let user_name = i_author.value;\n i_author.value = user_name;\n // var user_name = cached.filter('#author').val();\n // cached.filter('#author').val(user_name);\n localStorage.setItem('user_author', user_name);\n });\n}","const AddComment = {\n respondId: '',\n moveForm: function (commId, parentId, respondId) {\n const comm = document.getElementById(commId), respond = document.getElementById(respondId), cancel = document.getElementById('cancel-comment-reply-link'), parent = document.getElementById('comment_parent');\n //post = document.getElementById('comment_post_ID');\n this.respondId = respondId;\n if (!document.getElementById('wp-temp-form-div')) {\n const div = document.createElement('div');\n div.id = 'wp-temp-form-div';\n div.style.display = 'none';\n respond.parentNode.insertBefore(div, respond);\n }\n if (!comm) {\n const temp = document.getElementById('wp-temp-form-div');\n document.getElementById('comment_parent').value = '0';\n temp.parentNode.insertBefore(respond, temp);\n temp.remove();\n }\n else {\n comm.parentNode.insertBefore(respond, comm.nextSibling);\n }\n const _respond = document.getElementById(\"respond\");\n window.scrollTo({\n top: _respond.getBoundingClientRect().top + window.pageYOffset - _respond.clientTop - 100,\n behavior: \"smooth\"\n });\n parent.value = parentId;\n cancel.style.display = '';\n cancel.onclick = function (e) {\n var t = AddComment, temp = document.getElementById('wp-temp-form-div'), respond = document.getElementById(t.respondId);\n document.getElementById('comment_parent').value = '0';\n if (temp && respond) {\n temp.parentNode.insertBefore(respond, temp);\n temp.remove();\n //temp.parentNode.removeChild(temp);\n }\n this.style.display = 'none';\n this.onclick = null;\n return false;\n };\n try {\n document.getElementById('comment').focus();\n }\n catch (e) { }\n return false;\n },\n};\nexport default AddComment;\n","import { isInDarkMode } from '../sakura-app/darkmode'\nimport { loadCSS } from 'fg-loadcss'\nconst attributes = {\n 'autocomplete': 'off',\n 'autocorrect': 'off',\n 'autocapitalize': 'off',\n 'spellcheck': 'false',\n 'contenteditable': 'false',\n 'design': 'by Mashiro'\n}\nfunction gen_top_bar(pre, code_a) {\n if (!pre.children[0]) return\n let lang = 'text'\n const className = pre.children[0].className\n const matchResult = className.match(/language-(\\w+)/i)\n if (matchResult) {\n lang = matchResult[1]\n }\n pre.classList.add(\"highlight-wrap\");\n for (const t in attributes) {\n pre.setAttribute(t, attributes[t]);\n }\n code_a.setAttribute('data-rel', lang.toUpperCase());\n}\nasync function importHighlightjs() {\n try {\n if (!window.hljs) {\n window.hljs = (await import('highlight.js')).default\n await import('highlightjs-line-numbers.js')\n }\n } catch (e) {\n console.warn(e)\n }\n}\nconst hljs_click_callback = (e) => {\n const element = e.target\n if (!element.classList.contains(\"highlight-wrap\")) return;\n if (element.classList.contains('code-block-fullscreen')) {\n element.remove()\n } else {\n const cloneElement = element.cloneNode(true)\n cloneElement.classList.toggle(\"code-block-fullscreen\")\n document.body.append(cloneElement)\n }\n document.documentElement.classList.toggle('code-block-fullscreen-html-scroll');\n}\nexport function deattchHljsCallback() {\n document.body.removeEventListener(\"click\", hljs_click_callback)\n}\nexport async function hljs_process(pre, code) {\n try {\n await importHighlightjs()\n for (let i = 0; i < code.length; i++) {\n hljs.highlightElement(code[i]);\n }\n for (let i = 0; i < pre.length; i++) {\n gen_top_bar(pre[i], code[i]);\n }\n hljs.initLineNumbersOnLoad();\n document.body.addEventListener(\"click\", hljs_click_callback)\n } catch (e) {\n console.warn(e)\n }\n}\n//Prism\nconst PrismBaseUrl = mashiro_option.code_highlight_prism?.autoload_path ?? 'https://cdn.jsdelivr.net/npm/prismjs@1.23.0/'\nlet currentPrismThemeCSS = undefined\nconst themeCSS = (() => {\n const { light, dark } = mashiro_option.code_highlight_prism?.theme ?? {}\n const theme = {\n light: light ?? 'themes/prism.min.css',\n dark: dark ?? 'themes/prism-tomorrow.min.css',\n }\n for (const theme_name in theme) {\n theme[theme_name] = new URL(theme[theme_name], PrismBaseUrl).toString()\n }\n return theme\n})()\n\nfunction loadPrismCSS(darkmodeOn) {\n const nextCSS = darkmodeOn ? themeCSS.dark : themeCSS.light\n if (currentPrismThemeCSS) {\n if (currentPrismThemeCSS.href !== nextCSS) {\n const nextCSSElement = loadCSS(nextCSS)\n nextCSSElement.addEventListener('load', () => {\n currentPrismThemeCSS.remove()\n currentPrismThemeCSS = nextCSSElement\n })\n }\n } else {\n currentPrismThemeCSS = loadCSS(nextCSS)\n }\n}\n\nconst prism_darkmode_callback = (e) => {\n loadPrismCSS(e.detail)\n}\nexport const deattachPrismCallback = () => document.removeEventListener('darkmode', prism_darkmode_callback)\nasync function importPrismJS() {\n try {\n if (!window.Prism) {\n loadPrismCSS(isInDarkMode())\n document.addEventListener('darkmode', prism_darkmode_callback)\n //必备插件全家桶\n loadCSS(new URL('plugins/toolbar/prism-toolbar.min.css', PrismBaseUrl).toString())\n loadCSS(new URL('plugins/previewers/prism-previewers.min.css', PrismBaseUrl).toString())\n await import('./prism_pack')\n Prism.plugins.autoloader.languages_path = new URL('components/', PrismBaseUrl).toString()\n }\n } catch (reason) {\n console.warn(reason)\n }\n}\nfunction loadPrismPluginLineNumbers() {\n loadCSS(new URL('plugins/line-numbers/prism-line-numbers.min.css', PrismBaseUrl).toString())\n return import('prismjs/plugins/line-numbers/prism-line-numbers')\n}\nfunction loadPrismMatchBraces() {\n loadCSS(new URL('plugins/match-braces/prism-match-braces.min.css', PrismBaseUrl).toString())\n return import('prismjs/plugins/match-braces/prism-match-braces')\n}\n/**\n * \n * @param {NodeListOf} code document.querySelectorAll(\"pre code\")\n */\nexport async function prism_process(code) {\n try {\n await importPrismJS()\n let loadLineNumber = false\n let loadMatchBraces = false\n if (mashiro_option.code_highlight_prism.line_number_all) {\n document.querySelector('.entry-content').classList.add('line-numbers')\n loadLineNumber = true\n }\n for (const ele of code) {\n if (ele.parentElement.classList.contains('line-numbers')) {\n loadLineNumber = true\n }\n if (ele.classList.contains('match-braces')) {\n loadMatchBraces = true\n if (loadLineNumber == true) {\n break\n }\n }\n }\n await Promise.all([loadLineNumber && loadPrismPluginLineNumbers(), loadMatchBraces && loadPrismMatchBraces()])\n for (const ele of code) {\n Prism.highlightElement(ele)\n }\n Prism.plugins.fileHighlight && Prism.plugins.fileHighlight.highlight()\n } catch (error) {\n console.warn(error)\n }\n}","import { createButterbar } from \"../common/butterbar\";\nimport { lazyload } from 'lazyload';\nconst bgmlistener = (e) => {\n const target = e.target;\n if (target === document.querySelector(\"#bangumi-pagination a\")) {\n e.preventDefault();\n e.stopPropagation();\n if (target.classList.contains(\"loading\"))\n return;\n target.classList.add(\"loading\");\n target.textContent = \"\";\n fetch(target.dataset.href + \"&_wpnonce=\" + Poi.nonce, {\n method: \"POST\"\n })\n .then(async (res) => {\n const data = await res.json();\n if (res.ok) {\n document.getElementById(\"bangumi-pagination\").remove();\n document.querySelector(\".row\").insertAdjacentHTML('beforeend', data);\n //@ts-ignore\n lazyload();\n }\n else {\n throw Error(`Error,Status:${res.status}`);\n }\n })\n .catch(e => {\n console.error(e);\n createButterbar(e);\n target.classList.remove(\"loading\");\n target.innerHTML = ' ERROR ';\n });\n }\n};\nexport default function load_bangumi() {\n const sections = document.getElementsByTagName(\"section\");\n let _flag = false;\n for (let i = 0; i < sections.length; i++) {\n if (sections[i].classList.contains(\"bangumi\")) {\n _flag = true;\n break;\n }\n }\n if (_flag) {\n document.addEventListener('click', bgmlistener);\n }\n}\n","import article_attach from './article_attach'\nimport { min, ready, slideToggle } from '../common/util'\nimport { lazyload } from 'lazyload'\nimport { createButterbar } from '../common/butterbar'\nimport './global-func'\nimport getqqinfo from './getqqinfo'\nimport addComment from './AddComment'\nimport { hljs_process, prism_process, deattachPrismCallback, deattchHljsCallback } from './code_highlight'\nimport { _$, __ } from '../sakura-app/sakurairo_global'\nimport load_bangumi from './bangumi'\nasync function code_highlight_style() {\n const pre = document.getElementsByTagName(\"pre\"),\n code = document.querySelectorAll(\"pre code\");\n if (!pre.length) {\n switch (mashiro_option.code_highlight) {\n case 'hljs':\n deattchHljsCallback()\n return\n case 'prism':\n deattachPrismCallback()\n return\n default:\n }\n }\n switch (mashiro_option.code_highlight) {\n case 'hljs':\n await hljs_process(pre, code)\n break\n case 'prism':\n await prism_process(code)\n break\n case 'custom': return\n default:\n console.warn(`mashiro_option.code_highlight这咋填的是个${mashiro_option.code_highlight}啊🤔`)\n }\n //copy_code_block\n if (code.length > 0) {\n for (let j = 0; j < code.length; j++) {\n code[j].setAttribute('id', 'code-block-' + j);\n code[j].insertAdjacentHTML('afterend', '');\n };\n const { default: ClipboardJS } = await import('clipboard')\n new ClipboardJS('.copy-code');\n }\n}\nfunction click_to_view_image() {\n const comment_inline = document.getElementsByClassName('comment_inline_img');\n if (!comment_inline.length) return;\n document.getElementsByClassName(\"comments-main\")[0].addEventListener(\"click\", function (e) {\n if (e.target.classList.contains(\"comment_inline_img\")) {\n window.open(e.target.src);\n }\n })\n}\nfunction clean_upload_images() {\n document.getElementById(\"upload-img-show\").innerHTML = '';\n}\nfunction original_emoji_click() {\n const emoji = document.getElementsByClassName('emoji-item');\n if (!emoji.length) return;\n document.querySelector(\".menhera-container\").addEventListener(\"click\", function (e) {\n if (e.target.classList.contains(\"emoji-item\")) {\n grin(e.target.innerText, \"custom\", \"`\", \"` \");\n }\n })\n}\nfunction XCS() {\n const __list = 'commentwrap';\n const form = document.getElementById(\"commentform\")\n if (form) {\n let statusSubmitting = false\n form.addEventListener('submit', function (event) {\n event.stopPropagation()\n event.preventDefault();\n if (statusSubmitting) return\n const butterBarRef = createButterbar(__(\"提交中....\"), true)\n const form = new FormData(this)\n form.append('action', 'ajax_comment')\n statusSubmitting = true\n fetch(Poi.ajaxurl, {\n method: this.attributes.method.value,\n body: form\n }).then(async resp => {\n const data = await resp.text()\n if (resp.ok) {\n Array.from(document.getElementsByTagName('textarea'))\n .forEach((e) => e.value = '')\n const cancel = document.getElementById('cancel-comment-reply-link'),\n temp = document.getElementById('wp-temp-form-div'),\n respond = document.getElementById(addComment.respondId),\n //post = document.getElementById('comment_post_ID').value,\n parent = document.getElementById('comment_parent').value;\n if (parent != '0') {\n //jQuery('#respond').before('' + data + '
');\n document.getElementById(\"respond\").insertAdjacentHTML('beforebegin', '' + data + '
');\n } else if (!document.getElementsByClassName(__list).length) {\n if (Poi.formpostion == 'bottom') {\n document.getElementById(\"respond\").insertAdjacentHTML('beforebegin', '' + data + '
');\n //jQuery('#respond').before('' + data + '
');\n } else {\n document.getElementById(\"respond\").insertAdjacentHTML('afterend', '' + data + '
');\n //jQuery('#respond').after('' + data + '
');\n }\n } else {\n if (Poi.order == 'asc') {\n document.getElementsByClassName(\"commentwrap\")[1].insertAdjacentHTML('beforeend', data);\n //jQuery('.' + __list).append(data);\n } else {\n document.getElementsByClassName(\"commentwrap\")[1].insertAdjacentHTML('afterbegin', data);\n //jQuery('.' + __list).prepend(data);\n }\n }\n createButterbar(__(\"提交成功\"));\n document.dispatchEvent(new CustomEvent('ajax_comment_complete',))\n cancel.style.display = 'none';\n cancel.onclick = null;\n document.getElementById('comment_parent').value = '0';\n if (temp && respond) {\n temp.parentNode.insertBefore(respond, temp);\n temp.remove();\n //temp.parentNode.removeChild(temp)\n }\n } else {\n createButterbar(data ?? 'HTTP' + resp.status + ':' + resp.statusText);\n }\n }).catch(reason => {\n createButterbar(reason);\n }).finally(() => {\n butterBarRef.remove()\n statusSubmitting = false\n })\n /* jQuery.ajax({\n url: Poi.ajaxurl,\n data: jQuery(this).serialize() + \"&action=ajax_comment\",\n type: jQuery(this).attr('method'),\n beforeSend: createButterbar(\"提交中(Commiting)....\"),\n error: function (request) {\n var t = addComment;\n t.createButterbar(request.responseText);\n },\n success: function (data) {\n jQuery('textarea').each(function () {\n this.value = ''\n });\n var t = addComment,\n cancel = t.I('cancel-comment-reply-link'),\n temp = t.I('wp-temp-form-div'),\n respond = t.I(t.respondId),\n post = t.I('comment_post_ID').value,\n parent = t.I('comment_parent').value;\n if (parent != '0') {\n jQuery('#respond').before('' + data + '
');\n } else if (!jQuery('.' + __list).length) {\n if (Poi.formpostion == 'bottom') {\n jQuery('#respond').before('' + data + '
');\n } else {\n jQuery('#respond').after('' + data + '
');\n }\n } else {\n if (Poi.order == 'asc') {\n jQuery('.' + __list).append(data);\n } else {\n jQuery('.' + __list).prepend(data);\n }\n }\n t.createButterbar(\"提交成功(Succeed)\");\n lazyload();\n code_highlight_style();\n click_to_view_image();\n clean_upload_images();\n cancel.style.display = 'none';\n cancel.onclick = null;\n t.I('comment_parent').value = '0';\n if (temp && respond) {\n temp.parentNode.insertBefore(respond, temp);\n temp.remove();\n //temp.parentNode.removeChild(temp)\n }\n }\n }); */\n })\n }\n}\n\nfunction XCP() {\n document.body.addEventListener('click', function (e) {\n if (e.target.parentNode == document.getElementById(\"comments-navi\") && e.target.nodeName.toLowerCase() == \"a\") {\n e.preventDefault();\n e.stopPropagation();\n let _this = e.target,\n path = _this.pathname,\n _xhr = new XMLHttpRequest();\n _xhr.open(\"GET\", _this.getAttribute('href'), true);\n _xhr.responseType = \"document\";\n _xhr.onloadstart = () => {\n let comments_navi = document.getElementById(\"comments-navi\"),\n commentwrap = document.querySelector(\"ul.commentwrap\"),\n loading_comments = document.getElementById(\"loading-comments\"),\n comments_list = document.getElementById(\"comments-list-title\");\n comments_navi.remove();\n commentwrap.remove();\n //comments_navi.parentNode.removeChild(comments_navi);\n //commentwrap.parentNode.removeChild(commentwrap);\n loading_comments.style.display = \"block\";\n slideToggle(loading_comments, 500, \"show\");\n window.scrollTo({\n top: comments_list.getBoundingClientRect().top + window.pageYOffset - comments_list.clientTop - 65,\n behavior: \"smooth\"\n });\n }\n _xhr.onreadystatechange = function () {\n if (_xhr.readyState == 4 && _xhr.status == 200) {\n let json = _xhr.response,\n result = json.querySelector(\"ul.commentwrap\"),\n nextlink = json.getElementById(\"comments-navi\"),\n loading_comments = document.getElementById(\"loading-comments\");\n slideToggle(loading_comments, 200, \"hide\");\n document.getElementById(\"loading-comments\").insertAdjacentHTML('afterend', result.outerHTML);\n document.querySelector(\"ul.commentwrap\").insertAdjacentHTML('afterend', nextlink.outerHTML);\n lazyload();\n if (window.gtag) {\n gtag('config', Poi.google_analytics_id, {\n 'page_path': path\n });\n }\n code_highlight_style();\n click_to_view_image();\n let commentwrap = document.querySelector(\"ul.commentwrap\");\n window.scrollTo({\n top: commentwrap && (commentwrap.getBoundingClientRect().top + window.pageYOffset - commentwrap.clientTop - 200),\n behavior: \"smooth\"\n });\n }\n }\n _xhr.send();\n }\n });\n}\nfunction sm() {\n let sm = document.getElementsByClassName('sm'),\n cm = document.querySelector(\".comments-main\");\n if (!sm.length) return;\n if (cm) {\n if (Poi.reply_link_version == 'new') {\n cm.addEventListener(\"click\", function (e) {\n if (e.target.classList.contains(\"comment-reply-link\")) {\n e.preventDefault();\n e.stopPropagation();\n let data_commentid = e.target.getAttribute(\"data-commentid\");\n addComment.moveForm(\"comment-\" + data_commentid, data_commentid, \"respond\", this.getAttribute(\"data-postid\"));\n }\n })\n }\n cm.addEventListener(\"click\", (e) => {\n let list = e.target.parentNode;\n if (list.classList.contains(\"sm\")) {\n let msg = __(\"您真的要设为私密吗?\");\n if (confirm(msg) == true) {\n if (list.classList.contains('private_now')) {\n alert(__('您之前已设过私密评论'));\n return false;\n } else {\n list.classList.add('private_now');\n let idp = list.getAttribute(\"data-idp\"),\n actionp = list.getAttribute(\"data-actionp\"),\n rateHolderp = list.getElementsByClassName('has_set_private')[0];\n let ajax_data = \"action=siren_private&p_id=\" + idp + \"&p_action=\" + actionp;\n let request = new XMLHttpRequest();\n request.onreadystatechange = function () {\n if (this.readyState == 4 && this.status == 200) {\n rateHolderp.innerHTML = request.responseText;\n }\n };\n request.open('POST', '/wp-admin/admin-ajax.php', true);\n request.setRequestHeader(\"Content-type\", \"application/x-www-form-urlencoded\");\n request.send(ajax_data);\n return false;\n }\n }\n }\n })\n }\n\n}\nfunction resizeTOC() {\n const toc_container = document.querySelector(\".toc-container\"),\n sc = document.querySelector(\".site-content\")\n if (toc_container && sc) {\n const resize = () => {\n toc_container.style.height = Math.min(sc.getBoundingClientRect()[\"height\"], document.documentElement.offsetHeight - toc_container.offsetTop) + \"px\";\n }\n resize()\n //TODO:性能\n window.addEventListener('resize', resize, { passive: true })\n }\n}\nfunction tableOfContentScroll(flag) {\n if (document.body.clientWidth <= 1200) {\n return;\n } else if (!document.querySelector(\"div.have-toc\") && !document.querySelector(\"div.has-toc\")) {\n let ele = document.getElementsByClassName(\"toc-container\")[0];\n if (ele) {\n ele.remove();\n ele = null;\n }\n } else {\n if (flag && document.getElementsByClassName('toc').length > 0) {\n const reqTocbot = import('tocbot')\n const heading_fix = mashiro_option.entry_content_style == \"sakurairo\" ? (document.querySelector(\"article.type-post\") ? (document.querySelector(\"div.pattern-attachment\") ? -75 : 200) : 375) : window.innerHeight / 2;\n const _els = document.querySelectorAll('.entry-content,.links');\n const idSet = new Set()\n let id = 1\n for (let i = 0; i < _els.length; i++) {\n let _el = _els[i].querySelectorAll('h1,h2,h3,h4,h5');\n for (const title of _el) {\n const innerText = encodeURIComponent(txt.replace(' ', '-'))(title.innerText)\n if (idSet.has(innerText)) {\n title.id = \"toc-head-\" + id++;\n } else {\n title.id = innerText\n idSet.add(innerText)\n }\n }\n }\n reqTocbot.then(({ default: tocbot }) => {\n tocbot.init({\n tocSelector: '.toc',\n contentSelector: ['.entry-content', '.links'],\n headingSelector: 'h1,h2,h3,h4,h5',\n headingsOffset: heading_fix - window.innerHeight / 2,\n onClick: null\n });\n })\n }\n }\n}\n/**\n * 上传图片提示\n */\nfunction attach_image() {\n let cached = document.getElementsByClassName(\"insert-image-tips\")[0],\n upload_img = document.getElementById('upload-img-file');\n if (!upload_img) return;\n upload_img.addEventListener(\"change\", (function () {\n if (this.files.length > 10) {\n createButterbar(__(\"每次上传上限为10张\"));\n return 0;\n }\n for (let i = 0; i < this.files.length; i++) {\n if (this.files[i].size >= 5242880) {\n alert(_$('图片上传大小限制为5 MB\\n\\n「{0}」\\n\\n这张图太大啦~请重新上传噢!', this.files[i].name));\n return;\n }\n }\n for (let i = 0; i < this.files.length; i++) {\n let f = this.files[i],\n formData = new FormData(),\n xhr = new XMLHttpRequest();\n formData.append('cmt_img_file', f);\n xhr.addEventListener('loadstart', function () {\n cached.innerHTML = '';\n createButterbar(__(\"上传中...\"));\n });\n xhr.open(\"POST\", buildAPI(Poi.api + 'sakura/v1/image/upload'), true);\n xhr.send(formData);\n xhr.onreadystatechange = function () {\n if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 304)) {\n cached.innerHTML = '';\n setTimeout(function () {\n cached.innerHTML = '';\n }, 1000);\n let res = JSON.parse(xhr.responseText);\n if (res.status == 200) {\n let get_the_url = res.proxy;\n document.getElementById(\"upload-img-show\").insertAdjacentHTML('afterend', '');\n lazyload();\n createButterbar(__(\"图片上传成功~\"));\n grin(get_the_url, type = 'Img');\n } else {\n createButterbar(_$('上传失败!\\n文件名: {0}\\ncode: {1}\\n{2}', f.name, res.status, res.message), 3000)\n }\n } else if (xhr.readyState == 4) {\n cached.innerHTML = '';\n alert(__(\"上传失败,请重试.\"));\n setTimeout(function () {\n cached.innerHTML = '';\n }, 1000);\n }\n }\n };\n }));\n}\nfunction smileBoxToggle() {\n let et = document.getElementById(\"emotion-toggle\");\n et && et.addEventListener('click', function () {\n document.querySelector('.emotion-toggle-off').classList.toggle(\"emotion-hide\");\n document.querySelector('.emotion-toggle-on').classList.toggle(\"emotion-show\");\n document.querySelector('.emotion-box').classList.toggle(\"emotion-box-show\");\n })\n}\n/**\n * 添加上传图片的提示\n */\nfunction add_upload_tips() {\n const form_submit = document.querySelector('.form-submit #submit');\n if (form_submit == null) return;\n if (!mashiro_option.comment_upload_img) {\n form_submit.style.width = '100%'\n return\n }\n form_submit.insertAdjacentHTML('afterend', '
');\n attach_image();\n\n const file_submit = document.getElementById('upload-img-file'),\n hover = document.getElementsByClassName('insert-image-tips')[0],\n Tip = document.getElementById('uploadTipPopup');\n if (!file_submit) return;\n file_submit.addEventListener(\"mouseenter\", function () {\n hover.classList.toggle('insert-image-tips-hover');\n Tip.classList.toggle('show');\n });\n file_submit.addEventListener(\"mouseleave\", function () {\n hover.classList.toggle('insert-image-tips-hover');\n Tip.classList.toggle('show');\n });\n}\nfunction addComtListener() {\n document.querySelectorAll(\".comt-addsmilies\").forEach((e) => {\n e.addEventListener(\"click\", () => {\n if (e.stlye.display == \"block\") {\n e.style.display = \"none\";\n } else {\n e.style.display = \"block\";\n }\n })\n })\n document.querySelectorAll(\".comt-smilies a\").forEach((e) => {\n e.addEventListener(\"click\", () => {\n e.parentNode.style.display = \"none\";\n })\n })\n}\nfunction afterAjaxCommentComplete() {\n lazyload();\n code_highlight_style();\n click_to_view_image();\n clean_upload_images();\n}\n\n// #region LifeCycle\nfunction whilePopstate() {\n article_attach()\n sm()\n}\nfunction whileReady() {\n article_attach()\n XCS()\n XCP()\n getqqinfo()\n add_upload_tips()\n resizeTOC()\n}\nfunction whilePjaxComplete() {\n try {\n add_upload_tips()\n article_attach()\n load_bangumi();\n tableOfContentScroll(true);\n click_to_view_image()\n getqqinfo()\n sm()\n original_emoji_click()\n code_highlight_style()\n smileBoxToggle()\n XCS()\n resizeTOC()\n } catch (e) {\n console.warn(e)\n }\n}\nfunction whileLoaded() {\n window.addEventListener('popstate', whilePopstate)\n click_to_view_image()\n code_highlight_style()\n load_bangumi();\n sm()\n original_emoji_click()\n smileBoxToggle()\n tableOfContentScroll(true);\n addComtListener()\n document.addEventListener('ajax_comment_complete', afterAjaxCommentComplete)\n}\nwhileLoaded()\ndocument.addEventListener('pjax:complete', whilePjaxComplete)\nready(whileReady)\n//#endregion","var charenc = {\n // UTF-8 encoding\n utf8: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));\n }\n },\n\n // Binary encoding\n bin: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n for (var bytes = [], i = 0; i < str.length; i++)\n bytes.push(str.charCodeAt(i) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n for (var str = [], i = 0; i < bytes.length; i++)\n str.push(String.fromCharCode(bytes[i]));\n return str.join('');\n }\n }\n};\n\nmodule.exports = charenc;\n","(function() {\n var base64map\n = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n\n crypt = {\n // Bit-wise rotation left\n rotl: function(n, b) {\n return (n << b) | (n >>> (32 - b));\n },\n\n // Bit-wise rotation right\n rotr: function(n, b) {\n return (n << (32 - b)) | (n >>> b);\n },\n\n // Swap big-endian to little-endian and vice versa\n endian: function(n) {\n // If number given, swap endian\n if (n.constructor == Number) {\n return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;\n }\n\n // Else, assume array and swap all items\n for (var i = 0; i < n.length; i++)\n n[i] = crypt.endian(n[i]);\n return n;\n },\n\n // Generate an array of any length of random bytes\n randomBytes: function(n) {\n for (var bytes = []; n > 0; n--)\n bytes.push(Math.floor(Math.random() * 256));\n return bytes;\n },\n\n // Convert a byte array to big-endian 32-bit words\n bytesToWords: function(bytes) {\n for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n words[b >>> 5] |= bytes[i] << (24 - b % 32);\n return words;\n },\n\n // Convert big-endian 32-bit words to a byte array\n wordsToBytes: function(words) {\n for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a hex string\n bytesToHex: function(bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xF).toString(16));\n }\n return hex.join('');\n },\n\n // Convert a hex string to a byte array\n hexToBytes: function(hex) {\n for (var bytes = [], c = 0; c < hex.length; c += 2)\n bytes.push(parseInt(hex.substr(c, 2), 16));\n return bytes;\n },\n\n // Convert a byte array to a base-64 string\n bytesToBase64: function(bytes) {\n for (var base64 = [], i = 0; i < bytes.length; i += 3) {\n var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n for (var j = 0; j < 4; j++)\n if (i * 8 + j * 6 <= bytes.length * 8)\n base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));\n else\n base64.push('=');\n }\n return base64.join('');\n },\n\n // Convert a base-64 string to a byte array\n base64ToBytes: function(base64) {\n // Remove non-base-64 characters\n base64 = base64.replace(/[^A-Z0-9+\\/]/ig, '');\n\n for (var bytes = [], i = 0, imod4 = 0; i < base64.length;\n imod4 = ++i % 4) {\n if (imod4 == 0) continue;\n bytes.push(((base64map.indexOf(base64.charAt(i - 1))\n & (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2))\n | (base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));\n }\n return bytes;\n }\n };\n\n module.exports = crypt;\n})();\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n","var map = {\n\t\"./autoplay/lg-autoplay.es5.js\": [\n\t\t8509,\n\t\t8\n\t],\n\t\"./comment/lg-comment.es5.js\": [\n\t\t8080,\n\t\t238\n\t],\n\t\"./fullscreen/lg-fullscreen.es5.js\": [\n\t\t2508,\n\t\t846\n\t],\n\t\"./hash/lg-hash.es5.js\": [\n\t\t1185,\n\t\t649\n\t],\n\t\"./mediumZoom/lg-medium-zoom.es5.js\": [\n\t\t7180,\n\t\t400\n\t],\n\t\"./pager/lg-pager.es5.js\": [\n\t\t6220,\n\t\t359\n\t],\n\t\"./relativeCaption/lg-relative-caption.es5.js\": [\n\t\t823,\n\t\t515\n\t],\n\t\"./rotate/lg-rotate.es5.js\": [\n\t\t4671,\n\t\t893\n\t],\n\t\"./share/lg-share.es5.js\": [\n\t\t627,\n\t\t642\n\t],\n\t\"./thumbnail/lg-thumbnail.es5.js\": [\n\t\t1997,\n\t\t725\n\t],\n\t\"./video/lg-video.es5.js\": [\n\t\t2523,\n\t\t568\n\t],\n\t\"./zoom/lg-zoom.es5.js\": [\n\t\t2869,\n\t\t719\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function() { return Object.keys(map); };\nwebpackAsyncContext.id = 8508;\nmodule.exports = webpackAsyncContext;","(function(){\r\n var crypt = require('crypt'),\r\n utf8 = require('charenc').utf8,\r\n isBuffer = require('is-buffer'),\r\n bin = require('charenc').bin,\r\n\r\n // The core\r\n md5 = function (message, options) {\r\n // Convert to byte array\r\n if (message.constructor == String)\r\n if (options && options.encoding === 'binary')\r\n message = bin.stringToBytes(message);\r\n else\r\n message = utf8.stringToBytes(message);\r\n else if (isBuffer(message))\r\n message = Array.prototype.slice.call(message, 0);\r\n else if (!Array.isArray(message) && message.constructor !== Uint8Array)\r\n message = message.toString();\r\n // else, assume byte array already\r\n\r\n var m = crypt.bytesToWords(message),\r\n l = message.length * 8,\r\n a = 1732584193,\r\n b = -271733879,\r\n c = -1732584194,\r\n d = 271733878;\r\n\r\n // Swap endian\r\n for (var i = 0; i < m.length; i++) {\r\n m[i] = ((m[i] << 8) | (m[i] >>> 24)) & 0x00FF00FF |\r\n ((m[i] << 24) | (m[i] >>> 8)) & 0xFF00FF00;\r\n }\r\n\r\n // Padding\r\n m[l >>> 5] |= 0x80 << (l % 32);\r\n m[(((l + 64) >>> 9) << 4) + 14] = l;\r\n\r\n // Method shortcuts\r\n var FF = md5._ff,\r\n GG = md5._gg,\r\n HH = md5._hh,\r\n II = md5._ii;\r\n\r\n for (var i = 0; i < m.length; i += 16) {\r\n\r\n var aa = a,\r\n bb = b,\r\n cc = c,\r\n dd = d;\r\n\r\n a = FF(a, b, c, d, m[i+ 0], 7, -680876936);\r\n d = FF(d, a, b, c, m[i+ 1], 12, -389564586);\r\n c = FF(c, d, a, b, m[i+ 2], 17, 606105819);\r\n b = FF(b, c, d, a, m[i+ 3], 22, -1044525330);\r\n a = FF(a, b, c, d, m[i+ 4], 7, -176418897);\r\n d = FF(d, a, b, c, m[i+ 5], 12, 1200080426);\r\n c = FF(c, d, a, b, m[i+ 6], 17, -1473231341);\r\n b = FF(b, c, d, a, m[i+ 7], 22, -45705983);\r\n a = FF(a, b, c, d, m[i+ 8], 7, 1770035416);\r\n d = FF(d, a, b, c, m[i+ 9], 12, -1958414417);\r\n c = FF(c, d, a, b, m[i+10], 17, -42063);\r\n b = FF(b, c, d, a, m[i+11], 22, -1990404162);\r\n a = FF(a, b, c, d, m[i+12], 7, 1804603682);\r\n d = FF(d, a, b, c, m[i+13], 12, -40341101);\r\n c = FF(c, d, a, b, m[i+14], 17, -1502002290);\r\n b = FF(b, c, d, a, m[i+15], 22, 1236535329);\r\n\r\n a = GG(a, b, c, d, m[i+ 1], 5, -165796510);\r\n d = GG(d, a, b, c, m[i+ 6], 9, -1069501632);\r\n c = GG(c, d, a, b, m[i+11], 14, 643717713);\r\n b = GG(b, c, d, a, m[i+ 0], 20, -373897302);\r\n a = GG(a, b, c, d, m[i+ 5], 5, -701558691);\r\n d = GG(d, a, b, c, m[i+10], 9, 38016083);\r\n c = GG(c, d, a, b, m[i+15], 14, -660478335);\r\n b = GG(b, c, d, a, m[i+ 4], 20, -405537848);\r\n a = GG(a, b, c, d, m[i+ 9], 5, 568446438);\r\n d = GG(d, a, b, c, m[i+14], 9, -1019803690);\r\n c = GG(c, d, a, b, m[i+ 3], 14, -187363961);\r\n b = GG(b, c, d, a, m[i+ 8], 20, 1163531501);\r\n a = GG(a, b, c, d, m[i+13], 5, -1444681467);\r\n d = GG(d, a, b, c, m[i+ 2], 9, -51403784);\r\n c = GG(c, d, a, b, m[i+ 7], 14, 1735328473);\r\n b = GG(b, c, d, a, m[i+12], 20, -1926607734);\r\n\r\n a = HH(a, b, c, d, m[i+ 5], 4, -378558);\r\n d = HH(d, a, b, c, m[i+ 8], 11, -2022574463);\r\n c = HH(c, d, a, b, m[i+11], 16, 1839030562);\r\n b = HH(b, c, d, a, m[i+14], 23, -35309556);\r\n a = HH(a, b, c, d, m[i+ 1], 4, -1530992060);\r\n d = HH(d, a, b, c, m[i+ 4], 11, 1272893353);\r\n c = HH(c, d, a, b, m[i+ 7], 16, -155497632);\r\n b = HH(b, c, d, a, m[i+10], 23, -1094730640);\r\n a = HH(a, b, c, d, m[i+13], 4, 681279174);\r\n d = HH(d, a, b, c, m[i+ 0], 11, -358537222);\r\n c = HH(c, d, a, b, m[i+ 3], 16, -722521979);\r\n b = HH(b, c, d, a, m[i+ 6], 23, 76029189);\r\n a = HH(a, b, c, d, m[i+ 9], 4, -640364487);\r\n d = HH(d, a, b, c, m[i+12], 11, -421815835);\r\n c = HH(c, d, a, b, m[i+15], 16, 530742520);\r\n b = HH(b, c, d, a, m[i+ 2], 23, -995338651);\r\n\r\n a = II(a, b, c, d, m[i+ 0], 6, -198630844);\r\n d = II(d, a, b, c, m[i+ 7], 10, 1126891415);\r\n c = II(c, d, a, b, m[i+14], 15, -1416354905);\r\n b = II(b, c, d, a, m[i+ 5], 21, -57434055);\r\n a = II(a, b, c, d, m[i+12], 6, 1700485571);\r\n d = II(d, a, b, c, m[i+ 3], 10, -1894986606);\r\n c = II(c, d, a, b, m[i+10], 15, -1051523);\r\n b = II(b, c, d, a, m[i+ 1], 21, -2054922799);\r\n a = II(a, b, c, d, m[i+ 8], 6, 1873313359);\r\n d = II(d, a, b, c, m[i+15], 10, -30611744);\r\n c = II(c, d, a, b, m[i+ 6], 15, -1560198380);\r\n b = II(b, c, d, a, m[i+13], 21, 1309151649);\r\n a = II(a, b, c, d, m[i+ 4], 6, -145523070);\r\n d = II(d, a, b, c, m[i+11], 10, -1120210379);\r\n c = II(c, d, a, b, m[i+ 2], 15, 718787259);\r\n b = II(b, c, d, a, m[i+ 9], 21, -343485551);\r\n\r\n a = (a + aa) >>> 0;\r\n b = (b + bb) >>> 0;\r\n c = (c + cc) >>> 0;\r\n d = (d + dd) >>> 0;\r\n }\r\n\r\n return crypt.endian([a, b, c, d]);\r\n };\r\n\r\n // Auxiliary functions\r\n md5._ff = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & c | ~b & d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._gg = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & d | c & ~d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._hh = function (a, b, c, d, x, s, t) {\r\n var n = a + (b ^ c ^ d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._ii = function (a, b, c, d, x, s, t) {\r\n var n = a + (c ^ (b | ~d)) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n\r\n // Package private blocksize\r\n md5._blocksize = 16;\r\n md5._digestsize = 16;\r\n\r\n module.exports = function (message, options) {\r\n if (message === undefined || message === null)\r\n throw new Error('Illegal argument ' + message);\r\n\r\n var digestbytes = crypt.wordsToBytes(md5(message, options));\r\n return options && options.asBytes ? digestbytes :\r\n options && options.asString ? bin.bytesToString(digestbytes) :\r\n crypt.bytesToHex(digestbytes);\r\n };\r\n\r\n})();\r\n"],"names":["motionEles","window","motionSwitch","ele","i","length","document","querySelector","classList","remove","style","display","add","grin","tag","type","before","after","myField","getElementById","selection","focus","sel","createRange","text","selectionStart","startPos","endPos","selectionEnd","cursorPos","value","substring","Object","create","lightBoxCSS","async","lightbox","mashiro_option","baguetteBoxON","loadCSS","default","baguetteBox","run","captions","element","getElementsByTagName","alt","ignoreClass","fancybox","jQuery","Function","$","lightGallery","_a","plugins","opts","s","e","t","p","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__rest","assign","Promise","allSettled","map","moduleName","result","status","console","error","reason","article_attach","collapseButtons","getElementsByClassName","collapseListener","target","parentNode","addEventListener","collapse","MathJax","svg","fontCache","startup","typeset","chtml","fontURL","mathmlSpacing","math","get_gravatar","email","size","Poi","gravatar_url","getqqinfo","is_get_by_qq","i_author","i_qq","i_email","i_url","qq_check","gravatar_check","user_avatar_img","localStorage","getItem","setAttribute","qzone_autocomplete","emailAddressFlag","qq","test","whileFailed","setItem","fetch","buildAPI","qq_api_url","then","resp","ok","data","json","name","trim","avatar","warn","emailAddress","URL_Address","user_name","AddComment","respondId","moveForm","commId","parentId","comm","respond","cancel","parent","this","div","createElement","id","insertBefore","nextSibling","temp","_respond","scrollTo","top","getBoundingClientRect","pageYOffset","clientTop","behavior","onclick","attributes","gen_top_bar","pre","code_a","children","lang","matchResult","className","match","toUpperCase","hljs_click_callback","contains","cloneElement","cloneNode","toggle","body","append","documentElement","hljs_process","code","hljs","importHighlightjs","highlightElement","initLineNumbersOnLoad","PrismBaseUrl","code_highlight_prism","autoload_path","currentPrismThemeCSS","themeCSS","light","dark","theme","theme_name","URL","toString","loadPrismCSS","darkmodeOn","nextCSS","href","nextCSSElement","prism_darkmode_callback","detail","prism_process","Prism","isInDarkMode","autoloader","languages_path","importPrismJS","loadLineNumber","loadMatchBraces","line_number_all","parentElement","all","fileHighlight","highlight","bgmlistener","preventDefault","stopPropagation","textContent","dataset","nonce","method","res","Error","insertAdjacentHTML","lazyload","catch","innerHTML","load_bangumi","sections","_flag","code_highlight_style","querySelectorAll","code_highlight","removeEventListener","j","__","ClipboardJS","click_to_view_image","open","src","original_emoji_click","innerText","XCS","__list","form","statusSubmitting","event","butterBarRef","createButterbar","FormData","ajaxurl","Array","from","forEach","addComment","order","formpostion","dispatchEvent","CustomEvent","statusText","finally","sm","cm","reply_link_version","data_commentid","getAttribute","list","msg","confirm","alert","idp","actionp","rateHolderp","ajax_data","request","XMLHttpRequest","onreadystatechange","readyState","responseText","setRequestHeader","send","resizeTOC","toc_container","sc","resize","height","Math","min","offsetHeight","offsetTop","passive","tableOfContentScroll","flag","clientWidth","reqTocbot","heading_fix","entry_content_style","innerHeight","_els","idSet","Set","_el","title","encodeURIComponent","txt","replace","has","tocbot","init","tocSelector","contentSelector","headingSelector","headingsOffset","onClick","smileBoxToggle","et","add_upload_tips","form_submit","comment_upload_img","width","cached","upload_img","files","_$","f","formData","xhr","api","setTimeout","JSON","parse","get_the_url","proxy","message","attach_image","file_submit","hover","Tip","afterAjaxCommentComplete","whilePopstate","stlye","ready","nodeName","toLowerCase","_this","path","pathname","_xhr","responseType","onloadstart","comments_navi","commentwrap","loading_comments","comments_list","slideToggle","response","nextlink","outerHTML","gtag","google_analytics_id","charenc","utf8","stringToBytes","str","bin","unescape","bytesToString","bytes","decodeURIComponent","escape","push","charCodeAt","String","fromCharCode","join","module","exports","base64map","crypt","rotl","n","b","rotr","endian","constructor","Number","randomBytes","floor","random","bytesToWords","words","wordsToBytes","bytesToHex","hex","hexToBytes","c","parseInt","substr","bytesToBase64","base64","triplet","charAt","base64ToBytes","imod4","pow","isBuffer","obj","readFloatLE","slice","isSlowBuffer","_isBuffer","webpackAsyncContext","req","__webpack_require__","o","resolve","ids","keys","md5","options","encoding","isArray","Uint8Array","m","l","a","d","FF","_ff","GG","_gg","HH","_hh","II","_ii","aa","bb","cc","dd","x","_blocksize","_digestsize","digestbytes","asBytes","asString"],"sourceRoot":""}
\ No newline at end of file
From e1dbb3598d1aa50321051e0009b37f0ed4146817 Mon Sep 17 00:00:00 2001
From: KotoriK <52659125+KotoriK@users.noreply.github.com>
Date: Wed, 24 Nov 2021 21:50:02 +0800
Subject: [PATCH 09/12] =?UTF-8?q?fix(=E8=BF=BD=E7=95=AA=E6=A8=A1=E6=9D=BF)?=
=?UTF-8?q?:=20=E9=94=99=E8=AF=AF=E5=A4=84=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
inc/classes/Bilibili.php | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/inc/classes/Bilibili.php b/inc/classes/Bilibili.php
index 8061a827..7369c6f2 100644
--- a/inc/classes/Bilibili.php
+++ b/inc/classes/Bilibili.php
@@ -32,7 +32,11 @@ function fetch_api(int $type, int $page = 1)
)
);
$response = wp_remote_get($url, $args);
- return json_decode($response["body"], true);
+ if(is_array($response)){
+ return json_decode($response["body"], true);
+ }else{
+ return array('code'=>-1);
+ }
}
public function get_bgm_items($page = 1)
@@ -40,6 +44,8 @@ public function get_bgm_items($page = 1)
$resp = $this->fetch_api(1, $page);
$code = $resp["code"];
switch ($code) {
+ case -1://指示在网络请求阶段发生了错误
+ return '后端发生了错误 QwQ
';
case 0: {
$bgm = $resp['data'];
$totalpage = $bgm["total"] / 15;
From 1620bdb29816da03be40a14b3b9f2e24fecdc45d Mon Sep 17 00:00:00 2001
From: KotoriK <52659125+KotoriK@users.noreply.github.com>
Date: Wed, 24 Nov 2021 22:02:07 +0800
Subject: [PATCH 10/12] =?UTF-8?q?fix(=E6=96=87=E7=AB=A0=E6=91=98=E8=A6=81)?=
=?UTF-8?q?:=20=E9=AB=98=E5=BA=A6=E7=8E=B0=E5=9C=A8=E9=9A=8F=E5=AD=97?=
=?UTF-8?q?=E4=BD=93=E5=A4=A7=E5=B0=8F=E5=8F=98=E5=8C=96=EF=BC=8C=E4=BB=A5?=
=?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=81=AE=E4=BD=8F=E4=BA=86=E9=83=A8=E5=88=86?=
=?UTF-8?q?=E6=91=98=E8=A6=81=E7=9A=84=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
style.css | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/style.css b/style.css
index f70e1846..86aaba86 100644
--- a/style.css
+++ b/style.css
@@ -1618,7 +1618,7 @@ i.iconfont.hotpost {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 4;
- height: 85px;
+ height:6em;
overflow: hidden
}
From b5691d2ebdf248dc1588689b1dcd22c532496bd1 Mon Sep 17 00:00:00 2001
From: KotoriK <52659125+KotoriK@users.noreply.github.com>
Date: Wed, 24 Nov 2021 22:07:00 +0800
Subject: [PATCH 11/12] update js bundle to 627cc5b
---
js/anf.js.LICENSE.txt | 2 +-
js/app.js.LICENSE.txt | 2 +-
js/page.js | 2 +-
js/page.js.LICENSE.txt | 2 +-
js/page.js.map | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/js/anf.js.LICENSE.txt b/js/anf.js.LICENSE.txt
index 277f50b9..ff8daff2 100644
--- a/js/anf.js.LICENSE.txt
+++ b/js/anf.js.LICENSE.txt
@@ -1 +1 @@
-//! build 3a6b1dd 2021/11/24
+//! build 627cc5b 2021/11/24
diff --git a/js/app.js.LICENSE.txt b/js/app.js.LICENSE.txt
index 591f11fa..71356193 100644
--- a/js/app.js.LICENSE.txt
+++ b/js/app.js.LICENSE.txt
@@ -43,4 +43,4 @@
*
*/
-//! build 3a6b1dd 2021/11/24
+//! build 627cc5b 2021/11/24
diff --git a/js/page.js b/js/page.js
index dfd81409..8608337c 100644
--- a/js/page.js
+++ b/js/page.js
@@ -1,3 +1,3 @@
/*! For license information please see page.js.LICENSE.txt */
-(self.webpackChunksakurairo_scripts=self.webpackChunksakurairo_scripts||[]).push([[768],{4689:function(){const e=[".bili",".menhera",".tieba"];window.motionSwitch=function(t){for(let t=0;tn(8508)(`./${e}/lg-${e}.es5.js`))))).map((e=>"fulfilled"==e.status?e.value.default:console.error("加载lightGallery的插件时出错啦!",e.reason)))},r))}}function s(){!function(){const e=document.getElementsByClassName("collapseButton");if(e.length>0){const t=e=>{(0,a.wy)(e.target.parentNode.parentNode.parentNode.querySelector(".xContent"))};for(const n of e)n.addEventListener("click",t)}}(),i(),async function(){document.getElementsByTagName("math").length>0&&("MathJax"in window||(window.MathJax={svg:{fontCache:"global"},startup:{typeset:!1},chtml:{fontURL:"https://cdn.jsdelivr.net/npm/mathjax/es5/output/chtml/fonts/woff-v2",mathmlSpacing:!0}}),await n.e(490).then(n.t.bind(n,2490,23)),window.MathJax.typeset())}()}var l=n(9791),c=n(9354),u=(n(4689),n(2568)),m=n.n(u);const d=(e,t=80)=>"https://"+Poi.gravatar_url+"/"+m()(e)+".jpg?s="+t+"&d=mm";function g(){let e=!1;const t=document.querySelector("input#author"),n=document.querySelector("input#qq"),o=document.querySelector("input#email"),r=document.querySelector("input#url"),i=document.querySelector(".qq-check"),s=document.querySelector(".gravatar-check"),l=document.querySelector("div.comment-user-avatar img");if(null==t)return;localStorage.getItem("user_qq")||localStorage.getItem("user_qq_email")||localStorage.getItem("user_author")||(n.value=t.value=o.value=r.value=""),localStorage.getItem("user_avatar")&&localStorage.getItem("user_qq")&&localStorage.getItem("user_qq_email")&&(l.setAttribute("src",localStorage.getItem("user_avatar")),t.value=localStorage.getItem("user_author"),o.value=localStorage.getItem("user_qq")+"@qq.com",n.value=localStorage.getItem("user_qq"),mashiro_option.qzone_autocomplete&&(r.value="https://user.qzone.qq.com/"+localStorage.getItem("user_qq")),n.value&&(i.style.display="block",s.style.display="none"));let c=o.value;t.addEventListener("blur",(()=>{const u=t.value;if(/^[1-9]\d{4,9}$/.test(u)){const m=()=>{n.value="",i.style.display="none",s.style.display="block",l.setAttribute("src",d(o.value,80)),localStorage.setItem("user_qq",""),localStorage.setItem("user_email",o.value),localStorage.setItem("user_avatar",d(o.value,80))};fetch((0,a.bf)(mashiro_option.qq_api_url,{qq:u})).then((async a=>{if(a.ok)try{const m=await a.json();t.value=m.name,o.value=u.trim()+"@qq.com",mashiro_option.qzone_autocomplete&&(r.value="https://user.qzone.qq.com/"+u.trim()),l.setAttribute("src","https://q2.qlogo.cn/headimg_dl?dst_uin="+u+"&spec=100"),e=!0,n.value=u.trim(),n.value&&(i.style.display="block",s.style.display="none"),localStorage.setItem("user_author",m.name),localStorage.setItem("user_qq",u),localStorage.setItem("is_user_qq","yes"),localStorage.setItem("user_qq_email",u+"@qq.com"),localStorage.setItem("user_email",u+"@qq.com"),c=o.value,l.setAttribute("src",m.avatar),localStorage.setItem("user_avatar",m.avatar)}catch(e){console.warn(e),m()}else m()}))}})),localStorage.getItem("user_avatar")&&localStorage.getItem("user_email")&&"no"==localStorage.getItem("is_user_qq")&&!localStorage.getItem("user_qq_email")&&(l.setAttribute("src",localStorage.getItem("user_avatar")),o.value=localStorage.getItem("user_mail"),n.value="",n.value||(i.style.display="none",s.style.display="block")),o.addEventListener("blur",(function(){let t=o.value;0!=e&&c==t||""==t||(l.setAttribute("src",d(t,80)),localStorage.setItem("user_avatar",d(t,80)),localStorage.setItem("user_email",t),localStorage.setItem("user_qq_email",""),localStorage.setItem("is_user_qq","no"),n.value="",n.value||(i.style.display="none",s.style.display="block"))})),localStorage.getItem("user_url")&&(r.value=localStorage.getItem("user_url")),r.addEventListener("blur",(function(){let e=r.value;r.value=e,localStorage.setItem("user_url",e)})),localStorage.getItem("user_author")&&(t.value=localStorage.getItem("user_author")),t.addEventListener("blur",(function(){let e=t.value;t.value=e,localStorage.setItem("user_author",e)}))}const f={respondId:"",moveForm:function(e,t,n){const o=document.getElementById(e),a=document.getElementById(n),r=document.getElementById("cancel-comment-reply-link"),i=document.getElementById("comment_parent");if(this.respondId=n,!document.getElementById("wp-temp-form-div")){const e=document.createElement("div");e.id="wp-temp-form-div",e.style.display="none",a.parentNode.insertBefore(e,a)}if(o)o.parentNode.insertBefore(a,o.nextSibling);else{const e=document.getElementById("wp-temp-form-div");document.getElementById("comment_parent").value="0",e.parentNode.insertBefore(a,e),e.remove()}const s=document.getElementById("respond");window.scrollTo({top:s.getBoundingClientRect().top+window.pageYOffset-s.clientTop-100,behavior:"smooth"}),i.value=t,r.style.display="",r.onclick=function(e){var t=f,n=document.getElementById("wp-temp-form-div"),o=document.getElementById(t.respondId);return document.getElementById("comment_parent").value="0",n&&o&&(n.parentNode.insertBefore(o,n),n.remove()),this.style.display="none",this.onclick=null,!1};try{document.getElementById("comment").focus()}catch(e){}return!1}};var p,h=f,y=n(302);const v={autocomplete:"off",autocorrect:"off",autocapitalize:"off",spellcheck:"false",contenteditable:"false",design:"by Mashiro"};function _(e,t){if(!e.children[0])return;let n="text";const o=e.children[0].className.match(/language-(\w+)/i);o&&(n=o[1]),e.classList.add("highlight-wrap");for(const t in v)e.setAttribute(t,v[t]);t.setAttribute("data-rel",n.toUpperCase())}const b=e=>{const t=e.target;if(t.classList.contains("highlight-wrap")){if(t.classList.contains("code-block-fullscreen"))t.remove();else{const e=t.cloneNode(!0);e.classList.toggle("code-block-fullscreen"),document.body.append(e)}document.documentElement.classList.toggle("code-block-fullscreen-html-scroll")}};async function w(e,t){try{await async function(){try{window.hljs||(window.hljs=(await Promise.all([n.e(857),n.e(128),n.e(980),n.e(49),n.e(82),n.e(930),n.e(529),n.e(420),n.e(223),n.e(302),n.e(587)]).then(n.bind(n,637))).default,await n.e(241).then(n.t.bind(n,5241,23)))}catch(e){console.warn(e)}}();for(let e=0;e{var e;const{light:t,dark:n}=(null==(e=mashiro_option.code_highlight_prism)?void 0:e.theme)??{},o={light:t??"themes/prism.min.css",dark:n??"themes/prism-tomorrow.min.css"};for(const e in o)o[e]=new URL(o[e],S).toString();return o})();function L(e){const t=e?q.dark:q.light;if(E){if(E.href!==t){const e=(0,o.loadCSS)(t);e.addEventListener("load",(()=>{E.remove(),E=e}))}}else E=(0,o.loadCSS)(t)}const I=e=>{L(e.detail)};async function B(e){try{await async function(){try{window.Prism||(L((0,y.N2)()),document.addEventListener("darkmode",I),(0,o.loadCSS)(new URL("plugins/toolbar/prism-toolbar.min.css",S).toString()),(0,o.loadCSS)(new URL("plugins/previewers/prism-previewers.min.css",S).toString()),await n.e(953).then(n.bind(n,3953)),Prism.plugins.autoloader.languages_path=new URL("components/",S).toString())}catch(e){console.warn(e)}}();let t=!1,a=!1;mashiro_option.code_highlight_prism.line_number_all&&(document.querySelector(".entry-content").classList.add("line-numbers"),t=!0);for(const n of e)if(n.parentElement.classList.contains("line-numbers")&&(t=!0),n.classList.contains("match-braces")&&(a=!0,1==t))break;await Promise.all([t&&((0,o.loadCSS)(new URL("plugins/line-numbers/prism-line-numbers.min.css",S).toString()),n.e(759).then(n.t.bind(n,8759,23))),a&&((0,o.loadCSS)(new URL("plugins/match-braces/prism-match-braces.min.css",S).toString()),n.e(873).then(n.t.bind(n,7873,23)))]);for(const t of e)Prism.highlightElement(t);Prism.plugins.fileHighlight&&Prism.plugins.fileHighlight.highlight()}catch(e){console.warn(e)}}var k=n(2605);const T=e=>{const t=e.target;if(t===document.querySelector("#bangumi-pagination a")){if(e.preventDefault(),e.stopPropagation(),t.classList.contains("loading"))return;t.classList.add("loading"),t.textContent="",fetch(t.dataset.href+"&_wpnonce="+Poi.nonce,{method:"POST"}).then((async e=>{const t=await e.json();if(!e.ok)throw Error(`Error,Status:${e.status}`);document.getElementById("bangumi-pagination").remove(),document.querySelector(".row").insertAdjacentHTML("beforeend",t),(0,l.m)()})).catch((e=>{console.error(e),(0,c.f)(e),t.classList.remove("loading"),t.innerHTML=' ERROR '}))}};function j(){const e=document.getElementsByTagName("section");let t=!1;for(let n=0;n0){for(let e=0;e');const{default:e}=await n.e(152).then(n.t.bind(n,2152,23));new e(".copy-code")}}function C(){document.getElementsByClassName("comment_inline_img").length&&document.getElementsByClassName("comments-main")[0].addEventListener("click",(function(e){e.target.classList.contains("comment_inline_img")&&window.open(e.target.src)}))}function A(){document.getElementsByClassName("emoji-item").length&&document.querySelector(".menhera-container").addEventListener("click",(function(e){e.target.classList.contains("emoji-item")&&grin(e.target.innerText,"custom","`","` ")}))}function N(){const e="commentwrap",t=document.getElementById("commentform");if(t){let n=!1;t.addEventListener("submit",(function(t){if(t.stopPropagation(),t.preventDefault(),n)return;const o=(0,c.f)((0,k.__)("提交中...."),!0),a=new FormData(this);a.append("action","ajax_comment"),n=!0,fetch(Poi.ajaxurl,{method:this.attributes.method.value,body:a}).then((async t=>{const n=await t.text();if(t.ok){Array.from(document.getElementsByTagName("textarea")).forEach((e=>e.value=""));const t=document.getElementById("cancel-comment-reply-link"),o=document.getElementById("wp-temp-form-div"),a=document.getElementById(h.respondId);"0"!=document.getElementById("comment_parent").value?document.getElementById("respond").insertAdjacentHTML("beforebegin",''+n+"
"):document.getElementsByClassName(e).length?"asc"==Poi.order?document.getElementsByClassName("commentwrap")[1].insertAdjacentHTML("beforeend",n):document.getElementsByClassName("commentwrap")[1].insertAdjacentHTML("afterbegin",n):"bottom"==Poi.formpostion?document.getElementById("respond").insertAdjacentHTML("beforebegin",''+n+"
"):document.getElementById("respond").insertAdjacentHTML("afterend",''+n+"
"),(0,c.f)((0,k.__)("提交成功")),document.dispatchEvent(new CustomEvent("ajax_comment_complete")),t.style.display="none",t.onclick=null,document.getElementById("comment_parent").value="0",o&&a&&(o.parentNode.insertBefore(a,o),o.remove())}else(0,c.f)(n??"HTTP"+t.status+":"+t.statusText)})).catch((e=>{(0,c.f)(e)})).finally((()=>{o.remove(),n=!1}))}))}}function M(){let e=document.getElementsByClassName("sm"),t=document.querySelector(".comments-main");e.length&&t&&("new"==Poi.reply_link_version&&t.addEventListener("click",(function(e){if(e.target.classList.contains("comment-reply-link")){e.preventDefault(),e.stopPropagation();let t=e.target.getAttribute("data-commentid");h.moveForm("comment-"+t,t,"respond",this.getAttribute("data-postid"))}})),t.addEventListener("click",(e=>{let t=e.target.parentNode;if(t.classList.contains("sm")){let e=(0,k.__)("您真的要设为私密吗?");if(1==confirm(e)){if(t.classList.contains("private_now"))return alert((0,k.__)("您之前已设过私密评论")),!1;{t.classList.add("private_now");let e=t.getAttribute("data-idp"),n=t.getAttribute("data-actionp"),o=t.getElementsByClassName("has_set_private")[0],a="action=siren_private&p_id="+e+"&p_action="+n,r=new XMLHttpRequest;return r.onreadystatechange=function(){4==this.readyState&&200==this.status&&(o.innerHTML=r.responseText)},r.open("POST","/wp-admin/admin-ajax.php",!0),r.setRequestHeader("Content-type","application/x-www-form-urlencoded"),r.send(a),!1}}}})))}function H(){const e=document.querySelector(".toc-container"),t=document.querySelector(".site-content");if(e&&t){const n=()=>{e.style.height=Math.min(t.getBoundingClientRect().height,document.documentElement.offsetHeight-e.offsetTop)+"px"};n(),window.addEventListener("resize",n,{passive:!0})}}function P(e){if(!(document.body.clientWidth<=1200))if(document.querySelector("div.have-toc")||document.querySelector("div.has-toc")){if(e&&document.getElementsByClassName("toc").length>0){const e=n.e(866).then(n.t.bind(n,2866,23)),t="sakurairo"==mashiro_option.entry_content_style?document.querySelector("article.type-post")?document.querySelector("div.pattern-attachment")?-75:200:375:window.innerHeight/2,o=document.querySelectorAll(".entry-content,.links"),a=new Set;let r=1;for(let e=0;e{let{default:n}=e;n.init({tocSelector:".toc",contentSelector:[".entry-content",".links"],headingSelector:"h1,h2,h3,h4,h5",headingsOffset:t-window.innerHeight/2,onClick:null})}))}}else{let e=document.getElementsByClassName("toc-container")[0];e&&(e.remove(),e=null)}}function O(){let e=document.getElementById("emotion-toggle");e&&e.addEventListener("click",(function(){document.querySelector(".emotion-toggle-off").classList.toggle("emotion-hide"),document.querySelector(".emotion-toggle-on").classList.toggle("emotion-show"),document.querySelector(".emotion-box").classList.toggle("emotion-box-show")}))}function R(){const e=document.querySelector(".form-submit #submit");if(null==e)return;if(!mashiro_option.comment_upload_img)return void(e.style.width="100%");e.insertAdjacentHTML("afterend",''),function(){let e=document.getElementsByClassName("insert-image-tips")[0],t=document.getElementById("upload-img-file");t&&t.addEventListener("change",(function(){if(this.files.length>10)return(0,c.f)((0,k.__)("每次上传上限为10张")),0;for(let e=0;e=5242880)return void alert((0,k._$)("图片上传大小限制为5 MB\n\n「{0}」\n\n这张图太大啦~请重新上传噢!",this.files[e].name));for(let t=0;t',(0,c.f)((0,k.__)("上传中..."))})),a.open("POST",buildAPI(Poi.api+"sakura/v1/image/upload"),!0),a.send(o),a.onreadystatechange=function(){if(4!=a.readyState||200!=a.status&&304!=a.status)4==a.readyState&&(e.innerHTML='',alert((0,k.__)("上传失败,请重试.")),setTimeout((function(){e.innerHTML=''}),1e3));else{e.innerHTML='',setTimeout((function(){e.innerHTML=''}),1e3);let t=JSON.parse(a.responseText);if(200==t.status){let e=t.proxy;document.getElementById("upload-img-show").insertAdjacentHTML("afterend",''),(0,l.m)(),(0,c.f)((0,k.__)("图片上传成功~")),grin(e,type="Img")}else(0,c.f)((0,k._$)("上传失败!\n文件名: {0}\ncode: {1}\n{2}",n.name,t.status,t.message),3e3)}}}}))}();const t=document.getElementById("upload-img-file"),n=document.getElementsByClassName("insert-image-tips")[0],o=document.getElementById("uploadTipPopup");t&&(t.addEventListener("mouseenter",(function(){n.classList.toggle("insert-image-tips-hover"),o.classList.toggle("show")})),t.addEventListener("mouseleave",(function(){n.classList.toggle("insert-image-tips-hover"),o.classList.toggle("show")})))}function U(){(0,l.m)(),x(),C(),document.getElementById("upload-img-show").innerHTML=""}function z(){s(),M()}window.addEventListener("popstate",z),C(),x(),j(),M(),A(),O(),P(!0),document.querySelectorAll(".comt-addsmilies").forEach((e=>{e.addEventListener("click",(()=>{"block"==e.stlye.display?e.style.display="none":e.style.display="block"}))})),document.querySelectorAll(".comt-smilies a").forEach((e=>{e.addEventListener("click",(()=>{e.parentNode.style.display="none"}))})),document.addEventListener("ajax_comment_complete",U),document.addEventListener("pjax:complete",(function(){try{R(),s(),j(),P(!0),C(),g(),M(),A(),x(),O(),N(),H()}catch(e){console.warn(e)}})),(0,a.Cd)((function(){s(),N(),document.body.addEventListener("click",(function(e){if(e.target.parentNode==document.getElementById("comments-navi")&&"a"==e.target.nodeName.toLowerCase()){e.preventDefault(),e.stopPropagation();let t=e.target,n=t.pathname,o=new XMLHttpRequest;o.open("GET",t.getAttribute("href"),!0),o.responseType="document",o.onloadstart=()=>{let e=document.getElementById("comments-navi"),t=document.querySelector("ul.commentwrap"),n=document.getElementById("loading-comments"),o=document.getElementById("comments-list-title");e.remove(),t.remove(),n.style.display="block",(0,a.wy)(n,500,"show"),window.scrollTo({top:o.getBoundingClientRect().top+window.pageYOffset-o.clientTop-65,behavior:"smooth"})},o.onreadystatechange=function(){if(4==o.readyState&&200==o.status){let e=o.response,t=e.querySelector("ul.commentwrap"),r=e.getElementById("comments-navi"),i=document.getElementById("loading-comments");(0,a.wy)(i,200,"hide"),document.getElementById("loading-comments").insertAdjacentHTML("afterend",t.outerHTML),document.querySelector("ul.commentwrap").insertAdjacentHTML("afterend",r.outerHTML),(0,l.m)(),window.gtag&>ag("config",Poi.google_analytics_id,{page_path:n}),x(),C();let s=document.querySelector("ul.commentwrap");window.scrollTo({top:s&&s.getBoundingClientRect().top+window.pageYOffset-s.clientTop-200,behavior:"smooth"})}},o.send()}})),g(),R(),H()}))},487:function(e){var t={utf8:{stringToBytes:function(e){return t.bin.stringToBytes(unescape(encodeURIComponent(e)))},bytesToString:function(e){return decodeURIComponent(escape(t.bin.bytesToString(e)))}},bin:{stringToBytes:function(e){for(var t=[],n=0;n>>32-t},rotr:function(e,t){return e<<32-t|e>>>t},endian:function(e){if(e.constructor==Number)return 16711935&n.rotl(e,8)|4278255360&n.rotl(e,24);for(var t=0;t0;e--)t.push(Math.floor(256*Math.random()));return t},bytesToWords:function(e){for(var t=[],n=0,o=0;n>>5]|=e[n]<<24-o%32;return t},wordsToBytes:function(e){for(var t=[],n=0;n<32*e.length;n+=8)t.push(e[n>>>5]>>>24-n%32&255);return t},bytesToHex:function(e){for(var t=[],n=0;n>>4).toString(16)),t.push((15&e[n]).toString(16));return t.join("")},hexToBytes:function(e){for(var t=[],n=0;n>>6*(3-r)&63)):n.push("=");return n.join("")},base64ToBytes:function(e){e=e.replace(/[^A-Z0-9+\/]/gi,"");for(var n=[],o=0,a=0;o>>6-2*a);return n}},e.exports=n},8738:function(e){function t(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}e.exports=function(e){return null!=e&&(t(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&t(e.slice(0,0))}(e)||!!e._isBuffer)}},8508:function(e,t,n){var o={"./autoplay/lg-autoplay.es5.js":[8509,8],"./comment/lg-comment.es5.js":[8080,238],"./fullscreen/lg-fullscreen.es5.js":[2508,846],"./hash/lg-hash.es5.js":[1185,649],"./mediumZoom/lg-medium-zoom.es5.js":[7180,400],"./pager/lg-pager.es5.js":[6220,359],"./relativeCaption/lg-relative-caption.es5.js":[823,515],"./rotate/lg-rotate.es5.js":[4671,893],"./share/lg-share.es5.js":[627,642],"./thumbnail/lg-thumbnail.es5.js":[1997,725],"./video/lg-video.es5.js":[2523,568],"./zoom/lg-zoom.es5.js":[2869,719]};function a(e){if(!n.o(o,e))return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=o[e],a=t[0];return n.e(t[1]).then((function(){return n(a)}))}a.keys=function(){return Object.keys(o)},a.id=8508,e.exports=a},2568:function(e,t,n){var o,a,r,i,s;o=n(1012),a=n(487).utf8,r=n(8738),i=n(487).bin,(s=function(e,t){e.constructor==String?e=t&&"binary"===t.encoding?i.stringToBytes(e):a.stringToBytes(e):r(e)?e=Array.prototype.slice.call(e,0):Array.isArray(e)||e.constructor===Uint8Array||(e=e.toString());for(var n=o.bytesToWords(e),l=8*e.length,c=1732584193,u=-271733879,m=-1732584194,d=271733878,g=0;g>>24)|4278255360&(n[g]<<24|n[g]>>>8);n[l>>>5]|=128<>>9<<4)]=l;var f=s._ff,p=s._gg,h=s._hh,y=s._ii;for(g=0;g>>0,u=u+_>>>0,m=m+b>>>0,d=d+w>>>0}return o.endian([c,u,m,d])})._ff=function(e,t,n,o,a,r,i){var s=e+(t&n|~t&o)+(a>>>0)+i;return(s<>>32-r)+t},s._gg=function(e,t,n,o,a,r,i){var s=e+(t&o|n&~o)+(a>>>0)+i;return(s<>>32-r)+t},s._hh=function(e,t,n,o,a,r,i){var s=e+(t^n^o)+(a>>>0)+i;return(s<>>32-r)+t},s._ii=function(e,t,n,o,a,r,i){var s=e+(n^(t|~o))+(a>>>0)+i;return(s<>>32-r)+t},s._blocksize=16,s._digestsize=16,e.exports=function(e,t){if(null==e)throw new Error("Illegal argument "+e);var n=o.wordsToBytes(s(e,t));return t&&t.asBytes?n:t&&t.asString?i.bytesToString(n):o.bytesToHex(n)}}},function(e){var t;t=5840,e(e.s=t)}]);
+(self.webpackChunksakurairo_scripts=self.webpackChunksakurairo_scripts||[]).push([[768],{4689:function(){const e=[".bili",".menhera",".tieba"];window.motionSwitch=function(t){for(let t=0;tn(8508)(`./${e}/lg-${e}.es5.js`))))).map((e=>"fulfilled"==e.status?e.value.default:console.error("加载lightGallery的插件时出错啦!",e.reason)))},r))}}function s(){!function(){const e=document.getElementsByClassName("collapseButton");if(e.length>0){const t=e=>{(0,a.wy)(e.target.parentNode.parentNode.parentNode.querySelector(".xContent"))};for(const n of e)n.addEventListener("click",t)}}(),i(),async function(){document.getElementsByTagName("math").length>0&&("MathJax"in window||(window.MathJax={svg:{fontCache:"global"},startup:{typeset:!1},chtml:{fontURL:"https://cdn.jsdelivr.net/npm/mathjax/es5/output/chtml/fonts/woff-v2",mathmlSpacing:!0}}),await n.e(490).then(n.t.bind(n,2490,23)),window.MathJax.typeset())}()}var l=n(9791),c=n(9354),u=(n(4689),n(2568)),m=n.n(u);const d=(e,t=80)=>"https://"+Poi.gravatar_url+"/"+m()(e)+".jpg?s="+t+"&d=mm";function g(){let e=!1;const t=document.querySelector("input#author"),n=document.querySelector("input#qq"),o=document.querySelector("input#email"),r=document.querySelector("input#url"),i=document.querySelector(".qq-check"),s=document.querySelector(".gravatar-check"),l=document.querySelector("div.comment-user-avatar img");if(null==t)return;localStorage.getItem("user_qq")||localStorage.getItem("user_qq_email")||localStorage.getItem("user_author")||(n.value=t.value=o.value=r.value=""),localStorage.getItem("user_avatar")&&localStorage.getItem("user_qq")&&localStorage.getItem("user_qq_email")&&(l.setAttribute("src",localStorage.getItem("user_avatar")),t.value=localStorage.getItem("user_author"),o.value=localStorage.getItem("user_qq")+"@qq.com",n.value=localStorage.getItem("user_qq"),mashiro_option.qzone_autocomplete&&(r.value="https://user.qzone.qq.com/"+localStorage.getItem("user_qq")),n.value&&(i.style.display="block",s.style.display="none"));let c=o.value;t.addEventListener("blur",(()=>{const u=t.value;if(/^[1-9]\d{4,9}$/.test(u)){const m=()=>{n.value="",i.style.display="none",s.style.display="block",l.setAttribute("src",d(o.value,80)),localStorage.setItem("user_qq",""),localStorage.setItem("user_email",o.value),localStorage.setItem("user_avatar",d(o.value,80))};fetch((0,a.bf)(mashiro_option.qq_api_url,{qq:u})).then((async a=>{if(a.ok)try{const m=await a.json();t.value=m.name,o.value=u.trim()+"@qq.com",mashiro_option.qzone_autocomplete&&(r.value="https://user.qzone.qq.com/"+u.trim()),l.setAttribute("src","https://q2.qlogo.cn/headimg_dl?dst_uin="+u+"&spec=100"),e=!0,n.value=u.trim(),n.value&&(i.style.display="block",s.style.display="none"),localStorage.setItem("user_author",m.name),localStorage.setItem("user_qq",u),localStorage.setItem("is_user_qq","yes"),localStorage.setItem("user_qq_email",u+"@qq.com"),localStorage.setItem("user_email",u+"@qq.com"),c=o.value,l.setAttribute("src",m.avatar),localStorage.setItem("user_avatar",m.avatar)}catch(e){console.warn(e),m()}else m()}))}})),localStorage.getItem("user_avatar")&&localStorage.getItem("user_email")&&"no"==localStorage.getItem("is_user_qq")&&!localStorage.getItem("user_qq_email")&&(l.setAttribute("src",localStorage.getItem("user_avatar")),o.value=localStorage.getItem("user_mail"),n.value="",n.value||(i.style.display="none",s.style.display="block")),o.addEventListener("blur",(function(){let t=o.value;0!=e&&c==t||""==t||(l.setAttribute("src",d(t,80)),localStorage.setItem("user_avatar",d(t,80)),localStorage.setItem("user_email",t),localStorage.setItem("user_qq_email",""),localStorage.setItem("is_user_qq","no"),n.value="",n.value||(i.style.display="none",s.style.display="block"))})),localStorage.getItem("user_url")&&(r.value=localStorage.getItem("user_url")),r.addEventListener("blur",(function(){let e=r.value;r.value=e,localStorage.setItem("user_url",e)})),localStorage.getItem("user_author")&&(t.value=localStorage.getItem("user_author")),t.addEventListener("blur",(function(){let e=t.value;t.value=e,localStorage.setItem("user_author",e)}))}const f={respondId:"",moveForm:function(e,t,n){const o=document.getElementById(e),a=document.getElementById(n),r=document.getElementById("cancel-comment-reply-link"),i=document.getElementById("comment_parent");if(this.respondId=n,!document.getElementById("wp-temp-form-div")){const e=document.createElement("div");e.id="wp-temp-form-div",e.style.display="none",a.parentNode.insertBefore(e,a)}if(o)o.parentNode.insertBefore(a,o.nextSibling);else{const e=document.getElementById("wp-temp-form-div");document.getElementById("comment_parent").value="0",e.parentNode.insertBefore(a,e),e.remove()}const s=document.getElementById("respond");window.scrollTo({top:s.getBoundingClientRect().top+window.pageYOffset-s.clientTop-100,behavior:"smooth"}),i.value=t,r.style.display="",r.onclick=function(e){var t=f,n=document.getElementById("wp-temp-form-div"),o=document.getElementById(t.respondId);return document.getElementById("comment_parent").value="0",n&&o&&(n.parentNode.insertBefore(o,n),n.remove()),this.style.display="none",this.onclick=null,!1};try{document.getElementById("comment").focus()}catch(e){}return!1}};var p,h=f,y=n(302);const v={autocomplete:"off",autocorrect:"off",autocapitalize:"off",spellcheck:"false",contenteditable:"false",design:"by Mashiro"};function _(e,t){if(!e.children[0])return;let n="text";const o=e.children[0].className.match(/language-(\w+)/i);o&&(n=o[1]),e.classList.add("highlight-wrap");for(const t in v)e.setAttribute(t,v[t]);t.setAttribute("data-rel",n.toUpperCase())}const b=e=>{const t=e.target;if(t.classList.contains("highlight-wrap")){if(t.classList.contains("code-block-fullscreen"))t.remove();else{const e=t.cloneNode(!0);e.classList.toggle("code-block-fullscreen"),document.body.append(e)}document.documentElement.classList.toggle("code-block-fullscreen-html-scroll")}};async function w(e,t){try{await async function(){try{window.hljs||(window.hljs=(await Promise.all([n.e(857),n.e(128),n.e(980),n.e(49),n.e(82),n.e(930),n.e(529),n.e(420),n.e(223),n.e(302),n.e(587)]).then(n.bind(n,637))).default,await n.e(241).then(n.t.bind(n,5241,23)))}catch(e){console.warn(e)}}();for(let e=0;e{var e;const{light:t,dark:n}=(null==(e=mashiro_option.code_highlight_prism)?void 0:e.theme)??{},o={light:t??"themes/prism.min.css",dark:n??"themes/prism-tomorrow.min.css"};for(const e in o)o[e]=new URL(o[e],S).toString();return o})();function L(e){const t=e?q.dark:q.light;if(E){if(E.href!==t){const e=(0,o.loadCSS)(t);e.addEventListener("load",(()=>{E.remove(),E=e}))}}else E=(0,o.loadCSS)(t)}const I=e=>{L(e.detail)};async function B(e){try{await async function(){try{window.Prism||(L((0,y.N2)()),document.addEventListener("darkmode",I),(0,o.loadCSS)(new URL("plugins/toolbar/prism-toolbar.min.css",S).toString()),(0,o.loadCSS)(new URL("plugins/previewers/prism-previewers.min.css",S).toString()),await n.e(953).then(n.bind(n,3953)),Prism.plugins.autoloader.languages_path=new URL("components/",S).toString())}catch(e){console.warn(e)}}();let t=!1,a=!1;mashiro_option.code_highlight_prism.line_number_all&&(document.querySelector(".entry-content").classList.add("line-numbers"),t=!0);for(const n of e)if(n.parentElement.classList.contains("line-numbers")&&(t=!0),n.classList.contains("match-braces")&&(a=!0,1==t))break;await Promise.all([t&&((0,o.loadCSS)(new URL("plugins/line-numbers/prism-line-numbers.min.css",S).toString()),n.e(759).then(n.t.bind(n,8759,23))),a&&((0,o.loadCSS)(new URL("plugins/match-braces/prism-match-braces.min.css",S).toString()),n.e(873).then(n.t.bind(n,7873,23)))]);for(const t of e)Prism.highlightElement(t);Prism.plugins.fileHighlight&&Prism.plugins.fileHighlight.highlight()}catch(e){console.warn(e)}}var k=n(2605);const T=e=>{const t=e.target;if(t===document.querySelector("#bangumi-pagination a")){if(e.preventDefault(),e.stopPropagation(),t.classList.contains("loading"))return;t.classList.add("loading"),t.textContent="",fetch(t.dataset.href+"&_wpnonce="+Poi.nonce,{method:"POST"}).then((async e=>{const t=await e.json();if(!e.ok)throw Error(`Error,Status:${e.status}`);document.getElementById("bangumi-pagination").remove(),document.querySelector(".row").insertAdjacentHTML("beforeend",t),(0,l.m)()})).catch((e=>{console.error(e),(0,c.f)(e),t.classList.remove("loading"),t.innerHTML=' ERROR '}))}};function j(){const e=document.getElementsByTagName("section");let t=!1;for(let n=0;n0){for(let e=0;e');const{default:e}=await n.e(152).then(n.t.bind(n,2152,23));new e(".copy-code")}}function C(){document.getElementsByClassName("comment_inline_img").length&&document.getElementsByClassName("comments-main")[0].addEventListener("click",(function(e){e.target.classList.contains("comment_inline_img")&&window.open(e.target.src)}))}function A(){document.getElementsByClassName("emoji-item").length&&document.querySelector(".menhera-container").addEventListener("click",(function(e){e.target.classList.contains("emoji-item")&&grin(e.target.innerText,"custom","`","` ")}))}function N(){const e="commentwrap",t=document.getElementById("commentform");if(t){let n=!1;t.addEventListener("submit",(function(t){if(t.stopPropagation(),t.preventDefault(),n)return;const o=(0,c.f)((0,k.__)("提交中...."),!0),a=new FormData(this);a.append("action","ajax_comment"),n=!0,fetch(Poi.ajaxurl,{method:this.attributes.method.value,body:a}).then((async t=>{const n=await t.text();if(t.ok){Array.from(document.getElementsByTagName("textarea")).forEach((e=>e.value=""));const t=document.getElementById("cancel-comment-reply-link"),o=document.getElementById("wp-temp-form-div"),a=document.getElementById(h.respondId);"0"!=document.getElementById("comment_parent").value?document.getElementById("respond").insertAdjacentHTML("beforebegin",''+n+"
"):document.getElementsByClassName(e).length?"asc"==Poi.order?document.getElementsByClassName("commentwrap")[1].insertAdjacentHTML("beforeend",n):document.getElementsByClassName("commentwrap")[1].insertAdjacentHTML("afterbegin",n):"bottom"==Poi.formpostion?document.getElementById("respond").insertAdjacentHTML("beforebegin",''+n+"
"):document.getElementById("respond").insertAdjacentHTML("afterend",''+n+"
"),(0,c.f)((0,k.__)("提交成功")),document.dispatchEvent(new CustomEvent("ajax_comment_complete")),t.style.display="none",t.onclick=null,document.getElementById("comment_parent").value="0",o&&a&&(o.parentNode.insertBefore(a,o),o.remove())}else(0,c.f)(n??"HTTP"+t.status+":"+t.statusText)})).catch((e=>{(0,c.f)(e)})).finally((()=>{o.remove(),n=!1}))}))}}function M(){let e=document.getElementsByClassName("sm"),t=document.querySelector(".comments-main");e.length&&t&&("new"==Poi.reply_link_version&&t.addEventListener("click",(function(e){if(e.target.classList.contains("comment-reply-link")){e.preventDefault(),e.stopPropagation();let t=e.target.getAttribute("data-commentid");h.moveForm("comment-"+t,t,"respond",this.getAttribute("data-postid"))}})),t.addEventListener("click",(e=>{let t=e.target.parentNode;if(t.classList.contains("sm")){let e=(0,k.__)("您真的要设为私密吗?");if(1==confirm(e)){if(t.classList.contains("private_now"))return alert((0,k.__)("您之前已设过私密评论")),!1;{t.classList.add("private_now");let e=t.getAttribute("data-idp"),n=t.getAttribute("data-actionp"),o=t.getElementsByClassName("has_set_private")[0],a="action=siren_private&p_id="+e+"&p_action="+n,r=new XMLHttpRequest;return r.onreadystatechange=function(){4==this.readyState&&200==this.status&&(o.innerHTML=r.responseText)},r.open("POST","/wp-admin/admin-ajax.php",!0),r.setRequestHeader("Content-type","application/x-www-form-urlencoded"),r.send(a),!1}}}})))}function H(){const e=document.querySelector(".toc-container"),t=document.querySelector(".site-content");if(e&&t){const n=()=>{e.style.height=Math.min(t.getBoundingClientRect().height,document.documentElement.offsetHeight-e.offsetTop)+"px"};n(),window.addEventListener("resize",n,{passive:!0})}}function P(e){if(!(document.body.clientWidth<=1200))if(document.querySelector("div.have-toc")||document.querySelector("div.has-toc")){if(e&&document.getElementsByClassName("toc").length>0){const e=n.e(866).then(n.t.bind(n,2866,23)),t="sakurairo"==mashiro_option.entry_content_style?document.querySelector("article.type-post")?document.querySelector("div.pattern-attachment")?-75:200:375:window.innerHeight/2,o=document.querySelectorAll(".entry-content,.links"),a=new Set;let r=1;for(let e=0;e{let{default:n}=e;n.init({tocSelector:".toc",contentSelector:[".entry-content",".links"],headingSelector:"h1,h2,h3,h4,h5",headingsOffset:t-window.innerHeight/2,onClick:null})}))}}else{let e=document.getElementsByClassName("toc-container")[0];e&&(e.remove(),e=null)}}function O(){let e=document.getElementById("emotion-toggle");e&&e.addEventListener("click",(function(){document.querySelector(".emotion-toggle-off").classList.toggle("emotion-hide"),document.querySelector(".emotion-toggle-on").classList.toggle("emotion-show"),document.querySelector(".emotion-box").classList.toggle("emotion-box-show")}))}function R(){const e=document.querySelector(".form-submit #submit");if(null==e)return;if(!mashiro_option.comment_upload_img)return void(e.style.width="100%");e.insertAdjacentHTML("afterend",''),function(){let e=document.getElementsByClassName("insert-image-tips")[0],t=document.getElementById("upload-img-file");t&&t.addEventListener("change",(function(){if(this.files.length>10)return(0,c.f)((0,k.__)("每次上传上限为10张")),0;for(let e=0;e=5242880)return void alert((0,k._$)("图片上传大小限制为5 MB\n\n「{0}」\n\n这张图太大啦~请重新上传噢!",this.files[e].name));for(let t=0;t',(0,c.f)((0,k.__)("上传中..."))})),a.open("POST",buildAPI(Poi.api+"sakura/v1/image/upload"),!0),a.send(o),a.onreadystatechange=function(){if(4!=a.readyState||200!=a.status&&304!=a.status)4==a.readyState&&(e.innerHTML='',alert((0,k.__)("上传失败,请重试.")),setTimeout((function(){e.innerHTML=''}),1e3));else{e.innerHTML='',setTimeout((function(){e.innerHTML=''}),1e3);let t=JSON.parse(a.responseText);if(200==t.status){let e=t.proxy;document.getElementById("upload-img-show").insertAdjacentHTML("afterend",''),(0,l.m)(),(0,c.f)((0,k.__)("图片上传成功~")),grin(e,type="Img")}else(0,c.f)((0,k._$)("上传失败!\n文件名: {0}\ncode: {1}\n{2}",n.name,t.status,t.message),3e3)}}}}))}();const t=document.getElementById("upload-img-file"),n=document.getElementsByClassName("insert-image-tips")[0],o=document.getElementById("uploadTipPopup");t&&(t.addEventListener("mouseenter",(function(){n.classList.toggle("insert-image-tips-hover"),o.classList.toggle("show")})),t.addEventListener("mouseleave",(function(){n.classList.toggle("insert-image-tips-hover"),o.classList.toggle("show")})))}function U(){(0,l.m)(),x(),C(),document.getElementById("upload-img-show").innerHTML=""}function z(){s(),M()}window.addEventListener("popstate",z),C(),x(),j(),M(),A(),O(),P(!0),document.querySelectorAll(".comt-addsmilies").forEach((e=>{e.addEventListener("click",(()=>{"block"==e.stlye.display?e.style.display="none":e.style.display="block"}))})),document.querySelectorAll(".comt-smilies a").forEach((e=>{e.addEventListener("click",(()=>{e.parentNode.style.display="none"}))})),document.addEventListener("ajax_comment_complete",U),document.addEventListener("pjax:complete",(function(){try{R(),s(),j(),P(!0),C(),g(),M(),A(),x(),O(),N(),H()}catch(e){console.warn(e)}})),(0,a.Cd)((function(){s(),N(),document.body.addEventListener("click",(function(e){if(e.target.parentNode==document.getElementById("comments-navi")&&"a"==e.target.nodeName.toLowerCase()){e.preventDefault(),e.stopPropagation();let t=e.target,n=t.pathname,o=new XMLHttpRequest;o.open("GET",t.getAttribute("href"),!0),o.responseType="document",o.onloadstart=()=>{let e=document.getElementById("comments-navi"),t=document.querySelector("ul.commentwrap"),n=document.getElementById("loading-comments"),o=document.getElementById("comments-list-title");e.remove(),t.remove(),n.style.display="block",(0,a.wy)(n,500,"show"),window.scrollTo({top:o.getBoundingClientRect().top+window.pageYOffset-o.clientTop-65,behavior:"smooth"})},o.onreadystatechange=function(){if(4==o.readyState&&200==o.status){let e=o.response,t=e.querySelector("ul.commentwrap"),r=e.getElementById("comments-navi"),i=document.getElementById("loading-comments");(0,a.wy)(i,200,"hide"),document.getElementById("loading-comments").insertAdjacentHTML("afterend",t.outerHTML),document.querySelector("ul.commentwrap").insertAdjacentHTML("afterend",r.outerHTML),(0,l.m)(),window.gtag&>ag("config",Poi.google_analytics_id,{page_path:n}),x(),C();let s=document.querySelector("ul.commentwrap");window.scrollTo({top:s&&s.getBoundingClientRect().top+window.pageYOffset-s.clientTop-200,behavior:"smooth"})}},o.send()}})),g(),R(),H()}))},487:function(e){var t={utf8:{stringToBytes:function(e){return t.bin.stringToBytes(unescape(encodeURIComponent(e)))},bytesToString:function(e){return decodeURIComponent(escape(t.bin.bytesToString(e)))}},bin:{stringToBytes:function(e){for(var t=[],n=0;n>>32-t},rotr:function(e,t){return e<<32-t|e>>>t},endian:function(e){if(e.constructor==Number)return 16711935&n.rotl(e,8)|4278255360&n.rotl(e,24);for(var t=0;t0;e--)t.push(Math.floor(256*Math.random()));return t},bytesToWords:function(e){for(var t=[],n=0,o=0;n>>5]|=e[n]<<24-o%32;return t},wordsToBytes:function(e){for(var t=[],n=0;n<32*e.length;n+=8)t.push(e[n>>>5]>>>24-n%32&255);return t},bytesToHex:function(e){for(var t=[],n=0;n>>4).toString(16)),t.push((15&e[n]).toString(16));return t.join("")},hexToBytes:function(e){for(var t=[],n=0;n>>6*(3-r)&63)):n.push("=");return n.join("")},base64ToBytes:function(e){e=e.replace(/[^A-Z0-9+\/]/gi,"");for(var n=[],o=0,a=0;o>>6-2*a);return n}},e.exports=n},8738:function(e){function t(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}e.exports=function(e){return null!=e&&(t(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&t(e.slice(0,0))}(e)||!!e._isBuffer)}},8508:function(e,t,n){var o={"./autoplay/lg-autoplay.es5.js":[8509,8],"./comment/lg-comment.es5.js":[8080,238],"./fullscreen/lg-fullscreen.es5.js":[2508,846],"./hash/lg-hash.es5.js":[1185,649],"./mediumZoom/lg-medium-zoom.es5.js":[7180,400],"./pager/lg-pager.es5.js":[6220,359],"./relativeCaption/lg-relative-caption.es5.js":[823,515],"./rotate/lg-rotate.es5.js":[4671,893],"./share/lg-share.es5.js":[627,642],"./thumbnail/lg-thumbnail.es5.js":[1997,725],"./video/lg-video.es5.js":[2523,568],"./zoom/lg-zoom.es5.js":[2869,719]};function a(e){if(!n.o(o,e))return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=o[e],a=t[0];return n.e(t[1]).then((function(){return n(a)}))}a.keys=function(){return Object.keys(o)},a.id=8508,e.exports=a},2568:function(e,t,n){var o,a,r,i,s;o=n(1012),a=n(487).utf8,r=n(8738),i=n(487).bin,(s=function(e,t){e.constructor==String?e=t&&"binary"===t.encoding?i.stringToBytes(e):a.stringToBytes(e):r(e)?e=Array.prototype.slice.call(e,0):Array.isArray(e)||e.constructor===Uint8Array||(e=e.toString());for(var n=o.bytesToWords(e),l=8*e.length,c=1732584193,u=-271733879,m=-1732584194,d=271733878,g=0;g>>24)|4278255360&(n[g]<<24|n[g]>>>8);n[l>>>5]|=128<>>9<<4)]=l;var f=s._ff,p=s._gg,h=s._hh,y=s._ii;for(g=0;g>>0,u=u+_>>>0,m=m+b>>>0,d=d+w>>>0}return o.endian([c,u,m,d])})._ff=function(e,t,n,o,a,r,i){var s=e+(t&n|~t&o)+(a>>>0)+i;return(s<>>32-r)+t},s._gg=function(e,t,n,o,a,r,i){var s=e+(t&o|n&~o)+(a>>>0)+i;return(s<>>32-r)+t},s._hh=function(e,t,n,o,a,r,i){var s=e+(t^n^o)+(a>>>0)+i;return(s<>>32-r)+t},s._ii=function(e,t,n,o,a,r,i){var s=e+(n^(t|~o))+(a>>>0)+i;return(s<>>32-r)+t},s._blocksize=16,s._digestsize=16,e.exports=function(e,t){if(null==e)throw new Error("Illegal argument "+e);var n=o.wordsToBytes(s(e,t));return t&&t.asBytes?n:t&&t.asString?i.bytesToString(n):o.bytesToHex(n)}}},function(e){var t;t=5840,e(e.s=t)}]);
//# sourceMappingURL=page.js.map
\ No newline at end of file
diff --git a/js/page.js.LICENSE.txt b/js/page.js.LICENSE.txt
index e6a88488..ac2b2b2c 100644
--- a/js/page.js.LICENSE.txt
+++ b/js/page.js.LICENSE.txt
@@ -5,4 +5,4 @@
* @license MIT
*/
-//! build 3a6b1dd 2021/11/24
+//! build 627cc5b 2021/11/24
diff --git a/js/page.js.map b/js/page.js.map
index 2ec5506a..4802c76d 100644
--- a/js/page.js.map
+++ b/js/page.js.map
@@ -1 +1 @@
-{"version":3,"file":"page.js","mappings":"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","sources":["webpack://sakurairo-scripts/./src/page/global-func.js","webpack://sakurairo-scripts/./node_modules/tslib/tslib.es6.js","webpack://sakurairo-scripts/./src/page/article_attach.ts","webpack://sakurairo-scripts/./src/page/gravatar.ts","webpack://sakurairo-scripts/./src/page/getqqinfo.js","webpack://sakurairo-scripts/./src/page/AddComment.ts","webpack://sakurairo-scripts/./src/page/code_highlight.js","webpack://sakurairo-scripts/./src/page/bangumi.ts","webpack://sakurairo-scripts/./src/page/index.js","webpack://sakurairo-scripts/./node_modules/charenc/charenc.js","webpack://sakurairo-scripts/./node_modules/crypt/crypt.js","webpack://sakurairo-scripts/./node_modules/is-buffer/index.js","webpack://sakurairo-scripts/./node_modules/lightgallery/plugins|lazy|/^\\.\\/.*\\/lg\\-.*\\.es5\\.js$/|chunkName: lg-plugin-|groupOptions: {}|namespace object","webpack://sakurairo-scripts/./node_modules/md5/md5.js"],"sourcesContent":["\nconst motionEles = [\".bili\", \".menhera\", \".tieba\"];\nfunction motionSwitch(ele) {\n for (let i = 0; i < motionEles.length; i++) {\n document.querySelector(motionEles[i] + '-bar').classList.remove('on-hover');\n document.querySelector(motionEles[i] + '-container').style.display = 'none';\n }\n document.querySelector(ele + '-bar').classList.add(\"on-hover\");\n document.querySelector(ele + '-container').style.display = 'block';\n}\nfunction grin(tag, type, before, after) {\n let myField;\n switch (type) {\n case \"custom\": tag = before + tag + after; break;\n case \"Img\": tag = '[img]' + tag + '[/img]'; break;\n case \"Math\": tag = ' {{' + tag + '}} '; break;\n case \"tieba\": tag = ' ::' + tag + ':: '; break;\n default: tag = ' :' + tag + ': ';\n }\n if (document.getElementById('comment') && document.getElementById('comment').type == 'textarea') {\n myField = document.getElementById('comment');\n } else {\n return false;\n }\n if (document.selection) {\n myField.focus();\n sel = document.selection.createRange();\n sel.text = tag;\n myField.focus();\n } else if (myField.selectionStart || myField.selectionStart == '0') {\n let startPos = myField.selectionStart,\n endPos = myField.selectionEnd,\n cursorPos = endPos;\n myField.value = myField.value.substring(0, startPos) + tag + myField.value.substring(endPos, myField.value.length);\n cursorPos += tag.length;\n myField.focus();\n myField.selectionStart = cursorPos;\n myField.selectionEnd = cursorPos;\n } else {\n myField.value += tag;\n myField.focus();\n }\n}\nwindow.motionSwitch = motionSwitch\nwindow.grin = grin","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { __rest } from \"tslib\";\nimport { loadCSS } from 'fg-loadcss';\nimport { slideToggle } from '../common/util';\nfunction collapse() {\n //收缩、展开\n /* jQuery(document).ready(\n function(jQuery){\n jQuery('.collapseButton').click(function(){\n jQuery(this).parent().parent().find('.xContent').slideToggle('slow');\n });\n }) */\n const collapseButtons = document.getElementsByClassName('collapseButton');\n if (collapseButtons.length > 0) {\n const collapseListener = (e) => {\n slideToggle(e.target.parentNode.parentNode.parentNode.querySelector(\".xContent\"));\n // e.parentNode.parentNode.querySelector(\".xContent\")\n };\n for (const ele of collapseButtons) {\n ele.addEventListener(\"click\", collapseListener);\n }\n // import('jquery').then(({ default: jQuery }) => {\n // jQuery('.collapseButton').on(\"click\", function () {\n // jQuery(this).parent().parent().find('.xContent').slideToggle('slow');\n // })\n // })\n }\n}\nlet lightBoxCSS;\nasync function lightbox() {\n //init lightbox\n if (mashiro_option.baguetteBoxON) {\n if (!lightBoxCSS)\n lightBoxCSS = loadCSS('https://cdn.jsdelivr.net/npm/baguettebox.js@1.11.1/dist/baguetteBox.min.css');\n //@ts-ignore\n const { default: baguetteBox } = await import('baguettebox.js');\n baguetteBox.run('.entry-content', {\n captions: function (element) {\n return element.getElementsByTagName('img')[0].alt;\n },\n ignoreClass: 'fancybox',\n });\n }\n else if (mashiro_option.fancybox) {\n if (!lightBoxCSS)\n lightBoxCSS = loadCSS('https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.css');\n if (!((window.jQuery instanceof Function) || (window.$ instanceof Function))) {\n //@ts-ignore\n const jQuery = await import('jquery');\n window.jQuery = jQuery.default;\n window.$ = jQuery.default;\n }\n //@ts-ignore\n import('@fancyapps/fancybox');\n }\n else if (mashiro_option.lightGallery) {\n //@ts-ignore\n const { default: lightGallery } = await import('lightgallery/lib/index.js');\n const _a = mashiro_option.lightGallery, { plugins } = _a, opts = __rest(_a, [\"plugins\"]);\n loadCSS('https://cdn.jsdelivr.net/npm/lightgallery@2.3.0/css/lightgallery-bundle.min.css');\n lightGallery(document.querySelector('.entry-content'), Object.assign({ plugins: (await Promise.allSettled(plugins.map(moduleName => import(\n /* webpackChunkName: \"lg-plugin-\" */\n `lightgallery/plugins/${moduleName}/lg-${moduleName}.es5.js`)))).map(result => result.status == 'fulfilled' ? result.value.default : console.error('加载lightGallery的插件时出错啦!', result.reason)) }, opts));\n }\n}\nasync function math() {\n if (document.getElementsByTagName('math').length > 0) {\n if (!('MathJax' in window)) {\n //@ts-ignore\n window.MathJax = {\n svg: {\n fontCache: 'global'\n }, startup: {\n typeset: false, // Perform initial typeset?\n }, chtml: {\n fontURL: \"https://cdn.jsdelivr.net/npm/mathjax/es5/output/chtml/fonts/woff-v2\",\n mathmlSpacing: true // true for MathML spacing rules, false for TeX rules\n }\n };\n }\n //@ts-ignore\n await import('mathjax/es5/mml-chtml');\n //@ts-ignore\n window.MathJax.typeset();\n }\n}\nexport default function article_attach() {\n collapse();\n lightbox();\n math();\n}\n","import MD5 from 'md5';\n/**\n * Gravatar\n * from a6cd66c 11.third-part-functions.js\n */\nexport const get_gravatar = (email, size = 80) => 'https://' + Poi.gravatar_url + '/' + MD5(email) + '.jpg?s=' + size + '&d=mm';\n","import { buildAPI } from '../common/util'\nimport { get_gravatar } from './gravatar'\n\nexport default function getqqinfo() {\n let is_get_by_qq = false;\n const i_author = document.querySelector(\"input#author\"),\n i_qq = document.querySelector(\"input#qq\"),\n i_email = document.querySelector(\"input#email\"),\n i_url = document.querySelector(\"input#url\"),\n qq_check = document.querySelector(\".qq-check\"),\n gravatar_check = document.querySelector(\".gravatar-check\"),\n user_avatar_img = document.querySelector(\"div.comment-user-avatar img\");\n if (i_author == null) return;\n if (!localStorage.getItem('user_qq') && !localStorage.getItem('user_qq_email') && !localStorage.getItem('user_author')) {\n i_qq.value = i_author.value = i_email.value = i_url.value = \"\";\n }\n if (localStorage.getItem('user_avatar') && localStorage.getItem('user_qq') && localStorage.getItem('user_qq_email')) {\n user_avatar_img.setAttribute('src', localStorage.getItem('user_avatar'));\n i_author.value = localStorage.getItem('user_author');\n i_email.value = localStorage.getItem('user_qq') + '@qq.com';\n i_qq.value = localStorage.getItem('user_qq');\n if (mashiro_option.qzone_autocomplete) {\n i_url.value = 'https://user.qzone.qq.com/' + localStorage.getItem('user_qq');\n }\n if (i_qq.value) {\n qq_check.style.display = \"block\";\n gravatar_check.style.display = \"none\";\n }\n }\n let emailAddressFlag = i_email.value;\n //var emailAddressFlag = cached.filter('#email').val();\n i_author.addEventListener('blur', () => {\n // })\n //cached.filter('#author').on('blur', function () {\n const qq = i_author.value,\n reg_QQ = /^[1-9]\\d{4,9}$/;\n if (reg_QQ.test(qq)) {\n const whileFailed = () => {\n i_qq.value = '';\n qq_check.style.display = 'none';\n gravatar_check.style.display = 'block';\n user_avatar_img.setAttribute('src', get_gravatar(i_email.value, 80));\n localStorage.setItem('user_qq', '');\n localStorage.setItem('user_email', i_email.value);\n localStorage.setItem('user_avatar', get_gravatar(i_email.value, 80));\n /***/\n /* qq.value = email.value = url.value = \"\";\n if (!qq.value) {\n qq_check.style.display = 'none';\n gravatar_check.style.display = 'block';\n setCookie('user_qq', '', 30);\n user_avatar_img.setAttribute('src', get_gravatar(email.value, 80));\n setCookie('user_avatar', get_gravatar(email.value, 80), 30);\n } */\n }\n fetch(buildAPI(mashiro_option.qq_api_url, { qq: qq }))\n .then(async resp => {\n if (resp.ok) {\n //success\n try {\n const data = await resp.json()\n i_author.value = data.name;\n i_email.value = qq.trim() + '@qq.com';\n if (mashiro_option.qzone_autocomplete) {\n i_url.value = 'https://user.qzone.qq.com/' + qq.trim();\n }\n user_avatar_img.setAttribute('src', 'https://q2.qlogo.cn/headimg_dl?dst_uin=' + qq + '&spec=100');\n is_get_by_qq = true;\n i_qq.value = qq.trim();\n if (i_qq.value) {\n qq_check.style.display = 'block';\n gravatar_check.style.display = 'none';\n }\n localStorage.setItem('user_author', data.name);\n localStorage.setItem('user_qq', qq);\n localStorage.setItem('is_user_qq', 'yes');\n localStorage.setItem('user_qq_email', qq + '@qq.com');\n localStorage.setItem('user_email', qq + '@qq.com');\n emailAddressFlag = i_email.value;\n /***/\n user_avatar_img.setAttribute('src', data.avatar);\n localStorage.setItem('user_avatar', data.avatar);\n } catch (e) {\n console.warn(e)\n whileFailed()\n }\n } else {\n whileFailed()\n }\n })\n }\n });\n if (localStorage.getItem('user_avatar') && localStorage.getItem('user_email') && localStorage.getItem('is_user_qq') == 'no' && !localStorage.getItem('user_qq_email')) {\n user_avatar_img.setAttribute(\"src\", localStorage.getItem('user_avatar'));\n i_email.value = localStorage.getItem('user_mail');\n i_qq.value = '';\n if (!i_qq.value) {\n qq_check.style.display = \"none\";\n gravatar_check.style.display = \"block\";\n }\n // $('div.comment-user-avatar img').attr('src', getCookie('user_avatar'));\n // cached.filter('#email').val(getCookie('user_email'));\n // cached.filter('#qq').val('');\n // if (!cached.filter('#qq').val()) {\n // $('.qq-check').css('display', 'none');\n // $('.gravatar-check').css('display', 'block');\n // }\n }\n i_email.addEventListener(\"blur\", function () {\n //cached.filter('#email').on('blur', function () {\n let emailAddress = i_email.value;\n // var emailAddress = cached.filter('#email').val();\n if ((is_get_by_qq == false || emailAddressFlag != emailAddress) && emailAddress != '') {\n user_avatar_img.setAttribute(\"src\", get_gravatar(emailAddress, 80));\n //$('div.comment-user-avatar img').attr('src', get_gravatar(emailAddress, 80));\n localStorage.setItem('user_avatar', get_gravatar(emailAddress, 80));\n localStorage.setItem('user_email', emailAddress);\n localStorage.setItem('user_qq_email', '');\n localStorage.setItem('is_user_qq', 'no');\n i_qq.value = '';\n // cached.filter('#qq').val('');\n if (!i_qq.value) {\n qq_check.style.display = \"none\";\n gravatar_check.style.display = \"block\";\n // $('.qq-check').css('display', 'none');\n // $('.gravatar-check').css('display', 'block');\n }\n }\n });\n if (localStorage.getItem('user_url')) {\n i_url.value = localStorage.getItem(\"user_url\");\n // cached.filter('#url').val(getCookie('user_url'));\n }\n i_url.addEventListener(\"blur\", function () {\n //cached.filter('#url').on('blur', function () {\n let URL_Address = i_url.value;\n i_url.value = URL_Address;\n // var URL_Address = cached.filter('#url').val();\n // cached.filter('#url').val(URL_Address);\n localStorage.setItem('user_url', URL_Address);\n });\n if (localStorage.getItem('user_author')) {\n i_author.value = localStorage.getItem('user_author');\n // cached.filter('#author').val(getCookie('user_author'));\n }\n i_author.addEventListener(\"blur\", function () {\n // cached.filter('#author').on('blur', function () {\n let user_name = i_author.value;\n i_author.value = user_name;\n // var user_name = cached.filter('#author').val();\n // cached.filter('#author').val(user_name);\n localStorage.setItem('user_author', user_name);\n });\n}","const AddComment = {\n respondId: '',\n moveForm: function (commId, parentId, respondId) {\n const comm = document.getElementById(commId), respond = document.getElementById(respondId), cancel = document.getElementById('cancel-comment-reply-link'), parent = document.getElementById('comment_parent');\n //post = document.getElementById('comment_post_ID');\n this.respondId = respondId;\n if (!document.getElementById('wp-temp-form-div')) {\n const div = document.createElement('div');\n div.id = 'wp-temp-form-div';\n div.style.display = 'none';\n respond.parentNode.insertBefore(div, respond);\n }\n if (!comm) {\n const temp = document.getElementById('wp-temp-form-div');\n document.getElementById('comment_parent').value = '0';\n temp.parentNode.insertBefore(respond, temp);\n temp.remove();\n }\n else {\n comm.parentNode.insertBefore(respond, comm.nextSibling);\n }\n const _respond = document.getElementById(\"respond\");\n window.scrollTo({\n top: _respond.getBoundingClientRect().top + window.pageYOffset - _respond.clientTop - 100,\n behavior: \"smooth\"\n });\n parent.value = parentId;\n cancel.style.display = '';\n cancel.onclick = function (e) {\n var t = AddComment, temp = document.getElementById('wp-temp-form-div'), respond = document.getElementById(t.respondId);\n document.getElementById('comment_parent').value = '0';\n if (temp && respond) {\n temp.parentNode.insertBefore(respond, temp);\n temp.remove();\n //temp.parentNode.removeChild(temp);\n }\n this.style.display = 'none';\n this.onclick = null;\n return false;\n };\n try {\n document.getElementById('comment').focus();\n }\n catch (e) { }\n return false;\n },\n};\nexport default AddComment;\n","import { isInDarkMode } from '../sakura-app/darkmode'\nimport { loadCSS } from 'fg-loadcss'\nconst attributes = {\n 'autocomplete': 'off',\n 'autocorrect': 'off',\n 'autocapitalize': 'off',\n 'spellcheck': 'false',\n 'contenteditable': 'false',\n 'design': 'by Mashiro'\n}\nfunction gen_top_bar(pre, code_a) {\n if (!pre.children[0]) return\n let lang = 'text'\n const className = pre.children[0].className\n const matchResult = className.match(/language-(\\w+)/i)\n if (matchResult) {\n lang = matchResult[1]\n }\n pre.classList.add(\"highlight-wrap\");\n for (const t in attributes) {\n pre.setAttribute(t, attributes[t]);\n }\n code_a.setAttribute('data-rel', lang.toUpperCase());\n}\nasync function importHighlightjs() {\n try {\n if (!window.hljs) {\n window.hljs = (await import('highlight.js')).default\n await import('highlightjs-line-numbers.js')\n }\n } catch (e) {\n console.warn(e)\n }\n}\nconst hljs_click_callback = (e) => {\n const element = e.target\n if (!element.classList.contains(\"highlight-wrap\")) return;\n if (element.classList.contains('code-block-fullscreen')) {\n element.remove()\n } else {\n const cloneElement = element.cloneNode(true)\n cloneElement.classList.toggle(\"code-block-fullscreen\")\n document.body.append(cloneElement)\n }\n document.documentElement.classList.toggle('code-block-fullscreen-html-scroll');\n}\nexport function deattchHljsCallback() {\n document.body.removeEventListener(\"click\", hljs_click_callback)\n}\nexport async function hljs_process(pre, code) {\n try {\n await importHighlightjs()\n for (let i = 0; i < code.length; i++) {\n hljs.highlightElement(code[i]);\n }\n for (let i = 0; i < pre.length; i++) {\n gen_top_bar(pre[i], code[i]);\n }\n hljs.initLineNumbersOnLoad();\n document.body.addEventListener(\"click\", hljs_click_callback)\n } catch (e) {\n console.warn(e)\n }\n}\n//Prism\nconst PrismBaseUrl = mashiro_option.code_highlight_prism?.autoload_path ?? 'https://cdn.jsdelivr.net/npm/prismjs@1.23.0/'\nlet currentPrismThemeCSS = undefined\nconst themeCSS = (() => {\n const { light, dark } = mashiro_option.code_highlight_prism?.theme ?? {}\n const theme = {\n light: light ?? 'themes/prism.min.css',\n dark: dark ?? 'themes/prism-tomorrow.min.css',\n }\n for (const theme_name in theme) {\n theme[theme_name] = new URL(theme[theme_name], PrismBaseUrl).toString()\n }\n return theme\n})()\n\nfunction loadPrismCSS(darkmodeOn) {\n const nextCSS = darkmodeOn ? themeCSS.dark : themeCSS.light\n if (currentPrismThemeCSS) {\n if (currentPrismThemeCSS.href !== nextCSS) {\n const nextCSSElement = loadCSS(nextCSS)\n nextCSSElement.addEventListener('load', () => {\n currentPrismThemeCSS.remove()\n currentPrismThemeCSS = nextCSSElement\n })\n }\n } else {\n currentPrismThemeCSS = loadCSS(nextCSS)\n }\n}\n\nconst prism_darkmode_callback = (e) => {\n loadPrismCSS(e.detail)\n}\nexport const deattachPrismCallback = () => document.removeEventListener('darkmode', prism_darkmode_callback)\nasync function importPrismJS() {\n try {\n if (!window.Prism) {\n loadPrismCSS(isInDarkMode())\n document.addEventListener('darkmode', prism_darkmode_callback)\n //必备插件全家桶\n loadCSS(new URL('plugins/toolbar/prism-toolbar.min.css', PrismBaseUrl).toString())\n loadCSS(new URL('plugins/previewers/prism-previewers.min.css', PrismBaseUrl).toString())\n await import('./prism_pack')\n Prism.plugins.autoloader.languages_path = new URL('components/', PrismBaseUrl).toString()\n }\n } catch (reason) {\n console.warn(reason)\n }\n}\nfunction loadPrismPluginLineNumbers() {\n loadCSS(new URL('plugins/line-numbers/prism-line-numbers.min.css', PrismBaseUrl).toString())\n return import('prismjs/plugins/line-numbers/prism-line-numbers')\n}\nfunction loadPrismMatchBraces() {\n loadCSS(new URL('plugins/match-braces/prism-match-braces.min.css', PrismBaseUrl).toString())\n return import('prismjs/plugins/match-braces/prism-match-braces')\n}\n/**\n * \n * @param {NodeListOf} code document.querySelectorAll(\"pre code\")\n */\nexport async function prism_process(code) {\n try {\n await importPrismJS()\n let loadLineNumber = false\n let loadMatchBraces = false\n if (mashiro_option.code_highlight_prism.line_number_all) {\n document.querySelector('.entry-content').classList.add('line-numbers')\n loadLineNumber = true\n }\n for (const ele of code) {\n if (ele.parentElement.classList.contains('line-numbers')) {\n loadLineNumber = true\n }\n if (ele.classList.contains('match-braces')) {\n loadMatchBraces = true\n if (loadLineNumber == true) {\n break\n }\n }\n }\n await Promise.all([loadLineNumber && loadPrismPluginLineNumbers(), loadMatchBraces && loadPrismMatchBraces()])\n for (const ele of code) {\n Prism.highlightElement(ele)\n }\n Prism.plugins.fileHighlight && Prism.plugins.fileHighlight.highlight()\n } catch (error) {\n console.warn(error)\n }\n}","import { createButterbar } from \"../common/butterbar\";\nimport { lazyload } from 'lazyload';\nconst bgmlistener = (e) => {\n const target = e.target;\n if (target === document.querySelector(\"#bangumi-pagination a\")) {\n e.preventDefault();\n e.stopPropagation();\n if (target.classList.contains(\"loading\"))\n return;\n target.classList.add(\"loading\");\n target.textContent = \"\";\n fetch(target.dataset.href + \"&_wpnonce=\" + Poi.nonce, {\n method: \"POST\"\n })\n .then(async (res) => {\n const data = await res.json();\n if (res.ok) {\n document.getElementById(\"bangumi-pagination\").remove();\n document.querySelector(\".row\").insertAdjacentHTML('beforeend', data);\n //@ts-ignore\n lazyload();\n }\n else {\n throw Error(`Error,Status:${res.status}`);\n }\n })\n .catch(e => {\n console.error(e);\n createButterbar(e);\n target.classList.remove(\"loading\");\n target.innerHTML = ' ERROR ';\n });\n }\n};\nexport default function load_bangumi() {\n const sections = document.getElementsByTagName(\"section\");\n let _flag = false;\n for (let i = 0; i < sections.length; i++) {\n if (sections[i].classList.contains(\"bangumi\")) {\n _flag = true;\n break;\n }\n }\n if (_flag) {\n document.addEventListener('click', bgmlistener);\n }\n}\n","import article_attach from './article_attach'\nimport { min, ready, slideToggle } from '../common/util'\nimport { lazyload } from 'lazyload'\nimport { createButterbar } from '../common/butterbar'\nimport './global-func'\nimport getqqinfo from './getqqinfo'\nimport addComment from './AddComment'\nimport { hljs_process, prism_process, deattachPrismCallback, deattchHljsCallback } from './code_highlight'\nimport { _$, __ } from '../sakura-app/sakurairo_global'\nimport load_bangumi from './bangumi'\nasync function code_highlight_style() {\n const pre = document.getElementsByTagName(\"pre\"),\n code = document.querySelectorAll(\"pre code\");\n if (!pre.length) {\n switch (mashiro_option.code_highlight) {\n case 'hljs':\n deattchHljsCallback()\n return\n case 'prism':\n deattachPrismCallback()\n return\n default:\n }\n }\n switch (mashiro_option.code_highlight) {\n case 'hljs':\n await hljs_process(pre, code)\n break\n case 'prism':\n await prism_process(code)\n break\n case 'custom': return\n default:\n console.warn(`mashiro_option.code_highlight这咋填的是个${mashiro_option.code_highlight}啊🤔`)\n }\n //copy_code_block\n if (code.length > 0) {\n for (let j = 0; j < code.length; j++) {\n code[j].setAttribute('id', 'code-block-' + j);\n code[j].insertAdjacentHTML('afterend', '');\n };\n const { default: ClipboardJS } = await import('clipboard')\n new ClipboardJS('.copy-code');\n }\n}\nfunction click_to_view_image() {\n const comment_inline = document.getElementsByClassName('comment_inline_img');\n if (!comment_inline.length) return;\n document.getElementsByClassName(\"comments-main\")[0].addEventListener(\"click\", function (e) {\n if (e.target.classList.contains(\"comment_inline_img\")) {\n window.open(e.target.src);\n }\n })\n}\nfunction clean_upload_images() {\n document.getElementById(\"upload-img-show\").innerHTML = '';\n}\nfunction original_emoji_click() {\n const emoji = document.getElementsByClassName('emoji-item');\n if (!emoji.length) return;\n document.querySelector(\".menhera-container\").addEventListener(\"click\", function (e) {\n if (e.target.classList.contains(\"emoji-item\")) {\n grin(e.target.innerText, \"custom\", \"`\", \"` \");\n }\n })\n}\nfunction XCS() {\n const __list = 'commentwrap';\n const form = document.getElementById(\"commentform\")\n if (form) {\n let statusSubmitting = false\n form.addEventListener('submit', function (event) {\n event.stopPropagation()\n event.preventDefault();\n if (statusSubmitting) return\n const butterBarRef = createButterbar(__(\"提交中....\"), true)\n const form = new FormData(this)\n form.append('action', 'ajax_comment')\n statusSubmitting = true\n fetch(Poi.ajaxurl, {\n method: this.attributes.method.value,\n body: form\n }).then(async resp => {\n const data = await resp.text()\n if (resp.ok) {\n Array.from(document.getElementsByTagName('textarea'))\n .forEach((e) => e.value = '')\n const cancel = document.getElementById('cancel-comment-reply-link'),\n temp = document.getElementById('wp-temp-form-div'),\n respond = document.getElementById(addComment.respondId),\n //post = document.getElementById('comment_post_ID').value,\n parent = document.getElementById('comment_parent').value;\n if (parent != '0') {\n //jQuery('#respond').before('' + data + '
');\n document.getElementById(\"respond\").insertAdjacentHTML('beforebegin', '' + data + '
');\n } else if (!document.getElementsByClassName(__list).length) {\n if (Poi.formpostion == 'bottom') {\n document.getElementById(\"respond\").insertAdjacentHTML('beforebegin', '' + data + '
');\n //jQuery('#respond').before('' + data + '
');\n } else {\n document.getElementById(\"respond\").insertAdjacentHTML('afterend', '' + data + '
');\n //jQuery('#respond').after('' + data + '
');\n }\n } else {\n if (Poi.order == 'asc') {\n document.getElementsByClassName(\"commentwrap\")[1].insertAdjacentHTML('beforeend', data);\n //jQuery('.' + __list).append(data);\n } else {\n document.getElementsByClassName(\"commentwrap\")[1].insertAdjacentHTML('afterbegin', data);\n //jQuery('.' + __list).prepend(data);\n }\n }\n createButterbar(__(\"提交成功\"));\n document.dispatchEvent(new CustomEvent('ajax_comment_complete',))\n cancel.style.display = 'none';\n cancel.onclick = null;\n document.getElementById('comment_parent').value = '0';\n if (temp && respond) {\n temp.parentNode.insertBefore(respond, temp);\n temp.remove();\n //temp.parentNode.removeChild(temp)\n }\n } else {\n createButterbar(data ?? 'HTTP' + resp.status + ':' + resp.statusText);\n }\n }).catch(reason => {\n createButterbar(reason);\n }).finally(() => {\n butterBarRef.remove()\n statusSubmitting = false\n })\n /* jQuery.ajax({\n url: Poi.ajaxurl,\n data: jQuery(this).serialize() + \"&action=ajax_comment\",\n type: jQuery(this).attr('method'),\n beforeSend: createButterbar(\"提交中(Commiting)....\"),\n error: function (request) {\n var t = addComment;\n t.createButterbar(request.responseText);\n },\n success: function (data) {\n jQuery('textarea').each(function () {\n this.value = ''\n });\n var t = addComment,\n cancel = t.I('cancel-comment-reply-link'),\n temp = t.I('wp-temp-form-div'),\n respond = t.I(t.respondId),\n post = t.I('comment_post_ID').value,\n parent = t.I('comment_parent').value;\n if (parent != '0') {\n jQuery('#respond').before('' + data + '
');\n } else if (!jQuery('.' + __list).length) {\n if (Poi.formpostion == 'bottom') {\n jQuery('#respond').before('' + data + '
');\n } else {\n jQuery('#respond').after('' + data + '
');\n }\n } else {\n if (Poi.order == 'asc') {\n jQuery('.' + __list).append(data);\n } else {\n jQuery('.' + __list).prepend(data);\n }\n }\n t.createButterbar(\"提交成功(Succeed)\");\n lazyload();\n code_highlight_style();\n click_to_view_image();\n clean_upload_images();\n cancel.style.display = 'none';\n cancel.onclick = null;\n t.I('comment_parent').value = '0';\n if (temp && respond) {\n temp.parentNode.insertBefore(respond, temp);\n temp.remove();\n //temp.parentNode.removeChild(temp)\n }\n }\n }); */\n })\n }\n}\n\nfunction XCP() {\n document.body.addEventListener('click', function (e) {\n if (e.target.parentNode == document.getElementById(\"comments-navi\") && e.target.nodeName.toLowerCase() == \"a\") {\n e.preventDefault();\n e.stopPropagation();\n let _this = e.target,\n path = _this.pathname,\n _xhr = new XMLHttpRequest();\n _xhr.open(\"GET\", _this.getAttribute('href'), true);\n _xhr.responseType = \"document\";\n _xhr.onloadstart = () => {\n let comments_navi = document.getElementById(\"comments-navi\"),\n commentwrap = document.querySelector(\"ul.commentwrap\"),\n loading_comments = document.getElementById(\"loading-comments\"),\n comments_list = document.getElementById(\"comments-list-title\");\n comments_navi.remove();\n commentwrap.remove();\n //comments_navi.parentNode.removeChild(comments_navi);\n //commentwrap.parentNode.removeChild(commentwrap);\n loading_comments.style.display = \"block\";\n slideToggle(loading_comments, 500, \"show\");\n window.scrollTo({\n top: comments_list.getBoundingClientRect().top + window.pageYOffset - comments_list.clientTop - 65,\n behavior: \"smooth\"\n });\n }\n _xhr.onreadystatechange = function () {\n if (_xhr.readyState == 4 && _xhr.status == 200) {\n let json = _xhr.response,\n result = json.querySelector(\"ul.commentwrap\"),\n nextlink = json.getElementById(\"comments-navi\"),\n loading_comments = document.getElementById(\"loading-comments\");\n slideToggle(loading_comments, 200, \"hide\");\n document.getElementById(\"loading-comments\").insertAdjacentHTML('afterend', result.outerHTML);\n document.querySelector(\"ul.commentwrap\").insertAdjacentHTML('afterend', nextlink.outerHTML);\n lazyload();\n if (window.gtag) {\n gtag('config', Poi.google_analytics_id, {\n 'page_path': path\n });\n }\n code_highlight_style();\n click_to_view_image();\n let commentwrap = document.querySelector(\"ul.commentwrap\");\n window.scrollTo({\n top: commentwrap && (commentwrap.getBoundingClientRect().top + window.pageYOffset - commentwrap.clientTop - 200),\n behavior: \"smooth\"\n });\n }\n }\n _xhr.send();\n }\n });\n}\nfunction sm() {\n let sm = document.getElementsByClassName('sm'),\n cm = document.querySelector(\".comments-main\");\n if (!sm.length) return;\n if (cm) {\n if (Poi.reply_link_version == 'new') {\n cm.addEventListener(\"click\", function (e) {\n if (e.target.classList.contains(\"comment-reply-link\")) {\n e.preventDefault();\n e.stopPropagation();\n let data_commentid = e.target.getAttribute(\"data-commentid\");\n addComment.moveForm(\"comment-\" + data_commentid, data_commentid, \"respond\", this.getAttribute(\"data-postid\"));\n }\n })\n }\n cm.addEventListener(\"click\", (e) => {\n let list = e.target.parentNode;\n if (list.classList.contains(\"sm\")) {\n let msg = __(\"您真的要设为私密吗?\");\n if (confirm(msg) == true) {\n if (list.classList.contains('private_now')) {\n alert(__('您之前已设过私密评论'));\n return false;\n } else {\n list.classList.add('private_now');\n let idp = list.getAttribute(\"data-idp\"),\n actionp = list.getAttribute(\"data-actionp\"),\n rateHolderp = list.getElementsByClassName('has_set_private')[0];\n let ajax_data = \"action=siren_private&p_id=\" + idp + \"&p_action=\" + actionp;\n let request = new XMLHttpRequest();\n request.onreadystatechange = function () {\n if (this.readyState == 4 && this.status == 200) {\n rateHolderp.innerHTML = request.responseText;\n }\n };\n request.open('POST', '/wp-admin/admin-ajax.php', true);\n request.setRequestHeader(\"Content-type\", \"application/x-www-form-urlencoded\");\n request.send(ajax_data);\n return false;\n }\n }\n }\n })\n }\n\n}\nfunction resizeTOC() {\n const toc_container = document.querySelector(\".toc-container\"),\n sc = document.querySelector(\".site-content\")\n if (toc_container && sc) {\n const resize = () => {\n toc_container.style.height = Math.min(sc.getBoundingClientRect()[\"height\"], document.documentElement.offsetHeight - toc_container.offsetTop) + \"px\";\n }\n resize()\n //TODO:性能\n window.addEventListener('resize', resize, { passive: true })\n }\n}\nfunction tableOfContentScroll(flag) {\n if (document.body.clientWidth <= 1200) {\n return;\n } else if (!document.querySelector(\"div.have-toc\") && !document.querySelector(\"div.has-toc\")) {\n let ele = document.getElementsByClassName(\"toc-container\")[0];\n if (ele) {\n ele.remove();\n ele = null;\n }\n } else {\n if (flag && document.getElementsByClassName('toc').length > 0) {\n const reqTocbot = import('tocbot')\n const heading_fix = mashiro_option.entry_content_style == \"sakurairo\" ? (document.querySelector(\"article.type-post\") ? (document.querySelector(\"div.pattern-attachment\") ? -75 : 200) : 375) : window.innerHeight / 2;\n const _els = document.querySelectorAll('.entry-content,.links');\n const idSet = new Set()\n let id = 1\n for (let i = 0; i < _els.length; i++) {\n let _el = _els[i].querySelectorAll('h1,h2,h3,h4,h5');\n for (const title of _el) {\n const innerText = encodeURIComponent(txt.replace(' ', '-'))(title.innerText)\n if (idSet.has(innerText)) {\n title.id = \"toc-head-\" + id++;\n } else {\n title.id = innerText\n idSet.add(innerText)\n }\n }\n }\n reqTocbot.then(({ default: tocbot }) => {\n tocbot.init({\n tocSelector: '.toc',\n contentSelector: ['.entry-content', '.links'],\n headingSelector: 'h1,h2,h3,h4,h5',\n headingsOffset: heading_fix - window.innerHeight / 2,\n onClick: null\n });\n })\n }\n }\n}\n/**\n * 上传图片提示\n */\nfunction attach_image() {\n let cached = document.getElementsByClassName(\"insert-image-tips\")[0],\n upload_img = document.getElementById('upload-img-file');\n if (!upload_img) return;\n upload_img.addEventListener(\"change\", (function () {\n if (this.files.length > 10) {\n createButterbar(__(\"每次上传上限为10张\"));\n return 0;\n }\n for (let i = 0; i < this.files.length; i++) {\n if (this.files[i].size >= 5242880) {\n alert(_$('图片上传大小限制为5 MB\\n\\n「{0}」\\n\\n这张图太大啦~请重新上传噢!', this.files[i].name));\n return;\n }\n }\n for (let i = 0; i < this.files.length; i++) {\n let f = this.files[i],\n formData = new FormData(),\n xhr = new XMLHttpRequest();\n formData.append('cmt_img_file', f);\n xhr.addEventListener('loadstart', function () {\n cached.innerHTML = '';\n createButterbar(__(\"上传中...\"));\n });\n xhr.open(\"POST\", buildAPI(Poi.api + 'sakura/v1/image/upload'), true);\n xhr.send(formData);\n xhr.onreadystatechange = function () {\n if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 304)) {\n cached.innerHTML = '';\n setTimeout(function () {\n cached.innerHTML = '';\n }, 1000);\n let res = JSON.parse(xhr.responseText);\n if (res.status == 200) {\n let get_the_url = res.proxy;\n document.getElementById(\"upload-img-show\").insertAdjacentHTML('afterend', '');\n lazyload();\n createButterbar(__(\"图片上传成功~\"));\n grin(get_the_url, type = 'Img');\n } else {\n createButterbar(_$('上传失败!\\n文件名: {0}\\ncode: {1}\\n{2}', f.name, res.status, res.message), 3000)\n }\n } else if (xhr.readyState == 4) {\n cached.innerHTML = '';\n alert(__(\"上传失败,请重试.\"));\n setTimeout(function () {\n cached.innerHTML = '';\n }, 1000);\n }\n }\n };\n }));\n}\nfunction smileBoxToggle() {\n let et = document.getElementById(\"emotion-toggle\");\n et && et.addEventListener('click', function () {\n document.querySelector('.emotion-toggle-off').classList.toggle(\"emotion-hide\");\n document.querySelector('.emotion-toggle-on').classList.toggle(\"emotion-show\");\n document.querySelector('.emotion-box').classList.toggle(\"emotion-box-show\");\n })\n}\n/**\n * 添加上传图片的提示\n */\nfunction add_upload_tips() {\n const form_submit = document.querySelector('.form-submit #submit');\n if (form_submit == null) return;\n if (!mashiro_option.comment_upload_img) {\n form_submit.style.width = '100%'\n return\n }\n form_submit.insertAdjacentHTML('afterend', '
');\n attach_image();\n\n const file_submit = document.getElementById('upload-img-file'),\n hover = document.getElementsByClassName('insert-image-tips')[0],\n Tip = document.getElementById('uploadTipPopup');\n if (!file_submit) return;\n file_submit.addEventListener(\"mouseenter\", function () {\n hover.classList.toggle('insert-image-tips-hover');\n Tip.classList.toggle('show');\n });\n file_submit.addEventListener(\"mouseleave\", function () {\n hover.classList.toggle('insert-image-tips-hover');\n Tip.classList.toggle('show');\n });\n}\nfunction addComtListener() {\n document.querySelectorAll(\".comt-addsmilies\").forEach((e) => {\n e.addEventListener(\"click\", () => {\n if (e.stlye.display == \"block\") {\n e.style.display = \"none\";\n } else {\n e.style.display = \"block\";\n }\n })\n })\n document.querySelectorAll(\".comt-smilies a\").forEach((e) => {\n e.addEventListener(\"click\", () => {\n e.parentNode.style.display = \"none\";\n })\n })\n}\nfunction afterAjaxCommentComplete() {\n lazyload();\n code_highlight_style();\n click_to_view_image();\n clean_upload_images();\n}\n\n// #region LifeCycle\nfunction whilePopstate() {\n article_attach()\n sm()\n}\nfunction whileReady() {\n article_attach()\n XCS()\n XCP()\n getqqinfo()\n add_upload_tips()\n resizeTOC()\n}\nfunction whilePjaxComplete() {\n try {\n add_upload_tips()\n article_attach()\n load_bangumi();\n tableOfContentScroll(true);\n click_to_view_image()\n getqqinfo()\n sm()\n original_emoji_click()\n code_highlight_style()\n smileBoxToggle()\n XCS()\n resizeTOC()\n } catch (e) {\n console.warn(e)\n }\n}\nfunction whileLoaded() {\n window.addEventListener('popstate', whilePopstate)\n click_to_view_image()\n code_highlight_style()\n load_bangumi();\n sm()\n original_emoji_click()\n smileBoxToggle()\n tableOfContentScroll(true);\n addComtListener()\n document.addEventListener('ajax_comment_complete', afterAjaxCommentComplete)\n}\nwhileLoaded()\ndocument.addEventListener('pjax:complete', whilePjaxComplete)\nready(whileReady)\n//#endregion","var charenc = {\n // UTF-8 encoding\n utf8: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));\n }\n },\n\n // Binary encoding\n bin: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n for (var bytes = [], i = 0; i < str.length; i++)\n bytes.push(str.charCodeAt(i) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n for (var str = [], i = 0; i < bytes.length; i++)\n str.push(String.fromCharCode(bytes[i]));\n return str.join('');\n }\n }\n};\n\nmodule.exports = charenc;\n","(function() {\n var base64map\n = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n\n crypt = {\n // Bit-wise rotation left\n rotl: function(n, b) {\n return (n << b) | (n >>> (32 - b));\n },\n\n // Bit-wise rotation right\n rotr: function(n, b) {\n return (n << (32 - b)) | (n >>> b);\n },\n\n // Swap big-endian to little-endian and vice versa\n endian: function(n) {\n // If number given, swap endian\n if (n.constructor == Number) {\n return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;\n }\n\n // Else, assume array and swap all items\n for (var i = 0; i < n.length; i++)\n n[i] = crypt.endian(n[i]);\n return n;\n },\n\n // Generate an array of any length of random bytes\n randomBytes: function(n) {\n for (var bytes = []; n > 0; n--)\n bytes.push(Math.floor(Math.random() * 256));\n return bytes;\n },\n\n // Convert a byte array to big-endian 32-bit words\n bytesToWords: function(bytes) {\n for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n words[b >>> 5] |= bytes[i] << (24 - b % 32);\n return words;\n },\n\n // Convert big-endian 32-bit words to a byte array\n wordsToBytes: function(words) {\n for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a hex string\n bytesToHex: function(bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xF).toString(16));\n }\n return hex.join('');\n },\n\n // Convert a hex string to a byte array\n hexToBytes: function(hex) {\n for (var bytes = [], c = 0; c < hex.length; c += 2)\n bytes.push(parseInt(hex.substr(c, 2), 16));\n return bytes;\n },\n\n // Convert a byte array to a base-64 string\n bytesToBase64: function(bytes) {\n for (var base64 = [], i = 0; i < bytes.length; i += 3) {\n var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n for (var j = 0; j < 4; j++)\n if (i * 8 + j * 6 <= bytes.length * 8)\n base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));\n else\n base64.push('=');\n }\n return base64.join('');\n },\n\n // Convert a base-64 string to a byte array\n base64ToBytes: function(base64) {\n // Remove non-base-64 characters\n base64 = base64.replace(/[^A-Z0-9+\\/]/ig, '');\n\n for (var bytes = [], i = 0, imod4 = 0; i < base64.length;\n imod4 = ++i % 4) {\n if (imod4 == 0) continue;\n bytes.push(((base64map.indexOf(base64.charAt(i - 1))\n & (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2))\n | (base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));\n }\n return bytes;\n }\n };\n\n module.exports = crypt;\n})();\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n","var map = {\n\t\"./autoplay/lg-autoplay.es5.js\": [\n\t\t8509,\n\t\t8\n\t],\n\t\"./comment/lg-comment.es5.js\": [\n\t\t8080,\n\t\t238\n\t],\n\t\"./fullscreen/lg-fullscreen.es5.js\": [\n\t\t2508,\n\t\t846\n\t],\n\t\"./hash/lg-hash.es5.js\": [\n\t\t1185,\n\t\t649\n\t],\n\t\"./mediumZoom/lg-medium-zoom.es5.js\": [\n\t\t7180,\n\t\t400\n\t],\n\t\"./pager/lg-pager.es5.js\": [\n\t\t6220,\n\t\t359\n\t],\n\t\"./relativeCaption/lg-relative-caption.es5.js\": [\n\t\t823,\n\t\t515\n\t],\n\t\"./rotate/lg-rotate.es5.js\": [\n\t\t4671,\n\t\t893\n\t],\n\t\"./share/lg-share.es5.js\": [\n\t\t627,\n\t\t642\n\t],\n\t\"./thumbnail/lg-thumbnail.es5.js\": [\n\t\t1997,\n\t\t725\n\t],\n\t\"./video/lg-video.es5.js\": [\n\t\t2523,\n\t\t568\n\t],\n\t\"./zoom/lg-zoom.es5.js\": [\n\t\t2869,\n\t\t719\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function() { return Object.keys(map); };\nwebpackAsyncContext.id = 8508;\nmodule.exports = webpackAsyncContext;","(function(){\r\n var crypt = require('crypt'),\r\n utf8 = require('charenc').utf8,\r\n isBuffer = require('is-buffer'),\r\n bin = require('charenc').bin,\r\n\r\n // The core\r\n md5 = function (message, options) {\r\n // Convert to byte array\r\n if (message.constructor == String)\r\n if (options && options.encoding === 'binary')\r\n message = bin.stringToBytes(message);\r\n else\r\n message = utf8.stringToBytes(message);\r\n else if (isBuffer(message))\r\n message = Array.prototype.slice.call(message, 0);\r\n else if (!Array.isArray(message) && message.constructor !== Uint8Array)\r\n message = message.toString();\r\n // else, assume byte array already\r\n\r\n var m = crypt.bytesToWords(message),\r\n l = message.length * 8,\r\n a = 1732584193,\r\n b = -271733879,\r\n c = -1732584194,\r\n d = 271733878;\r\n\r\n // Swap endian\r\n for (var i = 0; i < m.length; i++) {\r\n m[i] = ((m[i] << 8) | (m[i] >>> 24)) & 0x00FF00FF |\r\n ((m[i] << 24) | (m[i] >>> 8)) & 0xFF00FF00;\r\n }\r\n\r\n // Padding\r\n m[l >>> 5] |= 0x80 << (l % 32);\r\n m[(((l + 64) >>> 9) << 4) + 14] = l;\r\n\r\n // Method shortcuts\r\n var FF = md5._ff,\r\n GG = md5._gg,\r\n HH = md5._hh,\r\n II = md5._ii;\r\n\r\n for (var i = 0; i < m.length; i += 16) {\r\n\r\n var aa = a,\r\n bb = b,\r\n cc = c,\r\n dd = d;\r\n\r\n a = FF(a, b, c, d, m[i+ 0], 7, -680876936);\r\n d = FF(d, a, b, c, m[i+ 1], 12, -389564586);\r\n c = FF(c, d, a, b, m[i+ 2], 17, 606105819);\r\n b = FF(b, c, d, a, m[i+ 3], 22, -1044525330);\r\n a = FF(a, b, c, d, m[i+ 4], 7, -176418897);\r\n d = FF(d, a, b, c, m[i+ 5], 12, 1200080426);\r\n c = FF(c, d, a, b, m[i+ 6], 17, -1473231341);\r\n b = FF(b, c, d, a, m[i+ 7], 22, -45705983);\r\n a = FF(a, b, c, d, m[i+ 8], 7, 1770035416);\r\n d = FF(d, a, b, c, m[i+ 9], 12, -1958414417);\r\n c = FF(c, d, a, b, m[i+10], 17, -42063);\r\n b = FF(b, c, d, a, m[i+11], 22, -1990404162);\r\n a = FF(a, b, c, d, m[i+12], 7, 1804603682);\r\n d = FF(d, a, b, c, m[i+13], 12, -40341101);\r\n c = FF(c, d, a, b, m[i+14], 17, -1502002290);\r\n b = FF(b, c, d, a, m[i+15], 22, 1236535329);\r\n\r\n a = GG(a, b, c, d, m[i+ 1], 5, -165796510);\r\n d = GG(d, a, b, c, m[i+ 6], 9, -1069501632);\r\n c = GG(c, d, a, b, m[i+11], 14, 643717713);\r\n b = GG(b, c, d, a, m[i+ 0], 20, -373897302);\r\n a = GG(a, b, c, d, m[i+ 5], 5, -701558691);\r\n d = GG(d, a, b, c, m[i+10], 9, 38016083);\r\n c = GG(c, d, a, b, m[i+15], 14, -660478335);\r\n b = GG(b, c, d, a, m[i+ 4], 20, -405537848);\r\n a = GG(a, b, c, d, m[i+ 9], 5, 568446438);\r\n d = GG(d, a, b, c, m[i+14], 9, -1019803690);\r\n c = GG(c, d, a, b, m[i+ 3], 14, -187363961);\r\n b = GG(b, c, d, a, m[i+ 8], 20, 1163531501);\r\n a = GG(a, b, c, d, m[i+13], 5, -1444681467);\r\n d = GG(d, a, b, c, m[i+ 2], 9, -51403784);\r\n c = GG(c, d, a, b, m[i+ 7], 14, 1735328473);\r\n b = GG(b, c, d, a, m[i+12], 20, -1926607734);\r\n\r\n a = HH(a, b, c, d, m[i+ 5], 4, -378558);\r\n d = HH(d, a, b, c, m[i+ 8], 11, -2022574463);\r\n c = HH(c, d, a, b, m[i+11], 16, 1839030562);\r\n b = HH(b, c, d, a, m[i+14], 23, -35309556);\r\n a = HH(a, b, c, d, m[i+ 1], 4, -1530992060);\r\n d = HH(d, a, b, c, m[i+ 4], 11, 1272893353);\r\n c = HH(c, d, a, b, m[i+ 7], 16, -155497632);\r\n b = HH(b, c, d, a, m[i+10], 23, -1094730640);\r\n a = HH(a, b, c, d, m[i+13], 4, 681279174);\r\n d = HH(d, a, b, c, m[i+ 0], 11, -358537222);\r\n c = HH(c, d, a, b, m[i+ 3], 16, -722521979);\r\n b = HH(b, c, d, a, m[i+ 6], 23, 76029189);\r\n a = HH(a, b, c, d, m[i+ 9], 4, -640364487);\r\n d = HH(d, a, b, c, m[i+12], 11, -421815835);\r\n c = HH(c, d, a, b, m[i+15], 16, 530742520);\r\n b = HH(b, c, d, a, m[i+ 2], 23, -995338651);\r\n\r\n a = II(a, b, c, d, m[i+ 0], 6, -198630844);\r\n d = II(d, a, b, c, m[i+ 7], 10, 1126891415);\r\n c = II(c, d, a, b, m[i+14], 15, -1416354905);\r\n b = II(b, c, d, a, m[i+ 5], 21, -57434055);\r\n a = II(a, b, c, d, m[i+12], 6, 1700485571);\r\n d = II(d, a, b, c, m[i+ 3], 10, -1894986606);\r\n c = II(c, d, a, b, m[i+10], 15, -1051523);\r\n b = II(b, c, d, a, m[i+ 1], 21, -2054922799);\r\n a = II(a, b, c, d, m[i+ 8], 6, 1873313359);\r\n d = II(d, a, b, c, m[i+15], 10, -30611744);\r\n c = II(c, d, a, b, m[i+ 6], 15, -1560198380);\r\n b = II(b, c, d, a, m[i+13], 21, 1309151649);\r\n a = II(a, b, c, d, m[i+ 4], 6, -145523070);\r\n d = II(d, a, b, c, m[i+11], 10, -1120210379);\r\n c = II(c, d, a, b, m[i+ 2], 15, 718787259);\r\n b = II(b, c, d, a, m[i+ 9], 21, -343485551);\r\n\r\n a = (a + aa) >>> 0;\r\n b = (b + bb) >>> 0;\r\n c = (c + cc) >>> 0;\r\n d = (d + dd) >>> 0;\r\n }\r\n\r\n return crypt.endian([a, b, c, d]);\r\n };\r\n\r\n // Auxiliary functions\r\n md5._ff = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & c | ~b & d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._gg = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & d | c & ~d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._hh = function (a, b, c, d, x, s, t) {\r\n var n = a + (b ^ c ^ d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._ii = function (a, b, c, d, x, s, t) {\r\n var n = a + (c ^ (b | ~d)) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n\r\n // Package private blocksize\r\n md5._blocksize = 16;\r\n md5._digestsize = 16;\r\n\r\n module.exports = function (message, options) {\r\n if (message === undefined || message === null)\r\n throw new Error('Illegal argument ' + message);\r\n\r\n var digestbytes = crypt.wordsToBytes(md5(message, options));\r\n return options && options.asBytes ? digestbytes :\r\n options && options.asString ? bin.bytesToString(digestbytes) :\r\n crypt.bytesToHex(digestbytes);\r\n };\r\n\r\n})();\r\n"],"names":["motionEles","window","motionSwitch","ele","i","length","document","querySelector","classList","remove","style","display","add","grin","tag","type","before","after","myField","getElementById","selection","focus","sel","createRange","text","selectionStart","startPos","endPos","selectionEnd","cursorPos","value","substring","Object","create","lightBoxCSS","async","lightbox","mashiro_option","baguetteBoxON","loadCSS","default","baguetteBox","run","captions","element","getElementsByTagName","alt","ignoreClass","fancybox","jQuery","Function","$","lightGallery","_a","plugins","opts","s","e","t","p","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__rest","assign","Promise","allSettled","map","moduleName","result","status","console","error","reason","article_attach","collapseButtons","getElementsByClassName","collapseListener","target","parentNode","addEventListener","collapse","MathJax","svg","fontCache","startup","typeset","chtml","fontURL","mathmlSpacing","math","get_gravatar","email","size","Poi","gravatar_url","getqqinfo","is_get_by_qq","i_author","i_qq","i_email","i_url","qq_check","gravatar_check","user_avatar_img","localStorage","getItem","setAttribute","qzone_autocomplete","emailAddressFlag","qq","test","whileFailed","setItem","fetch","buildAPI","qq_api_url","then","resp","ok","data","json","name","trim","avatar","warn","emailAddress","URL_Address","user_name","AddComment","respondId","moveForm","commId","parentId","comm","respond","cancel","parent","this","div","createElement","id","insertBefore","nextSibling","temp","_respond","scrollTo","top","getBoundingClientRect","pageYOffset","clientTop","behavior","onclick","attributes","gen_top_bar","pre","code_a","children","lang","matchResult","className","match","toUpperCase","hljs_click_callback","contains","cloneElement","cloneNode","toggle","body","append","documentElement","hljs_process","code","hljs","importHighlightjs","highlightElement","initLineNumbersOnLoad","PrismBaseUrl","code_highlight_prism","autoload_path","currentPrismThemeCSS","themeCSS","light","dark","theme","theme_name","URL","toString","loadPrismCSS","darkmodeOn","nextCSS","href","nextCSSElement","prism_darkmode_callback","detail","prism_process","Prism","isInDarkMode","autoloader","languages_path","importPrismJS","loadLineNumber","loadMatchBraces","line_number_all","parentElement","all","fileHighlight","highlight","bgmlistener","preventDefault","stopPropagation","textContent","dataset","nonce","method","res","Error","insertAdjacentHTML","lazyload","catch","innerHTML","load_bangumi","sections","_flag","code_highlight_style","querySelectorAll","code_highlight","removeEventListener","j","__","ClipboardJS","click_to_view_image","open","src","original_emoji_click","innerText","XCS","__list","form","statusSubmitting","event","butterBarRef","createButterbar","FormData","ajaxurl","Array","from","forEach","addComment","order","formpostion","dispatchEvent","CustomEvent","statusText","finally","sm","cm","reply_link_version","data_commentid","getAttribute","list","msg","confirm","alert","idp","actionp","rateHolderp","ajax_data","request","XMLHttpRequest","onreadystatechange","readyState","responseText","setRequestHeader","send","resizeTOC","toc_container","sc","resize","height","Math","min","offsetHeight","offsetTop","passive","tableOfContentScroll","flag","clientWidth","reqTocbot","heading_fix","entry_content_style","innerHeight","_els","idSet","Set","_el","title","encodeURIComponent","txt","replace","has","tocbot","init","tocSelector","contentSelector","headingSelector","headingsOffset","onClick","smileBoxToggle","et","add_upload_tips","form_submit","comment_upload_img","width","cached","upload_img","files","_$","f","formData","xhr","api","setTimeout","JSON","parse","get_the_url","proxy","message","attach_image","file_submit","hover","Tip","afterAjaxCommentComplete","whilePopstate","stlye","ready","nodeName","toLowerCase","_this","path","pathname","_xhr","responseType","onloadstart","comments_navi","commentwrap","loading_comments","comments_list","slideToggle","response","nextlink","outerHTML","gtag","google_analytics_id","charenc","utf8","stringToBytes","str","bin","unescape","bytesToString","bytes","decodeURIComponent","escape","push","charCodeAt","String","fromCharCode","join","module","exports","base64map","crypt","rotl","n","b","rotr","endian","constructor","Number","randomBytes","floor","random","bytesToWords","words","wordsToBytes","bytesToHex","hex","hexToBytes","c","parseInt","substr","bytesToBase64","base64","triplet","charAt","base64ToBytes","imod4","pow","isBuffer","obj","readFloatLE","slice","isSlowBuffer","_isBuffer","webpackAsyncContext","req","__webpack_require__","o","resolve","ids","keys","md5","options","encoding","isArray","Uint8Array","m","l","a","d","FF","_ff","GG","_gg","HH","_hh","II","_ii","aa","bb","cc","dd","x","_blocksize","_digestsize","digestbytes","asBytes","asString"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"page.js","mappings":"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","sources":["webpack://sakurairo-scripts/./src/page/global-func.js","webpack://sakurairo-scripts/./node_modules/tslib/tslib.es6.js","webpack://sakurairo-scripts/./src/page/article_attach.ts","webpack://sakurairo-scripts/./src/page/gravatar.ts","webpack://sakurairo-scripts/./src/page/getqqinfo.js","webpack://sakurairo-scripts/./src/page/AddComment.ts","webpack://sakurairo-scripts/./src/page/code_highlight.js","webpack://sakurairo-scripts/./src/page/bangumi.ts","webpack://sakurairo-scripts/./src/page/index.js","webpack://sakurairo-scripts/./node_modules/charenc/charenc.js","webpack://sakurairo-scripts/./node_modules/crypt/crypt.js","webpack://sakurairo-scripts/./node_modules/is-buffer/index.js","webpack://sakurairo-scripts/./node_modules/lightgallery/plugins|lazy|/^\\.\\/.*\\/lg\\-.*\\.es5\\.js$/|chunkName: lg-plugin-|groupOptions: {}|namespace object","webpack://sakurairo-scripts/./node_modules/md5/md5.js"],"sourcesContent":["\nconst motionEles = [\".bili\", \".menhera\", \".tieba\"];\nfunction motionSwitch(ele) {\n for (let i = 0; i < motionEles.length; i++) {\n document.querySelector(motionEles[i] + '-bar').classList.remove('on-hover');\n document.querySelector(motionEles[i] + '-container').style.display = 'none';\n }\n document.querySelector(ele + '-bar').classList.add(\"on-hover\");\n document.querySelector(ele + '-container').style.display = 'block';\n}\nfunction grin(tag, type, before, after) {\n let myField;\n switch (type) {\n case \"custom\": tag = before + tag + after; break;\n case \"Img\": tag = '[img]' + tag + '[/img]'; break;\n case \"Math\": tag = ' {{' + tag + '}} '; break;\n case \"tieba\": tag = ' ::' + tag + ':: '; break;\n default: tag = ' :' + tag + ': ';\n }\n if (document.getElementById('comment') && document.getElementById('comment').type == 'textarea') {\n myField = document.getElementById('comment');\n } else {\n return false;\n }\n if (document.selection) {\n myField.focus();\n sel = document.selection.createRange();\n sel.text = tag;\n myField.focus();\n } else if (myField.selectionStart || myField.selectionStart == '0') {\n let startPos = myField.selectionStart,\n endPos = myField.selectionEnd,\n cursorPos = endPos;\n myField.value = myField.value.substring(0, startPos) + tag + myField.value.substring(endPos, myField.value.length);\n cursorPos += tag.length;\n myField.focus();\n myField.selectionStart = cursorPos;\n myField.selectionEnd = cursorPos;\n } else {\n myField.value += tag;\n myField.focus();\n }\n}\nwindow.motionSwitch = motionSwitch\nwindow.grin = grin","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { __rest } from \"tslib\";\nimport { loadCSS } from 'fg-loadcss';\nimport { slideToggle } from '../common/util';\nfunction collapse() {\n //收缩、展开\n /* jQuery(document).ready(\n function(jQuery){\n jQuery('.collapseButton').click(function(){\n jQuery(this).parent().parent().find('.xContent').slideToggle('slow');\n });\n }) */\n const collapseButtons = document.getElementsByClassName('collapseButton');\n if (collapseButtons.length > 0) {\n const collapseListener = (e) => {\n slideToggle(e.target.parentNode.parentNode.parentNode.querySelector(\".xContent\"));\n // e.parentNode.parentNode.querySelector(\".xContent\")\n };\n for (const ele of collapseButtons) {\n ele.addEventListener(\"click\", collapseListener);\n }\n // import('jquery').then(({ default: jQuery }) => {\n // jQuery('.collapseButton').on(\"click\", function () {\n // jQuery(this).parent().parent().find('.xContent').slideToggle('slow');\n // })\n // })\n }\n}\nlet lightBoxCSS;\nasync function lightbox() {\n //init lightbox\n if (mashiro_option.baguetteBoxON) {\n if (!lightBoxCSS)\n lightBoxCSS = loadCSS('https://cdn.jsdelivr.net/npm/baguettebox.js@1.11.1/dist/baguetteBox.min.css');\n //@ts-ignore\n const { default: baguetteBox } = await import('baguettebox.js');\n baguetteBox.run('.entry-content', {\n captions: function (element) {\n return element.getElementsByTagName('img')[0].alt;\n },\n ignoreClass: 'fancybox',\n });\n }\n else if (mashiro_option.fancybox) {\n if (!lightBoxCSS)\n lightBoxCSS = loadCSS('https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.css');\n if (!((window.jQuery instanceof Function) || (window.$ instanceof Function))) {\n //@ts-ignore\n const jQuery = await import('jquery');\n window.jQuery = jQuery.default;\n window.$ = jQuery.default;\n }\n //@ts-ignore\n import('@fancyapps/fancybox');\n }\n else if (mashiro_option.lightGallery) {\n //@ts-ignore\n const { default: lightGallery } = await import('lightgallery/lib/index.js');\n const _a = mashiro_option.lightGallery, { plugins } = _a, opts = __rest(_a, [\"plugins\"]);\n loadCSS('https://cdn.jsdelivr.net/npm/lightgallery@2.3.0/css/lightgallery-bundle.min.css');\n lightGallery(document.querySelector('.entry-content'), Object.assign({ plugins: (await Promise.allSettled(plugins.map(moduleName => import(\n /* webpackChunkName: \"lg-plugin-\" */\n `lightgallery/plugins/${moduleName}/lg-${moduleName}.es5.js`)))).map(result => result.status == 'fulfilled' ? result.value.default : console.error('加载lightGallery的插件时出错啦!', result.reason)) }, opts));\n }\n}\nasync function math() {\n if (document.getElementsByTagName('math').length > 0) {\n if (!('MathJax' in window)) {\n //@ts-ignore\n window.MathJax = {\n svg: {\n fontCache: 'global'\n }, startup: {\n typeset: false, // Perform initial typeset?\n }, chtml: {\n fontURL: \"https://cdn.jsdelivr.net/npm/mathjax/es5/output/chtml/fonts/woff-v2\",\n mathmlSpacing: true // true for MathML spacing rules, false for TeX rules\n }\n };\n }\n //@ts-ignore\n await import('mathjax/es5/mml-chtml');\n //@ts-ignore\n window.MathJax.typeset();\n }\n}\nexport default function article_attach() {\n collapse();\n lightbox();\n math();\n}\n","import MD5 from 'md5';\n/**\n * Gravatar\n * from a6cd66c 11.third-part-functions.js\n */\nexport const get_gravatar = (email, size = 80) => 'https://' + Poi.gravatar_url + '/' + MD5(email) + '.jpg?s=' + size + '&d=mm';\n","import { buildAPI } from '../common/util'\nimport { get_gravatar } from './gravatar'\n\nexport default function getqqinfo() {\n let is_get_by_qq = false;\n const i_author = document.querySelector(\"input#author\"),\n i_qq = document.querySelector(\"input#qq\"),\n i_email = document.querySelector(\"input#email\"),\n i_url = document.querySelector(\"input#url\"),\n qq_check = document.querySelector(\".qq-check\"),\n gravatar_check = document.querySelector(\".gravatar-check\"),\n user_avatar_img = document.querySelector(\"div.comment-user-avatar img\");\n if (i_author == null) return;\n if (!localStorage.getItem('user_qq') && !localStorage.getItem('user_qq_email') && !localStorage.getItem('user_author')) {\n i_qq.value = i_author.value = i_email.value = i_url.value = \"\";\n }\n if (localStorage.getItem('user_avatar') && localStorage.getItem('user_qq') && localStorage.getItem('user_qq_email')) {\n user_avatar_img.setAttribute('src', localStorage.getItem('user_avatar'));\n i_author.value = localStorage.getItem('user_author');\n i_email.value = localStorage.getItem('user_qq') + '@qq.com';\n i_qq.value = localStorage.getItem('user_qq');\n if (mashiro_option.qzone_autocomplete) {\n i_url.value = 'https://user.qzone.qq.com/' + localStorage.getItem('user_qq');\n }\n if (i_qq.value) {\n qq_check.style.display = \"block\";\n gravatar_check.style.display = \"none\";\n }\n }\n let emailAddressFlag = i_email.value;\n //var emailAddressFlag = cached.filter('#email').val();\n i_author.addEventListener('blur', () => {\n // })\n //cached.filter('#author').on('blur', function () {\n const qq = i_author.value,\n reg_QQ = /^[1-9]\\d{4,9}$/;\n if (reg_QQ.test(qq)) {\n const whileFailed = () => {\n i_qq.value = '';\n qq_check.style.display = 'none';\n gravatar_check.style.display = 'block';\n user_avatar_img.setAttribute('src', get_gravatar(i_email.value, 80));\n localStorage.setItem('user_qq', '');\n localStorage.setItem('user_email', i_email.value);\n localStorage.setItem('user_avatar', get_gravatar(i_email.value, 80));\n /***/\n /* qq.value = email.value = url.value = \"\";\n if (!qq.value) {\n qq_check.style.display = 'none';\n gravatar_check.style.display = 'block';\n setCookie('user_qq', '', 30);\n user_avatar_img.setAttribute('src', get_gravatar(email.value, 80));\n setCookie('user_avatar', get_gravatar(email.value, 80), 30);\n } */\n }\n fetch(buildAPI(mashiro_option.qq_api_url, { qq: qq }))\n .then(async resp => {\n if (resp.ok) {\n //success\n try {\n const data = await resp.json()\n i_author.value = data.name;\n i_email.value = qq.trim() + '@qq.com';\n if (mashiro_option.qzone_autocomplete) {\n i_url.value = 'https://user.qzone.qq.com/' + qq.trim();\n }\n user_avatar_img.setAttribute('src', 'https://q2.qlogo.cn/headimg_dl?dst_uin=' + qq + '&spec=100');\n is_get_by_qq = true;\n i_qq.value = qq.trim();\n if (i_qq.value) {\n qq_check.style.display = 'block';\n gravatar_check.style.display = 'none';\n }\n localStorage.setItem('user_author', data.name);\n localStorage.setItem('user_qq', qq);\n localStorage.setItem('is_user_qq', 'yes');\n localStorage.setItem('user_qq_email', qq + '@qq.com');\n localStorage.setItem('user_email', qq + '@qq.com');\n emailAddressFlag = i_email.value;\n /***/\n user_avatar_img.setAttribute('src', data.avatar);\n localStorage.setItem('user_avatar', data.avatar);\n } catch (e) {\n console.warn(e)\n whileFailed()\n }\n } else {\n whileFailed()\n }\n })\n }\n });\n if (localStorage.getItem('user_avatar') && localStorage.getItem('user_email') && localStorage.getItem('is_user_qq') == 'no' && !localStorage.getItem('user_qq_email')) {\n user_avatar_img.setAttribute(\"src\", localStorage.getItem('user_avatar'));\n i_email.value = localStorage.getItem('user_mail');\n i_qq.value = '';\n if (!i_qq.value) {\n qq_check.style.display = \"none\";\n gravatar_check.style.display = \"block\";\n }\n // $('div.comment-user-avatar img').attr('src', getCookie('user_avatar'));\n // cached.filter('#email').val(getCookie('user_email'));\n // cached.filter('#qq').val('');\n // if (!cached.filter('#qq').val()) {\n // $('.qq-check').css('display', 'none');\n // $('.gravatar-check').css('display', 'block');\n // }\n }\n i_email.addEventListener(\"blur\", function () {\n //cached.filter('#email').on('blur', function () {\n let emailAddress = i_email.value;\n // var emailAddress = cached.filter('#email').val();\n if ((is_get_by_qq == false || emailAddressFlag != emailAddress) && emailAddress != '') {\n user_avatar_img.setAttribute(\"src\", get_gravatar(emailAddress, 80));\n //$('div.comment-user-avatar img').attr('src', get_gravatar(emailAddress, 80));\n localStorage.setItem('user_avatar', get_gravatar(emailAddress, 80));\n localStorage.setItem('user_email', emailAddress);\n localStorage.setItem('user_qq_email', '');\n localStorage.setItem('is_user_qq', 'no');\n i_qq.value = '';\n // cached.filter('#qq').val('');\n if (!i_qq.value) {\n qq_check.style.display = \"none\";\n gravatar_check.style.display = \"block\";\n // $('.qq-check').css('display', 'none');\n // $('.gravatar-check').css('display', 'block');\n }\n }\n });\n if (localStorage.getItem('user_url')) {\n i_url.value = localStorage.getItem(\"user_url\");\n // cached.filter('#url').val(getCookie('user_url'));\n }\n i_url.addEventListener(\"blur\", function () {\n //cached.filter('#url').on('blur', function () {\n let URL_Address = i_url.value;\n i_url.value = URL_Address;\n // var URL_Address = cached.filter('#url').val();\n // cached.filter('#url').val(URL_Address);\n localStorage.setItem('user_url', URL_Address);\n });\n if (localStorage.getItem('user_author')) {\n i_author.value = localStorage.getItem('user_author');\n // cached.filter('#author').val(getCookie('user_author'));\n }\n i_author.addEventListener(\"blur\", function () {\n // cached.filter('#author').on('blur', function () {\n let user_name = i_author.value;\n i_author.value = user_name;\n // var user_name = cached.filter('#author').val();\n // cached.filter('#author').val(user_name);\n localStorage.setItem('user_author', user_name);\n });\n}","const AddComment = {\n respondId: '',\n moveForm: function (commId, parentId, respondId) {\n const comm = document.getElementById(commId), respond = document.getElementById(respondId), cancel = document.getElementById('cancel-comment-reply-link'), parent = document.getElementById('comment_parent');\n //post = document.getElementById('comment_post_ID');\n this.respondId = respondId;\n if (!document.getElementById('wp-temp-form-div')) {\n const div = document.createElement('div');\n div.id = 'wp-temp-form-div';\n div.style.display = 'none';\n respond.parentNode.insertBefore(div, respond);\n }\n if (!comm) {\n const temp = document.getElementById('wp-temp-form-div');\n document.getElementById('comment_parent').value = '0';\n temp.parentNode.insertBefore(respond, temp);\n temp.remove();\n }\n else {\n comm.parentNode.insertBefore(respond, comm.nextSibling);\n }\n const _respond = document.getElementById(\"respond\");\n window.scrollTo({\n top: _respond.getBoundingClientRect().top + window.pageYOffset - _respond.clientTop - 100,\n behavior: \"smooth\"\n });\n parent.value = parentId;\n cancel.style.display = '';\n cancel.onclick = function (e) {\n var t = AddComment, temp = document.getElementById('wp-temp-form-div'), respond = document.getElementById(t.respondId);\n document.getElementById('comment_parent').value = '0';\n if (temp && respond) {\n temp.parentNode.insertBefore(respond, temp);\n temp.remove();\n //temp.parentNode.removeChild(temp);\n }\n this.style.display = 'none';\n this.onclick = null;\n return false;\n };\n try {\n document.getElementById('comment').focus();\n }\n catch (e) { }\n return false;\n },\n};\nexport default AddComment;\n","import { isInDarkMode } from '../sakura-app/darkmode'\nimport { loadCSS } from 'fg-loadcss'\nconst attributes = {\n 'autocomplete': 'off',\n 'autocorrect': 'off',\n 'autocapitalize': 'off',\n 'spellcheck': 'false',\n 'contenteditable': 'false',\n 'design': 'by Mashiro'\n}\nfunction gen_top_bar(pre, code_a) {\n if (!pre.children[0]) return\n let lang = 'text'\n const className = pre.children[0].className\n const matchResult = className.match(/language-(\\w+)/i)\n if (matchResult) {\n lang = matchResult[1]\n }\n pre.classList.add(\"highlight-wrap\");\n for (const t in attributes) {\n pre.setAttribute(t, attributes[t]);\n }\n code_a.setAttribute('data-rel', lang.toUpperCase());\n}\nasync function importHighlightjs() {\n try {\n if (!window.hljs) {\n window.hljs = (await import('highlight.js')).default\n await import('highlightjs-line-numbers.js')\n }\n } catch (e) {\n console.warn(e)\n }\n}\nconst hljs_click_callback = (e) => {\n const element = e.target\n if (!element.classList.contains(\"highlight-wrap\")) return;\n if (element.classList.contains('code-block-fullscreen')) {\n element.remove()\n } else {\n const cloneElement = element.cloneNode(true)\n cloneElement.classList.toggle(\"code-block-fullscreen\")\n document.body.append(cloneElement)\n }\n document.documentElement.classList.toggle('code-block-fullscreen-html-scroll');\n}\nexport function deattchHljsCallback() {\n document.body.removeEventListener(\"click\", hljs_click_callback)\n}\nexport async function hljs_process(pre, code) {\n try {\n await importHighlightjs()\n for (let i = 0; i < code.length; i++) {\n hljs.highlightElement(code[i]);\n }\n for (let i = 0; i < pre.length; i++) {\n gen_top_bar(pre[i], code[i]);\n }\n hljs.initLineNumbersOnLoad();\n document.body.addEventListener(\"click\", hljs_click_callback)\n } catch (e) {\n console.warn(e)\n }\n}\n//Prism\nconst PrismBaseUrl = mashiro_option.code_highlight_prism?.autoload_path ?? 'https://cdn.jsdelivr.net/npm/prismjs@1.23.0/'\nlet currentPrismThemeCSS = undefined\nconst themeCSS = (() => {\n const { light, dark } = mashiro_option.code_highlight_prism?.theme ?? {}\n const theme = {\n light: light ?? 'themes/prism.min.css',\n dark: dark ?? 'themes/prism-tomorrow.min.css',\n }\n for (const theme_name in theme) {\n theme[theme_name] = new URL(theme[theme_name], PrismBaseUrl).toString()\n }\n return theme\n})()\n\nfunction loadPrismCSS(darkmodeOn) {\n const nextCSS = darkmodeOn ? themeCSS.dark : themeCSS.light\n if (currentPrismThemeCSS) {\n if (currentPrismThemeCSS.href !== nextCSS) {\n const nextCSSElement = loadCSS(nextCSS)\n nextCSSElement.addEventListener('load', () => {\n currentPrismThemeCSS.remove()\n currentPrismThemeCSS = nextCSSElement\n })\n }\n } else {\n currentPrismThemeCSS = loadCSS(nextCSS)\n }\n}\n\nconst prism_darkmode_callback = (e) => {\n loadPrismCSS(e.detail)\n}\nexport const deattachPrismCallback = () => document.removeEventListener('darkmode', prism_darkmode_callback)\nasync function importPrismJS() {\n try {\n if (!window.Prism) {\n loadPrismCSS(isInDarkMode())\n document.addEventListener('darkmode', prism_darkmode_callback)\n //必备插件全家桶\n loadCSS(new URL('plugins/toolbar/prism-toolbar.min.css', PrismBaseUrl).toString())\n loadCSS(new URL('plugins/previewers/prism-previewers.min.css', PrismBaseUrl).toString())\n await import('./prism_pack')\n Prism.plugins.autoloader.languages_path = new URL('components/', PrismBaseUrl).toString()\n }\n } catch (reason) {\n console.warn(reason)\n }\n}\nfunction loadPrismPluginLineNumbers() {\n loadCSS(new URL('plugins/line-numbers/prism-line-numbers.min.css', PrismBaseUrl).toString())\n return import('prismjs/plugins/line-numbers/prism-line-numbers')\n}\nfunction loadPrismMatchBraces() {\n loadCSS(new URL('plugins/match-braces/prism-match-braces.min.css', PrismBaseUrl).toString())\n return import('prismjs/plugins/match-braces/prism-match-braces')\n}\n/**\n * \n * @param {NodeListOf} code document.querySelectorAll(\"pre code\")\n */\nexport async function prism_process(code) {\n try {\n await importPrismJS()\n let loadLineNumber = false\n let loadMatchBraces = false\n if (mashiro_option.code_highlight_prism.line_number_all) {\n document.querySelector('.entry-content').classList.add('line-numbers')\n loadLineNumber = true\n }\n for (const ele of code) {\n if (ele.parentElement.classList.contains('line-numbers')) {\n loadLineNumber = true\n }\n if (ele.classList.contains('match-braces')) {\n loadMatchBraces = true\n if (loadLineNumber == true) {\n break\n }\n }\n }\n await Promise.all([loadLineNumber && loadPrismPluginLineNumbers(), loadMatchBraces && loadPrismMatchBraces()])\n for (const ele of code) {\n Prism.highlightElement(ele)\n }\n Prism.plugins.fileHighlight && Prism.plugins.fileHighlight.highlight()\n } catch (error) {\n console.warn(error)\n }\n}","import { createButterbar } from \"../common/butterbar\";\nimport { lazyload } from 'lazyload';\nconst bgmlistener = (e) => {\n const target = e.target;\n if (target === document.querySelector(\"#bangumi-pagination a\")) {\n e.preventDefault();\n e.stopPropagation();\n if (target.classList.contains(\"loading\"))\n return;\n target.classList.add(\"loading\");\n target.textContent = \"\";\n fetch(target.dataset.href + \"&_wpnonce=\" + Poi.nonce, {\n method: \"POST\"\n })\n .then(async (res) => {\n const data = await res.json();\n if (res.ok) {\n document.getElementById(\"bangumi-pagination\").remove();\n document.querySelector(\".row\").insertAdjacentHTML('beforeend', data);\n //@ts-ignore\n lazyload();\n }\n else {\n throw Error(`Error,Status:${res.status}`);\n }\n })\n .catch(e => {\n console.error(e);\n createButterbar(e);\n target.classList.remove(\"loading\");\n target.innerHTML = ' ERROR ';\n });\n }\n};\nexport default function load_bangumi() {\n const sections = document.getElementsByTagName(\"section\");\n let _flag = false;\n for (let i = 0; i < sections.length; i++) {\n if (sections[i].classList.contains(\"bangumi\")) {\n _flag = true;\n break;\n }\n }\n if (_flag) {\n document.addEventListener('click', bgmlistener);\n }\n}\n","import article_attach from './article_attach'\nimport { ready, slideToggle } from '../common/util'\nimport { lazyload } from 'lazyload'\nimport { createButterbar } from '../common/butterbar'\nimport './global-func'\nimport getqqinfo from './getqqinfo'\nimport addComment from './AddComment'\nimport { hljs_process, prism_process, deattachPrismCallback, deattchHljsCallback } from './code_highlight'\nimport { _$, __ } from '../sakura-app/sakurairo_global'\nimport load_bangumi from './bangumi'\nasync function code_highlight_style() {\n const pre = document.getElementsByTagName(\"pre\"),\n code = document.querySelectorAll(\"pre code\");\n if (!pre.length) {\n switch (mashiro_option.code_highlight) {\n case 'hljs':\n deattchHljsCallback()\n return\n case 'prism':\n deattachPrismCallback()\n return\n default:\n }\n }\n switch (mashiro_option.code_highlight) {\n case 'hljs':\n await hljs_process(pre, code)\n break\n case 'prism':\n await prism_process(code)\n break\n case 'custom': return\n default:\n console.warn(`mashiro_option.code_highlight这咋填的是个${mashiro_option.code_highlight}啊🤔`)\n }\n //copy_code_block\n if (code.length > 0) {\n for (let j = 0; j < code.length; j++) {\n code[j].setAttribute('id', 'code-block-' + j);\n code[j].insertAdjacentHTML('afterend', '');\n };\n const { default: ClipboardJS } = await import('clipboard')\n new ClipboardJS('.copy-code');\n }\n}\nfunction click_to_view_image() {\n const comment_inline = document.getElementsByClassName('comment_inline_img');\n if (!comment_inline.length) return;\n document.getElementsByClassName(\"comments-main\")[0].addEventListener(\"click\", function (e) {\n if (e.target.classList.contains(\"comment_inline_img\")) {\n window.open(e.target.src);\n }\n })\n}\nfunction clean_upload_images() {\n document.getElementById(\"upload-img-show\").innerHTML = '';\n}\nfunction original_emoji_click() {\n const emoji = document.getElementsByClassName('emoji-item');\n if (!emoji.length) return;\n document.querySelector(\".menhera-container\").addEventListener(\"click\", function (e) {\n if (e.target.classList.contains(\"emoji-item\")) {\n grin(e.target.innerText, \"custom\", \"`\", \"` \");\n }\n })\n}\nfunction XCS() {\n const __list = 'commentwrap';\n const form = document.getElementById(\"commentform\")\n if (form) {\n let statusSubmitting = false\n form.addEventListener('submit', function (event) {\n event.stopPropagation()\n event.preventDefault();\n if (statusSubmitting) return\n const butterBarRef = createButterbar(__(\"提交中....\"), true)\n const form = new FormData(this)\n form.append('action', 'ajax_comment')\n statusSubmitting = true\n fetch(Poi.ajaxurl, {\n method: this.attributes.method.value,\n body: form\n }).then(async resp => {\n const data = await resp.text()\n if (resp.ok) {\n Array.from(document.getElementsByTagName('textarea'))\n .forEach((e) => e.value = '')\n const cancel = document.getElementById('cancel-comment-reply-link'),\n temp = document.getElementById('wp-temp-form-div'),\n respond = document.getElementById(addComment.respondId),\n //post = document.getElementById('comment_post_ID').value,\n parent = document.getElementById('comment_parent').value;\n if (parent != '0') {\n //jQuery('#respond').before('' + data + '
');\n document.getElementById(\"respond\").insertAdjacentHTML('beforebegin', '' + data + '
');\n } else if (!document.getElementsByClassName(__list).length) {\n if (Poi.formpostion == 'bottom') {\n document.getElementById(\"respond\").insertAdjacentHTML('beforebegin', '' + data + '
');\n //jQuery('#respond').before('' + data + '
');\n } else {\n document.getElementById(\"respond\").insertAdjacentHTML('afterend', '' + data + '
');\n //jQuery('#respond').after('' + data + '
');\n }\n } else {\n if (Poi.order == 'asc') {\n document.getElementsByClassName(\"commentwrap\")[1].insertAdjacentHTML('beforeend', data);\n //jQuery('.' + __list).append(data);\n } else {\n document.getElementsByClassName(\"commentwrap\")[1].insertAdjacentHTML('afterbegin', data);\n //jQuery('.' + __list).prepend(data);\n }\n }\n createButterbar(__(\"提交成功\"));\n document.dispatchEvent(new CustomEvent('ajax_comment_complete',))\n cancel.style.display = 'none';\n cancel.onclick = null;\n document.getElementById('comment_parent').value = '0';\n if (temp && respond) {\n temp.parentNode.insertBefore(respond, temp);\n temp.remove();\n //temp.parentNode.removeChild(temp)\n }\n } else {\n createButterbar(data ?? 'HTTP' + resp.status + ':' + resp.statusText);\n }\n }).catch(reason => {\n createButterbar(reason);\n }).finally(() => {\n butterBarRef.remove()\n statusSubmitting = false\n })\n /* jQuery.ajax({\n url: Poi.ajaxurl,\n data: jQuery(this).serialize() + \"&action=ajax_comment\",\n type: jQuery(this).attr('method'),\n beforeSend: createButterbar(\"提交中(Commiting)....\"),\n error: function (request) {\n var t = addComment;\n t.createButterbar(request.responseText);\n },\n success: function (data) {\n jQuery('textarea').each(function () {\n this.value = ''\n });\n var t = addComment,\n cancel = t.I('cancel-comment-reply-link'),\n temp = t.I('wp-temp-form-div'),\n respond = t.I(t.respondId),\n post = t.I('comment_post_ID').value,\n parent = t.I('comment_parent').value;\n if (parent != '0') {\n jQuery('#respond').before('' + data + '
');\n } else if (!jQuery('.' + __list).length) {\n if (Poi.formpostion == 'bottom') {\n jQuery('#respond').before('' + data + '
');\n } else {\n jQuery('#respond').after('' + data + '
');\n }\n } else {\n if (Poi.order == 'asc') {\n jQuery('.' + __list).append(data);\n } else {\n jQuery('.' + __list).prepend(data);\n }\n }\n t.createButterbar(\"提交成功(Succeed)\");\n lazyload();\n code_highlight_style();\n click_to_view_image();\n clean_upload_images();\n cancel.style.display = 'none';\n cancel.onclick = null;\n t.I('comment_parent').value = '0';\n if (temp && respond) {\n temp.parentNode.insertBefore(respond, temp);\n temp.remove();\n //temp.parentNode.removeChild(temp)\n }\n }\n }); */\n })\n }\n}\n\nfunction XCP() {\n document.body.addEventListener('click', function (e) {\n if (e.target.parentNode == document.getElementById(\"comments-navi\") && e.target.nodeName.toLowerCase() == \"a\") {\n e.preventDefault();\n e.stopPropagation();\n let _this = e.target,\n path = _this.pathname,\n _xhr = new XMLHttpRequest();\n _xhr.open(\"GET\", _this.getAttribute('href'), true);\n _xhr.responseType = \"document\";\n _xhr.onloadstart = () => {\n let comments_navi = document.getElementById(\"comments-navi\"),\n commentwrap = document.querySelector(\"ul.commentwrap\"),\n loading_comments = document.getElementById(\"loading-comments\"),\n comments_list = document.getElementById(\"comments-list-title\");\n comments_navi.remove();\n commentwrap.remove();\n //comments_navi.parentNode.removeChild(comments_navi);\n //commentwrap.parentNode.removeChild(commentwrap);\n loading_comments.style.display = \"block\";\n slideToggle(loading_comments, 500, \"show\");\n window.scrollTo({\n top: comments_list.getBoundingClientRect().top + window.pageYOffset - comments_list.clientTop - 65,\n behavior: \"smooth\"\n });\n }\n _xhr.onreadystatechange = function () {\n if (_xhr.readyState == 4 && _xhr.status == 200) {\n let json = _xhr.response,\n result = json.querySelector(\"ul.commentwrap\"),\n nextlink = json.getElementById(\"comments-navi\"),\n loading_comments = document.getElementById(\"loading-comments\");\n slideToggle(loading_comments, 200, \"hide\");\n document.getElementById(\"loading-comments\").insertAdjacentHTML('afterend', result.outerHTML);\n document.querySelector(\"ul.commentwrap\").insertAdjacentHTML('afterend', nextlink.outerHTML);\n lazyload();\n if (window.gtag) {\n gtag('config', Poi.google_analytics_id, {\n 'page_path': path\n });\n }\n code_highlight_style();\n click_to_view_image();\n let commentwrap = document.querySelector(\"ul.commentwrap\");\n window.scrollTo({\n top: commentwrap && (commentwrap.getBoundingClientRect().top + window.pageYOffset - commentwrap.clientTop - 200),\n behavior: \"smooth\"\n });\n }\n }\n _xhr.send();\n }\n });\n}\nfunction sm() {\n let sm = document.getElementsByClassName('sm'),\n cm = document.querySelector(\".comments-main\");\n if (!sm.length) return;\n if (cm) {\n if (Poi.reply_link_version == 'new') {\n cm.addEventListener(\"click\", function (e) {\n if (e.target.classList.contains(\"comment-reply-link\")) {\n e.preventDefault();\n e.stopPropagation();\n let data_commentid = e.target.getAttribute(\"data-commentid\");\n addComment.moveForm(\"comment-\" + data_commentid, data_commentid, \"respond\", this.getAttribute(\"data-postid\"));\n }\n })\n }\n cm.addEventListener(\"click\", (e) => {\n let list = e.target.parentNode;\n if (list.classList.contains(\"sm\")) {\n let msg = __(\"您真的要设为私密吗?\");\n if (confirm(msg) == true) {\n if (list.classList.contains('private_now')) {\n alert(__('您之前已设过私密评论'));\n return false;\n } else {\n list.classList.add('private_now');\n let idp = list.getAttribute(\"data-idp\"),\n actionp = list.getAttribute(\"data-actionp\"),\n rateHolderp = list.getElementsByClassName('has_set_private')[0];\n let ajax_data = \"action=siren_private&p_id=\" + idp + \"&p_action=\" + actionp;\n let request = new XMLHttpRequest();\n request.onreadystatechange = function () {\n if (this.readyState == 4 && this.status == 200) {\n rateHolderp.innerHTML = request.responseText;\n }\n };\n request.open('POST', '/wp-admin/admin-ajax.php', true);\n request.setRequestHeader(\"Content-type\", \"application/x-www-form-urlencoded\");\n request.send(ajax_data);\n return false;\n }\n }\n }\n })\n }\n\n}\nfunction resizeTOC() {\n const toc_container = document.querySelector(\".toc-container\"),\n sc = document.querySelector(\".site-content\")\n if (toc_container && sc) {\n const resize = () => {\n toc_container.style.height = Math.min(sc.getBoundingClientRect()[\"height\"], document.documentElement.offsetHeight - toc_container.offsetTop) + \"px\";\n }\n resize()\n //TODO:性能\n window.addEventListener('resize', resize, { passive: true })\n }\n}\nfunction tableOfContentScroll(flag) {\n if (document.body.clientWidth <= 1200) {\n return;\n } else if (!document.querySelector(\"div.have-toc\") && !document.querySelector(\"div.has-toc\")) {\n let ele = document.getElementsByClassName(\"toc-container\")[0];\n if (ele) {\n ele.remove();\n ele = null;\n }\n } else {\n if (flag && document.getElementsByClassName('toc').length > 0) {\n const reqTocbot = import('tocbot')\n const heading_fix = mashiro_option.entry_content_style == \"sakurairo\" ? (document.querySelector(\"article.type-post\") ? (document.querySelector(\"div.pattern-attachment\") ? -75 : 200) : 375) : window.innerHeight / 2;\n const _els = document.querySelectorAll('.entry-content,.links');\n const idSet = new Set()\n let id = 1\n for (let i = 0; i < _els.length; i++) {\n let _el = _els[i].querySelectorAll('h1,h2,h3,h4,h5');\n for (const title of _el) {\n const innerText = encodeURIComponent(title.innerText.replace(' ', '-'))\n if (idSet.has(innerText)) {\n title.id = \"toc-head-\" + id++;\n } else {\n title.id = innerText\n idSet.add(innerText)\n }\n }\n }\n reqTocbot.then(({ default: tocbot }) => {\n tocbot.init({\n tocSelector: '.toc',\n contentSelector: ['.entry-content', '.links'],\n headingSelector: 'h1,h2,h3,h4,h5',\n headingsOffset: heading_fix - window.innerHeight / 2,\n onClick: null\n });\n })\n }\n }\n}\n/**\n * 上传图片提示\n */\nfunction attach_image() {\n let cached = document.getElementsByClassName(\"insert-image-tips\")[0],\n upload_img = document.getElementById('upload-img-file');\n if (!upload_img) return;\n upload_img.addEventListener(\"change\", (function () {\n if (this.files.length > 10) {\n createButterbar(__(\"每次上传上限为10张\"));\n return 0;\n }\n for (let i = 0; i < this.files.length; i++) {\n if (this.files[i].size >= 5242880) {\n alert(_$('图片上传大小限制为5 MB\\n\\n「{0}」\\n\\n这张图太大啦~请重新上传噢!', this.files[i].name));\n return;\n }\n }\n for (let i = 0; i < this.files.length; i++) {\n let f = this.files[i],\n formData = new FormData(),\n xhr = new XMLHttpRequest();\n formData.append('cmt_img_file', f);\n xhr.addEventListener('loadstart', function () {\n cached.innerHTML = '';\n createButterbar(__(\"上传中...\"));\n });\n xhr.open(\"POST\", buildAPI(Poi.api + 'sakura/v1/image/upload'), true);\n xhr.send(formData);\n xhr.onreadystatechange = function () {\n if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 304)) {\n cached.innerHTML = '';\n setTimeout(function () {\n cached.innerHTML = '';\n }, 1000);\n let res = JSON.parse(xhr.responseText);\n if (res.status == 200) {\n let get_the_url = res.proxy;\n document.getElementById(\"upload-img-show\").insertAdjacentHTML('afterend', '');\n lazyload();\n createButterbar(__(\"图片上传成功~\"));\n grin(get_the_url, type = 'Img');\n } else {\n createButterbar(_$('上传失败!\\n文件名: {0}\\ncode: {1}\\n{2}', f.name, res.status, res.message), 3000)\n }\n } else if (xhr.readyState == 4) {\n cached.innerHTML = '';\n alert(__(\"上传失败,请重试.\"));\n setTimeout(function () {\n cached.innerHTML = '';\n }, 1000);\n }\n }\n };\n }));\n}\nfunction smileBoxToggle() {\n let et = document.getElementById(\"emotion-toggle\");\n et && et.addEventListener('click', function () {\n document.querySelector('.emotion-toggle-off').classList.toggle(\"emotion-hide\");\n document.querySelector('.emotion-toggle-on').classList.toggle(\"emotion-show\");\n document.querySelector('.emotion-box').classList.toggle(\"emotion-box-show\");\n })\n}\n/**\n * 添加上传图片的提示\n */\nfunction add_upload_tips() {\n const form_submit = document.querySelector('.form-submit #submit');\n if (form_submit == null) return;\n if (!mashiro_option.comment_upload_img) {\n form_submit.style.width = '100%'\n return\n }\n form_submit.insertAdjacentHTML('afterend', '
');\n attach_image();\n\n const file_submit = document.getElementById('upload-img-file'),\n hover = document.getElementsByClassName('insert-image-tips')[0],\n Tip = document.getElementById('uploadTipPopup');\n if (!file_submit) return;\n file_submit.addEventListener(\"mouseenter\", function () {\n hover.classList.toggle('insert-image-tips-hover');\n Tip.classList.toggle('show');\n });\n file_submit.addEventListener(\"mouseleave\", function () {\n hover.classList.toggle('insert-image-tips-hover');\n Tip.classList.toggle('show');\n });\n}\nfunction addComtListener() {\n document.querySelectorAll(\".comt-addsmilies\").forEach((e) => {\n e.addEventListener(\"click\", () => {\n if (e.stlye.display == \"block\") {\n e.style.display = \"none\";\n } else {\n e.style.display = \"block\";\n }\n })\n })\n document.querySelectorAll(\".comt-smilies a\").forEach((e) => {\n e.addEventListener(\"click\", () => {\n e.parentNode.style.display = \"none\";\n })\n })\n}\nfunction afterAjaxCommentComplete() {\n lazyload();\n code_highlight_style();\n click_to_view_image();\n clean_upload_images();\n}\n\n// #region LifeCycle\nfunction whilePopstate() {\n article_attach()\n sm()\n}\nfunction whileReady() {\n article_attach()\n XCS()\n XCP()\n getqqinfo()\n add_upload_tips()\n resizeTOC()\n}\nfunction whilePjaxComplete() {\n try {\n add_upload_tips()\n article_attach()\n load_bangumi();\n tableOfContentScroll(true);\n click_to_view_image()\n getqqinfo()\n sm()\n original_emoji_click()\n code_highlight_style()\n smileBoxToggle()\n XCS()\n resizeTOC()\n } catch (e) {\n console.warn(e)\n }\n}\nfunction whileLoaded() {\n window.addEventListener('popstate', whilePopstate)\n click_to_view_image()\n code_highlight_style()\n load_bangumi();\n sm()\n original_emoji_click()\n smileBoxToggle()\n tableOfContentScroll(true);\n addComtListener()\n document.addEventListener('ajax_comment_complete', afterAjaxCommentComplete)\n}\nwhileLoaded()\ndocument.addEventListener('pjax:complete', whilePjaxComplete)\nready(whileReady)\n//#endregion","var charenc = {\n // UTF-8 encoding\n utf8: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));\n }\n },\n\n // Binary encoding\n bin: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n for (var bytes = [], i = 0; i < str.length; i++)\n bytes.push(str.charCodeAt(i) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n for (var str = [], i = 0; i < bytes.length; i++)\n str.push(String.fromCharCode(bytes[i]));\n return str.join('');\n }\n }\n};\n\nmodule.exports = charenc;\n","(function() {\n var base64map\n = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n\n crypt = {\n // Bit-wise rotation left\n rotl: function(n, b) {\n return (n << b) | (n >>> (32 - b));\n },\n\n // Bit-wise rotation right\n rotr: function(n, b) {\n return (n << (32 - b)) | (n >>> b);\n },\n\n // Swap big-endian to little-endian and vice versa\n endian: function(n) {\n // If number given, swap endian\n if (n.constructor == Number) {\n return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;\n }\n\n // Else, assume array and swap all items\n for (var i = 0; i < n.length; i++)\n n[i] = crypt.endian(n[i]);\n return n;\n },\n\n // Generate an array of any length of random bytes\n randomBytes: function(n) {\n for (var bytes = []; n > 0; n--)\n bytes.push(Math.floor(Math.random() * 256));\n return bytes;\n },\n\n // Convert a byte array to big-endian 32-bit words\n bytesToWords: function(bytes) {\n for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n words[b >>> 5] |= bytes[i] << (24 - b % 32);\n return words;\n },\n\n // Convert big-endian 32-bit words to a byte array\n wordsToBytes: function(words) {\n for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a hex string\n bytesToHex: function(bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xF).toString(16));\n }\n return hex.join('');\n },\n\n // Convert a hex string to a byte array\n hexToBytes: function(hex) {\n for (var bytes = [], c = 0; c < hex.length; c += 2)\n bytes.push(parseInt(hex.substr(c, 2), 16));\n return bytes;\n },\n\n // Convert a byte array to a base-64 string\n bytesToBase64: function(bytes) {\n for (var base64 = [], i = 0; i < bytes.length; i += 3) {\n var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n for (var j = 0; j < 4; j++)\n if (i * 8 + j * 6 <= bytes.length * 8)\n base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));\n else\n base64.push('=');\n }\n return base64.join('');\n },\n\n // Convert a base-64 string to a byte array\n base64ToBytes: function(base64) {\n // Remove non-base-64 characters\n base64 = base64.replace(/[^A-Z0-9+\\/]/ig, '');\n\n for (var bytes = [], i = 0, imod4 = 0; i < base64.length;\n imod4 = ++i % 4) {\n if (imod4 == 0) continue;\n bytes.push(((base64map.indexOf(base64.charAt(i - 1))\n & (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2))\n | (base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));\n }\n return bytes;\n }\n };\n\n module.exports = crypt;\n})();\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n","var map = {\n\t\"./autoplay/lg-autoplay.es5.js\": [\n\t\t8509,\n\t\t8\n\t],\n\t\"./comment/lg-comment.es5.js\": [\n\t\t8080,\n\t\t238\n\t],\n\t\"./fullscreen/lg-fullscreen.es5.js\": [\n\t\t2508,\n\t\t846\n\t],\n\t\"./hash/lg-hash.es5.js\": [\n\t\t1185,\n\t\t649\n\t],\n\t\"./mediumZoom/lg-medium-zoom.es5.js\": [\n\t\t7180,\n\t\t400\n\t],\n\t\"./pager/lg-pager.es5.js\": [\n\t\t6220,\n\t\t359\n\t],\n\t\"./relativeCaption/lg-relative-caption.es5.js\": [\n\t\t823,\n\t\t515\n\t],\n\t\"./rotate/lg-rotate.es5.js\": [\n\t\t4671,\n\t\t893\n\t],\n\t\"./share/lg-share.es5.js\": [\n\t\t627,\n\t\t642\n\t],\n\t\"./thumbnail/lg-thumbnail.es5.js\": [\n\t\t1997,\n\t\t725\n\t],\n\t\"./video/lg-video.es5.js\": [\n\t\t2523,\n\t\t568\n\t],\n\t\"./zoom/lg-zoom.es5.js\": [\n\t\t2869,\n\t\t719\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function() { return Object.keys(map); };\nwebpackAsyncContext.id = 8508;\nmodule.exports = webpackAsyncContext;","(function(){\r\n var crypt = require('crypt'),\r\n utf8 = require('charenc').utf8,\r\n isBuffer = require('is-buffer'),\r\n bin = require('charenc').bin,\r\n\r\n // The core\r\n md5 = function (message, options) {\r\n // Convert to byte array\r\n if (message.constructor == String)\r\n if (options && options.encoding === 'binary')\r\n message = bin.stringToBytes(message);\r\n else\r\n message = utf8.stringToBytes(message);\r\n else if (isBuffer(message))\r\n message = Array.prototype.slice.call(message, 0);\r\n else if (!Array.isArray(message) && message.constructor !== Uint8Array)\r\n message = message.toString();\r\n // else, assume byte array already\r\n\r\n var m = crypt.bytesToWords(message),\r\n l = message.length * 8,\r\n a = 1732584193,\r\n b = -271733879,\r\n c = -1732584194,\r\n d = 271733878;\r\n\r\n // Swap endian\r\n for (var i = 0; i < m.length; i++) {\r\n m[i] = ((m[i] << 8) | (m[i] >>> 24)) & 0x00FF00FF |\r\n ((m[i] << 24) | (m[i] >>> 8)) & 0xFF00FF00;\r\n }\r\n\r\n // Padding\r\n m[l >>> 5] |= 0x80 << (l % 32);\r\n m[(((l + 64) >>> 9) << 4) + 14] = l;\r\n\r\n // Method shortcuts\r\n var FF = md5._ff,\r\n GG = md5._gg,\r\n HH = md5._hh,\r\n II = md5._ii;\r\n\r\n for (var i = 0; i < m.length; i += 16) {\r\n\r\n var aa = a,\r\n bb = b,\r\n cc = c,\r\n dd = d;\r\n\r\n a = FF(a, b, c, d, m[i+ 0], 7, -680876936);\r\n d = FF(d, a, b, c, m[i+ 1], 12, -389564586);\r\n c = FF(c, d, a, b, m[i+ 2], 17, 606105819);\r\n b = FF(b, c, d, a, m[i+ 3], 22, -1044525330);\r\n a = FF(a, b, c, d, m[i+ 4], 7, -176418897);\r\n d = FF(d, a, b, c, m[i+ 5], 12, 1200080426);\r\n c = FF(c, d, a, b, m[i+ 6], 17, -1473231341);\r\n b = FF(b, c, d, a, m[i+ 7], 22, -45705983);\r\n a = FF(a, b, c, d, m[i+ 8], 7, 1770035416);\r\n d = FF(d, a, b, c, m[i+ 9], 12, -1958414417);\r\n c = FF(c, d, a, b, m[i+10], 17, -42063);\r\n b = FF(b, c, d, a, m[i+11], 22, -1990404162);\r\n a = FF(a, b, c, d, m[i+12], 7, 1804603682);\r\n d = FF(d, a, b, c, m[i+13], 12, -40341101);\r\n c = FF(c, d, a, b, m[i+14], 17, -1502002290);\r\n b = FF(b, c, d, a, m[i+15], 22, 1236535329);\r\n\r\n a = GG(a, b, c, d, m[i+ 1], 5, -165796510);\r\n d = GG(d, a, b, c, m[i+ 6], 9, -1069501632);\r\n c = GG(c, d, a, b, m[i+11], 14, 643717713);\r\n b = GG(b, c, d, a, m[i+ 0], 20, -373897302);\r\n a = GG(a, b, c, d, m[i+ 5], 5, -701558691);\r\n d = GG(d, a, b, c, m[i+10], 9, 38016083);\r\n c = GG(c, d, a, b, m[i+15], 14, -660478335);\r\n b = GG(b, c, d, a, m[i+ 4], 20, -405537848);\r\n a = GG(a, b, c, d, m[i+ 9], 5, 568446438);\r\n d = GG(d, a, b, c, m[i+14], 9, -1019803690);\r\n c = GG(c, d, a, b, m[i+ 3], 14, -187363961);\r\n b = GG(b, c, d, a, m[i+ 8], 20, 1163531501);\r\n a = GG(a, b, c, d, m[i+13], 5, -1444681467);\r\n d = GG(d, a, b, c, m[i+ 2], 9, -51403784);\r\n c = GG(c, d, a, b, m[i+ 7], 14, 1735328473);\r\n b = GG(b, c, d, a, m[i+12], 20, -1926607734);\r\n\r\n a = HH(a, b, c, d, m[i+ 5], 4, -378558);\r\n d = HH(d, a, b, c, m[i+ 8], 11, -2022574463);\r\n c = HH(c, d, a, b, m[i+11], 16, 1839030562);\r\n b = HH(b, c, d, a, m[i+14], 23, -35309556);\r\n a = HH(a, b, c, d, m[i+ 1], 4, -1530992060);\r\n d = HH(d, a, b, c, m[i+ 4], 11, 1272893353);\r\n c = HH(c, d, a, b, m[i+ 7], 16, -155497632);\r\n b = HH(b, c, d, a, m[i+10], 23, -1094730640);\r\n a = HH(a, b, c, d, m[i+13], 4, 681279174);\r\n d = HH(d, a, b, c, m[i+ 0], 11, -358537222);\r\n c = HH(c, d, a, b, m[i+ 3], 16, -722521979);\r\n b = HH(b, c, d, a, m[i+ 6], 23, 76029189);\r\n a = HH(a, b, c, d, m[i+ 9], 4, -640364487);\r\n d = HH(d, a, b, c, m[i+12], 11, -421815835);\r\n c = HH(c, d, a, b, m[i+15], 16, 530742520);\r\n b = HH(b, c, d, a, m[i+ 2], 23, -995338651);\r\n\r\n a = II(a, b, c, d, m[i+ 0], 6, -198630844);\r\n d = II(d, a, b, c, m[i+ 7], 10, 1126891415);\r\n c = II(c, d, a, b, m[i+14], 15, -1416354905);\r\n b = II(b, c, d, a, m[i+ 5], 21, -57434055);\r\n a = II(a, b, c, d, m[i+12], 6, 1700485571);\r\n d = II(d, a, b, c, m[i+ 3], 10, -1894986606);\r\n c = II(c, d, a, b, m[i+10], 15, -1051523);\r\n b = II(b, c, d, a, m[i+ 1], 21, -2054922799);\r\n a = II(a, b, c, d, m[i+ 8], 6, 1873313359);\r\n d = II(d, a, b, c, m[i+15], 10, -30611744);\r\n c = II(c, d, a, b, m[i+ 6], 15, -1560198380);\r\n b = II(b, c, d, a, m[i+13], 21, 1309151649);\r\n a = II(a, b, c, d, m[i+ 4], 6, -145523070);\r\n d = II(d, a, b, c, m[i+11], 10, -1120210379);\r\n c = II(c, d, a, b, m[i+ 2], 15, 718787259);\r\n b = II(b, c, d, a, m[i+ 9], 21, -343485551);\r\n\r\n a = (a + aa) >>> 0;\r\n b = (b + bb) >>> 0;\r\n c = (c + cc) >>> 0;\r\n d = (d + dd) >>> 0;\r\n }\r\n\r\n return crypt.endian([a, b, c, d]);\r\n };\r\n\r\n // Auxiliary functions\r\n md5._ff = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & c | ~b & d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._gg = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & d | c & ~d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._hh = function (a, b, c, d, x, s, t) {\r\n var n = a + (b ^ c ^ d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._ii = function (a, b, c, d, x, s, t) {\r\n var n = a + (c ^ (b | ~d)) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n\r\n // Package private blocksize\r\n md5._blocksize = 16;\r\n md5._digestsize = 16;\r\n\r\n module.exports = function (message, options) {\r\n if (message === undefined || message === null)\r\n throw new Error('Illegal argument ' + message);\r\n\r\n var digestbytes = crypt.wordsToBytes(md5(message, options));\r\n return options && options.asBytes ? digestbytes :\r\n options && options.asString ? bin.bytesToString(digestbytes) :\r\n crypt.bytesToHex(digestbytes);\r\n };\r\n\r\n})();\r\n"],"names":["motionEles","window","motionSwitch","ele","i","length","document","querySelector","classList","remove","style","display","add","grin","tag","type","before","after","myField","getElementById","selection","focus","sel","createRange","text","selectionStart","startPos","endPos","selectionEnd","cursorPos","value","substring","Object","create","lightBoxCSS","async","lightbox","mashiro_option","baguetteBoxON","loadCSS","default","baguetteBox","run","captions","element","getElementsByTagName","alt","ignoreClass","fancybox","jQuery","Function","$","lightGallery","_a","plugins","opts","s","e","t","p","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__rest","assign","Promise","allSettled","map","moduleName","result","status","console","error","reason","article_attach","collapseButtons","getElementsByClassName","collapseListener","target","parentNode","addEventListener","collapse","MathJax","svg","fontCache","startup","typeset","chtml","fontURL","mathmlSpacing","math","get_gravatar","email","size","Poi","gravatar_url","getqqinfo","is_get_by_qq","i_author","i_qq","i_email","i_url","qq_check","gravatar_check","user_avatar_img","localStorage","getItem","setAttribute","qzone_autocomplete","emailAddressFlag","qq","test","whileFailed","setItem","fetch","buildAPI","qq_api_url","then","resp","ok","data","json","name","trim","avatar","warn","emailAddress","URL_Address","user_name","AddComment","respondId","moveForm","commId","parentId","comm","respond","cancel","parent","this","div","createElement","id","insertBefore","nextSibling","temp","_respond","scrollTo","top","getBoundingClientRect","pageYOffset","clientTop","behavior","onclick","attributes","gen_top_bar","pre","code_a","children","lang","matchResult","className","match","toUpperCase","hljs_click_callback","contains","cloneElement","cloneNode","toggle","body","append","documentElement","hljs_process","code","hljs","importHighlightjs","highlightElement","initLineNumbersOnLoad","PrismBaseUrl","code_highlight_prism","autoload_path","currentPrismThemeCSS","themeCSS","light","dark","theme","theme_name","URL","toString","loadPrismCSS","darkmodeOn","nextCSS","href","nextCSSElement","prism_darkmode_callback","detail","prism_process","Prism","isInDarkMode","autoloader","languages_path","importPrismJS","loadLineNumber","loadMatchBraces","line_number_all","parentElement","all","fileHighlight","highlight","bgmlistener","preventDefault","stopPropagation","textContent","dataset","nonce","method","res","Error","insertAdjacentHTML","lazyload","catch","innerHTML","load_bangumi","sections","_flag","code_highlight_style","querySelectorAll","code_highlight","removeEventListener","j","__","ClipboardJS","click_to_view_image","open","src","original_emoji_click","innerText","XCS","__list","form","statusSubmitting","event","butterBarRef","createButterbar","FormData","ajaxurl","Array","from","forEach","addComment","order","formpostion","dispatchEvent","CustomEvent","statusText","finally","sm","cm","reply_link_version","data_commentid","getAttribute","list","msg","confirm","alert","idp","actionp","rateHolderp","ajax_data","request","XMLHttpRequest","onreadystatechange","readyState","responseText","setRequestHeader","send","resizeTOC","toc_container","sc","resize","height","Math","min","offsetHeight","offsetTop","passive","tableOfContentScroll","flag","clientWidth","reqTocbot","heading_fix","entry_content_style","innerHeight","_els","idSet","Set","_el","title","encodeURIComponent","replace","has","tocbot","init","tocSelector","contentSelector","headingSelector","headingsOffset","onClick","smileBoxToggle","et","add_upload_tips","form_submit","comment_upload_img","width","cached","upload_img","files","_$","f","formData","xhr","api","setTimeout","JSON","parse","get_the_url","proxy","message","attach_image","file_submit","hover","Tip","afterAjaxCommentComplete","whilePopstate","stlye","ready","nodeName","toLowerCase","_this","path","pathname","_xhr","responseType","onloadstart","comments_navi","commentwrap","loading_comments","comments_list","slideToggle","response","nextlink","outerHTML","gtag","google_analytics_id","charenc","utf8","stringToBytes","str","bin","unescape","bytesToString","bytes","decodeURIComponent","escape","push","charCodeAt","String","fromCharCode","join","module","exports","base64map","crypt","rotl","n","b","rotr","endian","constructor","Number","randomBytes","floor","random","bytesToWords","words","wordsToBytes","bytesToHex","hex","hexToBytes","c","parseInt","substr","bytesToBase64","base64","triplet","charAt","base64ToBytes","imod4","pow","isBuffer","obj","readFloatLE","slice","isSlowBuffer","_isBuffer","webpackAsyncContext","req","__webpack_require__","o","resolve","ids","keys","md5","options","encoding","isArray","Uint8Array","m","l","a","d","FF","_ff","GG","_gg","HH","_hh","II","_ii","aa","bb","cc","dd","x","_blocksize","_digestsize","digestbytes","asBytes","asString"],"sourceRoot":""}
\ No newline at end of file
From 8b5825df84702d32a865cf8c6c013bd35bf83cfc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9F=93=E5=B7=9D=20=E7=9E=B3?=
Date: Sun, 28 Nov 2021 13:11:59 +0800
Subject: [PATCH 12/12] Version 2.3.1
---
style.css | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/style.css b/style.css
index 86aaba86..f259d42f 100644
--- a/style.css
+++ b/style.css
@@ -6,7 +6,7 @@ Theme URI: https://github.com/mirai-mamori/Sakurairo
Author: Created by Fuukei
Author URI: https://iro.tw/
Description: A colorful, Easy-to-use, Perfect Experience, and Powerful Customizable WordPress Theme (Based on Theme Sakura)
-Version: 2.3.0
+Version: 2.3.1
Tested up to: 5.8.2
Requires at least: 5.5
Requires PHP: 7.1