discord-awesomeaudio/assets/vencord/Vencord.user.js

300 lines
416 KiB
JavaScript
Raw Normal View History

2023-07-11 22:31:01 -04:00
// ==UserScript==
// @name Vencord
// @description A Discord client mod - Web version
// @version 1.3.4.1688780477974
// @author Vendicated (https://github.com/Vendicated)
// @namespace https://github.com/Vendicated/Vencord
// @supportURL https://github.com/Vendicated/Vencord
// @license GPL-3.0
// @match *://*.discord.com/*
// @grant GM_xmlhttpRequest
// @run-at document-start
// @compatible chrome Chrome + Tampermonkey or Violentmonkey
// @compatible firefox Firefox Tampermonkey
// @compatible opera Opera + Tampermonkey or Violentmonkey
// @compatible edge Edge + Tampermonkey or Violentmonkey
// @compatible safari Safari + Tampermonkey or Violentmonkey
// ==/UserScript==
// this UserScript DOES NOT work on Firefox with Violentmonkey or Greasemonkey due to a bug that makes it impossible
// to overwrite stuff on the window on sites that use CSP. Use Tampermonkey or use a chromium based browser
// https://github.com/violentmonkey/violentmonkey/issues/997
// this is a compiled and minified version of Vencord. For the source code, visit the GitHub repo
"use strict";var Vencord=(()=>{var qT=Object.create;var Xi=Object.defineProperty;var KT=Object.getOwnPropertyDescriptor;var YT=Object.getOwnPropertyNames;var ZT=Object.getPrototypeOf,XT=Object.prototype.hasOwnProperty;var Ff=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var g=(e,t)=>()=>(e&&(t=e(e=0)),t);var Dr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ye=(e,t)=>{for(var n in t)Xi(e,n,{get:t[n],enumerable:!0})},$f=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of YT(t))!XT.call(e,i)&&i!==n&&Xi(e,i,{get:()=>t[i],enumerable:!(r=KT(t,i))||r.enumerable});return e};var cl=(e,t,n)=>(n=e!=null?qT(ZT(e)):{},$f(t||!e||!e.__esModule?Xi(n,"default",{value:e,enumerable:!0}):n,e)),Do=e=>$f(Xi({},"__esModule",{value:!0}),e);function JT(e){if(!e)return{};let t={},n=e.trim().split(`
`);for(var r=0;r<n.length;r++){var i=n[r],s=i.indexOf(":"),c=i.slice(0,s).trim().toLowerCase(),u=i.slice(s+1).trim();t[c]===void 0?t[c]=u:Array.isArray(t[c])?t[c].push(u):t[c]=[t[c],u]}return t}function ul(e,t){return e==="arrayBuffer"&&t.arrayBuffer?t.arrayBuffer():new Promise((n,r)=>{var i=new FileReader;i.onload=s=>n(s.target.result),e==="arrayBuffer"?i.readAsArrayBuffer(t):e==="text"?i.readAsText(t,"utf-8"):r("unknown to")})}function QT(e,t){return new Promise((n,r)=>{let i=t||{};i.url=e,i.data=i.body,i.responseType="blob",i.onload=s=>{var c=s.response;s.blob=()=>Promise.resolve(c),s.arrayBuffer=()=>ul("arrayBuffer",c),s.text=()=>ul("text",c),s.json=async()=>JSON.parse(await ul("text",c)),s.headers=new Headers(JT(s.responseHeaders)),s.ok=s.status>=200&&s.status<300,n(s)},i.ontimeout=()=>r("fetch timeout"),i.onerror=()=>r("fetch error"),i.onabort=()=>r("fetch abort"),GM_xmlhttpRequest(i)})}var f,a=g(()=>{"use strict";f=QT});var m,o,l=g(()=>{"use strict";m=Symbol.for("react.fragment"),o=(...e)=>(o=Vencord.Webpack.Common.React.createElement)(...e)});var Nn={};ye(Nn,{clear:()=>ox,createStore:()=>Gf,del:()=>tx,delMany:()=>nx,entries:()=>sx,get:()=>et,getMany:()=>ex,keys:()=>rx,promisifyRequest:()=>bt,set:()=>tt,setMany:()=>VT,update:()=>Oo,values:()=>ix});function bt(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function Gf(e,t){let n=indexedDB.open(e);n.onupgradeneeded=()=>n.result.createObjectStore(t);let r=bt(n);return(i,s)=>r.then(c=>s(c.transaction(t,i).objectStore(t)))}function sn(){return pl||(pl=Gf("VencordData","VencordStore")),pl}function et(e,t=sn()){return t("readonly",n=>bt(n.get(e)))}function tt(e,t,n=sn()){return n("readwrite",r=>(r.put(t,e),bt(r.transaction)))}function VT(e,t=sn()){return t("readwrite",n=>(e.forEach(r=>n.put(r[1],r[0])),bt(n.transaction)))}function ex(e,t=sn()){return t("readonly",n=>Promise.all(e.map(r=>bt(n.get(r)))))}function Oo(e,t,n=sn()){return n("readwrite",r=>new Promise((i,s)=>{r.get(e).onsuccess=function(){try{r.put(t(this.result),e),i(bt(r.transaction))}catch(c){s(c)}}}))}function tx(e,t=sn()){return t("readwrite",n=>(n.delete(e),bt(n.transaction)))}function nx(e,t=sn()){return t("readwrite",n=>(e.forEach(r=>n.delete(r)),bt(n.transaction)))}function ox(e=sn()){return e("readwrite",t=>(t.clear(),bt(t.transaction)))}function dl(e,t){return e.openCursor().onsuccess=function(){!this.result||(t(this.result),this.result.continue())},bt(e.transaction)}function rx(e=sn()){return e("readonly",t=>{if(t.getAllKeys)return bt(t.getAllKeys());let n=[];return dl(t,r=>n.push(r.key)).then(()=>n)})}function ix(e=sn()){return e("readonly",t=>{if(t.getAll)return bt(t.getAll());let n=[];return dl(t,r=>n.push(r.value)).then(()=>n)})}function sx(e=sn()){return e("readonly",t=>{if(t.getAll&&t.getAllKeys)return Promise.all([bt(t.getAllKeys()),bt(t.getAll())]).then(([r,i])=>r.map((s,c)=>[s,i[c]]));let n=[];return e("readonly",r=>dl(r,i=>n.push([i.key,i.value])).then(()=>n))})}var pl,kn=g(()=>{"use strict";a();l();});var Or,ml=g(()=>{"use strict";a();l();Or=class{set=new Set;get changeCount(){return this.set.size}get hasChanges(){return this.changeCount>0}handleChange(t){this.set.delete(t)||this.set.add(t)}add(t){return this.set.add(t)}remove(t){return this.set.delete(t)}getChanges(){return this.set.values()}map(t){return[...this.getChanges()].map(t)}}});var an,_r=g(()=>{a();l();an="bea7a17"});var Ji,Hf=g(()=>{a();l();Ji="Vendicated/Vencord"});var Yt,ax,fl,Qi,d,gl,M=g(()=>{"use strict";a();l();_r();Hf();Yt="webpackChunkdiscord_app",ax="Vencord.Webpack.Common.React",fl=`Vencord/${an}${Ji?` (https://github.com/${Ji})`:""}`,Qi="1026515880080842772",d=Object.freeze({Ven:{name:"Vendicated",id:343383572805058560n},Arjix:{name:"ArjixWasTaken",id:674710789138939916n},Cyn:{name:"Cynosphere",id:150745989836308480n},Megu:{name:"Megumin",id:545581357812678656n},botato:{name:"botato",id:440990343899643943n},obscurity:{name:"obscurity",id:336678828233588736n},rushii:{name:"rushii",id:295190422244950017n},Glitch:{name:"Glitchy",id:269567451199569920n},Samu:{
// [EXTRACTED] WebpackModule${e}
// WARNING: This module was extracted to be more easily readable.
// This module is NOT ACTUALLY USED! This means putting breakpoints will have NO EFFECT!!
${t.toString()}
//# sourceURL=ExtractedWebpackModule${e}
`;return(0,eval)(n)}var hl,os,yl,zt,Hn,Z,jf,vl,jt,Br,is,Wf,B=g(()=>{"use strict";a();l();ln();xe();ns();hl=new X("Webpack"),yl=new Promise(e=>os=e),Z={byProps:(...e)=>e.length===1?t=>t[e[0]]!==void 0:t=>e.every(n=>t[n]!==void 0),byCode:(...e)=>t=>{if(typeof t!="function")return!1;let n=Function.prototype.toString.call(t);for(let r of e)if(!n.includes(r))return!1;return!0},byStoreName:e=>t=>t.constructor?.displayName===e},jf=new Map,vl=new Set;jt=cn("find",function(t,n=!0,r=!1){if(typeof t!="function")throw new Error("Invalid filter. Expected a function got "+typeof t);for(let i in Hn){let s=Hn[i];if(!!s?.exports){if(t(s.exports))return r?[s.exports,Number(i)]:s.exports;if(typeof s.exports=="object"){if(s.exports.default&&t(s.exports.default)){let c=n?s.exports.default:s.exports;return r?[c,Number(i)]:c}for(let c in s.exports)if(c.length<=3){let u=s.exports[c];if(u&&t(u))return r?[u,Number(i)]:u}}}}if(!r){let i=new Error("Didn't find module matching this filter");hl.warn(i)}return r?[null,null]:null});Br=cn("findBulk",function(...t){if(!Array.isArray(t))throw new Error("Invalid filters. Expected function[] got "+typeof t);let{length:n}=t;if(n===0)throw new Error("Expected at least two filters.");if(n===1)return jt(t[0]);let r=t,i=0,s=Array(n);e:for(let c in Hn){let u=Hn[c];if(!!u?.exports)for(let p=0;p<n;p++){let v=r[p];if(v!==void 0){if(v(u.exports)){if(s[p]=u.exports,r[p]=void 0,++i===n)break e;break}if(typeof u.exports=="object"){if(u.exports.default&&v(u.exports.default)){if(s[p]=u.exports.default,r[p]=void 0,++i===n)break e;break}for(let h in u.exports)if(h.length<=3){let S=u.exports[h];if(S&&v(S)){if(s[p]=S,r[p]=void 0,++i===n)break e;continue e}}}}}}if(i!==n){let c=new Error(`Got ${n} filters, but only found ${i} modules!`);hl.warn(c)}return s}),is=cn("findModuleId",function(t){for(let r in zt.m)if(zt.m[r].toString().includes(t))return Number(r);let n=new Error(`Didn't find module with code:
`+t);return hl.warn(n),null}),Wf=cn("mapMangledModule",function(t,n){let r={},i=is(t);if(i===null)return r;let s=zt(i);e:for(let c in s){let u=s[c];for(let p in n)if(n[p](u)){r[p]=u;continue e}}return r})});var ss,gt,qf=g(()=>{"use strict";a();l();B();ss=I("image","modal"),gt=I("buttonWrapper","buttonContent")});function _o(e,t){for(let n in t){let r=t[n];typeof r=="object"&&!Array.isArray(r)?(e[n]??={},_o(e[n],r)):e[n]??=r}return e}function V(...e){return e.filter(Boolean).join(" ")}function lo(e){return new Promise(t=>setTimeout(t,e))}function Xt(e,t="Copied to clipboard!"){Zt.SUPPORTS_COPY?Zt.copy(e):t="Your browser does not support copying to clipboard",Q.show({message:t,id:Q.genId(),type:Q.Type.SUCCESS})}function mx(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Tl(e){try{return new URL(e)}catch{return null}}function as(e){return e}var xl,fx,Fr,he=g(()=>{"use strict";a();l();w();M();xl=e=>{let t=e.getBoundingClientRect(),n=Math.max(document.documentElement.clientHeight,unsafeWindow.innerHeight);return!(t.bottom<0||t.top-n>=0)};fx=navigator.userAgent.includes("Mobi"),Fr=e=>Object.hasOwn(gl,e)});function it(e,t){let n=Object.assign({fallbackValue:null,deps:[],onError:null},t),[r,i]=te({value:n.fallbackValue,error:null,pending:!0});return st(()=>{let s=!0;return r.pending||i({...r,pending:!0}),e().then(c=>{!s||(i({value:c,error:null,pending:!1}),n.onSuccess?.(c))}).catch(c=>{!s||(i({value:null,error:c,pending:!1}),n.onError?.(c))}),()=>void(s=!1)},n.deps),[r.value,r.error,r.pending]}function Dt(e){let t=sr(n=>n+1,0);return e?t:t[1]}function se(e){let t=Gn(e);return n=>{let r=t();return o(r,{...n})}}var wl,be=g(()=>{"use strict";a();l();w();ln();he();wl=(e=!1)=>{let t=N.useRef(null),[n,r]=te(!1);return[s=>{t.current?.disconnect(),t.current=null,s&&(xl(s)&&(r(!0),e)||(t.current=new IntersectionObserver(c=>{for(let u of c)u.target===s&&(u.isIntersecting&&e?(r(!0),t.current?.disconnect(),t.current=null):r(u.isIntersecting))}),t.current.observe(s)))},n]}});function ls(e,t){let n=function(){throw new Error(`Vencord could not find the ${e} Component`)},r=se(()=>n);return Xe(t,i=>{n=i,Object.assign(r,i)}),r}function Tt(e,t){Xe(Z.byStoreName(e),t)}var Pl=g(()=>{"use strict";a();l();be();B()});var b,Ot,R,ht,K,Le,cs,ee,un,us,Bo,Jt,$r,Kf,Yf,ps,ds,ms,fs,Ur,Ml,An,gx,Zf=g(()=>{"use strict";a();l();B();Pl();b={},Ml=ls("MaskedLink",e=>e?.type?.toString().includes("MASKED_LINK)")),An=ls("Timestamp",Z.byCode(".Messages.MESSAGE_EDITED_TIMESTAMP_A11Y_LABEL.format")),gx=ls("Flex",["Justify","Align","Wrap"]);Xe("FormItem",e=>{({useToken:Ur,Card:Ot,Button:R,FormSwitch:ht,Tooltip:K,TextInput:Le,TextArea:cs,Text:ee,Select:un,SearchableSelect:us,Slider:Bo,ButtonLooks:Jt,TabBar:Yf,Popout:$r,Dialog:Kf,Paginator:ps,ScrollerThin:ds,Clickable:ms,Avatar:fs}=e),b=e})});var D,pn,Xf=g(()=>{"use strict";a();l();B();D={};Xe("MenuItem",e=>D=e);pn=Ze('type:"CONTEXT_MENU_OPEN"',{open:Z.byCode("stopPropagation"),openLazy:e=>e.toString().length<50,close:Z.byCode("CONTEXT_MENU_CLOSE")})});var N,te,st,Wt,Qt,sr,Jf,Fo,Qf=g(()=>{"use strict";a();l();B();Fo=I("createPortal","render");Xe("useState",e=>{N=e,{useEffect:st,useState:te,useMemo:Wt,useRef:Qt,useReducer:sr,useCallback:Jf}=N})});var Il,dn,Cl,qe,gs,Gr,co,hx,de,U,Ie,uo,J,Ee,nt,mn,Hr,Nl,Ue,Vf=g(()=>{"use strict";a();l();B();Pl();Il=I("connectStores"),Cl=I("openPrivateChannel"),Nl=Ze('"MaskedLinkStore"',{openUntrustedLink:Z.byCode(".apply(this,arguments)")}),Ue=pe("useStateFromStores");Tt("UserStore",e=>U=e);Tt("ChannelStore",e=>J=e);Tt("SelectedChannelStore",e=>Ie=e);Tt("SelectedGuildStore",e=>uo=e);Tt("GuildStore",e=>de=e);Tt("GuildMemberStore",e=>Ee=e);Tt("RelationshipStore",e=>nt=e);Tt("PermissionStore",e=>qe=e);Tt("PresenceStore",e=>co=e);Tt("ReadStateStore",e=>Gr=e);Tt("GuildChannelStore",e=>gs=e);Tt("MessageStore",e=>dn=e);Tt("WindowStore",e=>Hr=e);Tt("EmojiStore",e=>mn=e)});var eg={};var tg=g(()=>{"use strict";a();l()});var ng={};var og=g(()=>{"use strict";a();l()});var rg={};var ig=g(()=>{"use strict";a();l()});function hs(e,t=sg.MESSAGE){Q.show({id:Q.genId(),message:e,type:t})}var O
${e.replaceAll("```","\\`\\`\\`")}
${n}`}var Fl,Px,Mx,$l,Ix,Cx,Nx,kx,Rx,qn,Ax,Kn=g(()=>{"use strict";a();l();w();Fl=e=>e.split(/(?=[A-Z])/).map(t=>t.toLowerCase()),Px=e=>e.toLowerCase().split("_"),Mx=e=>e.toLowerCase().split("-"),$l=e=>e.split(/(?=[A-Z])/).map(t=>t.toLowerCase()),Ix=e=>e.toLowerCase().split(" "),Cx=e=>e.map((t,n)=>n?t[0].toUpperCase()+t.slice(1):t).join(""),Nx=e=>e.join("_").toUpperCase(),kx=e=>e.join("-").toLowerCase(),Rx=e=>e.map(t=>t[0].toUpperCase()+t.slice(1)).join(""),qn=e=>e.map(t=>t[0].toUpperCase()+t.slice(1)).join(" "),Ax=["years","months","weeks","days","hours","minutes","seconds"]});var Ul={};ye(Ul,{ChangeList:()=>Or,Devs:()=>d,DevsById:()=>gl,ImageModal:()=>Al,LazyComponent:()=>se,Logger:()=>X,Margins:()=>z,ModalCloseButton:()=>Pt,ModalContent:()=>He,ModalFooter:()=>wt,ModalHeader:()=>Ge,ModalRoot:()=>De,ModalSize:()=>po,Modals:()=>fn,Queue:()=>hn,REACT_GLOBAL:()=>ax,SUPPORT_CHANNEL_ID:()=>Qi,Theme:()=>Ss,VENCORD_USER_AGENT:()=>fl,WEBPACK_CHUNK:()=>Yt,canonicalizeDescriptor:()=>Bl,canonicalizeMatch:()=>Ho,canonicalizeReplace:()=>ws,canonicalizeReplacement:()=>qr,checkIntersecting:()=>xl,classes:()=>V,closeAllModals:()=>Ll,closeModal:()=>zn,copyWithToast:()=>Xt,debounce:()=>Et,formatDuration:()=>Yr,getCurrentChannel:()=>lr,getCurrentGuild:()=>El,getTheme:()=>Wr,getUniqueUsername:()=>Wn,gitHash:()=>an,gitRemote:()=>Ji,humanFriendlyJoin:()=>Lx,identity:()=>as,insertTextIntoChatInputBox:()=>jn,isMobile:()=>fx,isNonNullish:()=>Dl,isObject:()=>mx,isPluginDev:()=>Fr,isTruthy:()=>bs,localStorage:()=>Go,makeCodeblock:()=>Zr,makeLazy:()=>Gn,mergeDefaults:()=>_o,onceDefined:()=>wx,onlyOnce:()=>Ol,openImageModal:()=>Uo,openModal:()=>ke,openModalLazy:()=>jr,openPrivateChannel:()=>bx,openUserProfile:()=>gn,parseUrl:()=>Tl,proxyLazy:()=>ft,sendMessage:()=>Tx,sleep:()=>lo,useAwaiter:()=>it,useForceUpdater:()=>Dt,useIntersection:()=>wl,wordsFromCamel:()=>Fl,wordsFromKebab:()=>Mx,wordsFromPascal:()=>$l,wordsFromSnake:()=>Px,wordsFromTitle:()=>Ix,wordsToCamel:()=>Cx,wordsToKebab:()=>kx,wordsToPascal:()=>Rx,wordsToSnake:()=>Nx,wordsToTitle:()=>qn});var Gl=g(()=>{"use strict";a();l();ml();M();rr();ot();Ts();ln();xs();xe();Qe();he();Je();cg();_l();Kr();cr();be();Kn();});var mg=g(()=>{});function Yn(e){return o("div",{...e,className:V(e.className,"vc-error-card")},e.children)}var Xr=g(()=>{"use strict";a();l();mg();he()});var Ox,fg,gg,Hl,E,ae=g(()=>{"use strict";a();l();xe();Qe();be();w();Xr();Ox="#e78284",fg=new X("React ErrorBoundary",Ox),gg={},Hl=se(()=>class extends N.PureComponent{state={error:gg,stack:"",message:""};static getDerivedStateFromError(t){let n=t?.stack??"",r=t?.message||String(t);if(t instanceof Error&&n){let i=n.indexOf(`
`);i!==-1&&(r=n.slice(0,i),n=n.slice(i+1).replace(/https:\/\/\S+\/assets\//g,""))}return{error:t,stack:n,message:r}}componentDidCatch(t,n){this.props.onError?.({error:t,errorInfo:n,props:this.props.wrappedProps}),fg.error(`A component threw an Error
`,t),fg.error("Component Stack",n.componentStack)}render(){if(this.state.error===gg)return this.props.children;if(this.props.noop)return null;if(this.props.fallback)return o(this.props.fallback,{children:this.props.children,...this.state});let t=this.props.message||"An error occurred while rendering this Component. More info can be found below and in your console.";return o(Yn,{style:{overflow:"hidden"}},o("h1",null,"Oh no!"),o("p",null,t),o("code",null,this.state.message,!!this.state.stack&&o("pre",{className:z.top8},this.state.stack)))}});Hl.wrap=(e,t)=>n=>o(Hl,{...t,wrappedProps:n},o(e,{...n}));E=Hl});function Ps(){return o("svg",{"aria-hidden":"true",height:"16",viewBox:"0 0 16 16",width:"16",style:{marginRight:"0.5em",transform:"translateY(2px)"}},o("path",{fill:"#db61a2","fill-rule":"evenodd",d:"M4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.565 20.565 0 008 13.393a20.561 20.561 0 003.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.75.75 0 01-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5zM8 14.25l-.345.666-.002-.001-.006-.003-.018-.01a7.643 7.643 0 01-.31-.17 22.075 22.075 0 01-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.08 22.08 0 01-3.744 2.584l-.018.01-.006.003h-.002L8 14.25zm0 0l.345.666a.752.752 0 01-.69 0L8 14.25z"}))}var zl=g(()=>{"use strict";a();l()});function Jr(e){return o(R,{...e,look:R.Looks.LINK,color:R.Colors.TRANSPARENT,onClick:()=>VencordNative.native.openExternal("https://github.com/sponsors/Vendicated")},o(Ps,null),"Donate")}var jl=g(()=>{"use strict";a();l();w();zl()});function ue(e){return e.style??={},e.style.display="flex",e.style.gap??="1em",e.style.flexDirection||=e.flexDirection,delete e.flexDirection,o("div",{...e},e.children)}var Mt=g(()=>{"use strict";a();l()});function y(e){return e}var x=g(()=>{"use strict";a();l()});async function hg(e=!1){Wl={};let t={};e&&(t.cache="no-cache");let r=(await f("https://gist.githubusercontent.com/Vendicated/51a3dd775f6920429ec6e9b735ca7f01/raw/badges.csv",t).then(i=>i.text())).trim().split(`
`);if(r.shift()!=="id,tooltip,image"){new X("BadgeAPI").error("Invalid badges.csv file!");return}for(let i of r){let[s,c,u]=i.split(",");(Wl[s]??=[]).push({image:u,description:c})}}var _x,Bx,Wl,ql,yg=g(()=>{"use strict";a();l();Is();jl();ae();Mt();zl();M();xe();Qe();he();Je();x();w();_x="https://cdn.discordapp.com/attachments/1033680203433660458/1092089947126780035/favicon.png",Bx={description:"Vencord Contributor",image:_x,position:0,props:{style:{borderRadius:"50%",transform:"scale(0.9)"}},shouldShow:({user:e})=>Fr(e.id),link:"https://github.com/Vendicated/Vencord"},Wl={};ql=y({name:"BadgeAPI",description:"API to add badges to users.",authors:[d.Megu,d.Ven,d.TheSun],required:!0,patches:[{find:"Messages.PROFILE_USER_BADGES,role:",replacement:[{match:/&&(\i)\.push\(\{id:"premium".+?\}\);/,replace:"$&$1.unshift(...Vencord.Api.Badges._getBadges(arguments[0]));"},{match:/alt:" ","aria-hidden":!0,src:(?=(\i)\.src)/g,replace:"...$1.props,$& $1.image??"},{match:/children:function(?<=(\i)\.(?:tooltip|description),spacing:\d.+?)/g,replace:"children:$1.component ? () => $self.renderBadgeComponent($1) : function"},{match:/onClick:function(?=.{0,200}href:(\i)\.link)/,replace:"onClick:$1.onClick??function"}]}],toolboxActions:{async"Refetch Badges"(){await hg(!0),Q.show({id:Q.genId(),message:"Successfully refetched badges!",type:Q.Type.SUCCESS})}},async start(){Vencord.Api.Badges.addBadge(Bx),await hg()},renderBadgeComponent:E.wrap(e=>{let t=e.component;return o(t,{...e})},{noop:!0}),getDonorBadges(e){return Wl[e]?.map(t=>({...t,position:0,props:{style:{borderRadius:"50%",transform:"scale(0.9)"}},onClick(){let n=ke(r=>o(E,{noop:!0,onError:()=>{zn(n),VencordNative.native.openExternal("https://github.com/sponsors/Vendicated")}},o(fn.ModalRoot,{...r},o(fn.ModalHeader,null,o(ue,{style:{width:"100%",justifyContent:"center"}},o(b.FormTitle,{tag:"h2",style:{width:"100%",textAlign:"center",margin:0}},o(Ps,null),"Vencord Donor"))),o(fn.ModalContent,null,o(ue,null,o("img",{role:"presentation",src:"https://cdn.discordapp.com/emojis/1026533070955872337.png",alt:"",style:{margin:"auto"}}),o("img",{role:"presentation",src:"https://cdn.discordapp.com/emojis/1026533090627174460.png",alt:"",style:{margin:"auto"}})),o("div",{style:{padding:"1em"}},o(b.FormText,null,"This Badge is a special perk for Vencord Donors"),o(b.FormText,{className:z.top20},"Please consider supporting the development of Vencord by becoming a donor. It would mean a lot!!"))),o(fn.ModalFooter,null,o(ue,{style:{width:"100%",justifyContent:"center"}},o(Jr,null))))))}}))}})});var Kl,vg=g(()=>{"use strict";a();l();M();x();Kl=y({name:"CommandsAPI",authors:[d.Arjix],description:"Api required by anything that uses commands",patches:[{find:'"giphy","tenor"',replacement:[{match:/(?<=\w=)(\w)(\.filter\(.{0,30}giphy)/,replace:"Vencord.Api.Commands._init($1)$2"}]},{find:"Unexpected value for option",replacement:{match:/,(.{1,2})\.execute\((.{1,2}),(.{1,2})\)]/,replace:(e,t,n,r)=>`,Vencord.Api.Commands._handleCommand(${t}, ${n}, ${r})]`}},{find:".source,children",replacement:{match:/(?<=:(.{1,3})\.displayDescription\}.{0,200}\.source,children:)[^}]+/,replace:"$1.plugin||($&)"}}]})});var Yl,Sg=g(()=>{"use strict";a();l();M();x();Yl=y({name:"ContextMenuAPI",description:"API for adding/removing items to/from context menus.",authors:[d.Nuckyz,d.Ven],required:!0,patches:[{find:"\u266B (\u3064\uFF61\u25D5\u203F\u203F\u25D5\uFF61)\u3064 \u266A",replacement:{match:/(?<=function \i\((\i)\){)(?=var \i,\i=\i\.navId)/,replace:(e,t)=>`Vencord.Api.ContextMenu._patchContextMenu(${t});`}},{find:".Menu,{",all:!0,replacement:{match:/Menu,{(?<=\.jsxs?\)\(\i\.Menu,{)/g,replace:"$&contextMenuApiArguments:typeof arguments!=='undefined'?arguments:[],"}}]})});var Zl,bg=g(()=>{"use strict";a();l();M();x();Zl=y({name:"MemberListDecoratorsAPI",description:"API to add decorators to member list (both in servers and DMs)",authors:[d.TheSun],patches:[{find:"lostPermissionTooltipText,",replacement:{match:/Fragment,{children:\[(.{30,80})\]/,replace:"Fragment,{children:Vencord.Api.MemberListDecorators.__addDecoratorsToList(t
`,e)}fw=Et(async()=>{C.cloud.settingsSync&&C.cloud.authenticated&&(await dr(),delete Go.Vencord_settingsDirty)},6e4),Fs=new Set,ih={};On=yo,C=Ic(yo)});function Us(){unsafeWindow.VencordDesktopNative.app.relaunch()}var si=g(()=>{"use strict";a();l()});var ah=g(()=>{});var kc={};ye(kc,{UpdateLogger:()=>lh,changes:()=>Gs,checkForUpdates:()=>uh,getRepo:()=>hw,isNewer:()=>Nc,isOutdated:()=>vo,maybePromptToUpdate:()=>ai,update:()=>ph,updateError:()=>ch});async function Hs(e){let t=await e;if(t.ok)return t.value;throw ch=t.error,t.error}async function uh(){return Gs=await Hs(VencordNative.updater.getUpdates()),Gs.some(e=>e.hash===an)?(Nc=!0,vo=!1):vo=Gs.length>0}async function ph(){if(!vo)return!0;let e=await Hs(VencordNative.updater.update());if(e&&(vo=!1,!await Hs(VencordNative.updater.rebuild())))throw new Error("The Build failed. Please try manually building the new update");return e}async function ai(e,t=!1){return;try{if(await uh()){let r=confirm(e);if(r&&Nc)return alert("Your local copy has more recent commits. Please stash or reset them.");r&&(await ph(),Us())}}catch(n){lh.error(n),alert("That also failed :( Try updating or re-installing with the installer!")}}var lh,vo,Nc,ch,Gs,hw,fr=g(()=>{"use strict";a();l();_r();xe();si();lh=new X("Updater","white"),vo=!1,Nc=!1;hw=()=>Hs(VencordNative.updater.getRepo())});function dh(){ai("Uh Oh! Failed to render this Page. However, there is an update available that might fix it. Would you like to update and restart now?")}var mh=g(()=>{"use strict";a();l();fr()});function _n({title:e,children:t}){return o(b.FormSection,null,o(ee,{variant:"heading-lg/semibold",tag:"h2",className:z.bottom16},e),t)}function Bn(e,t){return E.wrap(e,{message:`Failed to render the ${t} tab. If this issue persists, try using the installer to reinstall!`,onError:yw})}var yw,zo=g(()=>{"use strict";a();l();ah();ae();mh();Qe();_l();w();yw=Ol(dh)});var hh={};ye(hh,{default:()=>xw});function Sw(){let[e,,t]=it(VencordNative.settings.getSettingsDir,{fallbackValue:"Loading..."}),n=lt(),r=N.useMemo(()=>Math.random()>.5?gh:vw,[]),i=navigator.platform.toLowerCase().startsWith("win"),s=navigator.platform.toLowerCase().startsWith("mac"),c=[{key:"useQuickCss",title:"Enable Custom CSS",note:"Loads your Custom CSS"},!1,!1,!1,!1,!1,!1];return o(_n,{title:"Vencord Settings"},o(Tw,{image:r}),o(b.FormSection,{title:"Quick Actions"},o(Ot,{className:fh("quick-actions-card")},o(N.Fragment,null,!1,o(R,{onClick:()=>VencordNative.quickCss.openEditor(),size:R.Sizes.SMALL,disabled:e==="Loading..."},"Open QuickCSS File"),!1,o(R,{onClick:()=>VencordNative.native.openExternal("https://github.com/Vendicated/Vencord"),size:R.Sizes.SMALL,disabled:t},"Open in GitHub")))),o(b.FormDivider,null),o(b.FormSection,{className:z.top16,title:"Settings",tag:"h5"},o(b.FormText,{className:z.bottom20},'Hint: You can change the position of this settings section in the settings of the "Settings" plugin!'),c.map(u=>u&&o(ht,{key:u.key,value:n[u.key],onChange:p=>n[u.key]=p,note:u.note},u.title))),typeof Notification<"u"&&o(bw,{settings:n.notifications}))}function bw({settings:e}){return o(m,null,o(b.FormTitle,{tag:"h5"},"Notification Style"),e.useNative!=="never"&&Notification?.permission==="denied"&&o(Yn,{style:{padding:"1em"},className:z.bottom8},o(b.FormTitle,{tag:"h5"},"Desktop Notification Permission denied"),o(b.FormText,null,"You have denied Notification Permissions. Thus, Desktop notifications will not work!")),o(b.FormText,{className:z.bottom8},"Some plugins may show you notifications. These come in two styles:",o("ul",null,o("li",null,o("strong",null,"Vencord Notifications"),": These are in-app notifications"),o("li",null,o("strong",null,"Desktop Notifications"),": Native Desktop notifications (like when you get a ping)"))),o(un,{placeholder:"Notification Style",options:[{label:"Only use Desktop notifications when Discord is not focused",value:"not-focused",default:!0},{label:"Always use Desktop notifications",value:"always"},{label:"Always use Vencord notifications",value:"never"}],closeOnSelect:!0,select:t=>e.useNative=t,isSelected:t=>t===e.use
${Zr(c)}`,author:{username:"Vencord"}})};try{let i=e.execute(t,n);return i instanceof Promise?i.catch(r):i}catch(i){return r(i)}}});var Hc,Dh=g(()=>{a();l();(unsafeWindow.VencordStyles??=new Map).set("src/components/PluginSettings/userPopoutHideBotTag.css",{name:"src/components/PluginSettings/userPopoutHideBotTag.css",source:`[class|="userPopoutOuter"] [class*="botTag"] {
display: none;
}
`,classNames:{},dom:null});Hc="src/components/PluginSettings/userPopoutHideBotTag.css"});function zc(e){let t=new Aw({username:e.username,id:e.id??_c(),avatar:e.avatar,bot:!0});return O.dispatch({type:"USER_UPDATE",user:t}),t}function jc({plugin:e,onRestartNeeded:t,onClose:n,transitionState:r}){let[i,s]=N.useState([]),c=lt().plugins[e.name],[u,p]=N.useState({}),[v,h]=N.useState({}),[S,T]=N.useState(null),P=()=>Object.values(v).every($=>!$),L=Boolean(c&&e.options);N.useEffect(()=>{Ve(Hc);let $;return(async()=>{for(let Y of e.authors.slice(0,6)){let ne=Y.id?await Ln.fetchUser(`${Y.id}`).then(q=>($=q,zc(q))).catch(()=>zc({username:Y.name})):zc({username:Y.name});s(q=>[...q,ne])}})(),()=>{Ct(Hc),$&&O.dispatch({type:"USER_UPDATE",user:$})}},[]);async function k(){if(!e.options){n();return}if(e.beforeSave){let Y=await Promise.resolve(e.beforeSave(u));if(Y!==!0){T(Y);return}}let $=!1;for(let[Y,ne]of Object.entries(u)){let q=e.options[Y];c[Y]=ne,q?.onChange?.(ne),q?.restartNeeded&&($=!0)}$&&t(),n()}function F(){if(!L||!e.options)return o(b.FormText,null,"There are no settings for this plugin.");{let $=Object.entries(e.options).map(([Y,ne])=>{if(ne.hidden)return null;function q(H){p(Re=>({...Re,[Y]:H}))}function W(H){h(Re=>({...Re,[Y]:H}))}let oe=Lw[ne.type];return o(oe,{id:Y,key:Y,option:ne,onChange:q,onError:W,pluginSettings:c,definedSettings:e.settings})});return o(ue,{flexDirection:"column",style:{gap:12,marginBottom:16}},$)}}function G($,Y){let ne=e.authors.length-Y,q=e.authors.length-ne,W=q+e.authors.length-Y;return o(K,{text:e.authors.slice(q,W).map(oe=>oe.name).join(", ")},({onMouseEnter:oe,onMouseLeave:H})=>o("div",{className:Rw.moreUsers,onMouseEnter:oe,onMouseLeave:H},"+",ne))}return o(De,{transitionState:r,size:"medium",className:"vc-text-selectable"},o(Ge,{separator:!1},o(ee,{variant:"heading-lg/semibold",style:{flexGrow:1}},e.name),o(Pt,{onClick:n})),o(He,null,o(b.FormSection,null,o(b.FormTitle,{tag:"h3"},"About ",e.name),o(b.FormText,null,e.description),o(b.FormTitle,{tag:"h3",style:{marginTop:8,marginBottom:0}},"Authors"),o("div",{style:{width:"fit-content",marginBottom:8}},o(kw,{users:i,count:e.authors.length,guildId:void 0,renderIcon:!1,max:6,showDefaultAvatarsForNullUsers:!0,showUserPopout:!0,renderMoreUsers:G}))),!!e.settingsAboutComponent&&o("div",{className:V(z.bottom8,"vc-text-selectable")},o(b.FormSection,null,o(E,{message:"An error occurred while rendering this plugin's custom InfoComponent"},o(e.settingsAboutComponent,{tempSettings:u})))),o(b.FormSection,null,o(b.FormTitle,{tag:"h3"},"Settings"),F())),L&&o(wt,null,o(ue,{flexDirection:"column",style:{width:"100%"}},o(ue,{style:{marginLeft:"auto"}},o(R,{onClick:n,size:R.Sizes.SMALL,color:R.Colors.WHITE,look:R.Looks.LINK},"Cancel"),o(K,{text:"You must fix all errors before saving",shouldShow:!P()},({onMouseEnter:$,onMouseLeave:Y})=>o(R,{size:R.Sizes.SMALL,color:R.Colors.BRAND,onClick:k,onMouseEnter:$,onMouseLeave:Y,disabled:!P()},"Save & Close"))),S&&o(ee,{variant:"text-md/semibold",style:{color:"var(--text-danger)"}},"Error while saving: ",S))))}var kw,Rw,Aw,Lw,Oh=g(()=>{"use strict";a();l();Ft();_();ze();ae();Mt();ln();Qe();he();Je();be();x();B();w();js();Dh();kw=se(()=>We("defaultRenderUser","showDefaultAvatarsForNullUsers")),Rw=I("moreUsers","emptyUser","avatarContainer","clickableAvatar"),Aw=ft(()=>U.getCurrentUser().constructor);Lw={[0]:Rh,[1]:Dc,[2]:Dc,[3]:xh,[4]:Ch,[5]:kh,[6]:Ph}});var _h=g(()=>{});function Bh({checked:e,onChange:t,disabled:n}){return o("div",null,o("div",{className:V(qs.container,"default-colors",e?qs.checked:void 0),style:{backgroundColor:e?Wc:qc,opacity:n?.3:1}},o("svg",{className:qs.slider+" vc-switch-slider",viewBox:"0 0 28 20",preserveAspectRatio:"xMinYMid meet","aria-hidden":"true",style:{transform:e?"translateX(12px)":"translateX(-3px)"}},o("rect",{fill:"white",x:"4",y:"0",height:"20",width:"20",rx:"10"}),o("svg",{viewBox:"0 0 20 20",fill:"none"},e?o(m,null,o("path",{fill:Wc,d:"M7.89561 14.8538L6.30462 13.2629L14.3099 5.25755L15.9009 6.84854L7.89561 14.8538Z"}),o("path",{fill:Wc,d:"M4.08643 11.0903L5.67742 9.49929L9.4485 13
`,s),!1}}if(r?.length){qt.info("Registering commands of plugin",n);for(let s of r)try{hr(s,n)}catch(c){return qt.error(`Failed to register command ${s.name}
`,c),!1}}if(i)for(let s in i)O.subscribe(s,i[s]);return!0},e=>`startPlugin ${e.name}`),Xc=cn("stopPlugin",function(t){let{name:n,commands:r,flux:i}=t;if(t.stop){if(qt.info("Stopping plugin",n),!t.started)return qt.warn(`${n} already stopped`),!1;try{t.stop(),t.started=!1}catch(s){return qt.error(`Failed to stop ${n}
`,s),!1}}if(r?.length){qt.info("Unregistering commands of plugin",n);for(let s of r)try{ui(s.name)}catch(c){return qt.error(`Failed to unregister command ${s.name}
`,c),!1}}if(i)for(let s in i)O.unsubscribe(s,i[s]);return!0},e=>`stopPlugin ${e.name}`)});function Fw(e){Q.show({message:e,type:Q.Type.FAILURE,id:Q.genId(),options:{position:Q.Position.BOTTOM}})}function $w({required:e}){return o(Ot,{className:bn("info-card",{"restart-card":e})},e?o(m,null,o(b.FormTitle,{tag:"h5"},"Restart required!"),o(b.FormText,{className:bn("dep-text")},"Restart now to apply new plugins and their settings"),o(R,{color:R.Colors.YELLOW,onClick:()=>location.reload()},"Restart")):o(m,null,o(b.FormTitle,{tag:"h5"},"Plugin Management"),o(b.FormText,null,"Press the cog wheel or info icon to get more info on a plugin"),o(b.FormText,null,"Plugins with a cog wheel have settings you can modify!")))}function zh({plugin:e,disabled:t,onRestartNeeded:n,onMouseEnter:r,onMouseLeave:i,isNew:s}){let c=C.plugins[e.name],u=()=>c.enabled??!1;function p(){jr(async()=>h=>o(jc,{...h,plugin:e,onRestartNeeded:()=>n(e.name)}))}function v(){let h=u();if(!h){let{restartNeeded:T,failures:P}=Ks(e);if(P.length){Gh.error(`Failed to start dependencies for ${e.name}: ${P.join(", ")}`),ci("Failed to start dependencies: "+P.join(", "),"Close",()=>null);return}else if(T){c.enabled=!0,n(e.name);return}}if(e.patches?.length){c.enabled=!h,n(e.name);return}if(h&&!e.started){c.enabled=!h;return}if(!(h?Xc(e):pi(e))){c.enabled=!1;let T=`Error while ${h?"stopping":"starting"} plugin ${e.name}`;Gh.error(T),Fw(T);return}c.enabled=!h}return o(ue,{className:bn("card",{"card-disabled":t}),flexDirection:"column",onMouseEnter:r,onMouseLeave:i},o("div",{className:bn("card-header")},o(ee,{variant:"text-md/bold",className:bn("name")},e.name,s&&o(bh,{text:"NEW",color:"#ED4245"})),o("button",{role:"switch",onClick:()=>p(),className:V(Ow.button,bn("info-button"))},e.options?o(_w,null):o(Bw,{width:"24",height:"24"})),o(Bh,{checked:u(),onChange:v,disabled:t})),o(ee,{className:bn("note"),variant:"text-sm/normal"},e.description))}function Qc(){let e=lt(),t=N.useMemo(()=>new Or,[]);N.useEffect(()=>()=>void(t.hasChanges&&xt.show({title:"Restart required",body:o(m,null,o("p",null,"The following plugins require a restart:"),o("div",null,t.map((T,P)=>o(m,null,P>0&&", ",Ne.parse("`"+T+"`"))))),confirmText:"Restart now",cancelText:"Later!",onConfirm:()=>location.reload()})),[]);let n=N.useMemo(()=>{let T={};for(let P in we){let L=we[P].dependencies;if(L)for(let k of L)T[k]??=[],T[k].push(P)}return T},[]),r=N.useMemo(()=>Object.values(we).sort((T,P)=>T.name.localeCompare(P.name)),[]),[i,s]=N.useState({value:"",status:0}),c=T=>s(P=>({...P,value:T})),u=T=>s(P=>({...P,status:T})),p=T=>{let P=e.plugins[T.name]?.enabled;if(P&&i.status===2||!P&&i.status===1)return!1;if(!i.value.length)return!0;let L=i.value.toLowerCase();return T.name.toLowerCase().includes(L)||T.description.toLowerCase().includes(L)||T.tags?.some(k=>k.toLowerCase().includes(L))},[v]=it(()=>et("Vencord_existingPlugins").then(T=>{let P=Date.now()/1e3,L={},k=Object.values(r).map(G=>G.name),F=[];for(let{name:G}of r)(L[G]=T?.[G]??P)+60*60*24*2>P&&F.push(G);return tt("Vencord_existingPlugins",L),unsafeWindow._.isEqual(F,k)?[]:F})),h,S;if(r?.length){h=[],S=[];for(let T of r){if(!T.options&&T.name.endsWith("API")&&i.value!=="API"||!p(T))continue;if(T.required||n[T.name]?.some(L=>e.plugins[L].enabled)){let L=T.required?"This plugin is required for Vencord to function.":Uw(n[T.name]?.filter(k=>e.plugins[k].enabled));S.push(o(K,{text:L,key:T.name},({onMouseLeave:k,onMouseEnter:F})=>o(zh,{onMouseLeave:k,onMouseEnter:F,onRestartNeeded:G=>t.handleChange(G),disabled:!0,plugin:T})))}else h.push(o(zh,{onRestartNeeded:L=>t.handleChange(L),disabled:!1,plugin:T,isNew:v?.includes(T.name),key:T.name}))}}else h=S=o(ee,{variant:"text-md/normal"},"No plugins meet search criteria.");return o(_n,{title:"Plugins"},o($w,{required:t.hasChanges}),o(b.FormTitle,{tag:"h5",className:V(z.top20,z.bottom8)},"Filters"),o("div",{className:bn("filter-controls")},o(Le,{autoFocus:!0,value:i.value,placeholder:"Search for a plugin...",onChange:c,className:z.bottom20}),o("div",{className:Hh.inputWrapper},o(un,{className:Hh.inputDefault,options:[{label:
`));function r(){e.themeLinks=[...new Set(t.trim().split(/\n+/).map(i=>i.trim()).filter(Boolean))]}return o(_n,{title:"Themes"},o(Ot,{className:"vc-settings-card vc-text-selectable"},o(b.FormTitle,{tag:"h5"},"Paste links to .theme.css files here"),o(b.FormText,null,"One link per line"),o(b.FormText,null,o("strong",null,"Make sure to use the raw links or github.io links!")),o(b.FormDivider,{className:z.top8+" "+z.bottom8}),o(b.FormTitle,{tag:"h5"},"Find Themes:"),o("div",{style:{marginBottom:".5em"}},o(ct,{style:{marginRight:".5em"},href:"https://betterdiscord.app/themes"},"BetterDiscord Themes"),o(ct,{href:"https://github.com/search?q=discord+theme"},"GitHub")),o(b.FormText,null,'If using the BD site, click on "Source" somewhere below the Download button'),o(b.FormText,null,'In the GitHub repository of your theme, find X.theme.css, click on it, then click the "Raw" button'),o(b.FormText,null,"If the theme has configuration that requires you to edit the file:",o("ul",null,o("li",null,"\u2022 Make a ",o(ct,{href:"https://github.com/signup"},"GitHub")," account"),o("li",null,"\u2022 Click the fork button on the top right"),o("li",null,"\u2022 Edit the file"),o("li",null,"\u2022 Use the link to your own repository instead")))),o(b.FormTitle,{tag:"h5"},"Themes"),o(cs,{value:t,onChange:n,className:`${Hw.textarea} vc-settings-theme-links`,placeholder:"Theme Links",spellCheck:!1,onBlur:r}),o(jw,{themeLinks:e.themeLinks}))}var Hw,qw,Yh=g(()=>{"use strict";a();l();_();xo();Qe();be();B();w();zo();Hw=Ae(e=>typeof e.textarea=="string");qw=Bn(Ww,"Themes")});function Zs({value:e,onChange:t,validate:n}){let[r,i]=N.useState(e),[s,c]=N.useState();function u(p){i(p);let v=n(p);v===!0?(c(void 0),t(p)):c(v)}return o(m,null,o(Le,{type:"text",value:r,onChange:u,error:s}))}var Vc=g(()=>{"use strict";a();l();w()});var Zh={};ye(Zh,{default:()=>Jw});function Kw(e){try{return new URL(e),!0}catch{return"Invalid URL"}}async function Yw(){let e=await f(new URL("/v1/",ho()),{method:"DELETE",headers:new Headers({Authorization:await pr()})});if(!e.ok){Os.error(`Failed to erase data, API returned ${e.status}`),ve({title:"Cloud Integrations",body:`Could not erase all data (API returned ${e.status}), please contact support.`,color:"var(--red-360)"});return}C.cloud.authenticated=!1,await wc(),ve({title:"Cloud Integrations",body:"Successfully erased all data.",color:"var(--green-360)"})}function Zw(){let{cloud:e}=lt(["cloud.authenticated","cloud.settingsSync"]),t=e.authenticated&&e.settingsSync;return o(b.FormSection,{title:"Settings Sync",className:z.top16},o(b.FormText,{variant:"text-md/normal",className:z.bottom20},"Synchronize your settings to the cloud. This allows easy synchronization across multiple devices with minimal effort."),o(ht,{key:"cloud-sync",disabled:!e.authenticated,value:e.settingsSync,onChange:n=>{e.settingsSync=n}},"Settings Sync"),o("div",{className:"vc-cloud-settings-sync-grid"},o(R,{size:R.Sizes.SMALL,disabled:!t,onClick:()=>dr(!0)},"Sync to Cloud"),o(K,{text:"This will overwrite your local settings with the ones on the cloud. Use wisely!"},({onMouseLeave:n,onMouseEnter:r})=>o(R,{onMouseLeave:n,onMouseEnter:r,size:R.Sizes.SMALL,color:R.Colors.RED,disabled:!t,onClick:()=>Bs(!0,!0)},"Sync from Cloud")),o(R,{size:R.Sizes.SMALL,color:R.Colors.RED,disabled:!t,onClick:()=>oh()},"Delete Cloud Settings")))}function Xw(){let e=lt(["cloud.authenticated","cloud.url"]);return o(_n,{title:"Vencord Cloud"},o(b.FormSection,{title:"Cloud Settings",className:z.top16},o(b.FormText,{variant:"text-md/normal",className:z.bottom20},"Vencord comes with a cloud integration that adds goodies like settings sync across devices. It ",o(ct,{href:"https://vencord.dev/cloud/privacy"},"respects your privacy"),", and the ",o(ct,{href:"https://github.com/Vencord/Backend"},"source code")," is AGPL 3.0 licensed so you can host it yourself."),o(ht,{key:"backend",value:e.cloud.authenticated,onChange:t=>{t&&Jg(),t||(e.cloud.authenticated=t)},note:"This will request authorization if you have not yet set up cloud integrations."},"Enable Cloud Integrations"),o(b.FormTitle,{t
.vc-nsfw-img [class^=imageWrapper] img,
.vc-nsfw-img [class^=wrapperPaused] video {
filter: blur(${C.plugins.BlurNSFW.blurAmount}px);
transition: filter 0.2s;
}
.vc-nsfw-img [class^=imageWrapper]:hover img,
.vc-nsfw-img [class^=wrapperPaused]:hover video {
filter: unset;
}
`}var mi,fu,Ay=g(()=>{"use strict";a();l();_();M();x();fu=y({name:"BlurNSFW",description:"Blur attachments in NSFW channels until hovered",authors:[d.Ven],patches:[{find:".embedWrapper,embed",replacement:[{match:/(\.renderEmbed=.+?(.)=.\.props)(.+?\.embedWrapper)/g,replace:"$1,vcProps=$2$3+(vcProps.channel.nsfw?' vc-nsfw-img':'')"},{match:/(\.renderAttachments=.+?(.)=this\.props)(.+?\.embedWrapper)/g,replace:"$1,vcProps=$2$3+(vcProps.channel.nsfw?' vc-nsfw-img':'')"}]}],options:{blurAmount:{type:1,description:"Blur Amount",default:10,onChange:Ry}},start(){mi=document.createElement("style"),mi.id="VcBlurNsfw",document.head.appendChild(mi),Ry()},stop(){mi?.remove()}})});function l2(e){let t=C.plugins.CallTimer.format==="human",n=h=>t?h:h.toString().padStart(2,"0"),r=h=>t?h:"",i=t?" ":":",s=Math.floor(e/864e5),c=Math.floor(e%864e5/36e5),u=Math.floor(e%864e5%36e5/6e4),p=Math.floor(e%864e5%36e5%6e4/1e3),v="";return s&&(v+=`${s}d `),(c||v)&&(v+=`${n(c)}${r("h")}${i}`),(u||v||!t)&&(v+=`${n(u)}${r("m")}${i}`),v+=`${n(p)}${r("s")}`,v}var gu,Ly=g(()=>{"use strict";a();l();_();ae();M();x();w();gu=y({name:"CallTimer",description:"Adds a timer to vcs",authors:[d.Ven],startTime:0,interval:void 0,options:{format:{type:4,description:"The timer format. This can be any valid moment.js format",options:[{label:"30d 23:00:42",value:"stopwatch",default:!0},{label:"30d 23h 00m 42s",value:"human"}]}},patches:[{find:".renderConnectionStatus=",replacement:{match:/(?<=renderConnectionStatus=.+\.channel,children:)\w/,replace:"[$&, $self.renderTimer(this.props.channel.id)]"}}],renderTimer(e){return o(E,{noop:!0},o(this.Timer,{channelId:e}))},Timer({channelId:e}){let[t,n]=N.useState(0),r=N.useMemo(()=>Date.now(),[e]);return N.useEffect(()=>{let i=setInterval(()=>n(Date.now()-r),1e3);return()=>{clearInterval(i),n(0)}},[e]),o("p",{style:{margin:0}},"Connected for ",l2(t))}})});var xu={};ye(xu,{_handleClick:()=>p2,_handlePreEdit:()=>u2,_handlePreSend:()=>c2,addClickListener:()=>bu,addPreEditListener:()=>Vn,addPreSendListener:()=>ut,removeClickListener:()=>Tu,removePreEditListener:()=>eo,removePreSendListener:()=>pt});async function c2(e,t,n,r){n.replyOptions=r;for(let i of yu)try{let s=await i(e,t,n);if(s&&s.cancel===!0)return!0}catch(s){hu.error(`MessageSendHandler: Listener encountered an unknown error
`,s)}return!1}async function u2(e,t,n){for(let r of vu)try{await r(e,t,n)}catch(i){hu.error(`MessageEditHandler: Listener encountered an unknown error
`,i)}}function ut(e){return yu.add(e),e}function Vn(e){return vu.add(e),e}function pt(e){return yu.delete(e)}function eo(e){return vu.delete(e)}function p2(e,t,n){e=dn.getMessage(t.id,e.id)??e;for(let r of Su)try{r(e,t,n)}catch(i){hu.error(`MessageClickHandler: Listener encountered an unknown error
`,i)}}function bu(e){return Su.add(e),e}function Tu(e){return Su.delete(e)}var hu,yu,vu,Su,Tn=g(()=>{"use strict";a();l();xe();w();hu=new X("MessageEvents","#e5c890"),yu=new Set,vu=new Set;Su=new Set});var Ey,Dy=g(()=>{"use strict";a();l();Ey=["action_object_map","action_type_map","action_ref_map","spm@*.aliexpress.com","scm@*.aliexpress.com","aff_platform","aff_trace_key","algo_expid@*.aliexpress.*","algo_pvid@*.aliexpress.*","btsid","ws_ab_test","pd_rd_*@amazon.*","_encoding@amazon.*","psc@amazon.*","tag@amazon.*","ref_@amazon.*","pf_rd_*@amazon.*","pf@amazon.*","crid@amazon.*","keywords@amazon.*","sprefix@amazon.*","sr@amazon.*","ie@amazon.*","node@amazon.*","qid@amazon.*","callback@bilibili.com","cvid@bing.com","form@bing.com","sk@bing.com","sp@bing.com","sc@bing.com","qs@bing.com","pq@bing.com","sc_cid","mkt_tok","trk","trkCampaign","ga_*","gclid","gclsrc","hmb_campaign","hmb_medium","hmb_source","spReportId","spJobID","spUserID","spMailingID","itm_*","s_cid","elqTrackId","elqTrack","assetType","assetId","recipientId","campaignId","siteId","mc_cid","mc_eid","pk_*","sc_campaign","sc_channel","sc_content","sc_medium","sc_outcome","sc_geo","sc_country","nr_email_referer","vero_conv","vero_id","yclid","_openstat","mbid","cmpid","cid","c_id","campaign_id","Campaign","hash@ebay.*","fb_action_ids","fb_action_types","fb_ref","fb_source","fbclid","refsrc@facebook.com","hrc@facebook.com","gs_l","gs_lcp@google.*","ved@google.*","ei@google.*","sei@google.*","gws_rd@google.*","gs_gbg@google.*","gs_mss@google.*","gs_rn@google.*","_hsenc","_hsmi","__hssc","__hstc","hsCtaTracking","source@sourceforge.net","position@sourceforge.net","t@*.twitter.com","s@*.twitter.com","ref_*@*.twitter.com","tt_medium","tt_content","lr@yandex.*","redircnt@yandex.*","feature@youtube.com","kw@youtube.com","wt_zmc","utm_source","utm_content","utm_medium","utm_campaign","utm_term","si@open.spotify.com","igshid"]});var Oy,d2,wu,_y=g(()=>{"use strict";a();l();Tn();M();x();Dy();Oy=/[\\^$.*+?()[\]{}|]/g,d2=RegExp(Oy.source),wu=y({name:"ClearURLs",description:"Removes tracking garbage from URLs",authors:[d.adryd],dependencies:["MessageEventsAPI"],escapeRegExp(e){return e&&d2.test(e)?e.replace(Oy,"\\$&"):e||""},createRules(){let e=Ey;this.universalRules=new Set,this.rulesByHost=new Map,this.hostRules=new Map;for(let t of e){let n=t.split("@"),r=new RegExp("^"+this.escapeRegExp(n[0]).replace(/\\\*/,".+?")+"$");if(!n[1]){this.universalRules.add(r);continue}let i=new RegExp("^(www\\.)?"+this.escapeRegExp(n[1]).replace(/\\\./,"\\.").replace(/^\\\*\\\./,"(.+?\\.)?").replace(/\\\*/,".+?")+"$"),s=i.toString();this.hostRules.set(s,i),this.rulesByHost.get(s)==null&&this.rulesByHost.set(s,new Set),this.rulesByHost.get(s).add(r)}},removeParam(e,t,n){(t===e||e instanceof RegExp&&e.test(t))&&n.delete(t)},replacer(e){try{var t=new URL(e)}catch{return e}return t.searchParams.entries().next().done?e:(this.universalRules.forEach(n=>{t.searchParams.forEach((r,i,s)=>{this.removeParam(n,i,s)})}),this.hostRules.forEach((n,r)=>{!n.test(t.hostname)||this.rulesByHost.get(r).forEach(i=>{t.searchParams.forEach((s,c,u)=>{this.removeParam(i,c,u)})})}),t.toString())},onSend(e){e.content.match(/http(s)?:\/\//)&&(e.content=e.content.replace(/(https?:\/\/[^\s<]+[^<.,:;"'>)|\]\s])/g,t=>this.replacer(t)))},start(){this.createRules(),this.preSend=ut((e,t)=>this.onSend(t)),this.preEdit=Vn((e,t,n)=>this.onSend(n))},stop(){pt(this.preSend),eo(this.preEdit)}})});var Pu,By=g(()=>{"use strict";a();l();M();x();Pu=y({name:"ColorSighted",description:"Removes the colorblind-friendly icons from statuses, just like 2015-2017 Discord",authors:[d.lewisakura],patches:[{find:"Masks.STATUS_ONLINE",replacement:{match:/Masks\.STATUS_(?:IDLE|DND|STREAMING|OFFLINE)/g,replace:"Masks.STATUS_ONLINE"}},{find:".AVATAR_STATUS_MOBILE_16;",replacement:{match:/(\.fromIsMobile,.+?)\i.status/,replace:(e,t)=>`${t}"online"`}}]})});var m2,Mu,Fy=g(()=>{"use strict";a();l();M();si();Kr();x();B();B();w();m2=e=>()=>{throw new Error(`'${e}' is Discord Desktop only.`)},Mu=y({name:"ConsoleShortcuts",description:"Adds shorter Aliases f
`,p),c[0]}})();return u&&s&&r.set(s,u),u}}let t;return{wp:Vencord.Webpack,wpc:zt.c,wreq:zt,wpsearch:Sl,wpex:bl,wpexs:n=>Vencord.Webpack.extract(Vencord.Webpack.findModuleId(n)),find:e(n=>n),findAll:ir,findByProps:e(Z.byProps),findAllByProps:(...n)=>ir(Z.byProps(...n)),findByCode:e(Z.byCode),findAllByCode:n=>ir(Z.byCode(n)),findStore:e(Z.byStoreName),PluginsApi:Vencord.Plugins,plugins:Vencord.Plugins.plugins,React:N,Settings:Vencord.Settings,Api:Vencord.Api,reload:()=>location.reload(),restart:m2("restart"),canonicalizeMatch:Ho,canonicalizeReplace:ws,canonicalizeReplacement:qr,fakeRender:(n,r)=>{let i=t?.deref(),s=i?.closed===!1?i:unsafeWindow.open("about:blank","Fake Render","popup,width=500,height=500");t=new WeakRef(s),s.focus(),Fo.render(N.createElement(n,r),s.document.body)}}},start(){let e=this.getShortcuts();unsafeWindow.shortcutList=e;for(let[t,n]of Object.entries(e))unsafeWindow[t]=n},stop(){delete unsafeWindow.shortcutList;for(let e in this.getShortcuts())delete unsafeWindow[e]}})});var wo,Iu,Cu,Vs,Nu,ku,$y=g(()=>{"use strict";a();l();mo();_();M();xe();Je();x();fr();w();wo=new X("CrashHandler"),Iu=A({attemptToPreventCrashes:{type:3,description:"Whether to attempt to prevent Discord crashes.",default:!0},attemptToNavigateToHome:{type:3,description:"Whether to attempt to navigate to the home when preventing Discord crashes.",default:!1}}),Cu=0,Vs=0,Nu=!1,ku=y({name:"CrashHandler",description:"Utility plugin for handling and possibly recovering from Crashes without a restart",authors:[d.Nuckyz],enabledByDefault:!0,popAllModals:void 0,settings:Iu,patches:[{find:".Messages.ERRORS_UNEXPECTED_CRASH",replacement:{match:/(?=this\.setState\()/,replace:"$self.handleCrash(this)||"}},{find:'dispatch({type:"MODAL_POP_ALL"})',replacement:{match:/"MODAL_POP_ALL".+?};(?<=(\i)=function.+?)/,replace:(e,t)=>`${e}$self.popAllModals=${t};`}}],handleCrash(e){if(Date.now()-Vs<=1e3&&!Nu)return!0;if(Nu=!1,++Cu>5){try{ve({color:"#eed202",title:"Discord has crashed!",body:"Awn :( Discord has crashed more than five times, not attempting to recover.",noPersist:!0})}catch{}return Vs=Date.now(),!1}setTimeout(()=>Cu--,6e4);try{return Cu===1&&ai("Uh oh, Discord has just crashed... but good news, there is a Vencord update available that might fix this issue! Would you like to update now?",!0),Iu.store.attemptToPreventCrashes?(this.handlePreventCrash(e),!0):!1}catch(t){return wo.error("Failed to handle crash",t),!1}finally{Vs=Date.now()}},handlePreventCrash(e){if(Date.now()-Vs>=1e3)try{ve({color:"#eed202",title:"Discord has crashed!",body:"Attempting to recover...",noPersist:!0})}catch{}try{O.dispatch({type:"CONTEXT_MENU_CLOSE"})}catch(t){wo.debug("Failed to close open context menu.",t)}try{this.popAllModals?.()}catch(t){wo.debug("Failed to close old modals.",t)}try{Ll()}catch(t){wo.debug("Failed to close all open modals.",t)}try{O.dispatch({type:"USER_PROFILE_MODAL_CLOSE"})}catch(t){wo.debug("Failed to close user popout.",t)}try{O.dispatch({type:"LAYER_POP_ALL"})}catch(t){wo.debug("Failed to pop all layers.",t)}if(Iu.store.attemptToNavigateToHome)try{zr.transitionTo("/channels/@me")}catch(t){wo.debug("Failed to navigate to home",t)}try{Nu=!0,e.forceUpdate()}catch(t){wo.debug("Failed to update crash handler component.",t)}}})});async function Uy(e){return(await y2.getAsset(ta.store.appID,[e,void 0]))[0]}async function Hy(){let{appID:e,appName:t,details:n,state:r,type:i,startTime:s,endTime:c,imageBig:u,imageBigTooltip:p,imageSmall:v,imageSmallTooltip:h,buttonOneText:S,buttonOneURL:T,buttonTwoText:P,buttonTwoURL:L}=ta.store;if(!t)return;let k={application_id:e||"0",name:t,state:r,details:n,type:i,flags:1<<0};s&&(k.timestamps={start:s},c&&(k.timestamps.end=c)),S&&(k.buttons=[S,P].filter(bs),k.metadata={button_urls:[T,L].filter(bs)}),u&&(k.assets={large_image:await Uy(u),large_text:p}),v&&(k.assets={...k.assets,small_image:await Uy(v),small_text:h});for(let F in k){if(F==="type")continue;let G=k[F];(!G||G.length===0)&&delete k[F]}return k}async function fi(e){let t=await Hy();O.dispatch({type:"LOCAL_ACTIVITY_UPDATE",activity:e?null:t,socketId:"Custom
discord.gg/${r.code} \xB7
Expires: <t:${new Date(r.expires_at).getTime()/1e3}:R> \xB7
Max uses: \`${r.max_uses}\`
`.trim().replace(/\s+/g," ")})}},{name:"view friend invites",description:"View a list of all generated friend invites.",inputType:3,execute:async(e,t)=>{let r=(await qu.getAllFriendInvites()).map(i=>`
_discord.gg/${i.code}_ \xB7
Expires: <t:${new Date(i.expires_at).getTime()/1e3}:R> \xB7
Times used: \`${i.uses}/${i.max_uses}\`
`.trim().replace(/\s+/g," "));ie(t.channel.id,{content:r.join(`
`)||"You have no active friend invites!"})}},{name:"revoke friend invites",description:"Revokes all generated friend invites.",inputType:3,execute:async(e,t)=>(await qu.revokeFriendInvites(),void ie(t.channel.id,{content:"All friend invites have been revoked."}))}]})});var Zu={};ye(Zu,{getSettingStore:()=>hv,getSettingStoreLazy:()=>Yu});function hv(e,t){if(!C.plugins.SettingsStoreAPI.enabled)throw new Error("Cannot use SettingsStoreAPI without setting as dependency.");return B2?.find(n=>n?.settingsStoreApiGroup===e&&n?.settingsStoreApiName===t)}function Yu(e,t){return ft(()=>hv(e,t))}var B2,Xu=g(()=>{"use strict";a();l();ln();xe();B();_();B2=ft(()=>{let e=is('"textAndImages","renderSpoilers"');if(e==null)return new X("SettingsStoreAPI").error("Didn't find stores module.");let t=zt(e);if(t!=null)return Object.values(t).filter(n=>n?.settingsStoreApiGroup)})});var Ju,yv=g(()=>{a();l();(unsafeWindow.VencordStyles??=new Map).set("src/plugins/gameActivityToggle/style.css",{name:"src/plugins/gameActivityToggle/style.css",source:`[class*="withTagAsButton"] {
min-width: 88px;
}
`,classNames:{},dom:null});Ju="src/plugins/gameActivityToggle/style.css"});function $2(e){return function(){return o("svg",{width:"24",height:"24",viewBox:"0 96 960 960"},o("path",{fill:"currentColor",d:"M182 856q-51 0-79-35.5T82 734l42-300q9-60 53.5-99T282 296h396q60 0 104.5 39t53.5 99l42 300q7 51-21 86.5T778 856q-21 0-39-7.5T706 826l-90-90H344l-90 90q-15 15-33 22.5t-39 7.5Zm498-240q17 0 28.5-11.5T720 576q0-17-11.5-28.5T680 536q-17 0-28.5 11.5T640 576q0 17 11.5 28.5T680 616Zm-80-120q17 0 28.5-11.5T640 456q0-17-11.5-28.5T600 416q-17 0-28.5 11.5T560 456q0 17 11.5 28.5T600 496ZM310 616h60v-70h70v-60h-70v-70h-60v70h-70v60h70v70Z"}),!e&&o("line",{x1:"920",y1:"280",x2:"40",y2:"880",stroke:"var(--status-danger)","stroke-width":"80"}))}}function U2(){let e=vv?.useSetting();return o(F2,{tooltipText:e?"Disable Game Activity":"Enable Game Activity",icon:$2(e),role:"switch","aria-checked":!e,onClick:()=>vv?.updateSetting(t=>!t)})}var vv,F2,Qu,Sv=g(()=>{"use strict";a();l();Xu();ze();ae();M();x();B();yv();vv=Yu("status","showCurrentGame"),F2=pe("Button.Sizes.NONE,disabled:");Qu=y({name:"GameActivityToggle",description:"Adds a button next to the mic and deafen button to toggle game activity.",authors:[d.Nuckyz],dependencies:["SettingsStoreAPI"],patches:[{find:".Messages.ACCOUNT_SPEAKING_WHILE_MUTED",replacement:{match:/this\.renderNameZone\(\).+?children:\[/,replace:"$&$self.GameActivityToggleButton(),"}}],GameActivityToggleButton:E.wrap(U2,{noop:!0}),start(){Ve(Ju)},stop(){Ct(Ju)}})});var G2,Vu,bv=g(()=>{"use strict";a();l();M();ot();x();B();G2=Ze('name:"expression-picker-last-active-view"',{close:Z.byCode("activeView:null","setState")}),Vu=y({name:"GifPaste",description:"Makes picking a gif in the gif picker insert a link into the chatbox instead of instantly sending it",authors:[d.Ven],patches:[{find:".handleSelectGIF=",replacement:{match:/\.handleSelectGIF=function.+?\{/,replace:".handleSelectGIF=function(gif){return $self.handleSelect(gif);"}}],handleSelect(e){e&&(jn(e.url+" "),G2.close())}})});var ep={};ye(ep,{_buildPopoverElements:()=>z2,addButton:()=>xn,buttons:()=>sa,removeButton:()=>wn});function xn(e,t){sa.set(e,t)}function wn(e){sa.delete(e)}function z2(e,t){let n=[];for(let[r,i]of sa.entries())try{let s=i(e);s&&(s.key??=r,n.push(t(s)))}catch(s){H2.error(`[${r}]`,s)}return n}var H2,sa,Zo=g(()=>{"use strict";a();l();xe();H2=new X("MessagePopover"),sa=new Map});var yi,xv,vi,Tv,j2,tp,wv=g(()=>{"use strict";a();l();kn();Zo();Fn();M();x();w();xv="HideAttachments_HiddenIds",vi=new Set,Tv=()=>et(xv).then(e=>(vi=e??new Set,vi)),j2=e=>tt(xv,e),tp=y({name:"HideAttachments",description:"Hide attachments and Embeds for individual messages via hover button",authors:[d.Ven],dependencies:["MessagePopoverAPI"],async start(){yi=document.createElement("style"),yi.id="VencordHideAttachments",document.head.appendChild(yi),await Tv(),await this.buildCss(),xn("HideAttachments",e=>{if(!e.attachments.length&&!e.embeds.length)return null;let t=vi.has(e.id);return{label:t?"Show Attachments":"Hide Attachments",icon:t?Js:Qs,message:e,channel:J.getChannel(e.channel_id),onClick:()=>this.toggleHide(e.id)}})},stop(){yi.remove(),vi.clear(),wn("HideAttachments")},async buildCss(){let e=[...vi].map(t=>`#message-accessories-${t}`).join(",");yi.textContent=`
:is(${e}) [class*="embedWrapper"] {
/* important is not necessary, but add it to make sure bad themes won't break it */
display: none !important;
}
:is(${e})::after {
content: "Attachments hidden";
color: var(--text-muted);
font-size: 80%;
}
`},async toggleHide(e){let t=await Tv();t.delete(e)||t.add(e),await j2(t),await this.buildCss()}})});var np,Pv=g(()=>{"use strict";a();l();M();x();np=y({name:"iLoveSpam",description:"Do not hide messages from 'likely spammers'",authors:[d.botato,d.Animal],patches:[{find:"),{hasFlag:",replacement:{match:/(if\((.{1,2})<=1<<30\)return)/,replace:"if($2===(1<<20)){return false};$1"}}]})});function K2(){return o("svg",{className:vr.overlayToggleIconOff,height:"24",width:"24",viewBox:"0 2.2 32 26","aria-hidden":!0,role:"img"},o("g",{fill:"none",fillRule:"evenodd"},o("path",{className:vr.fill,fill:"currentColor",d:"M 16 8 C 7.664063 8 1.25 15.34375 1.25 15.34375 L 0.65625 16 L 1.25 16.65625 C 1.25 16.65625 7.097656 23.324219 14.875 23.9375 C 15.246094 23.984375 15.617188 24 16 24 C 16.382813 24 16.753906 23.984375 17.125 23.9375 C 24.902344 23.324219 30.75 16.65625 30.75 16.65625 L 31.34375 16 L 30.75 15.34375 C 30.75 15.34375 24.335938 8 16 8 Z M 16 10 C 18.203125 10 20.234375 10.601563 22 11.40625 C 22.636719 12.460938 23 13.675781 23 15 C 23 18.613281 20.289063 21.582031 16.78125 21.96875 C 16.761719 21.972656 16.738281 21.964844 16.71875 21.96875 C 16.480469 21.980469 16.242188 22 16 22 C 15.734375 22 15.476563 21.984375 15.21875 21.96875 C 11.710938 21.582031 9 18.613281 9 15 C 9 13.695313 9.351563 12.480469 9.96875 11.4375 L 9.9375 11.4375 C 11.71875 10.617188 13.773438 10 16 10 Z M 16 12 C 14.34375 12 13 13.34375 13 15 C 13 16.65625 14.34375 18 16 18 C 17.65625 18 19 16.65625 19 15 C 19 13.34375 17.65625 12 16 12 Z M 7.25 12.9375 C 7.09375 13.609375 7 14.285156 7 15 C 7 16.753906 7.5 18.394531 8.375 19.78125 C 5.855469 18.324219 4.105469 16.585938 3.53125 16 C 4.011719 15.507813 5.351563 14.203125 7.25 12.9375 Z M 24.75 12.9375 C 26.648438 14.203125 27.988281 15.507813 28.46875 16 C 27.894531 16.585938 26.144531 18.324219 23.625 19.78125 C 24.5 18.394531 25 16.753906 25 15 C 25 14.285156 24.90625 13.601563 24.75 12.9375 Z"}),o("rect",{className:vr.fill,x:"3",y:"26",width:"26",height:"2",transform:"rotate(-45 2 20)"})))}function Y2({forceWhite:e}){return o("svg",{className:vr.overlayToggleIconOn,height:"24",width:"24",viewBox:"0 2.2 32 26"},o("path",{className:e?"":vr.fill,fill:e?"var(--white-500)":"",d:"M 16 8 C 7.664063 8 1.25 15.34375 1.25 15.34375 L 0.65625 16 L 1.25 16.65625 C 1.25 16.65625 7.097656 23.324219 14.875 23.9375 C 15.246094 23.984375 15.617188 24 16 24 C 16.382813 24 16.753906 23.984375 17.125 23.9375 C 24.902344 23.324219 30.75 16.65625 30.75 16.65625 L 31.34375 16 L 30.75 15.34375 C 30.75 15.34375 24.335938 8 16 8 Z M 16 10 C 18.203125 10 20.234375 10.601563 22 11.40625 C 22.636719 12.460938 23 13.675781 23 15 C 23 18.613281 20.289063 21.582031 16.78125 21.96875 C 16.761719 21.972656 16.738281 21.964844 16.71875 21.96875 C 16.480469 21.980469 16.242188 22 16 22 C 15.734375 22 15.476563 21.984375 15.21875 21.96875 C 11.710938 21.582031 9 18.613281 9 15 C 9 13.695313 9.351563 12.480469 9.96875 11.4375 L 9.9375 11.4375 C 11.71875 10.617188 13.773438 10 16 10 Z M 16 12 C 14.34375 12 13 13.34375 13 15 C 13 16.65625 14.34375 18 16 18 C 17.65625 18 19 16.65625 19 15 C 19 13.34375 17.65625 12 16 12 Z M 7.25 12.9375 C 7.09375 13.609375 7 14.285156 7 15 C 7 16.753906 7.5 18.394531 8.375 19.78125 C 5.855469 18.324219 4.105469 16.585938 3.53125 16 C 4.011719 15.507813 5.351563 14.203125 7.25 12.9375 Z M 24.75 12.9375 C 26.648438 14.203125 27.988281 15.507813 28.46875 16 C 27.894531 16.585938 26.144531 18.324219 23.625 19.78125 C 24.5 18.394531 25 16.753906 25 15 C 25 14.285156 24.90625 13.601563 24.75 12.9375 Z"}))}function Iv({activity:e,forceWhite:t,forceLeftMargin:n}){let r=Dt();return o(K,{text:"Toggle activity"},({onMouseLeave:i,onMouseEnter:s})=>o("div",{onMouseLeave:i,onMouseEnter:s,className:vr.overlayToggleIcon,role:"button","aria-label":"Toggle activity",tabIndex:0,style:n?{marginLeft:"2px"}:void 0,onClick:c=>X2(c,e,r)},tn.has(e.id)?o(K2,null):o(Y2,{forceWhite:t})))}function Z2({activity:e}){return o("div",{className:`${W2.tryItOutBadge} ${q2.baseShapeRound}`,style:{padding:"0px 2px",height:28}},o
position: absolute;
inset: 0;
z-index: 9999;
border: 2px solid grey;
border-radius: 50%;
overflow: hidden;
cursor: none;
box-shadow: inset 0 0 10px 2px grey;
filter: drop-shadow(0 0 2px grey);
pointer-events: none;
}
.vc-imgzoom-square {
border-radius: 0;
}
.vc-imgzoom-nearest-neighbor > img {
image-rendering: pixelated; /* https://googlechrome.github.io/samples/image-rendering-pixelated/index.html */
}
/* make the carousel take up less space so we can click the backdrop and exit out of it */
[class|="carouselModal"] {
height: fit-content;
box-shadow: none;
}
[class*="modalCarouselWrapper"] {
height: fit-content;
top: 50%;
transform: translateY(-50%);
}
[class|="wrapper"]:has(> #vc-imgzoom-magnify-modal) {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
`,classNames:{},dom:null});cp="src/plugins/imageZoom/styles.css"});var Pe,Av,up,lp=g(()=>{"use strict";a();l();It();_();ze();js();M();rr();x();w();kv();ip();Rv();Pe=A({saveZoomValues:{type:3,description:"Whether to save zoom and lens size values",default:!0},preventCarouselFromClosingOnClick:{type:3,description:"Allow the image modal in the image slideshow thing / carousel to remain open when clicking on the image",default:!0},invertScroll:{type:3,description:"Invert scroll",default:!0},nearestNeighbour:{type:3,description:"Use Nearest Neighbour Interpolation when scaling images",default:!1},square:{type:3,description:"Make the lens square",default:!1},zoom:{description:"Zoom of the lens",type:5,markers:gr(1,50,4),default:2,stickToMarkers:!1},size:{description:"Radius / Size of the lens",type:5,markers:gr(50,1e3,50),default:100,stickToMarkers:!1},zoomSpeed:{description:"How fast the zoom / lens size changes",type:5,markers:gr(.1,5,.2),default:.5,stickToMarkers:!1}}),Av=e=>()=>{e.push(o(D.MenuGroup,{id:"image-zoom"},o(D.MenuCheckboxItem,{id:"vc-square",label:"Square Lens",checked:Pe.store.square,action:()=>{Pe.store.square=!Pe.store.square,pn.close()}}),o(D.MenuControlItem,{id:"vc-zoom",label:"Zoom",control:(t,n)=>o(D.MenuSliderControl,{ref:n,...t,minValue:1,maxValue:50,value:Pe.store.zoom,onChange:Et(r=>Pe.store.zoom=r,100)})}),o(D.MenuControlItem,{id:"vc-size",label:"Lens Size",control:(t,n)=>o(D.MenuSliderControl,{ref:n,...t,minValue:50,maxValue:1e3,value:Pe.store.size,onChange:Et(r=>Pe.store.size=r,100)})}),o(D.MenuControlItem,{id:"vc-zoom-speed",label:"Zoom Speed",control:(t,n)=>o(D.MenuSliderControl,{ref:n,...t,minValue:.1,maxValue:5,value:Pe.store.zoomSpeed,onChange:Et(r=>Pe.store.zoomSpeed=r,100),renderValue:r=>`${r.toFixed(3)}x`})})))},up=y({name:"ImageZoom",description:"Lets you zoom in to images and gifs. Use scroll wheel to zoom in and shift + scroll wheel to increase lens radius / size",authors:[d.Aria],tags:["ImageUtilities"],patches:[{find:'"renderLinkComponent","maxWidth"',replacement:{match:/(return\(.{1,100}\(\)\.wrapper.{1,100})(src)/,replace:`$1id: '${Si}',$2`}},{find:"handleImageLoad=",replacement:[{match:/(render=function\(\){.{1,500}limitResponsiveWidth.{1,600})onMouseEnter:/,replace:"$1...$self.makeProps(this),onMouseEnter:"},{match:/componentDidMount=function\(\){/,replace:"$&$self.renderMagnifier(this);"},{match:/componentWillUnmount=function\(\){/,replace:"$&$self.unMountMagnifier();"}]},{find:".carouselModal,",replacement:{match:/onClick:(\i),/,replace:"onClick:$self.settings.store.preventCarouselFromClosingOnClick ? () => {} : $1,"}}],settings:Pe,currentMagnifierElement:null,element:null,Magnifier:ap,root:null,makeProps(e){return{onMouseOver:()=>this.onMouseOver(e),onMouseOut:()=>this.onMouseOut(e),onMouseDown:t=>this.onMouseDown(t,e),onMouseUp:()=>this.onMouseUp(e),id:e.props.id}},renderMagnifier(e){e.props.id===Si&&(this.currentMagnifierElement||(this.currentMagnifierElement=o(ap,{size:Pe.store.size,zoom:Pe.store.zoom,instance:e}),this.root=Fo.createRoot(this.element),this.root.render(this.currentMagnifierElement)))},unMountMagnifier(){this.root?.unmount(),this.currentMagnifierElement=null,this.root=null},onMouseOver(e){e.setState(t=>({...t,mouseOver:!0}))},onMouseOut(e){e.setState(t=>({...t,mouseOver:!1}))},onMouseDown(e,t){e.button===0&&t.setState(n=>({...n,mouseDown:!0}))},onMouseUp(e){e.setState(t=>({...t,mouseDown:!1}))},start(){Ve(cp),me("image-context",Av),this.element=document.createElement("div"),this.element.classList.add("MagnifierContainer"),document.body.appendChild(this.element)},stop(){Ct(cp),this.root&&this.root.unmount(),this.element?.remove(),fe("image-context",Av)}})});function Q2(e){let t=e?.message?.content,[n,r]=N.useState("password");return o(De,{...e},o(Ge,null,o(b.FormTitle,{tag:"h4"},"Decrypt Message")),o(He,null,o(b.FormTitle,{tag:"h5",style:{marginTop:"10px"}},"Secret"),o(Le,{defaultValue:t,disabled:!0}),o(b.FormTitle,{tag:"h5"},"Password"),o(Le,{style:{marginBottom:"20px"},onChange:r})),o(wt,null,o(R,{color:R.Colors.GREEN,onClick:()=>{let i=pp(t,n,!0);!i||!e?.me
background-color: rgba(240 71 71 / 15%) !important;
}
`,classNames:{},dom:null});Cp="src/plugins/messageLogger/deleteStyleOverlay.css"});var Np,n1=g(()=>{a();l();(unsafeWindow.VencordStyles??=new Map).set("src/plugins/messageLogger/deleteStyleText.css",{name:"src/plugins/messageLogger/deleteStyleText.css",source:`/* Message content highlighting */
.messagelogger-deleted [class*="contents-"] > :is(div, h1, h2, h3, p) {
color: #f04747 !important;
}
/* Embed highlighting */
.messagelogger-deleted article :is(div, span, h1, h2, h3, p) {
color: #f04747 !important;
}
.messagelogger-deleted a {
color: #be3535 !important;
text-decoration: underline;
}
`,classNames:{},dom:null});Np="src/plugins/messageLogger/deleteStyleText.css"});function o1(){C.plugins.MessageLogger.deleteStyle==="text"?(Ve(Np),Ct(Cp)):(Ct(Np),Ve(Cp))}var PP,r1,i1,s1,kp,a1=g(()=>{"use strict";a();l();e1();It();_();ze();ae();M();xe();x();B();w();t1();n1();PP=I("edited","communicationDisabled","isSystemMessage");r1="ml-remove-history",i1="ml-toggle-style",s1=(e,t)=>()=>{let{message:n}=t,{deleted:r,editHistory:i,id:s,channel_id:c}=n;if(!r&&!i?.length)return;e:{if(!r)break e;let u=document.getElementById(`chat-messages-${c}-${s}`);if(!u)break e;e.push(o(D.MenuItem,{id:i1,key:i1,label:"Toggle Deleted Highlight",action:()=>u.classList.toggle("messagelogger-deleted")}))}e.push(o(D.MenuItem,{id:r1,key:r1,label:"Remove Message History",color:"danger",action:()=>{r?O.dispatch({type:"MESSAGE_DELETE",channelId:c,id:s,mlDeleted:!0}):n.editHistory=[]}}))},kp=y({name:"MessageLogger",description:"Temporarily logs deleted and edited messages.",authors:[d.rushii,d.Ven],start(){o1(),me("message",s1)},stop(){fe("message",s1)},renderEdit(e){return o(E,{noop:!0},o("div",{className:"messagelogger-edited"},Ne.parse(e.content),o(An,{timestamp:e.timestamp,isEdited:!0,isInline:!1},o("span",{className:PP.edited}," ","(",at.Messages.MESSAGE_EDITED,")"))))},makeEdit(e,t){return{timestamp:Vt?.call(e.edited_timestamp),content:t.content}},options:{deleteStyle:{type:4,description:"The style of deleted messages",default:"text",options:[{label:"Red text",value:"text",default:!0},{label:"Red overlay",value:"overlay"}],onChange:()=>o1()},ignoreBots:{type:3,description:"Whether to ignore messages by bots",default:!1},ignoreSelf:{type:3,description:"Whether to ignore messages by yourself",default:!1},ignoreUsers:{type:0,description:"Comma-separated list of user IDs to ignore",default:""}},handleDelete(e,t,n){try{let p=function(v){let h=e.get(v);if(!h)return;let S=64;t.mlDeleted||(h.flags&S)===S||i&&h.author?.bot||s&&h.author?.id===u||c.includes(h.author?.id)?e=e.remove(v):e=e.update(v,P=>P.set("deleted",!0).set("attachments",P.attachments.map(L=>(L.deleted=!0,L))))};var r=p;if(e==null||!n&&!e.has(t.id))return e;let{ignoreBots:i,ignoreSelf:s,ignoreUsers:c}=C.plugins.MessageLogger,u=U.getCurrentUser().id;n?t.ids.forEach(p):p(t.id)}catch(i){new X("MessageLogger").error("Error during handleDelete",i)}return e},patches:[{find:'displayName="MessageStore"',replacement:[{match:/MESSAGE_DELETE:function\((\w)\){var .+?((?:\w{1,2}\.){2})getOrCreate.+?},/,replace:"MESSAGE_DELETE:function($1){ var cache = $2getOrCreate($1.channelId); cache = $self.handleDelete(cache, $1, false); $2commit(cache);},"},{match:/MESSAGE_DELETE_BULK:function\((\w)\){var .+?((?:\w{1,2}\.){2})getOrCreate.+?},/,replace:"MESSAGE_DELETE_BULK:function($1){ var cache = $2getOrCreate($1.channelId); cache = $self.handleDelete(cache, $1, true); $2commit(cache);},"},{match:/(MESSAGE_UPDATE:function\((\w)\).+?)\.update\((\w)/,replace:"$1.update($3,m => (($2.message.flags & 64) === 64 || (Vencord.Settings.plugins.MessageLogger.ignoreBots && $2.message.author?.bot) || (Vencord.Settings.plugins.MessageLogger.ignoreSelf && $2.message.author?.id === Vencord.Webpack.Common.UserStore.getCurrentUser().id)) ? m : $2.message.content !== m.editHistory?.[0]?.content && $2.message.content !== m.content ? m.set('editHistory',[...(m.editHistory || []), $self.makeEdit($2.message, m)]) : m).update($3"},{match:/(?<=getLastEditableMessage=.{0,200}\.find\(\(function\((\i)\)\{)return/,replace:"return !$1.deleted &&"}]},{find:"isFirstMessageInForumPost=function",replacement:[{match:/(\w)\.customRenderedContent=(\w)\.customRenderedContent;/,replace:"$1.customRenderedContent = $2.customRenderedContent;$1.deleted = $2.deleted || false;$1.editHistory = $2.editHistory || [];"}]},{find:"THREAD_STARTER_MESSAGE?null===",replacement:[{match:/interactionData:(\w)\.interactionData/,replace:"interactionData:$1.interactionData,deleted:$1.deleted,editHistory:$1.editHistory,attachments:$1.attachments"},{match:/attachments:(\w{1,2})\((\w)\)/,replace:"attachments: $1((() => { let old = argument
`)}):(ie(n.channel.id,{author:$n,content:`${Po} The tag **${e.name}** does not exist anymore! Please reload ur Discord to fix :)`}),{content:`/${e.name}`}),[MP]:!0},"CustomTags")}var Po,ma,MP,$n,da,pa,IP,CP,Rp,c1=g(()=>{"use strict";a();l();Ft();kn();_();M();x();Po="<:luna:1035316192220553236>",ma="MessageTags_TAGS",MP=Symbol("MessageTags"),$n={id:"821472922140803112",bot:!1},da=()=>et(ma).then(e=>e??[]),pa=e=>et(ma).then(t=>(t??[]).find(n=>n.name===e)??null),IP=async e=>{let t=await da();return t.push(e),tt(ma,t),t},CP=async e=>{let t=await da();return t=await t.filter(n=>n.name!==e),tt(ma,t),t};Rp=y({name:"MessageTags",description:"Allows you to save messages and to use them with a simple command.",authors:[d.Luna],options:{clyde:{name:"Clyde message on send",description:"If enabled, clyde will send you an ephemeral message when a tag was used.",type:3,default:!0}},dependencies:["CommandsAPI"],async start(){for(let e of await da())l1(e)},commands:[{name:"tags",description:"Manage all the tags for yourself",inputType:0,options:[{name:"create",description:"Create a new tag",type:1,options:[{name:"tag-name",description:"The name of the tag to trigger the response",type:3,required:!0},{name:"message",description:"The message that you will send when using this tag",type:3,required:!0}]},{name:"list",description:"List all tags from yourself",type:1,options:[]},{name:"delete",description:"Remove a tag from your yourself",type:1,options:[{name:"tag-name",description:"The name of the tag to trigger the response",type:3,required:!0}]},{name:"preview",description:"Preview a tag without sending it publicly",type:1,options:[{name:"tag-name",description:"The name of the tag to trigger the response",type:3,required:!0}]}],async execute(e,t){switch(e[0].name){case"create":{let n=Be(e[0].options,"tag-name",""),r=Be(e[0].options,"message","");if(await pa(n))return ie(t.channel.id,{author:$n,content:`${Po} A Tag with the name **${n}** already exists!`});let i={name:n,enabled:!0,message:r};l1(i),await IP(i),ie(t.channel.id,{author:$n,content:`${Po} Successfully created the tag **${n}**!`});break}case"delete":{let n=Be(e[0].options,"tag-name","");if(!await pa(n))return ie(t.channel.id,{author:$n,content:`${Po} A Tag with the name **${n}** does not exist!`});ui(n),await CP(n),ie(t.channel.id,{author:$n,content:`${Po} Successfully deleted the tag **${n}**!`});break}case"list":{ie(t.channel.id,{author:$n,embeds:[{title:"All Tags:",description:(await da()).map(n=>`\`${n.name}\`: ${n.message.slice(0,72).replaceAll("\\n"," ")}${n.message.length>72?"...":""}`).join(`
`)||`${Po} Woops! There are no tags yet, use \`/tags create\` to create one!`,color:14122879,type:"rich"}]});break}case"preview":{let n=Be(e[0].options,"tag-name",""),r=await pa(n);if(!r)return ie(t.channel.id,{author:$n,content:`${Po} A Tag with the name **${n}** does not exist!`});ie(t.channel.id,{author:$n,content:r.message.replaceAll("\\n",`
`)});break}default:{ie(t.channel.id,{author:$n,content:"Invalid sub-command"});break}}}}]})});function NP(e){let t="";for(let n=0;n<e.length;n++)t+=n%2?e[n].toUpperCase():e[n].toLowerCase();return t}var Ap,u1=g(()=>{"use strict";a();l();Ft();M();x();Ap=y({name:"MoreCommands",description:"echo, lenny, mock",authors:[d.Arjix,d.echo,d.Samu],dependencies:["CommandsAPI"],commands:[{name:"echo",description:"Sends a message as Clyde (locally)",options:[To],inputType:3,execute:(e,t)=>{let n=Be(e,"message","");ie(t.channel.id,{content:n})}},{name:"lenny",description:"Sends a lenny face",options:[To],execute:e=>({content:Be(e,"message","")+" ( \u0361\xB0 \u035C\u0296 \u0361\xB0)"})},{name:"mock",description:"mOcK PeOpLe",options:[jo],execute:e=>({content:NP(Be(e,"message",""))})}]})});var Lp,p1=g(()=>{"use strict";a();l();Ft();M();x();Lp=y({name:"MoreKaomoji",description:"Adds more Kaomoji to discord. \u30FD(\xB4\u25BD`)/",authors:[d.JacobTm],dependencies:["CommandsAPI"],commands:[{name:"dissatisfaction",description:" \uFF1E\uFE4F\uFF1C"},{name:"smug",description:" \u0CA0_\u0CA0"},{name:"happy",description:" \u30FD(\xB4\u25BD`)/"},{name:"crying",description:" \u0CA5_\u0CA5"},{name:"angry",description:" \u30FD(\uFF40\u0414\xB4)\uFF89"},{name:"anger",description:" \u30FD(\uFF4F`\u76BF\u2032\uFF4F)\uFF89"},{name:"joy",description:" <(\uFFE3\uFE36\uFFE3)>"},{name:"blush",description:"\u0AEE \u02F6\u1D54 \u1D55 \u1D54\u02F6 \u10D0"},{name:"confused",description:"(\u2022\u0E34_\u2022\u0E34)?"},{name:"sleeping",description:"(\u1D17_\u1D17)"},{name:"laughing",description:"o(\u2267\u25BD\u2266)o"}].map(e=>({...e,options:[To],execute:t=>({content:Be(t,"message","")+e.description})}))})});function LP(e){Mo.store.tagSettings??=Ep;let[t,n]=te(Mo.store.tagSettings),r=i=>{n(i),e.setValue(i)};return o(ue,{flexDirection:"column"},br.map(i=>o(Ot,{style:{padding:"1em 1em 0"}},o(b.FormTitle,{style:{width:"fit-content"}},o(K,{text:i.description},({onMouseEnter:s,onMouseLeave:c})=>o("div",{onMouseEnter:s,onMouseLeave:c},i.displayName," Tag ",o(to,{type:to.Types[i.name]})))),o(Le,{type:"text",value:t[i.name]?.text??i.displayName,placeholder:`Text on tag (default: ${i.displayName})`,onChange:s=>{t[i.name].text=s,r(t)},className:z.bottom16}),o(ht,{value:t[i.name]?.showInChat??!0,onChange:s=>{t[i.name].showInChat=s,r(t)},hideBorder:!0},"Show in messages"),o(ht,{value:t[i.name]?.showInNotChat??!0,onChange:s=>{t[i.name].showInNotChat=s,r(t)},hideBorder:!0},"Show in member list and profiles"))))}var kP,RP,AP,to,d1,br,Ep,Mo,Dp,m1=g(()=>{"use strict";a();l();_();Mt();M();Qe();x();B();w();kP="1081004946872352958",RP=I("computePermissions","canEveryoneRole"),AP=I("SEND_MESSAGES","VIEW_CREATOR_MONETIZATION_ANALYTICS"),to=Ae(e=>e.Types?.[0]==="BOT"),d1=(e,t)=>!!e?.webhookId&&t.isNonUserBot(),br=[{name:"WEBHOOK",displayName:"Webhook",description:"Messages sent by webhooks",condition:d1},{name:"OWNER",displayName:"Owner",description:"Owns the server",condition:(e,t,n)=>de.getGuild(n?.guild_id)?.ownerId===t.id},{name:"ADMINISTRATOR",displayName:"Admin",description:"Has the administrator permission",permissions:["ADMINISTRATOR"]},{name:"MODERATOR_STAFF",displayName:"Staff",description:"Can manage the server, channels or roles",permissions:["MANAGE_GUILD","MANAGE_CHANNELS","MANAGE_ROLES"]},{name:"MODERATOR",displayName:"Mod",description:"Can manage messages or kick/ban people",permissions:["MANAGE_MESSAGES","KICK_MEMBERS","BAN_MEMBERS"]},{name:"VOICE_MODERATOR",displayName:"VC Mod",description:"Can manage voice chats",permissions:["MOVE_MEMBERS","MUTE_MEMBERS","DEAFEN_MEMBERS"]}],Ep=Object.fromEntries(br.map(({name:e,displayName:t})=>[e,{text:t,showInChat:!0,showInNotChat:!0}]));Mo=A({dontShowForBots:{description:"Don't show extra tags for bots (excluding webhooks)",type:3},dontShowBotTag:{description:"Only show extra tags for bots / Hide [BOT] text",type:3},tagSettings:{type:6,component:LP,description:"fill me"}}),Dp=y({name:"MoreUserTags",description:"Adds tags for webhooks and moderative roles (owner, admin, etc.)",authors:[d.Cyn,d.TheSun,d.RyanCaoDev,d.LordElias],s
`,s),"Failed to fetch user. Check the console for more info."}}return null}var z1,nM,oM,Sa,rM,iM,sM,aM,id,W1=g(()=>{"use strict";a();l();Ft();M();gi();ln();x();B();z1=0,nM=20,oM=128,Sa=10,rM=Gn(()=>Promise.all(Array.from({length:Sa},(e,t)=>j1(`https://raw.githubusercontent.com/VenPlugs/petpet/main/frames/pet${t}.gif`)))),iM=pe(".USER("),sM=pe("UPLOAD_FILE_LIMIT_ERROR"),aM=I("getUploads");id=y({name:"petpet",description:"Adds a /petpet slash command to create headpet gifs from any image",authors:[d.Ven],dependencies:["CommandsAPI"],commands:[{inputType:0,name:"petpet",description:"Create a petpet gif. You can only specify one of the image options",options:[{name:"delay",description:"The delay between each frame. Defaults to 20.",type:4},{name:"resolution",description:"Resolution for the gif. Defaults to 120. If you enter an insane number and it freezes Discord that's your fault.",type:4},{name:"image",description:"Image attachment to use",type:11},{name:"url",description:"URL to fetch image from",type:3},{name:"user",description:"User whose avatar to use as image",type:6},{name:"no-server-pfp",description:"Use the normal avatar instead of the server specific one when using the 'user' option",type:5}],execute:async(e,t)=>{let{GIFEncoder:n,quantize:r,applyPalette:i}=await oa(),s=await rM(),c=Be(e,"no-server-pfp",!1);try{var u=await lM(e,t,c);if(!u)throw"No Image specified!"}catch(k){ie(t.channel.id,{content:String(k)});return}let p=await j1(u),v=Be(e,"delay",nM),h=Be(e,"resolution",oM),S=new n,T=document.createElement("canvas");T.width=T.height=h;let P=T.getContext("2d");for(let k=0;k<Sa;k++){P.clearRect(0,0,T.width,T.height);let F=k<Sa/2?k:Sa-k,G=.8+F*.02,$=.8-F*.05,Y=(1-G)*.5+.1,ne=1-$-.08;P.drawImage(p,Y*h,ne*h,G*h,$*h),P.drawImage(s[k],0,0,h,h);let{data:q}=P.getImageData(0,0,h,h),W=r(q,256),oe=i(q,W);S.writeFrame(oe,h,h,{transparent:!0,palette:W,delay:v})}S.finish();let L=new File([S.bytesView()],"petpet.gif",{type:"image/gif"});setTimeout(()=>sM([L],t.channel,z1),10)}}]})});function Y1(){return lt(["plugins.PinDMs.pinnedDMs"]),ba()}function xr(e){return ba().has(e)}function Z1(e){let t=ba();t.delete(e)||t.add(e),K1([...t])}function ad(){return ba(),Ci.store.pinOrder===0?cM.getPrivateChannelIds().filter(xr):Un}function X1(e){return ad()[e]}function ld(e,t){let n=q1(),r=n.indexOf(e),i=r+t;[n[r],n[i]]=[n[i],n[r]],K1(n)}var Ci,cM,Un,sd,q1,K1,uM,ba,cd=g(()=>{"use strict";a();l();_();x();B();Ci=A({pinOrder:{type:4,description:"Which order should pinned DMs be displayed in?",options:[{label:"Most recent message",value:0,default:!0},{label:"Custom (right click channels to reorder)",value:1}]}}),cM=ce("PrivateChannelSortStore"),q1=()=>(C.plugins.PinDMs.pinnedDMs||void 0)?.split(","),K1=e=>{sd=void 0,C.plugins.PinDMs.pinnedDMs=e.join(",")},uM=()=>(Un=q1()??[],sd=new Set(Un)),ba=()=>sd??uM()});function J1(e){let t=xr(e),n=t&&Ci.store.pinOrder===1;return o(m,null,o(D.MenuItem,{id:"pin-dm",label:t?"Unpin DM":"Pin DM",action:()=>Z1(e)}),n&&Un[0]!==e&&o(D.MenuItem,{id:"move-pin-up",label:"Move Pin Up",action:()=>ld(e,-1)}),n&&Un[Un.length-1]!==e&&o(D.MenuItem,{id:"move-pin-down",label:"Move Pin Down",action:()=>ld(e,1)}))}function eS(){me("gdm-context",Q1),me("user-context",V1)}function tS(){fe("gdm-context",Q1),fe("user-context",V1)}var Q1,V1,nS=g(()=>{"use strict";a();l();It();w();cd();Q1=(e,t)=>()=>{let n=rt("leave-channel",e);n&&n.unshift(J1(t.channel.id))},V1=(e,t)=>()=>{let n=rt("close-dm",e);if(n){let r=n.findIndex(i=>i?.props?.id==="close-dm");n.splice(r,0,J1(t.channel.id))}}});var ud,oS=g(()=>{"use strict";a();l();M();x();nS();cd();ud=y({name:"PinDMs",description:"Allows you to pin private channels to the top of your DM list. To pin/unpin or reorder pins, right click DMs",authors:[d.Ven,d.Strencher],settings:Ci,start:eS,stop:tS,usePinCount(e){let t=Y1();return e.length?[t.size]:[]},getChannel(e,t){return e[X1(t)]},isPinned:xr,getSnapshot:ad,getScrollOffset(e,t,n,r,i){return xr(e)?t*(Un.indexOf(e)+r)+n:(t+n)*2+t*Un.length+i},patches:[{find:".privateChannelsHeaderContainer,",replacement:[{match:/privateChannelIds:(\i),/,repla
`,e))},stop(){Rd=void 0},decodeError(e,...t){let n=0;return Rd?.[e]?.replace(/%s/g,()=>{let r=t[n];return n++,r})}})});var Ed={};ye(Ed,{ServerListRenderPosition:()=>Aa,addServerListElement:()=>Ni,removeServerListElement:()=>ki,renderAll:()=>_M});function Ld(e){return e===0?DM:OM}function Ni(e,t){Ld(e).add(t)}function ki(e,t){Ld(e).delete(t)}var EM,Aa,DM,OM,_M,La=g(()=>{"use strict";a();l();xe();EM=new X("ServerListAPI"),Aa=(n=>(n[n.Above=0]="Above",n[n.In=1]="In",n))(Aa||{}),DM=new Set,OM=new Set;_M=e=>{let t=[];for(let n of Ld(e))try{t.unshift(n())}catch(r){EM.error("Failed to render server list element:",r)}return t}});function BM(){let e=[];Object.values(de.getGuilds()).forEach(t=>{gs.getChannels(t.id).SELECTABLE.forEach(n=>{!Gr.hasUnread(n.channel.id)||e.push({channelId:n.channel.id,messageId:Gr.lastMessageId(n.channel.id),readStateType:0})})}),O.dispatch({type:"BULK_ACK",context:"APP",channels:e})}var FM,Dd,DS=g(()=>{"use strict";a();l();La();M();x();w();FM=()=>o(R,{onClick:BM,size:R.Sizes.MIN,color:R.Colors.BRAND,style:{marginTop:"2px",marginBottom:"8px",marginLeft:"9px"}},"Read all"),Dd=y({name:"ReadAllNotificationsButton",description:"Read all server notifications with a single button click!",authors:[d.kemo],dependencies:["ServerListAPI"],renderReadAllButton:()=>o(FM,null),start(){Ni(0,this.renderReadAllButton)},stop(){ki(0,this.renderReadAllButton)}})});var $t,Ea=g(()=>{"use strict";a();l();_();x();$t=A({notices:{type:3,description:"Also show a notice at the top of your screen when removed (use this if you don't want to miss any notifications).",default:!1},offlineRemovals:{type:3,description:"Notify you when starting discord if you were removed while offline.",default:!0},friends:{type:3,description:"Notify when a friend removes you",default:!0},friendRequestCancels:{type:3,description:"Notify when a friend request is cancelled",default:!0},servers:{type:3,description:"Notify when removed from a server",default:!0},groups:{type:3,description:"Notify when removed from a group chat",default:!0}})});var Od=g(()=>{"use strict";a();l()});async function GM(){Rt.delMany(["relationship-notifier-guilds","relationship-notifier-groups","relationship-notifier-friends"])}async function _d(){await GM();let[e,t,n]=await Rt.getMany([OS(),_S(),BS()]);if(await Promise.all([Oa(),_a(),Ri()]),$t.store.offlineRemovals){if($t.store.groups&&t?.size)for(let[r,i]of t)Mr.has(r)||oo(`You are no longer in the group ${i.name}.`,i.iconURL);if($t.store.servers&&e?.size)for(let[r,i]of e)Pr.has(r)||oo(`You are no longer in the server ${i.name}.`,i.iconURL);if($t.store.friends&&n?.friends.length)for(let r of n.friends){if(Qo.friends.includes(r))continue;let i=await Ln.fetchUser(r).catch(()=>{});i&&oo(`You are no longer friends with ${Wn(i)}.`,i.getAvatarURL(void 0,void 0,!1),()=>gn(i.id))}if($t.store.friendRequestCancels&&n?.requests?.length)for(let r of n.requests){if(Qo.requests.includes(r)||[1,2,4].includes(nt.getRelationshipType(r)))continue;let i=await Ln.fetchUser(r).catch(()=>{});i&&oo(`Friend request from ${Wn(i)} has been revoked.`,i.getAvatarURL(void 0,void 0,!1),()=>gn(i.id))}}}function oo(e,t,n){$t.store.notices&&Da.showNotice(e,"OK",()=>Da.popNotice()),ve({title:"Relationship Notifier",body:e,icon:t,onClick:n})}function FS(e){return Pr.get(e)}function Bd(e){Pr.delete(e),Oa()}async function Oa(){Pr.clear();let e=U.getCurrentUser().id;for(let[t,{name:n,icon:r}]of Object.entries(de.getGuilds()))Ee.isMember(t,e)&&Pr.set(t,{id:t,name:n,iconURL:r&&`https://cdn.discordapp.com/icons/${t}/${r}.png`});await Rt.set(OS(),Pr)}function $S(e){return Mr.get(e)}function Fd(e){Mr.delete(e),_a()}async function _a(){Mr.clear();for(let{type:e,id:t,name:n,rawRecipients:r,icon:i}of J.getSortedPrivateChannels())e===3&&Mr.set(t,{id:t,name:n||r.map(s=>s.username).join(", "),iconURL:i&&`https://cdn.discordapp.com/channel-icons/${t}/${i}.png`});await Rt.set(_S(),Mr)}async function Ri(){Qo.friends=[],Qo.requests=[];let e=nt.getRelationships();for(let t in e)switch(e[t]){case 1:Qo.friends.push(t);break;case 3:Qo.requests.push(t);break}await Rt.set(BS(),Qo)}var
import React from "react";
const handleClick = async () =>
console.log((await import("@webpack/common")).Clipboard.copy("\\u200b"));
export const Example: React.FC<{
real: boolean,
shigged?: number,
}> = ({ real, shigged }) => <>
<p>{\`Shigg\${real ? \`ies\${shigged === 0x1B ? "t" : ""}\` : "y"}\`}</p>
<button onClick={handleClick}>Click Me</button>
</>;
`});var k0=Dr((SZ,im)=>{"use strict";a();l();var VM=Object.prototype.hasOwnProperty,At="~";function Bi(){}Object.create&&(Bi.prototype=Object.create(null),new Bi().__proto__||(At=!1));function eI(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function N0(e,t,n,r,i){if(typeof n!="function")throw new TypeError("The listener must be a function");var s=new eI(n,r||e,i),c=At?At+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function Ga(e,t){--e._eventsCount===0?e._events=new Bi:delete e._events[t]}function yt(){this._events=new Bi,this._eventsCount=0}yt.prototype.eventNames=function(){var t=[],n,r;if(this._eventsCount===0)return t;for(r in n=this._events)VM.call(n,r)&&t.push(At?r.slice(1):r);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(n)):t};yt.prototype.listeners=function(t){var n=At?At+t:t,r=this._events[n];if(!r)return[];if(r.fn)return[r.fn];for(var i=0,s=r.length,c=new Array(s);i<s;i++)c[i]=r[i].fn;return c};yt.prototype.listenerCount=function(t){var n=At?At+t:t,r=this._events[n];return r?r.fn?1:r.length:0};yt.prototype.emit=function(t,n,r,i,s,c){var u=At?At+t:t;if(!this._events[u])return!1;var p=this._events[u],v=arguments.length,h,S;if(p.fn){switch(p.once&&this.removeListener(t,p.fn,void 0,!0),v){case 1:return p.fn.call(p.context),!0;case 2:return p.fn.call(p.context,n),!0;case 3:return p.fn.call(p.context,n,r),!0;case 4:return p.fn.call(p.context,n,r,i),!0;case 5:return p.fn.call(p.context,n,r,i,s),!0;case 6:return p.fn.call(p.context,n,r,i,s,c),!0}for(S=1,h=new Array(v-1);S<v;S++)h[S-1]=arguments[S];p.fn.apply(p.context,h)}else{var T=p.length,P;for(S=0;S<T;S++)switch(p[S].once&&this.removeListener(t,p[S].fn,void 0,!0),v){case 1:p[S].fn.call(p[S].context);break;case 2:p[S].fn.call(p[S].context,n);break;case 3:p[S].fn.call(p[S].context,n,r);break;case 4:p[S].fn.call(p[S].context,n,r,i);break;default:if(!h)for(P=1,h=new Array(v-1);P<v;P++)h[P-1]=arguments[P];p[S].fn.apply(p[S].context,h)}}return!0};yt.prototype.on=function(t,n,r){return N0(this,t,n,r,!1)};yt.prototype.once=function(t,n,r){return N0(this,t,n,r,!0)};yt.prototype.removeListener=function(t,n,r,i){var s=At?At+t:t;if(!this._events[s])return this;if(!n)return Ga(this,s),this;var c=this._events[s];if(c.fn)c.fn===n&&(!i||c.once)&&(!r||c.context===r)&&Ga(this,s);else{for(var u=0,p=[],v=c.length;u<v;u++)(c[u].fn!==n||i&&!c[u].once||r&&c[u].context!==r)&&p.push(c[u]);p.length?this._events[s]=p.length===1?p[0]:p:Ga(this,s)}return this};yt.prototype.removeAllListeners=function(t){var n;return t?(n=At?At+t:t,this._events[n]&&Ga(this,n)):(this._events=new Bi,this._eventsCount=0),this};yt.prototype.off=yt.prototype.removeListener;yt.prototype.addListener=yt.prototype.on;yt.prefixed=At;yt.EventEmitter=yt;typeof im<"u"&&(im.exports=yt)});var cm=Dr(Cr=>{"use strict";a();l();Object.defineProperty(Cr,"__esModule",{value:!0});Cr.Channel=Cr.ChannelPort=void 0;var tI=k0(),Ha="vapIpc",sm=Symbol.for("vapIpc.edgeCreate"),am=class{_pipes=new Map;_listeners=new Map;_createListenerMap(){return new Map}_emit(t,n,...r){for(let[i,s]of this._listeners.entries()){if(i===t)continue;let c=s.get(n);c&&c(...r)}}createPipe(t){let n=this.getPipe(t);if(n)return n;let r=this._createListenerMap();this._listeners.set(t,r);let i={emit:this._emit.bind(this,t),listen:(s,c)=>void r.set(s,c)};return this._pipes.set(t,i),i}getPipe(t){return this._pipes.get(t)??null}};Cr.ChannelPort=am;var lm=class{id;_edges=new Map;_callbacks=new Map;_callers=new Map;_edgePipes=new Map;_pipes=[];_emitter=new tI.EventEmitter;_logger;_destroyed=!1;constructor(t){this.id=t}addPipe(t){t.listen(`${Ha}:handshake`,n=>{this._handleHandshake(t,n)}),t.listen(`${Ha}:message`,n=>{this._handleMessage(t,n)}),this._pipes.push(t),this._logger?.log(`Adding pipe to channel "${this.id}"`)}setLogger(t){this._logger=t}_handleHandshake(t,n){if(this.id===n.id)return;this._logger?.log(`\u{1F91D} "${n.id}" -> "${this.id}" (edges: [${n.channelIds.join(", ")}])`);let r=this._edges.get(n.id);if(r){let i=n.channelIds.filter(s=>!r?.channelId
`,classNames:{},dom:null});$i="src/plugins/shikiCodeblocks/devicon.css"});var Ui=g(()=>{"use strict";a();l()});var dI,ko,Tm=g(()=>{"use strict";a();l();_();ze();he();Kn();x();Fi();vm();bm();Ui();dI=Object.keys(io),ko=A({theme:{type:4,description:"Default themes",options:dI.map(e=>({label:qn($l(e)),value:io[e],default:io[e]===io.DarkPlus})),onChange:le.setTheme},customTheme:{type:0,description:"A link to a custom vscode theme",placeholder:io.MaterialCandy,onChange:e=>{le.setTheme(e||ko.store.theme)}},tryHljs:{type:4,description:"Use the more lightweight default Discord highlighter and theme.",options:[{label:"Never",value:"NEVER"},{label:"Prefer Shiki instead of Highlight.js",value:"SECONDARY",default:!0},{label:"Prefer Highlight.js instead of Shiki",value:"PRIMARY"},{label:"Always",value:"ALWAYS"}]},useDevIcon:{type:4,description:"How to show language icons on codeblocks",options:[{label:"Disabled",value:"DISABLED"},{label:"Colorless",value:"GREYSCALE",default:!0},{label:"Colored",value:"COLOR"}],onChange:e=>{e==="DISABLED"?Ct($i):Ve($i)}},bgOpacity:{type:5,description:"Background opacity",markers:[0,20,40,60,80,100],default:100,componentProps:{stickToMarkers:!1,onValueRender:null}}},{theme:{disabled(){return!!this.store.customTheme}},customTheme:{isValid(e){if(!e)return!0;let t=Tl(e);return t?t.pathname.endsWith(".json")?!0:"Must be a json file":"Must be a valid URL"}}})});function G0(e,t){let n=ko.use(e),[r,i]=N.useState(!1),s={...n,...t},c=s.customTheme||s.theme;if(t){let u=le.currentThemeUrl&&c&&c!==le.currentThemeUrl,p=Object.keys(t).length===0;r&&(!u||p)&&i(!1),!r&&u&&(i(!0),le.setTheme(c))}return{...s,isThemeLoading:c!==le.currentThemeUrl}}var H0=g(()=>{"use strict";a();l();w();Fi();Tm()});function z0(e){return e=e.slice(1),e.length<6&&(e=e.split("").map(t=>t+t).join("")),e.length===6&&(e+="ff"),e.length>6&&(e=e.slice(0,6)),e.split(/(..)/).filter(Boolean).map(t=>parseInt(t,16))}var j0=g(()=>{"use strict";a();l()});var Mn,W0,Gi=g(()=>{"use strict";a();l();ze();w();ja();Ui();Mn=Oe("shiki-"),W0=({lang:e,tryHljs:t})=>{let n=e?$o?.getLanguage?.(e):null,i=(e?er(e):null)?.name;switch(t){case"ALWAYS":return!0;case"PRIMARY":return!!n||e==="";case"SECONDARY":return!i&&!!n;case"NEVER":return!1;default:return!1}}});function q0(e){let[t,n]=N.useState(!1);function r(i){Zt.copy(i),n(!0),setTimeout(()=>{n(!1)},e)}return[t,r]}var K0=g(()=>{"use strict";a();l();w()});function Y0({content:e,...t}){let[n,r]=q0(1e3);return o("button",{...t,style:{...t.style,cursor:n?"default":void 0},onClick:()=>r(e)},n?"Copied!":"Copy")}var Z0=g(()=>{"use strict";a();l();K0()});function X0({content:e,theme:t}){let n=[];return Zt.SUPPORTS_COPY&&n.push(o(Y0,{content:e,className:Mn("btn"),style:{backgroundColor:t.accentBgColor,color:t.accentFgColor}})),o("div",{className:Mn("btns")},n)}var J0=g(()=>{"use strict";a();l();w();Gi();Z0()});var Q0,V0=g(()=>{"use strict";a();l();w();Gi();Q0=({theme:e,useHljs:t,lang:n,content:r,tokens:i})=>{let s;if(t)try{let{value:u}=$o.highlight(n,r,!0);s=u.split(`
`).map((p,v)=>o("span",{key:v,dangerouslySetInnerHTML:{__html:p}}))}catch{s=r.split(`
`).map(u=>o("span",null,u))}else s=(i??r.split(`
`).map(p=>[{color:e.plainColor,content:p}])).map(p=>p.length===0?o("span",null,`
`):o(m,null,p.map(({content:v,color:h,fontStyle:S},T)=>o("span",{key:T,style:{color:h,fontStyle:(S??0)&1?"italic":void 0,fontWeight:(S??0)&2?"bold":void 0,textDecoration:(S??0)&4?"underline":void 0}},v))));let c=s.map((u,p)=>o("tr",{key:p},o("td",{style:{color:e.plainColor}},p+1),o("td",null,u)));return o("table",{className:Mn("table")},...c)}});function eb({langName:e,useDevIcon:t,shikiLang:n}){return e?o("div",{className:Mn("lang")},t!=="DISABLED"&&n?.devicon&&o("i",{className:`${Mn("devicon")} devicon-${n.devicon}${t==="COLOR"?" colored":""}`}),e):o(m,null)}var tb=g(()=>{"use strict";a();l();Ui();Gi()});var Wa,mI,nb=g(()=>{"use strict";a();l();ae();be();w();ja();Fi();H0();ym();j0();Gi();J0();V0();tb();Wa=e=>o("pre",{className:Mn("container")},o(E,null,o(mI,{...e}))),mI=({lang:e,content:t,isPreview:n,tempSettings:r})=>{let{tryHljs:i,useDevIcon:s,bgOpacity:c}=G0(["tryHljs","useDevIcon","bgOpacity"],r),{id:u,theme:p}=D0(),v=e?er(e):null,h=W0({lang:e,tryHljs:i}),[S,T]=wl(!0),[P]=it(async()=>!v||h||!T?null:await le.tokenizeCode(t,e),{fallbackValue:null,deps:[e,t,u,T]}),L={plainColor:p?.fg||"var(--text-normal)",accentBgColor:p?.colors?.["statusBar.background"]||(h?"#7289da":"#007BC8"),accentFgColor:p?.colors?.["statusBar.foreground"]||"#FFF",backgroundColor:p?.colors?.["editor.background"]||"var(--background-secondary)"},k;return e&&(k=h?$o?.getLanguage?.(e)?.name:v?.name),o("div",{ref:S,className:Mn("root",{plain:!k,preview:n}),style:{backgroundColor:h?L.backgroundColor:`rgba(${z0(L.backgroundColor).concat(c/100).join(", ")})`,color:L.plainColor}},o("code",null,o(eb,{langName:k,useDevIcon:s,shikiLang:v}),o(Q0,{theme:L,useHljs:h,lang:e,content:t,tokens:P}),!n&&o(X0,{content:t,theme:L})))}});var ob,rb,ib=g(()=>{"use strict";a();l();ob=new Map,rb=()=>{ob.forEach(e=>e.remove()),ob.clear()}});var xm,sb=g(()=>{"use strict";a();l();M0();ze();M();x();C0();Fi();nb();bm();Tm();Ui();ib();xm=y({name:"ShikiCodeblocks",description:"Brings vscode-style codeblocks into Discord, powered by Shiki",authors:[d.Vap],patches:[{find:"codeBlock:{react:function",replacement:{match:/codeBlock:\{react:function\((\i),(\i),(\i)\)\{/,replace:"$&return $self.renderHighlighter($1,$2,$3);"}}],start:async()=>{ko.store.useDevIcon!=="DISABLED"&&Ve($i),await le.init(ko.store.customTheme||ko.store.theme)},stop:()=>{le.destroy(),rb()},settingsAboutComponent:({tempSettings:e})=>Wa({lang:"tsx",content:I0,isPreview:!0,tempSettings:e}),settings:ko,shiki:le,createHighlighter:Wa,renderHighlighter:({lang:e,content:t})=>Wa({lang:e,content:t,isPreview:!1})})});var wm,ab=g(()=>{"use strict";a();l();M();x();wm=y({name:"ShowAllMessageButtons",description:"Always show all message buttons no matter if you are holding the shift key or not.",authors:[d.Nuckyz],patches:[{find:".Messages.MESSAGE_UTILITIES_A11Y_LABEL",replacement:{match:/isExpanded:(\i),(?<=,\1=\i&&(?=(!.+?)[,;]).+?)/,replace:"isExpanded:$2,"}}]})});var lb=g(()=>{});function ub(){let e=Ur(cb.colors.INTERACTIVE_MUTED).hex(),t=Ur(cb.colors.INTERACTIVE_ACTIVE).hex();return o(fI,{color:e,forcedIconColor:t,size:16,tooltipText:at.Messages.CONNECTION_VERIFIED})}var cb,fI,pb=g(()=>{"use strict";a();l();be();B();w();cb=Ae(e=>e.colors?.INTERACTIVE_MUTED?.css),fI=se(()=>We(".CONNECTIONS_ROLE_OFFICIAL_ICON_TOOLTIP"))});function db({id:e,theme:t}){let n=hI.getUserProfile(e);if(!n)return null;let r=n.connectedAccounts;return r?.length?o(gI,null,o(ee,{tag:"h2",variant:"eyebrow",style:{color:"var(--header-primary)"}},"Connections"),o(ue,{style:{marginTop:"8px",gap:bI(qa.store.iconSpacing),flexWrap:"wrap"}},r.map(i=>o(wI,{connection:i,theme:t})))):null}function wI({connection:e,theme:t}){let n=vI.get(e.type),r=n.getPlatformUserUrl?.(e),i=o("img",{"aria-label":e.name,src:t==="light"?n.icon.lightSVG:n.icon.darkSVG,style:{width:qa.store.iconSize,height:qa.store.iconSize}}),s=r?Xs:Sy;return o(K,{text:o("span",{className:"vc-sc-tooltip"},e.name,e.verified&&o(ub,null),o(s,{height:16,width:16})),key:e.id},c=>r?o("a",{...c,className:"vc-user-connection",href:r,target:"_blank",onClick:u=>{Vencord.Plugins.isPluginEnabled("OpenInApp")&&Ven
return ${t}.type === 3 || ${t}.type === 4
? -Vencord.Plugins.plugins.SortFriendRequests.getSince(${t}.user)
: ${t}.comparator
}))`},{predicate:()=>C.plugins.SortFriendRequests.showDates,match:/(user:(\w{1,3}),.{10,30}),subText:(\w{1,3}),(.{10,30}userInfo}\))/,replace:(e,t,n,r,i)=>`${t},
subText: Vencord.Plugins.plugins.SortFriendRequests.makeSubtext(${r}, ${n}),
${i}`}]}],getSince(e){return new Date(nt.getSince(e.id))},makeSubtext(e,t){let n=this.getSince(t);return o(ue,{flexDirection:"row",style:{gap:0,flexWrap:"wrap",lineHeight:"0.9rem"}},o("span",null,e),!isNaN(n.getTime())&&o("span",null,"Received \u2014 ",n.toDateString()))},options:{showDates:{type:3,description:"Show dates on friend requests",default:!1,restartNeeded:!0}}})});var Ib,Cb=g(()=>{a();l();(unsafeWindow.VencordStyles??=new Map).set("src/plugins/spotifyControls/hoverOnly.css",{name:"src/plugins/spotifyControls/hoverOnly.css",source:`.vc-spotify-button-row {
height: 0;
opacity: 0;
pointer-events: none;
transition: 0.2s;
transition-property: height;
}
#vc-spotify-player:hover .vc-spotify-button-row {
opacity: 1;
height: 32px;
pointer-events: auto;
/* only transition opacity on show to prevent clipping */
transition-property: height, opacity;
}
`,classNames:{},dom:null});Ib="src/plugins/spotifyControls/hoverOnly.css"});var Nb=g(()=>{});var Se,kb=g(()=>{"use strict";a();l();_();ln();B();w();Se=ft(()=>{let{Store:e}=Il,t=I("getActiveSocketAndDevice"),n=I("SpotifyAPIMarker"),r="https://api.spotify.com/v1/me/player";class i extends e{mPosition=0;start=0;track=null;device=null;isPlaying=!1;repeat="off";shuffle=!1;volume=0;isSettingPosition=!1;openExternal(u){let p=C.plugins.SpotifyControls.useSpotifyUris||Vencord.Plugins.isPluginEnabled("OpenInApp")?"spotify:"+u.replaceAll("/",(v,h)=>h===0?"":":"):"https://open.spotify.com"+u;VencordNative.native.openExternal(p)}get position(){let u=this.mPosition;return this.isPlaying&&(u+=Date.now()-this.start),u}set position(u){this.mPosition=u,this.start=Date.now()}prev(){this.req("post","/previous")}next(){this.req("post","/next")}setVolume(u){this.req("put","/volume",{query:{volume_percent:Math.round(u)}}).then(()=>{this.volume=u,this.emitChange()})}setPlaying(u){this.req("put",u?"/play":"/pause")}setRepeat(u){this.req("put","/repeat",{query:{state:u}})}setShuffle(u){this.req("put","/shuffle",{query:{state:u}}).then(()=>{this.shuffle=u,this.emitChange()})}seek(u){return this.isSettingPosition?Promise.resolve():(this.isSettingPosition=!0,this.req("put","/seek",{query:{position_ms:Math.round(u)}}).catch(p=>{console.error("[VencordSpotifyControls] Failed to seek",p),this.isSettingPosition=!1}))}req(u,p,v={}){this.device?.is_active&&((v.query??={}).device_id=this.device.id);let{socket:h}=t.getActiveSocketAndDevice();return n[u](h.accountId,h.accessToken,{url:r+p,...v})}}let s=new i(O,{SPOTIFY_PLAYER_STATE(c){s.track=c.track,s.device=c.device??null,s.isPlaying=c.isPlaying??!1,s.volume=c.volumePercent??0,s.repeat=c.actual_repeat||"off",s.position=c.position??0,s.isSettingPosition=!1,s.emitChange()},SPOTIFY_SET_DEVICES({devices:c}){s.device=c.find(u=>u.is_active)??c[0]??null,s.emitChange()}});return s})});function _m(e){let t=e/1e3/60,n=Math.floor(t),r=Math.floor((t-n)*60);return`${n.toString().padStart(2,"0")}:${r.toString().padStart(2,"0")}`}function Ar(e,t){return()=>o("svg",{className:V(Me("button-icon"),Me(t)),height:"24",width:"24",viewBox:"0 0 24 24",fill:"currentColor","aria-label":t,focusable:!1},o("path",{d:e}))}function Hi(e){return o("button",{className:Me("button"),...e},e.children)}function HI({name:e,path:t}){let n=`spotify-copy-${e}`,r=`spotify-open-${e}`;return o(D.Menu,{navId:`spotify-${e}-menu`,onClose:()=>O.dispatch({type:"CONTEXT_MENU_CLOSE"}),"aria-label":`Spotify ${e} Menu`},o(D.MenuItem,{key:n,id:n,label:`Copy ${e} Link`,action:()=>Xt("https://open.spotify.com"+t),icon:Xs}),o(D.MenuItem,{key:r,id:r,label:`Open ${e} in Spotify`,action:()=>Se.openExternal(t),icon:Wo}))}function zI(e,t){return n=>pn.open(n,()=>o(HI,{name:e,path:t}))}function jI(){let[e,t,n]=Ue([Se],()=>[Se.isPlaying,Se.shuffle,Se.repeat]),[r,i]=(()=>{switch(n){case"off":return["context","repeat-off"];case"context":return["track","repeat-context"];case"track":return["off","repeat-track"];default:throw new Error(`Invalid repeat state ${n}`)}})();return o(ue,{className:Me("button-row"),style:{gap:0}},o(Hi,{className:V(Me("button"),Me(t?"shuffle-on":"shuffle-off")),onClick:()=>Se.setShuffle(!t)},o(GI,null)),o(Hi,{onClick:()=>Se.prev()},o(FI,null)),o(Hi,{onClick:()=>Se.setPlaying(!e)},e?o(BI,null):o(_I,null)),o(Hi,{onClick:()=>Se.next()},o($I,null)),o(Hi,{className:V(Me("button"),Me(i)),onClick:()=>Se.setRepeat(r),style:{position:"relative"}},n==="track"&&o("span",{className:Me("repeat-1")},"1"),o(UI,null)))}function qI(){let{duration:e}=Se.track,[t,n,r]=Ue([Se],()=>[Se.mPosition,Se.isSettingPosition,Se.isPlaying]),[i,s]=te(t);return st(()=>{if(r&&!n){s(Se.position);let c=setInterval(()=>{s(u=>u+1e3)},1e3);return()=>clearInterval(c)}},[t,n,r]),o("div",{id:Me("progress-bar")},o(b.FormText,{variant:"text-xs/medium",className:Me("progress-time")+" "+Me("time-left"),"aria-label":"Progress"},_m(i)),o(D.MenuSliderControl,{minValue:0,maxValue:e,value:i,onChange:c=>{n||(s(c),WI(c))},renderValue:_m}),o(b.FormText,{variant:"text-xs/medium",className:Me("progres
`);return o(b.FormSection,{title:"Server Trace",tag:"h2"},o("code",null,o(ue,{flexDirection:"column",style:{color:"var(--header-primary)",gap:5,userSelect:"text"}},t.map(n=>o("span",null,n)))))}function VI(){if(!zi?.logs)return o("div",null,"Loading...");let e=zi.logGroups.find(t=>t.serverTrace)?.serverTrace;return o(N.Fragment,null,o(JI,{title:"Startup Timings",logs:zi.logs,traceEnd:zi.endTime_}),o("div",{style:{marginTop:5}},"\xA0"),e&&o(QI,{trace:e}))}var zi,eC,Fb=g(()=>{"use strict";a();l();ae();Mt();B();w();zi=I("markWithDelta","markAndLog","markAt");eC=E.wrap(VI)});var jm,$b=g(()=>{"use strict";a();l();M();be();x();jm=y({name:"StartupTimings",description:"Adds Startup Timings to the Settings menu",authors:[d.Megu],patches:[{find:"PAYMENT_FLOW_MODAL_TEST_PAGE,",replacement:{match:/{section:.{1,2}\..{1,3}\.PAYMENT_FLOW_MODAL_TEST_PAGE/,replace:'{section:"StartupTimings",label:"Startup Timings",element:$self.StartupTimingPage},$&'}}],StartupTimingPage:se(()=>(Fb(),Do(Bb)).default)})});var Ub,tC,Wm,Gb=g(()=>{"use strict";a();l();Ai();M();he();Kn();x();fr();w();_r();mr();eu();Ub="Vencord-SupportHelper-Dismiss",tC=[Qi,"1024286218801926184","1033680203433660458"],Wm=y({name:"SupportHelper",required:!0,description:"Helps us provide support to you",authors:[d.Ven],dependencies:["CommandsAPI"],commands:[{name:"vencord-debug",description:"Send Vencord Debug info",predicate:e=>tC.includes(e.channel.id),execute(){let{RELEASE_CHANNEL:e}=unsafeWindow.GLOBAL_ENV,t=(()=>"armcord"in unsafeWindow?`ArmCord v${unsafeWindow.armcord.version}`:`${typeof unsafeWindow<"u"?"UserScript":"Web"} (${navigator.userAgent})`)(),n=u=>u.endsWith("API")||we[u].required,r=Object.keys(we).filter(u=>Vencord.Plugins.isPluginEnabled(u)&&!n(u)),i=Object.keys(we).filter(u=>Vencord.Plugins.isPluginEnabled(u)&&n(u)),s={Vencord:`v1.3.4 \u2022 ${an}${di.additionalInfo} - ${Intl.DateTimeFormat("en-GB",{dateStyle:"medium"}).format(1688780477964)}`,"Discord Branch":e,Client:t,Platform:unsafeWindow.navigator.platform,Outdated:vo,OpenAsar:"openasar"in unsafeWindow};return{content:`
**Vencord Debug Info**
>>> ${Object.entries(s).map(([u,p])=>`${u}: ${p}`).join(`
`)}
Enabled Plugins (${r.length+i.length}):
${Zr(r.join(", ")+`
`+i.join(", "))}
`.trim().replaceAll("```\n","```")}}}],flux:{async CHANNEL_SELECT({channelId:e}){if(e===Qi&&!Fr(U.getCurrentUser().id)&&vo&&an!==await Rt.get(Ub)){let t=()=>Rt.set(Ub,an);xt.show({title:"Hold on!",body:o("div",null,o(b.FormText,null,"You are using an outdated version of Vencord! Chances are, your issue is already fixed."),o(b.FormText,null,"Please first update using the Updater Page in Settings, or use the VencordInstaller (Update Vencord Button) to do so, in case you can't access the Updater page.")),onCancel:t,onConfirm:t})}}}})});function qb(e){let t=e.match(/^(\/)?(.+?)(?:\/([gimsuy]*))?$/);return t?new RegExp(t[2],t[3]?.split("").filter((n,r,i)=>i.indexOf(n)===r).join("")??"g"):new RegExp(e)}function oC(e){try{return qb(e),null}catch(t){return o("span",{style:{color:"var(--text-danger)"}},String(t))}}function qm({initialValue:e,onChange:t,placeholder:n}){let[r,i]=te(e);return o(Le,{placeholder:n,value:r,onChange:i,spellCheck:!1,onBlur:()=>r!==e&&t(r)})}function Hb({title:e,rulesArray:t,rulesKey:n,update:r}){let i=e==="Using Regex";async function s(u){t.splice(u,1),await Rt.set(n,t),r()}async function c(u,p,v){p===t.length-1&&t.push(Wb()),t[p][v]=u,t[p].find===""&&t[p].replace===""&&t[p].onlyIfIncludes===""&&p!==t.length-1&&t.splice(p,1),await Rt.set(n,t),r()}return o(m,null,o(b.FormTitle,{tag:"h4"},e),o(ue,{flexDirection:"column",style:{gap:"0.5em"}},t.map((u,p)=>o(N.Fragment,{key:`${u.find}-${p}`},o(ue,{flexDirection:"row",style:{gap:0}},o(ue,{flexDirection:"row",style:{flexGrow:1,gap:"0.5em"}},o(qm,{placeholder:"Find",initialValue:u.find,onChange:v=>c(v,p,"find")}),o(qm,{placeholder:"Replace",initialValue:u.replace,onChange:v=>c(v,p,"replace")}),o(qm,{placeholder:"Only if includes",initialValue:u.onlyIfIncludes,onChange:v=>c(v,p,"onlyIfIncludes")})),o(R,{size:R.Sizes.MIN,onClick:()=>s(p),style:{background:"none",...p===t.length-1?{visibility:"hidden",pointerEvents:"none"}:{}}},o("svg",{width:"24",height:"24",viewBox:"0 0 24 24"},o("title",null,"Delete Rule"),o("path",{fill:"var(--status-danger)",d:"M15 3.999V2H9V3.999H3V5.999H21V3.999H15Z"}),o("path",{fill:"var(--status-danger)",d:"M5 6.99902V18.999C5 20.101 5.897 20.999 7 20.999H17C18.103 20.999 19 20.101 19 18.999V6.99902H5ZM11 17H9V11H11V17ZM15 17H13V11H15V17Z"})))),i&&oC(u.find)))))}function rC(){let[e,t]=te("");return o(m,null,o(b.FormTitle,{tag:"h4"},"Test Rules"),o(Le,{placeholder:"Type a message",onChange:t}),o(Le,{placeholder:"Message with rules applied",editable:!1,value:Kb(e)}))}function Kb(e){if(e.length===0)return e;if(e=" "+e+" ",Za)for(let t of Za)!t.find||!t.replace||t.onlyIfIncludes&&!e.includes(t.onlyIfIncludes)||(e=e.replaceAll(t.find,t.replace.replaceAll("\\n",`
`)));if(Xa){for(let t of Xa)if(!(!t.find||!t.replace)&&!(t.onlyIfIncludes&&!e.includes(t.onlyIfIncludes)))try{let n=qb(t.find);e=e.replace(n,t.replace.replaceAll("\\n",`
`))}catch{new X("TextReplace").error(`Invalid regex: ${t.find}`)}}return e=e.trim(),e}var zb,jb,Wb,Ya,Za,Xa,nC,iC,Km,Yb=g(()=>{"use strict";a();l();Ai();Tn();_();Mt();M();xe();be();x();w();zb="TextReplace_rulesString",jb="TextReplace_rulesRegex",Wb=()=>({find:"",replace:"",onlyIfIncludes:""}),Ya=()=>[Wb()],Za=Ya(),Xa=Ya(),nC=A({replace:{type:6,description:"",component:()=>{let e=Dt();return o(m,null,o(Hb,{title:"Using String",rulesArray:Za,rulesKey:zb,update:e}),o(Hb,{title:"Using Regex",rulesArray:Xa,rulesKey:jb,update:e}),o(rC,null))}}});iC="1102784112584040479",Km=y({name:"TextReplace",description:"Replace text in your messages. You can find pre-made rules in the #textreplace-rules channel in Vencord's Server",authors:[d.AutumnVN,d.TheKodeToad],dependencies:["MessageEventsAPI"],settings:nC,async start(){Za=await Rt.get(zb)??Ya(),Xa=await Rt.get(jb)??Ya(),this.preSend=ut((e,t)=>{e!==iC&&(t.content=Kb(t.content))})},stop(){pt(this.preSend)}})});var Ym,Zb=g(()=>{"use strict";a();l();M();x();Ym=y({name:"TimeBarAllActivities",description:"Adds the Spotify time bar to all activities if they have start and end timestamps",authors:[d.obscurity],patches:[{find:"renderTimeBar=function",replacement:{match:/renderTimeBar=function\((.{1,3})\){.{0,50}?var/,replace:"renderTimeBar=function($1){var"}}]})});var Xb=g(()=>{});var vt,ji=g(()=>{"use strict";a();l();_();x();vt=A({receivedInput:{type:0,description:"Input language for received messages",default:"auto",hidden:!0},receivedOutput:{type:0,description:"Output language for received messages",default:"en",hidden:!0},sentInput:{type:0,description:"Input language for sent messages",default:"auto",hidden:!0},sentOutput:{type:0,description:"Output language for sent messages",default:"en",hidden:!0},autoTranslate:{type:3,description:"Automatically translate your messages before sending. You can also shift/right click the translate button to toggle this",default:!1}})});var Ja,Zm=g(()=>{"use strict";a();l();Ja={auto:"Detect language",af:"Afrikaans",sq:"Albanian",am:"Amharic",ar:"Arabic",hy:"Armenian",as:"Assamese",ay:"Aymara",az:"Azerbaijani",bm:"Bambara",eu:"Basque",be:"Belarusian",bn:"Bengali",bho:"Bhojpuri",bs:"Bosnian",bg:"Bulgarian",ca:"Catalan",ceb:"Cebuano",ny:"Chichewa","zh-CN":"Chinese (Simplified)","zh-TW":"Chinese (Traditional)",co:"Corsican",hr:"Croatian",cs:"Czech",da:"Danish",dv:"Dhivehi",doi:"Dogri",nl:"Dutch",en:"English",eo:"Esperanto",et:"Estonian",ee:"Ewe",tl:"Filipino",fi:"Finnish",fr:"French",fy:"Frisian",gl:"Galician",ka:"Georgian",de:"German",el:"Greek",gn:"Guarani",gu:"Gujarati",ht:"Haitian Creole",ha:"Hausa",haw:"Hawaiian",iw:"Hebrew",hi:"Hindi",hmn:"Hmong",hu:"Hungarian",is:"Icelandic",ig:"Igbo",ilo:"Ilocano",id:"Indonesian",ga:"Irish",it:"Italian",ja:"Japanese",jw:"Javanese",kn:"Kannada",kk:"Kazakh",km:"Khmer",rw:"Kinyarwanda",gom:"Konkani",ko:"Korean",kri:"Krio",ku:"Kurdish (Kurmanji)",ckb:"Kurdish (Sorani)",ky:"Kyrgyz",lo:"Lao",la:"Latin",lv:"Latvian",ln:"Lingala",lt:"Lithuanian",lg:"Luganda",lb:"Luxembourgish",mk:"Macedonian",mai:"Maithili",mg:"Malagasy",ms:"Malay",ml:"Malayalam",mt:"Maltese",mi:"Maori",mr:"Marathi","mni-Mtei":"Meiteilon (Manipuri)",lus:"Mizo",mn:"Mongolian",my:"Myanmar (Burmese)",ne:"Nepali",no:"Norwegian",or:"Odia (Oriya)",om:"Oromo",ps:"Pashto",fa:"Persian",pl:"Polish",pt:"Portuguese",pa:"Punjabi",qu:"Quechua",ro:"Romanian",ru:"Russian",sm:"Samoan",sa:"Sanskrit",gd:"Scots Gaelic",nso:"Sepedi",sr:"Serbian",st:"Sesotho",sn:"Shona",sd:"Sindhi",si:"Sinhala",sk:"Slovak",sl:"Slovenian",so:"Somali",es:"Spanish",su:"Sundanese",sw:"Swahili",sv:"Swedish",tg:"Tajik",ta:"Tamil",tt:"Tatar",te:"Telugu",th:"Thai",ti:"Tigrinya",ts:"Tsonga",tr:"Turkish",tk:"Turkmen",ak:"Twi",uk:"Ukrainian",ur:"Urdu",ug:"Uyghur",uz:"Uzbek",vi:"Vietnamese",cy:"Welsh",xh:"Xhosa",yi:"Yiddish",yo:"Yoruba",zu:"Zulu"}});async function Wi(e,t){let n=vt.store[e+"Input"],r=vt.store[e+"Output"],i="https://translate.googleapis.com/translate_a/single?"+new URLSearchParams({client:"gtx",sl:n,tl:r,dt:"t",dj:"1",source:"input",q:t}),s=await f(i);if(!s.ok)throw new Error(`Failed to transl
${s.status} ${s.statusText}`);let{src:c,sentences:u}=await s.json();return{src:c,text:u.map(p=>p?.trans).filter(Boolean).join("")}}var ao,qi=g(()=>{"use strict";a();l();ze();ji();ao=Oe("vc-trans-")});function aC({settingsKey:e,includeAuto:t}){let n=vt.use([e])[e],r=Wt(()=>{let i=Object.entries(Ja).map(([s,c])=>({value:s,label:c}));return t||i.shift(),i},[]);return o("section",{className:z.bottom16},o(b.FormTitle,{tag:"h3"},vt.def[e].description),o(us,{options:r,value:r.find(i=>i.value===n),placeholder:"Select a language",maxVisibleItems:5,closeOnSelect:!0,onChange:i=>vt.store[e]=i}))}function lC(){let e=vt.use(["autoTranslate"]).autoTranslate;return o(ht,{value:e,onChange:t=>vt.store.autoTranslate=t,note:vt.def.autoTranslate.description,hideBorder:!0},"Auto Translate")}function Jb({rootProps:e}){return o(De,{...e},o(Ge,{className:ao("modal-header")},o(b.FormTitle,{tag:"h2"},"Translate"),o(Pt,{onClick:e.onClose})),o(He,{className:ao("modal-content")},sC.map(t=>o(aC,{key:t,settingsKey:t,includeAuto:t.endsWith("Input")})),o(b.FormDivider,{className:z.bottom16}),o(lC,null)))}var sC,Qb=g(()=>{"use strict";a();l();Qe();Je();w();Zm();ji();qi();sC=["receivedInput","receivedOutput","sentInput","sentOutput"]});function Lr({height:e=24,width:t=24,className:n}){return o("svg",{viewBox:"0 96 960 960",height:e,width:t,className:V(ao("icon"),n)},o("path",{fill:"currentColor",d:"m475 976 181-480h82l186 480h-87l-41-126H604l-47 126h-82Zm151-196h142l-70-194h-2l-70 194Zm-466 76-55-55 204-204q-38-44-67.5-88.5T190 416h87q17 33 37.5 62.5T361 539q45-47 75-97.5T487 336H40v-80h280v-80h80v80h280v80H567q-22 69-58.5 135.5T419 598l98 99-30 81-127-122-200 200Z"}))}function Vb({slateProps:e}){let{autoTranslate:t}=vt.use(["autoTranslate"]);if(e.type.analyticsName!=="normal")return null;let n=()=>vt.store.autoTranslate=!t;return o(K,{text:"Open Translate Modal"},({onMouseEnter:r,onMouseLeave:i})=>o("div",{style:{display:"flex"}},o(R,{"aria-haspopup":"dialog","aria-label":"",size:"",look:Jt.BLANK,onMouseEnter:r,onMouseLeave:i,innerClassName:gt.button,onClick:s=>{if(s.shiftKey)return n();ke(c=>o(Jb,{rootProps:c}))},onContextMenu:()=>n(),style:{padding:"0 4px"}},o("div",{className:gt.buttonWrapper},o(Lr,{className:ao({"auto-translate":t})})))))}var Xm=g(()=>{"use strict";a();l();he();Je();w();ji();Qb();qi()});function Qm(e,t){Jm.get(e)(t)}function cC({onDismiss:e}){return o("button",{onClick:e,className:ao("dismiss")},"Dismiss")}function eT({message:e}){let[t,n]=te();return st(()=>{if(!e.vencordEmbeddedBy)return Jm.set(e.id,n),()=>void Jm.delete(e.id)},[]),t?o("span",{className:ao("accessory")},o(Lr,{width:16,height:16}),Ne.parse(t.text)," ","(translated from ",Ja[t.src]??t.src," - ",o(cC,{onDismiss:()=>n(void 0)}),")"):null}var Jm,tT=g(()=>{"use strict";a();l();w();Zm();Xm();qi();Jm=new Map});var nT,Vm,oT=g(()=>{"use strict";a();l();Xb();It();ua();Tn();Zo();ae();M();x();w();ji();Xm();tT();qi();nT=(e,{message:t})=>()=>{if(!t.content)return;let n=rt("copy-text",e);!n||n.splice(n.findIndex(r=>r?.props?.id==="copy-text")+1,0,o(D.MenuItem,{id:"vc-trans",label:"Translate",icon:Lr,action:async()=>{let r=await Wi("received",t.content);Qm(t.id,r)}}))},Vm=y({name:"Translate",description:"Translate messages with Google Translate",authors:[d.Ven],dependencies:["MessageAccessoriesAPI","MessagePopoverAPI","MessageEventsAPI"],settings:vt,translate:Wi,patches:[{find:".activeCommandOption",replacement:{match:/(.)\.push.{1,30}disabled:(\i),.{1,20}\},"gift"\)\)/,replace:"$&;try{$2||$1.push($self.chatBarIcon(arguments[0]))}catch{}"}}],start(){Ti("vc-translation",e=>o(eT,{message:e.message})),me("message",nT),xn("vc-translate",e=>e.content?{label:"Translate",icon:Lr,message:e,channel:J.getChannel(e.channel_id),onClick:async()=>{let t=await Wi("received",e.content);Qm(e.id,t)}}:null),this.preSend=ut(async(e,t)=>{!vt.store.autoTranslate||!t.content||(t.content=(await Wi("sent",t.content)).text)})},stop(){pt(this.preSend),fe("message",nT),wn("vc-translate"),xp("vc-translation")},chatBarIcon:e=>o(E,{noop:!0},o(Vb,{slateProps:e}))})});function ef({a:e,b:t,c:n}){return[o("strong",{
`);if(n.length<2)return t;let r="";return n[n.length-1]==="```"&&(r=n.pop()),`${n[0]}
${this.unindent(n.slice(1).join(`
`))}
${r}`})},start(){this.preSend=ut((e,t)=>this.unindentMsg(t)),this.preEdit=Vn((e,t,n)=>this.unindentMsg(n))},stop(){pt(this.preSend),eo(this.preEdit)}})});var af,aT,lf,lT=g(()=>{"use strict";a();l();It();Fn();M();x();w();af=1<<2,aT=(e,{channel:t,message:{author:n,embeds:r,flags:i,id:s}})=>()=>{let c=(i&af)!==0;if(!c&&!r.length)return;let u=t.isPrivate()||!!(qe.getChannelPermissions({id:t.id})&En.EMBED_LINKS);if(n.id===U.getCurrentUser().id&&!u)return;let p=rt("delete",e),v=p?.findIndex(h=>h?.props?.id==="delete");!v||!p||p.splice(v-1,0,o(D.MenuItem,{id:"unsuppress-embeds",key:"unsuppress-embeds",label:c?"Unsuppress Embeds":"Suppress Embeds",color:c?void 0:"danger",icon:c?Js:Qs,action:()=>_t.patch({url:`/channels/${t.id}/messages/${s}`,body:{flags:c?i&~af:i|af}})}))},lf=y({name:"UnsuppressEmbeds",authors:[d.rad,d.HypedDomi],description:"Allows you to unsuppress embeds in messages",start(){me("message",aT)},stop(){fe("message",aT)}})});var cf,cT=g(()=>{"use strict";a();l();Ft();Ws();M();x();cf=y({name:"UrbanDictionary",description:"Search for a word on Urban Dictionary via /urban slash command",authors:[d.jewdev],dependencies:["CommandsAPI"],commands:[{name:"urban",description:"Returns the definition of a word from Urban Dictionary",inputType:0,options:[{type:3,name:"word",description:"The word to search for on Urban Dictionary",required:!0}],execute:async(e,t)=>{try{let n=encodeURIComponent(e[0].value),{list:[r]}=await(await f(`https://api.urbandictionary.com/v0/define?term=${n}`)).json();if(!r)return void ie(t.channel.id,{content:"No results found."});let i=s=>s.replaceAll(`\r
`,`
`).replace(/([*>_`~\\])/gsi,"\\$1").replace(/\[(.+?)\]/g,(c,u)=>`[${u}](https://www.urbandictionary.com/define.php?term=${encodeURIComponent(u)} "Define '${u}' on Urban Dictionary")`).trim();return void ie(t.channel.id,{embeds:[{type:"rich",author:{name:`Uploaded by "${r.author}"`,url:`https://www.urbandictionary.com/author.php?author=${encodeURIComponent(r.author)}`},title:r.word,url:`https://www.urbandictionary.com/define.php?term=${encodeURIComponent(r.word)}`,description:i(r.definition),fields:[{name:"Example",value:i(r.example)},{name:"Want more definitions?",value:`Check out [more definitions](https://www.urbandictionary.com/define.php?term=${n} "Define "${e[0].value}" on Urban Dictionary") on Urban Dictionary.`}],color:16750848,footer:{text:`\u{1F44D} ${r.thumbs_up.toString()} | \u{1F44E} ${r.thumbs_down.toString()}`,icon_url:"https://www.urbandictionary.com/favicon.ico"},timestamp:new Date(r.written_on).toISOString()}]})}catch(n){ie(t.channel.id,{content:`Something went wrong: \`${n}\``})}}}]})});var uT=g(()=>{});var gC,hC,yC,pT,dT=g(()=>{"use strict";a();l();uT();B();w();gC=I("selectChannel","selectVoiceChannel"),hC=pe(".lastSection",".children"),yC=1n<<20n,pT=({channel:e,label:t,showHeader:n})=>o(hC,null,n&&o(b.FormTitle,{className:"vc-uvs-header"},"In a voice channel"),o(R,{className:"vc-uvs-button",color:R.Colors.TRANSPARENT,size:R.Sizes.SMALL,onClick:()=>{qe.can(yC,e)?gC.selectVoiceChannel(e.id):Q.show({message:"Insufficient permissions to enter the channel.",id:"user-voice-show-insufficient-permissions",type:Q.Type.FAILURE,options:{position:Q.Position.BOTTOM}})}},t))});var vC,SC,uf,mT,pf,fT=g(()=>{"use strict";a();l();_();ae();M();x();B();w();dT();vC=ce("VoiceStateStore"),SC=I("section","lastSection"),uf=A({showInUserProfileModal:{type:3,description:"Show a user's voice channel in their profile modal",default:!0},showVoiceChannelSectionHeader:{type:3,description:'Whether to show "IN A VOICE CHANNEL" above the join button',default:!0}}),mT=E.wrap(({user:e})=>{let{channelId:t}=vC.getVoiceStateForUser(e.id)??{};if(!t)return null;let n=J.getChannel(t),r=de.getGuild(n.guild_id);if(!r)return null;let i=`${r.name} | ${n.name}`;return o(pT,{channel:n,label:i,showHeader:uf.store.showVoiceChannelSectionHeader})}),pf=y({name:"UserVoiceShow",description:"Shows whether a User is currently in a voice channel somewhere in their profile",authors:[d.LordElias],settings:uf,patchModal({user:e}){return uf.store.showInUserProfileModal?o("div",{className:"vc-uvs-modal-margin"},o(mT,{user:e})):null},patchPopout:({user:e})=>{let t=e.id===U.getCurrentUser().id;return o("div",{className:t?`vc-uvs-popout-margin ${SC.lastSection}`:""},o(mT,{user:e}))},patches:[{find:".showCopiableUsername",replacement:{match:/\(0,\w\.jsx\)\(\w{2},{user:\w,setNote/,replace:"$self.patchPopout(arguments[0]),$&"}},{find:".USER_PROFILE_MODAL",replacement:{match:/\(\)\.body.+?displayProfile:\i}\),/,replace:"$&$self.patchModal(arguments[0]),"}}]})});var gT,hT=g(()=>{a();l();(unsafeWindow.VencordStyles??=new Map).set("src/plugins/usrbg/index.css",{name:"src/plugins/usrbg/index.css",source:`:is([class*="userProfile"], [class*="userPopout"]) [class*="bannerPremium"] {
background: center / cover no-repeat;
}
[class*="NonPremium"]:has([class*="bannerPremium"]) [class*="avatarPositionNormal"],
[class*="PremiumWithoutBanner"]:has([class*="bannerPremium"]) [class*="avatarPositionPremiumNoBanner"] {
top: 76px;
}
[style*="background-image"] [class*="background-"] {
background-color: transparent !important;
}
`,classNames:{},dom:null});gT="src/plugins/usrbg/index.css"});var bC,tr,el,df,yT=g(()=>{"use strict";a();l();_();ze();xo();M();x();hT();bC="https://raw.githubusercontent.com/AutumnVN/usrbg/main/usrbg.json",tr={},el=A({nitroFirst:{description:"Banner to use if both Nitro and USRBG banners are present",type:4,options:[{label:"Nitro banner",value:!0,default:!0},{label:"USRBG banner",value:!1}]},voiceBackground:{description:"Use USRBG banners as voice chat backgrounds",type:3,default:!0,restartNeeded:!0}}),df=y({name:"USRBG",description:"Displays user banners from USRBG, allowing anyone to get a banner without Nitro",authors:[d.AutumnVN,d.pylix,d.TheKodeToad],settings:el,patches:[{find:".NITRO_BANNER,",replacement:[{match:/(\i)\.premiumType/,replace:"$self.premiumHook($1)||$&"},{match:/(\i)\.bannerSrc,/,replace:"$self.useBannerHook($1),"},{match:/\?\(0,\i\.jsx\)\(\i,{type:\i,shown/,replace:"&&$self.shouldShowBadge(arguments[0])$&"}]},{find:'"data-selenium-video-tile":',predicate:()=>el.store.voiceBackground,replacement:[{match:/(\i)\.style,/,replace:"$self.voiceBackgroundHook($1),"}]}],settingsAboutComponent:()=>o(ct,{href:"https://github.com/AutumnVN/usrbg#how-to-request-your-own-usrbg-banner"},"CLICK HERE TO GET YOUR OWN BANNER"),voiceBackgroundHook({className:e,participantUserId:t}){if(e.includes("tile-")&&tr[t])return{backgroundImage:`url(${tr[t]})`,backgroundSize:"cover",backgroundPosition:"center",backgroundRepeat:"no-repeat"}},useBannerHook({displayProfile:e,user:t}){if(!(e?.banner&&el.store.nitroFirst)&&tr[t.id])return tr[t.id]},premiumHook({userId:e}){if(tr[e])return 2},shouldShowBadge({displayProfile:e,user:t}){return e?.banner&&(!tr[t.id]||el.store.nitroFirst)},async start(){Ve(gT);let e=await f(bC);e.ok&&(tr=await e.json())}})});function wC(e){let t=Math.floor(Math.random()*e.length);return e[t]}function ST(e){e=e.toLowerCase();for(let t of xC)e=e.replaceAll(t[0],t[1]);return e=e.replaceAll(/([ \t\n])n/g,"$1ny").replaceAll(/[lr]/g,"w").replaceAll(/([ \t\n])([a-z])/g,(t,n,r)=>Math.random()<.5?`${n}${r}-${r}`:`${n}${r}`).replaceAll(/([^.,!][.,!])([ \t\n])/g,(t,n,r)=>`${n} ${wC(TC)}${r}`),e}var TC,xC,vT,mf,bT=g(()=>{"use strict";a();l();Ft();Tn();_();M();x();TC=["rawr x3","OwO","UwU","o.O","-.-",">w<","(\u2445\u02D8\uA4B3\u02D8)","(\uA20D\u1D17\uA20D)","(\u02D8\u03C9\u02D8)","(U \u1D55 U\u2741)","\u03C3\u03C9\u03C3","\xF2\u03C9\xF3","(///\u02EC///\u273F)","(U \uFE4F U)","( \u0361o \u03C9 \u0361o )","\u0298w\u0298",":3",":3","XD","nyaa~~","mya",">_<","\u{1F633}","\u{1F97A}","\u{1F633}\u{1F633}\u{1F633}","rawr","^^","^^;;","(\u02C6 \uFECC \u02C6)\u2661","^\u2022\uFECC\u2022^","/(^\u2022\u03C9\u2022^)","(\u273Fo\u03C9o)"],xC=[["small","smol"],["cute","kawaii~"],["fluff","floof"],["love","luv"],["stupid","baka"],["what","nani"],["meow","nya~"],["hello","hewwo"]],vT=A({uwuEveryMessage:{description:"Make every single message uwuified",type:3,default:!1,restartNeeded:!1}});mf=y({name:"UwUifier",description:"Simply uwuify commands",authors:[d.echo,d.skyevg,d.PandaNinjas],dependencies:["CommandsAPI","MessageEventsAPI"],settings:vT,commands:[{name:"uwuify",description:"uwuifies your messages",options:[jo],execute:e=>({content:ST(Be(e,"message",""))})}],onSend(e){vT.store.uwuEveryMessage&&(e.content=ST(e.content))},start(){this.preSend=ut((e,t)=>this.onSend(t)),this.preEdit=Vn((e,t,n)=>this.onSend(n))},stop(){pt(this.preSend),eo(this.preEdit)}})});function MC({data:e,UserMention:t,RoleMention:n,parse:r,props:i}){let[s,c]=te(e.userId);if(s)return o(t,{className:"mention",userId:s,channelId:e.channelId,inlinePreview:i.noStyleAndInteraction,key:i.key});let u=r(e.content,i);return o(n,{...e,inlinePreview:i.formatInline},o("span",{onMouseEnter:()=>{let p=u?.[0]?.props?.children;if(typeof p!="string")return;let v=p.match(/<@!?(\d+)>/)?.[1];if(!v||tl.has(v))return;if(U.getUser(v))return c(v);let h=()=>{tl.add(v),TT.unshift(()=>PC(v).then(()=>{c(v),tl.delete(v)}).catch(S=>{S?.status===429&&(TT.unshift(()=>lo(1e3).then(h)),tl.delete(v))}).finally(()=>lo(300)))};h()}},u))}var tl,TT,PC,ff,xT=g(()=>{"use strict";a();l();ae();M();he();cr(
`);Yi.textContent=t}var Lo,Yi,Ef=g(()=>{"use strict";a();l();_();document.addEventListener("DOMContentLoaded",()=>{Af(C.useQuickCss),$s("useQuickCss",Af),GT(),$s("themeLinks",GT)})});var Df={};ye(Df,{Common:()=>Rl,_initWebpack:()=>rs,_resolveReady:()=>os,addListener:()=>ux,cache:()=>Hn,extract:()=>bl,filters:()=>Z,find:()=>jt,findAll:()=>ir,findBulk:()=>Br,findByCode:()=>We,findByCodeLazy:()=>pe,findByProps:()=>Rn,findByPropsLazy:()=>I,findLazy:()=>Ae,findModuleId:()=>is,findStore:()=>cx,findStoreLazy:()=>ce,listeners:()=>vl,mapMangledModule:()=>Wf,mapMangledModuleLazy:()=>Ze,onceReady:()=>yl,removeListener:()=>px,search:()=>Sl,subscriptions:()=>jf,waitFor:()=>Xe,wreq:()=>zt});var al=g(()=>{"use strict";a();l();w();B()});function zT(){function e(t){try{let n=t[1],{subscriptions:r,listeners:i}=Vencord.Webpack,{patches:s}=Vencord.Plugins;for(let c in n){let u=n[c],p=u.toString().replaceAll(`
`,"");p.startsWith("function(")&&(p="0,"+p);let v=u,h=new Set,S=n[c]=function(T,P,L){try{u(T,P,L)}catch(F){if(u===v)throw F;return Eo.error("Error in patched chunk",F),void v(T,P,L)}if(T.exports===unsafeWindow){Object.defineProperty(L.c,c,{value:L.c[c],enumerable:!1,configurable:!0,writable:!0});return}let k=Number(c);for(let F of i)try{F(P,k)}catch(G){Eo.error("Error in webpack listener",G)}for(let[F,G]of r)try{if(F(P))r.delete(F),G(P,k);else if(typeof P=="object"){P.default&&F(P.default)&&(r.delete(F),G(P.default,k));for(let $ in P)$.length<=3&&P[$]&&F(P[$])&&(r.delete(F),G(P[$],k))}}catch($){Eo.error("Error while firing callback for webpack chunk",$)}};try{S.toString=()=>u.toString(),S.original=v}catch{}for(let T=0;T<s.length;T++){let P=s[T],L=cn(`patch by ${P.plugin}`,(k,F)=>p.replace(k,F));if(!(P.predicate&&!P.predicate())&&p.includes(P.find)){h.add(P.plugin);for(let k of P.replacement){if(k.predicate&&!k.predicate())continue;let F=u,G=p;qr(k,P.plugin);try{let $=L(k.match,k.replace);$===p&&!P.noWarn?Eo.warn(`Patch by ${P.plugin} had no effect (Module id is ${c}): ${k.match}`):(p=$,u=(0,eval)(`// Webpack Module ${c} - Patched by ${[...h].join(", ")}
${$}
//# sourceURL=WebpackModule${c}`))}catch($){Eo.error(`Patch by ${P.plugin} errored (Module id is ${c}): ${k.match}
`,$),p=G,u=F,h.delete(P.plugin)}}P.all||s.splice(T--,1)}}}}catch(n){Eo.error("Error in handlePush",n)}return e.original.call(unsafeWindow[Yt],t)}e.original=unsafeWindow[Yt].push,Object.defineProperty(unsafeWindow[Yt],"push",{get:()=>e,set:t=>e.original=t,configurable:!0})}var HT,Eo,jT=g(()=>{"use strict";a();l();M();xe();Kr();ns();al();Eo=new X("WebpackInterceptor","#8caaee");unsafeWindow[Yt]?(Eo.info(`Patching ${Yt}.push (was already existant, likely from cache!)`),rs(unsafeWindow[Yt]),zT()):Object.defineProperty(unsafeWindow,Yt,{get:()=>HT,set:e=>{e?.push!==Array.prototype.push&&(Eo.info(`Patching ${Yt}.push`),rs(e),zT(),delete unsafeWindow[Yt],unsafeWindow[Yt]=e),HT=e},configurable:!0})});async function aN(){C.cloud.settingsSync&&C.cloud.authenticated&&(Go.Vencord_settingsDirty?(await dr(),delete Go.Vencord_settingsDirty):await Bs(!1)&&ve({title:"Cloud Settings",body:"Your settings have been updated! Click here to restart to fully apply changes!",color:"var(--green-360)",onClick:Us}))}async function lN(){if(await yl,Zc(),aN(),!1)try{}catch(e){}}var Om=g(()=>{"use strict";a();l();Ai();Ys();Gl();Ef();fr();al();Ef();jT();mo();_();Ys();xs();si();ii();fr();al();w();lN()});var cN={};ye(cN,{Api:()=>Rf,PlainSettings:()=>On,Plugins:()=>Jc,QuickCss:()=>Lf,Settings:()=>C,Updater:()=>kc,Util:()=>Ul,Webpack:()=>Df});a();l();a();l();a();l();var Uf=`<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Vencord QuickCSS Editor</title>
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.37.1/min/vs/editor/editor.main.min.css"
integrity="sha512-wB3xfL98hWg1bpkVYSyL0js/Jx9s7FsDg9aYO6nOMSJTgPuk/PFqxXQJKKSUjteZjeYrfgo9NFBOA1r9HwDuZw=="
crossorigin="anonymous"
referrerpolicy="no-referrer"
/>
<style>
html,
body,
#container {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
margin: 0;
padding: 0;
overflow: hidden;
}
</style>
</head>
<body>
<div id="container"></div>
<script
src="https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.37.1/min/vs/loader.min.js"
integrity="sha512-A+6SvPGkIN9Rf0mUXmW4xh7rDvALXf/f0VtOUiHlDUSPknu2kcfz1KzLpOJyL2pO+nZS13hhIjLqVgiQExLJrw=="
crossorigin="anonymous"
referrerpolicy="no-referrer"
><\/script>
<script>
require.config({
paths: {
vs: "https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.37.1/min/vs",
},
});
require(["vs/editor/editor.main"], () => {
getCurrentCss().then((css) => {
var editor = monaco.editor.create(
document.getElementById("container"),
{
value: css,
language: "css",
theme: getTheme(),
}
);
editor.onDidChangeModelContent(() =>
setCss(editor.getValue())
);
window.addEventListener("resize", () => {
// make monaco re-layout
editor.layout();
});
});
});
<\/script>
</body>
</html>
`;kn();Gl();ot();var{localStorage:pg}=unsafeWindow,dg=new Set;var Ex=async()=>{},Dx=Et(e=>VencordNative.quickCss.set(e));unsafeWindow.VencordNative={native:{getVersions:()=>({}),openExternal:async e=>void open(e,"_blank")},updater:{getRepo:async()=>({ok:!0,value:"https://github.com/Vendicated/Vencord"}),getUpdates:async()=>({ok:!0,value:[]}),update:async()=>({ok:!0,value:!1}),rebuild:async()=>({ok:!0,value:!0})},quickCss:{get:()=>et("VencordQuickCss").then(e=>e??""),set:async e=>{await tt("VencordQuickCss",e),dg.forEach(t=>t(e))},addChangeListener(e){dg.add(e)},openFile:Ex,async openEditor(){let e=`popup,width=${Math.min(unsafeWindow.innerWidth,1e3)},height=${Math.min(unsafeWindow.innerHeight,1e3)}`,t=open("about:blank","VencordQuickCss",e);if(!t){alert("Failed to open QuickCSS popup. Make sure to allow popups!");return}t.setCss=Dx,t.getCurrentCss=()=>VencordNative.quickCss.get(),t.getTheme=()=>Wr()===2?"vs-light":"vs-dark",t.document.write(Uf)}},settings:{get:()=>pg.getItem("VencordSettings")||"{}",set:async e=>pg.setItem("VencordSettings",e),getSettingsDir:async()=>"LocalStorage"}};Om();return Do(cN);})();
Object.defineProperty(unsafeWindow,'Vencord',{get:()=>Vencord});
/*! For license information please see Vencord.user.js.LEGAL.txt */
;document.addEventListener("DOMContentLoaded", () => document.documentElement.appendChild(
Object.assign(document.createElement("style"), {
textContent: `.vc-error-card{padding:2em;background-color:#e7828430;border:1px solid #e78284;border-radius:5px;color:var(--text-normal, white)}.vc-notification-root{all:unset;display:flex;flex-direction:column;color:var(--text-normal);background-color:var(--background-secondary-alt);border-radius:6px;overflow:hidden;cursor:pointer;width:100%}.vc-notification-root:not(.vc-notification-log-wrapper > .vc-notification-root){position:absolute;z-index:2147483647;right:1rem;width:25vw;min-height:10vh}.vc-notification{display:flex;flex-direction:row;padding:1.25rem;gap:1.25rem}.vc-notification-content{width:100%}.vc-notification-header{display:flex;justify-content:space-between}.vc-notification-title{color:var(--header-primary);font-size:1rem;font-weight:600;line-height:1.25rem;text-transform:uppercase}.vc-notification-close-btn{all:unset;cursor:pointer;color:var(--interactive-normal);opacity:.5;transition:opacity .2s ease-in-out,color .2s ease-in-out}.vc-notification-close-btn:hover{color:var(--interactive-hover);opacity:1}.vc-notification-icon{height:4rem;width:4rem;border-radius:6px}.vc-notification-progressbar{height:.25rem;border-radius:5px;margin-top:auto}.vc-notification-p{margin:.5rem 0 0;line-height:140%}.vc-notification-img{width:100%}.vc-notification-log-empty{height:218px;background:url(/assets/b36de980b174d7b798c89f35c116e5c6.svg) center no-repeat;margin-bottom:40px}.vc-notification-log-container{display:flex;flex-direction:column;padding:1em;overflow:hidden}.vc-notification-log-wrapper{transition:.2s ease;transition-property:height,opacity}.vc-notification-log-wrapper:not(:last-child){margin-bottom:1em}.vc-notification-log-removing{height:0!important;opacity:0;margin-bottom:1em}.vc-notification-log-body{display:flex;flex-direction:column}.vc-notification-log-timestamp{margin-left:auto;font-size:.8em;font-weight:lighter}.vc-notification-log-danger-btn{color:var(--white-500);background-color:var(--button-danger-background)}.vc-settings-tab-bar{margin-top:20px;margin-bottom:-2px;border-bottom:2px solid var(--background-modifier-accent)}.vc-settings-tab-bar-item{margin-right:32px;padding-bottom:16px;margin-bottom:-2px}.vc-settings-quick-actions-card{padding:1em;display:flex;gap:1em;align-items:center;justify-content:space-evenly;flex-grow:1;flex-flow:row wrap;margin-bottom:1em}.vc-settings-donate{display:flex;flex-direction:row}.vc-settings-card{padding:1em;margin-bottom:1em}.vc-backup-restore-card{background-color:var(--info-warning-background);border-color:var(--info-warning-foreground);color:var(--info-warning-text)}.vc-settings-theme-links{display:inline-block!important;color:var(--text-normal)!important;padding:.5em;border:1px solid var(--background-modifier-accent)}.vc-cloud-settings-sync-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1em}.vc-cloud-erase-data-danger-btn{color:var(--white-500);background-color:var(--button-danger-background)}.vc-text-selectable,.vc-text-selectable :where([class*="text" i],[class*="title" i]){user-select:text;cursor:initial}.vc-plugins-grid{margin-top:16px;display:grid;grid-gap:16px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.vc-plugins-card{background-color:var(--background-secondary-alt);color:var(--interactive-active);border-radius:8px;display:block;height:100%;padding:12px;width:100%;transition:.1s ease-out;transition-property:box-shadow,transform,background,opacity}.vc-plugins-card-disabled{opacity:.6}.vc-plugins-card:hover{background-color:var(--background-tertiary);transform:translateY(-1px);box-shadow:var(--elevation-high)}.vc-plugins-card-header{margin-top:auto;display:flex;width:100%;justify-content:flex-end;height:1.5rem;align-items:center;gap:8px}.vc-plugins-info-button{height:24px;width:24px;padding:0;background:transparent;margin-right:8px}.vc-plugins-settings-button:hover{color:var(--interactive-hover)}.vc-plugins-filter-controls{display:grid;height:40px;gap:10px;grid-template-columns:1fr 150px}.vc-plugins-badge{padding:0 6px;font-family:var(--font-display);font-weight:500;border-radius:8px;height:16px;font-size:12px;line-heigh
`,
id: "vencord-css-core"
})
), { once: true });