It looks like this is a web page, not a feed. I looked for a feed associated with this page, but couldn't find one. Please enter the address of your feed to validate.

Source: http://last.fm

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. <!doctype html>
  8. <html
  9.    lang="en"
  10.    class="
  11.        no-js
  12.        playbar-masthead-release-shim
  13.        youtube-provider-not-ready
  14.    "
  15. >
  16.    <head>
  17.        <meta charset="utf-8">
  18.        <meta http-equiv="X-UA-Compatible" content="IE=edge"><script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","errorBeacon":"bam.nr-data.net","licenseKey":"0ed0ce50b0","applicationID":"5588594","transactionName":"Y1BRbUUFWkMEWxYMV1oadUxZB0BZClZNCV5ZG0RcVUpDRxIWAxVIRxtbVloBGkYMXRUWAlVbXFdoDFtdAA==","queueTime":0,"applicationTime":36,"agent":""};
  19. (window.NREUM||(NREUM={})).init={ajax:{deny_list:["bam.nr-data.net"]}};(window.NREUM||(NREUM={})).loader_config={xpid:"UwYPV15QGwYFXFlXDgU=",licenseKey:"0ed0ce50b0",applicationID:"5588594"};;/*! For license information please see nr-loader-full-1.257.0.min.js.LICENSE.txt */
  20. (()=>{var e,t,r={234:(e,t,r)=>{"use strict";r.d(t,{P_:()=>m,Mt:()=>b,C5:()=>s,DL:()=>w,OP:()=>D,lF:()=>N,Yu:()=>x,Dg:()=>v,CX:()=>c,GE:()=>E,sU:()=>O});var n=r(8632),i=r(9567);const o={beacon:n.ce.beacon,errorBeacon:n.ce.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.D)(t,o);const r=(0,n.ek)(e);r&&(r.info=a[e])}const d=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var u=r(7056),l=r(50);const f="[data-nr-mask]",h=()=>{const e={mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{feature_flags:[],proxy:{assets:void 0,beacon:void 0},privacy:{cookies_enabled:!0},ajax:{deny_list:void 0,block_internal:!0,enabled:!0,harvestTimeSeconds:10,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},session:{domain:void 0,expiresMs:u.oD,inactiveMs:u.Hb},ssl:void 0,obfuscate:void 0,jserrors:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},metrics:{enabled:!0,autoStart:!0},page_action:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,long_task:!1,autoStart:!0},session_trace:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},harvest:{tooManyRequestsDelay:60},session_replay:{autoStart:!0,enabled:!1,harvestTimeSeconds:60,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,inline_stylesheet:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){d(t)?e.mask_selector="".concat(t,",").concat(f):""===t||null===t?e.mask_selector=f:(0,l.Z)("An invalid session_replay.mask_selector was provided. '*' will be used.",t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){d(t)?e.block_selector+=",".concat(t):""!==t&&(0,l.Z)("An invalid session_replay.block_selector was provided and will not be used",t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,l.Z)("An invalid session_replay.mask_input_option was provided and will not be used",t)}},spa:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},soft_navigations:{enabled:!0,harvestTimeSeconds:10,autoStart:!0}}},p={},g="All configuration objects require an agent identifier!";function m(e){if(!e)throw new Error(g);if(!p[e])throw new Error("Configuration for ".concat(e," was never set"));return p[e]}function v(e,t){if(!e)throw new Error(g);p[e]=(0,i.D)(t,h());const r=(0,n.ek)(e);r&&(r.init=p[e])}function b(e,t){if(!e)throw new Error(g);var r=m(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}const y={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},A={};function w(e){if(!e)throw new Error("All loader-config objects require an agent identifier!");if(!A[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return A[e]}function E(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");A[e]=(0,i.D)(t,y);const r=(0,n.ek)(e);r&&(r.loader_config=A[e])}const x=(0,n.mF)().o;var _=r(385),R=r(6818);const S={buildEnv:R.Re,customTransaction:void 0,disabled:!1,distMethod:R.gF,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,offset:Math.floor(_._A?.performance?.timeOrigin||_._A?.performance?.timing?.navigationStart||Date.now()),onerror:void 0,origin:""+_._A.location,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,xhrWrappable:"function"==typeof _._A.XMLHttpRequest?.prototype?.addEventListener,version:R.q4,denyList:void 0,harvestCount:0,timeKeeper:void 0},T={};function D(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!T[e])throw new Error("Runtime for ".concat(e," was never set"));return T[e]}function O(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");T[e]=(0,i.D)(t,S);const r=(0,n.ek)(e);r&&(r.runtime=T[e])}function N(e){return function(e){try{const t=s(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}(e)}},9567:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(50);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.Z)("Setting a Configurable requires an object as input");if(!t||"object"!=typeof t)return(0,n.Z)("Setting a Configurable requires a model to set its initial properties");const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.Z)("An error occurred while setting a property of a Configurable",e)}return r}catch(e){(0,n.Z)("An error occured while setting a Configurable",e)}}},6818:(e,t,r)=>{"use strict";r.d(t,{Re:()=>i,gF:()=>o,lF:()=>a,q4:()=>n});const n="1.257.0",i="PROD",o="CDN",a="2.0.0-alpha.12"},385:(e,t,r)=>{"use strict";r.d(t,{FN:()=>s,IF:()=>u,Nk:()=>f,Tt:()=>c,_A:()=>o,cv:()=>h,iS:()=>a,il:()=>n,ux:()=>d,v6:()=>i,w1:()=>l});const n="undefined"!=typeof window&&!!window.document,i="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),o=n?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),a=Boolean("hidden"===o?.document?.visibilityState),s=""+o?.location,c=/iPad|iPhone|iPod/.test(o.navigator?.userAgent),d=c&&"undefined"==typeof SharedWorker,u=(()=>{const e=o.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),l=Boolean(n&&window.document.documentMode),f=!!o.navigator?.sendBeacon,h=Math.floor(Date.now()-performance.now())},1117:(e,t,r)=>{"use strict";r.d(t,{w:()=>o});var n=r(50);const i={agentIdentifier:"",ee:void 0};class o{constructor(e){try{if("object"!=typeof e)return(0,n.Z)("shared context requires an object as input");this.sharedContext={},Object.assign(this.sharedContext,i),Object.entries(e).forEach((e=>{let[t,r]=e;Object.keys(i).includes(t)&&(this.sharedContext[t]=r)}))}catch(e){(0,n.Z)("An error occurred while setting SharedContext",e)}}}},8e3:(e,t,r)=>{"use strict";r.d(t,{LP:()=>l,RP:()=>c,o5:()=>d});var n=r(8325),i=r(1284),o=r(4322),a=r(3325);const s={};function c(e,t){const r={staged:!1,priority:a.p[t]||0};u(e),s[e].get(t)||s[e].set(t,r)}function d(e,t){u(e),s[e].get(t)&&s[e].delete(t),s[e].size&&f(e)}function u(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"feature",r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(u(e),!e||!s[e].get(t)||r)return h(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=[...s[e]];t.every((e=>{let[t,r]=e;return r.staged}))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((t=>{let[r]=t;s[e].delete(r),h(e,r)})))}function h(e,t){const r=e?n.ee.get(e):n.ee,a=o.X.handlers;if(r.backlog&&a){var s=r.backlog[t],c=a[t];if(c){for(var d=0;s&&d<s.length;++d)p(s[d],c);(0,i.D)(c,(function(e,t){(0,i.D)(t,(function(t,r){r[0].on(e,r[1])}))}))}r.isolatedBacklog||delete a[t],r.backlog[t]=null,r.emit("drain-"+t,[])}}function p(e,t){var r=e[1];(0,i.D)(t[r],(function(t,r){var n=e[0];if(r[0]===n){var i=r[1],o=e[3],a=e[2];i.apply(o,a)}}))}},8325:(e,t,r)=>{"use strict";r.d(t,{A:()=>c,ee:()=>d});var n=r(8632),i=r(2210),o=r(234);class a{constructor(e){this.contextId=e}}var s=r(3117);const c="nr@context:".concat(s.a),d=function e(t,r){var n={},s={},u={},l=!1;try{l=16===r.length&&(0,o.OP)(r).isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(d.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=h(n),c=g(e),u=c.length,l=0;l<u;l++)c[l].apply(a,r);var p=v()[s[e]];p&&p.push([f,e,r,a]);return a},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((e=>{let[n,i]=e;s[i]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof a?e:e?(0,i.X)(e,c,(()=>new a(c))):new a(c)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return u[t]=u[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),u=(0,n.fP)();u.ee||(u.ee=d)},5546:(e,t,r)=>{"use strict";r.d(t,{E:()=>n,p:()=>i});var n=r(8325).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},4322:(e,t,r)=>{"use strict";r.d(t,{X:()=>o});var n=r(5546);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.E,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.E);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3239:(e,t,r)=>{"use strict";r.d(t,{bP:()=>s,iz:()=>c,m$:()=>a});var n=r(385);let i=!1,o=!1;try{const e={get passive(){return i=!0,!1},get signal(){return o=!0,!1}};n._A.addEventListener("test",null,e),n._A.removeEventListener("test",null,e)}catch(e){}function a(e,t){return i||o?{capture:!!e,passive:i,signal:t}:!!e}function s(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;window.addEventListener(e,t,a(r,n))}function c(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;document.addEventListener(e,t,a(r,n))}},3117:(e,t,r)=>{"use strict";r.d(t,{a:()=>n});const n=(0,r(4402).Rl)()},4402:(e,t,r)=>{"use strict";r.d(t,{Ht:()=>d,M:()=>c,Rl:()=>a,ky:()=>s});var n=r(385);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n._A?.crypto||n._A?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n._A?.crypto||n._A?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}function c(){return s(16)}function d(){return s(32)}},7056:(e,t,r)=>{"use strict";r.d(t,{Bq:()=>n,Hb:()=>a,IK:()=>d,K4:()=>i,oD:()=>o,uT:()=>c,wO:()=>s});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},d={OFF:0,FULL:1,ERROR:2}},7894:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{z:()=>n})},7243:(e,t,r)=>{"use strict";r.d(t,{e:()=>i});var n=r(385);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n._A?.location?.protocol&&t.host===n._A?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},50:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.warn&&(console.warn("New Relic: ".concat(e)),t&&console.warn(t))}r.d(t,{Z:()=>n})},2825:(e,t,r)=>{"use strict";r.d(t,{N:()=>c,T:()=>s});var n=r(8325),i=r(385);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,a.add(t),function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{i._A.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},2210:(e,t,r)=>{"use strict";r.d(t,{X:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},7872:(e,t,r)=>{"use strict";function n(e){var t=this;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:500,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=n?.leading||!1;let o;return function(){for(var n=arguments.length,a=new Array(n),s=0;s<n;s++)a[s]=arguments[s];i&&void 0===o&&(e.apply(t,a),o=setTimeout((()=>{o=clearTimeout(o)}),r)),i||(clearTimeout(o),o=setTimeout((()=>{e.apply(t,a)}),r))}}function i(e){var t=this;let r=!1;return function(){if(!r){r=!0;for(var n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];e.apply(t,i)}}}r.d(t,{D:()=>n,Z:()=>i})},1284:(e,t,r)=>{"use strict";r.d(t,{D:()=>n});const n=(e,t)=>Object.entries(e||{}).map((e=>{let[r,n]=e;return t(r,n)}))},4351:(e,t,r)=>{"use strict";r.d(t,{P:()=>o});var n=r(8325);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}}}},3960:(e,t,r)=>{"use strict";r.d(t,{KB:()=>a,b2:()=>o});var n=r(3239);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.bP)("load",e,t)}function a(e){if(i())return e();(0,n.iz)("DOMContentLoaded",e)}},8632:(e,t,r)=>{"use strict";r.d(t,{EZ:()=>u,ce:()=>o,ek:()=>d,fP:()=>a,gG:()=>l,h5:()=>c,mF:()=>s});var n=r(385),i=r(7894);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n._A.NREUM||(n._A.NREUM={}),void 0===n._A.newrelic&&(n._A.newrelic=n._A.NREUM),n._A.NREUM}function s(){let e=a();return e.o||(e.o={ST:n._A.setTimeout,SI:n._A.setImmediate,CT:n._A.clearTimeout,XHR:n._A.XMLHttpRequest,REQ:n._A.Request,EV:n._A.Event,PR:n._A.Promise,MO:n._A.MutationObserver,FETCH:n._A.fetch}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.z)(),date:new Date},r.initializedAgents[e]=t}function d(e){let t=a();return t.initializedAgents?.[e]}function u(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},7956:(e,t,r)=>{"use strict";r.d(t,{N:()=>i});var n=r(3239);function i(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;(0,n.iz)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},7806:(e,t,r)=>{"use strict";r.d(t,{em:()=>b,u5:()=>T,QU:()=>N,Kf:()=>k});var n=r(8325),i=r(3117);const o="nr@original:".concat(i.a);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],d=e[c];u(d)||(e[c]=r(d,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return u(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){d([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,u,l;try{a=this,o=[...arguments],u="function"==typeof n?n(o,a):n||{}}catch(t){d([t,"",[o,a,s],u],e)}i(r+"start",[o,a,s],u,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],u,c),e}finally{i(r+"end",[o,a,l],u,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){d([t,r,n,i],e)}s=a}}}function d(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function u(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}var l=r(2210),f=r(385);const h={},p=f._A.XMLHttpRequest,g="addEventListener",m="removeEventListener",v="nr@wrapped:".concat(n.A);function b(e){var t=function(e){return(e||n.ee).get("events")}(e);if(h[t.debugId]++)return t;h[t.debugId]=1;var r=c(t,!0);function i(e){r.inPlace(e,[g,m],"-",o)}function o(e,t){return e[1]}return"getPrototypeOf"in Object&&(f.il&&y(document,i),y(f._A,i),y(p.prototype,i)),t.on(g+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,l.X)(n,v,(function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n}));this.wrapped=e[1]=i}})),t.on(m+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function y(e,t){let r=e;for(;"object"==typeof r&&!Object.prototype.hasOwnProperty.call(r,g);)r=Object.getPrototypeOf(r);for(var n=arguments.length,i=new Array(n>2?n-2:0),o=2;o<n;o++)i[o-2]=arguments[o];r&&t(r,...i)}var A="fetch-",w=A+"body-",E=["arrayBuffer","blob","json","text","formData"],x=f._A.Request,_=f._A.Response,R="prototype";const S={};function T(e){const t=function(e){return(e||n.ee).get("fetch")}(e);if(!(x&&_&&f._A.fetch))return t;if(S[t.debugId]++)return t;function r(e,r,i){var o=e[r];"function"==typeof o&&(e[r]=function(){var e,r=[...arguments],a={};t.emit(i+"before-start",[r],a),a[n.A]&&a[n.A].dt&&(e=a[n.A].dt);var s=o.apply(this,r);return t.emit(i+"start",[r,e],s),s.then((function(e){return t.emit(i+"end",[null,e],s),e}),(function(e){throw t.emit(i+"end",[e],s),e}))})}return S[t.debugId]=1,E.forEach((e=>{r(x[R],e,w),r(_[R],e,w)})),r(f._A,"fetch",A),t.on(A+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(A+"done",[null,r],n)}else t.emit(A+"done",[e],n)})),t}const D={},O=["pushState","replaceState"];function N(e){const t=function(e){return(e||n.ee).get("history")}(e);return!f.il||D[t.debugId]++||(D[t.debugId]=1,c(t).inPlace(window.history,O,"-")),t}var P=r(3239);var I=r(50);const j={},C=["open","send"];function k(e){var t=e||n.ee;const r=function(e){return(e||n.ee).get("xhr")}(t);if(j[r.debugId]++)return r;j[r.debugId]=1,b(t);var i=c(r),o=f._A.XMLHttpRequest,a=f._A.MutationObserver,s=f._A.Promise,d=f._A.setInterval,u="readystatechange",l=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],h=[],p=f._A.XMLHttpRequest=function(e){const t=new o(e),n=r.context(t);try{r.emit("new-xhr",[t],n),t.addEventListener(u,(a=n,function(){var e=this;e.readyState>3&&!a.resolved&&(a.resolved=!0,r.emit("xhr-resolved",[],e)),i.inPlace(e,l,"fn-",w)}),(0,P.m$)(!1))}catch(e){(0,I.Z)("An error occurred while intercepting XHR",e);try{r.emit("internal-error",[e])}catch(e){}}var a;return t};function g(e,t){i.inPlace(t,["onreadystatechange"],"fn-",w)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,p),p.prototype=o.prototype,i.inPlace(p.prototype,C,"-xhr-",w),r.on("send-xhr-start",(function(e,t){g(e,t),function(e){h.push(e),a&&(m?m.then(A):d?d(A):(v=-v,y.data=v))}(t)})),r.on("open-xhr-start",g),a){var m=s&&s.resolve();if(!d&&!s){var v=1,y=document.createTextNode(v);new a(A).observe(y,{characterData:!0})}}else t.on("fn-end",(function(e){e[0]&&e[0].type===u||A()}));function A(){for(var e=0;e<h.length;e++)g(0,h[e]);h.length&&(h=[])}function w(e,t){return t}return r}},7825:(e,t,r)=>{"use strict";r.d(t,{t:()=>n});const n=r(3325).D.ajax},6660:(e,t,r)=>{"use strict";r.d(t,{t:()=>n});const n=r(3325).D.jserrors},3081:(e,t,r)=>{"use strict";r.d(t,{gF:()=>o,mY:()=>i,t9:()=>n,vz:()=>s,xS:()=>a});const n=r(3325).D.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},4649:(e,t,r)=>{"use strict";r.d(t,{t:()=>n});const n=r(3325).D.pageAction},7633:(e,t,r)=>{"use strict";r.d(t,{t:()=>n});const n=r(3325).D.pageViewEvent},9251:(e,t,r)=>{"use strict";r.d(t,{t:()=>n});const n=r(3325).D.pageViewTiming},7144:(e,t,r)=>{"use strict";r.d(t,{Ef:()=>o,J0:()=>f,Mi:()=>l,Vb:()=>a,Ye:()=>c,fm:()=>d,i9:()=>s,t9:()=>i,u0:()=>u});var n=r(7056);const i=r(3325).D.sessionReplay,o={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"},a=.12,s={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c=1e6,d=64e3,u={[n.IK.ERROR]:15e3,[n.IK.FULL]:3e5,[n.IK.OFF]:0},l={RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},f=5e3},3112:(e,t,r)=>{"use strict";r.d(t,{HM:()=>c,ev:()=>o,rU:()=>s,wi:()=>d});var n=r(234),i=r(385);function o(e){return i.il&&!0===(0,n.Mt)(e,"privacy.cookies_enabled")}function a(e){return!!n.Yu.MO&&o(e)&&!0===(0,n.Mt)(e,"session_trace.enabled")}function s(e){return!0===(0,n.Mt)(e,"session_replay.preload")&&a(e)}function c(e,t){return!!a(e)&&(!!t?.isNew||!!t?.state.sessionReplayMode)}function d(e,t){const r=t.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,timeKeeperOriginTime:t.originTime,timeKeeperCorrectedOriginTime:t.correctedOriginTime,timeKeeperDiff:Math.floor(t.originTime-t.correctedOriginTime)}}},3614:(e,t,r)=>{"use strict";r.d(t,{BST_RESOURCE:()=>i,END:()=>s,FEATURE_NAME:()=>n,FN_END:()=>d,FN_START:()=>c,PUSH_STATE:()=>u,RESOURCE:()=>o,START:()=>a});const n=r(3325).D.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,d="fn"+s,u="pushState"},5938:(e,t,r)=>{"use strict";r.d(t,{W:()=>i});var n=r(8325);class i{constructor(e,t,r){this.agentIdentifier=e,this.aggregator=t,this.ee=n.ee.get(e),this.featureName=r,this.blocked=!1}}},2758:(e,t,r)=>{"use strict";r.d(t,{j:()=>x});var n=r(3325),i=r(234),o=r(5546),a=r(8325),s=r(8e3),c=r(3960),d=r(385),u=r(50),l=r(3081),f=r(8632),h=r(7144);const p=["setErrorHandler","finished","addToTrace","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start","recordReplay","pauseReplay",h.Ef.RECORD,h.Ef.PAUSE],g=["setErrorHandler","finished","addToTrace","addRelease"];var m=r(7894),v=r(7056);function b(){const e=(0,f.gG)();p.forEach((t=>{e[t]=function(){for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return function(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];let o=[];return Object.values(e.initializedAgents).forEach((e=>{e.exposed&&e.api[t]&&o.push(e.api[t](...n))})),o.length>1?o:o[0]}(t,...n)}}))}const y={};var A=r(2825);const w=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let E=!1;function x(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},p=arguments.length>2?arguments[2]:void 0,x=arguments.length>3?arguments[3]:void 0,{init:_,info:R,loader_config:S,runtime:T={loaderType:p},exposed:D=!0}=t;const O=(0,f.gG)();R||(_=O.init,R=O.info,S=O.loader_config),(0,i.Dg)(e.agentIdentifier,_||{}),(0,i.GE)(e.agentIdentifier,S||{}),R.jsAttributes??={},d.v6&&(R.jsAttributes.isWorker=!0),(0,i.CX)(e.agentIdentifier,R);const N=(0,i.P_)(e.agentIdentifier),P=[R.beacon,R.errorBeacon];E||(N.proxy.assets&&(w(N.proxy.assets),P.push(N.proxy.assets)),N.proxy.beacon&&P.push(N.proxy.beacon),b(),(0,f.EZ)("activatedFeatures",A.T),e.runSoftNavOverSpa&&=!0===N.soft_navigations.enabled&&N.feature_flags.includes("soft_nav")),T.denyList=[...N.ajax.deny_list||[],...N.ajax.block_internal?P:[]],(0,i.sU)(e.agentIdentifier,T),void 0===e.api&&(e.api=function(e,t){let f=arguments.length>2&&void 0!==arguments[2]&&arguments[2];t||(0,s.RP)(e,"api");const p={};var b=a.ee.get(e),A=b.get("tracer");y[e]=v.IK.OFF,b.on(h.Ef.REPLAY_RUNNING,(t=>{y[e]=t}));var w="api-",E=w+"ixn-";function x(t,r,n,o){const a=(0,i.C5)(e);return null===r?delete a.jsAttributes[t]:(0,i.CX)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),S(w,n,!0,o||null===r?"session":void 0)(t,r)}function _(){}g.forEach((e=>{p[e]=S(w,e,!0,"api")})),p.addPageAction=S(w,"addPageAction",!0,n.D.pageAction),p.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,i.OP)(e).customTransaction=(r||"http://custom.transaction")+t,S(w,"setPageViewName",!0)()},p.setCustomAttribute=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return x(e,t,"setCustomAttribute",r);(0,u.Z)("Failed to execute setCustomAttribute.\nNon-null value must be a string, number or boolean type, but a type of <".concat(typeof t,"> was provided."))}else(0,u.Z)("Failed to execute setCustomAttribute.\nName must be a string type, but a type of <".concat(typeof e,"> was provided."))},p.setUserId=function(e){if("string"==typeof e||null===e)return x("enduser.id",e,"setUserId",!0);(0,u.Z)("Failed to execute setUserId.\nNon-null value must be a string type, but a type of <".concat(typeof e,"> was provided."))},p.setApplicationVersion=function(e){if("string"==typeof e||null===e)return x("application.version",e,"setApplicationVersion",!1);(0,u.Z)("Failed to execute setApplicationVersion. Expected <String | null>, but got <".concat(typeof e,">."))},p.start=e=>{try{const t=e?"defined":"undefined";(0,o.p)(l.xS,["API/start/".concat(t,"/called")],void 0,n.D.metrics,b);const r=Object.values(n.D);if(void 0===e)e=r;else{if((e=Array.isArray(e)&&e.length?e:[e]).some((e=>!r.includes(e))))return(0,u.Z)("Invalid feature name supplied. Acceptable feature names are: ".concat(r));e.includes(n.D.pageViewEvent)||e.push(n.D.pageViewEvent)}e.forEach((e=>{b.emit("".concat(e,"-opt-in"))}))}catch(e){(0,u.Z)("An unexpected issue occurred",e)}},p[h.Ef.RECORD]=function(){(0,o.p)(l.xS,["API/recordReplay/called"],void 0,n.D.metrics,b),(0,o.p)(h.Ef.RECORD,[],void 0,n.D.sessionReplay,b)},p[h.Ef.PAUSE]=function(){(0,o.p)(l.xS,["API/pauseReplay/called"],void 0,n.D.metrics,b),(0,o.p)(h.Ef.PAUSE,[],void 0,n.D.sessionReplay,b)},p.interaction=function(e){return(new _).get("object"==typeof e?e:{})};const R=_.prototype={createTracer:function(e,t){var r={},i=this,a="function"==typeof t;return(0,o.p)(l.xS,["API/createTracer/called"],void 0,n.D.metrics,b),f||(0,o.p)(E+"tracer",[(0,m.z)(),e,r],i,n.D.spa,b),function(){if(A.emit((a?"":"no-")+"fn-start",[(0,m.z)(),i,a],r),a)try{return t.apply(this,arguments)}catch(e){throw A.emit("fn-err",[arguments,this,e],r),e}finally{A.emit("fn-end",[(0,m.z)()],r)}}}};function S(e,t,r,i){return function(){return(0,o.p)(l.xS,["API/"+t+"/called"],void 0,n.D.metrics,b),i&&(0,o.p)(e+t,[(0,m.z)(),...arguments],r?null:this,i,b),r?void 0:this}}function T(){r.e(63).then(r.bind(r,7438)).then((t=>{let{setAPI:r}=t;r(e),(0,s.LP)(e,"api")})).catch((()=>{(0,u.Z)("Downloading runtime APIs failed..."),b.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{R[e]=S(E,e,void 0,f?n.D.softNav:n.D.spa)})),p.setCurrentRouteName=f?S(E,"routeName",void 0,n.D.softNav):S(w,"routeName",!0,n.D.spa),p.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,o.p)(l.xS,["API/noticeError/called"],void 0,n.D.metrics,b),(0,o.p)("err",[t,(0,m.z)(),!1,r,!!y[e]],void 0,n.D.jserrors,b)},d.il?(0,c.b2)((()=>T()),!0):T(),p}(e.agentIdentifier,x,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=D),E=!0}},8993:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},3325:(e,t,r)=>{"use strict";r.d(t,{D:()=>n,p:()=>i});const n={ajax:"ajax",jserrors:"jserrors",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.ajax]:5,[n.sessionTrace]:6,[n.pageAction]:7,[n.spa]:8,[n.softNav]:9,[n.sessionReplay]:10}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>({63:"nr-full",110:"nr-full-compressor",379:"nr-full-recorder"}[e]+"-1.257.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.257.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var d=document.getElementsByTagName("script"),u=0;u<d.length;u++){var l=d[u];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={63:"sha512-GfImrB8n59Nvcim1PROq9tJVUmJR1Yi9Cy4gDcz05uYcsCeLn1j27CQlH7TNDBNfXiJOzty4zFzerYEXKxtu4A==",379:"sha512-Aw2d9percRtGltaBZnitIqRL8WoLb5EzCTMSL3jOLbM2hLPdJtGMC6wvFqlZYMlLfl2PCyVJXsx+Kczi16FPXA==",110:"sha512-IGD4SHxIp/oGiJuFOVGF1671ExwtYLmnTVmgXuwPM7UcxZ71iJ0AL5TEpkKaqRHwg8e9UBeg2i7j7VnGD54UOw=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var h=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={29:0,789:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,d=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);d<a.length;d++)o=a[d],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.257.0.PROD"]=self["webpackChunk:NRBA-1.257.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8993);var e=i(50),t=i(7144),r=i(4402);class n{agentIdentifier;constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:(0,r.ky)(16);this.agentIdentifier=e}#e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];if("function"==typeof this.api?.[t])return this.api[t](...n);(0,e.Z)("Call to agent api ".concat(t," failed. The API is not currently initialized."))}addPageAction(e,t){return this.#e("addPageAction",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}finished(e){return this.#e("finished",e)}addRelease(e,t){return this.#e("addRelease",e,t)}start(e){return this.#e("start",e)}recordReplay(){return this.#e(t.Ef.RECORD)}pauseReplay(){return this.#e(t.Ef.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}}var o=i(3325),a=i(234);const s=Object.values(o.D);function c(e){const t={};return s.forEach((r=>{t[r]=function(e,t){return!0===(0,a.Mt)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(2758);var u=i(8e3),l=i(5938),f=i(3960),h=i(385),p=i(3112),g=i(7872);class m extends l.W{constructor(e,t,r){let n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];super(e,t,r),this.auto=n,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===(0,a.Mt)(this.agentIdentifier,"".concat(this.featureName,".autoStart"))&&(this.auto=!1),this.auto?(0,u.RP)(e,r):this.ee.on("".concat(this.featureName,"-opt-in"),(0,g.Z)((()=>{(0,u.RP)(this.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator()})))}importAggregator(){let t,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.featAggregate||!this.auto)return;this.onAggregateImported=new Promise((e=>{t=e}));const n=async()=>{let n;try{if((0,p.ev)(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(63).then(i.bind(i,1656));n=e(this.agentIdentifier)}}catch(t){(0,e.Z)("A problem occurred when starting up session manager. This page will not start or extend any session.",t),this.featureName===o.D.sessionReplay&&this.abortHandler?.()}try{if(!this.#t(this.featureName,n))return(0,u.LP)(this.agentIdentifier,this.featureName),void t(!1);const{lazyFeatureLoader:e}=await i.e(63).then(i.bind(i,8582)),{Aggregate:o}=await e(this.featureName,"aggregate");this.featAggregate=new o(this.agentIdentifier,this.aggregator,r),t(!0)}catch(r){(0,e.Z)("Downloading and initializing ".concat(this.featureName," failed..."),r),this.abortHandler?.(),(0,u.LP)(this.agentIdentifier,this.featureName,!0),t(!1),this.ee&&this.ee.abort()}};h.il?(0,f.b2)((()=>n()),!0):n()}#t(e,t){return e!==o.D.sessionReplay||(0,p.HM)(this.agentIdentifier,t)}}var v=i(7633);class b extends m{static featureName=v.t;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,v.t,r),this.importAggregator()}}var y=i(1117),A=i(1284);class w extends y.w{constructor(e){super(e),this.aggregatedData={}}store(e,t,r,n,i){var o=this.getBucket(e,t,r,i);return o.metrics=function(e,t){t||(t={count:0});return t.count+=1,(0,A.D)(e,(function(e,r){t[e]=E(r,t[e])})),t}(n,o.metrics),o}merge(e,t,r,n,i){var o=this.getBucket(e,t,n,i);if(o.metrics){var a=o.metrics;a.count+=r.count,(0,A.D)(r,(function(e,t){if("count"!==e){var n=a[e],i=r[e];i&&!i.c?a[e]=E(i.t,n):a[e]=function(e,t){if(!t)return e;t.c||(t=x(t.t));return t.min=Math.min(e.min,t.min),t.max=Math.max(e.max,t.max),t.t+=e.t,t.sos+=e.sos,t.c+=e.c,t}(i,a[e])}}))}else o.metrics=r}storeMetric(e,t,r,n){var i=this.getBucket(e,t,r);return i.stats=E(n,i.stats),i}getBucket(e,t,r,n){this.aggregatedData[e]||(this.aggregatedData[e]={});var i=this.aggregatedData[e][t];return i||(i=this.aggregatedData[e][t]={params:r||{}},n&&(i.custom=n)),i}get(e,t){return t?this.aggregatedData[e]&&this.aggregatedData[e][t]:this.aggregatedData[e]}take(e){for(var t={},r="",n=!1,i=0;i<e.length;i++)t[r=e[i]]=Object.values(this.aggregatedData[r]||{}),t[r].length&&(n=!0),delete this.aggregatedData[r];return n?t:null}}function E(e,t){return null==e?function(e){e?e.c++:e={c:1};return e}(t):t?(t.c||(t=x(t.t)),t.c+=1,t.t+=e,t.sos+=e*e,e>t.max&&(t.max=e),e<t.min&&(t.min=e),t):{t:e}}function x(e){return{t:e,min:e,max:e,sos:e*e,c:1}}var _=i(8632),R=i(4351);var S=i(5546),T=i(7956),D=i(3239),O=i(9251),N=i(7894);class P extends m{static featureName=O.t;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,O.t,r),h.il&&((0,T.N)((()=>(0,S.p)("docHidden",[(0,N.z)()],void 0,O.t,this.ee)),!0),(0,D.bP)("pagehide",(()=>(0,S.p)("winPagehide",[(0,N.z)()],void 0,O.t,this.ee))),this.importAggregator())}}var I=i(3081);class j extends m{static featureName=I.t9;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,I.t9,r),this.importAggregator()}}var C=i(6660);class k{constructor(e,t,r,n){this.name="UncaughtError",this.message=e,this.sourceURL=t,this.line=r,this.column=n}}class M extends m{static featureName=C.t;#r=new Set;#n=!1;constructor(e,r){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,r,C.t,n);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("fn-err",((e,t,r)=>{this.abortHandler&&!this.#r.has(r)&&(this.#r.add(r),(0,S.p)("err",[this.#i(r),(0,N.z)()],void 0,o.D.jserrors,this.ee))})),this.ee.on("internal-error",(e=>{this.abortHandler&&(0,S.p)("ierr",[this.#i(e),(0,N.z)(),!0,{},this.#n],void 0,o.D.jserrors,this.ee)})),this.ee.on(t.Ef.REPLAY_RUNNING,(e=>{this.#n=e})),h._A.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,S.p)("err",[this.#o(e),(0,N.z)(),!1,{unhandledPromiseRejection:1},this.#n],void 0,o.D.jserrors,this.ee)}),(0,D.m$)(!1,this.removeOnAbort?.signal)),h._A.addEventListener("error",(e=>{this.abortHandler&&(this.#r.has(e.error)?this.#r.delete(e.error):(0,S.p)("err",[this.#a(e),(0,N.z)(),!1,{},this.#n],void 0,o.D.jserrors,this.ee))}),(0,D.m$)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#s,this.importAggregator()}#s(){this.removeOnAbort?.abort(),this.#r.clear(),this.abortHandler=void 0}#i(e){return e instanceof Error?e:void 0!==e?.message?new k(e.message,e.filename||e.sourceURL,e.lineno||e.line,e.colno||e.col):new k("string"==typeof e?e:(0,R.P)(e))}#o(e){let t="Unhandled Promise Rejection: ";if(e?.reason instanceof Error)try{return e.reason.message=t+e.reason.message,e.reason}catch(t){return e.reason}if(void 0===e.reason)return new k(t);const r=this.#i(e.reason);return r.message=t+r.message,r}#a(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new k(e.message,e.filename,e.lineno,e.colno);return t.name=SyntaxError.name,t}return e.error instanceof Error?e.error:new k(e.message,e.filename,e.lineno,e.colno)}}var H=i(2210);let L=1;const z="nr@id";function U(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===h._A?0:(0,H.X)(e,z,(function(){return L++}))}function F(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,R.P)(e).length}catch(e){return}}}var B=i(7806),q=i(7243);class G{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,a.DL)(this.agentIdentifier);if(!t)return null;var n=(t.accountID||"").toString()||null,i=(t.agentID||"").toString()||null,o=(t.trustKey||"").toString()||null;if(!n||!i)return null;var s=(0,r.M)(),c=(0,r.Ht)(),d=Date.now(),u={spanId:s,traceId:c,timestamp:d};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(s,c),u.traceContextStateHeader=this.generateTraceContextStateHeader(s,d,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(s,c,d,n,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof h._A?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,R.P)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,a.Mt)(this.agentIdentifier,"distributed_tracing")&&(r=(0,a.P_)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,q.e)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}isDtEnabled(){var e=(0,a.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,a.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,a.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,a.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var V=i(7825),Z=["load","error","abort","timeout"],K=Z.length,W=a.Yu.REQ,X=a.Yu.XHR;class Y extends m{static featureName=V.t;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(super(e,t,V.t,r),(0,a.OP)(e).xhrWrappable){this.dt=new G(e),this.handler=(e,t,r,n)=>(0,S.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};h._A?.performance?.getEntriesByType("resource").forEach((t=>{if(t.initiatorType in e&&0!==t.responseStatus){const r={status:t.responseStatus},n={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};Q(r,t.name),this.handler("xhr",[r,n,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,o.D.ajax)}}))}catch(e){}(0,B.u5)(this.ee),(0,B.Kf)(this.ee),function(e,t,r,n){function i(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=E,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){x(t,e)}),(0,D.m$)(!1)),h.IF||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,D.m$)(!1))}function s(e){this.params={method:e[0]},Q(this,e[1]),this.metrics={}}function c(t,r){var i=(0,a.DL)(e);i.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",i.xpid);var o=n.generateTracePayload(this.parsedOrigin);if(o){var s=!1;o.newrelicHeader&&(r.setRequestHeader("newrelic",o.newrelicHeader),s=!0),o.traceContextParentHeader&&(r.setRequestHeader("traceparent",o.traceContextParentHeader),o.traceContextStateHeader&&r.setRequestHeader("tracestate",o.traceContextStateHeader),s=!0),s&&(this.dt=o)}}function d(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=F(i);a&&(n.txSize=a)}this.startTime=(0,N.z)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof o.end)&&o.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<K;s++)r.addEventListener(Z[s],this.listener,(0,D.m$)(!1))}function u(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function l(e,t){var r=""+U(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function f(e,t){var r=""+U(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function p(){this.endTime=(0,N.z)()}function g(e,r){r instanceof X&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function m(e,r){r instanceof X&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function v(e,t,r){t instanceof X&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,N.z)()))}function b(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,N.z)()-this.xhrCbStart,this.onload,r],r)}function y(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&h.il&&(t=""+h._A.location.href):e[0]&&e[0].url?t=e[0].url:h._A?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,q.e)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var i=n.generateTracePayload(this.parsedOrigin);if(i&&(i.newrelicHeader||i.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,i)&&(this.dt=i);else{var o={};for(var a in r)o[a]=r[a];o.headers=new Headers(r.headers||{}),s(o.headers,i)&&(this.dt=i),e.length>1?e[1]=o:e.push(o)}}function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function A(e,t){this.params={},this.metrics={},this.startTime=(0,N.z)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof W?r=i.url:h._A?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),Q(this,r);var o=(""+(i&&i instanceof W&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=F(n.body)||0}function w(e,t){var n;this.endTime=(0,N.z)(),this.params||(this.params={}),this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);var i={txSize:this.txSize,rxSize:n,duration:(0,N.z)()-this.startTime};r("xhr",[this.params,i,this.startTime,this.endTime,"fetch"],this,o.D.ajax)}function E(e){var t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(var i=0;i<K;i++)e.removeEventListener(Z[i],this.listener,!1);t.aborted||(n.duration=(0,N.z)()-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):x(this,e),n.cbTime=this.cbTime,r("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,o.D.ajax))}}function x(e,r){e.params.status=r.status;var n=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?F(e.response):"text"===r||""===r||void 0===r?F(e.responseText):void 0}(r,e.lastSize);if(n&&(e.metrics.rxSize=n),e.sameOrigin){var i=r.getResponseHeader("X-NewRelic-App-Data");i&&((0,S.p)(I.mY,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,o.D.metrics,t),e.params.cat=i.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",i),t.on("open-xhr-start",s),t.on("open-xhr-end",c),t.on("send-xhr-start",d),t.on("xhr-cb-time",u),t.on("xhr-load-added",l),t.on("xhr-load-removed",f),t.on("xhr-resolved",p),t.on("addEventListener-end",g),t.on("removeEventListener-end",m),t.on("fn-end",b),t.on("fetch-before-start",y),t.on("fetch-start",A),t.on("fn-start",v),t.on("fetch-done",w)}(e,this.ee,this.handler,this.dt),this.importAggregator()}}}function Q(e,t){var r=(0,q.e)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}var J=i(3614);const{BST_RESOURCE:ee,RESOURCE:te,START:re,END:ne,FEATURE_NAME:ie,FN_END:oe,FN_START:ae,PUSH_STATE:se}=J;var ce=i(7056);class de extends m{static featureName=t.t9;constructor(e,r){let n,i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,r,t.t9,i),this.replayRunning=!1;try{n=JSON.parse(localStorage.getItem("".concat(ce.Bq,"_").concat(ce.K4)))}catch(e){}this.#c(n)?this.#d(n?.sessionReplayMode):this.importAggregator(),this.ee.on("err",(e=>{this.replayRunning&&(this.errorNoticed=!0,(0,S.p)(t.Ef.ERROR_DURING_REPLAY,[e],void 0,this.featureName,this.ee))})),this.ee.on(t.Ef.REPLAY_RUNNING,(e=>{this.replayRunning=e}))}#c(e){return e&&(e.sessionReplayMode===ce.IK.FULL||e.sessionReplayMode===ce.IK.ERROR)||(0,p.rU)(this.agentIdentifier)}async#d(e){const{Recorder:t}=await Promise.all([i.e(63),i.e(379)]).then(i.bind(i,4345));this.recorder=new t({mode:e,agentIdentifier:this.agentIdentifier,ee:this.ee}),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording,this.importAggregator({recorder:this.recorder,errorNoticed:this.errorNoticed})}}var ue=i(4649);class le extends m{static featureName=ue.t;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,ue.t,r),this.importAggregator()}}new class extends n{constructor(t,r){super(r),h._A?(this.sharedAggregator=new w({agentIdentifier:this.agentIdentifier}),this.features={},(0,_.h5)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(b),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===o.D.softNav)),(0,d.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.Z)("Failed to initialize the agent. Could not determine the runtime environment.")}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=c(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>o.p[e.featureName]-o.p[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==o.D.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===o.D.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===o.D.softNav)return;const n=function(e){switch(e){case o.D.ajax:return[o.D.jserrors];case o.D.sessionTrace:return[o.D.ajax,o.D.pageViewEvent];case o.D.sessionReplay:return[o.D.sessionTrace];case o.D.pageViewTiming:return[o.D.pageViewEvent];default:return[]}}(r.featureName);n.every((e=>e in this.features))||(0,e.Z)("".concat(r.featureName," is enabled but one or more dependent features has not been initialized (").concat((0,R.P)(n),"). This may cause unintended consequences or missing data...")),this.features[r.featureName]=new r(this.agentIdentifier,this.sharedAggregator)}))}catch(t){(0,e.Z)("Failed to initialize all enabled instrument classes (agent aborted) -",t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,_.fP)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[b,P,class extends m{static featureName=ie;constructor(e,t){if(super(e,t,ie,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),!h.il)return;const r=this.ee;let n;(0,B.QU)(r),this.eventsEE=(0,B.em)(r),this.eventsEE.on(ae,(function(e,t){this.bstStart=(0,N.z)()})),this.eventsEE.on(oe,(function(e,t){(0,S.p)("bst",[e[0],t,this.bstStart,(0,N.z)()],void 0,o.D.sessionTrace,r)})),r.on(se+re,(function(e){this.time=(0,N.z)(),this.startPath=location.pathname+location.hash})),r.on(se+ne,(function(e){(0,S.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,o.D.sessionTrace,r)}));try{n=new PerformanceObserver((e=>{const t=e.getEntries();(0,S.p)(ee,[t],void 0,o.D.sessionTrace,r)})),n.observe({type:te,buffered:!0})}catch(e){}this.importAggregator({resourceObserver:n})}},de,Y,j,le,M],loaderType:"pro"})})()})();</script>
  21.        <meta name="viewport" content="width=device-width, initial-scale=1">
  22.  
  23.        <title aria-live="assertive">Last.fm | Play music, find songs, and discover artists</title>
  24.  
  25.        
  26.    <link rel="canonical" href="https://www.last.fm/" data-replaceable-head-tag />
  27.    
  28.    
  29.        <link rel="alternate" hreflang="en" href="https://www.last.fm/" data-replaceable-head-tag />
  30.    
  31.        <link rel="alternate" hreflang="de" href="https://www.last.fm/de/" data-replaceable-head-tag />
  32.    
  33.        <link rel="alternate" hreflang="es" href="https://www.last.fm/es/" data-replaceable-head-tag />
  34.    
  35.        <link rel="alternate" hreflang="fr" href="https://www.last.fm/fr/" data-replaceable-head-tag />
  36.    
  37.        <link rel="alternate" hreflang="it" href="https://www.last.fm/it/" data-replaceable-head-tag />
  38.    
  39.        <link rel="alternate" hreflang="ja" href="https://www.last.fm/ja/" data-replaceable-head-tag />
  40.    
  41.        <link rel="alternate" hreflang="pl" href="https://www.last.fm/pl/" data-replaceable-head-tag />
  42.    
  43.        <link rel="alternate" hreflang="pt" href="https://www.last.fm/pt/" data-replaceable-head-tag />
  44.    
  45.        <link rel="alternate" hreflang="ru" href="https://www.last.fm/ru/" data-replaceable-head-tag />
  46.    
  47.        <link rel="alternate" hreflang="sv" href="https://www.last.fm/sv/" data-replaceable-head-tag />
  48.    
  49.        <link rel="alternate" hreflang="tr" href="https://www.last.fm/tr/" data-replaceable-head-tag />
  50.    
  51.        <link rel="alternate" hreflang="zh" href="https://www.last.fm/zh/" data-replaceable-head-tag />
  52.    
  53.    <link rel="alternate" hreflang="x-default" href="https://www.last.fm/" data-replaceable-head-tag />
  54.  
  55.  
  56.        
  57.            
  58.                
  59.                
  60.                
  61.    <meta name="description" content="The world&#39;s largest online music service. Listen online, find out more about your favourite artists, and get music recommendations, only at Last.fm" data-replaceable-head-tag>
  62.  
  63.    <meta property="og:title"           content="Last.fm | Play music, find songs, and discover artists" data-replaceable-head-tag>
  64.    <meta property="og:description"     content="The world&#39;s largest online music service. Listen online, find out more about your favourite artists, and get music recommendations, only at Last.fm" data-replaceable-head-tag>
  65.    <meta property="og:type"            content="website" data-replaceable-head-tag>
  66.    <meta property="og:site_name"       content="Last.fm" data-replaceable-head-tag>
  67.    <meta property="og:url"             content="https://www.last.fm/" data-replaceable-head-tag />
  68.    <meta property="og:image"           content="https://www.last.fm/static/images/lastfm_logo_facebook.15d8133be114.png" data-replaceable-head-tag>
  69.    <meta property="og:image:width"     content="1200" data-replaceable-head-tag>
  70.    <meta property="og:image:height"    content="630" data-replaceable-head-tag>
  71.  
  72.    <meta name="twitter:title"          content="Last.fm | Play music, find songs, and discover artists" data-replaceable-head-tag>
  73.    <meta name="twitter:description"    content="The world&#39;s largest online music service. Listen online, find out more about your favourite artists, and get music recommendations, only at Last.fm" data-replaceable-head-tag>
  74.    <meta name="twitter:image"          content="https://www.last.fm/static/images/lastfm_avatar_twitter.52a5d69a85ac.png" data-replaceable-head-tag>
  75.    <meta name="twitter:card"           content="summary" data-replaceable-head-tag>
  76.    <meta name="twitter:site"           content="@lastfm" data-replaceable-head-tag>
  77.  
  78.    <link rel="apple-music-app-icon" href="https://www.last.fm/static/images/lastfm_avatar_applemusic.b06eb8ad89be.png" />
  79.    <link rel="apple-touch-icon-precomposed" href="https://www.last.fm/static/images/lastfm_avatar_applemusic.b06eb8ad89be.png" />
  80.    <link rel="apple-touch-icon" href="https://www.last.fm/static/images/lastfm_avatar_applemusic.b06eb8ad89be.png" />
  81.  
  82.    
  83.  
  84.            
  85.        
  86.  
  87.        
  88.            
  89.    <script type="text/javascript">
  90.        !(function (o, n) {
  91.            function $() {
  92.                ($.q = $.q || []).push(arguments)
  93.            }
  94.  
  95.            $.v = 1, o[n] = o[n] || $
  96.        })(window, String.fromCharCode(97, 100, 109, 105, 114, 97, 108));
  97.        !(function (t, c, i) {
  98.            i = t.createElement(c), t = t.getElementsByTagName(c)[0], i.async = 1, i.src = "https://strangeclocks.com/v2fjjH2X7fDDVyjq3kQFUt12y5wXOkb_ai99HR2WWrKQDN2VxaMxDPn0U", t.parentNode.insertBefore(i, t)
  99.        })(document, "script");
  100.        ;!(function (o, t, n, c) {
  101.            function e(n) {
  102.                (function () {
  103.                    try {
  104.                        return (localStorage.getItem("v4ac1eiZr0") || "").split(",")[4] > 0
  105.                    } catch (o) {
  106.                    }
  107.                    return !1
  108.                })() && (n = o[t].pubads()) && n.setTargeting("ae", "t")
  109.            }
  110.  
  111.            (c = o[t] = o[t] || {}).cmd = c.cmd || [], typeof c.pubads === n ? e() : typeof c.cmd.unshift === n ? c.cmd.unshift(e) : c.cmd.push(e)
  112.        })(window, "googletag", "function");
  113.    </script>
  114.  
  115.        
  116.  
  117.        
  118. <script type="application/ld+json">{"@context": "http://schema.org", "@type": "WebSite", "url": "https://www.last.fm", "potentialAction": {"@type": "SearchAction", "target": "https://www.last.fm/search?q={query}", "query-input": "required name=query"}}</script>
  119.  
  120.        <script>(function(e) { e.className = e.className.replace(/\bno-js\b/,'js'); })(document.documentElement)</script>
  121.  
  122.        
  123.  
  124.        <link rel="icon" href="/static/images/favicon.702b239b6194.ico">
  125.  
  126.        <link rel="stylesheet" href="/static/styles/build/anhv1-defaults-983daa777f.983daa777f56.css" data-stylesheet-name="defaults" charset="utf-8">
  127.  
  128.        
  129.            <link rel="stylesheet" href="/static/styles/build/app-reduced-bb0828a05b.5c84decc4664.css" data-stylesheet-name="app" charset="utf-8">
  130.        
  131.  
  132.        
  133.    
  134.        <link rel="stylesheet" href="/static/styles/build/dashboard-bea258d30a.9cf64449e7b0.css" data-stylesheet-name="page-specific" charset="utf-8">
  135.    
  136.  
  137.  
  138.        <link rel="dns-prefetch" href="//cdn.cookielaw.org" />
  139.        <link rel="dns-prefetch" href="//cdn.privacy.paramount.com" />
  140.        
  141.            <script src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" data-domain-script="d9f750da-0271-4142-9b0e-43d9a3b334d1"></script>
  142.        
  143.        <script src="//cdn.privacy.paramount.com/dist/optanon-v1.1.0.js" type="text/javascript" id="bb-cbsoptanon" async></script>
  144.        <script>
  145.            (function(a){
  146.              var w=window,b='cbsoptanon',q='cmd',r='config';
  147.              w[b] = w[b] ? w[b] : {};
  148.              w[b][q] = w[b][q] ? w[b][q] : [];
  149.              w[b][r] = w[b][r] ? w[b][r] : [];
  150.  
  151.              a.forEach(function(z){
  152.                w[b][z] = w[b][z] || function(){
  153.                  var c=arguments;
  154.                  w[b][q].push(function(){
  155.                    w[b][z].apply(w[b],c);
  156.                  })
  157.                }
  158.              });
  159.            })(["onScriptsReady","onAdsReady"]);
  160.        </script>
  161.  
  162.        
  163.            
  164.    
  165.    
  166.        <script async data-main="/static/js-build/init.57b4f43b68d8" src="/static/js-build/lib/require/require.5e205e60f610.js"></script>
  167.    
  168.  
  169.        
  170.  
  171.        <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
  172.        <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
  173.        <!--[if lt IE 9]>
  174.          <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
  175.          <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
  176.        <![endif]-->
  177.    </head>
  178.    <body
  179.        class="
  180.            
  181.    dashbody
  182.  
  183.            anhv1
  184.            namespace--anonymoushome_overview
  185.            
  186.        "
  187.        data-require="ads/page-ads,ads/searchlinks,player/playlink-handler,dev/grid-overlay,dev/toggle-version,dev/debug-log,dev/debug-image-analysis,dev/js-log,dev/ads-toggle,components/link-block,components/ajax-form,core/media-size-events-v2"
  188.        data-player-supported="true"
  189.        data-country-code="US"
  190.        data-cbsi-player-config="/static/config/video-player.015786d691c2.xml"
  191.        data-sensitive-path-regex="^/(../)?(googlec3ea1b252774e1ab\.html|account_deleted|inbox|join|login|lostpassword(/confirm)?|staff|subscribe|support(?!/images|/shouts|/shout)|settings/(account|website|subscription|password|lostpassword)|user/.+?/support)(/.*)?/?$"
  192.        data-facebook-placement-id="195612451022080_220502155199776"
  193.        data-google-maps-api-key="AIzaSyBX6-IE3lz4PpJUSBVIo_dPb0BAyMgi-VE"
  194.        
  195.            data-onetrust-prod
  196.        
  197.        data-partial-refresh-supported="true"
  198.    >
  199.        
  200.            
  201. <div
  202.    id="initial-tealium-data"
  203.    data-require="tracking/tealium-utag-set"
  204.    data-tealium-data="{&#34;siteSection&#34;: &#34;anonymoushome&#34;, &#34;pageType&#34;: &#34;front_door_anon&#34;, &#34;pageName&#34;: &#34;anonymoushome/overview&#34;, &#34;nativeEventTracking&#34;: true, &#34;userState&#34;: &#34;not authenticated&#34;, &#34;userType&#34;: &#34;anon&#34;}"
  205.    data-tealium-environment="prod"
  206. ></div>
  207.        
  208.        <div
  209.            data-require="components/loading-indicator"
  210.            data-loading-indicator-copy="Loading…"
  211.        ></div>
  212.        <div
  213.            data-require="components/open-modal,components/submit-to-modal,components/show-alert"
  214.            data-show-alert-ok-copy="Okay"
  215.        ></div>
  216.        
  217.        
  218.  
  219.    
  220.        <div class="top-bar">
  221.            
  222.                
  223.                    
  224.    <section
  225.        data-require="player/controls,player/status,player/tracking"
  226.        data-player-status-ad-playing="Ad playing"
  227.        data-player-status-inactive="&nbsp;"
  228.        data-player-status-loading-spotify="Connecting Spotify…"
  229.        data-player-status-spotify-auth-error="Could not authenticate with Spotify."
  230.  
  231.        data-player-error-cannot-play-item="Cannot play that item."
  232.        data-player-error-track-unavailable="Track unavailable."
  233.        data-player-modal-title="Play video"
  234.  
  235.        
  236.  
  237.        class="
  238.            player-bar
  239.            inactive
  240.        "
  241.        aria-label="audio player"
  242.        aria-disabled="true"
  243.    >
  244.        <div class="player-bar-inner-wrap">
  245.            <a class="player-bar-artwork js-artwork">
  246.                <img class="" src="/static/images/defaults/player_default_album.430223706b14.png" alt="" loading="lazy"/>
  247.            </a>
  248.  
  249.            <span class="
  250.                player-bar-source
  251.                player-bar-source--spotify
  252.            ">Playing via Spotify</span>
  253.  
  254.            <span class="
  255.                player-bar-source
  256.                player-bar-source--youtube
  257.            ">Playing via YouTube</span>
  258.  
  259.            <div class="source-info">
  260.                <button
  261.                    class="player-bar-playback-options-button"
  262.                    data-disclose-hover
  263.                    aria-controls="player-bar-playback-options"
  264.                >
  265.                    Playback options
  266.                </button>
  267.                <div
  268.                    id="player-bar-playback-options"
  269.                    class="
  270.                        player-bar-playback-options-wrap
  271.                        disclose-hide
  272.                    "
  273.                >
  274.                    <ul class="
  275.                        dropdown-menu-dark
  276.                        player-bar-playback-options-spotify
  277.                    ">
  278.                        <li class="dropdown-menu-non-interactive-item-dark">
  279.                            <span class="player-bar-listening-on-heading">Listening on…</span>
  280.                            <span class="
  281.                                player-bar-listening-on
  282.                                js-player-bar-listening-on
  283.                            "></span>
  284.                        </li>
  285.                        <li><button class="
  286.                            dropdown-menu-item-dark
  287.                            js-switch-device
  288.                            player-bar-playback-options-switch-device
  289.                        ">Switch Spotify device</button></li>
  290.                        <li><a
  291.                            class="
  292.                                js-source
  293.                                dropdown-menu-item-dark
  294.                                player-bar-playback-options-external-link
  295.                            "
  296.                            target="_blank"
  297.                        >Open in Spotify Web Player</a></li>
  298.                        
  299.    <li class="menu-separator--dark">
  300.        <a
  301.            
  302.                href="/login?next=/settings/website"
  303.            
  304.            class="
  305.                dropdown-menu-item-dark
  306.                player-bar-playback-options-settings
  307.            "
  308.        >
  309.            Change playback source
  310.        </a>
  311.    </li>
  312.  
  313.                    </ul>
  314.                    <ul class="
  315.                        dropdown-menu-dark
  316.                        player-bar-playback-options-youtube
  317.                    ">
  318.                        <li><a
  319.                            class="
  320.                                dropdown-menu-item-dark
  321.                                js-source
  322.                                player-bar-playback-options-external-link
  323.                            "
  324.                            target="_blank"
  325.                        >Open on YouTube website</a></li>
  326.                        
  327.    <li class="menu-separator--dark">
  328.        <a
  329.            
  330.                href="/login?next=/settings/website"
  331.            
  332.            class="
  333.                dropdown-menu-item-dark
  334.                player-bar-playback-options-settings
  335.            "
  336.        >
  337.            Change playback source
  338.        </a>
  339.    </li>
  340.  
  341.                    </ul>
  342.                </div>
  343.            </div>
  344.  
  345.            
  346.  
  347.            <div class="player-bar-controls">
  348.  
  349.                <ul aria-label="controls" class="media-controls">
  350.                    <li>
  351.                        <button
  352.                            disabled
  353.                            class="
  354.                                js-previous
  355.                                player-bar-btn
  356.                                player-bar-btn--previous
  357.                            "
  358.                            data-analytics-action="PlaybarBackTrack"
  359.                        >
  360.                            Previous
  361.                        </button>
  362.                    </li>
  363.                    <li>
  364.                        <button
  365.                            disabled
  366.                            class="
  367.                                js-play-pause
  368.                                player-bar-btn
  369.                                player-bar-btn--play
  370.                            "
  371.                            data-string-pause="Pause"
  372.                            data-analytics-action="PlaybarResumeTrack"
  373.                            data-analytics-action-pause="PlaybarPauseTrack"
  374.                        >
  375.                            Play
  376.                        </button>
  377.                    </li>
  378.                    <li>
  379.                        <button
  380.                            disabled
  381.                            class="
  382.                                js-next
  383.                                player-bar-btn
  384.                                player-bar-btn--next
  385.                            "
  386.                            data-analytics-action="PlaybarSkipTrack"
  387.                        >
  388.                            Next
  389.                        </button>
  390.                    </li>
  391.                    
  392.                </ul>
  393.  
  394.                <a class="
  395.                        player-bar-skiplink
  396.                        player-bar-skiplink--youtube
  397.                    "
  398.                    href="#youtube-video"
  399.                >Skip to YouTube video</a>
  400.  
  401.            </div>
  402.  
  403.            <div class="player-bar-now-playing">
  404.                <div class="player-bar-now-playing-inner-wrap">
  405.                    <p
  406.                        class="player-bar-track js-player-status"
  407.                        aria-label="now playing"
  408.                        aria-live="polite"
  409.                        aria-atomic="true"
  410.                    >
  411.                        Loading player…
  412.                    </p>
  413.  
  414.                    <p class="player-bar-error js-player-error player-bar-status--hide">
  415.                        <span class="player-bar-error-message js-player-error-message"></span>
  416.                    </p>
  417.                </div>
  418.            </div>
  419.        </div>
  420.  
  421.        
  422.        <div class="player-bar-progress-wrap">
  423.            <div
  424.                class="player-bar-progress"
  425.                aria-label="progress"
  426.                role="timer"
  427.            >
  428.                <div
  429.                    class="
  430.                        js-progress-slug
  431.                        player-bar-progress-slug
  432.                    "
  433.                >
  434.                    <span
  435.                        class="
  436.                            js-progress-remaining
  437.                            player-bar-progress-remaining
  438.                        "
  439.                        aria-label="remaining"
  440.                    ></span>
  441.                </div>
  442.            </div>
  443.        </div>
  444.  
  445.        <div data-require="player/scrobble-client"></div>
  446.    </section>
  447.  
  448.                    
  449.    <div
  450.        class="
  451.            masthead-popup
  452.            masthead-popup--spotify-scrobbling
  453.            masthead-popup--hidden
  454.        "
  455.        data-require="components/spotify-scrobbling-prompt,components/alert-dismissable,components/spotify-scrobbling-banner"
  456.        data-spotify-scobbling-success-modal="/socialmodal/spotify-scrobbling-success"
  457.        data-spotify-scobbling-fail-modal="/socialmodal/spotify-scrobbling-fail"
  458.    >
  459.        <div class="masthead-popup-inner">
  460.            <h3>Scrobble from Spotify?</h3>
  461.            <p>Connect your Spotify account to your Last.fm account and scrobble everything you listen to, from any Spotify app on any device or platform.</p>
  462.            <p>
  463.                <a
  464.                    class="btn-primary js-setup-spotify-scrobbling"
  465.                    href="/settings/applications"
  466.                >
  467.                    Connect to Spotify
  468.                </a>
  469.            </p>
  470.            <a
  471.                href="/nagbar/dismiss/cta/spotify-scrobbling-prompt?period=permanent"
  472.                class="masthead-popup-close js-alert-dismissable-close"
  473.                data-close-ajax
  474.            >
  475.                Dismiss
  476.            </a>
  477.        </div>
  478.    </div>
  479.  
  480.                
  481.            
  482.        </div>
  483.    
  484.  
  485.    <div id="content" class="main-content" role="main" aria-live="polite">
  486.        
  487.    
  488.  
  489.    <div id="tlmdata" hidden class="hidden"
  490.         data-tealium-data='{&#34;siteSection&#34;: &#34;anonymoushome&#34;, &#34;pageType&#34;: &#34;front_door_anon&#34;, &#34;pageName&#34;: &#34;anonymoushome/overview&#34;, &#34;nativeEventTracking&#34;: true, &#34;userState&#34;: &#34;not authenticated&#34;, &#34;userType&#34;: &#34;anon&#34;}'>
  491.     </div>
  492.  
  493.        <div
  494.            
  495.                
  496.            
  497.            
  498.            >
  499.            
  500.    <div
  501.        data-require="components/disclose-base,components/disclose-autoclose-v2,components/disclose-dropdown-v2,components/disclose-dropdown-location-picker-v2,components/disclose-collapsing-nav-v2,components/disclose-artwork,components/disclose-remove,components/disclose-search,components/disclose-hover-v3,components/disclose-select,components/disclose-lazy-buylinks,components/focus-controls,components/prevent-resubmit-v2,components/edit-scrobble,components/toggle-buttons,components/click-proxy,components/bookmark-notification,components/follow-notification,components/tourguide"
  502.    ></div>
  503.  
  504.    
  505.        
  506.  
  507.    <nav class="masthead">
  508.        <div class="masthead-inner-wrap">
  509.  
  510.            <div class="masthead-logo">
  511.                <span class="masthead-logo-loading"></span>
  512.                <a href="/">Last.fm</a>
  513.            </div>
  514.  
  515.            
  516.  
  517.                
  518.    <a
  519.        class="masthead-search-toggle"
  520.        href="/search"
  521.        data-disclose-search
  522.        aria-controls="masthead-search"
  523.    >
  524.        Search
  525.    </a>
  526.    <form
  527.        class="
  528.            masthead-search-form
  529.            disclose-hide
  530.            disclose-hide--js-only
  531.        "
  532.        id="masthead-search"
  533.        action="/search"
  534.        method="get"
  535.    >
  536.        <div class="masthead-search-inner-wrap">
  537.            <label for="masthead-search-field" class="sr-only">Search</label>
  538.            <input
  539.                id="masthead-search-field"
  540.                class="masthead-search-field"
  541.                type="text"
  542.                name="q"
  543.                placeholder="Search for music…"
  544.            />
  545.            <button class="masthead-search-submit" type="submit">Search</button>
  546.        </div>
  547.    </form>
  548.  
  549.  
  550.                <div class="visible-xs">
  551.                    <button
  552.                        class="
  553.                            masthead-hamburger-toggle
  554.                            
  555.                        "
  556.                        data-disclose-autoclose
  557.                        aria-controls="masthead-nav"
  558.                    >
  559.                        Toggle navigation
  560.                    </button>
  561.  
  562.                    <ul
  563.                        class="
  564.                            masthead-nav
  565.                            disclose-hide
  566.                            disclose-hide--js-only
  567.                        "
  568.                        aria-label="Primary navigation"
  569.                        id="masthead-nav"
  570.                    >
  571.                        
  572.    
  573.        <li class="masthead-nav-item masthead-nav-pro">
  574.            <a
  575.                class="masthead-nav-control masthead-pro-text"
  576.                href="/pro"
  577.                data-analytics-label="subscribe"
  578.                data-analytics-action="UserMenuClick"
  579.            >Upgrade to Pro</a>
  580.        </li>
  581.    
  582.    
  583.        <li class="masthead-nav-item">
  584.            <a
  585.                class="
  586.                    masthead-nav-control
  587.                    
  588.                "
  589.                href="/dashboard"
  590.                data-analytics-action="NavigationLink"
  591.                data-analytics-label="live"
  592.            >Live</a>
  593.        </li>
  594.    
  595.        <li class="masthead-nav-item">
  596.            <a
  597.                class="
  598.                    masthead-nav-control
  599.                    
  600.                "
  601.                href="/music"
  602.                data-analytics-action="NavigationLink"
  603.                data-analytics-label="music"
  604.            >Music</a>
  605.        </li>
  606.    
  607.        <li class="masthead-nav-item">
  608.            <a
  609.                class="
  610.                    masthead-nav-control
  611.                    
  612.                "
  613.                href="/charts"
  614.                data-analytics-action="NavigationLink"
  615.                data-analytics-label="charts"
  616.            >Charts</a>
  617.        </li>
  618.    
  619.        <li class="masthead-nav-item">
  620.            <a
  621.                class="
  622.                    masthead-nav-control
  623.                    
  624.                "
  625.                href="/events"
  626.                data-analytics-action="NavigationLink"
  627.                data-analytics-label="events"
  628.            >Events</a>
  629.        </li>
  630.    
  631.        <li class="masthead-nav-item">
  632.            <a
  633.                class="
  634.                    masthead-nav-control
  635.                    
  636.                "
  637.                href="/features"
  638.                data-analytics-action="NavigationLink"
  639.                data-analytics-label="features"
  640.            >Features</a>
  641.        </li>
  642.    
  643.  
  644.                        
  645.    
  646.        
  647.            <li class="masthead-nav-item">
  648.                <a
  649.                    class="masthead-nav-control"
  650.                    href="/pro"
  651.                    data-analytics-label="subscribe"
  652.                    data-analytics-action="UserMenuClick"
  653.                >Subscribe</a>
  654.            </li>
  655.        
  656.        <li class="masthead-nav-item">
  657.            <a
  658.                class="masthead-nav-control"
  659.                href="/login"
  660.            >Log In</a>
  661.        </li>
  662.        <li class="masthead-nav-item masthead-nav-join">
  663.            <a
  664.                class="btn-secondary
  665.                    join-cta-button"
  666.                href="/join"
  667.                data-analytics-action="SignUpClick"
  668.            >Sign Up</a>
  669.        </li>
  670.    
  671.  
  672.                    </ul>
  673.                </div>
  674.  
  675.                <div
  676.                    class="
  677.                        navlist
  678.                        navlist--more
  679.                        masthead-nav
  680.                        hidden-xs
  681.                    "
  682.                    data-require="components/primary-nav"
  683.                    data-more-string="More…"
  684.                >
  685.                    <ul
  686.                        class="js-navlist-items navlist-items"
  687.                        aria-label="Primary navigation"
  688.                    >
  689.                        
  690.    
  691.        <li class="masthead-nav-item masthead-nav-pro">
  692.            <a
  693.                class="masthead-nav-control masthead-pro-text"
  694.                href="/pro"
  695.                data-analytics-label="subscribe"
  696.                data-analytics-action="UserMenuClick"
  697.            >Upgrade to Pro</a>
  698.        </li>
  699.    
  700.    
  701.        <li class="masthead-nav-item">
  702.            <a
  703.                class="
  704.                    masthead-nav-control
  705.                    
  706.                "
  707.                href="/dashboard"
  708.                data-analytics-action="NavigationLink"
  709.                data-analytics-label="live"
  710.            >Live</a>
  711.        </li>
  712.    
  713.        <li class="masthead-nav-item">
  714.            <a
  715.                class="
  716.                    masthead-nav-control
  717.                    
  718.                "
  719.                href="/music"
  720.                data-analytics-action="NavigationLink"
  721.                data-analytics-label="music"
  722.            >Music</a>
  723.        </li>
  724.    
  725.        <li class="masthead-nav-item">
  726.            <a
  727.                class="
  728.                    masthead-nav-control
  729.                    
  730.                "
  731.                href="/charts"
  732.                data-analytics-action="NavigationLink"
  733.                data-analytics-label="charts"
  734.            >Charts</a>
  735.        </li>
  736.    
  737.        <li class="masthead-nav-item">
  738.            <a
  739.                class="
  740.                    masthead-nav-control
  741.                    
  742.                "
  743.                href="/events"
  744.                data-analytics-action="NavigationLink"
  745.                data-analytics-label="events"
  746.            >Events</a>
  747.        </li>
  748.    
  749.        <li class="masthead-nav-item">
  750.            <a
  751.                class="
  752.                    masthead-nav-control
  753.                    
  754.                "
  755.                href="/features"
  756.                data-analytics-action="NavigationLink"
  757.                data-analytics-label="features"
  758.            >Features</a>
  759.        </li>
  760.    
  761.  
  762.                    </ul>
  763.                </div>
  764.  
  765.                
  766.    
  767.  
  768.  
  769.                
  770.    
  771.        <ul
  772.            class="
  773.                site-auth
  774.                site-auth--anon
  775.                hidden-xs
  776.            "
  777.        >
  778.            
  779.    <li class="site-auth-item">
  780.        <a
  781.            class="site-auth-control"
  782.            href="/login"
  783.        >
  784.            Log In
  785.        </a>
  786.    </li>
  787.    <li class="site-auth-item">
  788.        <a
  789.            class="site-auth-control
  790.                   btn-secondary
  791.                   join-cta-button"
  792.            href="/join"
  793.            data-analytics-action="SignUpClick"
  794.        >
  795.            Sign Up
  796.        </a>
  797.    </li>
  798.  
  799.        </ul>
  800.    
  801.  
  802.  
  803.            
  804.        </div>
  805.    </nav>
  806.  
  807.    
  808.  
  809.    
  810.    
  811.  
  812.  
  813.    
  814.  
  815.    
  816.  
  817.    
  818.    <div
  819.        class=""
  820.        data-require="components/language-prompt"
  821.        data-lazy-load-content="/nagbar/language-prompt"
  822.    >
  823.    </div>
  824.  
  825.  
  826.    
  827.    
  828.    <div id="redirect-bar" data-require="core/redirect-bar">
  829.        <script id="redirect-bar-data" type="application/json">
  830.            {
  831.                "content": {
  832.                    "redirect": "Redirected from {link}."
  833.                },
  834.                
  835.                    "overlayColor": null
  836.                
  837.            }
  838.        </script>
  839.        <redirect-bar></redirect-bar>
  840.    </div>
  841.  
  842.    
  843.        
  844.    
  845.  
  846.  
  847.    
  848.    
  849.    
  850.    
  851.  
  852.    <header class="
  853.        header
  854.        
  855.        
  856.            header--overview
  857.        
  858.        
  859.        
  860.    ">
  861.        
  862.            <div class="header-background"></div>
  863.        
  864.  
  865.        
  866.    
  867.  
  868.  
  869.        <div class="container">
  870.            <div class="header-inner-wrap">
  871.                
  872.                <div class="header-info">
  873.                    
  874.        <h1 class="dashboard-header-heading">
  875.            Explore Top Music Powered by your Scrobbles
  876.        </h1>
  877.        <p class="dashboard-header-intro">
  878.            We bring together your favourite music services and join up listening, watching and sharing to connect your musical world.
  879.        </p>
  880.        <p class="dashboard-header-intro-2">
  881.            Below you can visualise, in real-time, the listening habits &amp; trends of Last.fm's global community. Go Explore.
  882.        </p>
  883.    
  884.                </div>
  885.            </div>
  886.        </div>
  887.    </header>
  888.  
  889.  
  890.  
  891.    
  892.    <div id="mantle_skin" class="adaptive-skin-container">
  893.        <div class="adaptive-skin-wrapper">
  894.            <div id="adSkinLeft" class="adaptive-skin-left"></div>
  895.            <div id="adSkinRight" class="adaptive-skin-right"></div>
  896.        </div>
  897.        
  898.  
  899.        
  900.  
  901.        
  902.    <div class="content-top">
  903.        <div class="content-top-inner-wrap">
  904.            
  905.  
  906.            <div class="container content-top-lower">
  907.                
  908.                    
  909.  
  910.  
  911.                
  912.  
  913.                
  914.  
  915.                
  916.                    
  917.                
  918.  
  919.                
  920.                    
  921.    
  922.  
  923.                
  924.  
  925.                
  926.            </div>
  927.        </div>
  928.    </div>
  929.  
  930.  
  931.        
  932.    <div class="container page-content">
  933.        
  934. <div class="dashboard">
  935.  
  936. <!-- SPIKE ARTIST -->
  937. <div class="kerve widget widget_spike"
  938. data-require="kerve/widgets/3-4-spikeartist"
  939. data-locale="en"
  940. data-locale-play="Play now"
  941. data-locale-plays="Plays"
  942. data-locale-title1="Spiking Artists"
  943. data-locale-title2="Similar Artists"
  944. data-locale-subtitle="XXX and their similar artists"
  945. data-user=""
  946. >
  947. <h2 class="widget_title">Spiking Artists</h2>
  948. <div class="spike_intro">
  949. <div class="spike_intro_copy">
  950. <strong>These artists are trending globally on Last.fm right now</strong><br />Click one to explore the artist and their similar artists
  951. </div>
  952. <div class="spike_intro_copy2"></div>
  953. </div>
  954. <div class="spikewrap">
  955. <div class="spikeartist"></div>
  956. </div>
  957. <div class="spike_details">
  958. <div class="spike_name"></div>
  959. <a class="spike_back"><span class="spike_back_arrow"><span></span></span>Back</a>
  960. <a class="spike_reset">Reset</a>
  961. </div>
  962. <div class="widget_label">
  963. <div class="label_result">
  964. <div class="label_scroll">
  965. <span class="label_span spike_result"></span>
  966. </div>
  967. </div>
  968. <div class="label_scrobbles spike_scrobbles"></div>
  969. </div>
  970. </div>
  971. <!-- SPIKING TRACKS -->
  972. <div class="kerve widget widget_genretoday widget_left"
  973. data-require="kerve/widgets/3-6-spikingtracks"
  974. data-locale="en"
  975. data-locale-play="Play now"
  976. >
  977. <h2 class="widget_title">Spiking Tracks</h2>
  978. <div class="widget_intro"><strong>The songs currently making the most waves across Last.fm worldwide</strong></div>
  979. <div class="genretodaywrap"></div>
  980. </div>
  981. <!-- ALL TIME SCROBBLES -->
  982. <div class="kerve widget widget_alltime"
  983. data-require="kerve/widgets/3-5-alltime"
  984. data-locale="en"
  985. data-locale-play="Play now"
  986. data-locale-plays="Plays"
  987. >
  988. <h2 class="widget_title">All Time Scrobbles</h2>
  989. <div class="widget_intro"><strong>A live global counter showing the total number of tracks listened to by Last.fm users since 2003</strong></div>
  990. <div class="alltimewrap">
  991. <div class="alltime_count rolling"></div>
  992. <div class="alltime_genrewrap">
  993.                    Last.fm is <span class="alltime_genre">...</span>
  994. </div>
  995. <div class="clearme"></div>
  996. </div>
  997. <div class="widget_label">
  998. <div class="label_result">
  999. <div class="label_scroll">
  1000. <span class="label_span alltime_result"></span>
  1001. </div>
  1002. </div>
  1003. <div class="label_scrobbles alltime_scrobbles"></div>
  1004. </div>
  1005. </div>
  1006. <!-- AROUND THE WORLD -->
  1007. <div class="kerve widget widget_world widget_left"
  1008. data-require="kerve/widgets/3-7-world"
  1009. data-locale="en"
  1010. data-locale-play="Play now"
  1011. data-locale-plays="Plays"
  1012. data-locale-none="Select a country for more info"
  1013. data-locale-error="No results for this country"
  1014. data-country="us"
  1015. >
  1016. <h2 class="widget_title">Around The World</h2>
  1017. <div class="widget_intro"><strong>What's being listened to right now and where? How popular is that track across the globe?</strong><br />Select a country to explore worldwide listening trends</div>
  1018. <div class="worldwrap noselect">
  1019. <div class="worldwrap2"><div class="worldwrap3">
  1020. <div class="world_bg"></div>
  1021. <!--<img class="world_img world_img_white_normal noselect" src="images/kerve/worldmap2_white.png" />-->
  1022. <img class="world_img world_img_white_retina noselect" src="/static/images/kerve/worldmap2_white@2x.b79bbc88c2d3.png" />
  1023. <!--<img class="world_img world_img_black_normal noselect" src="/static/images/kerve/worldmap2.4f4bd0f5b2fc.png" />-->
  1024. <img class="world_img world_img_black_retina noselect" src="/static/images/kerve/worldmap2@2x.827c37f104e0.png" />
  1025. <div class="world_x"></div>
  1026. <div class="world_y"></div>
  1027. <div class="world_handle"></div>
  1028. </div></div>
  1029. </div>
  1030. <div class="widget_label">
  1031. <div class="label_result">
  1032. <div class="label_scroll">
  1033. <span class="label_span world_result">
  1034. </div>
  1035. </div>
  1036. <div class="label_scrobbles world_scrobbles"></div>
  1037. </div>
  1038. </div>
  1039. <!-- TODAY'S MOST LOVED -->
  1040. <div class="kerve widget widget_loved"
  1041. data-require="kerve/widgets/3-2-loved"
  1042. data-locale="en"
  1043. data-locale-play="Play now"
  1044. data-locale-plays="Plays"
  1045. >
  1046. <h2 class="widget_title">Today's Most Loved</h2>
  1047. <div class="widget_intro"><strong>Tracks loved by the most listeners</strong><br />Hit play to see if you love it too</div>
  1048. <div class="lovedwrap">
  1049. <div class="lovedwrap2">
  1050. <div class="lovedcircle">
  1051. <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 256 256" preserveAspectRatio="none" style="width:256px;height:256px;top:0;left:0;">
  1052. <defs>
  1053. <pattern id="lovedstroke" patternUnits="userSpaceOnUse" width="256" height="256">
  1054. <image xlink:href="/static/images/kerve/loved_ringpiece@2x.4f34bd3b6450.png" width="256" height="256" />
  1055. </pattern>
  1056. </defs>
  1057. <circle cx="128" cy="128" r="119" id="loved_halo" fill="none" stroke-width="17" stroke="url(#lovedstroke)" stroke-dasharray="20,1000" transform="rotate(90,128,128)" />
  1058. </svg>
  1059. </div>
  1060. <div class="loved_middle">
  1061. <div class="loved_img"></div>
  1062. <div class="loved_img2"></div>
  1063. <div class="loved_heart"></div>
  1064. <!--<div class="loved_scrobbles"></div>-->
  1065. </div>
  1066. <a class="lovedleft"><span>Previous</span></a>
  1067. <a class="lovedright"><span>Next</span></a>
  1068. </div>
  1069. </div>
  1070. <div class="widget_label">
  1071. <div class="label_result">
  1072. <div class="label_scroll">
  1073. <span class="label_span loved_result"></span>
  1074. </div>
  1075. </div>
  1076. <div class="label_scrobbles loved_scrobbles"></div>
  1077. </div>
  1078. </div>
  1079.  
  1080. <!-- VENN -->
  1081. <div class="kerve widget widget_venn"
  1082. data-require="kerve/widgets/3-1-venn"
  1083. data-locale="en"
  1084. data-locale-play="Play now"
  1085. data-locale-plays="Plays"
  1086. data-locale-error="You&#39;re ahead of your time! Try a different combination"
  1087. data-locale-titles="
  1088. John Vennon - /music/John+Lennon,
  1089. Vennacious D - /music/Tenacious+D,
  1090. Sufjan Stevenns - /music/Sufjan+Stevens,
  1091. Vennrique Iglesias - /music/Enrique+Iglesias,
  1092. Venninem - /music/Eminem,
  1093. Boyz II Venn - /music/Boyz+II+Men,
  1094. Venn Howard - /music/Ben+Howard,
  1095. Of Monsters and Venn - /music/Of+Monsters+and+Men,
  1096. Venn Stefani - /music/gwen+stefani,
  1097. Venn Halen - /music/van+halen,
  1098. Venn Morrison - /music/van+morrison,
  1099. The Venndals - /music/the+vandals ,
  1100. Deafheavenn - /music/deafheaven ,
  1101. Public Vennemy - /music/public+enemy ,
  1102. Fun Lovenn’ Criminals - /music/Fun+Lovin'+Criminals,
  1103. Venngaboys - /music/Vengaboys,
  1104. Ludwig venn Beethoven - /music/Ludwig+van+Beethoven,
  1105. Milli Vennilli - /music/Milli+Vanilli,
  1106. Luther Venndross - /music/Luther+Vandross,
  1107. East Sevennteen - /music/East+17,
  1108. Venny Kravitz - /music/Lenny+Kravitz,
  1109. Vennetian Snares - /music/Venetian+Snares,
  1110. Calvenn Harris - /music/Calvin+Harris,
  1111. Cat Stevenns - /music/Cat+Stevens,
  1112. Avennged Sevennfold - /music/Avenged+Sevenfold,
  1113. St. Venncent - /music/St.+Vincent,
  1114. Venndrick Lamar - /music/Kendrick+Lamar,
  1115. Marvenn Gaye - /music/Marvin+Gaye,
  1116. Jimi Venndrix - /music/jimi+ hendrix,
  1117. Svenn Väth - /music/Sven+V%C3%A4th ,
  1118. Armin venn Buuren - /music/Armin+van+Buuren,
  1119. Paul venn Dyk - /music/Paul+van+Dyk,
  1120. Armand venn Helden - /music/Armand+van+Helden,
  1121. Sharon Venn Etten - /music/Sharon+Van+Etten,
  1122. Annie Vennox - /music/Annie+Lennox,
  1123. Devenndra Banhart - /music/Devendra+Banhart,
  1124. Shakin’ Stevenns - /music/Shakin'+Stevens,
  1125. Evennescence - /music/Evanescence
  1126. "
  1127. >
  1128. <h2 class="widget_title"><span class="venn_title">Venn</span>&nbsp;</h2>
  1129. <div class="widget_intro"><strong>Want to hear some 80s Electronic? How about some millennial Metal?</strong><br />Drag the circles to explore various sounds from different eras</div>
  1130. <div class="vennwrap noselect">
  1131. <div class="vennwrap2">
  1132. <div class="venn_img">
  1133. <div class="venn_mask"></div>
  1134. </div>
  1135. <div class="vennname vennname1"></div>
  1136. <div class="vennname vennname2"></div>
  1137. <div class="venn venn1" data-id="v1">
  1138. <div class="venn_rotate"><div class="handlewrap" data-id="v1"><div class="handle_hover"></div><div class="handle"></div></div></div>
  1139. </div>
  1140. <div class="venn venn2" data-id="v2">
  1141. <div class="venn_rotate"><div class="handlewrap" data-id="v2"><div class="handle_hover"></div><div class="handle"></div></div></div>
  1142. </div>
  1143. <div class="vennblock vennblock1"></div>
  1144. <div class="vennblock vennblock2"></div>
  1145. </div>
  1146. </div>
  1147. <div class="widget_label">
  1148. <div class="label_result">
  1149. <div class="label_scroll">
  1150. <span class="label_span venn_result"></span>
  1151. </div>
  1152. </div>
  1153. <div class="label_scrobbles venn_scrobbles"></div>
  1154. </div>
  1155. </div>
  1156.  
  1157. <!-- CLEAR FLOATS -->
  1158. <div class="clearme"></div>
  1159. </div>
  1160.  
  1161.    </div>
  1162.  
  1163.  
  1164.        
  1165.  
  1166.  
  1167.        
  1168.  
  1169.        
  1170.    </div>
  1171.  
  1172.    <div id="qa-page-load"></div>
  1173.  
  1174.    
  1175.    <footer class="footer" itemscope itemtype="http://schema.org/Organization">
  1176.        <link itemprop="url" href="https://www.last.fm">
  1177.  
  1178.        <div class="footer-top">
  1179.            <div class="container">
  1180.                <div class="footer-top-row">
  1181.                    <div class="footer-top-col">
  1182.                        <h2 class="footer-heading">Company</h2>
  1183.                        <ul class="footer-links">
  1184.                            <li><a href="/about">About Last.fm</a></li>
  1185.                            <li><a href="/about/contact">Contact Us</a></li>
  1186.                            <li><a href="/about/jobs">Jobs</a></li>
  1187.                        </ul>
  1188.                    </div>
  1189.  
  1190.                    <div class="footer-top-col">
  1191.                        <h2 class="footer-heading">Help</h2>
  1192.                        <ul class="footer-links">
  1193.                            <li><a href="/about/trackmymusic">Track My Music</a></li>
  1194.                            
  1195.                                <li><a href="https://support.last.fm/" target="_BLANK">Community Support</a></li>
  1196.                            
  1197.                            <li><a href="/help/guidelines">Community Guidelines</a></li>
  1198.                            
  1199.                                <li><a href="/help/faq" target="_BLANK">Help</a></li>
  1200.                            
  1201.                        </ul>
  1202.                    </div>
  1203.  
  1204.                    <div class="footer-top-col">
  1205.                        <h2 class="footer-heading">Goodies</h2>
  1206.                        <ul class="footer-links">
  1207.                            <li><a href="/about/trackmymusic">Download Scrobbler</a></li>
  1208.                            <li><a href="/api">Developer API</a></li>
  1209.                            <li><a href="/music/+free-music-downloads">Free Music Downloads</a></li>
  1210.                            <li><a href="https://store.last.fm">Merchandise</a></li>
  1211.                        </ul>
  1212.                    </div>
  1213.  
  1214.                    <div class="footer-top-col">
  1215.                        <h2 class="footer-heading">Account</h2>
  1216.                        <ul class="footer-links">
  1217.                            
  1218.                                <li><a href="/join">Sign Up</a></li>
  1219.                                <li><a href="/login">Log In</a></li>
  1220.                                <li><a href="/pro">Subscribe</a></li>
  1221.                            
  1222.                        </ul>
  1223.                    </div>
  1224.  
  1225.                    <div class="footer-top-col">
  1226.                        <h2 class="footer-heading">Follow Us</h2>
  1227.                        <ul class="footer-links">
  1228.                            <li><a itemprop="sameAs" target="_blank" href="https://www.facebook.com/lastfm">Facebook</a></li>
  1229.                            <li><a itemprop="sameAs" target="_blank" href="https://twitter.com/lastfm">Twitter</a></li>
  1230.                            <li><a itemprop="sameAs" target="_blank" href="https://www.instagram.com/last_fm">Instagram</a></li>
  1231.                            <li><a itemprop="sameAs" target="_blank" href="https://www.youtube.com/user/lastfm">YouTube</a></li>
  1232.                        </ul>
  1233.                    </div>
  1234.                </div>
  1235.            </div>
  1236.        </div>
  1237.  
  1238.        <div class="footer-bottom">
  1239.            <div class="container">
  1240.                <div class="row">
  1241.                    <div class="col-xs-12 col-sm-10">
  1242.                        <ul id="language-selector">
  1243.                            
  1244.                                
  1245.                                <li
  1246.                                    class="
  1247.                                        footer-language
  1248.                                        
  1249.                                            footer-language--active
  1250.                                        
  1251.                                    "
  1252.                                >
  1253.                                    
  1254.                                        <strong>English</strong><span class="sr-only">current language</span>
  1255.                                    
  1256.                                </li>
  1257.                            
  1258.                                
  1259.                                <li
  1260.                                    class="
  1261.                                        footer-language
  1262.                                        
  1263.                                    "
  1264.                                >
  1265.                                    
  1266.                                        <form class="footer-language-form" action="/i18n/setlang/" method="post">
  1267.                                            <input type="hidden" name="language" value="de" />
  1268.                                            <button class="mimic-link" name="de" type="submit">Deutsch</button>
  1269.                                        </form>
  1270.                                    
  1271.                                </li>
  1272.                            
  1273.                                
  1274.                                <li
  1275.                                    class="
  1276.                                        footer-language
  1277.                                        
  1278.                                    "
  1279.                                >
  1280.                                    
  1281.                                        <form class="footer-language-form" action="/i18n/setlang/" method="post">
  1282.                                            <input type="hidden" name="language" value="es" />
  1283.                                            <button class="mimic-link" name="es" type="submit">Español</button>
  1284.                                        </form>
  1285.                                    
  1286.                                </li>
  1287.                            
  1288.                                
  1289.                                <li
  1290.                                    class="
  1291.                                        footer-language
  1292.                                        
  1293.                                    "
  1294.                                >
  1295.                                    
  1296.                                        <form class="footer-language-form" action="/i18n/setlang/" method="post">
  1297.                                            <input type="hidden" name="language" value="fr" />
  1298.                                            <button class="mimic-link" name="fr" type="submit">Français</button>
  1299.                                        </form>
  1300.                                    
  1301.                                </li>
  1302.                            
  1303.                                
  1304.                                <li
  1305.                                    class="
  1306.                                        footer-language
  1307.                                        
  1308.                                    "
  1309.                                >
  1310.                                    
  1311.                                        <form class="footer-language-form" action="/i18n/setlang/" method="post">
  1312.                                            <input type="hidden" name="language" value="it" />
  1313.                                            <button class="mimic-link" name="it" type="submit">Italiano</button>
  1314.                                        </form>
  1315.                                    
  1316.                                </li>
  1317.                            
  1318.                                
  1319.                                <li
  1320.                                    class="
  1321.                                        footer-language
  1322.                                        
  1323.                                    "
  1324.                                >
  1325.                                    
  1326.                                        <form class="footer-language-form" action="/i18n/setlang/" method="post">
  1327.                                            <input type="hidden" name="language" value="ja" />
  1328.                                            <button class="mimic-link" name="ja" type="submit">日本語</button>
  1329.                                        </form>
  1330.                                    
  1331.                                </li>
  1332.                            
  1333.                                
  1334.                                <li
  1335.                                    class="
  1336.                                        footer-language
  1337.                                        
  1338.                                    "
  1339.                                >
  1340.                                    
  1341.                                        <form class="footer-language-form" action="/i18n/setlang/" method="post">
  1342.                                            <input type="hidden" name="language" value="pl" />
  1343.                                            <button class="mimic-link" name="pl" type="submit">Polski</button>
  1344.                                        </form>
  1345.                                    
  1346.                                </li>
  1347.                            
  1348.                                
  1349.                                <li
  1350.                                    class="
  1351.                                        footer-language
  1352.                                        
  1353.                                    "
  1354.                                >
  1355.                                    
  1356.                                        <form class="footer-language-form" action="/i18n/setlang/" method="post">
  1357.                                            <input type="hidden" name="language" value="pt" />
  1358.                                            <button class="mimic-link" name="pt" type="submit">Português</button>
  1359.                                        </form>
  1360.                                    
  1361.                                </li>
  1362.                            
  1363.                                
  1364.                                <li
  1365.                                    class="
  1366.                                        footer-language
  1367.                                        
  1368.                                    "
  1369.                                >
  1370.                                    
  1371.                                        <form class="footer-language-form" action="/i18n/setlang/" method="post">
  1372.                                            <input type="hidden" name="language" value="ru" />
  1373.                                            <button class="mimic-link" name="ru" type="submit">Русский</button>
  1374.                                        </form>
  1375.                                    
  1376.                                </li>
  1377.                            
  1378.                                
  1379.                                <li
  1380.                                    class="
  1381.                                        footer-language
  1382.                                        
  1383.                                    "
  1384.                                >
  1385.                                    
  1386.                                        <form class="footer-language-form" action="/i18n/setlang/" method="post">
  1387.                                            <input type="hidden" name="language" value="sv" />
  1388.                                            <button class="mimic-link" name="sv" type="submit">Svenska</button>
  1389.                                        </form>
  1390.                                    
  1391.                                </li>
  1392.                            
  1393.                                
  1394.                                <li
  1395.                                    class="
  1396.                                        footer-language
  1397.                                        
  1398.                                    "
  1399.                                >
  1400.                                    
  1401.                                        <form class="footer-language-form" action="/i18n/setlang/" method="post">
  1402.                                            <input type="hidden" name="language" value="tr" />
  1403.                                            <button class="mimic-link" name="tr" type="submit">Türkçe</button>
  1404.                                        </form>
  1405.                                    
  1406.                                </li>
  1407.                            
  1408.                                
  1409.                                <li
  1410.                                    class="
  1411.                                        footer-language
  1412.                                        
  1413.                                    "
  1414.                                >
  1415.                                    
  1416.                                        <form class="footer-language-form" action="/i18n/setlang/" method="post">
  1417.                                            <input type="hidden" name="language" value="zh" />
  1418.                                            <button class="mimic-link" name="zh" type="submit">简体中文</button>
  1419.                                        </form>
  1420.                                    
  1421.                                </li>
  1422.                            
  1423.                        </ul>
  1424.  
  1425.                        <p class="footer-timezone">
  1426.                            
  1427.                                <span
  1428.                                    data-require="components/lazy-load-v3"
  1429.                                    data-lazy-load-content="/timezone"
  1430.                                    data-lazy-load-error-message="Timezone could not be loaded, try reloading the page."
  1431.                                >
  1432.  
  1433.                                </span>
  1434.                            
  1435.                        </p>
  1436.  
  1437.                        <div class="footer-legal">
  1438.                            <ul>
  1439.                                <li class="footer-legal-item"><a rel="nofollow" href="http://www.cbsinteractive.com/">CBS Interactive</a> © 2024 <span itemprop="name">Last.fm</span> Ltd. All rights reserved</li>
  1440.                                <li class="footer-legal-item"><a href="/legal/terms">Terms of Use</a></li>
  1441.                                <li class="footer-legal-item"><a href="/legal/privacy">Privacy Policy</a></li>
  1442.                                <li class="footer-legal-item"><a href="/legal">Legal Policies</a></li>
  1443.                                
  1444.                                    <li class="footer-legal-item"><a target="_blank" href="https://privacy.paramount.com/en/policy#additional-information-us-states">California Notice</a></li>
  1445.                                
  1446.                                
  1447.                                    
  1448.                                    <li class="footer-legal-item"><a class="ot-sdk-show-settings">Do Not Sell My Personal Information</a></li>
  1449.                                
  1450.                                <li class="footer-legal-item"><a target="_blank" href="https://careers.paramount.com/">Jobs at Paramount</a></li>
  1451.                                <li class="footer-legal-item"><a rel="nofollow" href="http://www.last.fm">Last.fm Music</a></li>
  1452.                            </ul>
  1453.                            
  1454.                        </div>
  1455.                    </div>
  1456.  
  1457.  
  1458.                    <div class="logo col-xs-12 col-sm-2">
  1459.                        <p>Audioscrobbler</p>
  1460.                        <img src="/static/images/footer_logo@2x.49ca51948b0a.png"
  1461.                             width="37"
  1462.                             height="20"
  1463.                             alt="Last.fm 'as' logo"
  1464.                             loading="lazy"
  1465.                        >
  1466.                    </div>
  1467.                </div>
  1468.            </div>
  1469.        </div>
  1470.    </footer>
  1471.  
  1472.  
  1473.    <section class="debug-log">
  1474.    <h2 class="debug-log-heading">API Calls</h2>
  1475.    
  1476. </section>
  1477.  
  1478.  
  1479.        </div>
  1480.        
  1481.    </div>
  1482.  
  1483.    
  1484.        <div
  1485.            data-require="player/providers/spotify/spotify-provider"
  1486.            data-spotify-auth-modal="/player/modal/spotify"
  1487.            data-spotify-premium-modal="/player/modal/spotify-premium"
  1488.            data-spotify-inactive-modal="/player/modal/spotify-inactive"
  1489.            data-spotify-initial-device-modal="/player/modal/spotify-initial-device-detection"
  1490.        ></div>
  1491.  
  1492.        <div
  1493.            data-require="player/providers/youtube/youtube-provider"
  1494.            class="video-player"
  1495.            aria-hidden="true"
  1496.            id="youtube-video"
  1497.        >
  1498.            <div class="video-player-inner-wrap">
  1499.                <div class="video-player-embed js-player"></div>
  1500.                <button class="
  1501.                    video-player-close
  1502.                    js-close-player
  1503.                ">Close</button>
  1504.            </div>
  1505.        </div>
  1506.    
  1507.  
  1508.  
  1509.        
  1510.            
  1511.        
  1512.        
  1513.            
  1514.                
  1515.                    
  1516.                        
  1517.    
  1518.        <div
  1519.            id="amplified_100006141"
  1520.            class="
  1521.                tonefuze
  1522.                
  1523.                    tonefuze--mobile
  1524.                    visible-xs
  1525.                
  1526.                
  1527.                
  1528.            "
  1529.            data-require="
  1530.                ads/tonefuze
  1531.                
  1532.            "
  1533.  
  1534.            
  1535.                id="tonefuze-mobile"
  1536.                data-tonefuze-id=100006141
  1537.            
  1538.  
  1539.            
  1540.                
  1541.                data-tonefuze-artist="Ariana Grande"
  1542.            
  1543.  
  1544.            data-tonefuze-flex="True"
  1545.        >
  1546.            
  1547.        </div>
  1548.    
  1549.  
  1550.                    
  1551.                
  1552.                
  1553.                    <div id="sticky-ad-container"
  1554.                         class="sticky-ad-container"
  1555.                         data-ad-container
  1556.                         data-require="ads/ad-placement-helper">
  1557.                        <button id="sticky-ad-disclose-button"
  1558.                                aria-expanded="true"
  1559.                                aria-controls="sticky-ad-container"
  1560.                                data-disclose-autoclose=""
  1561.                                class="disclose-trigger disclose-active">
  1562.                            Close
  1563.                        </button>
  1564.                        
  1565.    
  1566.        
  1567.        
  1568.            <div
  1569.                    id="omni_leaderboard_sticky"
  1570.                    data-ad="omni_leaderboard_sticky"
  1571.                    class="omni_leaderboard_sticky lastfm-ad"
  1572.                    
  1573.                    data-ads-placement='{&#34;id&#34;: &#34;omni_leaderboard_sticky&#34;, &#34;sizes&#34;: [[6, 6], [728, 90]]}'>
  1574.            </div>
  1575.        
  1576.        
  1577.    
  1578.  
  1579.                        
  1580.    
  1581.        
  1582.        
  1583.            <div
  1584.                    id="mobile_omni_plus_sticky"
  1585.                    data-ad="mobile_omni_plus_sticky"
  1586.                    class="mobile_omni_plus_sticky lastfm-ad-mobile"
  1587.                    
  1588.                    data-ads-placement='{&#34;id&#34;: &#34;mobile_omni_plus_sticky&#34;, &#34;sizes&#34;: [[320, 50], [6, 6]], &#34;is_mobile&#34;: true}'>
  1589.            </div>
  1590.        
  1591.        
  1592.    
  1593.  
  1594.                    </div>
  1595.                
  1596.            
  1597.  
  1598.        
  1599.  
  1600.        <script class="js-modal-template" type="text/template">
  1601.            <div class="modal-dialog" role="dialog" aria-labelledby="modal-label">
  1602.                <div class="modal-content" data-require="stats/base-v3">
  1603.                    <div class="modal-actions">
  1604.                        
  1605.                        <div class="modal-buttons">
  1606.                            <button class="modal-action-button modal-download js-download sr-only hidden"
  1607.                                data-analytics-social=""
  1608.                                target="_blank" href="#"
  1609.                                data-modal-action="download-image"
  1610.                            >
  1611.                                Download
  1612.                            </button>
  1613.                            <button class="modal-action-button modal-dismiss js-close sr-only hidden">Close</button>
  1614.                        </div>
  1615.                    </div>
  1616.                    <div js-modal-body class="modal-body">
  1617.                    </div>
  1618.                </div>
  1619.            </div>
  1620.        </script>
  1621.  
  1622.        <script>
  1623.            var immediateUseBidBarrelFunctions = ['auction', 'initialize', 'setTargeting', 'destroySlots', 'setConfig', 'on', 'setLazyLoad'];
  1624.            (function(a){
  1625.                var w=window,b='BidBarrel',q='queue';w[b]=w[b]?w[b]:{};w[b][q]=w[b][q]?w[b][q]:[];
  1626.                a.forEach(function(z){w[b][z]=w[b][z]||function(){var c=arguments;w[b][q].push(function(r){w[b][z].apply(w[b],c);r()})}});
  1627.            })(immediateUseBidBarrelFunctions);
  1628.        </script><script id="bb-lib" async src="https://at.cbsi.com/lib/dist/prod/bidbarrel-lastfm.min.js"></script>
  1629.        
  1630.            <script class="js-adblock-message-template" type="text/template">
  1631.                
  1632.    
  1633.    <div><div>
  1634.        <section class="
  1635.            adblock-message
  1636.            adblock-message--adfree
  1637.            link-block
  1638.            js-link-block
  1639.        ">
  1640.            <p class="adblock-message-body">
  1641.                
  1642.                    <strong>Browse ad-free</strong> with a premium Last.fm account
  1643.                
  1644.            </p>
  1645.            
  1646.            <a
  1647.                class="adblock-message-button link-block-target"
  1648.                href="/pro"
  1649.                data-analytics-action="SubscribeClick"
  1650.                data-analytics-label="AdblockMessageAdfree"
  1651.            >Find out more</a>
  1652.            <a
  1653.                href="/pro"
  1654.                class="
  1655.                    js-link-block-cover-link
  1656.                    link-block-cover-link
  1657.                "
  1658.                tabindex="-1"
  1659.                aria-hidden="true"
  1660.                data-analytics-action="SubscribeClick"
  1661.                data-analytics-label="AdblockMessageAdfree"
  1662.            ></a>
  1663.        </section>
  1664.    </div></div>
  1665.  
  1666.            </script>
  1667.            <script class="js-adblock-message-template" type="text/template">
  1668.                
  1669.    
  1670.    <div><div>
  1671.        <section class="
  1672.            adblock-message
  1673.            adblock-message--support
  1674.            link-block
  1675.            js-link-block
  1676.        ">
  1677.            <p class="adblock-message-body">
  1678.                
  1679.                    <strong>Show your support</strong> with a premium Last.fm account
  1680.                
  1681.            </p>
  1682.            
  1683.            <a
  1684.                class="adblock-message-button link-block-target"
  1685.                href="/pro"
  1686.                data-analytics-action="SubscribeClick"
  1687.                data-analytics-label="AdblockMessageSupport"
  1688.            >Find out more</a>
  1689.            <a
  1690.                href="/pro"
  1691.                class="
  1692.                    js-link-block-cover-link
  1693.                    link-block-cover-link
  1694.                "
  1695.                tabindex="-1"
  1696.                aria-hidden="true"
  1697.                data-analytics-action="SubscribeClick"
  1698.                data-analytics-label="AdblockMessageSupport"
  1699.            ></a>
  1700.        </section>
  1701.    </div></div>
  1702.  
  1703.            </script>
  1704.            <script class="js-adblock-message-template" type="text/template">
  1705.                
  1706.    
  1707.    <div><div>
  1708.        <section class="
  1709.            adblock-message
  1710.            adblock-message--benefits
  1711.            link-block
  1712.            js-link-block
  1713.        ">
  1714.            <p class="adblock-message-body">
  1715.                
  1716.                    <strong>Get exclusive benefits</strong> with a premium Last.fm account
  1717.                
  1718.            </p>
  1719.            
  1720.            <a
  1721.                class="adblock-message-button link-block-target"
  1722.                href="/pro"
  1723.                data-analytics-action="SubscribeClick"
  1724.                data-analytics-label="AdblockMessageBenefits"
  1725.            >Find out more</a>
  1726.            <a
  1727.                href="/pro"
  1728.                class="
  1729.                    js-link-block-cover-link
  1730.                    link-block-cover-link
  1731.                "
  1732.                tabindex="-1"
  1733.                aria-hidden="true"
  1734.                data-analytics-action="SubscribeClick"
  1735.                data-analytics-label="AdblockMessageBenefits"
  1736.            ></a>
  1737.        </section>
  1738.    </div></div>
  1739.  
  1740.            </script>
  1741.        
  1742.  
  1743.        <script>
  1744.            window.lfmDomReadyCallback && window.lfmDomReadyCallback();
  1745.            window.lfmDomReady = true;
  1746.        </script>
  1747.        
  1748.            <link
  1749.                href="/static/styles/build/app-8cb4887ac6.9f0a0b11cac0.css"
  1750.                rel="preload"
  1751.                as="style"
  1752.                charset="utf-8"
  1753.                data-require="shim/rel-preload"
  1754.                media="(min-width: 768px)"
  1755.            >
  1756.        
  1757.    </body>
  1758. </html>
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda