"use strict";(self.webpackChunknodebb=self.webpackChunknodebb||[]).push([[1091,13201,15794,25432,33069,34271,34590,41427,49897,61861,68326,69749,87212,87549,92717,98813,99127],{10870:(E,C,l)=>{var g,d;g=[l(40027),l(17459),l(68636),l(29930),l(91749)],d=function(m,p,a,u,v){const r={};let w,y;r.show=function(){v.one("action:ajaxify.end",()=>{o(),n(),r.showEmailConfirmWarning()})},r.showEmailConfirmWarning=function(i){if(!config.emailPrompt||!app.user.uid||parseInt(a.getItem("email-confirm-dismiss"),10)===1)return;const t={alert_id:"email_confirm",type:"warning",timeout:0,closefn:()=>{a.setItem("email-confirm-dismiss",1)}};!app.user.email&&!app.user.isEmailConfirmSent?(t.message="[[error:no-email-to-confirm]]",t.clickfn=function(){u.remove("email_confirm"),ajaxify.go("user/"+app.user.userslug+"/edit/email")},u.alert(t)):!app.user["email:confirmed"]&&!app.user.isEmailConfirmSent?(t.message=i||"[[error:email-not-confirmed]]",t.clickfn=function(){u.remove("email_confirm"),ajaxify.go("/me/edit/email")},u.alert(t)):!app.user["email:confirmed"]&&app.user.isEmailConfirmSent&&(t.message="[[error:email-not-confirmed-email-sent]]",u.alert(t))};function n(){!config.cookies.enabled||!navigator.cookieEnabled||app.inAdmin||a.getItem("cookieconsent")==="1"||(config.cookies.message=p.unescape(config.cookies.message),config.cookies.dismiss=p.unescape(config.cookies.dismiss),config.cookies.link=p.unescape(config.cookies.link),config.cookies.link_url=p.unescape(config.cookies.link_url),app.parseAndTranslate("partials/cookie-consent",config.cookies,function(i){$(document.body).append(i),$(document.body).addClass("cookie-consent-open");const t=$(".cookie-consent");t.find("button").on("click",function(){a.setItem("cookieconsent","1"),t.remove(),$(document.body).removeClass("cookie-consent-open")})}))}function o(){const i=utils.params({full:!0});w=i.has("loggedin"),y=i.get("register"),w&&(u.alert({type:"success",title:"[[global:welcome-back]] "+app.user.username+"!",message:"[[global:you-have-successfully-logged-in]]",timeout:5e3}),i.delete("loggedin")),y&&(m.alert({message:utils.escapeHTML(decodeURIComponent(y))}),i.delete("register")),i.has("lang")&&i.get("lang")===config.defaultLang&&(console.info(`The "lang" parameter was passed in to set the language to "${i.get("lang")}", but that is already the forum default language.`),i.delete("lang"));const t=i.toString();ajaxify.updateHistory(ajaxify.currentPage+(t?`?${t}`:"")+document.location.hash,!0)}return r.showInvalidSession=function(){m.alert({title:"[[error:invalid-session]]",message:"[[error:invalid-session-text]]",closeButton:!1,callback:function(){window.location.reload()}})},r.showSessionMismatch=function(){m.alert({title:"[[error:session-mismatch]]",message:"[[error:session-mismatch-text]]",closeButton:!1,callback:function(){window.location.reload()}})},r}.apply(C,g),d!==void 0&&(E.exports=d)},11599:(E,C,l)=>{var g,d;g=[l(52473),l(91749),l(49897)],d=function(m,p,a){const u={};u.prepareDOM=function(){const n=$('[component="chat/dropdown"]');n.on("show.bs.dropdown",o=>{y("loadChatsDropdown",$(o.target).parent().find('[component="chat/list"]'))}),n.each((o,i)=>{const t=$(i).parent().find(".dropdown-menu");t.hasClass("show")&&y("loadChatsDropdown",t.find('[component="chat/list"]'))}),socket.removeListener("event:chats.receive",v),socket.on("event:chats.receive",v),socket.removeListener("event:chats.typing",r),socket.on("event:chats.typing",r),socket.removeListener("event:chats.roomRename",w),socket.on("event:chats.roomRename",w),socket.on("event:unread.updateChatCount",async function(o){if(o){const[f,x]=await app.require(["chat","forum/chats"]);if(f.isFromBlockedUser(o.fromUid)||f.isLookingAtRoom(o.roomId)||app.user.uid===parseInt(o.fromUid,10))return;x.markChatPageElUnread(o),x.updateTeaser(o.roomId,o.teaser)}let{count:i}=await a.get("/chats/unread");const t=m.get("chat/icon");i=Math.max(0,i),t.toggleClass("fa-comment",i>0).toggleClass("fa-comment-o",i<=0);const c=i>99?"99+":i;m.get("chat/icon").toggleClass("unread-count",i>0).attr("data-content",c),m.get("chat/count").toggleClass("hidden",i<=0).text(c),p.fire("action:chat.updateCount",{count:i})})};function v(n){y("onChatMessageReceived",n)}function r(n){y("onUserTyping",n)}function w(n){y("onRoomRename",n)}async function y(n,o){(await app.require("chat"))[n](o)}return u}.apply(C,g),d!==void 0&&(E.exports=d)},14063:(E,C,l)=>{E=l.nmd(E);var g,d;g=[l(17459),l(91749)],d=function(m,p){const a={};let u=!1;a.init=function(){if(a.taskbar=$('[component="taskbar"]'),a.tasklist=a.taskbar.find("ul"),!a.taskbar.length||!a.tasklist.length){u=!0;return}a.taskbar.on("click","li",async function(){const n=$(this),o=n.attr("data-module"),i=n.attr("data-uuid"),t=await app.require(o);return n.hasClass("active")?t.minimize(i):(r(),t.load(i),a.toggleNew(i,!1),a.tasklist.removeClass("active"),n.addClass("active")),!1}),$(window).on("action:app.loggedOut",function(){a.closeAll()})},a.close=async function(n,o){if(u)return;if(a.tasklist.find('[data-module="'+E+'"][data-uuid="'+o+'"]').length){const t=await app.require(n);t&&typeof t.close=="function"&&t.close(o)}},a.closeAll=function(n){if(u)return;let o="[data-uuid]";n&&(o='[data-module="'+n+'"]'+o),a.tasklist.find(o).each(function(i,t){a.close(n||t.getAttribute("data-module"),t.getAttribute("data-uuid"))})},a.discard=function(n,o){if(u)return;a.tasklist.find('[data-module="'+n+'"][data-uuid="'+o+'"]').remove(),v()},a.push=function(n,o,i,t){if(t=t||function(){},u)return t();const c=a.tasklist.find('li[data-uuid="'+o+'"]'),f={module:n,uuid:o,options:i,element:c};p.fire("filter:taskbar.push",f),!c.length&&f.module?w(f,t):t(c)},a.get=function(n){return u?[]:$('[data-module="'+n+'"]').map(function(i,t){return $(t).data()})},a.minimize=function(n,o){if(u)return;a.tasklist.find('[data-module="'+n+'"][data-uuid="'+o+'"]').toggleClass("active",!1)},a.toggleNew=function(n,o,i){if(u)return;a.tasklist.find('[data-uuid="'+n+'"]').toggleClass("new",o),i||p.fire("action:taskbar.toggleNew",n)},a.updateActive=function(n){if(u)return;const o=a.tasklist.find("li");o.removeClass("active"),o.filter('[data-uuid="'+n+'"]').addClass("active"),$("[data-uuid]:not([data-module])").toggleClass("modal-unfocused",!0),$('[data-uuid="'+n+'"]:not([data-module])').toggleClass("modal-unfocused",!1)},a.isActive=function(n){return u?!1:a.tasklist.find('li[data-uuid="'+n+'"]').hasClass("active")};function v(){if(u)return;a.tasklist.find("li").length>0?a.taskbar.attr("data-active","1"):a.taskbar.removeAttr("data-active")}function r(){u||a.tasklist.find(".active").removeClass("active")}function w(n,o){if(u)return o();m.translate(n.options.title,function(i){const t=$("
").text(i||"NodeBB Task").html(),c=$("").addClass(n.options.className).html('"+(n.options.icon?' ':"")+''+t+"").attr({title:t,"data-module":n.module,"data-uuid":n.uuid}).addClass(n.options.state!==void 0?n.options.state:"active");(!n.options.state||n.options.state==="active")&&r(),a.tasklist.append(c),v(),n.element=c,c.data(n),p.fire("action:taskbar.pushed",n),o(c)})}const y=function(n,o,i){switch(o){case"title":n.find('[component="taskbar/title"]').text(i);break;case"icon":n.find("i").attr("class","fa fa-"+i);break;case"image":n.find("a").css("background-image",i?'url("'+i.replace(///g,"/")+'")':"");break;case"background-color":n.find("a").css("background-color",i);break;case"color":n.find("a").css("color",i);break}};return a.update=function(n,o,i){if(u)return;const t=a.tasklist.find('[data-module="'+n+'"][data-uuid="'+o+'"]');if(!t.length)return;const c=t.data();Object.keys(i).forEach(function(f){c[f]=i[f],y(t,f,i[f])}),t.data(c)},a}.apply(C,g),d!==void 0&&(E.exports=d)},19046:(E,C,l)=>{var g,d;g=[l(91749)],d=function(m){const p={},a={ignoring:1,notwatching:2,watching:3};p.initUnreadTopics=function(){const r=app.user.unreadData;function w(o){if(o&&o.posts&&o.posts.length&&r){const i=o.posts[0];if(parseInt(i.uid,10)===parseInt(app.user.uid,10)||!i.topic.isFollowing&&i.categoryWatchState!==a.watching)return;const t=i.topic.tid;(!r[""][t]||!r.new[t]||!r.watched[t]||!r.unreplied[t])&&n(t),r[""][t]||(y(""),r[""][t]=!0),i.isMain&&parseInt(i.uid,10)!==parseInt(app.user.uid,10)&&!r.new[t]&&(y("new"),r.new[t]=!0),parseInt(i.topic.postcount,10)<=1&&!r.unreplied[t]&&(y("unreplied"),r.unreplied[t]=!0),i.topic.isFollowing&&!r.watched[t]&&(y("watched"),r.watched[t]=!0)}}function y(o){const i="/unread"+(o?"?filter="+o:""),t=1+parseInt($('a[href="'+config.relative_path+i+'"].navigation-link i').attr("data-content"),10);v(i,t)}function n(o){$('[data-tid="'+o+'"]').addClass("unread")}$(window).on("action:ajaxify.end",function(){ajaxify.data.template.topic&&["","new","watched","unreplied"].forEach(function(o){delete r[o][ajaxify.data.tid]})}),socket.removeListener("event:new_post",w),socket.on("event:new_post",w),socket.removeListener("event:unread.updateCount",u),socket.on("event:unread.updateCount",u)};function u(r){v("/unread",r.unreadTopicCount),v("/unread?filter=new",r.unreadNewTopicCount),v("/unread?filter=watched",r.unreadWatchedTopicCount),v("/unread?filter=unreplied",r.unreadUnrepliedTopicCount)}function v(r,w){if(!utils.isNumber(w))return;w=Math.max(0,w);const y=w>99?"99+":w,n=$('a[href="'+config.relative_path+r+'"].navigation-link');n.find("i").toggleClass("unread-count",w>0).attr("data-content",y),n.find('[component="navigation/count"]').toggleClass("hidden",w<=0).text(w),n.length&&($('#mobile-menu [data-unread-url="'+r+'"]').attr("data-content",y),$('[component="unread/count"][data-unread-url="'+r+'"]').toggleClass("hidden",w<=0).text(y)),m.fire("action:unread.updateCount",{url:r,count:w})}return p.updateUnreadTopicCount=v,p}.apply(C,g),d!==void 0&&(E.exports=d)},25967:(E,C,l)=>{var g,d;g=[l(40027)],d=function(m){const p={};return p.init=function(){$("body").on("click",'[component="pagination/select-page"]',function(){return m.prompt("[[global:enter-page-number]]",function(a){p.loadPage(a)}),!1})},p.loadPage=function(a,u){if(u=u||function(){},a=parseInt(a,10),!utils.isNumber(a)||a<1||a>ajaxify.data.pagination.pageCount)return;const v=utils.params();v.page=a;const r=window.location.pathname+"?"+$.param(v);ajaxify.go(r,u)},p.nextPage=function(a){p.loadPage(ajaxify.data.pagination.currentPage+1,a)},p.previousPage=function(a){p.loadPage(ajaxify.data.pagination.currentPage-1,a)},p}.apply(C,g),d!==void 0&&(E.exports=d)},29869:E=>{E.exports=function(C,l,g){l.setGlobal("true",!0),l.setGlobal("false",!1);const d=24*60*60*1e3,m={displayMenuItem:a,buildMetaTag:u,buildLinkTag:v,stringify:r,escape:w,stripTags:y,buildCategoryIcon:n,buildCategoryLabel:o,generateCategoryBackground:i,generateChildrenCategories:t,generateTopicClass:c,membershipBtn:f,spawnPrivilegeStates:x,localeToHTML:A,renderTopicImage:S,renderDigestAvatar:k,userAgentIcons:R,buildAvatar:F,increment:I,generateWroteReplied:_,generateRepliedTo:P,generateWrote:O,encodeURIComponent:L,isoTimeToLocaleString:j,shouldHideReplyContainer:K,humanReadableNumber:q,formattedNumber:H,txEscape:z,generatePlaceholderWave:Y,register:G,__escape:p};function p(e){return e}function a(e,s){const h=e.navigation[s];return!(!h||h.route.match("/users")&&e.user&&!e.user.privileges["view:users"]||h.route.match("/tags")&&e.user&&!e.user.privileges["view:tags"]||h.route.match("/groups")&&e.user&&!e.user.privileges["view:groups"])}function u(e){const s=e.name?'name="'+e.name+'" ':"",h=e.property?'property="'+e.property+'" ':"",D=e.content?'content="'+e.content.replace(/\n/g," ")+'" ':"";return"
`}function v(e){const s=["link","rel","as","type","href","sizes","title","crossorigin"],[h,D,M,b,B,W,U,N]=s.map(T=>e[T]?`${T}="${e[T]}" `:"");return"
`}function r(e){return JSON.stringify(e).replace(/&/gm,"&").replace(//gm,">").replace(/"/g,""")}function w(e){return C.escapeHTML(e)}function y(e){return C.stripHTMLTags(e)}function n(e,s,h){return e?`${e.icon?``:""}`:""}function o(e,s="a",h=""){if(!e)return"";const D=s==="a"?`href="${g}/category/${e.slug}"`:"";return`<${s} ${D} class="badge px-1 text-truncate text-decoration-none ${h}" style="color: ${e.color};background-color: ${e.bgColor};border-color: ${e.bgColor}!important; max-width: 70vw;">
${e.icon&&e.icon!=="fa-nbb-none"?``:""}
${e.name}
${s}>`}function i(e){if(!e)return"";const s=[];return e.bgColor&&(s.push("background-color: "+e.bgColor),s.push(`border-color: ${e.bgColor}!important`)),e.color&&s.push("color: "+e.color),e.backgroundImage&&(s.push("background-image: url("+e.backgroundImage+")"),e.imageClass&&s.push("background-size: "+e.imageClass)),s.join("; ")+";"}function t(e){let s="";return!e||!e.children||!e.children.length||(e.children.forEach(function(h){if(h&&!h.isSection){const D=h.link?h.link:g+"/category/"+h.slug;s+='
'+h.name+""}}),s=s&&''+s+""),s}function c(e){return["locked","pinned","deleted","unread","scheduled"].filter(h=>!!e[h]).join(" ")}function f(e,s=""){return e.isMember&&e.name!=="administrators"?``:e.isPending&&e.name!=="administrators"?``:e.isInvited?``:!e.disableJoinRequests&&e.name!=="administrators"?``:""}function x(e,s,h,D){const M=[];for(const b in h)h.hasOwnProperty(b)&&M.push({name:b,state:h[b],type:D[b]});return M.map(function(b){const B=["groups:moderate","groups:posts:upvote","groups:posts:downvote","groups:local:login","groups:group:create"],W=["groups:find","groups:read","groups:topics:read","groups:view:users","groups:view:tags","groups:view:groups"],U=["groups:moderate"];let N=["groups:view:users","groups:find","groups:read","groups:topics:read","groups:topics:create","groups:topics:reply","groups:topics:tag","groups:posts:edit","groups:posts:history","groups:posts:delete","groups:posts:upvote","groups:posts:downvote","groups:topics:delete"];e===-1&&(N=N.slice(3));const T=s==="guests"&&(B.includes(b.name)||b.name.startsWith("groups:admin:"))||s==="spiders"&&!W.includes(b.name)||s==="fediverse"&&!N.includes(b.name)||s==="Global Moderators"&&U.includes(b.name);return`
|
`}).join("")}function A(e,s){return e=e||s||"en-GB",e.replace("_","-")}function S(e){return e.thumb?'
':'
'}function k(e){return e.teaser?e.teaser.user.picture?'
':''+e.teaser.user["icon:text"]+"
":e.user.picture?'
':''+e.user["icon:text"]+"
"}function R(e){let s="";switch(e.platform){case"Linux":s+='';break;case"Microsoft Windows":s+='';break;case"Apple Mac":s+='';break;case"Android":s+='';break;case"iPad":s+='';break;case"iPod":case"iPhone":s+='';break;default:s+='';break}switch(e.browser){case"Chrome":s+='';break;case"Firefox":s+='';break;case"Safari":s+='';break;case"IE":s+='';break;case"Edge":s+='';break;default:s+='';break}return s}function F(e,s,h,D,M){e||(e=this),D=D||"";const b=new Map([["title",e.displayname],["data-uid",e.uid],["class",`avatar ${D}${h?" avatar-rounded":""}`]]),B=[`--avatar-size: ${s};`],W=N=>Array.from(N).reduce((T,[J,Q])=>(T+=` ${J}="${Q}"`,T),"");let U="";return e.picture&&(U+=`
`),U+=`${e["icon:text"]}`,U}function I(e,s){return String(e+parseInt(s,10))}function _(e,s){return e.toPid?P(e,s):O(e,s)}function P(e,s){const h=e.parent&&e.parent.displayname?e.parent.displayname:"[[global:guest]]";return`[[topic:replied-to-user-${e.timestamph==="divider"?'':`
`).join("")}function G(){Object.keys(m).forEach(function(e){l.registerHelper(e,m[e])})}return m}},30076:(E,C,l)=>{var g,d;const m=l(29869);g=[l(77918),l(81335)],d=function(p,a){return m(p,a,config.relative_path)}.apply(C,g),d!==void 0&&(E.exports=d)},49897:(E,C,l)=>{l.r(C),l.d(C,{del:()=>i,get:()=>r,head:()=>w,patch:()=>n,post:()=>y,put:()=>o});var g=l(91749),d=l.n(g),m=l(40027),p=l.n(m);const a=config.relative_path+"/api/v3";async function u(t,c){if(t.url=t.url.startsWith("/api")?config.relative_path+t.url:a+t.url,typeof c=="function"){v(t).then(f=>c(null,f),f=>c(f));return}try{return await v(t)}catch(f){if(f.message==="A valid login session was not found. Please log in and try again."){const{url:x}=await(0,g.fire)("filter:admin.reauth",{url:"login"});return(0,m.confirm)("[[error:api.reauth-required]]",A=>{A&&ajaxify.go(x)})}throw f}}async function v(t){const{url:c}=t;delete t.url,t.data&&!(t.data instanceof FormData)&&(t.data=JSON.stringify(t.data||{}),t.headers["content-type"]="application/json; charset=utf-8"),{options:t}=await(0,g.fire)("filter:api.options",{options:t}),t.data&&(t.body=t.data,delete t.data);const f=await fetch(c,t),{headers:x}=f;if(x.get("x-redirect"))return v({url:x.get("x-redirect"),...t});const A=x.get("content-type"),S=A&&A.startsWith("application/json");let k;if(t.method!=="HEAD"&&(S?k=await f.json():k=await f.text()),!f.ok)throw k?new Error(S?k.status.message:k):new Error(f.statusText);return S&&k&&k.hasOwnProperty("status")&&k.hasOwnProperty("response")?k.response:k}function r(t,c,f){return u({url:t+(c&&Object.keys(c).length?"?"+$.param(c):"")},f)}function w(t,c,f){return u({url:t+(c&&Object.keys(c).length?"?"+$.param(c):""),method:"HEAD"},f)}function y(t,c,f){return u({url:t,method:"POST",data:c,headers:{"x-csrf-token":config.csrf_token}},f)}function n(t,c,f){return u({url:t,method:"PATCH",data:c,headers:{"x-csrf-token":config.csrf_token}},f)}function o(t,c,f){return u({url:t,method:"PUT",data:c,headers:{"x-csrf-token":config.csrf_token}},f)}function i(t,c,f){return u({url:t,method:"DELETE",data:c,headers:{"x-csrf-token":config.csrf_token}},f)}},68636:(E,C,l)=>{var g;g=function(){function d(){this._store={},this._keys=[]}d.prototype.isMock=!0,d.prototype.setItem=function(a,u){a=String(a),this._keys.indexOf(a)===-1&&this._keys.push(a),this._store[a]=u},d.prototype.getItem=function(a){return a=String(a),this._keys.indexOf(a)===-1?null:this._store[a]},d.prototype.removeItem=function(a){a=String(a),this._keys=this._keys.filter(function(u){return u!==a}),this._store[a]=null},d.prototype.clear=function(){this._keys=[],this._store={}},d.prototype.key=function(a){return a=parseInt(a,10)||0,this._keys[a]},Object.defineProperty&&Object.defineProperty(d.prototype,"length",{get:function(){return this._keys.length}});let m;const p=Date.now().toString();try{if(m=window.localStorage,m.setItem(p,p),m.getItem(p)!==p)throw Error("localStorage behaved unexpectedly");return m.removeItem(p),m}catch(a){console.warn(a),console.warn("localStorage failed, falling back on sessionStorage");try{if(m=window.sessionStorage,m.setItem(p,p),m.getItem(p)!==p)throw Error("sessionStorage behaved unexpectedly");return m.removeItem(p),m}catch(u){return console.warn(u),console.warn("sessionStorage failed, falling back on memory storage"),new d}}}.call(C,l,C,E),g!==void 0&&(E.exports=g)},69749:(E,C,l)=>{var g,d;g=[l(17459),l(68636),l(91749),l(29930),l(89336)],d=function(m,p,a,u,v){const r={current:{}};r.init=function(n){if(!config.searchEnabled)return;n=n||{in:config.searchDefaultInQuick||"titles"},$('[component="search/form"]').each((i,t)=>{w($(t),n)})};function w(n,o){const i=n.find('[component="search/button"]'),t=n.find('[component="search/fields"]'),c=t.find('input[name="query"]'),f=t.find("#quick-search-container"),x=t.hasClass("hidden"),A=/^(@|acct:)?[\w-]+@.+$/;x&&t.off("focusout").on("focusout",function(){setTimeout(function(){t.find(":focus").length||(t.addClass("hidden"),i.removeClass("hidden"))},200)}),c.off("focus");const S={inputEl:c,resultEl:f};r.enableQuickSearch({searchOptions:o,searchElements:S}),i.off("click").on("click",function(k){return!config.loggedIn&&!app.user.privileges["search:content"]?(u.alert({message:"[[error:search-requires-login]]",timeout:3e3}),ajaxify.go("login"),!1):(k.stopPropagation(),r.showAndFocusInput(n),!1)}),n.off("submit").on("submit",function(){const k=$(this).find('input[name="query"]'),R=r.getSearchPreferences();return R.term=k.val(),R.in=o.in,A.test(R.term)&&(R.in="users"),a.fire("action:search.submit",{searchOptions:R,searchElements:S}),r.query(R,function(){k.val(""),c.trigger("blur")}),!1})}r.enableQuickSearch=function(n){if(!config.searchEnabled||!app.user.privileges["search:content"])return;const o=Object.assign({in:config.searchDefaultInQuick||"titles"},n.searchOptions),i=n.searchElements.resultEl,t=n.searchElements.inputEl;let c=t.val();const f=i.find(".filter-category");function x(){ajaxify.data.template.category&&ajaxify.data.cid&&m.translate("[[search:search-in-category, "+ajaxify.data.name+"]]",function(I){const _=$("").html(I).text();f.find(".name").text(_)}),f.toggleClass("hidden",!(ajaxify.data.template.category&&ajaxify.data.cid))}function A(){n.searchOptions=Object.assign({},o),n.searchOptions.term=t.val(),x(),ajaxify.data.template.category&&ajaxify.data.cid&&f.find('input[type="checkbox"]').is(":checked")&&(n.searchOptions.categories=[ajaxify.data.cid],n.searchOptions.searchChildren=!0),n.hideDuringSearch||(i.removeClass("hidden").find(".quick-search-results-container").html(""),i.find(".loading-indicator").removeClass("hidden")),a.fire("action:search.quick.start",n),n.searchOptions.searchOnly=1,r.api(n.searchOptions,function(I){if(i.find(".loading-indicator").addClass("hidden"),!I.posts||n.hideOnNoMatches&&!I.posts.length)return i.addClass("hidden").find(".quick-search-results-container").html("");I.posts.forEach(function(_){const P=$(""+_.content+"
").text(),O=t.val().toLowerCase().replace(/^in:topic-\d+/,""),L=Math.max(0,P.toLowerCase().indexOf(O)-40);_.snippet=utils.escapeHTML((L>0?"...":"")+P.slice(L,L+80)+(P.length-L>80?"...":""))}),I.dropdown={maxWidth:"400px",maxHeight:"500px",...n.dropdown},app.parseAndTranslate("partials/quick-search-results",I,function(_){_.length&&_.find(".timeago").timeago(),i.toggleClass("hidden",!_.length||!t.is(":focus")).find(".quick-search-results-container").html(_.length?_:"");const P=i.find(".quick-search-results .quick-search-title, .quick-search-results .snippet");r.highlightMatches(n.searchOptions.term,P),a.fire("action:search.quick.complete",{data:I,options:n})})})}i.find('.filter-category input[type="checkbox"]').on("change",function(){t.focus(),A()}),t.off("keyup").on("keyup",utils.debounce(function(){if(t.val().length<3){i.addClass("hidden"),c=t.val();return}if(t.val()!==c){if(c=t.val(),!t.is(":focus"))return i.addClass("hidden");A()}},500)),i.on("mousedown",".quick-search-results > *",function(){$(window).one("mouseup",function(){i.addClass("hidden")})});const S=t.parent(),k=i.parent();S.on("focusout",R),k.on("focusout",R);function R(){setTimeout(function(){!S.find(":focus").length&&!k.find(":focus").length&&!i.hasClass("hidden")&&i.addClass("hidden")},200)}let F=!1;a.on("action:ajaxify.end",function(){ajaxify.isCold()||(F=!0),i.addClass("hidden")}),t.on("focus",function(){const I=t.val();c=I,I&&i.find("#quick-search-results").children().length&&(x(),F?(A(),F=!1):i.removeClass("hidden"),t[0].setSelectionRange(I.startsWith("in:topic")?I.indexOf(" ")+1:0,I.length))}),t.off("refresh").on("refresh",function(){A()})},r.showAndFocusInput=function(n){const o=n.parents(".dropdown-menu");if(o.length){const i=o.siblings("[data-bs-toggle]"),t=v.Dropdown.getOrCreateInstance(i[0]);t&&t.show()}else n.find('[component="search/fields"]').removeClass("hidden"),n.find('[component="search/button"]').addClass("hidden"),n.find('[component="search/fields"] input[name="query"]').trigger("focus")},r.query=function(n,o){o=o||function(){},ajaxify.go("search?"+y(n),o)},r.api=function(n,o){const i=config.relative_path+"/api/search?"+y(n);n.hasOwnProperty("searchOnly")&&delete n.searchOnly;const t=config.relative_path+"/search?"+y(n);$.get(i,function(c){c.url=t,o(c)})};function y(n){const o=n.in||"titles";let i=n.term.replace(/^[ ?#]*/,"");try{i=encodeURIComponent(i)}catch{return u.error("[[error:invalid-search-term]]")}const t={...n,term:i,in:o};return a.fire("action:search.createQueryString",{query:t,data:n}),decodeURIComponent($.param(t))}return r.getSearchPreferences=function(){try{return JSON.parse(p.getItem("search-preferences")||"{}")}catch{return{}}},r.highlightMatches=function(n,o){if(!n||!o.length)return;n=utils.escapeHTML(n.replace(/^"/,"").replace(/"$/,"").trim());const i=n.split(" ").filter(c=>c.length>1).map(function(c){return utils.escapeRegexChars(c)}).join("|"),t=new RegExp("("+i+")","gi");o.each(function(){const c=$(this),f=[];c.find("*").each(function(){$(this).after(""),f.push($("").append($(this)))}),c.html(c.html().replace(t,function(x,A){return''+A+""})),f.forEach(function(x,A){c.html(c.html().replace("",function(){return x.html()}))})}),$(".search-results .content").find("img:not(.not-responsive)").addClass("img-fluid")},r}.apply(C,g),d!==void 0&&(E.exports=d)},71949:(E,C,l)=>{var g;g=function(){const d={};d.prepareDOM=function(){const a=$('[component="notifications"] [data-bs-toggle="dropdown"]');a.on("show.bs.dropdown",async u=>{const v=await app.require("notifications"),r=$(u.target);v.loadNotifications(r,r.parent().find('[component="notifications/list"]'))}),a.each((u,v)=>{const r=$(v),w=r.parent().find(".dropdown-menu");w.hasClass("show")&&app.require("notifications").then(y=>{y.loadNotifications(r,w.find('[component="notifications/list"]'))})}),socket.removeListener("event:new_notification",m),socket.on("event:new_notification",m),socket.removeListener("event:notifications.updateCount",p),socket.on("event:notifications.updateCount",p)};async function m(a){(await app.require("notifications")).onNewNotification(a)}async function p(a){(await app.require("notifications")).updateNotifCount(a)}return d}.call(C,l,C,E),g!==void 0&&(E.exports=g)},86174:(E,C,l)=>{var g,d;g=[l(19046),l(71949),l(11599),l(29930)],d=function(m,p,a,u){const v={};v.prepareDOM=function(){app.user.uid>0&&m.initUnreadTopics(),p.prepareDOM(),a.prepareDOM(),r(),w(),y()};function r(){$('[component="header/usercontrol"] [data-status]').off("click").on("click",function(n){const o=$(this).attr("data-status");socket.emit("user.setStatus",o,function(i){if(i)return u.error(i);$('[data-uid="'+app.user.uid+'"] [component="user/status"], [component="header/profilelink"] [component="user/status"]').removeClass("away online dnd offline").addClass(o),$('[component="header/usercontrol"] [data-status]').each(function(){$(this).toggleClass("selected",$(this).attr("data-status")===o)}),app.user.status=o}),n.preventDefault()})}function w(){const n=utils.findBootstrapEnvironment();n==="xs"||n==="sm"||utils.isTouchDevice()||$("#header-menu #main-nav").tooltip({selector:".nav-item",placement:"bottom",trigger:"hover",container:"body",animation:!1})}function y(){$("body").on("click",'[component="user/logout"]',function(){return l.e(20739).then(function(){var n=[l(75427)];(function(o){o()}).apply(null,n)}).catch(l.oe),!1})}return v}.apply(C,g),d!==void 0&&(E.exports=d)}}]);