"use strict";var marketplace=(()=>{var f=Object.create,i=Object.defineProperty,r=Object.defineProperties,u=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyDescriptors,l=Object.getOwnPropertyNames,a=Object.getOwnPropertySymbols,s=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,c=(e,t,r)=>t in e?i(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,d=(e,t)=>{for(var r in t=t||{})h.call(t,r)&&c(e,r,t[r]);if(a)for(var r of a(t))o.call(t,r)&&c(e,r,t[r]);return e},p=(e,t)=>r(e,n(t));e={"node_modules/chroma-js/chroma.js"(e,t){var r;r=function(){for(var e=function(e,t,r){return void 0===r&&(r=1),e<(t=void 0===t?0:t)?t:r>16,t>>8&255,255&t,1];if(e.match(tt))return 4===(e=5!==e.length&&9!==e.length?e:e.substr(1)).length&&(e=(e=e.split(""))[0]+e[0]+e[1]+e[1]+e[2]+e[2]+e[3]+e[3]),[(t=parseInt(e,16))>>24&255,t>>16&255,t>>8&255,Math.round((255&t)/255*100)/100];throw new Error("unknown hex color: "+e)}function xe(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var r,n,a,o=(e=lt(e,"hsi"))[0],c=e[1],f=e[2];return isNaN(o)&&(o=0),isNaN(c)&&(c=0),360b.t1?e*e*e:b.t2*(e-b.t0)}function Ce(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var r=(e=Rt(e,"lab"))[0],n=e[1],a=e[2],r=(r+16)/116,n=isNaN(n)?r:r+n/500,a=isNaN(a)?r:r-a/200;return r=b.Yn*Ee(r),n=b.Xn*Ee(n),a=b.Zn*Ee(a),[je(3.2404542*n-1.5371385*r-.4985314*a),je(-.969266*n+1.8760108*r+.041556*a),je(.0556434*n-.2040259*r+1.0572252*a),3>16,e>>8&255,255&e,1];throw new Error("unknown num color: "+e)}function qe(e){var t,r,n=(e=e/100)<66?(t=255,r=e<6?0:-155.25485562709179-.44596950469579133*(r=e-2)+104.49216199393888*w(r),e<20?0:.8274096064007395*(n=e-10)-254.76935184120902+115.67994401066147*w(n)):(t=351.97690566805693+.114206453784165*(t=e-55)-40.25366309332127*w(t),r=325.4494125711974+.07943456536662342*(r=e-50)-28.0852963507957*w(r),255);return[t,r,n,1]}function Ue(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var r=(a=Sr(e,"rgb"))[0],n=a[1],a=a[2],r=[$r(r/255),$r(n/255),$r(a/255)],o=_r(.4122214708*(n=r[0])+.5363325363*(a=r[1])+.0514459929*(r=r[2])),c=_r(.2119034982*n+.6806995451*a+.1073969566*r),n=_r(.0883024619*n+.2817188376*a+.6299787005*r);return[.2104542553*o+.793617785*c-.0040720468*n,1.9779984951*o-2.428592205*c+.4505937099*n,.0259040371*o+.7827717662*c-.808675766*n]}var u=i,Fe=c,l=o,De=e.type,Ge=B,We=z,Be=(Fe.prototype.css=function(e){return Ge(this._rgb,e)},u.css=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(Fe,[null].concat(e,["css"])))},l.format.css=We,l.autodetect.push({p:5,test:function(e){for(var t=[],r=arguments.length-1;0p.t3?Ct(e,1/3):e/p.t2+p.t0},b=l,Rt=e.unpack,At=Math.pow,It=e.unpack,qt=e.type,u=i,Ut=c,g=o,Ft=Oe,Dt=(Ut.prototype.lab=function(){return Ft(this._rgb)},u.lab=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(Ut,[null].concat(e,["lab"])))},g.format.lab=Ce,g.autodetect.push({p:2,test:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];if(e=It(e,"lab"),"array"===qt(e)&&3===e.length)return"lab"}}),e.unpack),Gt=e.RAD2DEG,Wt=Math.sqrt,Bt=Math.atan2,Tt=Math.round,zt=e.unpack,Yt=Oe,Ht=Le,Jt=e.unpack,Xt=e.DEG2RAD,Vt=Math.sin,Zt=Math.cos,Kt=e.unpack,Qt=Pe,er=Ce,tr=e.unpack,rr=Re,nr=e.unpack,ar=e.type,u=i,m=c,or=o,cr=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var r=zt(e,"rgb"),n=r[0],a=r[1],r=r[2],n=Yt(n,a,r),a=n[0],r=n[1],n=n[2];return Ht(a,r,n)},g=(m.prototype.lch=function(){return cr(this._rgb)},m.prototype.hcl=function(){return cr(this._rgb).reverse()},u.lch=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(m,[null].concat(e,["lch"])))},u.hcl=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(m,[null].concat(e,["hcl"])))},or.format.lch=Re,or.format.hcl=Ae,["lch","hcl"].forEach(function(r){return or.autodetect.push({p:2,test:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];if(e=nr(e,r),"array"===ar(e)&&3===e.length)return r}})}),{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflower:"#6495ed",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",laserlemon:"#ffff54",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrod:"#fafad2",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",maroon2:"#7f0000",maroon3:"#b03060",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",purple2:"#7f007f",purple3:"#a020f0",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"}),u=c,v=o,fr=e.type,y=g,ir=Ne,ur=_e,lr=(u.prototype.name=function(){for(var e=ur(this._rgb,"rgb"),t=0,r=Object.keys(y);t=a/n?c=f:o=f}return kr(f)},Sr=(k.prototype.temp=k.prototype.kelvin=k.prototype.temperature=function(){return Mr(this._rgb)},u.temp=u.kelvin=u.temperature=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(k,[null].concat(e,["temp"])))},v.format.temp=v.format.kelvin=v.format.temperature=qe,e.unpack),_r=Math.cbrt,Nr=Math.pow,xr=Math.sign;function $r(e){var t=Math.abs(e);return t<.04045?e/12.92:(xr(e)||1)*Nr((t+.055)/1.055,2.4)}function Or(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var r=(e=jr(e,"lab"))[0],n=e[1],a=e[2],o=M(r+.3963377774*n+.2158037573*a,3),c=M(r-.1055613458*n-.0638541728*a,3),r=M(r-.0894841775*n-1.291485548*a,3);return[255*Cr(4.0767416621*o-3.3077115913*c+.2309699292*r),255*Cr(-1.2684380046*o+2.6097574011*c-.3413193965*r),255*Cr(-.0041960863*o-.7034186147*c+1.707614701*r),3=p[r];)r++;return r-1},M=function(e){return e},S=function(e){return e};return r(u),s.classes=function(e){var t;return null!=e?("array"===j(e)?h=[(p=e)[0],e[e.length-1]]:(t=O.analyze(h),p=0===e?[t.min,t.max]:O.limits(t,"e",e)),s):p},s.domain=function(r){if(!arguments.length)return h;g=r[0],m=r[r.length-1],i=[];var e=b.length;if(r.length===e&&g!==m)for(var t=0,n=Array.from(r);t=c[t+1];)t++;var r=(e-c[t])/(c[t+1]-c[t]);return o[t]+r*(o[t+1]-o[t])}))}return h=[g,m],s},s.mode=function(e){return arguments.length?(c=e,n(),s):c},s.range=function(e,t){return r(e),s},s.out=function(e){return a=e,s},s.spread=function(e){return arguments.length?(t=e,s):t},s.correctLightness=function(e){return n(),M=(e=null==e?!0:e)?function(e){for(var t=l(0,!0).lab()[0],r=l(1,!0).lab()[0],n=r 0");var i=Math.LOG10E*Jn(n),I=Math.LOG10E*Jn(a);c.push(n);for(var u=1;u.9999999)i[3]=1;return new Nn(xn(i))}for(var h,d=e.shift(),p=d.get(o),b=[],g=0,m=0,v=0;v{r=null!=e?f(s(e)):{};var n=!t&&e&&e.__esModule?r:i(r,"default",{value:e,enumerable:!0}),a=e,o=void 0,c=void 0;if(a&&"object"==typeof a||"function"==typeof a)for(let e of l(a))h.call(n,e)||e===o||i(n,e,{get:()=>a[e],enumerable:!(c=u(a,e))||c.enumerable});return n})(function(){return t||(0,e[l(e)[0]])((t={exports:{}}).exports,t),t.exports}()),x=(t,e)=>{t=localStorage.getItem(t);if(!t)return e;try{return JSON.parse(t)}catch(e){return t}},I=e=>{if(3===e.length)e=e.split("").map(e=>e+e).join("");else{if(6!=e.length)throw"Only 3- or 6-digit hex colours are allowed.";if(e.match(/[^0-9a-f]/i))throw"Only hex colours are allowed."}e=e.match(/.{1,2}/g);if(e&&3===e.length)return[parseInt(e[0],16),parseInt(e[1],16),parseInt(e[2],16)];throw"Could not parse hex colour."},$=(e,t)=>{let r=[];return e&&0({name:e.name,url:W(e.url)})):r.push({name:t,url:"https://github.com/"+t}),r},q=(...e)=>{console.debug("Resetting Marketplace");const t=[];0===e.length&&Object.keys(localStorage).forEach(e=>{e.startsWith("marketplace:")&&t.push(e)}),e.forEach(e=>{"extensions"===e?(t.push(...x(g,[])),t.push(g)):"snippets"===e?(t.push(...x(m,[])),t.push(m)):"theme"===e&&(t.push(...x(v,[])),t.push(v),t.push(y))}),t.forEach(e=>{localStorage.removeItem(e),console.debug("Removed "+e)}),console.debug("Marketplace has been reset"),location.reload()},U=()=>{const t={};return Object.keys(localStorage).forEach(e=>{e.startsWith("marketplace:")&&(t[e]=localStorage.getItem(e))}),t},O=r=>{var e=document.querySelector("style.marketplaceCSS.marketplaceScheme");if(e&&e.remove(),r){e=document.createElement("style");e.classList.add("marketplaceCSS"),e.classList.add("marketplaceScheme");let t=":root {";Object.keys(r).forEach(e=>{t=(t+=`--spice-${e}: #${r[e]};`)+`--spice-rgb-${e}: ${I(r[e])};`}),t+="}",e.innerHTML=t,document.body.appendChild(e)}},F=async e=>{let t=x(M);return t=t.replace(/([A-Z])/g,"_$1").toUpperCase(),(await Spicetify.colorExtractor(e))[t].substring(1)},D=async(e,t)=>{var r=x(k).replace(/([A-Z])/g,"-$1").toLowerCase();return(await fetch(`https://www.thecolorapi.com/scheme?hex=${e}&mode=${r}&count=`+t).then(e=>e.json())).colors.map(e=>e.hex.value.substring(1))};var G=s=>{Spicetify.Player.addEventListener("songchange",async()=>{await L(1e3);let t=null==(a=null==(a=null==(a=Spicetify.Player.data)?void 0:a.track)?void 0:a.metadata)?void 0:a.image_xlarge_url;if(t=null==t?await new Promise(t=>{setInterval(()=>{var e=null==(e=null==(e=null==(e=Spicetify.Player.data)?void 0:e.track)?void 0:e.metadata)?void 0:e.image_xlarge_url;e&&t(e)},50)}):t){var r,n,a=new Set(Object.values(s)).size,o=await F(t),c=await D(o,a);let e=new Map;for([r,n]of Object.entries(s))e.has(n)?e.get(n).push(r):e.set(n,[r]);var f,o=new Map([...e.entries()].sort((e,t)=>{e=(0,N.default)(e[0]),t=(0,N.default)(t[0]);return e.get("lab.l")-t.get("lab.l")})),i={};for([,f]of(e=o).entries()){var u=c.shift();if(u)for(const l of f)i[l]=u}O(i)}})},j=e=>{e=new URL(e);return e.host,"raw.githubusercontent.com"===e.host},E=e=>{var t,e=e.match(new RegExp("https:\\/\\/raw\\.githubusercontent\\.com\\/(?[^/]+)\\/(?[^/]+)\\/(?[^/]+)\\/(?.+$)"));return{user:e?null==(t=e.groups)?void 0:t.user:null,repo:e?null==(t=e.groups)?void 0:t.repo:null,branch:e?null==(t=e.groups)?void 0:t.branch:null,filePath:e?null==(t=e.groups)?void 0:t.filePath:null}};function C(r,n){r&&r.forEach(e=>{n=n||r.user+"-"+r.repo;var t=window.sessionStorage.getItem(n),t=t?JSON.parse(t):[];t.push(e),window.sessionStorage.setItem(n,JSON.stringify(t))})}function L(t){return new Promise(e=>setTimeout(e,t))}var W=e=>{var t=decodeURI(e).trim().toLowerCase();return t.startsWith("javascript:")||t.startsWith("data:")||t.startsWith("vbscript:")?"about:blank":e},P=e=>{e&&(e=e.split("/").pop())&&-1===Spicetify.Config.extensions.indexOf(e)&&Spicetify.Config.extensions.push(e)};async function R(e,t,r){var n=window.sessionStorage.getItem(e+"-"+t),a=window.sessionStorage.getItem("noManifests");if(n)return JSON.parse(n);const o=`https://raw.githubusercontent.com/${e}/${t}/${r}/manifest.json`;return null!=a&&a.includes(o)?null:((n=await fetch(o).then(e=>e.json()).catch(()=>C([o],"noManifests")))&&window.sessionStorage.setItem(e+"-"+t,JSON.stringify(n)),n)}async function A(e,t){var r=await async function(e,t=1){const r=window.sessionStorage.getItem("marketplace:blacklist");let n="https://api.github.com/search/repositories?per_page="+_;return"extension"===e?n+="&q="+encodeURIComponent("topic:spicetify-extensions"):"theme"===e&&(n+="&q="+encodeURIComponent("topic:spicetify-themes")),t&&(n+="&page="+t),(e=await fetch(n).then(e=>e.json()).catch(()=>[])).items||Spicetify.showNotification("Too Many Requests, Cool Down.",!0),t=p(d({},e),{page_count:e.items.length,items:e.items.filter(e=>!(null!=r&&r.includes(e.html_url)))})}(e,t),n=(!async function(e,t){for(const n of e.items){var r="theme"===t?await async function(t,n,a){try{let e;var r=t.match(new RegExp("https:\\/\\/api\\.github\\.com\\/repos\\/(?.+)\\/(?.+)\\/contents"));if(!r||!r.groups)return null;const{user:o,repo:c}=r.groups;return e=await R(o,c,n),(e=Array.isArray(e)?e:[e]).reduce((e,t)=>{var r=t.branch||n,r={manifest:t,title:t.name,subtitle:t.description,authors:$(t.authors,o),user:o,repo:c,branch:r,imageURL:t.preview&&t.preview.startsWith("http")?t.preview:`https://raw.githubusercontent.com/${o}/${c}/${r}/`+t.preview,readmeURL:t.readme&&t.readme.startsWith("http")?t.readme:`https://raw.githubusercontent.com/${o}/${c}/${r}/`+t.readme,stars:a,tags:t.tags,cssURL:t.usercss.startsWith("http")?t.usercss:`https://raw.githubusercontent.com/${o}/${c}/${r}/`+t.usercss,schemesURL:t.schemes?t.schemes.startsWith("http")?t.schemes:`https://raw.githubusercontent.com/${o}/${c}/${r}/`+t.schemes:null,include:t.include};return null!=t&&t.name&&null!=t&&t.usercss&&null!=t&&t.description&&e.push(r),e},[])}catch(e){return null}}(n.contents_url,n.default_branch,n.stargazers_count):await async function(t,n,a,o=!1){try{let e;var r=t.match(new RegExp("https:\\/\\/api\\.github\\.com\\/repos\\/(?.+)\\/(?.+)\\/contents"));if(!r||!r.groups)return null;const{user:c,repo:f}=r.groups;return e=await R(c,f,n),(e=Array.isArray(e)?e:[e]).reduce((e,t)=>{var r=t.branch||n,r={manifest:t,title:t.name,subtitle:t.description,authors:$(t.authors,c),user:c,repo:f,branch:r,imageURL:t.preview&&t.preview.startsWith("http")?t.preview:`https://raw.githubusercontent.com/${c}/${f}/${r}/`+t.preview,extensionURL:t.main.startsWith("http")?t.main:`https://raw.githubusercontent.com/${c}/${f}/${r}/`+t.main,readmeURL:t.readme&&t.readme.startsWith("http")?t.readme:`https://raw.githubusercontent.com/${c}/${f}/${r}/`+t.readme,stars:a,tags:t.tags};return t&&t.name&&t.description&&t.main&&(o&&localStorage.getItem(`marketplace:installed:${c}/${f}/`+t.main)||e.push(r)),e},[])}catch(e){return null}}(n.contents_url,n.default_branch,n.stargazers_count);r&&(C(r),await L(5e3))}}(r,e),_*(t-1)+r.page_count),a=(console.debug({pageOfRepos:r}),r.total_count-n);if(console.debug(`Parsed ${n}/${r.total_count} ${e}s`),0{for(;null==Spicetify||!Spicetify.LocalStorage||null==Spicetify||!Spicetify.showNotification;)await new Promise(e=>setTimeout(e,100));var e=document.createElement("script");e.innerHTML="const global = globalThis;",document.body.appendChild(e),console.log("Initializing Spicetify Marketplace v"+b),window.Marketplace={reset:q,export:U,version:b};var e=async t=>{t=x(t);if(t){if(console.debug("Initializing theme: ",t),t.schemes){var e=t.schemes[t.activeScheme];if(O(e),Spicetify.Config.color_scheme=t.activeScheme,"true"===localStorage.getItem(w))G(e);else if("true"===localStorage.getItem(S)){var r=t.schemes;let e=0;const f=Object.keys(r).length;setInterval(()=>{e%=f,O(Object.values(r)[e]),e++},6e4)}}else console.warn("No schemes found for theme");e=document.querySelector("link.marketplaceCSS"),e=(e&&e.remove(),await(async e=>{if(!e.cssURL)throw new Error("No CSS URL provided");var e=j(e.cssURL)?`https://cdn.jsdelivr.net/gh/${e.user}/${e.repo}@${e.branch}/`+e.manifest.usercss:e.cssURL,t=e.replace("/user.css","/assets/");console.debug("Parsing CSS: ",e);let r=await fetch(e+"?time="+Date.now()).then(e=>e.text());for(const o of r.matchAll(new RegExp(`url\\(['|"](?.+?)['|"]\\)`,"gm"))||[]){var n,a=null==(a=null==o?void 0:o.groups)?void 0:a.path;!a||a.startsWith("http")||a.startsWith("data")||(n=t+a.replace(/\.\//g,""),r=r.replace(a,n))}return r})(t));try{var n,a,o=document.querySelector("link[href='user.css']"),c=(o&&o.remove(),document.querySelector("style.marketplaceCSS.marketplaceUserCSS"));c&&c.remove(),e?((n=document.createElement("style")).classList.add("marketplaceCSS"),n.classList.add("marketplaceUserCSS"),n.innerHTML=e,document.body.appendChild(n)):((a=document.createElement("link")).setAttribute("rel","stylesheet"),a.setAttribute("href","user.css"),a.classList.add("userCSS"),document.body.appendChild(a))}catch(e){console.warn(e)}Spicetify.Config.current_theme=null==(o=t.manifest)?void 0:o.name,t.include&&t.include.length&&t.include.forEach(e=>{var t,r,n,a,o=document.createElement("script");let c=e;j(e)&&({user:t,repo:r,branch:n,filePath:a}=E(e),c=`https://cdn.jsdelivr.net/gh/${t}/${r}@${n}/`+a),o.src=c+"?time="+Date.now(),o.classList.add("marketplaceScript"),document.body.appendChild(o),P(e)})}else console.debug("No theme manifest found")},t=(console.log("Loaded Marketplace extension"),Spicetify.Config.local_theme=Spicetify.Config.current_theme,Spicetify.Config.local_color_scheme=Spicetify.Config.color_scheme,localStorage.getItem(y));t&&e(t);e=x(m,[]).map(e=>x(e));t=e,(e=document.querySelector("style.marketplaceSnippets"))&&e.remove(),e=document.createElement("style"),t=t.reduce((e,t)=>e=(e+=`/* ${t.title} - ${t.description} */ `)+t.code+` `,""),e.innerHTML=t,e.classList.add("marketplaceSnippets"),document.body.appendChild(e),x(g,[]).forEach(e=>{if((e=x(e))&&e.extensionURL){console.debug("Initializing extension: ",e);var t=document.createElement("script");if(t.defer=!0,t.src=e.extensionURL,j(t.src)){var{user:r,repo:n,branch:a,filePath:o}=E(e.extensionURL);if(!(r&&n&&a&&o))return;t.src=`https://cdn.jsdelivr.net/gh/${r}/${n}@${a}/`+o}t.src=t.src+"?time="+Date.now(),document.body.appendChild(t),P(null==(r=e.manifest)?void 0:r.main)}})})(),async function(){console.debug("Preloading extensions and themes..."),window.sessionStorage.clear();var e=await(await fetch("https://raw.githubusercontent.com/spicetify/spicetify-marketplace/main/resources/blacklist.json").then(e=>e.json()).catch(()=>({}))).repos;window.sessionStorage.setItem("marketplace:blacklist",JSON.stringify(e)),await Promise.all([A("extension",1),A("theme",1)])}()})();