{"files":{"main.js":{"size":14318,"offset":"0","integrity":{"algorithm":"SHA256","hash":"d0ac3c882b629fc25372ae1dd2481a2af129394a18e13d1a57cbf08ff0d99e4e","blockSize":4194304,"blocks":["d0ac3c882b629fc25372ae1dd2481a2af129394a18e13d1a57cbf08ff0d99e4e"]}},"package.json":{"size":41,"offset":"14318","integrity":{"algorithm":"SHA256","hash":"e7389c3e0ec24860a40296a5e054a78b28ecc15e385463f10300ff2d48143d5c","blockSize":4194304,"blocks":["e7389c3e0ec24860a40296a5e054a78b28ecc15e385463f10300ff2d48143d5c"]}},"preload.js":{"size":11152,"offset":"14359","integrity":{"algorithm":"SHA256","hash":"c9381966afb01b53266a8730480621e7352c00b7c0ceec76e080b86c71d00c6b","blockSize":4194304,"blocks":["c9381966afb01b53266a8730480621e7352c00b7c0ceec76e080b86c71d00c6b"]}},"betterdiscord.js":{"size":566414,"offset":"25511","integrity":{"algorithm":"SHA256","hash":"e21b51c7e6d269083fc80af8695ba1a80c751d906ab56350ab043e349f925878","blockSize":4194304,"blocks":["e21b51c7e6d269083fc80af8695ba1a80c751d906ab56350ab043e349f925878"]}},"editor":{"files":{"preload.js":{"size":1608,"offset":"591925","integrity":{"algorithm":"SHA256","hash":"37d17c644be500e64e704415e978069860e49710f48a17d87f27e9e5376af642","blockSize":4194304,"blocks":["37d17c644be500e64e704415e978069860e49710f48a17d87f27e9e5376af642"]}},"script.js":{"size":4280,"offset":"593533","integrity":{"algorithm":"SHA256","hash":"d119d1243b4eba795e1ba23f1c63d199be48050c4a3a839f0e1304c871b42386","blockSize":4194304,"blocks":["d119d1243b4eba795e1ba23f1c63d199be48050c4a3a839f0e1304c871b42386"]}},"index.html":{"size":10837,"offset":"597813","integrity":{"algorithm":"SHA256","hash":"2e79d9a96fc87c5fc0047a3bd30227be38a1766b2acfe1178ad16c8b09bbd705","blockSize":4194304,"blocks":["2e79d9a96fc87c5fc0047a3bd30227be38a1766b2acfe1178ad16c8b09bbd705"]}}}}}}"use strict";var Pe=Object.create;var y=Object.defineProperty;var De=Object.getOwnPropertyDescriptor;var ye=Object.getOwnPropertyNames;var xe=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var M=(t,e)=>()=>(t&&(e=t(t=0)),e);var Ae=(t,e)=>{for(var s in e)y(t,s,{get:e[s],enumerable:!0})},F=(t,e,s,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of ye(e))!Re.call(t,n)&&n!==s&&y(t,n,{get:()=>e[n],enumerable:!(i=De(e,n))||i.enumerable});return t};var f=(t,e,s)=>(s=t!=null?Pe(xe(t)):{},F(e||!t||!t.__esModule?y(s,"default",{value:t,enumerable:!0}):s,t)),Ne=t=>F(y({},"__esModule",{value:!0}),t);var z,q,$,K,Z,J,X,Y,Q,ee,te,se,ne,oe,ie,re,S,ae,ce,le,v,O=M(()=>{"use strict";z="bd-relaunch-app",q="bd-get-path",$="bd-run-script",K="bd-did-navigate-in-page",Z="bd-open-devtools",J="bd-close-devtools",X="bd-toggle-devtools",Y="bd-open-window",Q="bd-inspect-element",ee="bd-minimum-size",te="bd-window-size",se="bd-remove-devtools-message",ne="bd-open-dialog",oe="bd-register-preload",ie="bd-get-accent-color",re="bd-open-path",S="bd-handle-protocol",ae="bd-editor-open",ce="bd-editor-show-warning",le="bd-editor-settings-get",v="bd-editor-settings-update"});var E,g,B,j,me,we,T,Ee=M(()=>{"use strict";E=f(require("fs"),1),g=f(require("path"),1),B=require("electron"),j="fmkadmapgofadopljbjfkapdkoienihi",me=t=>{let e=E.default.readdirSync(t);return g.default.resolve(t,e[e.length-1])},we=t=>{let e=g.default.resolve(t,"extensions",j);if(E.default.existsSync(e))return E.default.existsSync(g.default.resolve(e,"manifest.json"))?e:me(e);let s="";if(process.platform==="win32"?s=g.default.resolve(process.env.LOCALAPPDATA,"Google/Chrome/User Data"):process.platform==="linux"?s=g.default.resolve(process.env.HOME,".config/google-chrome"):process.platform==="darwin"?s=g.default.resolve(process.env.HOME,"Library/Application Support/Google/Chrome"):s=g.default.resolve(process.env.HOME,".config/chromium"),E.default.existsSync(s+"/Default"))s+=`/Default/Extensions/${j}`;else{let n=E.default.readdirSync(s).filter(d=>d.startsWith("Profile")&&!d.endsWith("store")),a=!1;for(let d of n){let c=`${s}/${d}/Extensions/${j}`;if(E.default.existsSync(c)){s=c,a=!0;break}}if(!a)return""}return E.default.existsSync(s)&&(s=me(s)),E.default.existsSync(s)?s:""},T=class{static async install(e){let s=we(e);if(s)try{if(!await B.session.defaultSession.loadExtension(s))return}catch{}}static async remove(e){let s=we(e);if(s)try{await B.session.defaultSession.removeExtension(s)}catch{}}}});var Ie={};Ae(Ie,{default:()=>m});var l,r,u,ge,ve,he,p,G,m,k=M(()=>{"use strict";l=f(require("fs"),1),r=f(require("path"),1),u=f(require("electron"),1),ge=require("child_process");Ee();O();ve=u.default.app.getAppPath(),he=r.default.resolve(ve,"..","build_info.json"),p="";process.platform==="win32"||process.platform==="darwin"?p=r.default.join(u.default.app.getPath("userData"),".."):p=process.env.XDG_CONFIG_HOME?process.env.XDG_CONFIG_HOME:r.default.join(process.env.HOME,".config");p=r.default.join(p,"BetterDiscord")+"/";G=!1,m=class t{static _settings;static getSetting(e,s){if(this._settings)return this._settings[e]?.[s];try{let i=require(he),n=r.default.resolve(p,"data",i.releaseChannel,"settings.json");return this._settings=require(n)??{},this._settings[e]?.[s]}catch{return this._settings={},this._settings[e]?.[s]}}static ensureDirectories(){let e=r.default.join(p,"data");l.default.existsSync(p)||l.default.mkdirSync(p),l.default.existsSync(e)||l.default.mkdirSync(e),l.default.existsSync(r.default.join(e,"stable"))||l.default.mkdirSync(r.default.join(e,"stable")),l.default.existsSync(r.default.join(e,"canary"))||l.default.mkdirSync(r.default.join(e,"canary")),l.default.existsSync(r.default.join(e,"ptb"))||l.default.mkdirSync(r.default.join(e,"ptb")),l.default.existsSync(r.default.join(e,"development"))||l.default.mkdirSync(r.default.join(e,"development")),l.default.existsSync(r.default.join(p,"plugins"))||l.default.mkdirSync(r.default.join(p,"plugins")),l.default.existsSync(r.default.join(p,"themes"))||l.default.mkdirSync(r.default.join(p,"themes"))}static async injectRenderer(e){let s=r.default.join(__dirname,"betterdiscord.js");if(!l.default.existsSync(s))return;let i=l.default.readFileSync(s).toString();await e.webContents.executeJavaScript(` (() => { try { ${i} return true; } catch(error) { console.error(error); return false; } })(); //# sourceURL=betterdiscord/betterdiscord.js `)}static setup(e){try{process.env.DISCORD_RELEASE_CHANNEL=require(he).releaseChannel}catch{process.env.DISCORD_RELEASE_CHANNEL="stable"}if(process.env.DISCORD_PRELOAD=e.__originalPreload,process.env.DISCORD_APP_PATH=ve,process.env.DISCORD_USER_DATA=u.default.app.getPath("userData"),process.env.BETTERDISCORD_DATA_PATH=p,e.webContents.on("dom-ready",()=>{if(!G)return setTimeout(()=>this.injectRenderer(e),1e3);u.default.dialog.showMessageBox({title:"Discord Crashed",type:"warning",message:"Something crashed your Discord Client",detail:`BetterDiscord has automatically disabled itself just in case. To enable it again, restart Discord or click the button below. This may have been caused by a plugin. Try moving all of your plugins outside the plugin folder and see if Discord still crashed.`,buttons:["Try Again","Open Plugins Folder","Cancel"]}).then(s=>{s.response===0&&(u.default.app.relaunch(),u.default.app.exit()),s.response===1&&(process.platform==="win32"?(0,ge.spawn)("explorer.exe",[r.default.join(p,"plugins")]):u.default.shell.openPath(r.default.join(p,"plugins")))}),G=!1}),e.webContents.on("did-navigate-in-page",()=>{e.webContents.send(K)}),e.webContents.on("render-process-gone",()=>{G=!0}),u.default.app.setAsDefaultProtocolClient("betterdiscord")){let s=process.argv.find(i=>i.startsWith("betterdiscord://"));s&&(process.env.BETTERDISCORD_PROTOCOL=s),u.default.app.on("open-url",(i,n)=>{n.startsWith("betterdiscord://")&&e.webContents.send(S,n)}),u.default.app.on("second-instance",(i,n)=>{if(n.includes("--multi-instance"))return;let a=n.find(d=>d.startsWith("betterdiscord://"));a&&e.webContents.send(S,a)})}}static disableMediaKeys(){if(!t.getSetting("general","mediaKeys"))return;let e=u.default.app.commandLine.getSwitchValue("disable-features")||"";u.default.app.commandLine.appendSwitch("disable-features",`${e?",":""}HardwareMediaKeyHandling,MediaSessionService`)}};m.getSetting("developer","reactDevTools")&&u.default.app.whenReady().then(async()=>{await T.install(p)});Object.defineProperty(global,"appSettings",{set(t){t.set("DANGEROUS_ENABLE_DEVTOOLS_ONLY_ENABLE_IF_YOU_KNOW_WHAT_YOURE_DOING",!0),m.getSetting("window","removeMinimumSize")?(t.set("MIN_WIDTH",0),t.set("MIN_HEIGHT",0)):(t.set("MIN_WIDTH",940),t.set("MIN_HEIGHT",500)),delete global.appSettings,global.appSettings=t},configurable:!0,enumerable:!1})});var P=require("electron"),Ce=f(require("path"),1),U=f(require("fs"),1);var pe=require("child_process"),o=require("electron");O();var I=require("electron"),H=f(require("path"),1),de=require("url");O();var w=class{static windows={theme:{},plugin:{}};static _options;static open(e,s){let i=!!this._options,n=e==="custom-css"?this.windows["custom-css"]:this.windows[e][s];if(i&&n)return n.webContents.isLoading()||n.show(),this._options.webContents;if(typeof n>"u"||n.isDestroyed()){n=new I.BrowserWindow({...this._options,frame:!0,center:!0,show:!1,webPreferences:{...this._options?.webPreferences,preload:H.default.join(__dirname,"editor/preload.js"),sandbox:!1,allowRunningInsecureContent:!0,webSecurity:!1}}),this._options=null,n.setMenu(null);let a=(0,de.pathToFileURL)(H.default.join(__dirname,"editor/index.html"));a.searchParams.set("type",e),a.searchParams.set("filename",s||"custom.css"),i?n.webContents.once("will-navigate",c=>{c.preventDefault(),n.loadURL(a.href),n.once("ready-to-show",()=>{n.show()})}):(n.once("ready-to-show",()=>{n.show()}),n.loadURL(a.href));let d=!1;if(n.webContents.ipc.handle(ce,(c,h)=>{d=h}),n.on("close",c=>{if(!d)return;c.preventDefault(),I.dialog.showMessageBoxSync(n,{type:"question",title:"Close Editor?",message:"Changes you made are not saved",buttons:["Close","Cancel"],cancelId:1,defaultId:1,normalizeAccessKeys:!0})||(d=!1,n.close())}),n.webContents.ipc.handle(v,(c,h)=>{this._window&&this._window.webContents.send(v,h)}),n.webContents.setWindowOpenHandler(c=>(I.shell.openExternal(c.url),{action:"deny"})),this._window){let c=()=>{d=!1,n.close()};this._window.once("closed",c),n.once("close",()=>{this._window.off("closed",c),e==="custom-css"?delete this.windows["custom-css"]:delete this.windows[e][s]})}e==="custom-css"?this.windows["custom-css"]=n:this.windows[e][s]=n}return n.webContents.isLoading()||n.show(),n.webContents}static isValidWindow(e){return e instanceof I.BrowserWindow&&!e.isDestroyed()}static#e={options:{theme:"vs-dark"},liveUpdate:!1,discordTheme:"dark"};static updateSettings(e){this.#e=e,this.isValidWindow(this.windows["custom-css"])&&this.windows["custom-css"].webContents.send(v,e);for(let s of["theme","plugin"])for(let i in this.windows[s])if(Object.prototype.hasOwnProperty.call(this.windows[s],i)){let n=this.windows[s][i];this.isValidWindow(n)&&n.webContents.send(v,e)}}static getSettings(){return this.#e}static _window;static initialize(e){this._window=e}};var Le=(t,e)=>{let s;switch(e){case"appPath":s=o.app.getAppPath();break;case"appData":case"userData":case"home":case"cache":case"temp":case"exe":case"module":case"desktop":case"documents":case"downloads":case"music":case"pictures":case"videos":case"recent":case"logs":s=o.app.getPath(e);break;default:s=""}t.returnValue=s},We=(t,e)=>{process.platform==="win32"?(0,pe.spawn)("explorer.exe",[e]):o.shell.openPath(e)},Me=(t,e=[])=>{o.app.relaunch({args:process.argv.slice(1).concat(Array.isArray(e)?e:[e])}),o.app.quit()},He=async(t,e)=>{try{await t.sender.executeJavaScript(`(() => {try {${e}} catch {}})();`)}catch{}},ue=t=>t.sender.openDevTools(),fe=t=>t.sender.closeDevTools(),je=t=>{t.sender.isDevToolsOpened()?fe(t):ue(t)},Be=(t,e,{windowOptions:s,closeOnUrl:i}={})=>new Promise(n=>{let a=new o.BrowserWindow(s);a.webContents.on("did-navigate",(d,c)=>{c==i&&(a.close(),n())}),a.loadURL(e)}),Ge=async t=>{if(!t.sender.isDevToolsOpened())for(t.sender.openDevTools();!t.sender.isDevToolsOpened();)await new Promise(e=>setTimeout(e,100));t.sender.devToolsWebContents?.executeJavaScript("DevToolsAPI.enterInspectElementMode();")},ke=(t,e,s)=>{o.BrowserWindow.fromWebContents(t.sender)?.setMinimumSize(e,s)},Ue=(t,e,s)=>{o.BrowserWindow.fromWebContents(t.sender)?.setSize(e,s)},Ve=()=>(process.platform=="win32"||process.platform=="darwin")&&o.systemPreferences.getAccentColor()||"",Fe=t=>t.sender.removeAllListeners("devtools-opened"),ze=(t,e={})=>{let{mode:s="open",openDirectory:i=!1,openFile:n=!0,multiSelections:a=!1,filters:d,promptToCreate:c=!1,defaultPath:h,title:_,showOverwriteConfirmation:L,message:D,showHiddenFiles:Te,modal:be=!1}=e,V={open:o.dialog.showOpenDialog,save:o.dialog.showSaveDialog}[s];return V?V(...[be&&o.BrowserWindow.fromWebContents(t.sender),{defaultPath:h,filters:d,title:_,message:D,createDirectory:!0,properties:[Te&&"showHiddenFiles",i&&"openDirectory",c&&"promptToCreate",i&&"openDirectory",n&&"openFile",a&&"multiSelections",L&&"showOverwriteConfirmation"].filter(W=>W)}].filter(W=>W)):Promise.resolve({error:"Unkown Mode: "+s})},qe=(t,e)=>{o.app.commandLine.appendSwitch("preload",e)},$e=(t,e,s)=>{w.open(e,s)},Ke=(t,e)=>{w.updateSettings(e)},Ze=t=>{t.returnValue=w.getSettings()},C=class{static registerEvents(){try{o.ipcMain.on(q,Le),o.ipcMain.on(re,We),o.ipcMain.on(z,Me),o.ipcMain.on(Z,ue),o.ipcMain.on(J,fe),o.ipcMain.on(X,je),o.ipcMain.on(Q,Ge),o.ipcMain.on(ee,ke),o.ipcMain.on(te,Ue),o.ipcMain.on(se,Fe),o.ipcMain.on(oe,qe),o.ipcMain.on(le,Ze),o.ipcMain.handle(ie,Ve),o.ipcMain.handle($,He),o.ipcMain.handle(ne,ze),o.ipcMain.handle(Y,Be),o.ipcMain.handle(ae,$e),o.ipcMain.handle(v,Ke)}catch(e){console.error(e)}}};var A=f(require("electron"),1),_e=f(require("path"),1);k();O();var b=class extends A.default.BrowserWindow{__originalPreload;constructor(e){if(!e||!e.webPreferences||!e.webPreferences.preload||!e.title)return super(e);let s=e.webPreferences.preload;e.webPreferences.preload=_e.default.join(__dirname,"preload.js");let i=m.getSetting("window","transparency");typeof i=="boolean"&&i&&(e.transparent=!0,e.backgroundColor="#00000000");let n=!!(m.getSetting("window","inAppTrafficLights")??!1);process.env.BETTERDISCORD_NATIVE_FRAME=e.frame=!!(m.getSetting("window","frame")??e.frame??!0),process.env.BETTERDISCORD_IN_APP_TRAFFIC_LIGHTS=n,n&&delete e.titleBarStyle;let a=!!(m.getSetting("window","removeMinimumSize")??!1);a&&(e.minWidth=0,e.minHeight=0),super(e),a&&(this.setMinimumSize=()=>{}),this.__originalPreload=s,m.setup(this),w.initialize(this);let d=this;this.webContents.setWindowOpenHandler=new Proxy(this.webContents.setWindowOpenHandler,{apply(c,h,_){let L=_[0];return _[0]=function(D){return D.url.startsWith("betterdiscord://")?(d.webContents.send(S,D.url),{action:"deny"}):L.apply(this,arguments)},Reflect.apply(c,h,_)}})}};Object.assign(b,A.default.BrowserWindow);Object.defineProperty(b,"name",{value:"BrowserWindow",configurable:!0});var R=class{static patchBrowserWindow(){let t=require.resolve("electron");delete require.cache[t].exports,require.cache[t].exports={...A.default,BrowserWindow:b}}};var Se=f(require("electron"),1),N=class{static remove(){Se.default.session.defaultSession.webRequest.onHeadersReceived(function(t,e){if(!t.responseHeaders)return e({cancel:!1});let s=Object.keys(t.responseHeaders);for(let i=0;i{for(var r in t)j(e,r,{get:t[r],enumerable:!0})},Ee=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Re(t))!Te.call(e,o)&&o!==r&&j(e,o,{get:()=>t[o],enumerable:!(n=xe(t,o))||n.enumerable});return e};var x=(e,t,r)=>(r=e!=null?be(he(e)):{},Ee(t||!e||!e.__esModule?j(r,"default",{value:e,enumerable:!0}):r,e));var X=require("electron");var K=require("electron");function Z(){let e=function(){let t="webpackChunkdiscord_app",r=function(n,o,a){let l=n[o];Object.defineProperty(n,o,{get(){return l},set(y){Object.defineProperty(n,o,{value:y,configurable:!0,enumerable:!0,writable:!0});try{a(y)}catch(i){console.error(i)}return y},configurable:!0})};Reflect.has(window,t)||r(window,t,n=>{n.push([[Symbol()],{},o=>{o.d=(i,d)=>{for(let p in d)if(Reflect.has(d,p))try{Object.defineProperty(i,p,{get:()=>d[p](),set:g=>{d[p]=()=>g},enumerable:!0,configurable:!0})}catch(g){console.error(g)}};let a=/^\d+(?:e\d+)?\((.{1,3}),.{1,3},.{1,3}\){("use strict";)?\1.exports={.+}}$/,l=/^(.+?)_/;function y(i){if(a.test(String(i))){let p=function(g,A,m){i.call(this,g,A,m);let b={[Symbol.for("BetterDiscord.Polyfilled.class")]:{value:!0}};for(let u in g.exports){if(!Object.hasOwn(g.exports,u))continue;let c=g.exports[u];if(typeof c=="string"){let R=c.match(l);if(!R||R[1]in g.exports)continue;b[R[1]]={value:c}}}Object.defineProperties(g.exports,b)};var d=p;return p.toString=i.toString,p}return i}for(let i in o.m)Object.hasOwn(o.m,i)&&(o.m[i]=y(o.m[i]));o.m=new Proxy(o.m,{set(i,d,p,g){return Reflect.set(i,d,y(p),g)}})}])})};K.webFrame.top?.executeJavaScript("("+e+")()")}function C(e){let t=[];for(let r in e)t.push(r);return t}function T(e,t={},r){return Array.isArray(r)||(r=C(e)),r.reduce((n,o)=>(typeof e[o]=="object"&&!Array.isArray(e[o])&&e[o]!==null?n[o]=T(e[o],{}):typeof e[o]=="function"?n[o]=e[o].bind(e):n[o]=e[o],n),t)}var O=T(process,{},C(process).filter(e=>e!=="config"));O.versions.nodejs=O.versions.node;delete O.versions.node;O.isWeb=!0;var J=O;var $={};E($,{addProtocolListener:()=>tt,crypto:()=>M,editor:()=>W,electron:()=>B,filesystem:()=>q,https:()=>ee,nativeFetch:()=>Ke,net:()=>ot,os:()=>st,path:()=>nt,setDevToolsWarningState:()=>rt,vm:()=>U});var q={};E(q,{createDirectory:()=>De,createWriteStream:()=>je,deleteDirectory:()=>Ie,exists:()=>Pe,getRealPath:()=>_e,getStats:()=>Be,readDirectory:()=>we,readFile:()=>Oe,rename:()=>Ae,renameSync:()=>Ce,rm:()=>ke,rmSync:()=>Le,unlinkSync:()=>Ne,watch:()=>qe,writeFile:()=>ve});var s=x(require("fs"),1);var Se={err:"error",error:"error",dbg:"debug",debug:"debug",log:"log",warn:"warn",info:"info"},v=class e{static stacktrace(t,r,n){console.error(`%c[${t}]%c ${r} %c`,"color: #3a71c1; font-weight: 700;","color: red; font-weight: 700;","color: red;",n)}static err(t,...r){e._log(t,r,"error")}static error(t,...r){e._log(t,r,"error")}static warn(t,...r){e._log(t,r,"warn")}static info(t,...r){e._log(t,r,"info")}static debug(t,...r){e._log(t,r,"debug")}static log(t,...r){e._log(t,r)}static _log(t,r,n="log"){let o=e.parseType(n);Array.isArray(r)||(r=[r]),console[o](`%c[BetterDiscord]%c [${t}]%c`,"color: #3E82E5; font-weight: 700;","color: #3a71c1;","",...r)}static parseType(t){return Se[t]||"log"}};function Oe(e,t="utf8"){return s.readFileSync(e,t)}function ve(e,t,r){return t instanceof Uint8Array&&(t=Buffer.from(t)),(r?.originalFs?require("original-fs").writeFileSync:s.writeFileSync)(e,t,r)}function we(e,t){return s.readdirSync(e,t)}function De(e,t){return s.mkdirSync(e,t)}function Ie(e,t){s.rmdirSync(e,t)}function Pe(e){return s.existsSync(e)}function _e(e,t){return s.realpathSync(e,t)}function Ae(e,t){return s.renameSync(e,t)}function Ce(e,t){return s.renameSync(e,t)}function ke(e){return s.rmSync(e)}function Le(e){return s.rmSync(e)}function Ne(e){return s.unlinkSync(e)}function je(e,t){return T(s.createWriteStream(e,t))}function qe(e,t,r){let n=s.watch(e,t,(o,a)=>{try{r(o,a)}catch(l){v.stacktrace("filesystem","Failed to watch path",l)}});return{close:()=>{n.close()}}}function Be(e,t){let r=s.statSync(e,t);return{...r,isFile:r.isFile.bind(r),isDirectory:r.isDirectory.bind(r),isSymbolicLink:r.isSymbolicLink.bind(r)}}var Lt=require("fs"),Q=x(require("https"),1),Nt=require("http"),Me=["get","put","post","delete","head"],Ue=new Set([301,302,307,308]),We=["statusCode","statusMessage","url","headers","method","aborted","complete","rawHeaders"],Y=(e,t,r,n)=>{let o=Q.request(e,Object.assign({method:"GET"},t),a=>{if(Ue.has(a.statusCode??0)&&a.headers.location){let i=new URL(a.headers.location);for(let[d,p]of new URL(e).searchParams.entries())i.searchParams.set(d,p);return Y(i.toString(),t,r,n)}let l=[],y=null;n(a,o),a.addListener("error",i=>{y=i}),a.addListener("data",i=>{l.push(i)}),a.addListener("end",()=>{let i=Object.fromEntries(We.map(d=>[d,a[d]]));r(y,i,Buffer.concat(l)),o.end()})});if(t.formData)try{o.write(t.formData)}finally{o.end()}else o.end();o.on("error",a=>r(a))},V=function(e,t,r){let n=null,o=null,a=null;return Y(e,t,r,(l,y)=>{o=y,n=l,a&&l.pipe(a)}),{end(){o?.end()},pipe(l){n?n.pipe(l):a=l}}},ee=Object.assign({request:V},Object.fromEntries(Me.map(e=>[e,function(...t){return t[1]??={},t[1].method??=e.toUpperCase(),Reflect.apply(V,this,t)}])));var B={};E(B,{ipcRenderer:()=>Ge,shell:()=>f.shell,webUtils:()=>f.webUtils});var f=require("electron"),Ge={send:f.ipcRenderer.send.bind(f.ipcRenderer),sendToHost:f.ipcRenderer.sendToHost.bind(f.ipcRenderer),sendSync:f.ipcRenderer.sendSync.bind(f.ipcRenderer),invoke:f.ipcRenderer.invoke.bind(f.ipcRenderer),on:f.ipcRenderer.on.bind(f.ipcRenderer),off:f.ipcRenderer.off.bind(f.ipcRenderer)};var M={};E(M,{createHash:()=>Fe,randomBytes:()=>He});var te=(()=>{let e=null;return()=>e||(e=require("crypto"))})();function Fe(e){let t=te().createHash(e),r={update(n){return t.update(n),r},digest(n){return t.digest(n)}};return r}function He(e){return te().randomBytes(e)}var U={};E(U,{compileFunction:()=>ze});var re=x(require("vm"),1);function ze(e,t=[],r={}){try{return re.default.compileFunction(e,t,r)}catch(n){let o=n;return{name:o.name,message:o.message,stack:o.stack}}}var se=x(require("https"),1),ie=x(require("http"),1);function ne(e){let r=new Response(e).body.getReader();return{read:()=>r.read(),cancel:()=>r.cancel()}}function oe(e){return new ReadableStream({async start(t){for(;;){let{done:r,value:n}=await e.read();if(r){t.close();break}else t.enqueue(n)}},type:"bytes"})}var $e=new Set([301,302,307,308]),Xe=new Set([101,204,205,304]);function Ke({url:e,signal:t,body:r,...n}){let{promise:o,resolve:a,reject:l}=Promise.withResolvers(),y=n.maxRedirects??20,i=r?oe(r):null,d=0;function p(m,b){let u=b.statusCode??0,c=null;return Xe.has(u)||(c=new ReadableStream({start(R){b.on("data",h=>R.enqueue(h)),b.on("error",h=>R.error(h)),b.once("end",()=>R.close())},type:"bytes"})),{body:c?ne(c):null,url:m,headers:b.headers,status:u,statusText:b.statusMessage||"",redirected:d!==0}}let g=(m=>n.timeout===null&&!isFinite(m)?void 0:m)(n.timeout??3e3);async function A(m){let b=m.startsWith("http:")?ie.default:m.startsWith("https:")?se.default:null;if(!b){l(new Error(`Unsupported protocol: ${m.slice(0,m.indexOf(":"))}:`));return}let u=b.request(m,{headers:n.headers,method:n.method,timeout:g,rejectUnauthorized:n.rejectUnauthorized},c=>{if($e.has(c.statusCode)){if(n.redirect==="error"){u.destroy(new Error("Failed to fetch"));return}if(n.redirect==="manual"){a(p(m,c));return}if(d>=y){l(new Error(`Maximum amount of redirects reached (${y})`));return}if(c.headers.location){let R;try{R=new URL(c.headers.location)}catch(h){l(h);return}for(let[h,ge]of new URL(m).searchParams)R.searchParams.set(h,ge);return d++,A(R.href)}}a(p(m,c))});if(u.shouldKeepAlive=n.keepalive,t){let c=t.addListener(()=>{u.destroy(t.reason()||new Error("Request was aborted"))});u.once("close",()=>c())}if(u.once("timeout",()=>u.destroy(new Error("Request timed out"))),u.once("error",c=>l(c)),i)try{for await(let c of i)u.write(c);u.end()}catch(c){u.destroy(c)}else u.end()}return A(e),o}var nt=x(require("path"),1),ot=x(require("net"),1),st=x(require("os"),1);var W={};E(W,{onLiveUpdateChange:()=>Ve,open:()=>Ze,updateSettings:()=>Je});var ae="bd-get-path";var ce="bd-register-preload";var le="bd-handle-protocol",ue="bd-editor-open";var k="bd-editor-settings-update";var w=require("electron");function Ze(e,t){w.ipcRenderer.invoke(ue,e,t)}function Je(e){w.ipcRenderer.invoke(k,e)}function Ve(e){function t(r,n){e(n)}return w.ipcRenderer.on(k,t),()=>{w.ipcRenderer.off(k,t)}}var de=x(require("electron"),1);var _=x(require("electron"),1),D=x(require("path"),1);var I="";process.platform==="win32"||process.platform==="darwin"?I=D.default.join(_.default.ipcRenderer.sendSync(ae,"userData"),".."):I=process.env.XDG_CONFIG_HOME?process.env.XDG_CONFIG_HOME:D.default.join(process.env.HOME,".config");I=D.default.join(I,"BetterDiscord")+"/";var S;function Qe(e,t){if(S)return S[e]?.[t];try{let r=D.default.resolve(I,"data",process.env.DISCORD_RELEASE_CHANNEL,"settings.json");return S=require(r)??{},S[e]?.[t]}catch{return S={},S[e]?.[t]}}var{exposeInMainWorld:Ye}=_.default.contextBridge,G,F,H=!1,P=Qe("developer","devToolsWarning");typeof P!="boolean"&&(P=!1);var et={..._.default.contextBridge,exposeInMainWorld(e,t){e==="DiscordNative"&&(t.window.USE_OSX_NATIVE_TRAFFIC_LIGHTS=process.platform==="darwin"&&process.env.BETTERDISCORD_IN_APP_TRAFFIC_LIGHTS==="false",t.window.setDevtoolsCallbacks(()=>{H=!0,P||G?.()},()=>{H=!1,P||F?.()}),t.window.setDevtoolsCallbacks=(r,n)=>{G=r,F=n}),Ye(e,t)}},z=class{static setDevToolsWarningState(t){P=t,H&&(t?F?.():G?.())}static injectCSS(){if(process.env.BETTERDISCORD_NATIVE_FRAME==="false")return;let t=new global.MutationObserver(()=>{if(global.document.body){t.disconnect();let r=global.document.createElement("style");r.textContent=` #app-mount > div[class*=titleBar_], div[class*="winButtons_"] { display: none !important; } .platform-osx nav[class*=wrapper_][class*=guilds_] {margin-top: 0;} .platform-win div[class*=content_] > div[class*=sidebar_] {border-radius: 0;} `,global.document.body.append(r)}});t.observe(global.document,{childList:!0,subtree:!0})}static patch(){let t=require.resolve("electron");delete require.cache[t].exports,require.cache[t].exports=new Proxy(_.default,{get(r,n,o){return n==="contextBridge"?et:Reflect.get(r,n,o)}})}static init(){this.injectCSS(),this.patch()}},N=z;var{BETTERDISCORD_PROTOCOL:fe}=process.env;delete process.env.BETTERDISCORD_PROTOCOL;function tt(e){fe&&process.nextTick(()=>e(fe)),de.default.ipcRenderer.on(le,(t,r)=>e(r))}function rt(e){N.setDevToolsWarningState(e)}var pe=require("electron");function me(){let e=process.env.DISCORD_PRELOAD;if(e){pe.ipcRenderer.send(ce,e);try{let t=process.kill;process.kill=function(r,n){return!0},require(e),process.kill=t}catch{}}}Z();N.init();var ye=!1;X.contextBridge.exposeInMainWorld("process",J);X.contextBridge.exposeInMainWorld("BetterDiscordPreload",()=>ye?null:(ye=!0,$));me(); "use strict";var ym=Object.create;var en=Object.defineProperty;var xm=Object.getOwnPropertyDescriptor;var vm=Object.getOwnPropertyNames;var wm=Object.getPrototypeOf,km=Object.prototype.hasOwnProperty;var v=(a,e)=>()=>(a&&(e=a(a=0)),e);var X=(a,e)=>()=>(e||a((e={exports:{}}).exports,e),e.exports),tn=(a,e)=>{for(var t in e)en(a,t,{get:e[t],enumerable:!0})},$s=(a,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of vm(e))!km.call(a,r)&&r!==t&&en(a,r,{get:()=>e[r],enumerable:!(o=xm(e,r))||o.enumerable});return a};var Ae=(a,e,t)=>(t=a!=null?ym(wm(a)):{},$s(e||!a||!a.__esModule?en(t,"default",{value:a,enumerable:!0}):t,a)),Zs=a=>$s(en({},"__esModule",{value:!0}),a);var Cm,b,oe=v(()=>{"use strict";Cm={err:"error",error:"error",dbg:"debug",debug:"debug",log:"log",warn:"warn",info:"info"},b=class a{static stacktrace(e,t,o){console.error(`%c[${e}]%c ${t} %c`,"color: #3a71c1; font-weight: 700;","color: red; font-weight: 700;","color: red;",o)}static err(e,...t){a._log(e,t,"error")}static error(e,...t){a._log(e,t,"error")}static warn(e,...t){a._log(e,t,"warn")}static info(e,...t){a._log(e,t,"info")}static debug(e,...t){a._log(e,t,"debug")}static log(e,...t){a._log(e,t)}static _log(e,t,o="log"){let r=a.parseType(o);Array.isArray(t)||(t=[t]),console[r](`%c[BetterDiscord]%c [${e}]%c`,"color: #3E82E5; font-weight: 700;","color: #3a71c1;","",...t)}static parseType(e){return Cm[e]||"log"}}});var Sm,M,Ge=v(()=>{"use strict";Sm=window.BetterDiscordPreload(),M=Sm});var Lm,Im,Am,Tm,Em,Mm,Dm,Pm,zm,Bm,Nm,Fm,Om,Rm,Js,Ys,Um,jm,qm,Hm,Wm,_m,Vm,Gm,Km,$m,ze,No=v(()=>{"use strict";Ge();Lm=function(a,e="utf8"){return M.filesystem.readFile(a,e)},Im=function(a,e="utf8",t){try{let o=M.filesystem.readFile(a,e);t(null,o)}catch(o){t(o,null)}},Am=function(a,e,t,o){typeof t=="function"&&(o=t,["object","string"].includes(typeof t)||(t=void 0));try{M.filesystem.writeFile(a,e,t),o?.(null)}catch(r){o?.(r)}},Tm=function(a,e,t){M.filesystem.writeFile(a,e,t)},Em=function(a,e,t){try{let o=M.filesystem.readDirectory(a,e);t(null,o)}catch(o){t(o,null)}},Mm=function(a,e){return M.filesystem.readDirectory(a,e)},Dm=function(a,e,t){try{let o=M.filesystem.createDirectory(a,e);t(null,o)}catch(o){t(o,null)}},Pm=function(a,e){M.filesystem.createDirectory(a,e)},zm=function(a,e,t){try{let o=M.filesystem.deleteDirectory(a,e);t(null,o)}catch(o){t(o,null)}},Bm=function(a,e){M.filesystem.deleteDirectory(a,e)},Nm=function(a,e){try{let t=M.filesystem.rm(a);e(null,t)}catch(t){e(t,null)}},Fm=function(a){M.filesystem.rmSync(a)},Om=function(a,e){try{let t=M.filesystem.exists(a);e(null,t)}catch(t){e(t,null)}},Rm=function(a){return M.filesystem.exists(a)},Js=function(a,e,t){try{let o=M.filesystem.getStats(a,e);t(null,o)}catch(o){t(o)}},Ys=function(a,e){return M.filesystem.getStats(a,e)},Um=Js,jm=Ys,qm=function(a,e,t){try{let o=M.filesystem.rename(a,e);t(null,o)}catch(o){t(o,null)}},Hm=function(a,e){return M.filesystem.renameSync(a,e)},Wm=function(a,e,t){try{let o=M.filesystem.getStats(a,e);t(null,o)}catch(o){t(o,null)}},_m=function(a,e){return M.filesystem.getRealPath(a,e)},Vm=(a,e,t)=>M.filesystem.watch(a,e,t),Gm=(a,e)=>M.filesystem.createWriteStream(a,e),Km=a=>M.filesystem.unlinkSync(a),$m=a=>M.filesystem.unlinkSync(a),ze={readFile:Im,exists:Om,existsSync:Rm,lstat:Um,lstatSync:jm,mkdir:Dm,mkdirSync:Pm,readFileSync:Lm,readdir:Em,readdirSync:Mm,realpath:Wm,realpathSync:_m,rename:qm,renameSync:Hm,rm:Nm,rmSync:Fm,rmdir:zm,rmdirSync:Bm,stat:Js,statSync:Ys,unlink:$m,unlinkSync:Km,watch:Vm,writeFile:Am,writeFileSync:Tm,createWriteStream:Gm}});var sd=X(an=>{"use strict";an.byteLength=Ym;an.toByteArray=eh;an.fromByteArray=oh;var Et=[],rt=[],Jm=typeof Uint8Array<"u"?Uint8Array:Array,si="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Ca=0,nd=si.length;Ca0)throw new Error("Invalid string. Length must be a multiple of 4");var t=a.indexOf("=");t===-1&&(t=e);var o=t===e?0:4-t%4;return[t,o]}function Ym(a){var e=id(a),t=e[0],o=e[1];return(t+o)*3/4-o}function Qm(a,e,t){return(e+t)*3/4-t}function eh(a){var e,t=id(a),o=t[0],r=t[1],n=new Jm(Qm(a,o,r)),s=0,d=r>0?o-4:o,l;for(l=0;l>16&255,n[s++]=e>>8&255,n[s++]=e&255;return r===2&&(e=rt[a.charCodeAt(l)]<<2|rt[a.charCodeAt(l+1)]>>4,n[s++]=e&255),r===1&&(e=rt[a.charCodeAt(l)]<<10|rt[a.charCodeAt(l+1)]<<4|rt[a.charCodeAt(l+2)]>>2,n[s++]=e>>8&255,n[s++]=e&255),n}function th(a){return Et[a>>18&63]+Et[a>>12&63]+Et[a>>6&63]+Et[a&63]}function ah(a,e,t){for(var o,r=[],n=e;nd?d:s+n));return o===1?(e=a[t-1],r.push(Et[e>>2]+Et[e<<4&63]+"==")):o===2&&(e=(a[t-2]<<8)+a[t-1],r.push(Et[e>>10]+Et[e>>4&63]+Et[e<<2&63]+"=")),r.join("")}});var dd=X(di=>{di.read=function(a,e,t,o,r){var n,s,d=r*8-o-1,l=(1<>1,c=-7,f=t?r-1:0,m=t?-1:1,h=a[e+f];for(f+=m,n=h&(1<<-c)-1,h>>=-c,c+=d;c>0;n=n*256+a[e+f],f+=m,c-=8);for(s=n&(1<<-c)-1,n>>=-c,c+=o;c>0;s=s*256+a[e+f],f+=m,c-=8);if(n===0)n=1-u;else{if(n===l)return s?NaN:(h?-1:1)*(1/0);s=s+Math.pow(2,o),n=n-u}return(h?-1:1)*s*Math.pow(2,n-o)};di.write=function(a,e,t,o,r,n){var s,d,l,u=n*8-r-1,c=(1<>1,m=r===23?Math.pow(2,-24)-Math.pow(2,-77):0,h=o?0:n-1,g=o?1:-1,k=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(d=isNaN(e)?1:0,s=c):(s=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-s))<1&&(s--,l*=2),s+f>=1?e+=m/l:e+=m*Math.pow(2,1-f),e*l>=2&&(s++,l/=2),s+f>=c?(d=0,s=c):s+f>=1?(d=(e*l-1)*Math.pow(2,r),s=s+f):(d=e*Math.pow(2,f-1)*Math.pow(2,r),s=0));r>=8;a[t+h]=d&255,h+=g,d/=256,r-=8);for(s=s<0;a[t+h]=s&255,h+=g,s/=256,u-=8);a[t+h-g]|=k*128}});var Ld=X(no=>{"use strict";var li=sd(),oo=dd(),ld=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;no.Buffer=y;no.SlowBuffer=lh;no.INSPECT_MAX_BYTES=50;var on=2147483647;no.kMaxLength=on;y.TYPED_ARRAY_SUPPORT=rh();!y.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function rh(){try{let a=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(a,e),a.foo()===42}catch{return!1}}Object.defineProperty(y.prototype,"parent",{enumerable:!0,get:function(){if(y.isBuffer(this))return this.buffer}});Object.defineProperty(y.prototype,"offset",{enumerable:!0,get:function(){if(y.isBuffer(this))return this.byteOffset}});function Rt(a){if(a>on)throw new RangeError('The value "'+a+'" is invalid for option "size"');let e=new Uint8Array(a);return Object.setPrototypeOf(e,y.prototype),e}function y(a,e,t){if(typeof a=="number"){if(typeof e=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return pi(a)}return pd(a,e,t)}y.poolSize=8192;function pd(a,e,t){if(typeof a=="string")return ih(a,e);if(ArrayBuffer.isView(a))return sh(a);if(a==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof a);if(Mt(a,ArrayBuffer)||a&&Mt(a.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Mt(a,SharedArrayBuffer)||a&&Mt(a.buffer,SharedArrayBuffer)))return ci(a,e,t);if(typeof a=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let o=a.valueOf&&a.valueOf();if(o!=null&&o!==a)return y.from(o,e,t);let r=dh(a);if(r)return r;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof a[Symbol.toPrimitive]=="function")return y.from(a[Symbol.toPrimitive]("string"),e,t);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof a)}y.from=function(a,e,t){return pd(a,e,t)};Object.setPrototypeOf(y.prototype,Uint8Array.prototype);Object.setPrototypeOf(y,Uint8Array);function md(a){if(typeof a!="number")throw new TypeError('"size" argument must be of type number');if(a<0)throw new RangeError('The value "'+a+'" is invalid for option "size"')}function nh(a,e,t){return md(a),a<=0?Rt(a):e!==void 0?typeof t=="string"?Rt(a).fill(e,t):Rt(a).fill(e):Rt(a)}y.alloc=function(a,e,t){return nh(a,e,t)};function pi(a){return md(a),Rt(a<0?0:mi(a)|0)}y.allocUnsafe=function(a){return pi(a)};y.allocUnsafeSlow=function(a){return pi(a)};function ih(a,e){if((typeof e!="string"||e==="")&&(e="utf8"),!y.isEncoding(e))throw new TypeError("Unknown encoding: "+e);let t=hd(a,e)|0,o=Rt(t),r=o.write(a,e);return r!==t&&(o=o.slice(0,r)),o}function ui(a){let e=a.length<0?0:mi(a.length)|0,t=Rt(e);for(let o=0;o=on)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+on.toString(16)+" bytes");return a|0}function lh(a){return+a!=a&&(a=0),y.alloc(+a)}y.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==y.prototype};y.compare=function(e,t){if(Mt(e,Uint8Array)&&(e=y.from(e,e.offset,e.byteLength)),Mt(t,Uint8Array)&&(t=y.from(t,t.offset,t.byteLength)),!y.isBuffer(e)||!y.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;let o=e.length,r=t.length;for(let n=0,s=Math.min(o,r);nr.length?(y.isBuffer(s)||(s=y.from(s)),s.copy(r,n)):Uint8Array.prototype.set.call(r,s,n);else if(y.isBuffer(s))s.copy(r,n);else throw new TypeError('"list" argument must be an Array of Buffers');n+=s.length}return r};function hd(a,e){if(y.isBuffer(a))return a.length;if(ArrayBuffer.isView(a)||Mt(a,ArrayBuffer))return a.byteLength;if(typeof a!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof a);let t=a.length,o=arguments.length>2&&arguments[2]===!0;if(!o&&t===0)return 0;let r=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return t;case"utf8":case"utf-8":return fi(a).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return t*2;case"hex":return t>>>1;case"base64":return Sd(a).length;default:if(r)return o?-1:fi(a).length;e=(""+e).toLowerCase(),r=!0}}y.byteLength=hd;function uh(a,e,t){let o=!1;if((e===void 0||e<0)&&(e=0),e>this.length||((t===void 0||t>this.length)&&(t=this.length),t<=0)||(t>>>=0,e>>>=0,t<=e))return"";for(a||(a="utf8");;)switch(a){case"hex":return vh(this,e,t);case"utf8":case"utf-8":return bd(this,e,t);case"ascii":return yh(this,e,t);case"latin1":case"binary":return xh(this,e,t);case"base64":return gh(this,e,t);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return wh(this,e,t);default:if(o)throw new TypeError("Unknown encoding: "+a);a=(a+"").toLowerCase(),o=!0}}y.prototype._isBuffer=!0;function Sa(a,e,t){let o=a[e];a[e]=a[t],a[t]=o}y.prototype.swap16=function(){let e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tt&&(e+=" ... "),""};ld&&(y.prototype[ld]=y.prototype.inspect);y.prototype.compare=function(e,t,o,r,n){if(Mt(e,Uint8Array)&&(e=y.from(e,e.offset,e.byteLength)),!y.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(t===void 0&&(t=0),o===void 0&&(o=e?e.length:0),r===void 0&&(r=0),n===void 0&&(n=this.length),t<0||o>e.length||r<0||n>this.length)throw new RangeError("out of range index");if(r>=n&&t>=o)return 0;if(r>=n)return-1;if(t>=o)return 1;if(t>>>=0,o>>>=0,r>>>=0,n>>>=0,this===e)return 0;let s=n-r,d=o-t,l=Math.min(s,d),u=this.slice(r,n),c=e.slice(t,o);for(let f=0;f2147483647?t=2147483647:t<-2147483648&&(t=-2147483648),t=+t,gi(t)&&(t=r?0:a.length-1),t<0&&(t=a.length+t),t>=a.length){if(r)return-1;t=a.length-1}else if(t<0)if(r)t=0;else return-1;if(typeof e=="string"&&(e=y.from(e,o)),y.isBuffer(e))return e.length===0?-1:ud(a,e,t,o,r);if(typeof e=="number")return e=e&255,typeof Uint8Array.prototype.indexOf=="function"?r?Uint8Array.prototype.indexOf.call(a,e,t):Uint8Array.prototype.lastIndexOf.call(a,e,t):ud(a,[e],t,o,r);throw new TypeError("val must be string, number or Buffer")}function ud(a,e,t,o,r){let n=1,s=a.length,d=e.length;if(o!==void 0&&(o=String(o).toLowerCase(),o==="ucs2"||o==="ucs-2"||o==="utf16le"||o==="utf-16le")){if(a.length<2||e.length<2)return-1;n=2,s/=2,d/=2,t/=2}function l(c,f){return n===1?c[f]:c.readUInt16BE(f*n)}let u;if(r){let c=-1;for(u=t;us&&(t=s-d),u=t;u>=0;u--){let c=!0;for(let f=0;fr&&(o=r)):o=r;let n=e.length;o>n/2&&(o=n/2);let s;for(s=0;s>>0,isFinite(o)?(o=o>>>0,r===void 0&&(r="utf8")):(r=o,o=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let n=this.length-t;if((o===void 0||o>n)&&(o=n),e.length>0&&(o<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");let s=!1;for(;;)switch(r){case"hex":return ch(this,e,t,o);case"utf8":case"utf-8":return fh(this,e,t,o);case"ascii":case"latin1":case"binary":return ph(this,e,t,o);case"base64":return mh(this,e,t,o);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return hh(this,e,t,o);default:if(s)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),s=!0}};y.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function gh(a,e,t){return e===0&&t===a.length?li.fromByteArray(a):li.fromByteArray(a.slice(e,t))}function bd(a,e,t){t=Math.min(a.length,t);let o=[],r=e;for(;r239?4:n>223?3:n>191?2:1;if(r+d<=t){let l,u,c,f;switch(d){case 1:n<128&&(s=n);break;case 2:l=a[r+1],(l&192)===128&&(f=(n&31)<<6|l&63,f>127&&(s=f));break;case 3:l=a[r+1],u=a[r+2],(l&192)===128&&(u&192)===128&&(f=(n&15)<<12|(l&63)<<6|u&63,f>2047&&(f<55296||f>57343)&&(s=f));break;case 4:l=a[r+1],u=a[r+2],c=a[r+3],(l&192)===128&&(u&192)===128&&(c&192)===128&&(f=(n&15)<<18|(l&63)<<12|(u&63)<<6|c&63,f>65535&&f<1114112&&(s=f))}}s===null?(s=65533,d=1):s>65535&&(s-=65536,o.push(s>>>10&1023|55296),s=56320|s&1023),o.push(s),r+=d}return bh(o)}var cd=4096;function bh(a){let e=a.length;if(e<=cd)return String.fromCharCode.apply(String,a);let t="",o=0;for(;oo)&&(t=o);let r="";for(let n=e;no&&(e=o),t<0?(t+=o,t<0&&(t=0)):t>o&&(t=o),tt)throw new RangeError("Trying to access beyond buffer length")}y.prototype.readUintLE=y.prototype.readUIntLE=function(e,t,o){e=e>>>0,t=t>>>0,o||Me(e,t,this.length);let r=this[e],n=1,s=0;for(;++s>>0,t=t>>>0,o||Me(e,t,this.length);let r=this[e+--t],n=1;for(;t>0&&(n*=256);)r+=this[e+--t]*n;return r};y.prototype.readUint8=y.prototype.readUInt8=function(e,t){return e=e>>>0,t||Me(e,1,this.length),this[e]};y.prototype.readUint16LE=y.prototype.readUInt16LE=function(e,t){return e=e>>>0,t||Me(e,2,this.length),this[e]|this[e+1]<<8};y.prototype.readUint16BE=y.prototype.readUInt16BE=function(e,t){return e=e>>>0,t||Me(e,2,this.length),this[e]<<8|this[e+1]};y.prototype.readUint32LE=y.prototype.readUInt32LE=function(e,t){return e=e>>>0,t||Me(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216};y.prototype.readUint32BE=y.prototype.readUInt32BE=function(e,t){return e=e>>>0,t||Me(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])};y.prototype.readBigUInt64LE=la(function(e){e=e>>>0,ro(e,"offset");let t=this[e],o=this[e+7];(t===void 0||o===void 0)&&Oo(e,this.length-8);let r=t+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24,n=this[++e]+this[++e]*2**8+this[++e]*2**16+o*2**24;return BigInt(r)+(BigInt(n)<>>0,ro(e,"offset");let t=this[e],o=this[e+7];(t===void 0||o===void 0)&&Oo(e,this.length-8);let r=t*2**24+this[++e]*2**16+this[++e]*2**8+this[++e],n=this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+o;return(BigInt(r)<>>0,t=t>>>0,o||Me(e,t,this.length);let r=this[e],n=1,s=0;for(;++s=n&&(r-=Math.pow(2,8*t)),r};y.prototype.readIntBE=function(e,t,o){e=e>>>0,t=t>>>0,o||Me(e,t,this.length);let r=t,n=1,s=this[e+--r];for(;r>0&&(n*=256);)s+=this[e+--r]*n;return n*=128,s>=n&&(s-=Math.pow(2,8*t)),s};y.prototype.readInt8=function(e,t){return e=e>>>0,t||Me(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]};y.prototype.readInt16LE=function(e,t){e=e>>>0,t||Me(e,2,this.length);let o=this[e]|this[e+1]<<8;return o&32768?o|4294901760:o};y.prototype.readInt16BE=function(e,t){e=e>>>0,t||Me(e,2,this.length);let o=this[e+1]|this[e]<<8;return o&32768?o|4294901760:o};y.prototype.readInt32LE=function(e,t){return e=e>>>0,t||Me(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24};y.prototype.readInt32BE=function(e,t){return e=e>>>0,t||Me(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]};y.prototype.readBigInt64LE=la(function(e){e=e>>>0,ro(e,"offset");let t=this[e],o=this[e+7];(t===void 0||o===void 0)&&Oo(e,this.length-8);let r=this[e+4]+this[e+5]*2**8+this[e+6]*2**16+(o<<24);return(BigInt(r)<>>0,ro(e,"offset");let t=this[e],o=this[e+7];(t===void 0||o===void 0)&&Oo(e,this.length-8);let r=(t<<24)+this[++e]*2**16+this[++e]*2**8+this[++e];return(BigInt(r)<>>0,t||Me(e,4,this.length),oo.read(this,e,!0,23,4)};y.prototype.readFloatBE=function(e,t){return e=e>>>0,t||Me(e,4,this.length),oo.read(this,e,!1,23,4)};y.prototype.readDoubleLE=function(e,t){return e=e>>>0,t||Me(e,8,this.length),oo.read(this,e,!0,52,8)};y.prototype.readDoubleBE=function(e,t){return e=e>>>0,t||Me(e,8,this.length),oo.read(this,e,!1,52,8)};function Ke(a,e,t,o,r,n){if(!y.isBuffer(a))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>r||ea.length)throw new RangeError("Index out of range")}y.prototype.writeUintLE=y.prototype.writeUIntLE=function(e,t,o,r){if(e=+e,t=t>>>0,o=o>>>0,!r){let d=Math.pow(2,8*o)-1;Ke(this,e,t,o,d,0)}let n=1,s=0;for(this[t]=e&255;++s>>0,o=o>>>0,!r){let d=Math.pow(2,8*o)-1;Ke(this,e,t,o,d,0)}let n=o-1,s=1;for(this[t+n]=e&255;--n>=0&&(s*=256);)this[t+n]=e/s&255;return t+o};y.prototype.writeUint8=y.prototype.writeUInt8=function(e,t,o){return e=+e,t=t>>>0,o||Ke(this,e,t,1,255,0),this[t]=e&255,t+1};y.prototype.writeUint16LE=y.prototype.writeUInt16LE=function(e,t,o){return e=+e,t=t>>>0,o||Ke(this,e,t,2,65535,0),this[t]=e&255,this[t+1]=e>>>8,t+2};y.prototype.writeUint16BE=y.prototype.writeUInt16BE=function(e,t,o){return e=+e,t=t>>>0,o||Ke(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=e&255,t+2};y.prototype.writeUint32LE=y.prototype.writeUInt32LE=function(e,t,o){return e=+e,t=t>>>0,o||Ke(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=e&255,t+4};y.prototype.writeUint32BE=y.prototype.writeUInt32BE=function(e,t,o){return e=+e,t=t>>>0,o||Ke(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};function yd(a,e,t,o,r){Cd(e,o,r,a,t,7);let n=Number(e&BigInt(4294967295));a[t++]=n,n=n>>8,a[t++]=n,n=n>>8,a[t++]=n,n=n>>8,a[t++]=n;let s=Number(e>>BigInt(32)&BigInt(4294967295));return a[t++]=s,s=s>>8,a[t++]=s,s=s>>8,a[t++]=s,s=s>>8,a[t++]=s,t}function xd(a,e,t,o,r){Cd(e,o,r,a,t,7);let n=Number(e&BigInt(4294967295));a[t+7]=n,n=n>>8,a[t+6]=n,n=n>>8,a[t+5]=n,n=n>>8,a[t+4]=n;let s=Number(e>>BigInt(32)&BigInt(4294967295));return a[t+3]=s,s=s>>8,a[t+2]=s,s=s>>8,a[t+1]=s,s=s>>8,a[t]=s,t+8}y.prototype.writeBigUInt64LE=la(function(e,t=0){return yd(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});y.prototype.writeBigUInt64BE=la(function(e,t=0){return xd(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});y.prototype.writeIntLE=function(e,t,o,r){if(e=+e,t=t>>>0,!r){let l=Math.pow(2,8*o-1);Ke(this,e,t,o,l-1,-l)}let n=0,s=1,d=0;for(this[t]=e&255;++n>0)-d&255;return t+o};y.prototype.writeIntBE=function(e,t,o,r){if(e=+e,t=t>>>0,!r){let l=Math.pow(2,8*o-1);Ke(this,e,t,o,l-1,-l)}let n=o-1,s=1,d=0;for(this[t+n]=e&255;--n>=0&&(s*=256);)e<0&&d===0&&this[t+n+1]!==0&&(d=1),this[t+n]=(e/s>>0)-d&255;return t+o};y.prototype.writeInt8=function(e,t,o){return e=+e,t=t>>>0,o||Ke(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=e&255,t+1};y.prototype.writeInt16LE=function(e,t,o){return e=+e,t=t>>>0,o||Ke(this,e,t,2,32767,-32768),this[t]=e&255,this[t+1]=e>>>8,t+2};y.prototype.writeInt16BE=function(e,t,o){return e=+e,t=t>>>0,o||Ke(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=e&255,t+2};y.prototype.writeInt32LE=function(e,t,o){return e=+e,t=t>>>0,o||Ke(this,e,t,4,2147483647,-2147483648),this[t]=e&255,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4};y.prototype.writeInt32BE=function(e,t,o){return e=+e,t=t>>>0,o||Ke(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};y.prototype.writeBigInt64LE=la(function(e,t=0){return yd(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});y.prototype.writeBigInt64BE=la(function(e,t=0){return xd(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function vd(a,e,t,o,r,n){if(t+o>a.length)throw new RangeError("Index out of range");if(t<0)throw new RangeError("Index out of range")}function wd(a,e,t,o,r){return e=+e,t=t>>>0,r||vd(a,e,t,4,34028234663852886e22,-34028234663852886e22),oo.write(a,e,t,o,23,4),t+4}y.prototype.writeFloatLE=function(e,t,o){return wd(this,e,t,!0,o)};y.prototype.writeFloatBE=function(e,t,o){return wd(this,e,t,!1,o)};function kd(a,e,t,o,r){return e=+e,t=t>>>0,r||vd(a,e,t,8,17976931348623157e292,-17976931348623157e292),oo.write(a,e,t,o,52,8),t+8}y.prototype.writeDoubleLE=function(e,t,o){return kd(this,e,t,!0,o)};y.prototype.writeDoubleBE=function(e,t,o){return kd(this,e,t,!1,o)};y.prototype.copy=function(e,t,o,r){if(!y.isBuffer(e))throw new TypeError("argument should be a Buffer");if(o||(o=0),!r&&r!==0&&(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t>>0,o=o===void 0?this.length:o>>>0,e||(e=0);let n;if(typeof e=="number")for(n=t;n2**32?r=fd(String(t)):typeof t=="bigint"&&(r=String(t),(t>BigInt(2)**BigInt(32)||t<-(BigInt(2)**BigInt(32)))&&(r=fd(r)),r+="n"),o+=` It must be ${e}. Received ${r}`,o},RangeError);function fd(a){let e="",t=a.length,o=a[0]==="-"?1:0;for(;t>=o+4;t-=3)e=`_${a.slice(t-3,t)}${e}`;return`${a.slice(0,t)}${e}`}function kh(a,e,t){ro(e,"offset"),(a[e]===void 0||a[e+t]===void 0)&&Oo(e,a.length-(t+1))}function Cd(a,e,t,o,r,n){if(a>t||a3?e===0||e===BigInt(0)?d=`>= 0${s} and < 2${s} ** ${(n+1)*8}${s}`:d=`>= -(2${s} ** ${(n+1)*8-1}${s}) and < 2 ** ${(n+1)*8-1}${s}`:d=`>= ${e}${s} and <= ${t}${s}`,new ao.ERR_OUT_OF_RANGE("value",d,a)}kh(o,r,n)}function ro(a,e){if(typeof a!="number")throw new ao.ERR_INVALID_ARG_TYPE(e,"number",a)}function Oo(a,e,t){throw Math.floor(a)!==a?(ro(a,t),new ao.ERR_OUT_OF_RANGE(t||"offset","an integer",a)):e<0?new ao.ERR_BUFFER_OUT_OF_BOUNDS:new ao.ERR_OUT_OF_RANGE(t||"offset",`>= ${t?1:0} and <= ${e}`,a)}var Ch=/[^+/0-9A-Za-z-_]/g;function Sh(a){if(a=a.split("=")[0],a=a.trim().replace(Ch,""),a.length<2)return"";for(;a.length%4!==0;)a=a+"=";return a}function fi(a,e){e=e||1/0;let t,o=a.length,r=null,n=[];for(let s=0;s55295&&t<57344){if(!r){if(t>56319){(e-=3)>-1&&n.push(239,191,189);continue}else if(s+1===o){(e-=3)>-1&&n.push(239,191,189);continue}r=t;continue}if(t<56320){(e-=3)>-1&&n.push(239,191,189),r=t;continue}t=(r-55296<<10|t-56320)+65536}else r&&(e-=3)>-1&&n.push(239,191,189);if(r=null,t<128){if((e-=1)<0)break;n.push(t)}else if(t<2048){if((e-=2)<0)break;n.push(t>>6|192,t&63|128)}else if(t<65536){if((e-=3)<0)break;n.push(t>>12|224,t>>6&63|128,t&63|128)}else if(t<1114112){if((e-=4)<0)break;n.push(t>>18|240,t>>12&63|128,t>>6&63|128,t&63|128)}else throw new Error("Invalid code point")}return n}function Lh(a){let e=[];for(let t=0;t>8,r=t%256,n.push(r),n.push(o);return n}function Sd(a){return li.toByteArray(Sh(a))}function rn(a,e,t,o){let r;for(r=0;r=e.length||r>=a.length);++r)e[r+t]=a[r];return r}function Mt(a,e){return a instanceof e||a!=null&&a.constructor!=null&&a.constructor.name!=null&&a.constructor.name===e.name}function gi(a){return a!==a}var Ah=function(){let a="0123456789abcdef",e=new Array(256);for(let t=0;t<16;++t){let o=t*16;for(let r=0;r<16;++r)e[o+r]=a[t]+a[r]}return e}();function la(a){return typeof BigInt>"u"?Th:a}function Th(){throw new Error("BigInt not supported")}});var ke,Ut=v(()=>{"use strict";ke=class{initialize(){}#e=new Set;addChangeListener(e){return this.#e.add(e),()=>this.removeChangeListener(e)}removeChangeListener(e){this.#e.delete(e)}emitChange(){for(let e of this.#e)e()}};Object.freeze(ke);Object.freeze(ke.prototype)});var Ro,_,He=v(()=>{"use strict";Ro=Ae(require("path"),1);Ut();_=new class extends ke{data={branch:"main",commit:"c80317a0",build:"production",version:"1.13.8",appPath:process.env.DISCORD_APP_PATH,userData:process.env.DISCORD_USER_DATA,bdPath:process.env.BETTERDISCORD_DATA_PATH,dataPath:Ro.default.join(process.env.BETTERDISCORD_DATA_PATH,"data"),pluginsPath:Ro.default.join(process.env.BETTERDISCORD_DATA_PATH,"plugins"),themesPath:Ro.default.join(process.env.BETTERDISCORD_DATA_PATH,"themes"),channelPath:Ro.default.join(process.env.BETTERDISCORD_DATA_PATH,"data",window?.DiscordNative?.app?.getReleaseChannel?.()??"stable")};get(e){return this.data[e]}set(e,t){this.data[e]=t,this.emitChange()}get isDevelopment(){return this.data.build!=="production"}get isCanary(){return this.data.branch!=="main"}}});var Dd,N,Be=v(()=>{"use strict";Dd=Ae(require("events"),1),N=new class extends Dd.default{constructor(){super(),this.setMaxListeners(20)}dispatch(e,...t){this.emit(e,...t)}}});var Pd,zd,Bd=v(()=>{"use strict";He();Pd=[{type:"category",id:"general",collapsible:!0,settings:[{type:"switch",id:"voiceDisconnect",value:!1},{type:"switch",id:"showToasts",value:!0},{type:"switch",id:"mediaKeys",value:!1},{type:"switch",id:"bdContextMenu",value:!0},{type:"switch",id:"themeAttributes",value:!0},{type:"position",id:"notificationPosition",value:"top-right",inline:!1,enableWith:"notificationEnabled"},{type:"switch",id:"notificationEnabled",value:!0}]},{type:"category",id:"addons",collapsible:!0,shown:!1,settings:[{type:"switch",id:"addonErrors",value:!0},{type:"dropdown",id:"editAction",value:"detached",options:[{value:"detached"},{value:"external"},{value:"system"}]},{type:"switch",id:"checkForUpdates",value:!0},{type:"slider",id:"updateInterval",value:4,min:2,max:12,step:1,markers:[2,4,6,8,10,12],units:"hrs",enableWith:"checkForUpdates"}]},{type:"category",id:"store",collapsible:!0,shown:!1,settings:[{type:"switch",id:"bdAddonStore",value:!0},{type:"switch",id:"alwaysEnable",value:!1},{type:"switch",id:"addonEmbeds",value:!0}]},{type:"category",id:"customcss",collapsible:!0,shown:!1,settings:[{type:"switch",id:"customcss",value:!0},{type:"switch",id:"liveUpdate",value:!1},{type:"dropdown",id:"openAction",value:"settings",options:[{value:"settings"},{value:"detached"},{value:"external"},{value:"system"}]}]},{type:"category",id:"editor",collapsible:!0,shown:!1,settings:[{type:"dropdown",id:"theme",value:"system",options:[{value:"system"},{value:"vs-dark"},{value:"vs"},{value:"hc-black"},{value:"hc-light"}]},{type:"switch",id:"lineNumbers",value:!0},{type:"switch",id:"minimap",value:!0},{type:"switch",id:"hover",value:!0},{type:"switch",id:"quickSuggestions",value:!0},{type:"switch",id:"insertSpaces",value:!1},{type:"number",id:"tabSize",min:1,value:4},{type:"number",id:"fontSize",min:2,value:14},{type:"dropdown",id:"renderWhitespace",value:"selection",options:[{value:"none"},{value:"all"},{value:"selection"}]}]},{type:"category",id:"window",collapsible:!0,shown:!1,settings:[{type:"switch",id:"transparency",value:!1},{type:"switch",id:"removeMinimumSize",value:!1},{type:"switch",id:"frame",value:!1},{type:"switch",id:"inAppTrafficLights",value:!1,disabled:process.env.BETTERDISCORD_NATIVE_FRAME==="true",hidden:process.platform!=="darwin"}]},{type:"category",id:"developer",collapsible:!0,shown:!1,settings:[{type:"switch",id:"debugLogs",value:!1},{type:"switch",id:"devTools",value:!1},{type:"switch",id:"debuggerHotkey",value:!1,enableWith:"devTools"},{type:"switch",id:"reactDevTools",value:!1,enableWith:"devTools"},{type:"switch",id:"inspectElement",value:!1,enableWith:"devTools"},{type:"switch",id:"devToolsWarning",value:!1,enableWith:"devTools"},{type:"switch",id:"recovery",value:!0,enableWith:"devTools"},{type:"switch",id:"canary",value:_.isCanary,hidden:!0}]}];_.isDevelopment&&Pd.push({type:"category",id:"debug",name:"Debug",collapsible:!0,shown:!0,settings:[{name:"Text test",note:"Just testing it",type:"text",id:"texttest",value:""},{name:"Slider test",note:"Just testing it",type:"slider",id:"slidertest",value:30,min:20,max:50,step:10,units:"em",markers:[{label:"max",value:50},30,{label:"min",value:20},{label:"anything",value:40}]},{name:"Radio test",note:"Just testing it",type:"radio",id:"radiotest",value:"test",options:[{name:"First",value:30,description:"little hint"},{name:"IDK",value:"test",description:"who cares"},{name:"Something",value:666,description:"something else"},{name:"Last",value:"last",description:"nothing more to add"}]},{type:"slider",id:"maxWidth",name:"Notification Width",note:"Maximum width of notifications",value:370,min:100,max:400,markers:[100,200,300,400],units:"px",defaultValue:370,stickToMarkers:!1},{name:"Keybind test",note:"Just testing it",type:"keybind",id:"keybindtest",value:["Control","H"]},{name:"Color test",note:"Just testing it",type:"color",id:"colortest",value:"#ff0000",defaultValue:"#ffffff"}]});zd=Pd});var Nd=v(()=>{"use strict"});function uo(a,e){let t;return function(...o){clearTimeout(t),t=setTimeout(()=>a(...o),e)}}var Fd=v(()=>{"use strict"});function Od(a){let e=[];for(let t=0;t{"use strict"});function xe(a,e,{walkable:t=null,ignore:o=[]}={}){if(typeof e=="string"){if(a?.hasOwnProperty(e))return a[e]}else if(e(a))return a;if(typeof a!="object"||a==null)return;let r;if(a instanceof Array){for(let n of a)if(r=xe(n,e,{walkable:t,ignore:o}),typeof r<"u")return r}else{let n=t??Object.keys(a);for(let s of n)if(!(typeof a[s]>"u"||o.includes(s))&&(r=xe(a[s],e,{walkable:t,ignore:o}),typeof r<"u"))return r}return r}var Ud=v(()=>{"use strict"});function co(a,e){for(let t in e){let o=e[t];typeof o=="function"&&(o=o()),o!==void 0&&(o===null&&(o="null"),Array.isArray(o)&&(o=JSON.stringify(o)),typeof o=="object"&&o!==null&&(o=o.toString()),a=a.replace(new RegExp(`{{${t}}}`,"g"),o?.toString()??"null"))}return a}var jd=v(()=>{"use strict"});function dn(a){let e=new Proxy(a,{get:function(t,o){if(typeof o=="symbol")return null;if(Object.prototype.hasOwnProperty.call(t,o)){if(Object.getOwnPropertyDescriptor(t,o)?.get){let r=t[o];delete t[o],t[o]=r}return t[o]}},set:function(t,o,r){return typeof o=="symbol"||Object.prototype.hasOwnProperty.call(t,o)?!1:(t[o]=r,!0)}});return Object.defineProperty(e,"hasOwnProperty",{value:function(t){return this[t]!==void 0}}),e}var qd=v(()=>{"use strict"});function mt(a,e,t){if(!e)return a;let o=e.split(".");return t&&o.pop(),o.reduce((r,n)=>r&&r[n],a)}var Hd=v(()=>{"use strict"});var nt=v(()=>{"use strict";Nd();Fd();Rd();Ud();jd();qd();Hd()});function Vd(a){for(let e in a){let t=a[e];a[e]=(o,r,n)=>{try{Reflect.apply(t,null,[o,r,n]);let s=[...ln];for(let d=0;dt.toString()})}}function Wd(a){let[,e]=a;return Vd(e),Reflect.apply(_d,window.webpackChunkdiscord_app,[a])}var J,ln,_d,un,fo=v(()=>{"use strict";oe();ln=new Set,_d=window.webpackChunkdiscord_app.push;Object.defineProperty(window.webpackChunkdiscord_app,"push",{configurable:!0,get:()=>Wd,set:a=>{_d=a,Object.defineProperty(window.webpackChunkdiscord_app,"push",{value:Wd,configurable:!0,writable:!0})}});window.webpackChunkdiscord_app.push([[Symbol("BetterDiscord")],{},a=>{"b"in a&&(J=a,Vd(a.m))}]);un=new Proxy({},{ownKeys(){return Object.keys(J.m)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}},get(a,e){return J.m[e]},set(){throw new Error("[WebpackModules~modules] Setting modules is not allowed.")}})});var F={};tn(F,{byDisplayName:()=>pn,byKeys:()=>xi,byPrototypeKeys:()=>cn,byRegex:()=>Gd,bySource:()=>po,byStoreName:()=>Dh,byStrings:()=>fn,combine:()=>Ph,not:()=>zh});function qt(a,e){return Object.assign(a,{[Symbol.for("BetterDiscord.Filter")]:e})}function xi(a,e=t=>t){return qt(t=>{if(!t||typeof t!="object"&&typeof t!="function")return!1;let o=e(t);if(!o)return!1;for(let r=0;rt){return qt(t=>{if(!t||typeof t!="object"&&typeof t!="function")return!1;let o=e(t);if(!o||!o.prototype)return!1;for(let r=0;rt){return qt(t=>{let o=e(t);if(!o)return!1;let r="";try{r=o.toString([])}catch{r=o.toString()}return r.search(a)!==-1},{search:a,filter:e})}function po(...a){let e=J.m;return qt((t,o)=>{let r=o?.id;if(!r)return!1;let n;try{n=e[r].toString()}catch{return!1}if(!n)return!1;for(let s=0;s{if(typeof e!="function")return!1;try{let t=String(e);for(let o of a)if(!t.includes(o))return!1;return!0}catch{return!1}},{strings:a})}function pn(a){return qt(e=>e&&e.displayName===a,{name:a})}function Dh(a){return qt(e=>e?._dispatchToken&&e?.getName?.()===a,{name:a})}function Ph(...a){return qt((e,t,o)=>a.every(r=>r(e,t,o)),{filters:a})}function zh(a){return qt((e,t,o)=>!a(e,t,o),{filter:a})}var mn=v(()=>{"use strict";fo()});function it(a){return!!(!(typeof a=="object"||typeof a=="function")||!a||a.TypedArray||a===window||a===document.documentElement||a[Symbol.toStringTag]==="DOMTokenList"||a===Symbol||a instanceof Window||a instanceof Bh||a.$$loader&&a.$$baseObject||a.Z?.$$loader&&a.Z?.$$baseObject)}function Ia(a){if("A"in a.exports)return"A";if("Ay"in a.exports)return"Ay";if(a.exports.__esModule&&"default"in a.exports)return"default"}var Kd,La,Bh,Dt,hn=v(()=>{"use strict";oe();Kd=new WeakSet,La=a=>Object.assign((e,t,o)=>{try{return e instanceof Window||e?.default?.remove&&e?.default?.set&&e?.default?.clear&&e?.default?.get&&!e?.default?.sort||e.remove&&e.set&&e.clear&&e.get&&!e.sort||e?.default?.getToken||e?.default?.getEmail||e?.default?.showToken||e.getToken||e.getEmail||e.showToken?!1:a(e,t,o)}catch(r){return Kd.has(a)||b.warn("WebpackModules~getModule","Module filter threw an exception.",r,{filter:a,module:t}),Kd.add(a),!1}},{__originalFilter:a}),Bh=Object.getPrototypeOf(Uint8Array);Dt=()=>new Error("Module search failed!")});var vi,ht,wi=v(()=>{"use strict";No();vi=Ae(require("path"),1);He();ht=class{static data;static get(e){return this.data||this.load(),this.data[e]}static set(e,t){this.data[e]=t,this.saveDebounced()}static load(){let e=vi.default.resolve(_.get("channelPath"),"webpack.json");try{let t=ze.readFileSync(e).toString();this.data=JSON.parse(t)}catch{this.data={}}}static saveDebounceTimeout;static saveTimeout;static saveDebounced(){this.saveDebounceTimeout&&clearTimeout(this.saveDebounceTimeout),this.saveDebounceTimeout=setTimeout(()=>{this.save(),this.saveTimeout&&(clearTimeout(this.saveTimeout),this.saveTimeout=void 0)},100),this.saveTimeout||(this.saveTimeout=setTimeout(()=>{this.save(),this.saveTimeout=void 0,this.saveDebounceTimeout&&clearTimeout(this.saveDebounceTimeout)},1e4))}static save(){let e=vi.default.resolve(_.get("channelPath"),"webpack.json");ze.writeFileSync(e,JSON.stringify(this.data,null,4))}static stackPluginRegex=/\/([^\/]+)\.plugin\.js:(\d+):(\d+)/g;static getIdFromStack(e){let o=new Error().stack.matchAll(this.stackPluginRegex),r=null,n=null,s=0;for(let d of o)d[1]!==r&&(r=d[1],n=d[1]),s=(s<<5)-s+parseInt(d[2]),s=(s<<5)-s+parseInt(d[3]);if(n)return`${n}:${s>>>0}${e!==void 0?`:${e}`:""}`}}});function ki(a,e,t){let{defaultExport:o=!0,searchExports:r=!1,searchDefault:n=!0,raw:s=!1}=t;if(it(a.exports))return;if(e(a.exports,a,a.id))return s?a:a.exports;if(!r&&!n)return;let d,l=[];r?l.push(...Object.keys(a.exports)):n&&(d=Ia(a))&&l.push(d);for(let u=0;u{"use strict";hn();fo();wi()});function We(a,e={}){let{signal:t,defaultExport:o=!0,searchDefault:r=!0,searchExports:n=!1,raw:s=!1,fatal:d=!1}=e;if(e.cacheId||(e.cacheId=null),t?.aborted)return d?Promise.reject(Dt()):Promise.resolve(void 0);let l=ne(a,e);return l?Promise.resolve(l):(a=La(a),new Promise((u,c)=>{let f=()=>void ln.delete(m),m=(h,g)=>{if(it(g.exports))return;if(a(g.exports,g,g.id)){u(s?g:g.exports),f();return}if(!n&&!r)return;let k,I=[];n?I.push(...Object.keys(g.exports)):r&&(k=Ia(g))&&I.push(k);for(let R=0;R{f(),d?c(Dt()):u(void 0)})}))}async function Zd(a){if(typeof J.m[a]>"u")return[];let e=String(J.m[a]),t=[],o;for(;(o=Fh.exec(e))!==null;){let d=o[1],l=o[2],u=[],c=d.matchAll($d);for(let h of c)u.push(h[1]);let f=parseInt(l,10);await Promise.all(u.map(h=>J.e(h)));let m=J(f);t.push(m)}let r=[],n;for(;(n=$d.exec(e))!==null;)r.push(n[1]);let s=e.matchAll(Nh);for(let d of s){await Promise.all(r.map(u=>J.e(u)));let l=J(d[1]);t.push(l)}return t}var $d,Nh,Fh,Ci=v(()=>{"use strict";Uo();fo();hn();$d=/n\.e\("(\d+)"\)/g,Nh=/n\.bind\(n,\s*(\d+)\s*\)/g,Fh=/createPromise:\s*\(\)\s*=>\s*([^}]+)\.then\(n\.bind\(n,\s*(\d+)\)\)/g});function*Pt(a,{target:e=null,...t}={}){yield e??=ne(o=>Object.values(o).some(a),t),yield e&&Object.keys(e).find(o=>a(e[o]))}function Li(a,e={}){let{raw:t,fatal:o}=e,r=J.c[a];if(!it(r?.exports))return t?r:r.exports;if(o)throw Dt()}function gn(a,e){let t={},o=Object.keys(a),r=Object.keys(e);for(let n=0;n({...n,filter:La(n.filter),cacheId:n.cacheId||(n.cacheId===null?void 0:ht.getIdFromStack(s))}));let t=a.every(n=>!n.all),o=()=>t&&a.every((n,s)=>s in e);for(let n=0;n[t,e[o]]))}var Xd=v(()=>{"use strict";mn();Uo();hn();fo();wi()});function Y(a,e={}){return ne(xi(a),e)}function Jd(a,e={}){return ne(cn(a),e)}function Yd(a,e={}){return We(cn(a),e)}function gt(a,e={}){return ne(fn(...a),e)}function ho(a,e={}){return We(fn(...a),e)}function Qd(a,e={}){return ne(po(...a),e)}function el(a,e={}){return We(po(...a),e)}function tl(a,e={}){return ne(pn(a),e)}function al(a,e={}){return We(pn(a),e)}var ol=v(()=>{"use strict";mn();Uo();Ci()});function Aa(a){return ca||(ca=ne(e=>e.Store?.getAll,{firstId:311907,cacheId:"core-stores-Flux"})),ca?ca.Store.getAll().find(e=>e.getName()===a):ne(F.byStoreName(a))}var ca,De,rl=v(()=>{"use strict";me();De=new Proxy({},{ownKeys(){return ca||(ca=ne(a=>a.Store?.getAll,{firstId:311907,cacheId:"core-stores-Flux"})),ca?[...new Set(ca.Store.getAll().map(a=>a.getName()).filter(a=>a.length>3))]:[]},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}},get(a,e){return typeof a[e]>"u"?a[e]=Aa(e):a[e]},set(){throw new Error("[WebpackModules~Stores] Setting stores is not allowed.")}});Object.entries(De)});var me=v(()=>{"use strict";mn();Uo();Ci();Xd();fo();ol();rl()});var nl,Oh,Rh,C,V=v(()=>{"use strict";nt();me();nl=bn({React:{filter:F.byKeys(["createElement","cloneElement"]),firstId:483362,cacheId:"core-React"},ReactSpring:{filter:F.byKeys(["useTransition","animated"]),firstId:429783,cacheId:"core-ReactSpring"},SimpleMarkdownWrapper:{filter:F.byKeys(["defaultRules","parse"]),firstId:454585,cacheId:"core-SimpleMarkdownWrapper"},Dispatcher:{filter:F.byKeys(["dispatch","subscribe","register"]),searchExports:!0,firstId:570140,cacheId:"core-Dispatcher"},Tooltip:{filter:F.byPrototypeKeys(["renderTooltip"]),searchExports:!0,firstId:481060,cacheId:"core-Tooltip"},AccessibilityContext:{filter:a=>a?._currentValue?.reducedMotion,searchExports:!0,firstId:159691,cacheId:"core-AccessibilityContext"},ChannelActions:{filter:F.byKeys(["selectPrivateChannel"]),firstId:287734,cacheId:"core-ChannelActions"}});nl.Tooltip??=a=>a.children?.({})??null;Oh=dn({get InviteActions(){return Y(["createInvite"],{firstId:846293,cacheId:"core-InviteActions"})},get SimpleMarkdown(){return Y(["parseBlock","parseInline","defaultOutput"],{firstId:280230,cacheId:"core-SimpleMarkdown"})},get promptToUpload(){return gt(["getUploadCount",".UPLOAD_FILE_LIMIT_ERROR"],{searchExports:!0,firstId:518960,cacheId:"core-promptToUpload"})},get RemoteModule(){return Y(["setBadge"],{firstId:837921,cacheId:"core-RemoteModule"})},get UserAgentInfo(){return Y(["os","layout"],{firstId:214958,cacheId:"core-UserAgentInfo"})},get GetClientInfo(){return gt(["versionHash"],{firstId:551602,cacheId:"core-GetClientInfo"})},get MessageUtils(){return Y(["sendMessage"],{firstId:843472,cacheId:"core-MessageUtils"})},get LinkParser(){return ne(a=>a.html&&a.requiredFirstCharacters?.[0]==="[",{firstId:694403,cacheId:"core-LinkParser"})},get DiscordMarkdown(){return ne(a=>a?.prototype?.render&&a.rules,{firstId:558179,cacheId:"core-DiscordMarkdown"})},get Layout(){return Qd(["$Root","buildLayout"],{searchDefault:!1,firstId:419954,cacheId:"core-Layout"})},get NoticesBaseClasses(){return Y(["container","base","sidebar"],{cacheId:"core-NoticesBaseClasses"})},get NoticesPageClasses(){return Y(["errorPage"],{cacheId:"core-NoticesPageClasses"})},get ViewClasses(){return Y(["standardSidebarView"],{cacheId:"core-ViewClasses"})}}),Rh=Object.assign(Oh,nl),C=Rh});var Uh,jh,qh,bt,go=v(()=>{"use strict";me();Uh=Y(["createPortal"],{firstId:340287,cacheId:"core-reactdom-base"}),jh=Y(["createRoot"],{firstId:507240,cacheId:"core-reactdom-client"}),qh=Object.assign({},Uh,jh),bt=qh});var il,i,jo,rC,nC,sl,iC,dl,qo,sC,yn,dC,lC,uC,st,xn,cC,fC,pC,mC,hC,vn,wn,kn,ll,fa,Ht,gC,bC,L=v(()=>{"use strict";V();go();il=C.React,i=il,jo=bt,{Children:rC,Component:nC,Fragment:sl,cloneElement:iC,createContext:dl,createElement:qo,createRef:sC,forwardRef:yn,lazy:dC,memo:lC,startTransition:uC,useCallback:st,useContext:xn,useDebugValue:cC,useDeferredValue:fC,useEffect:pC,useId:mC,useImperativeHandle:hC,useInsertionEffect:vn,useLayoutEffect:wn,useMemo:kn,useReducer:ll,useRef:fa,useState:Ht,useSyncExternalStore:gC,useTransition:bC}=il});var Cn,Q,zt=v(()=>{"use strict";No();Cn=Ae(require("path"),1);Ut();He();oe();L();Q=new class extends ke{cache={settings:void 0,plugins:void 0,themes:void 0,misc:void 0,"addon-store":void 0};pluginCache={};pluginListeners=new Map;get(e,t){return this.cache[e]=this.#e(e),typeof t>"u"?this.cache[e]??{}:this.cache[e][t]??""}set(e,t,o){if(this.cache[e]=this.#e(e),typeof o>"u"){if(typeof t=="string")throw new Error("Cannot save string as JSON");this.cache[e]=t}else{if(typeof t!="string")throw new Error("Cannot use object as key");this.cache[e][t]=o}this.#t(e)}delete(e,t){this.cache[e]=this.#e(e),delete this.cache[e][t],this.#t(e)}#e(e){if(typeof this.cache[e]<"u")return this.cache[e];let t;try{t=JSON.parse(ze.readFileSync(Cn.default.resolve(_.get("channelPath"),`${e}.json`)).toString())}catch{t={}}return t}#t(e){ze.writeFileSync(Cn.default.resolve(_.get("channelPath"),`${e}.json`),JSON.stringify(this.cache[e],null,4)),this.emitChange()}#a(e){return Cn.default.resolve(_.get("pluginsPath"),e+".config.json")}#o(e){if(!(typeof this.pluginCache[e]<"u")){if(!ze.existsSync(this.#a(e)))return this.pluginCache[e]={};try{this.pluginCache[e]=JSON.parse(ze.readFileSync(this.#a(e)).toString())}catch{return this.pluginCache[e]={}}}}recache(e){this.#o(e);let t=this.pluginCache[e];try{return this.pluginCache[e]=JSON.parse(ze.readFileSync(this.#a(e)).toString()),this.emitChange(),!0}catch(o){return b.err("JsonStore","recache: ",o),!1}finally{let o=this.pluginCache[e],r=Object.keys(t),n=Object.keys(o),s=new Set(r),d=new Set(n),l={deleted:[],changed:[]};for(let u of s)d.has(u)?l.changed.push(u):l.deleted.push(u);for(let u of d)s.has(u)||l.changed.push(u);for(let u of l.changed)this.emitPluginChangeListeners(e,u,o[u]);for(let u of l.deleted)this.emitPluginChangeListeners(e,u)}}#r(e){ze.writeFileSync(this.#a(e),JSON.stringify(this.pluginCache[e],null,4)),this.emitChange()}getData(e,t){return this.#o(e),this.pluginCache[e][t]}useData(e,t){let[o,r]=Ht(()=>this.getData(e,t));return vn(()=>{let n=()=>r(()=>this.getData(e,t));return n(),this.addPluginChangeListener(e,n,t)},[]),o}setData(e,t,o){o!==void 0&&(this.#o(e),this.pluginCache[e][t]=o,this.#r(e),this.emitPluginChangeListeners(e,t,o))}deleteData(e,t){this.#o(e),delete this.pluginCache[e][t],this.#r(e),this.emitPluginChangeListeners(e,t)}emitPluginChangeListeners(e,t,o){if(!this.pluginListeners.has(e))return;let r=this.pluginListeners.get(e);for(let s of r.all)arguments.length===3?s(t,o):s(t);if(!r.keys.has(t))return;let n=r.keys.get(t);for(let s of n)arguments.length===3?s(o):s()}addPluginChangeListener(e,t,o){this.pluginListeners.has(e)||this.pluginListeners.set(e,{keys:new Map,all:new Set});let r=this.pluginListeners.get(e);if(typeof o=="string"){r.keys.has(o)||r.keys.set(o,new Set);let n=r.keys.get(o);return n.add(t),()=>void n.delete(t)}return r.all.add(t),()=>void r.all.delete(t)}removePluginChangeListener(e,t,o){if(!this.pluginListeners.has(e))return;let r=this.pluginListeners.get(e);if(typeof o=="string"){if(!r.keys.has(o))return;r.keys.get(o).delete(t);return}r.all.delete(t)}}});var ul=X((IC,Hh)=>{Hh.exports={Panels:{plugins:"Plugins",themes:"Themes",customcss:"Custom CSS",updates:"Updates"},Collections:{settings:{name:"Settings",general:{name:"General",voiceDisconnect:{name:"Voice Disconnect",note:"Disconnect from voice server when closing Discord"},showToasts:{name:"Show Toasts",note:"Shows a small notification for important information"},mediaKeys:{name:"Disable Media Keys",note:"Prevents Discord from hijacking your media keys after playing a video."},bdContextMenu:{name:"Settings Context Menu",note:"Adds a BetterDiscord subsection to the settings context menu."},themeAttributes:{name:"Theme Attributes",note:"Adds attributes to various elements to assist in theming."},notificationPosition:{name:"Notification",note:"Lets you choose where you want notifications to popup."},notificationEnabled:{name:"Show Notifications",note:"Prevents or allows notifications to be shown on screen."}},store:{name:"Addon Store",bdAddonStore:{name:"Enable Addon Store",note:"Enables the BetterDiscord Addon Store."},alwaysEnable:{name:"Always Enable",note:"When enabled by default addons downloaded via the addon store will be enabled."},addonEmbeds:{name:"Addon Embeds",note:"Embeds the addon store cards into chat."}},window:{name:"Window Preferences",removeMinimumSize:{name:"Remove Minimum Size",note:"Removes Discord's forced minimum window size of 940x500"},transparency:{name:"Enable Transparency",note:"Enables the main window to be see-through (requires restart)"},frame:{name:"Window Frame",note:"Adds the native os window frame to the main window"},inAppTrafficLights:{name:"Use In App Traffic Lights",note:"Instead of using the OS traffic lights it will use a in app one"}},addons:{name:"Addon Manager",addonErrors:{name:"Show Addon Errors",note:"Shows a modal with plugin/theme errors"},editAction:{name:"Edit Action",note:"Where plugins & themes appear when editing",options:{detached:"Detached Window",external:"External Window",system:"System Editor"}},checkForUpdates:{name:"Automatically Check For Updates",note:"Periodically checks for updates to your addons and core BD"},updateInterval:{name:"Update Check Interval",note:"How often to check for addon/core updates"}},customcss:{name:"Custom CSS",customcss:{name:"Custom CSS",note:"Enables the Custom CSS tab"},liveUpdate:{name:"Live Update",note:"Updates the css as you type"},startDetached:{name:"Start Detached",note:"Clicking the Custom CSS tab opens the editor in a separate window"},nativeOpen:{name:"Open in Native Editor",note:"Clicking the Custom CSS tab opens your custom css in your native editor"},openAction:{name:"Editor Location",note:"Where Custom CSS should open by default",options:{settings:"Settings Menu",detached:"Detached Window",external:"External Window",system:"System Editor"}}},developer:{name:"Developer Options",debuggerHotkey:{name:"Debugger Hotkey",note:"Allows activating debugger when pressing F8 with DevTools open"},reactDevTools:{name:"React Developer Tools",note:"Injects your local installation of React Developer Tools into Discord"},inspectElement:{name:"Inspect Element Hotkey",note:"Enables the inspect element hotkey (ctrl + shift + c) that is common in most browsers"},devToolsWarning:{name:"Stop DevTools Warning",note:'Stops Discord from printing out their "Hold Up!" message'},debugLogs:{name:"Debug Logs",note:"Outputs everything from the console into the debug.log file in the BetterDiscord folder"},devTools:{name:"DevTools",note:"Enables toggling DevTools with ctrl+shift+i"},recovery:{name:"Recovery",note:"Enables the ability to attempt to save discord without reloading",button:"Attempt to recover Discord",report:"Report on Github",safeMode:"Relaunch in Safe Mode"}},editor:{name:"Editor Options",theme:{name:"Theme",note:"The theme for the code editor",options:{system:"System","vs-dark":"Dark",vs:"Light","hc-black":"High Contrast Black","hc-light":"High Contrast Light"}},lineNumbers:{name:"Line Numbers",note:"Enables showing line numbers on the side of the editor"},fontSize:{name:"Font Size",note:"Size of the font (pt) to use in the editor"},minimap:{name:"Minimap",note:"Enables showing the code minimap on the side of the editor"},hover:{name:"Reference Tooltips",note:"Enables showing the reference tooltips when hovering rules and selectors"},quickSuggestions:{name:"Quick Suggestions",note:"Enables showing the autocomplete suggestions as you type"},insertSpaces:{name:"Insert Spaces",note:"Insert spaces instead of tabs"},tabSize:{name:"Tab Size",note:"The number of spaces a tab is equal to"},renderWhitespace:{name:"Show Whitespace",note:"When whitespace should be shown by the editor",options:{all:"Always",none:"Never",selection:"Selection"}}}}},Addons:{title:"{{name}} v{{version}} by {{author}}",byline:"by {{author}}",openFolder:{plugin:"Open Plugin Folder",theme:"Open Theme Folder"},openStore:{plugin:"Open Plugin Store",theme:"Open Theme Store"},storeMessage:{plugin:"Browse and install official community plugins",theme:"Browse and install official community themes"},store:"Store",viewInstalled:{plugin:"View Installed Plugins",theme:"View Installed Themes"},reload:"Reload",addonSettings:"Settings",website:"Website",source:"Source",invite:"Support Server",donate:"Donate",patreon:"Patreon",name:"Name",author:"Author",version:"Version",added:"Date Added",modified:"Date Modified",releaseDate:"Release Date",lastUpdated:"Last Update",isEnabled:"Enabled",popularity:"Popularity",isInstalled:"Installed",downloads:"Downloads",likes:"Likes",listView:"List View",gridView:"Grid View",enableAll:"Enable All",disableAll:"Disable All",enableAllWarning:{plugin:`Enabling all plugins can cause temporary lag and unexpected errors. (Hold shift while clicking to skip this prompt!)`,theme:`Enabling all themes can cause temporary lag and unexpected errors. (Hold shift while clicking to skip this prompt!)`},search:{plugin:{zero:"No plugins to search",one:"Search one plugin",other:"Search {{count}} plugins"},theme:{zero:"No themes to search",one:"Search one theme",other:"Search {{count}} themes"}},results:{zero:"No Results",one:"{{count}} Result",other:"{{count}} Results"},editAddon:"Edit",deleteAddon:"Delete",downloadAddon:"Download",confirmDelete:"Are you sure you want to delete {{name}}?",confirmationText:"You have unsaved changes to {{name}}. Closing this window will lose all those changes.",enabled:"{{name}} has been enabled.",disabled:"{{name}} has been disabled.",couldNotEnable:"{{name}} could not be enabled.",couldNotDisable:"{{name}} could not be disabled.",couldNotStart:"{{name}} could not be started.",couldNotStop:"{{name}} could not be stopped.",settingsError:"Could not open settings for {{name}}",methodError:"{{method}} could not be fired.",unknownAuthor:"Unknown Author",noDescription:"Description not provided.",noSettings:"{{name}} does not have a settings panel.",isDisabled:"{{name}} is disabled.",alreadyExists:{plugin:"There is already a plugin with name {{name}}",theme:"There is already a theme with name {{name}}"},metaError:"META could not be parsed.",missingNameData:"META missing name data.",metaNotFound:"META was not found.",compileError:"Could not be compiled. See console for details.",wasUnloaded:"{{name}} was unloaded.",blankSlateHeader:{plugin:"You don't have any plugins!",theme:"You don't have any themes!"},blankSlateMessage:{plugin:"Grab some from [our website]({{link}}) and add them to your plugin folder.",theme:"Grab some from [our website]({{link}}) and add them to your theme folder."},blankSlateHeaderGeneric:"You don't have anything!",blankSlateMessageGeneric:"You should probably get some.",wasLoaded:"{{name}} v{{version}} was loaded.",failedToDownload:{plugin:"Failed to download plugin {{name}}",theme:"Failed to download theme {{name}}"},successfullyDownload:"Successfully downloaded {{name}}",alreadyInstalled:"{{name}} is already installed",failedToFetch:"Unable to get addons",new:"New",updated:"Updated",downloadCount:{one:"{{count}} Download",other:"{{count}} Downloads"},likeCount:{one:"{{count}} Like",other:"{{count}} Likes"},tags:"Tags",preview:"Preview",official:"Official",manyEnabled:{plugin:{one:"One plugin has been enabled.",other:"{{count}} plugins have been enabled."},theme:{one:"One theme has been enabled.",other:"{{count}} themes have been enabled."}}},CustomCSS:{confirmationText:"You have unsaved changes to your Custom CSS. Closing this window will lose all those changes.",update:"Update",save:"Save",openNative:"Open in System Editor",openDetached:"Detach Window",settings:"Editor Settings",editorTitle:"Custom CSS Editor",cssInstallSuccess:"CSS was successfully added into CustomCSS.",cssInstalled:"CSS installed!",cssInstallError:"CSS failed to be added into CustomCSS.",cssReverted:"CSS was reverted.",cssReverting:"Changes will be reverted in 10 seconds",cssKept:"CSS changes kept permanently"},Modals:{confirmAction:"Are You Sure?",installCss:"Are you sure you want to add this CSS to your Custom CSS?",addonCrashed:"This plugin has been disabled to prevent crashes. Please report this issue to the developer.",okay:"Okay",done:"Done",cancel:"Cancel",nevermind:"Nevermind",close:"Close",name:"Name",message:"Message",error:"Error",addonErrors:"Addon Errors",restartRequired:"Restart Required",restartNow:"Restart Now",restartLater:"Restart Later",additionalInfo:"Additional Info",restartPrompt:"In order to take effect, Discord needs to be restarted. Do you want to restart now?",changelog:"Changelog",debuglog:"Your debug log file has exceeded 100MB, would you like to clear the log?",automaticallyEnable:"Automatically Enable"},Sorting:{sortBy:"Sort By",order:"Order",ascending:"Ascending",descending:"Descending"},WindowPrefs:{enabledInfo:`This option requires a transparent theme in order to work properly. On Windows this may break your aero snapping and maximizing. In order to take effect, Discord needs to be restarted. Do you want to restart now?`,disabledInfo:"In order to take effect, Discord needs to be restarted. Do you want to restart now?"},Toasts:{recoveryFailed:"Recovery incomplete. Some actions failed to complete."},Updater:{updateFailed:"Update Failed!",updateFailedMessage:"BetterDiscord failed to update. Please download the latest version of the installer from our website (https://betterdiscord.app/) and reinstall.",updateSuccessful:"Update Successful!",updateAvailable:"BetterDiscord has a new update (v{{version}})",viewUpdates:"View Updates",addonUpdaterNotificationTitle:"Addon Updater",addonUpdatesAvailable:{plugin:{one:"One plugin has an update!",other:"{{count}} plugins have updates!"},theme:{one:"One theme has an update!",other:"{{count}} themes have updates!"}},addonUpdated:"{{name}} has been updated to version {{version}}!",addonUpdateFailed:"Failed to update {{name}}. Please try again later.",checking:"Checking for updates!",finishedChecking:"Finished checking for updates!",checkForUpdates:"Check For Updates!",updateAll:"Update All!",noUpdatesAvailable:"No updates available.",versionAvailable:"Version {{version}} now available!",upToDateBlankslate:{plugin:"All of your plugins seem to be up to date!",theme:"All of your themes seem to be up to date!"},updateButton:"Update!"},Settings:{customColor:"Custom Color",resetSettings:"Reset Settings",resetSettingsWarning:"Resetting your settings returns them all to the original state, this cannot be undone."},Socials:{twitter:"Follow Us!",github:"Star Us!"},Paginator:{back:"Back",next:"Next"}}});var cl=X((AC,Wh)=>{Wh.exports={}});var fl=X((TC,_h)=>{_h.exports={Panels:{plugins:"插件",themes:"主题",customcss:"自定义样式"},Collections:{settings:{name:"设置",general:{name:"一般",voiceDisconnect:{name:"自动断开语音",note:"自动在关闭 Discord 时断开语音"},showToasts:{name:"显示弹出提示",note:"在有重要信息时弹出小通知"},mediaKeys:{name:"禁用媒体控制键",note:"防止 Discord 在播放视频时劫持媒体控制键"}},window:{removeMinimumSize:{name:"移除最小化限制",note:"移除 Discord 限制的最小窗口尺寸(940x500)"},name:"窗口设置",transparency:{name:"透明化",note:"允许主窗口透明(需要重启以生效)"},frame:{name:"窗口框",note:"向主窗口增加原生系统窗口框"}},addons:{name:"插件管理",addonErrors:{name:"显示插件错误",note:"在插件/主题发生错误时显示弹窗"},editAction:{name:"编辑器",note:"在何处编辑插件及主题",options:{detached:"独立窗口",system:"系统编辑器"}}},customcss:{name:"自定义样式",customcss:{name:"自定义样式",note:"启用自定义样式选项卡"},liveUpdate:{name:"热更新",note:"自动在 CSS 修改时应用变更"},startDetached:{name:"在独立窗口中打开",note:"在独立窗口中编辑自定义样式"},nativeOpen:{name:"在系统编辑器中打开",note:"在系统编辑器中编辑自定义样式"},openAction:{name:"编辑器",note:"在何处编辑自定义样式",options:{settings:"设置菜单",detached:"独立窗口",system:"系统编辑器"}}},developer:{name:"开发者设置",debuggerHotkey:{name:"调试器快捷键",note:"按下 F8 时启动调试器"},reactDevTools:{name:"React 开发者工具",note:"向 Discord 注入 React 开发者工具"},inspectElement:{name:"元素审查快捷键",note:"启用在大多数浏览器中常用的元素审查快捷键(Ctrl + Shift + C)"},devToolsWarning:{name:"屏蔽开发者工具警告",note:"禁止 Discord 打印「Hold Up!」警告"},debugLogs:{name:"调试日志",note:"输出控制台中的所有信息到 BetterDiscord 文件夹下的 debug.log 文件"}}}},Addons:{title:"{{name}} 版本:{{version}} 作者:{{author}}",byline:"作者: {{author}}",reload:"重新加载",addonSettings:"设置",website:"网站",source:"源码",invite:"支持服务器",donate:"捐赠",patreon:"Patreon",name:"名称",author:"作者",version:"版本",added:"安装时间",modified:"最后更新时间",editAddon:"编辑",deleteAddon:"删除",confirmDelete:"你真的要删除{{name}}吗?",confirmationText:"你还有未保存的更改,关闭此窗口将失去所有对{{name}}所做的更改。",enabled:"已启用{{name}}",disabled:"已禁用{{name}}",couldNotEnable:"无法启用{{name}}。",couldNotDisable:"无法禁用{{name}}。",couldNotStart:"无法启动{{name}}。",couldNotStop:"无法停止{{name}}。",settingsError:"无法打开{{name}}设置",methodError:"无法调用{{method}}。",unknownAuthor:"未知的作者",noDescription:"作者没有留下任何描述",metaError:"无法解析元数据",missingNameData:"元数据缺少名称。",metaNotFound:"无法找到元数据",compileError:"无法编译。",wasUnloaded:"已卸载{{name}}。"},CustomCSS:{confirmationText:"你还有未保存的更改,关闭此窗口将失去所有对自定义样式所做的更改。",update:"更新",save:"保存",openNative:"在系统编辑器中打开",openDetached:"在独立窗口中打开",settings:"编辑器设置",editorTitle:"自定义样式编辑器"},Modals:{confirmAction:"你确定吗?",okay:"确定",done:"完成",cancel:"取消",nevermind:"别在意",close:"关闭",name:"名称",message:"消息",error:"错误",addonErrors:"插件错误",restartRequired:"需要重启以生效",restartNow:"立即重启",restartLater:"稍候自行重启",additionalInfo:"额外信息",restartPrompt:"Discord 需要重新启动以应用最新变更。立刻进行重启吗?"},Sorting:{sortBy:"排序方式",order:"顺序",ascending:"正序",descending:"倒序"},WindowPrefs:{enabledInfo:`此选项需要透明主题才能正常工作。在 Windows 上,这可能会破坏 AERO 的捕捉和最大化。 该变更需要重启以生效。您要立即进行重启吗?`,disabledInfo:"Discord 需要重新启动以应用最新变更。立刻进行重启吗?"}}});var pl=X((EC,Vh)=>{Vh.exports={Panels:{plugins:"擴充功能",themes:"佈景主題",customcss:"客製化 CSS",updates:"更新"},Collections:{settings:{name:"設定",general:{name:"一般",voiceDisconnect:{name:"自動中斷語音連線",note:"自動在關閉 Discord 時中斷語音連線"},showToasts:{name:"顯示彈出提示",note:"在有重要通知時彈出提示"},mediaKeys:{name:"停用媒體控制鍵",note:"防止 Discord 在播放影片時劫持媒體控制鍵"}},window:{removeMinimumSize:{name:"移除最小視窗尺寸限制",note:"移除 Discord 限制的最小視窗尺寸(940x500)"},name:"視窗設定",transparency:{name:"透明化",note:"啟用主視窗透明(需要重新啟動以生效)"},frame:{name:"視窗邊框",note:"向主視窗新增原版系統視窗邊框"}},addons:{name:"擴充功能管理員",addonErrors:{name:"顯示擴充功能錯誤",note:"在擴充功能/佈景主題發生錯誤時顯示彈出視窗"},editAction:{name:"編輯器",note:"在何處編輯擴充功能及佈景主題",options:{detached:"獨立視窗",system:"系統編輯器"}}},customcss:{name:"客製化 CSS",customcss:{name:"客製化 CSS",note:"啟用客製化 CSS 選項標籤"},liveUpdate:{name:"實時更新",note:"自動在 CSS 發生變更時重新載入"},startDetached:{name:"在獨立視窗中開啟",note:"在獨立視窗中編輯客製化 CSS"},nativeOpen:{name:"在系統編輯器中開啟",note:"在系統編輯器中編輯客製化 CSS"},openAction:{name:"編輯器",note:"在何處編輯客製化 CSS",options:{settings:"設定選單",detached:"獨立視窗",system:"系統編輯器"}}},developer:{name:"開發人員設定",debuggerHotkey:{name:"偵錯工具快捷鍵",note:"允許在打開開發人員工具的情況下按下 F8 啟動偵錯工具"},reactDevTools:{name:"React 開發人員工具",note:"向 Discord 注入 React 開發人員工具"},inspectElement:{name:"元素檢查快捷鍵",note:"啟用在大多數瀏覽器中常用的元素檢查快捷鍵(Ctrl + Shift + C)"},devToolsWarning:{name:"隱藏開發人員工具警告",note:"禁止 Discord 輸出「Hold Up!」警告"},debugLogs:{name:"偵錯記錄檔",note:"輸出控制台中的所有資訊到 BetterDiscord 資料夾下的 debug.log"},devTools:{name:"DevTools",note:"啟用切換 DevTools(Ctrl+Shift+I)"}},editor:{name:"編輯器偏好",lineNumbers:{name:"行數編號",note:"啟用在編輯器一側顯示行數"},fontSize:{name:"字型大小",note:"在編輯器中使用的字體大小(點)"},minimap:{name:"小地圖",note:"啟用在編輯器一側顯示程式碼小地圖"},hover:{name:"參考工具提示",note:"允許在懸停於規則和選擇器時顯示參考工具提示"},quickSuggestions:{name:"快速建議",note:"啟用在您輸入時顯示自動完成建議"},renderWhitespace:{name:"顯示空格",note:"編輯器何時應顯示空格",options:{all:"總是",none:"永不",selection:"選擇"}}}}},Addons:{title:"{{name}} 版本 {{version}} 作者 {{author}}",byline:"作者 {{author}}",reload:"重新載入",addonSettings:"設定",website:"網站",source:"原始碼",invite:"技術支援伺服器",donate:"捐贈",patreon:"Patreon",name:"名稱",author:"作者",version:"版本",added:"安裝時間",modified:"最後更新時間",editAddon:"編輯",deleteAddon:"刪除",confirmDelete:"您真的要刪除 {{name}} 嗎?",confirmationText:"您還有未儲存的更改,關閉此視窗將失去所有對 {{name}} 所做的更改。",enabled:"已啟用 {{name}}。",disabled:"已停用 {{name}}。",couldNotEnable:"無法啟用 {{name}}。",couldNotDisable:"無法停用 {{name}}。",couldNotStart:"無法啟動 {{name}}。",couldNotStop:"無法停止 {{name}}。",settingsError:"無法開啟設定 {{name}}。",methodError:"無法調用 {{method}}。",unknownAuthor:"未知的作者",noDescription:"作者没有留下任何描述。",metaError:"無法解析元資料。",missingNameData:"元資料缺少名稱。",metaNotFound:"無法找到元資料。",compileError:"無法編譯。詳細資訊請見控制台。",wasUnloaded:"已解除安裝 {{name}}。",isEnabled:"已啟用",wasLoaded:"已載入 {{name}} 版本 {{version}}。",listView:"清單檢視",gridView:"方格檢視"},CustomCSS:{confirmationText:"您還有未儲存的更改,關閉此視窗將失去所有對客製化 CSS 所做的更改。",update:"更新",save:"儲存",openNative:"在系統編輯器中開啟",openDetached:"在獨立視窗中開啟",settings:"編輯器設定",editorTitle:"客製化 CSS 編輯器"},Modals:{confirmAction:"您確定嗎?",okay:"確定",done:"完成",cancel:"取消",nevermind:"別在意",close:"關閉",name:"名稱",message:"訊息",error:"錯誤",addonErrors:"擴充功能錯誤",restartRequired:"需要重新啟動以生效",restartNow:"立即重新啟動",restartLater:"稍後自行重新啟動",additionalInfo:"額外資訊",restartPrompt:"Discord 需要重新啟動以套用更新。立刻進行重新啟動嗎?",changelog:"更新日誌"},Sorting:{sortBy:"排序方式",order:"順序",ascending:"正序",descending:"倒序"},WindowPrefs:{enabledInfo:`此選項需要透明佈景主題才能正常工作。在 Windows 上,這可能會破壞 Aero Snap和最大化。 該變更需要重新啟動以生效。您要立即進行重新啟動嗎?`,disabledInfo:"Discord 需要重新啟動以套用最新變更。立刻進行重新啟動嗎?"},Updater:{updateFailed:"更新失敗!",updateFailedMessage:"BetterDiscord 更新失敗。請從我們的網站 (https://betterdiscord.app/) 下載最新版本的安裝程式並重新安裝。",updateSuccessful:"更新成功!",updateAvailable:"BetterDiscord 已有新的版本 ({{version}})",addonUpdated:"{{name}} 已更新到版本 {{version}}!",checking:"正在檢查更新!",finishedChecking:"已完成檢查更新!",checkForUpdates:"檢查更新!",updateAll:"全部更新!",noUpdatesAvailable:"沒有可供使用的更新。",versionAvailable:"版本 {{version}} 已可供使用!",updateButton:"更新!"}}});var ml=X((MC,Gh)=>{Gh.exports={Panels:{plugins:"Pluginy",themes:"Témata",customcss:"Vlastní CSS",updates:"Aktualizace"},Collections:{settings:{name:"Nastavení",general:{name:"Obecné",voiceDisconnect:{name:"Odpojení z hlas. kanálu",note:"Odpojit z hlasového kanálu při zavření Discordu"},showToasts:{name:"Zobrazit vyskakovací okna",note:"Zobrazí malé oznámení pro důležité informace"},mediaKeys:{name:"Zakázat klávesy médií",note:"Zabrání Discordu přivlastnění kláves médií při přehrávání videa."}},window:{removeMinimumSize:{name:"Odebrat minimální velikost",note:"Odebere Discordem vynucenou minimální velikost okna 940x500"},name:"Předvolby okna",transparency:{name:"Povolit průhlednost",note:"Povolí průhlednost hlavního okna (vyžaduje restart)"},frame:{name:"Okraj okna",note:"Přidá nativní systémový okraj okna k hlavnímu oknu"}},addons:{name:"Správce doplňků",addonErrors:{name:"Zobrazit chyby doplňků",note:"Zobrazí okno s chybami pluginů/témat"},editAction:{name:"Upravit akci",note:"Kde se objeví doplňky a témata při úpravě",options:{detached:"Oddělené okno",system:"Systémový editor"}}},customcss:{name:"Vlastní CSS",customcss:{name:"Vlastní CSS",note:"Povolí záložku Vlastní CSS"},liveUpdate:{name:"Okamžitá aktualizace",note:"Aktualizuje CSS při psaní"},startDetached:{name:"Spustit odděleně",note:"Kliknutí na záložku Vlastní CSS otevře editor v odděleném okně"},nativeOpen:{name:"Otevřít v nativním editoru",note:"Kliknutí na záložku Vlastní CSS otevře tvé vlastní CSS ve tvém nativním editoru"},openAction:{name:"Lokace editoru",note:"Kde se má ve výchozím nastavení otevřít Vlastní CSS",options:{settings:"Menu nastavení",detached:"Oddělené okno",system:"Systémový editor"}}},developer:{name:"Vývojářská nastavení",debuggerHotkey:{name:"Zkratka ladění",note:"Povolí aktivaci ladění při stisknutí F8"},reactDevTools:{name:"Vývojářské nástroje React",note:"Vloží tvou lokální instalaci React Developer Tools do Discordu"},inspectElement:{name:"Zkratka prozkoumání prvku",note:"Povolí klávesovou zkratku prozkoumání prvku (Ctrl + Shift + C), která je normální ve většině prohlížečů"},devToolsWarning:{name:"Zastavit varování DevTools",note:'Zabrání Discordu vypisovat jeho "Zadrž!" zprávu'},debugLogs:{name:"Ladicí protokoly",note:"Vypíše vše z konzole do souboru debug.log ve složce BetterDiscordu"},devTools:{name:"DevTools",note:"Povolí přepnutí DevTools při stisku Ctrl+Shift+I"}},editor:{name:"Předvolby editoru",lineNumbers:{name:"Čísla řádků",note:"Povolí zobrazování čísel řádků vedle editoru"},fontSize:{name:"Velikost písma",note:"Velikost písma (pt) k použití v editoru"},minimap:{name:"Minimapa",note:"Povolí zobrazování kódu v minimapě vedle editoru"},hover:{name:"Referenční tooltipy",note:"Povolí zobrazování referenčních tooltipů při přechodu přes pravidla a selektory"},quickSuggestions:{name:"Rychlé návrhy",note:"Povolí zobrazování automaticky dokončovaných návrhů, zatímco píšete"},renderWhitespace:{name:"Zobrazit neviditelnou mezeru",note:"Zda v editoru zobrazit neviditelnou mezeru",options:{all:"Vždy",none:"Nikdy",selection:"Výběr"}}}}},Addons:{title:"{{name}} v{{version}} od {{author}}",byline:"od {{author}}",reload:"Znovu načíst",addonSettings:"Nastavení",website:"Web",source:"Zdroj",invite:"Server podpory",donate:"Přispět",patreon:"Patreon",name:"Název",author:"Autor",version:"Verze",added:"Datum přidání",modified:"Datum upravení",editAddon:"Upravit",deleteAddon:"Odstranit",confirmDelete:"Opravdu chceš odstranit {{name}}?",confirmationText:"Máš neuložené změny u {{name}}. Zavřením tohoto okna je všechny ztratíš.",enabled:"Doplněk {{name}} byl povolen.",disabled:"Doplněk {{name}} byl zakázán.",couldNotEnable:"Doplněk {{name}} nemohl být povolen.",couldNotDisable:"Doplněk {{name}} nemohl být zakázán.",couldNotStart:"Doplněk {{name}} nemohl být spuštěn.",couldNotStop:"Doplněk {{name}} nemohl být zastaven.",settingsError:"Nepodařilo se otevřít nastavení {{name}}",methodError:"Nepodařilo se spustit metodu {{method}}.",unknownAuthor:"Neznámý autor",noDescription:"Bez popisu.",metaError:"META být nemohl parsován.",missingNameData:"META chybějící údaje názvu.",metaNotFound:"META nebyl nalezen.",compileError:"Nepodařilo se zkompilovat.",wasUnloaded:"Doplněk {{name}} byl odnačten.",isEnabled:"Povoleno",wasLoaded:"Doplněk {{name}} v{{version}} byl načten."},CustomCSS:{confirmationText:"Máš neuložené změny ve vlastním CSS. Zavřením tohoto okna je všechny ztratíš.",update:"Aktualizovat",save:"Uložit",openNative:"Otevřít v systémovém editoru",openDetached:"Oddělit okno",settings:"Nastavení editoru",editorTitle:"Okno vlastního CSS"},Modals:{confirmAction:"Opravdu?",okay:"Dobře",done:"Hotovo",cancel:"Zrušit",nevermind:"Ne",close:"Zavřít",name:"Název",message:"Zpráva",error:"Chyba",addonErrors:"Chyby doplňku",restartRequired:"Vyžadován restart",restartNow:"Restartovat nyní",restartLater:"Restartovat později",additionalInfo:"Dodatečné informace",restartPrompt:"Aby se tato změna projevila, bude potřeba restartovat Discord. Chceš jej restartovat nyní?"},Sorting:{sortBy:"Seřadit podle",order:"Pořadí",ascending:"Vzestupně",descending:"Sestupně"},WindowPrefs:{enabledInfo:`Tato možnost vyžaduje průhledné téma, aby fungovala správně. Na Windows to může rozbít Areo přichytávání a maximalizování. Aby se tato změna projevila, bude potřeba restartovat Discord. Chceš jej restartovat nyní?`,disabledInfo:"Aby se tato změna projevila, bude potřeba restartovat Discord. Chceš jej restartovat nyní?"},Updater:{updateFailed:"Aktualizace selhala!",updateFailedMessage:"Aktualizace BettterDiscordu se nezdařila. Stáhněte si prosím nejnovější verzi instalátoru z našeho webu (https://betterdiscord.app) a přeinstalujte jej.",updateSuccessful:"Aktualizace byla úspěšná!",updateAvailable:"BetterDiscord má novou aktualizaci (v{{version}})",addonUpdated:"Doplněk {{name}} byl aktualizován na verzi {{version}}!",checking:"Kontrola aktualizací!",finishedChecking:"Kontrola aktualizací dokončena!",checkForUpdates:"Zkontrolovat aktualizace!",updateAll:"Aktualizovat vše!",noUpdatesAvailable:"Nejsou dostupné žádné aktualizace.",versionAvailable:"Je dostupná verze {{version}}!",updateButton:"Aktualizovat!"}}});var hl=X((DC,Kh)=>{Kh.exports={}});var gl=X((PC,$h)=>{$h.exports={Panels:{plugins:"Plug-ins",themes:"Thema's",customcss:"Aangepaste CSS"},Collections:{settings:{name:"Instellingen",general:{name:"Algemeen",voiceDisconnect:{name:"Stem Verbroken",note:"Verbreek de verbinding met de oproep"},showToasts:{name:"Laat Toasts Zien",note:"Toont een melding voor belangrijke informatie"},mediaKeys:{name:"Schakel mediatoetsen uit",note:"Voorkomt dat Discord uw mediatoetsen kaapt na het afspelen van een video."}}}},Addons:{byline:"door {{author}}",reload:"Herladeen",addonSettings:"Instellingen",website:"Website",source:"Bronnen",invite:"Support Server",donate:"Donatie",patreon:"Patreon",name:"Naam",author:"Schrijver",version:"Versie",added:"Datum toegevoegd",modified:"Datum gewijzigd ",editAddon:"Bewerken",deleteAddon:"Verwijderen",confirmDelete:"Weet je het zeker dat je {{name}} wilt verwijderen?",confirmationText:"Je hebt niet-opgeslagen wijzigingen in {{naam}}. Als je dit venster sluit, gaan alle wijzigingen verloren.",unknownAuthor:"Onbekende schrijver",noDescription:"Beschrijving kon niet worden weergegeven"},Modals:{confirmAction:"Weet je het zeker?",okay:"Oké",cancel:"Annuleren",close:"Bijna",name:"Naam",message:"Berich",error:"Fout!"},Sorting:{order:"Volgorde"}}});var bl=X((zC,Zh)=>{Zh.exports={Panels:{plugins:"Plugins",themes:"Thèmes",customcss:"CSS personnalisé"},Collections:{settings:{name:"Réglages",general:{name:"Général",voiceDisconnect:{name:"Déconnexion vocale",note:"Déconnexion du serveur vocal lors de la fermeture de Discord"},showToasts:{name:"Afficher les notifications bulles",note:"Afficher une petite notification pour les informations importantes"},mediaKeys:{name:"Désactiver les Touches Médias",note:"Empêche Discord de détourner vos touches multimédia après la lecture d'une vidéo."}},window:{removeMinimumSize:{name:"Enlever la Taille Minimale",note:"Enlève la taille de fenêtre minimale forcée de Discord qui est de 940x500"},name:"Fenêtre des Préférences",transparency:{name:"Activer la Transparence",note:"Permet à la fenêtre principale d'être transparente (nécessite un redémarrage)"},frame:{name:"Cadre de la Fenêtre",note:"Ajoute le cadre de la fenêtre native de l'OS à la fenêtre principale."}},addons:{name:"Gestionnaire d'Extensions",addonErrors:{name:"Afficher les Erreurs d'Extensions",note:"Affiche une modale avec les erreurs de plugin/thème"},editAction:{name:"Action Édition",note:"Là où les thèmes & extensions apparaîtront lors de l'édition",options:{detached:"Fenêtre détachée",system:"Éditeur système"}}},customcss:{name:"CSS Personnalisé",customcss:{name:"CSS Personnalisé",note:"Activer l'onglet de CSS personnalisé"},liveUpdate:{name:"Mise à Jour Directe",note:"Met à jour le CSS pendant que vous écrivez"},startDetached:{name:"Démarrer Détaché",note:"En cliquant sur l'onglet CSS Personnalisé, l'éditeur s'ouvre dans une fenêtre distincte."},nativeOpen:{name:"Ouvrir dans l'Éditeur Natif",note:"En cliquant sur CSS Personnalisé, l'onglet ouvrira votre CSS personnalisé dans votre éditeur natif"},openAction:{name:"Emplacement de l'Éditeur",note:"Là où le CSS personnalisé doit s'ouvrir par défaut",options:{settings:"Menu Réglages",detached:"Fenêtre Détachée",system:"Éditeur système"}}},developer:{name:"Réglages Développeur",debuggerHotkey:{name:"Touches Raccourcis du Débugueur",note:"Permettre l'activation du débugueur quand F8 est pressé"},reactDevTools:{name:"Outils Développeurs React",note:"Injecte votre installation locale des Outils Développeurs React dans Discord"},inspectElement:{name:"Touche pour Inspecter l'Élément",note:"Active le raccourci clavier de l'inspecteur d'élément (ctrl + shift + c) qui est commun à la plupart des navigateurs"},devToolsWarning:{name:"Arrêter les Avertissements des Outils Développement",note:`Empêche Discord d'imprimer son message \\"Attends!\\"`},debugLogs:{name:"Journaux de Débogage",note:"Transmet tout ce qui se trouve dans la console au fichier debug.log situé dans le dossier de BetterDiscord"}}}},Addons:{title:"{{name}} v{{version}} par {{author}}",byline:"par {{author}}",reload:"Recharger",addonSettings:"Réglages",website:"Site web",source:"Source",invite:"Server de support",donate:"Donner",patreon:"Patreon",name:"Nom",author:"Auteur",version:"Version",added:"Date d'Ajout",modified:"Date Modifiée",editAddon:"Édition",deleteAddon:"Suppression",confirmDelete:"Êtes-vous sûr de vouloir supprimer {{name}}?",confirmationText:"Vous n'avez pas sauvegardé les changements pour {{name}}. Fermer cette fenêtre fera perdre ces changements.",enabled:"{{name}} a été activé.",disabled:"{{name}} a été désactivé.",couldNotEnable:"{{name}} ne peut pas être activé.",couldNotDisable:"{{name}} n'a pas pu être désactivé.",couldNotStart:"{{name}} n'a pas pu être lancé.",couldNotStop:"{{name}} n'a pas pu être arrêté.",settingsError:"Impossible d'ouvrir les paramètres pour {{name}}",methodError:"{{method}} n'a pas pu être renvoyé.",unknownAuthor:"Auteur Inconnu",noDescription:"Description non fournie.",metaError:"Le META n'a pas pu être analysé.",missingNameData:"Les données de META ne possèdent pas de nom.",metaNotFound:"Les données de META sont introuvables.",compileError:"Compilation impossible.",wasUnloaded:"{{name}} a été déchargé."},CustomCSS:{confirmationText:"Vous avez des changements non sauvegardés dans votre CSS Personnalisé. Fermer cette fenêtre vous fera perdre ces changements.",update:"Mise à jour",save:"Sauvegarder",openNative:"Ouvrir dans l'Éditeur Système",openDetached:"Détacher la Fenêtre",settings:"Réglages de l'Éditeur",editorTitle:"Éditeur CSS Personnalisé"},Modals:{confirmAction:"Êtes-vous sûr?",okay:"D'accord",done:"Terminé",cancel:"Annuler",nevermind:"Laisse tomber",close:"Fermer",name:"Nom",message:"Message",error:"Erreur",addonErrors:"Erreurs d'extension",restartRequired:"Redémarrage Requis",restartNow:"Redémarrer Maintenant",restartLater:"Redémarrer Ultérieurement",additionalInfo:"Info Additionnelle",restartPrompt:"Pour appliquer ces changements, Discord à besoin d'être redémarré. Voulez-vous redémarrer l'application maintenant?"},Sorting:{sortBy:"Trier Par",order:"Ordre",ascending:"Ascendant",descending:"Descendant"},WindowPrefs:{enabledInfo:`Cette option requière un thème transparent pour pouvoir fonctionner correctement. Sous Windows, cela peut casser le style Aero de Windows lors de la maximisation et du clipsement de la fenêtre. Afin que ce changement soit actif, Discord doit être redémarré. Voulez-vous redémarrer l'application maintenant?`,disabledInfo:"Afin que ce changement soit actif, Discord doit être redémarré. Voulez-vous redémarrer l'application maintenant?"}}});var yl=X((BC,Xh)=>{Xh.exports={Panels:{plugins:"Plugins",themes:"Themes",customcss:"Custom-CSS"},Collections:{settings:{name:"Einstellungen",general:{name:"Allgemein",voiceDisconnect:{name:"Verbindung zum Sprachchat trennen",note:"Trennt beim Schließen von Discord die Verbindung zum Sprachchat"},showToasts:{name:"Toast-Benachrichtigungen anzeigen",note:"Zeigt eine kleine Benachrichtigung für wichtige Informationen an"},mediaKeys:{name:"Medien-Tasten deaktivieren",note:"Verhindert, dass Discord deine Medien-Tasten nach dem Abspielen eines Videos beansprucht"}},window:{removeMinimumSize:{name:"Freie Fenstergröße",note:"Entfernt die Beschränkung der minimalen Fenstergröße von 940x500 Pixel"},name:"Fenster-Einstellungen",transparency:{name:"Transparenz aktivieren",note:"Macht den Discord-Hintergrund transparent (Benötigt Discord Neustart)"},frame:{name:"Standard-Design",note:"Stellt das Hauptfenster im Standard-Design des Betriebssystems dar"}},addons:{name:"Erweiterungsverwaltung",addonErrors:{name:"Fehlernachricht für Erweiterungen anzeigen",note:"Zeigt ein Informationsfenster bei Ladefehlern von Erweiterungen an"},editAction:{name:"Bearbeitungsaktion",note:"Bestimmt womit Plugins und Themes zum Bearbeiten geöffnet werden",options:{detached:"Losgelöstes Fenster",system:"Systemweiter Standard-Texteditor"}}},customcss:{name:"Custom-CSS",customcss:{name:"Custom-CSS",note:"Aktiviert den Custom-CSS Reiter in den Einstellungen"},liveUpdate:{name:"Echtzeitaktualisierung",note:"Aktualisert den CSS Code während des Schreibens"},startDetached:{name:"In losgelöstem Fenster öffnen",note:'Das Öffnen des \\"Custom-CSS\\"-Reiters öffnet den Editor in einem separaten Fenster'},nativeOpen:{name:"Im System-Editor öffnen",note:'Das Öffnen des \\"Custom-CSS\\"-Reiters öffnet den Editor im systemweiten Standard-Texteditor'},openAction:{name:"Editormodus",note:"Wo soll Custom-CSS standardmäßig geöffnet werden",options:{settings:"in den Einstellungen",detached:"in losgelöstem Fenster",system:"im Standard-Texteditor"}}},developer:{name:"Entwickler-Einstellungen",debuggerHotkey:{name:"Debugger-Tastenkürzel",note:"Erlaubt das Starten des Debuggers durch Drücken der F8-Taste"},reactDevTools:{name:"React-Entwicklerwerzeuge",note:"Koppelt eine vorhandene Installation der React-Entwicklerwerkzeuge in Discord ein"},inspectElement:{name:'Tastenkürzel für "Element untersuchen"',note:'Aktiviert das Tastenkürzel für \\"Element Untersuchen\\" (Strg + Shift + C), welches in gängigen Browsern vorhanden ist'},devToolsWarning:{name:"Entwicklerwerkzeuge Warnungen stoppen",note:'Hält Discord davon ab ihre \\"Hold Up!\\" Warnung zu zeigen'},debugLogs:{name:"Debugger Logs",note:'Speichert alle Ausgaben aus der Konsole in die \\"debug.log\\" Datei im BetterDiscord Verzeichnis'}}}},Addons:{title:"{{name}} v{{version}} von {{author}}",byline:"von {{author}}",reload:"Neu laden",addonSettings:"Einstellungen",website:"Webseite",source:"Quelle",invite:"Support-Server",donate:"Spenden",patreon:"Patreon",name:"Name",author:"Autor",version:"Version",added:"Hinzufügedatum",modified:"Bearbeitungsdatum",editAddon:"Bearbeiten",deleteAddon:"Löschen",confirmDelete:"Bist du dir sicher, dass du {{name}} löschen willst?",confirmationText:"Du hast ungespeicherte Änderungen in {{name}}. Durch das Schließen dieses Fensters verlierst du alle Änderungen.",enabled:"{{name}} wurde aktiviert.",disabled:"{{name}} wurde deaktiviert.",couldNotEnable:"{{name}} konnte nicht aktiviert werden.",couldNotDisable:"{{name}} konnte nicht deaktiviert werden.",couldNotStart:"{{name}} konnte nicht gestartet werden.",couldNotStop:"{{name}} konnte nicht gestoppt werden.",settingsError:"Einstellungen für {{name}} konnten nicht geöffnet werden",methodError:"{{method}} konnte nicht ausgeführt werden.",unknownAuthor:"Unbekannter Autor",noDescription:"Keine Beschreibung angegeben.",metaError:"META konnte nicht geparst werden.",missingNameData:'META enthält keinen \\"name\\" Parameter.',metaNotFound:"META nicht gefunden.",compileError:"Konnte nicht kompiliert werden.",wasUnloaded:"{{name}} wurde entladen."},CustomCSS:{confirmationText:"Du hast ungespeicherte Änderungen im Custom-CSS. Durch das Schließen dieses Fensters verlierst du alle Änderungen.",update:"Aktualisieren",save:"Speichern",openNative:"Im System-Editor öffnen",openDetached:"Fenster trennen",settings:"Editor-Einstellungen",editorTitle:"Custom-CSS-Editor"},Modals:{confirmAction:"Bist du dir sicher?",okay:"Okay",done:"Fertig",cancel:"Abbrechen",nevermind:"Egal",close:"Schließen",name:"Name",message:"Nachricht",error:"Fehler",addonErrors:"Erweiterungsfehler",restartRequired:"Neustart erforderlich",restartNow:"Jetzt neustarten",restartLater:"Später neustarten",additionalInfo:"Zusätzliche Informationen",restartPrompt:"Die Einstellung wurde gespeichert. Um sie anzuwenden, ist ein Neustart von Discord erforderlich."},Sorting:{sortBy:"Sortieren nach",order:"Reihenfolge",ascending:"Aufsteigend",descending:"Absteigend"},WindowPrefs:{enabledInfo:`Diese Option benötigt ein Theme mit transparentem Hintergrund um richtig zu funktionieren. Weiters kann dadurch unter Windows das Andocken des Fensters am Bildschirmrand beeinträchtigt sein. Um die Änderungen zu übernehmen muss Discord neugestartet werden. Möchtest du jetzt neustarten?`,disabledInfo:"Die Einstellung wurde gespeichert. Um sie anzuwenden, ist ein Neustart von Discord erforderlich."}}});var xl=X((NC,Jh)=>{Jh.exports={Panels:{plugins:"Πρόσθετα",themes:"Θέματα",customcss:"Προσαρμοσμένο CSS",updates:"Ενημερώσεις"},Collections:{settings:{name:"Ρυθμίσεις",general:{name:"Γενικά",voiceDisconnect:{name:"Αποσύνδεση Φωνής",note:"Αποσύνδεση από τον διακομιστή φωνής με το κλείσιμο του Discord"},showToasts:{name:"Εμφάνιση Ειδοποιήσεων",note:"Εμφάνιση μικρής ειδοποίησης για σημαντικές πληροφορίες"},mediaKeys:{name:"Απενεργοποίηση Πλήκτρων Πολυμέσων",note:"Αποτροπή παρέμβασης του Discord στα πλήκτρα πολυμέσων μετά την αναπαραγωγή βίντεο."}},window:{removeMinimumSize:{name:"Απομάκρυνση Ελάχιστου Μεγέθους",note:"Απομακρύνει τον περιορισμό του Discord για ελάχιστες διαστάσεις παραθύρου στα 940 x 500"},name:"Ιδιότητες Παραθύρου",transparency:{name:"Ενεργοποίηση Διαφάνειας",note:"Ενεργοποιεί τη διαφάνεια του βασικού παραθύρου (απαιτείται επανεκκίνηση)"},frame:{name:"Πλαίσιο Παραθύρου",note:"Προσθέτει το πλαίσιο του συστήματος στο βασικό παράθυρο"}},addons:{name:"Διαχειριστής Προσθέτων",addonErrors:{name:"Εμφάνιση Σφαλμάτων Προσθέτων",note:"Εμφάνιση σφαλμάτων προσθέτων/θεμάτων σε παράθυρο"},editAction:{name:"Ενέργεια Επεξεργασίας",note:"Η θέση εμφάνισης προσθέτων και θεμάτων κατά την επεξεργασία",options:{detached:"Αποσπώμενο Παράθυρο",system:"Επεξεργαστής Συστήματος"}}},customcss:{name:"Προσαρμοσμένο CSS",customcss:{name:"Προσαρμοσμένο CSS",note:"Ενεργοποιεί την καρτέλα Προσαρμοσμένου CSS"},liveUpdate:{name:"Ενημέρωση σε πραγματικό χρόνο",note:"Ενημερώνεται το CSS ενώ πληκτρολογείτε"},startDetached:{name:"Εκκίνηση ως Αποσπώμενο",note:"Πατώντας την καρτέλα Προσαρμοσμένου CSS ανοίγει τον επεξεργαστή σε χωριστό παράθυρο"},nativeOpen:{name:"Άνοιγμα στον Επεξεργαστή του Συστήματος",note:"Πατώντας την καρτέλα του Προσαρμοσμένου CSS ανοίγει το προσαρμοσμένο CSS στον επεξεργαστή συστήματος"},openAction:{name:"Θέση επεξεργαστή",note:"Που πρέπει να ανοίγει το Προσαρμοσμένο CSS από προεπιλογή",options:{settings:"Μενού Ρυθμίσεων",detached:"Αποσπώμενο παράθυρο",system:"Επεξεργαστής Συστήματος"}}},developer:{name:"Ρυθμίσεις Δημιουργού",debuggerHotkey:{name:"Συντόμευση πληκτρολογίου για Αποσφαλμάτωση",note:"Επιτρέπει την ενεργοποίηση της Αποσφαλμάτωσης, πατώντας το πλήκτρο F8 με ανοιχτά τα Εργαλεία Δημιουργού"},reactDevTools:{name:"Εργαλεία Δημιουργού React",note:"Ανοίγει την τοπική εγκατάσταση των Εργαλείων Δημιουργού React στο Discord"},inspectElement:{name:"Συντόμευση πληκτρολογίου Παρακολούθησης Στοιχείου",note:"Ενεργοποιεί τη συντόμευση πληκτρολογίου παρακολούθησης στοιχείου (Ctrl+Shift+C) που είναι κοινή στους περισσότερους φυλλομετρητές"},devToolsWarning:{name:"Σταμάτημα Προειδοποίησης Εργαλείων Δημιουργού",note:"Αποτρέπει το Discord να εμφανίζει το μήνυμα «Αναμείνατε!»"},debugLogs:{name:"Καταγραφές Αποσφαλμάτωσης",note:"Εξάγει τα πάντα από την κονσόλα στο αρχείο debug.log στο φάκελο του BetterDiscord"},devTools:{name:"Εργαλεία Δημιουργού",note:"Ενεργοποιεί την εναλλαγή των Εργαλείων Δημιουργού με το Ctrl+Shift+I"}},editor:{name:"Ιδιότητες Επεξεργαστή",lineNumbers:{name:"Αριθμοί γραμμών",note:"Ενεργοποιείται η εμφάνιση των αριθμών γραμμών στη πλευρά του επεξεργαστή"},fontSize:{name:"Μέγεθος Γραμματοσειράς",note:"Μεγεθος γραμματοσειράς (pt) για χρήση στον επεξεργαστή"},minimap:{name:"Εποπτικός χάρτης",note:"Ενεργοποιεί την εμφάνιση του εποπτικού χάρτη του κώδικα στην πλευρά του επεξεργαστή"},hover:{name:"Επεξηγήσεις Αναφοράς",note:"Ενεργοποιεί την εμφάνιση των επεξηγήσεων αναφοράς όταν πάτε με το ποντίκι κανόνων και επιλογέων"},quickSuggestions:{name:"Γρήγορες Προτάσεις",note:"Ενεργοποιεί την εμφάνιση των αυτοσυμπληρούμενων προτάσεων κατά την δακτυλογράφηση"},renderWhitespace:{name:"Εμφάνιση Διαστήματος",note:"Όταν τα διαστήματα πρέπει να φαίνονται από τον επεξεργαστή",options:{all:"Πάντα",none:"Ποτέ",selection:"Επιλογή"}}}}},Addons:{title:"{{name}} v{{version}} από {{author}}",byline:"από {{author}}",reload:"Επαναφόρτωση",addonSettings:"Ρυθμίσεις",website:"Ιστοσελίδα",source:"Προέλευση",invite:"Διακομιστής Υποστήριξης",donate:"Δωρεά",patreon:"Patreon",name:"Ονομασία",author:"Δημιουργός",version:"Έκδοση",added:"Ημερομηνία που Προστέθηκε",modified:"Ημερομηνία που Τροποποιήθηκε",editAddon:"Επεξεργασία",deleteAddon:"Διαγραφή",confirmDelete:"Θέλετε να διαγράψετε το πρόσθετο {{name}};",confirmationText:"Έχετε μη αποθηκευμένες αλλαγές στο πρόσθετο {{name}}. Με το κλείσιμο του παραθύρου θα χαθούν όλες αυτές οι αλλαγές.",enabled:"Το πρόσθετο {{name}} έχει ενεργοποιηθεί.",disabled:"Το πρόσθετο {{name}} έχει απενεργοποιηθεί.",couldNotEnable:"Το πρόσθετο {{name}} δεν μπορεί να ενεργοποιηθεί.",couldNotDisable:"Το πρόσθετο {{name}} δεν μπορεί να απενεργοποιηθεί.",couldNotStart:"Το πρόσθετο {{name}} δεν μπορεί να εκκινηθεί.",couldNotStop:"Το πρόσθετο {{name}} δεν μπορεί να τερματιστεί.",settingsError:"Αδύνατο το άνοιγμα των ρυθμίσεων για το πρόσθετο {{name}}",methodError:"Η μέθοδος {{method}} δεν μπορεί να ενεργοποιηθεί.",unknownAuthor:"Άγνωστος Δημιουργός",noDescription:"Η περιγραφή δεν παρέχεται.",metaError:"Τα μεταδεδομένα δεν μπορούν να αναγνωστούν.",missingNameData:"Τα μεταδεδομένα απώλεσαν δεδομένα ονόματος.",metaNotFound:"Τα μεταδεδομένα δεν βρέθηκαν.",compileError:"Αδύνατη η μετατροπή. Δείτε την κονσόλα για λεπτομέρειες.",wasUnloaded:"Το πρόσθετο {{name}} αποφορτώθηκε.",isEnabled:"Ενεργοποιημένα",wasLoaded:"Το πρόσθετο {{name}} v{{version}} φορτώθηκε."},CustomCSS:{confirmationText:"Έχετε μη αποθηκευμένες αλλαγές στο Προσαρμοσμένο CSS. Με το κλείσιμο αυτού του παραθύρου, θα χάσετε όλες αυτές τις αλλαγές.",update:"Ενημέρωση",save:"Αποθήκευση",openNative:"Άνοιγμα στον Επεξεργαστή Συστήματος",openDetached:"Αποσπώμενο Παράθυρο",settings:"Ρυθμίσεις Επεξεργαστή",editorTitle:"Επεξεργαστής Προσαρμοσμένου CSS"},Modals:{confirmAction:"Σίγουρα;",okay:"Εντάξει",done:"Ολοκληρώθηκε",cancel:"Άκυρο",nevermind:"Δεν πειράζει",close:"Κλείσιμο",name:"Ονομασία",message:"Μήνυμα",error:"Σφάλμα",addonErrors:"Σφάλματα Πρόσθετου",restartRequired:"Απαιτείται Επανεκκίνηση",restartNow:"Επανεκκίνηση Τώρα",restartLater:"Επανεκκίνηση Αργότερα",additionalInfo:"Πρόσθετες Πληροφορίες",restartPrompt:"Για να εφαρμοστεί, το Discord πρέπει να επανεκκινηθεί. Θέλετε επανεκκίνηση τώρα;"},Sorting:{sortBy:"Ταξινόμηση κατά",order:"Ταξινόμηση",ascending:"Αύξουσα",descending:"Φθίνουσα"},WindowPrefs:{enabledInfo:`Αυτή η επιλογή απαιτεί διαφανές θέμα ώστε να λειτουργεί σωστά. Στα Windows ίσως επηρεάσει την προσαρμογή aero ή τη μεγιστοποίηση. Για να ενεργοποιηθεί, το Discord πρέπει να επανεκκινηθεί. Επανεκκίνηση τώρα;`,disabledInfo:"Για να ενεργοποιηθεί, το Discord πρέπει να επανεκκινηθεί. Επανεκκίνηση τώρα;"},Updater:{updateFailed:"Η ενημέρωση Απέτυχε!",updateFailedMessage:"Το BetterDiscord απέτυχε να ενημερωθεί. Λάβετε την τελευταία έκδοση του προγράμματος εγκατάστασης από την ιστοσελίδα μας (https://betterdiscord.app/) και κάντε επανεγκατάσταση.",updateSuccessful:"Η Ενημέρωση ήταν Επιτυχής!",updateAvailable:"Το BetterDiscord έχει μια νέα ενημερωση (v{{version}})",addonUpdated:"Το {{name}} έχει ενημερωθεί στην έκδοση {{version}}!",checking:"Έλεγχος για ενημερώσεις!",finishedChecking:"Ολοκλήρωση ελέγχου για ενημερώσεις!",checkForUpdates:"Έλεγχος Για Ενημερώσεις!",updateAll:"Ενημέρωση Όλων!",noUpdatesAvailable:"Καμιά διαθέσιμη ενημέρωση.",versionAvailable:"Η έκδοση {{version}} είναι διαθέσιμη!",updateButton:"Ενημέρωση!"}}});var vl=X((FC,Yh)=>{Yh.exports={Panels:{plugins:"Pluginok",themes:"Témák",customcss:"Egyéni CSS",updates:"Frissítések"},Collections:{settings:{name:"Beállítások",general:{name:"Általános",voiceDisconnect:{name:"Hangkapcsolat megszakítása",note:"Kapcsolat megszakítása a hangkiszolgálóval amikor bezárod a Discordot"},showToasts:{name:"Értesítés megjelenítése induláskor",note:"Kis értesítést jelenít meg a fontos információkról"},mediaKeys:{name:"Médiavezérlő billentyűk letiltása",note:"Megakadályozza, hogy a Discord a videók lejátszása után átkalibrálja a médiavezérlő billentyűket."}},window:{removeMinimumSize:{name:"Minimális méret felülírása",note:"Felülírja és eltávolítja a Discord kényszerített minimális 940x500-as ablakméretét"},name:"Ablak beállítások",transparency:{name:"Átlátszóság engedélyezése",note:"A főablak átláthatóvá tétele (újraindítást igényel)"},frame:{name:"Ablakkeret",note:"Hozzáadja az alap os ablakkeretet a főablakhoz"}},addons:{name:"Kiegészítőkezelő",addonErrors:{name:"Kiegészítő hibaüzenetek megjelenítése",note:"Megjelenít egy ablakot a pluginok/témák hibáiról"},editAction:{name:"Szerkesztő beállítása",note:"A pluginok és témák szerkesztése ebben a szerkesztőben",options:{detached:"Különálló ablak",system:"Rendszer alapértelmezett"}}},customcss:{name:"Egyéni CSS",customcss:{name:"Egyéni CSS",note:"Engedélyezi az Egyéni CSS szekciót"},liveUpdate:{name:"Frissítés élőben",note:"Frissíti a css-t szerkesztés közben"},startDetached:{name:"Indítás külön ablakban",note:"Az Egyéni CSS szekcióra kattintva a szerkesztő egy külön ablakban nyílik meg"},nativeOpen:{name:"Megnyitás natív szerkesztőben",note:"Az Egyéni CSS fülre kattintva megnyílik az egyéni css egy natív szerkesztőben"},openAction:{name:"Szerkesztő helye",note:"Az Egyéni CSS alapértelmezetten itt nyílik meg",options:{settings:"Beállítások menü",detached:"Különálló ablak",system:"Rendszer alapértelmezett"}}},developer:{name:"Fejlesztői beállítások",debuggerHotkey:{name:"Hibakereső gyorsbillentyű",note:"Lehetővé teszi a debugger aktiválását az F8 megnyomásakor, amikor a DevTools meg van nyitva"},reactDevTools:{name:"React fejlesztői eszközök",note:"Beilleszti a telepített React Developer Toolst a Discordba"},inspectElement:{name:"Elem vizsgálat gyorsbillentyűje",note:"Engedélyezi a legtöbb böngészőben használt elem vizsgálata gyorsbillentyűt (ctrl + shift + c)"},devToolsWarning:{name:"DevTools riasztás leállítása",note:'Megakadályozza, hogy a Discord kiírja a "Várj!" üzenetét'},debugLogs:{name:"Hibakereső napló",note:"A konzolról mindent kiír a BetterDiscord mappában lévő debug.log fájlba"},devTools:{name:"Fejlesztői eszközök",note:"Engedélyezi a DevTools bekapcsolását a ctrl+shift+i billentyűkombinációval"}},editor:{name:"Szerkesztői beállítások",lineNumbers:{name:"Szakasz sorszámok",note:"Lehetővé teszi a szakasz sorszámok megjelenítését a szerkesztő oldalán"},fontSize:{name:"Betűméret",note:"A szerkesztőben használandó betűtípus mérete (pt)"},minimap:{name:"Minitérkép",note:"Megjeleníti a kódminitérkép megjelenítését a szerkesztő oldalán"},hover:{name:"Hivatkozási eszköztippek",note:"Megjeleníti a hivatkozási eszköztippek megjelenítését a szabályok és szelektorok lebegtetésekor"},quickSuggestions:{name:"Gyors javaslatok",note:"Engedélyezi az automatikus kitöltési javaslatok megjelenítését gépelés közben"},renderWhitespace:{name:"Fehér tér megjelenítése",note:"Szóközök megjelenítése a szerkesztőben",options:{all:"Mindig",none:"Soha",selection:"Kiválasztás"}}}}},Addons:{title:"{{name}} v{{version}} {{author}} által",byline:"{{author}} által",reload:"Újratöltés",addonSettings:"Beállítások",website:"Weboldal",source:"Forrás",invite:"Támogatási szerver",donate:"Támogatás",patreon:"Patreon",name:"Név",author:"Szerző",version:"Verzió",added:"Hozzáadás dátuma",modified:"Módosítás dátuma",editAddon:"Szerkesztés",deleteAddon:"Törlés",confirmDelete:"Biztos, hogy törölni akarja ezt: {{name}}?",confirmationText:"A {{name}} módosításait nem kerültek mentésre. Ha bezárja ezt az ablakot, ezek a módosítások elvesznek.",enabled:"{{name}} bekapcsolva.",disabled:"{{name}} ki lett kapcsolva.",couldNotEnable:"{{name}} nem elindítható.",couldNotDisable:"{{name}} nem kikapcsolható.",couldNotStart:"{{name}} nem elindítható.",couldNotStop:"{{name}} nem leállítható.",settingsError:"Nem sikerült megnyitni a {{name}} beállításait",methodError:"{{method}} nem kivehető.",unknownAuthor:"Ismeretlen szerző",noDescription:"Leírás nincs megadva.",metaError:"Nem sikerült elemezni a META-t.",missingNameData:"Hiányzik a névadat a META-ból.",metaNotFound:"META nem található.",compileError:"Sikertelen indítás. Részletekért lásd a konzolt.",wasUnloaded:"{{name}} nem indult el.",isEnabled:"Bekapcsolva",wasLoaded:"{{name}} v{{{version}} betöltődött."},CustomCSS:{confirmationText:"Az Egyéni CSS módosításait nem kerültek mentésre. Ha bezárja ezt az ablakot, ezek a módosítások elvesznek.",update:"Frissítés",save:"Mentés",openNative:"Megnyitás a Rendszer szerkesztőjében",openDetached:"Különálló ablak",settings:"Szerkesztő beállítások",editorTitle:"Egyéni CSS szerkesztő"},Modals:{confirmAction:"Biztos vagy benne?",okay:"Oké",done:"Kész",cancel:"Mégse",nevermind:"Mégse",close:"Bezárás",name:"Név",message:"Üzenet",error:"Hiba",addonErrors:"Kiegészítők hibái",restartRequired:"Újraindítás szükséges",restartNow:"Újraindítás most",restartLater:"Újraindítás később",additionalInfo:"További információk",restartPrompt:"A Discordot újra kell indítani ahhoz, hogy érvénybe lépjen a változtatás. Most akarod újraindítani?"},Sorting:{sortBy:"Rendezés",order:"Rendezés",ascending:"Növekvő",descending:"Csökkenő"},WindowPrefs:{enabledInfo:`Ez az opció átlátszó témát igényel a megfelelő működéshez. Windowson ez megszakíthatja az aero snappinget és a maximalizálást. A Discordot újra kell indítani, hogy érvénybe lépjen. Szeretnéd most újraindítani?`,disabledInfo:"A Discordot újra kell indítani ahhoz, hogy érvénybe lépjen. Szeretnéd most újraindítani?"},Updater:{updateFailed:"A frissítés sikertelen!",updateFailedMessage:"A BetterDiscord frissítése sikertelen. Kérjük, töltse le a telepítő legújabb verzióját erről a weboldalról: (https://betterdiscord.app/), majd telepítse újra.",updateSuccessful:"Frissítés sikeres!",updateAvailable:"Új frissítés erélhető a BetterDiscordhoz: (v{{version}})",addonUpdated:"A {{name}} frissült {{version}} verzióra!",checking:"Frissítések keresése!",finishedChecking:"Frissítések ellenőrzése sikeres!",checkForUpdates:"Frissítések keresése!",updateAll:"Az összes frissítése!",noUpdatesAvailable:"Nincsenek elérhető frissítések.",versionAvailable:"Verziófrissítés elérhető: {{version}}!",updateButton:"Frissítés!"}}});var wl=X((OC,Qh)=>{Qh.exports={Panels:{plugins:"Plugins",themes:"Temi",customcss:"CSS Personalizzato",updates:"Aggiornamenti"},Collections:{settings:{name:"Impostazioni",general:{name:"Generale",voiceDisconnect:{name:"Disconnessione vocale",note:"Disconnettiti dalla chat vocale alla chiusura di Discord."},showToasts:{name:"Mostra notifiche",note:"Mostra una piccola notifica per le informazioni importanti."},mediaKeys:{name:"Disattiva i tasti multimediali",note:"Impedisce a Discord di comandare i tasti multimediali dopo la riproduzione di un video."}},window:{removeMinimumSize:{name:"Rimuovi dimensione minima",note:"Rimuove la dimensione minima forzata della finestra di Discord di 940x500."},name:"Preferenze Finestra",transparency:{name:"Attiva trasparenza",note:"Consente alla finestra principale di essere trasparente (richiede il riavvio)."},frame:{name:"Frame finestra",note:"Aggiunge il frame della finestra del sistema operativo nativo alla finestra principale."}},addons:{name:"Gestione Addons",addonErrors:{name:"Mostra errori addons",note:"Mostra una modale con errori dei plugins/temi."},editAction:{name:"Azione di modifica",note:"Seleziona dove vengono mostrati plugins e temi durante la modifica.",options:{detached:"Finestra separata",system:"Editor di sistema"}}},customcss:{name:"CSS Personalizzato",customcss:{name:"CSS Personalizzato",note:"Attiva la scheda di CSS personalizzato."},liveUpdate:{name:"Aggiornamento automatico",note:"Aggiorna il CSS durante la modifica."},startDetached:{name:"Finestra separata",note:"Cliccando sulla scheda CSS personalizzato si apre l'editor in una finestra separata."},nativeOpen:{name:"Editor nativo",note:"Cliccando sulla scheda CSS personalizzato si apre il CSS personalizzato nell'editor nativo."},openAction:{name:"Posizione dell'editor",note:"Seleziona dove il CSS personalizzato dovrebbe aprirsi per impostazione predefinita.",options:{settings:"Menu impostazioni",detached:"Finestra separata",system:"Editor di sistema"}}},developer:{name:"Impostazioni Sviluppatore",debuggerHotkey:{name:"Debugger Hotkey",note:"Consente di attivare il debugger quando si preme F8 con DevTools aperto."},reactDevTools:{name:"React Developer Tools",note:"Inietta la tua installazione locale di React Developer Tools in Discord."},inspectElement:{name:"Inspect Element Hotkey",note:"Consente di attivare il tasto ispeziona elemento (CTRL+SHIFT+C) comune nella maggior parte dei browser."},devToolsWarning:{name:"Stop DevTools Warning",note:'Impedisce a Discord di stampare il messaggio "Hold Up!".'},debugLogs:{name:"Debug Logs",note:"Consente che tutto l'output della console venga salvato nel file debug.log nella cartella BetterDiscord."},devTools:{name:"DevTools",note:"Consente la commutazione di DevTools con CTRL+SHIFT+I."}},editor:{name:"Preferenze dell'Editor",lineNumbers:{name:"Numeri di riga",note:"Consente di mostrare i numeri di riga sul lato dell'editor."},fontSize:{name:"Dimensione carattere",note:"Dimensione del carattere (pt) da utilizzare nell'editor."},minimap:{name:"Minimappa",note:"Consente di mostrare la minimappa del codice sul lato dell'editor."},hover:{name:"Suggerimenti di riferimento",note:"Consente di mostrare i suggerimenti di riferimento quando si passa con il mouse su regole e selettori."},quickSuggestions:{name:"Suggerimenti rapidi",note:"Consente di mostrare i suggerimenti di completamento automatico durante la digitazione."},renderWhitespace:{name:"Mostra spazi bianchi",note:"Seleziona quando gli spazi bianchi dovrebbero essere mostrati dall'editor.",options:{all:"Sempre",none:"Mai",selection:"Selezione"}}}}},Addons:{title:"{{name}} v{{version}} di {{author}}",byline:"di {{author}}",reload:"Ricarica",addonSettings:"Impostazioni",website:"Website",source:"Sorgente",invite:"Discord",donate:"Dona",patreon:"Patreon",name:"Nome",author:"Autore",version:"Versione",added:"Data di aggiunta",modified:"Data di modifica",editAddon:"Modifica",deleteAddon:"Elimina",confirmDelete:"Sei sicuro di voler eliminare {{name}}?",confirmationText:"Hai modifiche non salvate a {{name}}. Chiudendo questa finestra tutte le modifiche andranno perse.",enabled:"{{name}} è stato attivato.",disabled:"{{name}} è stato disattivato.",couldNotEnable:"{{name}} non può essere attivato.",couldNotDisable:"{{name}} non può essere disattivato.",couldNotStart:"{{name}} non può essere avviato.",couldNotStop:"{{name}} non può essere arrestato.",settingsError:"Impossibile aprire le impostazioni per {{name}}",methodError:"{{method}} non può essere restituito.",unknownAuthor:"Autore sconosciuto",noDescription:"Descrizione non fornita.",metaError:"META non può essere analizzato.",missingNameData:"Dati del nome META mancanti.",metaNotFound:"META non è stato trovato.",compileError:"Impossibile compilare. Vedi la console per i dettagli.",wasUnloaded:"{{name}} è stato disattivato.",isEnabled:"Attivato",wasLoaded:"{{name}} v{{version}} è stato caricato.",listView:"Vista a elenco",gridView:"Vista a griglia"},CustomCSS:{confirmationText:"Hai modifiche non salvate al tuo CSS personalizzato. Chiudendo questa finestra tutte le modifiche andranno perse.",update:"Aggiorna",save:"Salva",openNative:"Editor di sistema",openDetached:"Finestra separata",settings:"Impostazioni Editor",editorTitle:"Editor CSS Personalizzato"},Modals:{confirmAction:"Sei sicuro?",okay:"Okay",done:"Fatto",cancel:"Annulla",nevermind:"Non importa",close:"Chiudi",name:"Nome",message:"Messaggio",error:"Errore",addonErrors:"Errori addon",restartRequired:"Riavvio richiesto",restartNow:"Riavvia ora",restartLater:"Riavvia più tardi",additionalInfo:"Informazioni aggiuntive",restartPrompt:"Per avere effetto, Discord deve essere riavviato. Vuoi riavviare ora?"},Sorting:{sortBy:"Ordina per",order:"Ordine",ascending:"Ascendente",descending:"Discendente"},WindowPrefs:{enabledInfo:`Questa opzione richiede un tema trasparente per funzionare correttamente. Su Windows questo potrebbe interrompere l'aero snapping e la massimizzazione. Per avere effetto, Discord deve essere riavviato. Vuoi riavviare ora?`,disabledInfo:"Per avere effetto, Discord deve essere riavviato. Vuoi riavviare ora?"},Updater:{updateFailed:"Aggiornamento non riuscito!",updateFailedMessage:"BetterDiscord non è stato aggiornato. Scarica l'ultima versione del programma di installazione dal nostro sito web (https://betterdiscord.app/) e reinstalla.",updateSuccessful:"Aggiornamento riuscito!",updateAvailable:"BetterDiscord ha un nuovo aggiornamento (v{{version}})",addonUpdated:"{{name}} è stato aggiornato alla versione {{version}}!",checking:"Controlla aggiornamenti!",finishedChecking:"Controllo degli aggiornamenti finito!",checkForUpdates:"Controlla aggiornamenti!",updateAll:"Aggiorna tutto!",noUpdatesAvailable:"Nessun aggiornamento disponibile.",versionAvailable:"La versione {{version}} è ora disponibile!",updateButton:"Aggiorna!"}}});var kl=X((RC,eg)=>{eg.exports={Panels:{plugins:"プラグイン",themes:"テーマ",customcss:"カスタムCSS",updates:"アップデート"},Collections:{settings:{name:"設定",general:{name:"全般",voiceDisconnect:{name:"ボイスチャンネルの切断",note:"Discordを終了すると自動的にボイスチャンネルから切断されます。"},showToasts:{name:"トースト表示",note:"重要な情報を小さな通知で表示します。"},mediaKeys:{name:"メディアキー無効化",note:"ビデオ再生後にDiscordがメディアキーを乗っ取るのを防ぎます。"}},window:{removeMinimumSize:{name:"最小サイズ削除",note:"Discordの最小ウィンドウサイズである940x500を強制的に解除します。"},name:"ウィンドウ設定",transparency:{name:"透過を有効",note:"Discordのメインウィンドウを透過します(要再起動)。"},frame:{name:"ウィンドウフレームの表示",note:"メインウィンドウにOSごとのウィンドウフレームを追加します。"}},addons:{name:"アドオンマネージャー",addonErrors:{name:"アドオンエラーの表示",note:"プラグイン/テーマのエラーを表示します。"},editAction:{name:"アドオンの編集",note:"プラグインとテーマの編集時の表示位置。",options:{detached:"Discord内で開く",system:"外部エディタで開く"}}},customcss:{name:"カスタムCSS",customcss:{name:"カスタムCSS",note:"カスタムCSSタブを有効にします。"},liveUpdate:{name:"自動リアルタイム更新",note:"入力と同時に自動でCSSを更新"},startDetached:{name:"ウィンドウ表示",note:"カスタムCSSタブをクリックすると、エディターが別ウィンドウで表示されます"},nativeOpen:{name:"外部エディタを起動",note:"カスタムCSSを外部のエディタで起動します"},openAction:{name:"エディター",note:"カスタムCSSがデフォルトで開かれる場所",options:{settings:"設定メニュー",detached:"内部エディター",system:"システム既定のエディター"}}},developer:{name:"開発者設定",debuggerHotkey:{name:"デバッグ用ホットキー",note:"デベロッパーツールを開いた状態でF8キーを押すとデバッガが起動します。"},reactDevTools:{name:"React開発者向けツール",note:"ローカルにインストールしたReact Developer ToolsをDiscordに挿入します。"},inspectElement:{name:"インスペクト・エレメント・ホットキー",note:"ほとんどのブラウザで一般的なinspect要素のホットキー(Ctrl + Shift + C)を有効にします。"},devToolsWarning:{name:"DevToolsの警告を停止",note:'Discordの "Hold Up!"メッセージの表示を停止します。'},debugLogs:{name:"デバッグログ",note:"コンソールからBetterDiscordフォルダのdebug.logファイルに全てを出力します。"},devTools:{name:"デベロッパーツール",note:"ctrl+shift+iでデベロッパーツールの切り替えができます。"}},editor:{name:"エディターの設定",lineNumbers:{name:"行番号",note:"エディターの横に行番号を表示します。"},fontSize:{name:"フォントサイズ",note:"エディターで使用するフォントの大きさ(pt)を変更する。"},minimap:{name:"ミニマップ",note:"エディター横にコード用のミニマップを表示します。"},hover:{name:"参照用ツールチップ",note:"ルールやセレクタをホバーしたときに、参照用のツールチップを表示します。"},quickSuggestions:{name:"入力補助",note:"入力中にオートコンプリートの候補を表示します。"},renderWhitespace:{name:"空白を表示",note:"エディターで空白を表示する場合",options:{all:"常時",none:"無し",selection:"選択"}}}}},Addons:{title:"{{name}} v{{version}} by {{author}}",byline:"by {{author}}",reload:"リロード",addonSettings:"設定",website:"ウェブサイト",source:"ソース",invite:"サポートサーバー",donate:"寄付",patreon:"Patreon",name:"名称",author:"作者",version:"バージョン",added:"追加日",modified:"更新日",editAddon:"編集",deleteAddon:"削除",confirmDelete:"本当に{{name}}を削除しますか?",confirmationText:"{{name}}に未保存のデータがあります。このウィンドウを閉じると、それらの変更はすべて失われます。",enabled:"{{name}}を有効化しました。",disabled:"{{name}}を無効化しました。",couldNotEnable:"{{name}}を有効化できませんでした。",couldNotDisable:"{{name}}を無効化できませんでした。",couldNotStart:"{{name}}を起動できませんでした。",couldNotStop:"{{name}}を停止できませんでした。",settingsError:"{{name}}の設定を開けませんでした。",methodError:"{{method}}を起動できませんでした。",unknownAuthor:"作者不明",noDescription:"説明はありません。",metaError:"METAを解析できませんでした。",missingNameData:"METAの名前データがありません。",metaNotFound:"METAが見つかりませんでした。",compileError:"コンパイルできませんでした。詳しくはコンソールをご覧ください。",wasUnloaded:"{{name}}が解除されました。",isEnabled:"有効",wasLoaded:"{{name}}のv{{version}}が読み込まれました。"},CustomCSS:{confirmationText:"カスタムCSSに未保存のデータがあります。このウィンドウを閉じると、これらの変更はすべて失われます。",update:"アップデート",save:"保存",openNative:"外部エディタで開く",openDetached:"別ウィンドウで開く",settings:"エディター設定",editorTitle:"カスタムCSSエディター"},Modals:{confirmAction:"本当によろしいですか?",okay:"はい",done:"Done",cancel:"いいえ",nevermind:"Nevermind",close:"Close",name:"名前",message:"メッセージ",error:"エラー",addonErrors:"アドオンエラー",restartRequired:"再起動が必要",restartNow:"今すぐ再起動",restartLater:"後で再起動",additionalInfo:"その他の情報",restartPrompt:"有効にするためには、Discordを再起動する必要があります。今すぐ再起動しますか?"},Sorting:{sortBy:"並び順",order:"順序",ascending:"昇順",descending:"降順"},WindowPrefs:{enabledInfo:`このオプションが正しく動作するためには、透明なテーマが必要です。Windows では、エアロスナップと最大化が壊れる可能性があります。 このオプションを有効にするには、Discord を再起動する必要があります。今すぐ再起動しますか?`,disabledInfo:"有効にするためには、Discordを再起動する必要があります。今すぐ再起動しますか?"},Updater:{updateFailed:"アップデートに失敗しました!",updateFailedMessage:"BetterDiscordのアップデートに失敗しました。ホームページ(https://betterdiscord.app/)から最新版のインストーラーをダウンロードして、再インストールしてください。",updateSuccessful:"アップデートに成功しました!",updateAvailable:"BetterDiscordに新しいアップデート(v{{version}})があります。",addonUpdated:"{{name}}がバージョン{{version}}にアップデートされました!",checking:"アップデートを確認",finishedChecking:"アップデートの確認が終了しました!",checkForUpdates:"アップデートを確認",updateAll:"全てアップデート",noUpdatesAvailable:"アップデートはありません。",versionAvailable:"バージョン{{version}}を公開しました。",updateButton:"アップデート"}}});var Cl=X((UC,tg)=>{tg.exports={Panels:{plugins:"플러그인",themes:"테마",customcss:"사용자 지정 CSS",updates:"업데이트"},Collections:{settings:{name:"설정",general:{name:"일반",voiceDisconnect:{name:"음성 연결 끊기",note:"디스코드를 닫을 때 음성 채널의 연결을 끊습니다"},showToasts:{name:"토스트 메시지 표시",note:"중요한 정보를 위한 작은 알림을 표시합니다"},mediaKeys:{name:"미디어 키 비활성화",note:"영상을 재생한 후, 디스코드가 미디어 키를 가로채는 것을 방지합니다"}},window:{removeMinimumSize:{name:"최소 크기 제거",note:"디스코드의 강제 창 최소 크기 제한 (940x500) 을 제거합니다"},name:"창 선호",transparency:{name:"투명도 활성화",note:"기본 창이 투명하게 보이는 것을 활성화합니다 (재시작 요구됨)"},frame:{name:"창 프레임",note:"기본 창에 기본 OS 창 프레임을 추가합니다"}},addons:{name:"애드온 관리자",addonErrors:{name:"애드온 에러 표시",note:"플러그인/테마 오류가 있는 모달을 표시합니다"},editAction:{name:"액션 수정",note:"수정할 때 플러그인과 테마가 나타나는 곳",options:{detached:"분리 창",system:"시스템 편집기"}}},customcss:{name:"사용자 지정 CSS",customcss:{name:"사용자 지정 CSS",note:"사용자 지정 CSS 탭을 활성화합니다"},liveUpdate:{name:"실시간 업데이트",note:"css를 작성하는 대로 업데이트합니다"},startDetached:{name:"분리 창 시작",note:"사용자 지정 CSS 탭을 클릭하면 분리된 창에서 편집기가 열립니다"},nativeOpen:{name:"기본 편집기에서 열기",note:"사용자 지정 CSS 탭을 클릭하면 기본 편집기에서 사용자 지정 css가 열립니다"},openAction:{name:"위치 편집기",note:"기본적으로 사용자 지정 CSS가 열리는 곳",options:{settings:"설정 메뉴",detached:"분리된 창",system:"시스템 편집기"}}},developer:{name:"개발자 설정",debuggerHotkey:{name:"디버거 단축키",note:"F8을 누를 때 디버거를 활성화합니다"},reactDevTools:{name:"React 개발자 도구",note:"로컬 환경에 설치된 React 개발자 도구를 디스코드에 삽입합니다"},inspectElement:{name:"요소 선택 단축키",note:"대부분의 브라우저에서 가장 흔한 요소 선택 단축키를 활성화합니다 (ctrl + shift + c)"},devToolsWarning:{name:"DevTools 경고 멈추기",note:'디스코드가 \\"Hold Up!\\" 메시지를 표시하는 것을 멈춥니다'},debugLogs:{name:"디버그 로그",note:"콘솔의 모든 출력을 BetterDiscord 폴더의 debug.log 파일에 저장합니다"},devTools:{name:"개발자 도구",note:"ctrl+shift+i를 사용하여 개발자 도구를 활성화합니다"}},editor:{name:"편집기 선호",lineNumbers:{name:"행 번호",note:"편집기 측면에 행 번호 표시를 활성화합니"},fontSize:{name:"폰트 크기",note:"편집기에서 사용할 폰트 (pt) 크기"},minimap:{name:"미니맵",note:"편집기 측면에 코드 미니맵 표시를 활성화합니다"},hover:{name:"참조 툴팁",note:"규칙 및 선택기에 마우스 커서를 올릴 때 참조 툴팁을 활성화합니다"},quickSuggestions:{name:"빠른 제안",note:"입력할 때 자동 완성 제안 표시를 활성화합니"},renderWhitespace:{name:"공백 표시",note:"편집기가 공백을 표시해야 하는 경우",options:{all:"항상 사용",none:"항상 무시",selection:"선택"}}}}},Addons:{title:"{{name}} v{{version}} by {{author}}",byline:"by {{author}}",reload:"리로드",addonSettings:"설정",website:"웹사이트",source:"소스",invite:"서버 지원",donate:"기부",patreon:"패트리온",name:"이름",author:"제작자",version:"버전",added:"추가된 날짜",modified:"수정된 날짜",editAddon:"수정",deleteAddon:"삭제",confirmDelete:"{{name}}(을)를 삭제하시겠습니까?",confirmationText:"{{name}}에 저장되지 않은 수정사항이 있습니다. 이 창을 닫으면 모든 수정이 취소됩니다.",enabled:"{{name}}이 활성화되었습니다",disabled:"{{name}}이 비활성화되었습니다",couldNotEnable:"{{name}}(을)를 활성화하지 못했습니다",couldNotDisable:"{{name}}(을)를 비활성화하지 못했습니다",couldNotStart:"{{name}}(을)를 시작하지 못했습니다",couldNotStop:"{{name}}(을)를 정지하지 못했습니다",settingsError:"{{name}} 의 설정을 열 수 없습니다",methodError:"{{method}}(을)를 실행할 수 없습니다",unknownAuthor:"알 수 없는 제작자",noDescription:"설명이 제공되지 않았습니다",metaError:"META 파싱에 실패했습니다",missingNameData:"META 이름 데이터 찾을 수 없음",metaNotFound:"META 찾을 수 없음",compileError:"컴파일에 실패했습니다",wasUnloaded:"{{name}}가 언로드되었습니다",isEnabled:"활성화됨",wasLoaded:"{{name}} v{{version}} 가 로드됨."},CustomCSS:{confirmationText:"사용자 지정 CSS에 저장되지 않은 수정사항이 있습니다. 이 창을 닫으면 모든 수정이 취소됩니다",update:"업데이트",save:"저장",openNative:"시스템 편집기에서 열기",openDetached:"분리된 창에서 열기",settings:"편집기 설정",editorTitle:"사용자 CSS 편집기"},Modals:{confirmAction:"확실합니까?",okay:"확인",done:"완료",cancel:"취소",nevermind:"무시",close:"닫기",name:"이름",message:"메시지",error:"오류",addonErrors:"애드온 오류",restartRequired:"재시작 요구됨",restartNow:"지금 재시작하기",restartLater:"나중에 재시작하기",additionalInfo:"추가 정보",restartPrompt:"적용을 위해 디스코드가 재시작되어야 합니다. 지금 재시작하시겠습니까?"},Sorting:{sortBy:"유형: ",order:"순서: ",ascending:"오름차순",descending:"내림차순"},WindowPrefs:{enabledInfo:`이 옵션은 제대로 작동하려면 투명한 테마가 필요합니다. Windows에서는 에어로 스내핑과 최대화가 고장날 수 있습니다. 적용을 위해 디스코드를 재시작해야 합니다. 지금 재시작하시겠습니까?`,disabledInfo:"적용을 위해 디스코드를 재시작해야 합니다. 지금 재시작하시겠습니까?"},Updater:{updateFailed:"업데이트가 실패했습니다!",updateFailedMessage:"BetterDiscord가 업데이트에 실패했습니다. 저희 웹사이트 (https://betterdiscord.app/) 에서 설치기를 받아 재설치하십시오.",updateSuccessful:"업데이트가 성공적으로 완료되었습니다!",updateAvailable:"BetterDiscord에 새로운 업데이트가 있습니다 (v{{version}})",addonUpdated:"{{name}} 이 버전 {{version}} 으로 업데이트 되었습니다!",checking:"업데이트를 확인하고 있습니다!",finishedChecking:"업데이트 확인을 마쳤습니다!",checkForUpdates:"업데이트 확인하기!",updateAll:"모두 업데이트 되었습니다!",noUpdatesAvailable:"사용 가능한 업데이트가 없습니다.",versionAvailable:"버전 {{version}} 을 사용할 수 있습니다!",updateButton:"업데이트!"}}});var Sl=X((jC,ag)=>{ag.exports={Panels:{plugins:"Wtyczki",themes:"Motywy",customcss:"Niestandardowy CSS",updates:"Aktualizacje"},Collections:{settings:{name:"Ustawienia",general:{name:"Ogólne",voiceDisconnect:{name:"Rozłączaj z czatem głosowym",note:"Rozłącza z serwerem czatu głosowego przy wyłączeniu Discorda"},showToasts:{name:"Wyświetlaj okienka powiadomień",note:"Wyświetla małe powiadomienia dla ważnych zdarzeń"},mediaKeys:{name:"Wyłącz przyciski multimedialne",note:"Zapobiega korzystaniu z klawiszy multimedialnych przez Discorda podczas odtwarzania filmów."}},window:{removeMinimumSize:{name:"Usuń limit minimalnego rozmiaru okna",note:"Usuwa wymuszony przez Discorda limit minimalnego rozmiaru okna (940x500)"},name:"Ustawienia okna",transparency:{name:"Włącz przezroczystość",note:"Dodaje efekt przezroczytstości do okna Discorda (wymaga ponownego uruchomienia)"},frame:{name:"Ramka okna",note:"Dodaje systemową ramkę do okna Discorda"}},addons:{name:"Menedżer dodatków",addonErrors:{name:"Wyświetlaj błędy dodatków",note:"Wyświetla okno z błędami wtyczek i motywów"},editAction:{name:"Edytor dodatków",note:"Ustawia domyślny edytor kodu wtyczek i motywów",options:{detached:"Osobne okno",system:"Edytor systemowy"}}},customcss:{name:"Niestandardowy CSS",customcss:{name:"Niestandardowy CSS",note:"Wyświetla zakładkę z edytorem niestandardowego kodu CSS"},liveUpdate:{name:"Automatyczny podgląd",note:"Aktualizuje CSS Discorda wraz z pisaniem kodu"},startDetached:{name:"Osobne okno edytora",note:"Kliknięcie na zakładkę „Niestandardowy CSS” uruchomi edytor w osobnym oknie"},nativeOpen:{name:"Otwórz w edytorze systemowym",note:"Kliknięcie na zakładkę „Niestandardowy CSS” uruchomi plik w edytorze systemowym"},openAction:{name:"Domyślny edytor",note:"Ustawia domyślny edytor niestandardowego kodu CSS",options:{settings:"Ustawienia",detached:"Osobne okno",system:"Edytor systemowy"}}},developer:{name:"Ustawienia dla programistów",debuggerHotkey:{name:"Debugger",note:"Uruchamia debugger po naciśnięciu F8 przy otworzonym panelu narzędzi dla programistów"},reactDevTools:{name:"React Developer Tools",note:"Wprowadza zainstalowane na Twoim komputerze rozszerzenie React Developer Tools do Discorda"},inspectElement:{name:"Narzędzie „Zbadaj element”",note:"Umożliwia korzystanie z narzędzia „Zbadaj element” po użyciu skrótu klawiszowego Ctrl+Shift+C"},devToolsWarning:{name:"Nie wyświetlaj ostrzeżenia o szybkim wysyłaniu wiadomości",note:"Zapobiega wyświetlaniu informacji o zbyt szybkim wysyłaniu wiadomości przez Discorda"},debugLogs:{name:"Dziennik zdarzeń",note:"Przekierowuje informacje z konsoli do pliku debug.log w folderze BetterDiscorda"},devTools:{name:"Narzędzia dla programistów",note:"Umożliwia wyświetlenie panelu narzędzi dla programistów po użyciu skrótu klawiszowego Ctrl+Shift+I"}},editor:{name:"Ustawienia edytora",lineNumbers:{name:"Numery wierszy",note:"Wyświetla numery wierszy po lewej stronie edytora"},fontSize:{name:"Rozmiar czcionki",note:"Ustawia rozmiar czcionki (pt) w edytorze"},minimap:{name:"Podgląd",note:"Wyświetla mały podgląd kodu po prawej stronie edytora"},hover:{name:"Etykiety",note:"Wyświetla etykiety z dodatkowymi informacjami po najechaniu na element kodu"},quickSuggestions:{name:"Podpowiadanie składni",note:"Włącza automatyczne podpowiadanie składni podczas pisania kodu"},renderWhitespace:{name:"Pokaż białe znaki",note:"Określa, kiedy białe znaki będą wyświetlane w edytorze",options:{all:"Zawsze",none:"Nigdy",selection:"Przy zaznaczaniu"}}}}},Addons:{title:"{{name}} (wersja {{version}}) autorstwa {{author}}",byline:"autorstwa {{author}}",reload:"Odśwież",addonSettings:"Ustawienia",website:"Strona internetowa",source:"Źródło",invite:"Wspomóż serwer",donate:"Przekaż darowiznę",patreon:"Patreon",name:"Nazwa",author:"Twórca",version:"Wersja",added:"Data dodania",modified:"Data modyfikacji",search:"Wyszukaj",editAddon:"Edytuj",deleteAddon:"Usuń",confirmDelete:"Czy na pewno chcesz usunąć {{name}}?",confirmationText:"Masz niezapisane zmiany w kodzie {{name}}. Zamknięcie tego okna spowoduje odrzucenie wszystkich zmian.",enabled:"Dodatek {{name}} został włączony.",disabled:"Dodatek {{name}} został wyłączony.",couldNotEnable:"Dodatek {{name}} nie może zostać włączony.",couldNotDisable:"Dodatek {{name}} nie może zostać wyłączony.",couldNotStart:"Dodatek {{name}} nie może zostać uruchomiony.",couldNotStop:"Dodatek {{name}} nie może zostać zatrzymany.",settingsError:"Nie udało się otworzyć ustawień dodatku {{name}}",methodError:"Metoda {{method}} nie może zostać wywołana.",unknownAuthor:"Nieznany twórca",noDescription:"Brak opisu.",alreadyExists:"Masz już dodatek z nazwą {{name}}",metaError:"Nie udało się przetworzyć metadanych.",missingNameData:"Brak nazwy dodatku w metadanych.",metaNotFound:"Nie odnaleziono metadanych.",compileError:"Błąd kompilacji. Sprawdź konsolę, aby dowiedzieć się więcej.",wasUnloaded:"Dodatek {{name}} został odładowany.",blankSlateHeader:"Wygląda na to, że nic tu nie ma!",blankSlateMessage:"Pobierz nowe dodatki z [tej strony]({{link}}) i przenieś je do odpowiedniego folderu.",isEnabled:"Stan",wasLoaded:"Dodatek {{name}} (wersja {{version}}) został załadowany."},CustomCSS:{confirmationText:"Masz niezapisane zmiany w swoim niestandardowym kodzie CSS. Zamknięcie tego okienka spowoduje odrzucenie wszystkich zmian.",update:"Zaktualizuj",save:"Zapisz",openNative:"Otwórz w edytorze systemowym",openDetached:"Otwórz w osobnym oknie",settings:"Ustawienia edytora",editorTitle:"Edytor niestandardowego kodu CSS"},Modals:{confirmAction:"Czy na pewno chcesz to zrobić?",okay:"Tak",done:"Potwierdź",cancel:"Anuluj",nevermind:"Anuluj",close:"Zamknij",name:"Nazwa",message:"Komunikat",error:"Błąd",addonErrors:"Błędy wtyczek",restartRequired:"Wymagane ponowne uruchomienie",restartNow:"Uruchom ponownie teraz",restartLater:"Uruchom ponownie później",additionalInfo:"Dodatkowe informacje",restartPrompt:"Uruchom ponownie Discorda, by zastosować zmiany. Czy chcesz to zrobić teraz?"},Sorting:{sortBy:"Sortuj wg",order:"Kolejność",ascending:"Rosnąca",descending:"Malejąca"},WindowPrefs:{enabledInfo:`Ta opcja wymaga przezroczystego motywu do poprawnego działania. Na Windowsie mogą pojawić się problemy ze zmianą wielkości okna. Uruchom ponownie Discorda, by zastosować zmiany. Czy chcesz to zrobić teraz?`,disabledInfo:"Uruchom ponownie Discorda, by zmiany odniosły efekty. Czy chcesz to zrobić teraz?"},Updater:{updateFailed:"Aktualizacja nie powiodła się!",updateFailedMessage:"Nie udało się zaktualizować BetterDiscorda. Pobierz najnowszy instalator z naszej strony (https://betterdiscord.app/) i zainstaluj aplikację ponownie.",updateSuccessful:"Aktualizacja powiodła się!",updateAvailable:"Dostępna jest nowa aktualizacja BetterDiscorda (wersja {{version}})",addonUpdated:"Dodatek {{name}} został zaktualizowany do wersji {{version}}!",checking:"Sprawdzanie dostępności aktualizacji!",finishedChecking:"Zakończono sprawdzanie dostępności aktualizacji!",checkForUpdates:"Sprawdź dostępność aktualizacji",updateAll:"Zaktualizuj wszystko",noUpdatesAvailable:"Brak dostępnych aktualizacji.",versionAvailable:"Dostępna jest nowa wersja ({{version}})!",upToDateBlankslate:"Wszystkie dodatki są aktualne!",updateButton:"Zaktualizuj"}}});var Ll=X((qC,og)=>{og.exports={Panels:{plugins:"Plugins",themes:"Temas",customcss:"CSS Personalizado"},Collections:{settings:{name:"Definições",general:{name:"Geral",voiceDisconnect:{name:"Disconectar Voz",note:"Disconectar do servidor de voz quando fechar o discord"},showToasts:{name:"Mostrar notificações",note:"Mostra uma pequena notificação para informações importantes"},mediaKeys:{name:"Desativar as chaves Mídia",note:"Previne o Discord de dar hijack as chaves Mídia depois de ver um video."}},window:{removeMinimumSize:{name:"Remove o tamanho mínimo",note:"Remove o tamanho mínimo obrigatório de janela do Discord de 940x500"},name:"Preferência de Janela",transparency:{name:"Ativar Transparência",note:"Ativa a janela principal para ter transparência (requer reniciar)"},frame:{name:"Moldura da janela",note:"Adiciona a moldura de janela nativa do sistema operativo à janela principal"}},addons:{name:"Gestor de extensões",addonErrors:{name:"Mostra os erros das extensões",note:"Mostra uma janela com os erros dos plugins/temas"},editAction:{name:"Editar ação",note:"Onde os plugins e os temas irão aparecer quando se edita",options:{detached:"Separar janela",system:"Editor de sistema"}}},customcss:{name:"CSS Personalizado",customcss:{name:"CSS Personalizado",note:"Ativa a aba de CSS Personalizado"},liveUpdate:{name:"Atualizações diretas",note:"Atualiza o css a medida que se escreve"},startDetached:{name:"Começar desanexado",note:"Clicar na aba de CSS Personalizado abre o editor numa janela separada"},nativeOpen:{name:"Abrir o editor Nativo",note:"Clicar na aba de CSS Personalizado abre o css personalizado no seu editor nativo"},openAction:{name:"Editor de localização",note:"Onde o CSS personalizado abre por predifinição",options:{settings:"Menu de definições",detached:"Separar Janela",system:"Editor de sistema"}}},developer:{name:"Definições de desenvolvedor",debuggerHotkey:{name:"Debugger Hotkey",note:"Permite a ativação do debugger quando pressiona o F8"},reactDevTools:{name:"Ferramentas de Desenvolvedor React",note:"Injeta a instalação local da Ferramenta de Desenvolvedor React para o Discord"},inspectElement:{name:"Tecla de Inspecionar Elemento",note:"Ativa a tecla de inspecionar elemento (ctrl + shift + c) que é comum na maioria dos navegadores browser"},devToolsWarning:{name:"Pára o aviso de DevTools",note:'Pára o Discord de mostrar a mensagem "Hold up!"'},debugLogs:{name:"Debug Logs",note:"Saída de tudo da consola para o ficheiro debug.log na pasta BetterDiscord"}}}},Addons:{title:"{{name}} v{{version}} feito por {{author}}",byline:"feito por {{author}}",reload:"Recarregar",addonSettings:"Definições",website:"Website",source:"Fonte",invite:"Servidor de Suporte",donate:"Doar",patreon:"Patreon",name:"Nome",author:"Autor",version:"Versão",added:"Data Adicionada",modified:"Data Modificada",editAddon:"Editar",deleteAddon:"Apagar",confirmDelete:"Tem a certeza que quer apagar {{name}}?",confirmationText:"Tem alterações não guardadas no {{name}}. Se fechar esta janela irá perder essas alterações.",enabled:"{{name}} foi ativo.",disabled:"{{name}} foi desativado.",couldNotEnable:"{{name}} não foi possível ser ativado.",couldNotDisable:"{{name}} não pode ser desativado.",couldNotStart:"{{name}} não pode ser iniciado.",couldNotStop:"{{name}} não pode ser parádo.",settingsError:"Não foi possível abrir as configurações para {{name}}",methodError:"{{method}} não pode ser retirado.",unknownAuthor:"Autor Desconhecido",noDescription:"Descrição não fornecida.",metaError:"META não pôde ser analisado.",missingNameData:"Em falta dados do nome de META.",metaNotFound:"META não encontrada.",compileError:"Não foi possível compilar.",wasUnloaded:"{{name}} foi descarregado."},CustomCSS:{confirmationText:"Tem alterações não guardadas no CSS Personalizado. Se fechar esta janela irá perder essas alterações.",update:"Atualizar",save:"Guardar",openNative:"Abrir o Editor de Sistema",openDetached:"Separar Janela",settings:"Definições de Editor",editorTitle:"Editor de CSS Personalizado"},Modals:{confirmAction:"Tem a certeza?",okay:"Okay",done:"Feito",cancel:"Cancelar",nevermind:"Deixa estár",close:"Fechar",name:"Nome",message:"Mensagem",error:"Erro",addonErrors:"Erro de extensão",restartRequired:"Necessário Reniciar",restartNow:"Reniciar Agora",restartLater:"Reniciar Mais Tarde",additionalInfo:"Informação Adicional",restartPrompt:"Para ter efeito, o Discord precisa ser reiniciado. Deseja reiniciar agora?"},Sorting:{sortBy:"Ordenar por",order:"Ordenar",ascending:"Ascendente",descending:"Descendente"},WindowPrefs:{enabledInfo:`Esta opção requer um tema transparente para funcionar corretamente. No Windows, isso pode interromper o ajuste e a maximização do aero. Para ter efeito, o Discord precisa ser reiniciado. Quer reiniciar agora?`,disabledInfo:"Para ter efeito, o Discord precisa ser reiniciado. Quer reiniciar agora?"}}});var Il=X((HC,rg)=>{rg.exports={Panels:{plugins:"Plugins",themes:"Temas",customcss:"CSS Personalizado"},Collections:{settings:{name:"Configurações",general:{name:"Geral",voiceDisconnect:{name:"Desconexão de Voz",note:"Desconecta do servidor de voz quando o discord é fechado"},showToasts:{name:"Mostrar Toasts",note:"Mostra uma pequena notificação para informações importantes"},mediaKeys:{name:"Desabilitar Teclas de Media",note:"Previne que o discord roube suas teclas de media depois de dar play em um vídeo"}},window:{removeMinimumSize:{name:"Remover Tamanho Mínimo",note:"Remove o tamanho mínimo forçado pelo discord de 940x500"},name:"Preferências da Janela",transparency:{name:"Habilitar Transparência",note:"Faz a janela principal ser transparente (requer reinicialização)"},frame:{name:"Moldura da Janela",note:"Adiciona a moldura nativa na janela principal"}},addons:{name:"Gerenciador de Addons",addonErrors:{name:"Mostrar erros dos Addons",note:"Mostra um modal com os erros do plugin/tema"},editAction:{name:"Ação de Edição",note:"Onde plugins e temas aparecerão quando os editar",options:{detached:"Janela Separada",system:"Editor do Sistema"}}},customcss:{name:"CSS Personalizado",customcss:{name:"CSS Personalizado",note:"Habilita a aba de css personalizado"},liveUpdate:{name:"Atualização em Tempo Real",note:"Atualiza o css à medida que você digita"},startDetached:{name:"Iniciar Separado",note:"Clicar na aba do CSS Personalizado irá abrir o editor numa janela separada"},nativeOpen:{name:"Abrir no Editor Nativo",note:"Clicar na aba do CSS Personalizado irá o abrir usando seu editor nativo"},openAction:{name:"Localização do Editor",note:"Onde o CSS Personalizado deve aparecer por padrão",options:{settings:"Menu de Configurações",detached:"Janela Separada",system:"Editor do Sistema"}}},developer:{name:"Configurações de Desenvolvedor",debuggerHotkey:{name:"Atalho para o Depurador",note:"Permite ativar o depurador quando pressionar F8"},reactDevTools:{name:"React Developer Tools",note:"Injeta a sua instalação local do React Developer Tools no discord"},inspectElement:{name:"Atalho para Inspecionar Elemento",note:"Habilita o atalho para inspecionar elemento (ctrl + shift + c) que é comum na maioria dos navegadores"},devToolsWarning:{name:"Remove os Avisos de DevTools",note:'Faz o discord parar de imprimir as mensagens de "Calma Aí!"'},debugLogs:{name:"Registro de Depuração",note:"Salva todas os logs do console no arquivo debug.log dentro da pasta do BetterDiscord"}}}},Addons:{title:"{{name}} v{{version}} by {{author}}",byline:"por {{author}}",reload:"Recarregar",addonSettings:"Configurações",website:"Site",source:"Source",invite:"Servidor de Suporte",donate:"Doar",patreon:"Patreon",name:"Nome",author:"Autor",version:"Versão",added:"Date de Adição",modified:"Data de Modificação",editAddon:"Editar",deleteAddon:"Remover",confirmDelete:"Você tem certeza que quer remover o {{name}}?",confirmationText:"Você tem mudanças ainda não salvas em {{name}}. Fechar essa janela fará você perder todas elas.",enabled:"{{name}} foi ativado.",disabled:"{{name}} foi desativado.",couldNotEnable:"{{name}} não pôde ser ativado.",couldNotDisable:"{{name}} não pôde ser desativado.",couldNotStart:"{{name}} não pôde ser iniciado.",couldNotStop:"{{name}} não pôde ser parado.",settingsError:"Não foi possível abrir as configurações do(a) {{name}}",methodError:"{{method}} não pode ser disparado.",unknownAuthor:"Autor Desconhecido",noDescription:"Descrição não fornecida.",metaError:"META não pode ser reconhecida.",missingNameData:"META sem dados de nome.",metaNotFound:"META não encontrado.",compileError:"Não foi possível compilar.",wasUnloaded:"{{name}} foi descarregado."},CustomCSS:{confirmationText:"Você tem mudanças ainda não salvas no seu CSS Personalizado. Fechar essa janela fará você perder todas elas.",update:"Atualizar",save:"Salvar",openNative:"Abrir no Editor do Sistema",openDetached:"Abrir numa Janela Separada",settings:"Configurações do Editor",editorTitle:"Editor do CSS Personalizado"},Modals:{confirmAction:"Você Tem Certeza?",okay:"Okay",done:"Feito",cancel:"Cancelar",nevermind:"Deixe pra lá",close:"Fechar",name:"Nome",message:"Mensagem",error:"Erro",addonErrors:"Erros dos Addons",restartRequired:"Reinicialização Necessária",restartNow:"Reiniciar Agora",restartLater:"Reiniciar Mais Tarde",additionalInfo:"Informações Adicionais",restartPrompt:"Para as mudanças terem efeito o discord precisa ser reinciado. Você deseja reiniciar agora?"},Sorting:{sortBy:"Ordenar Por",order:"Ordem",ascending:"Ascendente",descending:"Descendente"},WindowPrefs:{enabledInfo:`Essa opção necessita de um tema transparente para funcionar corretamente. No Windows isso pode quebrar o aero snapping e a maximização. O discord precisa ser reiniciado para as mudanças terem efeito. Você deseja reiniciar agora?`,disabledInfo:"O discord precisa ser reiniciado para as mudanças terem efeito. Você deseja reiniciar agora?"}}});var Al=X((WC,ng)=>{ng.exports={Panels:{plugins:"Плагины",themes:"Темы",customcss:"Быстрый CSS",updates:"Обновления"},Collections:{settings:{name:"Настройки",general:{name:"Основные",voiceDisconnect:{name:"Отключение голосового чата",note:"Отключает от голосового чата, когда Discord закрыт"},showToasts:{name:"Показывать уведомления",note:"Показывает небольшие уведомления с важной информацией"},mediaKeys:{name:"Отключить медиа-кнопки",note:"Предотвращает перехват мультимедийных кнопок Discord'ом после воспроизведения видео."}},window:{removeMinimumSize:{name:"Удалить минимальные размеры",note:"Удаляет минимальный размер окна Discord'а 940x500"},name:"Настройки окна",transparency:{name:"Включить прозрачность",note:"Делает основное окно прозрачным (нужна перезагрузка)"},frame:{name:"Шапка окна",note:"Добавляет встроенную шапку окна системы к основному окну"}},addons:{name:"Менеджер дополнений",addonErrors:{name:"Показывать ошибки расширений",note:"Скрывает модальные окна с ошибками плагина/темы"},editAction:{name:"Действие редактирования",note:"Появляются при редактировании, где плагины или темы",options:{detached:"Отдельное окно",system:"Системный редактор"}}},customcss:{name:"Быстрый CSS",customcss:{name:"Быстрый CSS",note:"Включить кнопку быстрого CSS"},liveUpdate:{name:"Обновление в прямом эфире",note:"Обновляет ваш CSS, когда вы пишите"},startDetached:{name:"Открыть отдельно",note:"При нажатии на вкладку Быстрый CSS редактор открывается в отдельном окне"},nativeOpen:{name:"Открыть во встроенном редакторе",note:"Нажатие по вкладке Быстрый CSS открывает ваш быстрый CSS в вашем встроенном редакторе"},openAction:{name:"Положение редактора",note:"Где ваш Быстрый CSS должен быть открыт по умолчанию",options:{settings:"Настройки меню",detached:"Отдельное окно",system:"Системный редактор"}}},developer:{name:"Настройки разработчика",debuggerHotkey:{name:"Горячая кнопка отладчика",note:"Активирует отладку при нажатии F8 при открытым меню разработчика"},reactDevTools:{name:"Инструменты React разработчика",note:"Внедряет вашу локальную установку React Developer Tools в Discord"},inspectElement:{name:"Горячая кнопка инспектора элементов",note:"Включает поведение комбинации клавиш инспектора элементов (ctrl + shift + c), как в большинстве браузеров"},devToolsWarning:{name:"Убрать предупреждение в консоли",note:'Останавливает отправку сообщения "Hold Up!"'},debugLogs:{name:"Логировать ошибки",note:"Записывает весь вывод из консоли в файл debug.log в папке BetterDiscord"},devTools:{name:"Меню разработчика",note:"Включает возможность открыть меню разработчика при нажатии ctrl+shift+i"}},editor:{name:"Редактор настроек",lineNumbers:{name:"Номер строк",note:"Включить показатель строк в стороне редактора"},fontSize:{name:"Размер шрифта",note:"Размер шрифта (в пикселях) в редакторе"},minimap:{name:"Мини карта",note:"Включает показ кода в мини карте в стороне редактора"},hover:{name:"Справочные подсказки",note:"Включает показ справочных подсказок при наведении мыши над правилами и переключателями"},quickSuggestions:{name:"Предложения",note:"Включает видимость авто-заполнения предложений при печати"},renderWhitespace:{name:"Показывать пробелы",note:"Когда пробел должен быть показан редактором",options:{all:"Всегда",none:"Никогда",selection:"Выбор"}}}}},Addons:{title:"{{name}} v{{version}} от {{author}}",byline:"от {{author}}",reload:"Перезагрузить",addonSettings:"Настройки",website:"Сайт",source:"Источник",invite:"Сервер поддержки",donate:"Донат",patreon:"Patreon",name:"Имя",author:"Автор",version:"Версия",added:"Дата добавления",modified:"Дата изменения",editAddon:"Редактировать",deleteAddon:"Удалить",confirmDelete:"Вы уверены, что хотите удалить {{name}}?",confirmationText:"У вас есть несохраненные изменения в {{name}}. При закрытии этого окна все изменения будут потеряны.",enabled:"{{name}} включён.",disabled:"{{name}} выключен.",couldNotEnable:"{{name}} не может быть включён.",couldNotDisable:"{{name}} не может быть отключён.",couldNotStart:"{{name}} не может быть запущен.",couldNotStop:"{{name}} не может быть остановлен.",settingsError:"Не удалось открыть настройки для {{name}}",methodError:"{{method}} не может быть уволен.",unknownAuthor:"Неизвестный автор",noDescription:"Нету описания.",metaError:"Не удалось проанализировать метаданные.",missingNameData:"В метаданных отсутствуют данные об имени.",metaNotFound:"Метаданные не найдены.",compileError:"Не удалось скомпилировать. Посмотрите в консоле для дополнительной информации.",wasUnloaded:"{{name}} был выгружен.",isEnabled:"Включено",wasLoaded:"{{name}} v{{version}} был загружен."},CustomCSS:{confirmationText:"У вас есть не сохраненные изменения в быстром CSS. При закрытии этого окна все изменения будут потеряны.",update:"Обновить",save:"Сохранить",openNative:"Открыть в системном редакторе",openDetached:"Отдельное окно",settings:"Настройки редактора",editorTitle:"Редактор быстрого CSS"},Modals:{confirmAction:"Ты уверен?",okay:"Ок",done:"Готово",cancel:"Отмена",nevermind:"Забей",close:"Закрыть",name:"Имя",message:"Сообщение",error:"Ошибка",addonErrors:"Ошибки расширений",restartRequired:"Требуется перезагрузка",restartNow:"Перезагрузить сейчас",restartLater:"Перезагрузить позже",additionalInfo:"Дополнительная информация",restartPrompt:"Чтобы изменения вступили в силу, необходимо перезапустить Discord. Перезапустить сейчас?"},Sorting:{sortBy:"Сортировать по",order:"Порядок",ascending:"По возрастанию",descending:"По убыванию"},WindowPrefs:{enabledInfo:`Для правильной работы этой опции требуется прозрачная тема. В Windows это может нарушить вашу aero snapping и максимизацию. Чтобы изменения вступили в силу, необходимо перезапустить Discord. Вы хотите перезапустить сейчас?`,disabledInfo:"Чтобы изменения вступили в силу, необходимо перезапустить Discord. Вы хотите перезапустить сейчас?"},Updater:{updateFailed:"Ошибка обновления",updateFailedMessage:"Не удалось обновить BetterDiscord. Пожалуйста скачайте последнюю версию загрузчика с нашего сайта (https://betterdiscord.app/) и переустановите программу.",updateSuccessful:"Обновление успешно!",updateAvailable:"BetterDiscord имеет обновление (v{{version}})",addonUpdated:"{{name}} был обновлен до версии {{version}}",checking:"Проверить обновления!",finishedChecking:"Проверка обновлений завершена!",checkForUpdates:"Проверить обновления!",updateAll:"Обновить всё!",noUpdatesAvailable:"Нету доступных обновлений.",versionAvailable:"Версия {{version}} доступна!",updateButton:"Обновить!"}}});var Tl=X((_C,ig)=>{ig.exports={Panels:{plugins:"Pluginy",themes:"Témy",customcss:"Custom CSS"},Collections:{settings:{name:"Nastavenia",general:{name:"Základné",voiceDisconnect:{name:"Odpojenie hovoru",note:"Odpojiť z hovoru pri vypnutí Discordu"},showToasts:{name:"Zobraziť toasty",note:"Zobraziť notifikáciu pre dôležité info"},mediaKeys:{name:"Zakázať Média tlačidlá",note:"Zabráni Discordu prevziať kontrolu nad média tlačidlami po prehratí videa."}},window:{removeMinimumSize:{name:"Zrušiť minimálnu velkosť",note:"Zruší minimálnu veľkosť Discord okna 940x500"},name:"Vlastnosti Okna",transparency:{name:"Povoliť priehľadnosť",note:"Povolí, aby bolo hlavné okno priehľadné (potrebný reštart)"},frame:{name:"Rám okna",note:"Pridá klasický OS rám pre hlavné okno"}},addons:{name:"Manažér doplnkov",addonErrors:{name:"Zobraziť chyby doplnkov",note:"Zobrazí panel s chybou pluginu alebo témy"},editAction:{name:"Úprava akcie",note:"Kde sa pluginy a témy zobrazia pri editovaní",options:{detached:"Oddelené okno",system:"Systémový editor"}}},customcss:{name:"Custom CSS",customcss:{name:"Custom CSS",note:'Aktivuje kartu "Custom CSS"'},liveUpdate:{name:"Živý update",note:"Aktualizuje css pri zmene"},startDetached:{name:"Spustiť oddelené",note:"Kliknutie na kartu Custom CSS ju otvori v oddelenom okne"},nativeOpen:{name:"Otvoriť v natívnom editore",note:"Kliknutie na kartu Custom CSS ju otvori v natívnom editore"},openAction:{name:"Cesta editora",note:"Predvolený spôsob otvorenia Custom CSS",options:{settings:"Menu nastavení",detached:"Oddelené okno",system:"Systémový editor"}}},developer:{name:"Vývojarske nastavenia",debuggerHotkey:{name:"Klávesová skratka Debuggera",note:"Povolí spustenie debuggera pri stlačení F8"},reactDevTools:{name:"React Developer Tools",note:"Pridá inštaláciu React Developer Tools do Discordu"},inspectElement:{name:"Klávesová skratka Inspect Element",note:"Povolí klávesovú skratku Inspect Element (ctrl + shift + c) ako pre bežné prehliadače"},devToolsWarning:{name:"Vypnúť DevTools Upozornenia",note:'Vypne "Hold Up!" upozornenie od Discordu v konzole'},debugLogs:{name:"Výpis ladenia",note:"Zapíše všetko z konzole do súboru debug.log v BetterDiscord zložke"}}}},Addons:{title:"{{name}} v{{version}} od {{author}}",byline:"od {{author}}",reload:"Znova načítať",addonSettings:"Nastavenia",website:"Stránka",source:"Zdroj",invite:"Server podpory",donate:"Prispieť",patreon:"Patreon",name:"Meno",author:"Autor",version:"Verzia",added:"Dátum pridania",modified:"Dátum zmeny",editAddon:"Upraviť",deleteAddon:"Zmazať",confirmDelete:"Ste si istý, že chcete zmazať {{name}}?",confirmationText:"Máte neuložené zmeny pre {{name}}. Zatvorením tohto okna stratíte všetky zmeny.",enabled:"{{name}} bol aktivovaný.",disabled:"{{name}} bol deaktivovaný.",couldNotEnable:"{{name}} nebolo možné aktivovať.",couldNotDisable:"{{name}} nebolo možné deaktivovať.",couldNotStart:"{{name}} nebolo možné spustiť.",couldNotStop:"{{name}} nebolo možné zastaviť.",settingsError:"Nie je možné otvoriť nastavenia pre {{name}}",methodError:"{{method}} nemohla byť vykonaná.",unknownAuthor:"Neznámy Autor",noDescription:"Bez popisu.",metaError:"META sa nepodarila načítať.",missingNameData:"META chýbajúce dáta názvu.",metaNotFound:"META nebola nájedná.",compileError:"Nepodarilo sa zostaviť.",wasUnloaded:"{{name}} bol odpojený."},CustomCSS:{confirmationText:"Máte neuložené zmeny pre Custom CSS. Zatvorením tohto okna stratíte všetky zmeny.",update:"Aktualizovať",save:"Uložiť",openNative:"Otvoriť v Systémovom Editore",openDetached:"Oddeliť Okno",settings:"Nastavenia Editora",editorTitle:"Custom CSS Editor"},Modals:{confirmAction:"Ste si istý?",okay:"Ok",done:"Dokončiť",cancel:"Zrušiť",nevermind:"Radšej nie",close:"Zavrieť",name:"Meno",message:"Správa",error:"Chyba",addonErrors:"Chyby Doplnkov",restartRequired:"Potrebný Reštart",restartNow:"Reštartovať Teraz",restartLater:"Reštartovať Neskôr",additionalInfo:"Ďalšie Info",restartPrompt:"Pre aplikáciu zmien je potrebné reštartovať Discord. Chcete reštartovať teraz?"},Sorting:{sortBy:"Triediť podľa",order:"Poradie",ascending:"Vzostupne",descending:"Zostupne"},WindowPrefs:{enabledInfo:`Táto možnosť si vyžaduje priehľadnú tému, aby správne fungovala. V systéme Windows to môže spôsobiť prerušenie a maximalizáciu vášho aero. Na to, aby sa prejavila účinnosť, je potrebné reštartovať Discord. Chcete reštartovať teraz?`,disabledInfo:"Pre aplikáciu zmien je potrebné reštartovať Discord. Chcete reštartovať teraz?"}}});var El=X((VC,sg)=>{sg.exports={Panels:{plugins:"Plugins",themes:"Temas",customcss:"CSS Personalizado"},Collections:{settings:{name:"Ajustes",general:{name:"General",voiceDisconnect:{name:"Desconexión de Voz",note:"Desconectarse del servidor de voz al cerrar Discord"},showToasts:{name:"Mostrar Notificaciones",note:"Muestra una pequeña notificación de información importante"},mediaKeys:{name:"Desactivar las Teclas Multimedia",note:"Evita que Discord se apropie de tus teclas multimedia después de reproducir un vídeo"}},window:{removeMinimumSize:{name:"Eliminar Tamaño Mínimo",note:"Elimina el tamaño mínimo de Discord de 940x500"},name:"Preferencias de la Ventana",transparency:{name:"Activar Transparencia",note:"Hace que la ventana principal pueda ser transparente (requiere reinicio)"},frame:{name:"Marco de la Ventana",note:"Añade el marco de ventana nativo de tu sistema operativo a la ventana principal"}},addons:{name:"Gestor de Complementos",addonErrors:{name:"Mostrar Errores de Complementos",note:"Muestra una ventana con los errores de plugin/temas"},editAction:{name:"Acción al Editar",note:"Donde aparecerán los plugins y temas al editarlos",options:{detached:"Ventana Independiente",system:"Editor del Sistema"}}},customcss:{name:"CSS Personalizado",customcss:{name:"CSS Personalizado",note:"Activa la pestaña de CSS Personalizado"},liveUpdate:{name:"Actualización en Vivo",note:"Actualiza el CSS a medida que se escribe"},startDetached:{name:"Comenzar en Ventana Independiente",note:"Al hacer clic en la pestaña de CSS Personalizado se abre el editor en una ventana independiente"},nativeOpen:{name:"Abrir en Editor Nativo",note:"Al hacer clic en la pestaña de CSS Personalizado se abre el editor en tu editor nativo"},openAction:{name:"Ubicación del Editor",note:"Donde deberá el CSS Personalizado abrirse por defecto",options:{settings:"Menú de Ajustes",detached:"Ventana Independiente",system:"Editor del Sistema"}}},developer:{name:"Ajustes de Desarrollador",debuggerHotkey:{name:"Tecla de Acceso Rápido al Depurador",note:"Permite activar el depurador al presionar la tecla F8"},reactDevTools:{name:"React Developer Tools",note:"Inyecta tu instalación local de React Developer Tools en Discord"},inspectElement:{name:"Tecla de Acceso Rápido al Inspector de Elementos",note:"Activa la tecla de acceso rápido al inspector de elementos (ctrl + shift + c) que es común en la mayoria de navegadores"},devToolsWarning:{name:"Quitar el Aviso del Inspector de Elementos",note:'Previene que Discord muestre su mensaje "¡Espera!"'},debugLogs:{name:"Registros de Depuración",note:"Envía todo lo que aparece en la consola a un archivo llamado debug.log en la carpeta de BetterDiscord"}}}},Addons:{title:"{{name}} v{{version}} por {{author}}",byline:"por {{author}}",reload:"Recargar",addonSettings:"Ajustes",website:"Sitio web",source:"Fuente",invite:"Servidor de Soporte",donate:"Donar",patreon:"Patreon",name:"Nombre",author:"Autor",version:"Versión",added:"Fecha de Adición",modified:"Fecha de Modificación",editAddon:"Editar",deleteAddon:"Eliminar",confirmDelete:"¿Estás seguro de que quieres borrar {{name}}?",confirmationText:"Tiene cambios no guardados en {{name}}. Al cerrar esta ventana se perderán todos los cambios.",enabled:"{{name}} ha sido activado.",disabled:"{{name}} ha sido desactivado.",couldNotEnable:"{{name}} no pudo ser activado.",couldNotDisable:"{{name}} no pudo ser desactivado.",couldNotStart:"{{name}} no se pudo iniciar.",couldNotStop:"{{name}} no se pudo detener.",settingsError:"No se pudieron abrir los ajustes de {{name}}",methodError:"{{method}} no pudo ser lanzado.",unknownAuthor:"Autor Desconocido",noDescription:"Descripción no proporcionada.",metaError:"El META no pudo ser analizado.",missingNameData:"El META no contiene datos del nombre.",metaNotFound:"El META no ha sido encontrado.",compileError:"No se ha podido compilar.",wasUnloaded:"{{name}} ha sido descargado."},CustomCSS:{confirmationText:"Tienes cambios sin guardar en tu CSS Personalizado. Al cerrar esta ventana se perderán todos los cambios.",update:"Actualizar",save:"Guardar",openNative:"Abrir en el Editor del Sistema",openDetached:"Mostrar en Ventana Independiente",settings:"Ajustes del Editor",editorTitle:"Editor de CSS Personalizado"},Modals:{confirmAction:"¿Estás seguro?",okay:"Vale",done:"Hecho",cancel:"Cancelar",nevermind:"No importa",close:"Cerrar",name:"Nombre",message:"Mensaje",error:"Error",addonErrors:"Errores de Complementos",restartRequired:"Reinicio Requerido",restartNow:"Reiniciar Ahora",restartLater:"Reiniciar más Tarde",additionalInfo:"Información Adicional",restartPrompt:"Para que surta efecto, es necesario reiniciar Discord. ¿Quieres reiniciar ahora?"},Sorting:{sortBy:"Ordenar por",order:"Orden",ascending:"Ascendente",descending:"Descendente"},WindowPrefs:{enabledInfo:`Esta opción requiere un tema transparente para que funcione correctamente. En Windows esto podría hacer que el ajuste automático de la ventana (Aero Snap) y la maximización dejen de funcionar. Para que surta efecto, es necesario reiniciar Discord. ¿Quieres reiniciar ahora?`,disabledInfo:"Para que surta efecto, es necesario reiniciar Discord. ¿Quieres reiniciar ahora?"}}});var Ml=X((GC,dg)=>{dg.exports={Panels:{plugins:"Plugins",themes:"Temas",customcss:"CSS Personalizado"},Collections:{settings:{name:"Ajustes",general:{name:"General",voiceDisconnect:{name:"Desconexión de Voz",note:"Desconectarse del servidor de voz al cerrar Discord"},showToasts:{name:"Mostrar Notificaciones",note:"Muestra una pequeña notificación de información importante"},mediaKeys:{name:"Desactivar las Teclas Multimedia",note:"Evita que Discord se apropie de tus teclas multimedia después de reproducir un vídeo"}},window:{removeMinimumSize:{name:"Eliminar Tamaño Mínimo",note:"Elimina el tamaño mínimo de Discord de 940x500"},name:"Preferencias de la Ventana",transparency:{name:"Activar Transparencia",note:"Hace que la ventana principal pueda ser transparente (requiere reinicio)"},frame:{name:"Marco de la Ventana",note:"Añade el marco de ventana nativo de tu sistema operativo a la ventana principal"}},addons:{name:"Gestor de Complementos",addonErrors:{name:"Mostrar Errores de Complementos",note:"Muestra una ventana con los errores de plugin/temas"},editAction:{name:"Acción al Editar",note:"Donde aparecerán los plugins y temas al editarlos",options:{detached:"Ventana Independiente",system:"Editor del Sistema"}}},customcss:{name:"CSS Personalizado",customcss:{name:"CSS Personalizado",note:"Activa la pestaña de CSS Personalizado"},liveUpdate:{name:"Actualización en Vivo",note:"Actualiza el CSS a medida que se escribe"},startDetached:{name:"Comenzar en Ventana Independiente",note:"Al hacer clic en la pestaña de CSS Personalizado se abre el editor en una ventana independiente"},nativeOpen:{name:"Abrir en Editor Nativo",note:"Al hacer clic en la pestaña de CSS Personalizado se abre el editor en tu editor nativo"},openAction:{name:"Ubicación del Editor",note:"Donde deberá el CSS Personalizado abrirse por defecto",options:{settings:"Menú de Ajustes",detached:"Ventana Independiente",system:"Editor del Sistema"}}},developer:{name:"Ajustes de Desarrollador",debuggerHotkey:{name:"Tecla de Acceso Rápido al Depurador",note:"Permite activar el depurador al presionar la tecla F8"},reactDevTools:{name:"React Developer Tools",note:"Inyecta tu instalación local de React Developer Tools en Discord"},inspectElement:{name:"Tecla de Acceso Rápido al Inspector de Elementos",note:"Activa la tecla de acceso rápido al inspector de elementos (ctrl + shift + c) que es común en la mayoria de navegadores"},devToolsWarning:{name:"Quitar el Aviso del Inspector de Elementos",note:'Previene que Discord muestre su mensaje "¡Espera!"'},debugLogs:{name:"Registros de Depuración",note:"Envía todo lo que aparece en la consola a un archivo llamado debug.log en la carpeta de BetterDiscord"}}}},Addons:{title:"{{name}} v{{version}} por {{author}}",byline:"por {{author}}",reload:"Recargar",addonSettings:"Ajustes",website:"Sitio web",source:"Fuente",invite:"Servidor de Soporte",donate:"Donar",patreon:"Patreon",name:"Nombre",author:"Autor",version:"Versión",added:"Fecha de Adición",modified:"Fecha de Modificación",editAddon:"Editar",deleteAddon:"Eliminar",confirmDelete:"¿Estás seguro de que quieres borrar {{name}}?",confirmationText:"Tiene cambios no guardados en {{name}}. Al cerrar esta ventana se perderán todos los cambios.",enabled:"{{name}} ha sido activado.",disabled:"{{name}} ha sido desactivado.",couldNotEnable:"{{name}} no pudo ser activado.",couldNotDisable:"{{name}} no pudo ser desactivado.",couldNotStart:"{{name}} no se pudo iniciar.",couldNotStop:"{{name}} no se pudo detener.",settingsError:"No se pudieron abrir los ajustes de {{name}}",methodError:"{{method}} no pudo ser lanzado.",unknownAuthor:"Autor Desconocido",noDescription:"Descripción no proporcionada.",metaError:"El META no pudo ser analizado.",missingNameData:"El META no contiene datos del nombre.",metaNotFound:"El META no ha sido encontrado.",compileError:"No se ha podido compilar.",wasUnloaded:"{{name}} ha sido descargado."},CustomCSS:{confirmationText:"Tienes cambios sin guardar en tu CSS Personalizado. Al cerrar esta ventana se perderán todos los cambios.",update:"Actualizar",save:"Guardar",openNative:"Abrir en el Editor del Sistema",openDetached:"Mostrar en Ventana Independiente",settings:"Ajustes del Editor",editorTitle:"Editor de CSS Personalizado"},Modals:{confirmAction:"¿Estás seguro?",okay:"Vale",done:"Hecho",cancel:"Cancelar",nevermind:"No importa",close:"Cerrar",name:"Nombre",message:"Mensaje",error:"Error",addonErrors:"Errores de Complementos",restartRequired:"Reinicio Requerido",restartNow:"Reiniciar Ahora",restartLater:"Reiniciar más Tarde",additionalInfo:"Información Adicional",restartPrompt:"Para que surta efecto, es necesario reiniciar Discord. ¿Quieres reiniciar ahora?"},Sorting:{sortBy:"Ordenar por",order:"Orden",ascending:"Ascendente",descending:"Descendente"},WindowPrefs:{enabledInfo:`Esta opción requiere un tema transparente para que funcione correctamente. En Windows esto podría hacer que el ajuste automático de la ventana (Aero Snap) y la maximización dejen de funcionar. Para que surta efecto, es necesario reiniciar Discord. ¿Quieres reiniciar ahora?`,disabledInfo:"Para que surta efecto, es necesario reiniciar Discord. ¿Quieres reiniciar ahora?"}}});var Dl=X((KC,lg)=>{lg.exports={Panels:{plugins:"Tillägg",themes:"Teman",customcss:"Egen CSS",updates:"Uppdateringar"},Collections:{settings:{name:"Inställningar",general:{name:"Allmänt",voiceDisconnect:{name:"Lämna röstsamtal",note:"Lämna röstsamtal när Discord stängs ner"},showToasts:{name:"Visa Toasts",note:"Visar en liten notifikation för viktig information"},mediaKeys:{name:"Inaktivera mediaknapparna",note:"Hindrar Discord från att ta över mediaknapparna efter att du har spelat upp en video."}},window:{removeMinimumSize:{name:"Ta bort minimistorleken",note:"Tar bort Discords minimifönsterstorlek på 940x500"},name:"Fönsterinställningar",transparency:{name:"Aktivera Genomskinlighet",note:"Gör att huvudfönstret blir genomskinligt (kräver omstart)"},frame:{name:"Fönsterram",note:"Lägger till operativsystemets standard fönsterram runt huvudfönstret"}},addons:{name:"Tilläggshanterare",addonErrors:{name:"Visa tilläggsfel",note:"Visar en modalruta med tillägg- och temafel"}},customcss:{name:"Egen CSS",customcss:{name:"Egen CSS",note:'Aktiverar "Egen CSS"-fliken'},liveUpdate:{name:"Uppdatera Direkt",note:"Uppdaterar css allteftersom du skriver"},startDetached:{name:"Starta Frånkopplad",note:'Öppnar CSS-redigeraren i ett separat fönster när "Egen CSS"-fliken klickas'},nativeOpen:{name:"Öppna I Standardredigerare",note:'Öppnar CSS filen i operativsystemets standardredigerare när "Egen CSS"-fliken klickas'}},developer:{name:"Utvecklarinställningar",devToolsWarning:{name:"Stäng av utvecklarverktygsvarningar",note:'Hindrar Discord från att skriva ut sitt "Vänta!"-meddelande'},debugLogs:{name:"Felsökningsloggar",note:"Allt från konsolen hamnar i filen debug.log i BetterDiscord mappen"},devTools:{name:"Utvecklarverktyg"}},editor:{lineNumbers:{name:"Radnummer",note:"Visar radnummer i marginalen i redigeringsfönstret"},fontSize:{name:"Teckenstorlek",note:"Storlek på typsnittet som används i redigeringsfönstret"},quickSuggestions:{name:"Snabbförslag",note:"Aktiverar autokompletteringsförslag när du skriver"},renderWhitespace:{name:"Visa blanksteg",note:"När blanksteg ska markeras i redigeringsfönstret",options:{all:"Alltid",none:"Aldrig"}}}}},Addons:{title:"{{name}} v{{version}} av {{author}}",byline:"av {{author}}",reload:"Ladda om",addonSettings:"Inställningar",website:"Webbplats",source:"Källa",invite:"Supportserver",donate:"Donera",patreon:"Patreon",name:"Namn",author:"Upphovsman",version:"Version",added:"Tilläggsdatum",modified:"Ändringsdatum",editAddon:"Redigera",deleteAddon:"Ta bort",confirmDelete:"Är du säker på att du vill ta bort {{name}}?",enabled:"{{name}} har aktiverats.",disabled:"{{name}} har inaktiverats.",couldNotEnable:"{{name}} kunde inte aktiverats.",couldNotDisable:"{{name}} kunde inte inaktiverats.",couldNotStart:"{{name}} kunde inte startas.",couldNotStop:"{{name}} kunde inte stoppas.",settingsError:"Kunde inte öppna inställningarna för {{namn}}",unknownAuthor:"Okänd upphovsman",noDescription:"Beskrivning saknas.",compileError:"Kunde inte kompileras. Se konsolen för mer information.",isEnabled:"Aktiverad",listView:"Listvy",gridView:"Rutnätsvy"},CustomCSS:{confirmationText:"Du har osparade ändringar av egna CSS:en. Alla ändringar kommer försvinna om du stänger det här fönstret",update:"Uppdatera",save:"Spara",openNative:"Öppna I Standardredigerare",openDetached:"Koppla Loss Fönster",settings:"Inställningar för redigerare",editorTitle:"Egen CSS-redigerare"},Modals:{confirmAction:"Är du säker?",okay:"Okej",cancel:"Avbryt",nevermind:"Avbryt",close:"Stäng",name:"Namn",message:"Meddelande",error:"Fel",addonErrors:"Tilläggsfel",restartRequired:"Omstart krävs",restartNow:"Starta om nu",restartLater:"Starta om senare",restartPrompt:"För att ändringarna ska träda i kraft måste Discord startas om. Vill du starta om nu?"},Sorting:{sortBy:"Sortera efter",order:"Ordning",ascending:"Stigande",descending:"Fallande"},Updater:{updateFailed:"Uppdateringen misslyckades!",updateFailedMessage:"BetterDiscord kunde inte uppdateras. Ladda ned den senaste versionen av installationsprogrammet från vår webbplats (https://betterdiscord.app/) och installera om BetterDiscord.",updateSuccessful:"Uppdateringen lyckades!",checking:"Söker efter uppdateringar!",finishedChecking:"Sökningen efter uppdateringar är slutförd!",checkForUpdates:"Sök efter uppdateringar!",updateAll:"Uppdatera alla!",noUpdatesAvailable:"Det finns inga uppdateringar tillgängliga.",updateButton:"Uppdatera!"}}});var Pl=X(($C,ug)=>{ug.exports={Panels:{plugins:"Eklentiler",themes:"Temalar",customcss:"Özel CSS"},Collections:{settings:{name:"Ayarlar",general:{name:"Genel",voiceDisconnect:{name:"Ses Kanalından Ayrılma",note:"Discord'u kapatırken aktif ses kanalından ayrılır"},showToasts:{name:"Bildirimleri Göster",note:"Önemli bilgilendirmeler için küçük bir bidirim gösterir"},mediaKeys:{name:"Medya Tuşlarını Deaktive Et",note:"Bir video oynattıktan sonra Discord'un Multimedya tuşlarını ele geçirmesini engeller."}},window:{removeMinimumSize:{name:"Minimum boyutu kaldır",note:"Discord'un 940x500 boyut limitini kaldırır"},name:"Pencere Tercihleri",transparency:{name:"Şeffaflığı Etkinleştir",note:"Ana pencerenin şeffaf olmasına el verir (yeniden başlatma gerekli)"},frame:{name:"Pencere Çerçevesi",note:"Yerel işletim sistemi penceresini ana pencereye ekler"}},addons:{name:"Eklenti Yöneticisi",addonErrors:{name:"Eklenti Hatalarını Göster",note:"Eklenti/tema hatalarında yazı baloncuğu gösterir"},editAction:{name:"Eylemi düzenle",note:"Eklenti ve temaları düzenlerken çıkacakları yer",options:{detached:"Bağımsız Pencere",system:"Sistem Düzenleyici"}}},customcss:{name:"Özel CSS",customcss:{name:"Özel CSS",note:"Özel CSS sekmesini aktifleştirir"},liveUpdate:{name:"Canlı Güncelleme",note:"Yazdıkca CSS'i günceller"},startDetached:{name:"Bağımsız Başlat",note:"Özel CSS sekme tuşuna basınca bağımsız sekmede açar"},nativeOpen:{name:"Seçili editör'de aç",note:"Özel CSS sekme tuşuna basınca seçili yazı editörünüzde açar"},openAction:{name:"Editör Yeri",note:"Özel CSS'in varsayılan açılma yeri",options:{settings:"Ayarlar Menüsü",detached:"Bağımsız Pencere",system:"Sistem Editörü"}}},developer:{name:"Geliştirici (Developer) Ayarları",debuggerHotkey:{name:"Hata ayıklayıcı kısayolu",note:"F8'e basınca hata ayıklayıcının açılmasını sağlar"},reactDevTools:{name:"React Geliştirici Araçları",note:"Yerli React Geliştirici araçlarınızı Discord'a ekler"},inspectElement:{name:"Öğeyi Denetle Kısayolu",note:"Çoğu tarayıca yaygın olan (ctrl + shift + c) Öğeyi Denetle kısayolunu etkinleştirir"},devToolsWarning:{name:"DevTools uyarısını kapat",note:`Discord'un "Bekle!" mesajını yazmasını engeller`},debugLogs:{name:"Hata Ayıklama çıktıları",note:"Konsoldaki herşeyi BetterDiscord klasöründeki debug.log dosyasına kaydeder"}}}},Addons:{title:"{{author}} tarafından {{name}} v{{version}}",byline:"{{author}} tarafından",reload:"Yeniden-Başlat",addonSettings:"Ayarlar",website:"Website",source:"Kaynak",invite:"Destek Sunucusu",donate:"Bağış",patreon:"Patreon",name:"İsim",author:"Yapımcı",version:"Versiyon",added:"Eklenim Tarihi",modified:"Düzenlenme Tarihi",editAddon:"Düzenle",deleteAddon:"Sil",confirmDelete:"{{name}} eklentisini silmek istediğinize emin misiniz?",confirmationText:"{{name}} eklentisinde kaydedilmemiş değişiklikler var. Bu pencereyi kapatmak değişikliklerin kaybolmasına yol açar.",enabled:"{{name}} başlatıldı.",disabled:"{{name}} kapatıldı.",couldNotEnable:"{{name}} başlatılamadı.",couldNotDisable:"{{name}} kapatılamadı.",couldNotStart:"{{name}} başlatılamadı.",couldNotStop:"{{name}} durdurulamadı.",settingsError:"{{name}} için ayarlar açılamadı.",methodError:"{{method}} çalıştırılamadı.",unknownAuthor:"Bilinmeyen Yapımcı",noDescription:"Açıklama Yok.",metaError:"META ayrıştırılamadı.",missingNameData:"META isim verisi yok.",metaNotFound:"META bulunamadı.",compileError:"Derlenemedi.",wasUnloaded:"{{name}} çıkarıldı."},CustomCSS:{confirmationText:"Özel CSS'inde kaydedilmemiş değişimler var. Bu pencereyi kapatmak değişikliklerin kaybolmasına yol açar.",update:"Güncelle",save:"Kaydet",openNative:"Sistem Editöründe aç",openDetached:"Pencereyi Ayır",settings:"Editör Ayarları",editorTitle:"Özel CSS Editörü"},Modals:{confirmAction:"Emin Misin?",okay:"Tamam",done:"Bitti",cancel:"İptal",nevermind:"Boşver",close:"Kapat",name:"İsim",message:"Mesaj",error:"Hata",addonErrors:"Eklenti Hataları",restartRequired:"Yeniden Başlatma Lazım",restartNow:"Şimdi Yeniden Başlat",restartLater:"Sonra Yeniden Başlat",additionalInfo:"Ek Bilgi",restartPrompt:"Etki görmek için Discord'un yeniden başlatılması gerek. Şimdi yeniden başlatmak ister misiniz?"},Sorting:{sortBy:"Göre Sırala",order:"Sıra",ascending:"Yükselen",descending:"Azalan"},WindowPrefs:{enabledInfo:`Bu seçeneğin düzgün çalışması için şeffaf bir tema gerekiyor. Windows'da bu aero snapping ve maksimize etmeyi bozabilir. Etki etmesi için Discord'un yeniden başlatılması gerek. Şimdi yeniden başlatmak ister misiniz?`,disabledInfo:"Etki etmesi için Discord'un yeniden başlatılması gerek. Şimdi yeniden başlatmak ister misiniz?"}}});var zl=X((ZC,cg)=>{cg.exports={}});var Bl=X((XC,fg)=>{fg.exports={Panels:{plugins:"Плагіни",themes:"Теми",customcss:"Самописні CSS"},Collections:{settings:{name:"Налаштування",general:{name:"Основні",voiceDisconnect:{name:"Голосовий чат під час закриття",note:"Відключатися від голосового сервера під час закриття Discord"},showToasts:{name:"Показувати сповіщення",note:"Показувати маленькі повідомлення з важливою інформацією"},mediaKeys:{name:"Вимкнути медіаключі",note:"Не захоплювати медіаключі Discord після відтворення відео"}},window:{removeMinimumSize:{name:"Прибрати мінімальний розмір",note:"Прибирає примусовий мінімальний розмір вікна 940x500"},name:"Налаштування вікна",transparency:{name:"Увімкнути прозорість",note:"Дозволяє бачити головне вікно (потрібний перезапуск)"},frame:{name:"Рамка",note:"Додає вбудовану рамку ОС для головного вікна"}},addons:{name:"Керування плагінами",addonErrors:{name:"Показувати помилки плагінів",note:"Показувати спливні вікна з помилками плагінів і тем."},editAction:{name:"Відображення редактора",note:"Де відображати редактор плагінів і тем",options:{detached:"В окремому вікні",system:"У системному редакторі"}}},customcss:{name:"Самописні CSS",customcss:{name:"Редактор самописних CSS",note:"Увімкнути вкладку зі стилями користувача"},liveUpdate:{name:"Оновлення наживо",note:"Оновлювати стиль у режимі реального часу в міру редагування"},startDetached:{name:"Редактор в окремому вікні",note:"Тиць по вкладці 'Самописні CSS' відкриє редактор в окремому вікні"},nativeOpen:{name:"Відкривати вбудований редактор",note:"Тиць по вкладці 'Самописні CSS' відкриє самописний стиль у вбудованому редакторі"},openAction:{name:"Розташування редактора",note:"Де самописний стиль повинен відкриватися за замовчуванням?",options:{settings:"У меню налаштувань",detached:"В окремому вікні",system:"У системному редакторі"}}},developer:{name:"Налаштування розробника",debuggerHotkey:{name:"Гаряча клавіша налагоджувача",note:"Дозволяє активувати налагоджувач при натисканні клавіші F8"},reactDevTools:{name:"Інструменти розробника React",note:"Вводить твою локальну установку інструментів розробника React у Discord"},inspectElement:{name:"Гаряча клавіша перевірки елементу",note:"Вмикає гарячу клавішу перевірки елементу (ctrl+shift+c), яка використовується у більшості браузерів"},devToolsWarning:{name:"Зупинити попередження",note:'Не виводити попередження "Почекай!" ("Стій-но!")'},debugLogs:{name:"Налагоджувальні журнали",note:"Виводить все з консолі у файл debug.log в теці BetterDiscord"}}}},Addons:{title:"{{name}} у{{version}} від {{author}}",byline:"{{author}}",reload:"Перезавантажити",addonSettings:"Налаштування",website:"Сайт",source:"Вихідний код",invite:"Сервер підтримки",donate:"Пожертвувати",patreon:"Патреон",name:"Ім'ям",author:"Автором",version:"Версією",added:"Датою додавання",modified:"Датою оновлення",editAddon:"Редагувати",deleteAddon:"Вилучити",confirmDelete:"Ти впевнений, що хочеш вилучити {{name}}?",confirmationText:"У вас є незбережені зміни в {{name}}. Закриття цього вікна призведе до їх втрати.",enabled:"{{name}} увімкнено.",disabled:"{{name}} вимкнено.",couldNotEnable:"Не вдалося увімкнути {{name}}.",couldNotDisable:"Не вдалося вимкнути {{name}}.",couldNotStart:"Не вдалося запустити {{name}}",couldNotStop:"Не вдалося зупинити {{name}}",settingsError:"Не вдалося відкрити налаштування {{name}}",methodError:"Не вдалося викликати {{method}}",unknownAuthor:"Автор невідомий",noDescription:"Опис не надано.",metaError:"META не може бути проаналізована",missingNameData:"Відсутні META-дані імен",metaNotFound:"META не знайдена.",compileError:"Не вдалося скомпілювати.",wasUnloaded:"{{name}} вивантажено"},CustomCSS:{confirmationText:"У тебе є незбережені зміни у самописному CSS. Закриття цього вікна призведе до їх втрати.",update:"Оновити",save:"Зберегти",openNative:"Відкрити в системному редакторі",openDetached:"Відкрити у вбудованому вікні",settings:"Налаштування редактора",editorTitle:"Самописний редактор стилів"},Modals:{confirmAction:"Ти впевнений?",okay:"Так",done:"Готово",cancel:"Скасувати",nevermind:"Не звертати уваги",close:"Закрити",name:"Ім'я",message:"Повідомлення",error:"Помилка",addonErrors:"Помилка доповнення",restartRequired:"Потрібний перезапуск",restartNow:"Перезапустити зараз",restartLater:"Перезапустити пізніше",additionalInfo:"Додаткова інформація",restartPrompt:"Щоб зміни набрали чинності, потрібно перезапустити Discord. Бажаєш зробити це зараз?"},Sorting:{sortBy:"Сортувати за",order:"За порядком",ascending:"Зростання",descending:"Спадання"},WindowPrefs:{enabledInfo:`Для правильної роботи цієї опції потрібна прозора тема. У Windows це може призвести до порушення прив'язки та максимізації Aero. Щоб зміни набули чинності, необхідно перезапустити Discord. Бажаєш зробити це зараз?`,disabledInfo:"Щоб зміни набули чинності, необхідно перезапустити Discord. Бажаєш зробити це зараз?"}}});var Nl=X((JC,pg)=>{pg.exports={Panels:{plugins:"Lisäosat",themes:"Teemat",customcss:"Mukautettu CSS",updates:"Päivitykset"},Collections:{settings:{name:"Asetukset",general:{name:"Yleinen",voiceDisconnect:{name:"Katkaise puhelu",note:"Katkaise puhelu, kun suljet Discordin"},showToasts:{name:"Näytä Paahtoleivät",note:"Näyttää pienen ilmoituksen tärkeistä tiedoista"},mediaKeys:{name:"Poista medianäppäimet käytöstä",note:"Estää Discordia kaappaamasta medianäppäimiäsi videon toistamisen jälkeen."}},window:{removeMinimumSize:{name:"Poista vähimmäiskoko",note:"Poistaa Discordin pakotetun vähimmäisikkunakoon 940x500"},name:"Ikkuna-asetukset",transparency:{name:"Ota läpinäkyvyys käyttöön",note:"Mahdollistaa pääikkunan läpinäkyvyyden (vaatii uudelleenkäynnistyksen)"},frame:{name:"Ikkunakehys",note:"Lisää alkuperäisen käyttöjärjestelmän ikkunakehyksen pääikkunaan"}},addons:{name:"Lisäosien hallinta",addonErrors:{name:"Näytä lisäosien viat",note:"Näyttää modaalin, jossa on laajennus/teemavirheitä"},editAction:{name:"Muokkaa toimintaa",note:"Missä lisäosat & teema näkyy, kun muokkaat niitä",options:{detached:"Irrotettu ikkuna",system:"Järjestelmän muokkaaja"}}},customcss:{name:"Mukautettu CSS",customcss:{name:"Mukautettu CSS",note:"Ottaa käyttöön Mukautetun CSS välilehden"},liveUpdate:{name:"Live-päivitys",note:"Päivttää css, kun kirjoitat"},startDetached:{name:"Aloita irroitetusti",note:"Mukautetun CSS-välilehden napsauttaminen avaa muokkaajan erilliseen ikkunaan"},nativeOpen:{name:"Avaa alkuperäisessä muokkaajassa",note:"Mukautetun CSS-välilehden napsauttaminen avaa mukautetun css alkuperäisessä muokkaajassa"},openAction:{name:"Muokkaajan sijainti",note:"Missä mukautettu CSS:n pitäisi avautua normaalisti",options:{settings:"Asetuksien valikko",detached:"Irrotettu ikkuna",system:"Järjestelmän muokkaaja"}}},developer:{name:"Kehittäjän asetukset",debuggerHotkey:{name:"Virheenkorjaajan pikanäppäin",note:"Mahdollistaa virheenkorjauksen aktivoinnin, kun painetaan F8 DevToolsin ollessa auki"},reactDevTools:{name:"React-kehitystyökalut",note:"Lisää paikallisen React Developer Tools -asennuksesi Discordiin"},inspectElement:{name:"Tarkista-elementin pikanäppäin",note:"Ottaa käyttöön tarkastuselementin pikanäppäimen (ctrl + shift + c), joka on yleinen useimmissa selaimissa"},devToolsWarning:{name:"Lopeta DevTools-varoitus",note:'Pysäyttää Discordin tulostamasta heidän "Hold Up!" viestin'},debugLogs:{name:"Virheenkorjauksen logit",note:"Tulostaa kaiken konsolista BetterDiscord-kansion debug.log-tiedostoon"},devTools:{name:"DevTools",note:"Mahdollistaa DevToolsin kytkemisen näppäinyhdistelmällä ctrl+shift+i"}},editor:{name:"Muokkaajan asetukset",lineNumbers:{name:"Rivien numerot",note:"Mahdollistaa rivinumeroiden näyttämisen muokkaajan sivulla"},fontSize:{name:"Fontin koko",note:"Muokkaajassa käytettävän fontin koko (pt)."},minimap:{name:"Minikartta",note:"Mahdollistaa koodin minikartan näyttämisen muokkaajan sivulla"},hover:{name:"Viitetyökaluvinkit",note:"Mahdollistaa viitetyökaluvihjeiden näyttämisen, kun sääntöjä ja valitsimia siirretään"},quickSuggestions:{name:"Pikaehdotuksia",note:"Ottaa käyttöön automaattisen täydennyksen ehdotukset kirjoittaessasi"},renderWhitespace:{name:"Näytä välilyönti",note:"Milloin muokkaajan tulee näyttää välilyönnit",options:{all:"Aina",none:"Ei ikinä",selection:"Valinta"}}}}},Addons:{reload:"Lataa uudelleen",addonSettings:"Asetukset",website:"Nettisivu",source:"Lähde",invite:"Tuki-palvelin",donate:"Lahjoita",patreon:"Patreon",name:"Nimi",author:"Luoja",version:"Versio",added:"lisäyspäivämäärä",modified:"Muutospäivämäärä",editAddon:"Muokkaa",deleteAddon:"Poista",confirmDelete:"Haluatko varmasti poistaa {{name}}?",confirmationText:"Sinulla on tallentamattomia muutoksia kohteeseen {{name}}. Tämän ikkunan sulkeminen menettää kaikki muutokset.",enabled:` {{name}} on otettu käyttöön.`,disabled:` {{name}} on poistettu käytöstä.`,couldNotEnable:"{{name}} ei voitu ottaa käyttöön.",couldNotDisable:"{{name}} ei voitu poistaa käytöstä.",couldNotStart:"{{name}} ei voitu käynnistää.",couldNotStop:"{{name}} ei voitu pysäyttää.",settingsError:"Käyttäjän {{name}} asetuksia ei voitu avata",methodError:"{{method}} ei voitu laukaista.",unknownAuthor:"Tuntematon tekijä",noDescription:"Kuvausta ei ole annettu.",metaError:"META:a ei voitu jäsentää.",missingNameData:"META:lta puuttuu nimitiedot.",metaNotFound:"META:a ei löytynyt.",compileError:"Ei voitu koota. Katso lisätietoja konsolista.",wasUnloaded:"{{name}} purettiin.",isEnabled:"Otettu käyttöön",wasLoaded:` {{name}} v{{version}} ladattiin.`},CustomCSS:{confirmationText:"Muokatussa CSS:ssä on tallentamattomia muutoksia. Tämän ikkunan sulkeminen menettää kaikki muutokset.",update:"Päivitä",save:"Tallenna",openNative:"Avaa järjestelmän muokkaajassa",openDetached:"Irrota ikkuna",settings:"Muokkaajan asetukset",editorTitle:"Mukautettu CSS-muokkaaja"},Modals:{confirmAction:"Oletko varma?",okay:"Okei",done:"Valmis",cancel:"Peruuta",nevermind:"Unohda koko juttu",close:"Sulje",name:"Nimi",message:"Viesti",error:"Vika",addonErrors:"Lisäosan viat",restartRequired:"Uudelleenkäynnistys vaaditaan",restartNow:"Uudelleen käynnistä nyt",restartLater:"Käynnistä uudelleen nyt",additionalInfo:"Lisätietoja",restartPrompt:"Jotta se tulisi voimaan, Discord on käynnistettävä uudelleen. Haluatko käynnistää uudelleen nyt?"},Sorting:{sortBy:"Järjestä",order:"Järjestys",ascending:"Nouseva",descending:"Laskeva"},WindowPrefs:{enabledInfo:`Tämä vaihtoehto vaatii läpinäkyvän teeman toimiakseen kunnolla. Windowsissa tämä voi katkaista aerosnapsauksen ja maksimoimisen. Jotta Discord tulisi voimaan, se on käynnistettävä uudelleen. Haluatko käynnistää uudelleen nyt?`,disabledInfo:"Jotta se tulisi voimaan, Discord on käynnistettävä uudelleen. Haluatko käynnistää uudelleen nyt?"},Updater:{updateFailed:"Päivitys epäonnistui",updateFailedMessage:"BetterDiscordin päivitys epäonnistui. Lataa asennusohjelman uusin versio verkkosivustoltamme (https://betterdiscord.app/) ja asenna se uudelleen.",updateSuccessful:"Päivittäminen onnistui!",updateAvailable:"BetterDiscordilla on uusi päivitys",addonUpdated:"{{name}} on päivitetty versioon {{version}}!",checking:"Tarkistetaan päivityksiä!",finishedChecking:"Päivitysten tarkistaminen on valmis!",checkForUpdates:"Tarkista päivitykset!",updateAll:"Päivitä kaikki!",noUpdatesAvailable:"Päivityksiä ei ole saatavilla.",versionAvailable:"Versio {{version}} on saatavilla!",updateButton:"Päivitä!"}}});var Fl=X((YC,mg)=>{mg.exports={Panels:{customcss:"Tilpasset CSS"},Collections:{settings:{name:"Innstillinger",general:{name:"Generell",showToasts:{name:"Vis Toasts"}},customcss:{name:"Tilpasset CSS",customcss:{name:"Tilpasset CSS"}}}},Addons:{addonSettings:"Innstillinger",website:"Nettsted",donate:"Donere",patreon:"Patreon",name:"Navn",author:"Forfatter",version:"Versjon",editAddon:"Redigere",deleteAddon:"Slett"},CustomCSS:{update:"Oppdater",save:"Lagre"},Modals:{confirmAction:"Er Du Sikker?",okay:"Okay",restartNow:"Start på nytt nå",restartLater:"Start på nytt senere"},Sorting:{sortBy:"Sorter etter"},WindowPrefs:{disabledInfo:"For å kunne tre i kraft må Discord startes på nytt. Vil du starte på nytt nå?"}}});var Ol=X((QC,hg)=>{hg.exports={}});var Rl=X((eS,gg)=>{gg.exports={Panels:{plugins:"plugin-uri",themes:"temă",customcss:"CSS personalizat"},Collections:{settings:{name:"setări",general:{name:"general",voiceDisconnect:{name:"Deconectare de la voce",note:"Deconectează-te de la un canal de voce când inchizi Discord-ul"},showToasts:{name:"Arată mesajele de sistem",note:"Afișează notificări pentru informațiile importante"},mediaKeys:{name:"Dezactivează tastele Media",note:"Previn-o Discord din a fura tastele media după redarea unui videoclip."}},window:{removeMinimumSize:{name:"Elimină mărimea minimă",note:"Elimina marimea minima de 940x500 a ferestrei"},name:"Preferinte în privința mărimii ferestrei",transparency:{name:"Activează Transparența",note:"Fă ca fereastra principală să fie transparentă (necesită repornire)"},frame:{name:"Cadrul ferestrei",note:"Adaugă cadrul sistemului de operare în fereastra principală"}},addons:{name:"Manager de adăugiri",addonErrors:{name:"Arată erorile adăugirilor",note:"Afișează un modal cu erorile plugin-urilor/temelor"},editAction:{name:"Modifică acțiunea",note:"Unde apar plugin-urile si temele atunci când sunt editate",options:{detached:"Fereastră detașabilă",system:"Editor de sistem"}}},customcss:{name:"CSS personalizat",customcss:{name:"CSS personalizat",note:"Activează tab-ul de CSS personalizat"},liveUpdate:{name:"Actualizări live",note:"Actualizează CSS-ul in timp ce scrii"},startDetached:{name:"Pornește intr-o altă fereastră",note:"Click-ul pe tab-ul de CSS personalizat va deschide editor-ul intr-o fereastra separată"},nativeOpen:{name:"Deschide în editor-ul nativ",note:"Click-ul pe fereastra de CSS personalizat va deschide editorul nativ al calculatorului"},openAction:{name:"Locația editorului",note:"Unde ar trebui să se deschide CSS-ul personalizat",options:{settings:"Meniu de setări",detached:"Fereastră detașabilă",system:"Editor de sistem"}}},developer:{name:"Setări de dezvoltator",debuggerHotkey:{name:"Scurtătură pentru Debugger",note:"Activează deschiderea debugger-ului la apasarea tastei F8"},reactDevTools:{name:"React Developer Tools",note:"Instalează React Developer Tools in Discord"},inspectElement:{name:"Scurtătură pentru Inspect Element",note:"Activează scurtătura pentru Inspect Element (CTRL + SHIFT + C) ce se găsește in cele mai multe browsere"},devToolsWarning:{name:"Dezactivează avertismentele",note:'Opreste Discord-ul din a afișa mesajul "Stai puțin!"'},debugLogs:{name:"Debug Logs",note:"Transferă tot din consolă in fișierul debug.log din folderul BetterDiscord"}}}},Addons:{title:"{{name}} v{{version}} de {{author}}",byline:"de {{author}}",reload:"Reîmprospatează",addonSettings:"Setări",website:"Site Web",source:"Sursă",invite:"Susține Server-ul",donate:"Donează",patreon:"Patreon",name:"Nume",author:"Autor",version:"Versiune",added:"Data adăugării",modified:"Data modificării",editAddon:"Modifică",deleteAddon:"Șterge",confirmDelete:"Ești sigur că vrei să ștergi {{name}} ?",confirmationText:"Ai schimbări nesalvate la {{name}}. Închiderea acestei ferestre v-a duce la pierderea tuturor modificărilor.",enabled:"{{name}} a fost activat.",disabled:"{{name}} a fost dezactivat.",couldNotEnable:"{{name}} nu a putut fi activat.",couldNotDisable:"{{name}} nu a putut fi dezactivat.",couldNotStart:"{{name}} nu a putut porni.",couldNotStop:"{{name}} nu a putut fi oprit.",settingsError:"Nu s-au putut deschide setările pentru {{name}}",methodError:"{{method}} nu a putut fi executat.",unknownAuthor:"Autor necunoscut",noDescription:"Fără descriere.",metaError:"META nu a putut fi analizat.",missingNameData:"META nu are un nume.",metaNotFound:"META nu a putut fi găsit.",compileError:"Nu s-a putut incărca.",wasUnloaded:"{{name}} a fost dezactivat."},CustomCSS:{confirmationText:"Ai modificări nesalvate in CSS-ul personalizat. Închiderea acestei ferestre va duce la anularea schimbărilor.",update:"Actualizare",save:"Salvează",openNative:"Deschide în editorul de sistem",openDetached:"Detașează fereastra",settings:"Setările editor-ului",editorTitle:"Editor de CSS personalizat"},Modals:{confirmAction:"Ești sigur ?",okay:"Okay",done:"Gata",cancel:"Anulează",nevermind:"Nu contează",close:"Închide",name:"Nume",message:"Mesaj",error:"Eroare",addonErrors:"Eroare a",restartRequired:"Repornirea este necesară",restartNow:"Repornește acum",restartLater:"Reîncarcă mai târziu",additionalInfo:"Informații adiționale",restartPrompt:"Pentru a fi aplicate, Discord trebuie să repornească. Dorești să il repornești acuma ?"},Sorting:{sortBy:"Sortează După",order:"Ordonează",ascending:"Crescător",descending:"Descrescător"},WindowPrefs:{enabledInfo:`Această opțiune necesită o temă transparentă pentru a funcționa normal. Pe Windows ar putea putea să strice maximizarea. Pentru ca aceste efecte să intre în vigoare, Discord trebuie să repornească. Dorești să il repornești acum ?`,disabledInfo:"Pentru ca aceste setări să intre în efect, Discord trebuie să repornească. Dorești să îl repornești acum ?"}}});var Ul=X((tS,bg)=>{bg.exports={}});var jl=X((aS,yg)=>{yg.exports={}});var ql=X((oS,xg)=>{xg.exports={Panels:{plugins:"Tiện ích",themes:"Chủ đề",customcss:"CSS Tùy Chỉnh",updates:"Cập nhật"},Collections:{settings:{name:"Cài đặt",general:{name:"Chung",voiceDisconnect:{name:"Ngắt Kết Nối Kênh Đàm Thoại",note:"Ngắt kết nối kênh đàm thoại khi đóng Discord"},showToasts:{name:"HIển Thị Thông Báo",note:"Hiển thị một thông báo nhỏ cho những thông tin quan trọng"},mediaKeys:{name:"Vô Hiệu Hóa Phím Điều Khiển Phương Tiện",note:"Ngăn Discord kiểm soát phím điều khiển phương tiện sau khi xem video."}},window:{removeMinimumSize:{name:"Xóa Kích Thước Tối Thiểu",note:"Xóa kích thước tối thiểu của Discord (940x500)"},name:"Cài Đặt Cửa Sổ",transparency:{name:"Bật Cửa Sổ Trong Suốt",note:"Cho phép cửa sổ Discord nhìn xuyên thấu (cần khởi động lại)"},frame:{name:"Khung Cửa Sổ",note:"Cho phép khung cửa sổ của hệ thống vào cửa sổ Discord"}},addons:{name:"Quản Lý Tiện Ích",addonErrors:{name:"Hiển Thị Lỗi Tiện Ích",note:"Hiển thị thông báo với những tiện ích/chủ đề lỗi"},editAction:{name:"Nơi Chỉnh Sửa",note:"Nơi trình chỉnh sửa tiện ích và chủ đề hiển thị khi sửa",options:{detached:"Cửa Sổ Tách Rời",system:"Trình Chỉnh Sửa"}}},customcss:{name:"CSS Tùy Chỉnh",customcss:{name:"CSS Tùy Chỉnh",note:"Bật tab CSS Tùy Chỉnh"},liveUpdate:{name:"Cập Nhật Trực Tiếp",note:"Cập nhật CSS khi bạn đang gõ"},startDetached:{name:"Tách Rời Cửa Số",note:"Bấm vào tab CSS Tùy Chỉnh sẽ mở trình chỉnh sửa ở cửa sổ riêng"},nativeOpen:{name:"Mở trong Trình Chỉnh Sửa của bạn",note:"Bấm vào tab CSS Tùy Chỉnh sẽ mở trình chỉnh sửa của bạn"},openAction:{name:"Vị trí Trình Chỉnh Sửa",note:"Nơi CSS Tùy Chỉnh sẽ được mở mặc định",options:{settings:"Menu Cài Đặt",detached:"Cửa Sổ Riêng",system:"Trình Chỉnh Sửa"}}},developer:{name:"Cài đặt Nhà Phát Triển",debuggerHotkey:{name:"Phím tắt Trình Gỡ Lỗi",note:"Cho phép kích hoạt trình gỡ lỗi bằng cách nhấn F8 với DevTools mở"},reactDevTools:{name:"React Developer Tools",note:"Thêm cài đặt của React Developer Tools vào Discord"},inspectElement:{name:"Phím tắt Kiểm tra Thành Phần",note:"Kích hoạt phím tắt Kiểm tra Thành Phần (Ctrl + Shift + C) tương tự như trong hầu hết trình duyệt"},devToolsWarning:{name:"Tắt Cảnh Báo DevTools",note:'Ngăn Discord hiển thị thông báo "Chờ Đã!"'},debugLogs:{name:"Lưu Nhật Ký Gỡ Lỗi",note:"Lưu mọi thứ được hiển thị ở Console vào tệp debug.log trong thư mục BetterDiscord"},devTools:{name:"DevTools",note:"Kích hoạt DevTools bằng tổ hợp Ctrl + Shift + i"}},editor:{name:"Cài đặt Trình Chỉnh Sửa",lineNumbers:{name:"Số Dòng",note:"Hiển thị số dòng ở cạnh của trình chỉnh sửa"},fontSize:{name:"Kích Thước Phông Chữ",note:"Kích thước phông chữ (pt) được sử dụng trong trình chỉnh sửa"},minimap:{name:"Minimap",note:"Hiển thị Minimap ở cạnh của trình chỉnh sửa"},hover:{name:"Chú Giải",note:"Hiển thị chú giải khi di chuột vào những lựa chọn"},quickSuggestions:{name:"Đề Xuất Nhanh",note:"Hiển thị những đề xuất tự hoàn thành khi bạn gõ"},renderWhitespace:{name:"Hiển Thị Khoảng Trắng",note:"Khi nào khoảng trắng sẽ được hiển thị trong trình chỉnh sửa",options:{all:"Luôn luôn",none:"Không bao giờ",selection:"Tùy chọn"}}}}},Addons:{title:"{{name}} v{{version}} bởi {{author}}",byline:"bởi {{author}}",reload:"Tải lại",addonSettings:"Cài đặt",website:"Trang web",source:"Nguồn",invite:"Máy chủ hỗ trợ",donate:"Ủng hộ",patreon:"Patreon",name:"Tên",author:"Tác giả",version:"Phiên bản",added:"Ngày thêm",modified:"Ngày sửa đổi",editAddon:"Chỉnh sửa",deleteAddon:"Xóa",confirmDelete:"Bạn chắc chắn muốn xóa {{name}}?",confirmationText:"Bạn có những thay đổi chưa lưu cho {{name}}. Đóng cửa sổ này sẽ xóa hết những thay đổi của bạn.",enabled:"{{name}} đã được kích hoạt.",disabled:"{{name}} đã được vô hiệu hóa.",couldNotEnable:"{{name}} không thể được kích hoạt.",couldNotDisable:"{{name}} không thể được vô hiệu hóa.",couldNotStart:"{{name}} không thể bắt đầu.",couldNotStop:"{{name}} không thể dừng lại.",settingsError:"Không thể mở cài đặt cho {{name}}",methodError:"{{method}} không thể được kích hoạt.",unknownAuthor:"Tác giả không xác định",noDescription:"Không có miêu tả.",metaError:"Không thể phân tích META.",missingNameData:"Thiếu dữ liệu tên META.",metaNotFound:"Không thể tìm thấy META.",compileError:"Không thể biên dịch. Vui lòng kiểm tra Console để biết thêm chi tiết.",wasUnloaded:"{{name}} đã được gỡ.",isEnabled:"Đã kích hoạt",wasLoaded:"{{name}} v{{version}} đã được thêm.",listView:"Dạng Danh Sách",gridView:"Dạng Ô"},CustomCSS:{confirmationText:"Bạn có những thay đổi chưa lưu cho CSS Tùy Chỉnh của bạn. Đóng cửa sổ này sẽ xóa hết những thay đổi của bạn.",update:"Cập nhật",save:"Lưu",openNative:"Mở trong Trình Chỉnh Sửa",openDetached:"Cửa Sổ Riêng",settings:"Cài đặt Trình Chỉnh Sửa",editorTitle:"Trình Chỉnh Sửa CSS Tùy Chỉnh"},Modals:{confirmAction:"Bạn chắc chắn chứ?",okay:"OK",done:"Xong",cancel:"Hủy bỏ",nevermind:"Không bận tâm",close:"Đóng",name:"Tên",message:"Tin nhắn",error:"Lỗi",addonErrors:"Lỗi Tiện Ích",restartRequired:"Cần Khởi Động Lại",restartNow:"Khởi Động Lại Bây Giờ",restartLater:"Khởi Động Lại Sau",additionalInfo:"Thông Tin Bổ Sung",restartPrompt:"Để có hiệu lực, Discord cần phải được khởi động lại. Bạn có muốn khởi động lại ngay bây giờ?",changelog:"Nhật ký thay đổi"},Sorting:{sortBy:"Lọc Bởi",order:"Thứ tự",ascending:"Trên xuống dưới",descending:"Dưới lên trên"},WindowPrefs:{enabledInfo:`Lựa chọn này cần phải có một chủ đề trong suốt để có thể hoạt động đúng cách. Trên Windows, tính năng sắp xếp và thu phóng cửa số (Aero Snapping) và toàn cửa sổ có thể không hoạt động. Để có hiệu lực, Discord cần phải được khởi động lại. Bạn có muốn khởi động lại ngay bây giờ?`,disabledInfo:"Để có hiệu lực, Discord cần phải được khởi động lại. Bạn có muốn khởi động lại ngay bây giờ?"},Updater:{updateFailed:"Cập Nhật Thất Bại!",updateFailedMessage:"Không thể cập nhật BetterDiscord. Vui lòng tải trình cài đặt mới nhất ở trang web (https://betterdiscord.app/) và cài đặt lại.",updateSuccessful:"Cập Nhật Thành Công!",updateAvailable:"BetterDiscord có cập nhật mới (v{{version}})",addonUpdated:"{{name}} đã được cập nhật lên phiên bản {{version}}!",checking:"Đang kiểm tra cập nhât...",finishedChecking:"Kiểm tra cập nhật thành công!",checkForUpdates:"Kiểm Tra Cập Nhật!",updateAll:"Cập Nhật Mọi Thứ!",noUpdatesAvailable:"Không có cập nhật mới.",versionAvailable:"Phiên bản {{version}} đã có sẵn!",updateButton:"Cập nhật!"}}});var Hl=X((rS,vg)=>{vg.exports={Panels:{plugins:"प्लग-इन",themes:"विषयों",customcss:"कस्टम सीएसएस"},Collections:{settings:{name:"समायोजन",general:{name:"आम",voiceDisconnect:{name:"आवाज डिस्कनेक्ट",note:"डिसॉर्डर को बंद करते समय वॉयस सर्वर से डिस्कनेक्ट करें"},showToasts:{name:"टोस्ट दिखाओ",note:"महत्वपूर्ण जानकारी के लिए एक छोटी अधिसूचना दिखाता है"},mediaKeys:{name:"मीडिया कुंजी अक्षम करें",note:"वीडियो चलाने के बाद डिस्कॉर्ड को अपनी मीडिया कुंजियों को हाईजैक करने से रोकें।"}},window:{removeMinimumSize:{name:"न्यूनतम आकार निकालें",note:`940x500 . के डिस्कॉर्ड के मजबूर न्यूनतम विंडो आकार को हटा देता है ध्यान दें`}},addons:{name:`एडऑन मैनेजर `,addonErrors:{name:"एडऑन त्रुटि दिखाएं",note:"प्लगइन/थीम त्रुटियों के साथ एक मोडल दिखाता है"},editAction:{name:"क्रिया संपादित करें",note:"संपादन करते समय प्लगइन्स और थीम कहाँ दिखाई देते हैं"}}}}}});var Ai,Wl=v(()=>{"use strict";Ai={"en-US":ul(),"en-GB":cl(),"zh-CN":fl(),"zh-TW":pl(),cs:ml(),da:hl(),nl:gl(),fr:bl(),de:yl(),el:xl(),hu:vl(),it:wl(),ja:kl(),ko:Cl(),pl:Sl(),"pt-PT":Ll(),"pt-BR":Il(),ru:Al(),sk:Tl(),"es-ES":El(),"es-419":Ml(),"sv-SE":Dl(),tr:Pl(),bg:zl(),uk:Bl(),fi:Nl(),no:Fl(),hr:Ol(),ro:Rl(),lt:Ul(),th:jl(),vi:ql(),hi:Hl()}});function _l(a){return typeof a!="object"||a===null?!1:Object.keys(a).some(e=>["zero","one","two","few","many","other"].includes(e))}function Ta(a){return typeof a=="string"||_l(a)}function wg(a){return Object.keys(Ai).includes(a)}var Ti,Wt,bo,yt,xt,Ei,p,W=v(()=>{"use strict";Wl();nt();oe();Ti=new Map,xt={get locale(){return Wt},get rules(){return Ti.get(xt.locale)},get supportedLocales(){return yt?Object.keys(yt):[]},isSupported(a){return yt?Object.keys(yt).includes(a):!1},init(a){let{locale:e,fallback:t="en-US",translations:o}=a;if(!wg(t))throw new Error(`Invalid fallback locale: ${t}`);bo=t,yt=o,xt.setLocale(e??t)},setLocale(a){xt.isSupported(a)||(b.warn("i18n",`Locale ${a} is not supported, falling back to ${bo}`),a=bo),Wt=a,!Ti.has(Wt)&&Ti.set(Wt,new Intl.PluralRules(Wt))},pluralize(a,e){if(typeof a=="string")return a;if(typeof e!="number"||isNaN(e))return b.warn("i18n",`Invalid count provided for pluralization: ${e}. Returning 'other' form.`),a.other??a.one??"Translation error";let o="zero"in a&&e===0?"zero":xt.rules?.select(e);return o?o in a&&a[o]?a[o]:a.other??a.one??`Missing plural form: ${o}`:(b.warn("i18n",`No plural selection for ${Wt} with count ${e}`),a.other??a.one??"Translation error")},context(a,e){let t=`${a}.${e}`,o=`${a}.default`,r=e?mt(yt[Wt],t):null;if(Ta(r)||(r=mt(yt[Wt],o)),Ta(r)||(r=e?mt(yt[bo],t):null,Ta(r)||(r=mt(yt[bo],o)),Ta(r)))return r},t(a,e,t){let o=xt.context(a,e?.context);if(Ta(o)||(o=mt(yt[Wt],a)),Ta(o)||(o=mt(yt[bo],a)),!Ta(o))return"String not found!";if(_l(o)&&(o=xt.pluralize(o,e?.count)),e){let r={...e};for(let n in t)if(!(!r[n]||typeof t[n]!="function"))try{r[n]=t[n](r[n].toString())}catch(s){b.stacktrace("i18n",`Error formatting ${n} in ${a}:`,s),r[n]=r[n].toString()}o=co(o,r)}return typeof o!="string"?"String not found!":o},ns(a){return{t:(e,t,o)=>{let r=`${a}.${e}`;return xt.t(r,t,o)},ns:e=>xt.ns(`${a}.${e}`),getFullKey:e=>`${a}.${e}`}}};xt.init({translations:Ai});Ei=xt,p=xt.t});var Vl,Sn,Mi=v(()=>{Vl=a=>a.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Sn=(...a)=>a.filter((e,t,o)=>!!e&&e.trim()!==""&&o.indexOf(e)===t).join(" ").trim()});var Gl,Kl=v(()=>{Gl={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}});var Ea,Di=v(()=>{L();Kl();Mi();Ea=yn(({color:a="currentColor",size:e=24,strokeWidth:t=2,absoluteStrokeWidth:o,className:r="",children:n,iconNode:s,...d},l)=>qo("svg",{ref:l,...Gl,width:e,height:e,stroke:a,strokeWidth:o?Number(t)*24/Number(e):t,className:Sn("lucide",r),...d},[...s.map(([u,c])=>qo(u,c)),...Array.isArray(n)?n:[n]]))});var S,U=v(()=>{L();Mi();Di();S=(a,e)=>{let t=yn(({className:o,...r},n)=>qo(Ea,{ref:n,iconNode:e,className:Sn(`lucide-${Vl(a)}`,o),...r}));return t.displayName=`${a}`,t}});var kg,Ho,$l=v(()=>{U();kg=[["path",{d:"M12 17V3",key:"1cwfxf"}],["path",{d:"m6 11 6 6 6-6",key:"12ii2o"}],["path",{d:"M19 21H5",key:"150jfl"}]],Ho=S("ArrowDownToLine",kg)});var Cg,pa,Zl=v(()=>{U();Cg=[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],pa=S("BadgeCheck",Cg)});var Sg,ma,Xl=v(()=>{U();Sg=[["path",{d:"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1",key:"ezmyqa"}],["path",{d:"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1",key:"e1hn23"}]],ma=S("Braces",Sg)});var Lg,Qe,Jl=v(()=>{U();Lg=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Qe=S("Check",Lg)});var Ig,Ma,Yl=v(()=>{U();Ig=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Ma=S("ChevronDown",Ig)});var Ag,_t,Ql=v(()=>{U();Ag=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],_t=S("ChevronRight",Ag)});var Tg,Bt,eu=v(()=>{U();Tg=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],Bt=S("CircleAlert",Tg)});var Eg,Nt,tu=v(()=>{U();Eg=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],Nt=S("CircleCheck",Eg)});var Mg,Wo,au=v(()=>{U();Mg=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8",key:"1h4pet"}],["path",{d:"M12 18V6",key:"zqpxq5"}]],Wo=S("CircleDollarSign",Mg)});var Dg,dt,ou=v(()=>{U();Dg=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]],dt=S("CircleHelp",Dg)});var Pg,Vt,ru=v(()=>{U();Pg=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],Vt=S("CircleX",Pg)});var zg,_o,nu=v(()=>{U();zg=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]],_o=S("Clock",zg)});var Bg,Vo,iu=v(()=>{U();Bg=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],Vo=S("ExternalLink",Bg)});var Ng,Go,su=v(()=>{U();Ng=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Go=S("Eye",Ng)});var Fg,Da,du=v(()=>{U();Fg=[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]],Da=S("Folder",Fg)});var Og,vt,lu=v(()=>{U();Og=[["path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4",key:"tonef"}],["path",{d:"M9 18c-4.51 2-5-2-7-2",key:"9comsn"}]],vt=S("Github",Og)});var Rg,Pa,uu=v(()=>{U();Rg=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],Pa=S("Globe",Rg)});var Ug,Ko,cu=v(()=>{U();Ug=[["path",{d:"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z",key:"c3ymky"}],["path",{d:"M12 5 9.04 7.96a2.17 2.17 0 0 0 0 3.08c.82.82 2.13.85 3 .07l2.07-1.9a2.82 2.82 0 0 1 3.79 0l2.96 2.66",key:"4oyue0"}],["path",{d:"m18 15-2-2",key:"60u0ii"}],["path",{d:"m15 18-2-2",key:"6p76be"}]],Ko=S("HeartHandshake",Ug)});var jg,za,fu=v(()=>{U();jg=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]],za=S("History",jg)});var qg,Ue,pu=v(()=>{U();qg=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],Ue=S("Info",qg)});var Hg,$o,mu=v(()=>{U();Hg=[["path",{d:"M10 8h.01",key:"1r9ogq"}],["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M14 8h.01",key:"1primd"}],["path",{d:"M16 12h.01",key:"1l6xoz"}],["path",{d:"M18 8h.01",key:"emo2bl"}],["path",{d:"M6 8h.01",key:"x9i8wu"}],["path",{d:"M7 16h10",key:"wp8him"}],["path",{d:"M8 12h.01",key:"czm47f"}],["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}]],$o=S("Keyboard",Hg)});var Wg,Zo,hu=v(()=>{U();Wg=[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]],Zo=S("LayoutGrid",Wg)});var _g,Xo,gu=v(()=>{U();_g=[["path",{d:"M21 6H3",key:"1jwq7v"}],["path",{d:"M7 12H3",key:"13ou7f"}],["path",{d:"M7 18H3",key:"1sijw9"}],["path",{d:"M12 18a5 5 0 0 0 9-3 4.5 4.5 0 0 0-4.5-4.5c-1.33 0-2.54.54-3.41 1.41L11 14",key:"qth677"}],["path",{d:"M11 10v4h4",key:"172dkj"}]],Xo=S("ListRestart",_g)});var Vg,Jo,bu=v(()=>{U();Vg=[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]],Jo=S("Maximize",Vg)});var Gg,Yo,yu=v(()=>{U();Gg=[["path",{d:"M5 12h14",key:"1ays0h"}]],Yo=S("Minus",Gg)});var Kg,Qo,xu=v(()=>{U();Kg=[["path",{d:"M12 22v-9",key:"x3hkom"}],["path",{d:"M15.17 2.21a1.67 1.67 0 0 1 1.63 0L21 4.57a1.93 1.93 0 0 1 0 3.36L8.82 14.79a1.655 1.655 0 0 1-1.64 0L3 12.43a1.93 1.93 0 0 1 0-3.36z",key:"2ntwy6"}],["path",{d:"M20 13v3.87a2.06 2.06 0 0 1-1.11 1.83l-6 3.08a1.93 1.93 0 0 1-1.78 0l-6-3.08A2.06 2.06 0 0 1 4 16.87V13",key:"1pmm1c"}],["path",{d:"M21 12.43a1.93 1.93 0 0 0 0-3.36L8.83 2.2a1.64 1.64 0 0 0-1.63 0L3 4.57a1.93 1.93 0 0 0 0 3.36l12.18 6.86a1.636 1.636 0 0 0 1.63 0z",key:"12ttoo"}]],Qo=S("PackageOpen",Kg)});var $g,Gt,vu=v(()=>{U();$g=[["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["path",{d:"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z",key:"12rzf8"}]],Gt=S("Palette",$g)});var Zg,Kt,wu=v(()=>{U();Zg=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]],Kt=S("Pencil",Zg)});var Xg,er,ku=v(()=>{U();Xg=[["path",{d:"m2 22 1-1h3l9-9",key:"1sre89"}],["path",{d:"M3 21v-3l9-9",key:"hpe2y6"}],["path",{d:"m15 6 3.4-3.4a2.1 2.1 0 1 1 3 3L18 9l.4.4a2.1 2.1 0 1 1-3 3l-3.8-3.8a2.1 2.1 0 1 1 3-3l.4.4Z",key:"196du1"}]],er=S("Pipette",Xg)});var Jg,$t,Cu=v(()=>{U();Jg=[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M9 8V2",key:"14iosj"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z",key:"osxo6l"}]],$t=S("Plug",Jg)});var Yg,tr,Su=v(()=>{U();Yg=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],tr=S("Plus",Yg)});var Qg,ar,Lu=v(()=>{U();Qg=[["path",{d:"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"14sxne"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16",key:"1hlbsb"}],["path",{d:"M16 16h5v5",key:"ccwih5"}]],ar=S("RefreshCcw",Qg)});var eb,or,Iu=v(()=>{U();eb=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],or=S("RefreshCw",eb)});var tb,lt,Au=v(()=>{U();tb=[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]],lt=S("RotateCw",tb)});var ab,Ba,Tu=v(()=>{U();ab=[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]],Ba=S("Save",ab)});var ob,rr,Eu=v(()=>{U();ob=[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]],rr=S("Search",ob)});var rb,nr,Mu=v(()=>{U();rb=[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],nr=S("Settings",rb)});var nb,ir,Du=v(()=>{U();nb=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]],ir=S("ShieldAlert",nb)});var ib,sr,Pu=v(()=>{U();ib=[["path",{d:"m2 7 4.41-4.41A2 2 0 0 1 7.83 2h8.34a2 2 0 0 1 1.42.59L22 7",key:"ztvudi"}],["path",{d:"M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8",key:"1b2hhj"}],["path",{d:"M15 22v-4a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2v4",key:"2ebpfo"}],["path",{d:"M2 7h20",key:"1fcdvo"}],["path",{d:"M22 7v3a2 2 0 0 1-2 2a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 16 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 12 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 8 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 4 12a2 2 0 0 1-2-2V7",key:"6c3vgh"}]],sr=S("Store",ib)});var sb,dr,zu=v(()=>{U();sb=[["rect",{width:"20",height:"6",x:"2",y:"4",rx:"2",key:"qdearl"}],["rect",{width:"20",height:"6",x:"2",y:"14",rx:"2",key:"1xrn6j"}]],dr=S("StretchHorizontal",sb)});var db,lr,Bu=v(()=>{U();db=[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]],lr=S("Tag",db)});var lb,Na,Nu=v(()=>{U();lb=[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]],Na=S("Trash2",lb)});var ub,et,Fu=v(()=>{U();ub=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],et=S("TriangleAlert",ub)});var cb,ur,Ou=v(()=>{U();cb=[["path",{d:"M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6 2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4-.9-4.2 4-6.6 7-3.8 1.1 0 3-1.2 3-1.2z",key:"pff0z6"}]],ur=S("Twitter",cb)});var fb,cr,Ru=v(()=>{U();fb=[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]],cr=S("User",fb)});var pb,_e,Uu=v(()=>{U();pb=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],_e=S("X",pb)});var ee=v(()=>{Zl();Xl();eu();tu();ou();ru();Fu();$l();Jl();Yl();Ql();au();nu();iu();su();du();lu();uu();cu();fu();pu();mu();hu();gu();bu();yu();xu();vu();wu();ku();Cu();Su();Lu();Iu();Au();Tu();Eu();Mu();Du();Pu();zu();Bu();Nu();Ou();Ru();Uu();Di();});var w,ce=v(()=>{"use strict";oe();Bd();zt();Be();V();W();Ut();ee();w=new class extends ke{state={};collections=[];panels=[];initialize(){this.registerCollection("settings","Settings",zd)}registerCollection(e,t,o){if(this.collections.find(r=>r.id==e))return b.error("Settings","Already have a collection with id "+e);this.collections.push({type:"collection",id:e,name:t,settings:o}),this.setupCollection(e),this.loadCollection(e)}removeCollection(e){let t=this.collections.findIndex(o=>o.id==e);if(t<0)return b.error("Settings","No collection with id "+e);this.collections.splice(t,1)}registerPanel(e,t,o){if(this.panels.find(u=>u.id==e))return b.error("Settings","Already have a panel with id "+e);let{element:r,onClick:n,order:s=1,type:d="settings"}=o,l={id:e,type:d,order:s,get label(){return p(`Panels.${e}`)||t},section:e,icon:o.icon,searchable:o.searchable};o.manager&&(l.manager=o.manager),n&&(l.clickListener=n),r&&(l.element=r instanceof C.React.Component?()=>C.React.createElement(r,{}):typeof r=="function"?r:()=>r),this.panels.push(l)}registerAddonPanel(e){let t=e.prefix+"s",o=p(`Panels.${t}`);this.registerPanel(t,o,{order:e.order,type:"addon",manager:e,icon:e.prefix==="plugin"?$t:Gt,searchable:()=>e.addonList.flatMap(r=>[r.name,r.filename])})}removePanel(e){let t=this.panels.findIndex(o=>o.id==e);if(t<0)return b.error("Settings","No collection with id "+e);this.panels.splice(t,1)}getPath(e,t="",o=""){let r=e.length==3?e[0]:t,n=e.length==3?e[1]:e.length==2?e[0]:o,s=e[e.length-1];return{collection:r,category:n,setting:s}}setupCollection(e){let t=this.collections.find(n=>n.id==e);if(!t)return;this.state[t.id]||(this.state[t.id]={});let o=t.name;Object.defineProperty(t,"name",{enumerable:!0,get:()=>p(`Collections.${t.id}.name`)||o});let r=t.settings;for(let n=0;np(`Collections.${t.id}.${s.id}.name`)||d});for(let l=0;lp(`Collections.${t.id}.${s.id}.${u.id}.name`)||c},note:{enumerable:!0,get:()=>p(`Collections.${t.id}.${s.id}.${u.id}.note`)||f}}),u.options)for(let g of u.options){let k=g.label;Object.defineProperty(g,"label",{enumerable:!0,get:()=>p(`Collections.${t.id}.${s.id}.${u.id}.options.${g.id??g.value}`)||k})}if(u.hasOwnProperty("disabled")||!u.enableWith&&!u.disableWith)continue;let m=u.enableWith??u.disableWith,h=this.getPath(m.split("."),t.id,s.id);Object.defineProperty(u,"disabled",{enumerable:!0,get:()=>{let g=this.state[h.collection][h.category][h.setting];return u.enableWith?!g:g}})}}}saveSettings(){for(let e in this.state)this.saveCollection(e)}loadSettings(){for(let e in this.state)this.loadCollection(e)}saveCollection(e){Q.set(e,this.state[e])}loadCollection(e){let t=Q.get(e);if(!t)return this.saveCollection(e);for(let o in this.state[e]){t[o]||Object.assign(t,{[o]:this.state[e][o]});for(let r in this.state[e][o]){if(t[o][r]==null)continue;let n=this.getSetting(e,o,r);switch(n?.type){case"radio":case"dropdown":{n.options.some(d=>d.value==t[o][r])&&(this.state[e][o][r]=t[o][r]);break}default:this.state[e][o][r]=t[o][r]}}}this.saveCollection(e)}resetCollection(e){let t=this.collections.find(r=>r.id==e);if(!t)return;let o=t.settings;for(let r=0;rr.id==e)?.settings.find(r=>r.id==t)?.settings.find(r=>r.id==o)}get(e,t,o){return arguments.length==2&&(o=t,t=e,e="settings"),!this.state[e]||!this.state[e][t]?!1:this.state[e][t][o]}set(e,t,o,r){return arguments.length==3&&(r=o,o=t,t=e,e="settings"),this.onSettingChange(e,t,o,r)}on(e,t,o,r){let n=(s,d,l,u)=>{s!==e||d!==t||l!==o||r(u)};return N.on("setting-updated",n),()=>{N.off("setting-updated",n)}}}});var G,Zt=v(()=>{"use strict";oe();V();me();G=class{static _patches=[];static get patches(){return this._patches||(this._patches=[])}static getPatchesByCaller(e){if(!e)return[];let t=[];for(let o of this.patches)for(let r of o.children)r.caller===e&&t.push(r);return t}static unpatchAll(e){typeof e=="string"&&(e=this.getPatchesByCaller(e));for(let t of e)t.unpatch()}static resolveModule(e){return!e||typeof e=="function"||typeof e=="object"&&!Array.isArray(e)?e:typeof e=="string"?C[e]:Array.isArray(e)?Y(e):null}static makeOverride(e){return function(...o){let r;if(!e.children||!e.children.length)return e.originalFunction.apply(this,o);for(let s of e.children.filter(d=>d.type==="before"))try{s.callback(this,o)}catch(d){b.err("Patcher",`Could not fire before callback of ${e.functionName} for ${s.caller}`,d)}let n=e.children.filter(s=>s.type==="instead");if(!n.length)r=e.originalFunction.apply(this,o);else for(let s of n)try{let d=s.callback(this,o,e.originalFunction.bind(this));typeof d<"u"&&(r=d)}catch(d){b.err("Patcher",`Could not fire instead callback of ${e.functionName} for ${s.caller}`,d)}for(let s of e.children.filter(d=>d.type==="after"))try{let d=s.callback(this,o,r);typeof d<"u"&&(r=d)}catch(d){b.err("Patcher",`Could not fire after callback of ${e.functionName} for ${s.caller}`,d)}return r}}static rePatch(e){let t=this.makeOverride(e);e.proxyFunction=t,e.module[e.functionName]=t}static makePatch(e,t,o){let r={name:o,module:e,functionName:t,originalFunction:e[t],proxyFunction:void 0,revert:()=>{r.module[r.functionName]=r.originalFunction,r.proxyFunction=void 0,r.children=[]},counter:0,children:[]};return r.proxyFunction=e[t]=this.makeOverride(r),Object.assign(e[t],r.originalFunction),e[t].__originalFunction=r.originalFunction,e[t].toString=()=>r.originalFunction.toString(),this.patches.push(r),r}static before(e,t,o,r,n={}){return this.pushChildPatch(e,t,o,r,Object.assign(n,{type:"before"}))}static after(e,t,o,r,n={}){return this.pushChildPatch(e,t,o,r,Object.assign(n,{type:"after"}))}static instead(e,t,o,r,n={}){return this.pushChildPatch(e,t,o,r,Object.assign(n,{type:"instead"}))}static pushChildPatch(e,t,o,r,n={}){let{type:s="after",forcePatch:d=!0}=n,l=this.resolveModule(t);if(!l||(!l[o]&&d&&(l[o]=function(){}),!(l[o]instanceof Function)))return null;typeof t=="string"&&(n.displayName=t);let c=`${n.displayName||l.displayName||l.name||l.constructor.displayName||l.constructor.name}.${o}`,f=this.patches.find(h=>h.module==l&&h.functionName==o)||this.makePatch(l,o,c);f.proxyFunction||this.rePatch(f);let m={caller:e,type:s,id:f.counter,callback:r,unpatch:()=>{if(f.children.splice(f.children.findIndex(h=>h.id===m.id&&h.type===s),1),f.children.length<=0){let h=this.patches.findIndex(g=>g.module==l&&g.functionName==o);if(h<0)return;this.patches[h].revert(),this.patches.splice(h,1)}}};return f.children.push(m),f.counter++,m.unpatch}}});var q,tt=v(()=>{"use strict";Ut();ce();oe();q=new class extends ke{_toasts=[];toastKey=0;get shouldShowToasts(){return w.get("settings","general","showToasts")}addToast(e){this._toasts=[...this._toasts,e],this.emitChange(),setTimeout(()=>{this.removeToast(e.key)},e.timeout)}removeToast(e){this._toasts=this._toasts.filter(t=>t.key!==e),this.emitChange()}get toasts(){return this._toasts}show(e,t={}){try{let{type:o="default",icon:r=!0,timeout:n=3e3,forceShow:s=!1}=t;if(!this.shouldShowToasts&&!s)return;this.addToast({key:this.toastKey++,content:e,type:o,icon:r,timeout:n})}catch(o){b.stacktrace("Toasts","Unable to show toast",o)}}default(e,t={}){return this.show(e,{...t,type:"default"})}info(e,t={}){return this.show(e,{...t,type:"info"})}success(e,t={}){return this.show(e,{...t,type:"success"})}warning(e,t={}){return this.show(e,{...t,type:"warning"})}error(e,t={}){return this.show(e,{...t,type:"error"})}}});var Te,Ln=v(()=>{"use strict";Te=class extends Error{file;error;type;constructor(e,t,o,r,n){super(o),this.name=e,this.file=t,this.error=r,this.type=n}}});var ju,qu,Hu,Wu,_u,Vu,Gu,Ku,$u,Zu,Xu,Ju,Yu,Qu,ec,tc,ac=v(()=>{"use strict";ju="bd-window-minimize",qu="bd-window-maximize",Hu="bd-relaunch-app",Wu="bd-run-script",_u="bd-did-navigate-in-page",Vu="bd-open-devtools",Gu="bd-close-devtools",Ku="bd-toggle-devtools",$u="bd-open-window",Zu="bd-inspect-element",Xu="bd-minimum-size",Ju="bd-window-size",Yu="bd-remove-devtools-message",Qu="bd-open-dialog",ec="bd-get-accent-color",tc="bd-open-path"});var Ne,te,Fe=v(()=>{"use strict";Ne=require("electron");ac();Be();te=new class{constructor(){Ne.ipcRenderer.on(_u,()=>N.dispatch("navigate")),Ne.ipcRenderer.on(qu,()=>N.dispatch("maximize")),Ne.ipcRenderer.on(ju,()=>N.dispatch("minimize"))}openDevTools(){return Ne.ipcRenderer.send(Vu)}closeDevTools(){return Ne.ipcRenderer.send(Gu)}toggleDevTools(){return Ne.ipcRenderer.send(Ku)}relaunch(e){return Ne.ipcRenderer.send(Hu,e)}runScript(e){return Ne.ipcRenderer.invoke(Wu,e)}openWindow(e,t){return Ne.ipcRenderer.invoke($u,e,t)}inspectElement(){return Ne.ipcRenderer.send(Zu)}setMinimumSize(e,t){return Ne.ipcRenderer.send(Xu,e,t)}setWindowSize(e,t){return Ne.ipcRenderer.send(Ju,e,t)}stopDevtoolsWarning(){return Ne.ipcRenderer.send(Yu)}openDialog(e){return Ne.ipcRenderer.invoke(Qu,e)}getSystemAccentColor(){return Ne.ipcRenderer.invoke(ec)}openPath(e){return Ne.ipcRenderer.send(tc,e)}}});var z,$e=v(()=>{"use strict";oe();z=class{static get screenWidth(){return Math.max(document.documentElement.clientWidth,window.innerWidth||0)}static get screenHeight(){return Math.max(document.documentElement.clientHeight,window.innerHeight||0)}static get bdHead(){return this.getElement("bd-head")}static get bdBody(){return this.getElement("bd-body")}static get bdScripts(){return this.getElement("bd-scripts")}static get bdStyles(){return this.getElement("bd-styles")}static get bdThemes(){return this.getElement("bd-themes")}static get bdCustomCSS(){return this.getElement("style#customcss")}static initialize(){}static escapeID(e){return CSS.escape(e)}static getElement(e,t=document.documentElement){return e instanceof Node?e:t.querySelector(e)}static createElement(e,t={},...o){let r=document.createElement(e);Object.assign(r,t);let n=Array.prototype.flat.call(o,1/0).filter(s=>s!=null);return r.append(...n),t.target&&(b.warn("DOM.createElement",'Usage of the "target" option has been deprecated and will be removed in the next version.'),(typeof t.target=="string"?document.querySelector(t.target):t.target)?.append(r)),r}static parseHTML(e,t=!1){let o=document.createElement("template");o.innerHTML=e.trim();let r=o.content.cloneNode(!0);return t?r:r.childNodes.length>1?r.childNodes:r.childNodes[0]}static removeStyle(e){e=this.escapeID(e);let t=this.getElement(`#${e}`,this.bdStyles);t&&t.remove()}static injectStyle(e,t){e=this.escapeID(e);let o=this.getElement(`#${e}`,this.bdStyles)||this.createElement("style",{id:e});o.textContent=t,this.bdStyles.append(o)}static unlinkStyle(e){return this.removeStyle(e)}static linkStyle(e,t,{documentHead:o=!1}={}){return e=this.escapeID(e),new Promise(r=>{let n=this.getElement(`#${e}`,this.bdStyles)||this.createElement("link",{id:e});n.rel="stylesheet",n.href=t,n.onload=r,(o?document.head:this.bdStyles).append(n)})}static removeTheme(e){e=this.escapeID(e);let t=this.getElement(`#${e}`,this.bdThemes);t&&t.remove()}static injectTheme(e,t){e=this.escapeID(e);let o=this.getElement(`#${e}`,this.bdThemes)||this.createElement("style",{id:e});o.textContent=t,this.bdThemes.append(o)}static updateCustomCSS(e){this.bdCustomCSS.textContent=e}static removeScript(e){e=this.escapeID(e);let t=this.getElement(`#${e}`,this.bdScripts);t&&t.remove()}static injectScript(e,t){return e=this.escapeID(e),new Promise((o,r)=>{let n=this.getElement(`#${e}`,this.bdScripts)||this.createElement("script",{id:e});n.src=t,n.onload=o,n.onerror=r,this.bdScripts.append(n)})}static animate({timing:e=r=>r,update:t,duration:o}){let r=performance.now(),n=requestAnimationFrame(function s(d){let l=(d-r)/o;l>1&&(l=1);let u=e(l);t(u),l<1&&(n=requestAnimationFrame(s))});return()=>cancelAnimationFrame(n)}static onAdded(e,t){if(document.body.querySelector(e))return t(document.body.querySelector(e));let o=new MutationObserver(r=>{for(let n=0;n{o.disconnect()}}static onRemoved(e,t){let o=new MutationObserver(r=>{for(let n=0;n-1,u=d.some(c=>c.contains(e));(l||u)&&(o.disconnect(),t())}});return o.observe(document.body,{subtree:!0,childList:!0}),()=>{o.disconnect()}}};z.createElement("bd-head",{target:document.body});z.createElement("bd-body",{target:document.body});z.createElement("bd-scripts",{target:z.bdHead});z.createElement("bd-styles",{target:z.bdHead});z.createElement("bd-themes",{target:z.bdHead});z.createElement("style",{id:"customcss",target:z.bdHead})});var hb,fr,oc=v(()=>{"use strict";nt();hb=/\[(.+?)]/,fr=class extends String{format(e){return co(this,e)}replaceLink(e){let t=this.match(hb);if(!t)return[this];let o=this.split(t[0]),r=e(t[1]);return o.splice(1,0,r),o}}});function rc(a){var e,t,o="";if(typeof a=="string"||typeof a=="number")o+=a;else if(typeof a=="object")if(Array.isArray(a)){var r=a.length;for(e=0;e{O=gb});function D({tag:a="div",className:e="",children:t=null,color:o=nc.STANDARD,size:r=ic.SIZE_14,selectable:n,strong:s,style:d,...l}){return i.createElement(a,{className:O(o,r,e,{"bd-selectable":n,"bd-text-strong":s}),style:d,...l},t)}var nc,ic,ut=v(()=>{"use strict";we();L();nc=Object.freeze({STANDARD:"bd-text-normal",MUTED:"bd-text-muted",ERROR:"bd-text-error",BRAND:"bd-text-brand",LINK:"bd-text-link",HEADER_PRIMARY:"bd-header-primary",HEADER_SECONDARY:"bd-header-secondary",STATUS_YELLOW:"bd-text-yellow",STATUS_GREEN:"bd-text-green",STATUS_RED:"bd-text-red",ALWAYS_WHITE:"bd-text-white",CUSTOM:null}),ic=Object.freeze({SIZE_10:"bd-text-10",SIZE_12:"bd-text-12",SIZE_14:"bd-text-14",SIZE_16:"bd-text-16",SIZE_20:"bd-text-20",SIZE_24:"bd-text-24",SIZE_32:"bd-text-32"});D.Colors=nc;D.Sizes=ic});function x({className:a,children:e,onClick:t,onKeyDown:o,buttonRef:r,disabled:n=!1,type:s="button",look:d=In.FILLED,color:l=Fa.BRAND,size:u=sc.MEDIUM,grow:c=!0,...f}){let m=bb(h=>{h.preventDefault(),h.stopPropagation(),t?.(h)},[t]);return i.createElement("button",{...f,className:O("bd-button",a,d,l,u,c?"bd-button-grow":""),ref:r,type:s==="button"?void 0:s,onClick:n?()=>{}:m,onKeyDown:n?()=>{}:o,disabled:n},i.createElement("div",{className:"bd-button-content"},e))}var bb,In,Fa,sc,ve=v(()=>{"use strict";we();L();({useCallback:bb}=i),In=Object.freeze({FILLED:"bd-button-filled",OUTLINED:"bd-button-outlined",LINK:"bd-button-link",BLANK:"bd-button-blank"}),Fa=Object.freeze({BRAND:"bd-button-color-brand",BLURPLE:"bd-button-color-blurple",RED:"bd-button-color-red",GREEN:"bd-button-color-green",YELLOW:"bd-button-color-yellow",PRIMARY:"bd-button-color-primary",LINK:"bd-button-color-link",WHITE:"bd-button-color-white",TRANSPARENT:"bd-button-color-transparent",CUSTOM:""}),sc=Object.freeze({NONE:"",TINY:"bd-button-tiny",SMALL:"bd-button-small",MEDIUM:"bd-button-medium",LARGE:"bd-button-large",ICON:"bd-button-icon"});x.Looks=In;x.Colors=Fa;x.Sizes=sc});function yb(a){return a.className||(a.className=""),a.className=O(a.className,"bd-flex-child"),i.createElement(j,{...a})}function j({children:a,className:e,style:t,shrink:o=1,grow:r=1,basis:n="auto",direction:s=dc.HORIZONTAL,align:d=uc.STRETCH,justify:l=lc.START,wrap:u=cc.NO_WRAP,...c}){return i.createElement("div",{...c,className:O("bd-flex",s,l,d,u,e),style:Object.assign({flexShrink:o,flexGrow:r,flexBasis:n},t)},a)}var dc,lc,uc,cc,Xt=v(()=>{"use strict";we();L();dc=Object.freeze({VERTICAL:"bd-flex-vertical",HORIZONTAL:"bd-flex-horizontal",HORIZONTAL_REVERSE:"bd-flex-reverse"}),lc=Object.freeze({START:"bd-flex-justify-start",END:"bd-flex-justify-end",CENTER:"bd-flex-justify-center",BETWEEN:"bd-flex-justify-between",AROUND:"bd-flex-justify-around"}),uc=Object.freeze({START:"bd-flex-align-start",END:"bd-flex-align-end",CENTER:"bd-flex-align-center",STRETCH:"bd-flex-align-stretch",BASELINE:"bd-flex-align-baseline"}),cc=Object.freeze({NO_WRAP:"bd-flex-no-wrap",WRAP:"bd-flex-wrap",WRAP_REVERSE:"bd-flex-wrap-reverse"});j.Child=yb;j.Direction=dc;j.Align=uc;j.Justify=lc;j.Wrap=cc});var yo,An=v(()=>{"use strict";L();we();yo=({className:a,...e})=>i.createElement("hr",{...e,className:O("bd-divider",a)})});function Oa({id:a,className:e,children:t,justify:o}){return i.createElement(j,{id:a,className:O("bd-modal-header",e),grow:0,shrink:0,direction:j.Direction.HORIZONTAL,justify:o??j.Justify.START,align:j.Align.CENTER,wrap:j.Wrap.NO_WRAP},t)}var Tn=v(()=>{"use strict";we();L();Xt()});function Ra({id:a,className:e,children:t,scroller:o=!0}){return i.createElement("div",{id:a,className:O("bd-modal-content",{"bd-scroller-base bd-scroller-thin":o},e)},t)}var En=v(()=>{"use strict";we();L()});function Le({className:a,transitionState:e,children:t,size:o=fc.DYNAMIC,style:r=pc.CUSTOM}){let n=e==0||e==1,d=i.useContext(C.AccessibilityContext??{})?.reducedMotion?.enabled??document.documentElement?.classList.contains("reduce-motion"),l=C.ReactSpring.useSpring({opacity:n?1:0,transform:n||d?"scale(1)":"scale(0.7)",config:{duration:n?300:100,easing:n?Pi.Easing.inOut(Pi.Easing.back()):Pi.Easing.quad,clamp:!0}});return i.createElement(xb,{disableTrack:!0},i.createElement(C.ReactSpring.animated.div,{className:O("bd-modal-root",o,a,r),style:l},t))}var Pi,fc,pc,xb,Ua=v(()=>{"use strict";we();L();V();me();Pi=Y(["Easing"],{firstId:615300,cacheId:"core-modalroot-anims"}),fc=Object.freeze({SMALL:"bd-modal-small",MEDIUM:"bd-modal-medium",LARGE:"bd-modal-large",DYNAMIC:""}),pc=Object.freeze({STANDARD:"bd-modal-standard",CUSTOM:""}),xb=ne(a=>a?.render?.toString().includes("impressionProperties")&&a?.render?.toString().includes(".Provider"),{searchExports:!0,firstId:305866,cacheId:"core-modalroot-focuslock"})??i.Fragment;Le.Sizes=fc;Le.Styles=pc});function Jt({id:a,className:e,children:t,justify:o,direction:r,align:n,wrap:s}){return i.createElement(j,{id:a,className:O("bd-modal-footer",e),grow:0,shrink:0,direction:r??j.Direction.HORIZONTAL_REVERSE,justify:o??j.Justify.START,align:n??j.Align.STRETCH,wrap:s??j.Wrap.NO_WRAP},t)}var pr=v(()=>{"use strict";we();L();Xt()});function wb({err:a,index:e}){let[t,o]=gc(!1),r=bc(()=>o(!t),[t]);function n(){let s=a?.error?.stack??a.stack;return!t||!s?null:i.createElement("div",{className:"bd-addon-error-body"},i.createElement(yo,null),i.createElement("div",{className:"bd-addon-error-stack"},mc?mc.codeBlock.react?.({content:s,lang:"js"},null,{}):s))}return i.createElement("details",{key:`${a.type}-${e}`,className:O("bd-addon-error",t?"expanded":"collapsed")},i.createElement("summary",{className:"bd-addon-error-header",onClick:r},i.createElement("div",{className:"bd-addon-error-icon"},a.type=="plugin"?i.createElement($t,null):i.createElement(Gt,null)),i.createElement("div",{className:"bd-addon-error-header-inner"},i.createElement(D,{tag:"h3",size:D.Sizes.SIZE_16,color:D.Colors.HEADER_PRIMARY,strong:!0},a.name),i.createElement("div",{className:"bd-addon-error-details"},i.createElement(Ue,{className:"bd-addon-error-details-icon",size:"16px"}),i.createElement(D,{color:D.Colors.HEADER_SECONDARY,size:D.Sizes.SIZE_12},a.message))),i.createElement(_t,{className:"bd-addon-error-expander",size:"24px"})),n())}function hc(a,e){return{id:a,errors:e,name:p(`Panels.${a}`)}}function zi({transitionState:a,onClose:e,pluginErrors:t,themeErrors:o}){let r=vb(()=>[t.length&&hc("plugins",t),o.length&&hc("themes",o)].filter(u=>u),[t,o]),[n,s]=gc(r[0].id),d=bc(u=>s(u),[]),l=r.find(u=>u.id===n);return i.createElement(Le,{transitionState:a,className:"bd-error-modal",size:Le.Sizes.MEDIUM},i.createElement(Oa,{className:"bd-error-modal-header"},i.createElement(j,{direction:j.Direction.VERTICAL},i.createElement(D,{tag:"h1",size:D.Sizes.SIZE_14,color:D.Colors.HEADER_PRIMARY,strong:!0,style:{textTransform:"uppercase",marginBottom:"8px"}},p("Modals.addonErrors")),i.createElement("div",{className:"bd-tab-bar"},r.map(u=>i.createElement("div",{onClick:()=>{d(u.id)},className:O("bd-tab-item",u.id===l.id&&"selected")},u.name))))),i.createElement(Ra,{className:"bd-error-modal-content"},i.createElement("div",{className:"bd-addon-errors"},l.errors.map((u,c)=>i.createElement(wb,{index:c,err:u})))),i.createElement(Jt,{className:"bd-error-modal-footer"},i.createElement(x,{onClick:e},p("Modals.okay"))))}var mc,gc,bc,vb,yc=v(()=>{"use strict";L();W();ut();ve();Xt();An();Tn();En();Ua();pr();ee();we();V();mc=C.SimpleMarkdownWrapper.defaultRules,{useState:gc,useCallback:bc,useMemo:vb}=i});var fe,kb,ha=v(()=>{"use strict";oe();L();Fe();fe=class extends i.Component{constructor(e){super(e),this.state={hasError:!1}}componentDidCatch(e){this.setState({hasError:!0}),b.stacktrace("ErrorBoundary",`React error detected for {name: ${this.props.name??"Unknown"}, id: ${this.props.id??"Unknown"}}`,e),typeof this.props.onError=="function"&&this.props.onError(e)}render(){return this.state.hasError&&this.props.fallback?this.props.fallback:this.state.hasError&&!this.props.hideError?i.createElement("div",{onClick:()=>te.openDevTools(),className:"react-error"},"There was an unexpected Error. Click to open console for more details."):this.props.children}},kb=fe.prototype.render;Object.defineProperty(fe.prototype,"render",{enumerable:!1,configurable:!1,set:function(){b.warn("ErrorBoundary","Addon policy for plugins https://docs.betterdiscord.app/plugins/publishing/guidelines#scope")},get:()=>kb})});function Mn({transitionState:a,onClose:e,onCloseCallback:t,className:o,size:r=Le.Sizes.SMALL,header:n,children:s,danger:d=!1,onCancel:l=()=>{},onConfirm:u=()=>{},cancelText:c=p("Modals.cancel"),confirmText:f=p("Modals.okay")}){let m=Cb(null);return Sb(()=>{setTimeout(()=>m?.current?.focus?.(),0)},[]),Lb(()=>{t?.()},[t]),i.createElement(Le,{transitionState:a,size:r,className:o},i.createElement(Oa,null,i.createElement(D,{tag:"h1",size:D.Sizes.SIZE_20,color:D.Colors.HEADER_PRIMARY,strong:!0},n)),i.createElement(Ra,null,s),i.createElement(Jt,null,f&&i.createElement(x,{type:"submit",buttonRef:m,color:d?x.Colors.RED:x.Colors.BRAND,onClick:()=>{u?.(),e?.()}},f),c&&i.createElement(x,{type:"button",look:x.Looks.LINK,color:x.Colors.PRIMARY,onClick:()=>{l?.(),e?.()}},c)))}var Cb,Sb,Lb,xc=v(()=>{"use strict";L();W();Ua();Tn();pr();En();ut();ve();({useRef:Cb,useEffect:Sb,useLayoutEffect:Lb}=i)});function Ib(){if(xo=C.DiscordMarkdown,ja={},xo){ja={...xo.rules,link:C.SimpleMarkdown.defaultRules.link};let a=ja.link?.react;if(!a)return;ja.link.react=function(...e){let t=Reflect.apply(a,void 0,e);return t.props.className="bd-link",t.props.target="_blank",t.props.rel="noopener noreferrer",t}}}function mr({className:a,children:e}){return!xo&&!ja&&Ib(),xo?i.createElement(xo,{className:a??"",parser:C.SimpleMarkdown.parserFor(ja),output:C.SimpleMarkdown.reactFor(C.SimpleMarkdown.ruleOutput(ja,"react"))},e):i.createElement("div",{className:"bd-markdown-fallback"},e)}var xo,ja,Bi=v(()=>{"use strict";L();V()});function Ni({onClick:a}){return i.createElement(x,{className:"bd-close-button",size:x.Sizes.ICON,look:x.Looks.BLANK,color:x.Colors.TRANSPARENT,onClick:a},i.createElement(_e,{size:"24px"}))}var vc=v(()=>{"use strict";L();ve();ee()});var wt,Dn=v(()=>{"use strict";V();nt();wt=class{static _parse;static _renderer;static parseToReact(e,t=!0){return this._parse||this._initialize(),this._renderer(this._parse(e,{inline:t}))}static _initialize(){let e=C.SimpleMarkdown,t=e.defaultRules.link.react,o=jt({},e.defaultRules,{link:{react:function(r,n,s){let d=Reflect.apply(t,this,[r,n,s]);return d.props.className="bd-link",d.props.target="_blank",d.props.rel="noopener noreferrer",d}}});for(let r in o)o[r].requiredFirstCharacters&&(o[r].requiredFirstCharacters=Object.values(o[r].requiredFirstCharacters));this._parse=e.parserFor(o),this._renderer=e.reactFor(e.ruleOutput(o,"react"))}}});function Pb({src:a}){return i.createElement("iframe",{src:a,title:"YouTube video player",frameBorder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowFullScreen:!0})}function zb({src:a,poster:e}){return a.toLowerCase().includes("youtube.com")?i.createElement(Pb,{src:a}):i.createElement("video",{src:a,poster:e,controls:!0,className:"bd-changelog-poster"})}function Oi({transitionState:a,footer:e,title:t,subtitle:o,onClose:r,video:n,poster:s,banner:d,blurb:l,changes:u}){let c=Fi(()=>i.createElement(Oa,{justify:j.Justify.BETWEEN},i.createElement(j,{direction:j.Direction.VERTICAL},i.createElement(D,{tag:"h1",size:D.Sizes.SIZE_20,strong:!0},t),i.createElement(D,{size:D.Sizes.SIZE_12,color:D.Colors.MUTED},o)),i.createElement(Ni,{onClick:r})),[t,o,r]),f=Fi(()=>i.createElement(Jt,{justify:j.Justify.BETWEEN,direction:j.Direction.HORIZONTAL},i.createElement(j.Child,{grow:"1",shrink:"1"},e||Eb),!e&&i.createElement(j.Child,{grow:"0",shrink:"0"},Mb,Db)),[e]),m=Fi(()=>{let h=[];n?h.push(i.createElement(zb,{src:n,poster:s})):d&&h.push(i.createElement("img",{src:d,className:"bd-changelog-poster"})),l&&h.push(i.createElement("p",null,wt.parseToReact(l)));for(let g=0;g<(u?.length??0);g++){let k=u[g],I="bd-changelog-"+k.type,R=g==0?" bd-changelog-first":"";h.push(i.createElement("h1",{className:`bd-changelog-title ${I}${R}`},k.title)),k.blurb&&h.push(i.createElement("p",null,wt.parseToReact(k.blurb)));let T=i.createElement("ul",null,k.items.map(H=>i.createElement("li",null,wt.parseToReact(H))));h.push(T)}return h},[l,n,d,s,u]);return i.createElement(Le,{className:"bd-changelog-modal",transitionState:a,size:Le.Sizes.MEDIUM,style:Le.Styles.STANDARD},c,i.createElement(Ra,null,m),(e||t==="BetterDiscord")&&f)}var Fi,wc,Ab,Tb,Eb,Mb,Db,kc=v(()=>{"use strict";L();V();W();Ua();Tn();pr();En();Xt();ut();vc();Dn();be();ee();me();({useMemo:Fi}=i),wc=Y(["anchorUnderlineOnHover"],{firstId:820162,cacheId:"core-changelog-anchorClasses"})||{anchor:"anchor-3Z-8Bb",anchorUnderlineOnHover:"anchorUnderlineOnHover-2ESHQB"},Ab=a=>{a.preventDefault(),a.stopPropagation(),P.showGuildJoinModal("pwXhuRkmgy"),C.Dispatcher?.dispatch({type:"LAYER_POP"})},Tb=i.createElement("a",{className:`${wc.anchor} ${wc.anchorUnderlineOnHover}`,onClick:Ab},"Join our Discord Server."),Eb=i.createElement(D,null,"Need support? ",Tb),Mb=i.createElement(C.Tooltip,{color:"primary",position:"top",text:p("Socials.twitter")},a=>i.createElement("a",{...a,className:"bd-social",href:"https://x.com/_BetterDiscord_",rel:"noopener noreferrer",target:"_blank"},i.createElement(ur,{size:"18px"}))),Db=i.createElement(C.Tooltip,{color:"primary",position:"top",text:p("Socials.github")},a=>i.createElement("a",{...a,className:"bd-social",href:"https://github.com/BetterDiscord/BetterDiscord",rel:"noopener noreferrer",target:"_blank"},i.createElement(vt,{size:"18px"})))});function Ri({isVisible:a,className:e,onClick:t}){return Cc.useTransition(a,{keys:r=>r?"backdrop":"empty",config:{duration:300},from:{opacity:0,background:"var(--black-500)"},enter:{opacity:.85,background:"var(--black-500)"},leave:{opacity:0,background:"var(--black-500)"}})((r,n)=>n?i.createElement(Cc.animated.div,{className:O("bd-modal-backdrop",e),style:r,onClick:t}):null)}var Cc,Sc=v(()=>{"use strict";we();L();V();Cc=C.ReactSpring});function ji(){let[a,e]=Nb([]),t=Lc((r,n={})=>{e(s=>[...s,{...n,render:r}])},[]),o=Lc(r=>{e(n=>n.filter(s=>(s.modalKey===r&&s.onClose&&s.onClose(),s.modalKey!==r)))},[]);return Fb(()=>(N.on("open-modal",t),()=>{N.off("open-modal",t)}),[t]),i.createElement(Ob,{component:Bb},i.createElement(Ri,{isVisible:!!a.length,onClick:()=>o(a[a.length-1].modalKey)}),!!a.length&&i.createElement(Ui,{key:a[a.length-1].modalKey,...a[a.length-1],onClose:()=>o(a[a.length-1].modalKey)}))}var Bb,Nb,Lc,Fb,Ic,Ac,Ob,Ui,Tc,Ec,Mc=v(()=>{"use strict";L();Be();Sc();me();({Fragment:Bb,useState:Nb,useCallback:Lc,useEffect:Fb}=i),[Ic,Ac]=Pt(a=>a?.defaultProps?.transitionAppear),Ob=Ic&&Ac?Ic[Ac]:function(){},Ui=class extends i.Component{constructor(e){super(e),this.state={transitionState:null}}componentWillEnter(e){this.setState({transitionState:0}),setTimeout(()=>{this.setState({transitionState:1}),e()},300)}componentWillLeave(e){this.setState({transitionState:2}),setTimeout(()=>{this.setState({transitionState:3}),e()},300)}render(){return i.createElement("div",{className:"bd-modal-layer"},this.props.render({transitionState:this.state.transitionState,onClose:this.props.onClose}))}},Tc=0,Ec=a=>a?`${a}-${Tc++}`:Tc++});var Rb,P,be=v(()=>{"use strict";oc();oe();L();go();W();ce();Be();Zt();V();$e();yc();ha();ut();Ua();Ua();xc();Bi();kc();Mc();me();Rb=[],P=class{static get shouldShowAddonErrors(){return w.get("settings","addons","addonErrors")}static get hasModalOpen(){return!!document.getElementsByClassName("bd-modal").length}static get ModalQueue(){return Rb}static _ModalActions;static get ModalActions(){return this._ModalActions??=ua("?.stackNextByDefault",{openModal:F.byStrings("?.stackNextByDefault"),closeModal:F.byStrings(".setState",".getState()["),closeAllModals:F.byStrings(".getState();for")},{firstId:192308,cacheId:"betterdiscord-modals"})}static default(e,t,o=[]){let r=z.parseHTML(`
`),n=()=>{r.classList.add("closing"),setTimeout(()=>{r.remove();let l=this.ModalQueue.shift();l&&l()},300)};o.length||o.push({label:p("Modals.okay"),action:n});let s=r.querySelector(".footer");for(let l of o){let u=Object.assign(document.createElement("button"),{onclick:c=>{try{l.action(c)}catch(f){b.stacktrace("Modals","Could not fire button listener",f)}n()},type:"button",className:"bd-button"});l.danger&&u.classList.add("bd-button-danger"),u.append(l.label),s.appendChild(u)}if(Array.isArray(t)?t.every(l=>i.isValidElement(l)):i.isValidElement(t)){let l=r.querySelector(".scroller"),u=bt.createRoot(l);try{u.render(t)}catch(c){l.append(z.parseHTML('There was an unexpected error. Modal could not be rendered.')),b.stacktrace("Modals","Could not render modal",c)}z.onRemoved(l,()=>{u.unmount()})}else r.querySelector(".scroller").append(t);r.querySelector(".footer button").addEventListener("click",n),r.querySelector(".bd-backdrop").addEventListener("click",n);let d=()=>document.getElementById("app-mount").append(r);this.hasModalOpen?this.ModalQueue.push(d):d()}static alert(e,t){this.showConfirmationModal(e,t,{cancelText:null})}static showConfirmationModal(e,t,o={}){t instanceof fr&&(t=t.toString());let r=()=>{},{onClose:n=r,onConfirm:s=r,onCancel:d=r,confirmText:l=p("Modals.okay"),cancelText:u=p("Modals.cancel"),danger:c=!1,key:f=void 0,size:m=Le.Sizes.SMALL}=o;if(!this.ModalActions)return this.default(e,t,[l&&{label:l,action:s},u&&{label:u,action:d,danger:c}].filter(Boolean));Array.isArray(t)||(t=[t]),t=t.map(g=>typeof g=="string"?i.createElement(mr,null,g):g);let h=this.openModal(g=>i.createElement(fe,{onError:()=>{setTimeout(()=>{this.ModalActions.closeModal(h),this.default(e,t,[l&&{label:l,action:s},u&&{label:u,action:d,danger:c}].filter(Boolean))})}},i.createElement(Mn,Object.assign({header:e,danger:c,confirmText:l,cancelText:u,onConfirm:s,onCancel:d,className:m,onCloseCallback:()=>{g?.transitionState===2&&n?.()}},g),i.createElement(fe,{id:"showConfirmationModal",name:"Modals"},t))),{modalKey:f});return h}static showAddonErrors({plugins:e=[],themes:t=[]}){if(!e||!t||!this.shouldShowAddonErrors||!e.length&&!t.length)return;let o={pluginErrors:Array.isArray(e)?e:[],themeErrors:Array.isArray(t)?t:[]};this.openModal(r=>i.createElement(fe,{id:"showAddonErrors",name:"Modals"},i.createElement(zi,Object.assign(o,r))))}static showChangelogModal(e={}){return this.openModal(o=>i.createElement(fe,{id:"showChangelogModal",name:"Modals"},i.createElement(Oi,Object.assign(e,o))))}static async showGuildJoinModal(e){let t=/\.gg\/(.*)$/;t.test(e)&&(e=e.match(t)[1]);let{invite:o}=await C.InviteActions?.resolveInvite(e)??{invite:null};if(!o){b.debug("Utilities","Failed to resolve invite:",e);return}let r=G.instead("BetterDiscord~showGuildJoinModal",C.RemoteModule,"minimize",()=>{}),n=G.instead("BetterDiscord~showGuildJoinModal",C.RemoteModule,"focus",()=>{});try{await C.Dispatcher?.dispatch({type:"INVITE_MODAL_OPEN",invite:o,code:e,context:"APP"})}finally{r(),n()}}static showAddonSettingsModal(e,t){let o=t;(t instanceof Node||typeof t=="string")&&(o=class extends i.Component{element;elementRef;constructor(s){super(s),this.elementRef=i.createRef(),this.element=t,this.state={hasError:!1}}componentDidCatch(){this.setState({hasError:!0})}componentDidMount(){this.element instanceof Node&&this.elementRef.current?.appendChild(this.element)}render(){return this.state.hasError?i.createElement(D,{color:D.Colors.STATUS_RED},p("Addons.settingsError")):i.createElement("div",{className:"bd-addon-settings-wrap",ref:this.elementRef,dangerouslySetInnerHTML:typeof this.element=="string"?{__html:this.element}:void 0})}}),typeof o=="function"&&(o=i.createElement(o));let r={className:"bd-addon-modal",size:Le.Sizes.MEDIUM,header:`${e} Settings`,cancelText:null,confirmText:p("Modals.done")};return this.openModal(n=>i.createElement(fe,{id:"showAddonSettingsModal",name:"Modals"},i.createElement(Mn,Object.assign(r,n),o)))}static hasInitialized=!1;static makeStack(){let e=z.parseHTML('
');z.bdBody.append(e),bt.createRoot(e).render([i.createElement(fe,{id:"makeStack",name:"Modals",hideError:!0},i.createElement(ji))]),this.hasInitialized=!0}static openModal(e,t={}){return typeof this.ModalActions.openModal=="function"?this.ModalActions.openModal(e):(this.hasInitialized||this.makeStack(),t.modalKey=Ec(t.modalKey),N.emit("open-modal",e,t),t.modalKey)}};P.makeStack()});var Dc={};tn(Dc,{default:()=>Ce});function jb(a){let e={},t=a.split(";");for(let o of t){let r=o.split(":"),n=r[0].trim(),s=r.slice(1).join(":").trim();n&&(n==="inherits"?e[n]=s==="true":n==="syntax"?e[n]=s.replaceAll('"',""):e[n]=s)}return e}var Ub,Ce,kt=v(()=>{"use strict";He();tt();Ln();hr();$e();W();be();Ub=/@property\s+--([A-Za-z0-9-_]+)\s*\{(.+?)\}/gs;Ce=new class extends Yt{get name(){return"ThemeManager"}get extension(){return".theme.css"}get duplicatePattern(){return/\.theme\s?\([0-9]+\)\.css/}get addonFolder(){return _.get("themesPath")}get prefix(){return"theme"}get language(){return"css"}get order(){return 4}addonList=[];updateThemeList(){return this.updateList()}loadAllThemes(){return this.loadAllAddons()}enableTheme(e){return this.enableAddon(e)}disableTheme(e){return this.disableAddon(e)}toggleTheme(e){return this.toggleAddon(e)}unloadTheme(e){return this.unloadAddon(e)}loadTheme(e){return this.loadAddon(e)}reloadTheme(e){return this.reloadAddon(e)}loadAddon(e,t=!0){let o=super.loadAddon(e,t);return o&&t&&P.showAddonErrors({themes:[o]}),o}initializeAddon(e){if(!e.name||!e.author||!e.description||!e.version)return new Te(e.name||e.filename,e.filename,"Addon is missing name, author, description, or version",{message:"Addon must provide name, author, description, and version.",stack:""},this.prefix)}requireAddon(e){let t=super.requireAddon(e);t.css=t.fileContent,delete t.fileContent;let o=this.extractCustomProperties(t.css);return t.properties=o,t}startAddon(e){return this.addTheme(e)}stopAddon(e){return this.removeTheme(e)}addTheme(e){let t=typeof e=="string"?this.addonList.find(o=>o.id==e):e;t&&(z.injectTheme(t.slug+"-theme-container",t.css),this.hasInitialized&&q.success(p("Addons.enabled",{name:t.name,version:t.version})))}removeTheme(e){let t=typeof e=="string"?this.addonList.find(o=>o.id==e):e;t&&(z.removeTheme(t.slug+"-theme-container"),q.error(p("Addons.disabled",{name:t.name,version:t.version})))}extractCustomProperties(e){let t={},o=e.matchAll(Ub);for(let r of o)r.length===3&&(t[r[1]]=jb(r[2]));return t}}});var qb,gr,Pc=v(()=>{"use strict";me();Ut();ce();Ge();qb=/^betterdiscord:\/\/editor\/(?:custom-css|(theme|plugin)\/([^/]+))\/?/,gr=new class extends ke{constructor(){super(),this.listener=this.listener.bind(this),w.addChangeListener(this.listener),De.ThemeStore?.addChangeListener(this.listener),De.AccessibilityStore?.addChangeListener(this.listener),this.listener(),M.editor.onLiveUpdateChange(e=>{w.set("settings","customcss","liveUpdate",e)}),M.addProtocolListener(e=>{let t=e.match(qb);if(t)if(t[1]===void 0){if(!w.get("settings","customcss","customcss"))return;M.editor.open("custom-css")}else(t[1]==="theme"?(kt(),Zs(Dc)):(at(),Zs(zc))).default.isLoaded(t[2])&&M.editor.open(t[1],t[2])})}listener(){M.editor.updateSettings({options:this.getEditorOptions(),liveUpdate:w.get("settings","customcss","liveUpdate"),discordTheme:De.ThemeStore?.theme||"dark"}),this.emitChange()}getEditorOptions(){let e=w.get("settings","editor","theme");return e==="system"&&(De.AccessibilityStore?.useForcedColors?e="hc-black":e=De.ThemeStore?.theme==="light"?"vs":"vs-dark"),{theme:e,fontSize:w.get("settings","editor","fontSize"),lineNumbers:w.get("settings","editor","lineNumbers"),minimap:{enabled:w.get("settings","editor","minimap")},hover:{enabled:w.get("settings","editor","hover")},insertSpaces:w.get("settings","editor","insertSpaces"),tabSize:Number(w.get("settings","editor","tabSize")),quickSuggestions:{other:w.get("settings","editor","quickSuggestions"),comments:w.get("settings","editor","quickSuggestions"),strings:w.get("settings","editor","quickSuggestions")},renderWhitespace:w.get("settings","editor","renderWhitespace")}}}});var Bc,qi,Nc=v(()=>{"use strict";oe();$e();me();Zt();Bc=["theme-dark","theme-light","theme-darker","theme-midnight","full-motion","show-redesigned-icons","visual-refresh","visual-refresh-chat-input","images-dark","images-light","density-compact","font-size-12","font-size-14","font-size-16","font-size-15","font-size-16","font-size-18","font-size-20","font-size-24","platform-win","platform-osx","platform-linux","platform-web","platform-overlay","mouse-mode","keyboard-mode","app-focused","bd-transparency","bd-frame","enable-motion","underline-links","confetti-mode","reduce-motion","is-mobile","desaturate-user-colors","disable-forced-colors","enable-forced-colors","overlay","has-webkit-scrollbar","no-webkit-scrollbar","decorate-links","low-saturation"],qi=new class{initPromise=null;failedToLoad=!1;async initialize(){return this.initPromise?this.initPromise:(this.initPromise=this.loadMonaco(),this.initPromise)}async loadMonaco(){b.log("Editor","Loading Monaco Editor");let e="https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.52.2/min";Object.defineProperty(window,"MonacoEnvironment",{value:{getWorker:(o,r)=>new Worker(`data:text/javascript;charset=utf-8,${encodeURIComponent(` self.MonacoEnvironment = { baseUrl: '${e}' }; importScripts('${e}/vs/base/worker/${o}');`)}`,{type:"classic",name:r})}});let t=window.require;delete window.module,z.linkStyle("monaco-style",`${e}/vs/editor/editor.main.min.css`,{documentHead:!0});try{await z.injectScript("monaco-script","https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.20.0/min/vs/loader.min.js");let o=window.require;window.require=t,o.config({paths:{vs:`${e}/vs`}});let r=await new Promise(u=>{o(["vs/editor/editor.main"],u)}),n={},s=0,d=()=>{let u=mo((f,m)=>{let h=n[m.id];if(typeof h>"u"){let g=Object.keys(f)[0];h=typeof f[g]=="string"&&f[g].startsWith(`${g}_`),n[m.id]=h}return h},{searchDefault:!1}),c=new Set(u.flatMap(f=>Object.values(f).flatMap(m=>String(m).split(" "))));for(let f=0;f{if(!u.getValueInRange(new r.Range(c.lineNumber,1,c.lineNumber,c.column)).match(/^\s*\.[\w-]*$/))return{suggestions:[]};let m=Object.keys(J).length;m!==s&&(l=d(),s=m);let h=new Set(l);for(let k of document.all??document.querySelectorAll("*"))if(k instanceof Element){let I=k.classList.value.split(" ");for(let R=0;R({label:`.${k}`,kind:r.languages.CompletionItemKind.Class,insertText:k,range:g}))}}}),o(["vs/platform/clipboard/browser/clipboardService"],({BrowserClipboardService:u})=>{G.instead("monaco-editor",u.prototype,"readText",(c,[f],m)=>f?m.call(c,f):Promise.resolve(DiscordNative.clipboard.read()))}),o(["vs/editor/browser/controller/textAreaInput"],({TextAreaWrapper:u})=>{G.instead("monaco-editor",u.prototype,"setSelectionRange",(c,f,m)=>{let h=c._actual,g=G.instead("monaco-editor",HTMLElement.prototype,"focus",(I,R,T)=>{if(I===h)return T.apply(I)}),k=m.apply(c,f);return g(),k})}),r.languages.typescript.javascriptDefaults.setDiagnosticsOptions({noSemanticValidation:!0,noSyntaxValidation:!1}),r.languages.typescript.javascriptDefaults.setCompilerOptions({target:r.languages.typescript.ScriptTarget.ESNext,allowNonTsExtensions:!0})}catch(o){b.error("Editor","Failed to load monaco editor",o),this.failedToLoad=!0}finally{window.require=t}}}});var pe,Ie,Ct=v(()=>{"use strict";L();pe=Symbol("betterdiscord.none"),Ie=dl({value:pe,disabled:!1})});function Qt({id:a=void 0,value:e,disabled:t=void 0,onChange:o,internalState:r=!0}){let[n,s]=Hb(e),{value:d,disabled:l}=xn(Ie),u=d!==pe,c=u?d:r?n:e,f=u?l:t,m=Wb(()=>{o?.(!c),s(!c)},[o,c]),h=f?" bd-switch-disabled":"",g=c?" bd-switch-checked":"";return i.createElement("div",{className:"bd-switch"+h+g},i.createElement("input",{id:a,type:"checkbox",disabled:f,checked:c,onChange:m}),i.createElement("div",{className:"bd-switch-body"},i.createElement("svg",{className:"bd-switch-slider",viewBox:"0 0 28 20",preserveAspectRatio:"xMinYMid meet"},i.createElement("rect",{className:"bd-switch-handle",fill:"white",x:"4",y:"0",height:"20",width:"20",rx:"10"}),i.createElement("svg",{className:"bd-switch-symbol",viewBox:"0 0 20 20",fill:"none"},i.createElement("path",null),i.createElement("path",null)))))}var Hb,Wb,br=v(()=>{"use strict";L();Ct();({useState:Hb,useCallback:Wb}=i)});function Fc(a,e){return function(o,r,n){return a(o,r,n)&&e(o,r,n)}}function Pn(a){return function(t,o,r){if(!t||!o||typeof t!="object"||typeof o!="object")return a(t,o,r);var n=r.cache,s=n.get(t),d=n.get(o);if(s&&d)return s===o&&d===t;n.set(t,o),n.set(o,t);var l=a(t,o,r);return n.delete(t),n.delete(o),l}}function Oc(a){return _b(a).concat(Vb(a))}function qa(a,e){return a===e||!a&&!e&&a!==a&&e!==e}function Jb(a,e,t){var o=a.length;if(e.length!==o)return!1;for(;o-- >0;)if(!t.equals(a[o],e[o],o,o,a,e,t))return!1;return!0}function Yb(a,e){return qa(a.getTime(),e.getTime())}function Qb(a,e){return a.name===e.name&&a.message===e.message&&a.cause===e.cause&&a.stack===e.stack}function ey(a,e){return a===e}function jc(a,e,t){var o=a.size;if(o!==e.size)return!1;if(!o)return!0;for(var r=new Array(o),n=a.entries(),s,d,l=0;(s=n.next())&&!s.done;){for(var u=e.entries(),c=!1,f=0;(d=u.next())&&!d.done;){if(r[f]){f++;continue}var m=s.value,h=d.value;if(t.equals(m[0],h[0],l,f,a,e,t)&&t.equals(m[1],h[1],m[0],h[0],a,e,t)){c=r[f]=!0;break}f++}if(!c)return!1;l++}return!0}function ay(a,e,t){var o=Uc(a),r=o.length;if(Uc(e).length!==r)return!1;for(;r-- >0;)if(!_c(a,e,t,o[r]))return!1;return!0}function yr(a,e,t){var o=Oc(a),r=o.length;if(Oc(e).length!==r)return!1;for(var n,s,d;r-- >0;)if(n=o[r],!_c(a,e,t,n)||(s=Rc(a,n),d=Rc(e,n),(s||d)&&(!s||!d||s.configurable!==d.configurable||s.enumerable!==d.enumerable||s.writable!==d.writable)))return!1;return!0}function oy(a,e){return qa(a.valueOf(),e.valueOf())}function ry(a,e){return a.source===e.source&&a.flags===e.flags}function qc(a,e,t){var o=a.size;if(o!==e.size)return!1;if(!o)return!0;for(var r=new Array(o),n=a.values(),s,d;(s=n.next())&&!s.done;){for(var l=e.values(),u=!1,c=0;(d=l.next())&&!d.done;){if(!r[c]&&t.equals(s.value,d.value,s.value,d.value,a,e,t)){u=r[c]=!0;break}c++}if(!u)return!1}return!0}function ny(a,e){var t=a.length;if(e.length!==t)return!1;for(;t-- >0;)if(a[t]!==e[t])return!1;return!0}function iy(a,e){return a.hostname===e.hostname&&a.pathname===e.pathname&&a.protocol===e.protocol&&a.port===e.port&&a.hash===e.hash&&a.username===e.username&&a.password===e.password}function _c(a,e,t,o){return(o===Xb||o===Zb||o===$b)&&(a.$$typeof||e.$$typeof)?!0:Kb(e,o)&&t.equals(a[o],e[o],o,o,a,e,t)}function vy(a){var e=a.areArraysEqual,t=a.areDatesEqual,o=a.areErrorsEqual,r=a.areFunctionsEqual,n=a.areMapsEqual,s=a.areNumbersEqual,d=a.areObjectsEqual,l=a.arePrimitiveWrappersEqual,u=a.areRegExpsEqual,c=a.areSetsEqual,f=a.areTypedArraysEqual,m=a.areUrlsEqual;return function(g,k,I){if(g===k)return!0;if(g==null||k==null)return!1;var R=typeof g;if(R!==typeof k)return!1;if(R!=="object")return R==="number"?s(g,k,I):R==="function"?r(g,k,I):!1;var T=g.constructor;if(T!==k.constructor)return!1;if(T===Object)return d(g,k,I);if(yy(g))return e(g,k,I);if(Hc!=null&&Hc(g))return f(g,k,I);if(T===Date)return t(g,k,I);if(T===RegExp)return u(g,k,I);if(T===Map)return n(g,k,I);if(T===Set)return c(g,k,I);var H=xy(g);return H===ly?t(g,k,I):H===my?u(g,k,I):H===cy?n(g,k,I):H===hy?c(g,k,I):H===py?typeof g.then!="function"&&typeof k.then!="function"&&d(g,k,I):H===by?m(g,k,I):H===uy?o(g,k,I):H===sy?d(g,k,I):H===dy||H===fy||H===gy?l(g,k,I):!1}}function wy(a){var e=a.circular,t=a.createCustomConfig,o=a.strict,r={areArraysEqual:o?yr:Jb,areDatesEqual:Yb,areErrorsEqual:Qb,areFunctionsEqual:ey,areMapsEqual:o?Fc(jc,yr):jc,areNumbersEqual:ty,areObjectsEqual:o?yr:ay,arePrimitiveWrappersEqual:oy,areRegExpsEqual:ry,areSetsEqual:o?Fc(qc,yr):qc,areTypedArraysEqual:o?yr:ny,areUrlsEqual:iy};if(t&&(r=Wc({},r,t(r))),e){var n=Pn(r.areArraysEqual),s=Pn(r.areMapsEqual),d=Pn(r.areObjectsEqual),l=Pn(r.areSetsEqual);r=Wc({},r,{areArraysEqual:n,areMapsEqual:s,areObjectsEqual:d,areSetsEqual:l})}return r}function ky(a){return function(e,t,o,r,n,s,d){return a(e,t,d)}}function Cy(a){var e=a.circular,t=a.comparator,o=a.createState,r=a.equals,n=a.strict;if(o)return function(l,u){var c=o(),f=c.cache,m=f===void 0?e?new WeakMap:void 0:f,h=c.meta;return t(l,u,{cache:m,equals:r,meta:h,strict:n})};if(e)return function(l,u){return t(l,u,{cache:new WeakMap,equals:r,meta:void 0,strict:n})};var s={cache:void 0,equals:r,meta:void 0,strict:n};return function(l,u){return t(l,u,s)}}function ga(a){a===void 0&&(a={});var e=a.circular,t=e===void 0?!1:e,o=a.createInternalComparator,r=a.createState,n=a.strict,s=n===void 0?!1:n,d=wy(a),l=vy(d),u=o?o(l):ky(l);return Cy({circular:t,comparator:l,createState:r,equals:u,strict:s})}var _b,Vb,Gb,Kb,$b,Zb,Xb,Rc,Uc,ty,sy,dy,ly,uy,cy,fy,py,my,hy,gy,by,yy,Hc,Wc,xy,eA,tA,aA,oA,Vc,rA,nA,iA,Gc=v(()=>{_b=Object.getOwnPropertyNames,Vb=Object.getOwnPropertySymbols,Gb=Object.prototype.hasOwnProperty;Kb=Object.hasOwn||function(a,e){return Gb.call(a,e)};$b="__v",Zb="__o",Xb="_owner",Rc=Object.getOwnPropertyDescriptor,Uc=Object.keys;ty=qa;sy="[object Arguments]",dy="[object Boolean]",ly="[object Date]",uy="[object Error]",cy="[object Map]",fy="[object Number]",py="[object Object]",my="[object RegExp]",hy="[object Set]",gy="[object String]",by="[object URL]",yy=Array.isArray,Hc=typeof ArrayBuffer=="function"&&ArrayBuffer.isView?ArrayBuffer.isView:null,Wc=Object.assign,xy=Object.prototype.toString.call.bind(Object.prototype.toString);eA=ga(),tA=ga({strict:!0}),aA=ga({circular:!0}),oA=ga({circular:!0,strict:!0}),Vc=ga({createInternalComparator:function(){return qa}}),rA=ga({strict:!0,createInternalComparator:function(){return qa}}),nA=ga({circular:!0,createInternalComparator:function(){return qa}}),iA=ga({circular:!0,createInternalComparator:function(){return qa},strict:!0})});function he(a,e,t,o=(r,n)=>r===n){let[,r]=xr(),n=fa(void 0),s=fa(void 0),d=fa(null);d.current=o===!0?Vc:o,s.current===void 0&&(s.current=e,n.current=e());let l=fa(void 0);if(t&&l.current){if(t.length!==l.current.length)throw new Error("Dependency List Size Changed!");for(let u=0;u{let u=Array.isArray(a)?a:[a];function c(){let f=s.current();d.current(n.current,f)||(n.current=f,r())}for(let f of u)f.addChangeListener(c);return()=>{for(let f of u)f.removeChangeListener(c)}},[]),n.current}function xr(){return ll(a=>a+1,0)}var Ft=v(()=>{"use strict";L();Gc()});function Ty(a,e){return i.createElement(C.Tooltip,{color:"primary",position:"top",text:a.tooltip},t=>i.createElement(x,{...t,"aria-label":a.tooltip,size:x.Sizes.ICON,look:x.Looks.BLANK,onClick:o=>{a.onClick(o,e?.())}},a.label))}function Ey(a){return i.createElement(j,{align:j.Align.CENTER,style:{gap:"10px"}},i.createElement(D,null,a.label),i.createElement(Qt,{onChange:a.onChange,value:a.checked}))}function $c(a,e){return e.type=="boolean"?Ey(e):Ty(e,a)}var vo,zn,Kc,Sy,Ly,Iy,Ay,Bn,Hi=v(()=>{"use strict";L();V();ce();Pc();Nc();ve();Xt();br();ut();Ft();L();ee();({useState:vo,useCallback:zn,useEffect:Kc,forwardRef:Sy,useMemo:Ly,useImperativeHandle:Iy}=i),Ay=["abap","abc","actionscript","ada","apache_conf","asciidoc","assembly_x86","autohotkey","batchfile","bro","c_cpp","c9search","cirru","clojure","cobol","coffee","coldfusion","csharp","csound_document","csound_orchestra","csound_score","css","curly","d","dart","diff","dockerfile","dot","drools","dummy","dummysyntax","eiffel","ejs","elixir","elm","erlang","forth","fortran","ftl","gcode","gherkin","gitignore","glsl","gobstones","golang","graphqlschema","groovy","haml","handlebars","haskell","haskell_cabal","haxe","hjson","html","html_elixir","html_ruby","ini","io","jack","jade","java","javascript","json","jsoniq","jsp","jssm","jsx","julia","kotlin","latex","less","liquid","lisp","livescript","logiql","lsl","lua","luapage","lucene","makefile","markdown","mask","matlab","maze","mel","mushcode","mysql","nix","nsis","objectivec","ocaml","pascal","perl","pgsql","php","pig","powershell","praat","prolog","properties","protobuf","python","r","razor","rdoc","red","rhtml","rst","ruby","rust","sass","scad","scala","scheme","scss","sh","sjs","smarty","snippets","soy_template","space","sql","sqlserver","stylus","svg","swift","tcl","tex","text","textile","toml","tsx","twig","typescript","vala","vbscript","velocity","verilog","vhdl","wollok","xml","xquery","yaml","django"];Bn=Sy(function({value:e,language:t="css",id:o="bd-editor",controls:r=[],onChange:n},s){let d=fa(null),l=fa(null),u=Ly(()=>{let $=t.toLowerCase().replace(/ /g,"_");return Ay.includes($)?$:"css"},[t]),[c,f]=vo(()=>gr.getEditorOptions().theme),[m,h]=vo(),[,g]=vo([]),[k,I]=vo([0,0,0]),[R,T]=vo([0,0,[]]),{insertSpaces:H,tabSize:A}=he(w,()=>({insertSpaces:w.get("settings","editor","insertSpaces"),tabSize:w.get("settings","editor","tabSize")})),[E,ae]=vo(!1),B=zn(()=>ae($=>!$),[]),ue=zn(()=>{m&&n?.(m.getValue())},[m,n]),Se=zn(()=>m?.layout(),[m]);Iy(s,()=>({resize:Se,get value(){return m.getValue()},set value($){m.setValue($)}}),[m,Se]),Kc(()=>(g($=>[...$,m?.onDidChangeModelContent(ue)]),()=>{g($=>{for(let Oe of $)Oe?.dispose();return[]})}),[m,ue]),wn(()=>{let $=d.current||document.getElementById(o);if(!$)return;let Oe=()=>{let Ee=document.createElement("textarea");Ee.className="bd-fallback-editor",Ee.value=e,h({dispose:()=>Ee.remove(),getValue:()=>Ee.value,setValue:sa=>Ee.value=sa,layout:()=>{},onDidChangeModelContent:sa=>(Ee.onchange=sa,Ee.oninput=sa,{dispose(){}}),isFallback:!0}),$.appendChild(Ee)};if(qi.failedToLoad){Oe();return}let se=!1,le,Re=()=>{let Ee=()=>({value:e,language:u,...gr.getEditorOptions()}),sa=window.monaco.editor.onDidChangeMarkers(([Ye])=>{if(At.getModel().uri!==Ye)return;let eo=window.monaco.editor.getModelMarkers({resource:Ye}),to=0,Qr=0;for(let Tt of eo)Tt.severity===4?Qr++:Tt.severity===8&&to++;T([to,Qr,eo])}),At=window.monaco.editor.create($,Ee());h(At),At.onDidChangeCursorSelection(()=>{let Ye=At.getPosition(),eo=At.getSelection(),to=At.getModel().getValueInRange(eo);I([Ye.lineNumber,Ye.column,to.length])});function Bo(){let Ye=getComputedStyle(At.getDomNode()),eo=Ye.getPropertyValue("--vscode-editor-background"),to=Ye.getPropertyValue("--vscode-foreground"),Qr=Ye.getPropertyValue("--vscode-tree-tableColumnsBorder"),Tt=l.current.parentElement.parentElement;(!Tt||!Tt.classList.contains("floating-window"))&&(Tt=l.current),Tt&&(Tt.style.setProperty("--bd-editor-background",eo),Tt.style.setProperty("--bd-editor-foreground",to),Tt.style.setProperty("--bd-editor-divider",Qr))}let Yr=gr.addChangeListener(()=>{At.updateOptions(Ee()),f(gr.getEditorOptions().theme),Bo()});Bo(),le=()=>{At.dispose(),Yr(),sa.dispose()},se&&le()};return window.monaco?.editor?Re():qi.initialize().then(()=>{window.monaco?.editor?Re():Oe()}),()=>{se=!0,le?.()}},[o,u,e]),Kc(()=>(window.addEventListener("resize",Se),()=>{window.removeEventListener("resize",Se)}),[Se]),m&&m.layout&&m.layout();let K=zn(()=>{m.focus(),m.trigger("keyboard","editor.action.gotoLine","")},[m]),de=r.filter($=>$.side!="right").map($c.bind(null,()=>m?.getValue())),Pe=r.filter($=>$.side=="right").map($c.bind(null,()=>m?.getValue()));return i.createElement("div",{id:"bd-editor-panel",className:c,ref:l},i.createElement("div",{id:"bd-editor-controls"},i.createElement("div",{className:"controls-section controls-left"},de),i.createElement("div",{className:"controls-section controls-right"},Pe)),i.createElement("div",{className:"editor-wrapper"},i.createElement("div",{id:o,ref:d,className:"editor "+c}),E&&i.createElement("div",{className:"bd-editor-problems"},R[2].length===0&&i.createElement("div",{className:"bd-editor-no-problems"},"No Problems have been detected."),R[2].map(($,Oe)=>i.createElement("div",{key:Oe,className:`bd-editor-problem bd-editor-severity-${$.severity}`},$.severity===8?i.createElement(Vt,{size:"1em"}):$.severity===4?i.createElement(et,{size:"1em"}):$.severity===2?i.createElement(Ue,{size:"1em"}):i.createElement(Ue,{size:"1em"}),i.createElement("span",null,$.message),i.createElement("span",null,$.source,"(",$.code,")"),i.createElement("span",null,"[Ln ",$.startLineNumber,", Col ",$.startColumn,"]"))))),!m?.isFallback&&i.createElement("div",{className:"bd-editor-footer"},i.createElement("div",{className:"bd-editor-footer-left"},i.createElement("div",{className:"bd-editor-footer-item",onClick:B},i.createElement(Vt,{size:"1em"}),i.createElement("span",null," ",R[0]," "),i.createElement(et,{size:"1em"}),i.createElement("span",null," ",R[1]))),i.createElement("div",{className:"bd-editor-footer-right"},i.createElement("div",{className:"bd-editor-footer-item",onClick:K},i.createElement("span",null,"Ln ",k[0]),i.createElement("span",null,", "),i.createElement("span",null,"Col ",k[1]),!!k[2]&&i.createElement("span",null," (",k[2]," selected)")),i.createElement("div",{className:"bd-editor-footer-item"},i.createElement("span",null,H?"Spaces":"Tabs"),i.createElement("span",null,": "),i.createElement("span",null,A)),i.createElement("div",{className:"bd-editor-footer-item"},i.createElement(ma,{size:"1em"}),i.createElement("span",null," ",u)))))})});var My,Wi,Dy,Py,zy,Zc,Xc=v(()=>{"use strict";L();W();Hi();ee();({useState:My,useCallback:Wi,forwardRef:Dy,useImperativeHandle:Py,useRef:zy}=i),Zc=Dy(function({content:e,language:t,save:o,openNative:r,id:n="bd-addon-editor"},s){let d=zy(null),[l,u]=My(!1);Py(s,()=>({resize(){d.current?.resize()},get value(){return d.current?.getValue()},set value(h){d.current?.setValue(h)},get hasUnsavedChanges(){return l}}),[l]);let c=Wi(()=>r?.(),[r]),f=Wi(()=>u(!0),[]),m=Wi((h,g)=>{o?.(g),u(!1)},[o]);return i.createElement(Bn,{ref:d,language:t,id:n,controls:[{label:i.createElement(Ba,{size:"18px"}),tooltip:p("CustomCSS.save"),onClick:m},{label:i.createElement(lt,{size:"18px"}),tooltip:p("CustomCSS.openNative"),onClick:c}],value:e,onChange:f})})});function Fy(a){return new Promise(e=>{P.showConfirmationModal(p("Modals.confirmAction"),a,{danger:!0,confirmText:p("Modals.close"),onConfirm:()=>{e(!0)},onCancel:()=>{e(!1)}})})}function _i({id:a,title:e,resizable:t,children:o,className:r,center:n,top:s=0,left:d=0,width:l=410,height:u=470,minX:c=0,minY:f=0,maxX:m=-1,maxY:h=-1,onResize:g,onClose:k,confirmClose:I,confirmationText:R}){let[T,H]=By(!1),A=Nn({x:m,y:h});A.current.x=m,A.current.y=h;let E=Nn({offset:{x:0,y:0},size:{width:0,height:0},max:{get x(){return A.current.x===-1?ko.width:A.current.x},get y(){return A.current.y===-1?ko.height:A.current.y}},min:{x:c,y:f},position:{x:0,y:0},isDragging:!1});E.current.min.x=c,E.current.min.y=f;let ae=Nn(null),B=Nn(null),ue=wo(()=>{E.current.size.width=B.current.offsetWidth,E.current.size.height=B.current.offsetHeight},[B]),Se=wo(se=>{if(!E.current.isDragging)return;let le=se.clientY-E.current.offset.y;le<=E.current.min.y&&(le=E.current.min.y),le+E.current.size.height>=E.current.max.y&&(le=E.current.max.y-E.current.size.height);let Re=se.clientX-E.current.offset.x;Re<=E.current.min.x&&(Re=E.current.min.x),Re+E.current.size.width>=E.current.max.x&&(Re=E.current.max.x-E.current.size.width),E.current.position.x=Re,E.current.position.y=le,B.current.style.left=`${Re}px`,B.current.style.top=`${le}px`},[]),K=wo(se=>{let le=B.current;E.current.offset.x=se.clientX-le.offsetLeft,E.current.offset.y=se.clientY-le.offsetTop,E.current.isDragging=!0},[B]),de=wo(()=>{E.current.isDragging=!1;let se=B.current.offsetWidth,le=B.current.offsetHeight;if(se!=E.current.size.width||le!=E.current.size.height){g&&g();let Re=parseInt(B.current.style.left),Ee=parseInt(B.current.style.top);Re+se>=E.current.max.x&&(B.current.style.width=E.current.max.x-Re+"px"),Ee+le>=E.current.max.y&&(B.current.style.height=E.current.max.y-Ee+"px")}E.current.size.width=se,E.current.size.height=le,B.current.style.left=`${E.current.position.x}px`,B.current.style.top=`${E.current.position.y}px`},[B,g]);Ny(()=>{let se=B.current,le=ae.current;return se.addEventListener("mousedown",ue,!1),le.addEventListener("mousedown",K,!1),document.addEventListener("mouseup",de,!1),document.addEventListener("mousemove",Se,!0),()=>{document.removeEventListener("mouseup",de,!1),document.removeEventListener("mousemove",Se,!0),se.removeEventListener("mousedown",ue,!1),le.removeEventListener("mousedown",K,!1)}},[ae,B,K,de,Se,ue]);let Pe=wo(()=>{B.current.style.width="100%",B.current.style.height="100%",g&&g();let se=B.current.offsetWidth,le=B.current.offsetHeight,Re=parseInt(B.current.style.left),Ee=parseInt(B.current.style.top),sa=Re+se;Ee+le>E.current.max.y&&(B.current.style.top=E.current.max.y-le+"px"),sa>E.current.max.x&&(B.current.style.left=E.current.max.x-se+"px");let Bo=parseInt(B.current.style.left),Yr=parseInt(B.current.style.top);if(Yr{let se=!0;(typeof I=="function"?I():I)&&(H(!0),se=await Fy(R),H(!1)),k&&se&&k()},[R,k,I]),Oe=`floating-window${r?` ${r}`:""}${t?" resizable":""}${T?" modal-open":""}`;return wn(()=>{B.current.style.height=`${u}px`,B.current.style.width=`${l}px`,E.current.position.x=n?ko.width/2-l/2:d,E.current.position.y=n?ko.height/2-u/2:s,B.current.style.left=`${E.current.position.x}px`,B.current.style.top=`${E.current.position.y}px`},[n,u,d,s,l]),i.createElement("div",{id:a,className:Oe,ref:B},i.createElement("div",{className:"floating-window-titlebar",ref:ae},i.createElement("span",{className:"title"},e),i.createElement("div",{className:"floating-window-buttons"},i.createElement("div",{className:"button maximize-button",onClick:Pe},i.createElement(Jo,{size:"16px"})),i.createElement("div",{className:"button close-button",onClick:$},i.createElement(_e,{size:"16px"})))),i.createElement("div",{className:"floating-window-content"},o))}var By,wo,Ny,Nn,ko,Jc=v(()=>{"use strict";L();W();be();ee();L();({useState:By,useCallback:wo,useEffect:Ny,useRef:Nn}=i);ko=class{static get width(){return Math.max(document.documentElement.clientWidth,window.innerWidth||0)}static get height(){return Math.max(document.documentElement.clientHeight,window.innerHeight||0)}}});function Vi(){let[a,e]=Oy([]),t=Yc(r=>{e(n=>[...n,r])},[]),o=Yc(r=>{e(a.filter(n=>(n.id===r&&n.onClose&&n.onClose(),n.id!==r)))},[a]);return Ry(()=>(N.on("open-window",t),()=>void N.off("open-window",t)),[t]),a.map(r=>i.createElement(_i,{...r,onClose:()=>o(r.id),key:r.id},r.children))}var Oy,Yc,Ry,Qc=v(()=>{"use strict";L();Be();Jc();({useState:Oy,useCallback:Yc,useEffect:Ry}=i)});var ef,tf,ea,Fn=v(()=>{"use strict";L();go();Be();$e();Qc();me();ef=tl("AppLayerProvider"),tf=!1,ea=class{static initialize(){let e=i.createElement(Vi,null),t=ef?i.createElement(ef().props.layerContext.Provider,{value:[document.querySelector("#app-mount > .layerContainer-2v_Sit")]},e):e,o=z.parseHTML('
');z.bdBody.append(o),bt.createRoot(o).render(t),tf=!0}static open(e){return tf||this.initialize(),N.emit("open-window",e)}}});var Ve,je,Uy,jy,qy,Hy,Yt,hr=v(()=>{"use strict";Ve=Ae(require("path"),1),je=Ae(require("fs"),1);oe();Ln();ce();Be();zt();tt();L();W();Fe();Xc();Fn();Ut();Ge();Uy=te.openPath,jy=/[^\S\r\n]*?\r?(?:\r\n|\n)[^\S\r\n]*?\*[^\S\r\n]?/,qy=/^\\@/,Hy=function(a){return a.charCodeAt(0)===65279&&(a=a.slice(1)),a},Yt=class extends ke{get name(){return""}get extension(){return""}get duplicatePattern(){return/./}get addonFolder(){return""}get language(){return""}get prefix(){return""}get order(){return 2}trigger(e,...t){return super.emitChange(),N.emit(`${this.prefix}-${e}`,...t)}timeCache={};state={};windows=new Set;hasInitialized=!1;initialAddonsLoaded=0;initialize(){w.registerAddonPanel(this);let e=this.loadAllAddons();return this.initialAddonsLoaded>0&&q.show(p("Addons.manyEnabled",{count:this.initialAddonsLoaded,context:this.prefix})),this.hasInitialized=!0,e}loadState(){let e=Q.get(`${this.prefix}s`);e&&Object.assign(this.state,e)}saveState(){Q.set(`${this.prefix}s`,this.state)}watcher;watchAddons(){if(this.watcher)return b.err(this.name,`Already watching ${this.prefix} addons.`);b.log(this.name,`Starting to watch ${this.prefix} addons.`),this.watcher=je.default.watch(this.addonFolder,{persistent:!1},async(e,t)=>{if(!e||!t)return;let o=Ve.default.resolve(this.addonFolder,t);if(!t.endsWith(this.extension)){let r=t.match(this.duplicatePattern);if(!r)return;let n=r[0],d=t.replace(n,"")+this.extension;if(je.default.existsSync(d)){b.warn(this.name,`Duplicate files found: ${t} and ${d}`);return}try{je.default.renameSync(o,Ve.default.resolve(this.addonFolder,d))}catch(l){b.err(this.name,`Could not rename file: ${t} ${d}`,l)}}await new Promise(r=>setTimeout(r,100));try{let r=je.default.statSync(o);if(!r.isFile()||!r||!r.mtimeMs||typeof r.mtimeMs!="number"||this.timeCache[t]==r.mtimeMs)return;this.timeCache[t]=r.mtimeMs,e=="rename"&&this.loadAddon(t,!0),e=="change"&&this.reloadAddon(t,!0)}catch(r){if(r.code!=="ENOENT"&&!r?.message.startsWith("ENOENT"))return;delete this.timeCache[t],this.unloadAddon(t,!0)}})}unwatchAddons(){if(!this.watcher)return b.error(this.name,`Was not watching ${this.prefix} addons.`);this.watcher.close(),delete this.watcher,b.log(this.name,`No longer watching ${this.prefix} addons.`)}extractMeta(e,t){if(!e.split(` `)[0].includes("/**"))throw new Te(t,t,p("Addons.metaNotFound"),{message:"",stack:e},this.prefix);let n=this.parseJSDoc(e);return(!n.author||typeof n.author!="string")&&(n.author=p("Addons.unknownAuthor")),(!n.version||typeof n.version!="string")&&(n.version="???"),(!n.description||typeof n.description!="string")&&(n.description=p("Addons.noDescription")),n}parseJSDoc(e){let t=e.split("/**",2)[1].split("*/",1)[0],o={},r="",n="";for(let s of t.split(jy))if(s.length!==0)if(s.charAt(0)==="@"&&s.charAt(1)!==" "){o[r]?(Array.isArray(o[r])||(o[r]=[o[r]]),o[r].push(n.trim())):o[r]=n.trim();let d=s.indexOf(" ");r=s.substring(1,d),n=s.substring(d+1)}else n+=" "+s.replace("\\n",` `).replace(qy,"@");return o[r]?(Array.isArray(o[r])||(o[r]=[o[r]]),o[r].push(n.trim())):o[r]=n.trim(),delete o[""],o.format="jsdoc",o}requireAddon(e){let t=je.default.readFileSync(e,"utf8");t=Hy(t);let o=je.default.statSync(e),r=this.extractMeta(t,Ve.default.basename(e));if(r.author||(r.author=p("Addons.unknownAuthor")),r.version||(r.version="???"),r.description||(r.description=p("Addons.noDescription")),r.id=r.name||Ve.default.basename(e),r.slug=Ve.default.basename(e).replace(this.extension,"").replace(/ /g,"-"),r.filename=Ve.default.basename(e),r.added=o.atimeMs,r.modified=o.mtimeMs,r.size=o.size,r.fileContent=t,this.addonList.find(n=>n.id==r.id))throw new Te(r.name,e,p("Addons.alreadyExists",{context:this.prefix,name:r.name}),{},this.prefix);return this.addonList.push(r),r}loadAddon(e,t=!1){if(typeof e>"u")return;let o;try{o=this.requireAddon(Ve.default.resolve(this.addonFolder,e))}catch(n){let s=this.addonList.find(d=>d.filename==e);return s&&(s.partial=!0,this.state[s.id]=!1,this.trigger("loaded",s)),n}let r=this.initializeAddon(o);return r?(this.state[o.id]=!1,o.partial=!0,this.trigger("loaded",o),r):(t&&q.success(p("Addons.wasLoaded",{name:o.name,version:o.version})),this.trigger("loaded",o),this.state[o.id]?this.startAddon(o):this.state[o.id]=!1)}unloadAddon(e,t=!0,o=!1){let r=typeof e=="string"?this.addonList.find(n=>n.id==e||n.filename==e):e;return r?(this.state[r.id]&&(o?this.stopAddon(r):this.disableAddon(r)),this.addonList.splice(this.addonList.indexOf(r),1),this.trigger("unloaded",r),t&&q.success(p("Addons.wasUnloaded",{name:r.name})),!0):!1}reloadAddon(e,t=!0){let o=typeof e=="string"?this.addonList.find(n=>n.id==e||n.filename==e):e;if(!o)return!1;let r=this.unloadAddon(o,t,!0);return o&&!r?r:this.loadAddon(o?o.filename:e,t)}isLoaded(e){return!!this.addonList.find(o=>o.id==e||o.filename==e)}isEnabled(e){let t=this.addonList.find(o=>o.id==e||o.filename==e);return t?this.state[t.id]:!1}getAddon(e){return this.addonList.find(t=>t.id==e||t.filename==e)}enableAddon(e){let t=typeof e=="string"?this.addonList.find(r=>r.id==e):e;if(!t||t.partial||this.state[t.id])return;this.state[t.id]=!0,this.trigger("enabled",t);let o=this.startAddon(t);return this.saveState(),o}enableAllAddons(){let e=w.get("settings","general","showToasts");w.set("settings","general","showToasts",!1);for(let t=0;tr.id==e):e;if(!t||t.partial||!this.state[t.id])return;this.state[t.id]=!1,this.trigger("disabled",t);let o=this.stopAddon(t);return this.saveState(),o}disableAllAddons(){let e=w.get("settings","general","showToasts");w.set("settings","general","showToasts",!1);for(let t=0;t!e.includes(r.filename)).map(r=>r.id);return{added:e.filter(r=>!this.addonList.find(n=>n.filename==r)&&r.endsWith(this.extension)&&je.default.statSync(Ve.default.resolve(this.addonFolder,r)).isFile()),removed:t}}updateList(){let e=this.loadNewAddons();for(let t of e.added)this.loadAddon(t);for(let t of e.removed)this.unloadAddon(t)}loadAllAddons(){this.loadState();let e=[],t=je.default.readdirSync(this.addonFolder);for(let o of t){let r=Ve.default.resolve(this.addonFolder,o),n=je.default.statSync(r);if(!n||!n.isFile())continue;if(this.timeCache[o]=n.mtimeMs,!o.endsWith(this.extension)){let d=o.match(this.duplicatePattern);if(!d)continue;let l=d[0],c=o.replace(l,"")+this.extension;if(je.default.existsSync(c)){b.warn("AddonManager",`Duplicate files found: ${o} and ${c}`);continue}je.default.renameSync(r,Ve.default.resolve(this.addonFolder,c))}let s=this.loadAddon(o,!1);s instanceof Te?e.push(s):s!==!1&&this.initialAddonsLoaded++}return this.saveState(),this.watchAddons(),e}deleteAddon(e){let t=typeof e=="string"?this.addonList.find(o=>o.id==e||o.filename==e):e;if(t)return je.default.unlinkSync(Ve.default.resolve(this.addonFolder,t.filename))}saveAddon(e,t){let o=typeof e=="string"?this.addonList.find(r=>r.id==e||r.filename==e):e;if(o)return je.default.writeFileSync(Ve.default.resolve(this.addonFolder,o.filename),t)}editAddon(e,t){let o=typeof e=="string"?this.addonList.find(n=>n.id==e||n.filename==e):e;if(!o)return;let r=Ve.default.resolve(this.addonFolder,o.filename);return typeof t>"u"&&(t=w.get("settings","addons","editAction")),t==="system"?Uy(`${r}`):t==="external"?M.editor.open(this.prefix,o.filename):this.openDetached(o)}openDetached(e){let t=Ve.default.resolve(this.addonFolder,e.filename),o=je.default.readFileSync(t).toString();if(this.windows.has(t))return;this.windows.add(t);let r=i.createRef(),n=i.createElement(Zc,{id:"bd-floating-editor-"+e.id,ref:r,content:o,save:this.saveAddon.bind(this,e),openNative:this.editAddon.bind(this,e,!0),language:this.language});ea.open({onClose:()=>{this.windows.delete(t)},onResize:()=>{!r||!r.current||!r.current.resize||r.current.resize()},title:e.name,id:"bd-floating-window-"+e.id,className:"floating-addon-window",height:470,width:410,center:!0,resizable:!0,children:n,confirmClose:()=>!r||!r.current?!1:r.current.hasUnsavedChanges,confirmationText:p("Addons.confirmationText",{name:e.name})})}}});var zc={};tn(zc,{default:()=>ie});var af,of,Wy,ie,at=v(()=>{"use strict";af=Ae(require("path"),1),of=Ae(require("vm"),1);oe();He();tt();Ln();hr();W();Be();be();Wy=a=>` if (module.exports.default) { module.exports = module.exports.default; } if (typeof(module.exports) !== "function") { module.exports = eval("${a}"); }`,ie=new class extends Yt{get name(){return"PluginManager"}get extension(){return".plugin.js"}get duplicatePattern(){return/\.plugin\s?\([0-9]+\)\.js/}get addonFolder(){return _.get("pluginsPath")}get prefix(){return"plugin"}get language(){return"javascript"}get order(){return 3}addonList=[];observer;constructor(){super(),this.onSwitch=this.onSwitch.bind(this),this.observer=new MutationObserver(e=>{for(let t=0,o=e.length;to.id==e||o.filename==e):e}initializeAddon(e){if(!e.exports||!e.name)return new Te(e.name||e.filename,e.filename,"Plugin had no exports or @name property",{message:"Plugin had no exports or no @name property. @name property is required for all addons.",stack:""},this.prefix);try{if(!(typeof e.exports=="function"))return new Te(e.name||e.filename,e.filename,"Plugin not a valid format.",{message:"Plugins should be either a function or a class",stack:""},this.prefix);let o=e.exports,r=Object.assign({},e);delete r.exports;let n=o.prototype?new o(r):e.exports(r);if(!n.start||!n.stop)return new Te(e.name||e.filename,e.filename,"Missing start or stop function.",{message:"Plugins must have both a start and stop function.",stack:""},this.prefix);if(e.instance=n,e.name=n.getName?n.getName():e.name,e.author=n.getAuthor?n.getAuthor():e.author,e.description=n.getDescription?n.getDescription():e.description,e.version=n.getVersion?n.getVersion():e.version,!e.name||!e.author||!e.description||!e.version)return new Te(e.name||e.filename,e.filename,"Plugin is missing name, author, description, or version",{message:"Plugin must provide name, author, description, and version.",stack:""},this.prefix);try{typeof e.instance.load=="function"&&e.instance.load()}catch(s){return this.state[e.id]=!1,new Te(e.name,e.filename,p("Addons.methodError",{method:"load()"}),{message:s.message,stack:s.stack},this.prefix)}}catch(t){return new Te(e.name,e.filename,p("Addons.methodError",{method:"Plugin constructor()"}),{message:t.message,stack:t.stack},this.prefix)}}requireAddon(e){let t=super.requireAddon(e);try{let o={filename:e,exports:{}};return of.default.compileFunction(t.fileContent,["require","module","exports","__filename","__dirname"],{filename:af.default.basename(e)}),t.fileContent+=Wy(t.exports||t.name),t.fileContent+=` //# sourceURL=betterdiscord://plugins/${t.filename}`,new Function("require","module","exports","__filename","__dirname",t.fileContent)(window.require,o,o.exports,o.filename,this.addonFolder),t.exports=o.exports,delete t.fileContent,t}catch(o){throw new Te(t.name||t.filename,e,p("Addons.compileError"),{message:o.message,stack:o.stack},this.prefix)}}startAddon(e){return this.startPlugin(e)}stopAddon(e){return this.stopPlugin(e)}getAddon(e){return this.getPlugin(e)}startPlugin(e){let t=typeof e=="string"?this.addonList.find(r=>r.id==e):e;if(!t)return;let o=t.instance;try{o.start()}catch(r){return this.state[t.id]=!1,this.trigger("disabled",t),q.warning(p("Addons.couldNotStart",{name:t.name,version:t.version})),b.stacktrace(this.name,`${t.name} v${t.version} could not be started.`,r),new Te(t.name,t.filename,p("Addons.methodError",{method:"start()"}),{message:r.message,stack:r.stack},this.prefix)}this.trigger("started",t.id),this.hasInitialized&&q.success(p("Addons.enabled",{name:t.name,version:t.version}))}stopPlugin(e){let t=typeof e=="string"?this.addonList.find(r=>r.id==e):e;if(!t)return;let o=t.instance;try{o.stop()}catch(r){return this.state[t.id]=!1,q.warning(p("Addons.couldNotStop",{name:t.name,version:t.version})),b.stacktrace(this.name,`${t.name} v${t.version} could not be started.`,r),new Te(t.name,t.filename,p("Addons.enabled",{method:"stop()"}),{message:r.message,stack:r.stack},this.prefix)}this.trigger("stopped",t.id),q.error(p("Addons.disabled",{name:t.name,version:t.version}))}getPlugin(e){let t=this.addonList.find(o=>o.id==e||o.filename==e);if(t)return t}setupFunctions(){N.on("navigate",this.onSwitch),this.observer.observe(document,{childList:!0,subtree:!0})}onSwitch(){for(let e=0;e{let t=M.filesystem.readFile(e,"utf8");return a.fileContent=t,a._compile(t),a.exports},".json":(a,e)=>{let t=M.filesystem.readFile(e,"utf8");return a.fileContent=t,a.exports=JSON.parse(t),a.exports}},ka=class a{static resolveMainFile(e,t){let o=pt.extname(t)?pt.dirname(t):t,r=M.filesystem.readDirectory(o);if(!Array.isArray(r))return null;for(let n of r){let s=pt.extname(n);if(n==="package.json"){let d=require(pt.resolve(o,n));if(!Reflect.has(d,"main"))continue;return pt.resolve(o,d.main)}if(s.slice(0,-s.length)=="index"&&Fo[s])return e}}static getExtension(e){return pt.extname(e)||Reflect.ownKeys(Fo).find(t=>M.filesystem.exists(e+t))}static getFilePath(e,t){if(pt.isAbsolute(t)||(t=pt.resolve(e,t)),!pt.extname(t)){let r=Reflect.ownKeys(Fo).find(n=>M.filesystem.exists(t+n));r&&(t=t+r)}return ze.realpathSync(t)}static _load(e,t,o){let r=e;pt.isAbsolute(e)||(e=pt.resolve(t,e));let n=this.getFilePath(t,e);if(!M.filesystem.exists(n))throw new Error(`Cannot find module ${e}`);if(window.require.cache[n])return window.require.cache[n].exports;M.filesystem.getStats(n).isDirectory()&&(e=this.resolveMainFile(e,t));let d=this.getExtension(n),l=Fo[d];if(!l)throw new Error(`Cannot find module ${r}`);let u=window.require.cache[e]=new a(n,Zm,o(e));return l(u,n),u.exports}static get Module(){return a}static get createRequire(){return b.warn("ContextModule","Module.createRequire not implemented yet.")}static get _extensions(){return Fo}id;path;exports;parent;filename;loaded;children;fileContent;require;constructor(e,t,o){this.id=e,this.path=M.path.dirname(e),this.exports={},this.parent=t,this.filename=e,this.loaded=!1,this.children=[],this.require=o,t&&t.children.push(this)}_compile(e){ni(e,["require","module","exports","__filename","__dirname","global"],this.filename)(this.require,this,this.exports,this.filename,this.path,window)}},Zm=new ka(".",null);No();Ge();var ed=["get","put","post","delete","head"],Qs={del:"delete"};function td(...a){let e,t,o;for(let r of a)switch(typeof r){case(r!==null&&"object"):t=r,"url"in t&&(e=t.url);break;case(!e&&"string"):e=r;break;case(!o&&"function"):o=r;break}return{url:e,options:t,callback:o}}function ad(a){return typeof a=="string"}function od(a){return typeof a=="function"}function ii(a,e){return(t,o,r)=>{"Content-Type"in Object(a.headers)&&a.headers?.["Content-Type"]!=="text/plain"?r=Buffer.from(r):r=Buffer.from(r).toString(),e(t,o,r)}}function da(...a){let{url:e,options:t={},callback:o}=td.apply(this,a);return!ad(e)||!od(o)?null:"method"in t&&ed.indexOf(t.method.toLowerCase())>=0?M.https[t.method](e,t,ii(t,o)):M.https.request(e,t,ii(t,o))}Object.assign(da,Object.fromEntries(ed.concat(Object.keys(Qs)).map(a=>[a,function(...e){let{url:t,options:o={},callback:r}=td.apply(this,e);return!ad(t)||!od(r)?null:M.https[Qs[a]||a](t,o,ii(o,r))}])));Ge();function Xm(a,e={},t){typeof e=="function"&&(t=e,e=null);let o=new wa;return t(o),M.https.get(a,e,(r,n,s)=>{if(r)return o.emit("error",r);o.emit("data",s),o.emit("end",n)}),o}var rd={get:Xm};oe();var bi=Ae(Ld(),1);Object.defineProperty(window,"Buffer",{get(){return b.warn("Deprecated","Usage of the Buffer global is deprecated. Consider using web standards such as Uint8Array and TextDecoder/TextEncoder."),bi.Buffer},configurable:!0,enumerable:!1});var Id=bi.Buffer;Ge();var Ad={...M.crypto,randomBytes(a){return Buffer.from(M.crypto.randomBytes(a))}};Ge();oe();var Td=new Map([["request","Use BdApi.Net.fetch instead."],["https","Use BdApi.Net.fetch instead."]]),yi=Object.assign({},ze);yi.writeFileSync=(a,e,t)=>ze.writeFileSync(a,e,Object.assign({},t,{originalFs:!0}));yi.writeFile=(a,e,t)=>ze.writeFile(a,e,Object.assign({},t,{originalFs:!0}));var Ed=function(a){return e=>{if(!(typeof e=="string"&&e.startsWith("./")))switch(Td.has(e)&&b.warn("Remote~Require",`The "${e}" module is marked as deprecated. ${Td.get(e)}`),e){case"request":return da;case"https":return rd;case"original-fs":return yi;case"fs":return ze;case"path":return M.path;case"events":return wa;case"electron":return M.electron;case"process":return window.process;case"vm":return Xs;case"module":return ka;case"buffer":return Id;case"crypto":return Ad;default:return ka._load(e,a,Ed)}}},nn=window.require=Ed(".");nn.cache={};nn.resolve=a=>{for(let e of Object.keys(nn.cache))if(e.startsWith(a))return nn.cache[e]};function Md(){let a=Object.getOwnPropertyDescriptor(HTMLIFrameElement.prototype,"contentWindow").get;Object.defineProperty(HTMLIFrameElement.prototype,"contentWindow",{get:function(...t){let o=Reflect.apply(a,this,t);return new Proxy(o,{getOwnPropertyDescriptor:function(r,n){if(n!=="localStorage")return Object.getOwnPropertyDescriptor(r,n)},get:function(r,n){if(n==="localStorage")return null;let s=r[n];return typeof s=="function"?s.bind(r):s}})}}),Object.defineProperty(Reflect,"apply",{value:Reflect.apply,writable:!1,configurable:!1}),Object.defineProperty(Function.prototype,"bind",{value:Function.prototype.bind,writable:!1,configurable:!1});let e=XMLHttpRequest.prototype.open;XMLHttpRequest.prototype.open=function(...t){return t[1].toLowerCase().includes("api/webhooks")?null:Reflect.apply(e,this,t)}}var Eh=`/* BEGIN V2 LOADER */ /* =============== */ #bd-loading-icon { background-image: url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjAwMCAyMDAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyMDAwIDIwMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwYXRoIGZpbGw9IiMzRTgyRTUiIGQ9Ik0xNDAyLjIsNjMxLjdjLTkuNy0zNTMuNC0yODYuMi00OTYtNjQyLjYtNDk2SDY4LjR2NzE0LjFsNDQyLDM5OFY0OTAuN2gyNTdjMjc0LjUsMCwyNzQuNSwzNDQuOSwwLDM0NC45SDU5Ny42djMyOS41aDE2OS44YzI3NC41LDAsMjc0LjUsMzQ0LjgsMCwzNDQuOGgtNjk5djM1NC45aDY5MS4yYzM1Ni4zLDAsNjMyLjgtMTQyLjYsNjQyLjYtNDk2YzAtMTYyLjYtNDQuNS0yODQuMS0xMjIuOS0zNjguNkMxMzU3LjcsOTE1LjgsMTQwMi4yLDc5NC4zLDE0MDIuMiw2MzEuN3oiLz48cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJNMTI2Mi41LDEzNS4yTDEyNjIuNSwxMzUuMmwtNzYuOCwwYzI2LjYsMTMuMyw1MS43LDI4LjEsNzUsNDQuM2M3MC43LDQ5LjEsMTI2LjEsMTExLjUsMTY0LjYsMTg1LjNjMzkuOSw3Ni42LDYxLjUsMTY1LjYsNjQuMywyNjQuNmwwLDEuMnYxLjJjMCwxNDEuMSwwLDU5Ni4xLDAsNzM3LjF2MS4ybDAsMS4yYy0yLjcsOTktMjQuMywxODgtNjQuMywyNjQuNmMtMzguNSw3My44LTkzLjgsMTM2LjItMTY0LjYsMTg1LjNjLTIyLjYsMTUuNy00Ni45LDMwLjEtNzIuNiw0My4xaDcyLjVjMzQ2LjIsMS45LDY3MS0xNzEuMiw2NzEtNTY3LjlWNzE2LjdDMTkzMy41LDMxMi4yLDE2MDguNywxMzUuMiwxMjYyLjUsMTM1LjJ6Ii8+PC9nPjwvc3ZnPg==); } #bd-loading-icon { position: fixed; bottom:5px; right:5px; z-index: 2147483647; display: block; width: 20px; height: 20px; background-size: 100% 100%; animation: bd-loading-animation 1.5s ease-in-out infinite; } @keyframes bd-loading-animation { 0% { opacity: 0.05; } 50% { opacity: 0.6; } 100% { opacity: 0.05; } } /* =============== */ /* END V2 LOADER */`,sn=document.createElement("style");sn.textContent=Eh;var io=document.createElement("div");io.id="bd-loading-icon";io.className="bd-loaderv2";io.title="BetterDiscord is loading...";var so=class{static show(){document.body.appendChild(sn),document.body.appendChild(io)}static hide(){sn&&sn.remove(),io&&io.remove()}};oe();He();He();var lo={title:"BetterDiscord",subtitle:`v${_.get("version")}`,video:"https://www.youtube.com/embed/BZq1eb9d0HI?si=67V2eArlF4atnGnz&vq=hd720p&hd=1&rel=0&showinfo=0&mute=0&loop=1&autohide=1",blurb:"Hotfix to squash some bugs.",changes:[{title:"Bugs Squashed",type:"fixed",items:["BetterDiscord now loads on macOS and Linux."]},{title:"New Features",type:"added",items:["Added `--avatar-url-[size]` to avatars for theme attributes.","Added a bunch of new theme attributes to messages.","Added an utility for developers to easily patch react elements."]}]};var ei={};tn(ei,{AddonStore:()=>ep,BDContextMenu:()=>Hf,CustomCSS:()=>qe,DebugLogs:()=>cp,Debugger:()=>ip,DefaultCommands:()=>Xf,DevToolsListener:()=>np,InspectElement:()=>dp,MediaKeys:()=>Of,NativeFrame:()=>mp,ReactDevTools:()=>sp,Recovery:()=>rp,RemoveMinimumSize:()=>pp,StopDevToolsWarning:()=>lp,ThemeAttributes:()=>_f,VoiceDisconnect:()=>Ff,WindowPrefs:()=>fp});var ra=Ae(require("fs"),1),ws=Ae(require("path"),1),Nf=Ae(require("electron"),1);oe();Be();ce();Zt();Zt();L();at();oe();me();var wr={CHAT_INPUT:1,USER:2,MESSAGE:3},On={BUILT_IN:0,TEXT:1,SEARCH:2,BOT:3,PLACEHOLDER:4},Ze={SUB_COMMAND:1,SUB_COMMAND_GROUP:2,STRING:3,INTEGER:4,BOOLEAN:5,USER:6,CHANNEL:7,ROLE:8,MENTIONABLE:9,NUMBER:10,ATTACHMENT:11},rf={IMAGE:"image",VIDEO:"video",LINK:"link",ARTICLE:"article",TWEET:"tweet",RICH:"rich",GIFV:"gifv",APPLICATION_NEWS:"application_news",AUTO_MODERATION_MESSAGE:"auto_moderation_message",AUTO_MODERATION_NOTIFICATION:"auto_moderation_notification",TEXT:"text",POST_PREVIEW:"post_preview",GIFT:"gift",SAFETY_POLICY_NOTICE:"safety_policy_notice",SAFETY_SYSTEM_NOTIFICATION:"safety_system_notification",VOICE_CHANNEL:"voice_channel",GAMING_PROFILE:"gaming_profile"};var vr={...ne(a=>a.wrapper&&a.icon&&a.selected&&a.selectable&&!a.mask,{firstId:60090,cacheId:"core-commandmanager-iconClasses"}),builtInSeparator:ne(a=>a.builtInSeparator,{firstId:681755,cacheId:"core-commandmanager-builtInSeparatorClasses"})?.builtInSeparator},_y=a=>a?.replace(/'s /g," ").match(/\b\w/g)?.join("").slice(0,2)??"",Vy=a=>{try{let e=new URL(a);return e.protocol==="data:"&&e.pathname.startsWith("image/")||e.protocol==="https:"}catch{return!1}},Gi=class a{static#e=new Map;static#t=new Map;static User=gt(["hasHadPremium(){"],{firstId:427157,cacheId:"core-commandmanager-user"});static createBotMessage=gt(['username:"Clyde"'],{searchExports:!0,firstId:963852,cacheId:"core-commandmanager-createBotMessage"});static MessagesModule=Y(["receiveMessage"],{firstId:843472,cacheId:"core-commandmanager-messages"});static IconsModule=Y(["BOT_AVATARS"],{firstId:820883,cacheId:"core-commandmanager-icons"});static localBDBot;static initialize(){this.#a()}static#a(){this.localBDBot=new this.User({avatar:"betterdiscord",id:"676620914632294467",bot:!0,username:"BetterDiscord",system:!0}),this.#o(),this.#i(),this.#s(),this.#r(),this.#d(),this.IconsModule.BOT_AVATARS.betterdiscord="https://github.com/BetterDiscord.png"}static#o(){let e=gt([".BUILT_IN?","categoryListRef:"],{defaultExport:!1});G.after("CommandManager",e,"A",(t,[o],r)=>{if(!this.#t.size)return;let n=r.props.children;n.props?.__bdPatched||(r.props.children=i.cloneElement(n,{renderCategoryListItem:(...s)=>{let d=n.props.renderCategoryListItem(...s);return!o.sections[s[1]-1]?.isBD&&o.sections[s[1]].isBD?i.cloneElement(d,{children:[i.createElement("hr",{className:vr.builtInSeparator}),...d.props.children]}):d},__bdPatched:!0}))})}static#r(){let[e,t]=Pt(F.byStrings(".getScoreWithoutLoadingLatest"),{firstId:264322,cacheId:"core-commandmanager-indexstore"});G.after("CommandManager",e,t,(o,r,n)=>{if(!r[2].commandTypes.includes(wr.CHAT_INPUT))return n;for(let l of n.sectionedCommands)l.section.id==="-1"&&(l.data=l.data.filter(u=>!u.isBD));let s=n.descriptors.findIndex(l=>l.id==="-1"),d=n.sectionedCommands.findIndex(l=>l.section.id==="-1");for(let l of this.#t.values()){let u=this.getCommandsByCaller(l.id);u.length>0&&(n.sectionedCommands.splice(d++,0,{section:l,data:u}),n.descriptors.splice(s++,0,l),n.commands.push(...u))}return n})}static#i(){let e=Aa("ApplicationCommandIndexStore");G.after("CommandManager",e,"query",(t,o,r)=>{if(!o[1].commandTypes.includes(wr.CHAT_INPUT))return r;let n=o[1].text||"";for(let s of r.sectionedCommands)s.section.id==="-1"&&(s.data=s.data.filter(d=>!d.isBD));for(let s of this.#t.values()){let d=this.getCommandsByCaller(s.id).filter(l=>l.name.includes(n)||l.description.includes(n));d.length>0&&(r.sectionedCommands.push({section:s,data:d}),r.descriptors.push(s),r.commands.unshift(...d))}})}static#s(){let[e,t]=Pt(F.byStrings(".type===",".BUILT_IN?"),{target:ne((o,r)=>un[r.id].toString().includes("hasSpaceTerminator:"),{firstId:826298,cacheId:"core-commandmanager-appIcons"})});G.after("CommandManager",e,t,(o,[{id:r}],n)=>{let d=(()=>{let c=ie.getAddon(r)?.icon||ie.getPlugin(r)?.instance?.icon||null,f=this.#t.has(r)?this.#t.get(r)?.icon:null;return c||f})(),l=_y(r),u=({width:c,height:f,padding:m=0,className:h,isSelected:g,selectable:k})=>{let I=[k&&vr.selectable,g&&vr.selected,vr.wrapper,vr.icon,h].filter(Boolean).join(" "),R={width:c,height:f,padding:m},T=()=>i.createElement("img",{src:d,alt:l,style:{width:"100%",height:"100%"}}),H=()=>i.createElement("span",{style:{display:"flex",alignItems:"center",justifyContent:"center",fontSize:Math.min(c,f)/1.2,backgroundColor:"transparent",borderRadius:"50%",width:"100%",fontWeight:"bold",height:"100%"}},l),A=()=>typeof d=="function"?i.createElement(d):typeof d=="string"&&Vy(d)?T():H();return i.createElement("div",{style:R,className:I},A())};return this.#t.has(r)?u:n})}static#d(){let[e,t]=Pt(F.byStrings("openOAuth2Modal","Promise.resolve","commandIntegrationTypes"),{firstId:972995,cacheId:"core-commandmanager-authorizer"});G.instead("CommandManager",e,t,(o,r,n)=>this.#t.has(r[0]?.applicationId)?Promise.resolve({isAuthorized:!0}):n.apply(o,r))}static registerCommand(e,t){if(!e||!t?.name||!t?.execute)throw new Error("Command must have a caller, name, and execute function");let o=this.#e.get(e)||new Map,r=`bd-${e}-${t.id}`;if(o.has(r))throw new Error(`Command with id ${r} is already registered`);let n=this.#l(e,t,r);return o.set(r,n),this.#e.set(e,o),this.#n(e),()=>this.unregisterCommand(e,t.id)}static#l(e,t,o){let r=this;return{integrationType:0,integrationTitle:e,inputType:On.BUILT_IN,get id(){return o},get __registerId(){return o},get applicationId(){return e},get displayName(){return t.name||""},get target(){return wr.CHAT_INPUT},get name(){return t.name||""},get description(){return t.description||""},get displayDescription(){return t.description||""},get options(){return a.#u(t.options)},execute:this.#c(t),get section(){return r.#n(e),r.#t.get(e)},isBD:!0,__proto__:t}}static optionsMap=new WeakMap;static#u(e){if(!e)return[];if(this.optionsMap.has(e))return this.optionsMap.get(e);let t=e.map(o=>({get name(){return o.name},get description(){return o.description},get displayDescription(){return o.description},type:o.type,get required(){return o.required||!1},get choices(){return o.choices?.map(r=>({...r,get name(){return r.name},get displayName(){return r.name}}))},get displayName(){return o.name},__proto__:o}));return this.optionsMap.set(e,t),t}static#n(e){this.#t.has(e)||this.#t.set(e,{id:e,name:e,type:1,key:"1",icon:e==="BetterDiscord"?"https://github.com/BetterDiscord.png":null,isBD:!0})}static#c(e){return(t,{channel:o,guild:r})=>{try{let n=e.execute(t,{channel:o,guild:r});return(!("inputType"in e)||e.inputType===On.BUILT_IN)&&this.sendBotMessage(n,{channel:o,guild:r}),n}catch(n){b.stacktrace("CommandManager",`Failed to run execute() for command ${e.name}`,n)}}}static async sendBotMessage(e,{channel:t}){try{e=await e}catch(r){return b.stacktrace("CommandManager","Failed to get result of execute()",r)}if(!(e!==null&&typeof e=="object"&&!Array.isArray(e)))return;let o=this.createBotMessage({channelId:t.id,content:typeof e.content=="string"?e.content:void 0,loggingName:void 0,type:20});typeof e.embeds=="object"&&e.embeds!==null&&(o.embeds=Array.isArray(e.embeds)?e.embeds:[e.embeds],o.embeds=o.embeds.map(r=>({...r,type:r.type||"rich"}))),Object.assign(o,{author:this.localBDBot}),(o.content||Array.isArray(o.embeds)&&o.embeds.length>0)&&this.MessagesModule.receiveMessage(t.id,o,!0)}static unregisterCommand(e,t){let o=`bd-${e}-${t}`,r=this.#e.get(e);r?.delete(o)&&r.size===0&&(this.#e.delete(e),this.#t.delete(e))}static unregisterAll(e){this.#e.delete(e),this.#t.delete(e)}static getCommandsByCaller(e){return Array.from(this.#e.get(e)?.values()||[])}},ta=Gi;var Z=class{initialized=!1;#e=new Set;get name(){return"Unnamed Builtin"}get collection(){return"settings"}get category(){return"general"}get id(){return"None"}async initialize(){w.get(this.collection,this.category,this.id)&&await this.enable(),N.on("setting-updated",(e,t,o,r)=>{e!=this.collection||t!==this.category||o!==this.id||(r?this.enable():this.disable())}),this.initialized=!0}registerSetting(e,t,o,r,n){return arguments.length==4?(e=this.collection,t=arguments[0],o=arguments[1],r=arguments[2],n=arguments[3]):arguments.length==3&&(e=this.collection,t=this.category,o=arguments[0],r=arguments[1],n=arguments[2]),w.on(e,t,o,s=>{s?r():n()})}get(e,t,o){return arguments.length==2?(e=this.collection,t=arguments[0],o=arguments[1]):arguments.length==1&&(e=this.collection,t=this.category,o=arguments[0]),w.get(e,t,o)}async enable(){this.log("Enabled");try{await this.enabled()}catch(e){this.stacktrace("Could not be enabled",e)}}async disable(){this.log("Disabled");try{await this.disabled()}catch(e){this.stacktrace("Could not be disabled",e)}}async enabled(){}async disabled(){}log(...e){b.log(this.name,...e)}warn(...e){b.warn(this.name,...e)}error(...e){b.err(this.name,...e)}stacktrace(e,t){b.stacktrace(this.name,e,t)}before(e,t,o){return G.before(this.name,e,t,o)}instead(e,t,o){return G.instead(this.name,e,t,o)}after(e,t,o){return G.after(this.name,e,t,o)}unpatchAll(){return G.unpatchAll(this.name)}addCommands(...e){for(let t of e){let o=ta.registerCommand("BetterDiscord",t);this.#e.add(o)}}removeCommands(){for(let e of this.#e)e()}};ce();L();ce();zt();me();Zt();V();L();var Ha=class{#e=Symbol("BetterDiscord.NodePatcher");#t=new WeakMap;#a=!1;patch(e,t){if(this.#a)return;let o=()=>this.#a,r=e.type;if(this.#t.has(r)){e.type=this.#t.get(r);return}if(r[this.#e]){e.type=r[this.#e];return}if(r.prototype?.isReactComponent){class l extends r{render(){let c=super.render();if(o())return c;let f=t(this.props,c,this);return typeof f>"u"?c:f}}this.#t.set(r,l),this.#t.set(l,l),l[this.#e]=l,e.type=l;return}let n=ct.getType(r);function s(...l){let u=n(...l),c=l.length===1?l[0]:Object.assign({ref:l[1]},l[0]);if(u instanceof Promise)return u.then(m=>{if(o())return m;let h=t(c,m);return typeof h>"u"?m:h});if(o())return u;let f=t(c,u);return typeof f>"u"?u:f}let d=s;if(typeof r=="object"){let l=r;l.type?d=i.memo(l.type?.render?i.forwardRef(d):d,l.compare):l.render?d=i.forwardRef(d):l._payload&&(d=i.lazy(()=>{let u=l._init(l._payload),c=f=>{let m={type:f};return this.patch(m,t),m.type};return u instanceof Promise?u.catch(f=>({default:c(f.default)})):Promise.resolve({default:c(u)})}))}for(let l of["defaultProps","displayName","propTypes"]){let u=Object.getOwnPropertyDescriptor(r,l);u&&Object.defineProperty(d,l,u)}this.#t.set(r,d),this.#t.set(d,d),d[this.#e]=d,e.type=d}destroy(){this.#a=!0}};L();var sf="Minified React error #460; visit https://react.dev/errors/460 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.",nf=Symbol("no-resolve"),Gy={use(a){if(typeof a.then=="function"){let e=nf;if(a.then(t=>{e=t}),e===nf)throw new Error(sf);return e}return a._currentValue},useFormState(a,e,t){return[e,()=>{},!1]},readContext(a){return a._currentValue},useOptimistic(a){return[a,()=>{}]},useMemo(a){return a()},useState(a){return typeof a=="function"?[a(),()=>{}]:[a,()=>{}]},useReducer(a,e){return[e,()=>{}]},useRef(a=null){return{current:a}},useCallback(a){return a},useContext(a){return a._currentValue},useEffect(){},useLayoutEffect(){},useImperativeHandle(){},useTransition(){return[!1,a=>a()]},useActionState(a,e,t){return[e,()=>{},!1]},useInsertionEffect(){},useDebugValue(){},useDeferredValue(a){return a},useSyncExternalStore(a,e){return e()},useId(){return Math.random().toString(36).substr(2,9)}},Ki={memo:Symbol.for("react.memo"),forwardRef:Symbol.for("react.forward_ref"),lazy:Symbol.for("react.lazy")},Rn={get rootInstance(){return document.getElementById("app-mount")?._reactRootContainer?._internalRoot?.current},getInternalInstance(a){if(a.__reactFiber$)return a.__reactFiber$;let e=Object.keys(a).find(t=>t.startsWith("__reactInternalInstance")||t.startsWith("__reactFiber"));return e?a[e]:null},getOwnerInstance(a,{include:e,exclude:t=["Popout","Tooltip","Scroller","BackgroundFlash"],filter:o=()=>!0}={}){if(!a)return null;let r=e===void 0,n=r?t:e;function s(u){let c=u.type;return c&&(c.displayName||c.name)||null}function d(u){let c=s(u);return c!==null&&n?.includes(c)!==r}let l=Rn.getInternalInstance(a);for(;l&&l.return;){l=l.return;let u=l.stateNode;if(u&&!(u instanceof HTMLElement)&&d(l)&&o(u))return u}return null},wrapElement(a){return class extends i.Component{element;state;ref=i.createRef();constructor(t){super(t),this.element=a,this.state={hasError:!1}}componentDidCatch(){this.setState({hasError:!0})}componentDidMount(){let t=this.ref?.current;t&&(Array.isArray(this.element)?this.element.forEach(o=>t.appendChild(o)):t.appendChild(this.element))}render(){return this.state.hasError?null:C.React.createElement("div",{className:"react-wrapper",ref:this.ref})}}},wrapInHooks(a,e={}){let t=Rn.getType(a);return function(r){let n=i.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE.H,s={...n};Object.assign(n,Gy,e);try{return t(r)}catch(d){if(d instanceof Error&&d.message===sf)return;throw d}finally{Object.assign(n,s)}}},getType(a){for(;;)switch(a.$$typeof){case Ki.memo:a=a.type;break;case Ki.forwardRef:a=a.render;break;case Ki.lazy:{let e=a._payload;e._status===1?a=e._result.default:a=()=>{};break}default:return a}},createNodePatcher(){return new Ha}};Object.freeze(Rn);var ct=Rn;L();L();var pf=Ae(require("path"),1),mf=Ae(require("fs"),1);oe();tt();zt();W();L();at();kt();be();V();W();me();var Un=new class{get discordLocale(){return De.LocaleStore?.locale??this.defaultLocale}get defaultLocale(){return"en-US"}initialize(){Ei.setLocale(this.discordLocale),De.LocaleStore?.addChangeListener(()=>Ei.setLocale(this.discordLocale))}};L();ce();W();var Zi="betterdiscord.app",uf="v3",Co=(...a)=>{let e=a.map(t=>t.match(/\/*(.+)\/*/)?.[1]).filter(Boolean).join("/");return`https://${Zi}/${e}`},jn=(...a)=>{let e=a.map(t=>t.match(/\/*(.+)\/*/)?.[1]).filter(Boolean).join("/");return`https://api.${Zi}/${uf}/${e}`},$i=a=>e=>Co(`${a}/${encodeURIComponent(e)}`),qn=a=>e=>Co(`${a}?id=${e}`),df={theme:["813903993524715522","781600198002081803"],plugin:["813903954991120385","781600250858700870"]},Ky=!0,lf=/^https:\/\/raw\.githubusercontent\.com\/(.+?)\/(.+?)\/(.+?)\/(.+)$/,re=class a{static getReleaseChannelType(e){if(df.plugin.includes(e))return"plugin";if(df.theme.includes(e))return"theme"}static convertToPreviewURL(e){let t=e.match(lf);if(!t)throw new Error("Failed to parse url!");let[,o,r,n,s]=t,d=`https://cdn.jsdelivr.net/gh/${o}/${r}@${n}/${s}`;return`https://discord-preview.vercel.app/?file=${encodeURIComponent(d)}`}static convertRawToGitHubURL(e){let t=e.match(lf);if(!t)throw new Error("Failed to parse url!");let[,o,r,n,s]=t;return`https://github.com/${o}/${r}/blob/${n}/${s}`}static API_VERSION=uf;static hostname=Zi;static redirects={github:qn("/gh-redirect"),download:qn("/download"),theme:qn("/theme"),plugin:qn("/plugin")};static pages={themes:Co("/themes"),theme:$i("/theme"),plugins:Co("/plugins"),plugin:$i("/plugin"),developers:Co("/developers"),developer:$i("/developer")};static resources={EMPTY_THUMBNAIL:Ky?"/resources/store/missing.svg":"/resources/ui/content_thumbnail.svg",thumbnail:e=>Co(e||a.resources.EMPTY_THUMBNAIL)};static store={addons:jn("/store/addons"),themes:jn("/store/themes"),plugins:jn("/store/plugins"),addon:e=>jn(`/store/${encodeURIComponent(e)}`),tags:{plugin:["fun","roles","activity","status","game","edit","library","notifications","emotes","channels","shortcut","enhancement","servers","chat","security","organization","friends","members","utility","developers","search","text","voice"],theme:["flat","transparent","layout","customizable","fiction","nature","space","dark","light","game","anime","red","orange","green","purple","black","other","high-contrast","white","aqua","animated","yellow","blue","abstract"]}}};Be();ve();Xt();ut();pr();Ua();we();L();Xt();ee();function Xi(a){let[e,t]=i.useState(a.value),o=i.useCallback(()=>{a.disabled||t(r=>(a.onChange?.(!r),!r))},[a]);return i.createElement(j,{className:O("bd-checkbox",a.className,{"bd-checkbox-disabled":a.disabled,"bd-checkbox-has-label":a.label,"bd-checkbox-reverse":a.reverse}),align:j.Align.CENTER,direction:a.reverse?j.Direction.HORIZONTAL_REVERSE:j.Direction.HORIZONTAL,onClick:o},i.createElement("input",{type:"checkbox",checked:e,id:a.id,className:O("bd-checkbox-input",a.inputClassName)}),i.createElement("div",{className:O("bd-checkbox-box",a.iconClassName)},i.createElement(Qe,{size:"18px"})),a.label&&i.createElement("div",{className:O("bd-checkbox-label",a.label)},a.label))}we();L();V();var $y=C.AccessibilityContext||i.createContext({reducedMotion:{enabled:!1}}),aa=cf.Type=Object.freeze({WANDERING_CUBES:"wandering-cubes",CHASING_DOTS:"chasing-dots",PULSING_ELLIPSIS:"pulsing-ellipsis",SPINNING_CIRCLE:"spinning-circle",SPINNING_CIRCLE_SIMPLE:"spinning-circle-simple",LOW_MOTION:"low-motion"});function cf(a){let{reducedMotion:e}=i.useContext($y),{animated:t=!0}=a,o=i.useMemo(()=>{let s=a.type||aa.WANDERING_CUBES;if(!e?.enabled)return s;switch(s){case aa.WANDERING_CUBES:case aa.CHASING_DOTS:return aa.LOW_MOTION;default:return s}},[a.type,e?.enabled]),r=i.useMemo(()=>O({"bd-spinner-stopAnimation":!t},"bd-spinner",`bd-spinner-${o}`,a.className),[a.className,t,o]),n=i.useMemo(()=>O("bd-spinner-path",a.itemClassName),[a.itemClassName]);switch(o){case aa.SPINNING_CIRCLE:case aa.SPINNING_CIRCLE_SIMPLE:return i.createElement("div",{className:r,role:"img","aria-label":a["aria-label"],...a},i.createElement("div",{className:"bd-spinner-inner"},i.createElement("svg",{className:"bd-spinner-circular",viewBox:"25 25 50 50"},o===aa.SPINNING_CIRCLE&&i.createElement(i.Fragment,null,i.createElement("circle",{cx:50,cy:50,r:20,className:n}),i.createElement("circle",{cx:50,cy:50,r:20,className:n})),i.createElement("circle",{cx:50,cy:50,r:20,className:n}))));default:return i.createElement("span",{className:r,role:"img","aria-label":a["aria-label"],...a},i.createElement("span",{className:"bd-spinner-inner"},i.createElement("span",{className:n}),i.createElement("span",{className:n}),(o===aa.PULSING_ELLIPSIS||o===aa.LOW_MOTION)&&i.createElement("span",{className:n})))}}var ot=Object.freeze(cf);L();W();V();ve();zt();L();ve();var{useCallback:Zy}=i,Xy="bd-settings-title",Jy="bd-settings-title bd-settings-group-title";function St({isGroup:a=!1,className:e="",button:t=void 0,onClick:o=void 0,text:r,children:n=[]}){let s=Zy(u=>{u.stopPropagation(),u.preventDefault(),t?.onClick?.(u)},[t]),d=a?Jy:Xy,l=e?`${d} ${e}`:d;return i.createElement("h2",{className:l,onClick:()=>{o?.()}},r,t&&i.createElement(x,{className:"bd-button-title",onClick:s,size:x.Sizes.NONE},t.title),n)}ee();var Hn=()=>[{label:p("Sorting.ascending"),value:!0},{label:p("Sorting.descending"),value:!1}];function Wa(a,e,t,o){return i.createElement(C.Tooltip,{color:"primary",position:"top","aria-label":a,text:a,key:o},r=>i.createElement(x,{...r,"aria-label":a,size:x.Sizes.NONE,look:x.Looks.BLANK,className:"bd-button",onClick:t},e))}function _a(a,e,t){let o=Q.get("misc","addonlistControls")||{};return!o[a]||!Object.prototype.hasOwnProperty.call(o[a],e)?t:o[a][e]}function Va(a,e,t){let o=Q.get("misc","addonlistControls")||{};o[a]||(o[a]={}),o[a][e]=t,Q.set("misc","addonlistControls",o)}var So=i.createContext();function Wn({children:a,count:e,searching:t}){let{title:o,toggleStore:r,showingStore:n}=i.useContext(So),s=i.useCallback(()=>{n&&r()},[n,r]);return i.useContext(oa)(i.createElement(St,{text:i.createElement("div",{className:"bd-addon-title","data-showing-store":n},i.createElement("span",{onClick:s},o),n&&i.createElement(i.Fragment,null,i.createElement(_t,{size:"24px"}),i.createElement("span",null,p("Addons.store"))),t&&i.createElement("span",null," - ",p("Addons.results",{count:e})))},a))}function _n({size:a=16}){return i.createElement(C.Tooltip,{text:p("Addons.official"),"aria-label":p("Addons.official"),hideOnClick:!1},e=>i.createElement("div",{className:"bd-flower-star",...e},i.createElement(pa,{size:`${a}px`})))}ee();var{useLayoutEffect:ff,useCallback:Vn,useState:Ji,useRef:Yy}=i;function Lo({leading:a,content:e,trailing:t,action:o}){return i.createElement(j,{onClick:o,className:`bd-install-modal-item${typeof o=="function"?" bd-install-modal-clickable":""}`,align:j.Align.CENTER},a&&i.createElement("div",{className:"bd-install-modal-item-leading"},a),e&&i.createElement("div",{className:"bd-install-modal-item-content"},e),t&&i.createElement("div",{className:"bd-install-modal-item-trailing"},t))}function Qy({guild:a}){let[e,t]=Ji(()=>a.hash?.trim()?0:2),o=Yy();return ff(()=>{if(!a.hash?.trim())return;let r=new Image,n=()=>{try{o.current.append(r),t(1)}finally{d()}},s=()=>{t(2),d(),r=null},d=()=>{r&&(r.removeEventListener("load",n),r.removeEventListener("error",s))};return r.addEventListener("load",n),r.addEventListener("error",s),r.src=a.url,d},[a]),i.createElement("div",{className:"bd-install-modal-guild",ref:o},e===0?i.createElement(ot,{type:ot.Type.PULSING_ELLIPSIS}):e===1?null:a.acronym)}function Yi({addon:a,transitionState:e,install:t,onClose:o}){let[r,n]=Ji(()=>w.get("settings","store","alwaysEnable")),s=Vn(()=>a.openAuthorPage(),[a]),d=Vn(()=>a.guild.join(),[a]),l=Vn(()=>a.openSourceCode(),[a]),[u,c]=Ji(!1),f=Vn(()=>{c(!0),t(r).catch(()=>o())},[t,r,o]);return ff(()=>{if(a.isInstalled())return o();let m=()=>{a.isInstalled()&&o()};return N.on(`${a.type}-loaded`,m),()=>N.off(`${a.type}-loaded`,m)},[a,o]),i.createElement(Le,{transitionState:e,size:Le.Sizes.SMALL,className:"bd-addon-store-modal"},i.createElement("div",{className:"bd-install-modal-splash"},i.createElement("div",{className:"bd-install-modal-preview"},i.createElement("img",{src:a.thumbnail,onError:m=>{m.currentTarget.src=re.resources.thumbnail()},loading:"lazy",className:"bd-install-modal-preview-img",alt:`Thumbnail ${a.name}`})),i.createElement("div",{className:"bd-install-modal-author"},i.createElement("svg",{height:48,width:48,className:"bd-install-modal-author-svg",viewBox:"0 0 48 48"},i.createElement("foreignObject",{x:0,y:0,height:48,width:48,overflow:"visible",mask:"url(#svg-mask-squircle)"},i.createElement("div",{className:"bd-install-modal-author-mask"},i.createElement("svg",{height:40,width:40,className:"bd-install-modal-author-svg",viewBox:"0 0 40 40"},i.createElement("foreignObject",{x:0,y:0,height:40,width:40,overflow:"visible",mask:"url(#svg-mask-squircle)"},i.createElement(C.Tooltip,{text:a.author},m=>i.createElement("img",{loading:"lazy",className:"bd-install-modal-author-img",src:a.avatar,...m}))))))))),i.createElement("div",{className:"bd-install-modal-header"},i.createElement(_n,{size:20}),i.createElement(D,{size:D.Sizes.SIZE_20,color:D.Colors.HEADER_PRIMARY},a.name)),i.createElement("div",{className:"bd-install-modal-items"},i.createElement(Lo,{leading:i.createElement(Ue,{size:"24px"}),content:a.description}),i.createElement(Lo,{leading:i.createElement(lr,{size:"24px"}),content:a.version}),i.createElement(Lo,{leading:i.createElement(_o,{size:"24px"}),content:a.lastModified.toLocaleString(Un.discordLocale)}),i.createElement(Lo,{leading:i.createElement(vt,{size:"24px"}),content:a.filename,action:l}),i.createElement(Lo,{leading:i.createElement(cr,{size:"24px"}),content:a.author,action:s}),a.guild&&i.createElement(Lo,{leading:i.createElement(dt,{size:"24px"}),content:i.createElement(j,{direction:j.Direction.VERTICAL},i.createElement(D,null,a.guild.name),i.createElement(D,{size:D.Sizes.SIZE_12,color:D.Colors.MUTED},p("Addons.invite"))),trailing:i.createElement(Qy,{guild:a.guild}),action:d})),i.createElement(Jt,{justify:j.Justify.BETWEEN,align:j.Align.CENTER},i.createElement(x,{onClick:f,disabled:u},u?i.createElement(ot,{type:ot.Type.PULSING_ELLIPSIS}):p("Addons.downloadAddon")),i.createElement(Xi,{value:r,onChange:n,label:i.createElement(D,null,p("Modals.automaticallyEnable"))})))}ce();hr();function ex(a){return new Promise(e=>{P.showConfirmationModal(p("Modals.confirmAction"),p("Addons.confirmDelete",{name:a.name}),{danger:!0,confirmText:p("Addons.deleteAddon"),onConfirm:()=>{e(!0)},onCancel:()=>{e(!1)}})})}var Gn=class{name;id;invite;hash;static cache={};static from(e){if(typeof this.cache[e.snowflake]=="object"){let t=this.cache[e.snowflake];return t.name=e.name,t.invite=e.invite_link,t.hash=e.avatar_hash,t}return new this(e)}constructor(e){this.name=e.name,this.id=e.snowflake,this.invite=e.invite_link,this.hash=e.avatar_hash?.trim?.()}get url(){let e=`${this.hash}.webp`;return e.startsWith("a_")&&(e=`${this.hash}.gif`),`https://cdn.discordapp.com/icons/${this.id}/${e}?size=256`}get acronym(){return this.name.replace(/'s /g," ").replace(/\w+/g,e=>e[0]).replace(/\s/g,"")}join(){P.showGuildJoinModal(this.invite)}},ba=class a{id;name;avatar;author;manager;filename;type;description;likes;downloads;tags;thumbnail;releaseDate;lastModified;guild;version;latestSourceUrl;_addon;static cache={};static from(e){if(typeof this.cache[e.id]=="object"){let t=this.cache[e.id];t.downloads=Math.max(t.downloads,e.downloads),t.likes=Math.max(t.likes,e.likes);let o=e.guild||e.author.guild;return t.guild=o?Gn.from(o):null,t.latestSourceUrl=e.latest_source_url,t.version=e.version,t.description=e.description,t.tags=e.tags,t.thumbnail=re.resources.thumbnail(e.thumbnail_url),t._addon=e,t}return new this(e)}constructor(e){this.id=e.id,this.name=e.name,this.releaseDate=new Date(e.initial_release_date),this.lastModified=new Date(e.latest_release_date),this.type=e.type,this.thumbnail=re.resources.thumbnail(e.thumbnail_url),this.avatar=`https://avatars.githubusercontent.com/u/${e.author.github_id}?v=4`,this.author=e.author.display_name;let t=e.guild||e.author.guild;this.guild=t?Gn.from(t):null,this.manager=e.type==="plugin"?ie:Ce,this.description=e.description,this.tags=e.tags,this.downloads=e.downloads,this.likes=e.likes,this.version=e.version,this.filename=e.file_name,this.latestSourceUrl=e.latest_source_url,this._addon=e,a.cache[e.id]=this}isUnknown(){return Qi.isUnknown(this.filename)}markAsKnown(){Qi.markAsKnown(this.filename)}openPreview(){if(this.type==="plugin")throw new Error("Addon is a plugin!");window.open(re.convertToPreviewURL(this.latestSourceUrl),"_blank","noopener,noreferrer")}openAddonPage(){window.open(re.redirects[this.type](this.id.toString()),"_blank","noopener,noreferrer")}openSourceCode(){window.open(re.convertRawToGitHubURL(this.latestSourceUrl),"_blank","noopener,noreferrer")}openAuthorPage(){window.open(re.pages.developer(this.author),"_blank","noopener,noreferrer")}async download(e=!1){if(this.isInstalled()){q.show(p("Addons.alreadyInstalled",{name:this.name}),{type:"info"});return}let t=o=>new Promise((r,n)=>{da(re.redirects.github(this.id.toString()),{headers:{"X-Store-Download":this.name,"Cache-Control":"no-cache",Pragma:"no-cache"}},(s,d,l)=>{try{if(s||d.aborted||d.statusMessage!=="OK")throw s||d;if(o){try{let u=Yt.prototype.extractMeta(l,this.filename);this.manager.state[u.name||this.name]=!0}catch{this.manager.state[this.name]=!0}this.manager.saveState()}mf.default.writeFileSync(pf.default.join(this.manager.addonFolder,this.filename),l),q.show(p("Addons.successfullyDownload",{name:this.name}),{type:"success"}),this.downloads++}catch(u){b.stacktrace("AddonStore",`Failed to fetch addon '${this.filename}':`,u),q.show(p("Addons.failedToDownload",{context:this.type,name:this.name}),{type:"error"}),n(u)}finally{r()}})});return this._download??=new Promise(o=>{let r=()=>{delete this._download,o()};if(e)return t(w.get("settings","store","alwaysEnable")).finally(()=>r());let n=!1,s=P.ModalActions.openModal(d=>i.createElement(Yi,{...d,addon:this,install:l=>(n=!0,t(l))}),{onCloseCallback:r,onCloseRequest(){n||P.ModalActions.closeModal(s)}})})}_download;async delete(e=!1){let t=this.manager.addonList.find(o=>o.filename==this.filename);t&&(!e&&!await ex(t)||this.manager.deleteAddon&&this.manager.deleteAddon(t))}isInstalled(){return this.manager.isLoaded(this.filename)}recentlyUpdated(){let e=new Date,t=new Date;return t.setDate(e.getDate()-7),this.lastModified>t&&this.lastModified<=e}},Qi=new class{initialize(){this._cache=Q.get("addon-store")||{addons:{},known:[],version:""},this._cache.version!==re.API_VERSION&&(this._cache={known:this._cache.known||[],addons:{},version:re.API_VERSION}),this._useCache(),this.requestAddons(!0)}_cache={addons:{},known:[],version:""};_useCache(){for(let e in this._cache.addons)Object.prototype.hasOwnProperty.call(this._cache.addons,e)&&this.addons.push(new ba(this._cache.addons[e]))}_writeCache(e=this._cache){this._cache=e,Q.set("addon-store",this._cache)}_singleAddonCache={};requestAddon(e){let t=this.getAddon(e);return typeof t=="object"?Promise.resolve(t):this._singleAddonCache[e]??=new Promise((o,r)=>{da(re.store.addon(e),{headers:{"Cache-Control":"no-cache",Pragma:"no-cache"}},(n,s,d)=>{try{if(n||s.aborted||s.statusMessage!=="OK")throw n||s;let l=JSON.parse(d);if(!s.ok||l.status===404)throw new Error(l.title);this._singleAddonCache[l.name]=this._singleAddonCache[e],this._singleAddonCache[l.id]=this._singleAddonCache[e],o(ba.from(l))}catch(l){b.stacktrace("AddonStore",`Failed to fetch ${e}`,l),q.show(p("Addons.failedToFetch"),{type:"error"}),delete this._singleAddonCache[e],r(l instanceof Error?l:new Error(`Failed to request addons: Status ${s.statusCode}`))}})})}getAddon(e){let t=decodeURIComponent(e.toString()).toLowerCase();for(let o in ba.cache)if(Object.prototype.hasOwnProperty.call(ba.cache,o)){let r=ba.cache[o];if(r.id.toString()===t||r.name.toLowerCase()===t)return r}}isOfficial(){return!1}isUnknown(e){return e.toLowerCase()in this._cache.addons&&!this._cache.known.includes(e)}markAsKnown(e){this.isUnknown(e)&&(this._cache.known.push(e),this._writeCache())}addons=[];getAddons(){return this.addons.concat()}error=null;loading=!1;_onLineListener=()=>{window.removeEventListener("online",this._onLineListener),this.requestAddons()};async requestAddons(e=!1){b.debug("AddonStore","Requesting all addons"),e&&Object.keys(this._cache.addons).length||(this.addons.length=0),this.loading=!0,this._setTimeout&&window.clearTimeout(this._setTimeout),this._setTimeout=null,this._emitChange();let t=!1,o=()=>{window.removeEventListener("offline",o),t=!0,this.loading=!1,b.debug("AddonStore","User is offline waiting for connection..."),window.removeEventListener("online",this._onLineListener),window.addEventListener("online",this._onLineListener),q.show(p("Addons.failedToFetch"),{type:"error"}),this.error=new Error("Failed to request addons: User is offline!"),this._useCache(),this._emitChange()};if(window.navigator.onLine)window.addEventListener("offline",o);else{o();return}da(re.store.addons,{headers:{"Cache-Control":"no-cache",Pragma:"no-cache"}},(r,n,s)=>{if(window.removeEventListener("offline",o),t)return;try{if(r||n.aborted||n.statusMessage!=="OK")throw r||n;let l=JSON.parse(s),u=this._cache.known.length===0&&Object.keys(this._cache.addons).length===0,c={known:this._cache.known||{},addons:{},version:re.API_VERSION};this.addons.length=0;for(let f of l)this.addons.push(ba.from(f)),c.addons[f.file_name.toLowerCase()]=f,u&&c.known.push(f.file_name);this._writeCache(c),this.error=null}catch(l){b.stacktrace("AddonStore","Failed to request addons",l),q.show(p("Addons.failedToFetch"),{type:"error"}),this.error=l instanceof Error?l:new Error(`Failed to request addons: Status ${n.statusCode}`),this._useCache()}this.loading=!1,this._emitChange();let d=60;if(this.error&&(d=5,this.error.message.startsWith("getaddrinfo ENOTFOUND")&&!window.navigator.onLine)){b.debug("AddonStore","User is offline waiting for connection..."),window.removeEventListener("online",this._onLineListener),window.addEventListener("online",this._onLineListener);return}this._setTimeout=window.setTimeout(()=>this.requestAddons(),d*60*1e3)})}_setTimeout=null;_subscribers=new Set;_emitChange(){for(let e of this._subscribers)e()}getState(){return{error:this.error,addons:this.getAddons(),loading:this.loading}}useState(){let[e,t]=i.useState(()=>this.getState());return i.useEffect(()=>{t(this.getState());let o=()=>t(this.getState());return this._subscribers.add(o),()=>void this._subscribers.delete(o)},[]),e}addChangeListener(e){return this._subscribers.add(e),()=>void this._subscribers.delete(e)}},Xe=Qi;W();Fe();at();kt();we();L();W();V();Be();ve();ee();var{useCallback:Ga,useMemo:hf,useState:es,useEffect:tx,useContext:ax,createContext:ox}=i,kr=ox();function gf(a){if(a=Number(a),a===0)return"0";let e=["","k","M","B","T"],t=Math.floor(Math.log10(Math.abs(a))/3),o=Math.pow(10,t*3),r=(a/o).toFixed(1);return r.endsWith(".0")&&(r=r.slice(0,-2)),`${r}${e[t]}`}function Cr({addon:a,isEmbed:e}){let[t,o]=es(()=>a.isInstalled()),[r,n]=es(!1),[s,d]=es(a.downloads),[l,u]=ax(kr),c=Ga(A=>a.delete(A.shiftKey),[a]),f=Ga(async A=>{n(!0),await a.download(A.shiftKey),d(a.downloads),n(!1)},[a]),m=Ga(()=>a.guild.join(),[a]),h=Ga(()=>a.openSourceCode(),[a]),g=Ga(()=>a.openAddonPage(),[a]),k=Ga(()=>a.openPreview(),[a]),I=Ga(()=>a.openAuthorPage(),[a]);tx(()=>{let A=()=>{o(a.isInstalled())};return A(),N.on(`${a.manager.prefix}-loaded`,A),N.on(`${a.manager.prefix}-unloaded`,A),()=>{N.off(`${a.manager.prefix}-loaded`,A),N.off(`${a.manager.prefix}-unloaded`,A)}},[a]);let R=hf(()=>{if(a.isUnknown())return p("Addons.new");if(a.recentlyUpdated())return p("Addons.updated")},[a]),{downloads:T,likes:H}=hf(()=>({downloads:p("Addons.downloadCount",{count:s},{count:gf}),likes:p("Addons.likeCount",{count:a.likes},{count:gf})}),[a,s]);return i.createElement("div",{className:O({"bd-addon-store-card":!0,"bd-addon-store-card-embed":e}),onMouseEnter:()=>{a.markAsKnown()}},i.createElement("div",{className:"bd-addon-store-card-splash"},i.createElement("div",{className:"bd-addon-store-card-preview"},i.createElement("img",{src:a.thumbnail,onError:A=>{A.currentTarget.src=re.resources.thumbnail()},loading:"lazy",className:"bd-addon-store-card-preview-img",alt:`Thumbnail ${a.name}`})),i.createElement("div",{className:"bd-addon-store-card-author"},i.createElement("svg",{height:48,width:48,className:"bd-addon-store-card-author-svg",viewBox:"0 0 48 48"},i.createElement("foreignObject",{x:0,y:0,height:48,width:48,overflow:"visible",mask:"url(#svg-mask-squircle)"},i.createElement("div",{className:"bd-addon-store-card-author-mask"},i.createElement("svg",{height:40,width:40,className:"bd-addon-store-card-author-svg",viewBox:"0 0 40 40"},i.createElement("foreignObject",{x:0,y:0,height:40,width:40,overflow:"visible",mask:"url(#svg-mask-squircle)"},i.createElement(C.Tooltip,{text:a.author},A=>i.createElement("img",{loading:"lazy",className:"bd-addon-store-card-author-img",src:a.avatar,...A,onClick:I})))))))),R&&i.createElement("div",{className:"bd-addon-store-card-badge"},R)),i.createElement("div",{className:"bd-addon-store-card-body"},i.createElement("div",{className:"bd-addon-store-card-name"},i.createElement(_n,null),i.createElement("span",null,a.name)),i.createElement("div",{className:"bd-addon-store-card-description"},a.description),i.createElement("div",{className:"bd-addon-store-card-tags"},a.tags.map(A=>i.createElement("span",{className:O({"bd-addon-store-card-tag":!0,"bd-addon-store-card-tag-selected":l(A)}),onClick:()=>u(A)},A))),i.createElement("div",{className:"bd-addon-store-card-spacer"}),i.createElement("div",{className:"bd-addon-store-card-info"},i.createElement("div",{className:"bd-addon-store-card-likes"},i.createElement("div",{className:"bd-addon-store-card-dot"}),i.createElement("div",{className:"bd-addon-store-card-value"},H)),i.createElement("div",{className:"bd-addon-store-card-downloads"},i.createElement("div",{className:"bd-addon-store-card-dot"}),i.createElement("div",{className:"bd-addon-store-card-value"},T))),i.createElement("div",{className:"bd-addon-store-card-actions"},i.createElement(C.Tooltip,{text:p("Addons.website")},A=>i.createElement(x,{...A,size:x.Sizes.ICON,look:x.Looks.BLANK,onClick:g},i.createElement(Pa,{size:"20px"}))),i.createElement(C.Tooltip,{text:p("Addons.source")},A=>i.createElement(x,{...A,size:x.Sizes.ICON,look:x.Looks.BLANK,onClick:h},i.createElement(vt,{size:"20px"}))),a.type==="theme"&&i.createElement(C.Tooltip,{text:p("Addons.preview")},A=>i.createElement(x,{...A,size:x.Sizes.ICON,look:x.Looks.BLANK,onClick:k},i.createElement(Go,{size:"20px"}))),a.guild&&i.createElement(C.Tooltip,{text:p("Addons.invite")},A=>i.createElement(x,{...A,size:x.Sizes.ICON,look:x.Looks.BLANK,onClick:m},i.createElement(dt,{size:"20px"}))),i.createElement("div",{className:"bd-addon-store-card-spacer"}),t?i.createElement(C.Tooltip,{text:p("Addons.deleteAddon")},A=>i.createElement(x,{...A,onClick:c,color:x.Colors.RED,size:x.Sizes.ICON},i.createElement(Na,{size:"20px"}))):i.createElement(x,{onClick:f,disabled:r},p("Addons.downloadAddon")))))}L();ve();ee();var{useState:rx,useEffect:nx,useCallback:bf,useRef:ix}=i;function Ka({onChange:a,className:e,onKeyDown:t,placeholder:o}){let r=ix(null),[n,s]=rx("");nx(()=>{r.current&&r.current.focus()},[]);let d=bf(u=>{a?.(u),s(u.target.value)},[a]),l=bf(()=>{s(""),a?.({target:{value:""},currentTarget:{value:""}}),r.current?.focus()},[a]);return i.createElement("div",{className:"bd-search-wrapper"+(e?` ${e}`:"")},i.createElement("input",{onChange:d,onKeyDown:t,type:"text",className:"bd-search",placeholder:o,maxLength:50,value:n,ref:r}),!n&&i.createElement(rr,{size:"18px"}),n&&i.createElement(x,{look:x.Looks.BLANK,color:x.Colors.TRANSPARENT,size:x.Sizes.NONE,onClick:l},i.createElement(_e,{size:"16px"})))}L();Ct();we();ee();var{useState:yf,useCallback:sx,useContext:dx,useEffect:lx,useLayoutEffect:ux,useRef:ts}=i;function Lt({value:a,options:e,style:t,onChange:o,disabled:r}){let[n,s]=yf(a??e[0].value),[d,l]=yf(!1),{value:u,disabled:c}=dx(Ie),f=u!==pe?u:n,m=u!==pe?c:r,h=ts(null),g=ts(null),k=ts(null),I=sx(T=>{o?.(T),s(T)},[o]);lx(()=>{let T=h.current,H=g.current;if(!T||!H)return;T.popoverTargetElement=H,T.popoverTargetAction="toggle";let A=new IntersectionObserver(([E])=>{E.isIntersecting||H.togglePopover(!1)});return A.observe(T),()=>{T&&A.unobserve(T)}},[]),ux(()=>{d&&k.current?.scrollIntoView({block:"center",behavior:"instant"})},[d]);let R=e.find(T=>T.value==f)??e[0];return i.createElement(i.Fragment,null,i.createElement("button",{ref:h,type:"button",className:O("bd-select",m&&"bd-select-disabled",t=="transparent"&&"bd-select-transparent"),disabled:m},i.createElement("span",{className:"bd-select-value"},R.label),i.createElement(Ma,{size:"16px",className:"bd-select-arrow"})),i.createElement("ul",{ref:g,onToggle:T=>l(T.newState==="open"),popover:"auto",role:"listbox",className:"bd-select-options bd-scroller-thin"},e.map(T=>i.createElement("li",{ref:R.value==T.value?k:null,className:O("bd-select-option",R.value==T.value&&"selected"),role:"option",onClick:()=>I(T.value)},T.label))))}we();L();W();function cx(a){let e=a.size||"160px";return i.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",style:{width:e,height:e},viewBox:"0 0 160 160"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("g",{transform:"translate(9 9)"},i.createElement("path",{fill:"rgba(0,0,0,0.1)",d:"M42.1262,100.7598 C25.1382,83.7718 25.1382,56.2288 42.1262,39.2408 C59.1142,22.2538 86.6572,22.2538 103.6452,39.2408 C120.6322,56.2288 120.6322,83.7718 103.6452,100.7598 C86.6572,117.7478 59.1142,117.7478 42.1262,100.7598"}),i.createElement("path",{stroke:"#1E2126",strokeWidth:"2",d:"M121.8938,119.4976 C94.5578,146.8346 50.2358,146.8346 22.8988,119.4976 C-4.4382,92.1616 -4.4382,47.8396 22.8988,20.5026 C50.2358,-6.8334 94.5578,-6.8344 121.8938,20.5026 C149.2308,47.8396 149.2308,92.1616 121.8938,119.4976 Z",strokeLinecap:"round",strokeLinejoin:"round",strokeDasharray:"4 5"}),i.createElement("path",{fill:"#C9D2F0",d:"M1.8313,140.566 L1.8313,140.566 C-0.6097,138.125 -0.6097,134.166 1.8313,131.725 L38.6023,94.954 L47.4433,103.795 L10.6723,140.566 C8.2303,143.007 4.2723,143.007 1.8313,140.566"}),i.createElement("path",{stroke:"#1E2126",strokeWidth:"2",d:"M1.8313,140.566 L1.8313,140.566 C-0.6097,138.125 -0.6097,134.166 1.8313,131.725 L38.6023,94.954 L47.4433,103.795 L10.6723,140.566 C8.2303,143.007 4.2723,143.007 1.8313,140.566 Z",strokeLinecap:"round",strokeLinejoin:"round"}),i.createElement("path",{fill:"#9F7373",d:"M12.1457,139.0923 L3.3047,130.2513 C1.6767,128.6233 1.6767,125.9853 3.3047,124.3573 L20.7417,106.9203 C22.3687,105.2923 25.0077,105.2923 26.6357,106.9203 L35.4767,115.7613 C37.1037,117.3893 37.1037,120.0283 35.4767,121.6553 L18.0397,139.0923 C16.4127,140.7193 13.7727,140.7193 12.1457,139.0923"}),i.createElement("path",{stroke:"#1E2126",strokeWidth:"2",d:"M12.1457,139.0923 L3.3047,130.2513 C1.6767,128.6233 1.6767,125.9853 3.3047,124.3573 L20.7417,106.9203 C22.3687,105.2923 25.0077,105.2923 26.6357,106.9203 L35.4767,115.7613 C37.1037,117.3893 37.1037,120.0283 35.4767,121.6553 L18.0397,139.0923 C16.4127,140.7193 13.7727,140.7193 12.1457,139.0923 Z",strokeLinecap:"round",strokeLinejoin:"round"}),i.createElement("path",{fill:"#F3F9FF",d:"M44.112,98.2847 C28.491,82.6637 28.491,57.3377 44.112,41.7167 C59.733,26.0957 85.06,26.0957 100.681,41.7157 C116.302,57.3367 116.302,82.6637 100.681,98.2847 C85.06,113.9057 59.733,113.9057 44.112,98.2847 M108.007,34.3897 C88.34,14.7227 56.453,14.7227 36.786,34.3897 C17.119,54.0567 17.119,85.9437 36.786,105.6107 C56.453,125.2777 88.34,125.2777 108.007,105.6107 C127.674,85.9437 127.674,54.0567 108.007,34.3897"}),i.createElement("path",{stroke:"#1E2126",strokeWidth:"2",d:"M116.386 94.545C115.853 95.498 115.287 96.438 114.688 97.362M108.0071 105.6109C88.3401 125.2779 56.4531 125.2779 36.7861 105.6109 17.1191 85.9439 17.1191 54.0569 36.7861 34.3899 56.4531 14.7229 88.3401 14.7229 108.0071 34.3899 122.7701 49.1529 126.4511 70.7999 119.0511 88.9969",strokeLinecap:"round",strokeLinejoin:"round"}),i.createElement("path",{stroke:"#1E2126",strokeWidth:"2",d:"M44.112,98.2847 C28.491,82.6637 28.491,57.3377 44.112,41.7167 C59.733,26.0957 85.06,26.0957 100.681,41.7157 C116.302,57.3367 116.302,82.6637 100.681,98.2847 C85.06,113.9057 59.733,113.9057 44.112,98.2847 Z",strokeLinecap:"round",strokeLinejoin:"round"})),i.createElement("rect",{width:"160",height:"160",y:"-1"})))}function Sr(a){return i.createElement("div",{className:O("bd-empty-results",a.className)},a.image?a.image:i.createElement(cx,null),i.createElement("div",{className:"bd-empty-results-text"},a.text||p("Addons.results",{count:0})||""),a.children)}ha();we();L();W();ve();var{useMemo:xf}=i;function as({className:a,currentPage:e,length:t,pageSize:o,onPageChange:r,maxVisible:n=7}){let s=xf(()=>Math.ceil(t/o),[t,o]),d=xf(()=>{let l=[];if(s<=n)for(let u=0;u=s-u-1){l.push(0,"...");for(let f=s-c;fr(e-1)},p("Paginator.back")),i.createElement("div",{className:"bd-paginator-bubbles"},d.map((l,u)=>{let c=l==="...";return i.createElement("div",{key:u,className:"bd-paginator-bubble",onClick:c?()=>{}:()=>r(l),"data-selected":e===l,"data-ellipsis":c},c?l:l+1)})),i.createElement(x,{className:"bd-paginator-next",color:x.Colors.TRANSPARENT,look:x.Looks.BLANK,disabled:e===s-1,onClick:()=>r(e+1)},p("Paginator.next")))}oe();ee();var{useState:Lr,useMemo:Io,useCallback:Kn}=i,fx=()=>[{label:p("Addons.downloads"),value:"downloads"},{label:p("Addons.name"),value:"name"},{label:p("Addons.author"),value:"author"},{label:p("Addons.version"),value:"version"},{label:p("Addons.lastUpdated"),value:"modified"},{label:p("Addons.releaseDate"),value:"releaseDate"},{label:p("Addons.isInstalled"),value:"isInstalled"},{label:p("Addons.likes"),value:"likes"}],os=30;function px({content:a,refToScroller:e,page:t,setPage:o}){let r=Io(()=>a.slice(t*os,(t+1)*os),[a,t]);return i.createElement("div",{className:"bd-addon-store-wrapper"},i.createElement("div",{className:"bd-addon-store"},r),i.createElement(as,{currentPage:t,length:a.length,pageSize:os,maxVisible:9,onPageChange:n=>{o(n);let s=e?.current?.getScrollerNode();s&&s.scrollTo({top:0,behavior:"smooth"})}}))}function mx({type:a,selected:e,onChange:t}){let o=i.useRef(null),r=i.useRef(null),n=Io(()=>re.store.tags[a],[a]),s=Io(()=>Object.entries(e).filter(([,d])=>d).map(([d])=>d),[e]);return i.useEffect(()=>{let d=o.current,l=r.current;if(!d||!l)return;d.popoverTargetElement=l,d.popoverTargetAction="toggle";let u=new IntersectionObserver(([c])=>{c.isIntersecting||l.togglePopover(!1)});return u.observe(d),()=>{d&&u.unobserve(d)}},[]),i.createElement(i.Fragment,null,i.createElement("button",{ref:o,type:"button",className:"bd-select bd-select-transparent"},i.createElement("span",{className:"bd-select-value"},s.length,"/",n.length),i.createElement(Ma,{className:"bd-select-arrow",size:"16px"})),i.createElement("ul",{ref:r,popover:"auto",role:"listbox",className:"bd-select-options bd-scroller-thin"},n.map((d,l)=>{let u=s.includes(d);return i.createElement("li",{className:`bd-select-option${u?" selected":""}`,role:"option",onClick:()=>t(d),key:l},i.createElement("input",{type:"checkbox",checked:u,readOnly:!0}),d)})))}function rs({type:a,refToScroller:e}){let{error:t,addons:o,loading:r}=Xe.useState(),[n,s]=Lr(0),[d,l]=Lr({}),u=Kn((ae,B)=>{s(0),l(ue=>({...ue,[ae]:B??!ue[ae]}))},[]),[c,f]=Lr(""),m=Kn(ae=>{f(ae.target.value.toLocaleLowerCase()),s(0)},[]),[h,g]=Lr(()=>_a(`${a}-store`,"sort","downloads")),[k,I]=Lr(()=>_a(`${a}-store`,"ascending",!0)),R=Kn(ae=>{Va(`${a}-store`,"ascending",ae),I(ae)},[a]),T=Kn(ae=>{Va(`${a}-store`,"sort",ae),g(ae)},[a]),H=Io(()=>{let ae=c.toLowerCase();return o.filter(B=>B.type!==a||!(B.name.toLowerCase().includes(ae)||B.author.toLowerCase().includes(ae)||B.description.toLowerCase().includes(ae))?!1:Object.entries(d).every(([ue,Se])=>Se?B.tags.includes(ue):!0))},[a,o,c,d]),A=Io(()=>{if(r)return i.createElement("div",{className:"bd-addon-store-center"},i.createElement(ot,{type:ot.Type.WANDERING_CUBES}));if(!H.length)return i.createElement("div",{className:"bd-addon-store-center"},i.createElement(Sr,null));let B=H.concat().sort((ue,Se)=>{let K=0;switch(h){case"author":case"version":K=ue[h].localeCompare(Se[h]);break;case"likes":case"downloads":K=Se[h]-ue[h];break;case"isInstalled":K=ue.isInstalled()===Se.isInstalled()?0:ue.isInstalled()?-1:1;break;case"modified":K=Se.lastModified-ue.lastModified;break;case"releaseDate":K=Se.releaseDate-ue.releaseDate;break;case"name":break;default:b.warn("AddonStore",`Sorting method '${h}' is unknown`);break}return(K===0||isNaN(K))&&(K=ue.name.localeCompare(Se.name)),k?K:-K}).map(ue=>i.createElement(fe,{key:ue.id},i.createElement(Cr,{addon:ue})));return i.createElement(px,{content:B,refToScroller:e,setPage:s,page:n})},[H,k,h,s,n,e,r]),E=Io(()=>a==="plugin"?ie:Ce,[a]);return[i.createElement(Wn,{key:"title",count:H.length,searching:c.length!==0},i.createElement(Ka,{onChange:m,placeholder:`${p("Addons.search",{count:H.length,context:a})}...`})),i.createElement("div",{className:"bd-controls bd-addon-controls"},i.createElement("div",{className:"bd-controls-basic"},Wa(p("Addons.openFolder",{context:a}),i.createElement(Da,{size:"20px"}),()=>te.openPath(E.addonFolder),"folder"),Wa(p("Addons.reload"),i.createElement(lt,{size:"20px"}),()=>r?{}:Xe.requestAddons(),"reload")),i.createElement("div",{className:"bd-controls-advanced"},i.createElement("div",{className:"bd-addon-dropdowns"},i.createElement("div",{className:"bd-select-wrapper"},i.createElement("label",{className:"bd-label"},p("Addons.tags"),":"),i.createElement(mx,{type:a,selected:d,onChange:u})),i.createElement("div",{className:"bd-select-wrapper"},i.createElement("label",{className:"bd-label"},p("Sorting.sortBy"),":"),i.createElement(Lt,{options:fx(),value:h,onChange:T,style:"transparent"})),i.createElement("div",{className:"bd-select-wrapper"},i.createElement("label",{className:"bd-label"},p("Sorting.order"),":"),i.createElement(Lt,{options:Hn(),value:k,onChange:R,style:"transparent"}))))),!r&&t&&i.createElement("div",{className:"bd-addon-store-warning"},i.createElement(Ue,{size:"24px"}),i.createElement("div",null,i.createElement("div",null,p("Addons.failedToFetch")),i.createElement("div",null,t.message))),i.createElement(kr.Provider,{value:[ae=>!!d[ae],u]},A)]}L();W();V();Fe();ve();oe();tt();Dn();L();W();V();br();be();ee();me();var{useCallback:ns,useMemo:vf}=i,If={website:Pa,source:vt,invite:dt,donate:Wo,patreon:Ko},wf={pushLayer(a){C.Dispatcher.dispatch({type:"LAYER_PUSH",component:a})},popLayer(){C.Dispatcher.dispatch({type:"LAYER_POP"})},popAllLayers(){C.Dispatcher.dispatch({type:"LAYER_POP_ALL"})}},kf=Y(["getCurrentUser"],{firstId:287809,cacheId:"core-addoncard-UserStore"}),Cf=Y(["getDMFromUserId"],{firstId:734057,cacheId:"core-addoncard-ChannelStore"}),Sf=Y(["openPrivateChannel"],{firstId:308528,cacheId:"core-addoncard-PrivateChannelActions"}),Lf=Y(["selectPrivateChannel"],{searchExports:!0,firstId:956793,cacheId:"core-addoncard-ChannelActions"}),Ao=a=>typeof a=="string"?a:a?.toString?.()||"";function $n(a,e,t,{isControl:o=!1,danger:r=!1,disabled:n=!1}={}){let s=o?"button":"div";return i.createElement(C.Tooltip,{color:"primary",position:"top",text:a},d=>i.createElement(s,{...d,"aria-label":a.toString(),className:(o?"bd-button bd-button-filled bd-addon-button":"bd-addon-button")+(r?" bd-button-color-red":o?" bd-button-color-brand":"")+(n?" bd-button-disabled":""),onClick:t,disabled:n},e))}function hx(a,e){if(!e)return null;let t=i.createElement(If[a],{size:"20px"}),o=i.createElement("a",{className:"bd-link bd-link-website",href:e,target:"_blank",rel:"noopener noreferrer"},t);return a=="invite"&&(o.props.onClick=function(r){r.preventDefault(),r.stopPropagation(),P.showGuildJoinModal(e)}),$n(p(`Addons.${a}`),o)}function is({addon:a,enabled:e,type:t,disabled:o,onChange:r,hasSettings:n,editAddon:s,deleteAddon:d,getSettingsPanel:l}){let u=ns(()=>{r&&r(a.id)},[a.id,r]),c=ns(()=>{if(!n||!e)return;let g=Ao(a.name);try{P.showAddonSettingsModal(g,l())}catch(k){q.show(p("Addons.settingsError",{name:g}),{type:"error"}),b.stacktrace("Addon Settings","Unable to get settings panel for "+g+".",k)}},[n,e,a.name,l]),f=ns(()=>{if(!a.authorId||(wf&&wf.popLayer(),!kf||!Lf||!Cf||!Sf))return;let g=kf.getCurrentUser().id;if(g==a.authorId)return;let k=Cf.getDMFromUserId(a.authorId);if(k)return Lf.selectPrivateChannel(k);Sf.openPrivateChannel(g,a.authorId)},[a.authorId]),m=vf(()=>{let g=p("Addons.byline").split(/({{[A-Za-z]+}})/),k=a.authorLink||a.authorId?i.createElement("a",{className:"bd-link bd-link-website",href:a.authorLink||"",onClick:f,target:"_blank",rel:"noopener noreferrer"},Ao(a.author)):i.createElement("span",{className:"bd-author"},Ao(a.author)),I=g.findIndex(R=>R=="{{author}}");return I&&(g[I]=k),[i.createElement("div",{className:"bd-name"},Ao(a.name)),i.createElement("div",{className:"bd-meta"},i.createElement("span",{className:"bd-version"},"v",Ao(a.version)),g)]},[a.name,a.version,a.authorLink,a.authorId,a.author,f]),h=vf(()=>{let k=Object.keys(If).map(I=>hx(I,a[I])).filter(I=>I);return i.createElement("div",{className:"bd-footer"},i.createElement("span",{className:"bd-links"},k),i.createElement("div",{className:"bd-controls"},n&&$n(p("Addons.addonSettings"),i.createElement(nr,{size:"20px"}),c,{isControl:!0,disabled:!e}),s&&$n(p("Addons.editAddon"),i.createElement(Kt,{size:"20px"}),s,{isControl:!0}),d&&$n(p("Addons.deleteAddon"),i.createElement(Na,{size:"20px"}),d,{isControl:!0,danger:!0})))},[n,s,d,a,e,c]);return i.createElement("div",{id:`${a.id}-card`,className:"bd-addon-card"+(o?" bd-addon-card-disabled":"")},i.createElement("div",{className:"bd-addon-header"},t==="plugin"?i.createElement($t,{size:"20px",className:"bd-icon"}):i.createElement(Gt,{size:"20px",className:"bd-icon"}),i.createElement("div",{className:"bd-title"},m),i.createElement(Qt,{internalState:!1,disabled:o,value:e,onChange:u})),i.createElement("div",{className:"bd-description-wrap"},o&&i.createElement("div",{className:"banner banner-danger"},i.createElement(ir,{className:"bd-icon"}),`An error was encountered while trying to load this ${t}.`),i.createElement("div",{className:"bd-description"},wt.parseToReact(Ao(a.description)))),h)}be();ha();we();Dn();L();W();function gx(){return i.createElement("svg",{fill:"none",height:"110",viewBox:"0 0 240 110",width:"240"},i.createElement("linearGradient",{id:"a",gradientUnits:"userSpaceOnUse",x1:"39.567",x2:"39.567",y1:"39.2948",y2:"101.804"},i.createElement("stop",{offset:"0",stopColor:"#72767d"}),i.createElement("stop",{offset:"1",stopColor:"#fff",stopOpacity:"0"})),i.createElement("clipPath",{id:"b"},i.createElement("path",{d:"m0 0h240v110h-240z"})),i.createElement("g",{clipPath:"url(#b)"},i.createElement("path",{d:"m0 109.243v-5.607c0-2.272.917198-4.3935 2.52229-5.9844l11.77071-11.6667c2.0637-2.0454 3.2102-4.7727 3.2102-7.6515v-14.5454c0-6.6667 5.5032-12.1213 12.2293-12.1213h169.5285c6.726 0 12.229 5.4546 12.229 12.1213v27.2727c0 2.5 2.064 4.5454 4.586 4.5454h11.542c5.732 0 10.318 4.6209 10.318 10.2269v3.41z",fill:"#72767d",opacity:".2"}),i.createElement("path",{d:"m83.465 56.2122h-22.1656v53.0298h22.1656z",fill:"#36393f"}),i.createElement("path",{d:"m193.529 56.2122h-110.064v53.0298h110.064z",fill:"#4f545c"}),i.createElement("path",{d:"m106.395 78.9395h-22.93v30.3025h22.93z",fill:"#b9bbbe"}),i.createElement("path",{d:"m109.452 74.3938h-25.987v4.5455h25.987z",fill:"#dcddde"}),i.createElement("path",{d:"m83.465 74.3938h-14.5223v4.5455h14.5223z",fill:"#72767d"}),i.createElement("path",{d:"m103.338 66.8181h-19.873v7.5758h19.873z",fill:"#f6f6f7"}),i.createElement("path",{d:"m83.465 66.8181h-6.879v7.5758h6.879z",fill:"#b9bbbe"}),i.createElement("path",{d:"m102.573 82.7273h-15.2864v1.5151h15.2864z",fill:"#72767d"}),i.createElement("path",{d:"m102.573 84.2424h-15.2864v1.5152h15.2864z",fill:"#4f545c"}),i.createElement("path",{d:"m102.573 85.7576h-15.2864v1.5151h15.2864z",fill:"#72767d"}),i.createElement("path",{d:"m102.573 87.2727h-15.2864v1.5152h15.2864z",fill:"#4f545c"}),i.createElement("path",{d:"m102.573 88.7878h-15.2864v1.5152h15.2864z",fill:"#72767d"}),i.createElement("path",{d:"m102.573 90.303h-15.2864v1.5151h15.2864z",fill:"#4f545c"}),i.createElement("path",{d:"m102.573 91.8181h-15.2864v1.5152h15.2864z",fill:"#72767d"}),i.createElement("path",{d:"m102.573 93.3333h-15.2864v1.5151h15.2864z",fill:"#4f545c"}),i.createElement("path",{d:"m104.102 94.8484h-18.344v3.0303h18.344z",fill:"#dcddde"}),i.createElement("path",{d:"m83.465 78.9395h-12.2293v30.3025h12.2293z",fill:"#202225"}),i.createElement("path",{d:"m75.0573 94.8485h4.586v-9.8485c0-1.2879-.9936-2.2727-2.293-2.2727s-2.293.9848-2.293 2.2727z",fill:"#36393f"}),i.createElement("path",{d:"m185.885 74.394h-16.815v25.758h16.815z",fill:"#72767d"}),i.createElement("path",{d:"m183.592 76.6667h-12.229v21.2122h12.229z",fill:"#b9bbbe"}),i.createElement("path",{d:"m115.524 109.214h45.86v-37.8789h-45.86z",fill:"#72767d"}),i.createElement("path",{d:"m118.582 109.214h39.745v-34.8486h-39.745z",fill:"#040405"}),i.createElement("path",{d:"m140.025 73.6362h-3.057v35.6058h3.057z",fill:"#72767d"}),i.createElement("path",{d:"m144.611 92.1968h-12.229v6.0606h12.229z",fill:"#72767d"}),i.createElement("path",{d:"m120.153 26.6667h-36.688c-5.0446 0-9.172 4.091-9.172 9.091v9.0909h45.86z",fill:"#72767d"}),i.createElement("path",{d:"m111.745 26.6667h57.325c5.045 0 9.172 4.091 9.172 9.091v9.0909h-75.669v-9.0909c0-5 4.051-9.091 9.172-9.091z",fill:"#b9bbbe"}),i.createElement("path",{d:"m105.631 44.8485v-9.0909c0-3.3333 2.751-6.0606 6.114-6.0606h57.325c3.363 0 6.115 2.7273 6.115 6.0606v9.0909z",fill:"#72767d"}),i.createElement("path",{d:"m196.586 38.0303h-113.121v21.9697h113.121z",fill:"#dcddde"}),i.createElement("path",{d:"m83.4224 56.9412h110.0636v-3.7879h-110.0636z",fill:"#f6f6f7"}),i.createElement("path",{d:"m193.529 47.1213h-110.064v3.7879h110.064z",fill:"#f6f6f7"}),i.createElement("path",{d:"m83.4224 44.8201h110.0636v-3.7879h-110.0636z",fill:"#f6f6f7"}),i.createElement("path",{d:"m83.465 38.0303h-25.2229v21.9697h25.2229z",fill:"#b9bbbe"}),i.createElement("path",{d:"m61.2568 56.9412h22.1656v-3.7879h-22.1656z",fill:"#dcddde"}),i.createElement("path",{d:"m61.2568 50.8806h22.1656v-3.7879h-22.1656z",fill:"#dcddde"}),i.createElement("path",{d:"m61.2568 44.8201h22.1656v-3.7879h-22.1656z",fill:"#dcddde"}),i.createElement("path",{d:"m209.885 2.12121c0-.68182.077-1.439392.23-2.12121-5.351.984848-9.478 5.68182-9.478 11.2879 0 6.3636 5.197 11.4394 11.541 11.4394 5.656 0 10.395-4.0152 11.389-9.394-.688.1515-1.376.2273-2.14.2273-6.421 0-11.542-5.15151-11.542-11.43939z",fill:"#b9bbbe"}),i.createElement("path",{d:"m6.19112 73.8636-.99363 1.9697c-.2293.4546.2293.9849.76433.7576l1.98726-.9848c.15287-.0758.30573-.0758.4586 0l1.98722.9848c.4586.2273.9937-.2273.7644-.7576l-.9937-1.9697c-.0764-.1515-.0764-.303 0-.4545l.9937-1.9697c.2293-.4546-.2293-.9849-.7644-.7576l-1.98722.9849c-.15287.0757-.30573.0757-.4586 0l-1.98726-.9849c-.4586-.2273-.99363.2273-.76433.7576l.99363 1.9697c.07643.1515.07643.303 0 .4545z",fill:"#b9bbbe"}),i.createElement("path",{d:"m191.465 30.3031-.994 1.9697c-.229.4545.23.9848.765.7576l1.987-.9849c.153-.0757.306-.0757.458 0l1.988.9849c.458.2272.993-.2273.764-.7576l-.994-1.9697c-.076-.1515-.076-.303 0-.4546l.994-1.9697c.229-.4545-.229-.9848-.764-.7575l-1.988.9848c-.152.0758-.305.0758-.458 0l-1.987-.9848c-.459-.2273-.994.2272-.765.7575l.994 1.9697c.076.1516.076.3031 0 .4546z",fill:"#4f545c"}),i.createElement("g",{fill:"#dcddde"},i.createElement("path",{d:"m235.796 26.2879c-.458 0-.764-.3031-.764-.7576v-.7576c0-.4545.306-.7576.764-.7576.459 0 .764.3031.764.7576v.7576c0 .3788-.382.7576-.764.7576z"}),i.createElement("path",{d:"m235.796 32.3484c-.458 0-.764-.303-.764-.7576v-.7575c0-.4546.306-.7576.764-.7576.459 0 .764.303.764.7576v.7575c0 .3788-.382.7576-.764.7576z"}),i.createElement("path",{d:"m237.707 28.1819c0-.4546.306-.7576.764-.7576h.765c.458 0 .764.303.764.7576 0 .4545-.306.7576-.764.7576h-.765c-.458 0-.764-.3788-.764-.7576z"}),i.createElement("path",{d:"m231.592 28.1819c0-.4546.306-.7576.765-.7576h.764c.459 0 .764.303.764.7576 0 .4545-.305.7576-.764.7576h-.764c-.459 0-.765-.3788-.765-.7576z"})),i.createElement("g",{fill:"#040505"},i.createElement("path",{d:"m37.2229 93.106c0-1.4394-1.07-2.803-2.5223-3.0303-1.8344-.303-3.4395 1.1363-3.4395 2.8788 0 1.5909-.3057 3.2575-1.1465 4.6212-.3821.6818-.6114 1.5151-.6114 2.3485.0764 2.4238 2.0637 4.3938 4.4331 4.5458 2.6752.151 4.8917-1.97 4.8917-4.6216 0-.8333-.2293-1.5909-.6114-2.197-.6879-1.3636-.9937-2.9545-.9937-4.5454z"}),i.createElement("path",{d:"m32.1783 110c-.3822 0-.6879-.303-.6879-.682v-8.333c0-.379.3057-.682.6879-.682s.6879.303.6879.682v8.333c0 .379-.3057.682-.6879.682z"}),i.createElement("path",{d:"m36.3057 110c-.3822 0-.6879-.303-.6879-.682v-8.333c0-.379.3057-.682.6879-.682s.6879.303.6879.682v8.333c-.0764.379-.3822.682-.6879.682z"}),i.createElement("path",{d:"m182.752 93.106c0-1.4394-1.07-2.803-2.523-3.0303-1.834-.303-3.439 1.1363-3.439 2.8788 0 1.5909-.306 3.2575-1.147 4.6212-.382.6818-.611 1.5151-.611 2.3485.076 2.4238 2.064 4.3938 4.433 4.5458 2.675.151 4.892-1.97 4.892-4.6216 0-.8333-.23-1.5909-.612-2.197-.688-1.3636-.993-2.9545-.993-4.5454z"}),i.createElement("path",{d:"m177.707 110c-.382 0-.688-.303-.688-.682v-8.333c0-.379.306-.682.688-.682s.688.303.688.682v8.333c0 .379-.306.682-.688.682z"}),i.createElement("path",{d:"m181.834 110c-.382 0-.688-.303-.688-.682v-8.333c0-.379.306-.682.688-.682.383 0 .688.303.688.682v8.333c-.076.379-.382.682-.688.682z"})),i.createElement("path",{d:"m16.6624 109.242h45.8599l-18.344-65.1512h-9.1719z",fill:"url(#a)"}),i.createElement("path",{d:"m32.7134 44.0909h13.7579v-1.5152c0-1.6667-1.3758-3.0303-3.0573-3.0303h-7.6433c-1.6815 0-3.0573 1.3636-3.0573 3.0303z",fill:"#dcddde"}),i.createElement("path",{d:"m39.5923 41.8181v-8.7878c0-3.3334 2.6752-5.9849 6.0383-5.9849 3.363 0 6.0382 2.6515 6.0382 5.9849v76.2117",stroke:"#dcddde",strokeMiterlimit:"10",strokeWidth:"2"})))}function ss(a){return i.createElement("div",{className:O("bd-empty-image-container",a.className)},i.createElement(gx,null),i.createElement("div",{className:"bd-empty-image-title"},a.title||p("Addons.blankSlateHeaderGeneric")),i.createElement("div",{className:"bd-empty-image-message"},wt.parseToReact(a.message||p("Addons.blankSlateMessageGeneric"))),a.children)}ce();ut();ee();Ft();hr();var bx=()=>[{label:p("Addons.name"),value:"name"},{label:p("Addons.author"),value:"author"},{label:p("Addons.version"),value:"version"},{label:p("Addons.added"),value:"added"},{label:p("Addons.modified"),value:"modified"},{label:p("Addons.isEnabled"),value:"isEnabled"}];function Tf(a){te.openPath(a)}function yx({type:a,folder:e}){let{toggleStore:t}=i.useContext(So),o=w.get("settings","store","bdAddonStore"),r=p("Addons.blankSlateMessage",{link:re.pages[`${a}s`],context:a}).toString(),n=o?t:()=>Tf(e),s=o?"Addons.openStore":"Addons.openFolder";return i.createElement(ss,{title:p("Addons.blankSlateHeader",{context:a}),message:o?"":r},i.createElement(x,{size:x.Sizes.LARGE,onClick:n},p(s,{context:a})))}function Af(a,e,t,o=!1){return i.createElement(C.Tooltip,{color:"primary",position:"top",text:a.toString()},r=>i.createElement(x,{...r,size:x.Sizes.NONE,"aria-label":a.toString(),look:x.Looks.BLANK,className:"bd-button bd-view-button"+(o?" selected":""),onClick:t},e))}function xx(a){return new Promise(e=>{P.showConfirmationModal(p("Modals.confirmAction"),p("Addons.confirmDelete",{name:a.name}),{danger:!0,confirmText:p("Addons.deleteAddon"),onConfirm:()=>{e(!0)},onCancel:()=>{e(!1)}})})}function vx(a,e){return function(t){if(t.shiftKey)return a();P.showConfirmationModal(p("Modals.confirmAction"),p("Addons.enableAllWarning",{context:e.toLocaleLowerCase()}),{confirmText:p("Modals.okay"),cancelText:p("Modals.cancel"),danger:!0,onConfirm:a})}}function wx(){let{toggleStore:a,store:e}=i.useContext(So);if(w.get("settings","store","bdAddonStore"))return i.createElement("div",{className:"bd-store-card",onClick:a},i.createElement("div",{className:"bd-store-card-icon"},i.createElement(sr,{size:"24px"})),i.createElement("div",{className:"bd-store-card-body"},i.createElement(D,{color:D.Colors.HEADER_PRIMARY,className:"bd-store-card-title"},p("Addons.openStore",{context:e.prefix})),i.createElement(D,{color:D.Colors.HEADER_SECONDARY,className:"bd-store-card-description"},p("Addons.storeMessage",{context:e.prefix}))),i.createElement("div",{className:"bd-store-card-caret"},i.createElement(_t,{size:"24px"})))}function ds({store:a}){let[e,t]=Ht(""),[o,r]=Ht(_a.bind(null,a.prefix,"sort","name")),[n,s]=Ht(_a.bind(null,a.prefix,"ascending",!0)),[d,l]=Ht(_a.bind(null,a.prefix,"view","list")),u=he(a,()=>a.addonList.concat(),[a],!0),c=he(a,()=>Object.assign({},a.state),[a],!0),f=st(K=>{a.toggleAddon(K)},[a]),m=st(()=>{a.enableAllAddons()},[a]),h=st(()=>{a.disableAllAddons()},[a]),g=st(K=>{Va(a.prefix,"view",K),l(K)},[a.prefix]),k=st(()=>g("list"),[g]),I=st(()=>g("grid"),[g]),R=st(K=>{Va(a.prefix,"ascending",K),s(K)},[a.prefix]),T=st(K=>{Va(a.prefix,"sort",K),r(K)},[a.prefix]),H=st(K=>t(K.currentTarget.value.toLocaleLowerCase()),[]),A=st(K=>a.editAddon?.(K),[a]),E=st(async K=>{let de=u.find($=>$.id==K);await xx(de)&&a?.deleteAddon?.(de)},[u,a]),ae=kn(()=>{let K=u.sort((de,Pe)=>{let $=o==="isEnabled",Oe=$?c[de.id]:de[o],se=$?c[Pe.id]:Pe[o],le=(Re,Ee)=>Re.toLocaleLowerCase().localeCompare(Ee.toLocaleLowerCase());return typeof Oe=="string"&&typeof se=="string"?le(Oe,se):typeof Oe=="boolean"&&typeof se=="boolean"?Oe===se?le(de.name,Pe.name):Oe?-1:1:Oe>se?1:se>Oe?-1:0});return n||K.reverse(),e&&(K=K.filter(de=>{let Pe=de.name.toLocaleLowerCase().includes(e);return Pe=Pe||de.author.toLocaleLowerCase().includes(e),Pe=Pe||de.description.toLocaleLowerCase().includes(e),!!Pe})),K.map(de=>{let Pe=de.instance&&typeof de.instance.getSettingsPanel=="function",$=Pe&&de.instance.getSettingsPanel.bind(de.instance);return i.createElement(fe,{id:de.id,name:"AddonCard"},i.createElement(is,{store:a,disabled:de.partial,type:a.prefix,editAddon:()=>A(de.id),deleteAddon:()=>E(de.id),key:de.id,addon:de,onChange:f,enabled:c[de.id],hasSettings:Pe,getSettingsPanel:$||void 0}))})},[a,u,c,f,E,A,e,n,o]),B=u.length!==0,ue=!!e,Se=ae.length!==0;return[i.createElement(Wn,{count:ae.length,searching:ue},i.createElement(Ka,{onChange:H,placeholder:`${p("Addons.search",{count:ae.length,context:a.prefix})}...`})),i.createElement("div",{className:"bd-controls bd-addon-controls"},i.createElement("div",{className:"bd-controls-basic"},Wa(p("Addons.openFolder",{context:a.prefix}),i.createElement(Da,{size:"20px"}),Tf.bind(null,a.addonFolder),"folder"),Wa(p("Addons.enableAll"),i.createElement(Qe,{size:"20px"}),vx(m,a.prefix),"enable-all"),Wa(p("Addons.disableAll"),i.createElement(_e,{size:"20px"}),h,"disable-all")),i.createElement("div",{className:"bd-controls-advanced"},i.createElement("div",{className:"bd-addon-dropdowns"},i.createElement("div",{className:"bd-select-wrapper"},i.createElement("label",{className:"bd-label"},p("Sorting.sortBy"),":"),i.createElement(Lt,{options:bx(),value:o,onChange:T,style:"transparent"})),i.createElement("div",{className:"bd-select-wrapper"},i.createElement("label",{className:"bd-label"},p("Sorting.order"),":"),i.createElement(Lt,{options:Hn(),value:n,onChange:R,style:"transparent"}))),i.createElement("div",{className:"bd-addon-views"},Af(p("Addons.listView"),i.createElement(dr,{size:"20px"}),k,d==="list"),Af(p("Addons.gridView"),i.createElement(Zo,null),I,d==="grid")))),i.createElement(wx,null),!B&&i.createElement(yx,{type:a.prefix,folder:a.addonFolder}),ue&&!Se&&B&&i.createElement(Sr,null),B&&i.createElement("div",{key:"addonList",className:"bd-addon-list"+(d=="grid"?" bd-grid-view":"")},ae)]}ce();var{useState:kx,useCallback:Cx}=i;function ls(a){let[e,t]=kx(()=>w.get("settings","store","bdAddonStore")&&!a.store.addonList.length),o=Cx(()=>t(r=>!r),[]);return i.createElement(So.Provider,{value:{toggleStore:o,showingStore:e,...a}},e?i.createElement(rs,{...a,type:a.store.prefix}):i.createElement(ds,{...a}))}L();V();W();be();ve();ee();function us(){return i.createElement("div",{className:"bd-sidebar-header"},i.createElement("h2",{className:"bd-sidebar-header-label"},"BetterDiscord"),i.createElement(C.Tooltip,{color:"primary",position:"top","aria-label":p("Modals.changelog"),text:p("Modals.changelog")},a=>i.createElement(x,{...a,"aria-label":p("Modals.changelog"),className:"bd-changelog-button",look:x.Looks.BLANK,color:x.Colors.TRANSPARENT,size:x.Sizes.NONE,onClick:()=>P.showChangelogModal(lo)},i.createElement(za,{className:"bd-icon",size:"16px"}))))}V();at();L();W();kt();ce();ut();Ft();He();V();at();kt();function Sx(){let a=C.GetClientInfo?.();return a?`${a.releaseChannel[0].toUpperCase()}${a.releaseChannel.substring(1)} ${a.buildNumber} (${a.versionHash.substring(0,7)})`:C.RemoteModule?.releaseChannel??"Unknown"}function Lx(){let a=C.RemoteModule;return a?`Host ${a.version.join(".")} ${a.architecture} (${a.buildNumber})`:"Host Unknown"}function Ix(){let a=C.RemoteModule;if(!a)return"OS Unknown";let e=window.DiscordNative?.os?.release,t=C.UserAgentInfo?.os.toString();if(!e||!t)return"OS Unknown";let[o,r,n]=a.parsedOSRelease;return t.includes("Windows 10")&&n>=22e3&&(t=t.replace("Windows 10","Windows 11")),t.includes("OS X 10.15.7")&&o>=20&&(t="macOS ".concat((o-9).toString())),`${t} (${e})`}function cs(a=!0){let e=[Sx(),Lx(),Ix()];return a?e.join(` `):e}function Ir(a){return{total:a.addonList.length,enabled:a.addonList.filter(e=>a.isEnabled(e.id)).length}}function Ef(a){return a.addonList.map(e=>`- ${e.name}${a.isEnabled(e.id)?" (Enabled)":""}`).join(` `)}function fs(){return`${_.isCanary?"Canary":"Stable"} ${_.get("version")} (${_.get("commit")?.substring(0,7)}) `}function Ax(){let a=Ir(ie),e=Ir(Ce);return[`### ${a.total} Plugins (${a.enabled} Enabled): ${Ef(ie)} `,`### ${e.total} Themes (${e.enabled} Enabled): ${Ef(Ce)} `].join(` `)}function Ar(){return[`## Discord Info ${cs()} `,"## BetterDiscord",fs(),Ax()].join(` `)}me();var{useMemo:Zn,useState:Tx,useCallback:Mf}=i,It=10,Ex=new Set(["247863095647535104","343423092670070786","66043140208857088","234600632567201792","249746236008169473","506287150984069120","257900031351193600","336678828233588736","676620914632294467","178394162381455360","907344440945967114","309976820109803520","241334335884492810","343383572805058560","560112831371149312","619261917352951815","1030617301818552320","528850043227340801","310741793668857859","1323433010858557523","459937621481750528","254362351170617345","1019660983758766130","515780151791976453","398131626695196672","538487970408300544","917630027477159986","226677096091484160","174868361040232448","155149108183695360","262055523896131584","116242787980017679","403581288046526474","76052829285916672","332394843743584256","224538553944637440","238108500109033472","777264613867257857","102528230413578240","678469587444170762","219363409097916416","582170007505731594","354191516979429376","468132563714703390","323980738175434752","801089753038061669","415849376598982656","68834122860077056","384009727253807105","247153658385399818","306111596143443969","508863359777505290","278543574059057154","282414867506528259","231675734693773325","234086939102281728","316707214075101196","382062281623863298","282110343549812736","332116671294734336","188323207793606656","557388558017495046","300294176501923841","385895514324992011","264163473179672576","340614112331694081","374663636347650049","152927763605618689","133659541198864384","295190422244950017","135895345296048128","220161488516546561","110574243023966208","437579806616322049","153562159161278473","490604571824226306","253480609224065025","502701912370577418","112685077707665408","98468214824001536","399416615742996480","214478470972047360","678541597654253600","179681974879911946","211270674482724864","583750578094735360","135554522616561664","741262207391629343","124017508662378500","194151269399527425","267228264580382721","709377715320651838","402272736665272320","427179231164760066","98087545497206784","354831939099688962","137259132305539072","147077474222604288","516091504524132362","712318895062515809","124276233478471680","521340540411838464","1060238753823723530","332150412763332608","310450863845933057","142347724392497152","705153934758772746","120202910586896385","301194255731392513","869418754348580885","131212461499088896","270848136006729728","92969646403121152","769144538107215872","304260051915374603","80593258903773184","346338830011596800","393900343135830016","419610859392860162","359175647257690113","224085382474498048","705798778472366131"]);function ps(){let[a,e]=Tx(0),t=Zn(()=>De.UserStore?.getCurrentUser()?.id,[]),o=he(w,()=>w.get("developer","canary")),r=Zn(()=>cs(!1).map(m=>i.createElement(D,{color:D.Colors.MUTED,size:D.Sizes.SIZE_12},m)),[]),n=Mf(()=>{if(DiscordNative?.clipboard?.copy(`\`\`\`md ${Ar()} \`\`\``),!Ex.has(t))return e(1);let f=a+1;f>It||(f===It&&w.set("developer","canary",!o),e(f))},[a,t,o]),s=Mf(()=>{setTimeout(()=>e(0),250)},[]),d=he(ie,()=>Ir(ie),[],!0),l=he(Ce,()=>Ir(Ce),[],!0),u=Zn(()=>{if(a===0)return"Click to copy";if(a>0&&a=It/2&&a=It)return o?"Switched to BD canary":"Switched to BD stable"},[a,o]),c=Zn(()=>{if(a===0)return"primary";if(a>0&&a=It/2&&a=It)return"brand"},[a]);return i.createElement(C.Tooltip,{color:c,position:"top",text:u},f=>i.createElement("div",{...f,className:"bd-version-info",onClick:n,onMouseLeave:m=>{f.onMouseLeave(m),s()}},r,i.createElement(D,{color:D.Colors.MUTED,size:D.Sizes.SIZE_12},"BD ",fs()),i.createElement(D,{color:D.Colors.MUTED,size:D.Sizes.SIZE_12},p("Panels.plugins")," ",d.total," (",d.enabled," ",p("Addons.isEnabled"),")"),i.createElement(D,{color:D.Colors.MUTED,size:D.Sizes.SIZE_12},p("Panels.themes")," ",l.total," (",l.enabled," ",p("Addons.isEnabled"),")")))}nt();Ft();L();W();ce();V();ve();be();L();L();An();var{useState:Mx,useCallback:Dx,useRef:Px}=i,zx="bd-settings-group";function To({name:a,collapsible:e,shown:t=!0,showDivider:o,children:r,titleChildren:n,onDrawerToggle:s}){let d=Px(null),[l,u]=Mx(!!e&&!t),c=Dx(()=>{let h=d.current,g=l?300:1;h.style.setProperty("height",h.scrollHeight+"px"),h.classList.add("animating"),s&&s(l),u(!l),setTimeout(()=>{h.style.setProperty("height",""),h.classList.remove("animating")},g)},[l,s]),m=`${zx} ${e?`collapsible ${l?"collapsed":"expanded"}`:""}`;return i.createElement("div",{className:m},i.createElement(St,{text:a,onClick:c,isGroup:!0},n),i.createElement("div",{className:"bd-settings-container",ref:d},r),o&&i.createElement(yo,null))}br();L();Ct();ve();ee();var{useState:Bx,useCallback:ms,useContext:Nx}=i;function Tr({value:a,min:e,max:t,step:o=1,onChange:r,disabled:n}){let[s,d]=Bx(a),{value:l,disabled:u}=Nx(Ie),c=l!==pe?l:s,f=l!==pe?u:n,m=ms(k=>{r?.(k.target.value),d(k.target.value)},[r]),h=ms(()=>{let I=parseFloat(String(c))+o;t!==void 0&&I>t||(r?.(I),d(I))},[r,c,t,o]),g=ms(()=>{let I=parseFloat(String(c))-o;e!==void 0&&I{f||(r?.(h.currentTarget.value),d(h.currentTarget.value))},[r,f]);return i.createElement("input",{onChange:m,onKeyDown:o,type:"text",className:"bd-text-input",placeholder:t,maxLength:e,value:c,disabled:f})}L();Ct();var{useState:Ux,useCallback:Xn,useMemo:jx,useRef:qx,useContext:Hx}=i;function Mr({value:a,min:e,max:t,step:o,onChange:r,disabled:n,units:s="",markers:d=[]}){let[l,u]=Ux(a),{value:c,disabled:f}=Hx(Ie),m=c!==pe?c:l,h=c!==pe?f:n,g=qx(null),k=Xn(A=>{h||(r?.(A.target.value),u(A.target.value))},[r,h]),I=Xn(A=>{h||(r?.(A),u(A))},[r,h]),R=Xn(A=>(A-e)*100/(t-e),[e,t]),T=jx(()=>{let A=-37.5/(t-e),E=m*A+-25;return E<-62.5?-62.5:E},[m,e,t]),H=Xn(A=>{let E=A.currentTarget.getBoundingClientRect(),ue=(A.clientX-E.left)/E.width*(t-e)+e;g.current.value=ue.toString(),I(g.current.value)},[t,e,I,g]);return i.createElement("div",{className:`bd-slider-wrap ${h?"bd-slider-disabled":""} ${d.length>0?"bd-slider-markers":""}`},i.createElement("input",{onChange:k,type:"range",className:"bd-slider-input",min:e,max:t,step:o,value:m,disabled:n,ref:g}),i.createElement("div",{className:"bd-slider-label",style:{left:`${R(m)}%`,transform:`translateX(${T}%)`}},m,s),i.createElement("div",{className:"bd-slider-track",style:{backgroundSize:R(m)+"% 100%"},onClick:H}),d?.length>0&&i.createElement("div",{className:"bd-slider-marker-container"},d.map(A=>{let E=typeof A=="number"?A:A.value,ae=typeof A=="number"?A:A?.label,B=s&&typeof A=="number";return i.createElement("div",{className:"bd-slider-marker",style:{left:R(E)+"%"},onClick:()=>I(E)},ae,B&&s)})))}L();Ct();var{useState:Wx,useCallback:_x,useContext:Vx}=i;function Gx({checked:a}){return i.createElement("svg",{className:"bd-radio-indicator",width:"24",height:"24",viewBox:"0 0 24 24"},i.createElement("circle",{cx:"12",cy:"12",r:"12",strokeWidth:"2",fill:"none",className:"bd-radio-icon"}),a&&i.createElement("circle",{cx:"12",cy:"12",r:"5",fill:"#fff"}))}function Dr({name:a,value:e,options:t,onChange:o,disabled:r}){let{value:n,disabled:s}=Vx(Ie),d=n!==pe?n:e,l=n!==pe?s:r,[u,c]=Wx(t.findIndex(h=>h.value===d)),f=_x(h=>{if(l)return;let g=parseInt(h.target.value),k=t[g].value;o?.(k),c(g)},[t,o,l]);function m(h,g){let k=u===g;return i.createElement("label",{className:"bd-radio-option"+(k?" bd-radio-selected":""),style:{borderColor:h.color??"transparent"}},i.createElement("input",{onChange:f,type:"radio",name:a,checked:k,value:g,disabled:l}),i.createElement(Gx,{checked:k}),i.createElement("div",{className:"bd-radio-label-wrap"},i.createElement("div",{className:"bd-radio-label"},h.name),i.createElement("div",{className:"bd-radio-description"},h.desc||h.description)))}return i.createElement("div",{className:`bd-radio-group ${l?"bd-radio-disabled":""}`},t.map(m))}L();ve();ee();Ct();var{useState:Df,useCallback:Jn,useEffect:Kx,useContext:$x}=i;function Pr({value:a,onChange:e,max:t=4,clearable:o=!1,disabled:r}){let[n,s]=Df({isRecording:!1,accum:[]}),[d,l]=Df(a),{value:u,disabled:c}=$x(Ie),f=u!==pe?u:d,m=u!==pe?c:r;Kx(()=>(window.addEventListener("keydown",h,!0),window.addEventListener("keyup",g,!0),()=>{window.removeEventListener("keydown",h,!0),window.removeEventListener("keyup",g,!0)}));let h=Jn(T=>{n.isRecording&&(T.stopImmediatePropagation(),T.stopPropagation(),T.preventDefault(),!(T.repeat||n.accum.includes(T.key))&&(n.accum.push(T.key),n.accum.length==t&&(s({isRecording:!1,accum:[]}),l(n.accum.slice(0)),e?.(n.accum))))},[n,t,e]),g=Jn(T=>{n.isRecording&&(T.stopImmediatePropagation(),T.stopPropagation(),T.preventDefault(),T.key===n.accum[0]&&(s({isRecording:!1,accum:[]}),l(n.accum.slice(0)),e?.(n.accum)))},[n,e]),k=Jn(T=>{T.stopPropagation(),T.preventDefault(),!m&&(e&&e([]),l([]),s({...n,isRecording:!1,accum:[]}))},[e,n,m]),I=Jn(T=>{if(!m){if(T.currentTarget?.className?.includes?.("bd-keybind-clear")||T.currentTarget?.closest(".bd-button")?.className?.includes("bd-keybind-clear"))return k(T);s({...n,isRecording:!n.isRecording})}},[n,k,m]),R=f.length?f.map(T=>T==="Control"?"Ctrl":T).join(" + "):"";return i.createElement("div",{className:"bd-keybind-wrap"+(n.isRecording?" recording":"")+(m?" bd-keybind-disabled":""),onClick:I},i.createElement(x,{size:x.Sizes.ICON,look:x.Looks.FILLED,color:n.isRecording?x.Colors.RED:x.Colors.PRIMARY,className:"bd-keybind-record",onClick:I},i.createElement($o,{size:"24px"})),i.createElement("input",{readOnly:!0,type:"text",className:"bd-keybind-input",value:R,placeholder:"No keybind set",disabled:r}),o&&i.createElement(x,{size:x.Sizes.ICON,look:x.Looks.BLANK,onClick:k,className:"bd-keybind-clear"},i.createElement(_e,{size:"24px"})))}L();V();W();ee();Ct();var{useState:Zx,useCallback:Xx,useContext:Jx}=i,Yx=[1752220,3066993,3447003,10181046,15277667,15844367,15105570,15158332,9807270,6323595,1146986,2067276,2123412,7419530,11342935,12745742,11027200,10038562,9936031,5533306];function Ot(a,e=!0){switch(typeof a){case(e&&"number"):return`#${a.toString(16)}`;case(!e&&"string"):return Number.parseInt(a.replace("#",""),16);case(!e&&"number"):return a;case(e&&"string"):return a;default:return a}}var Qx=a=>{let e=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(a);if(e)return[parseInt(e[1]),parseInt(e[2]),parseInt(e[3])];if(e=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)%\s*,\s*([0-9]+(?:\.[0-9]+)?)%\s*,\s*([0-9]+(?:\.[0-9]+)?)%\s*\)/.exec(a),e)return[parseFloat(e[1])*2.55,parseFloat(e[2])*2.55,parseFloat(e[3])*2.55];if(e=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(a),e)return[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)];if(e=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(a),e)return[parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16),parseInt(e[3]+e[3],16)]},ev=a=>{let e=typeof a=="string"?Qx(a):a;return .2126*e[0]+.7152*e[1]+.0722*e[2]},hs=a=>ev(a)>=150?"#000":"#fff";function zr({value:a,onChange:e,colors:t=Yx,defaultValue:o,disabled:r}){let[n,s]=Zx(a),{value:d,disabled:l}=Jx(Ie),u=d!==pe?d:n,c=d!==pe?l:r,f=Xx(h=>{c||(e?.(Ot(h.target.value)),s(h.target.value))},[e,c]),m=Ot(u,!1);return i.createElement("div",{className:`bd-color-picker-container ${c?"bd-color-picker-disabled":""}`},i.createElement("div",{className:"bd-color-picker-controls"},o&&i.createElement(C.Tooltip,{text:"Default",position:"bottom"},h=>i.createElement("div",{...h,className:"bd-color-picker-default",style:{backgroundColor:Ot(o)},onClick:()=>f({target:{value:o}})},m===Ot(o,!1)?i.createElement(Qe,{size:"25px",color:hs(Ot(o,!0))}):null)),i.createElement(C.Tooltip,{text:p("Settings.customColor"),position:"bottom"},h=>i.createElement("div",{className:"bd-color-picker-custom"},i.createElement(er,{size:"14px",color:hs(Ot(u,!0))}),i.createElement("input",{...h,style:{backgroundColor:Ot(u)},type:"color",className:"bd-color-picker",value:Ot(u),onChange:f,disabled:r})))),t?.length>0&&i.createElement("div",{className:"bd-color-picker-swatch"},t.map((h,g)=>i.createElement("div",{key:g,className:"bd-color-picker-swatch-item",style:{backgroundColor:Ot(h)},onClick:()=>f({target:{value:h}})},m===h?i.createElement(Qe,{size:"16px",color:hs(Ot(u,!0))}):null))))}var Pf=require("electron");L();ve();ee();var{useRef:tv,useCallback:gs,useEffect:av}=i;function bs({multiple:a,accept:e,clearable:t,onChange:o,disabled:r,actions:n}){let s=tv(null),d=gs(c=>{if(r)return;let f=[];for(let m of c.target.files)f.push(Pf.webUtils.getPathForFile(m));o?.(a===!0?f:f[0])},[o,r,a]),l=gs(()=>{s.current.value="",o?.(a===!0?[]:"")},[o,a]);av(()=>{n&&(n.clear=l)},[l,n]);let u=gs(()=>{s.current?.click()},[]);return i.createElement("div",{className:`bd-file-input-wrap ${r?"bd-file-input-disabled":""}`},i.createElement(x,{size:x.Sizes.ICON,look:x.Looks.FILLED,color:x.Colors.PRIMARY,className:"bd-file-input-browse",onClick:u},"Browse"),i.createElement("input",{onChange:d,type:"file",className:"bd-file-input",multiple:a,accept:e,disabled:r,ref:s}),t&&i.createElement(x,{size:x.Sizes.ICON,look:x.Looks.BLANK,onClick:l,className:"bd-file-input-clear"},i.createElement(_e,{size:"24px"})))}ve();L();ut();Ct();var ov=["top-left","top-right","bottom-left","bottom-right"],rv=({value:a,onChange:e,disabled:t})=>{let[o,r]=Ht(a),{value:n,disabled:s}=xn(Ie),d=n!==pe?n:o,l=n!==pe?s:t,u=f=>{l||(e?.(f),r(f))},c=f=>`bd-box${l?"-disabled":""} ${f} ${d===f?"selected":""}`;return i.createElement("div",{className:"position-wrapper"},i.createElement("div",{className:`bd-container${l?"-disabled":""}`},ov.map(f=>i.createElement("button",{key:f,className:c(f),onClick:()=>u(f),role:"radio","aria-checked":d===f,"aria-label":`Select ${f} position`,disabled:l,tabIndex:l?-1:0}))),i.createElement("div",{className:"bd-position-info"},d?i.createElement(i.Fragment,null,i.createElement(D,null,"Selected Position:"),i.createElement(D,null,d.replace(/-/g," ").toUpperCase())):i.createElement(D,null,"Click a box to select position")))},zf=rv;Ct();Ft();ce();var{useCallback:nv}=i;function iv({collection:a,category:e,id:t,children:o}){let r=i.useCallback(()=>{let d=w.getSetting(a,e,t);return{value:w.get(a,e,t),disabled:d?.disabled??!1}},[a,e,t]),n=he(w,r),s=i.useMemo(()=>n,[n]);return i.createElement(Ie.Provider,{value:s},o)}function $a({onChange:a,id:e,name:t="",shown:o,onDrawerToggle:r,showDivider:n=!1,collapsible:s,settings:d,children:l=null,collection:u}){let c=nv((f,m)=>{e?a?.(e,f,m):a?.(f,m)},[e,a]);return i.createElement(To,{collapsible:s,name:t,shown:o,onDrawerToggle:r,showDivider:n},d?.length>0&&d.filter(f=>!f.hidden).map(f=>{let h=Yn({...f,onChange:g=>{f?.onChange?.(g),c(f.id,g)}});return u?i.createElement(iv,{collection:u,category:e,id:f.id},h):h}),l)}function Yn(a){let e=null;return a.type==="dropdown"&&(e=i.createElement(Lt,{...a})),a.type==="number"&&(e=i.createElement(Tr,{...a})),a.type==="switch"&&(e=i.createElement(Qt,{...a})),a.type==="text"&&(e=i.createElement(Er,{...a})),a.type==="file"&&(e=i.createElement(bs,{...a})),a.type==="slider"&&(e=i.createElement(Mr,{...a})),a.type==="radio"&&(e=i.createElement(Dr,{...a})),a.type==="keybind"&&(e=i.createElement(Pr,{...a})),a.type==="color"&&(e=i.createElement(zr,{...a})),a.type==="button"&&(e=i.createElement(x,{...a})),a.type==="position"&&(e=i.createElement(zf,{...a})),a.type==="custom"&&(e=a.children),e?i.createElement(ya,{id:a.id,inline:a.hasOwnProperty("inline")?a.inline:a.type!=="radio",key:a.id,name:a.name,note:a.note},e):null}ee();function sv(a,e){let t=dv(()=>{w.resetCollection(a),e?.()});return i.createElement(C.Tooltip,{color:"primary",position:"top",text:p("Settings.resetSettings")},o=>i.createElement(x,{...o,"aria-label":p("Settings.resetSettings"),size:x.Sizes.ICON,look:x.Looks.BLANK,color:x.Colors.TRANSPARENT,onClick:t},i.createElement(Xo,null)))}function dv(a){return()=>{P.showConfirmationModal(p("Modals.confirmAction"),p("Settings.resetSettingsWarning"),{confirmText:p("Modals.okay"),cancelText:p("Modals.cancel"),danger:!0,onConfirm:a})}}function ys({id:a,title:e,groups:t,onChange:o,onDrawerToggle:r,getDrawerState:n}){let s=i.useContext(oa);return i.createElement(i.Fragment,null,s(i.createElement(St,{text:e},sv(a))),t.map(d=>{let l=Object.assign({},d,{collection:a,onChange:o,onDrawerToggle:u=>r(a,d.id,u),shown:n(a,d.id,d.hasOwnProperty("shown")?d.shown:!0)});return i.createElement($a,{...l})}))}L();var lv={xxs:12,xs:16,sm:18,md:24,lg:32,custom:void 0,refresh_sm:20},Br=(a,e=t=>t)=>t=>i.createElement(a,e({size:lv[t.size||"md"],className:t.className,color:t.color},t));L();ee();var uv=typeof Ea.render=="function"?Ea.render:Ea,xs=a=>{let e=(o,r)=>{let n={d:o};return typeof r=="string"&&(n.fill=r),["path",n]},t=uv({...a,iconNode:[e("M1402.2,631.7c-9.7-353.4-286.2-496-642.6-496H68.4v714.1l442,398V490.7h257c274.5,0,274.5,344.9,0,344.9H597.6v329.5h169.8c274.5,0,274.5,344.8,0,344.8h-699v354.9h691.2c356.3,0,632.8-142.6,642.6-496c0-162.6-44.5-284.1-122.9-368.6C1357.7,915.8,1402.2,794.3,1402.2,631.7z",a.accent?"var(--bd-brand)":a.color||"currentcolor"),e("M1262.5,135.2L1262.5,135.2l-76.8,0c26.6,13.3,51.7,28.1,75,44.3c70.7,49.1,126.1,111.5,164.6,185.3c39.9,76.6,61.5,165.6,64.3,264.6l0,1.2v1.2c0,141.1,0,596.1,0,737.1v1.2l0,1.2c-2.7,99-24.3,188-64.3,264.6c-38.5,73.8-93.8,136.2-164.6,185.3c-22.6,15.7-46.9,30.1-72.6,43.1h72.5c346.2,1.9,671-171.2,671-567.9V716.7C1933.5,312.2,1608.7,135.2,1262.5,135.2z",a.secondaryColor||a.color||"currentcolor")]});return i.cloneElement(t,{viewBox:"0 0 2000 2000",enableBackground:"new 0 0 2000 2000",stoke:void 0})},Za=Object.assign(xs,{Discord:Br(xs),DiscordAccented:Br(xs,a=>({...a,accent:!0}))});V();ve();ee();W();be();var cv=Y(["openUserSettings","openUserSettingsFromParsedUrl"],{firstId:840065,cacheId:"core-settings-usersettings"}),Bf=()=>{let a=he(w,()=>w.get("settings","customcss","openAction"));return["detached","external","system"].includes(a)},fv=()=>!Bf();function pv(){let[a,e]=i.useState();return i.createElement(i.Fragment,null,i.createElement("div",{className:"bd-sidebar-header",ref:t=>(e(t?.parentElement?.parentElement||t),e)},"BetterDiscord"),a&&jo.createPortal(i.createElement(C.Tooltip,{color:"primary",position:"top",text:p("Modals.changelog")},t=>i.createElement(x,{...t,className:"bd-changelog-button",look:x.Looks.BLANK,color:x.Colors.TRANSPARENT,size:x.Sizes.NONE,onClick:()=>P.showChangelogModal(lo)},i.createElement(za,{className:"bd-icon",size:"16px"}))),a))}var oa=i.createContext(a=>a),xa=new class{initialize(){this.patchSections(),this.patchModalSettings(),this.patchVersionInformation()}onDrawerToggle(e,t,o){let r=Q.get("misc","drawerStates")||{};r[e]||(r[e]={}),r[e][t]=o,Q.set("misc","drawerStates",r)}getDrawerState(e,t,o){let r=Q.get("misc","drawerStates")||{};return!r[e]||!r[e].hasOwnProperty(t)?o:r[e][t]}onChange(e){return(t,o,r)=>{e(t,o,r),o==="customcss"&&setTimeout(this.forceUpdate.bind(this),250)}}buildSettingsPanel(e,t,o,r){return i.createElement(ys,{id:e,title:t,groups:o,onChange:this.onChange(r).bind(this),onDrawerToggle:this.onDrawerToggle.bind(this),getDrawerState:this.getDrawerState.bind(this)})}getAddonPanel(e,t={}){return o=>i.createElement(ls,Object.assign({},{title:e,...o},t))}async patchSections(){let e=await Yd(["getPredicateSections"]);e&&G.after("SettingsManager",e.prototype,"getPredicateSections",(t,o,r)=>{let n=r.findIndex(d=>d.section.toLowerCase()=="changelog")-1;if(n<0)return;let s=d=>{r.splice(n,0,d),n++};s({section:"DIVIDER"}),s({section:"CUSTOM",element:us});for(let d of w.collections)s({section:d.id,label:d.name.toString(),className:`bd-${d.id}-tab`,element:()=>this.buildSettingsPanel(d.id,d.name,d.settings,w.onSettingChange.bind(w,d.id))});for(let d of w.panels.sort((l,u)=>l.order>u.order?1:-1))d.clickListener&&(d.onClick=()=>d.clickListener?.(t)),d.className||(d.className=`bd-${d.id}-tab`),d.type==="addon"&&!d.element&&(d.element=this.getAddonPanel(d.label,{store:d.manager})),s({section:d.id,label:d.label.toString(),className:d.className,element:d.element,onClick:d.onClick})})}layoutBuilder;getLayoutBuilder(){if(this.layoutBuilder)return this.layoutBuilder;let e=C.Layout,t={};for(let o in e){if(!Object.hasOwn(e,o))continue;let r=String(e[o]).match(/\..{1,3}\.(.+?),/);if(r){let n=r[1].toLowerCase().replace(/_([a-z])/gi,(s,d)=>d.toUpperCase());Object.defineProperty(t,n,{value(s,...d){return typeof s=="string"&&(s=`betterdiscord_${s}_${n}`),e[o](s,...d)}})}}return this.layoutBuilder=t}async patchModalSettings(){let e=await We(r=>r?.key==="$Root",{searchExports:!0,searchDefault:!1});if(!e)return;this.patchSettingsSearch();let t=this.getLayoutBuilder(),o=t.section("betterdiscord",{buildLayout:()=>{let r=[],n=(d,l)=>{let u=[];if("render"in l){let f=[];t.pane&&(f=[t.pane(d,{buildLayout:()=>[],StronglyDiscouragedCustomComponent:l.render,useTitle:l.header})]),u=[t.panel(d,{buildLayout:()=>f,StronglyDiscouragedCustomComponent:l.render,useTitle:l.header})]}let c=t.sidebarItem(d,{buildLayout:()=>u,useTitle:l.title,icon:l.icon,getLegacySearchKey:()=>`BETTERDISCORD_${d}`,usePredicate:()=>!0});typeof l.predicate=="function"&&(c.usePredicate=()=>!!l.predicate()),c.useSearchable=()=>["test"],"onClick"in l&&(c.onClick=l.onClick),r.push(c)},s=d=>{let l={current:{}},u;function c(){let[f,m]=i.useState();return u=xr()[1],i.createElement(i.Fragment,null,i.createElement("div",{className:"bd-settings-page-title",ref:h=>{let g=h?.closest("div[data-wrap][data-full-width] > nav")?.parentElement;return g?(g.classList.add("bd-settings-title-extend"),m(g)):h?.parentElement?.parentElement?(h.parentElement.parentElement.classList.add("bd-settings-title-extend"),m(h.parentElement.parentElement)):m(h),()=>m(void 0)}},l.current.text),f&&jo.createPortal(i.createElement("div",{className:"bd-settings-page-title-children"},l.current.children),f))}return{header:()=>i.createElement(c,null),render:()=>i.createElement(oa,{value:f=>(l.current=f.props,u(),null)},d)}};for(let d of w.collections)n(d.id,{...s(this.buildSettingsPanel(d.id,d.name,d.settings,w.onSettingChange.bind(w,d.id))),icon:Za.Discord,title:()=>d.name});for(let d of w.panels.sort((l,u)=>l.order>u.order?1:-1)){d.type==="addon"&&!d.element&&(d.element=this.getAddonPanel(d.label,{store:d.manager}));let l=d.icon?Br(d.icon):()=>d.id;if(d.id==="customcss"){n("customcss_tab",{...s(i.createElement(d.element)),icon:l,title:()=>d.label,predicate:fv}),n("customcss_clickable",{icon:l,title:()=>d.label,predicate:Bf,onClick:()=>qe.open()});continue}n(d.id,{...s(i.createElement(d.element)),icon:l,title:()=>d.label})}return r},useTitle:()=>Object.assign(i.createElement(pv,null),{toString:()=>"BetterDiscord"})});G.after("SettingsManager",e,"buildLayout",(r,n,s)=>{let d=s.findIndex(l=>l.key==="activity_section")+1;d===-1&&(d=s.length),s.splice(d,0,o)})}patchSettingsSearch(){let e=ua(".PRIVACY_AND_SAFETY_PERSISTENT_VERIFICATION_CODES]",{search:F.byStrings(".PRIVACY_AND_SAFETY_PERSISTENT_VERIFICATION_CODES]")},{cacheId:"core-settings-search"});G.after("SettingsManager",e,"search",(t,o,r)=>{r={...r};function n(s,d){r[`BETTERDISCORD_${s}`]={...d,ariaLabel:d.label,section:"betterdiscord"}}for(let s of w.collections){let d=s.settings.map(l=>[l.name,l.settings.map(u=>u.name)]).flat(2);n(s.id,{label:s.name,searchableTitles:["betterdiscord",s.name,...d]})}for(let s of w.panels.sort((d,l)=>d.order>l.order?1:-1)){let d={label:s.label,searchableTitles:["betterdiscord",s.label,typeof s.searchable=="function"?s.searchable().filter(l=>typeof l=="string"):[]].flat()};if(s.id==="customcss"){n("customcss_tab",d),n("customcss_clickable",d);continue}n(s.id,d)}return Object.freeze(r)})}async patchVersionInformation(){let e=await ho(["copyValue","RELEASE_CHANNEL"],{defaultExport:!1});e?.A&&G.after("SettingsManager",e,"A",()=>i.createElement(ps))}openSettingsPage(e){cv?.openUserSettings?.(`betterdiscord_${e==="customcss"?"customcss_tab":e}_panel`,{section:e})}forceUpdate(){let e=C.ViewClasses?.standardSidebarView.split(" ")[0],t=document.querySelector(`.${e}`);if(!t)return;let o=xe(ct.getInternalInstance(t),r=>r&&r.getPredicateSections,{walkable:["return","stateNode"]});o&&o.forceUpdate()}};He();L();Be();$e();W();V();L();W();Be();ce();Hi();ee();var{useState:mv,useCallback:Xa,useEffect:hv,forwardRef:gv,useImperativeHandle:bv,useRef:yv}=i,vs=gv(function({css:e,openNative:t,update:o,save:r,onChange:n,readOnly:s=!1,id:d="bd-customcss-editor",openDetached:l=!1},u){let c=yv(null),[f,m]=mv(!1),h=Xa(A=>{c.current.value=A},[c]);bv(u,()=>({resize(){c.current.resize()},get value(){return c.current.getValue()},set value(A){c.current.setValue(A)},get hasUnsavedChanges(){return f}}),[f]),hv(()=>(N.on("customcss-updated",h),()=>N.off("customcss-updated",h)),[h]);let g=Xa(A=>w.set("settings","customcss","liveUpdate",A),[]),k=Xa((A,E)=>o?.(E),[o]),I=Xa(()=>t?.(),[t]),R=Xa((A,E)=>l?.(E),[l]),T=Xa(A=>{n?.(A),m(!0)},[n]),H=Xa((A,E)=>{r?.(E),m(!1)},[r]);return i.createElement(Bn,{ref:c,readOnly:s,id:d,onChange:T,controls:[{label:i.createElement(lt,{size:"18px"}),tooltip:p("CustomCSS.update"),onClick:k},{label:i.createElement(Ba,{size:"18px"}),tooltip:p("CustomCSS.save"),onClick:H},{label:i.createElement(Kt,{size:"18px"}),tooltip:p("CustomCSS.openNative"),onClick:I},{label:p("Collections.settings.customcss.liveUpdate.name"),type:"boolean",onChange:g,checked:w.get("settings","customcss","liveUpdate"),side:"right"},l&&{label:i.createElement(Vo,{size:"18px"}),tooltip:p("CustomCSS.openDetached"),onClick:R,side:"right"}].filter(A=>A),value:e})});Fn();nt();Ge();ee();me();var xv=gt(["closeUserSettings"]),vv=Y(["updateAccount"],{firstId:252452,cacheId:"core-customcss-usersettings"}),qe=new class extends Z{get name(){return"Custom CSS"}get category(){return"customcss"}get id(){return"customcss"}get startDetached(){return w.get(this.collection,this.category,"openAction")=="detached"}get nativeOpen(){return w.get(this.collection,this.category,"openAction")=="system"}get startAsExternal(){return w.get(this.collection,this.category,"openAction")=="external"}get file(){return ws.default.resolve(_.get("channelPath"),"custom.css")}savedCss;insertedCss;isDetached;watcher;constructor(){super(),this.savedCss="",this.insertedCss="",this.isDetached=!1}Page=()=>[i.useContext(oa)(i.createElement(St,{text:p("CustomCSS.editorTitle")})),i.createElement(vs,{css:this.savedCss,save:this.saveCSS.bind(this),update:this.insertCSS.bind(this),openNative:this.openNative.bind(this),openDetached:this.openDetached.bind(this),onChange:this.onChange.bind(this)})];async enabled(){w.registerPanel(this.id,p("Panels.customcss"),{order:2,icon:Kt,element:()=>i.createElement(this.Page),onClick:e=>{if(this.isDetached)return;if(this.nativeOpen)return this.openNative();if(this.startDetached)return this.openDetached(this.savedCss);if(this.startAsExternal)return this.openExternal();let t=xe(e._reactInternals,o=>o&&o.onSetSection,{walkable:["child","memoizedProps","props","children"]});t&&t.onSetSection&&t.onSetSection(this.id)}}),this.loadCSS(),this.insertCSS(this.savedCss),this.watchContent()}async disabled(){w.removePanel(this.id),this.unwatchContent(),this.insertCSS("")}watchContent(){if(this.watcher)return this.error("Already watching content.");if(!ra.default.existsSync(this.file))try{ra.default.mkdirSync(ws.default.dirname(this.file),{recursive:!0}),ra.default.writeFileSync(this.file,"")}catch(t){return this.error("Could not create custom.css file.",t)}let e={};this.log("Starting to watch content."),this.watcher=ra.default.watch(this.file,{persistent:!1},async(t,o)=>{if(!t||!o)return;await new Promise(n=>setTimeout(n,50));try{ra.default.statSync(this.file)}catch(n){if(n.code!=="ENOENT")return;delete e[o],this.saveCSS("")}let r=ra.default.statSync(this.file);if(!(!r||!r.mtimeMs)&&typeof r.mtimeMs=="number"&&e[o]!=r.mtimeMs&&(e[o]=r.mtimeMs,t=="change")){let n=this.savedCss;if(this.loadCSS(),n===this.savedCss)return;this.insertCSS(this.savedCss),N.emit("customcss-updated",this.savedCss)}})}unwatchContent(){if(!this.watcher)return this.error("Was not watching content.");this.watcher.close(),delete this.watcher,this.log("No longer watching content.")}onChange(e){w.get("settings","customcss","liveUpdate")&&(this.insertCSS(e),this.saveCSS(e))}loadCSS(){try{this.savedCss=ra.default.readFileSync(this.file).toString()}catch{this.savedCss=""}}insertCSS(e){typeof e>"u"?e=this.insertedCss:this.insertedCss=e,z.updateCustomCSS(e)}saveCSS(e){typeof e<"u"&&(this.savedCss=e),ra.default.writeFileSync(this.file,this.savedCss)}open(){if(!this.isDetached)return this.nativeOpen?this.openNative():this.startDetached?this.openDetached(this.savedCss):this.startAsExternal?this.openExternal():xa.openSettingsPage(this.id)}openNative(){Nf.default.shell.openExternal(`file://${this.file}`)}openDetached(e){let t=i.createRef(),o=i.createElement(vs,{id:"bd-floating-editor",ref:t,css:e,save:this.saveCSS.bind(this),update:this.insertCSS.bind(this),openNative:this.openNative.bind(this),onChange:uo(this.onChange.bind(this),500)});ea.open({onClose:()=>{this.isDetached=!1},onResize:()=>{!t||!t.current||!t.current.resize||t.current.resize()},title:p("CustomCSS.editorTitle"),id:"floating-editor-window",height:470,width:410,center:!0,resizable:!0,children:o,confirmClose:()=>!t||!t.current||w.get("settings","customcss","liveUpdate")?!1:t.current.hasUnsavedChanges,confirmationText:p("CustomCSS.confirmationText")}),this.isDetached=!0,!xv?.()&&(vv?.close(),C.Dispatcher?.dispatch({type:"LAYER_POP"}))}openExternal(){M.editor.open("custom-css")}};V();var Ff=new class extends Z{get name(){return"VoiceDisconnect"}get category(){return"general"}get id(){return"voiceDisconnect"}constructor(){super(),this.beforeUnload=this.beforeUnload.bind(this)}async enabled(){window.addEventListener("beforeunload",this.beforeUnload)}async disabled(){window.removeEventListener("beforeunload",this.beforeUnload)}beforeUnload(){C.ChannelActions?.selectVoiceChannel(null,null)}};W();Fe();be();var Of=new class extends Z{get name(){return"DisableMediaKeys"}get category(){return"general"}get id(){return"mediaKeys"}async enabled(){this.showModal()}async disabled(){this.showModal()}showModal(){this.initialized&&P.showConfirmationModal(p("Modals.additionalInfo"),p("Modals.restartPrompt"),{confirmText:p("Modals.restartNow"),cancelText:p("Modals.restartLater"),danger:!0,onConfirm:()=>te.relaunch()})}};W();ce();me();oe();L();V();var Mo=!1,Ja=Y(["MenuItem","Menu"],{cacheId:"core-contextmenu-ModulesBundle"}),ge={Separator:Ja?.MenuSeparator,CheckboxItem:Ja?.MenuCheckboxItem,RadioItem:Ja?.MenuRadioItem,ControlItem:Ja?.MenuControlItem,Group:Ja?.MenuGroup,Item:Ja?.MenuItem,Menu:Ja?.Menu};Mo=Object.values(ge).every(a=>a);if(!Mo){let a=/(function .{1,3}\(.{1,3}\){return null}){5}/,e=/\.type===.{1,3}\.(.{1,3})\)return .{1,3}\.push\((?:null!=.{1,3}\.props\..+?)?{type:"(.+?)",/g,t=/\.type===.{1,3}\.(.{1,3})\){.+{type:"groupstart"/,o=/\.type===.{1,3}\.(.{1,3})\){.+{type:"(groupstart|customitem)".+\.type===.{1,3}\.(.{1,3})\){.+?{type:"(groupstart|customitem)"/,r,n="";for(let u in J.m)if(Object.prototype.hasOwnProperty.call(J.m,u)&&a.test(J.m[u].toString())){r=u;break}for(let u in J.m)if(Object.prototype.hasOwnProperty.call(J.m,u)){let c=J.m[u].toString();if(c.includes(r)&&c.includes("Menu API only allows Items and groups of Items as children")){n=c;break}}let s=J(r);for(let[,u,c]of n.matchAll(e))switch(c){case"separator":ge.Separator??=s[u];break;case"radio":ge.RadioItem??=s[u];break;case"checkbox":ge.CheckboxItem??=s[u];break;case"compositecontrol":case"control":ge.ControlItem??=s[u];break;case"customitem":case"item":ge.Item??=s[u];break}let d=n.match(t);d&&(ge.Group??=s[d[1]]);let l=n.match(o);l&&(ge.Group??=s[l[l[2]==="groupstart"?1:3]],ge.Item??=s[l[l[2]==="customitem"?1:3]]),ge.Menu??=ne(F.byStrings("getContainerProps()",".keyboardModeEnabled&&null!="),{searchExports:!0,firstId:397927,cacheId:"core-contextmenu-menu"})}Mo=Object.values(ge).every(a=>a);var ks=(()=>{let a={};try{Object.assign(a,ua(F.bySource("new DOMRect","CONTEXT_MENU_CLOSE"),{closeContextMenu:F.byStrings("CONTEXT_MENU_CLOSE"),openContextMenu:F.byStrings("renderLazy")},{searchDefault:!1,cacheId:"core-contextmenu-Actions"})),Mo&&=typeof a.closeContextMenu=="function"&&typeof a.openContextMenu=="function"}catch(e){Mo=!1,b.stacktrace("ContextMenu~Components","Fatal startup error:",e),Object.assign(a,{closeContextMenu:()=>{},openContextMenu:()=>{}})}return a})();function Rf(a){let e="^";for(let t=0;t(i.isValidElement(r)&&(r.props.navId?a.runPatches(r.props.navId,r,o,n):r.type&&typeof r.type!="string"&&a.patchRecursive(r)),r)),t.type}static initialize(){if(!Mo)return b.warn("ContextMenu~Patcher","Startup wasn't successful, aborting initialization.");C.Dispatcher.addInterceptor(e=>{if(e.type==="CONTEXT_MENU_OPEN")if(e.contextMenu.renderLazy){let t=e.contextMenu.renderLazy;e.contextMenu.renderLazy=async()=>{let o=await t();return this.handleRender(o)}}else e.contextMenu.render=this.handleRender(e.contextMenu.render)})}static patchRecursive(e,t=0){if(t>=this.MAX_PATCH_ITERATIONS)return;let o=++t;Uf.patch(e,(r,n,s)=>{if(i.isValidElement(n)){let d=n.props;if(d?.navId??d?.children?.props?.navId)a.runPatches(d.navId??d?.children?.props?.navId,n,r,s);else{let l=d?.children?d.children:n;l?.type&&typeof l.type!="string"&&a.patchRecursive(l,o)}}return n})}static runPatches(e,t,o,r){if(this.patches.named[e])for(let n of this.patches.named[e])try{n(t,o,r)}catch(s){b.error("ContextMenu~runPatches",`Could not run ${e} patch for`,n,s)}for(let n of this.patches.regex)if(n.regex.test(e))for(let s of n.patches)try{s(t,o,r)}catch(d){b.error("ContextMenu~runPatches",`Could not run ${e} patch for`,s,d)}}static patch(e,t){if(typeof e=="string"&&e.includes("*")&&(e=Rf(e)),typeof e=="object"){let o=this.patches.regex.findIndex(r=>r.regex.flags===e.flags&&r.regex.source===e.source);o!==-1?this.patches.regex[o].patches.add(t):this.patches.regex.push({regex:e,patches:new Set([t])});return}this.patches.named[e]??=new Set,this.patches.named[e].add(t)}static unpatch(e,t){if(typeof e=="string"&&e.includes("*")&&(e=Rf(e)),typeof e=="object"){let o=this.patches.regex.findIndex(r=>r.regex.flags===e.flags&&r.regex.source===e.source);o!==-1&&(this.patches.regex[o].patches.delete(t),this.patches.regex[o].patches.size===0&&this.patches.regex.splice(o,1));return}this.patches.named[e]?.delete(t),this.patches.named[e]?.size===0&&delete this.patches.named[e]}},Nr=class{patch(e,t){return Eo.patch(e,t),()=>Eo.unpatch(e,t)}unpatch(e,t){Eo.unpatch(e,t)}buildItem(e){let{type:t}=e;if(t==="separator")return i.createElement(ge.Separator);let o=ge.Item;if(t==="submenu"?e.children||(e.children=this.buildMenuChildren(e.render||e.items)):t==="toggle"||t==="radio"?(o=t==="toggle"?ge.CheckboxItem:ge.RadioItem,e.active&&(e.checked=e.active)):t==="control"&&(o=ge.ControlItem),e.id||(e.id=`${e.label.replace(/^[^a-z]+|[^\w-]+/gi,"-")}`),e.danger&&(e.color="danger"),e.onClick&&!e.action&&(e.action=e.onClick),e.extended=!0,t==="toggle"){let[r,n]=i.useState(e.checked||!1),s=e.action;e.checked=r,e.action=function(d){s(d),d.defaultPrevented||n(!r)}}return i.createElement(o,e)}buildMenuChildren(e){let t=r=>r.type==="group"?o(r):this.buildItem(r),o=function(r){let n=r.items.map(t).filter(s=>s);return i.createElement(ge.Group,null,n)};return e.map(t).filter(r=>r)}buildMenu(e){return t=>i.createElement(ge.Menu,t,this.buildMenuChildren(e))}open(e,t,o){return ks.openContextMenu(e,function(r){return i.createElement(t,Object.assign({},r,{onClose:ks.closeContextMenu}))},o)}close(){ks.closeContextMenu()}Separator=ge.Separator;CheckboxItem=ge.CheckboxItem;RadioItem=ge.RadioItem;ControlItem=ge.ControlItem;Group=ge.Group;Item=ge.Item;Menu=ge.Menu};Object.freeze(Nr);Object.freeze(Nr.prototype);try{Eo.initialize()}catch(a){b.error("ContextMenu~Patcher","Fatal error:",a)}try{Object.defineProperty(document,"ownerDocument",{value:document})}catch{}var Qn=Nr;at();kt();L();$e();be();nt();tt();Ft();L();var Je=new Qn;function Fr(a){Je.close(),xa.openSettingsPage(a)}var qf=new class extends Z{get name(){return"BDContextMenu"}get category(){return"general"}get id(){return"bdContextMenu"}async enabled(){this.patch=Je.patch("user-settings-cog",e=>{let t=Cv(),o=xe(e,r=>Array.isArray(r)&&r.some(n=>n?.key?.toLowerCase()==="my_account"),{walkable:["props","children"]});o&&o.push(t)})}async disabled(){this.patch?.()}};function wv(){let a=he(w,()=>{let e=[];for(let t of w.collections)e.push({id:t.id,name:t.name,settings:t.settings.map(o=>({id:o.id,name:o.name,settings:o.settings.filter(r=>r.type==="switch"&&!r.hidden&&r.id!==qf.id).map(r=>({id:r.id,label:r.name,disabled:r.disabled,checked:w.get(t.id,o.id,r.id),action:()=>w.set(t.id,o.id,r.id,!w.get(t.id,o.id,r.id))}))}))});return e},[]);return i.createElement(i.Fragment,null,a.map(e=>i.createElement(Je.Item,{label:e.name,id:e.id,action:()=>Fr(e.id),key:`bd.${e.id}`},e.settings.map(t=>i.createElement(Je.Item,{label:t.name,id:t.id,action:()=>Fr(e.id),key:`bd.${e.id}.${t.id}`},t.settings.map(o=>i.createElement(Je.CheckboxItem,{...o,key:`bd.${e.id}.${t.id}.${o.id}`})))))))}function jf(a,e,t){let o=he(t,()=>t.addonList.map(s=>s.name||s.getName?.()).sort((s,d)=>s.toLowerCase().localeCompare(d.toLowerCase())).map(s=>[s,t.getAddon(s),t.isEnabled(s)]),[],!0),r=he(w,()=>w.get("settings","store","bdAddonStore"),[]),n=kn(()=>o.map(([s,d,l])=>i.createElement(Je.CheckboxItem,{label:s,id:s,checked:l,key:`bd.${a}.${s}`,disabled:d?.partial,action:u=>{if(!u.shiftKey){t.toggleAddon(s);return}if(!t.isEnabled(s)){q.warning(p("Addons.isDisabled",{name:s}));return}let c=d.instance&&typeof d.instance.getSettingsPanel=="function",f=c&&d.instance.getSettingsPanel.bind(d.instance);c?P.showAddonSettingsModal(s,f()):q.warning(p("Addons.noSettings",{name:s}))}})),[o,t,a]);return i.createElement(Je.Item,{label:e,id:a,action:()=>Fr(t.prefix+"s")},i.createElement(Je.Group,{key:`bd.${a}.installed`},n),r&&i.createElement(Je.Group,{key:`bd.${a}.store`},i.createElement(Je.Item,{label:p("Addons.openStore",{context:a}),id:`${a}-store`,action:()=>{Fr(t.prefix+"s"),z.onAdded(":where(.bd-store-card, .bd-addon-title > :nth-child(3))",s=>s?.click())}})))}function kv(){return he(w,()=>w.get("settings","customcss","customcss"),[])?i.createElement(Je.Item,{label:p("Panels.customcss"),id:"customcss",action:()=>qe.open(),key:"bd.customcss"}):null}function Cv(){let a=wv(),e=kv(),t=jf("plugin",p("Panels.plugins"),ie),o=jf("theme",p("Panels.themes"),Ce);return i.createElement(Je.Group,null,i.createElement(Je.Item,{label:"BetterDiscord",id:"BetterDiscord"},a,i.createElement(Je.Item,{label:p("Panels.updates"),id:"updates",action:async()=>Fr("updates")}),e,t,o))}var Hf=qf;me();nt();L();var Wf=i.createContext({first:!1,last:!1}),_f=new class extends Z{get name(){return"ThemeAttributes"}get category(){return"general"}get id(){return"themeAttributes"}async patchMessage(){let e=await We(t=>String(t.type).includes("Message must not be a thread starter message"),{cacheId:"core-themeattributes-MessageComponent"});this.after(e,"type",(t,[o],r)=>{let{first:n,last:s}=i.useContext(Wf),d=xe(r,c=>c?.className?.includes("messageListItem"));if(!d)return;let l=xe(o,c=>c?.username,{walkable:["message","author"]}),u=l?.id;u&&(d["data-author-id"]=u,d["data-author-username"]=l?.username,d["data-is-self"]=l.id===De.UserStore?.getCurrentUser?.()?.id,d["data-is-webhook"]=l.discriminator==="0000"&&l.bot,d["data-author-is-deleted"]=l.id==="456226577798135808",d["data-author-is-bot"]=l.bot&&l.discriminator!=="0000",d["data-message-group-start"]=n,d["data-message-group-end"]=s,d["data-message-is-reply"]=o?.message?.messageReference?.type===0,d["data-message-is-forward"]=o?.message?.messageReference?.type===1)})}async patchMessageHook(){let e=await ho(["SUMMARIES_UNREAD_BAR_VIEWED,{num_unread_summaries"],{cacheId:"core-themeattributes-messageHook",defaultExport:!1});this.after(e,"A",(t,o,r)=>{if(!Array.isArray(r.channelStreamMarkup))return;let n=[];for(let s=0;s{let n=xe(r,s=>s?.attributes,{walkable:["ref","current"]});n&&(n.dataset.speaking=o)})}async patchTabBarComponent(){let e=await ho(["({getFocusableElements:()=>{let"],{searchExports:!0,firstId:158954,cacheId:"core-themeattributes-TabBar"});this.after(e?.Item?.prototype,"render",(t,o,r)=>{r.props["data-tab-id"]=t?.props?.id})}async patchUserProfileComponent(){let e=await We(t=>t.render?.toString?.().includes("pendingThemeColors"),{firstId:946356,cacheId:"core-themeattributes-UserProfile"});this.after(e,"render",(t,[{user:o}],r)=>{r.props["data-member-id"]=o.id,r.props["data-is-self"]=!!o.email})}async patchChatAvatar(){let e=await We(t=>String(t.type).includes("showCommunicationDisabledStyles"),{cacheId:"core-themeattributes-ChatAvatar"});this.after(e,"type",(t,o,r)=>{if(r.props.avatar){let n=xe(r.props.avatar,d=>typeof d?.props?.children=="function");if(!n||n.props.__bdPatched)return;let s=n.props.children;Object.assign(n.props,{children(...d){let l=s.apply(this,d),u=xe(l,c=>c?.type==="img"&&c?.props?.className?.includes("avatar")&&c.props.ref,{walkable:["props","children"]});if(!u?.props?.src||u.props.src.startsWith("data:"))return l;u.props.style??={};for(let c of[128,256,512,1024,2048,4096])u.props.style[`--avatar-url-${c}`]=`url(${u.props.src.replace(/\d+$/,String(c))})`;return l},__bdPatched:!0})}})}async patchAvatars(){let e=await al("AvatarImg",{searchExports:!0,cacheId:"core-themeattributes-AvatarImg"});this.after(e,"render",(t,o,r)=>{let n=xe(r,s=>s?.type==="img"&&s?.props?.className?.includes("avatar"),{walkable:["props","children"]});if(!(!n?.props?.src||n.props.src.startsWith("data:"))){n.props.style??={};for(let s of[128,256,512,1024,2048,4096])n.props.style[`--avatar-url-${s}`]=`url(${n.props.src.replace(/\d+$/,String(s))})`}})}async enabled(){this.patchMessage(),this.patchMessageHook(),this.patchTabBarComponent(),this.patchUserProfileComponent(),this.patchVoiceUserComponent(),this.patchChatAvatar(),this.patchAvatars()}async disabled(){this.unpatchAll()}};W();V();at();kt();var Cs=a=>{let e=a==="plugin"?ie:Ce;return{id:`${a}s`,name:`${a}s`,description:`Enable, disable, or view your ${a}s`,options:[{type:Ze.STRING,name:"action",description:"Action to take",required:!0,choices:[{name:"Enable",value:"enable"},{name:"Disable",value:"disable"},{name:"Show Info",value:"info"},{name:"Share In Chat",value:"share"}]},{type:Ze.STRING,name:"name",description:`Name of the ${a}`,required:!0,get choices(){return e.addonList.map(t=>({name:t.name,value:t.id}))}}],execute:async(t,{channel:o})=>{let r=t.find(l=>l.name==="action").value,n=t.find(l=>l.name==="name").value,s=e.getAddon(n),d=e.isEnabled(s.id);if(r==="enable")return d?{content:`${s.name} is already enabled!`}:e.enableAddon(s.id)?{content:p("Addons.couldNotEnable",{name:s.id})}:{content:p("Addons.enabled",{name:s.id})};if(r==="disable")return d?e.disableAddon(s.id)?{content:p("Addons.couldNotDisable",{name:s.id})}:(p("Addons.disabled"),{content:p("Addons.disabled",{name:s.id})}):{content:`${s.name} is already disabled!`};if(r==="info"){let l=[{name:"Author",value:s.authorLink?`[${s.author}](${s.authorLink})`:s.author,inline:!0},{name:"Version",value:`v${s.version}`,inline:!0},{name:"Enabled",value:d?"✅":"❌",inline:!0}];return s.source&&l.push({name:"Source",value:`[GitHub](${s.source})`,inline:!0}),s.invite&&l.push({name:"Support",value:`[Discord](https://discord.gg/${s.invite})`,inline:!0}),s.donate&&l.push({name:"Donate",value:`[Link](${s.donate})`,inline:!0}),{embeds:[{color:4096741,title:s.name,description:s.description,fields:l,footer:{text:"Last updated"},timestamp:new Date(s.modified).toISOString()}]}}r==="share"&&C.MessageUtils.sendMessage(o.id,{content:``},void 0,{})}}};V();var Vf={id:"debug",name:"debug",description:"Gets debug information useful for support",options:[{type:Ze.BOOLEAN,name:"send",description:"Should the info be sent in public chat?",required:!0}],execute:async(a,{channel:e})=>{let t=a.find(s=>s.name==="send").value,o=Ar(),r=`\`\`\`md ${o} \`\`\``;if(!t)return{content:r};let n=new File([o],"debug.md",{type:"text/markdown"});return C.promptToUpload?setTimeout(()=>C.promptToUpload?.([n],e,0),1):{content:"Unable to attach your debug info as a file. Please report this issue to BetterDiscord's [GitHub](https://github.com/BetterDiscord/BetterDiscord) if no one else has already done so!"}}};Fe();var Gf={id:"restart",name:"restart",description:"Restart Discord with or without BetterDiscord",options:[{type:Ze.BOOLEAN,name:"vanilla",description:"Should Discord be relaunched without BetterDiscord?",required:!0}],execute:async a=>{let e=a.find(t=>t.name==="vanilla").value;te.relaunch(e?["--vanilla"]:[])}};be();var Kf={id:"support",name:"support",description:"Get help and support for BetterDiscord",options:[],execute:async()=>{P.showGuildJoinModal("rC8b2H6SCt")}};V();ce();var $f={id:"customcss",name:"customcss",description:"Enable, disable, open, or share your CustomCSS",options:[{type:Ze.STRING,name:"action",description:"Action to take",required:!0,choices:[{name:"Enable",value:"enable"},{name:"Disable",value:"disable"},{name:"Open Editor",value:"open"},{name:"Share In Chat",value:"share"}]}],execute:async(a,{channel:e})=>{let t=a.find(r=>r.name==="action").value,o=w.get("customcss","customcss");if(t==="enable")return o?{content:"CustomCSS is already enabled!"}:(w.set("customcss","customcss",!0),{content:"CustomCSS has been enabled!"});if(t==="disable")return o?(w.set("customcss","customcss",!1),{content:"CustomCSS has been disabled!"}):{content:"CustomCSS is already disabled!"};if(t==="open"){if(!o)return{content:"You cannot open CustomCSS if it's disabled!"};qe.open()}if(t==="share"){let r=qe.savedCss,n=new File([r],"custom.css",{type:"text/css"});return C.promptToUpload?setTimeout(()=>C.promptToUpload?.([n],e,0),1):{content:"Unable to attach your Custom CSS as a file. Please report this issue to BetterDiscord's [GitHub](https://github.com/BetterDiscord/BetterDiscord) if no one else has already done so!"}}}};ce();var Zf={id:"settings",name:"settings",description:"Enable or disable your settings",options:[{type:Ze.STRING,name:"action",description:"Action to take",required:!0,choices:[{name:"Enable",value:"enable"},{name:"Disable",value:"disable"}]},{type:Ze.STRING,name:"setting",description:"Which setting to modify?",required:!0,get choices(){return w.collections[0].settings.map(a=>a.settings.filter(t=>t.type==="switch").map(t=>({name:t.name,value:`${a.id}-${t.id}-${t.name}`}))).flat()}}],execute:async a=>{let e=a.find(d=>d.name==="action").value,t=a.find(d=>d.name==="setting").value.split("-"),o=t[0],r=t[1],n=t[2],s=w.get(o,r);if(e==="enable")return s?{content:`${n} is already enabled!`}:(w.set(o,r,!0),{content:`${n} has been enabled!`});if(e==="disable")return s?(w.set(o,r,!1),{content:`${n} has been disabled!`}):{content:`${n} is already disabled!`}}};var Xf=new class extends Z{get name(){return"DefaultCommands"}get category(){return"general"}get id(){return"defaultCommands"}async initialize(){this.addCommands(Cs("plugin"),Cs("theme"),Vf,Gf,Kf,$f,Zf)}};L();ce();L();var{useState:Ss,useEffect:Sv}=i;function Or({id:a,original:e}){let[t,o]=Ss(()=>Xe.getAddon(a)),[r,n]=Ss(()=>!0),[s,d]=Ss({});return Sv(()=>(o(Xe.getAddon(a)),n(Xe.loading),Xe.addChangeListener(()=>{o(Xe.getAddon(a)),n(Xe.loading)})),[a]),t?i.createElement(kr.Provider,{value:[l=>s[l]===!0,(l,u)=>d(c=>({...c,[l]:u??!c[l]}))]},i.createElement(Cr,{addon:t,isEmbed:!0})):r?i.createElement("div",{className:"bd-addon-store-card-embed bd-addon-store-card-loading"},i.createElement(ot,{type:ot.Type.SPINNING_CIRCLE})):e}ha();Ge();me();nt();V();var Jf,Yf=10,Lv=/^/i,Iv=/^betterdiscord:\/\/(?:(?:theme|plugin|addon)s?|store)\/([^/]+)\/?$/i,Qf=new RegExp([Lv.source.slice(1),/https?:\/\/betterdiscord\.app\/(?:theme|plugin)(?:\/([^/\s]+)\/?|\?id=(\d+))/.source].join("|"),"gi"),Av=/(`+)([\s\S]*?[^`])\1(?!`)/g;function Tv(a,e=1/0){Qf.lastIndex=0;let t=[];if(e<=0)return t;let o=Array.from(a.matchAll(Av),n=>[n.index,n.index+n[0].length]),r;for(;r=Qf.exec(a);){if(r[0][0]==="h"&&a[r.index-1]==="<")continue;let n=r.index+r.length,s=!1;for(let[d,l]of o)if(d=e))break}return t}var ep=new class extends Z{constructor(){super(),w.on(this.collection,this.category,"addonEmbeds",()=>this.forceUpdateChat())}async initialize(){return M.addProtocolListener(e=>{if(!w.get(this.collection,this.category,this.id))return;let t=e.match(Iv);t&&Xe.requestAddon(decodeURIComponent(t[1])).then(o=>o.download())}),super.initialize()}get name(){return"AddonStore"}get category(){return"store"}get id(){return"bdAddonStore"}async enabled(){this.patchEmbeds(),this.patchLinkOpener(),this.extractDiscordProtocolList().push("betterdiscord:")}forceUpdateChat(){for(let e of document.querySelectorAll("[id^=chat-messages-]")){let t=ct.getInternalInstance(e),o=xe(t,r=>typeof r?.memoizedProps?.onMouseLeave=="function",{walkable:["child"]});typeof o<"u"&&(o.memoizedProps.onMouseLeave(),o.memoizedProps.onMouseMove());for(let r of e.querySelectorAll('[id^="message-accessories-"] [id^="message-accessories-"]'))ct.getOwnerInstance(r).forceUpdate()}}linkOpener;async patchLinkOpener(){let[e,t]=this.linkOpener??=Pt(o=>String(o).includes(".trackAnnouncementMessageLinkClicked("),{target:await el([".trackAnnouncementMessageLinkClicked("])});this.before(e,t,(o,r)=>{if(r[0].href){let n=new URL(r[0].href,location.href),s=Number(n.searchParams.get("id"));n.host===re.hostname&&n.pathname.toLowerCase()==="/download"&&!isNaN(s)&&((r[1]||window.event)?.preventDefault?.(),r[0].href=`betterdiscord://store/${s}`,r[0].shouldConfirm=!0)}})}protocolList;extractDiscordProtocolList(){if(this.protocolList)return this.protocolList;let e=[],t=C.LinkParser,o=Array.prototype.includes;return Array.prototype.includes=function(...r){return o.call(this,"discord:")?(Array.prototype.includes=o,e=this,!1):o.apply(this,r)},t.parse(["","link","betterdiscord://foo/bar"]),this.protocolList=e}async patchEmbeds(){Jf??=await We(F.byPrototypeKeys(["renderEmbeds"]),{searchExports:!0}),this.after(Jf.prototype,"renderEmbeds",(e,[t],o)=>{if(!w.get(this.collection,this.category,"addonEmbeds"))return o;o??=[];let r=re.getReleaseChannelType(t.channel_id);if(!r&&t.messageReference?.type===1&&!t.messageSnapshots.length&&(r=re.getReleaseChannelType(t.messageReference.channel_id)),r){let s=t.embeds[0].rawDescription?.split?.(` `)?.at?.(-1)?.match?.(/\?id=(\d+)/);return s?i.createElement(fe,null,i.createElement(Or,{id:s[1],original:o})):o}let n=Tv(t.content,Yf);if(n.length){let s=[...o];for(let d=0;dt.id!==e),this.emitChange()}addNotification(e){this.notificationsArray.push(e),this.emitChange()}get notifications(){return this.notificationsArray}};ut();ee();$e();V();Ft();Bi();ha();var Ls=C.ReactSpring,Ev=({type:a})=>{switch(a){case"warning":return i.createElement(et,{color:"var(--status-warning)",size:"18px"});case"error":return i.createElement(Bt,{color:"var(--status-danger)",size:"18px"});case"info":return i.createElement(Ue,{color:"#3B82F6",size:"18px"});case"success":return i.createElement(Nt,{color:"var(--status-positive)",size:"18px"});default:return null}},Is=class a{static container=null;constructor(){let e="bd-notifications-container",t=document.getElementById(e);t||(t=document.createElement("div"),t.id=e,z.bdBody.appendChild(t)),a.container=t,jo.createRoot(t).render(i.createElement(Mv,null))}show(e){let t=na.notifications.find(r=>r.id===e.id);if(!t){let r=Symbol("kSelf");t={...e,[r]:!0},this.upsertNotification(t)}let o=Reflect.ownKeys(t).at(-1);return{id:t.id,isVisible:()=>na.notifications.findIndex(n=>n[o])!==-1,close:()=>{na.notifications.findIndex(s=>s[o])!==-1&&this.hide(t.id)}}}upsertNotification(e){na.addNotification(e)}hide(e){let t=na.notifications,o=t.findIndex(r=>r.id===e);o!==-1&&na.removeNotification(t[o].id)}},Mv=()=>{let a=he(na,()=>na.notifications.concat(),[],!0),e=he(w,()=>w.get("settings","general","notificationPosition"));return i.createElement("div",{id:"bd-notifications-root",className:`bd-notification-${e}`},a.map(t=>i.createElement(Dv,{key:t.id,notification:t})))},tp=new Is,Dv=({notification:a})=>{let{id:e,title:t="",content:o="",type:r="info",duration:n=5e3,actions:s=[]}=a,[d,l]=i.useState(!1),u=Ls.useSpring({width:"0%",from:{width:"100%"},config:{duration:n},pause:d,onChange:({width:f})=>{f==="0%"&&c()}}),c=()=>{tp.hide(e),a.onClose?.()};return i.createElement(Ls.animated.div,{onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),className:`bd-notification bd-notification-${r}`},i.createElement("div",{className:"bd-notification-content"},i.createElement("div",{className:"bd-notification-header"},i.createElement("div",{className:"bd-notification-icon"},i.createElement("div",{className:"bd-notification-icon"},a.icon?i.createElement(fe,null,i.createElement(a.icon,null)):i.createElement(Ev,{type:r}))),t&&i.createElement("div",{className:"bd-notification-title"},t)),o&&i.createElement("div",{className:"bd-notification-body"},i.createElement("div",{className:"bd-notification-content-text"},o&&i.createElement("div",{className:"bd-notification-body"},i.createElement("div",{className:"bd-notification-content-text"},typeof o=="string"?i.createElement(mr,null,o):i.createElement(fe,null,o)))))),s.length>0&&i.createElement("div",{className:"bd-notification-footer"},s.map((f,m)=>{let h=Fa[f?.color?.toUpperCase()]?`bd-button-color-${f?.color}`:x.Colors.PRIMARY,g=In[f?.look?.toUpperCase()]?`bd-button-${f?.look}`:x.Looks.FILLED;return i.createElement(x,{...f,key:m,color:h,look:g,onClick:k=>{k.stopPropagation(),f.onClick?.(k),!f.dontClose&&!(f.dontCloseOnActionIfHoldingShiftKey&&k.shiftKey)&&c()},className:"bd-notification-action"},f?.label)})),i.createElement(D,{onClick:f=>{f.stopPropagation(),c()},className:"bd-notification-close"},"✕"),i.createElement(Ls.animated.div,{className:"bd-notification-progress",style:{...u,backgroundColor:{success:"var(--status-positive)",error:"var(--status-danger)",warning:"var(--status-warning)",info:"var(--bd-brand)"}[r]}}))},ia=tp;He();we();var ap=C.Dispatcher,Pv=/betterdiscord:\/\/(plugins)\/(.*?).(\w+).js/;async function op(){let a=gt(["transitionTo - Transitioning to"],{searchExports:!0,firstId:976860,cacheId:"core-recovery-transitionTo"}),e=[{action:()=>ap?.dispatch?.({type:"LAYER_POP_ALL"}),errorMessage:"Failed to pop all layers"},{action:()=>ap?.dispatch?.({type:"MODAL_POP_ALL"}),errorMessage:"Failed to pop all modals"},{action:()=>a?.("/channels/@me"),errorMessage:"Failed to route to main channel"},{action:()=>P.ModalActions?.closeAllModals?.(),errorMessage:"Failed to close all modals"}],t=!0;for(let{action:o,errorMessage:r}of e)try{await o()}catch(n){b.error("Recovery",`${r}:, ${n}`),t=!1}return t}var zv=a=>{try{let e=new URL(a?.replace(/^(http:\/\/|git:\/\/|git\+https:\/\/|git@)/,"https://"));if(!e.hostname.includes("github"))return null;let[t,o]=e.pathname.split("/").filter(Boolean);return t&&o?`https://github.com/${t}/${o.replace(/\.git$/,"")}`:null}catch{return null}},Bv=({componentStack:a,pluginInfo:e,stack:t,instance:o})=>{let[r,n]=i.useState(!1),[s,d]=i.useState(0),l=i.useRef(null);i.useEffect(()=>{let f=()=>{if(r){let m=Math.min(.6*window.innerHeight,534);d(m)}else d(0)};return f(),window.addEventListener("resize",f),()=>window.removeEventListener("resize",f)},[r]);let u=()=>{if(e?.githubUrl){let f=zv(e.githubUrl);if(!f)return;let m=encodeURIComponent(`[Bug Report] Plugin Crash - ${e?.name} v${e?.version}`),h=encodeURIComponent(`### Error Details \`\`\`js ${t} \`\`\` - Generated by BD Recovery Builtin. ### Steps to Reproduce 1. 2. 3. ### Additional Context `);window.open(`${f}/issues/new?title=${m}&body=${h}`,"_blank")}},c=async()=>{e?.invite&&(await op()?(o.setState({info:null,error:null}),e.invite&&P.showGuildJoinModal(e.invite)):q.show(p("Toasts.recoveryFailed")))};return i.createElement("div",{className:"bd-error-container"},i.createElement("div",{className:"bd-error-toggle-wrapper"},i.createElement(x,{className:`bd-error-toggle ${r?"expanded":""}`,onClick:()=>n(!r)},r?"Hide Error Details ▼":"Show Error Details ▶"),i.createElement("div",{className:"bd-error-actions"},e?.githubUrl&&i.createElement(x,{className:"bd-error-github",onClick:u,color:Fa.YELLOW},p("Collections.settings.developer.recovery.report")),e?.invite&&i.createElement(x,{className:"bd-error-discord",onClick:c},p("Addons.invite")),i.createElement(x,{className:"bd-error-safe-mode",onClick:async()=>{ie.addonList.forEach(f=>ie.disableAddon(f.name)),await te.relaunch()},color:Fa.RED},p("Collections.settings.developer.recovery.safeMode")))),i.createElement("div",{className:"bd-error-content-wrapper",style:{height:`${s}px`,overflow:"hidden"}},i.createElement("div",{ref:l,className:"bd-error-content"},a)))},rp=new class extends Z{get name(){return"Recovery"}get category(){return"developer"}get id(){return"recovery"}async enabled(){this.patchErrorBoundry()}async disabled(){this.unpatchAll()}getPluginInfo(e){try{let t=ie.getPlugin(e);return{name:t.name||e,githubUrl:t.source||t.github,invite:t.invite||null,version:t.version||"0.0.0"}}catch(t){return b.error("Recovery",`Failed to get plugin info: ${t}`),null}}patchErrorBoundry(){let e=Jd(["_handleSubmitReport"],{firstId:670735,cacheId:"core-recovery-ErrorBoundary"});this.after(e?.prototype,"render",(t,o,r)=>{if(!w.get(this.collection,this.category,this.id))return;let n=r?.props?.action?.props;if(!n)return;let s=t.state,d=s?C.SimpleMarkdownWrapper.parse(`\`\`\`${s.error?.stack} ${s.info?.componentStack}\`\`\``):null,l=Pv.exec(s.error?.stack),u=null;if(l){let c=`${l[2]}.plugin.js`;u=this.getPluginInfo(c),ie.disableAddon(l[2]),ia.show({id:"plugin-crash",title:p("Addons.disabled",{name:c}),content:p("Modals.addonCrashed"),duration:1/0,type:"info",icon:()=>i.createElement(Za,{size:16,accent:!0}),actions:[..._.isCanary?[{label:"Re-enable",onClick:()=>ie.enableAddon(l[2]),dontClose:!0}]:[]]})}n.className=O(n.className,"bd-recovery-buttons"),n.children.push(i.createElement(x,{className:"bd-button-recovery",onClick:async()=>{await op()?t.setState({info:null,error:null}):q.show(p("Toasts.recoveryFailed"))}},p("Collections.settings.developer.recovery.button"))),d&&(r.props.action=[r?.props?.action,i.createElement(Bv,{componentStack:d,stack:s?.error?.stack,pluginInfo:u,instance:t})])})}};Fe();var np=new class extends Z{get name(){return"DevTools"}get category(){return"developer"}get id(){return"devTools"}async initialize(){super.initialize(),this.toggleDevTools=this.toggleDevTools.bind(this),document.addEventListener("keydown",this.toggleDevTools)}toggleDevTools(e){(process.platform==="darwin"?e.metaKey:e.ctrlKey)&&e.shiftKey&&e.key==="I"&&(e.stopPropagation(),e.preventDefault(),this.get(this.collection,this.category,this.id)&&te.toggleDevTools())}};var ip=new class extends Z{get name(){return"Debugger"}get category(){return"developer"}get id(){return"debuggerHotkey"}async enabled(){document.addEventListener("keydown",this.debugListener)}async disabled(){document.removeEventListener("keydown",this.debugListener)}debugListener(e){if(e.key==="F7"||e.key=="F8"){debugger;e.preventDefault(),e.stopImmediatePropagation()}}};W();Fe();be();var sp=new class extends Z{get name(){return"ReactDevTools"}get category(){return"developer"}get id(){return"reactDevTools"}async enabled(){this.showModal()}async disabled(){this.showModal()}async initialize(){super.initialize();let e=window.$type?.__originalFunction||window.$type;Object.defineProperty(window,"$type",{get:()=>e,set:t=>{e=t?.__originalFunction||t}})}showModal(){this.initialized&&P.showConfirmationModal(p("Modals.additionalInfo"),p("Modals.restartPrompt"),{confirmText:p("Modals.restartNow"),cancelText:p("Modals.restartLater"),danger:!0,onConfirm:()=>te.relaunch()})}};Fe();var dp=new class extends Z{get name(){return"InspectElementHotkey"}get category(){return"developer"}get id(){return"inspectElement"}async enabled(){document.addEventListener("keydown",this.inspectElement)}async disabled(){document.removeEventListener("keydown",this.inspectElement)}inspectElement(e){(process.platform==="darwin"?e.metaKey:e.ctrlKey)&&e.shiftKey&&e.key==="C"&&te.inspectElement()}};Ge();var lp=new class extends Z{get name(){return"StopDevToolsWarning"}get category(){return"developer"}get id(){return"devToolsWarning"}async enabled(){M.setDevToolsWarningState(!0)}async disabled(){M.setDevToolsWarningState(!1)}};var Rr=Ae(require("fs"),1),up=Ae(require("path"),1);He();W();be();var As=()=>new Date().toISOString().replace("T"," ").replace("Z",""),Nv=["log","info","warn","error","debug"],Fv=()=>{let a=new WeakSet;return(e,t)=>{if(typeof t=="object"&&t!==null){if(a.has(t))return"[Circular Reference]";a.add(t)}return t}},Ov=(a,e)=>{let t=new RegExp(e,"g");return(a.match(t)||[]).length},cp=new class extends Z{get name(){return"DebugLogs"}get category(){return"developer"}get id(){return"debugLogs"}logFile;stream;async enabled(){this.logFile=up.default.join(_.get("channelPath"),"debug.log"),await this.checkFilesize(),this.stream=Rr.default.createWriteStream(this.logFile,{flags:"a"}),this.stream.write(` ================= Starting Debug Log (${As()}) ================= `);for(let e of Nv)this.after(console,e,(t,o)=>{let r=this.sanitize(...o);this.stream?.write(`[${As()}][CONSOLE:${e.toUpperCase()}] ${r} `)})}async disabled(){this.unpatchAll(),this.stream&&this.stream.end(` ================= Ending Debug Log (${As()}) =================`)}sanitize(...e){let t=[];for(let o=0;o0&&(o+=n)}typeof r>"u"&&t.push("undefined"),typeof r=="object"&&r&&r.message&&r.stack?t.push(`${r.message} ${r.stack}`):typeof r=="object"&&t.push(JSON.stringify(r,Fv())),(typeof r=="function"||typeof r=="boolean"||typeof r=="number")&&t.push(r.toString())}return t.join(" ")}async checkFilesize(){try{return!this.logFile||!Rr.default.existsSync(this.logFile)||Rr.default.statSync(this.logFile).size/(1024*1024)<100?void 0:new Promise(o=>P.showConfirmationModal(p("Modals.additionalInfo"),p("Modals.debuglog"),{confirmText:p("Modals.okay"),cancelText:p("Modals.cancel"),danger:!0,onConfirm:()=>Rr.default.rmSync(this.logFile),onClose:o}))}catch(e){this.stacktrace("Could not get debug log filesize",e)}}};W();Fe();be();var fp=new class extends Z{get name(){return"WindowTransparency"}get category(){return"window"}get id(){return"transparency"}async enabled(){this.showModal(p("WindowPrefs.enabledInfo")),document.body.classList.add("bd-transparency")}async disabled(){this.showModal(p("WindowPrefs.disabledInfo")),document.body.classList.remove("bd-transparency")}showModal(e){this.initialized&&P.showConfirmationModal(p("Modals.additionalInfo"),e,{confirmText:p("Modals.restartNow"),cancelText:p("Modals.restartLater"),danger:!0,onConfirm:()=>te.relaunch()})}};Fe();be();W();var pp=new class extends Z{get name(){return"RemoveMinimumSize"}get category(){return"window"}get id(){return"removeMinimumSize"}async enabled(){this.showModal()}async disabled(){this.showModal()}showModal(){this.initialized&&P.showConfirmationModal(p("Modals.additionalInfo"),p("Modals.restartPrompt"),{confirmText:p("Modals.restartNow"),cancelText:p("Modals.restartLater"),danger:!0,onConfirm:()=>te.relaunch()})}};Fe();be();W();Be();var mp=new class extends Z{get name(){return"NativeFrame"}get category(){return"window"}get id(){return"frame"}async initialize(){N.on("setting-updated",(e,t,o)=>{e!=this.collection||t!==this.category||o!=="inAppTrafficLights"||this.showModal()}),super.initialize()}async enabled(){document.body.classList.add("bd-frame"),this.showModal()}async disabled(){document.body.classList.remove("bd-frame"),this.showModal()}showModal(){this.initialized&&P.showConfirmationModal(p("Modals.additionalInfo"),p("Modals.restartPrompt"),{confirmText:p("Modals.restartNow"),cancelText:p("Modals.restartLater"),danger:!0,onConfirm:()=>te.relaunch()})}};$e();at();kt();ce();zt();V();Fe();var ri=Ae(require("request"),1),yp=Ae(require("fs"),1),Do=Ae(require("path"),1);oe();He();var Ur=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/,Ts=/^[0-9]+$/;function ti(a,e){let t=Ts.test(a.toString()),o=Ts.test(e.toString());return t&&o&&(a=+a,e=+e),a===e?0:t&&!o?-1:o&&!t?1:a{if(!Ts.test(e))return e;let t=+e;return t>=0&&t{let f=c.currentTarget.closest("button");f.classList.add("animate"),await t(),l&&(await new Promise(m=>setTimeout(m,500)),f?.classList?.remove("animate"))};return i.createElement(C.Tooltip,{color:"primary",position:"top",text:a},c=>i.createElement(x,{...c,"aria-label":a,className:`bd-update-button ${d}`,size:r,look:n,color:s,onClick:u},e))}function qv({hasUpdate:a,remoteVersion:e,update:t}){return i.createElement(To,{name:"BetterDiscord",collapsible:!0},i.createElement(ya,{name:`Core v${_.get("version")}`,note:a?p("Updater.versionAvailable",{version:e}):p("Updater.noUpdatesAvailable"),inline:!0,id:"core-updater"},!a&&i.createElement("div",{className:"bd-filled-checkmark"},i.createElement(Qe,{size:"18px"})),a&&ai(p("Updater.updateButton"),i.createElement(Ho,null),t,{className:"no-animation"})))}function Hv({type:a}){return i.createElement("div",{className:"bd-empty-updates"},i.createElement(Qe,{size:"48px"}),p("Updater.upToDateBlankslate",{context:a.slice(0,-1)}))}function bp({pending:a,type:e,updater:t,update:o,updateAll:r}){return i.createElement(To,{name:p(`Panels.${e}`),collapsible:!0,titleChildren:a.length>1?ai(p("Updater.updateAll"),i.createElement(lt,{size:"20px"}),()=>r(e)):null},!a.length&&i.createElement(Hv,{type:e}),a.map(n=>{let s=t.cache[n],d=t.manager.addonList.find(l=>l.filename===n);return s?i.createElement(ya,{key:d.filename,name:`${d.name} v${d.version}`,note:p("Updater.versionAvailable",{version:s.version}),inline:!0,id:d.name},ai(p("Updater.updateButton"),i.createElement(lt,null),()=>o(e,n))):null}))}function Es({coreUpdater:a,pluginUpdater:e,themeUpdater:t}){let[o,r]=gp(a.hasUpdate),[n,s]=gp({plugins:e.pending.slice(0),themes:t.pending.slice(0)}),d=Ya(async k=>{let I=k==="plugins"?e:t;await I.checkAll(!1),s({...n,[k]:I.pending.slice(0)})},[n,e,t]),l=Ya(()=>{d("plugins"),d("themes")},[d]);jv(()=>(N.on("plugin-loaded",l),N.on("plugin-unloaded",l),N.on("theme-loaded",l),N.on("theme-unloaded",l),()=>{N.off("plugin-loaded",l),N.off("plugin-unloaded",l),N.off("theme-loaded",l),N.off("theme-unloaded",l)}),[l]);let u=Ya(async()=>{await a.checkForUpdate(!1),r(a.hasUpdate)},[a]),c=Ya(async()=>{q.info(p("Updater.checking")),await u(),await d("plugins"),await d("themes"),s({plugins:e.pending.slice(0),themes:t.pending.slice(0)}),q.info(p("Updater.finishedChecking"))},[d,u,e,t]),f=Ya(async()=>{await a.update(),r(!1)},[a]),m=Ya(async(k,I)=>{await(k==="plugins"?e:t).updateAddon(I),s(T=>(T[k].splice(T[k].indexOf(I),1),T))},[e,t]),h=Ya(async k=>{let I=n[k].slice(0);for(let R of I)await m(k,R)},[m,n]);return[i.useContext(oa)(i.createElement(St,{text:p("Panels.updates")},ai(p("Updater.checkForUpdates"),i.createElement(or,null),c,{className:"bd-update-check",stopAnimation:!0}))),i.createElement(qv,{remoteVersion:a.remoteVersion,hasUpdate:o,update:f}),i.createElement(bp,{type:"plugins",pending:n.plugins,update:m,updateAll:h,updater:e}),i.createElement(bp,{type:"themes",pending:n.themes,update:m,updateAll:h,updater:t})]}ee();var Wv=a=>new Promise(e=>{(0,ri.default)({url:a,headers:{"Cache-Control":"no-cache",Pragma:"no-cache"}},(t,o,r)=>{if(t)return e([]);e(JSON.parse(r))})}),_v=(a,e)=>(e.version==="Unknown"||(a[e.file_name]={name:e.name,version:e.version,id:e.id}),a),Hr=class{static updateCheckInterval=null;static initialize(){w.registerPanel("updates",p("Panels.updates"),{order:1,icon:ar,element:()=>i.createElement(Es,{coreUpdater:qr,pluginUpdater:Ms,themeUpdater:Ds})}),qr.initialize(),Ms.initialize(),Ds.initialize(),N.on("setting-updated",(e,t,o)=>{e!=="settings"||t!=="addons"||o!=="updateInterval"&&o!=="checkForUpdates"||this.startUpdateInterval()}),this.startUpdateInterval()}static startUpdateInterval(){if(this.updateCheckInterval&&(clearInterval(this.updateCheckInterval),this.updateCheckInterval=null),!w.get("addons","checkForUpdates"))return;let e=w.get("addons","updateInterval");this.updateCheckInterval=setInterval(()=>{qr.checkForUpdate(),Ms.checkAll(),Ds.checkAll()},e*60*60*1e3)}},qr=class{static hasUpdate=!1;static apiData;static remoteVersion="";static async initialize(){w.get("addons","checkForUpdates")&&this.checkForUpdate()}static async checkForStable(e=!1){let o=await(await fetch("https://api.github.com/repos/BetterDiscord/BetterDiscord/releases/latest",{method:"GET",headers:{Accept:"application/json","Content-Type":"application/json","User-Agent":"BetterDiscord Updater"}})).json(),r=o.tag_name.startsWith("v")?o.tag_name.slice(1):o.tag_name;this.hasUpdate=e||jr(_.get("version"),r)>0,this.remoteVersion=r,this.apiData=o}static async checkForCanary(e=!1){let r=(await(await fetch("https://api.github.com/repos/BetterDiscord/BetterDiscord/releases",{method:"GET",headers:{Accept:"application/json","Content-Type":"application/json","User-Agent":"BetterDiscord Updater"}})).json()).find(l=>l.prerelease&&l.tag_name==="canary"),n=r?.assets.find(l=>l.name==="betterdiscord.asar");if(!r||!n){this.hasUpdate=!1,this.remoteVersion="";return}let s=Q.get("misc","canaryUpdated"),d=n.updated_at;try{s?s=new Date(s):s=new Date(0),d=new Date(d)}catch{return}this.hasUpdate=e||d>s,this.remoteVersion=d.toISOString(),this.apiData=r}static async checkForUpdate(e=!0){if(_.isDevelopment)return;let t=_.isCanary;w.get("developer","canary")?await this.checkForCanary(!t):await this.checkForStable(t),!(!this.hasUpdate||!e)&&ia.show({id:"BD-core-update",title:p("Updater.updateAvailable",{version:this.remoteVersion}),type:"warning",icon:()=>i.createElement(Za,{size:16,accent:!0}),duration:1/0,actions:[{label:p("Updater.updateButton"),onClick:()=>this.update()}]})}static async update(){try{let e=this.apiData.assets.find(n=>n.name==="betterdiscord.asar");if(!e)return;let t=await new Promise((n,s)=>(0,ri.default)(e.url,{headers:{"Content-Type":"application/octet-stream","User-Agent":"BetterDiscord Updater",Accept:"application/octet-stream"}},(d,l,u)=>d||l.statusCode!=200?s(d||`${l.statusCode} ${l.statusMessage}`):n(u))),o=Do.default.join(_.get("dataPath"),"betterdiscord.asar");require("original-fs").writeFileSync(o,t),this.hasUpdate=!1,w.get("developer","canary")?Q.set("misc","canaryUpdated",this.remoteVersion):_.set("version",this.remoteVersion),P.showConfirmationModal(p("Updater.updateSuccessful"),p("Modals.restartPrompt"),{confirmText:p("Modals.restartNow"),cancelText:p("Modals.restartLater"),danger:!0,onConfirm:()=>te.relaunch()})}catch(e){b.stacktrace("Updater","Failed to update",e),P.showConfirmationModal(p("Updater.updateFailed"),p("Updater.updateFailedMessage"),{cancelText:null})}}},oi=class{manager;type;cache;pending;constructor(e){this.manager=e==="plugin"?ie:Ce,this.type=e,this.cache={},this.pending=[]}async initialize(){await this.updateCache(),w.get("addons","checkForUpdates")&&this.checkAll(),N.on(`${this.type}-loaded`,e=>{w.get("addons","checkForUpdates")&&this.checkForUpdate(e.filename,e.version)}),N.on(`${this.type}-unloaded`,e=>{let t=this.pending.indexOf(e.filename);t>=0&&this.pending.splice(t,1)})}async updateCache(){this.cache={},this.pending.length=0,(await Wv(re.store[this.type+"s"])).reduce(_v,this.cache)}clearPending(){this.pending.splice(0,this.pending.length)}async checkAll(e=!0){await this.updateCache();for(let t of this.manager.addonList)this.checkForUpdate(t.filename,t.version);e&&this.showUpdateNotice()}checkForUpdate(e,t){if(this.pending.includes(e))return;let o=this.cache[Do.default.basename(e)];if(!o)return;let r=o.version>t;Ur.test(o.version)&&Ur.test(t)&&(r=jr(t,o.version)>0),r&&this.pending.push(e)}async updateAddon(e){let t=this.cache[e];(0,ri.default)({url:re.redirects.github(t.id.toString()),headers:{"Cache-Control":"no-cache",Pragma:"no-cache"}},(o,r,n)=>{if(o||r.statusCode!==200){b.stacktrace("AddonUpdater",`Failed to download body for ${t.id}:`,o),q.error(p("Updater.addonUpdateFailed",{name:t.name,version:t.version}));return}let s=Do.default.join(Do.default.resolve(this.manager.addonFolder),e);yp.default.writeFile(s,n.toString(),()=>{q.success(p("Updater.addonUpdated",{name:t.name,version:t.version})),this.pending.splice(this.pending.indexOf(e),1)})})}showUpdateNotice(){if(!this.pending.length)return;let e=this.pending.map(t=>{let o=this.cache[Do.default.basename(t)];return{name:o?o.name:t,version:o?o.version:""}});ia.show({id:`addon-updates-${this.type}`,title:p("Updater.addonUpdaterNotificationTitle"),content:[p("Updater.addonUpdatesAvailable",{count:this.pending.length,context:this.type}),i.createElement("ul",{className:"bd-notification-updates-list"},e.map(t=>i.createElement("li",{},[t.name," ",i.createElement("i",{},`(${t.version})`)])))],type:"info",icon:()=>i.createElement(Za,{size:16,accent:!0}),duration:1/0,actions:[{label:p("Updater.viewUpdates"),onClick:()=>xa.openSettingsPage("updates")},{label:p("Updater.updateAll"),onClick:()=>{for(let t of this.pending)this.updateAddon(t)}}]})}},Ms=new oi("plugin"),Ds=new oi("theme");var xp='#bd-editor-panel{background:var(--bd-editor-background,var(--background-base-lower));flex-direction:column;display:flex}#bd-editor-controls button{color:var(--interactive-text-default);background:0 0;border-radius:3px;align-items:center;height:26px;margin:0 5px 0 0;font-weight:600;display:flex}#bd-editor-controls button:hover{background:var(--interactive-background-hover);color:var(--interactive-text-hover)}#bd-editor-controls button:active{background:var(--interactive-background-active)}#bd-editor-controls{background:var(--background-secondary-alt);color:var(--text-default);box-shadow:var(--elevation-low);z-index:10;border:none;justify-content:space-between;align-items:center;padding:5px;display:flex}.editor-wrapper{display:flex}.editor{box-sizing:border-box;width:100%;height:calc(100vh - 250px);font-size:14px}.controls-section{align-items:center;display:flex}.controls-section.controls-right{gap:15px}.monaco-editor:not(.rename-box),.monaco-editor .overflow-guard,.monaco-editor .editor-scrollable,.monaco-editor .minimap-shadow-visible,.monaco-editor .decorationsOverviewRuler{height:100%!important}.monaco-editor:not(.rename-box),.monaco-editor .overflow-guard,.monaco-editor .overlayWidgets,#bd-customcss-editor>div>.overflow-guard>div:nth-child(3){width:100%!important}.monaco-editor .minimap{right:14px;left:unset!important;height:100%!important}.monaco-editor .editor-scrollable{width:calc(100% - 64px)!important}.monaco-editor .view-overlays .current-line{width:1000000px!important}.bd-fallback-editor{resize:none;white-space:nowrap;width:100%;height:100%;overflow:auto}[class*=errorPage_] [class*=buttons_]{flex-direction:column;align-items:center;gap:8px;padding:16px;display:flex}[class*=errorPage_] [class*=buttons_] [class*=button_]{width:100%;max-width:400px;margin:0;transition:all .2s}.bd-recovery-buttons.bd-recovery-buttons{justify-content:center}.bd-button-recovery{height:var(--custom-button-button-lg-height);min-height:var(--custom-button-button-lg-height);background-color:var(--red-new-50)!important;width:100%!important;max-width:400px!important;margin-top:8px!important}.bd-error-content-wrapper{height:0;transition:height .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.bd-error-content{color:var(--text-default);background:var(--background-base-lower);border-top:1px solid var(--border-subtle);opacity:1;transform-origin:top;max-height:500px;padding:16px;font-family:monospace;font-size:12px;line-height:1.5;transition:opacity .2s,transform .2s;overflow-y:auto}.bd-error-content::-webkit-scrollbar{width:8px;height:8px}.bd-error-content::-webkit-scrollbar-thumb{background-color:var(--scrollbar-auto-thumb);border-radius:4px}.bd-error-content::-webkit-scrollbar-track{background-color:var(--scrollbar-auto-track);border-radius:4px}.bd-error-content::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-auto-thumb-hover)}.bd-error-content pre{white-space:pre-wrap;word-break:break-all;margin:0}.bd-error-container{background:var(--background-base-lower);border-radius:8px;width:100%;max-width:1500px;margin:16px auto;overflow:hidden}.bd-error-toggle-wrapper{background:var(--background-base-lowest);flex-direction:column;align-items:center;gap:8px;padding:8px;display:flex}.bd-error-toggle{cursor:pointer;color:var(--text-default);z-index:1;font-size:14px;font-weight:500;transition:all .3s;position:relative;text-align:center!important;background:var(--background-base-lowest)!important;border:none!important;width:30%!important;padding:12px!important}.bd-error-toggle.expanded{background:var(--interactive-background-selected)!important}.bd-error-toggle:hover{background:var(--interactive-background-hover)!important}.bd-error-actions{justify-content:center;gap:8px;width:100%;max-width:800px;padding:0 16px;display:flex}.bd-error-actions button{border-radius:4px;flex:1;max-width:200px;font-size:14px;font-weight:500;transition:all .2s;padding:8px 16px!important}.bd-error-github{background-color:"#fdd18c"!important}.bd-error-github:hover{background-color:"#fcc145"!important}.bd-error-discord{background-color:var(--control-connect-background-default)!important}.bd-error-discord:hover{background-color:var(--control-connect-background-hover)!important}';var vp='.bd-reload{cursor:pointer;vertical-align:top;fill:#dcddde}.bd-reload:hover{fill:#fff}.bd-reload-header{margin-left:5px}.bd-reload-card{margin-right:5px}.bd-controls,.bd-controls-basic,.bd-controls-advanced{display:flex}.bd-addon-list{user-select:text}.bd-addon-list.bd-grid-view{grid-template-columns:1fr 1fr;gap:10px;display:grid}.bd-addon-list .bd-addon-card{border-radius:var(--radius-sm);background:var(--background-mod-subtle);border:1px solid var(--border-subtle);box-shadow:var(--shadow-low);flex-direction:column;margin-bottom:20px;display:flex;overflow:hidden}.bd-addon-list.bd-grid-view .bd-addon-card{margin-bottom:0}.bd-addon-list .bd-addon-header{color:var(--text-strong);background:var(--background-mod-subtle);border-bottom:1px solid var(--border-subtle);border-radius:var(--radius-sm)var(--radius-sm)0 0;justify-content:space-between;align-items:center;padding:16px;font-size:14px;font-weight:600;line-height:20px;display:flex;overflow:hidden}.bd-addon-header .bd-icon{color:var(--text-strong);margin-right:8px}.bd-grid-view .bd-addon-header .bd-icon{width:24px;height:24px;margin-right:12px}.disabled .bd-addon-header .bd-icon{color:red}.bd-title,.bd-name,.bd-meta{line-height:normal;display:inline}.bd-title{flex:1;min-width:0}.bd-meta{color:var(--channels-default);font-weight:500}.bd-name{white-space:nowrap;text-overflow:ellipsis;gap:4px;display:inline-flex;overflow:hidden}.bd-name:after,.bd-version:after{content:" ";display:inline}.bd-grid-view .bd-title{flex-direction:column;display:flex}.bd-grid-view .bd-meta{font-size:12px}.bd-description-wrap{flex:1;padding:8px 16px 0}.bd-description-wrap .banner{color:#fff;font-weight:700px;background:#26191e;border:2px solid gray;border-radius:5px;align-items:center;padding:5px;font-size:16px;display:flex}.banner.banner-danger{background:#473c41;border-color:#f04747}.banner .bd-icon{fill:#fff;margin-right:5px;height:16px!important}.banner-danger .bd-icon{color:#f04747;fill:none}.bd-addon-list .bd-description{word-break:break-word;-webkit-line-clamp:3;max-height:175px;color:var(--text-default);margin-bottom:5px;padding:5px 0;font-size:14px;line-height:18px;overflow-y:auto}.bd-description em{font-style:italic}.bd-description code{white-space:pre-wrap;background:var(--background-base-lowest);border-radius:3px;margin:-.2em 0;padding:.2em;font-size:85%;line-height:1.125rem}.bd-addon-list .scroller::-webkit-scrollbar-track-piece,.bd-addon-list .scroller::-webkit-scrollbar-thumb{border-color:#0000;border-radius:0!important}.bd-addon-list .bd-footer{justify-content:space-between;align-items:center;padding:8px 16px 16px;display:flex;overflow:hidden}.bd-controls>.bd-addon-button{border-radius:0;padding:4px 6px}.bd-links .bd-addon-button:not(:first-child){margin-left:10px}.bd-controls>.bd-addon-button svg{color:var(--interactive-text-active)}.bd-controls>.bd-addon-button:first-of-type{border-radius:3px 0 0 3px}.bd-controls>.bd-addon-button:last-of-type{border-radius:0 3px 3px 0}.bd-controls>.bd-addon-button:only-child{border-radius:3px}.bd-controls+.bd-addon-list{margin-top:10px}.bd-addon-controls{flex-wrap:wrap;justify-content:space-between;align-items:center}.bd-settings-title .bd-search{width:200px;margin:0;font-size:13px}.bd-addon-dropdowns{display:flex}.react-error{color:red;cursor:pointer;font-family:Arial,Helvetica,sans-serif;font-weight:700}.settings-open .bd-close{cursor:pointer;float:right}.bd-addon-modal{min-height:0}.bd-addon-modal-settings{padding:0 16px 16px}.bd-addon-modal-footer .bd-button{background-color:var(--bd-brand)}.bd-addon-modal-footer .bd-button:hover{background-color:#3875ce}.bd-addon-modal-footer .bd-button:active{background-color:#3268b7}.bd-addon-views{margin-left:10px;display:flex}.bd-addon-controls .bd-button{background-color:#0000;padding:3px 4px}.bd-addon-controls .bd-button svg{color:var(--interactive-text-default)}.bd-addon-controls .bd-button.selected svg{color:#fff}.bd-addon-controls .bd-button:hover{background-color:var(--interactive-background-selected)}.bd-addon-controls .bd-button:active{background-color:var(--app-frame-border)}.bd-addon-controls .bd-button.selected{background-color:var(--bd-brand)}.bd-addon-controls .bd-button+.bd-button{margin-left:5px}.bd-controls-basic .bd-button:active svg{color:#fff}.bd-controls-basic .bd-button:active{background-color:var(--bd-brand)}.bd-addon-list .bd-footer .bd-links,.bd-addon-list .bd-footer .bd-links a,.bd-addon-list .bd-footer .bd-addon-button{align-items:center;display:flex}.bd-addon-list .bd-footer .bd-link{color:var(--interactive-text-default)}.bd-addon-list .bd-footer .bd-link:hover{color:var(--interactive-text-hover)}.bd-addon-list .bd-footer .bd-link:active{color:var(--interactive-text-active)}.bd-addon-list .bd-footer .bd-link svg{color:var(--interactive-text-default)}.bd-addon-list .bd-footer .bd-links .bd-addon-button{height:24px}.bd-store-card{background-color:var(--card-background-default);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;flex-direction:row;justify-content:center;align-items:center;margin:10px 0;padding:16px 24px 16px 16px;display:flex}.bd-store-card:hover{background-color:var(--interactive-background-hover)}.bd-store-card-icon{background:var(--background-base-low);color:var(--interactive-text-default);border-radius:50%;flex-direction:row;flex-grow:0;flex-shrink:0;justify-content:center;align-items:center;padding:8px;display:flex}.bd-store-card-body{flex-direction:column;flex-grow:1;flex-shrink:1;justify-content:flex-start;align-items:flex-start;margin-left:12px;display:flex}.bd-store-card-caret{color:var(--interactive-text-default)}';var wp='.bd-addon-store-card{background:var(--bg-surface-raised);border-radius:8px;flex-direction:column;width:100%;max-width:320px;min-height:320px;display:flex;position:relative;overflow:hidden}.theme-dark .bd-addon-store-card{background:var(--bg-surface-raised)}.theme-dark .bd-addon-store-card:hover,.theme-dark .bd-addon-store-card:hover .bd-addon-store-card-author-mask{background-color:var(--bg-surface-overlay-tmp)}.full-motion .bd-addon-store-card{transition:box-shadow .2s ease-out,transform .2s ease-out,background .2s ease-out,opacity .2s ease-in}.full-motion .bd-addon-store-card:hover{box-shadow:var(--elevation-high);transform:translateY(-1px)}.bd-addon-store-card-author{position:absolute;bottom:-21px;left:12px}.bd-addon-store-card-author-mask{background-color:var(--bg-surface-raised);padding:4px}.theme-dark .bd-addon-store-card-author-mask{background-color:var(--bg-surface-raised)}.full-motion .bd-addon-store-card-author-mask{transition:box-shadow .2s ease-out,transform .2s ease-out,background .2s ease-out}.bd-addon-store-card-info{align-items:center;gap:16px;margin-bottom:8px;display:flex}.bd-addon-store-card-actions{align-items:center;gap:8px;display:flex}.bd-addon-store-card-spacer{flex:auto}.bd-addon-store-card-downloads,.bd-addon-store-card-likes{min-width:0;color:var(--text-default);white-space:nowrap;text-overflow:ellipsis;font-family:var(--font-primary);align-items:center;gap:4px;font-size:12px;font-weight:400;line-height:1.33333;display:flex;overflow:hidden}.bd-addon-store-card-dot{background-color:var(--green-360);border-radius:50%;flex-shrink:0;width:8px;height:8px}.bd-addon-store-card-downloads .bd-addon-store-card-dot{background-color:var(--primary-300)}.bd-addon-store-card-author-svg{contain:paint}.bd-addon-store-card-author-img{width:100%;height:100%}.bd-addon-store-card-splash{height:143px;margin-bottom:32px;display:block;position:relative;overflow:visible}.bd-addon-store-card-preview{width:100%;height:100%;display:block;position:absolute;top:0;left:0}.bd-addon-store-card-preview-img{object-fit:cover;width:100%;height:100%}.bd-addon-store-card-body{flex-direction:column;flex:auto;align-content:stretch;padding:0 16px 16px;display:flex;position:relative;overflow:hidden}.bd-addon-store-card-name{white-space:nowrap;text-overflow:ellipsis;width:100%;color:var(--text-strong);font-weight:600;font-family:var(--font-display);align-items:center;gap:4px;font-size:16px;line-height:1.25;display:flex;overflow:hidden}.bd-addon-store-card-description{color:var(--text-default);-webkit-line-clamp:4;font-family:var(--font-primary);user-select:text;-webkit-box-orient:vertical;margin:4px 0 8px;font-size:14px;font-weight:400;line-height:1.28571;overflow:hidden}.bd-addon-store-card-tags{user-select:none;flex-wrap:wrap;gap:4px;margin-bottom:16px;display:flex}.bd-addon-store-card-tag{color:var(--interactive-text-default);background:var(--background-mod-subtle);border:1px solid var(--bg-surface-raised);cursor:pointer;border-radius:8px;padding:2px 5px;transition:border-color .2s linear,color .2s linear}.bd-addon-store-card-tag:hover{color:var(--interactive-text-hover)}.bd-addon-store-card-tag-selected,.bd-addon-store-card-tag:hover:active{border-color:var(--brand-500);color:var(--interactive-text-active)}button.bd-addon-store-card-button{color:var(--interactive-text-default)}.bd-addon-store-card-button:hover{color:var(--interactive-text-hover)}.bd-addon-store-card-button:hover:active{color:var(--interactive-text-active)}.bd-addon-store-card .bd-button.bd-button-filled svg{color:var(--interactive-text-hover)}.bd-addon-store-card .bd-button.bd-button-filled.bd-color-red{padding:8px}.bd-addon-store-card-badge{white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;min-width:16px;height:16px;min-height:16px;color:var(--white);background:var(--red-400);text-align:center;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;user-select:none;border-radius:8px;flex:none;padding:0 6px;font-size:12px;font-weight:700;line-height:1.33333;position:absolute;top:8px;right:8px;overflow:hidden}.bd-addon-store{grid-template-columns:1fr 1fr;gap:20px clamp(8px,2vw,20px);margin:10px 0;display:grid}.bd-addon-store-warning{background:var(--info-warning-background);border:1px solid var(--background-feedback-warning);color:var(--info-warning-text);border-radius:6px;align-items:center;gap:6px;margin-top:10px;padding:6px;display:flex}.bd-addon-store-card-loading{background-color:var(--bg-surface-raised);border-radius:50%;padding:4px}img:where(.bd-addon-store-card-preview-img,.bd-install-modal-preview-img)[src="https://betterdiscord.app/resources/ui/content_thumbnail.svg"]{object-fit:contain}.bd-addon-store-card:last-child:nth-child(odd):not(.bd-addon-store-card-embed){margin-left:calc(50% + 10px)}.bd-addon-title{align-items:center;display:flex}.bd-addon-title[data-showing-store=true]>span:first-child{cursor:pointer}.bd-addon-title[data-showing-store=true]>span:first-child:hover{background:var(--interactive-background-hover)}.bd-addon-title>span{border-radius:3px;padding:2px 4px}.bd-flower-star{color:var(--green-360);justify-content:center;align-items:center;display:inline-flex;overflow:hidden}';var kp='.theme-dark .bd-social-logo path{fill:#adadad}.theme-light .bd-social-logo path{fill:#b9bbbe}.bd-social-link:hover .bd-social-logo{opacity:1}.bd-social-link:hover .bd-social-logo path:first-of-type{fill:var(--bd-brand)}.bd-button-title{margin-left:10px}.bd-select-wrapper{color:var(--text-default);align-items:center;font-size:13px;display:flex}.bd-select-wrapper+.bd-select-wrapper{margin-left:10px}.bd-select-wrapper label{margin-right:5px}.bd-select{cursor:pointer;color:var(--interactive-text-default);background-color:var(--input-background-default);border:1px solid var(--input-border-default);border-radius:var(--radius-sm);font-family:var(--font-primary);text-overflow:ellipsis;white-space:nowrap;justify-content:space-between;align-items:center;padding:8px 12px;font-size:16px;font-weight:500;line-height:1.25;transition:border-color .15s;display:flex;position:relative}.bd-select.bd-select-disabled{cursor:not-allowed;opacity:.5}.bd-select.bd-select-transparent{background:0 0;border:none;align-items:flex-start;padding:0}.bd-select-arrow{color:var(--interactive-text-default);margin-left:10px}.bd-select-options{background:var(--background-surface-higher);font-family:var(--font-primary);color:var(--text-default);border-radius:var(--radius-sm);max-height:300px;min-width:anchor-size(width);border:1px solid var(--input-border-default);margin-top:4px;position:fixed;inset-block-start:anchor(end);inset-inline-start:anchor(start);overflow:auto scroll}.bd-select-option{cursor:pointer;white-space:pre;padding:8px 12px}.bd-select-option:hover{background:var(--interactive-background-hover);color:var(--interactive-text-hover)}.bd-select-option.selected{background:var(--interactive-background-selected);color:var(--interactive-text-active)}.bd-setting-item .bd-select{min-width:200px}.bd-setting-item{flex-direction:column;margin-bottom:20px;display:flex}.bd-setting-header{justify-content:space-between;align-items:center;display:flex}.bd-setting-header label{word-wrap:break-word;color:var(--text-strong);font-size:16px;font-weight:500;line-height:24px;overflow:hidden}.bd-setting-note{color:var(--text-default);margin-top:4px;font-size:14px;font-weight:400;line-height:20px}.bd-setting-item:not(.inline) .bd-setting-note{margin-bottom:10px}.bd-divider.bd-setting-divider{margin-top:20px}.bd-settings-container{height:auto;transition:height .3s cubic-bezier(.47,0,.745,.715);overflow:hidden}.bd-settings-group.collapsed .bd-settings-container{height:0}.bd-settings-group.expanded .bd-settings-container:not(.animating){overflow:visible}.bd-settings-title{color:var(--text-strong,var(--text-default));cursor:default;flex:1;justify-content:space-between;font-weight:600;display:flex}.bd-settings-title:not(.bd-settings-group-title){margin-bottom:20px;font-size:20px;line-height:24px}.bd-settings-group.collapsible .bd-settings-title{order:1;justify-content:space-between;align-items:center;display:flex}.bd-settings-group.collapsible .bd-settings-title:before{content:"";background-color:var(--app-frame-border);flex:1;order:2;height:2px;margin:0 10px 0 15px}.bd-settings-group.collapsible .bd-settings-title:after{content:"";background:var(--text-default);vertical-align:bottom;order:3;width:20px;height:20px;transition:transform .3s;display:inline-block;transform:rotate(0);-webkit-mask:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iQ2FscXVlXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSItOTUwIDUzMiAxOCAxOCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAtOTUwIDUzMiAxOCAxODsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6bm9uZTt9DQoJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjEuNTtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPHBhdGggY2xhc3M9InN0MCIgZD0iTS05MzIsNTMydjE4aC0xOHYtMThILTkzMnoiLz4NCjxwb2x5bGluZSBjbGFzcz0ic3QxIiBwb2ludHM9Ii05MzYuNiw1MzguOCAtOTQxLDU0My4yIC05NDUuNCw1MzguOCAiLz4NCjwvc3ZnPg0K) 50%/contain no-repeat;mask:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iQ2FscXVlXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSItOTUwIDUzMiAxOCAxOCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAtOTUwIDUzMiAxOCAxODsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6bm9uZTt9DQoJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjEuNTtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPHBhdGggY2xhc3M9InN0MCIgZD0iTS05MzIsNTMydjE4aC0xOHYtMThILTkzMnoiLz4NCjxwb2x5bGluZSBjbGFzcz0ic3QxIiBwb2ludHM9Ii05MzYuNiw1MzguOCAtOTQxLDU0My4yIC05NDUuNCw1MzguOCAiLz4NCjwvc3ZnPg0K) 50%/contain no-repeat}.bd-settings-group.collapsed .bd-settings-title:after{transition:transform .3s;transform:rotate(90deg)}.bd-settings-group~.bd-settings-group .bd-settings-title{margin-top:30px;transition:margin-top .3s}.bd-settings-group.collapsed+.bd-settings-group .bd-settings-title{margin-top:0}.bd-settings-title.bd-settings-group-title{text-transform:uppercase;color:var(--interactive-text-default);margin-bottom:10px;font-size:14px}.checkbox-item{display:flex}.checkbox-item .checkbox-label{margin-right:8px}';var Cp='.bd-changelog-modal iframe,.bd-changelog-modal video,.bd-changelog-modal img{border-radius:5px;outline:none;width:100%}.bd-changelog-modal code{border:1px solid var(--background-base-lowest);white-space:pre-wrap;background:var(--background-base-lower);border:1px solid var(--background-base-lowest);border-radius:4px;margin:-.2em 0;padding:0 .2em;font-size:85%;line-height:1.125rem}.bd-changelog-modal .bd-modal-content{font-size:16px;line-height:20px}.bd-changelog-modal .bd-modal-content .emoji{object-fit:contain;width:22px;height:22px}.bd-changelog-modal .bd-modal-content h1{font-size:16px;line-height:20px}.bd-changelog-modal .bd-modal-content h1,.bd-changelog-modal .bd-modal-content h2,.bd-changelog-modal .bd-modal-content strong{font-weight:700}.bd-changelog-modal .bd-modal-content em,.bd-changelog-modal .bd-modal-content i{font-style:italic}.bd-changelog-modal .bd-modal-content p+p{margin-top:10px}.bd-changelog-modal .bd-modal-content ol{margin:16px 0 16px 16px}.bd-changelog-modal .bd-modal-content ol li{margin-bottom:8px;margin-left:20px;list-style-type:decimal}.bd-changelog-modal .bd-modal-content ul{margin:20px 0 8px 20px}.bd-changelog-modal .bd-modal-content ul ul{margin-top:8px}.bd-changelog-modal .bd-modal-content ul li{user-select:text;margin-bottom:8px;list-style:none;position:relative}.bd-changelog-modal .bd-modal-content ul li:last-child{margin-bottom:0}.bd-changelog-modal .bd-modal-content ul li:before{content:"";opacity:.3;border-radius:50%;width:6px;height:6px;margin-top:-4px;margin-left:-3px;position:absolute;top:10px;left:-15px}.bd-changelog-modal .bd-modal-content ul li li:before{border-radius:0;height:2px;top:12px}.bd-changelog-modal .bd-modal-content img,.bd-changelog-modal .bd-modal-content video,.bd-changelog-modal .bd-modal-content iframe{width:100%}.bd-changelog-modal .bd-modal-content iframe{height:346px}.bd-changelog-modal .bd-modal-content a{color:hsl(200,calc(var(--saturation-factor,1)*100%),49.4%);text-decoration:none;transition:all 50ms}.bd-changelog-modal .bd-modal-content a:hover{text-decoration:underline}.theme-dark .bd-changelog-modal .bd-modal-content ol,.theme-dark .bd-changelog-modal .bd-modal-content p,.theme-dark .bd-changelog-modal .bd-modal-content ul li{color:hsl(210,calc(var(--saturation-factor,1)*9.3%),78.8%)}.theme-dark .bd-changelog-modal .bd-modal-content ul li:before{background-color:hsl(216,calc(var(--saturation-factor,1)*9.8%),90%)}.theme-light .bd-changelog-modal .bd-modal-content ol,.theme-light .bd-changelog-modal .bd-modal-content p,.theme-light .bd-changelog-modal .bd-modal-content ul li{color:hsl(223,calc(var(--saturation-factor,1)*5.8%),52.9%)}.theme-light .bd-changelog-modal .bd-modal-content ul li:before{background-color:hsl(223,calc(var(--saturation-factor,1)*5.8%),52.9%)}.bd-changelog-title{text-transform:uppercase;align-items:center;margin-top:40px;font-size:16px;font-weight:700;line-height:20px;display:flex}.bd-changelog-title.bd-changelog-first{margin-top:20px}.bd-changelog-title:after{content:"";opacity:.6;flex:auto;height:1px;margin-left:4px}.bd-changelog-added{color:var(--text-feedback-positive)}.bd-changelog-added:after{background-color:var(--background-feedback-positive)}.bd-changelog-fixed{color:hsl(359,calc(var(--saturation-factor,1)*87.3%),59.8%)}.bd-changelog-fixed:after{background-color:hsl(359,calc(var(--saturation-factor,1)*87.3%),59.8%)}.bd-changelog-progress{color:var(--text-feedback-warning)}.bd-changelog-progress:after{background-color:var(--background-feedback-warning)}.bd-changelog-improved{color:hsl(235,calc(var(--saturation-factor,1)*85.6%),64.7%)}.bd-changelog-improved:after{background-color:hsl(235,calc(var(--saturation-factor,1)*85.6%),64.7%)}.theme-dark .bd-changelog-improved{color:hsl(235,calc(var(--saturation-factor,1)*86.1%),77.5%)}.theme-dark .bd-changelog-improved:after{background-color:hsl(235,calc(var(--saturation-factor,1)*86.1%),77.5%)}.bd-social{opacity:.7;transition:opacity .17s}.bd-social:hover{opacity:1}.bd-changelog-modal .bd-social:not(:first-child){margin-left:10px}';var Sp=".bd-checkbox{-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer;gap:8px;position:relative}.bd-checkbox.bd-checkbox-has-label{flex:auto;max-width:100%;font-size:16px}.bd-checkbox-input{cursor:pointer;opacity:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:1;width:24px;height:24px;margin:0;padding:0;position:absolute;top:0;left:0}.bd-checkbox-box{border-color:var(--primary-400);box-sizing:border-box;width:24px;height:24px;color:var(--interactive-text-active);border-style:solid;border-width:1px;border-radius:6px;flex:none;justify-content:center;align-items:center;display:flex}.bd-checkbox-input:checked+.bd-checkbox-box{border-color:var(--bd-brand);background-color:var(--bd-brand)}.bd-checkbox-input:not(:checked)+.bd-checkbox-box>svg{display:none}.bd-checkbox-label{flex:auto;min-width:0}.bd-checkbox.bd-checkbox-disabled{opacity:.6;cursor:not-allowed}";var Lp=".bd-color-picker-container{justify-content:center;display:flex}.bd-color-picker-container.bd-color-picker-disabled{cursor:not-allowed;opacity:.5}.bd-color-picker-container.bd-color-picker-disabled>.bd-color-picker-controls,.bd-color-picker-container.bd-color-picker-disabled>.bd-color-picker-swatch{pointer-events:none}.bd-color-picker-controls{padding-top:2px;padding-left:1px;display:flex}.bd-color-picker-default{cursor:pointer;border-radius:4px;justify-content:center;align-items:center;width:75px;height:60px;margin-top:1px;margin-right:9px;display:flex}.bd-color-picker-custom{display:inline-table;position:relative}.bd-color-picker-custom svg{pointer-events:none;position:absolute;top:5px;right:5px}.bd-color-picker{cursor:pointer;border:none;border-radius:4px;outline:none;width:75px;height:60px;margin-top:1px}.bd-color-picker::-webkit-color-swatch{border:none}.bd-color-picker-swatch{flex-wrap:wrap;align-content:flex-start;max-width:330px;display:flex;margin-left:5px!important}.bd-color-picker-swatch-item{cursor:pointer;border-radius:4px;justify-content:center;align-items:center;width:15px;height:15px;margin:4px;display:flex}.bd-setting-item.inline .bd-color-picker-swatch{max-width:220px;margin-top:1px}.bd-setting-item.inline .bd-color-picker-default,.bd-setting-item.inline .bd-color-picker{width:50px;height:40px}.bd-setting-item.inline .bd-color-picker-swatch-item{width:18px;height:18px;margin:2px}";var Ip=".bd-error-modal-header{flex-direction:column;align-items:flex-start}.bd-addon-errors{margin-top:16px}.bd-addon-error{background:var(--deprecated-card-editable-bg);border:1px solid;border-radius:5px;margin-bottom:16px;padding:0;position:relative}.theme-dark .bd-addon-error{border-color:var(--background-base-lower)}.theme-light .bd-addon-error{border-color:var(--background-base-lowest)}.bd-addon-error-header{cursor:pointer;border-radius:5px;outline:none;align-items:center;padding:20px 16px;display:flex}.bd-addon-error-header:focus-visible{box-shadow:0 0 0 4px var(--border-focus)}.bd-addon-error-icon{background-color:var(--background-base-lowest);border-radius:50%;justify-content:center;align-self:flex-start;align-items:center;width:48px;height:48px;margin-right:10px;display:flex}.bd-addon-error-icon svg{color:var(--interactive-text-default);width:24px!important;height:24px!important}.bd-addon-error-expander{color:var(--interactive-text-default);transition:transform .2s;transform:none}.bd-addon-error[open] .bd-addon-error-expander{transform:rotate(90deg)}.bd-addon-error-expander,.bd-addon-error-icon{flex:none}.bd-addon-error-header-inner{flex-direction:column;flex:auto;display:flex}.bd-addon-error-body{padding:0 16px 24px}.bd-addon-error-body .bd-divider{margin-bottom:24px}.bd-addon-error-stack code{user-select:text;text-indent:0;white-space:pre-wrap;scrollbar-width:thin;scrollbar-color:var(--background-base-lowest)var(--background-base-lower);background:var(--background-base-lower);border:1px solid var(--background-base-lowest);font-size:.875rem;line-height:1.125rem}.bd-addon-error-stack pre{position:relative}.bd-addon-error-stack pre [class*=codeActions]{color:var(--text-default);display:none;position:absolute;top:8px;right:4px}.bd-addon-error-stack pre:hover [class*=codeActions]{display:block}.bd-addon-error-stack pre [class*=codeActions]>div{cursor:pointer}.bd-addon-error-details{flex-grow:0;justify-content:flex-start;margin-top:4px;display:flex}.bd-addon-error-details-icon{color:var(--interactive-text-default);margin-right:4px}";var Ap=".bd-file-input-wrap{box-sizing:border-box;border-radius:var(--radius-sm);background-color:var(--input-background-default);border:1px solid var(--input-border-default);align-items:center;gap:5px;min-width:250px;height:40px;padding:0 4px;display:flex;position:relative}.bd-file-input-wrap:hover{border-color:var(--bd-brand)}.bd-setting-item.inline .bd-file-input-wrap{max-width:300px}.bd-file-input{color:var(--text-default);cursor:pointer;outline:none;flex:1;width:100%;font-size:16px;font-weight:600}.bd-file-input::-webkit-file-upload-button{visibility:hidden;user-select:none;pointer-events:none;width:0;height:0;margin:0;padding:0!important}.bd-file-input-wrap .bd-file-input-browse{padding:7px 16px}.bd-file-input-wrap .bd-file-input-clear{opacity:.5;margin-left:5px;padding-right:4px!important}.bd-file-input-wrap .bd-file-input-clear:hover{opacity:1}.bd-file-input-wrap .bd-file-input-clear svg{width:18px!important;height:18px!important}.bd-file-input-wrap.bd-file-input-disabled{cursor:not-allowed;opacity:.5}.bd-file-input-wrap.bd-file-input-disabled .bd-file-input-browse,.bd-file-input-wrap.bd-file-input-disabled .bd-file-input,.bd-file-input-wrap.bd-file-input-disabled .bd-file-input-clear{pointer-events:none}";var Tp=".bd-flex{display:flex}.bd-flex-align-start{align-items:flex-start}.bd-flex-align-end{align-items:flex-end}.bd-flex-align-center{align-items:center}.bd-flex-align-stretch{align-items:stretch}.bd-flex-align-baseline{align-items:baseline}.bd-flex-justify-start{justify-content:flex-start}.bd-flex-justify-end{justify-content:flex-end}.bd-flex-justify-center{justify-content:center}.bd-flex-justify-around{justify-content:space-around}.bd-flex-justify-between{justify-content:space-between}.bd-flex-no-wrap{flex-wrap:nowrap}.bd-flex-wrap{flex-wrap:wrap}.bd-flex-wrap-reverse{flex-wrap:wrap-reverse}.bd-flex-horizontal{flex-direction:row}.bd-flex-reverse{flex-direction:row-reverse}.bd-flex-vertical{flex-direction:column}.spacer-2upayl{flex:1;overflow:hidden}.bd-flex-horizontal>.spacer-2upayl,.bd-flex-reverse>.spacer-2upayl,.bd-flex-vertical>.spacer-2upayl{min-height:1px}.bd-flex-horizontal>.bd-flex,.bd-flex-horizontal>.bd-flex-child{margin-left:10px;margin-right:10px}.bd-flex-horizontal>.bd-flex:first-child,.bd-flex-horizontal>.bd-flex-child:first-child{margin-left:0}.bd-flex-horizontal>.bd-flex:last-child,.bd-flex-horizontal>.bd-flex-child:last-child{margin-right:0}.bd-flex-reverse>.bd-flex,.bd-flex-reverse>.bd-flex-child{margin-left:10px;margin-right:10px}.bd-flex-reverse>.bd-flex:first-child,.bd-flex-reverse>.bd-flex-child:first-child{margin-right:0}.bd-flex-reverse>.bd-flex:last-child,.bd-flex-reverse>.bd-flex-child:last-child{margin-left:0}";var Ep="@keyframes open-window{0%{transform:scale(.9)}to{transform:none}}.floating-window{-webkit-app-region:no-drag;z-index:1002;box-sizing:border-box;flex-direction:column;min-width:200px;min-height:300px;animation:.2s open-window;display:flex;position:fixed;box-shadow:0 2px 10px #0003}.floating-window.modal-open{z-index:999}.floating-window.resizable{resize:both;background:var(--bd-editor-background,var(--background-base-lowest));padding-bottom:10px;overflow:auto}.floating-window-titlebar{color:#fff;background:var(--background-base-lowest);justify-content:space-between;align-items:center;width:100%;height:28px;display:flex}.floating-window-content{background:var(--bd-editor-background,var(--background-base-lower));color:#fff;flex-direction:column;flex:1;display:flex;overflow:hidden}.floating-window-titlebar .title{color:var(--text-default);flex:1;padding:0 8px;font-size:.85em;font-weight:600}.floating-window-buttons{display:flex}.floating-window-buttons .button{cursor:pointer;width:30px;height:28px;color:var(--interactive-text-default);justify-content:center;align-items:center;display:flex}.floating-window-buttons .button svg,.floating-window-buttons .button .fill{fill:currentColor}.floating-window-buttons .maximize-button:hover{background:var(--interactive-background-hover)}.floating-window-buttons .maximize-button:active{background:var(--interactive-background-active)}.floating-window-buttons .close-button:hover{color:#fff;background:#f04747}.floating-window-content #bd-editor-panel{flex-direction:column;flex:1;height:100%;display:flex;overflow:hidden}.editor-wrapper{position:relative}.floating-window .editor-wrapper{flex:1;overflow:hidden}.floating-window .editor{flex:1;height:auto}.floating-window #bd-editor-controls{z-index:10;background:var(--background-base-lower);height:auto;box-shadow:var(--elevation-low);border:none}#floating-editor-window{min-width:340px;max-width:750px;min-height:280px;max-height:900px}.floating-addon-window{min-width:535px;max-width:90%;min-height:605px;max-height:90%}.bd-editor-footer{color:var(--bd-editor-foreground);border-top:1px solid var(--bd-editor-divider);justify-content:space-between;align-items:center;display:flex}.bd-editor-footer-left,.bd-editor-footer-right{display:flex}.bd-editor-footer-item{cursor:pointer;text-overflow:ellipsis;white-space:pre;font-variant-numeric:tabular-nums;outline-width:0;align-items:center;height:100%;margin-left:3px;margin-right:3px;padding:0 5px;font-size:12px;line-height:22px;display:flex;overflow:hidden}.bd-editor-problems{background:var(--bd-editor-background,var(--background-base-lowest));z-index:5;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden scroll}.bd-editor-problem{color:var(--bd-editor-foreground,var(--text-default));gap:8px;padding:3px 4px 0;display:inline-flex}.bd-editor-problem.bd-editor-severity-8 svg{color:var(--background-feedback-critical)}.bd-editor-problem.bd-editor-severity-4 svg,.bd-editor-problem.bd-editor-severity-2 svg,.bd-editor-problem.bd-editor-severity-1 svg{color:var(--background-feedback-info)}.bd-editor-problem>:nth-child(2)~span{opacity:.7}.bd-editor-no-problems{color:var(--bd-editor-foreground,var(--text-default));padding:4px}.bd-editor-footer-right .codicon{cursor:pointer;text-overflow:ellipsis;white-space:pre;outline-width:0;align-items:center;height:100%;padding:0 3px;display:flex;overflow:hidden}";var Mp=".bd-install-modal-guild{--guild-size:32px;width:var(--guild-size);height:var(--guild-size);background-color:var(--background-base-low);white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;font-weight:500;line-height:1.2em;transition:background-color .15s ease-out,color .15s ease-out;display:flex;position:relative;overflow:hidden}.bd-install-modal-guild img{width:var(--guild-size);height:var(--guild-size)}.bd-install-modal-item:hover .bd-install-modal-guild{color:var(--white);background-color:var(--background-brand)}.bd-install-modal-header{align-items:center;gap:8px;margin:0 20px;display:flex}.bd-install-modal-items{background:var(--background-base-lower);border-radius:8px;margin:20px;padding:12px}.bd-install-modal-item{color:var(--text-default);gap:12px;padding:12px}.bd-install-modal-items>.bd-install-modal-item:not(:last-child){border-bottom:1px solid var(--border-subtle)}.bd-install-modal-item-leading{min-width:24px;max-width:24px;display:flex}.bd-install-modal-item-trailing{display:flex}.bd-install-modal-item-content{width:100%}.bd-install-modal-clickable{cursor:pointer;background-color:#0000;border-radius:3px;transition:background-color .1s}.bd-install-modal-clickable:hover{color:var(--interactive-text-hover);background:var(--bg-overlay-hover,var(--interactive-background-hover))}.bd-install-modal-author-svg{contain:paint}.bd-install-modal-author-img{width:100%;height:100%}.bd-install-modal-splash{height:197px;margin-bottom:32px;display:block;position:relative;overflow:visible}.bd-install-modal-preview{width:100%;height:100%;display:block;position:absolute;top:0;left:0}.bd-install-modal-preview-img{object-fit:cover;border-radius:3px 3px 0 0;width:100%;height:100%}.bd-install-modal-author{position:absolute;bottom:-21px;left:12px}.bd-install-modal-author-mask{background-color:var(--background-base-low);padding:4px}";var Dp=".bd-keybind-wrap{box-sizing:border-box;border-radius:var(--radius-sm);background-color:var(--input-background-default);border:1px solid var(--input-border-default);cursor:pointer;align-items:center;gap:5px;min-width:250px;height:40px;padding:0 4px;display:flex;position:relative}.bd-keybind-wrap.bd-keybind-disabled{cursor:not-allowed;opacity:.5}.bd-keybind-wrap.bd-keybind-disabled .bd-keybind-record,.bd-keybind-wrap.bd-keybind-disabled .bd-keybind-clear,.bd-keybind-wrap.bd-keybind-disabled .bd-keybind-input{pointer-events:none}.bd-keybind-wrap input{pointer-events:none;color:var(--text-default);text-transform:uppercase;background:0 0;border:none;outline:none;flex:1;font-size:16px;font-weight:600}.bd-keybind-wrap input::placeholder{text-transform:capitalize}.bd-keybind-wrap.recording,.bd-keybind-wrap:not(.bd-keybind-disabled):hover{border-color:hsl(var(--red-400-hsl)/.3)}.bd-keybind-wrap.recording{box-shadow:0 0 6px hsl(var(--red-400-hsl)/.3)}.bd-keybind-wrap.recording input{color:var(--status-danger)}.bd-keybind-wrap .bd-keybind-record{padding:3px 8px}.bd-keybind-wrap .bd-keybind-record.bd-button-color-red svg{color:var(--interactive-text-active)}.bd-keybind-clear{opacity:.5;margin-left:5px;padding-right:4px!important}.bd-keybind-clear:hover{opacity:1}.bd-keybind-clear svg{width:18px!important;height:18px!important}";var Pp=".bd-modal-wrapper{z-index:1000;width:100vw;height:100vh;position:absolute}.bd-backdrop{background:#0009;width:100%;height:100%;position:absolute}.bd-modal{width:33%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.bd-modal-inner{background:var(--background-base-low);border-radius:var(--radius-md);animation:.3s ease-out bd-modal-open;overflow:hidden}.bd-modal-wrapper.closing .bd-modal-inner{animation:.3s ease-in bd-modal-close}.bd-modal .footer{background:var(--background-base-lower);justify-content:flex-end;padding:15px;display:flex}.bd-modal-body{padding:0 15px 20px}.bd-modal .header{padding:15px}.bd-modal .title{color:#fff;font-size:22px;font-weight:600}.bd-modal-body{color:#fff}.bd-modal .footer .bd-button{min-width:80px;height:38px}@keyframes bd-modal-close{to{transform:scale(.7)}}@keyframes bd-modal-open{0%{transform:scale(.7)}}.bd-modal-root{background-color:var(--modal-background);border-radius:var(--radius-md);border:1px solid var(--border-normal);pointer-events:all;flex-direction:column;max-height:100%;margin:0 auto;display:flex;position:relative}.bd-close-button{opacity:.5;cursor:pointer;height:26px;color:var(--interactive-text-default);box-sizing:content-box;border-radius:3px;padding:4px;transition:opacity .2s ease-in-out}.bd-close-button:hover{opacity:1;color:var(--interactive-text-hover)}.bd-modal-small{width:440px;min-height:200px;max-height:720px}.bd-modal-standard{white-space:pre-wrap;word-wrap:break-word;width:490px;max-height:min(800px,60vh);font-size:13px}.bd-modal-medium{width:600px;min-height:400px;max-height:min(800px,60vh)}.bd-modal-large{width:800px;min-height:400px;max-height:min(960px,70vh)}.bd-addon-modal{min-height:0}.bd-modal-header,.bd-modal-footer{z-index:1;flex:none;padding:16px;position:relative;overflow-x:hidden}.bd-modal-header{border-radius:var(--radius-md)var(--radius-md)0 0;word-wrap:break-word;transition:box-shadow .1s ease-out}.bd-modal-footer{border-radius:0 0 var(--radius-md)var(--radius-md);background-color:var(--modal-footer-background);overflow:hidden}.bd-modal-content{z-index:0;border-radius:var(--radius-md)var(--radius-md)0 0;color:var(--text-default);padding-left:16px;padding-right:8px;font-size:16px;line-height:20px;position:relative;overflow:hidden scroll}.bd-modal-backdrop{top:0;right:var(--devtools-sidebar-width,0);pointer-events:all;position:fixed;bottom:0;left:0;-webkit-transform:translateZ(0);transform:translateZ(0)}#bd-modal-container{top:0;left:0;right:var(--devtools-sidebar-width,0);pointer-events:none;z-index:1002;position:absolute;bottom:0;background:0 0!important}.bd-modal-layer{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;justify-content:center;align-items:center;min-height:0;padding-top:40px;padding-bottom:40px;display:-webkit-box;display:-ms-flexbox;display:flex;position:absolute;inset:0}";var zp=".bd-notice-success{--color:#3ba55d}.bd-notice-error{--color:#ed4245}.bd-notice-info{--color:#4a8fe1}.bd-notice-warning{--color:#faa81a}.bd-notice-closing{transition:height .4s;height:0!important}@keyframes bd-open-notice{0%{height:0}}#bd-notices{grid-area:notice}.bd-notice{text-align:center;z-index:101;height:36px;box-shadow:var(--elevation-low);color:#fff;background:var(--color,var(--brand-experiment-600,#3c45a5));flex-grow:0;flex-shrink:0;padding-left:4px;padding-right:28px;font-size:14px;font-weight:500;line-height:36px;animation:.4s bd-open-notice;position:relative;overflow:hidden}.bd-notice:first-child{border-radius:8px 0 0}.bd-notice-close{opacity:.5;cursor:pointer;-webkit-app-region:no-drag;background:url(https://discord.com/assets/7731c77d99babca1a8faec204d98c380.svg) 50% 55%/10px 10px no-repeat;width:36px;height:36px;transition:opacity .2s;position:absolute;top:0;right:0}.bd-notice-button{color:#fff;box-sizing:border-box;vertical-align:top;-webkit-app-region:no-drag;background:0 0;border:1px solid #fff;border-radius:3px;height:24px;margin-left:10px;padding:0 10px;font-size:14px;font-weight:500;line-height:22px;transition:background-color .2s,color .2s,border-color .2s;display:inline-block;position:relative;top:6px}.bd-notice-button:hover{color:var(--color,var(--background-mobile-secondary));background:#fff}.bd-notice-close:hover{opacity:1}";var Bp="#bd-notifications-root{z-index:9999;pointer-events:none;padding:16px;display:flex;position:fixed}#bd-notifications-root>*{pointer-events:auto}.bd-notification-container{z-index:3002;flex-direction:column;gap:8px;display:flex;position:fixed}.bd-notification{background-color:var(--card-background-default);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-shadow:var(--shadow-medium);flex-direction:column;width:350px;margin-bottom:20px;display:flex;position:relative}.bd-notification [class*=markdown_] [class*=paragraph_]:last-child{margin-bottom:0!important}.bd-notification-top-left{flex-direction:column;top:16px;left:16px}.bd-notification-top-right{flex-direction:column;top:16px;right:16px}.bd-notification-bottom-right{flex-direction:column-reverse;bottom:16px;right:16px}.bd-notification-bottom-left{flex-direction:column-reverse;bottom:16px;left:16px}.bd-notification-content{border-radius:8px 8px 0 0;flex-direction:column;padding:16px 40px 0 16px;display:flex}.bd-notification-icon{filter:saturate(var(--saturation-factor,1));color:var(--text-default);flex-shrink:0;margin-right:6px}.bd-notification-topbar{place-content:center space-between;align-items:center;margin-left:3px;padding:10px 10px 0;font-size:16px;font-weight:700;display:inline-flex}.bd-notification-header{align-items:flex-start;display:flex}.bd-notification-body{margin-top:4px}.bd-notification-title{color:var(--text-default);font-family:var(--font-display);word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;flex:1;font-size:16px;font-weight:600;line-height:1.25}.bd-notification-content-text{color:var(--text-default);font-family:var(--font-display);word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;font-size:14px;font-weight:400;line-height:1.28571}.bd-notification-close{color:var(--interactive-text-default);cursor:pointer;opacity:.5;margin:-10px;padding:10px;position:absolute;top:12px;right:12px}.bd-notification-close:hover{color:var(--interactive-text-hover)}.bd-notification-updates-list{margin-top:8px;margin-bottom:0}.bd-notification-footer{background-color:var(--card-background-default);border-radius:0 0 8px 8px;flex-wrap:wrap;gap:8px;padding:10px 16px 0;display:flex}.bd-notification-action{background-color:var(--control-secondary-background-default);color:var(--control-secondary-text-default);cursor:pointer;border:none;border-radius:8px;flex:1;min-width:calc(33.3333% - 8px);padding:8px 16px;font-size:14px;transition:background-color .2s ease-in-out}.bd-notification-action:hover{background-color:var(--control-secondary-background-hover)}.bd-notification-progress{border-bottom-right-radius:12px;border-bottom-left-radius:12px;height:4px;margin-top:14px;transition:width .1s linear}.bd-notification-enter{animation:.5s ease-out forwards slideIn}.bd-notification-exit{animation:.5s ease-in forwards slideOut}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.bd-container{background:var(--background-base-lower);border:3px solid var(--brand-500);color:var(--text-default);border-radius:8px;width:500px;height:300px;margin:50px auto;position:relative}.bd-container-disabled{background:var(--background-base-lower);border:3px solid var(--red-400);color:var(--text-default);border-radius:8px;width:500px;height:300px;margin:50px auto;position:relative}.position-wrapper{width:500px}.bd-box{background-color:var(--primary-400);cursor:pointer;border-radius:3px;width:150px;height:80px;margin:6px;transition:background-color .3s;position:absolute}.bd-box:hover{background-color:var(--brand-500);opacity:.8}.bd-box.selected{background-color:var(--brand-500)}.bd-box-disabled{background-color:var(--primary-400);opacity:.5;border-radius:3px;width:150px;height:80px;margin:6px;transition:background-color .3s;position:absolute;cursor:not-allowed!important}.bd-box-disabled:hover{background-color:var(--brand-500);opacity:.8}.bd-box-disabled.selected{background-color:var(--brand-500)}.bd-center-svg{width:100px;height:100px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.top-left{top:0;left:0}.top-right{top:0;right:0}.bottom-left{bottom:0;left:0}.bottom-right{bottom:0;right:0}.bd-center-text{text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.bd-text{color:var(--text-default);margin:0}.bd-p{color:var(--text-default);margin:10px 0 0}";var Np=".bd-number-input-wrapper{display:flex}.bd-number-input::-webkit-inner-spin-button,.bd-number-input::-webkit-outer-spin-button{display:none}.bd-number-input{box-sizing:border-box;background-color:var(--input-background-default);border:1px solid var(--input-border-default);color:var(--text-default);text-align:center;padding:8px 12px;font-size:16px}.bd-number-input:focus-within{border-color:var(--bd-brand)}.bd-number-input:not([min][max]){width:65px}.bd-button.bd-number-input-decrement{border-right:unset;border-radius:var(--radius-sm)0 0 var(--radius-sm)}.bd-button.bd-number-input-increment{border-left:unset;border-radius:0 var(--radius-sm)var(--radius-sm)0}.bd-number-input-wrapper.bd-number-input-disabled{cursor:not-allowed;opacity:.5}.bd-number-input-wrapper.bd-number-input-disabled .bd-number-input,.bd-number-input-wrapper.bd-number-input-disabled .bd-button.bd-number-input-decrement,.bd-number-input-wrapper.bd-number-input-disabled .bd-button.bd-number-input-increment{pointer-events:none}";var Fp=".bd-paginator{justify-content:space-between;align-items:center;margin:auto;display:flex}.bd-paginator-bubbles{justify-content:center;align-items:center;display:flex}.bd-paginator-back,.bd-paginator-next{padding:0 8px}#app-mount :where(.bd-paginator-back,.bd-paginator-next),.bd-paginator-bubble{box-sizing:border-box;cursor:pointer;width:min-content;min-width:28px;height:28px;min-height:28px;color:var(--text-strong);justify-content:center;align-items:center;margin:4px;padding:6px;font-weight:600;display:flex}:where(.bd-paginator-back,.bd-paginator-next):disabled{cursor:not-allowed;opacity:.5}#app-mount :where(.bd-paginator-back,.bd-paginator-next):hover{color:var(--interactive-text-hover);background-color:var(--background-base-lower)}.bd-paginator-back,.bd-paginator-next{padding-right:12px}.bd-paginator-bubble:where([data-selected=true],:hover){color:var(--white-500);background-color:var(--brand-500)}.bd-paginator-bubble{border-radius:14px;min-width:28px}";var Op=".bd-radio-group{min-width:300px}.bd-radio-option{cursor:pointer;user-select:none;border-radius:var(--radius-sm);color:var(--text-primary);border-left:3px solid #0000;align-items:center;gap:8px;margin-bottom:4px;padding:12px 16px;display:flex}.bd-radio-group.bd-radio-disabled{cursor:not-allowed;opacity:.5}.bd-radio-group.bd-radio-disabled .bd-radio-option{pointer-events:none}.bd-radio-option:hover{background-color:var(--background-mod-subtle);color:var(--interactive-text-hover)}.bd-radio-option.bd-radio-selected{background-color:var(--background-mod-subtle);color:var(--interactive-text-active)}.bd-radio-option input{opacity:0;cursor:pointer;width:0;height:0;position:absolute}.bd-radio-indicator{border-radius:50%}.bd-radio-icon{stroke:var(--checkbox-border-default)}.bd-radio-selected .bd-radio-icon{stroke:var(--bd-brand);fill:var(--bd-brand)}.bd-radio-label-wrap{flex-direction:column;display:flex}.bd-radio-label{font-family:var(--font-primary);font-size:16px;font-weight:500;line-height:20px}.bd-radio-description{font-family:var(--font-primary);font-size:14px;font-weight:400;line-height:18px}";var Rp=".bd-scroller-base{box-sizing:border-box;flex:auto;min-height:0;position:relative}@supports not selector(::-webkit-scrollbar){.bd-scroller-thin{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thin-thumb)var(--scrollbar-thin-track)}}.bd-scroller-thin::-webkit-scrollbar-track{border-color:var(--scrollbar-thin-track);background-color:var(--scrollbar-thin-track);border:2px solid var(--scrollbar-thin-track)}.bd-scroller-thin::-webkit-scrollbar{width:8px;height:8px}.bd-scroller-thin::-webkit-scrollbar-corner{background-color:#0000}.bd-scroller-thin::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:var(--scrollbar-thin-thumb);border:2px solid #0000;border-radius:4px;min-height:40px}";var Up=".bd-sidebar-header{justify-content:space-between;align-items:center;display:flex}.bd-sidebar-header h2{box-sizing:border-box;color:#96989d;white-space:nowrap;text-overflow:ellipsis;text-transform:uppercase;letter-spacing:.02em;flex-shrink:0;padding:6px 10px;font-size:12px;font-weight:700;display:flex;overflow:hidden}.bd-sidebar-header .bd-changelog-button{height:16px;padding:0}.bd-sidebar-header .bd-icon{cursor:pointer;color:var(--interactive-text-default)}.bd-sidebar-header .bd-changelog-button:hover .bd-icon{color:var(--interactive-text-hover)}";var jp='.bd-setting-item:not(.inline) .bd-slider-wrap{margin-top:10px}.bd-slider-wrap{color:var(--text-default);flex-direction:column;justify-content:center;align-items:center;margin:0 10px;display:flex;position:relative}.bd-slider-wrap.bd-slider-markers{margin-bottom:10px;padding-bottom:10px}.bd-slider-wrap.bd-slider-disabled{cursor:not-allowed;opacity:.5}.bd-slider-wrap.bd-slider-disabled>.bd-slider-input,.bd-slider-wrap.bd-slider-disabled>.bd-slider-label,.bd-slider-wrap.bd-slider-disabled>.bd-slider-track,.bd-slider-wrap.bd-slider-disabled>.bd-slider-marker-container,.bd-slider-wrap.bd-slider-disabled>.bd-slider-input::-webkit-slider-thumb{pointer-events:none}.bd-slider-label{opacity:0;pointer-events:none;background:#000;border-radius:5px;padding:5px 7px;font-weight:700;position:absolute;top:-45px}.bd-slider-input:hover+.bd-slider-label{opacity:1}.bd-slider-input{appearance:none;pointer-events:none;z-index:2;background:0 0;outline:none;width:100%;position:absolute}.bd-slider-input::-webkit-slider-thumb{appearance:none;background-color:hsl(0,calc(var(--saturation-factor,1)*0%),100%);border:1px solid hsl(210,calc(var(--saturation-factor,1)*2.9%),86.7%);width:10px;height:24px;-webkit-box-shadow:0 3px 1px 0 hsla(0,calc(var(--saturation-factor,1)*0%),0%,.05),0 2px 2px 0 hsla(0,calc(var(--saturation-factor,1)*0%),0%,.1),0 3px 3px 0 hsla(0,calc(var(--saturation-factor,1)*0%),0%,.05);box-shadow:0 3px 1px 0 hsla(0,calc(var(--saturation-factor,1)*0%),0%,.05),0 2px 2px 0 hsla(0,calc(var(--saturation-factor,1)*0%),0%,.1),0 3px 3px 0 hsla(0,calc(var(--saturation-factor,1)*0%),0%,.05);cursor:ew-resize;pointer-events:all;border-radius:3px;top:50%}.bd-slider-track{background:hsl(217,calc(var(--saturation-factor,1)*7.6%),33.5%);background-image:linear-gradient(var(--bd-brand),var(--bd-brand));cursor:pointer;z-index:1;background-repeat:no-repeat;background-size:70% 100%;border-radius:5px;width:100%;min-width:350px;height:8px;transition:opacity .2s}.bd-slider-marker-container{justify-content:space-between;width:98%;display:flex;position:absolute;bottom:0}.bd-slider-marker{cursor:pointer;font-size:12px;position:absolute;transform:translate(-50%)}.bd-slider-marker:before{content:"";z-index:-1;background:#fff3;width:2px;height:24px;position:absolute;top:-26px;left:calc(50% - 1px)}.bd-setting-item.inline:first-child:has(.bd-slider-wrap){padding-top:50px}';var qp='.bd-switch{transition:filter .25s cubic-bezier(0,.3,.7,1),opacity .25s cubic-bezier(0,.3,.7,1);position:relative}.bd-switch-body{--switch-color:#72767d;--symbol1path:path("M5.13231 6.72963L6.7233 5.13864L14.855 13.2704L13.264 14.8614L5.13231 6.72963Z");--symbol2path:path("M13.2704 5.13864L14.8614 6.72963L6.72963 14.8614L5.13864 13.2704L13.2704 5.13864Z");background-color:var(--switch-color);border-radius:14px;width:40px;height:24px;transition:background-color .25s cubic-bezier(0,.3,.7,1);position:relative}.bd-switch input:active+.bd-switch-body{--switch-color:var(--bd-brand)}.bd-switch input:checked+.bd-switch-body{--switch-color:var(--bd-brand);--symbol1path:path("M7.89561 14.8538L6.30462 13.2629L14.3099 5.25755L15.9009 6.84854L7.89561 14.8538Z");--symbol2path:path("M4.08643 11.0903L5.67742 9.49929L9.4485 13.2704L7.85751 14.8614L4.08643 11.0903Z")}.full-motion .bd-switch input:active+.bd-switch-body{--symbol1path:path("M6.56666 11.0013L6.56666 8.96683L13.5667 8.96683L13.5667 11.0013L6.56666 11.0013Z");--symbol2path:path("M13.5582 8.96683L13.5582 11.0013L6.56192 11.0013L6.56192 8.96683L13.5582 8.96683Z")}.bd-switch input:checked:active+.bd-switch-body{--switch-color:var(--bd-brand)}.full-motion .bd-switch input:checked:active+.bd-switch-body{--symbol1path:path("M6.56666 11.0013L6.56666 8.96683L13.5667 8.96683L13.5667 11.0013L6.56666 11.0013Z");--symbol2path:path("M13.5582 8.96683L13.5582 11.0013L6.56192 11.0013L6.56192 8.96683L13.5582 8.96683Z")}.bd-switch .bd-switch-symbol path{fill:var(--switch-color);transition:all .25s cubic-bezier(0,.3,.7,1)}.bd-switch .bd-switch-symbol path:first-child{d:var(--symbol1path)}.bd-switch .bd-switch-symbol path:last-child{d:var(--symbol2path)}.bd-switch input{z-index:1;opacity:0;cursor:pointer;border-radius:100px;width:100%;height:100%;margin:0;position:absolute}.bd-switch-body .bd-switch-slider{width:28px;height:18px;margin:3px;transition:all .25s cubic-bezier(0,.3,.7,1);display:block;position:absolute;left:-3px}.bd-switch input:active+.bd-switch-body .bd-switch-slider{left:1px}.bd-switch input:checked+.bd-switch-body .bd-switch-slider{left:12px}.bd-switch input:active:checked+.bd-switch-body .bd-switch-slider{left:8px}.bd-switch-body .bd-switch-slider .bd-switch-handle{transition:all .25s cubic-bezier(0,.3,.7,1);position:relative}.bd-switch input:active+.bd-switch-body .bd-switch-handle{y:1;x:0;width:28px;height:18px}.bd-switch input:checked:active+.bd-switch-body .bd-switch-handle{x:0}.bd-switch-disabled{opacity:.5;filter:grayscale()}.bd-switch-disabled input{cursor:not-allowed}';var Hp=".bd-tab-bar{flex-direction:row;display:flex}.bd-tab-item{text-align:center;-webkit-app-region:no-drag;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;min-width:40px;color:var(--interactive-text-default);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin-right:16px;padding:2px 8px;font-size:16px;font-weight:500;line-height:20px;display:flex;position:relative;overflow:hidden}.bd-tab-item:last-child{margin:0}.bd-tab-item:hover,.bd-tab-item.selected{color:var(--interactive-text-active)}.bd-tab-item.selected{cursor:default;background-color:var(--interactive-background-selected)}.bd-tab-item:hover{background-color:var(--interactive-background-hover)}.bd-tab-item:active{background-color:var(--interactive-background-active)}";var Wp=".bd-text-input{box-sizing:border-box;border-radius:var(--radius-sm);min-width:250px;color:var(--text-default);background-color:var(--input-background-default);border:1px solid var(--input-border-default);height:40px;padding:10px;font-size:16px}.bd-text-input:focus-within{border-color:var(--bd-brand)}.bd-text-input:disabled{cursor:not-allowed;opacity:.5}";var _p="#bd-toasts{pointer-events:none;z-index:1003;flex-direction:column;justify-content:flex-end;align-items:center;gap:10px;padding-bottom:40px;display:flex;position:absolute;inset:0}.bd-toast{--toast-bg:hsl(218,calc(var(--saturation-factor,1)*14%),15%);--toast-fg:var(--text-default);pointer-events:none;user-select:none;background-color:var(--toast-bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-high);color:var(--toast-fg);flex-shrink:0;align-items:center;padding:5px;font-size:16px;font-weight:500;display:flex;overflow:hidden}.bd-toast span,.bd-toast svg{padding:5px}.bd-toast svg{width:20px;height:20px;stroke:var(--toast-fg);padding-right:unset}.bd-toast.toast-info{--toast-bg:hsl(219,calc(var(--saturation-factor,1)*29%),13%);--toast-fg:hsl(216,calc(var(--saturation-factor,1)*76%),57%)}.bd-toast.toast-success{--toast-bg:hsl(168,calc(var(--saturation-factor,1)*24%),12%);--toast-fg:hsl(145,calc(var(--saturation-factor,1)*54%),49%)}.bd-toast.toast-warning{--toast-bg:hsl(37,calc(var(--saturation-factor,1)*22%),14%);--toast-fg:hsl(43,calc(var(--saturation-factor,1)*96%),56%)}.bd-toast.toast-error{--toast-bg:hsl(337,calc(var(--saturation-factor,1)*21%),12%);--toast-fg:hsl(0,calc(var(--saturation-factor,1)*54%),60%)}";var Vp=".bd-layer{position:absolute}.bd-tooltip{box-sizing:border-box;word-wrap:break-word;z-index:1002;will-change:opacity,transform;max-width:190px;box-shadow:var(--elevation-high);color:var(--text-strong);border-radius:5px;font-size:14px;font-weight:500;line-height:16px;position:relative}.bd-tooltip-content{padding:8px 12px;overflow:hidden}.bd-tooltip-pointer{pointer-events:none;border:5px solid #0000;width:0;height:0}.bd-tooltip-primary{background-color:var(--background-base-low);color:var(--text-default)}.bd-tooltip-primary .bd-tooltip-pointer{border-top-color:var(--background-base-lowest)}.bd-tooltip-info{background-color:#4a90e2}.bd-tooltip-info .bd-tooltip-pointer{border-top-color:#4a90e2}.bd-tooltip-success{background-color:#43b581}.bd-tooltip-success .bd-tooltip-pointer{border-top-color:#43b581}.bd-tooltip-danger{background-color:#f04747}.bd-tooltip-danger .bd-tooltip-pointer{border-top-color:#f04747}.bd-tooltip-warn{background-color:#ffa600}.bd-tooltip-warn .bd-tooltip-pointer{border-top-color:#ffa600}.bd-tooltip-top .bd-tooltip-pointer{margin-left:-5px;position:absolute;top:100%;left:50%}.bd-tooltip-bottom .bd-tooltip-pointer{margin-left:-5px;position:absolute;bottom:100%;left:50%;transform:rotate(180deg)}.bd-tooltip-right .bd-tooltip-pointer{border-left-width:5px;margin-top:-5px;position:absolute;top:50%;right:100%;transform:rotate(90deg)}.bd-tooltip-left .bd-tooltip-pointer{border-left-width:5px;margin-top:-5px;position:absolute;top:50%;left:100%;transform:rotate(270deg)}";var Gp=".bd-filled-checkmark{color:var(--interactive-text-active);background:#43b581;border-radius:50%;justify-content:center;align-items:center;margin-right:4px;padding:3px;display:flex}.bd-empty-updates{color:var(--text-strong);flex-direction:column;justify-content:center;align-items:center;font-size:16px;font-weight:500;display:flex}.bd-empty-updates svg{color:#43b581;margin-bottom:20px}.bd-button.bd-button-icon svg{color:var(--interactive-text-default)}.bd-button.bd-button-icon:hover svg{color:var(--interactive-text-hover)}.bd-button.bd-button-icon.animate{animation:.5s linear infinite bd-update-spin}.bd-button.bd-button-icon.no-animate{animation:none!important}.bd-settings-group-title .bd-button-icon{margin-left:3px;margin-right:-8px}@keyframes bd-update-spin{0%{transform:rotate(0)}50%{transform:rotate(180deg)}to{transform:rotate(360deg)}}";var Kp=".bd-empty-image-container{flex-direction:column;align-items:center;max-width:340px;margin:150px auto 0;display:flex}.bd-empty-image-title{color:var(--text-strong);text-align:center;margin:16px 0 8px;font-size:24px;font-weight:600}.bd-empty-image-message{color:var(--text-default);text-align:center;margin-bottom:16px}";var $p=".bd-empty-results{color:var(--text-default);flex-direction:column;align-items:center;margin-top:100px;font-size:16px;line-height:24px;display:flex}.bd-empty-results-text{text-align:center;width:280px;margin-top:40px}";var Zp=".bd-button{box-sizing:border-box;border-radius:var(--radius-sm);user-select:none;background:0 0;border:none;justify-content:center;align-items:center;padding:2px 16px;font-size:14px;font-weight:500;line-height:16px;display:flex;position:relative}.bd-button:disabled{cursor:not-allowed;opacity:.5}.bd-button .bd-button-content{--button--underline-color:transparent;background-image:linear-gradient(0deg,transparent,transparent 1px,var(--button--underline-color)0,var(--button--underline-color)2px,transparent 0);justify-content:center;align-items:center;display:flex}.bd-button:disabled .bd-button-content{background-image:none!important}.bd-button-outlined:disabled{background-color:#0000!important}.bd-button-tiny{width:52px;min-width:52px;height:24px;min-height:24px}.bd-button-small{width:60px;min-width:60px;height:32px;min-height:32px}.bd-button-medium{width:96px;min-width:96px;height:38px;min-height:38px}.bd-button-large{width:130px;min-width:130px;height:44px;min-height:44px}.bd-button-xlarge{width:148px;min-width:148px;height:50px;min-height:50px;padding:2px 20px;font-size:16px;line-height:normal}.bd-button-icon{height:auto;padding:4px}.bd-button-grow,.bd-button-icon{width:auto}.bd-button-filled{-webkit-transition:background-color .17s,color .17s;transition:background-color .17s,color .17s}.bd-button-outlined{border-style:solid;border-width:1px;-webkit-transition:color .17s,background-color .17s,border-color .17s;transition:color .17s,background-color .17s,border-color .17s}.bd-button-blank{color:currentColor;background:0 0;border:0;margin:0}.bd-button-filled .bd-button-content,.bd-button-link .bd-button-content,.bd-button-outlined .bd-button-content{white-space:nowrap;text-overflow:ellipsis;margin:0 auto;overflow:hidden}.bd-button-filled.bd-button-color-brand{color:var(--white-500);background-color:var(--bd-brand)}.bd-button-filled.bd-button-color-brand:hover{background-color:var(--bd-brand-hover)}.bd-button-filled.bd-button-color-brand:active{background-color:var(--bd-brand-active)}.bd-button-filled.bd-button-color-brand:disabled{background-color:var(--bd-brand);opacity:.4}.bd-button-outlined.bd-button-color-brand{color:var(--control-secondary-text-default);border-color:var(--control-secondary-border-default)}.bd-button-outlined.bd-button-color-brand:hover{background-color:var(--button-outline-brand-background-hover);border-color:var(--control-secondary-border-hover);color:var(--control-secondary-text-hover)}.bd-button-outlined.bd-button-color-brand:active{background-color:var(--control-secondary-background-active);border-color:var(--button-outline-brand-border-active);color:var(--control-secondary-text-active)}.bd-button-link.bd-button-color-brand{color:var(--bd-brand)}.bd-button-link.bd-button-color-brand:hover .bd-button-content{--button--underline-color:var(--bd-brand)}.bd-button-filled.bd-button-color-blurple{color:var(--white-500);background-color:var(--brand-experiment)}.bd-button-filled.bd-button-color-blurple:hover{background-color:var(--brand-experiment-560)}.bd-button-filled.bd-button-color-blurple:active{background-color:var(--brand-experiment-600)}.bd-button-filled.bd-button-color-blurple:disabled{background-color:var(--brand-experiment)}.bd-button-outlined.bd-button-color-blurple{color:var(--control-secondary-text-default);border-color:var(--control-secondary-border-default)}.bd-button-outlined.bd-button-color-blurple:hover{background-color:var(--button-outline-brand-background-hover);border-color:var(--control-secondary-border-hover);color:var(--control-secondary-text-hover)}.bd-button-outlined.bd-button-color-blurple:active{background-color:var(--control-secondary-background-active);border-color:var(--button-outline-brand-border-active);color:var(--control-secondary-text-active)}.bd-button-link.bd-button-color-blurple{color:var(--brand-experiment)}.bd-button-link.bd-button-color-blurple:hover .bd-button-content{--button--underline-color:var(--brand-experiment)}.bd-button-filled.bd-button-color-yellow{color:var(--white-500);background-color:var(--status-warning)}.bd-button-filled.bd-button-color-yellow:active,.bd-button-filled.bd-button-color-yellow:hover{background-color:null}.bd-button-filled.bd-button-color-yellow:disabled{background-color:var(--status-warning)}.bd-button-outlined.bd-button-color-yellow{color:var(--status-warning);border-color:var(--status-warning)}.bd-button-outlined.bd-button-color-yellow:active{background-color:hsl(var(--yellow-300-hsl)/.1)}.bd-button-link.bd-button-color-yellow{color:var(--status-warning)}.bd-button-link.bd-button-color-yellow:hover .bd-button-content{--button--underline-color:var(--status-warning)}.bd-button-filled.bd-button-color-link{color:var(--white-500);background-color:var(--text-link)}.bd-button-filled.bd-button-color-link:active,.bd-button-filled.bd-button-color-link:hover{background-color:null}.bd-button-filled.bd-button-color-link:disabled{background-color:var(--text-link)}.bd-button-outlined.bd-button-color-link{color:var(--text-link);border-color:var(--text-link)}.bd-button-outlined.bd-button-color-link:active{background-color:hsl(var(--text-link-hsl)/.1)}.bd-button-link.bd-button-color-link{color:var(--text-link)}.bd-button-link.bd-button-color-link:hover .bd-button-content{--button--underline-color:var(--text-link)}.bd-button-filled.bd-button-color-white{color:var(--primary-500);background-color:var(--white-500)}.bd-button-filled.bd-button-color-white:active,.bd-button-filled.bd-button-color-white:hover{background-color:null}.bd-button-filled.bd-button-color-white:disabled{background-color:var(--white-500)}.bd-button-outlined.bd-button-color-white{color:var(--white-500);border-color:var(--white-500)}.bd-button-outlined.bd-button-color-white:active{background-color:hsl(var(--white-500-hsl)/.1)}.bd-button-link.bd-button-color-white{color:var(--white-500)}.bd-button-link.bd-button-color-white:hover .bd-button-content{--button--underline-color:var(--white-500)}.bd-button-filled.bd-button-color-red{color:var(--white-500);background-color:var(--control-critical-primary-background-default)}.bd-button-filled.bd-button-color-red:hover{background-color:var(--control-critical-primary-background-hover)}.bd-button-filled.bd-button-color-red:active{background-color:var(--control-critical-primary-background-active)}.bd-button-outlined.bd-button-color-red{color:var(--control-critical-secondary-text-default);border-color:var(--control-critical-secondary-border-default)}.bd-button-outlined.bd-button-color-red:hover{background-color:var(--control-critical-secondary-border-hover);border-color:var(--control-critical-secondary-border-hover);color:var(--control-critical-secondary-border-hover)}.bd-button-outlined.bd-button-color-red:active{background-color:var(--control-critical-secondary-background-active);border-color:var(--control-critical-secondary-border-active);color:var(--control-critical-secondary-text-active)}.bd-button-link.bd-button-color-red{color:var(--text-danger)}.bd-button-link.bd-button-color-red:hover .bd-button-content{--button--underline-color:var(--text-danger)}.bd-button-filled.bd-button-color-green{color:var(--white-500);background-color:var(--control-connect-background-default)}.bd-button-filled.bd-button-color-green:hover{background-color:var(--control-connect-background-hover)}.bd-button-filled.bd-button-color-green:active{background-color:var(--control-connect-background-active)}.bd-button-outlined.bd-button-color-green{color:var(--control-primary-text-default);border-color:var(--control-connect-border-default)}.bd-button-outlined.bd-button-color-green:hover{background-color:var(--control-connect-background-hover);border-color:var(--control-connect-border-hover);color:var(--control-primary-text-hover)}.bd-button-outlined.bd-button-color-green:active{background-color:var(--control-connect-background-active);border-color:var(--control-connect-border-active);color:var(--control-primary-text-active)}.bd-button-link.bd-button-color-green{color:var(--green-360)}.bd-button-link.bd-button-color-green:hover .bd-button-content{--button--underline-color:var(--green-360)}.bd-button-outlined.bd-button-color-primary{color:var(--button-outline-primary-text);border-color:var(--control-secondary-border-default)}.bd-button-outlined.bd-button-color-primary:hover{background-color:var(--control-secondary-background-hover);border-color:var(--control-secondary-border-hover);color:var(--control-secondary-text-hover)}.bd-button-outlined.bd-button-color-primary:active{background-color:var(--control-secondary-background-active);border-color:var(--control-secondary-border-active);color:var(--control-secondary-text-active)}.bd-button-filled.bd-button-color-primary{color:var(--text-default);background-color:var(--control-secondary-background-default)}.bd-button-filled.bd-button-color-primary:hover{background-color:var(--control-secondary-background-hover)}.bd-button-filled.bd-button-color-primary:active{background-color:var(--control-secondary-background-active)}.theme-dark .bd-button-link.bd-button-color-primary{color:var(--white-500)}.theme-dark .bd-button-link.bd-button-color-primary:hover .bd-button-content{--button--underline-color:var(--white-500)}.theme-light .bd-button-link.bd-button-color-primary{color:var(--primary-400)}.theme-light .bd-button-link.bd-button-color-primary:hover .bd-button-content{--button--underline-color:var(--primary-400)}.theme-dark .bd-button-filled.bd-button-color-transparent{color:var(--primary-100);background-color:hsl(var(--white-500-hsl)/.1)}.theme-dark .bd-button-filled.bd-button-color-transparent:hover{background-color:hsl(var(--white-500-hsl)/.05)}.theme-dark .bd-button-filled.bd-button-color-transparent:active{background-color:hsl(var(--white-500-hsl)/.01)}.theme-dark .bd-button-filled.bd-button-color-transparent:disabled{background-color:hsl(var(--white-500-hsl)/.1)}.theme-dark .bd-button-outlined.bd-button-color-transparent{color:var(--primary-200);border-color:var(--primary-200)}.theme-dark .bd-button-outlined.bd-button-color-transparent:active{background-color:hsl(var(--primary-200-hsl)/.1)}.theme-dark .bd-button-link.bd-button-color-transparent{color:var(--primary-200)}.theme-dark .bd-button-link.bd-button-color-transparent:hover .bd-button-content{--button--underline-color:var(--primary-200)}.theme-light .bd-button-filled.bd-button-color-transparent{color:var(--primary-400);background-color:hsl(var(--primary-400-hsl)/.01)}.theme-light .bd-button-filled.bd-button-color-transparent:hover{background-color:hsl(var(--primary-400-hsl)/.2)}.theme-light .bd-button-filled.bd-button-color-transparent:active{background-color:hsl(var(--primary-400-hsl)/.25)}.theme-light .bd-button-filled.bd-button-color-transparent:disabled{background-color:hsl(var(--primary-400-hsl)/.01)}.theme-light .bd-button-outlined.bd-button-color-transparent{color:var(--primary-400);border-color:var(--primary-400)}.theme-light .bd-button-outlined.bd-button-color-transparent:active{background-color:hsl(var(--primary-400-hsl)/.1)}.theme-light .bd-button-link.bd-button-color-transparent{color:var(--primary-400)}.theme-light .bd-button-link.bd-button-color-transparent:hover .bd-button-content{--button--underline-color:var(--primary-400)}";var Xp=".bd-spinner{justify-content:center;align-items:center;display:flex}.bd-spinner-inner{contain:paint;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex;position:relative}.bd-spinner-spinning-circle,.bd-spinner-spinning-circle-simple{width:100%}:where(.bd-spinner-spinning-circle,.bd-spinner-spinning-circle-simple) .bd-spinner-inner{transform:rotate(280deg)}.bd-spinner-circular{width:100%;height:100%;animation:2s linear infinite bd-spinner-spinning-circle-rotate}.bd-spinner-circular .bd-spinner-path{stroke-dasharray:1 200;stroke-dashoffset:0;fill:none;stroke-width:6px;stroke-miterlimit:10;stroke-linecap:round;stroke:var(--brand-500);animation:2s ease-in-out infinite bd-spinner-spinning-circle-dash}.bd-spinner-circular .bd-spinner-path:nth-last-child(3){stroke:var(--text-brand);animation-delay:.23s}.bd-spinner-circular .bd-spinner-path:nth-last-child(2){stroke:var(--text-brand);opacity:.6;animation-delay:.15s}.bd-spinner-low-motion .bd-spinner-path{background-color:var(--interactive-text-normal);opacity:.3;border-radius:3px;width:6px;height:6px;margin-right:2px;animation:1.4s ease-in-out infinite bd-spinner-low-motion;display:inline-block}.bd-spinner-low-motion .bd-spinner-path:nth-child(2){animation-delay:.2s}.bd-spinner-low-motion .bd-spinner-path:nth-child(3){animation-delay:.4s}.bd-spinner-chasing-dots .bd-spinner-inner{animation:2s linear infinite bd-spinner-chasing-dots-rotate}.bd-spinner-chasing-dots .bd-spinner-path{background-color:var(--brand-500);border-radius:100%;width:60%;height:60%;animation:2s ease-in-out infinite bd-spinner-chasing-dots-bounce;display:inline-block;position:absolute;top:0}.bd-spinner-chasing-dots .bd-spinner-path:last-child{animation-delay:-1s;top:auto;bottom:0}.bd-spinner-wandering-cubes .bd-spinner-path{background-color:var(--brand-400);width:10px;height:10px;animation:1.8s ease-in-out infinite bd-spinner-wandering-cubes;position:absolute;top:0;left:0}.bd-spinner-wandering-cubes .bd-spinner-path:last-child{animation-delay:.9s}.bd-spinner-pulsing-ellipsis .bd-spinner-inner{justify-content:center;width:28px;height:auto;display:flex;position:relative}.bd-spinner-pulsing-ellipsis .bd-spinner-path{background-color:var(--primary-100);opacity:.3;border-radius:3px;width:6px;height:6px;margin-right:2px;animation:1.4s ease-in-out infinite bd-spinner-pulsing-ellipsis;display:inline-block}.bd-spinner-pulsing-ellipsis .bd-spinner-path:nth-child(2){animation-delay:.2s}.bd-spinner-pulsing-ellipsis .bd-spinner-path:nth-child(3){animation-delay:.4s}@keyframes bd-spinner-low-motion{0%{opacity:1}50%{opacity:.6}to{opacity:1}}@keyframes bd-spinner-spinning-circle-rotate{to{transform:rotate(360deg)}}@keyframes bd-spinner-spinning-circle-dash{0%{stroke-dasharray:1 200;stroke-dashoffset:0}50%{stroke-dasharray:130 200}to{stroke-dasharray:130 200;stroke-dashoffset:-124px}}@keyframes bd-spinner-chasing-dots-rotate{to{transform:rotate(360deg)}}@keyframes bd-spinner-chasing-dots-bounce{0%,to{transform:scale(0)}50%{transform:scale(1)}}@keyframes bd-spinner-wandering-cubes{25%{transform:translate(22px)rotate(-90deg)scale(.5)}50%{transform:translate(22px)translateY(22px)rotate(-180deg)}75%{transform:translate(0)translateY(22px)rotate(-270deg)scale(.5)}to{transform:rotate(-360deg)}}@keyframes bd-spinner-pulsing-ellipsis{0%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.8)}to{opacity:1;transform:scale(1)}}";var Jp=".bd-search-wrapper{background-color:var(--background-base-lowest);color:var(--text-default);border:0;border-radius:3px;outline:none;align-items:center;padding:3px;display:flex}.bd-search{color:var(--text-default);background:0 0;border:0;flex:1;padding:2px 3px}.bd-search::-webkit-input-placeholder{color:var(--text-default)}.bd-search-wrapper>svg{color:var(--interactive-text-default);margin-right:2px}.bd-search-wrapper>.bd-button{background:0 0;margin-right:2px;padding:0}.bd-search-wrapper>.bd-button>svg .fill{fill:var(--interactive-text-default)}.bd-search-wrapper>.bd-button:hover>svg .fill{fill:var(--interactive-text-hover)}";var Yp=".bd-text-normal{color:var(--text-default)}.bd-text-muted{color:var(--text-muted)}.bd-text-error{color:var(--red-400)}.bd-text-brand{color:var(--text-brand)}.bd-text-link{color:var(--text-link)}.bd-header-primary{color:var(--text-strong)}.bd-header-secondary{color:var(--text-default)}.bd-text-yellow{color:var(--text-feedback-warning)}.bd-text-green{color:var(--text-feedback-positive)}.bd-text-red{color:var(--status-danger)}.bd-text-white{color:var(--white-500)}.bd-text-10{font-size:10px;line-height:12px}.bd-text-12{font-size:12px;line-height:16px}.bd-text-14{font-size:14px;line-height:18px}.bd-text-16{font-size:16px;line-height:20px}.bd-text-20{font-size:20px;line-height:24px}.bd-text-24{font-size:24px;line-height:30px}.bd-text-32{font-size:32px;line-height:40px}.bd-text-strong{font-weight:600}.bd-selectable{user-select:text}";var Qp=xp+vp+wp+kp+Cp+Sp+Lp+Ip+Ap+Tp+Ep+Mp+Dp+Pp+zp+Bp+Np+Fp+Op+Rp+Up+jp+qp+Hp+Wp+_p+Vp+Gp+Kp+$p+Zp+Xp+Jp+Yp+":root{--bd-brand:#3e82e5;--bd-brand-hover:#3875ce;--bd-brand-active:#3268b7}.bd-chat-badge{vertical-align:bottom;height:1.25rem;line-height:1.375rem;display:inline-block}.bd-member-badge{height:15px;margin-left:4px}.bd-link{text-decoration:none}.bd-link:hover{text-decoration:underline}.bd-divider{border:none;border-top:thin solid var(--border-subtle);width:100%;height:1px;margin:0}.bd-version-info{cursor:pointer}.bd-settings-title-extend{width:100%}.bd-settings-page-title-children{margin-left:auto;margin-right:12px}";be();Fn();L();V();$e();go();tt();L();ee();function Ps({type:a}){switch(a){case"info":return i.createElement(Ue,{size:"24px"});case"success":return i.createElement(Nt,{size:"24px"});case"warning":return i.createElement(et,{size:"24px"});case"error":return i.createElement(Bt,{size:"24px"});default:return null}}Ft();we();var zs=C.ReactSpring;function Vv({content:a,type:e,icon:t,style:o}){return i.createElement(zs.animated.div,{className:O("bd-toast",`toast-${e}`),style:o},t&&i.createElement(Ps,{type:e}),i.createElement("span",null,a))}function Gv(){let a=he(q,()=>q.toasts),e=zs.useTransition(a,{keys:t=>t.key,from:{opacity:0,transform:"translateY(100%)"},enter:{opacity:1,transform:"translateY(0px)"},leave:{opacity:0,transform:"translateY(100%)"},config:zs.config.stiff});return i.createElement(sl,null,e((t,o)=>i.createElement(Vv,{key:o.key,content:o.content,type:o.type,icon:o.icon,style:t})))}var Wr=class a{static root;static initialize(){let e=document.createElement("div");e.id="bd-toasts",z.bdBody.appendChild(e),a.root=bt.createRoot(e),a.root.render(i.createElement(Gv))}};Zt();L();$e();ce();tt();W();ee();me();oe();be();nt();var Bs=class{static activeNotifications=new Map;static initialize(){let e=ne(o=>o.defaultRules&&o.parse).defaultRules.codeBlock,t=Y(["codeActions"],{firstId:206314,cacheId:"core-mdinstallcss-codeBlockStyles"});!e.react||typeof e.react!="function"||(G.after("InstallCSS",e,"react",(o,[r],n)=>{if(!w.get("customcss","customcss")||!r.content||n?.type!=="pre"||r?.lang?.toLowerCase()!=="css")return;let l=xe(n,c=>c?.className?.includes("codeActions"),{walkable:["props","children"]});if(!l||!r?.content)return;let u=Array.isArray(l.children)?l.children:[l.children];l.children=[...u,i.createElement(Qo,{style:{cursor:"pointer"},size:"16px",key:"icon",onClick:async c=>{if(c.shiftKey){r.content&&this.handleCSSInstall(r.content);return}P.showConfirmationModal(p("Modals.confirmAction"),p("Modals.installCss"),{confirmText:p("Modals.okay"),cancelText:p("Modals.cancel"),onConfirm:()=>r?.content&&this.handleCSSInstall(r.content)})}})]}),z.injectStyle("bd-installcss",`.${t.markup} .${t.codeContainer}:hover .${t.codeActions} { display: flex; flex-direction: row-reverse; gap: 8px; }`))}static handleCSSInstall(e){try{let o=(qe.savedCss||"")+` `+e;qe.saveCSS(o),qe.insertCSS(o),q.show(p("CustomCSS.cssInstallSuccess"),{type:"success"});let r=`css-undo-${Date.now()}`;this.activeNotifications.set(r,e),ia.show({id:r,title:p("CustomCSS.cssInstalled"),content:p("CustomCSS.cssReverting"),type:"warning",duration:1e4,actions:[{label:"Keep",onClick:()=>this.keepChanges(r)}],onClose:()=>this.revertCSS(r)})}catch(t){b.log("InstallCSS","Failed to install CSS:",t),q.show(p("CustomCSS.cssInstallError"),{type:"error"})}}static keepChanges(e){this.activeNotifications.delete(e),q.show(p("CustomCSS.cssKept"),{type:"success"})}static revertCSS(e){let t=this.activeNotifications.get(e);if(!t)return;let r=(qe.savedCss||"").replace(t,"");qe.saveCSS(r),qe.insertCSS(r),this.activeNotifications.delete(e),q.show(p("CustomCSS.cssReverted"),{type:"error"})}},em=Bs;me();Zt();var tm=new class{hasStarted=!1;trustBetterDiscordProtocol(){G.after("BetterDiscordProtocol",Aa("MaskedLinkStore"),"isTrustedProtocol",(e,[t],o)=>o||t.startsWith("betterdiscord://"))}async startup(){if(this.hasStarted)return;this.hasStarted=!0,te.getSystemAccentColor().then(r=>z.injectStyle("bd-os-values",`:root {--os-accent-color: #${r};}`)),this.trustBetterDiscordProtocol(),b.log("Startup","Injecting BD Styles"),z.injectStyle("bd-stylesheet",Qp.toString()),b.log("Startup","Initializing AddonStore"),Xe.initialize(),b.log("Startup","Initializing LocaleManager"),Un.initialize(),b.log("Startup","Initializing Settings"),w.initialize(),xa.initialize(),b.log("Startup","Initializing DOMManager"),z.initialize(),b.log("Startup","Initializing CommandManager"),ta.initialize(),b.log("Startup","Initializing Internal InstallCSS"),em.initialize(),b.log("Startup","Waiting for connection..."),await this.waitForConnection(),b.log("Startup","Initializing FloatingWindows"),ea.initialize(),b.log("Startup","Initializing Toasts"),Wr.initialize(),b.log("Startup","Initializing Builtins");for(let r in ei)ei[r].initialize();b.log("Startup","Loading Plugins");let e=ie.initialize();b.log("Startup","Loading Themes");let t=Ce.initialize();b.log("Startup","Initializing Updater"),Hr.initialize(),b.log("Startup","Removing Loading Icon"),so.hide(),b.log("Startup","Collecting Startup Errors"),P.showAddonErrors({plugins:e,themes:t});let o=Q.get("misc","version");_.get("version")!==o&&(P.showChangelogModal(lo),Q.set("misc","version",_.get("version")))}waitForConnection(){return new Promise(e=>{if(De.UserStore?.getCurrentUser())return e();C.Dispatcher?.subscribe("CONNECTION_OPEN",e)})}};oe();at();kt();V();He();var _r=class{#e;constructor(e){this.#e=e}get folder(){return this.#e.addonFolder}isEnabled(e){return this.#e.isEnabled(e)}enable(e){return this.#e.enableAddon(e)}disable(e){return this.#e.disableAddon(e)}toggle(e){return this.#e.toggleAddon(e)}reload(e){return this.#e.reloadAddon(e)}get(e){return this.#e.getAddon(e)}getAll(){return this.#e.addonList.map(e=>this.#e.getAddon(e.id))}};Object.freeze(_r);Object.freeze(_r.prototype);var Ns=_r;zt();var Vr=class{#e="";constructor(e){e&&(this.#e=e)}save(...e){return this.#e?Q.setData(this.#e,...e):Q.setData(...e)}load(...e){return this.#e?Q.getData(this.#e,e[0]):Q.getData(e[0],e[1])}async recache(...e){let t=this.#e||e[0];return Q.recache(t)}delete(...e){return this.#e?Q.deleteData(this.#e,e[0]):Q.deleteData(e[0],e[1])}};Object.freeze(Vr);Object.freeze(Vr.prototype);var Fs=Vr;$e();var Gr=class{get screenWidth(){return Math.max(document.documentElement.clientWidth,window.innerWidth||0)}get screenHeight(){return Math.max(document.documentElement.clientHeight,window.innerHeight||0)}#e="";constructor(e){e&&(this.#e=e)}addStyle(...e){if(e.length===1)if(this.#e)e.unshift(this.#e);else throw new Error("No css provided");z.injectStyle(e[0],e[1])}removeStyle(...e){let t=e[0];if(this.#e&&arguments.length===0&&(t=this.#e),!t)throw new Error("No id provided");z.removeStyle(t)}onRemoved(e,t){return z.onRemoved(e,t)}onAdded(e,t){return z.onAdded(e,t)}animate(e,t,o={}){return z.animate({update:e,duration:t,timing:o.timing})}createElement(e,t={},...o){return z.createElement(e,t,...o)}parseHTML(e,t=!1){return z.parseHTML(e,t)}};Object.freeze(Gr);Object.freeze(Gr.prototype);var Os=Gr;oe();Zt();function Po(a){return typeof a!="object"&&typeof a!="function"&&a!==null}var Kr=class{#e="";constructor(e){e&&(this.#e=e)}before(...e){if(!this.#e&&!e[3])throw new Error("Trying to use shorthand without a bound api");if(this.#e){let[s,d,l]=e;if(typeof l!="function")throw new Error("3rd parameter should be function");if(typeof d!="string")throw new Error("2nd parameter should be function name");if(Po(s))throw new Error("1st parameter should be module");return G.pushChildPatch(this.#e,s,d,l,{type:"before"})}let[t,o,r,n]=e;if(typeof n!="function")throw new Error("4th parameter should be function");if(typeof r!="string")throw new Error("3rd parameter should be function name");if(Po(o))throw new Error("2nd parameter should be module");if(typeof t!="string")throw new Error("1st parameter should be string");return G.pushChildPatch(t,o,r,n,{type:"before"})}instead(...e){if(!this.#e&&!e[3])throw new Error("Trying to use shorthand without a bound api");if(this.#e){let[s,d,l]=e;if(typeof l!="function")throw new Error("3rd parameter should be function");if(typeof d!="string")throw new Error("2nd parameter should be function name");if(Po(s))throw new Error("1st parameter should be module");return G.pushChildPatch(this.#e,s,d,l,{type:"instead"})}let[t,o,r,n]=e;if(typeof n!="function")throw new Error("4th parameter should be function");if(typeof r!="string")throw new Error("3rd parameter should be function name");if(Po(o))throw new Error("2nd parameter should be module");if(typeof t!="string")throw new Error("1st parameter should be string");return G.pushChildPatch(t,o,r,n,{type:"instead"})}after(...e){if(!this.#e&&!e[3])throw new Error("Trying to use shorthand without a bound api");if(this.#e){let[s,d,l]=e;if(typeof l!="function")throw new Error("3rd parameter should be function");if(typeof d!="string")throw new Error("2nd parameter should be function name");if(Po(s))throw new Error("1st parameter should be module");return G.pushChildPatch(this.#e,s,d,l,{type:"after"})}let[t,o,r,n]=e;if(typeof n!="function")throw new Error("4th parameter should be function");if(typeof r!="string")throw new Error("3rd parameter should be function name");if(Po(o))throw new Error("2nd parameter should be module");if(typeof t!="string")throw new Error("1st parameter should be string");return G.pushChildPatch(t,o,r,n,{type:"after"})}getPatchesByCaller(e){return this.#e&&(e=this.#e),typeof e!="string"?b.err("BdApi.Patcher","Parameter 0 of getPatchesByCaller must be a string representing the caller"):G.getPatchesByCaller(e)}unpatchAll(e){if(this.#e&&(e=this.#e),typeof e!="string")return b.err("BdApi.Patcher","Parameter 0 of unpatchAll must be a string representing the caller");G.unpatchAll(e)}};Object.freeze(Kr);Object.freeze(Kr.prototype);var Rs=Kr;Fe();be();tt();V();$e();we();var $r=class{static __baseClass;static __errorPageClass;static get baseClass(){return this.__baseClass??=C.NoticesBaseClasses?.base}static get errorPageClass(){return this.__errorPageClass??=C.NoticesPageClasses?.errorPage}static info(e,t={}){return this.show(e,Object.assign({},t,{type:"info"}))}static warn(e,t={}){return this.show(e,Object.assign({},t,{type:"warning"}))}static error(e,t={}){return this.show(e,Object.assign({},t,{type:"error"}))}static success(e,t={}){return this.show(e,Object.assign({},t,{type:"success"}))}static createElement(e,t={},...o){let r=document.createElement(e);Object.assign(r,t);let n=o.filter(s=>s);return n.length>0&&r.append(...n),r}static show(e,t={}){let{type:o,buttons:r=[],timeout:n=0,onClose:s=()=>{}}=t;if(!this.ensureContainer())return;let l=function(c=!1){if(s?.(),c)return u.remove();u.classList.add("bd-notice-closing"),setTimeout(()=>{u.remove()},300)},u=this.createElement("div",{className:O("bd-notice",o&&`bd-notice-${o}`)},this.createElement("div",{className:"bd-notice-close",onclick:l.bind(null,!1)}),this.createElement("span",{className:"bd-notice-content"},e),...r.map(c=>!c||!c.label||typeof c.onClick!="function"?null:this.createElement("button",{className:"bd-notice-button",onclick:c.onClick.bind(null,l)},c.label)));return document.getElementById("bd-notices").appendChild(u),n>0&&setTimeout(l,n),l}static ensureContainer(){if(document.getElementById("bd-notices"))return!0;let e=document.querySelector(`.${this.baseClass}`);if(!e)return!1;let t=this.createElement("div",{id:"bd-notices"});return e.prepend(t),z.onRemoved(e,async()=>{if(!this.errorPageClass)return;(await new Promise(r=>z.onAdded(`.${this.errorPageClass}`,r))).prepend(t)}),!0}};$e();var zo=function(a){return`${a}px`},Kv=["primary","info","success","warn","danger"],$v=["top","right","bottom","left"],Zr=class a{node;label;style;side;preventFlip;disabled;active;element;tooltipElement;labelElement;observer;constructor(e,t,o={}){let{style:r="primary",side:n="top",preventFlip:s=!1,disabled:d=!1}=o;if(this.node=e,this.label=t,this.style=r,this.side=n,this.preventFlip=s,this.disabled=d,this.active=!1,!$v.includes(this.side))throw new Error(`Tooltip - Side ${this.side} does not exist.`);if(!Kv.includes(this.style))throw new Error(`Tooltip - Style ${this.style} does not exist.`);this.element=z.parseHTML('
'),this.tooltipElement=z.parseHTML('
'),this.tooltipElement.classList.add(`bd-tooltip-${this.style}`),this.labelElement=this.tooltipElement.childNodes[1],t instanceof HTMLElement?this.labelElement.append(t):this.labelElement.textContent=t,this.element.append(this.tooltipElement),this.node.addEventListener("mouseenter",()=>{this.disabled||this.show()}),this.node.addEventListener("mouseleave",()=>{this.hide()})}static create(e,t,o={}){return new a(e,t,o)}get container(){return document.querySelector("#app-mount")}get canShowAbove(){return this.node.getBoundingClientRect().top-this.element.offsetHeight>=0}get canShowBelow(){return this.node.getBoundingClientRect().top+this.node.offsetHeight+this.element.offsetHeight<=z.screenHeight}get canShowLeft(){return this.node.getBoundingClientRect().left-this.element.offsetWidth>=0}get canShowRight(){return this.node.getBoundingClientRect().left+this.node.offsetWidth+this.element.offsetWidth<=z.screenWidth}hide(){this.active&&(this.active=!1,this.element.remove())}show(){this.active||(this.active=!0,this.container.append(this.element),this.side=="top"&&(this.canShowAbove||!this.canShowAbove&&this.preventFlip?this.showAbove():this.showBelow()),this.side=="bottom"&&(this.canShowBelow||!this.canShowBelow&&this.preventFlip?this.showBelow():this.showAbove()),this.side=="left"&&(this.canShowLeft||!this.canShowLeft&&this.preventFlip?this.showLeft():this.showRight()),this.side=="right"&&(this.canShowRight||!this.canShowRight&&this.preventFlip?this.showRight():this.showLeft()),!this.observer&&(this.observer=new MutationObserver(e=>{e.forEach(t=>{let o=Array.from(t.removedNodes),r=o.indexOf(this.node)>-1,n=o.some(s=>s.contains(this.node));(r||n)&&(this.hide(),this.observer?.disconnect())})}),this.observer.observe(document.body,{subtree:!0,childList:!0})))}showAbove(){this.tooltipElement.classList.add("bd-tooltip-top"),this.element.style.setProperty("top",zo(this.node.getBoundingClientRect().top-this.element.offsetHeight-10)),this.centerHorizontally()}showBelow(){this.tooltipElement.classList.add("bd-tooltip-bottom"),this.element.style.setProperty("top",zo(this.node.getBoundingClientRect().top+this.node.offsetHeight+10)),this.centerHorizontally()}showLeft(){this.tooltipElement.classList.add("bd-tooltip-left"),this.element.style.setProperty("left",zo(this.node.getBoundingClientRect().left-this.element.offsetWidth-10)),this.centerVertically()}showRight(){this.tooltipElement.classList.add("bd-tooltip-right"),this.element.style.setProperty("left",zo(this.node.getBoundingClientRect().left+this.node.offsetWidth+10)),this.centerVertically()}centerHorizontally(){let e=this.node.getBoundingClientRect().left+this.node.offsetWidth/2;this.element.style.setProperty("left",zo(e-this.element.offsetWidth/2))}centerVertically(){let e=this.node.getBoundingClientRect().top+this.node.offsetHeight/2;this.element.style.setProperty("top",zo(e-this.element.offsetHeight/2))}};L();ha();ce();var am={alert(a,e){P.alert(a,e)},showNotification(a){if(!w.get("settings","general","notificationEnabled"))return;let t={...{title:"",content:"",type:"info",duration:5e3,icon:null,actions:[]},...a};return ia.show(t)},createTooltip(a,e,t={}){return Zr.create(a,e,t)},showConfirmationModal(a,e,t={}){return P.showConfirmationModal(a,e,t)},showChangelogModal(a){return P.showChangelogModal(a)},showInviteModal(a){return P.showGuildJoinModal(a)},showToast(a,e={}){q.show(a,e)},showNotice(a,e={}){return $r.show(a,e)},async openDialog(a){let e=await te.openDialog(a);if(e.error)throw new Error(e.error);return e},buildSettingItem(a){return Yn(a)},buildSettingsPanel({settings:a,onChange:e,onDrawerToggle:t,getDrawerState:o}){if(!a?.length)throw new Error("No settings provided!");return i.createElement(fe,{id:"buildSettingsPanel",name:"BdApi.UI"},a.map(r=>{if(!r.id||!r.type)throw new Error("Setting item missing id or type");if(r.type==="category"){let n=r.hasOwnProperty("shown")?r.shown:!0;return i.createElement($a,{...r,onChange:e,onDrawerToggle:s=>t?.(r.id,s),shown:o?.(r.id,n)??n})}return Yn({...r,onChange:n=>{r?.onChange?.(n),e(null,r.id,n)}})}))}};Object.freeze(am);var Us=am;we();nt();me();Ut();var om={findInTree:xe,forceLoad:Zd,extend:jt,debounce:uo,escapeHTML(a){let e=document.createTextNode(""),t=document.createElement("span");return t.append(e),e.nodeValue=a,t.innerHTML},className:O,getNestedValue(a,e){return mt(a,e)},semverCompare:jr,Store:ke};Object.freeze(om);var js=om;oe();me();var va=(a,e={})=>(a.length>1&&typeof a[a.length-1]=="object"&&!Array.isArray(a[a.length-1])&&a[a.length-1]!==null&&Object.assign(e,a.pop()),[a,e]),ft={modules:un,Stores:De,Filters:{byKeys(...a){return F.byKeys(a)},byPrototypeKeys(...a){return F.byPrototypeKeys(a)},byRegex(a){return F.byRegex(a)},bySource(...a){return F.bySource(...a)},byStrings(...a){return F.byStrings(...a)},byDisplayName(a){return F.byDisplayName(a)},byStoreName(a){return F.byStoreName(a)},combine(...a){return F.combine(...a)},not(a){return F.not(a)},byComponentType(a){return e=>{let t=ct.getType(e);return typeof t=="function"&&a(t)}}},getWithKey(a,e={}){return"first"in e?b.error("BdApi.Webpack~getWithKey","Unsupported option first."):"defaultExport"in e&&typeof e.defaultExport!="boolean"?b.error("BdApi.Webpack~getWithKey","Invalid type for options.defaultExport",e.defaultExport,"Expected: boolean"):"searchExports"in e&&typeof e.searchExports!="boolean"?b.error("BdApi.Webpack~getWithKey","Invalid type for options.searchExports",e.searchExports,"Expected: boolean"):"raw"in e&&typeof e.raw!="boolean"?b.error("BdApi.Webpack~getWithKey","Invalid type for options.raw",e.raw,"Expected: boolean"):Pt(a,e)},getModule(a,e={}){return"first"in e&&typeof e.first!="boolean"?b.error("BdApi.Webpack~get","Invalid type for options.first",e.first,"Expected: boolean"):"defaultExport"in e&&typeof e.defaultExport!="boolean"?b.error("BdApi.Webpack~getModule","Invalid type for options.defaultExport",e.defaultExport,"Expected: boolean"):"searchExports"in e&&typeof e.searchExports!="boolean"?b.error("BdApi.Webpack~getModule","Invalid type for options.searchExports",e.searchExports,"Expected: boolean"):"raw"in e&&typeof e.raw!="boolean"?b.error("BdApi.Webpack~getModule","Invalid type for options.raw",e.raw,"Expected: boolean"):e.first===!1?mo(a,e):ne(a,e)},getModules(a,e={}){return"defaultExport"in e&&typeof e.defaultExport!="boolean"?b.error("BdApi.Webpack~getModules","Invalid type for options.defaultExport",e.defaultExport,"Expected: boolean"):"searchExports"in e&&typeof e.searchExports!="boolean"?b.error("BdApi.Webpack~getModules","Invalid type for options.searchExports",e.searchExports,"Expected: boolean"):"raw"in e&&typeof e.raw!="boolean"?b.error("BdApi.Webpack~getModules","Invalid type for options.raw",e.raw,"Expected: boolean"):mo(a,e)},getBulk(...a){return Ii(...a)},getBulkKeyed(a){return bn(a)},waitForModule(a,e={}){return"defaultExport"in e&&typeof e.defaultExport!="boolean"?b.error("BdApi.Webpack~waitForModule","Invalid type for options.defaultExport",e.defaultExport,"Expected: boolean"):"signal"in e&&!(e.signal instanceof AbortSignal)?b.error("BdApi.Webpack~waitForModule","Invalid type for options.signal",e.signal,"AbortSignal expected."):"searchExports"in e&&typeof e.searchExports!="boolean"?b.error("BdApi.Webpack~waitForModule","Invalid type for options.searchExports",e.searchExports,"Expected: boolean"):"raw"in e&&typeof e.raw!="boolean"?b.error("BdApi.Webpack~waitForModule","Invalid type for options.raw",e.raw,"Expected: boolean"):We(a,e)},getByRegex(a,e={}){return ft.getModule(F.byRegex(a),e)},getAllByRegex(a,e={}){return ft.getModule(F.byRegex(a),Object.assign({},e,{first:!1}))},getMangled(a,e,t={}){let{defaultExport:o=!1,searchExports:r=!1,raw:n=!1}=t;return typeof o!="boolean"?b.error("BdApi.Webpack~getMangled","Invalid type for options.defaultExport",o,"Expected: boolean"):typeof r!="boolean"?b.error("BdApi.Webpack~getMangled","Invalid type for options.searchExports",r,"Expected: boolean"):typeof n!="boolean"?b.error("BdApi.Webpack~getMangled","Invalid type for options.raw",n,"Expected: boolean"):ua(a,e,t)},getByPrototypeKeys(...a){let[e,t]=va(a);return ft.getModule(F.byPrototypeKeys(e),t)},getAllByPrototypeKeys(...a){let[e,t]=va(a);return ft.getModule(F.byPrototypeKeys(e),Object.assign({},t,{first:!1}))},getByKeys(...a){let[e,t]=va(a);return ft.getModule(F.byKeys(e),t)},getAllByKeys(...a){let[e,t]=va(a);return ft.getModule(F.byKeys(e),Object.assign({},t,{first:!1}))},getByStrings(...a){let[e,t]=va(a);return ft.getModule(F.byStrings(...e),t)},getAllByStrings(...a){let[e,t]=va(a);return ft.getModule(F.byStrings(...e),Object.assign({},t,{first:!1}))},getBySource(...a){let[e,t]=va(a);return ft.getModule(F.bySource(...e),t)},getAllBySource(...a){let[e,t]=va(a);return ft.getModule(F.bySource(...e),Object.assign({},t,{first:!1}))},getStore(a){return Aa(a)},getById(a){return Li(a)}};Object.freeze(ft);Object.freeze(F);var qs=ft;function rm(a){let t=new Response(a).body.getReader();return{read:()=>t.read(),cancel:()=>t.cancel()}}function nm(a){return new ReadableStream({async start(e){for(;;){let{done:t,value:o}=await a.read();if(t){e.close();break}else e.enqueue(o)}},type:"bytes"})}Ge();var Zv=20,Xv=3e3,Jv=new Set(["GET","PUT","POST","DELETE","PATCH","OPTIONS","HEAD","CONNECT","TRACE"]);function Yv(a){return{aborted:()=>a.aborted,reason:()=>a.reason,addListener:e=>{if(a.aborted)try{e()}finally{return()=>{}}let t=()=>e();return a.addEventListener("abort",t,{once:!0}),()=>void a.removeEventListener("abort",t)}}}var Hs=class extends Response{#e;constructor(e){super(e.body?nm(e.body):null,{headers:e.headers,status:e.status,statusText:e.statusText}),this.#e=e}get url(){return this.#e.url}get redirected(){return this.#e.redirected}};async function Qv(a,e){let t;a instanceof Request?t=a:a instanceof URL?t=new Request(a.href,e):t=new Request(a,e);let o=await M.nativeFetch({url:t.url,body:t.body?rm(t.body):null,headers:Object.fromEntries(t.headers),keepalive:t.keepalive,method:Jv.has(t.method)?t.method:"GET",redirect:t.redirect,signal:t.signal?Yv(t.signal):null,timeout:e?.timeout??Xv,maxRedirects:e?.maxRedirects??Zv,rejectUnauthorized:e?.rejectUnauthorized??!0});return new Hs(o)}var Ws=Qv;var ew={error:"error",debug:"debug",log:"log",warn:"warn",info:"info"},tw=a=>ew[a]||"log",Xr=class{#e="";#t="color: #3a71c1; font-weight: 700;";#a="";constructor(e,t,o){e&&(this.#e=e,t&&(this.#t=t),o&&(this.#a=o))}stacktrace(e,t,o){this.#e&&(o=t,t=e,e=this.#e),console.error(`%c[${e}]%c ${t} %c`,this.#t,"color: red; font-weight: 700;","color: red;",o)}error(...e){this.#o(e,"error")}warn(...e){this.#o(e,"warn")}info(...e){this.#o(e,"info")}debug(...e){this.#o(e,"debug")}log(...e){this.#o(e)}#o(e,t="log"){t=tw(t);let o=this.#e;this.#e||(o=e.shift()),console[t](`%c[${o}]%c`,this.#t,this.#a,...e)}};Object.freeze(Xr);Object.freeze(Xr.prototype);var _s=Xr;var Qa=class{#e="";constructor(e){e&&(this.#e=e)}Types={OptionTypes:Ze,CommandTypes:wr,InputTypes:On,MessageEmbedTypes:rf};register(...e){let t=this.#e||e[0],o=e[this.#e?0:1];if(this.#t(t,o))return ta.registerCommand(t,o)}unregister(...e){let t=this.#e||e[0],o=e[this.#e?0:1];this.#a(t,o)&&ta.unregisterCommand(t,o)}#t(e,t){if(e==="BetterDiscord")throw new Error("Plugins cannot register commands as BetterDiscord");return typeof e=="string"&&typeof t=="object"&&t?.id&&t?.name&&t?.execute}#a(e,t){return typeof e=="string"&&(!t||typeof t=="string")}unregisterAll(e){this.#e&&(e=this.#e),ta.unregisterAll(e)}getCommandsByCaller(e){return this.#e&&(e=this.#e),ta.getCommandsByCaller(e)}};Object.freeze(Qa);Object.freeze(Qa.prototype);Object.freeze(Qa.prototype.Types);Object.freeze(Qa.constructor);var Vs=Qa;zt();Ft();var Jr=class{#e;constructor(e){this.#e=e}useStateFromStores=he;useForceUpdate=xr;useData(...e){let t=this.#e||e.shift();return Q.useData(t,e[0])}};Object.freeze(Jr);Object.freeze(Jr.prototype);var Gs=Jr;br();ha();ut();Xt();ve();go();var Ks=new Map,lm=new Ns(ie),um=new Ns(Ce),cm=new Rs,fm=new Fs,pm=new Os,mm=new Qn,hm=new Vs,aw=new Gs,gm=new _s,bm={get Tooltip(){return C.Tooltip},get ColorInput(){return zr},get DropdownInput(){return Lt},get SettingItem(){return ya},get KeybindInput(){return Pr},get NumberInput(){return Tr},get RadioInput(){return Dr},get SearchInput(){return Ka},get SliderInput(){return Mr},get SwitchInput(){return Qt},get TextInput(){return Er},get SettingGroup(){return $a},get ErrorBoundary(){return fe},get Text(){return D},get Flex(){return j},get Button(){return x},get Spinner(){return ot}},im=C.React,sm=bt,dm=_.get("version"),ye=class a{Patcher=cm;Data=fm;DOM=pm;Logger=gm;Commands=hm;React=im;ReactDOM=sm;version=dm;static Patcher;static Data;static DOM;static Logger;static Commands;static Hooks;static React=im;static ReactDOM=sm;static version=dm;static Plugins;static Themes;static Webpack;static UI;static ReactUtils;static Utils;static ContextMenu;static Components;static Net;constructor(e){if(!e)return a;if(Ks.has(e))return Ks.get(e);if(typeof e!="string")return b.error("BdApi","Plugin name not a string, returning generic API!"),a;this.Patcher=new Rs(e),this.Data=new Fs(e),this.DOM=new Os(e),this.Logger=new _s(e),this.Commands=new Vs(e),this.Hooks=new Gs(e),Ks.set(e,this)}get Plugins(){return lm}get Themes(){return um}get Webpack(){return qs}get Utils(){return js}get UI(){return Us}get ReactUtils(){return ct}get ContextMenu(){return mm}get Components(){return bm}Net={fetch:Ws}};ye.Plugins=lm;ye.Themes=um;ye.Patcher=cm;ye.Webpack=qs;ye.Data=fm;ye.UI=Us;ye.ReactUtils=ct;ye.Utils=js;ye.DOM=pm;ye.ContextMenu=mm;ye.Components=bm;ye.Commands=hm;ye.Net={fetch:Ws};ye.Logger=gm;ye.Hooks=aw;Object.freeze(ye);Object.freeze(ye.Net);Object.freeze(ye.prototype);Object.freeze(ye.Components);Md();Object.defineProperty(window,"BdApi",{value:ye,writable:!1,configurable:!1});window.global=window;so.show();tm.startup(); "use strict";var x=Object.create;var I=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var R=Object.getOwnPropertyNames;var b=Object.getPrototypeOf,m=Object.prototype.hasOwnProperty;var P=(e,o,n,T)=>{if(o&&typeof o=="object"||typeof o=="function")for(let p of R(o))!m.call(e,p)&&p!==n&&I(e,p,{get:()=>o[p],enumerable:!(T=D(o,p))||T.enumerable});return e};var d=(e,o,n)=>(n=e!=null?x(b(e)):{},P(o||!e||!e.__esModule?I(n,"default",{value:e,enumerable:!0}):n,e));var t=d(require("electron"),1),E=d(require("fs"),1),s=d(require("path"),1);var O="bd-get-path";var _="bd-editor-show-warning",S="bd-editor-settings-get",c="bd-editor-settings-update";var i="";process.platform==="win32"||process.platform==="darwin"?i=s.default.join(t.default.ipcRenderer.sendSync(O,"userData"),".."):i=process.env.XDG_CONFIG_HOME?process.env.XDG_CONFIG_HOME:s.default.join(process.env.HOME,".config");i=s.default.join(i,"BetterDiscord")+"/";var l=new URLSearchParams(location.search),a=l.get("type"),N=l.get("filename"),r;a==="custom-css"?r=s.default.join(i,"data",process.env.DISCORD_RELEASE_CHANNEL,"custom.css"):r=s.default.join(i,`${a}s`,N);t.default.contextBridge.exposeInMainWorld("Editor",{type:a,filename:N,filepath:r,read(){return E.default.readFileSync(r,"utf-8")},open(){t.default.shell.openPath(r)},write(e){E.default.writeFileSync(r,e,"utf-8")},shouldShowWarning(e){t.default.ipcRenderer.invoke(_,e)},readText(){return t.default.clipboard.readText()},settings:{get:()=>t.ipcRenderer.sendSync(S),subscribe(e){t.default.ipcRenderer.on(c,(o,n)=>{e(n)})},setLiveUpdate(e){t.default.ipcRenderer.invoke(c,e)}}}); "use strict";var y=window.require,k=window.Editor.filename;window.Editor.type==="custom-css"&&(k="Custom CSS");document.title=`${k} - BetterDiscord Editor`;document.getElementById("language").textContent=window.Editor.type==="plugin"?" JavaScript":" CSS";document.getElementById("open-editor").addEventListener("click",()=>window.Editor.open());var w="https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.52.2/min";Object.defineProperty(window,"MonacoEnvironment",{value:{getWorker:(o,n)=>new Worker(`data:text/javascript;charset=utf-8,${encodeURIComponent(` self.MonacoEnvironment = { baseUrl: '${w}' }; importScripts('${w}/vs/base/worker/${o}');`)}`,{type:"classic",name:n})}});y.config({paths:{vs:`${w}/vs`}});var{options:p,liveUpdate:I,discordTheme:x}=window.Editor.settings.get(),C=document.getElementById("loader");function v(o){let n,r,i;switch(o){case"light":n="oklab(0.988044 0.0000450313 0.0000197887)",r="oklab(0.940553 0.00079456 -0.00254363)",i="oklab(0.335195 0.00285903 -0.0100273)";break;case"darker":n="oklab(0.245196 0.00206329 -0.00723176)",r="oklab(0.351123 0.00328721 -0.0115818)",i="oklab(0.952331 0.000418991 -0.00125992)";break;case"midnight":n="oklab(0.155263 0.00116055 -0.00404651)",r="oklab(0.303553 0.00292034 -0.0103036)",i="oklab(0.894999 0.000801653 -0.00257665)";break;default:n="oklab(0.323409 0.00288205 -0.0101295)",r="oklab(0.262384 0.00252247 -0.00889932)",i="oklab(0.883042 0.00118408 -0.00389016)";break}document.body.style.setProperty("--discord-background",n),document.body.style.setProperty("--discord-background-alt",r),document.body.style.setProperty("--discord-color",i)}v(x);window.Editor.settings.subscribe(({discordTheme:o})=>v(o));y(["vs/editor/editor.main"],o=>{C.remove(),o.languages.typescript.javascriptDefaults.setDiagnosticsOptions({noSemanticValidation:!0,noSyntaxValidation:!1}),o.languages.typescript.javascriptDefaults.setCompilerOptions({target:o.languages.typescript.ScriptTarget.ESNext,allowNonTsExtensions:!0});let n=document.getElementById("tabbar"),r=document.getElementById("action-bar"),i=document.getElementById("tab-size"),f=document.getElementById("errors"),h=document.getElementById("warnings");o.editor.onDidChangeMarkers(([e])=>{let c=o.editor.getModelMarkers({resource:e}),l=0,g=0;for(let b of c)b.severity===4?g++:b.severity===8&&l++;f.textContent=` ${l} `,h.textContent=` ${g}`});let u=window.Editor.read(),t=o.editor.create(document.getElementById("editor"),{...p,value:u,language:window.Editor.type==="plugin"?"javascript":"css"}),d=document.getElementById("live-update"),a=!1;window.Editor.type!=="custom-css"?d.parentElement.remove():(d.checked=a=I,d.addEventListener("change",()=>{window.Editor.settings.setLiveUpdate(a=d.checked),a&&s()})),i.textContent=`${p.insertSpaces?"Spaces":"Tabs"}: ${p.tabSize}`,window.Editor.settings.subscribe(({options:e,liveUpdate:c})=>{t.updateOptions(e),i.textContent=`${e.insertSpaces?"Spaces":"Tabs"}: ${e.tabSize}`,d.checked=a=c,window.Editor.type==="custom-css"&&a&&s()});let m=e=>Math.max(e.clientHeight,e.offsetHeight);function E(){t.getDomNode().style.height=`${m(document.body)-m(n)-m(r)}px`,t.layout()}function s(){window.Editor.write(u=t.getValue()),window.Editor.shouldShowWarning(!1)}t.onDidChangeModelContent(()=>{if(a){s();return}window.Editor.shouldShowWarning(t.getValue()!==u)}),document.getElementById("refresh").addEventListener("click",()=>{t.executeEdits(null,[{range:t.getModel().getFullModelRange(),text:window.Editor.read(),forceMoveMarkers:!0}])});let S=document.getElementById("current-position");t.onDidChangeCursorSelection(()=>{let e=t.getPosition(),c=t.getSelection(),l=t.getModel().getValueInRange(c),g=`Ln ${e.lineNumber}, Col ${e.column}`;l.length&&(g+=` (${l.length} selected)`),S.textContent=g}),document.getElementById("action-current-position").addEventListener("click",()=>{t.focus(),t.trigger("keyboard","editor.action.gotoLine","")}),window.addEventListener("resize",E),E(),document.getElementById("save").addEventListener("click",s),window.navigator.clipboard.readText=()=>Promise.resolve(window.Editor.readText()),document.addEventListener("keydown",e=>{(e.ctrlKey||e.metaKey)&&e.key==="s"&&(e.preventDefault(),e.stopImmediatePropagation(),e.stopPropagation(),s())})}); - BetterDiscord Editor
Live Update
Loading...