@waline/client 2.15.7 → 2.15.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/pageview.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";const e={"Content-Type":"application/json"},t=({serverURL:e,lang:t,paths:n,signal:r})=>(({serverURL:e,lang:t,paths:n,type:r,signal:a})=>fetch(`${e}/article?path=${encodeURIComponent(n.join(","))}&type=${encodeURIComponent(r.join(","))}&lang=${t}`,{signal:a}).then((e=>e.json())))({serverURL:e,lang:t,paths:n,type:["time"],signal:r}).then((e=>Array.isArray(e)?e:[e])),n=t=>(({serverURL:t,lang:n,path:r,type:a,action:o})=>fetch(`${t}/article?lang=${n}`,{method:"POST",headers:e,body:JSON.stringify({path:r,type:a,action:o})}).then((e=>e.json())))({...t,type:"time",action:"inc"}),r=e=>{const t=((e="")=>e.replace(/\/$/u,""))(e);return/^(https?:)?\/\//.test(t)?t:`https://${t}`},a=e=>{"AbortError"!==e.name&&console.error(e.message)},o=e=>e.dataset.path||e.getAttribute("id"),s=(e,t)=>{t.forEach(((t,n)=>{t.innerText=e[n].toString()}))};exports.pageviewCount=({serverURL:e,path:i=window.location.pathname,selector:l=".waline-pageview-count",update:p=!0,lang:c=navigator.language})=>{const g=new AbortController,h=Array.from(document.querySelectorAll(l)),y=e=>{const t=o(e);return null!==t&&i!==t},u=n=>t({serverURL:r(e),paths:n.map((e=>o(e)||i)),lang:c,signal:g.signal}).then((e=>s(e,n))).catch(a);if(p){const t=h.filter((e=>!y(e))),a=h.filter(y);n({serverURL:r(e),path:i,lang:c}).then((e=>s(new Array(t.length).fill(e),t))),a.length&&u(a)}else u(h);return g.abort.bind(g)},exports.version="2.15.7";
1
+ "use strict";const e={"Content-Type":"application/json"},t=({serverURL:e,lang:t,paths:n,signal:r})=>(({serverURL:e,lang:t,paths:n,type:r,signal:a})=>fetch(`${e}/article?path=${encodeURIComponent(n.join(","))}&type=${encodeURIComponent(r.join(","))}&lang=${t}`,{signal:a}).then((e=>e.json())))({serverURL:e,lang:t,paths:n,type:["time"],signal:r}).then((e=>Array.isArray(e)?e:[e])),n=t=>(({serverURL:t,lang:n,path:r,type:a,action:o})=>fetch(`${t}/article?lang=${n}`,{method:"POST",headers:e,body:JSON.stringify({path:r,type:a,action:o})}).then((e=>e.json())))({...t,type:"time",action:"inc"}),r=e=>{const t=((e="")=>e.replace(/\/$/u,""))(e);return/^(https?:)?\/\//.test(t)?t:`https://${t}`},a=e=>{"AbortError"!==e.name&&console.error(e.message)},o=e=>e.dataset.path||e.getAttribute("id"),s=(e,t)=>{t.forEach(((t,n)=>{t.innerText=e[n].toString()}))};exports.pageviewCount=({serverURL:e,path:i=window.location.pathname,selector:l=".waline-pageview-count",update:p=!0,lang:c=navigator.language})=>{const g=new AbortController,h=Array.from(document.querySelectorAll(l)),y=e=>{const t=o(e);return null!==t&&i!==t},u=n=>t({serverURL:r(e),paths:n.map((e=>o(e)||i)),lang:c,signal:g.signal}).then((e=>s(e,n))).catch(a);if(p){const t=h.filter((e=>!y(e))),a=h.filter(y);n({serverURL:r(e),path:i,lang:c}).then((e=>s(new Array(t.length).fill(e),t))),a.length&&u(a)}else u(h);return g.abort.bind(g)},exports.version="2.15.8";
2
2
  //# sourceMappingURL=pageview.cjs.map
package/dist/pageview.js CHANGED
@@ -1,2 +1,2 @@
1
- !function(e,t){if("function"==typeof define&&define.amd)define("Waline",["exports"],t);else if("undefined"!=typeof exports)t(exports);else{var n={exports:{}};t(n.exports),e.Waline=n.exports}}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:this,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.version=e.pageviewCount=void 0;const t={"Content-Type":"application/json"},n=e=>(e=>{let{serverURL:n,lang:r,path:o,type:a,action:i}=e;return fetch(`${n}/article?lang=${r}`,{method:"POST",headers:t,body:JSON.stringify({path:o,type:a,action:i})}).then((e=>e.json()))})({...e,type:"time",action:"inc"}),r=e=>{const t=function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").replace(/\/$/u,"")}(e);return/^(https?:)?\/\//.test(t)?t:`https://${t}`},o=e=>{"AbortError"!==e.name&&console.error(e.message)},a=e=>e.dataset.path||e.getAttribute("id"),i=(e,t)=>{t.forEach(((t,n)=>{t.innerText=e[n].toString()}))};e.pageviewCount=e=>{let{serverURL:t,path:l=window.location.pathname,selector:s=".waline-pageview-count",update:p=!0,lang:c=navigator.language}=e;const g=new AbortController,h=Array.from(document.querySelectorAll(s)),f=e=>{const t=a(e);return null!==t&&l!==t},u=e=>(e=>{let{serverURL:t,lang:n,paths:r,signal:o}=e;return(e=>{let{serverURL:t,lang:n,paths:r,type:o,signal:a}=e;return fetch(`${t}/article?path=${encodeURIComponent(r.join(","))}&type=${encodeURIComponent(o.join(","))}&lang=${n}`,{signal:a}).then((e=>e.json()))})({serverURL:t,lang:n,paths:r,type:["time"],signal:o}).then((e=>Array.isArray(e)?e:[e]))})({serverURL:r(t),paths:e.map((e=>a(e)||l)),lang:c,signal:g.signal}).then((t=>i(t,e))).catch(o);if(p){const e=h.filter((e=>!f(e))),o=h.filter(f);n({serverURL:r(t),path:l,lang:c}).then((t=>i(new Array(e.length).fill(t),e))),o.length&&u(o)}else u(h);return g.abort.bind(g)},e.version="2.15.7"}));
1
+ !function(e,t){if("function"==typeof define&&define.amd)define("Waline",["exports"],t);else if("undefined"!=typeof exports)t(exports);else{var n={exports:{}};t(n.exports),e.Waline=n.exports}}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:this,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.version=e.pageviewCount=void 0;const t={"Content-Type":"application/json"},n=e=>(e=>{let{serverURL:n,lang:r,path:o,type:a,action:i}=e;return fetch(`${n}/article?lang=${r}`,{method:"POST",headers:t,body:JSON.stringify({path:o,type:a,action:i})}).then((e=>e.json()))})({...e,type:"time",action:"inc"}),r=e=>{const t=function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").replace(/\/$/u,"")}(e);return/^(https?:)?\/\//.test(t)?t:`https://${t}`},o=e=>{"AbortError"!==e.name&&console.error(e.message)},a=e=>e.dataset.path||e.getAttribute("id"),i=(e,t)=>{t.forEach(((t,n)=>{t.innerText=e[n].toString()}))};e.pageviewCount=e=>{let{serverURL:t,path:l=window.location.pathname,selector:s=".waline-pageview-count",update:p=!0,lang:c=navigator.language}=e;const g=new AbortController,h=Array.from(document.querySelectorAll(s)),f=e=>{const t=a(e);return null!==t&&l!==t},u=e=>(e=>{let{serverURL:t,lang:n,paths:r,signal:o}=e;return(e=>{let{serverURL:t,lang:n,paths:r,type:o,signal:a}=e;return fetch(`${t}/article?path=${encodeURIComponent(r.join(","))}&type=${encodeURIComponent(o.join(","))}&lang=${n}`,{signal:a}).then((e=>e.json()))})({serverURL:t,lang:n,paths:r,type:["time"],signal:o}).then((e=>Array.isArray(e)?e:[e]))})({serverURL:r(t),paths:e.map((e=>a(e)||l)),lang:c,signal:g.signal}).then((t=>i(t,e))).catch(o);if(p){const e=h.filter((e=>!f(e))),o=h.filter(f);n({serverURL:r(t),path:l,lang:c}).then((t=>i(new Array(e.length).fill(t),e))),o.length&&u(o)}else u(h);return g.abort.bind(g)},e.version="2.15.8"}));
2
2
  //# sourceMappingURL=pageview.js.map
package/dist/pageview.mjs CHANGED
@@ -1,2 +1,2 @@
1
- const e="2.15.7",t={"Content-Type":"application/json"},n=({serverURL:e,lang:t,paths:n,signal:a})=>(({serverURL:e,lang:t,paths:n,type:a,signal:r})=>fetch(`${e}/article?path=${encodeURIComponent(n.join(","))}&type=${encodeURIComponent(a.join(","))}&lang=${t}`,{signal:r}).then((e=>e.json())))({serverURL:e,lang:t,paths:n,type:["time"],signal:a}).then((e=>Array.isArray(e)?e:[e])),a=e=>(({serverURL:e,lang:n,path:a,type:r,action:o})=>fetch(`${e}/article?lang=${n}`,{method:"POST",headers:t,body:JSON.stringify({path:a,type:r,action:o})}).then((e=>e.json())))({...e,type:"time",action:"inc"}),r=e=>{const t=((e="")=>e.replace(/\/$/u,""))(e);return/^(https?:)?\/\//.test(t)?t:`https://${t}`},o=e=>{"AbortError"!==e.name&&console.error(e.message)},l=e=>e.dataset.path||e.getAttribute("id"),s=(e,t)=>{t.forEach(((t,n)=>{t.innerText=e[n].toString()}))},i=({serverURL:e,path:t=window.location.pathname,selector:i=".waline-pageview-count",update:p=!0,lang:c=navigator.language})=>{const h=new AbortController,g=Array.from(document.querySelectorAll(i)),y=e=>{const n=l(e);return null!==n&&t!==n},d=a=>n({serverURL:r(e),paths:a.map((e=>l(e)||t)),lang:c,signal:h.signal}).then((e=>s(e,a))).catch(o);if(p){const n=g.filter((e=>!y(e))),o=g.filter(y);a({serverURL:r(e),path:t,lang:c}).then((e=>s(new Array(n.length).fill(e),n))),o.length&&d(o)}else d(g);return h.abort.bind(h)};export{i as pageviewCount,e as version};
1
+ const e="2.15.8",t={"Content-Type":"application/json"},n=({serverURL:e,lang:t,paths:n,signal:a})=>(({serverURL:e,lang:t,paths:n,type:a,signal:r})=>fetch(`${e}/article?path=${encodeURIComponent(n.join(","))}&type=${encodeURIComponent(a.join(","))}&lang=${t}`,{signal:r}).then((e=>e.json())))({serverURL:e,lang:t,paths:n,type:["time"],signal:a}).then((e=>Array.isArray(e)?e:[e])),a=e=>(({serverURL:e,lang:n,path:a,type:r,action:o})=>fetch(`${e}/article?lang=${n}`,{method:"POST",headers:t,body:JSON.stringify({path:a,type:r,action:o})}).then((e=>e.json())))({...e,type:"time",action:"inc"}),r=e=>{const t=((e="")=>e.replace(/\/$/u,""))(e);return/^(https?:)?\/\//.test(t)?t:`https://${t}`},o=e=>{"AbortError"!==e.name&&console.error(e.message)},l=e=>e.dataset.path||e.getAttribute("id"),s=(e,t)=>{t.forEach(((t,n)=>{t.innerText=e[n].toString()}))},i=({serverURL:e,path:t=window.location.pathname,selector:i=".waline-pageview-count",update:p=!0,lang:c=navigator.language})=>{const h=new AbortController,g=Array.from(document.querySelectorAll(i)),y=e=>{const n=l(e);return null!==n&&t!==n},d=a=>n({serverURL:r(e),paths:a.map((e=>l(e)||t)),lang:c,signal:h.signal}).then((e=>s(e,a))).catch(o);if(p){const n=g.filter((e=>!y(e))),o=g.filter(y);a({serverURL:r(e),path:t,lang:c}).then((e=>s(new Array(n.length).fill(e),n))),o.length&&d(o)}else d(g);return h.abort.bind(h)};export{i as pageviewCount,e as version};
2
2
  //# sourceMappingURL=pageview.mjs.map
package/dist/shim.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("vue"),t=require("@vueuse/core"),n=require("autosize"),a=require("marked");const l=["nick","mail","link"],o=e=>e.filter((e=>l.includes(e))),r=["//unpkg.com/@waline/emojis@1.1.0/weibo"],i="en-US",c=["//unpkg.com/@waline/emojis/tieba/tieba_agree.png","//unpkg.com/@waline/emojis/tieba/tieba_look_down.png","//unpkg.com/@waline/emojis/tieba/tieba_sunglasses.png","//unpkg.com/@waline/emojis/tieba/tieba_pick_nose.png","//unpkg.com/@waline/emojis/tieba/tieba_awkward.png","//unpkg.com/@waline/emojis/tieba/tieba_sleep.png"],s=e=>new Promise(((t,n)=>{if(e.size>128e3)return n(new Error("File too large! File size limit 128KB"));const a=new FileReader;a.readAsDataURL(e),a.onload=()=>t(a.result?.toString()||""),a.onerror=n})),u=e=>!0===e?'<p class="wl-tex">TeX is not available in preview</p>':'<span class="wl-tex">TeX is not available in preview</span>',m=e=>{const t=async(t,n={})=>fetch(`https://api.giphy.com/v1/gifs/${t}?${new URLSearchParams({lang:e,limit:"20",rating:"g",api_key:"6CIMLkNMMOhRcXPoMCPkFy4Ybk2XUiMp",...n}).toString()}`).then((e=>e.json())).then((({data:e})=>e.map((e=>({title:e.title,src:e.images.downsized_medium.url})))));return{search:e=>t("search",{q:e,offset:"0"}),default:()=>t("trending",{}),more:(e,n=0)=>t("search",{q:e,offset:n.toString()})}},d=new RegExp(`(${/[\u4E00-\u9FFF\u3400-\u4dbf\uf900-\ufaff\u3040-\u309f\uac00-\ud7af\u0400-\u04FF]+|\w+/.source}|${/</.source})|((?:${/(?:^|\s)\/\/(.+?)$/gm.source})|(?:${/\/\*([\S\s]*?)\*\//gm.source}))`,"gmi"),p=["23AC69","91C132","F19726","E8552D","1AAB8E","E1147F","2980C1","1BA1E6","9FA0A0","F19726","E30B20","E30B20","A3338B"],v={},g=e=>{let t=0;return e.replace(d,((e,n,a)=>{if(a)return`<span style="color: slategray">${a}</span>`;if("<"===n)return"&lt;";let l;v[n]?l=v[n]:(l=p[t],v[n]=l);const o=`<span style="color: #${l}">${n}</span>`;return t=++t%p.length,o}))},h=["nick","nickError","mail","mailError","link","optional","placeholder","sofa","submit","like","cancelLike","reply","cancelReply","comment","refresh","more","preview","emoji","uploadImage","seconds","minutes","hours","days","now","uploading","login","logout","admin","sticky","word","wordHint","anonymous","level0","level1","level2","level3","level4","level5","gif","gifSearchPlaceholder","profile","approved","waiting","spam","unsticky","oldest","latest","hottest","reactionTitle"],f=e=>Object.fromEntries(e.map(((e,t)=>[h[t],e])));var y=f(["NickName","NickName cannot be less than 3 bytes.","E-Mail","Please confirm your email address.","Website","Optional","Comment here...","No comment yet.","Submit","Like","Cancel like","Reply","Cancel reply","Comments","Refresh","Load More...","Preview","Emoji","Upload Image","seconds ago","minutes ago","hours ago","days ago","just now","Uploading","Login","logout","Admin","Sticky","Words","Please input comments between $0 and $1 words!\n Current word number: $2","Anonymous","Dwarves","Hobbits","Ents","Wizards","Elves","Maiar","GIF","Search GIF","Profile","Approved","Waiting","Spam","Unsticky","Oldest","Latest","Hottest","What do you think?"]),k=f(["ニックネーム","3バイト以上のニックネームをご入力ください.","メールアドレス","メールアドレスをご確認ください.","サイト","オプション","ここにコメント","コメントしましょう~","提出する","Like","Cancel like","返信する","キャンセル","コメント","更新","さらに読み込む","プレビュー","絵文字","画像をアップロード","秒前","分前","時間前","日前","たっだ今","アップロード","ログインする","ログアウト","管理者","トップに置く","ワード","コメントは $0 から $1 ワードの間でなければなりません!\n 現在の単語番号: $2","匿名","うえにん","なかにん","しもおし","特にしもおし","かげ","なぬし","GIF","探す GIF","個人情報","承認済み","待っている","スパム","べたつかない","逆順","正順","人気順","どう思いますか?"]),w=f(["Apelido","Apelido não pode ser menor que 3 bytes.","E-Mail","Por favor, confirme seu endereço de e-mail.","Website","Opcional","Comente aqui...","Nenhum comentário, ainda.","Enviar","Like","Cancel like","Responder","Cancelar resposta","Comentários","Refrescar","Carregar Mais...","Visualizar","Emoji","Enviar Imagem","segundos atrás","minutos atrás","horas atrás","dias atrás","agora mesmo","Enviando","Entrar","Sair","Admin","Sticky","Palavras","Favor enviar comentário com $0 a $1 palavras!\n Número de palavras atuais: $2","Anônimo","Dwarves","Hobbits","Ents","Wizards","Elves","Maiar","GIF","Pesquisar GIF","informação pessoal","Aprovado","Espera","Spam","Unsticky","Mais velho","Mais recentes","Mais quente","O que você acha?"]),b=f(["Псевдоним","Никнейм не может быть меньше 3 байт.","Эл. адрес","Пожалуйста, подтвердите адрес вашей электронной почты.","Веб-сайт","Необязательный","Комментарий здесь...","Пока нет комментариев.","Отправить","Like","Cancel like","Отвечать","Отменить ответ","Комментарии","Обновить","Загрузи больше...","Превью","эмодзи","Загрузить изображение","секунд назад","несколько минут назад","несколько часов назад","дней назад","прямо сейчас","Загрузка","Авторизоваться","Выход из системы","Админ","Липкий","Слова","Пожалуйста, введите комментарии от $0 до $1 слов!\nНомер текущего слова: $2","Анонимный","Dwarves","Hobbits","Ents","Wizards","Elves","Maiar","GIF","Поиск GIF","Персональные данные","Одобренный","Ожидающий","Спам","Нелипкий","самый старый","последний","самый горячий","Что вы думаете?"]),C=f(["昵称","昵称不能少于3个字符","邮箱","请填写正确的邮件地址","网址","可选","欢迎评论","来发评论吧~","提交","喜欢","取消喜欢","回复","取消回复","评论","刷新","加载更多...","预览","表情","上传图片","秒前","分钟前","小时前","天前","刚刚","正在上传","登录","退出","博主","置顶","字","评论字数应在 $0 到 $1 字之间!\n当前字数:$2","匿名","潜水","冒泡","吐槽","活跃","话痨","传说","表情包","搜索表情包","个人资料","通过","待审核","垃圾","取消置顶","按倒序","按正序","按热度","你认为这篇文章怎么样?"]),E=f(["暱稱","暱稱不能少於3個字元","郵箱","請填寫正確的郵件地址","網址","可選","歡迎留言","來發留言吧~","送出","喜歡","取消喜歡","回覆","取消回覆","留言","重整","載入更多...","預覽","表情","上傳圖片","秒前","分鐘前","小時前","天前","剛剛","正在上傳","登入","登出","管理者","置頂","字","留言字數應在 $0 到 $1 字之間!\n目前字數:$2","匿名","潛水","冒泡","吐槽","活躍","多話","傳說","表情包","搜尋表情包","個人資料","通過","待審核","垃圾","取消置頂","最早","最新","熱門","你認為這篇文章怎麼樣?"]);const B={zh:C,"zh-cn":C,"zh-CN":C,"zh-tw":E,"zh-TW":E,en:y,"en-US":y,"en-us":y,jp:k,ja:k,"jp-jp":k,"jp-JP":k,"pt-br":w,"pt-BR":w,ru:b,"ru-ru":b,"ru-RU":b},$={"Content-Type":"application/json"},L=(e,t="")=>{if("object"==typeof e&&e.errno)throw new TypeError(`${t} failed with ${e.errno}: ${e.errmsg}`);return e},V=({serverURL:e,lang:t,paths:n,type:a,signal:l})=>fetch(`${e}/article?path=${encodeURIComponent(n.join(","))}&type=${encodeURIComponent(a.join(","))}&lang=${t}`,{signal:l}).then((e=>e.json())),N=({serverURL:e,lang:t,path:n,type:a,action:l})=>fetch(`${e}/article?lang=${t}`,{method:"POST",headers:$,body:JSON.stringify({path:n,type:a,action:l})}).then((e=>e.json())),S=({serverURL:e,lang:t,token:n,objectId:a,comment:l})=>fetch(`${e}/comment/${a}?lang=${t}`,{method:"PUT",headers:{...$,Authorization:`Bearer ${n}`},body:JSON.stringify(l)}).then((e=>e.json())).then((e=>L(e,"Update comment"))),x=e=>{try{e=decodeURI(e)}catch(e){}return e},R=(e="")=>e.replace(/\/$/u,""),j=e=>/^(https?:)?\/\//.test(e),I=e=>{const t=R(e);return j(t)?t:`https://${t}`},A=e=>Array.isArray(e)?e:!!e&&[0,e],z=(e,t)=>"function"==typeof e?e:!1!==e&&t,U="{--waline-white:#000;--waline-light-grey:#666;--waline-dark-grey:#999;--waline-color:#888;--waline-bgcolor:#1e1e1e;--waline-bgcolor-light:#272727;--waline-bgcolor-hover: #444;--waline-border-color:#333;--waline-disable-bgcolor:#444;--waline-disable-color:#272727;--waline-bq-color:#272727;--waline-info-bgcolor:#272727;--waline-info-color:#666}",_=(e,t)=>{let n=e.toString();for(;n.length<t;)n="0"+n;return n},D=(e,t,n)=>{if(!e)return"";const a="string"==typeof e?new Date(-1!==e.indexOf(" ")?e.replace(/-/g,"/"):e):e,l=t.getTime()-a.getTime(),o=Math.floor(l/864e5);if(0===o){const e=l%864e5,t=Math.floor(e/36e5);if(0===t){const t=e%36e5,a=Math.floor(t/6e4);if(0===a){const e=t%6e4;return`${Math.round(e/1e3)} ${n.seconds}`}return`${a} ${n.minutes}`}return`${t} ${n.hours}`}return o<0?n.now:o<8?`${o} ${n.days}`:(e=>{const t=_(e.getDate(),2),n=_(e.getMonth()+1,2);return`${_(e.getFullYear(),2)}-${n}-${t}`})(a)},M=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,T=e=>{const n=t.useStorage("WALINE_EMOJI",{}),a=Boolean(/@[0-9]+\.[0-9]+\.[0-9]+/.test(e));if(a){const t=n.value[e];if(t)return Promise.resolve(t)}return fetch(`${e}/info.json`).then((e=>e.json())).then((t=>{const l={folder:e,...t};return a&&(n.value[e]=l),l}))},H=(e,t="",n="",a="")=>`${t?`${t}/`:""}${n}${e}${a?`.${a}`:""}`,O=e=>{"AbortError"!==e.name&&console.error(e.message)},P=e=>e instanceof HTMLElement?e:"string"==typeof e?document.querySelector(e):null,F=e=>e.type.includes("image"),W=e=>{const t=Array.from(e).find(F);return t?t.getAsFile():null},q=/\$.*?\$/,K=/^\$(.*?)\$/,G=/^(?:\s{0,3})\$\$((?:[^\n]|\n[^\n])+?)\n{0,1}\$\$/,Z=(e="",t={})=>e.replace(/:(.+?):/g,((e,n)=>t[n]?`<img class="wl-emoji" src="${t[n]}" alt="${n}">`:e)),J=(e,{emojiMap:t,highlighter:n,texRenderer:l})=>{if(a.marked.setOptions({highlight:n||void 0,breaks:!0,smartLists:!0,smartypants:!0}),l){const e=(e=>[{name:"blockMath",level:"block",tokenizer(t){const n=G.exec(t);if(null!==n)return{type:"html",raw:n[0],text:e(!0,n[1])}}},{name:"inlineMath",level:"inline",start(e){const t=e.search(q);return-1!==t?t:e.length},tokenizer(t){const n=K.exec(t);if(null!==n)return{type:"html",raw:n[0],text:e(!1,n[1])}}}])(l);a.marked.use({extensions:e})}return a.marked.parse(Z(e,t))},Y=e=>e.dataset.path||e.getAttribute("id"),X=({serverURL:e,path:t=window.location.pathname,selector:n=".waline-comment-count",lang:a=navigator.language})=>{const l=new AbortController,o=document.querySelectorAll(n);return o.length&&(({serverURL:e,lang:t,paths:n,signal:a})=>fetch(`${e}/comment?type=count&url=${encodeURIComponent(n.join(","))}&lang=${t}`,{signal:a}).then((e=>e.json())).then((e=>Array.isArray(e)?e:[e])))({serverURL:I(e),paths:Array.from(o).map((e=>x(e.dataset.path||e.getAttribute("id")||t))),lang:a,signal:l.signal}).then((e=>{o.forEach(((t,n)=>{t.innerText=e[n].toString()}))})).catch(O),l.abort.bind(l)},Q=({size:t})=>e.h("svg",{class:"wl-close-icon",viewBox:"0 0 1024 1024",width:t,height:t},[e.h("path",{d:"M697.173 85.333h-369.92c-144.64 0-241.92 101.547-241.92 252.587v348.587c0 150.613 97.28 252.16 241.92 252.16h369.92c144.64 0 241.494-101.547 241.494-252.16V337.92c0-151.04-96.854-252.587-241.494-252.587z",fill:"currentColor"}),e.h("path",{d:"m640.683 587.52-75.947-75.861 75.904-75.862a37.29 37.29 0 0 0 0-52.778 37.205 37.205 0 0 0-52.779 0l-75.946 75.818-75.862-75.946a37.419 37.419 0 0 0-52.821 0 37.419 37.419 0 0 0 0 52.821l75.947 75.947-75.776 75.733a37.29 37.29 0 1 0 52.778 52.821l75.776-75.776 75.947 75.947a37.376 37.376 0 0 0 52.779-52.821z",fill:"#888"})]),ee=()=>e.h("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},e.h("path",{d:"m341.013 394.667 27.755 393.45h271.83l27.733-393.45h64.106l-28.01 397.952a64 64 0 0 1-63.83 59.498H368.768a64 64 0 0 1-63.83-59.52l-28.053-397.93h64.128zm139.307 19.818v298.667h-64V414.485h64zm117.013 0v298.667h-64V414.485h64zM181.333 288h640v64h-640v-64zm453.483-106.667v64h-256v-64h256z",fill:"red"})),te=()=>e.h("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},e.h("path",{d:"M563.2 463.3 677 540c1.7 1.2 3.7 1.8 5.8 1.8.7 0 1.4-.1 2-.2 2.7-.5 5.1-2.1 6.6-4.4l25.3-37.8c1.5-2.3 2.1-5.1 1.6-7.8s-2.1-5.1-4.4-6.6l-73.6-49.1 73.6-49.1c2.3-1.5 3.9-3.9 4.4-6.6.5-2.7 0-5.5-1.6-7.8l-25.3-37.8a10.1 10.1 0 0 0-6.6-4.4c-.7-.1-1.3-.2-2-.2-2.1 0-4.1.6-5.8 1.8l-113.8 76.6c-9.2 6.2-14.7 16.4-14.7 27.5.1 11 5.5 21.3 14.7 27.4zM387 348.8h-45.5c-5.7 0-10.4 4.7-10.4 10.4v153.3c0 5.7 4.7 10.4 10.4 10.4H387c5.7 0 10.4-4.7 10.4-10.4V359.2c0-5.7-4.7-10.4-10.4-10.4zm333.8 241.3-41-20a10.3 10.3 0 0 0-8.1-.5c-2.6.9-4.8 2.9-5.9 5.4-30.1 64.9-93.1 109.1-164.4 115.2-5.7.5-9.9 5.5-9.5 11.2l3.9 45.5c.5 5.3 5 9.5 10.3 9.5h.9c94.8-8 178.5-66.5 218.6-152.7 2.4-5 .3-11.2-4.8-13.6zm186-186.1c-11.9-42-30.5-81.4-55.2-117.1-24.1-34.9-53.5-65.6-87.5-91.2-33.9-25.6-71.5-45.5-111.6-59.2-41.2-14-84.1-21.1-127.8-21.1h-1.2c-75.4 0-148.8 21.4-212.5 61.7-63.7 40.3-114.3 97.6-146.5 165.8-32.2 68.1-44.3 143.6-35.1 218.4 9.3 74.8 39.4 145 87.3 203.3.1.2.3.3.4.5l36.2 38.4c1.1 1.2 2.5 2.1 3.9 2.6 73.3 66.7 168.2 103.5 267.5 103.5 73.3 0 145.2-20.3 207.7-58.7 37.3-22.9 70.3-51.5 98.1-85 27.1-32.7 48.7-69.5 64.2-109.1 15.5-39.7 24.4-81.3 26.6-123.8 2.4-43.6-2.5-87-14.5-129zm-60.5 181.1c-8.3 37-22.8 72-43 104-19.7 31.1-44.3 58.6-73.1 81.7-28.8 23.1-61 41-95.7 53.4-35.6 12.7-72.9 19.1-110.9 19.1-82.6 0-161.7-30.6-222.8-86.2l-34.1-35.8c-23.9-29.3-42.4-62.2-55.1-97.7-12.4-34.7-18.8-71-19.2-107.9-.4-36.9 5.4-73.3 17.1-108.2 12-35.8 30-69.2 53.4-99.1 31.7-40.4 71.1-72 117.2-94.1 44.5-21.3 94-32.6 143.4-32.6 49.3 0 97 10.8 141.8 32 34.3 16.3 65.3 38.1 92 64.8 26.1 26 47.5 56 63.6 89.2 16.2 33.2 26.6 68.5 31 105.1 4.6 37.5 2.7 75.3-5.6 112.3z",fill:"currentColor"})),ne=()=>e.h("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},[e.h("path",{d:"M784 112H240c-88 0-160 72-160 160v480c0 88 72 160 160 160h544c88 0 160-72 160-160V272c0-88-72-160-160-160zm96 640c0 52.8-43.2 96-96 96H240c-52.8 0-96-43.2-96-96V272c0-52.8 43.2-96 96-96h544c52.8 0 96 43.2 96 96v480z",fill:"currentColor"}),e.h("path",{d:"M352 480c52.8 0 96-43.2 96-96s-43.2-96-96-96-96 43.2-96 96 43.2 96 96 96zm0-128c17.6 0 32 14.4 32 32s-14.4 32-32 32-32-14.4-32-32 14.4-32 32-32zm462.4 379.2-3.2-3.2-177.6-177.6c-25.6-25.6-65.6-25.6-91.2 0l-80 80-36.8-36.8c-25.6-25.6-65.6-25.6-91.2 0L200 728c-4.8 6.4-8 14.4-8 24 0 17.6 14.4 32 32 32 9.6 0 16-3.2 22.4-9.6L380.8 640l134.4 134.4c6.4 6.4 14.4 9.6 24 9.6 17.6 0 32-14.4 32-32 0-9.6-4.8-17.6-9.6-24l-52.8-52.8 80-80L769.6 776c6.4 4.8 12.8 8 20.8 8 17.6 0 32-14.4 32-32 0-8-3.2-16-8-20.8z",fill:"currentColor"})]),ae=({active:t=!1})=>e.h("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},[e.h("path",{d:"M850.654 323.804c-11.042-25.625-26.862-48.532-46.885-68.225-20.022-19.61-43.258-34.936-69.213-45.73-26.78-11.124-55.124-16.727-84.375-16.727-40.622 0-80.256 11.123-114.698 32.135A214.79 214.79 0 0 0 512 241.819a214.79 214.79 0 0 0-23.483-16.562c-34.442-21.012-74.076-32.135-114.698-32.135-29.25 0-57.595 5.603-84.375 16.727-25.872 10.711-49.19 26.12-69.213 45.73-20.105 19.693-35.843 42.6-46.885 68.225-11.453 26.615-17.303 54.877-17.303 83.963 0 27.439 5.603 56.03 16.727 85.117 9.31 24.307 22.659 49.52 39.715 74.981 27.027 40.293 64.188 82.316 110.33 124.915 76.465 70.615 152.189 119.394 155.402 121.371l19.528 12.525c8.652 5.52 19.776 5.52 28.427 0l19.529-12.525c3.213-2.06 78.854-50.756 155.401-121.371 46.143-42.6 83.304-84.622 110.33-124.915 17.057-25.46 30.487-50.674 39.716-74.981 11.124-29.087 16.727-57.678 16.727-85.117.082-29.086-5.768-57.348-17.221-83.963z"+(t?"":"M512 761.5S218.665 573.55 218.665 407.767c0-83.963 69.461-152.023 155.154-152.023 60.233 0 112.473 33.618 138.181 82.727 25.708-49.109 77.948-82.727 138.18-82.727 85.694 0 155.155 68.06 155.155 152.023C805.335 573.551 512 761.5 512 761.5z"),fill:t?"red":"currentColor"})]),le=()=>e.h("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},[e.h("path",{d:"M710.816 654.301c70.323-96.639 61.084-230.578-23.705-314.843-46.098-46.098-107.183-71.109-172.28-71.109-65.008 0-126.092 25.444-172.28 71.109-45.227 46.098-70.756 107.183-70.756 172.106 0 64.923 25.444 126.007 71.194 172.106 46.099 46.098 107.184 71.109 172.28 71.109 51.414 0 100.648-16.212 142.824-47.404l126.53 126.006c7.058 7.06 16.297 10.979 26.406 10.979 10.105 0 19.343-3.919 26.402-10.979 14.467-14.467 14.467-38.172 0-52.723L710.816 654.301zm-315.107-23.265c-65.88-65.88-65.88-172.54 0-238.42 32.069-32.07 74.245-49.149 119.471-49.149 45.227 0 87.407 17.603 119.472 49.149 65.88 65.879 65.88 172.539 0 238.42-63.612 63.178-175.242 63.178-238.943 0zm0 0",fill:"currentColor"}),e.h("path",{d:"M703.319 121.603H321.03c-109.8 0-199.469 89.146-199.469 199.38v382.034c0 109.796 89.236 199.38 199.469 199.38h207.397c20.653 0 37.384-16.645 37.384-37.299 0-20.649-16.731-37.296-37.384-37.296H321.03c-68.582 0-124.352-55.77-124.352-124.267V321.421c0-68.496 55.77-124.267 124.352-124.267h382.289c68.582 0 124.352 55.771 124.352 124.267V524.72c0 20.654 16.736 37.299 37.385 37.299 20.654 0 37.384-16.645 37.384-37.299V320.549c-.085-109.8-89.321-198.946-199.121-198.946zm0 0",fill:"currentColor"})]),oe=()=>e.h("svg",{width:"16",height:"16",ariaHidden:"true"},e.h("path",{d:"M14.85 3H1.15C.52 3 0 3.52 0 4.15v7.69C0 12.48.52 13 1.15 13h13.69c.64 0 1.15-.52 1.15-1.15v-7.7C16 3.52 15.48 3 14.85 3zM9 11H7V8L5.5 9.92 4 8v3H2V5h2l1.5 2L7 5h2v6zm2.99.5L9.5 8H11V5h2v3h1.5l-2.51 3.5z",fill:"currentColor"})),re=()=>e.h("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},e.h("path",{d:"M810.667 213.333a64 64 0 0 1 64 64V704a64 64 0 0 1-64 64H478.336l-146.645 96.107a21.333 21.333 0 0 1-33.024-17.856V768h-85.334a64 64 0 0 1-64-64V277.333a64 64 0 0 1 64-64h597.334zm0 64H213.333V704h149.334v63.296L459.243 704h351.424V277.333zm-271.36 213.334v64h-176.64v-64h176.64zm122.026-128v64H362.667v-64h298.666z",fill:"currentColor"})),ie=()=>e.h("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},e.h("path",{d:"M813.039 318.772L480.53 651.278H360.718V531.463L693.227 198.961C697.904 194.284 704.027 192 710.157 192C716.302 192 722.436 194.284 727.114 198.961L813.039 284.88C817.72 289.561 820 295.684 820 301.825C820 307.95 817.72 314.093 813.039 318.772ZM710.172 261.888L420.624 551.431V591.376H460.561L750.109 301.825L710.172 261.888ZM490.517 291.845H240.906V771.09H720.156V521.479C720.156 504.947 733.559 491.529 750.109 491.529C766.653 491.529 780.063 504.947 780.063 521.479V791.059C780.063 813.118 762.18 831 740.125 831H220.937C198.882 831 181 813.118 181 791.059V271.872C181 249.817 198.882 231.935 220.937 231.935H490.517C507.06 231.935 520.47 245.352 520.47 261.888C520.47 278.424 507.06 291.845 490.517 291.845Z",fill:"currentColor"})),ce=()=>e.h("svg",{class:"verified-icon",viewBox:"0 0 1024 1024",width:"14",height:"14"},e.h("path",{d:"m894.4 461.56-54.4-63.2c-10.4-12-18.8-34.4-18.8-50.4v-68c0-42.4-34.8-77.2-77.2-77.2h-68c-15.6 0-38.4-8.4-50.4-18.8l-63.2-54.4c-27.6-23.6-72.8-23.6-100.8 0l-62.8 54.8c-12 10-34.8 18.4-50.4 18.4h-69.2c-42.4 0-77.2 34.8-77.2 77.2v68.4c0 15.6-8.4 38-18.4 50l-54 63.6c-23.2 27.6-23.2 72.4 0 100l54 63.6c10 12 18.4 34.4 18.4 50v68.4c0 42.4 34.8 77.2 77.2 77.2h69.2c15.6 0 38.4 8.4 50.4 18.8l63.2 54.4c27.6 23.6 72.8 23.6 100.8 0l63.2-54.4c12-10.4 34.4-18.8 50.4-18.8h68c42.4 0 77.2-34.8 77.2-77.2v-68c0-15.6 8.4-38.4 18.8-50.4l54.4-63.2c23.2-27.6 23.2-73.2-.4-100.8zm-216-25.2-193.2 193.2a30 30 0 0 1-42.4 0l-96.8-96.8a30.16 30.16 0 0 1 0-42.4c11.6-11.6 30.8-11.6 42.4 0l75.6 75.6 172-172c11.6-11.6 30.8-11.6 42.4 0 11.6 11.6 11.6 30.8 0 42.4z",fill:"#27ae60"})),se=({size:t=100})=>e.h("svg",{width:t,height:t,viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid"},e.h("circle",{cx:50,cy:50,fill:"none",stroke:"currentColor",strokeWidth:"4",r:"40","stroke-dasharray":"85 30"},e.h("animateTransform",{attributeName:"transform",type:"rotate",repeatCount:"indefinite",dur:"1s",values:"0 50 50;360 50 50",keyTimes:"0;1"}))),ue=()=>e.h("svg",{width:24,height:24,fill:"currentcolor",viewBox:"0 0 24 24"},[e.h("path",{style:"transform: translateY(0.5px)",d:"M18.968 10.5H15.968V11.484H17.984V12.984H15.968V15H14.468V9H18.968V10.5V10.5ZM8.984 9C9.26533 9 9.49967 9.09367 9.687 9.281C9.87433 9.46833 9.968 9.70267 9.968 9.984V10.5H6.499V13.5H8.468V12H9.968V14.016C9.968 14.2973 9.87433 14.5317 9.687 14.719C9.49967 14.9063 9.26533 15 8.984 15H5.984C5.70267 15 5.46833 14.9063 5.281 14.719C5.09367 14.5317 5 14.2973 5 14.016V9.985C5 9.70367 5.09367 9.46933 5.281 9.282C5.46833 9.09467 5.70267 9.001 5.984 9.001H8.984V9ZM11.468 9H12.968V15H11.468V9V9Z"}),e.h("path",{d:"M18.5 3H5.75C3.6875 3 2 4.6875 2 6.75V18C2 20.0625 3.6875 21.75 5.75 21.75H18.5C20.5625 21.75 22.25 20.0625 22.25 18V6.75C22.25 4.6875 20.5625 3 18.5 3ZM20.75 18C20.75 19.2375 19.7375 20.25 18.5 20.25H5.75C4.5125 20.25 3.5 19.2375 3.5 18V6.75C3.5 5.5125 4.5125 4.5 5.75 4.5H18.5C19.7375 4.5 20.75 5.5125 20.75 6.75V18Z"})]);let me=null;const de=()=>me||(me=t.useStorage("WALINE_LIKE",[]));let pe=null;const ve=()=>pe??(pe=t.useStorage("WALINE_REACTION",{}));var ge="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},he={},fe={},ye={},ke=ge&&ge.__awaiter||function(e,t,n,a){return new(n||(n=Promise))((function(l,o){function r(e){try{c(a.next(e))}catch(e){o(e)}}function i(e){try{c(a.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?l(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(r,i)}c((a=a.apply(e,t||[])).next())}))},we=ge&&ge.__generator||function(e,t){var n,a,l,o,r={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]};return o={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function i(o){return function(i){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;r;)try{if(n=1,a&&(l=2&o[0]?a.return:o[0]?a.throw||((l=a.return)&&l.call(a),0):a.next)&&!(l=l.call(a,o[1])).done)return l;switch(a=0,l&&(o=[2&o[0],l.value]),o[0]){case 0:case 1:l=o;break;case 4:return r.label++,{value:o[1],done:!1};case 5:r.label++,a=o[1],o=[0];continue;case 7:o=r.ops.pop(),r.trys.pop();continue;default:if(!(l=r.trys,(l=l.length>0&&l[l.length-1])||6!==o[0]&&2!==o[0])){r=0;continue}if(3===o[0]&&(!l||o[1]>l[0]&&o[1]<l[3])){r.label=o[1];break}if(6===o[0]&&r.label<l[1]){r.label=l[1],l=o;break}if(l&&r.label<l[2]){r.label=l[2],r.ops.push(o);break}l[2]&&r.ops.pop(),r.trys.pop();continue}o=t.call(e,r)}catch(e){o=[6,e],a=0}finally{n=l=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,i])}}};Object.defineProperty(ye,"__esModule",{value:!0}),ye.ReCaptchaInstance=void 0;var be=function(){function e(e,t,n){this.siteKey=e,this.recaptchaID=t,this.recaptcha=n,this.styleContainer=null}return e.prototype.execute=function(e){return ke(this,void 0,void 0,(function(){return we(this,(function(t){return[2,this.recaptcha.enterprise?this.recaptcha.enterprise.execute(this.recaptchaID,{action:e}):this.recaptcha.execute(this.recaptchaID,{action:e})]}))}))},e.prototype.getSiteKey=function(){return this.siteKey},e.prototype.hideBadge=function(){null===this.styleContainer&&(this.styleContainer=document.createElement("style"),this.styleContainer.innerHTML=".grecaptcha-badge{visibility:hidden !important;}",document.head.appendChild(this.styleContainer))},e.prototype.showBadge=function(){null!==this.styleContainer&&(document.head.removeChild(this.styleContainer),this.styleContainer=null)},e}();ye.ReCaptchaInstance=be,Object.defineProperty(fe,"__esModule",{value:!0}),fe.getInstance=fe.load=void 0;var Ce,Ee=ye;!function(e){e[e.NOT_LOADED=0]="NOT_LOADED",e[e.LOADING=1]="LOADING",e[e.LOADED=2]="LOADED"}(Ce||(Ce={}));var Be=function(){function e(){}return e.load=function(t,n){if(void 0===n&&(n={}),"undefined"==typeof document)return Promise.reject(new Error("This is a library for the browser!"));if(e.getLoadingState()===Ce.LOADED)return e.instance.getSiteKey()===t?Promise.resolve(e.instance):Promise.reject(new Error("reCAPTCHA already loaded with different site key!"));if(e.getLoadingState()===Ce.LOADING)return t!==e.instanceSiteKey?Promise.reject(new Error("reCAPTCHA already loaded with different site key!")):new Promise((function(t,n){e.successfulLoadingConsumers.push((function(e){return t(e)})),e.errorLoadingRunnable.push((function(e){return n(e)}))}));e.instanceSiteKey=t,e.setLoadingState(Ce.LOADING);var a=new e;return new Promise((function(l,o){a.loadScript(t,n.useRecaptchaNet||!1,n.useEnterprise||!1,n.renderParameters?n.renderParameters:{},n.customUrl).then((function(){e.setLoadingState(Ce.LOADED);var o=a.doExplicitRender(grecaptcha,t,n.explicitRenderParameters?n.explicitRenderParameters:{},n.useEnterprise||!1),r=new Ee.ReCaptchaInstance(t,o,grecaptcha);e.successfulLoadingConsumers.forEach((function(e){return e(r)})),e.successfulLoadingConsumers=[],n.autoHideBadge&&r.hideBadge(),e.instance=r,l(r)})).catch((function(t){e.errorLoadingRunnable.forEach((function(e){return e(t)})),e.errorLoadingRunnable=[],o(t)}))}))},e.getInstance=function(){return e.instance},e.setLoadingState=function(t){e.loadingState=t},e.getLoadingState=function(){return null===e.loadingState?Ce.NOT_LOADED:e.loadingState},e.prototype.loadScript=function(t,n,a,l,o){var r=this;void 0===n&&(n=!1),void 0===a&&(a=!1),void 0===l&&(l={}),void 0===o&&(o="");var i=document.createElement("script");i.setAttribute("recaptcha-v3-script","");var c="https://www.google.com/recaptcha/api.js";n&&(c=a?"https://recaptcha.net/recaptcha/enterprise.js":"https://recaptcha.net/recaptcha/api.js"),a&&(c="https://www.google.com/recaptcha/enterprise.js"),o&&(c=o),l.render&&(l.render=void 0);var s=this.buildQueryString(l);return i.src=c+"?render=explicit"+s,new Promise((function(t,n){i.addEventListener("load",r.waitForScriptToLoad((function(){t(i)}),a),!1),i.onerror=function(t){e.setLoadingState(Ce.NOT_LOADED),n(t)},document.head.appendChild(i)}))},e.prototype.buildQueryString=function(e){return Object.keys(e).length<1?"":"&"+Object.keys(e).filter((function(t){return!!e[t]})).map((function(t){return t+"="+e[t]})).join("&")},e.prototype.waitForScriptToLoad=function(t,n){var a=this;return function(){void 0===window.grecaptcha?setTimeout((function(){a.waitForScriptToLoad(t,n)}),e.SCRIPT_LOAD_DELAY):n?window.grecaptcha.enterprise.ready((function(){t()})):window.grecaptcha.ready((function(){t()}))}},e.prototype.doExplicitRender=function(e,t,n,a){var l={sitekey:t,badge:n.badge,size:n.size,tabindex:n.tabindex};return n.container?a?e.enterprise.render(n.container,l):e.render(n.container,l):a?e.enterprise.render(l):e.render(l)},e.loadingState=null,e.instance=null,e.instanceSiteKey=null,e.successfulLoadingConsumers=[],e.errorLoadingRunnable=[],e.SCRIPT_LOAD_DELAY=25,e}();fe.load=Be.load,fe.getInstance=Be.getInstance,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ReCaptchaInstance=e.getInstance=e.load=void 0;var t=fe;Object.defineProperty(e,"load",{enumerable:!0,get:function(){return t.load}}),Object.defineProperty(e,"getInstance",{enumerable:!0,get:function(){return t.getInstance}});var n=ye;Object.defineProperty(e,"ReCaptchaInstance",{enumerable:!0,get:function(){return n.ReCaptchaInstance}})}(he);const $e={};let Le=null;const Ve=()=>Le??(Le=t.useStorage("WALINE_USER",{})),Ne={key:0,class:"wl-reaction"},Se=["textContent"],xe={class:"wl-reaction-list"},Re=["onClick"],je={class:"wl-reaction-img"},Ie=["src","alt"],Ae=["textContent"],ze=["textContent"];var Ue=e.defineComponent({__name:"ArticleReaction",setup(t,{expose:n}){n();const a=ve(),l=e.inject("config"),o=e.ref(-1),r=e.ref([]),i=e.computed((()=>l.value.locale)),c=e.computed((()=>l.value.reaction.length>0)),s=e.computed((()=>{const{reaction:e,path:t}=l.value;return e.map(((e,n)=>({icon:e,desc:i.value[`reaction${n}`],active:a.value[t]===n})))}));let u;return e.onMounted((()=>{e.watch((()=>[l.value.serverURL,l.value.path]),(()=>{(async()=>{if(c.value){const{serverURL:e,lang:t,path:n,reaction:a}=l.value,o=new AbortController;u=o.abort.bind(o);const i=await V({serverURL:e,lang:t,paths:[n],type:a.map(((e,t)=>`reaction${t}`)),signal:o.signal});if(Array.isArray(i)||"number"==typeof i)return;r.value=a.map(((e,t)=>i[`reaction${t}`]))}})()}),{immediate:!0})})),e.onUnmounted((()=>u?.())),(t,n)=>s.value.length?(e.openBlock(),e.createElementBlock("div",Ne,[e.createElementVNode("div",{class:"wl-reaction-title",textContent:e.toDisplayString(i.value.reactionTitle)},null,8,Se),e.createElementVNode("ul",xe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(({active:t,icon:n,desc:i},c)=>(e.openBlock(),e.createElementBlock("li",{key:c,class:e.normalizeClass(["wl-reaction-item",{active:t}]),onClick:e=>(async e=>{if(-1===o.value){const{serverURL:t,lang:n,path:i}=l.value,c=a.value[i];o.value=e,void 0!==c&&(await N({serverURL:t,lang:n,path:i,type:`reaction${c}`,action:"desc"}),r.value[c]=Math.max(r.value[c]-1,0)),c!==e&&(await N({serverURL:t,lang:n,path:i,type:`reaction${e}`}),r.value[e]=(r.value[e]||0)+1),c===e?delete a.value[i]:a.value[i]=e,o.value=-1}})(c)},[e.createElementVNode("div",je,[e.createElementVNode("img",{src:n,alt:i},null,8,Ie),o.value===c?(e.openBlock(),e.createBlock(e.unref(se),{key:0,class:"wl-reaction-loading"})):(e.openBlock(),e.createElementBlock("div",{key:1,class:"wl-reaction-votes",textContent:e.toDisplayString(r.value[c]||0)},null,8,Ae))]),e.createElementVNode("div",{class:"wl-reaction-text",textContent:e.toDisplayString(i)},null,8,ze)],10,Re)))),128))])])):e.createCommentVNode("v-if",!0)}}),_e=(e,t)=>{const n=e.__vccOpts||e;for(const[e,a]of t)n[e]=a;return n},De=_e(Ue,[["__file","ArticleReaction.vue"]]);const Me=["data-index"],Te=["src","title","onClick"];var He=_e(e.defineComponent({__name:"ImageWall",props:{items:{default:()=>[]},columnWidth:{default:300},gap:{default:0}},emits:["insert"],setup(t,{expose:n}){const a=t;n();let l=null;const o=e.ref(null),r=e.ref({}),i=e.ref([]),c=()=>{const e=Math.floor((o.value.getBoundingClientRect().width+a.gap)/(a.columnWidth+a.gap));return e>0?e:1},s=async t=>{if(t>=a.items.length)return;await e.nextTick();const n=Array.from(o.value?.children||[]).reduce(((e,t)=>t.getBoundingClientRect().height<e.getBoundingClientRect().height?t:e));i.value[Number(n.dataset.index)].push(t),await s(t+1)},u=async(e=!1)=>{if(i.value.length===c()&&!e)return;var t;i.value=(t=c(),new Array(t).fill(null).map((()=>[])));const n=window.scrollY;await s(0),window.scrollTo({top:n})},m=e=>{r.value[e.target.src]=!0};return e.onMounted((()=>{u(!0),l=new ResizeObserver((()=>{u()})),l.observe(o.value),e.watch((()=>[a.items]),(()=>{r.value={},u(!0)})),e.watch((()=>[a.columnWidth,a.gap]),(()=>{u()}))})),e.onBeforeUnmount((()=>l.unobserve(o.value))),(t,n)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wall",ref:o,class:"wl-gallery",style:e.normalizeStyle({gap:`${t.gap}px`})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,((n,a)=>(e.openBlock(),e.createElementBlock("div",{key:a,class:"wl-gallery-column","data-index":a,style:e.normalizeStyle({gap:`${t.gap}px`})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n,(n=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:n},[r.value[t.items[n].src]?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createBlock(e.unref(se),{key:0,size:36,style:{margin:"20px auto"}})),e.createElementVNode("img",{class:"wl-gallery-item",src:t.items[n].src,title:t.items[n].title,loading:"lazy",onLoad:m,onClick:e=>t.$emit("insert",`![](${t.items[n].src})`)},null,40,Te)],64)))),128))],12,Me)))),128))],4))}}),[["__file","ImageWall.vue"]]);const Oe={class:"wl-comment"},Pe={key:0,class:"wl-login-info"},Fe={class:"wl-avatar"},We=["title"],qe=["title"],Ke=["src"],Ge=["title","textContent"],Ze={class:"wl-panel"},Je=["for","textContent"],Ye=["id","onUpdate:modelValue","name","type"],Xe=["placeholder"],Qe={class:"wl-preview"},et=e.createElementVNode("hr",null,null,-1),tt=["innerHTML"],nt={class:"wl-footer"},at={class:"wl-actions"},lt={href:"https://guides.github.com/features/mastering-markdown/",title:"Markdown Guide","aria-label":"Markdown is supported",class:"wl-action",target:"_blank",rel:"noopener noreferrer"},ot=["title"],rt=["title"],it=["title"],ct=["title"],st={class:"wl-info"},ut=e.createElementVNode("div",{class:"wl-captcha-container"},null,-1),mt={class:"wl-text-number"},dt={key:0},pt=["textContent"],vt=["textContent"],gt=["disabled"],ht=["placeholder"],ft={key:1,class:"wl-loading"},yt={key:0,class:"wl-tab-wrapper"},kt=["title","onClick"],wt=["src","alt"],bt={key:0,class:"wl-tabs"},Ct=["onClick"],Et=["src","alt","title"],Bt=["title"];var $t=e.defineComponent({__name:"CommentBox",props:{edit:{default:null},rootId:{default:""},replyId:{default:""},replyUser:{default:""}},emits:["log","cancelEdit","cancelReply","submit"],setup(a,{expose:l,emit:o}){const r=a;l();const i=e.inject("config"),c=t.useStorage("WALINE_COMMENT_BOX_EDITOR",""),s=t.useStorage("WALINE_USER_META",{nick:"",mail:"",link:""}),u=Ve(),m=e.ref({}),d=e.ref(null),p=e.ref(null),v=e.ref(null),g=e.ref(null),h=e.ref(null),f=e.ref(null),y=e.ref(null),k=e.ref({tabs:[],map:{}}),w=e.ref(0),b=e.ref(!1),C=e.ref(!1),E=e.ref(!1),B=e.ref(""),$=e.ref(0),L=e.reactive({loading:!0,list:[]}),V=e.ref(0),N=e.ref(!1),x=e.ref(""),j=e.ref(!1),I=e.ref(!1),A=e.computed((()=>i.value.locale)),z=e.computed((()=>Boolean(u.value?.token))),U=e.computed((()=>!1!==i.value.imageUploader)),_=e=>{const t=d.value,n=t.selectionStart,a=t.selectionEnd||0,l=t.scrollTop;c.value=t.value.substring(0,n)+e+t.value.substring(a,t.value.length),t.focus(),t.selectionStart=n+e.length,t.selectionEnd=n+e.length,t.scrollTop=l},D=e=>{const t=e.key;(e.ctrlKey||e.metaKey)&&"Enter"===t&&K()},O=e=>{const t=`![${i.value.locale.uploading} ${e.name}]()`;return _(t),Promise.resolve().then((()=>i.value.imageUploader(e))).then((n=>{c.value=c.value.replace(t,`\r\n![${e.name}](${n})`)})).catch((e=>{alert(e.message),c.value=c.value.replace(t,"")}))},P=e=>{if(e.dataTransfer?.items){const t=W(e.dataTransfer.items);t&&U.value&&(O(t),e.preventDefault())}},F=e=>{if(e.clipboardData){const t=W(e.clipboardData.items);t&&U.value&&O(t)}},q=()=>{const e=p.value;e.files&&U.value&&O(e.files[0]).then((()=>{e.value=""}))},K=async()=>{const{serverURL:e,lang:n,login:a,wordLimit:l,requiredMeta:p,recaptchaV3Key:v,turnstileKey:g}=i.value,h=await(async()=>{if(!navigator)return"";const{userAgentData:e}=navigator;let t=navigator.userAgent;if(!e||"Windows"!==e.platform)return t;const{platformVersion:n}=await e.getHighEntropyValues(["platformVersion"]);return n?(parseInt(n.split(".")[0])>=13&&(t=t.replace("Windows NT 10.0","Windows NT 11.0")),t):t})(),f={comment:x.value,nick:s.value.nick,mail:s.value.mail,link:s.value.link,url:i.value.path,ua:h};if(u.value?.token)f.nick=u.value.display_name,f.mail=u.value.email,f.link=u.value.url;else{if("force"===a)return;if(p.indexOf("nick")>-1&&!f.nick)return m.value.nick?.focus(),alert(A.value.nickError);if(p.indexOf("mail")>-1&&!f.mail||f.mail&&(y=f.mail,!M.test(y)))return m.value.mail?.focus(),alert(A.value.mailError);f.nick||(f.nick=A.value.anonymous)}var y;if(f.comment){if(!N.value)return alert(A.value.wordHint.replace("$0",l[0].toString()).replace("$1",l[1].toString()).replace("$2",$.value.toString()));f.comment=Z(f.comment,k.value.map),r.replyId&&r.rootId&&(f.pid=r.replyId,f.rid=r.rootId,f.at=r.replyUser),j.value=!0;try{v&&(f.recaptchaV3=await(e=>{const t=$e[e]??($e[e]=he.load(e,{useRecaptchaNet:!0,autoHideBadge:!0}));return{execute:e=>t.then((t=>t.execute(e)))}})(v).execute("social")),g&&(f.turnstile=await(w=g,{execute:async e=>{const{load:n}=t.useScriptTag("https://challenges.cloudflare.com/turnstile/v0/api.js",void 0,{async:!1});await n();const a=window?.turnstile;return new Promise((t=>{a?.ready((()=>{a?.render(".wl-captcha-container",{sitekey:w,action:e,size:"compact",callback:t})}))}))}}).execute("social"));const a={serverURL:e,lang:n,token:u.value?.token,comment:f},l=await(r.edit?S({objectId:r.edit.objectId,...a}):(({serverURL:e,lang:t,token:n,comment:a})=>{const l={"Content-Type":"application/json"};return n&&(l.Authorization=`Bearer ${n}`),fetch(`${e}/comment?lang=${t}`,{method:"POST",headers:l,body:JSON.stringify(a)}).then((e=>e.json()))})(a));if(j.value=!1,l.errmsg)return alert(l.errmsg);o("submit",l.data),c.value="",B.value="",r.replyId&&o("cancelReply"),r.edit?.objectId&&o("cancelEdit")}catch(e){j.value=!1,alert(e.message)}var w}else d.value?.focus()},G=e=>{e.preventDefault();const{lang:t,serverURL:n}=i.value;(({lang:e,serverURL:t})=>{const n=(window.innerWidth-450)/2,a=(window.innerHeight-450)/2,l=window.open(`${t}/ui/login?lng=${encodeURIComponent(e)}`,"_blank",`width=450,height=450,left=${n},top=${a},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`);return l?.postMessage({type:"TOKEN",data:null},"*"),new Promise((e=>{const t=({data:n})=>{n&&"object"==typeof n&&"userInfo"===n.type&&n.data.token&&(l?.close(),window.removeEventListener("message",t),e(n.data))};window.addEventListener("message",t)}))})({serverURL:n,lang:t}).then((e=>{u.value=e,(e.remember?localStorage:sessionStorage).setItem("WALINE_USER",JSON.stringify(e)),o("log")}))},Y=()=>{u.value={},localStorage.setItem("WALINE_USER","null"),sessionStorage.setItem("WALINE_USER","null"),o("log")},X=e=>{e.preventDefault();const{lang:t,serverURL:n}=i.value,a=(window.innerWidth-800)/2,l=(window.innerHeight-800)/2,o=new URLSearchParams({lng:t,token:u.value.token}),r=window.open(`${n}/ui/profile?${o.toString()}`,"_blank",`width=800,height=800,left=${a},top=${l},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`);r?.postMessage({type:"TOKEN",data:u.value.token},"*")},ee=e=>{v.value?.contains(e.target)||g.value?.contains(e.target)||(b.value=!1),h.value?.contains(e.target)||f.value?.contains(e.target)||(C.value=!1)},ae=async e=>{const{scrollTop:t,clientHeight:n,scrollHeight:a}=e.target,l=(n+t)/a,o=i.value.search,r=y.value?.value||"";if(l<.9||L.loading||I.value)return;L.loading=!0;(o.more&&L.list.length?await o.more(r,L.list.length):await o.search(r)).length?L.list=[...L.list,...o.more&&L.list.length?await o.more(r,L.list.length):await o.search(r)]:I.value=!0,L.loading=!1,setTimeout((()=>{e.target.scrollTop=t}),50)},re=t.useDebounceFn((e=>{L.list=[],I.value=!1,ae(e)}),300);e.watch([i,$],(([e,t])=>{const{wordLimit:n}=e;n?t<n[0]&&0!==n[0]?(V.value=n[0],N.value=!1):t>n[1]?(V.value=n[1],N.value=!1):(V.value=n[1],N.value=!0):(V.value=0,N.value=!0)}),{immediate:!0});const ie=({data:e})=>{e&&"profile"===e.type&&(u.value={...u.value,...e.data},[localStorage,sessionStorage].filter((e=>e.getItem("WALINE_USER"))).forEach((e=>e.setItem("WALINE_USER",JSON.stringify(u)))))};return e.onMounted((()=>{document.body.addEventListener("click",ee),window.addEventListener("message",ie),r.edit?.objectId&&(c.value=r.edit.orig),e.watch(C,(async e=>{if(!e)return;const t=i.value.search;y.value&&(y.value.value=""),L.loading=!0,L.list=t.default?await t.default():await t.search(""),L.loading=!1})),e.watch((()=>c.value),(e=>{const{highlighter:t,texRenderer:a}=i.value;x.value=e,B.value=J(e,{emojiMap:k.value.map,highlighter:t,texRenderer:a}),$.value=(e=>((e=>e.match(/[\w\d\s,.\u00C0-\u024F\u0400-\u04FF]+/giu))(e)?.reduce(((e,t)=>e+(""===t.trim()?0:t.trim().split(/\s+/u).length)),0)||0)+((e=>e.match(/[\u4E00-\u9FD5]/gu))(e)?.length||0))(e),e?n(d.value):n.destroy(d.value)}),{immediate:!0}),e.watch((()=>i.value.emoji),(e=>{return(t=e,Promise.all(t.map((e=>"string"==typeof e?T(R(e)):Promise.resolve(e)))).then((e=>{const t={tabs:[],map:{}};return e.forEach((e=>{const{name:n,folder:a,icon:l,prefix:o,type:r,items:i}=e;t.tabs.push({name:n,icon:H(l,a,o,r),items:i.map((e=>{const n=`${o||""}${e}`;return t.map[n]=H(e,a,o,r),n}))})})),t}))).then((e=>{k.value=e}));var t}),{immediate:!0})})),e.onUnmounted((()=>{document.body.removeEventListener("click",ee),window.removeEventListener("message",ie)})),(t,n)=>(e.openBlock(),e.createElementBlock("div",Oe,["disable"!==e.unref(i).login&&z.value&&!t.edit?.objectId?(e.openBlock(),e.createElementBlock("div",Pe,[e.createElementVNode("div",Fe,[e.createElementVNode("button",{type:"submit",class:"wl-logout-btn",title:A.value.logout,onClick:Y},[e.createVNode(e.unref(Q),{size:14})],8,We),e.createElementVNode("a",{href:"#",class:"wl-login-nick","aria-label":"Profile",title:A.value.profile,onClick:X},[e.createElementVNode("img",{src:e.unref(u).avatar,alt:"avatar"},null,8,Ke)],8,qe)]),e.createElementVNode("a",{href:"#",class:"wl-login-nick","aria-label":"Profile",title:A.value.profile,onClick:X,textContent:e.toDisplayString(e.unref(u).display_name)},null,8,Ge)])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",Ze,["force"!==e.unref(i).login&&e.unref(i).meta.length&&!z.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["wl-header",`item${e.unref(i).meta.length}`])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(i).meta,(t=>(e.openBlock(),e.createElementBlock("div",{key:t,class:"wl-header-item"},[e.createElementVNode("label",{for:`wl-${t}`,textContent:e.toDisplayString(A.value[t]+(e.unref(i).requiredMeta.includes(t)||!e.unref(i).requiredMeta.length?"":`(${A.value.optional})`))},null,8,Je),e.withDirectives(e.createElementVNode("input",{id:`wl-${t}`,ref_for:!0,ref:e=>{e&&(m.value[t]=e)},"onUpdate:modelValue":n=>e.unref(s)[t]=n,class:e.normalizeClass(["wl-input",`wl-${t}`]),name:t,type:"mail"===t?"email":"text"},null,10,Ye),[[e.vModelDynamic,e.unref(s)[t]]])])))),128))],2)):e.createCommentVNode("v-if",!0),e.withDirectives(e.createElementVNode("textarea",{id:"wl-edit",ref_key:"editorRef",ref:d,"onUpdate:modelValue":n[0]||(n[0]=t=>e.isRef(c)?c.value=t:null),class:"wl-editor",placeholder:t.replyUser?`@${t.replyUser}`:A.value.placeholder,onKeydown:D,onDrop:P,onPaste:F},null,40,Xe),[[e.vModelText,e.unref(c)]]),e.withDirectives(e.createElementVNode("div",Qe,[et,e.createElementVNode("h4",null,e.toDisplayString(A.value.preview)+":",1),e.createElementVNode("div",{class:"wl-content",innerHTML:B.value},null,8,tt)],512),[[e.vShow,E.value]]),e.createElementVNode("div",nt,[e.createElementVNode("div",at,[e.createElementVNode("a",lt,[e.createVNode(e.unref(oe))]),e.withDirectives(e.createElementVNode("button",{ref_key:"emojiButtonRef",ref:v,type:"button",class:e.normalizeClass(["wl-action",{active:b.value}]),title:A.value.emoji,onClick:n[1]||(n[1]=e=>b.value=!b.value)},[e.createVNode(e.unref(te))],10,ot),[[e.vShow,k.value.tabs.length]]),e.unref(i).search?(e.openBlock(),e.createElementBlock("button",{key:0,ref_key:"gifButtonRef",ref:h,type:"button",class:e.normalizeClass(["wl-action",{active:C.value}]),title:A.value.gif,onClick:n[2]||(n[2]=e=>C.value=!C.value)},[e.createVNode(e.unref(ue))],10,rt)):e.createCommentVNode("v-if",!0),e.createElementVNode("input",{id:"wl-image-upload",ref_key:"imageUploadRef",ref:p,class:"upload",type:"file",accept:".png,.jpg,.jpeg,.webp,.bmp,.gif",onChange:q},null,544),U.value?(e.openBlock(),e.createElementBlock("label",{key:1,for:"wl-image-upload",class:"wl-action",title:A.value.uploadImage},[e.createVNode(e.unref(ne))],8,it)):e.createCommentVNode("v-if",!0),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["wl-action",{active:E.value}]),title:A.value.preview,onClick:n[3]||(n[3]=e=>E.value=!E.value)},[e.createVNode(e.unref(le))],10,ct)]),e.createElementVNode("div",st,[ut,e.createElementVNode("div",mt,[e.createTextVNode(e.toDisplayString($.value)+" ",1),e.unref(i).wordLimit?(e.openBlock(),e.createElementBlock("span",dt,[e.createTextVNode("  /  "),e.createElementVNode("span",{class:e.normalizeClass({illegal:!N.value}),textContent:e.toDisplayString(V.value)},null,10,pt)])):e.createCommentVNode("v-if",!0),e.createTextVNode("  "+e.toDisplayString(A.value.word),1)]),"disable"===e.unref(i).login||z.value?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"wl-btn",onClick:G,textContent:e.toDisplayString(A.value.login)},null,8,vt)),"force"!==e.unref(i).login||z.value?(e.openBlock(),e.createElementBlock("button",{key:1,type:"submit",class:"primary wl-btn",title:"Cmd|Ctrl + Enter",disabled:j.value,onClick:K},[j.value?(e.openBlock(),e.createBlock(e.unref(se),{key:0,size:16})):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(A.value.submit),1)],64))],8,gt)):e.createCommentVNode("v-if",!0)]),e.createElementVNode("div",{ref_key:"gifPopupRef",ref:f,class:e.normalizeClass(["wl-gif-popup",{display:C.value}])},[e.createElementVNode("input",{ref_key:"gifSearchInputRef",ref:y,type:"text",placeholder:A.value.gifSearchPlaceholder,onInput:n[4]||(n[4]=(...t)=>e.unref(re)&&e.unref(re)(...t))},null,40,ht),L.list.length?(e.openBlock(),e.createBlock(He,{key:0,items:L.list,"column-width":200,gap:6,onInsert:n[5]||(n[5]=e=>_(e)),onScroll:ae},null,8,["items"])):e.createCommentVNode("v-if",!0),L.loading?(e.openBlock(),e.createElementBlock("div",ft,[e.createVNode(e.unref(se),{size:30})])):e.createCommentVNode("v-if",!0)],2),e.createElementVNode("div",{ref_key:"emojiPopupRef",ref:g,class:e.normalizeClass(["wl-emoji-popup",{display:b.value}])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value.tabs,((t,n)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:t.name},[n===w.value?(e.openBlock(),e.createElementBlock("div",yt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(t=>(e.openBlock(),e.createElementBlock("button",{key:t,type:"button",title:t,onClick:e=>_(`:${t}:`)},[b.value?(e.openBlock(),e.createElementBlock("img",{key:0,class:"wl-emoji",src:k.value.map[t],alt:t,loading:"lazy",referrerPolicy:"no-referrer"},null,8,wt)):e.createCommentVNode("v-if",!0)],8,kt)))),128))])):e.createCommentVNode("v-if",!0)],64)))),128)),k.value.tabs.length>1?(e.openBlock(),e.createElementBlock("div",bt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value.tabs,((t,n)=>(e.openBlock(),e.createElementBlock("button",{key:t.name,type:"button",class:e.normalizeClass(["wl-tab",{active:w.value===n}]),onClick:e=>w.value=n},[e.createElementVNode("img",{class:"wl-emoji",src:t.icon,alt:t.name,title:t.name,loading:"lazy",referrerPolicy:"no-referrer"},null,8,Et)],10,Ct)))),128))])):e.createCommentVNode("v-if",!0)],2)])]),t.replyId||t.edit?.objectId?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"wl-close",title:A.value.cancelReply,onClick:n[6]||(n[6]=e=>t.$emit(t.replyId?"cancelReply":"cancelEdit"))},[e.createVNode(e.unref(Q),{size:24})],8,Bt)):e.createCommentVNode("v-if",!0)]))}}),Lt=_e($t,[["__file","CommentBox.vue"]]);const Vt=["id"],Nt={class:"wl-user","aria-hidden":"true"},St=["src"],xt={class:"wl-card"},Rt={class:"wl-head"},jt=["href"],It={key:1,class:"wl-nick"},At=["textContent"],zt=["textContent"],Ut=["textContent"],_t=["textContent"],Dt=["textContent"],Mt={class:"wl-comment-actions"},Tt=["title"],Ht=["textContent"],Ot=["title"],Pt={class:"wl-meta","aria-hidden":"true"},Ft=["data-value","textContent"],Wt=["data-value","textContent"],qt=["data-value","textContent"],Kt=["innerHTML"],Gt={key:1,class:"wl-admin-actions"},Zt={class:"wl-comment-status"},Jt=["disabled","onClick","textContent"],Yt={key:3,class:"wl-quote"};var Xt=_e(e.defineComponent({__name:"CommentCard",props:{comment:{},edit:{default:null},rootId:{},reply:{default:null}},emits:["log","submit","delete","edit","like","status","sticky","reply"],setup(n){const a=n,l=["approved","waiting","spam"],o=e.inject("config"),r=de(),i=t.useNow(),c=Ve(),s=e.computed((()=>o.value.locale)),u=e.computed((()=>{const{link:e}=a.comment;return e?j(e)?e:`https://${e}`:""})),m=e.computed((()=>r.value.includes(a.comment.objectId))),d=e.computed((()=>D(a.comment.insertedAt,i.value,s.value))),p=e.computed((()=>"administrator"===c.value.type)),v=e.computed((()=>a.comment.user_id&&c.value.objectId===a.comment.user_id)),g=e.computed((()=>a.comment.objectId===a.reply?.objectId)),h=e.computed((()=>a.comment.objectId===a.edit?.objectId));return(t,n)=>{const a=e.resolveComponent("CommentCard",!0);return e.openBlock(),e.createElementBlock("div",{id:t.comment.objectId,class:"wl-card-item"},[e.createElementVNode("div",Nt,[t.comment.avatar?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.comment.avatar},null,8,St)):e.createCommentVNode("v-if",!0),t.comment.type?(e.openBlock(),e.createBlock(e.unref(ce),{key:1})):e.createCommentVNode("v-if",!0)]),e.createElementVNode("div",xt,[e.createElementVNode("div",Rt,[u.value?(e.openBlock(),e.createElementBlock("a",{key:0,class:"wl-nick",href:u.value,target:"_blank",rel:"nofollow noopener noreferrer"},e.toDisplayString(t.comment.nick),9,jt)):(e.openBlock(),e.createElementBlock("span",It,e.toDisplayString(t.comment.nick),1)),"administrator"===t.comment.type?(e.openBlock(),e.createElementBlock("span",{key:2,class:"wl-badge",textContent:e.toDisplayString(s.value.admin)},null,8,At)):e.createCommentVNode("v-if",!0),t.comment.label?(e.openBlock(),e.createElementBlock("span",{key:3,class:"wl-badge",textContent:e.toDisplayString(t.comment.label)},null,8,zt)):e.createCommentVNode("v-if",!0),t.comment.sticky?(e.openBlock(),e.createElementBlock("span",{key:4,class:"wl-badge",textContent:e.toDisplayString(s.value.sticky)},null,8,Ut)):e.createCommentVNode("v-if",!0),void 0!==t.comment.level&&t.comment.level>=0?(e.openBlock(),e.createElementBlock("span",{key:5,class:e.normalizeClass(`wl-badge level${t.comment.level}`),textContent:e.toDisplayString(s.value[`level${t.comment.level}`]||`Level ${t.comment.level}`)},null,10,_t)):e.createCommentVNode("v-if",!0),e.createElementVNode("span",{class:"wl-time",textContent:e.toDisplayString(d.value)},null,8,Dt),e.createElementVNode("div",Mt,[p.value||v.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"wl-edit",onClick:n[0]||(n[0]=()=>t.$emit("edit",t.comment))},[e.createVNode(e.unref(ie))])):e.createCommentVNode("v-if",!0),p.value||v.value?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"wl-delete",onClick:n[1]||(n[1]=e=>t.$emit("delete",t.comment))},[e.createVNode(e.unref(ee))])):e.createCommentVNode("v-if",!0),e.createElementVNode("button",{type:"button",class:"wl-like",title:m.value?s.value.cancelLike:s.value.like,onClick:n[2]||(n[2]=e=>t.$emit("like",t.comment))},[e.createVNode(e.unref(ae),{active:m.value},null,8,["active"]),"like"in t.comment?(e.openBlock(),e.createElementBlock("span",{key:0,textContent:e.toDisplayString(t.comment.like)},null,8,Ht)):e.createCommentVNode("v-if",!0)],8,Tt),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["wl-reply",{active:g.value}]),title:g.value?s.value.cancelReply:s.value.reply,onClick:n[3]||(n[3]=e=>t.$emit("reply",g.value?null:t.comment))},[e.createVNode(e.unref(re))],10,Ot)])]),e.createElementVNode("div",Pt,[t.comment.addr?(e.openBlock(),e.createElementBlock("span",{key:0,class:"wl-addr","data-value":t.comment.addr,textContent:e.toDisplayString(t.comment.addr)},null,8,Ft)):e.createCommentVNode("v-if",!0),t.comment.browser?(e.openBlock(),e.createElementBlock("span",{key:1,class:"wl-browser","data-value":t.comment.browser,textContent:e.toDisplayString(t.comment.browser)},null,8,Wt)):e.createCommentVNode("v-if",!0),t.comment.os?(e.openBlock(),e.createElementBlock("span",{key:2,class:"wl-os","data-value":t.comment.os,textContent:e.toDisplayString(t.comment.os)},null,8,qt)):e.createCommentVNode("v-if",!0)]),h.value?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createElementBlock("div",{key:0,class:"wl-content",innerHTML:t.comment.comment},null,8,Kt)),p.value&&!h.value?(e.openBlock(),e.createElementBlock("div",Gt,[e.createElementVNode("span",Zt,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(l,(n=>e.createElementVNode("button",{key:n,type:"submit",class:e.normalizeClass(`wl-btn wl-${n}`),disabled:t.comment.status===n,onClick:e=>t.$emit("status",{status:n,comment:t.comment}),textContent:e.toDisplayString(s.value[n])},null,10,Jt))),64))]),p.value&&!t.comment.rid?(e.openBlock(),e.createElementBlock("button",{key:0,type:"submit",class:"wl-btn wl-sticky",onClick:n[4]||(n[4]=e=>t.$emit("sticky",t.comment))},e.toDisplayString(t.comment.sticky?s.value.unsticky:s.value.sticky),1)):e.createCommentVNode("v-if",!0)])):e.createCommentVNode("v-if",!0),g.value||h.value?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass({"wl-reply-wrapper":g.value,"wl-edit-wrapper":h.value})},[e.createVNode(Lt,{edit:t.edit,"reply-id":t.reply?.objectId,"reply-user":t.comment.nick,"root-id":t.rootId,onLog:n[5]||(n[5]=e=>t.$emit("log")),onCancelReply:n[6]||(n[6]=e=>t.$emit("reply",null)),onCancelEdit:n[7]||(n[7]=e=>t.$emit("edit",null)),onSubmit:n[8]||(n[8]=e=>t.$emit("submit",e))},null,8,["edit","reply-id","reply-user","root-id"])],2)):e.createCommentVNode("v-if",!0),t.comment.children?(e.openBlock(),e.createElementBlock("div",Yt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.comment.children,(l=>(e.openBlock(),e.createBlock(a,{key:l.objectId,comment:l,reply:t.reply,edit:t.edit,"root-id":t.rootId,onLog:n[9]||(n[9]=e=>t.$emit("log")),onDelete:n[10]||(n[10]=e=>t.$emit("delete",e)),onEdit:n[11]||(n[11]=e=>t.$emit("edit",e)),onLike:n[12]||(n[12]=e=>t.$emit("like",e)),onReply:n[13]||(n[13]=e=>t.$emit("reply",e)),onStatus:n[14]||(n[14]=e=>t.$emit("status",e)),onSticky:n[15]||(n[15]=e=>t.$emit("sticky",e)),onSubmit:n[16]||(n[16]=e=>t.$emit("submit",e))},null,8,["comment","reply","edit","root-id"])))),128))])):e.createCommentVNode("v-if",!0)])],8,Vt)}}}),[["__file","CommentCard.vue"]]);const Qt="2.15.7",en={"data-waline":""},tn={class:"wl-meta-head"},nn={class:"wl-count"},an=["textContent"],ln={class:"wl-sort"},on=["onClick"],rn={class:"wl-cards"},cn={key:1,class:"wl-operation"},sn=["textContent"],un={key:0,class:"wl-loading"},mn=["textContent"],dn={key:2,class:"wl-operation"},pn=["textContent"],vn={key:3,class:"wl-power"},gn=e.createElementVNode("a",{href:"https://github.com/walinejs/waline",target:"_blank",rel:"noopener noreferrer"}," Waline ",-1);var hn=e.defineComponent({__name:"WalineComment",props:["serverURL","path","meta","requiredMeta","dark","commentSorting","lang","locale","pageSize","wordLimit","emoji","login","highlighter","texRenderer","imageUploader","search","copyright","recaptchaV3Key","turnstileKey","reaction"],setup(n){const a=n,l={latest:"insertedAt_desc",oldest:"insertedAt_asc",hottest:"like_desc"},d=Object.keys(l),p=Ve(),v=de(),h=e.ref("loading"),f=e.ref(0),y=e.ref(1),k=e.ref(0),w=e.computed((()=>(({serverURL:e,path:t=location.pathname,lang:n=("undefined"==typeof navigator?"en-US":navigator.language),locale:a,emoji:l=r,meta:d=["nick","mail","link"],requiredMeta:p=[],dark:v=!1,pageSize:h=10,wordLimit:f,imageUploader:y,highlighter:k,texRenderer:w,copyright:b=!0,login:C="enable",search:E,reaction:$,recaptchaV3Key:L="",turnstileKey:V="",commentSorting:N="latest",...S})=>({serverURL:I(e),path:x(t),locale:{...B[n]||B[i],..."object"==typeof a?a:{}},wordLimit:A(f),meta:o(d),requiredMeta:o(p),imageUploader:z(y,s),highlighter:z(k,g),texRenderer:z(w,u),lang:Object.keys(B).includes(n)?n:"en-US",dark:v,emoji:"boolean"==typeof l?l?r:[]:l,pageSize:h,login:C,copyright:b,search:!1!==E&&("object"==typeof E?E:m(n)),recaptchaV3Key:L,turnstileKey:V,reaction:Array.isArray($)?$:!0===$?c:[],commentSorting:N,...S}))(a))),b=e.ref(w.value.commentSorting),C=e.ref([]),E=e.ref(null),$=e.ref(null),V=e.computed((()=>{return"string"==typeof(e=w.value.dark)?"auto"===e?`@media(prefers-color-scheme:dark){body${U}}`:`${e}${U}`:!0===e?`:root${U}`:"";var e})),N=e.computed((()=>w.value.locale));let R;t.useStyleTag(V,{id:"waline-darkmode"});const j=e=>{const{serverURL:t,path:n,pageSize:a}=w.value,o=new AbortController;h.value="loading",R?.(),(({serverURL:e,lang:t,path:n,page:a,pageSize:l,sortBy:o,signal:r,token:i})=>{const c={};return i&&(c.Authorization=`Bearer ${i}`),fetch(`${e}/comment?path=${encodeURIComponent(n)}&pageSize=${l}&page=${a}&lang=${t}&sortBy=${o}`,{signal:r,headers:c}).then((e=>e.json())).then((e=>L(e,"Get comment data")))})({serverURL:t,lang:w.value.lang,path:n,pageSize:a,sortBy:l[b.value],page:e,signal:o.signal,token:p.value?.token}).then((t=>{h.value="success",f.value=t.count,C.value.push(...t.data),y.value=e,k.value=t.totalPages})).catch((e=>{"AbortError"!==e.name&&(console.error(e.message),h.value="error")})),R=o.abort.bind(o)},_=()=>j(y.value+1),D=()=>{f.value=0,C.value=[],j(1)},M=e=>{E.value=e},T=e=>{$.value=e},H=e=>{if($.value)$.value.comment=e.comment,$.value.orig=e.orig;else if(e.rid){const t=C.value.find((({objectId:t})=>t===e.rid));if(!t)return;Array.isArray(t.children)||(t.children=[]),t.children.push(e)}else C.value.unshift(e),f.value+=1},O=async({comment:e,status:t})=>{if(e.status===t)return;const{serverURL:n,lang:a}=w.value;await S({serverURL:n,lang:a,token:p.value?.token,objectId:e.objectId,comment:{status:t}}),e.status=t},P=async e=>{if(e.rid)return;const{serverURL:t,lang:n}=w.value;await S({serverURL:t,lang:n,token:p.value?.token,objectId:e.objectId,comment:{sticky:e.sticky?0:1}}),e.sticky=!e.sticky},F=async({objectId:e})=>{if(!confirm("Are you sure you want to delete this comment?"))return;const{serverURL:t,lang:n}=w.value;await(({serverURL:e,lang:t,token:n,objectId:a})=>fetch(`${e}/comment/${a}?lang=${t}`,{method:"DELETE",headers:{Authorization:`Bearer ${n}`}}).then((e=>e.json())).then((e=>L(e,"Delete comment"))))({serverURL:t,lang:n,token:p.value?.token,objectId:e}),C.value.some(((t,n)=>t.objectId===e?(C.value=C.value.filter(((e,t)=>t!==n)),!0):t.children.some(((a,l)=>a.objectId===e&&(C.value[n].children=t.children.filter(((e,t)=>t!==l)),!0)))))},W=async e=>{const{serverURL:t,lang:n}=w.value,{objectId:a}=e,l=v.value.includes(a);await S({serverURL:t,lang:n,objectId:a,token:p.value?.token,comment:{like:!l}}),l?v.value=v.value.filter((e=>e!==a)):(v.value=[...v.value,a],v.value.length>50&&(v.value=v.value.slice(-50))),e.like=(e.like||0)+(l?-1:1)};return e.provide("config",w),e.onMounted((()=>{e.watch((()=>[a.serverURL,a.path]),(()=>D()),{immediate:!0})})),e.onUnmounted((()=>R?.())),(t,n)=>(e.openBlock(),e.createElementBlock("div",en,[e.createVNode(De),E.value?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createBlock(Lt,{key:0,onLog:D,onSubmit:H})),e.createElementVNode("div",tn,[e.createElementVNode("div",nn,[f.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:"wl-num",textContent:e.toDisplayString(f.value)},null,8,an)):e.createCommentVNode("v-if",!0),e.createTextVNode(" "+e.toDisplayString(N.value.comment),1)]),e.createElementVNode("ul",ln,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(d),(t=>(e.openBlock(),e.createElementBlock("li",{key:t,class:e.normalizeClass([t===b.value?"active":""]),onClick:e=>(e=>{b.value!==e&&(b.value=e,D())})(t)},e.toDisplayString(N.value[t]),11,on)))),128))])]),e.createElementVNode("div",rn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.value,(t=>(e.openBlock(),e.createBlock(Xt,{key:t.objectId,"root-id":t.objectId,comment:t,reply:E.value,edit:$.value,onLog:D,onReply:M,onEdit:T,onSubmit:H,onStatus:O,onDelete:F,onSticky:P,onLike:W},null,8,["root-id","comment","reply","edit"])))),128))]),"error"===h.value?(e.openBlock(),e.createElementBlock("div",cn,[e.createElementVNode("button",{type:"button",class:"wl-btn",onClick:D,textContent:e.toDisplayString(N.value.refresh)},null,8,sn)])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},["loading"===h.value?(e.openBlock(),e.createElementBlock("div",un,[e.createVNode(e.unref(se),{size:30})])):C.value.length?y.value<k.value?(e.openBlock(),e.createElementBlock("div",dn,[e.createElementVNode("button",{type:"button",class:"wl-btn",onClick:_,textContent:e.toDisplayString(N.value.more)},null,8,pn)])):e.createCommentVNode("v-if",!0):(e.openBlock(),e.createElementBlock("div",{key:1,class:"wl-empty",textContent:e.toDisplayString(N.value.sofa)},null,8,mn))],64)),w.value.copyright?(e.openBlock(),e.createElementBlock("div",vn,[e.createTextVNode(" Powered by "),gn,e.createTextVNode(" v"+e.toDisplayString(e.unref(Qt)),1)])):e.createCommentVNode("v-if",!0)]))}}),fn=_e(hn,[["__file","WalineComment.vue"]]);const yn=(e,t)=>{t.forEach(((t,n)=>{t.innerText=e[n].toString()}))},kn=({serverURL:e,path:t=window.location.pathname,selector:n=".waline-pageview-count",update:a=!0,lang:l=navigator.language})=>{const o=new AbortController,r=Array.from(document.querySelectorAll(n)),i=e=>{const n=Y(e);return null!==n&&t!==n},c=n=>(({serverURL:e,lang:t,paths:n,signal:a})=>V({serverURL:e,lang:t,paths:n,type:["time"],signal:a}).then((e=>Array.isArray(e)?e:[e])))({serverURL:I(e),paths:n.map((e=>Y(e)||t)),lang:l,signal:o.signal}).then((e=>yn(e,n))).catch(O);if(a){const n=r.filter((e=>!i(e))),a=r.filter(i);(s={serverURL:I(e),path:t,lang:l},N({...s,type:"time",action:"inc"})).then((e=>yn(new Array(n.length).fill(e),n))),a.length&&c(a)}else c(r);var s;return o.abort.bind(o)};exports.RecentComments=({el:e,serverURL:t,count:n,lang:a=navigator.language})=>{const l=Ve(),o=P(e),r=new AbortController;return(({serverURL:e,lang:t,count:n,signal:a,token:l})=>{const o={};return l&&(o.Authorization=`Bearer ${l}`),fetch(`${e}/comment?type=recent&count=${n}&lang=${t}`,{signal:a,headers:o}).then((e=>e.json()))})({serverURL:t,count:n,lang:a,signal:r.signal,token:l.value?.token}).then((e=>o&&e.length?(o.innerHTML=`<ul class="wl-recent-list">${e.map((e=>`<li class="wl-recent-item"><a href="${e.url}">${e.nick}</a>:${e.comment}</li>`)).join("")}</ul>`,{comments:e,destroy:()=>{r.abort(),o.innerHTML=""}}):{comments:e,destroy:()=>r.abort()}))},exports.UserList=({el:e,serverURL:t,count:n,locale:a,lang:l=navigator.language,mode:o="list"})=>{const r=P(e),c=new AbortController;return(({serverURL:e,signal:t,pageSize:n,lang:a})=>fetch(`${e}/user?pageSize=${n}&lang=${a}`,{signal:t}).then((e=>e.json())).then((e=>L(e,"user list"))).then((e=>e.data)))({serverURL:t,pageSize:n,lang:l,signal:c.signal}).then((e=>r&&e.length?(a={...B[l]||B[i],..."object"==typeof a?a:{}},r.innerHTML=`<ul class="wl-user-${o}">${e.map(((e,t)=>[`<li class="wl-user-item" aria-label="${e.nick}">`,e.link&&`<a href="${e.link}" target="_blank">`,'<div class="wl-user-avatar">',`<img src="${e.avatar}" alt="${e.nick}">`,`<span class="wl-user-badge">${t+1}</span>`,"</div>",'<div class="wl-user-meta">','<div class="wl-user-name">',e.nick,e.level&&`<span class="wl-badge">${a?a[`level${e.level}`]:`Level ${e.level}`}</span>`,e.label&&`<span class="wl-badge">${e.label}</span>`,"</div>",e.link&&e.link,"</div>",e.link&&"</a>","</li>"].filter((e=>e)).join(""))).join("")}</ul>`,{users:e,destroy:()=>{c.abort(),r.innerHTML=""}}):{users:e,destroy:()=>c.abort()}))},exports.commentCount=X,exports.defaultLocales=B,exports.init=({el:t="#waline",path:n=window.location.pathname,comment:a=!1,pageview:l=!1,...o})=>{const r=t?P(t):null;if(t&&!r)throw new Error("Option 'el' do not match any domElement!");if(!o.serverURL)throw new Error("Option 'serverURL' is missing!");const i=e.reactive({...o}),c=e.reactive({comment:a,pageview:l,path:n}),s=r?e.createApp((()=>e.h(fn,{path:c.path,...i}))):null;s&&s.mount(r);const u=e.watchEffect((()=>{c.comment&&X({serverURL:i.serverURL,path:c.path,selector:"string"==typeof c.comment?c.comment:void 0})})),m=e.watchEffect((()=>{c.pageview&&kn({serverURL:i.serverURL,path:c.path,selector:"string"==typeof c.pageview?c.pageview:void 0})}));return{el:r,update:({comment:e,pageview:t,path:n=window.location.pathname,...a}={})=>{Object.entries(a).forEach((([e,t])=>{i[e]=t})),c.path=n,void 0!==e&&(c.comment=e),void 0!==t&&(c.pageview=t)},destroy:()=>{s?.unmount(),u(),m()}}},exports.pageviewCount=kn,exports.version=Qt;
1
+ "use strict";var e=require("vue"),t=require("@vueuse/core"),n=require("autosize"),a=require("marked");const l=["nick","mail","link"],o=e=>e.filter((e=>l.includes(e))),r=["//unpkg.com/@waline/emojis@1.1.0/weibo"],i="en-US",c=["//unpkg.com/@waline/emojis/tieba/tieba_agree.png","//unpkg.com/@waline/emojis/tieba/tieba_look_down.png","//unpkg.com/@waline/emojis/tieba/tieba_sunglasses.png","//unpkg.com/@waline/emojis/tieba/tieba_pick_nose.png","//unpkg.com/@waline/emojis/tieba/tieba_awkward.png","//unpkg.com/@waline/emojis/tieba/tieba_sleep.png"],s=e=>new Promise(((t,n)=>{if(e.size>128e3)return n(new Error("File too large! File size limit 128KB"));const a=new FileReader;a.readAsDataURL(e),a.onload=()=>t(a.result?.toString()||""),a.onerror=n})),u=e=>!0===e?'<p class="wl-tex">TeX is not available in preview</p>':'<span class="wl-tex">TeX is not available in preview</span>',m=e=>{const t=async(t,n={})=>fetch(`https://api.giphy.com/v1/gifs/${t}?${new URLSearchParams({lang:e,limit:"20",rating:"g",api_key:"6CIMLkNMMOhRcXPoMCPkFy4Ybk2XUiMp",...n}).toString()}`).then((e=>e.json())).then((({data:e})=>e.map((e=>({title:e.title,src:e.images.downsized_medium.url})))));return{search:e=>t("search",{q:e,offset:"0"}),default:()=>t("trending",{}),more:(e,n=0)=>t("search",{q:e,offset:n.toString()})}},d=new RegExp(`(${/[\u4E00-\u9FFF\u3400-\u4dbf\uf900-\ufaff\u3040-\u309f\uac00-\ud7af\u0400-\u04FF]+|\w+/.source}|${/</.source})|((?:${/(?:^|\s)\/\/(.+?)$/gm.source})|(?:${/\/\*([\S\s]*?)\*\//gm.source}))`,"gmi"),p=["23AC69","91C132","F19726","E8552D","1AAB8E","E1147F","2980C1","1BA1E6","9FA0A0","F19726","E30B20","E30B20","A3338B"],v={},g=e=>{let t=0;return e.replace(d,((e,n,a)=>{if(a)return`<span style="color: slategray">${a}</span>`;if("<"===n)return"&lt;";let l;v[n]?l=v[n]:(l=p[t],v[n]=l);const o=`<span style="color: #${l}">${n}</span>`;return t=++t%p.length,o}))},h=["nick","nickError","mail","mailError","link","optional","placeholder","sofa","submit","like","cancelLike","reply","cancelReply","comment","refresh","more","preview","emoji","uploadImage","seconds","minutes","hours","days","now","uploading","login","logout","admin","sticky","word","wordHint","anonymous","level0","level1","level2","level3","level4","level5","gif","gifSearchPlaceholder","profile","approved","waiting","spam","unsticky","oldest","latest","hottest","reactionTitle"],f=e=>Object.fromEntries(e.map(((e,t)=>[h[t],e])));var y=f(["NickName","NickName cannot be less than 3 bytes.","E-Mail","Please confirm your email address.","Website","Optional","Comment here...","No comment yet.","Submit","Like","Cancel like","Reply","Cancel reply","Comments","Refresh","Load More...","Preview","Emoji","Upload Image","seconds ago","minutes ago","hours ago","days ago","just now","Uploading","Login","logout","Admin","Sticky","Words","Please input comments between $0 and $1 words!\n Current word number: $2","Anonymous","Dwarves","Hobbits","Ents","Wizards","Elves","Maiar","GIF","Search GIF","Profile","Approved","Waiting","Spam","Unsticky","Oldest","Latest","Hottest","What do you think?"]),k=f(["ニックネーム","3バイト以上のニックネームをご入力ください.","メールアドレス","メールアドレスをご確認ください.","サイト","オプション","ここにコメント","コメントしましょう~","提出する","Like","Cancel like","返信する","キャンセル","コメント","更新","さらに読み込む","プレビュー","絵文字","画像をアップロード","秒前","分前","時間前","日前","たっだ今","アップロード","ログインする","ログアウト","管理者","トップに置く","ワード","コメントは $0 から $1 ワードの間でなければなりません!\n 現在の単語番号: $2","匿名","うえにん","なかにん","しもおし","特にしもおし","かげ","なぬし","GIF","探す GIF","個人情報","承認済み","待っている","スパム","べたつかない","逆順","正順","人気順","どう思いますか?"]),w=f(["Apelido","Apelido não pode ser menor que 3 bytes.","E-Mail","Por favor, confirme seu endereço de e-mail.","Website","Opcional","Comente aqui...","Nenhum comentário, ainda.","Enviar","Like","Cancel like","Responder","Cancelar resposta","Comentários","Refrescar","Carregar Mais...","Visualizar","Emoji","Enviar Imagem","segundos atrás","minutos atrás","horas atrás","dias atrás","agora mesmo","Enviando","Entrar","Sair","Admin","Sticky","Palavras","Favor enviar comentário com $0 a $1 palavras!\n Número de palavras atuais: $2","Anônimo","Dwarves","Hobbits","Ents","Wizards","Elves","Maiar","GIF","Pesquisar GIF","informação pessoal","Aprovado","Espera","Spam","Unsticky","Mais velho","Mais recentes","Mais quente","O que você acha?"]),b=f(["Псевдоним","Никнейм не может быть меньше 3 байт.","Эл. адрес","Пожалуйста, подтвердите адрес вашей электронной почты.","Веб-сайт","Необязательный","Комментарий здесь...","Пока нет комментариев.","Отправить","Like","Cancel like","Отвечать","Отменить ответ","Комментарии","Обновить","Загрузи больше...","Превью","эмодзи","Загрузить изображение","секунд назад","несколько минут назад","несколько часов назад","дней назад","прямо сейчас","Загрузка","Авторизоваться","Выход из системы","Админ","Липкий","Слова","Пожалуйста, введите комментарии от $0 до $1 слов!\nНомер текущего слова: $2","Анонимный","Dwarves","Hobbits","Ents","Wizards","Elves","Maiar","GIF","Поиск GIF","Персональные данные","Одобренный","Ожидающий","Спам","Нелипкий","самый старый","последний","самый горячий","Что вы думаете?"]),C=f(["昵称","昵称不能少于3个字符","邮箱","请填写正确的邮件地址","网址","可选","欢迎评论","来发评论吧~","提交","喜欢","取消喜欢","回复","取消回复","评论","刷新","加载更多...","预览","表情","上传图片","秒前","分钟前","小时前","天前","刚刚","正在上传","登录","退出","博主","置顶","字","评论字数应在 $0 到 $1 字之间!\n当前字数:$2","匿名","潜水","冒泡","吐槽","活跃","话痨","传说","表情包","搜索表情包","个人资料","通过","待审核","垃圾","取消置顶","按倒序","按正序","按热度","你认为这篇文章怎么样?"]),E=f(["暱稱","暱稱不能少於3個字元","郵箱","請填寫正確的郵件地址","網址","可選","歡迎留言","來發留言吧~","送出","喜歡","取消喜歡","回覆","取消回覆","留言","重整","載入更多...","預覽","表情","上傳圖片","秒前","分鐘前","小時前","天前","剛剛","正在上傳","登入","登出","管理者","置頂","字","留言字數應在 $0 到 $1 字之間!\n目前字數:$2","匿名","潛水","冒泡","吐槽","活躍","多話","傳說","表情包","搜尋表情包","個人資料","通過","待審核","垃圾","取消置頂","最早","最新","熱門","你認為這篇文章怎麼樣?"]);const B={zh:C,"zh-cn":C,"zh-CN":C,"zh-tw":E,"zh-TW":E,en:y,"en-US":y,"en-us":y,jp:k,ja:k,"jp-jp":k,"jp-JP":k,"pt-br":w,"pt-BR":w,ru:b,"ru-ru":b,"ru-RU":b},$={"Content-Type":"application/json"},L=(e,t="")=>{if("object"==typeof e&&e.errno)throw new TypeError(`${t} failed with ${e.errno}: ${e.errmsg}`);return e},V=({serverURL:e,lang:t,paths:n,type:a,signal:l})=>fetch(`${e}/article?path=${encodeURIComponent(n.join(","))}&type=${encodeURIComponent(a.join(","))}&lang=${t}`,{signal:l}).then((e=>e.json())),N=({serverURL:e,lang:t,path:n,type:a,action:l})=>fetch(`${e}/article?lang=${t}`,{method:"POST",headers:$,body:JSON.stringify({path:n,type:a,action:l})}).then((e=>e.json())),S=({serverURL:e,lang:t,token:n,objectId:a,comment:l})=>fetch(`${e}/comment/${a}?lang=${t}`,{method:"PUT",headers:{...$,Authorization:`Bearer ${n}`},body:JSON.stringify(l)}).then((e=>e.json())).then((e=>L(e,"Update comment"))),x=e=>{try{e=decodeURI(e)}catch(e){}return e},R=(e="")=>e.replace(/\/$/u,""),j=e=>/^(https?:)?\/\//.test(e),I=e=>{const t=R(e);return j(t)?t:`https://${t}`},A=e=>Array.isArray(e)?e:!!e&&[0,e],z=(e,t)=>"function"==typeof e?e:!1!==e&&t,U="{--waline-white:#000;--waline-light-grey:#666;--waline-dark-grey:#999;--waline-color:#888;--waline-bgcolor:#1e1e1e;--waline-bgcolor-light:#272727;--waline-bgcolor-hover: #444;--waline-border-color:#333;--waline-disable-bgcolor:#444;--waline-disable-color:#272727;--waline-bq-color:#272727;--waline-info-bgcolor:#272727;--waline-info-color:#666}",_=(e,t)=>{let n=e.toString();for(;n.length<t;)n="0"+n;return n},D=(e,t,n)=>{if(!e)return"";const a="string"==typeof e?new Date(-1!==e.indexOf(" ")?e.replace(/-/g,"/"):e):e,l=t.getTime()-a.getTime(),o=Math.floor(l/864e5);if(0===o){const e=l%864e5,t=Math.floor(e/36e5);if(0===t){const t=e%36e5,a=Math.floor(t/6e4);if(0===a){const e=t%6e4;return`${Math.round(e/1e3)} ${n.seconds}`}return`${a} ${n.minutes}`}return`${t} ${n.hours}`}return o<0?n.now:o<8?`${o} ${n.days}`:(e=>{const t=_(e.getDate(),2),n=_(e.getMonth()+1,2);return`${_(e.getFullYear(),2)}-${n}-${t}`})(a)},M=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,T=e=>{const n=t.useStorage("WALINE_EMOJI",{}),a=Boolean(/@[0-9]+\.[0-9]+\.[0-9]+/.test(e));if(a){const t=n.value[e];if(t)return Promise.resolve(t)}return fetch(`${e}/info.json`).then((e=>e.json())).then((t=>{const l={folder:e,...t};return a&&(n.value[e]=l),l}))},H=(e,t="",n="",a="")=>`${t?`${t}/`:""}${n}${e}${a?`.${a}`:""}`,O=e=>{"AbortError"!==e.name&&console.error(e.message)},P=e=>e instanceof HTMLElement?e:"string"==typeof e?document.querySelector(e):null,F=e=>e.type.includes("image"),W=e=>{const t=Array.from(e).find(F);return t?t.getAsFile():null},q=/\$.*?\$/,K=/^\$(.*?)\$/,G=/^(?:\s{0,3})\$\$((?:[^\n]|\n[^\n])+?)\n{0,1}\$\$/,Z=(e="",t={})=>e.replace(/:(.+?):/g,((e,n)=>t[n]?`<img class="wl-emoji" src="${t[n]}" alt="${n}">`:e)),J=(e,{emojiMap:t,highlighter:n,texRenderer:l})=>{if(a.marked.setOptions({highlight:n||void 0,breaks:!0,smartLists:!0,smartypants:!0}),l){const e=(e=>[{name:"blockMath",level:"block",tokenizer(t){const n=G.exec(t);if(null!==n)return{type:"html",raw:n[0],text:e(!0,n[1])}}},{name:"inlineMath",level:"inline",start(e){const t=e.search(q);return-1!==t?t:e.length},tokenizer(t){const n=K.exec(t);if(null!==n)return{type:"html",raw:n[0],text:e(!1,n[1])}}}])(l);a.marked.use({extensions:e})}return a.marked.parse(Z(e,t))},Y=e=>e.dataset.path||e.getAttribute("id"),X=({serverURL:e,path:t=window.location.pathname,selector:n=".waline-comment-count",lang:a=navigator.language})=>{const l=new AbortController,o=document.querySelectorAll(n);return o.length&&(({serverURL:e,lang:t,paths:n,signal:a})=>fetch(`${e}/comment?type=count&url=${encodeURIComponent(n.join(","))}&lang=${t}`,{signal:a}).then((e=>e.json())).then((e=>Array.isArray(e)?e:[e])))({serverURL:I(e),paths:Array.from(o).map((e=>x(e.dataset.path||e.getAttribute("id")||t))),lang:a,signal:l.signal}).then((e=>{o.forEach(((t,n)=>{t.innerText=e[n].toString()}))})).catch(O),l.abort.bind(l)},Q=({size:t})=>e.h("svg",{class:"wl-close-icon",viewBox:"0 0 1024 1024",width:t,height:t},[e.h("path",{d:"M697.173 85.333h-369.92c-144.64 0-241.92 101.547-241.92 252.587v348.587c0 150.613 97.28 252.16 241.92 252.16h369.92c144.64 0 241.494-101.547 241.494-252.16V337.92c0-151.04-96.854-252.587-241.494-252.587z",fill:"currentColor"}),e.h("path",{d:"m640.683 587.52-75.947-75.861 75.904-75.862a37.29 37.29 0 0 0 0-52.778 37.205 37.205 0 0 0-52.779 0l-75.946 75.818-75.862-75.946a37.419 37.419 0 0 0-52.821 0 37.419 37.419 0 0 0 0 52.821l75.947 75.947-75.776 75.733a37.29 37.29 0 1 0 52.778 52.821l75.776-75.776 75.947 75.947a37.376 37.376 0 0 0 52.779-52.821z",fill:"#888"})]),ee=()=>e.h("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},e.h("path",{d:"m341.013 394.667 27.755 393.45h271.83l27.733-393.45h64.106l-28.01 397.952a64 64 0 0 1-63.83 59.498H368.768a64 64 0 0 1-63.83-59.52l-28.053-397.93h64.128zm139.307 19.818v298.667h-64V414.485h64zm117.013 0v298.667h-64V414.485h64zM181.333 288h640v64h-640v-64zm453.483-106.667v64h-256v-64h256z",fill:"red"})),te=()=>e.h("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},e.h("path",{d:"M563.2 463.3 677 540c1.7 1.2 3.7 1.8 5.8 1.8.7 0 1.4-.1 2-.2 2.7-.5 5.1-2.1 6.6-4.4l25.3-37.8c1.5-2.3 2.1-5.1 1.6-7.8s-2.1-5.1-4.4-6.6l-73.6-49.1 73.6-49.1c2.3-1.5 3.9-3.9 4.4-6.6.5-2.7 0-5.5-1.6-7.8l-25.3-37.8a10.1 10.1 0 0 0-6.6-4.4c-.7-.1-1.3-.2-2-.2-2.1 0-4.1.6-5.8 1.8l-113.8 76.6c-9.2 6.2-14.7 16.4-14.7 27.5.1 11 5.5 21.3 14.7 27.4zM387 348.8h-45.5c-5.7 0-10.4 4.7-10.4 10.4v153.3c0 5.7 4.7 10.4 10.4 10.4H387c5.7 0 10.4-4.7 10.4-10.4V359.2c0-5.7-4.7-10.4-10.4-10.4zm333.8 241.3-41-20a10.3 10.3 0 0 0-8.1-.5c-2.6.9-4.8 2.9-5.9 5.4-30.1 64.9-93.1 109.1-164.4 115.2-5.7.5-9.9 5.5-9.5 11.2l3.9 45.5c.5 5.3 5 9.5 10.3 9.5h.9c94.8-8 178.5-66.5 218.6-152.7 2.4-5 .3-11.2-4.8-13.6zm186-186.1c-11.9-42-30.5-81.4-55.2-117.1-24.1-34.9-53.5-65.6-87.5-91.2-33.9-25.6-71.5-45.5-111.6-59.2-41.2-14-84.1-21.1-127.8-21.1h-1.2c-75.4 0-148.8 21.4-212.5 61.7-63.7 40.3-114.3 97.6-146.5 165.8-32.2 68.1-44.3 143.6-35.1 218.4 9.3 74.8 39.4 145 87.3 203.3.1.2.3.3.4.5l36.2 38.4c1.1 1.2 2.5 2.1 3.9 2.6 73.3 66.7 168.2 103.5 267.5 103.5 73.3 0 145.2-20.3 207.7-58.7 37.3-22.9 70.3-51.5 98.1-85 27.1-32.7 48.7-69.5 64.2-109.1 15.5-39.7 24.4-81.3 26.6-123.8 2.4-43.6-2.5-87-14.5-129zm-60.5 181.1c-8.3 37-22.8 72-43 104-19.7 31.1-44.3 58.6-73.1 81.7-28.8 23.1-61 41-95.7 53.4-35.6 12.7-72.9 19.1-110.9 19.1-82.6 0-161.7-30.6-222.8-86.2l-34.1-35.8c-23.9-29.3-42.4-62.2-55.1-97.7-12.4-34.7-18.8-71-19.2-107.9-.4-36.9 5.4-73.3 17.1-108.2 12-35.8 30-69.2 53.4-99.1 31.7-40.4 71.1-72 117.2-94.1 44.5-21.3 94-32.6 143.4-32.6 49.3 0 97 10.8 141.8 32 34.3 16.3 65.3 38.1 92 64.8 26.1 26 47.5 56 63.6 89.2 16.2 33.2 26.6 68.5 31 105.1 4.6 37.5 2.7 75.3-5.6 112.3z",fill:"currentColor"})),ne=()=>e.h("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},[e.h("path",{d:"M784 112H240c-88 0-160 72-160 160v480c0 88 72 160 160 160h544c88 0 160-72 160-160V272c0-88-72-160-160-160zm96 640c0 52.8-43.2 96-96 96H240c-52.8 0-96-43.2-96-96V272c0-52.8 43.2-96 96-96h544c52.8 0 96 43.2 96 96v480z",fill:"currentColor"}),e.h("path",{d:"M352 480c52.8 0 96-43.2 96-96s-43.2-96-96-96-96 43.2-96 96 43.2 96 96 96zm0-128c17.6 0 32 14.4 32 32s-14.4 32-32 32-32-14.4-32-32 14.4-32 32-32zm462.4 379.2-3.2-3.2-177.6-177.6c-25.6-25.6-65.6-25.6-91.2 0l-80 80-36.8-36.8c-25.6-25.6-65.6-25.6-91.2 0L200 728c-4.8 6.4-8 14.4-8 24 0 17.6 14.4 32 32 32 9.6 0 16-3.2 22.4-9.6L380.8 640l134.4 134.4c6.4 6.4 14.4 9.6 24 9.6 17.6 0 32-14.4 32-32 0-9.6-4.8-17.6-9.6-24l-52.8-52.8 80-80L769.6 776c6.4 4.8 12.8 8 20.8 8 17.6 0 32-14.4 32-32 0-8-3.2-16-8-20.8z",fill:"currentColor"})]),ae=({active:t=!1})=>e.h("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},[e.h("path",{d:"M850.654 323.804c-11.042-25.625-26.862-48.532-46.885-68.225-20.022-19.61-43.258-34.936-69.213-45.73-26.78-11.124-55.124-16.727-84.375-16.727-40.622 0-80.256 11.123-114.698 32.135A214.79 214.79 0 0 0 512 241.819a214.79 214.79 0 0 0-23.483-16.562c-34.442-21.012-74.076-32.135-114.698-32.135-29.25 0-57.595 5.603-84.375 16.727-25.872 10.711-49.19 26.12-69.213 45.73-20.105 19.693-35.843 42.6-46.885 68.225-11.453 26.615-17.303 54.877-17.303 83.963 0 27.439 5.603 56.03 16.727 85.117 9.31 24.307 22.659 49.52 39.715 74.981 27.027 40.293 64.188 82.316 110.33 124.915 76.465 70.615 152.189 119.394 155.402 121.371l19.528 12.525c8.652 5.52 19.776 5.52 28.427 0l19.529-12.525c3.213-2.06 78.854-50.756 155.401-121.371 46.143-42.6 83.304-84.622 110.33-124.915 17.057-25.46 30.487-50.674 39.716-74.981 11.124-29.087 16.727-57.678 16.727-85.117.082-29.086-5.768-57.348-17.221-83.963z"+(t?"":"M512 761.5S218.665 573.55 218.665 407.767c0-83.963 69.461-152.023 155.154-152.023 60.233 0 112.473 33.618 138.181 82.727 25.708-49.109 77.948-82.727 138.18-82.727 85.694 0 155.155 68.06 155.155 152.023C805.335 573.551 512 761.5 512 761.5z"),fill:t?"red":"currentColor"})]),le=()=>e.h("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},[e.h("path",{d:"M710.816 654.301c70.323-96.639 61.084-230.578-23.705-314.843-46.098-46.098-107.183-71.109-172.28-71.109-65.008 0-126.092 25.444-172.28 71.109-45.227 46.098-70.756 107.183-70.756 172.106 0 64.923 25.444 126.007 71.194 172.106 46.099 46.098 107.184 71.109 172.28 71.109 51.414 0 100.648-16.212 142.824-47.404l126.53 126.006c7.058 7.06 16.297 10.979 26.406 10.979 10.105 0 19.343-3.919 26.402-10.979 14.467-14.467 14.467-38.172 0-52.723L710.816 654.301zm-315.107-23.265c-65.88-65.88-65.88-172.54 0-238.42 32.069-32.07 74.245-49.149 119.471-49.149 45.227 0 87.407 17.603 119.472 49.149 65.88 65.879 65.88 172.539 0 238.42-63.612 63.178-175.242 63.178-238.943 0zm0 0",fill:"currentColor"}),e.h("path",{d:"M703.319 121.603H321.03c-109.8 0-199.469 89.146-199.469 199.38v382.034c0 109.796 89.236 199.38 199.469 199.38h207.397c20.653 0 37.384-16.645 37.384-37.299 0-20.649-16.731-37.296-37.384-37.296H321.03c-68.582 0-124.352-55.77-124.352-124.267V321.421c0-68.496 55.77-124.267 124.352-124.267h382.289c68.582 0 124.352 55.771 124.352 124.267V524.72c0 20.654 16.736 37.299 37.385 37.299 20.654 0 37.384-16.645 37.384-37.299V320.549c-.085-109.8-89.321-198.946-199.121-198.946zm0 0",fill:"currentColor"})]),oe=()=>e.h("svg",{width:"16",height:"16",ariaHidden:"true"},e.h("path",{d:"M14.85 3H1.15C.52 3 0 3.52 0 4.15v7.69C0 12.48.52 13 1.15 13h13.69c.64 0 1.15-.52 1.15-1.15v-7.7C16 3.52 15.48 3 14.85 3zM9 11H7V8L5.5 9.92 4 8v3H2V5h2l1.5 2L7 5h2v6zm2.99.5L9.5 8H11V5h2v3h1.5l-2.51 3.5z",fill:"currentColor"})),re=()=>e.h("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},e.h("path",{d:"M810.667 213.333a64 64 0 0 1 64 64V704a64 64 0 0 1-64 64H478.336l-146.645 96.107a21.333 21.333 0 0 1-33.024-17.856V768h-85.334a64 64 0 0 1-64-64V277.333a64 64 0 0 1 64-64h597.334zm0 64H213.333V704h149.334v63.296L459.243 704h351.424V277.333zm-271.36 213.334v64h-176.64v-64h176.64zm122.026-128v64H362.667v-64h298.666z",fill:"currentColor"})),ie=()=>e.h("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},e.h("path",{d:"M813.039 318.772L480.53 651.278H360.718V531.463L693.227 198.961C697.904 194.284 704.027 192 710.157 192C716.302 192 722.436 194.284 727.114 198.961L813.039 284.88C817.72 289.561 820 295.684 820 301.825C820 307.95 817.72 314.093 813.039 318.772ZM710.172 261.888L420.624 551.431V591.376H460.561L750.109 301.825L710.172 261.888ZM490.517 291.845H240.906V771.09H720.156V521.479C720.156 504.947 733.559 491.529 750.109 491.529C766.653 491.529 780.063 504.947 780.063 521.479V791.059C780.063 813.118 762.18 831 740.125 831H220.937C198.882 831 181 813.118 181 791.059V271.872C181 249.817 198.882 231.935 220.937 231.935H490.517C507.06 231.935 520.47 245.352 520.47 261.888C520.47 278.424 507.06 291.845 490.517 291.845Z",fill:"currentColor"})),ce=()=>e.h("svg",{class:"verified-icon",viewBox:"0 0 1024 1024",width:"14",height:"14"},e.h("path",{d:"m894.4 461.56-54.4-63.2c-10.4-12-18.8-34.4-18.8-50.4v-68c0-42.4-34.8-77.2-77.2-77.2h-68c-15.6 0-38.4-8.4-50.4-18.8l-63.2-54.4c-27.6-23.6-72.8-23.6-100.8 0l-62.8 54.8c-12 10-34.8 18.4-50.4 18.4h-69.2c-42.4 0-77.2 34.8-77.2 77.2v68.4c0 15.6-8.4 38-18.4 50l-54 63.6c-23.2 27.6-23.2 72.4 0 100l54 63.6c10 12 18.4 34.4 18.4 50v68.4c0 42.4 34.8 77.2 77.2 77.2h69.2c15.6 0 38.4 8.4 50.4 18.8l63.2 54.4c27.6 23.6 72.8 23.6 100.8 0l63.2-54.4c12-10.4 34.4-18.8 50.4-18.8h68c42.4 0 77.2-34.8 77.2-77.2v-68c0-15.6 8.4-38.4 18.8-50.4l54.4-63.2c23.2-27.6 23.2-73.2-.4-100.8zm-216-25.2-193.2 193.2a30 30 0 0 1-42.4 0l-96.8-96.8a30.16 30.16 0 0 1 0-42.4c11.6-11.6 30.8-11.6 42.4 0l75.6 75.6 172-172c11.6-11.6 30.8-11.6 42.4 0 11.6 11.6 11.6 30.8 0 42.4z",fill:"#27ae60"})),se=({size:t=100})=>e.h("svg",{width:t,height:t,viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid"},e.h("circle",{cx:50,cy:50,fill:"none",stroke:"currentColor",strokeWidth:"4",r:"40","stroke-dasharray":"85 30"},e.h("animateTransform",{attributeName:"transform",type:"rotate",repeatCount:"indefinite",dur:"1s",values:"0 50 50;360 50 50",keyTimes:"0;1"}))),ue=()=>e.h("svg",{width:24,height:24,fill:"currentcolor",viewBox:"0 0 24 24"},[e.h("path",{style:"transform: translateY(0.5px)",d:"M18.968 10.5H15.968V11.484H17.984V12.984H15.968V15H14.468V9H18.968V10.5V10.5ZM8.984 9C9.26533 9 9.49967 9.09367 9.687 9.281C9.87433 9.46833 9.968 9.70267 9.968 9.984V10.5H6.499V13.5H8.468V12H9.968V14.016C9.968 14.2973 9.87433 14.5317 9.687 14.719C9.49967 14.9063 9.26533 15 8.984 15H5.984C5.70267 15 5.46833 14.9063 5.281 14.719C5.09367 14.5317 5 14.2973 5 14.016V9.985C5 9.70367 5.09367 9.46933 5.281 9.282C5.46833 9.09467 5.70267 9.001 5.984 9.001H8.984V9ZM11.468 9H12.968V15H11.468V9V9Z"}),e.h("path",{d:"M18.5 3H5.75C3.6875 3 2 4.6875 2 6.75V18C2 20.0625 3.6875 21.75 5.75 21.75H18.5C20.5625 21.75 22.25 20.0625 22.25 18V6.75C22.25 4.6875 20.5625 3 18.5 3ZM20.75 18C20.75 19.2375 19.7375 20.25 18.5 20.25H5.75C4.5125 20.25 3.5 19.2375 3.5 18V6.75C3.5 5.5125 4.5125 4.5 5.75 4.5H18.5C19.7375 4.5 20.75 5.5125 20.75 6.75V18Z"})]);let me=null;const de=()=>me||(me=t.useStorage("WALINE_LIKE",[]));let pe=null;const ve=()=>pe??(pe=t.useStorage("WALINE_REACTION",{}));var ge="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},he={},fe={},ye={},ke=ge&&ge.__awaiter||function(e,t,n,a){return new(n||(n=Promise))((function(l,o){function r(e){try{c(a.next(e))}catch(e){o(e)}}function i(e){try{c(a.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?l(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(r,i)}c((a=a.apply(e,t||[])).next())}))},we=ge&&ge.__generator||function(e,t){var n,a,l,o,r={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]};return o={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function i(o){return function(i){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;r;)try{if(n=1,a&&(l=2&o[0]?a.return:o[0]?a.throw||((l=a.return)&&l.call(a),0):a.next)&&!(l=l.call(a,o[1])).done)return l;switch(a=0,l&&(o=[2&o[0],l.value]),o[0]){case 0:case 1:l=o;break;case 4:return r.label++,{value:o[1],done:!1};case 5:r.label++,a=o[1],o=[0];continue;case 7:o=r.ops.pop(),r.trys.pop();continue;default:if(!(l=r.trys,(l=l.length>0&&l[l.length-1])||6!==o[0]&&2!==o[0])){r=0;continue}if(3===o[0]&&(!l||o[1]>l[0]&&o[1]<l[3])){r.label=o[1];break}if(6===o[0]&&r.label<l[1]){r.label=l[1],l=o;break}if(l&&r.label<l[2]){r.label=l[2],r.ops.push(o);break}l[2]&&r.ops.pop(),r.trys.pop();continue}o=t.call(e,r)}catch(e){o=[6,e],a=0}finally{n=l=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,i])}}};Object.defineProperty(ye,"__esModule",{value:!0}),ye.ReCaptchaInstance=void 0;var be=function(){function e(e,t,n){this.siteKey=e,this.recaptchaID=t,this.recaptcha=n,this.styleContainer=null}return e.prototype.execute=function(e){return ke(this,void 0,void 0,(function(){return we(this,(function(t){return[2,this.recaptcha.enterprise?this.recaptcha.enterprise.execute(this.recaptchaID,{action:e}):this.recaptcha.execute(this.recaptchaID,{action:e})]}))}))},e.prototype.getSiteKey=function(){return this.siteKey},e.prototype.hideBadge=function(){null===this.styleContainer&&(this.styleContainer=document.createElement("style"),this.styleContainer.innerHTML=".grecaptcha-badge{visibility:hidden !important;}",document.head.appendChild(this.styleContainer))},e.prototype.showBadge=function(){null!==this.styleContainer&&(document.head.removeChild(this.styleContainer),this.styleContainer=null)},e}();ye.ReCaptchaInstance=be,Object.defineProperty(fe,"__esModule",{value:!0}),fe.getInstance=fe.load=void 0;var Ce,Ee=ye;!function(e){e[e.NOT_LOADED=0]="NOT_LOADED",e[e.LOADING=1]="LOADING",e[e.LOADED=2]="LOADED"}(Ce||(Ce={}));var Be=function(){function e(){}return e.load=function(t,n){if(void 0===n&&(n={}),"undefined"==typeof document)return Promise.reject(new Error("This is a library for the browser!"));if(e.getLoadingState()===Ce.LOADED)return e.instance.getSiteKey()===t?Promise.resolve(e.instance):Promise.reject(new Error("reCAPTCHA already loaded with different site key!"));if(e.getLoadingState()===Ce.LOADING)return t!==e.instanceSiteKey?Promise.reject(new Error("reCAPTCHA already loaded with different site key!")):new Promise((function(t,n){e.successfulLoadingConsumers.push((function(e){return t(e)})),e.errorLoadingRunnable.push((function(e){return n(e)}))}));e.instanceSiteKey=t,e.setLoadingState(Ce.LOADING);var a=new e;return new Promise((function(l,o){a.loadScript(t,n.useRecaptchaNet||!1,n.useEnterprise||!1,n.renderParameters?n.renderParameters:{},n.customUrl).then((function(){e.setLoadingState(Ce.LOADED);var o=a.doExplicitRender(grecaptcha,t,n.explicitRenderParameters?n.explicitRenderParameters:{},n.useEnterprise||!1),r=new Ee.ReCaptchaInstance(t,o,grecaptcha);e.successfulLoadingConsumers.forEach((function(e){return e(r)})),e.successfulLoadingConsumers=[],n.autoHideBadge&&r.hideBadge(),e.instance=r,l(r)})).catch((function(t){e.errorLoadingRunnable.forEach((function(e){return e(t)})),e.errorLoadingRunnable=[],o(t)}))}))},e.getInstance=function(){return e.instance},e.setLoadingState=function(t){e.loadingState=t},e.getLoadingState=function(){return null===e.loadingState?Ce.NOT_LOADED:e.loadingState},e.prototype.loadScript=function(t,n,a,l,o){var r=this;void 0===n&&(n=!1),void 0===a&&(a=!1),void 0===l&&(l={}),void 0===o&&(o="");var i=document.createElement("script");i.setAttribute("recaptcha-v3-script","");var c="https://www.google.com/recaptcha/api.js";n&&(c=a?"https://recaptcha.net/recaptcha/enterprise.js":"https://recaptcha.net/recaptcha/api.js"),a&&(c="https://www.google.com/recaptcha/enterprise.js"),o&&(c=o),l.render&&(l.render=void 0);var s=this.buildQueryString(l);return i.src=c+"?render=explicit"+s,new Promise((function(t,n){i.addEventListener("load",r.waitForScriptToLoad((function(){t(i)}),a),!1),i.onerror=function(t){e.setLoadingState(Ce.NOT_LOADED),n(t)},document.head.appendChild(i)}))},e.prototype.buildQueryString=function(e){return Object.keys(e).length<1?"":"&"+Object.keys(e).filter((function(t){return!!e[t]})).map((function(t){return t+"="+e[t]})).join("&")},e.prototype.waitForScriptToLoad=function(t,n){var a=this;return function(){void 0===window.grecaptcha?setTimeout((function(){a.waitForScriptToLoad(t,n)}),e.SCRIPT_LOAD_DELAY):n?window.grecaptcha.enterprise.ready((function(){t()})):window.grecaptcha.ready((function(){t()}))}},e.prototype.doExplicitRender=function(e,t,n,a){var l={sitekey:t,badge:n.badge,size:n.size,tabindex:n.tabindex};return n.container?a?e.enterprise.render(n.container,l):e.render(n.container,l):a?e.enterprise.render(l):e.render(l)},e.loadingState=null,e.instance=null,e.instanceSiteKey=null,e.successfulLoadingConsumers=[],e.errorLoadingRunnable=[],e.SCRIPT_LOAD_DELAY=25,e}();fe.load=Be.load,fe.getInstance=Be.getInstance,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ReCaptchaInstance=e.getInstance=e.load=void 0;var t=fe;Object.defineProperty(e,"load",{enumerable:!0,get:function(){return t.load}}),Object.defineProperty(e,"getInstance",{enumerable:!0,get:function(){return t.getInstance}});var n=ye;Object.defineProperty(e,"ReCaptchaInstance",{enumerable:!0,get:function(){return n.ReCaptchaInstance}})}(he);const $e={};let Le=null;const Ve=()=>Le??(Le=t.useStorage("WALINE_USER",{})),Ne={key:0,class:"wl-reaction"},Se=["textContent"],xe={class:"wl-reaction-list"},Re=["onClick"],je={class:"wl-reaction-img"},Ie=["src","alt"],Ae=["textContent"],ze=["textContent"];var Ue=e.defineComponent({__name:"ArticleReaction",setup(t,{expose:n}){n();const a=ve(),l=e.inject("config"),o=e.ref(-1),r=e.ref([]),i=e.computed((()=>l.value.locale)),c=e.computed((()=>l.value.reaction.length>0)),s=e.computed((()=>{const{reaction:e,path:t}=l.value;return e.map(((e,n)=>({icon:e,desc:i.value[`reaction${n}`],active:a.value[t]===n})))}));let u;return e.onMounted((()=>{e.watch((()=>[l.value.serverURL,l.value.path]),(()=>{(async()=>{if(c.value){const{serverURL:e,lang:t,path:n,reaction:a}=l.value,o=new AbortController;u=o.abort.bind(o);const i=await V({serverURL:e,lang:t,paths:[n],type:a.map(((e,t)=>`reaction${t}`)),signal:o.signal});if(Array.isArray(i)||"number"==typeof i)return;r.value=a.map(((e,t)=>i[`reaction${t}`]))}})()}),{immediate:!0})})),e.onUnmounted((()=>u?.())),(t,n)=>s.value.length?(e.openBlock(),e.createElementBlock("div",Ne,[e.createElementVNode("div",{class:"wl-reaction-title",textContent:e.toDisplayString(i.value.reactionTitle)},null,8,Se),e.createElementVNode("ul",xe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(({active:t,icon:n,desc:i},c)=>(e.openBlock(),e.createElementBlock("li",{key:c,class:e.normalizeClass(["wl-reaction-item",{active:t}]),onClick:e=>(async e=>{if(-1===o.value){const{serverURL:t,lang:n,path:i}=l.value,c=a.value[i];o.value=e,void 0!==c&&(await N({serverURL:t,lang:n,path:i,type:`reaction${c}`,action:"desc"}),r.value[c]=Math.max(r.value[c]-1,0)),c!==e&&(await N({serverURL:t,lang:n,path:i,type:`reaction${e}`}),r.value[e]=(r.value[e]||0)+1),c===e?delete a.value[i]:a.value[i]=e,o.value=-1}})(c)},[e.createElementVNode("div",je,[e.createElementVNode("img",{src:n,alt:i},null,8,Ie),o.value===c?(e.openBlock(),e.createBlock(e.unref(se),{key:0,class:"wl-reaction-loading"})):(e.openBlock(),e.createElementBlock("div",{key:1,class:"wl-reaction-votes",textContent:e.toDisplayString(r.value[c]||0)},null,8,Ae))]),e.createElementVNode("div",{class:"wl-reaction-text",textContent:e.toDisplayString(i)},null,8,ze)],10,Re)))),128))])])):e.createCommentVNode("v-if",!0)}}),_e=(e,t)=>{const n=e.__vccOpts||e;for(const[e,a]of t)n[e]=a;return n},De=_e(Ue,[["__file","ArticleReaction.vue"]]);const Me=["data-index"],Te=["src","title","onClick"];var He=_e(e.defineComponent({__name:"ImageWall",props:{items:{default:()=>[]},columnWidth:{default:300},gap:{default:0}},emits:["insert"],setup(t,{expose:n}){const a=t;n();let l=null;const o=e.ref(null),r=e.ref({}),i=e.ref([]),c=()=>{const e=Math.floor((o.value.getBoundingClientRect().width+a.gap)/(a.columnWidth+a.gap));return e>0?e:1},s=async t=>{if(t>=a.items.length)return;await e.nextTick();const n=Array.from(o.value?.children||[]).reduce(((e,t)=>t.getBoundingClientRect().height<e.getBoundingClientRect().height?t:e));i.value[Number(n.dataset.index)].push(t),await s(t+1)},u=async(e=!1)=>{if(i.value.length===c()&&!e)return;var t;i.value=(t=c(),new Array(t).fill(null).map((()=>[])));const n=window.scrollY;await s(0),window.scrollTo({top:n})},m=e=>{r.value[e.target.src]=!0};return e.onMounted((()=>{u(!0),l=new ResizeObserver((()=>{u()})),l.observe(o.value),e.watch((()=>[a.items]),(()=>{r.value={},u(!0)})),e.watch((()=>[a.columnWidth,a.gap]),(()=>{u()}))})),e.onBeforeUnmount((()=>l.unobserve(o.value))),(t,n)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wall",ref:o,class:"wl-gallery",style:e.normalizeStyle({gap:`${t.gap}px`})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,((n,a)=>(e.openBlock(),e.createElementBlock("div",{key:a,class:"wl-gallery-column","data-index":a,style:e.normalizeStyle({gap:`${t.gap}px`})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n,(n=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:n},[r.value[t.items[n].src]?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createBlock(e.unref(se),{key:0,size:36,style:{margin:"20px auto"}})),e.createElementVNode("img",{class:"wl-gallery-item",src:t.items[n].src,title:t.items[n].title,loading:"lazy",onLoad:m,onClick:e=>t.$emit("insert",`![](${t.items[n].src})`)},null,40,Te)],64)))),128))],12,Me)))),128))],4))}}),[["__file","ImageWall.vue"]]);const Oe={class:"wl-comment"},Pe={key:0,class:"wl-login-info"},Fe={class:"wl-avatar"},We=["title"],qe=["title"],Ke=["src"],Ge=["title","textContent"],Ze={class:"wl-panel"},Je=["for","textContent"],Ye=["id","onUpdate:modelValue","name","type"],Xe=["placeholder"],Qe={class:"wl-preview"},et=e.createElementVNode("hr",null,null,-1),tt=["innerHTML"],nt={class:"wl-footer"},at={class:"wl-actions"},lt={href:"https://guides.github.com/features/mastering-markdown/",title:"Markdown Guide","aria-label":"Markdown is supported",class:"wl-action",target:"_blank",rel:"noopener noreferrer"},ot=["title"],rt=["title"],it=["title"],ct=["title"],st={class:"wl-info"},ut=e.createElementVNode("div",{class:"wl-captcha-container"},null,-1),mt={class:"wl-text-number"},dt={key:0},pt=["textContent"],vt=["textContent"],gt=["disabled"],ht=["placeholder"],ft={key:1,class:"wl-loading"},yt={key:0,class:"wl-tab-wrapper"},kt=["title","onClick"],wt=["src","alt"],bt={key:0,class:"wl-tabs"},Ct=["onClick"],Et=["src","alt","title"],Bt=["title"];var $t=e.defineComponent({__name:"CommentBox",props:{edit:{default:null},rootId:{default:""},replyId:{default:""},replyUser:{default:""}},emits:["log","cancelEdit","cancelReply","submit"],setup(a,{expose:l,emit:o}){const r=a;l();const i=e.inject("config"),c=t.useStorage("WALINE_COMMENT_BOX_EDITOR",""),s=t.useStorage("WALINE_USER_META",{nick:"",mail:"",link:""}),u=Ve(),m=e.ref({}),d=e.ref(null),p=e.ref(null),v=e.ref(null),g=e.ref(null),h=e.ref(null),f=e.ref(null),y=e.ref(null),k=e.ref({tabs:[],map:{}}),w=e.ref(0),b=e.ref(!1),C=e.ref(!1),E=e.ref(!1),B=e.ref(""),$=e.ref(0),L=e.reactive({loading:!0,list:[]}),V=e.ref(0),N=e.ref(!1),x=e.ref(""),j=e.ref(!1),I=e.ref(!1),A=e.computed((()=>i.value.locale)),z=e.computed((()=>Boolean(u.value?.token))),U=e.computed((()=>!1!==i.value.imageUploader)),_=e=>{const t=d.value,n=t.selectionStart,a=t.selectionEnd||0,l=t.scrollTop;c.value=t.value.substring(0,n)+e+t.value.substring(a,t.value.length),t.focus(),t.selectionStart=n+e.length,t.selectionEnd=n+e.length,t.scrollTop=l},D=e=>{const t=e.key;(e.ctrlKey||e.metaKey)&&"Enter"===t&&K()},O=e=>{const t=`![${i.value.locale.uploading} ${e.name}]()`;return _(t),j.value=!0,Promise.resolve().then((()=>i.value.imageUploader(e))).then((n=>{c.value=c.value.replace(t,`\r\n![${e.name}](${n})`)})).catch((e=>{alert(e.message),c.value=c.value.replace(t,"")})).then((()=>{j.value=!1}))},P=e=>{if(e.dataTransfer?.items){const t=W(e.dataTransfer.items);t&&U.value&&(O(t),e.preventDefault())}},F=e=>{if(e.clipboardData){const t=W(e.clipboardData.items);t&&U.value&&O(t)}},q=()=>{const e=p.value;e.files&&U.value&&O(e.files[0]).then((()=>{e.value=""}))},K=async()=>{const{serverURL:e,lang:n,login:a,wordLimit:l,requiredMeta:p,recaptchaV3Key:v,turnstileKey:g}=i.value,h=await(async()=>{if(!navigator)return"";const{userAgentData:e}=navigator;let t=navigator.userAgent;if(!e||"Windows"!==e.platform)return t;const{platformVersion:n}=await e.getHighEntropyValues(["platformVersion"]);return n?(parseInt(n.split(".")[0])>=13&&(t=t.replace("Windows NT 10.0","Windows NT 11.0")),t):t})(),f={comment:x.value,nick:s.value.nick,mail:s.value.mail,link:s.value.link,url:i.value.path,ua:h};if(u.value?.token)f.nick=u.value.display_name,f.mail=u.value.email,f.link=u.value.url;else{if("force"===a)return;if(p.indexOf("nick")>-1&&!f.nick)return m.value.nick?.focus(),alert(A.value.nickError);if(p.indexOf("mail")>-1&&!f.mail||f.mail&&(y=f.mail,!M.test(y)))return m.value.mail?.focus(),alert(A.value.mailError);f.nick||(f.nick=A.value.anonymous)}var y;if(f.comment){if(!N.value)return alert(A.value.wordHint.replace("$0",l[0].toString()).replace("$1",l[1].toString()).replace("$2",$.value.toString()));f.comment=Z(f.comment,k.value.map),r.replyId&&r.rootId&&(f.pid=r.replyId,f.rid=r.rootId,f.at=r.replyUser),j.value=!0;try{v&&(f.recaptchaV3=await(e=>{const t=$e[e]??($e[e]=he.load(e,{useRecaptchaNet:!0,autoHideBadge:!0}));return{execute:e=>t.then((t=>t.execute(e)))}})(v).execute("social")),g&&(f.turnstile=await(w=g,{execute:async e=>{const{load:n}=t.useScriptTag("https://challenges.cloudflare.com/turnstile/v0/api.js",void 0,{async:!1});await n();const a=window?.turnstile;return new Promise((t=>{a?.ready((()=>{a?.render(".wl-captcha-container",{sitekey:w,action:e,size:"compact",callback:t})}))}))}}).execute("social"));const a={serverURL:e,lang:n,token:u.value?.token,comment:f},l=await(r.edit?S({objectId:r.edit.objectId,...a}):(({serverURL:e,lang:t,token:n,comment:a})=>{const l={"Content-Type":"application/json"};return n&&(l.Authorization=`Bearer ${n}`),fetch(`${e}/comment?lang=${t}`,{method:"POST",headers:l,body:JSON.stringify(a)}).then((e=>e.json()))})(a));if(j.value=!1,l.errmsg)return alert(l.errmsg);o("submit",l.data),c.value="",B.value="",r.replyId&&o("cancelReply"),r.edit?.objectId&&o("cancelEdit")}catch(e){j.value=!1,alert(e.message)}var w}else d.value?.focus()},G=e=>{e.preventDefault();const{lang:t,serverURL:n}=i.value;(({lang:e,serverURL:t})=>{const n=(window.innerWidth-450)/2,a=(window.innerHeight-450)/2,l=window.open(`${t}/ui/login?lng=${encodeURIComponent(e)}`,"_blank",`width=450,height=450,left=${n},top=${a},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`);return l?.postMessage({type:"TOKEN",data:null},"*"),new Promise((e=>{const t=({data:n})=>{n&&"object"==typeof n&&"userInfo"===n.type&&n.data.token&&(l?.close(),window.removeEventListener("message",t),e(n.data))};window.addEventListener("message",t)}))})({serverURL:n,lang:t}).then((e=>{u.value=e,(e.remember?localStorage:sessionStorage).setItem("WALINE_USER",JSON.stringify(e)),o("log")}))},Y=()=>{u.value={},localStorage.setItem("WALINE_USER","null"),sessionStorage.setItem("WALINE_USER","null"),o("log")},X=e=>{e.preventDefault();const{lang:t,serverURL:n}=i.value,a=(window.innerWidth-800)/2,l=(window.innerHeight-800)/2,o=new URLSearchParams({lng:t,token:u.value.token}),r=window.open(`${n}/ui/profile?${o.toString()}`,"_blank",`width=800,height=800,left=${a},top=${l},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`);r?.postMessage({type:"TOKEN",data:u.value.token},"*")},ee=e=>{v.value?.contains(e.target)||g.value?.contains(e.target)||(b.value=!1),h.value?.contains(e.target)||f.value?.contains(e.target)||(C.value=!1)},ae=async e=>{const{scrollTop:t,clientHeight:n,scrollHeight:a}=e.target,l=(n+t)/a,o=i.value.search,r=y.value?.value||"";if(l<.9||L.loading||I.value)return;L.loading=!0;(o.more&&L.list.length?await o.more(r,L.list.length):await o.search(r)).length?L.list=[...L.list,...o.more&&L.list.length?await o.more(r,L.list.length):await o.search(r)]:I.value=!0,L.loading=!1,setTimeout((()=>{e.target.scrollTop=t}),50)},re=t.useDebounceFn((e=>{L.list=[],I.value=!1,ae(e)}),300);e.watch([i,$],(([e,t])=>{const{wordLimit:n}=e;n?t<n[0]&&0!==n[0]?(V.value=n[0],N.value=!1):t>n[1]?(V.value=n[1],N.value=!1):(V.value=n[1],N.value=!0):(V.value=0,N.value=!0)}),{immediate:!0});const ie=({data:e})=>{e&&"profile"===e.type&&(u.value={...u.value,...e.data},[localStorage,sessionStorage].filter((e=>e.getItem("WALINE_USER"))).forEach((e=>e.setItem("WALINE_USER",JSON.stringify(u)))))};return e.onMounted((()=>{document.body.addEventListener("click",ee),window.addEventListener("message",ie),r.edit?.objectId&&(c.value=r.edit.orig),e.watch(C,(async e=>{if(!e)return;const t=i.value.search;y.value&&(y.value.value=""),L.loading=!0,L.list=t.default?await t.default():await t.search(""),L.loading=!1})),e.watch((()=>c.value),(e=>{const{highlighter:t,texRenderer:a}=i.value;x.value=e,B.value=J(e,{emojiMap:k.value.map,highlighter:t,texRenderer:a}),$.value=(e=>((e=>e.match(/[\w\d\s,.\u00C0-\u024F\u0400-\u04FF]+/giu))(e)?.reduce(((e,t)=>e+(""===t.trim()?0:t.trim().split(/\s+/u).length)),0)||0)+((e=>e.match(/[\u4E00-\u9FD5]/gu))(e)?.length||0))(e),e?n(d.value):n.destroy(d.value)}),{immediate:!0}),e.watch((()=>i.value.emoji),(e=>{return(t=e,Promise.all(t.map((e=>"string"==typeof e?T(R(e)):Promise.resolve(e)))).then((e=>{const t={tabs:[],map:{}};return e.forEach((e=>{const{name:n,folder:a,icon:l,prefix:o,type:r,items:i}=e;t.tabs.push({name:n,icon:H(l,a,o,r),items:i.map((e=>{const n=`${o||""}${e}`;return t.map[n]=H(e,a,o,r),n}))})})),t}))).then((e=>{k.value=e}));var t}),{immediate:!0})})),e.onUnmounted((()=>{document.body.removeEventListener("click",ee),window.removeEventListener("message",ie)})),(t,n)=>(e.openBlock(),e.createElementBlock("div",Oe,["disable"!==e.unref(i).login&&z.value&&!t.edit?.objectId?(e.openBlock(),e.createElementBlock("div",Pe,[e.createElementVNode("div",Fe,[e.createElementVNode("button",{type:"submit",class:"wl-logout-btn",title:A.value.logout,onClick:Y},[e.createVNode(e.unref(Q),{size:14})],8,We),e.createElementVNode("a",{href:"#",class:"wl-login-nick","aria-label":"Profile",title:A.value.profile,onClick:X},[e.createElementVNode("img",{src:e.unref(u).avatar,alt:"avatar"},null,8,Ke)],8,qe)]),e.createElementVNode("a",{href:"#",class:"wl-login-nick","aria-label":"Profile",title:A.value.profile,onClick:X,textContent:e.toDisplayString(e.unref(u).display_name)},null,8,Ge)])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",Ze,["force"!==e.unref(i).login&&e.unref(i).meta.length&&!z.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["wl-header",`item${e.unref(i).meta.length}`])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(i).meta,(t=>(e.openBlock(),e.createElementBlock("div",{key:t,class:"wl-header-item"},[e.createElementVNode("label",{for:`wl-${t}`,textContent:e.toDisplayString(A.value[t]+(e.unref(i).requiredMeta.includes(t)||!e.unref(i).requiredMeta.length?"":`(${A.value.optional})`))},null,8,Je),e.withDirectives(e.createElementVNode("input",{id:`wl-${t}`,ref_for:!0,ref:e=>{e&&(m.value[t]=e)},"onUpdate:modelValue":n=>e.unref(s)[t]=n,class:e.normalizeClass(["wl-input",`wl-${t}`]),name:t,type:"mail"===t?"email":"text"},null,10,Ye),[[e.vModelDynamic,e.unref(s)[t]]])])))),128))],2)):e.createCommentVNode("v-if",!0),e.withDirectives(e.createElementVNode("textarea",{id:"wl-edit",ref_key:"editorRef",ref:d,"onUpdate:modelValue":n[0]||(n[0]=t=>e.isRef(c)?c.value=t:null),class:"wl-editor",placeholder:t.replyUser?`@${t.replyUser}`:A.value.placeholder,onKeydown:D,onDrop:P,onPaste:F},null,40,Xe),[[e.vModelText,e.unref(c)]]),e.withDirectives(e.createElementVNode("div",Qe,[et,e.createElementVNode("h4",null,e.toDisplayString(A.value.preview)+":",1),e.createElementVNode("div",{class:"wl-content",innerHTML:B.value},null,8,tt)],512),[[e.vShow,E.value]]),e.createElementVNode("div",nt,[e.createElementVNode("div",at,[e.createElementVNode("a",lt,[e.createVNode(e.unref(oe))]),e.withDirectives(e.createElementVNode("button",{ref_key:"emojiButtonRef",ref:v,type:"button",class:e.normalizeClass(["wl-action",{active:b.value}]),title:A.value.emoji,onClick:n[1]||(n[1]=e=>b.value=!b.value)},[e.createVNode(e.unref(te))],10,ot),[[e.vShow,k.value.tabs.length]]),e.unref(i).search?(e.openBlock(),e.createElementBlock("button",{key:0,ref_key:"gifButtonRef",ref:h,type:"button",class:e.normalizeClass(["wl-action",{active:C.value}]),title:A.value.gif,onClick:n[2]||(n[2]=e=>C.value=!C.value)},[e.createVNode(e.unref(ue))],10,rt)):e.createCommentVNode("v-if",!0),e.createElementVNode("input",{id:"wl-image-upload",ref_key:"imageUploadRef",ref:p,class:"upload",type:"file",accept:".png,.jpg,.jpeg,.webp,.bmp,.gif",onChange:q},null,544),U.value?(e.openBlock(),e.createElementBlock("label",{key:1,for:"wl-image-upload",class:"wl-action",title:A.value.uploadImage},[e.createVNode(e.unref(ne))],8,it)):e.createCommentVNode("v-if",!0),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["wl-action",{active:E.value}]),title:A.value.preview,onClick:n[3]||(n[3]=e=>E.value=!E.value)},[e.createVNode(e.unref(le))],10,ct)]),e.createElementVNode("div",st,[ut,e.createElementVNode("div",mt,[e.createTextVNode(e.toDisplayString($.value)+" ",1),e.unref(i).wordLimit?(e.openBlock(),e.createElementBlock("span",dt,[e.createTextVNode("  /  "),e.createElementVNode("span",{class:e.normalizeClass({illegal:!N.value}),textContent:e.toDisplayString(V.value)},null,10,pt)])):e.createCommentVNode("v-if",!0),e.createTextVNode("  "+e.toDisplayString(A.value.word),1)]),"disable"===e.unref(i).login||z.value?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"wl-btn",onClick:G,textContent:e.toDisplayString(A.value.login)},null,8,vt)),"force"!==e.unref(i).login||z.value?(e.openBlock(),e.createElementBlock("button",{key:1,type:"submit",class:"primary wl-btn",title:"Cmd|Ctrl + Enter",disabled:j.value,onClick:K},[j.value?(e.openBlock(),e.createBlock(e.unref(se),{key:0,size:16})):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(A.value.submit),1)],64))],8,gt)):e.createCommentVNode("v-if",!0)]),e.createElementVNode("div",{ref_key:"gifPopupRef",ref:f,class:e.normalizeClass(["wl-gif-popup",{display:C.value}])},[e.createElementVNode("input",{ref_key:"gifSearchInputRef",ref:y,type:"text",placeholder:A.value.gifSearchPlaceholder,onInput:n[4]||(n[4]=(...t)=>e.unref(re)&&e.unref(re)(...t))},null,40,ht),L.list.length?(e.openBlock(),e.createBlock(He,{key:0,items:L.list,"column-width":200,gap:6,onInsert:n[5]||(n[5]=e=>_(e)),onScroll:ae},null,8,["items"])):e.createCommentVNode("v-if",!0),L.loading?(e.openBlock(),e.createElementBlock("div",ft,[e.createVNode(e.unref(se),{size:30})])):e.createCommentVNode("v-if",!0)],2),e.createElementVNode("div",{ref_key:"emojiPopupRef",ref:g,class:e.normalizeClass(["wl-emoji-popup",{display:b.value}])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value.tabs,((t,n)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:t.name},[n===w.value?(e.openBlock(),e.createElementBlock("div",yt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(t=>(e.openBlock(),e.createElementBlock("button",{key:t,type:"button",title:t,onClick:e=>_(`:${t}:`)},[b.value?(e.openBlock(),e.createElementBlock("img",{key:0,class:"wl-emoji",src:k.value.map[t],alt:t,loading:"lazy",referrerPolicy:"no-referrer"},null,8,wt)):e.createCommentVNode("v-if",!0)],8,kt)))),128))])):e.createCommentVNode("v-if",!0)],64)))),128)),k.value.tabs.length>1?(e.openBlock(),e.createElementBlock("div",bt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value.tabs,((t,n)=>(e.openBlock(),e.createElementBlock("button",{key:t.name,type:"button",class:e.normalizeClass(["wl-tab",{active:w.value===n}]),onClick:e=>w.value=n},[e.createElementVNode("img",{class:"wl-emoji",src:t.icon,alt:t.name,title:t.name,loading:"lazy",referrerPolicy:"no-referrer"},null,8,Et)],10,Ct)))),128))])):e.createCommentVNode("v-if",!0)],2)])]),t.replyId||t.edit?.objectId?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"wl-close",title:A.value.cancelReply,onClick:n[6]||(n[6]=e=>t.$emit(t.replyId?"cancelReply":"cancelEdit"))},[e.createVNode(e.unref(Q),{size:24})],8,Bt)):e.createCommentVNode("v-if",!0)]))}}),Lt=_e($t,[["__file","CommentBox.vue"]]);const Vt=["id"],Nt={class:"wl-user","aria-hidden":"true"},St=["src"],xt={class:"wl-card"},Rt={class:"wl-head"},jt=["href"],It={key:1,class:"wl-nick"},At=["textContent"],zt=["textContent"],Ut=["textContent"],_t=["textContent"],Dt=["textContent"],Mt={class:"wl-comment-actions"},Tt=["title"],Ht=["textContent"],Ot=["title"],Pt={class:"wl-meta","aria-hidden":"true"},Ft=["data-value","textContent"],Wt=["data-value","textContent"],qt=["data-value","textContent"],Kt=["innerHTML"],Gt={key:1,class:"wl-admin-actions"},Zt={class:"wl-comment-status"},Jt=["disabled","onClick","textContent"],Yt={key:3,class:"wl-quote"};var Xt=_e(e.defineComponent({__name:"CommentCard",props:{comment:{},edit:{default:null},rootId:{},reply:{default:null}},emits:["log","submit","delete","edit","like","status","sticky","reply"],setup(n){const a=n,l=["approved","waiting","spam"],o=e.inject("config"),r=de(),i=t.useNow(),c=Ve(),s=e.computed((()=>o.value.locale)),u=e.computed((()=>{const{link:e}=a.comment;return e?j(e)?e:`https://${e}`:""})),m=e.computed((()=>r.value.includes(a.comment.objectId))),d=e.computed((()=>D(a.comment.insertedAt,i.value,s.value))),p=e.computed((()=>"administrator"===c.value.type)),v=e.computed((()=>a.comment.user_id&&c.value.objectId===a.comment.user_id)),g=e.computed((()=>a.comment.objectId===a.reply?.objectId)),h=e.computed((()=>a.comment.objectId===a.edit?.objectId));return(t,n)=>{const a=e.resolveComponent("CommentCard",!0);return e.openBlock(),e.createElementBlock("div",{id:t.comment.objectId,class:"wl-card-item"},[e.createElementVNode("div",Nt,[t.comment.avatar?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.comment.avatar},null,8,St)):e.createCommentVNode("v-if",!0),t.comment.type?(e.openBlock(),e.createBlock(e.unref(ce),{key:1})):e.createCommentVNode("v-if",!0)]),e.createElementVNode("div",xt,[e.createElementVNode("div",Rt,[u.value?(e.openBlock(),e.createElementBlock("a",{key:0,class:"wl-nick",href:u.value,target:"_blank",rel:"nofollow noopener noreferrer"},e.toDisplayString(t.comment.nick),9,jt)):(e.openBlock(),e.createElementBlock("span",It,e.toDisplayString(t.comment.nick),1)),"administrator"===t.comment.type?(e.openBlock(),e.createElementBlock("span",{key:2,class:"wl-badge",textContent:e.toDisplayString(s.value.admin)},null,8,At)):e.createCommentVNode("v-if",!0),t.comment.label?(e.openBlock(),e.createElementBlock("span",{key:3,class:"wl-badge",textContent:e.toDisplayString(t.comment.label)},null,8,zt)):e.createCommentVNode("v-if",!0),t.comment.sticky?(e.openBlock(),e.createElementBlock("span",{key:4,class:"wl-badge",textContent:e.toDisplayString(s.value.sticky)},null,8,Ut)):e.createCommentVNode("v-if",!0),void 0!==t.comment.level&&t.comment.level>=0?(e.openBlock(),e.createElementBlock("span",{key:5,class:e.normalizeClass(`wl-badge level${t.comment.level}`),textContent:e.toDisplayString(s.value[`level${t.comment.level}`]||`Level ${t.comment.level}`)},null,10,_t)):e.createCommentVNode("v-if",!0),e.createElementVNode("span",{class:"wl-time",textContent:e.toDisplayString(d.value)},null,8,Dt),e.createElementVNode("div",Mt,[p.value||v.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"wl-edit",onClick:n[0]||(n[0]=()=>t.$emit("edit",t.comment))},[e.createVNode(e.unref(ie))])):e.createCommentVNode("v-if",!0),p.value||v.value?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"wl-delete",onClick:n[1]||(n[1]=e=>t.$emit("delete",t.comment))},[e.createVNode(e.unref(ee))])):e.createCommentVNode("v-if",!0),e.createElementVNode("button",{type:"button",class:"wl-like",title:m.value?s.value.cancelLike:s.value.like,onClick:n[2]||(n[2]=e=>t.$emit("like",t.comment))},[e.createVNode(e.unref(ae),{active:m.value},null,8,["active"]),"like"in t.comment?(e.openBlock(),e.createElementBlock("span",{key:0,textContent:e.toDisplayString(t.comment.like)},null,8,Ht)):e.createCommentVNode("v-if",!0)],8,Tt),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["wl-reply",{active:g.value}]),title:g.value?s.value.cancelReply:s.value.reply,onClick:n[3]||(n[3]=e=>t.$emit("reply",g.value?null:t.comment))},[e.createVNode(e.unref(re))],10,Ot)])]),e.createElementVNode("div",Pt,[t.comment.addr?(e.openBlock(),e.createElementBlock("span",{key:0,class:"wl-addr","data-value":t.comment.addr,textContent:e.toDisplayString(t.comment.addr)},null,8,Ft)):e.createCommentVNode("v-if",!0),t.comment.browser?(e.openBlock(),e.createElementBlock("span",{key:1,class:"wl-browser","data-value":t.comment.browser,textContent:e.toDisplayString(t.comment.browser)},null,8,Wt)):e.createCommentVNode("v-if",!0),t.comment.os?(e.openBlock(),e.createElementBlock("span",{key:2,class:"wl-os","data-value":t.comment.os,textContent:e.toDisplayString(t.comment.os)},null,8,qt)):e.createCommentVNode("v-if",!0)]),h.value?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createElementBlock("div",{key:0,class:"wl-content",innerHTML:t.comment.comment},null,8,Kt)),p.value&&!h.value?(e.openBlock(),e.createElementBlock("div",Gt,[e.createElementVNode("span",Zt,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(l,(n=>e.createElementVNode("button",{key:n,type:"submit",class:e.normalizeClass(`wl-btn wl-${n}`),disabled:t.comment.status===n,onClick:e=>t.$emit("status",{status:n,comment:t.comment}),textContent:e.toDisplayString(s.value[n])},null,10,Jt))),64))]),p.value&&!t.comment.rid?(e.openBlock(),e.createElementBlock("button",{key:0,type:"submit",class:"wl-btn wl-sticky",onClick:n[4]||(n[4]=e=>t.$emit("sticky",t.comment))},e.toDisplayString(t.comment.sticky?s.value.unsticky:s.value.sticky),1)):e.createCommentVNode("v-if",!0)])):e.createCommentVNode("v-if",!0),g.value||h.value?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass({"wl-reply-wrapper":g.value,"wl-edit-wrapper":h.value})},[e.createVNode(Lt,{edit:t.edit,"reply-id":t.reply?.objectId,"reply-user":t.comment.nick,"root-id":t.rootId,onLog:n[5]||(n[5]=e=>t.$emit("log")),onCancelReply:n[6]||(n[6]=e=>t.$emit("reply",null)),onCancelEdit:n[7]||(n[7]=e=>t.$emit("edit",null)),onSubmit:n[8]||(n[8]=e=>t.$emit("submit",e))},null,8,["edit","reply-id","reply-user","root-id"])],2)):e.createCommentVNode("v-if",!0),t.comment.children?(e.openBlock(),e.createElementBlock("div",Yt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.comment.children,(l=>(e.openBlock(),e.createBlock(a,{key:l.objectId,comment:l,reply:t.reply,edit:t.edit,"root-id":t.rootId,onLog:n[9]||(n[9]=e=>t.$emit("log")),onDelete:n[10]||(n[10]=e=>t.$emit("delete",e)),onEdit:n[11]||(n[11]=e=>t.$emit("edit",e)),onLike:n[12]||(n[12]=e=>t.$emit("like",e)),onReply:n[13]||(n[13]=e=>t.$emit("reply",e)),onStatus:n[14]||(n[14]=e=>t.$emit("status",e)),onSticky:n[15]||(n[15]=e=>t.$emit("sticky",e)),onSubmit:n[16]||(n[16]=e=>t.$emit("submit",e))},null,8,["comment","reply","edit","root-id"])))),128))])):e.createCommentVNode("v-if",!0)])],8,Vt)}}}),[["__file","CommentCard.vue"]]);const Qt="2.15.8",en={"data-waline":""},tn={class:"wl-meta-head"},nn={class:"wl-count"},an=["textContent"],ln={class:"wl-sort"},on=["onClick"],rn={class:"wl-cards"},cn={key:1,class:"wl-operation"},sn=["textContent"],un={key:0,class:"wl-loading"},mn=["textContent"],dn={key:2,class:"wl-operation"},pn=["textContent"],vn={key:3,class:"wl-power"},gn=e.createElementVNode("a",{href:"https://github.com/walinejs/waline",target:"_blank",rel:"noopener noreferrer"}," Waline ",-1);var hn=e.defineComponent({__name:"WalineComment",props:["serverURL","path","meta","requiredMeta","dark","commentSorting","lang","locale","pageSize","wordLimit","emoji","login","highlighter","texRenderer","imageUploader","search","copyright","recaptchaV3Key","turnstileKey","reaction"],setup(n){const a=n,l={latest:"insertedAt_desc",oldest:"insertedAt_asc",hottest:"like_desc"},d=Object.keys(l),p=Ve(),v=de(),h=e.ref("loading"),f=e.ref(0),y=e.ref(1),k=e.ref(0),w=e.computed((()=>(({serverURL:e,path:t=location.pathname,lang:n=("undefined"==typeof navigator?"en-US":navigator.language),locale:a,emoji:l=r,meta:d=["nick","mail","link"],requiredMeta:p=[],dark:v=!1,pageSize:h=10,wordLimit:f,imageUploader:y,highlighter:k,texRenderer:w,copyright:b=!0,login:C="enable",search:E,reaction:$,recaptchaV3Key:L="",turnstileKey:V="",commentSorting:N="latest",...S})=>({serverURL:I(e),path:x(t),locale:{...B[n]||B[i],..."object"==typeof a?a:{}},wordLimit:A(f),meta:o(d),requiredMeta:o(p),imageUploader:z(y,s),highlighter:z(k,g),texRenderer:z(w,u),lang:Object.keys(B).includes(n)?n:"en-US",dark:v,emoji:"boolean"==typeof l?l?r:[]:l,pageSize:h,login:C,copyright:b,search:!1!==E&&("object"==typeof E?E:m(n)),recaptchaV3Key:L,turnstileKey:V,reaction:Array.isArray($)?$:!0===$?c:[],commentSorting:N,...S}))(a))),b=e.ref(w.value.commentSorting),C=e.ref([]),E=e.ref(null),$=e.ref(null),V=e.computed((()=>{return"string"==typeof(e=w.value.dark)?"auto"===e?`@media(prefers-color-scheme:dark){body${U}}`:`${e}${U}`:!0===e?`:root${U}`:"";var e})),N=e.computed((()=>w.value.locale));let R;t.useStyleTag(V,{id:"waline-darkmode"});const j=e=>{const{serverURL:t,path:n,pageSize:a}=w.value,o=new AbortController;h.value="loading",R?.(),(({serverURL:e,lang:t,path:n,page:a,pageSize:l,sortBy:o,signal:r,token:i})=>{const c={};return i&&(c.Authorization=`Bearer ${i}`),fetch(`${e}/comment?path=${encodeURIComponent(n)}&pageSize=${l}&page=${a}&lang=${t}&sortBy=${o}`,{signal:r,headers:c}).then((e=>e.json())).then((e=>L(e,"Get comment data")))})({serverURL:t,lang:w.value.lang,path:n,pageSize:a,sortBy:l[b.value],page:e,signal:o.signal,token:p.value?.token}).then((t=>{h.value="success",f.value=t.count,C.value.push(...t.data),y.value=e,k.value=t.totalPages})).catch((e=>{"AbortError"!==e.name&&(console.error(e.message),h.value="error")})),R=o.abort.bind(o)},_=()=>j(y.value+1),D=()=>{f.value=0,C.value=[],j(1)},M=e=>{E.value=e},T=e=>{$.value=e},H=e=>{if($.value)$.value.comment=e.comment,$.value.orig=e.orig;else if(e.rid){const t=C.value.find((({objectId:t})=>t===e.rid));if(!t)return;Array.isArray(t.children)||(t.children=[]),t.children.push(e)}else C.value.unshift(e),f.value+=1},O=async({comment:e,status:t})=>{if(e.status===t)return;const{serverURL:n,lang:a}=w.value;await S({serverURL:n,lang:a,token:p.value?.token,objectId:e.objectId,comment:{status:t}}),e.status=t},P=async e=>{if(e.rid)return;const{serverURL:t,lang:n}=w.value;await S({serverURL:t,lang:n,token:p.value?.token,objectId:e.objectId,comment:{sticky:e.sticky?0:1}}),e.sticky=!e.sticky},F=async({objectId:e})=>{if(!confirm("Are you sure you want to delete this comment?"))return;const{serverURL:t,lang:n}=w.value;await(({serverURL:e,lang:t,token:n,objectId:a})=>fetch(`${e}/comment/${a}?lang=${t}`,{method:"DELETE",headers:{Authorization:`Bearer ${n}`}}).then((e=>e.json())).then((e=>L(e,"Delete comment"))))({serverURL:t,lang:n,token:p.value?.token,objectId:e}),C.value.some(((t,n)=>t.objectId===e?(C.value=C.value.filter(((e,t)=>t!==n)),!0):t.children.some(((a,l)=>a.objectId===e&&(C.value[n].children=t.children.filter(((e,t)=>t!==l)),!0)))))},W=async e=>{const{serverURL:t,lang:n}=w.value,{objectId:a}=e,l=v.value.includes(a);await S({serverURL:t,lang:n,objectId:a,token:p.value?.token,comment:{like:!l}}),l?v.value=v.value.filter((e=>e!==a)):(v.value=[...v.value,a],v.value.length>50&&(v.value=v.value.slice(-50))),e.like=(e.like||0)+(l?-1:1)};return e.provide("config",w),e.onMounted((()=>{e.watch((()=>[a.serverURL,a.path]),(()=>D()),{immediate:!0})})),e.onUnmounted((()=>R?.())),(t,n)=>(e.openBlock(),e.createElementBlock("div",en,[e.createVNode(De),E.value?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createBlock(Lt,{key:0,onLog:D,onSubmit:H})),e.createElementVNode("div",tn,[e.createElementVNode("div",nn,[f.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:"wl-num",textContent:e.toDisplayString(f.value)},null,8,an)):e.createCommentVNode("v-if",!0),e.createTextVNode(" "+e.toDisplayString(N.value.comment),1)]),e.createElementVNode("ul",ln,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(d),(t=>(e.openBlock(),e.createElementBlock("li",{key:t,class:e.normalizeClass([t===b.value?"active":""]),onClick:e=>(e=>{b.value!==e&&(b.value=e,D())})(t)},e.toDisplayString(N.value[t]),11,on)))),128))])]),e.createElementVNode("div",rn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.value,(t=>(e.openBlock(),e.createBlock(Xt,{key:t.objectId,"root-id":t.objectId,comment:t,reply:E.value,edit:$.value,onLog:D,onReply:M,onEdit:T,onSubmit:H,onStatus:O,onDelete:F,onSticky:P,onLike:W},null,8,["root-id","comment","reply","edit"])))),128))]),"error"===h.value?(e.openBlock(),e.createElementBlock("div",cn,[e.createElementVNode("button",{type:"button",class:"wl-btn",onClick:D,textContent:e.toDisplayString(N.value.refresh)},null,8,sn)])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},["loading"===h.value?(e.openBlock(),e.createElementBlock("div",un,[e.createVNode(e.unref(se),{size:30})])):C.value.length?y.value<k.value?(e.openBlock(),e.createElementBlock("div",dn,[e.createElementVNode("button",{type:"button",class:"wl-btn",onClick:_,textContent:e.toDisplayString(N.value.more)},null,8,pn)])):e.createCommentVNode("v-if",!0):(e.openBlock(),e.createElementBlock("div",{key:1,class:"wl-empty",textContent:e.toDisplayString(N.value.sofa)},null,8,mn))],64)),w.value.copyright?(e.openBlock(),e.createElementBlock("div",vn,[e.createTextVNode(" Powered by "),gn,e.createTextVNode(" v"+e.toDisplayString(e.unref(Qt)),1)])):e.createCommentVNode("v-if",!0)]))}}),fn=_e(hn,[["__file","WalineComment.vue"]]);const yn=(e,t)=>{t.forEach(((t,n)=>{t.innerText=e[n].toString()}))},kn=({serverURL:e,path:t=window.location.pathname,selector:n=".waline-pageview-count",update:a=!0,lang:l=navigator.language})=>{const o=new AbortController,r=Array.from(document.querySelectorAll(n)),i=e=>{const n=Y(e);return null!==n&&t!==n},c=n=>(({serverURL:e,lang:t,paths:n,signal:a})=>V({serverURL:e,lang:t,paths:n,type:["time"],signal:a}).then((e=>Array.isArray(e)?e:[e])))({serverURL:I(e),paths:n.map((e=>Y(e)||t)),lang:l,signal:o.signal}).then((e=>yn(e,n))).catch(O);if(a){const n=r.filter((e=>!i(e))),a=r.filter(i);(s={serverURL:I(e),path:t,lang:l},N({...s,type:"time",action:"inc"})).then((e=>yn(new Array(n.length).fill(e),n))),a.length&&c(a)}else c(r);var s;return o.abort.bind(o)};exports.RecentComments=({el:e,serverURL:t,count:n,lang:a=navigator.language})=>{const l=Ve(),o=P(e),r=new AbortController;return(({serverURL:e,lang:t,count:n,signal:a,token:l})=>{const o={};return l&&(o.Authorization=`Bearer ${l}`),fetch(`${e}/comment?type=recent&count=${n}&lang=${t}`,{signal:a,headers:o}).then((e=>e.json()))})({serverURL:t,count:n,lang:a,signal:r.signal,token:l.value?.token}).then((e=>o&&e.length?(o.innerHTML=`<ul class="wl-recent-list">${e.map((e=>`<li class="wl-recent-item"><a href="${e.url}">${e.nick}</a>:${e.comment}</li>`)).join("")}</ul>`,{comments:e,destroy:()=>{r.abort(),o.innerHTML=""}}):{comments:e,destroy:()=>r.abort()}))},exports.UserList=({el:e,serverURL:t,count:n,locale:a,lang:l=navigator.language,mode:o="list"})=>{const r=P(e),c=new AbortController;return(({serverURL:e,signal:t,pageSize:n,lang:a})=>fetch(`${e}/user?pageSize=${n}&lang=${a}`,{signal:t}).then((e=>e.json())).then((e=>L(e,"user list"))).then((e=>e.data)))({serverURL:t,pageSize:n,lang:l,signal:c.signal}).then((e=>r&&e.length?(a={...B[l]||B[i],..."object"==typeof a?a:{}},r.innerHTML=`<ul class="wl-user-${o}">${e.map(((e,t)=>[`<li class="wl-user-item" aria-label="${e.nick}">`,e.link&&`<a href="${e.link}" target="_blank">`,'<div class="wl-user-avatar">',`<img src="${e.avatar}" alt="${e.nick}">`,`<span class="wl-user-badge">${t+1}</span>`,"</div>",'<div class="wl-user-meta">','<div class="wl-user-name">',e.nick,e.level&&`<span class="wl-badge">${a?a[`level${e.level}`]:`Level ${e.level}`}</span>`,e.label&&`<span class="wl-badge">${e.label}</span>`,"</div>",e.link&&e.link,"</div>",e.link&&"</a>","</li>"].filter((e=>e)).join(""))).join("")}</ul>`,{users:e,destroy:()=>{c.abort(),r.innerHTML=""}}):{users:e,destroy:()=>c.abort()}))},exports.commentCount=X,exports.defaultLocales=B,exports.init=({el:t="#waline",path:n=window.location.pathname,comment:a=!1,pageview:l=!1,...o})=>{const r=t?P(t):null;if(t&&!r)throw new Error("Option 'el' do not match any domElement!");if(!o.serverURL)throw new Error("Option 'serverURL' is missing!");const i=e.reactive({...o}),c=e.reactive({comment:a,pageview:l,path:n}),s=r?e.createApp((()=>e.h(fn,{path:c.path,...i}))):null;s&&s.mount(r);const u=e.watchEffect((()=>{c.comment&&X({serverURL:i.serverURL,path:c.path,selector:"string"==typeof c.comment?c.comment:void 0})})),m=e.watchEffect((()=>{c.pageview&&kn({serverURL:i.serverURL,path:c.path,selector:"string"==typeof c.pageview?c.pageview:void 0})}));return{el:r,update:({comment:e,pageview:t,path:n=window.location.pathname,...a}={})=>{Object.entries(a).forEach((([e,t])=>{i[e]=t})),c.path=n,void 0!==e&&(c.comment=e),void 0!==t&&(c.pageview=t)},destroy:()=>{s?.unmount(),u(),m()}}},exports.pageviewCount=kn,exports.version=Qt;
2
2
  //# sourceMappingURL=shim.cjs.map