function _(e,t,i){window.enmity.settings.set(e,t,i)}function D(e,t,i){return window.enmity.settings.get(e,t,i)}const{components:o}=window.enmity;o.Alert,o.Button,o.FlatList;const V=o.Image;o.ImageBackground,o.KeyboardAvoidingView,o.Modal,o.Pressable,o.RefreshControl;const Y=o.ScrollView;o.SectionList,o.StatusBar,o.StyleSheet,o.Switch;const y=o.Text;o.TextInput,o.TouchableHighlight;const h=o.TouchableOpacity;o.TouchableWithoutFeedback,o.Touchable;const b=o.View;o.VirtualizedList,o.Form,o.FormArrow,o.FormCTA,o.FormCTAButton,o.FormCardSection,o.FormCheckbox;const A=o.FormDivider;o.FormHint,o.FormIcon,o.FormInput,o.FormLabel,o.FormRadio;const r=o.FormRow,S=o.FormSection;o.FormSelect,o.FormSubLabel;const P=o.FormSwitch;o.FormTernaryCheckBox,o.FormText,o.FormTextColors,o.FormTextSizes;function H(e){window.enmity.plugins.registerPlugin(e)}const u=window.enmity.modules.common.Constants;window.enmity.modules.common.Clipboard,window.enmity.modules.common.Assets;const G=window.enmity.modules.common.Messages;window.enmity.modules.common.Clyde,window.enmity.modules.common.Avatars;const E=window.enmity.modules.common.Native,n=window.enmity.modules.common.React;window.enmity.modules.common.Dispatcher;const v=window.enmity.modules.common.Storage,p=window.enmity.modules.common.Toasts,I=window.enmity.modules.common.Dialog;window.enmity.modules.common.Token;const F=window.enmity.modules.common.REST;window.enmity.modules.common.Settings,window.enmity.modules.common.Users,window.enmity.modules.common.Navigation,window.enmity.modules.common.NavigationNative,window.enmity.modules.common.NavigationStack,window.enmity.modules.common.Theme,window.enmity.modules.common.Linking;const R=window.enmity.modules.common.StyleSheet;window.enmity.modules.common.ColorMap,window.enmity.modules.common.Components,window.enmity.modules.common.Locale,window.enmity.modules.common.Profiles,window.enmity.modules.common.Lodash,window.enmity.modules.common.Logger,window.enmity.modules.common.Flux,window.enmity.modules.common.SVG,window.enmity.modules.common.Scenes;function j(e){return window.enmity.patcher.create(e)}const T={byProps:(...e)=>window.enmity.modules.filters.byProps(...e),byName:(e,t)=>window.enmity.modules.filters.byName(e,t),byTypeName:(e,t)=>window.enmity.modules.filters.byTypeName(e,t),byDisplayName:(e,t)=>window.enmity.modules.filters.byDisplayName(e,t)};function k(...e){return window.enmity.modules.bulk(...e)}function z(...e){return window.enmity.modules.getByProps(...e)}window.enmity.modules.common;const B=e=>{let t=0;for(let i in e)t++;return t};function a(e){return window.enmity.assets.getIDByName(e)}const m={Debug:a("debug"),Retry:a("ic_message_retry"),Failed:a("Small"),Cancel:a("ic_megaphone_nsfw_16px"),Add:a("add_white"),Delete:a("ic_message_delete"),Clear:a("ic_clear_all_24px"),Pencil:a("ic_pencil_24px"),Success:a("ic_selection_checked_24px"),Warning:a("ic_warning_24px"),Copy:a("toast_copy_link"),Open:a("ic_leave_stage"),Clipboard:a("pending-alert"),Initial:a("coffee"),Shield:a("ic_person_shield"),Debug_Command:{Sent:a("ic_application_command_24px"),Clock:a("clock")},Settings:{Toasts:{Context:a("toast_image_saved"),Settings:a("ic_selection_checked_24px")},Self:a("friends_toast_icon"),Share:a("share"),Robot:a("ic_robot_24px"),Commands:a("ic_profile_badge_bot_commands"),Debug:a("ic_rulebook_16px")}},L=e=>{p.open({content:`Copied ${e} to clipboard.`,source:m.Clipboard})},K=e=>{let t=e.split(` `).map(i=>{if(i!="")return`"${i.replaceAll(":",'":"').replace(" ","")}",`});return t[0]=`{${t[0]}`,t[B(t)]=`${t[B(t)]}}`,t=t.join(""),t=t.replaceAll("undefined",""),t=t.split("").reverse().join("").replace(",","").split("").reverse().join(""),t};async function W(){try{let e=await v.getItem("device_list");if(e)return JSON.parse(e);let t=(await F.get("https://gist.githubusercontent.com/adamawolf/3048717/raw/1ee7e1a93dff9416f6ff34dd36b0ffbad9b956e9/Apple_mobile_device_types.txt")).text,i=K(t);await v.setItem("device_list",i);let s=await v.getItem("device_list");return JSON.parse(s)}catch(e){console.warn(`[SpinsPlugins Local Error \u2014 Issue when getting devices: ${e}]`);return}}async function X(e,t,i){let s=await W();return`**[${e}] Debug Information** > **Plugin Version:** ${t} > **Plugin Build:** ${i.split("-")[1]} > **Discord Build:** ${E.InfoDictionaryManager.Version} (${E.InfoDictionaryManager.Build}) > **Software Version:** ${E.DCDDeviceManager.systemVersion} > **Device:** ${s[E.DCDDeviceManager.device]}`}const{native:f}=window.enmity;function q(){f.reload()}f.version,f.build,f.device,f.version;const J=z("transitionToGuild");async function Q({manifest:e}){const t=`${e.sourceUrl}?${Math.floor(Math.random()*1001)}.js`,i=await(await F.get(t)).text;let s=i.match(/\d\.\d\.\d+/g),l=i.match(/patch\-\d\.\d\.\d+/g);return!s||!l?M(e.name,e.version):(s=s[0],l=l[0],s!=e.version?U(t,s,l.split("-")[1],e,!1):l!=e.build?U(t,s,l.split("-")[1],e,!0):M(e.name,e.version))}const U=(e,t,i,s,l)=>{const g=l?i:t;I.show({title:"Update found",body:`A newer ${l?"build":"version"} is available for ${s.name}. ${l?` The version will remain at ${t}, but the build will update to ${i}.`:""} Would you like to install ${l?`build \`${i}\``:`version \`${t}\``} now?`,confirmText:"Update",cancelText:"Not now",onConfirm:()=>Z(e,g,s,l)})},M=(e,t)=>{console.log(`[${e}] Plugin is on the latest version, which is ${t}`),p.open({content:`${e} is on latest version (${t})`,source:m.Success})};async function Z(e,t,i,s){window.enmity.plugins.installPlugin(e,({data:l})=>{l=="installed_plugin"||l=="overridden_plugin"?I.show({title:`Updated ${i.name}`,body:`Successfully updated to ${s?"build":"version"} \`${t}\`. Would you like to reload Discord now?`,confirmText:"Yep!",cancelText:"Not now",onConfirm:()=>{q()}}):I.show({title:"Error",body:`Something went wrong while updating ${i.name}.`,confirmText:"Report this issue",cancelText:"Cancel",onConfirm:()=>{J.openURL(`https://github.com/spinfal/enmity-plugins/issues/new?assignees=&labels=bug&template=bug_report.md&title=%5BBUG%5D%20${i.name}%20Update%20Error%3A%20${s?`b${t}`:`v${t}`}`)}})})}const $=window.enmity.modules.common.Components.General.Animated,[x,ee]=k(T.byProps("transitionToGuild"),T.byProps("setString")),c=R.createThemedStyleSheet({container:{paddingTop:30,paddingLeft:20,marginBottom:-5,flexDirection:"row"},text_container:{paddingLeft:15,paddingTop:5,flexDirection:"column",flexWrap:"wrap"},image:{width:75,height:75,borderRadius:10},main_text:{opacity:.975,letterSpacing:.25,fontFamily:u.Fonts.DISPLAY_NORMAL},header:{color:u.ThemeColorMap.HEADER_PRIMARY,fontFamily:u.Fonts.DISPLAY_BOLD,fontSize:25,letterSpacing:.25},sub_header:{color:u.ThemeColorMap.HEADER_SECONDARY,opacity:.975,fontSize:12.75}});var te=({manifest:e})=>{const t=n.useRef(new $.Value(1)).current,i=()=>{$.spring(t,{toValue:1.1,duration:250,useNativeDriver:!0}).start()},s=()=>{$.spring(t,{toValue:1,duration:250,useNativeDriver:!0}).start()},l=()=>{x.openURL("https://spin.rip/")},g={transform:[{scale:t}]};return n.createElement(n.Fragment,null,n.createElement(b,{style:c.container},n.createElement(h,{onPress:l,onPressIn:i,onPressOut:s},n.createElement($.View,{style:[g]},n.createElement(V,{style:[c.image],source:{uri:"https://cdn.spin.rip/r/l9uevwe4ia0.jpg"}}))),n.createElement(b,{style:c.text_container},n.createElement(h,{onPress:()=>{x.openURL(e.sourceUrl)}},n.createElement(y,{style:[c.main_text,c.header]},e.name," ")),n.createElement(b,{style:{flexDirection:"row"}},n.createElement(y,{style:[c.main_text,c.sub_header]},"A plugin by"),n.createElement(h,{onPress:()=>{x.openURL("https://spin.rip/")}},n.createElement(y,{style:[c.main_text,c.sub_header,{paddingLeft:4,fontFamily:u.Fonts.DISPLAY_BOLD}]},e.authors[0].name))),n.createElement(b,{style:{flexDirection:"row"}},n.createElement(y,{style:[c.main_text,c.sub_header]},"Settings page by"),n.createElement(h,{onPress:()=>{x.openURL("https://github.com/acquitelol/")}},n.createElement(y,{style:[c.main_text,c.sub_header,{paddingLeft:4,fontFamily:u.Fonts.DISPLAY_BOLD}]},"Rosie<3"))),n.createElement(b,null,n.createElement(h,{style:{flexDirection:"row"},onPress:()=>{ee.setString(`**${e.name}** v${e.version}`),L("plugin name and version")}},n.createElement(y,{style:[c.main_text,c.sub_header]},"Version:"),n.createElement(y,{style:[c.main_text,c.sub_header,{paddingLeft:4,fontFamily:u.Fonts.DISPLAY_BOLD}]},e.version," "))))))};const[ne,N]=k(T.byProps("transitionToGuild","openURL"),T.byProps("setString","getString")),w=R.createThemedStyleSheet({bottom_padding:{paddingBottom:25},icon:{color:u.ThemeColorMap.INTERACTIVE_NORMAL},item:{color:u.ThemeColorMap.TEXT_MUTED},text_container:{display:"flex",flexDirection:"column"}});var oe=({manifest:e,settings:t,hasToasts:i,children:s,commands:l})=>n.createElement(Y,null,n.createElement(te,{manifest:e}),s,l&&n.createElement(S,{title:"Plugin Commands"},l.map(g=>n.createElement(r,{label:`/${g.name}`,subLabel:g.description,leading:n.createElement(r.Icon,{style:w.icon,source:m.Settings.Commands}),trailing:r.Arrow,onPress:function(){N.setString(`/${g.name}`),L(`the command ${g.name}`)}}))),n.createElement(S,{title:"Utility"},i&&n.createElement(n.Fragment,null,n.createElement(r,{label:"Initialization Toasts",leading:n.createElement(r.Icon,{style:w.icon,source:m.Settings.Toasts.Context}),subLabel:`If available, show toasts when ${e.name} is starting`,trailing:n.createElement(P,{value:t.getBoolean(`${e.name}-toastEnable`,!1),onValueChange:()=>{t.toggle(`${e.name}-toastEnable`,!1),p.open({content:`Successfully ${t.getBoolean(`${e.name}-toastEnable`,!1)?"enabled":"disabled"} initialization toasts.`,source:m.Success})}})}),n.createElement(A,null)),n.createElement(r,{label:"Copy Debug Info",subLabel:`Copy useful debug information of ${e.name} to clipboard.`,leading:n.createElement(r.Icon,{style:w.icon,source:m.Settings.Debug}),trailing:r.Arrow,onPress:async function(){N.setString(await X(e.name,e.version,e.build)),L("plugin debug information")}}),n.createElement(A,null),n.createElement(r,{label:"Clear Device List Cache",subLabel:"Remove the fetched device list storage. This will not clear Discord's or your iDevice's cache.",leading:n.createElement(r.Icon,{style:w.icon,source:m.Delete}),trailing:r.Arrow,onPress:async function(){await v.removeItem("device_list"),p.open({content:"Cleared device list storage.",source:m.Success})}})),n.createElement(S,{title:"Source"},n.createElement(r,{label:"Check for Updates",subLabel:`Check for any plugin updates for ${e.name}.`,leading:n.createElement(r.Icon,{style:w.icon,source:m.Copy}),trailing:r.Arrow,onPress:()=>{Q({manifest:e})}}),n.createElement(A,null),n.createElement(r,{label:"Source",subLabel:`View ${e.name} source code`,leading:n.createElement(r.Icon,{style:w.icon,source:m.Open}),trailing:r.Arrow,onPress:()=>{ne.openURL(`https://github.com/spinfal/enmity-plugins/tree/master/${e.name}`)}})),n.createElement(r,{style:w.bottom_padding,label:`Plugin Version: ${e.version} Plugin Build: ${e.build.split("-").pop()}`})),ie="slayify",ae="1.0.1",se="patch-1.0.1",le="slay",re=[{name:"spin",id:"308440976723148800"}],ce="#ff0069",me="https://raw.githubusercontent.com/spinfal/enmity-plugins/master/dist/slayify.js",d={name:ie,version:ae,build:se,description:le,authors:re,color:ce,sourceUrl:me};const C=["wig snatched","its giving","period sis","yasss you ate it","omg thats so charli xcx","you go girliepop!","slay it babes","nauurrrrr snatched that wig","you flopped and tanked","ATE XOXOXO","keysmashed it queen","omg yass skinny legend","HELP YOU ATE THAT-","slay it girliepop you literally devoured that","period pooh...","YASS HAILY UR A QUEEN...","you chewed that","you go doll xoxo","work that tush biatch","um yes queen skinny legend versace boots the house down slay queen hunty mama and oop daddy work charli xcx snatch my wig"],O=j(d.name),de={...d,onStart(){try{O.before(G,"sendMessage",(e,t,i)=>{const s=C[Math.floor(Math.random()*C.length)],l=t[1].content.trim();t[1].content=D(d.name,"_mode","append")==="append"?`${l} ${s}`:s})}catch(e){console.log(`[ ${d.name} Error ]`,e)}},onStop(){O.unpatchAll()},patches:[],getSettingsPanel({settings:e}){return n.createElement(oe,{manifest:d,settings:e,hasToasts:!1,commands:null},n.createElement(S,{title:"Plugin Settings"},n.createElement(r,{label:"Replace your messages",leading:n.createElement(r.Icon,{source:m.Pencil}),trailing:n.createElement(P,{value:e.getBoolean("_textMode",!1),onValueChange:()=>{try{e.toggle("_textMode",!1),e.getBoolean("_textMode",!1)?_(d.name,"_mode","replace"):_(d.name,"_mode","append"),p.open({content:`Switched to ${D(d.name,"_mode","append")} mode.`,source:m.Success})}catch(t){console.log(`[ ${d.name} Error ]`,t),p.open({content:"An error has occurred. Check debug logs for more info.",source:m.Failed})}}})}),n.createElement(r,{label:"Include large phrase",leading:n.createElement(r.Icon,{source:m.Cancel}),trailing:n.createElement(P,{value:e.getBoolean("_largePhrase",!1),onValueChange:()=>{try{e.toggle("_largePhrase",!1),e.getBoolean("_largePhrase",!1)?(_(d.name,"_large","include"),C.push("slay it girliepop you literally devoured that its like giving period sistah yass thats so paris nicole you go girlie pop period work that tush babe i mean period i guess yasss its giving so slay charli xcx yas queen skinny legernd versace boots the house down you literally chewed devoured ate that! walk em like a dog poo you literally slayed that ;-; !!!!! thats so barbie doll nicki minaj ayesha nicole smith!!!!! HELP ME SKSKSKS YOU ATE IT GIRL! YOU BETTER WORK BITCH! PERIOD SLAYED IT POOH! STAY CHARLI XCX AND STREAM SUPER FREAKY GIRL! YOU ATE THAT!!!")):(_(d.name,"_large","exclude"),C.pop()),p.open({content:`Large phrase ${D(d.name,"_large","exclude")}d.`,source:m.Success})}catch(t){console.log(`[ ${d.name} Error ]`,t),p.open({content:"An error has occurred. Check debug logs for more info.",source:m.Failed})}}})})))}};H(de);