1"use strict";(self.webpackChunknodebb=self.webpackChunknodebb||[]).push([[159,1091,13230,18314,22067,26174,34271,43602,65928,87212,99127],{26231(_,m,i){var s,u;s=[i(13230),i(49897),i(65303),i(29930)],u=(function(o,l,a,h){const O={};O.init=function(){D(),P(),$(".groups-list").on("click","[data-action]",function(){const f=$(this),e=f.attr("data-action"),n=f.parents("tr[data-groupname]").attr("data-groupname");e==="delete"&&a.confirm("[[admin/manage/groups:alerts.confirm-delete]]",function(g){g&&l.del(`/groups/${o(n)}`,{}).then(ajaxify.refresh).catch(h.error)})})};function D(){$("#create").on("click",function(){app.parseAndTranslate("admin/partials/create_group_modal",{}).then(f=>{f.modal("show"),f.on("shown.bs.modal",function(){const e=$("#create-modal"),n=$("#create-group-name"),g=$("#create-modal-go");n.trigger("focus"),e.on("keypress",function(p){p.key==="Enter"&&g.trigger("click")}),f.on("hidden.bs.modal",function(){f.modal("hide"),e.remove()}),g.on("click",function(){const p={name:n.val(),description:$("#create-group-desc").val(),private:$("#create-group-private").is(":checked")?1:0,hidden:$("#create-group-hidden").is(":checked")?1:0};l.post("/groups",p).then(M=>{n.val(""),e.on("hidden.bs.modal",function(){ajaxify.go("admin/manage/groups/"+M.name)}),e.modal("hide")}).catch(h.error)})})})})}function P(){const f=$("#group-search");function e(){if(!f.val())return ajaxify.refresh();$(".pagination").addClass("hide"),l.get("/api/groups",{query:f.val(),sort:"date",hideEphemeralGroups:!0,excludeGroups:["registered-users","verified-users","unverified-users"]}).then(E).catch(h.error)}f.on("keyup",utils.debounce(e,200))}function E(f){const e=$(".groups-list");app.parseAndTranslate("admin/manage/groups","groups",{groups:f.groups,categories:ajaxify.data.categories},function(n){e.find("[data-groupname]").remove(),e.find("tbody").append(n)})}return O}).apply(m,s),u!==void 0&&(_.exports=u)},49897(_,m,i){i.r(m),i.d(m,{del:()=>M,get:()=>f,head:()=>e,patch:()=>g,post:()=>n,put:()=>p});var s=i(91749),u=i.n(s),o=i(65303),l=i(17459),a=i.n(l),h=i(68636),O=i.n(h);const D=config.relative_path+"/api/v3";async function P(t,c){if(t.url=t.url.startsWith("/api")?config.relative_path+t.url:D+t.url,t.headers=t.headers||{},t.headers["x-return-to"]||(t.headers["x-return-to"]=`${window.location.pathname.slice(config.relative_path.length)}${window.location.search}`),typeof c=="function"){E(t).then(r=>c(null,r),r=>c(r));return}try{return await E(t)}catch(r){if(r.message===await l.translate("[[error:api.401]]",config.userLang)){const{url:d}=await(0,s.fire)("filter:admin.reauth",{url:"login"}),v=await l.translate("[[error:api.reauth-required]]",config.userLang);(0,o.confirm)(v,w=>{w&&(h.setItem("location-hash",window.location.hash),ajaxify.go(d))})}throw r}}async function E(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,s.fire)("filter:api.options",{options:t}),t.data&&(t.body=t.data,delete t.data);const r=await fetch(c,t),{headers:d}=r;if(d.get("x-redirect"))return E({url:d.get("x-redirect"),...t});const v=d.get("content-type"),w=v&&v.startsWith("application/json");let y;if(t.method!=="HEAD"&&(w?y=await r.json():y=await r.text()),!r.ok){if(y){const L=w&&(y.status?.message||y.error||""),C=typeof y=="string"?y:r.statusText||`[[error:api.${r.status}]]`;throw new Error(w&&L?L:C)}throw new Error(r.statusText)}return w&&y&&y.hasOwnProperty("status")&&y.hasOwnProperty("response")?y.response:y}function f(t,c,r){return P({url:t+(c&&Object.keys(c).length?"?"+$.param(c):"")},r)}function e(t,c,r){return P({url:t+(c&&Object.keys(c).length?"?"+$.param(c):""),method:"HEAD"},r)}function n(t,c,r,d){return A("POST",t,c,r,d)}function g(t,c,r,d){return A("PATCH",t,c,r,d)}function p(t,c,r,d){return A("PUT",t,c,r,d)}function M(t,c,r,d){return A("DELETE",t,c,r,d)}function A(t,c,r,d,v){return typeof d=="function"&&(v=d,d={}),P({url:c,method:t,data:r,headers:{"x-csrf-token":config.csrf_token,...d}},v)}},65303(_,m,i){i.r(m),i.d(m,{alert:()=>h,confirm:()=>O,dialog:()=>a,prompt:()=>D,promptPassword:()=>P});var s=i(33530),u=i.n(s),o=i(17459),l=i.n(o);s.setDefaults({locale:config.userLang}),o.translateKeys(["modules:bootbox.ok","modules:bootbox.cancel","modules:bootbox.confirm"]).then(e=>{s.addLocale(config.userLang,{OK:e[0],CANCEL:e[1],CONFIRM:e[2]}),s.setLocale(config.userLang)});async function a(e){const[n,g,p]=await Promise.all([o.translate(e.title||""),E(e)||"",f(e.buttons)]);return s.dialog({...e,title:n,message:g,buttons:p})}async function h(e,n){const[g,p]=await Promise.all([e&&e.title?o.translate(e.title):null,E(e)]);return n=typeof n=="function"?n:e.callback,s.alert({...e,title:g,message:p,callback:n})}async function O(e,n){const[g,p]=await Promise.all([e&&e.title?o.translate(e.title):null,E(e)]);
1return n=typeof n=="function"?n:e.callback,s.confirm({...e,title:g,message:p,callback:n})}async function D(e,n){const[g,p]=await Promise.all([o.translate(typeof e=="string"?e:e.title),e&&e.message?E(e):null]);return n=typeof n=="function"?n:e.callback,s.prompt({...e,title:g,message:p,callback:n})}async function P(e){return typeof e=="string"&&(e={title:e}),e=e||{title:"[[user:current-password]]",message:"[[user:emailUpdate.password-challenge]]"},await new Promise(n=>{D({...e,inputType:"password",required:!0,value:"",callback:n})})}function E(e){const n=e&&e.message?e.message:e;return n instanceof jQuery?n:o.translate(n||"")}async function f(e){if(!Object.keys(e||{}).length)return;const n=Object.values(e);return await Promise.all(n.map(async g=>({...g,label:await o.translateKey(g.label)})))}},13230(_,m,i){var s,u;(function(o){s=o,u=typeof s=="function"?s.call(m,i,m,_):s,u!==void 0&&(_.exports=u)})(function(){const o=/[^\p{L}\s\d\-_@.]/gu,l=/[^\w\s\d\-_@.]/g,a=/^\s+|\s+$/g,h=/\s+/g,O=/-+/g,D=/-$/g,P=/^-/g,E=/^[\w\d\s.,\-@]+$/;return function(e,n){return!e||(e=String(e).replace(a,""),E.test(e)?e=e.replace(l,"-"):e=e.replace(o,"-"),e=n?e:e.toLocaleLowerCase(),e=e.replace(h,"-"),e=e.replace(O,"-"),e=e.replace(D,""),e=e.replace(P,""),e==="."||e==="..")?"":e}})},68636(_,m,i){var s;s=(function(){function u(){this._store={},this._keys=[]}u.prototype.isMock=!0,u.prototype.setItem=function(a,h){a=String(a),this._keys.indexOf(a)===-1&&this._keys.push(a),this._store[a]=h},u.prototype.getItem=function(a){return a=String(a),this._keys.indexOf(a)===-1?null:this._store[a]},u.prototype.removeItem=function(a){a=String(a),this._keys=this._keys.filter(function(h){return h!==a}),this._store[a]=null},u.prototype.clear=function(){this._keys=[],this._store={}},u.prototype.key=function(a){return a=parseInt(a,10)||0,this._keys[a]},Object.defineProperty&&Object.defineProperty(u.prototype,"length",{get:function(){return this._keys.length}});let o;const l=Date.now().toString();try{if(o=window.localStorage,o.setItem(l,l),o.getItem(l)!==l)throw Error("localStorage behaved unexpectedly");return o.removeItem(l),o}catch(a){console.warn(a),console.warn("localStorage failed, falling back on sessionStorage");try{if(o=window.sessionStorage,o.setItem(l,l),o.getItem(l)!==l)throw Error("sessionStorage behaved unexpectedly");return o.removeItem(l),o}catch(h){return console.warn(h),console.warn("sessionStorage failed, falling back on memory storage"),new u}}}).call(m,i,m,_),s!==void 0&&(_.exports=s)}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.