You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
GooseMod/goosemod.el.js

1 line
132 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

(function(){"use strict";function styleInject(e,t){void 0===t&&(t={});var o=t.insertAt;if(e&&"undefined"!=typeof document){var s=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===o&&s.firstChild?s.insertBefore(n,s.firstChild):s.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}var css_248z='.gm-store-card{background-color:var(--background-secondary);border-radius:8px;box-shadow:var(--elevation-medium);box-sizing:border-box;height:380px;margin:10px;padding:12px;position:relative;width:330px}.gm-store-card>:first-child{-webkit-user-drag:none;background:linear-gradient(225deg,var(--background-tertiary),var(--background-secondary-alt));border-radius:8px 8px 0 0;height:200px;margin-left:-12px;margin-top:-12px;object-fit:contain;user-select:none;width:calc(100% + 24px)}.gm-store-card>:first-child[src="/assets/2366391afb15ed6c2a019a0c0caa0797.svg"]{object-fit:cover}.gm-store-card>:first-child:hover~:nth-child(2),.gm-store-card>:nth-child(2):hover{top:132px}.gm-store-card>:nth-child(2){background-color:rgba(0,0,0,.5);border-radius:16px;cursor:default;opacity:.95;padding-right:10px;position:absolute;right:10px;top:152px;transition:top .2s;width:fit-content}.gm-store-card>:nth-child(2).no-pfp{padding:0 8px}.gm-store-card>:nth-child(3){-webkit-line-clamp:1;margin-top:10px}.gm-store-card>:nth-child(3),.gm-store-card>:nth-child(4){-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;width:calc(100% - 34px)}.gm-store-card>:nth-child(4){-webkit-line-clamp:3;clear:both;margin-top:5px}.gm-store-card>:nth-child(5){align-items:center;display:flex;flex-direction:column;gap:10px;margin-left:auto;order:2;position:absolute;right:12px;top:214px;width:24px}.gm-store-card>:nth-child(5)>*{color:var(--interactive-normal)}.gm-store-card>:nth-child(5)>:hover{color:var(--interactive-hover)}.gm-store-card>:nth-child(6){bottom:12px;display:flex;gap:5px;position:absolute;width:calc(100% - 32px)}.gm-store-card>:nth-child(6)>:first-child{cursor:pointer;display:inline-flex;width:90px}.gm-store-card>:nth-child(6)>:nth-child(2){color:#ddd;cursor:pointer;display:inline-flex;margin-left:14px;min-width:0;padding:2px 5px;width:auto}.gm-store-card>:nth-child(6)>:nth-child(3){margin-top:4px;position:absolute;right:-10px}.gm-store-card>:nth-child(6)>:nth-child(3).hide-toggle{display:none!important}.gm-store-card .inner-2O5YO7{height:100%}.gm-store-card .outer-s4sY2_{height:100%;padding-top:0!important;transition:height .2s}.gm-store-card>:first-child:hover .pagination-20ouY7{bottom:0}.gm-store-card .pagination-20ouY7{bottom:-30px;height:30px;position:absolute;transition:bottom .2s cubic-bezier(0,.8,.5,1);width:100%;z-index:1}.gm-store-card .arrow-vOpU7R,.gm-store-card .dotNormal-9wUKKy{opacity:.6}#gm-settings-inject>div,.gm-store-settings{align-items:center;display:flex;flex-flow:row wrap;justify-content:center}.gm-store-settings>h1{flex-basis:100%}.gm-inline-dropdown{align-items:center;display:flex;margin-left:12px}.gm-inline-dropdown>.select-2TCrqx{margin-left:8px;width:120px}.gm-settings-note-markdown{color:inherit!important;font-size:inherit}.gm-settings-note-markdown .paragraph-3Ejjt0{margin:0}.gm-settings-label-icon{vertical-align:sub}.gm-settings-label-text{margin-left:6px;vertical-align:top}.gm-settings-header-collapser{float:right;height:22px;margin-top:-3px;width:22px}.gm-settings-header-collapser.collapsed{transform:rotate(-90deg)}.gm-store-category{width:100%}.gm-store-category>:nth-child(2){display:grid;grid-auto-flow:column;grid-template-columns:repeat(auto-fill,350px);overflow-x:scroll;width:100%}.gm-store-header{margin-bottom:0;margin-left:10px;margin-top:20px;max-width:100%;width:100%}.gm-store-header>div{font-size:24px;font-weight:700;line-height:26px}.gm-store-search{flex-grow:1;margin-right:12px}.gm-highlight #app-mount:after{box-shadow:0 0 0 99999px rgb(0 0 0/50%);content:"";display:block;z-index:9}.gm-highlight .content-3YMskv [id*=gm]{background:var(--background-modifier-selected);border-radius:0;filter:brightness(2);transition:all .5s;z-index:10}.gm-ootb-modal{width:600px}.gm-modules-preview{align-items:center;display:flex;justify-content:center;margin-bottom:60px;text-align:start}.gm-modules-preview .guildIcon-2Ut8OT{display:none}.gm-modules-preview .cardHeader-r-Jvg2{margin-bottom:12px}.gm-modules-preview .card-B2gQB5{background-color:var(--background-tertiary)}.gm-store-author-pfp{border-radius:50%;display:inline;margin-right:5px;vertical-align:bottom}.gm-store-author-name{line-height:32px}.gm-carousel-modal{background-color:var(--background-primary);border-radius:6px;padding:12px;pointer-events:all}.gm-carousel-modal .outer-s4sY2_{background-color:var(--background-secondary-alt);height:30vw;padding-top:0!important;width:50vw}.gm-carousel-modal .root-3tU4d2{background-color:unset}.gm-carousel-modal .smallCarouselImage-2Qvg9S{cursor:default}.gm-store-loading-container{align-items:center;display:flex;height:100%;justify-content:center}.gm-store-card-mini{cursor:pointer;height:74px;width:100%}.gm-store-card-mini>:first-child{background-color:unset;border-radius:0 8px 8px 0;height:100%;position:absolute;right:0;width:120px}.gm-store-card-mini>:nth-child(3){margin-top:0}.gm-store-card-mini>:nth-child(4){-webkit-line-clamp:1;width:75%}.gm-store-card-mini>:nth-child(2),.gm-store-card-mini>:nth-child(5),.gm-store-card-mini>:nth-child(6){display:none}.gm-modules-container{display:flex;flex-flow:row wrap;grid-template-columns:none;justify-content:center}.gm-store-card-mini .pagination-20ouY7{display:none}.gm-store-card-mini .smallCarouselImage-2Qvg9S{cursor:unset}.gm-repos-modal-icon-Verified{color:var(--status-positive-background)}.gm-repos-modal-icon-Alert{color:var(--status-danger-background)}.gm-repos-modal-icon-Alert .icon-1ihkOt{height:12px;width:12px}.gm-repos-modal-icon-Help{color:var(--status-warning-background)}.gm-error-boundary{display:flex;flex-flow:column;height:100%;width:100%}.gm-error-boundary>:first-child{display:flex;justify-content:center;width:100%}.gm-error-boundary>:first-child>:first-child{background-image:url(https://goosemod.com/img/goose_glitch.jpg);background-position:50%;background-repeat:no-repeat;background-size:contain;border-radius:50%;display:block;height:48px;margin-right:22px;object-fit:cover;overflow:hidden;pointer-events:none;width:48px}.gm-error-boundary>:first-child>:nth-child(2){margin-top:-2px}.gm-error-boundary>:first-child>:nth-child(2) .title-3KTIjF{color:var(--interactive-normal);font-family:var(--font-primary);margin-bottom:0;margin-left:1px}.gm-error-boundary>:nth-child(2){display:flex;gap:40px;justify-content:center;margin-top:28px;width:100%}.gm-error-boundary>:nth-child(3){align-items:center;color:var(--header-secondary);display:flex;justify-content:flex-end;margin-top:28px}.gm-error-boundary>:nth-child(3)>:first-child{height:24px;margin-right:4px;width:24px}.gm-error-boundary>:nth-child(4){margin-top:8px;width:100%}.gm-error-boundary>:nth-child(4) pre{margin-bottom:28px}.layer-v9HyYc{z-index:999}.container-ZMc96U.themed-Hp1KC_{--background-primary:unset}.container-2cd8Mz{background:var(--background-primary)!important}#gm-sponsor-modal .headerTitle-kLIB73{background-image:url(https://goosemod.com/img/goose_gold.jpg);background-position:50%;background-repeat:no-repeat;background-size:contain;border-radius:50%;height:60px}#gm-sponsor-modal .headerTitle-kLIB73:after{color:var(--text-normal);content:"GooseMod Sponsor";display:block;font-family:var(--font-display);font-size:24px;margin-left:70px;margin-top:6px;width:140px}#gm-sponsor-modal .guildBackground-3BSNJY>svg:first-child{display:none}#gm-sponsor-modal .content-2eQb8J{padding:16px 8px 16px 16px}#gm-sponsor-modal .content-2eQb8J>div:not(:last-child){margin-bottom:32px}#gm-sponsor-modal .footer-31IekZ{left:-16px;top:16px;width:calc(100% - 8px)}#gm-sponsor-modal .content-2eQb8J>div:first-child{color:var(--text-normal);font-family:var(--font-primary);font-size:16px;line-height:20px}';styleInject(css_248z);var sleep=e=>new Promise((t=>setTimeout(t,e)));const fromStr=e=>e.replace("rgb(","").replace(")","").split(", "),toStr=([e,t,o])=>`rgb(${e}, ${t}, ${o})`,light=(e,t)=>toStr(fromStr(e).map((e=>e*t))),gmColor="88, 101, 242",regionColor="114, 137, 218",makeRegionStyle=e=>`background-color: rgb(${e}); color: white; border-radius: 4px; border: 2px solid ${light(e,.5)}; padding: 3px 6px 3px 6px; font-weight: bold;`,debug=(e,...t)=>{const o=e.split("."),s=o.map((e=>`%c${e}%c`)),n=o.reduce((e=>e.concat(makeRegionStyle(regionColor),"")),[]);console.log(`%cGooseMod%c ${s.join(" ")}`,makeRegionStyle(gmColor),"",...n,...t)};var Logger={__proto__:null,debug:debug};let wpRequire;window.webpackChunkdiscord_app.push([[Math.random()],{},e=>{wpRequire=e}]);const all=()=>Object.keys(wpRequire.c).map((e=>wpRequire.c[e].exports)).filter((e=>e)),wrapFilter=e=>t=>{try{return e(t)}catch{return!1}},find=(e,t=!0)=>{const o=wrapFilter(e);for(const e of all()){if(t&&e.default&&o(e.default))return e.default;if(o(e))return e}},findAll=(e,t=!0)=>{const o=wrapFilter(e),s=[];for(const e of all())t&&e.default&&o(e.default)&&s.push(e.default),o(e)&&s.push(e);return s},findByProps=(...e)=>find((t=>e.every((e=>void 0!==t[e])))),findByPropsAll=(...e)=>findAll((t=>e.every((e=>void 0!==t[e])))),findByPrototypes=(...e)=>find((t=>t.prototype&&e.every((e=>void 0!==t.prototype[e])))),findByDisplayName=e=>{const t=find((t=>t.displayName===e));return t||"Text"!==e?"Header"===e?find((e=>"LegacyHeader"===e.displayName)):t:find((e=>"LegacyText"===e.displayName))},findByDisplayNameAll=e=>findAll((t=>t.displayName===e)),findByModuleId=e=>wpRequire.c[e],common={React:findByProps("createElement"),ReactDOM:findByProps("render","hydrate"),Flux:findByProps("Store","connectStores"),FluxDispatcher:findByProps("register","wait"),i18n:findByProps("Messages","_requestedLocale"),channels:findByProps("getChannelId","getVoiceChannelId"),constants:findByProps("API_HOST")};var WebpackModules={__proto__:null,all:all,find:find,findAll:findAll,findByProps:findByProps,findByPropsAll:findByPropsAll,findByPrototypes:findByPrototypes,findByDisplayName:findByDisplayName,findByDisplayNameAll:findByDisplayNameAll,findByModuleId:findByModuleId,common:common},_GMErrorBoundary=()=>{const{React:e}=goosemod.webpackModules.common,t=goosemod.webpackModules.findByDisplayName("FormTitle"),o=goosemod.webpackModules.findByProps("Sizes","Colors","Looks","DropdownSizes"),s=goosemod.webpackModules.find((e=>"Markdown"===e.displayName&&e.rules)),n=goosemod.webpackModules.findByDisplayName("DropdownArrow");return class extends e.PureComponent{constructor(e){super(e),this.state={error:!1}}componentDidCatch(e,t){console.log("honk",{error:e,moreInfo:t});const o=decodeURI(e.stack.split("\n").filter((e=>!e.includes("/assets/"))).join("\n")),s=decodeURI(t.componentStack.split("\n").slice(1,9).join("\n")),n=o.match(/\((.*) \| GM Module:/)?.[1]||s.match(/\((.*) \| GM Module:/)?.[1];let a=n||"Unknown";const r=n?"Plugin":"Cause";"Unknown"===a&&(o.includes("GooseMod")&&(a="GooseMod Internals"),(o.toLowerCase().includes("powercord")||o.toLowerCase().includes("betterdiscord"))&&(a="Other Mods")),this.setState({error:!0,suspectedCause:{name:a,type:r},errorStack:{raw:e.stack,useful:o},componentStack:{raw:t.componentStack,useful:s}})}render(){return this.state.toRetry&&(this.state.error=!1),setTimeout((()=>{this.state.toRetry=!0}),100),this.state.error?e.createElement("div",{className:"gm-error-boundary"},e.createElement("div",{},e.createElement("div",{}),e.createElement(t,{tag:"h1"},"GooseMod has handled an error",e.createElement(s,{},`## Suspected ${this.state.suspectedCause.type}: ${this.state.suspectedCause.name}`))),e.createElement("div",{},e.createElement(o,{color:o.Colors.BRAND,size:o.Sizes.LARGE,onClick:()=>{this.state.toRetry=!0,this.forceUpdate()}},"Retry"),e.createElement(o,{color:o.Colors.RED,size:o.Sizes.LARGE,onClick:()=>{location.reload()}},"Refresh")),e.createElement("div",{onClick:()=>{this.state.toRetry=!1,this.state.showDetails=!this.state.showDetails,this.forceUpdate()}},e.createElement("div",{style:{transform:`rotate(${this.state.showDetails?"0":"-90"}deg)`}},e.createElement(n,{width:24,height:24})),this.state.showDetails?"Hide Details":"Show Details"),this.state.showDetails?e.createElement("div",{},e.createElement(s,{},"# Error Stack"),e.createElement(s,{},`\`\`\`\n${this.state.errorStack.useful}\n\`\`\``),e.createElement(s,{},"# Component Stack"),e.createElement(s,{},`\`\`\`\n${this.state.componentStack.useful}\n\`\`\``),e.createElement(s,{},"# Debug Info"),e.createElement(s,{},`\`\`\`\n${goosemod.genDebugInfo()}\n\`\`\``)):null):this.props.children}}};let GMErrorBoundary;const generateIdSegment=()=>Math.random().toString(16).substring(2),generateId=(e=3)=>new Array(e).fill(0).map((()=>generateIdSegment())).join(""),modIndex={},isReactComponent=e=>!(!e||!e.prototype?.render&&!e.displayName),beforePatches=(e,t,o,s,n)=>{const a=modIndex[o][n].before;if(0===a.length)return t;let r=t;for(const t of a)try{let o=t.call(e,r);if(!1===o)return!1;Array.isArray(o)&&(r=o)}catch(e){console.error(`Before patch (${o} - ${s}) failed, skipping`,e)}return r},insteadPatches=(e,t,o,s,n,a)=>{const r=modIndex[s][a].instead;if(0===r.length)return o.apply(e,t);let i;for(const a of r)try{let s=a.call(e,t,o.bind(e));void 0!==s&&(i=s)}catch(e){console.error(`Instead patch (${s} - ${n}) failed, skipping`,e)}return i},afterPatches=(e,t,o,s,n,a)=>{const r=modIndex[s][a].after;let i=o;for(const o of r)try{let s=o.call(e,t,i);void 0!==s&&(i=s)}catch(e){console.error(`After patch (${s} - ${n}) failed, skipping`,e)}return i},generateNewFunction=(e,t,o,s)=>function(...n){const a=beforePatches(this,n,t,o,s);let r;if(Array.isArray(a)){const i=insteadPatches(this,n,e,t,o,s);r=afterPatches(this,a,i,t,o,s)}if(modIndex[t][s].harden){GMErrorBoundary||(GMErrorBoundary=_GMErrorBoundary());const{React:e}=goosemod.webpackModules.common;return e.createElement(GMErrorBoundary,{},r)}return r},patch$a=(e,t,o,s=!1,n=!1)=>{if("function"!=typeof e[t])return goosemod.logger.debug("patcher","Failed to patch as key isn't func",e,t),()=>{};if(!e._goosemodPatcherId){const t=generateId();e._goosemodPatcherId=t,modIndex[t]={}}const a=e._goosemodPatcherId,r=`gm-${t}`;if(!modIndex[a][r]){const o=e[t];e[t]=Object.assign(generateNewFunction(o,a,t,r),o),e[t].toString=()=>o.toString();let s=!1;isReactComponent(o)&&(s=!0),e.render&&("render"!==t?patch$a(e,"render",(()=>{})):s=!0),o.displayName?.endsWith("Item")&&(s=!1),modIndex[a][r]={before:[],after:[],instead:[],harden:s,original:o}}const i=n?"instead":s?"before":"after",d=modIndex[a][r][i].push(o);return()=>{modIndex[a][r][i].splice(d-1,1);["before","after","instead"].every((e=>0===modIndex[a][r][e].length))&&(e[t]=modIndex[a][r].original,delete e._goosemodPatcherId)}},uninjectors$1={},inject=(e,t,o,s,n=!1)=>{uninjectors$1[e]=patch$a(t,o,s,n)},uninject=e=>!!uninjectors$1[e]&&(uninjectors$1[e](),!0);var simpleTooltip=()=>{const{React:e}=goosemod.webpackModules.common,t=goosemod.webpackModules.findByProps("tooltipBottom","tooltipRight");return class extends e.PureComponent{constructor(e){super(e),this.props.position=this.props.position.toLowerCase(),this.state={}}render(){return this.props.children({onMouseEnter:async()=>{document.querySelector(".gm-tooltip")&&document.querySelector(".gm-tooltip").remove();let e=document.createElement("div");document.querySelectorAll(".layerContainer-2v_Sit")[1].appendChild(e);const o=document.querySelector(`.gm-tooltipref-${this.state.refId}`).getBoundingClientRect();e.outerHTML=`<div class="layer-2aCOJ3 disabledPointerEvents-2AmYRc gm-tooltip" style="position: absolute; top: -1000px; left: -1000px;"><div class="${t[`tooltip${this.props.position[0].toUpperCase()+this.props.position.substring(1)}`]} tooltip-14MtrL tooltipPrimary-3qLMbS tooltipDisablePointerEvents-1huO19" style="opacity: 1; transform: none;"><div class="tooltipPointer-3L49xb"></div><div class="tooltipContent-Nejnvh tooltip-1j5_GT text-sm-normal-3Zj3Iv">${this.props.text}</div></div></div>`,e=document.querySelector(".gm-tooltip");const s=e.getBoundingClientRect();switch(this.props.position){case"top":e.style.left=o.left+o.width/2-s.width/2+"px",e.style.top=o.top-s.height-8+"px";break;case"left":e.style.left=o.left-s.width-8+"px",e.style.top=o.top+o.height/2-s.height/2+"px"}},onMouseLeave:()=>{document.querySelector(".gm-tooltip")&&document.querySelector(".gm-tooltip").remove()},text:this.props.text,className:`gm-tooltipref-${this.state.refId=Math.random().toString().split(".")[1]}`})}}};const getReactInstance=e=>e&&e[Object.keys(e).find((e=>e.startsWith("__reactInternalInstance")||e.startsWith("__reactFiber$")))],getNodeInternals=e=>e&&e._reactInternalFiber||e._reactInternals,getOwnerInstance=e=>{let t=getReactInstance(e);for(;t.return;)if(t=t.return,t.stateNode?._reactInternals)return t.stateNode},findInTree=(e,t,o)=>{const{walkable:s=null,ignore:n=[]}=o??{};return e&&"object"==typeof e?"string"==typeof t?e[t]:t(e)?e:Array.isArray(e)?e.map((e=>findInTree(e,t,o))).find((e=>e)):(s||Object.keys(e)).map((s=>!n.includes(s)&&findInTree(e[s],t,o))).find((e=>e)):null},findInReactTree=(e,t)=>findInTree(e,t,{walkable:["props","children","child","sibling"]});var ReactUtils={__proto__:null,getReactInstance:getReactInstance,getNodeInternals:getNodeInternals,getOwnerInstance:getOwnerInstance,findInTree:findInTree,findInReactTree:findInReactTree};let goosemodScope$j={};const setThisScope$m=e=>{goosemodScope$j=e},labelToId=e=>e.toLowerCase().replace(/ /g,"-"),getInjectId=e=>`gm-cm-${e}`,patchTypeToNavId=e=>{switch(e){case"user":return"user-context";case"message":return"message";default:return e}},getExtraInfo=e=>{try{switch(e){case"message":return getNodeInternals(getOwnerInstance(document.getElementById("message"))).return.return.memoizedProps;case"message-actions":return getNodeInternals(getOwnerInstance(document.getElementById("message-actions"))).return.return.memoizedProps;case"user-context":return getNodeInternals(getOwnerInstance(document.getElementById("user-context"))).return.return.return.return.return.return.memoizedProps;default:return}}catch(e){return}},generateElement=(e,t,o,s,n,{Menu:a,React:r})=>{const i=void 0!==e.checked;e.id=e.id||labelToId(e.label);let d=t;"function"==typeof d&&(d=d()),d&&(d=d.map((e=>(e.originalAction||(e.originalAction=e.action),e)))),e.action=function(){return i?(e.checked=!e.checked,c.props.checked=e.checked,getOwnerInstance(document.querySelector(`[id^="${o}-"][id*="${e.id}"]`)).props.onMouseEnter(),e.originalAction(arguments,n,e.checked)):e.originalAction(arguments,n)};const l=i?a.MenuCheckboxItem:a.MenuItem,c=void 0!==d?r.createElement(l,e,...d.map((e=>generateElement(e,e.sub,o,s,n,{Menu:a,React:r})))):r.createElement(l,e);return c},patch$9=(e,t)=>{const{React:o}=goosemodScope$j.webpackModules.common,s=goosemodScope$j.webpackModules.findByProps("MenuItem"),n=patchTypeToNavId(e);return t.originalAction=t.action,patch$a(s,"default",(a=>{if(a.length<1)return;const[{navId:r,children:i}]=a;if(r!==n&&("message"!==n||"message-actions"!==r))return a;if(findInReactTree(i,(e=>e?.props?.id===(t.id||labelToId(t.label)))))return a;const d=Object.assign({},t),l=generateElement(d,d.sub,n,e,Object.assign({},getExtraInfo(r)),{Menu:s,React:o});let c=findInReactTree(i,(e=>e&&e.props&&!0===e.props.goosemod));return c?(Array.isArray(c.props.children)||(c.props.children=[c.props.children]),c.props.children.push(l)):(c=o.createElement(s.MenuGroup,{goosemod:!0},l),i.push([o.createElement(s.MenuSeparator),c])),a}),!0)},uninjectors={},add$1=(e,t)=>{uninjectors[getInjectId(t.id||labelToId(t.label))]=patch$9(e,t)},remove$3=e=>{const t=getInjectId(labelToId(e));return!!uninjectors[t]&&(uninjectors[t](),!0)};var _contextMenu={__proto__:null,setThisScope:setThisScope$m,labelToId:labelToId,getInjectId:getInjectId,patchTypeToNavId:patchTypeToNavId,getExtraInfo:getExtraInfo,patch:patch$9,add:add$1,remove:remove$3};let goosemodScope$i={};const setThisScope$l=e=>{goosemodScope$i=e},patch$8=(e,t,o)=>{const{React:s}=goosemodScope$i.webpackModules.common,n=goosemodScope$i.webpackModules.findByDisplayName("Tooltip"),{icon:a}=goosemodScope$i.webpackModules.findByProps("icon","isHeader"),r=goosemodScope$i.webpackModules.find((e=>e.default&&"MiniPopover"===e.default.displayName));return patch$a(r,"default",((i,d)=>{const l=findInReactTree(d,(e=>e&&e.message));return l?(d.props.children.unshift(s.createElement(n,{position:"top",text:e},(({onMouseLeave:e,onMouseEnter:n})=>s.createElement(r.Button,{onClick:()=>{o(l)},onMouseEnter:n,onMouseLeave:e},"string"!=typeof t?t:s.createElement("img",{src:t,width:"24px",height:"24px",className:a}))))),d):d}))};var _miniPopover={__proto__:null,setThisScope:setThisScope$l,patch:patch$8};let goosemodScope$h={};const setThisScope$k=e=>{goosemodScope$h=e},patch$7=(e,t,o,{inUpload:s=!1,inReadonlyChannels:n=!1}={})=>{const{React:a}=goosemodScope$h.webpackModules.common,r=goosemodScope$h.webpackModules.findByDisplayName("Tooltip"),i=goosemodScope$h.webpackModules.findByProps("Looks","DropdownSizes"),d=goosemodScope$h.webpackModules.findByProps("button"),l=goosemodScope$h.webpackModules.findByProps("buttonWrapper","pulseButton"),c=goosemodScope$h.webpackModules.findByProps("button","textArea"),m=goosemodScope$h.webpackModules.find((e=>e.type&&e.type.render&&"ChannelTextAreaContainer"===e.type.render.displayName));return patch$a(m.type,"render",((m,p)=>{const g=findInReactTree(p,(e=>e&&e.className&&0===e.className.indexOf("buttons-")));return!g||!s&&!0===p.props.children[0].ref.current?.classList?.contains("channelTextAreaUpload-3t7EIx")||!n&&!0===p.props.children[0].ref.current?.classList?.contains("channelTextAreaDisabled-8rmlrp")||g.children.unshift(a.createElement("div",null,a.createElement(r,{position:"top",text:e},(({onMouseLeave:e,onMouseEnter:s})=>a.createElement(i,{look:i.Looks.BLANK,size:i.Sizes.ICON,onClick:()=>{o(g)},onMouseEnter:s,onMouseLeave:e},"string"!=typeof t?t:a.createElement("img",{src:t,width:"24px",height:"24px",className:`${c.button} ${d.contents} ${l.button}`})))))),p}))};var _channelTextAreaButtons={__proto__:null,setThisScope:setThisScope$k,patch:patch$7};let goosemodScope$g={},Commands;const setThisScope$j=e=>{goosemodScope$g=e,Commands=goosemodScope$g.webpackModules.findByProps("BUILT_IN_COMMANDS","BUILT_IN_SECTIONS");const{React:t}=goosemodScope$g.webpackModules.common,o=goosemod.webpackModules.findByProps("getIconComponent"),s=goosemod.webpackModules.find((e=>"ApplicationCommandItem"===e.default?.displayName)),n=goosemod.webpackModules.findByProps("useSearchManager"),a={id:applicationId,type:0,name:"GooseMod"};goosemod.patcher.patch(o,"getIconComponent",(([e])=>{if(e.id===applicationId)return e=>t.createElement("div",{className:"wrapper-1wwiGV selectable-fgiA2c",style:{width:e.width,height:e.height,padding:e.padding??0}},t.createElement("img",{src:"https://goosemod.com/img/logo.jpg",style:{width:e.width,height:e.height,borderRadius:"50%"},className:"icon-1kx1ir"}))})),goosemod.patcher.patch(s,"default",(([{command:e}],o)=>(e.applicationId===applicationId&&(o.props.children[0]=t.createElement("div",{className:"wrapper-3t15Cn image-1a_IXB",style:{width:32,height:32}},t.createElement("img",{src:"https://goosemod.com/img/logo.jpg",style:{width:32,height:32,borderRadius:"50%"},className:"icon-1kx1ir"}))),o))),goosemod.patcher.patch(n,"useSearchManager",((e,t)=>{const o=Object.values(Commands.BUILT_IN_COMMANDS).filter((e=>e.applicationId===applicationId));if(0===o.length)return t;t.activeSections.find((e=>e.id===a.id))||t.activeSections.push(a),t.sectionDescriptors.find((e=>e.id===a.id))||t.sectionDescriptors.push(a);let s=t.commandsByActiveSection.find((e=>e.section.id===a.id));if(s?s.data=o:null!=t.filteredSectionId&&t.filteredSectionId!==applicationId||t.commandsByActiveSection.push({section:a,data:o}),t.commandsByActiveSection.find((e=>"-1"===e.section.id))){const e=t.commandsByActiveSection.find((e=>"-1"===e.section.id));e.data=e.data.filter((e=>e.applicationId!==applicationId))}return t}))},applicationId="-3",add=(e,t,o,s=[])=>{const n=Commands;for(const e of s)e.displayName=e.displayName??e.name;n.BUILT_IN_COMMANDS.push({applicationId:applicationId,type:1,inputType:0,description:t,name:e,displayName:e,displayDescription:t,execute:o,options:s,id:`-${Math.random().toString().split(".")[1].substring(0,5)}`})},remove$2=e=>{const t=Commands;t.BUILT_IN_COMMANDS=t.BUILT_IN_COMMANDS.filter((t=>t.name!==e))};var _commands={__proto__:null,setThisScope:setThisScope$j,add:add,remove:remove$2};let goosemodScope$f={};const setThisScope$i=e=>{goosemodScope$f=e;const{BOT_AVATARS:t}=goosemodScope$f.webpackModules.findByProps("BOT_AVATARS","DEFAULT_AVATARS");t.GooseMod="https://cdn.discordapp.com/avatars/760559484342501406/5125aff2f446ad7c45cf2dfd6abf92ed.webp"},send=(e,t="GooseMod")=>{const{createBotMessage:o}=goosemodScope$f.webpackModules.findByProps("createBotMessage"),{getChannelId:s}=goosemodScope$f.webpackModules.findByProps("getChannelId","getVoiceChannelId"),{receiveMessage:n}=goosemodScope$f.webpackModules.findByProps("receiveMessage","sendBotMessage"),a=o(s(),"");"string"==typeof e?a.content=e:a.embeds.push(e),a.state="SENT",a.author.id="1",a.author.bot=!0,a.author.discriminator="0000",a.author.avatar="GooseMod",a.author.username=t,n(s(),a)};let notices$1=[],goosemodScope$e={},updateCall;const setThisScope$h=async e=>{goosemodScope$e=e;const t=goosemodScope$e.webpackModules.findByProps("base","sidebar");for(;void 0===document.getElementsByClassName(t.base)[0];)await sleep(10);const o=getOwnerInstance(document.getElementsByClassName(t.base)[0]),{React:s}=goosemodScope$e.webpackModules.common;class n extends s.PureComponent{constructor(e){super(e),this._updateCall=()=>this.forceUpdate()}componentDidMount(){updateCall=this._updateCall}componentWillUnmount(){}render(){return notices$1.length>0?notices$1.shift().react:null}}patch$a(o.props.children[0],"type",((e,o)=>(goosemod.reactUtils.findInReactTree(o,(e=>e.className===t.base)).children.unshift(s.createElement(n)),o))),o.forceUpdate()},patch$6=(e,t,o,s="brand")=>{const n=goosemodScope$e.webpackModules.findByProps("colorDanger","notice")[`color${s[0].toUpperCase()+s.substring(1).toLowerCase()}`],a=goosemodScope$e.webpackModules.findByProps("NoticeCloseButton","NoticeButton"),{React:r}=goosemodScope$e.webpackModules.common,i=generateId(),d=r.createElement(a.default,{class:"goosemod-notice",id:i,color:n},r.createElement(a.NoticeCloseButton,{onClick:()=>{notices$1=notices$1.filter((e=>e.id!==i)),updateCall()}}),e,r.createElement(a.NoticeButton,{onClick:()=>{o()}},t));notices$1.push({react:d,id:i}),updateCall()};var _notices={__proto__:null,get notices(){return notices$1},setThisScope:setThisScope$h,patch:patch$6};let goosemodScope$d={};const setThisScope$g=e=>{goosemodScope$d=e},patch$5=(e,t,o,{atEnd:s=!1,showWhere:n=["dm","channel"]}={})=>{const{React:a}=goosemodScope$d.webpackModules.common,r=goosemod.webpackModules.findByProps("title","themed","icon","icon","iconBadge"),i=goosemodScope$d.webpackModules.find((e=>e.default&&"HeaderBar"===e.default.displayName));return patch$a(i,"default",((d,l)=>{const c=l.props.children.props.children[1].props.children.props.children;let m="other";if(null===c[1])m="home";else switch(c[0][1].key){case"mute":m="channel";break;case"calls":m="dm"}return n.includes(m)?(c[s?"push":"unshift"](a.createElement(i.Icon,{"aria-label":e,tooltip:e,disabled:!1,showBadge:!1,selected:!1,icon:()=>"string"!=typeof t?t:a.createElement("img",{src:t,width:"24px",height:"24px",className:`${r}.icon`}),onClick:()=>{o()}})),l):l}))};var _headerBarButtons={__proto__:null,setThisScope:setThisScope$g,patch:patch$5};let goosemodScope$c={};const setThisScope$f=e=>{goosemodScope$c=e},patch$4=(e,t,o,s=(()=>{}),{round:n=!1}={})=>{const{React:a}=goosemodScope$c.webpackModules.common,r=goosemodScope$c.webpackModules.findByDisplayName("Tooltip"),i=goosemodScope$c.webpackModules.findByDisplayName("Clickable"),d=goosemodScope$c.webpackModules.findByProps("profileBadge24","profileBadge22"),l=[];for(const c of goosemodScope$c.webpackModules.findByPropsAll("BadgeSizes"))l.push(patch$a(c,"default",(([{user:l,size:c}],m)=>{if(!o().includes(l.id))return m;let p=d.profileBadge24;switch(c){case 1:p=d.profileBadge22;break;case 2:p=d.profileBadge18}return m.props.children.unshift(a.createElement(r,{position:"top",text:e},(({onMouseLeave:e,onMouseEnter:o})=>a.createElement(i,{onClick:()=>{s()},onMouseEnter:o,onMouseLeave:e},a.createElement("div",{style:{backgroundImage:`url("${t}")`,borderRadius:n?"50%":""},className:`${d.profileBadge} ${p}`}))))),m})));return()=>l.forEach((e=>e()))};var _userBadges={__proto__:null,setThisScope:setThisScope$f,patch:patch$4};const setThisScope$e=e=>{},patch$3=(e,{before:t=!1}={})=>{const o=goosemod.webpackModules.find((e=>e.default&&"function"==typeof e.default&&e.default.toString().includes("e.hideTag"))),{React:s}=goosemod.webpackModules.common;return patch$a(o,"default",(([o],n)=>{const a=e(o);if(!a||""===a.props.children)return;const r=s.createElement("span",{style:{width:"5px",display:"inline-block"}});return delete a.props.style.marginLeft,delete a.props.style.marginRight,t?n.props.children.unshift(a,r):n.props.children.push(r,a),n}))};var _username={__proto__:null,setThisScope:setThisScope$e,patch:patch$3};let goosemodScope$b={};const setThisScope$d=e=>{goosemodScope$b=e},patch$2=(e,t,o,s=(()=>{}),{round:n=!1}={})=>{const{React:a}=goosemodScope$b.webpackModules.common,r=goosemodScope$b.webpackModules.findByDisplayName("Tooltip"),i=goosemodScope$b.webpackModules.findByDisplayName("Clickable"),d=goosemodScope$b.webpackModules.findByProps("guildIconContainer","iconTierNone"),l=goosemod.webpackModules.findByProps("AnimatedBanner");return patch$a(l.default,"type",(function(l,c){if(!o().includes(l[0]?.guild?.id))return c;const m=c.props.children[0].props.children[0];m.__injected||(patch$a(m,"type",(function(o,l){return l.props.children.unshift(a.createElement(r,{position:"top",text:e},(({onMouseLeave:e,onMouseEnter:o})=>a.createElement(i,{onClick:()=>{s()},onMouseEnter:o,onMouseLeave:e},a.createElement("div",{style:{backgroundImage:`url("${t}")`,borderRadius:n?"50%":"",width:"16px",height:"16px",backgroundRepeat:"no-repeat",backgroundSize:"contain",backgroundPosition:"50%",objectFit:"cover"},className:`${d.guildIconContainer}`}))))),l})),m.__injected=!0)}))};var _guildBadges={__proto__:null,setThisScope:setThisScope$d,patch:patch$2};const contextMenu=_contextMenu,miniPopover=_miniPopover,channelTextAreaButtons=_channelTextAreaButtons,commands=_commands,internalMessage=send,notices=_notices,headerBarButtons=_headerBarButtons,userBadges=_userBadges,username=_username,guildBadges=_guildBadges,setThisScope$c=e=>{for(const t of[setThisScope$m,setThisScope$l,setThisScope$k,setThisScope$j,setThisScope$i,setThisScope$h,setThisScope$g,setThisScope$f,setThisScope$e,setThisScope$d])try{t(e)}catch(e){console.error("[GooseMod] Failed to scope patcher module",e,t)}};var Patcher={__proto__:null,contextMenu:contextMenu,miniPopover:miniPopover,channelTextAreaButtons:channelTextAreaButtons,commands:commands,internalMessage:internalMessage,notices:notices,headerBarButtons:headerBarButtons,userBadges:userBadges,username:username,guildBadges:guildBadges,setThisScope:setThisScope$c,patch:patch$a,inject:inject,uninject:uninject,simpleTooltip:simpleTooltip};let goosemodScope$a={};const setThisScope$b=e=>{goosemodScope$a=e},patch$1=()=>{const{React:e}=goosemodScope$a.webpackModules.common,t=goosemodScope$a.webpackModules.findByProps("Sizes","AnimatedAvatar");goosemodScope$a.patcher.patch(t,"default",(([{src:e}],t)=>{if(e.includes("/avatars"))return t.props["data-user-id"]=e.match(/\/avatars\/([0-9]+)\//)[1],t})),goosemodScope$a.patcher.patch(t.AnimatedAvatar,"type",((o,s)=>e.createElement(t.default,{...s.props})))};var _avatar={__proto__:null,setThisScope:setThisScope$b,patch:patch$1};const avatar=_avatar,setThisScope$a=e=>{setThisScope$b(e)},patch=()=>{patch$1()};var Attrs={__proto__:null,avatar:avatar,setThisScope:setThisScope$a,patch:patch};const toastCSS=".gm-toasts {\n position: fixed;\n display: flex;\n top: 0;\n flex-direction: column;\n align-items: center;\n justify-content: flex-end;\n pointer-events: none;\n z-index: 4000;\n\n bottom: 80px;\n right: 40px;\n}\n\n@keyframes gm-toast-up {\n from {\n transform: translateY(0);\n opacity: 0;\n }\n}\n\n.gm-toast {\n animation: gm-toast-up 300ms ease;\n background: rgba(79,84,92,0.5);\n backdrop-filter: blur(2px);\n padding: 22px;\n border-radius: 6px;\n box-shadow: var(--elevation-high);\n font-weight: 500;\n color: #fff;\n user-select: text;\n font-size: 20px;\n opacity: 1;\n margin-top: 40px;\n pointer-events: none;\n user-select: none;\n\n width: 280px;\n text-align: left;\n\n overflow-wrap: break-word;\n}\n\n.gm-toast > :first-child {\n margin-bottom: 12px;\n}\n\n.gm-toast > :last-child {\n color: var(--header-secondary);\n font-size: 18px;\n white-space: pre-line;\n}\n\n@keyframes gm-toast-down {\n to {\n transform: translateY(0px);\n opacity: 0;\n }\n}\n\n.gm-toast.closing {\n animation: gm-toast-down 200ms ease;\n animation-fill-mode: forwards;\n opacity: 1;\n transform: translateY(-10px);\n}\n\n\n.gm-toast.toast-info {\n background-color: hsla(197,calc(var(--saturation-factor, 1)*100%),47.8%, 0.5);\n}\n\n.gm-toast.toast-success {\n background-color: hsla(139,calc(var(--saturation-factor, 1)*66.8%),58.6%, 0.5);\n}\n\n.gm-toast.toast-danger,\n.gm-toast.toast-error {\n background-color: hsla(359,calc(var(--saturation-factor, 1)*82.6%),59.4%, 0.5);\n}\n\n.gm-toast.toast-warning,\n.gm-toast.toast-warn {\n background-color: hsla(38,calc(var(--saturation-factor, 1)*95.7%),54.1%, 0.5);\n}",styleSheet=document.createElement("style");styleSheet.textContent=toastCSS,document.head.appendChild(styleSheet);var showToast=(e,t={})=>{if(t?.type?.startsWith("debug")){if(!goosemod.settings.gmSettings.debugToasts)return;t.type=t.type.replace("debug","")}if(!document.querySelector(".gm-toasts")){const e=document.createElement("div");e.classList.add("gm-toasts"),document.querySelector("#app-mount").appendChild(e)}let{subtext:o="",type:s="",timeout:n=3e3}=t;n*=1.5;const a=document.createElement("div");a.classList.add("gm-toast"),s&&a.classList.add("toast-"+s);const r=document.createElement("div");r.textContent=e,a.appendChild(r);const i=document.createElement("div");i.textContent=o,a.appendChild(i),document.querySelector(".gm-toasts").appendChild(a);const d=()=>{a.classList.add("closing"),setTimeout((()=>{a.remove(),document.querySelectorAll(".gm-toasts .gm-toast").length||document.querySelector(".gm-toasts").remove()}),300)};return setTimeout(d,n),{toastElem:a,closeFn:d}};let goosemodScope$9={};const setThisScope$9=e=>{goosemodScope$9=e},show$1=(e,t,o,s,n)=>new Promise((a=>{const{React:r}=goosemodScope$9.webpackModules.common,{find:i,findByDisplayName:d,findByProps:l}=goosemodScope$9.webpackModules,c=d("Text"),m=i((e=>"Markdown"===e.displayName&&e.rules)),p=l("button","colorRed");(0,l("openModal","updateModal").openModal)((i=>(3===i.transitionState&&a(!1),r.createElement(d("ConfirmModal"),{header:t,confirmText:e,cancelText:s||goosemod.webpackModules.findByPropsAll("Messages")[1].Messages.CANCEL,confirmButtonColor:p[`color${n?n[0].toUpperCase()+n.substring(1).toLowerCase():"Red"}`],onClose:()=>{a(!1)},onCancel:()=>{a(!1),i.onClose()},onConfirm:()=>{a(!0),i.onClose()},transitionState:i.transitionState},...o.split("\n").map((e=>r.createElement(m,{size:c.Sizes.SIZE_16},e)))))))}));let goosemodScope$8={},showHideMod={},originalChangelog={};const setThisScope$8=e=>{goosemodScope$8=e,showHideMod=goosemodScope$8.webpackModules.findByProps("showChangeLog");const t=goosemodScope$8.webpackModules.findByProps("changeLog").changeLog;originalChangelog=Object.assign({},t)},showChangelog=()=>{showHideMod.showChangeLog()},hideChangelog=()=>{showHideMod.hideChangeLog()},resetChangelog=()=>{setChangelog(originalChangelog)},setChangelog=e=>{const t=goosemodScope$8.webpackModules.findByProps("changeLog"),o={template:"standard",revision:1,locale:"en-us",...e};for(const e of Object.keys(t.changeLog))delete t.changeLog[e];for(const e of Object.keys(o))t.changeLog[e]=o[e]};var Changelog={__proto__:null,setThisScope:setThisScope$8,showChangelog:showChangelog,hideChangelog:hideChangelog,resetChangelog:resetChangelog,setChangelog:setChangelog};const image="https://media.discordapp.net/attachments/756146058924392542/771374562184658944/2018-11-14-11-36-30-1200x800.png";let version,generated,goosemodScope$7={};const setThisScope$7=e=>{goosemodScope$7=e},show=async()=>{generated||generate(),goosemodScope$7.changelog.resetChangelog(),goosemodScope$7.changelog.setChangelog(generated),goosemodScope$7.changelog.showChangelog(),await sleep(300);const e=()=>{document.querySelector(".modal-3Hrb0S .size20-9iTTnl").textContent=`GooseMod ${version}`,document.querySelector(".modal-3Hrb0S .footer-31IekZ").remove()};e(),goosemodScope$7.changelog.resetChangelog(),setTimeout(e,300)},generate=()=>{const e=JSON.parse("{\"version\":\"v12.3\",\"date\":\"2021-11-03\",\"body\":\"New Store Badges {added marginTop}\\n======================\\n\\n* **Store UI now uses a badge system to show version, time since last update, and GitHub stars.**\\n\\nGeneral Hotfixes {progress}\\n======================\\n\\n* **Fixed InternalMessage / some commands.**\\n* **Fixed Store using incorrect scrollbars.**\\n* **Fixed Store not working / rendering.**\\n\\nAdditions to APIs {added}\\n======================\\n\\n* **Webpack: Added findByModuleId function.**\\n* **Settings, Header: Added hide prop.**\"}");version=e.version,generated={image:image,date:e.date,body:e.body}};var GoosemodChangelog={__proto__:null,setThisScope:setThisScope$7,show:show,generate:generate};let enabled=!1,todo=["themes","plugins"];const done=e=>{todo.splice(todo.indexOf(e),1)},themes=async()=>{const e=(await Promise.resolve().then((function(){return modulesPreview$1}))).default(),{React:t}=goosemod.webpackModules.common,o=goosemod.webpackModules.findByDisplayName("Header"),s=goosemod.webpackModules.findByDisplayName("Text"),n=goosemod.moduleStoreAPI.modules.filter((e=>e.tags.includes("theme")&&e.images&&e.images[0])).sort(((e,t)=>t.github?.stars-e.github?.stars)),a=Math.floor(Math.random()*(n.length-5));goosemod.webpackModules.find((e=>e.show&&e.show.toString().includes("confirmText"))).show({className:"gm-ootb-modal",title:"Θέματα",confirmText:"Περιήγηση Θεμάτων",onConfirm:async()=>{0===goosemod.ootb.todo.length&&(await sleep(2e3),goosemod.ootb.settings())},body:t.createElement("div",{className:"container-1rn8Cv"},t.createElement(e,{modules:n.slice(a,a+3)}),t.createElement(o,{className:"header-2MiVco",size:o.Sizes.SIZE_24},"Ομόρφυνε το Discord σου με Θέματα"),t.createElement(s,{className:"byline-3REiHf",size:s.Sizes.SIZE_16,color:s.Colors.HEADER_SECONDARY},"Διάλεξε σε περισσότερα απο 100 θέματα να τροποποιήσεις και να βελτιώσεις την διεπαφή χρήστη"))})},plugins=async()=>{const e=(await Promise.resolve().then((function(){return modulesPreview$1}))).default(),{React:t}=goosemod.webpackModules.common,o=goosemod.webpackModules.findByDisplayName("Header"),s=goosemod.webpackModules.findByDisplayName("Text"),n=goosemod.moduleStoreAPI.modules.filter((e=>!e.tags.includes("theme")&&e.images&&e.images[0])).sort(((e,t)=>t.github?.stars-e.github?.stars)),a=Math.floor(Math.random()*(n.length-5));goosemod.webpackModules.find((e=>e.show&&e.show.toString().includes("confirmText"))).show({className:"gm-ootb-modal",title:"Πρόσθετα",confirmText:"Περιήγηση Προσθέτων",onConfirm:async()=>{0===goosemod.ootb.todo.length&&(await sleep(2e3),goosemod.ootb.settings())},body:t.createElement("div",{className:"container-1rn8Cv"},t.createElement(e,{modules:n.slice(a,a+3)}),t.createElement(o,{className:"header-2MiVco",size:o.Sizes.SIZE_24},"Ενίσχυσε το Discord κάτω από την επιφάνεια"),t.createElement(s,{className:"byline-3REiHf",size:s.Sizes.SIZE_16,color:s.Colors.HEADER_SECONDARY},"Τα πρόσθετα αυξάνουν την εμπειρία σας με βελτιώσεις της εφαρμογής"))})},store=async()=>{const e=(await Promise.resolve().then((function(){return modulesPreview$1}))).default(),{React:t}=goosemod.webpackModules.common,o=goosemod.webpackModules.findByProps("transitionTo"),s=goosemod.webpackModules.findByDisplayName("Header"),n=goosemod.webpackModules.findByDisplayName("Text"),a=goosemod.moduleStoreAPI.modules.filter((e=>e.images&&e.images[0])).sort(((e,t)=>t.github?.stars-e.github?.stars)),r=Math.floor(Math.random()*(a.length-5));goosemod.webpackModules.find((e=>e.show&&e.show.toString().includes("confirmText"))).show({className:"gm-ootb-modal",title:"Κατάστημα",confirmText:"Προβολή καταστήματος στην Αρχική",onConfirm:async()=>{o.transitionTo("/channels/@me"),await sleep(100),document.body.classList.add("gm-highlight"),await sleep(3e3),document.body.classList.remove("gm-highlight")},body:t.createElement("div",{className:"container-1rn8Cv"},t.createElement(e,{modules:a.slice(r,r+3)}),t.createElement(s,{className:"header-2MiVco",size:s.Sizes.SIZE_24},"Περιήγηση θεμάτων και προσθέτων στο Κατάστημα"),t.createElement(n,{className:"byline-3REiHf",size:n.Sizes.SIZE_16,color:n.Colors.HEADER_SECONDARY},"Το GooseMod χρησιμοποιεί το δικό του Κατάστημα, στο οποίο μπορεί να γίνει εύκολη περιήγηση και εγκατάσταση"))})},settings=async()=>{const e=(await Promise.resolve().then((function(){return modulesPreview$1}))).default(),{React:t}=goosemod.webpackModules.common,o=goosemod.webpackModules.findByDisplayName("Header"),s=goosemod.webpackModules.findByDisplayName("Text");goosemod.webpackModules.find((e=>e.show&&e.show.toString().includes("confirmText"))).show({className:"gm-ootb-modal",title:"Ρυθμίσεις",confirmText:"Δες τις ρυθμίσεις GooseMod",onConfirm:async()=>{goosemod.settings.openSettings(),await sleep(20),document.querySelector('[aria-controls="gm-Ρυθμίσεις-tab"]').click();const e=document.querySelector(".sidebarRegionScroller-3MXcoP");for(e.scrollTop=e.offsetHeight-270;document.querySelector(".closeButton-1tv5uR");)await sleep(100);goosemod.ootb.community()},body:t.createElement("div",{className:"container-1rn8Cv"},t.createElement(e,{modules:[{name:"Πειραματικές Λειτουργίες",description:"Δοκίμασε νέες πειραματικές λειτουργίες"},{name:"Υπηρεσίες",description:"Δημιουργία αντιγράφου ασφαλείας, επαναφορά GooseMod και περισσότερα"},{name:"Μικροδιορθώσεις",description:"Ρύθμισε το GooseMod όπως ακριβώς το θες"}]}),t.createElement(o,{className:"header-2MiVco",size:o.Sizes.SIZE_24},"Χρησιμοποίησε τις ρυθμίσεις του GooseMod για να εξατομικεύσεις τα χαρακτηριστικά του"),t.createElement(s,{className:"byline-3REiHf",size:s.Sizes.SIZE_16,color:s.Colors.HEADER_SECONDARY},"Υπάρχουν διάφορες επιλογές να αλλάξεις"))})},community=async()=>{const e=(await Promise.resolve().then((function(){return modulesPreview$1}))).default(),{React:t}=goosemod.webpackModules.common,o=goosemod.webpackModules.findByDisplayName("Header"),s=goosemod.webpackModules.findByDisplayName("Text");goosemod.webpackModules.find((e=>e.show&&e.show.toString().includes("confirmText"))).show({className:"gm-ootb-modal",title:"Κοινότητα",confirmText:"Γίνε μέλος του GooseMod Discord",onConfirm:()=>{window.open("https://goosemod.com/discord")},body:t.createElement("div",{className:"container-1rn8Cv"},t.createElement(e,{modules:[{name:"Κάντε Ερωτήσεις",description:"Κάντε οποιαδήποτε ερώτηση και λάβετε υποστήριξη"},{name:"Νέα",description:"Λάβε τα τελευταία νέα και ανακοινώσεις γύρω απο το GooseMod και σχετικά πρότζεκτ"},{name:"Συμμετέχετε",description:"Βοήθα με υποδείξεις, υποστήριξη και περισσότερα"}]}),t.createElement(o,{className:"header-2MiVco",size:o.Sizes.SIZE_24},"Γίνε μέλος της κοινότητας GooseMod"),t.createElement(s,{className:"byline-3REiHf",size:s.Sizes.SIZE_16,color:s.Colors.HEADER_SECONDARY},"Γίνε μέλος του Discord για περαιτέρω πληροφορίες και περισσότερα"))})},start=async()=>{const e=(await Promise.resolve().then((function(){return modulesPreview$1}))).default(),{React:t}=goosemod.webpackModules.common,o=goosemod.webpackModules.findByDisplayName("Header"),s=goosemod.webpackModules.findByDisplayName("Text");goosemod.webpackModules.find((e=>e.show&&e.show.toString().includes("confirmText"))).show({className:"gm-ootb-modal",title:"GooseMod",confirmText:"Μάθε Περισσότερα",cancelText:"Δεν ενδιαφέρομαι",onConfirm:()=>{goosemod.ootb.enabled=!0,goosemod.ootb.store()},body:t.createElement("div",{className:"container-1rn8Cv"},t.createElement(e,{modules:[{name:"Κατάστημα",description:"Μάθε για το GooseMod και τα περιεχόμενα του"},{name:"Ρυθμίσεις",description:"Μάθε για τις ρυθμίσεις του GooseMod και τα πρόσθετα"},{name:"Κοινότητα",description:"Γίνε μέλος στο Discord μας για να κάνεις ερωτήσεις, επικοδομητική κριτική, να μείνεις ενημερωμένος με τα νεα και πολλα περισσότερα"}]}),t.createElement(o,{className:"header-2MiVco",size:o.Sizes.SIZE_24},"Μάθε για το GooseMod"),t.createElement(s,{className:"byline-3REiHf",size:s.Sizes.SIZE_16,color:s.Colors.HEADER_SECONDARY},"Ολοκλήρωσε μια σύντομη περιήγηση σχετικά με τις βασικές λειτουργίες του GooseMod"))})};var OOTB={__proto__:null,enabled:enabled,todo:todo,done:done,themes:themes,plugins:plugins,store:store,settings:settings,community:community,start:start};const setThisScope$6=e=>{},startLoadingScreen=()=>{},updateLoadingScreen=e=>{},stopLoadingScreen=()=>{},defaultSettings={changelog:!0,separators:!0,gmBadges:!0,attrs:!1,home:!0,devchannel:!1,snippets:!1,autoupdate:!0,newModuleNotifications:!1,placeholderimage:!1,collapsiblehome:!0,allThemeSettings:!1,debugToasts:!1},loadStore=()=>{const e=JSON.parse(goosemod.storage.get("goosemodGMSettings"))||{};return{...defaultSettings,...e,get:()=>target}},target={uninit:!0};var GMSettings=new Proxy({uninit:!0},{get:(e,t)=>(e.uninit&&(e=loadStore()),e[t]??!1),set:(e,t,o)=>(e.uninit&&(e=loadStore()),e[t]=o,goosemod.storage.set("goosemodGMSettings",JSON.stringify(e)),!0)}),addToHome=async e=>{const{React:t,ReactDOM:o}=e.webpackModules.common,s=e.webpackModules.find((e=>e.default&&"ConnectedPrivateChannelsList"===e.default.displayName)),n=e.webpackModules.findByDisplayName("ListSectionItem"),{LinkButton:a}=e.webpackModules.findByProps("LinkButton"),r=e.webpackModules.findByProps("interactive","selected"),i=e.webpackModules.findByProps("channel","linkButtonIcon"),d=e.webpackModules.findByProps("headerText","privateChannelsHeaderContainer"),l=e.webpackModules.findByProps("icon","iconBadge","title"),c=e.webpackModules.findByProps("scrollerBase","auto","thin"),m={themes:t.createElement(e.webpackModules.findByDisplayName("Eye"),{width:24,height:24}),plugins:t.createElement(e.webpackModules.findByDisplayName("InlineCode"),{width:24,height:24}),snippets:t.createElement(e.webpackModules.findByDisplayName("Pictures"),{width:24,height:24}),expandable:t.createElement(goosemod.webpackModules.findByDisplayName("DropdownArrow"),{className:`${l.icon}`,width:24,height:24})},p=(await Promise.resolve().then((function(){return header$3}))).default(),g=e.webpackModules.findByDisplayName("LoadingPopout"),u=(e,o,s)=>t.createElement(p,{icon:e,title:o,id:s}),h=(e,o)=>t.createElement("div",{className:e?"":`${c.auto}`,id:"gm-settings-inject",style:{padding:"22px",backgroundColor:"var(--background-primary)",height:"100%",overflow:e?"":"hidden scroll"}},o),f=e.webpackModules.findByProps("transitionTo"),y=(e,t,o=0)=>{if(o>5)return!1;const s=e.parentElement;return s.classList.contains(t)&&s||y(s,t,o+1)},b=(...e)=>e.map((e=>document.getElementsByClassName(e)[0])).find((e=>e));let S=e.settings.gmSettings.collapsiblehome&&goosemod.storage.get("goosemodHomeExpanded")||!0,w={plugins:e.settings.items.find((e=>"Πρόσθετα"===e[1])),themes:e.settings.items.find((e=>"Θέματα"===e[1])),snippets:e.settings.items.find((e=>"Αποσπάσματα"===e[1]))},x={plugins:e.settings._createItem(w.plugins[1],w.plugins[2],!1),themes:e.settings._createItem(w.themes[1],w.themes[2],!1),snippets:e.settings._createItem(w.snippets[1],w.snippets[2],!1)};const v=(s,n)=>{const a=[...b("content-98HsJk","content-1SgpWY").children].find(((e,t)=>0!==t&&!e.classList.contains("erd_scroll_detection_container")));for(const e of b("scroller-1JbKMe","scroller-WSmht3").children[0].children)e.children[0]?.classList?.remove?.(r.selected,i.interactiveSelected);setTimeout((()=>{document.getElementById(`gm-home-${n}`).parentElement.classList.add(r.selected,i.interactiveSelected)}),0);const d="snippets"!==n&&Array.isArray(x[n].props.children)?x[n].props.children.filter((e=>"card"===e.props.type)).length:0,l="snippets"!==n?e.moduleStoreAPI.modules.filter((e=>"plugins"===n?!e.tags.includes("theme"):e.tags.includes("theme"))).length:0;if((d!==l||e.settings[`regen${n}`])&&(delete e.settings[`regen${n}`],x[n]=t.createElement("div",{className:"gm-store-loading-container"},t.createElement(g)),(async()=>{"snippets"!==n&&w[n][2].filter((e=>"card"===e.type)).length!==l&&await e.moduleStoreAPI.updateStoreSetting(),x[n]=e.settings._createItem(w[n][1],w[n][2],!1),document.querySelector(`#gm-home-${n}`).click()})()),1===a.children.length&&o.render(((e,o,s,n)=>t.createElement("div",{style:{height:"100%",overflow:"hidden"}},u(e,o,s),h(!1,n)))(m[n],s,n,x[n]),a.children[0]),2===a.children.length||3===a.children.length){let e=a.children.length-2;const t=a.children[e+1].classList.contains("stickyScroller-24zUyY");t&&(e=0),a.children[e+0].className="",o.render(u(m[n],s,n),a.children[e+0]),0!==e&&a.children[e+1].children[1]&&(a.children[e+1].children[1].style.display="none"),t&&(e=1),o.render(h(t,x[n]),0!==e?a.children[e+1].children[0]:a.children[e+1])}e.ootb.enabled&&e.ootb.todo.includes(n)&&(e.ootb[n](),e.ootb.done(n))},k=e.settings.gmSettings.snippets;e.settingsUninjects.push(e.patcher.patch(s,"default",((o,s)=>{if(s.props.children.props.children.some((e=>!0===e?.goosemod)))return;const c=e=>(e.goosemod=!0,e);setTimeout((()=>{b("scroller-1JbKMe","scroller-WSmht3").addEventListener("click",(e=>{const t=y(e.target,i.link);t&&!t.id.startsWith("gm-home-")&&(document.querySelectorAll('[id^="gm-home-"]').forEach((e=>e.parentElement.classList.remove(r.selected,i.interactiveSelected))),setTimeout((()=>{null!==document.getElementById("gm-settings-inject")&&(f.transitionTo("/invalid"),f.back())}),1))}))}),10),s.props.children.props.children.push(c(t.createElement(n,{className:d.privateChannelsHeaderContainer},t.createElement("span",{className:d.headerText},"GooseMod"),e.settings.gmSettings.collapsiblehome?t.createElement("div",{className:`${d.privateChannelRecipientsInviteButtonIcon} ${l.iconWrapper} ${l.clickable} gm-category-collapser`,style:{transform:`rotate(${S?"0":"-90"}deg)`,width:"22px",left:S?"0px":"-2px",top:S?"-6px":"-2px"},onClick:()=>{S=!S,goosemod.storage.set("goosemodHomeExpanded",S);const e=document.querySelector(".gm-category-collapser");e.style.transform=`rotate(${S?"0":"-90"}deg)`,e.style.left=S?"0px":"-2px",e.style.top=S?"-6px":"-2px";document.querySelectorAll('[id^="gm-home-"]').forEach((e=>e.style.display=S?"":"none"))}},m.expandable):null)),c(t.createElement(a,{style:{display:S||"Θέματα"===b("title-29uC1r","title-17SveM")?.textContent?"block":"none"},icon:()=>m.themes,onClick:()=>v("Θέματα","themes"),id:"gm-home-themes",text:"Θέματα",selected:!1})),c(t.createElement(a,{style:{display:S||"Πρόσθετα"===b("title-29uC1r","title-17SveM")?.textContent?"block":"none"},icon:()=>m.plugins,onClick:()=>v("Πρόσθετα","plugins"),id:"gm-home-plugins",text:"Πρόσθετα",selected:!1})),k?c(t.createElement(a,{style:{display:S||"Αποσπάσματα"===b("title-29uC1r","title-17SveM")?.textContent?"block":"none"},icon:()=>m.snippets,onClick:()=>v("Αποσπάσματα","snippets"),id:"gm-home-snippets",text:"Αποσπάσματα",selected:!1})):null)}))),b("privateChannels-1nO12o","privateChannels-oVe7HL")&&(f.transitionTo("/invalid"),f.back()),(async()=>{await e.moduleStoreAPI.updateStoreSetting();for(const t of["themes","plugins"])x[t]=e.settings._createItem(w[t][1],w[t][2],!1);if(!k)return;const t=JSON.parse(goosemod.storage.get("goosemodSnippets"))||{};for(const e in t){const o=t[e];t[e]=document.createElement("style"),t[e].appendChild(document.createTextNode(o)),document.body.appendChild(t[e])}const o=async(o,s)=>{const{fetchMessages:n}=e.webpackModules.findByProps("fetchMessages","sendMessage"),{getRawMessages:a}=e.webpackModules.findByProps("getMessages"),{getChannel:r,hasChannel:i}=e.webpackModules.findByProps("getChannel","getDMFromUserId");if(!i(o))return;await n({channelId:o});const d=r(o),l=Object.values(a(o)).filter((e=>e.content.includes("```css")&&!e.message_reference&&!e.content.includes("quick CSS")&&!e.content.includes("Theme Toggler"))).sort(((e,t)=>t.attachments.length+t.embeds.length-(e.attachments.length+e.embeds.length))),c=e.settings.items.find((e=>"Αποσπάσματα"===e[1]));c[2].push({type:"store-header",text:s},...l.map((o=>({type:"card",tags:[o.id],lastUpdated:0,discordMessage:{guild:d.guild_id,channel:d.id,message:o.id},images:[o.attachments?.[0]?.proxy_url||o.embeds?.[0]?.thumbnail?.proxy_url].filter((e=>e)),name:"",author:[{name:o.author.username,id:o.author.id,avatar:o.author.avatar}],subtext:o.content.replace(/```css(.*)```/gs,""),buttonText:t[o.id]?"Αφαίρεση":"Προσθήκη",buttonType:t[o.id]?"danger":"brand",onclick:()=>{const s=c[2].find((e=>e.tags?.includes(o.id))),n=document.querySelector(`[class*="${o.id}"]`).querySelector("button");e.settings.regensnippets=!0,t[o.id]?(t[o.id].remove(),delete t[o.id],n.className=n.className.replace("lookOutlined-3sRXeN colorRed-1TFJan","lookFilled-1Gx00P colorBrand-3pXr91"),n.textContent="Προσθήκη",s.buttonText="Προσθήκη",s.buttonType="brand"):(t[o.id]=document.createElement("style"),t[o.id].appendChild(document.createTextNode(/```css(.*)```/s.exec(o.content)[1])),document.body.appendChild(t[o.id]),n.className=n.className.replace("lookFilled-1Gx00P colorBrand-3pXr91","lookOutlined-3sRXeN colorRed-1TFJan"),n.textContent="Αφαίρεση",s.buttonText="Αφαίρεση",s.buttonType="danger");const a=Object.assign({},t);for(const e in a)a[e]=a[e].textContent;goosemod.storage.set("goosemodSnippets",JSON.stringify(a))},showToggle:!1,isToggled:()=>!1}))))};await o("755005803303403570","Powercord CSS Snippets"),await o("836694789898109009","BetterDiscord CSS Snippets"),await o("449569809613717518","Black Box CSS Snippets"),x.snippets=e.settings._createItem(w.snippets[1],w.snippets[2],!1)})()},addToContextMenu=(e,t)=>{const o=t=>({label:t,action:async()=>{e.settings.openSettings(),await sleep(10);let o=t;switch(o){case"Ρυθμίσεις":o="settings";break;case"Πρόσθετα":o="plugins";break;case"Θέματα":o="themes";break;case"Αποσπάσματα":o="snippets";break;case"Αρχείο κταγραφής αλλαγών":o="changelog"}document.querySelector(`[aria-controls="gm-${o.replace(/ /g,"-").toLowerCase()}-tab"]`).click()}});e.settingsUninjects.push(e.patcher.contextMenu.patch("user-settings-cog",{label:"GooseMod",sub:[o("Ρυθμίσεις"),t?void 0:o("Πρόσθετα"),t?void 0:o("Θέματα"),o("Αρχείο κταγραφής αλλαγών")].filter((e=>e))})),e.settingsUninjects.push(e.patcher.contextMenu.patch("user-settings-cog",{label:"Δομοστοιχεία GooseMod",sub:()=>e.settings.items.slice(e.settings.items.indexOf(e.settings.items.find((e=>"Δομοστοιχεία GooseMod"===e[1])))+1).map((e=>o(e[1])))}))},addToSettingsSidebar=async(e,t)=>{let o;for(;!(o=e.webpackModules.findByDisplayName("SettingsView"));)await sleep(50);const s=e.webpackModules.findByDisplayName("Text"),{React:n}=e.webpackModules.common;e.settingsUninjects.push(e.patcher.patch(o.prototype,"getPredicateSections",((o,a)=>{const r=a.find((e=>"logout"===e.section));return r?(a.splice(a.indexOf(r),0,...e.settings.items.filter((e=>!(t.home&&("Πρόσθετα"===e[1]||"Θέματα"===e[1]||"Αποσπάσματα"===e[1])||!t.snippets&&"Αποσπάσματα"===e[1]))).map((t=>{switch(t[0]){case"item":let o=t[1];switch(o){case"Ρυθμίσεις":o="settings";break;case"Πρόσθετα":o="plugins";break;case"Θέματα":o="themes";break;case"Αποσπάσματα":o="snippets";break;case"Αρχείο κταγραφής αλλαγών":o="changelog"}let s={section:"gm-"+o,label:t[1],predicate:()=>{},element:function(){if("function"==typeof t[3])return document.querySelector(".item-3XjbnG.selected-g-kMVV:not(.item-3mHhwr)").click(),t[3](),n.createElement("div");const o=document.querySelector(".standardSidebarView-E9Pc3j nav > div");return"Πρόσθετα"!==t[1]&&"Θέματα"!==t[1]&&"Αποσπάσματα"!==t[1]||(setTimeout((()=>{document.querySelector(".sidebarRegion-VFTUkN").style.maxWidth="218px",document.querySelector(".contentColumnDefault-1VQkGM").style.maxWidth="calc(100vw - 218px - 60px - 20px)"}),10),o.addEventListener("click",(e=>{0!==e.clientX&&"Πρόσθετα"!==e.target.textContent&&"Θέματα"!==e.target.textContent&&"Αποσπάσματα"!==e.target.textContent&&(document.querySelector(".sidebarRegion-VFTUkN").style.maxWidth="50%",document.querySelector(".contentColumnDefault-1VQkGM").style.maxWidth="740px")}))),e.settings._createItem(t[1],t[2])}};return t[4]&&(s.color="#f04747"),s;case"heading":return{section:"HEADER",label:t[1]};case"separator":return{section:"DIVIDER"}}})),{section:"DIVIDER"}),a.push({section:"DIVIDER"},{section:"CUSTOM",element:()=>n.createElement("div",{className:"info-3pQQBb"},n.createElement(s,{className:"line-18uChy",size:s.Sizes.SIZE_12,color:s.Colors.MUTED,tag:"span"},"GooseMod"," ",e.versioning.version," ",n.createElement("span",{className:"versionHash-mssSIL"},"(",e.versioning.hash.substring(0,7),")")),n.createElement(s,{className:"line-18uChy",size:s.Sizes.SIZE_12,color:s.Colors.MUTED,tag:"span"},"GooseMod Ext"," ",window.gmExtension))}),a):a}))),e.settings.isSettingsOpen()&&e.settings.reopenSettings()},addBaseItems=(e,t,o)=>{let s=e.settings.items;e.settings.items=[],e.settings.createHeading("GooseMod");const n=async(o,s)=>{switch(o){case"changelog":if(s){const o=[["item","Αρχείο κταγραφής αλλαγών",[""],async()=>{show()},!1]];t.separators&&o.unshift(["separator"]),e.settings.items.splice(e.settings.items.indexOf(e.settings.items.find((e=>"Themes"===e[1])))+1,0,...o)}else e.settings.items.splice(e.settings.items.indexOf(e.settings.items.find((e=>"Change Log"===e[1]))),t.separators?2:1);await e.settings.reopenSettings(),e.settings.openSettingItem("Settings");break;case"devchannel":s?goosemod.storage.set("goosemodUntetheredBranch","dev"):goosemod.storage.remove("goosemodUntetheredBranch");break;case"separators":if(s)t.home||goosemod.settings.items.splice(2,0,["separator"]),t.changelog&&goosemod.settings.items.splice(4,0,["separator"]);else{let t=!0;e.settings.items=e.settings.items.filter(((o,s)=>(e.settings.items[s+1]&&e.settings.items[s+1][1]&&"Δομοστοιχεία GooseMod"===e.settings.items[s+1][1]&&(t=!1),!("separator"===o[0]&&t))))}await e.settings.reopenSettings(),e.settings.openSettingItem("Settings");break;case"gmBadges":e.gmBadges[s?"addBadges":"removeBadges"]()}t[o]=s},a=async()=>{await e.confirmDialog("Refresh","Refresh Required","This setting **requires a refresh to take effect**. You **may experience some strange behaviour** in this session before refreshing.")&&location.reload()};e.settings.createItem("Ρυθμίσεις",["",{type:"header",text:"Ρυθμίσεις"},{type:"toggle",text:"GooseMod Ιστορικό Αλλαγών",subtext:"Εμφάνιση ρύθμισης GooseMod\"Ιστορικό Αλλαγών\"",onToggle:e=>n("changelog",e),isToggled:()=>t.changelog},{type:"toggle",text:"Βασικοί Διαχωριστές",subtext:"Εμφάνιση διαχωριστών μεταξύ βασικών GooseMod ρυθμίσεων",onToggle:e=>n("separators",e),isToggled:()=>t.separators},{type:"toggle",text:"Κατάστημα Στην Αρχική",subtext:"Τοποθέτησε τις GooseMod Store ρυθμίσεις στην αρχική αντί στις ρυθμίσεις",onToggle:e=>{n("home",e),a()},isToggled:()=>t.home},{type:"header",text:"Κατάστημα"},{type:"toggle",text:"Αυτόματη Ενημέρωση",subtext:"Αυτόματη ενημέρωση βιβλιοθηκών και δομοστοιχείων κάθε ωρα",onToggle:e=>n("autoupdate",e),isToggled:()=>t.autoupdate},{type:"toggle",text:"New Module Notifications",subtext:"Shows a toast each time a new module is added to the Store",onToggle:e=>n("newModuleNotifications",e),isToggled:()=>t.newModuleNotifications},{type:"header",text:"Εμφάνιση"},{type:"toggle",text:"GooseMod Εμβλήματα",subtext:"Εμφάνιση GooseMod εμβλημάτων",onToggle:e=>n("gmBadges",e),isToggled:()=>t.gmBadges},{type:"header",text:"Χρήσιμα πράγματα"},{type:"text-and-button",text:"Καθαρισμός μνήμης Cache",subtext:"Καθαρίζει(πλήρως αφαιρεί) τα περισσότερα cache που χρησιμοποιεί το GooseMod",buttonText:"Καθαρισμός",onclick:async()=>{goosemod.storage.keys().filter((e=>e.toLowerCase().startsWith("goosemod")&&e.includes("Cache"))).forEach((e=>goosemod.storage.remove(e))),a()}},{type:"text-and-button",text:"Αρχή Περιήγησης",subtext:"Ολοκλήρωσε την αρχικη περιήγηση του GooseMod ξανά",buttonText:"Περιήγηση",onclick:async()=>{e.settings.closeSettings(),e.ootb.start()}},{type:"text-and-button",text:"Αντιγραφή Debug πληροφοριών",subtext:"Αντιγράφει πληροφορίες που αφορούν την εγκατάσταση και το GooseMod με σκοπό την αναφορά και τον εντοπισμό σφαλμάτων",buttonText:"Αντιγραφή",onclick:async()=>{const{copy:t}=e.webpackModules.findByProps("copy","SUPPORTS_COPY");t(e.genDebugInfo())}},{type:"text-and-danger-button",text:"Επαναφορά GooseMod",subtext:"Πλήρης επαναφορά GooseMod: αφαιρεί όλες τις προτιμήσεις και βιβλιοθήκες; σαν μια αρχική εγκατάσταση",buttonText:"Επαναφορά",onclick:async()=>{await e.confirmDialog("Reset","Reset GooseMod","Confirming will completely reset GooseMod, removing all preferences and modules; as if you had installed GooseMod for the first time. This is irreversible.")&&(await e.remove(),window.location.reload())}},{type:"header",text:"Αντίγραφο ασφαλείας"},{type:"text-and-button",text:"Δημιουργία Αντιγράφου",subtext:"Δημιουργεί ένα αρχείο ως αντίγραφο ασφαλείας των GooseMod δομοστοιχείων και ρυθμίσεων σας",buttonText:"Αντίγραφο ασφαλείας",onclick:()=>{const e=goosemod.storage.keys().filter((e=>e.toLowerCase().startsWith("goosemod")&&!e.includes("Cache"))).reduce(((e,t)=>(e[t]=goosemod.storage.get(t),e)),{}),t=JSON.stringify(e),o=document.createElement("a");o.style.display="none";const s=new Blob([t],{type:"application/json"});o.href=URL.createObjectURL(s),o.download="goosemodBackup.json",document.body.appendChild(o),o.click(),o.remove()}},{type:"text-and-button",text:"Επαναφορά αντιγράφου ασφαλείας",subtext:"Επαναφέρετε τα GooseMod δομοστοιχεία και ρυθμίσεις μέσω ενός αντιγράφου ασφαλείας, **Επαναφέρετε μονο αντίγραφα που εμπιστέυεστε**",buttonText:"Επαναφορά",onclick:async()=>{const e=document.createElement("input");e.style.display="none",e.type="file",e.click(),await new Promise((t=>{e.onchange=()=>{t()}}));const t=e.files[0];if(!t)return;const o=new FileReader;o.onload=()=>{const e=JSON.parse(o.result);for(const t in e)t.startsWith("goosemod")&&goosemod.storage.set(t,e[t]);location.reload()},o.readAsText(t)}},{type:"header",text:"Μικροδιορθώσεις",collapsed:!0,collapseOffset:1},{type:"subtext",text:"Μικρότερες αλλαγές όπως μικρές αλλαγές στο UI για να φέρει το GooseMod στα μέτρα σας"},{type:"toggle",text:"Εικόνα συμβόλου υποκατάστασης",subtext:"Χρήση εικόνας συμβόλου υποκατάστασης στο κατάστημα για δομοστοιχεία δίχως εικόνα",onToggle:e=>{n("placeholderimage",e)},isToggled:()=>t.placeholderimage},{type:"toggle",text:"Πτυσσόμενη Αρχική Κατηγορία",subtext:"Επέτρεψε την αρχική κατηγορία να είναι πτυσσόμενη μέσω εικονιδίου",onToggle:e=>{n("collapsiblehome",e)},isToggled:()=>t.collapsiblehome},{type:"header",text:"Πειραματικό",collapsed:!0,collapseOffset:1},{type:"subtext",text:"Οι πειραματικές ρυθμίσεις είναι πιθανά μη-ολοκληρωμένες και ασταθείς, κάτι που μπορεί να οδηγήσει σε μειωμένη εμπειρία"},{type:"toggle",experimental:!0,text:"Χαρακτηριστικά δεδομένων",subtext:"Προσθήκη χαρακτηριστκών δεδομένων σε κάποια στοιχεία για χρήση απο κάποια θέματα",onToggle:e=>{n("attrs",e),a()},isToggled:()=>t.attrs},{type:"toggle",experimental:!0,text:"Αποσπάσματα",subtext:"Ενεργοποίηση καρτέλας αποσπασμάτων στο κατάστημα",onToggle:e=>{n("snippets",e),a()},isToggled:()=>t.snippets},{type:"toggle",experimental:!0,text:"Αναγκασμός Ρυθμίσεων Θέματος",subtext:"Αναγκασμός αυτόματης δημιουργίας ρυθμίσεων για όλα τα θέματα",onToggle:e=>{n("allThemeSettings",e),a()},isToggled:()=>t.allThemeSettings},{type:"toggle",experimental:!0,text:"Topaz",subtext:"Load Topaz with GooseMod. Topaz is in alpha and very experimental.",onToggle:e=>{e?goosemod.storage.set("goosemodTopaz",!0):goosemod.storage.remove("goosemodTopaz"),a()},isToggled:()=>goosemod.storage.get("goosemodTopaz")},{type:"gm-footer"}]),t.separators&&!t.home&&e.settings.createSeparator();let r="Αστέρια",i="Όλα",d="",l=!1;const c=async()=>{if(l)return;l=!0;const t=t=>{const o=t.querySelectorAll(".title-31JmR4, .title-2dsDLn"),a=o[1],d=[...o[0].getElementsByClassName("gm-store-author-name")].map((e=>e.textContent.split("#")[0])),l=a.childNodes[0].wholeText,c=t.querySelector(".description-3_Ncsb, .description-30xx7u").innerText,m=s.test(l)||s.test(c),p=t.querySelector(".container-3auIfb, .container-2nx-BQ").classList.contains("hide-toggle")?"Κατάστημα":"Εγκατεστημένα";switch(r){case"Α-Ζ":t.style.order="";break;case"Τελευταία ενημερωμένα":{const o=e.moduleStoreAPI.modules.find((e=>e.name===l.trim()));t.style.order=3e9-o.lastUpdated;break}case"Αστέρια":t.style.order=1e4-parseInt(t.children[4].children[0].ariaLabel)}t.style.display=!m||"Κατάστημα"!==n&&n!==p||"Όλα"!==i&&!d.includes(i.split(" (").slice(0,-1).join(" ("))?"none":"block"},o=[...document.querySelectorAll(":not(.gm-store-category) > div > .gm-store-card")],s=new RegExp(`.*${d}.*`,"i");let n=document.querySelector(".selected-3s45Ha, .selected-g-kMVV")?.textContent||"Κατάστημα";"Κατάστημα"!==n&&"Εγκατεστημένα"!==n&&(n="Κατάστημα"),o.forEach(t);const a=""===d&&"Κατάστημα"===n&&"Όλα"===i;[...document.getElementsByClassName("gm-store-category")].forEach((e=>e.style.display=a?"block":"none"));const c=document.querySelector(":not(.gm-store-category) > .gm-store-header");if(c&&(c.style.height=a?"":"0px",c.style.opacity=a?"":"0",c.style.margin=a?"":"0"),document.querySelector(".gm-store-card-loading-placeholder")){let e=[...document.querySelectorAll(".gm-store-card-loading-placeholder")];for(;0!==e.length;)e=e.filter((e=>"gm-store-card-loading-placeholder"===e.className||(t(e),!1))),await sleep(10)}if(c&&!a&&"Δεν βρέθηκαν αποτελέσματα"!==c.textContent&&o.every((e=>"none"===e.style.display))){if(c.style.height="",c.style.opacity="",c.style.margin="",c.dataset.original=c.textContent,c.children[0].textContent="Δεν βρέθηκαν αποτελέσματα",""!==d&&"Κατάστημα"===n&&"Όλα"===i)if(o[0]&&o[0].classList.contains("theme")){0!==goosemod.moduleStoreAPI.modules.filter((e=>!e.tags.includes("theme")&&(s.test(e.name)||s.test(e.description)))).length&&(c.children[0].textContent="Δεν βρέθηκαν αποτελέσματα, μήπως εννοείτε πρόσθετα;",c.style.cursor="pointer",c.onclick=async()=>{const e=d;document.getElementById("gm-home-plugins").click(),await sleep(100);const t=document.querySelector(".input-3Xdcic, .input-2m5SfJ");t.value=e,t.__reactProps$.onChange({currentTarget:{value:e}})})}else{0!==goosemod.moduleStoreAPI.modules.filter((e=>e.tags.includes("theme")&&(s.test(e.name)||s.test(e.description)))).length&&(c.children[0].textContent="Δεν βρέθηκαν αποτελέσματα, μήπως εννοείτε θέματα;",c.style.cursor="pointer",c.onclick=async()=>{const e=d;document.getElementById("gm-home-themes").click(),await sleep(100);const t=document.querySelector(".input-3Xdcic, .input-2m5SfJ");t.value=e,t.__reactProps$.onChange({currentTarget:{value:e}})})}}else c&&"Όλα τα θέματα"!==c.textContent&&"Όλα τα πρόσθετα"!==c.textContent&&(c.children[0].textContent=c.dataset.original,c.style.cursor="",c.onclick=()=>{});l=!1};e.settings.updateModuleStoreUI=c,["Πρόσθετα","Θέματα"].forEach(((t,o)=>e.settings.createItem(t,["",{type:"search",placeholder:0===o?"Αναζήτηση Προσθέτων":"Αναζήτηση θεμάτων",onchange:e=>{d=e,c()},storeSpecific:!0},{type:"dropdown-individual",label:"Ταξινόμηση κατά",options:["Αστέρια","Α-Ζ","Τελευταία ενημερωμένα"],onchange:e=>{r=e,c()}},{type:"dropdown-individual",label:"Δημιουργός",options:()=>{const t=e.moduleStoreAPI.idCache.getCache(),o=[...e.moduleStoreAPI.modules.reduce(((e,o)=>{let s=o.authors;Array.isArray(s)||(s=[s]);for(const o of s){let s=o;if("object"==typeof o)s=o.n;else if(o.match(/^[0-9]{17,18}$/))s=t[o]?.data?.username;else{const e=o.match(/(.*) \(([0-9]{17,18})\)/);null!==e&&(s=e[1])}s&&e.set(s,(e.get(s)||0)+1)}return e}),new Map).entries()].sort(((e,t)=>t[1]-e[1])).map((e=>`${e[0]} (${e[1]})`));return o.unshift("Όλα"),o},onchange:e=>{i=e,c()}},{type:"store-category",text:"Υψηλά βαθμολογημένα",sort:(e,t)=>t.github?.stars-e.github?.stars},{type:"store-category",text:"Πρόσφατα ενημερωμένα",sort:(e,t)=>t.lastUpdated-e.lastUpdated},{type:"store-header",text:0===o?"Όλα τα πρόσθετα":"Όλα τα θέματα"},{type:"gm-footer"}]))),e.settings.createItem("Αποσπάσματα",["",{type:"search",placeholder:"Search Snippets",onchange:e=>{const t=document.getElementsByClassName("gm-store-card"),o=new RegExp(`.*${e}.*`,"i"),s=e=>{for(const t of e){const e=t.getElementsByClassName("markdown-11q6EU")[0].textContent,s=o.test(e);t.style.display=s?"":"none"}};0===t.length?setTimeout((()=>s(document.getElementsByClassName("gm-store-card"))),10):s(t)},storeSpecific:!0}]),t.changelog&&(t.separators&&e.settings.createSeparator(),e.settings.createItem("Αρχείο κταγραφής αλλαγών",[""],(async()=>{show()}))),e.settings.createSeparator(),e.settings.createHeading("Δομοστοιχεία GooseMod"),e.settings.items=e.settings.items.concat(s)},getItems=async()=>({divider:(await Promise.resolve().then((function(){return divider}))).default(),header:(await Promise.resolve().then((function(){return header$1}))).default(),toggle:(await Promise.resolve().then((function(){return toggle$1}))).default(),text:(await Promise.resolve().then((function(){return text$1}))).default(),"text-and-child":(await Promise.resolve().then((function(){return textAndChild$1}))).default(),"text-and-button":(await Promise.resolve().then((function(){return textAndButton$1}))).default(),"text-and-color":(await Promise.resolve().then((function(){return textAndColor$1}))).default(),button:(await Promise.resolve().then((function(){return button$1}))).default(),search:(await Promise.resolve().then((function(){return search$1}))).default(),"dropdown-individual":(await Promise.resolve().then((function(){return dropdownIndividual$1}))).default(),"store-header":(await Promise.resolve().then((function(){return storeHeader}))).default(),card:(await Promise.resolve().then((function(){return card}))).default(),"store-category":(await Promise.resolve().then((function(){return storeCategory$1}))).default(),custom:(await Promise.resolve().then((function(){return custom$1}))).default(),"text-input":(await Promise.resolve().then((function(){return textInput$1}))).default(),subtext:(await Promise.resolve().then((function(){return subtext$1}))).default()});const gmSettings=GMSettings;let Items={},goosemodScope$6={};const setThisScope$5=async e=>{goosemodScope$6=e,Items=await getItems()},removeModuleUI=(e,t)=>{const o=void 0===goosemodScope$6.modules[e];o&&(goosemodScope$6.modules[e]=Object.assign({},goosemodScope$6.disabledModules[e]),delete goosemodScope$6.disabledModules[e]),goosemodScope$6.moduleStoreAPI.moduleRemoved(goosemodScope$6.modules[e]),o||goosemodScope$6.modules[e].goosemodHandlers.onRemove(),delete goosemodScope$6.modules[e],goosemodScope$6.moduleSettingsStore.clearModuleSetting(e),t&&goosemodScope$6.settings.openSettingItem(t)},isSettingsOpen=()=>null!==document.querySelector(".standardSidebarView-E9Pc3j .closeButton-PCZcma"),closeSettings=()=>{let e=document.querySelector(".standardSidebarView-E9Pc3j .closeButton-PCZcma");if(null===e)return!1;e.click()},openSettings=()=>{document.querySelector('.flex-2S1XBF.flex-3BkGQD.horizontal-112GEH.horizontal-1Piu5-.flex-3BkGQD.directionRow-2Iu2A9.justifyStart-2Mwniq.alignStretch-Uwowzr.noWrap-hBpHBz > [type="button"]:last-child').click()},openSettingItem=e=>{try{const t=[...document.querySelector(".standardSidebarView-E9Pc3j nav > div").children];return t[1].click(),setTimeout((()=>t.find((t=>t.textContent===e)).click()),5),!0}catch(e){return!1}},reopenSettings=async()=>{goosemodScope$6.settings.closeSettings(),await sleep(500),goosemodScope$6.settings.openSettings(),await sleep(100)};let items=[];const createItem=(e,t,o,s=!1)=>{goosemodScope$6.settings.items.push(["item",e,t,o,s])},removeItem=e=>{const t=goosemodScope$6.settings.items.indexOf(goosemodScope$6.settings.items.find((t=>t[1]===e)));if(-1===t)return!1;goosemodScope$6.settings.items.splice(t,1)},createHeading=e=>{goosemodScope$6.settings.items.push(["heading",e])},createSeparator=()=>{goosemodScope$6.settings.items.push(["separator"])},_createItem=(e,t,o=!0)=>{const{React:s}=goosemodScope$6.webpackModules.common,n=goosemodScope$6.webpackModules.findByDisplayName("FormSection"),a=goosemodScope$6.webpackModules.findByDisplayName("FormTitle"),r=()=>t.slice(1).map(((t,o)=>{t.type.includes("danger-button")&&(t.type=t.type.replace("danger-",""),t.danger=!0);const n=Items[t.type];return n?s.createElement(n,{i:o,...t,itemName:e}):s.createElement("div")}));return o?s.createElement(n,{className:"Πρόσθετα"===e||"Θέματα"===e?"gm-store-settings":""},t[1].prototype?.render?null:s.createElement(a,{tag:"h1"},e),t[1].prototype?.render?s.createElement(t[1]):r()):s.createElement("div",{},r())},makeGooseModSettings=()=>{goosemodScope$6.settingsUninjects=[],addBaseItems(goosemodScope$6,gmSettings),addToSettingsSidebar(goosemodScope$6,gmSettings),addToContextMenu(goosemodScope$6,gmSettings.home),gmSettings.home&&addToHome(goosemodScope$6);try{loadColorPicker()}catch(e){goosemodScope$6.logger.debug("settings.load","Failed to load color picker")}},loadColorPicker=()=>{const{findInReactTree:e}=goosemodScope$6.reactUtils;if(!goosemodScope$6.webpackModules.findByDisplayName("ColorPicker")){e(goosemodScope$6.webpackModules.findByDisplayName("GuildFolderSettingsModal").prototype.render.call({props:{},state:{}}).props.children,(e=>e.props?.colors)).type().props.children.type._ctor()}};var Settings={__proto__:null,gmSettings:gmSettings,get Items(){return Items},setThisScope:setThisScope$5,removeModuleUI:removeModuleUI,isSettingsOpen:isSettingsOpen,closeSettings:closeSettings,openSettings:openSettings,openSettingItem:openSettingItem,reopenSettings:reopenSettings,items:items,createItem:createItem,removeItem:removeItem,createHeading:createHeading,createSeparator:createSeparator,_createItem:_createItem,makeGooseModSettings:makeGooseModSettings},ab2str=e=>(new TextDecoder).decode(e);const evalGlobal=eval,makeSourceURL=e=>`${e} | GM Module`.replace(/ /g,"%20");let goosemodScope$5={};const setThisScope$4=e=>{goosemodScope$5=e},importModule=async(e,t=!1)=>{let o=e.name;goosemodScope$5.logger.debug("import",`Importing module: "${o}"`),void 0!==goosemodScope$5.modules[o]?.goosemodHandlers?.onImport&&(goosemodScope$5.logger.debug(`import.load.module.${o}`,"Module already imported, removing then installing new version"),await goosemodScope$5.modules[o].goosemodHandlers.onRemove()),"object"==typeof e.data&&(e.data=ab2str(e.data));goosemodScope$5[t?"disabledModules":"modules"][o]=Object.assign(evalGlobal("const goosemodScope=goosemod;"+e.data+` //# sourceURL=${makeSourceURL(e.name)}`),e.metadata),t||await goosemodScope$5.modules[o].goosemodHandlers.onImport()};let goosemodScope$4={};const setThisScope$3=e=>{goosemodScope$4=e},disableModule=e=>{let t=JSON.parse(goosemod.storage.get("goosemodDisabled"))||{};t[e]=!0,goosemod.storage.set("goosemodDisabled",JSON.stringify(t))},enableModule=e=>{let t=JSON.parse(goosemod.storage.get("goosemodDisabled"))||{};delete t[e],goosemod.storage.set("goosemodDisabled",JSON.stringify(t))},checkDisabled=e=>Object.keys(JSON.parse(goosemod.storage.get("goosemodDisabled"))||{}).includes(e),saveModuleSettings=async()=>{let e=JSON.parse(goosemod.storage.get("goosemodModules"))||{};for(let t in goosemodScope$4.modules)if(goosemodScope$4.modules.hasOwnProperty(t))try{e[t]=await(goosemodScope$4.modules[t].goosemodHandlers.getSettings||(async()=>[]))()}catch(e){console.error("Failed to load settings to save module",t,e)}JSON.stringify(JSON.parse(goosemod.storage.get("goosemodModules")))!==JSON.stringify(e)&&goosemod.storage.set("goosemodModules",JSON.stringify(e))},clearModuleSetting=e=>{let t=JSON.parse(goosemod.storage.get("goosemodModules"));t&&t[e]&&(delete t[e],goosemod.storage.set("goosemodModules",JSON.stringify(t)))},clearSettings=()=>{goosemod.storage.remove("goosemodModules")},loadSavedModuleSetting=async e=>{let t=JSON.parse(goosemod.storage.get("goosemodModules"));t&&t[e]&&await(goosemodScope$4.modules[e].goosemodHandlers.loadSettings||(async()=>[]))(t[e])};var ModuleSettingsStore={__proto__:null,setThisScope:setThisScope$3,disableModule:disableModule,enableModule:enableModule,checkDisabled:checkDisabled,saveModuleSettings:saveModuleSettings,clearModuleSetting:clearModuleSetting,clearSettings:clearSettings,loadSavedModuleSetting:loadSavedModuleSetting};let openpgp;const loadLibrary=async()=>{let js=await(await fetch("https://api.goosemod.com/pgp.js",{cache:"force-cache"})).text();js=js.replace("detectNode:function(){","detectNode:function(){return false;"),openpgp=eval(js+";openpgp")},verifySignature=async(e,t,o)=>{openpgp||await loadLibrary();const s=await openpgp.readKey({armoredKey:e}),n=await openpgp.createMessage({text:o}),a=await openpgp.readSignature({armoredSignature:t}),r=await openpgp.verify({message:n,signature:a,verificationKeys:s}),{verified:i,keyID:d}=r.signatures[0];try{return await i,goosemod.logger.debug("pgp","verified, key id:",d.toHex()),!0}catch(e){return goosemod.logger.debug("pgp","failed to verify",e.message),!1}},hash=async(e,t)=>{const o=await crypto.subtle.digest(t,new TextEncoder("utf-8").encode(e));return Array.prototype.map.call(new Uint8Array(o),(e=>("00"+e.toString(16)).slice(-2))).join("")},sha512=e=>hash(e,"SHA-512");let goosemodScope$3={};const setThisScope$2=e=>{goosemodScope$3=e},getCache$1=()=>JSON.parse(goosemod.storage.get("goosemodJSCache")||"{}"),purgeCache$1=()=>goosemod.storage.remove("goosemodJSCache"),updateCache$1=(e,t,o)=>{let s=goosemodScope$3.moduleStoreAPI.jsCache.getCache();s[e]={hash:t,js:o},goosemod.storage.set("goosemodJSCache",JSON.stringify(s))},getJSForModule=async e=>{const t=goosemodScope$3.moduleStoreAPI.modules.find((t=>t.name===e)),o=goosemodScope$3.moduleStoreAPI.jsCache.getCache();if(o[e]&&t.hash===o[e].hash)return o[e].js;{const o=t.repo.split("/").slice(0,-1).join("/"),s=await(await fetch(`${o}/module/${e}.js?_=${Date.now()}`)).text();return goosemodScope$3.moduleStoreAPI.jsCache.updateCache(e,t.hash,s),s}};var JSCache={__proto__:null,setThisScope:setThisScope$2,getCache:getCache$1,purgeCache:purgeCache$1,updateCache:updateCache$1,getJSForModule:getJSForModule};const currentDate=new Date-0;let goosemodScope$2={},getUser,queueProcessInterval;const setThisScope$1=e=>{goosemodScope$2=e,getUser=goosemodScope$2.webpackModules.findByProps("getUser","fetchCurrentUser").getUser},queue=[],queueReturns=[],processQueue=async()=>{if(0===queue.length)return clearInterval(queueProcessInterval),void(queueProcessInterval=void 0);const e=queue.pop();queueReturns.push(await getUser(e))},getCache=()=>JSON.parse(goosemod.storage.get("goosemodIDCache")||"{}"),purgeCache=()=>goosemod.storage.remove("goosemodIDCache"),updateCache=(e,t)=>{let o=getCache();o[e]={data:t,time:currentDate},goosemod.storage.set("goosemodIDCache",JSON.stringify(o))},getDataForID=async e=>{const t=getCache();if(t[e]&&t[e].time>currentDate-864e5)return t[e].data;{let t;for(queue.push(e),queueProcessInterval||(queueProcessInterval=setInterval(processQueue,500),processQueue());;){if(t=queueReturns.find((t=>t.id===e)),t){queueReturns.splice(queueReturns.indexOf(t),1);break}await sleep(500)}return updateCache(e,t),t}};var IDCache={__proto__:null,setThisScope:setThisScope$1,getCache:getCache,purgeCache:purgeCache,updateCache:updateCache,getDataForID:getDataForID};let goosemodScope$1={};var moduleStoreAPI={setThisScope:e=>{goosemodScope$1=e,setThisScope$2(e),setThisScope$1(e)},modules:[],repos:[],apiBaseURL:"https://api.goosemod.com",storeApiBaseURL:"https://store.goosemod.com",jsCache:JSCache,idCache:IDCache,getSettingItemName:e=>e.tags.includes("theme")?"Θέματα":"Πρόσθετα",hotupdate:async(e=!1)=>{e&&goosemodScope$1.updateLoadingScreen("Getting modules from repos..."),await goosemodScope$1.moduleStoreAPI.updateModules(),await goosemodScope$1.moduleStoreAPI.updateStoreSetting(),e&&goosemodScope$1.updateLoadingScreen("Updating modules...");const t={},o=[];for(const s in goosemodScope$1.modules){const n=goosemodScope$1.moduleStoreAPI.modules.find((e=>e.name===s))?.hash,a=goosemodScope$1.moduleStoreAPI.jsCache.getCache()[s]?.hash;if(void 0!==n&&void 0!==a&&n!==a){if(void 0===t[s.repo]){const e=goosemodScope$1.moduleStoreAPI.repos.find((e=>e.url===s.repo));if("untrusted"===goosemodScope$1.moduleStoreAPI.verifyPgp(e).trustState){goosemodScope$1.showToast(`Failed to verify repo ${e.meta.name}, refusing to update it's modules`,{timeout:1e4,type:"error",subtext:"Κατάστημα GooseMod"}),t[s.repo]=!1;continue}t[s.repo]=!0}!1!==t[s.repo]&&(e&&goosemodScope$1.updateLoadingScreen(`Updating modules...\n${s}`),o.push(goosemodScope$1.moduleStoreAPI.importModule(s,goosemodScope$1.moduleSettingsStore.checkDisabled(s)).then((async()=>{}))))}}await Promise.all(o)},initRepos:async()=>{const e=async e=>(await(await fetch(`${e}?_=${Date.now()}`)).json()).meta,t=async t=>({url:t,enabled:!0,meta:await e(t)});goosemodScope$1.moduleStoreAPI.repos=JSON.parse(goosemod.storage.get("goosemodRepos"))||[await t("https://store.goosemod.com/goosemod.json"),await t("https://store.goosemod.com/ms2porter.json"),await t("https://store.goosemod.com/bdthemes.json"),await t("https://store.goosemod.com/pcthemes.json"),await t("https://store.goosemod.com/pcplugins.json")]},updateModules:async()=>{let e=[];if(goosemodScope$1.moduleStoreAPI.repos=(await Promise.all(goosemodScope$1.moduleStoreAPI.repos.map((async t=>{if(!t.enabled)return t;try{const o=await(await fetch(`${t.url}?_=${Date.now()}`)).text(),s=JSON.parse(o);return"untrusted"===await goosemodScope$1.moduleStoreAPI.verifyPgp(t).trustState?(goosemodScope$1.showToast(`Failed to verify repo: ${t.meta.name}, refusing to use new modules`,{timeout:1e4,type:"error",subtext:"Κατάστημα GooseMod"}),e=e.concat(goosemodScope$1.moduleStoreAPI.modules.filter((e=>e.repo===t.url))).sort(((e,t)=>e.name.localeCompare(t.name))),t):(e=e.concat(s.modules.map((e=>(e.repo=t.url,e)))).sort(((e,t)=>e.name.localeCompare(t.name))),{...t,meta:s.meta,resp:o})}catch(o){goosemodScope$1.showToast(`Failed to get repo: ${t.url}`,{timeout:5e3,type:"error",subtext:"Κατάστημα GooseMod"}),console.error(o),e=e.concat(goosemodScope$1.moduleStoreAPI.modules.filter((e=>e.repo===t.url))).sort(((e,t)=>e.name.localeCompare(t.name)))}return t})))).sort(((e,t)=>goosemodScope$1.moduleStoreAPI.repos.indexOf(e.url)-goosemodScope$1.moduleStoreAPI.repos.indexOf(t.url))),goosemodScope$1.settings.gmSettings.newModuleNotifications)for(const t of e){goosemodScope$1.moduleStoreAPI.modules.find((e=>t.name===e.name))||goosemodScope$1.showToast(`${t.name}`,{timeout:5e3,subtext:"New "+(t.tags.includes("theme")?"Theme":"Plugin")})}goosemodScope$1.moduleStoreAPI.modules=e,goosemod.storage.set("goosemodRepos",JSON.stringify(goosemodScope$1.moduleStoreAPI.repos.map((e=>(delete e.resp,e))))),goosemod.storage.set("goosemodCachedModules",JSON.stringify(goosemodScope$1.moduleStoreAPI.modules))},importModule:async(e,t=!1)=>{try{const o=goosemodScope$1.moduleStoreAPI.modules.find((t=>t.name===e)),s=await goosemodScope$1.moduleStoreAPI.jsCache.getJSForModule(e),n=await sha512(s);if(n!==o.hash)return goosemodScope$1.showToast(`Cancelled importing of ${e} due to hash mismatch`,{timeout:2e3,type:"danger",subtext:"Κατάστημα GooseMod"}),void console.warn("Hash mismatch",n,o.hash);await goosemodScope$1.importModule({name:e,data:s,metadata:o},t),t||(void 0!==goosemodScope$1.modules[e].goosemodHandlers.onLoadingFinished&&await goosemodScope$1.modules[e].goosemodHandlers.onLoadingFinished(),await goosemodScope$1.moduleSettingsStore.loadSavedModuleSetting(e));try{const e=goosemodScope$1.settings.items.find((e=>e[1]===goosemodScope$1.moduleStoreAPI.getSettingItemName(o)))[2].find((e=>e.subtext===o.description));e.buttonType="danger",e.buttonText="Αφαίρεση",e.showToggle=!0}catch(e){}}catch(e){console.error(e)}},moduleRemoved:e=>{let t=goosemodScope$1.settings.items.find((t=>t[1]===goosemodScope$1.moduleStoreAPI.getSettingItemName(e)))[2].find((t=>t.subtext===e.description));void 0!==t&&(t.buttonType="brand",t.buttonText="Εγκατάσταση",t.showToggle=!1)},parseAuthors:async e=>{const t="string"==typeof e?e.split(", "):e;return await Promise.all(t.map((async e=>{if("object"==typeof e)return{name:e.n,id:e.i,avatar:e.a};if(e.match(/^[0-9]{17,18}$/)){const t=await getDataForID(e);return{name:t.username,id:t.id,avatar:t.avatar}}const t=e.match(/(.*) \(([0-9]{17,18})\)/);return{name:t?.[1]||e,id:t?.[2]}})))},updateStoreSetting:async()=>{let e=goosemodScope$1.settings.items.filter((e=>"Πρόσθετα"===e[1]||"Θέματα"===e[1]));for(const t of e)t[2]=t[2].filter((e=>"card"!==e.type));for(const t of goosemodScope$1.moduleStoreAPI.modules){const o=goosemodScope$1.moduleStoreAPI.getSettingItemName(t),s=e.find((e=>e[1]===o)),n=t.tags.includes("theme")?"themes":"plugins";s[2].push({type:"card",tags:t.tags,github:t.github,notice:t.notice,images:t.images?.map((e=>{if(e.startsWith("/")){e=t.repo.split("/").slice(0,-1).join("/")+e}return e})),lastUpdated:t.lastUpdated,buttonType:goosemodScope$1.modules[t.name]||goosemodScope$1.disabledModules[t.name]?"danger":"brand",showToggle:goosemodScope$1.modules[t.name]||goosemodScope$1.disabledModules[t.name],name:t.name,author:await goosemodScope$1.moduleStoreAPI.parseAuthors(t.authors),subtext:t.description,subtext2:"0"===t.version||t.version.toLowerCase().includes("auto")?"":`v${t.version}`,buttonText:goosemodScope$1.modules[t.name]||goosemodScope$1.disabledModules[t.name]?"Αφαίρεση":"Εγκατάσταση",onclick:async()=>{if(goosemodScope$1.settings[`regen${n}`]=!0,goosemodScope$1.modules[t.name]||goosemodScope$1.disabledModules[t.name])goosemodScope$1.settings.removeModuleUI(t.name,o);else{if(t.dependencies&&t.dependencies.length>0)for(const e of t.dependencies)await goosemodScope$1.moduleStoreAPI.importModule(e);await goosemodScope$1.moduleStoreAPI.importModule(t.name)}},isToggled:()=>void 0===goosemodScope$1.disabledModules[t.name],onToggle:async e=>{goosemodScope$1.settings.ignoreVisualToggle?delete goosemodScope$1.settings.ignoreVisualToggle:(goosemodScope$1.settings[`regen${n}`]=!0,e?(goosemodScope$1.modules[t.name]=goosemodScope$1.disabledModules[t.name],delete goosemodScope$1.disabledModules[t.name],await goosemodScope$1.modules[t.name].goosemodHandlers.onImport(),void 0!==goosemodScope$1.modules[t.name].goosemodHandlers.onLoadingFinished&&await goosemodScope$1.modules[t.name].goosemodHandlers.onLoadingFinished(),await goosemodScope$1.moduleSettingsStore.loadSavedModuleSetting(t.name),goosemodScope$1.moduleSettingsStore.enableModule(t.name)):(goosemodScope$1.disabledModules[t.name]=goosemodScope$1.modules[t.name],await goosemodScope$1.modules[t.name].goosemodHandlers.onRemove(),delete goosemodScope$1.modules[t.name],goosemodScope$1.moduleSettingsStore.disableModule(t.name)))}})}},verifyPgp:async e=>{const t=t=>{const o={result:t,trustState:"verified"!==t&&e.oncePgp||"invalid_signature"===t||"no_signature"===t?"untrusted":"verified"===t?"trusted":"unknown",when:Date.now()},s=goosemodScope$1.moduleStoreAPI.repos.find((t=>t.url===e.url));return s?(s.pgp=o,"verified"===t&&(s.oncePgp=!0),goosemod.logger.debug("pgp.save",s),goosemod.storage.set("goosemodRepos",JSON.stringify(goosemodScope$1.moduleStoreAPI.repos)),s.pgp):o};goosemod.logger.debug("pgp","verifying repo:",e.meta.name);const o=async e=>{const t=await fetch(e+"?_="+Date.now());return!!t.ok&&await t.text()},s=await o(`https://goosemod.github.io/Keyserver/repos/${e.meta.name}.gpg`);if(!s)return goosemod.logger.debug("pgp","no public key, aborting"),t("no_public_key");const n=await o(e.url+".sig");if(!n)return goosemod.logger.debug("pgp","no signature, aborting"),t("no_signature");const a=e.resp||await o(e.url);return t(await verifySignature(s,n,a)?"verified":"invalid_signature")}};let css="",toSaveNext=!1;const init$3=()=>{injectHooks(),setInterval((()=>{toSaveNext&&(toSaveNext=!1,save())}),1e4)},save=()=>{[...document.body.classList].forEach((e=>{css=css.replace(new RegExp(`body.${e}`,"g"),"body")})),goosemod.storage.set("goosemodCSSCache",css),goosemod.showToast("Saved",{subtext:"CSS Cache",type:"debuginfo"})},injectHooks=()=>{const e=()=>toSaveNext=!0,t=CSSStyleSheet.prototype.insertRule,o=Node.prototype.appendChild;CSSStyleSheet.prototype.insertRule=function(o){t.apply(this,arguments),o.includes("body.")&&(css+=o,e())};const s=[document.body,document.head],n=t=>{t.appendChild=function(t){if(o.apply(this,arguments),"STYLE"===t.tagName){if(t.id.startsWith("ace"))return;n(t);for(const e of t.childNodes)css+=e.textContent;e()}t.data&&(css+=t.textContent,e())}};for(const e of s)n(e)},load=()=>{const e=document.createElement("style");e.id="gm-css-cache",e.appendChild(document.createTextNode(goosemod.storage.get("goosemodCSSCache")||"")),document.body.appendChild(e),goosemod.showToast("Loaded",{subtext:"CSS Cache",type:"debuginfo"}),init$3()},removeStyle=()=>{const e=document.getElementById("gm-css-cache");e&&e.remove()};var CSSCache={__proto__:null,init:init$3,load:load,removeStyle:removeStyle};let goosemodScope={},unpatchers=[];const setThisScope=e=>{goosemodScope=e},showSponsorModal=()=>{window.open("https://github.com/sponsors/CanadaHonk")},badgeUsers={sponsor:["506482395269169153","597905003717459968","405400327370571786","707309693449535599","302734867425132545","557429876618166283","250353310698176522","301088721984552961","700698485560705084","274209973196816385","274926795285987328","293094733159333889","202740603790819328","541210648982585354","516750892372852754","192760945766957066","206837744658415616","889366461703913573","294468537899024384","688437973330428047","341522422836625408","597072695875600385","987317921774723092","162970149857656832","584363189890711562","158176459037474816","949168996182261820","275808021605777409","499802781235019777"],dev:["506482395269169153"],translator:["290293141666267136","346338830011596800","425140480334888980","650178631129235456","186496078273708033","202740603790819328","717498477457702964"]},addBadges=()=>{unpatchers.push(goosemodScope.patcher.userBadges.patch("GooseMod Σπόνσορες","https://goosemod.com/img/goose_gold.jpg",(()=>goosemodScope.settings.gmSettings.gmBadges?badgeUsers.sponsor:[]),(()=>{showSponsorModal()}),{round:!0}),goosemodScope.patcher.userBadges.patch("GooseMod Μεταφραστής","https://goosemod.com/img/goose_globe.png",(()=>goosemodScope.settings.gmSettings.gmBadges?badgeUsers.translator:[]),(()=>{}),{round:!0}),goosemodScope.patcher.userBadges.patch("GooseMod Προγραμματιστής","https://goosemod.com/img/goose_glitch.jpg",(()=>goosemodScope.settings.gmSettings.gmBadges?badgeUsers.dev:[]),(()=>{}),{round:!0}),goosemod.patcher.guildBadges.patch("GooseMod Επίσημο Discord","https://goosemod.com/img/logo.jpg",(()=>goosemodScope.settings.gmSettings.gmBadges?["756146058320674998"]:[]),(()=>{}),{round:!0}))},removeBadges=()=>{for(const e of unpatchers)e()};var GMBadges={__proto__:null,setThisScope:setThisScope,addBadges:addBadges,removeBadges:removeBadges};function getLocalStoragePropertyDescriptor(){const e=document.createElement("frame");e.src="about:blank",document.body.appendChild(e);let t=Object.getOwnPropertyDescriptor(e.contentWindow,"localStorage");return e.remove(),t}var fixLocalStorage=()=>{Object.defineProperty(window,"localStorage",getLocalStoragePropertyDescriptor())};const init$2=()=>{fixLocalStorage()},type$1="LocalStorage",set$1=(e,t)=>localStorage.setItem(e,t),get$1=e=>localStorage.getItem(e),remove$1=e=>localStorage.removeItem(e),keys$1=()=>Object.keys(localStorage);var impl_localstorage={__proto__:null,init:init$2,type:type$1,set:set$1,get:get$1,remove:remove$1,keys:keys$1};const backup$2=async({keys:e,get:t})=>{if(window.localStorage)for(const o of e())localStorage.setItem(o,t(o))},restore$2=async({set:e})=>{window.localStorage&&Object.keys(localStorage).filter((e=>e.toLowerCase().startsWith("goosemod"))).forEach((t=>e(t,localStorage.getItem(t))))},clear$2=async()=>{window.localStorage&&Object.keys(localStorage).filter((e=>e.toLowerCase().startsWith("goosemod"))).forEach((e=>localStorage.removeItem(e)))};var parity_localStorage={__proto__:null,backup:backup$2,restore:restore$2,clear:clear$2};const backup$1=async({keys:e,get:t})=>{if(!window.DiscordNative?.userDataCache)return;const o=await DiscordNative.userDataCache.getCached()||{};for(const s of e())o[s]=t(s);DiscordNative.userDataCache.cacheUserData(JSON.stringify(o))},restore$1=async({set:e})=>{if(!window.DiscordNative?.userDataCache)return;const t=await DiscordNative.userDataCache.getCached();t&&Object.keys(t).filter((e=>e.toLowerCase().startsWith("goosemod"))).forEach((o=>e(o,t[o])))},clear$1=async()=>{if(!window.DiscordNative?.userDataCache)return;const e=await DiscordNative.userDataCache.getCached();e&&Object.keys(e).filter((e=>e.toLowerCase().startsWith("goosemod"))).forEach((t=>{delete e[t],DiscordNative.userDataCache.cacheUserData(JSON.stringify(e))}))};var parity_userDataCache={__proto__:null,backup:backup$1,restore:restore$1,clear:clear$1},paritySystems=[parity_localStorage,parity_userDataCache];let storageCache={};const type="Extension",init$1=async()=>{window.localStorage||fixLocalStorage();const e=new Promise((e=>document.addEventListener("gmes_get_return",(async({detail:t})=>{storageCache=t,Object.keys(storageCache).length<5&&await restore(),e()}),{once:!0})));document.dispatchEvent(new CustomEvent("gmes_get")),await e,await backup()},restore=async()=>{console.log("GooseMod","Restoring storage...");for(const e of paritySystems)await e.restore({set:set})},backup=async()=>{console.log("GooseMod","Backing up storage...");for(const e of paritySystems)await e.backup({keys:keys,get:get})},set=(e,t)=>{storageCache[e]=t,document.dispatchEvent(new CustomEvent("gmes_set",{detail:{key:e,value:t}})),backup()},get=e=>storageCache[e]||null,remove=e=>{delete storageCache[e],document.dispatchEvent(new CustomEvent("gmes_remove",{detail:{key:e}})),backup()},clear=async()=>{keys().filter((e=>e.toLowerCase().startsWith("goosemod"))).forEach((e=>remove(e)));for(const e of paritySystems)await e.clear()},keys=()=>Object.keys(storageCache);var impl_extension={__proto__:null,type:type,init:init$1,restore:restore,backup:backup,set:set,get:get,remove:remove,clear:clear,keys:keys};const impl=window.gmExtension?impl_extension:impl_localstorage;var _Card=()=>{const{React:e}=goosemod.webpackModules.common,t=goosemod.patcher.simpleTooltip(),o=new Intl.RelativeTimeFormat("en",{localeMatcher:"best fit",numeric:"auto",style:"long"}),s=goosemod.webpackModules.findByProps("Sizes","Colors","Looks","DropdownSizes"),n=goosemod.webpackModules.findByDisplayName("Switch"),a=goosemod.webpackModules.find((e=>"Markdown"===e.displayName&&e.rules)),r=goosemod.webpackModules.findByDisplayName("FormText"),i=goosemod.webpackModules.findByProps("formText","placeholder"),d=goosemod.webpackModules.findByProps("title","dividerDefault"),l=goosemod.webpackModules.findByProps("openModal","updateModal"),c=goosemod.webpackModules.findByDisplayName("SmallMediaCarousel"),m=goosemod.webpackModules.findByDisplayName("Discord"),p=goosemod.webpackModules.findByDisplayName("Clock"),g=goosemod.webpackModules.findByDisplayName("Info"),u=e=>{const t=Math.floor((Date.now()-e)/1e3),s=[{label:"year",seconds:31536e3},{label:"month",seconds:2592e3},{label:"day",seconds:86400},{label:"hour",seconds:3600},{label:"minute",seconds:60},{label:"second",seconds:1}].find((e=>e.seconds<t)),n=Math.floor(t/s.seconds);return o.format(-1*n,s.label)};return class extends e.PureComponent{constructor(e){super(e),this.state={}}render(){this.state.renderLoaded?this.state.renderLoaded=!1:(this.state.loaded=!this.props.i,this.state.loaded||setTimeout((()=>{this.setState({loaded:!0,renderLoaded:!0})}),10)),this.props.checked!==this.props.isToggled()&&(this.props.checked=this.props.isToggled());let o=!1;this.state.forceDisplay&&(o=!0,this.state.forceDisplay=!1,delete this.state.forceDisplay);let{notice:h}=this.props;switch(h){case 1:h="Other users may notice your usage";break;case 2:h="Other users may question or judge your usage, use appropriately"}const f=()=>{const e=[...document.querySelectorAll(".title-2dsDLn + .colorStandard-1Xxp1s")].filter((e=>e.textContent===this.props.subtext)).map((e=>e.parentElement));for(const t of e){const e=t.__reactFiber$.return;e.pendingProps=this.props,e.memoizedState.renderLoaded=!0,e.stateNode.forceUpdate()}};return this.state.loaded?e.createElement("div",{className:["gm-store-card",this.props.mini?"gm-store-card-mini":"",...this.props.tags.map((e=>e.replace(/ /g,"|")))].join(" "),onClick:this.props.onClick,style:{display:this.props.i&&!o?"none":"block"}},e.createElement(c,{autoplayInterval:0,items:(this.props.images?.[0]?this.props.images:[goosemod.settings.gmSettings.placeholderimage?"/assets/2366391afb15ed6c2a019a0c0caa0797.svg":"data:image/gif;base64,R0lGODlhAQABAAAAACwAAAAAAQABAAA="]).map((e=>({type:1,src:e}))),paused:!0,onCurrentItemClick:()=>{this.props.images?.[0]&&l.openModal((()=>e.createElement("div",{className:"gm-carousel-modal"},e.createElement(c,{items:this.props.images.map((e=>({type:1,src:e}))),autoplayInterval:5e3}))))}}),e.createElement("div",{className:[d.title,this.props.author.every((e=>!e.avatar))?"no-pfp":""].join(" ")},...this.props.author.map(((t,o)=>[t.avatar?e.createElement("img",{loading:"lazy",src:`https://cdn.discordapp.com/avatars/${t.id}/${t.avatar}.png?size=32`,className:"gm-store-author-pfp"}):null,e.createElement("span",{className:"gm-store-author-name"},t.name),o!==this.props.author.length-1?e.createElement("span",{className:i.description},", "):null]))),e.createElement("div",{className:d.title},this.props.name),e.createElement(r,{className:this.props.name?i.description:""},e.createElement(a,{className:"gm-settings-note-markdown"},this.props.subtext)),e.createElement("div",{},this.props.github?e.createElement(t,{text:this.props.github.stars,position:"left"},(({onMouseEnter:t,onMouseLeave:o,className:s,text:n})=>e.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"currentColor","aria-label":n,onMouseEnter:t,onMouseLeave:o,className:s},e.createElement("path",{d:"M12 .587l3.668 7.568 8.332 1.151-6.064 5.828 1.48 8.279-7.416-3.967-7.417 3.967 1.481-8.279-6.064-5.828 8.332-1.151z"})))):null,this.props.lastUpdated||this.props.subtext2?e.createElement(t,{text:(this.props.subtext2||"")+(this.props.subtext2&&this.props.lastUpdated?" | ":"")+(this.props.lastUpdated?u(1e3*this.props.lastUpdated):""),position:"left"},(({onMouseEnter:t,onMouseLeave:o,className:s,text:n})=>e.createElement(p,{width:24,height:24,"aria-label":n,className:s,onMouseEnter:t,onMouseLeave:o}))):null,this.props.notice?e.createElement(t,{text:h,position:"left"},(({onMouseEnter:t,onMouseLeave:o,className:s,text:n})=>e.createElement(g,{width:24,height:24,"aria-label":n,className:s,onMouseEnter:t,onMouseLeave:o}))):null),e.createElement("div",{},e.createElement(s,{color:"danger"===this.props.buttonType?s.Colors.RED:s.Colors.BRAND,look:s.Looks.FILLED,size:s.Sizes.SMALL,onClick:()=>{this.props.onclick(),this.props.buttonType="danger"===this.props.buttonType?"":"danger",this.props.buttonText="Αφαίρεση"===this.props.buttonText?"Εγκατάσταση":"Αφαίρεση",this.props.showToggle=!this.props.showToggle,f()}},this.props.buttonText),this.props.github?e.createElement(s,{color:s.Colors.PRIMARY,size:s.Sizes.SMALL,onClick:()=>{window.open(`https://github.com/${this.props.github.repo}`)}},e.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"currentColor"},e.createElement("path",{d:"M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"}))):null,this.props.discordMessage?e.createElement(s,{color:s.Colors.GREY,size:s.Sizes.SMALL,onClick:()=>{const{transitionTo:e}=goosemod.webpackModules.findByProps("transitionTo"),{jumpToMessage:t}=goosemod.webpackModules.findByProps("jumpToMessage");e(`/channels/${this.props.discordMessage.guild}/${this.props.discordMessage.channel}`),t({channelId:this.props.discordMessage.channel,messageId:this.props.discordMessage.message,flash:!0})}},e.createElement(m,{width:"24",height:"24"})):null,e.createElement(n,{className:this.props.showToggle?"":"hide-toggle",checked:this.props.checked,disabled:!1,onChange:e=>{this.props.checked=!this.props.checked,this.state.renderLoaded=!0,this.state.forceDisplay=!0,this.props.onToggle(this.props.checked),f()}}))):e.createElement("div",{className:"gm-store-card-loading-placeholder"})}}},card={__proto__:null,default:_Card},ProfileStoreInit=()=>{const e=_Card(),{React:t,ReactDOM:o}=goosemod.webpackModules.common,s=goosemod.webpackModules.find((e=>"UserProfileModal"===e.default?.displayName)),n=goosemod.webpackModules.findByProps("auto","scrollerBase");goosemod.patcher.patch(s,"default",((s,a)=>{const r=goosemod.reactUtils.findInReactTree(a.props.children,(e=>e.props?.section));r&&goosemod.patcher.patch(r,"type",(([{user:{id:s}}],a)=>{const r=goosemod.moduleStoreAPI.modules.filter((e=>e.authors.some&&e.authors.some((e=>e.i===s))));if(0===r.length)return;const i=goosemod.settings.items.find((e=>"Θέματα"===e[1]))[2],d=goosemod.settings.items.find((e=>"Πρόσθετα"===e[1]))[2],l=r.filter((e=>e.tags.includes("theme"))),c=r.filter((e=>!e.tags.includes("theme"))),m=a.props.children,p=m.props.children[0],g=o=>t.createElement(e,{...o,mini:!0,onClick:async()=>{document.querySelector(".backdrop-1wrmKB").click();goosemod.webpackModules.findByProps("transitionTo").transitionTo("/store"),await sleep(200),document.getElementById("gm-home-"+(o.tags.includes("theme")?"themes":"plugins")).click(),await sleep(2e3);const e=[...document.querySelectorAll(".title-31JmR4 + .colorStandard-2KCXvj")].filter((e=>e.textContent===o.subtext)).pop().parentElement;document.querySelector("#gm-settings-inject").scrollTo({top:e.offsetTop-12,behavior:"smooth"}),e.style.boxShadow="0 0 12px 6px rgb(88 101 242 / 30%)",setTimeout((()=>{e.style.boxShadow=""}),15e3)}});return goosemod.patcher.patch(m.props,"onItemSelect",(([e])=>{e.startsWith("GM_")&&setTimeout((()=>{const e=document.querySelector(".body-r6_QPy > :first-child");o.render(t.createElement("div",{className:[n.auto,"gm-modules-container"].join(" ")},...l.map((e=>i.find((t=>t.name===e.name)))).map((e=>g(e))),...c.map((e=>d.find((t=>t.name===e.name)))).map((e=>g(e)))),e)}),1)})),m.props.children.push(t.cloneElement(p,{id:"GM_MODULES"},"Δομοστοιχεία GooseMod")),a}))}))},GenDebugInfo=()=>{const e={powercord:"powercord",vizality:"vizality",ED:"enhanceddiscord",BdApi:"betterdiscord"};return`Discord:\nClient: ${window.DiscordNative?"desktop":"web"}\nUser Agent: ${navigator.userAgent}\nRelease Channel: ${GLOBAL_ENV.RELEASE_CHANNEL}\nOther Mods: ${Object.keys(e).filter((e=>Object.keys(window).includes(e))).map((t=>e[t])).join(", ")}\n\nGooseMod:\nGM Version: ${goosemod.versioning.version} (${goosemod.versioning.hash})\nGM Branch: ${goosemod.versioning.branch}\nGM Extension Version: ${window.gmExtension}\nGM Storage Impl: ${goosemod.storage.type}\nModules: ${Object.keys(goosemod.modules).join(", ")}`};const scopeSetterFncs=[setThisScope$6,setThisScope$5,setThisScope$4,moduleStoreAPI.setThisScope,setThisScope$8,setThisScope$7,setThisScope$c,setThisScope$a,setThisScope$3,setThisScope$9,setThisScope],importsToAssign={startLoadingScreen:startLoadingScreen,stopLoadingScreen:stopLoadingScreen,updateLoadingScreen:updateLoadingScreen,settings:Settings,importModule:importModule,moduleSettingsStore:ModuleSettingsStore,webpackModules:WebpackModules,logger:Logger,showToast:showToast,confirmDialog:show$1,moduleStoreAPI:moduleStoreAPI,changelog:Changelog,goosemodChangelog:GoosemodChangelog,patcher:Patcher,attrs:Attrs,reactUtils:ReactUtils,cssCache:CSSCache,gmBadges:GMBadges,ootb:OOTB,storage:impl,genDebugInfo:GenDebugInfo},init=async function(){for(Object.assign(this,importsToAssign),await this.storage.init(),this.cssCache.load();void 0===window.webpackJsonp&&void 0===window.webpackChunkdiscord_app;)await sleep(50);for(;!this.webpackModules.findByProps("LinkButton");)await sleep(50);for(let e of scopeSetterFncs)try{await e(this)}catch(t){console.error("[GooseMod] Failed to scopeset",t,e)}this.versioning={version:"12.3",hash:"af2bcf99053777ff96fc286fd86d91d169c5573a",branch:goosemod.storage.get("goosemodUntetheredBranch"),lastUsedVersion:this.storage.get("goosemodLastVersion")},this.versioning.isDeveloperBuild="<hash>"===this.versioning.hash,this.storage.set("goosemodLastVersion",this.versioning.version),this.logger.debug("import.version.goosemod",`${this.versioning.version} (${this.versioning.hash})`),void 0!==window.DiscordNative&&this.logger.debug("import.version.discord",`${DiscordNative.app.getReleaseChannel()} ${DiscordNative.app.getVersion()}`),window.gmUntethered&&(this.untetheredVersion=window.gmUntethered.slice()),this.versioning.lastUsedVersion&&this.versioning.version!==this.versioning.lastUsedVersion&&this.goosemodChangelog.show(),this.startLoadingScreen(),this.updateLoadingScreen("Initialising internals...");let e=Object.keys(JSON.parse(this.storage.get("goosemodModules"))||{}),t=Object.keys(JSON.parse(this.storage.get("goosemodDisabled"))||{});this.modules=e.filter((e=>-1===t.indexOf(e))).reduce(((e,t)=>(e[t]={goosemodHandlers:{}},e)),{}),this.disabledModules=e.filter((e=>-1!==t.indexOf(e))).reduce(((e,t)=>(e[t]={goosemodHandlers:{}},e)),{}),this.moduleStoreAPI.modules=JSON.parse(this.storage.get("goosemodCachedModules"))||[],this.moduleStoreAPI.modules.cached=!0,this.settings.makeGooseModSettings(),await this.moduleStoreAPI.initRepos(),this.removed=!1,this.storage.get("goosemodCachedModules")||await this.moduleStoreAPI.updateModules(!0);let o=!1;0===e.length&&(o=!0),e=e.filter((e=>void 0!==this.moduleStoreAPI.modules.find((t=>t.name===e))));let s=e.find((e=>e.toLowerCase().includes("theme")));s&&e.unshift(e.splice(e.indexOf(s),1)[0]);let n=e.find((e=>"Hardcoded Color Fixer"===e));n&&e.unshift(e.splice(e.indexOf(n),1)[0]),o&&(e=["Fucklytics","Custom CSS"]),this.updateLoadingScreen("Importing modules from Store...");const a=[];for(let o of e)a.push(this.moduleStoreAPI.importModule(o,t.includes(o)));if(await Promise.all(a),this.cssCache.removeStyle(),this.settings.gmSettings.gmBadges&&this.gmBadges.addBadges(),this.settings.gmSettings.attrs&&this.attrs.patch(),this.saveInterval=setInterval((()=>{this.moduleSettingsStore.saveModuleSettings()}),3e3),this.remove=async()=>{this.settingsUninjects.forEach((e=>e())),clearInterval(this.saveInterval),clearInterval(this.hotupdateInterval),await this.storage.clear(),this.removed=!0;for(let e in this.modules)if(this.modules.hasOwnProperty(e)&&void 0!==this.modules[e].goosemodHandlers.onRemove)try{this.modules[e].goosemodHandlers.onRemove()}catch(e){}},this.moduleStoreAPI.hotupdate(!0),this.hotupdateInterval=setInterval((()=>{this.settings.gmSettings.autoupdate&&this.moduleStoreAPI.hotupdate()}),36e5),this.stopLoadingScreen(),this.settings.isSettingsOpen()&&this.settings.reopenSettings(),!this.storage.get("goosemodOOTB")){for(await sleep(1e3);document.querySelector(".modal-3O0aXp");)await sleep(100);this.ootb.start(),this.storage.set("goosemodOOTB",!0)}this.storage.get("goosemodTopaz")&&setTimeout((async()=>{(0,eval)(await(await fetch("https://goosemod.github.io/topaz/out.js",{cache:"no-store"})).text())}),1e3),ProfileStoreInit(),document.body.classList.add("goosemod")};window.goosemod={},init.bind(window.goosemod)();var modulesPreview=()=>{const{React:e}=goosemod.webpackModules.common,t=goosemod.webpackModules.findByDisplayName("DiscoverStaticGuildCard"),o=e=>e.images?.map((t=>{if(t.startsWith("/")){t=e.repo.split("/").slice(0,-1).join("/")+t}return t}));return class extends e.PureComponent{render(){setTimeout((()=>{try{const e=document.querySelectorAll('.gm-modules-preview [class*="splashImage"]');e[e.length-3].src=o(this.props.modules[1])[0],e[e.length-2].src=o(this.props.modules[0])[0],e[e.length-1].src=o(this.props.modules[2])[0]}catch(e){}}),100);const s="placeholderCard-2jZYky";return e.createElement("div",{className:"gm-modules-preview"},e.createElement(t,{className:s,disabled:!0,small:!0,loading:!1,guild:{banner:null,splash:null,discoverySplash:null,icon:null,id:null,memberCount:null,presenceCount:null,...this.props.modules[1]}}),e.createElement(t,{className:s,guild:{banner:null,splash:null,discoverySplash:null,icon:null,id:null,memberCount:null,presenceCount:null,...this.props.modules[0]}}),e.createElement(t,{className:s,disabled:!0,small:!0,loading:!1,guild:{banner:null,splash:null,discoverySplash:null,icon:null,id:null,memberCount:null,presenceCount:null,...this.props.modules[2]}}))}}},modulesPreview$1={__proto__:null,default:modulesPreview},openReposModal=async()=>{const{React:e}=goosemod.webpackModules.common,t=goosemod.webpackModules.findByDisplayName("SwitchItem");class o extends e.Component{constructor(e){const t=e.onChange;e.onChange=e=>{t(e),this.props.value=e,this.forceUpdate()},super(e)}render(){return e.createElement("div",{},e.createElement(r,{style:{width:"100px",position:"absolute",right:"108px",marginTop:"33px"},color:i.colorPrimary,size:i.sizeSmall,onClick:this.props.buttonOpenLink},"Open Link"),e.createElement(r,{style:{width:"92px",position:"absolute",right:"10px",marginTop:"33px"},color:i.colorRed,size:i.sizeSmall,onClick:this.props.buttonOnClick},"Αφαίρεση"),e.createElement(t,{...this.props}))}}let s;const n=async()=>{await goosemod.moduleStoreAPI.updateModules(),await goosemod.moduleStoreAPI.updateStoreSetting(),document.querySelector(".selected-aXhQR6").click()},a=async()=>{s(),await n(),S()},{Button:r}=goosemod.webpackModules.findByProps("Button"),i=goosemod.webpackModules.findByProps("button","colorRed"),d=goosemod.webpackModules.findByProps("ModalRoot"),l=goosemod.webpackModules.findByProps("socialLink","date"),c=goosemod.webpackModules.findByDisplayName("LegacyHeader"),m=goosemod.webpackModules.findByDisplayName("Text"),{openModal:p}=goosemod.webpackModules.findByProps("openModal","updateModal"),g=goosemod.webpackModules.findByDisplayName("Flex"),u=goosemod.webpackModules.findByDisplayName("TextInput"),h=goosemod.webpackModules.findByDisplayName("Tooltip"),f=goosemod.webpackModules.findByDisplayName("FlowerStar"),y=goosemod.webpackModules.findByDisplayName("Verified"),b=goosemod.webpackModules.findAll((e=>"Alert"===e.displayName)).pop(),S=()=>{const t=[];let S=0;for(const s of goosemod.moduleStoreAPI.repos){const r=[s.meta.name];if(s.pgp?.trustState){let t="",o=null;switch(s.pgp.trustState){case"trusted":t="PGP Επαληθευμένα",o=e.createElement(y,{className:"icon-1ihkOt"});break;case"untrusted":t="PGP Μη έμπιστο",o=e.createElement(b,{className:"icon-1ihkOt"});break;case"unknown":t="Χωρίς PGP",o=e.createElement(b,{className:"icon-1ihkOt"})}r.unshift(e.createElement("span",{style:{display:"inline-flex",position:"relative",top:"2px",marginRight:"4px"}},e.createElement(h,{position:"top",color:"primary",text:t},(({onMouseLeave:s,onMouseEnter:n})=>e.createElement(f,{className:`gm-repos-modal-icon-${o.type.displayName}`,"aria-label":t,onMouseEnter:n,onMouseLeave:s},o)))))}t.push(e.createElement(o,{style:{marginTop:0===S?"16px":""},note:s.meta.description,value:s.enabled,onChange:e=>{s.enabled=e,n()},buttonOpenLink:()=>{window.open(s.url)},buttonOnClick:async()=>{goosemod.moduleStoreAPI.repos.splice(goosemod.moduleStoreAPI.repos.indexOf(s),1),a()}},...r)),S++}let w="";p((o=>(s=o.onClose,e.createElement(d.ModalRoot,{transitionState:o.transitionState,size:"medium"},e.createElement(d.ModalHeader,{},e.createElement(g.Child,{basis:"auto",grow:1,shrink:1,wrap:!1},e.createElement(c,{tag:"h2",size:c.Sizes.SIZE_20},"Αποθετήρια"),e.createElement(m,{size:m.Sizes.SIZE_12,className:l.date},goosemod.moduleStoreAPI.modules.filter((e=>e.tags.includes("theme"))).length," Themes",", ",goosemod.moduleStoreAPI.modules.filter((e=>!e.tags.includes("theme"))).length," Plugins",", ",Object.keys(goosemod.moduleStoreAPI.modules.reduce(((e,t)=>{let o=t.authors;return o.forEach||(o=[o]),o.forEach((t=>e[t.n||t.match(/(.*) \(([0-9]{17,18})\)/)?.[1]||t]=!0)),e}),{})).length," Developers")),e.createElement("FlexChild",{basis:"auto",grow:0,shrink:1,wrap:!1},e.createElement(d.ModalCloseButton,{onClick:o.onClose}))),e.createElement(d.ModalContent,{},...t,e.createElement(g,{style:{marginBottom:"16px"},basis:"auto",grow:1,shrink:1},e.createElement(u,{className:"codeRedemptionInput-3JOJea",placeholder:"https://example.com/modules.json",onChange:e=>{w=e}}),e.createElement(r,{style:{width:"112px"},size:i.sizeMedium,onClick:async()=>{let e={};try{e=await(await fetch(w)).json()}catch(e){}if(void 0===e.meta?.name)return void goosemod.showToast("Μη έγκυρη βιβλιοθήκη",{type:"error",timeout:5e3,subtext:"Μη έγκυρη μορφή"});if(!confirm("Εξωτερικές βιβλιοθήκες αποτελούν κίνδυνο καθώς δεν ελέγχωνται απο τους προγραμματιστές του GooseMod. Δεν είμαστε υπέυθυνοι για οποιοδήποτε κίνδυνο εξαιτίας εξωτερικών βιβλιοθηκών προστιθεμένων από χρήστες.\n\nΕαν δεν εμπιστέυεσαι τον ιδιοκτήτη αυτής της βιβλιοθήκης, μη τη χρησιμοποιήσεις καθώς θα μπορούσε να θέσει σε κίνδυνο το Discord σου.\n\nΠαρακαλώ επιβεβαίωσε την προσθήκη αυτής της βιβλιοθήκης πατώντας OK."))return void goosemod.showToast("Ακύρωση προσθήκης βιβλιοθήκης",{type:"danger",timeout:5e3,subtext:"Απορρίφθηκε η εντολή ασφαλείας"});const t={url:w,meta:e.meta,enabled:!0},o=await goosemod.moduleStoreAPI.verifyPgp(t,!1);"untrusted"!==o.trustState?"trusted"===o.trustState||confirm("Αυτή η βιβλιοθήκη δεν είναι γνωστή ή έμπιστη(Δεν υπάρχει πιστοποίηση PGP), παρακαλώ να είστε έξτρα προσεκτικοί. Βεβαιβωθείτε πως εμπιστέυεσθε τον ιδιοκτήτη(ες) αυτής της βιβλιοθήκης πλήρες.\n\nΓια να λύσετε αυτό το πρόβλημα ζητήστε απο τον διατηρητή της βιβλιοθήκης να προσθέσει PGP πιστοποίηση.\n\nΠαρακαλώ ξαναεπιβεβαιώστε την προσθήκη της βιβλιοθήκης πατώντας OK.")?(goosemod.moduleStoreAPI.repos.push(t),a()):goosemod.showToast("Ακύρωση προσθήκης βιβλιοθήκης",{type:"danger",timeout:5e3,subtext:"Απορρίφθηκε η εντολή ασφαλείας"}):goosemod.showToast("Ακύρωση προσθήκης βιβλιοθήκης",{type:"danger",timeout:5e3,subtext:"Αποτυχία μη εμπιστευτού PGP"})}},"Προσθήκη")))))))};S()},header$2=()=>{const{React:e}=goosemod.webpackModules.common,t=goosemod.webpackModules.findByProps("updateAvailable"),o=goosemod.webpackModules.findByProps("icon","iconBadge","title"),s=e.createElement(goosemod.webpackModules.findByDisplayName("Retry"),{width:24,height:24,className:o.icon}),n=e.createElement(goosemod.webpackModules.findByDisplayName("Cloud"),{width:24,height:24,className:o.icon}),a=goosemod.webpackModules.findByDisplayName("HeaderBarContainer"),r=goosemod.webpackModules.findByDisplayName("TabBar"),i=goosemod.webpackModules.findByProps("topPill"),d=goosemod.webpackModules.findByProps("tabBar","nowPlayingColumn"),l={themes:"STORE",plugins:"STORE"};return class extends e.PureComponent{constructor(e){super(e)}render(){return e.createElement(a,{isAuthenticated:!0,transparent:!1},e.createElement(a.Icon,{icon:()=>this.props.icon,className:o.icon}),e.createElement(a.Title,{},this.props.title),l[this.props.id]?e.createElement(a.Divider):null,l[this.props.id]?e.createElement(r,{selectedItem:l[this.props.id],type:i.topPill,className:d.tabBar,onItemSelect:e=>{l[this.props.id]=e,this.forceUpdate(),setTimeout(goosemod.settings.updateModuleStoreUI,10)}},e.createElement(r.Item,{id:"STORE",look:0,className:d.item},"Κατάστημα"),e.createElement(r.Item,{id:"IMPORTED",look:0,className:d.item},"Εγκατεστημένα")):null,"snippets"!==this.props.id?e.createElement("div",{className:o.toolbar,style:{position:"absolute",right:"0px"}},e.createElement(a.Icon,{icon:()=>s,tooltip:"Ανανέωση",onClick:async()=>{document.querySelector(`.${o.toolbar} > [role="button"] > svg`).classList.add(t.updateAvailable),await goosemod.moduleStoreAPI.hotupdate(!0),document.querySelector(".selected-aXhQR6").click()}}),e.createElement(a.Icon,{icon:()=>n,tooltip:"Αποθετήρια",onClick:openReposModal})):"")}}},header$3={__proto__:null,default:header$2},_Divider=()=>{const{React:e}=goosemod.webpackModules.common,t=goosemod.webpackModules.findByDisplayName("FormDivider"),o=goosemod.webpackModules.findByProps("dividerDefault","titleDefault");return class extends e.PureComponent{render(){return e.createElement(t,{className:o.dividerDefault})}}},divider={__proto__:null,default:_Divider},header=()=>{const{React:e}=goosemod.webpackModules.common,t=goosemod.webpackModules.findByDisplayName("FormTitle"),o=goosemod.webpackModules.findByProps("marginTop20","marginBottom8"),s=goosemod.webpackModules.findByDisplayName("Tooltip"),n=goosemod.webpackModules.findByDisplayName("Science");return class extends e.PureComponent{constructor(t){t.experimental&&(t.text=[e.createElement(s,{position:"top",color:"primary",text:"Experimental"},(({onMouseLeave:t,onMouseEnter:o})=>e.createElement(n,{width:18,height:18,className:"gm-settings-label-icon",onMouseLeave:t,onMouseEnter:o}))),e.createElement("span",{style:{verticalAlign:"unset"},className:"gm-settings-label-text"},t.text)]),t.id=`gm-settings-header-${Math.random().toString().substring(2)}`,t.collapsible=void 0!==t.collapsed,t.collapsed=t.collapsed||!1,t.hide&&(t.collapseOffset=0),super(t),this.props.handleCollapse=()=>{const e=[...document.querySelectorAll(`#${this.props.id} ~ *`)],t=e.slice(0,e.indexOf(e.find((e=>"H5"===e.tagName))));for(const e of t.slice(this.props.collapseOffset||0))e.style.display=this.props.collapsed?"none":""},this.props.collapsed&&this.props.handleCollapse()}render(){return setTimeout(this.props.handleCollapse,100),this.props.hide?null:e.createElement(t,{tag:"h5",className:(0!==this.props.i?o.marginTop20+" ":"")+o.marginBottom8,onClick:this.props.collapsible?()=>{this.props.collapsed=!this.props.collapsed,this.props.handleCollapse(),this.forceUpdate()}:void 0,id:this.props.id},this.props.text,this.props.collapsible?e.createElement(goosemod.webpackModules.findByDisplayName("DropdownArrow"),{className:["gm-settings-header-collapser",this.props.collapsed?"collapsed":""].join(" "),width:22,height:22}):null)}}},header$1={__proto__:null,default:header},toggle=()=>{const{React:e}=goosemod.webpackModules.common,t=goosemod.webpackModules.findByDisplayName("SwitchItem"),o=goosemod.webpackModules.find((e=>"Markdown"===e.displayName&&e.rules)),s=goosemod.webpackModules.findByDisplayName("Tooltip"),n=goosemod.webpackModules.findByDisplayName("Science"),a=goosemod.webpackModules.findByDisplayName("InfoFilled");return class extends e.Component{constructor(t){const o=t.onToggle;t.onChange=e=>{this.props.value=e,this.forceUpdate(),o(e)},t.experimental&&(t.text=[e.createElement(s,{position:"top",color:"primary",text:"Experimental"},(({onMouseLeave:t,onMouseEnter:o})=>e.createElement(n,{width:22,height:22,className:"gm-settings-label-icon",onMouseLeave:t,onMouseEnter:o}))),e.createElement("span",{className:"gm-settings-label-text"},t.text)],t.subtext="**Experimental:** "+t.subtext),t.debug&&(t.text=[e.createElement(s,{position:"top",color:"primary",text:"Debug"},(({onMouseLeave:t,onMouseEnter:o})=>e.createElement(a,{width:22,height:22,className:"gm-settings-label-icon",onMouseLeave:t,onMouseEnter:o}))),e.createElement("span",{className:"gm-settings-label-text"},t.text)],t.subtext="**Debug:** "+t.subtext),super(t)}render(){return e.createElement(t,{value:this.props.isToggled(),note:e.createElement(o,{className:"gm-settings-note-markdown"},this.props.subtext||""),disabled:!!this.props.disabled&&this.props.disabled(),onChange:this.props.onChange},this.props.text)}}},toggle$1={__proto__:null,default:toggle},text=()=>{const e=_Divider(),{React:t}=goosemod.webpackModules.common,o=goosemod.webpackModules.findByDisplayName("FormItem"),s=goosemod.webpackModules.findByDisplayName("FormText"),n=goosemod.webpackModules.findByDisplayName("Flex"),a=goosemod.webpackModules.findByProps("marginTop20","marginBottom20"),r=goosemod.webpackModules.findByProps("title","dividerDefault"),i=goosemod.webpackModules.findByProps("formText","placeholder");return class extends t.PureComponent{render(){return t.createElement(o,{className:[n.Direction.VERTICAL,n.Justify.START,n.Align.STRETCH,n.Wrap.NO_WRAP,a.marginBottom20].join(" ")},t.createElement("div",{style:{display:"flex",justifyContent:"space-between"}},t.createElement("div",{},t.createElement("div",{className:r.labelRow,style:{marginBottom:"4px"}},t.createElement("label",{class:r.title},this.props.text)),t.createElement(s,{className:i.description},this.props.subtext))),t.createElement(e))}}},text$1={__proto__:null,default:text},textAndChild=()=>{const{React:e}=goosemod.webpackModules.common,t=_Divider();goosemod.webpackModules.findByProps("Sizes","Colors","Looks","DropdownSizes");const o=goosemod.webpackModules.find((e=>"Markdown"===e.displayName&&e.rules)),s=goosemod.webpackModules.findByDisplayName("FormItem"),n=goosemod.webpackModules.findByDisplayName("FormText"),a=goosemod.webpackModules.findByDisplayName("Flex"),r=goosemod.webpackModules.findByProps("marginTop20","marginBottom20"),i=goosemod.webpackModules.findByProps("title","dividerDefault"),d=goosemod.webpackModules.findByProps("formText","placeholder");return class extends e.PureComponent{render(){return e.createElement(s,{className:[a.Direction.VERTICAL,a.Justify.START,a.Align.STRETCH,a.Wrap.NO_WRAP,r.marginBottom20].join(" ")},e.createElement("div",{style:{display:"flex",justifyContent:"space-between"}},e.createElement("div",{},e.createElement("div",{className:i.labelRow,style:{marginBottom:"4px"}},e.createElement("label",{class:i.title},this.props.text)),e.createElement(n,{className:d.description},e.createElement(o,{className:"gm-settings-note-markdown"},this.props.subtext||""))),this.props.children),e.createElement(t))}}},textAndChild$1={__proto__:null,default:textAndChild},textAndButton=()=>{const{React:e}=goosemod.webpackModules.common,t=_Divider(),o=goosemod.webpackModules.findByProps("Sizes","Colors","Looks","DropdownSizes"),s=goosemod.webpackModules.find((e=>"Markdown"===e.displayName&&e.rules)),n=goosemod.webpackModules.findByDisplayName("FormItem"),a=goosemod.webpackModules.findByDisplayName("FormText"),r=goosemod.webpackModules.findByDisplayName("Flex"),i=goosemod.webpackModules.findByProps("marginTop20","marginBottom20"),d=goosemod.webpackModules.findByProps("title","dividerDefault"),l=goosemod.webpackModules.findByProps("formText","placeholder");return class extends e.PureComponent{render(){return e.createElement(n,{className:[r.Direction.VERTICAL,r.Justify.START,r.Align.STRETCH,r.Wrap.NO_WRAP,i.marginBottom20].join(" ")},e.createElement("div",{style:{display:"flex",justifyContent:"space-between"}},e.createElement("div",{},e.createElement("div",{className:d.labelRow,style:{marginBottom:"4px"}},e.createElement("label",{class:d.title},this.props.text)),e.createElement(a,{className:l.description},e.createElement(s,{className:"gm-settings-note-markdown"},this.props.subtext||""))),e.createElement(o,{color:this.props.danger?o.Colors.RED:o.Colors.BRAND,disabled:this.props.disabled,onClick:()=>this.props.onclick()},this.props.buttonText)),e.createElement(t))}}},textAndButton$1={__proto__:null,default:textAndButton},textAndColor=()=>{const{React:e,constants:{DEFAULT_ROLE_COLOR:t,ROLE_COLORS:o}}=goosemod.webpackModules.common,s=_Divider(),n=goosemod.webpackModules.findByDisplayName("FormItem"),a=goosemod.webpackModules.findByDisplayName("FormTitle"),r=goosemod.webpackModules.findByProps("marginTop20","marginBottom20"),i=goosemod.webpackModules.findByProps("defaultMarginh5");return class extends e.PureComponent{constructor(e){e.default=(e=>{if(e&&7===e.length)return parseInt(e.slice(1),16)})((e.initialValue||(()=>{}))())||0,e.value=e.default,super(e)}render(){const d=goosemod.webpackModules.find((e=>"ColorPicker"===e.default?.displayName));return e.createElement(n,{className:[r.marginBottom20].join(" ")},e.createElement(a,{tag:"h5",className:(0!==this.props.i?r.marginTop20+" ":"")+i.defaultMarginh5},this.props.text),e.createElement(d.default,{colors:o,defaultColor:this.props.default||t,disabled:!1,value:this.props.value,customColor:null,renderDefaultButton:t=>e.createElement(d.DefaultColorButton,t),renderCustomButton:t=>e.createElement(d.CustomColorButton,t),customPickerPosition:"bottom",onChange:e=>{var t;this.props.value=e,this.forceUpdate(),this.props.oninput("#"+((16711680&(t=e))>>>16).toString(16).padStart(2,"0")+((65280&t)>>>8).toString(16).padStart(2,"0")+(255&t).toString(16).padStart(2,"0"))}}),e.createElement(s))}}},textAndColor$1={__proto__:null,default:textAndColor},button=()=>{const{React:e}=goosemod.webpackModules.common,t=goosemod.webpackModules.findByProps("Sizes","Colors","Looks","DropdownSizes");return class extends e.PureComponent{render(){return e.createElement(t,{color:t.Colors.BRAND,size:t.Sizes.SMALL,disabled:this.props.disabled,onClick:()=>this.props.onclick()},this.props.text)}}},button$1={__proto__:null,default:button},search=()=>{const{React:e}=goosemod.webpackModules.common,t=goosemod.webpackModules.find((e=>"SearchBar"===e.displayName&&e.prototype.focus));return class extends e.PureComponent{render(){return this.props.text||(this.props.text=""),setTimeout((()=>{this.props.onchange(this.props.text)}),10),e.createElement(t,{...t.defaultProps,className:this.props.storeSpecific?"gm-store-search":"",size:t.Sizes.MEDIUM,query:this.props.text,placeholder:this.props.placeholder||"Search",onClear:()=>{this.props.text="",this.forceUpdate()},onChange:e=>{this.props.text=e,this.forceUpdate()}})}}},search$1={__proto__:null,default:search},dropdownIndividual=()=>{const{React:e}=goosemod.webpackModules.common,{SingleSelect:t}=goosemod.webpackModules.findByProps("SingleSelect"),o=goosemod.webpackModules.findByDisplayName("FormText"),s=goosemod.webpackModules.findByProps("formText","placeholder");return class extends e.PureComponent{render(){return"function"==typeof this.props.options&&(this.props.options=this.props.options()),this.props.value||(this.props.value=(this.props.selected||(()=>{}))()||this.props.options[0]),setTimeout((()=>{this.props.onchange(this.props.value)}),10),e.createElement("div",{className:"gm-inline-dropdown"},e.createElement(o,{className:s.description},this.props.label),e.createElement(t,{searchable:!1,onChange:e=>{this.props.value=e.value,this.forceUpdate()},value:this.props.value,options:this.props.options.map((e=>({label:e,value:e})))}))}}},dropdownIndividual$1={__proto__:null,default:dropdownIndividual},_StoreHeader=()=>{const{React:e}=goosemod.webpackModules.common,t=goosemod.webpackModules.findByDisplayName("Text");return class extends e.PureComponent{render(){return e.createElement("div",{className:"gm-store-header"},e.createElement(t,{color:t.Colors.HEADER_PRIMARY,size:t.Sizes.SIZE_20},this.props.text))}}},storeHeader={__proto__:null,default:_StoreHeader},storeCategory=()=>{const{React:e}=goosemod.webpackModules.common,t=_StoreHeader(),o=_Card(),s=goosemod.webpackModules.findByProps("scrollerBase","auto","thin");return class extends e.PureComponent{render(){return this.props.cards||(this.props.cards=goosemod.settings.items.find((e=>e[1]===this.props.itemName))[2].filter((e=>"card"===e.type)).sort(this.props.sort).slice(0,10).map((t=>e.createElement(o,t)))),e.createElement("div",{className:"gm-store-category"},e.createElement(t,{text:this.props.text}),e.createElement("div",{className:s.auto},...this.props.cards))}}},storeCategory$1={__proto__:null,default:storeCategory},custom=()=>{const{React:e}=goosemod.webpackModules.common;return class extends e.PureComponent{render(){return e.createElement("div",{ref:e=>{e&&e.appendChild("function"==typeof this.props.element?this.props.element():this.props.element)}})}}},custom$1={__proto__:null,default:custom},textInput=()=>{const{React:e}=goosemod.webpackModules.common,t=_Divider(),o=goosemod.webpackModules.findByDisplayName("FormItem"),s=goosemod.webpackModules.findByDisplayName("FormText"),n=goosemod.webpackModules.findByDisplayName("TextInput"),a=goosemod.webpackModules.findByDisplayName("Flex"),r=goosemod.webpackModules.findByProps("marginTop20","marginBottom20"),i=goosemod.webpackModules.findByProps("formText","description");return class extends e.PureComponent{render(){return e.createElement(o,{title:this.props.text,className:[a.Direction.VERTICAL,a.Justify.START,a.Align.STRETCH,a.Wrap.NO_WRAP,r.marginBottom20].join(" ")},e.createElement(n,{onChange:e=>{this.props.oninput(e)},defaultValue:this.props.initialValue?this.props.initialValue():""}),this.props.subtext&&e.createElement(s,{className:[i.description,r.marginTop8].join(" ")},this.props.subtext),e.createElement(t))}}},textInput$1={__proto__:null,default:textInput},subtext=()=>{const{React:e}=goosemod.webpackModules.common,t=goosemod.webpackModules.findByDisplayName("FormText"),o=goosemod.webpackModules.find((e=>"Markdown"===e.displayName&&e.rules)),s=goosemod.webpackModules.findByProps("marginTop20","marginBottom20");return class extends e.PureComponent{render(){return e.createElement(t,{type:"description",className:s.marginBottom20},e.createElement(o,{className:"gm-settings-note-markdown"},this.props.text||""))}}},subtext$1={__proto__:null,default:subtext}})();//# sourceURL=GooseMod