diff --git a/htdocs/assets/index.js b/htdocs/assets/index.js index 4f76f024..fb4cb84a 100644 --- a/htdocs/assets/index.js +++ b/htdocs/assets/index.js @@ -47,14 +47,14 @@ * vue-router v4.2.5 * (c) 2023 Eduardo San Martin Morote * @license MIT - */const Ns=typeof window<"u";function jT(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const lt=Object.assign;function ju(e,t){const n={};for(const r in t){const s=t[r];n[r]=Kn(s)?s.map(e):e(s)}return n}const Yo=()=>{},Kn=Array.isArray,qT=/\/$/,WT=e=>e.replace(qT,"");function qu(e,t,n="/"){let r,s={},o="",i="";const a=t.indexOf("#");let l=t.indexOf("?");return a=0&&(l=-1),l>-1&&(r=t.slice(0,l),o=t.slice(l+1,a>-1?a:t.length),s=e(o)),a>-1&&(r=r||t.slice(0,a),i=t.slice(a,t.length)),r=YT(r??t,n),{fullPath:r+(o&&"?")+o+i,path:r,query:s,hash:i}}function GT(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Yp(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function KT(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&ao(t.matched[r],n.matched[s])&&Jv(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function ao(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Jv(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!ZT(e[n],t[n]))return!1;return!0}function ZT(e,t){return Kn(e)?Jp(e,t):Kn(t)?Jp(t,e):e===t}function Jp(e,t){return Kn(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function YT(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let o=n.length-1,i,a;for(i=0;i1&&o--;else break;return n.slice(0,o).join("/")+"/"+r.slice(i-(i===r.length?1:0)).join("/")}var gi;(function(e){e.pop="pop",e.push="push"})(gi||(gi={}));var Jo;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Jo||(Jo={}));function JT(e){if(!e)if(Ns){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),WT(e)}const XT=/^[^#]+#/;function QT(e,t){return e.replace(XT,"#")+t}function eO(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const lu=()=>({left:window.pageXOffset,top:window.pageYOffset});function tO(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=eO(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function Xp(e,t){return(history.state?history.state.position-t:-1)+e}const Xc=new Map;function nO(e,t){Xc.set(e,t)}function rO(e){const t=Xc.get(e);return Xc.delete(e),t}let sO=()=>location.protocol+"//"+location.host;function Xv(e,t){const{pathname:n,search:r,hash:s}=t,o=e.indexOf("#");if(o>-1){let a=s.includes(e.slice(o))?e.slice(o).length:1,l=s.slice(a);return l[0]!=="/"&&(l="/"+l),Yp(l,"")}return Yp(n,e)+r+s}function oO(e,t,n,r){let s=[],o=[],i=null;const a=({state:f})=>{const p=Xv(e,location),h=n.value,_=t.value;let b=0;if(f){if(n.value=p,t.value=f,i&&i===h){i=null;return}b=_?f.position-_.position:0}else r(p);s.forEach(C=>{C(n.value,h,{delta:b,type:gi.pop,direction:b?b>0?Jo.forward:Jo.back:Jo.unknown})})};function l(){i=n.value}function c(f){s.push(f);const p=()=>{const h=s.indexOf(f);h>-1&&s.splice(h,1)};return o.push(p),p}function d(){const{history:f}=window;f.state&&f.replaceState(lt({},f.state,{scroll:lu()}),"")}function m(){for(const f of o)f();o=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",d)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",d,{passive:!0}),{pauseListeners:l,listen:c,destroy:m}}function Qp(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?lu():null}}function iO(e){const{history:t,location:n}=window,r={value:Xv(e,n)},s={value:t.state};s.value||o(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(l,c,d){const m=e.indexOf("#"),f=m>-1?(n.host&&document.querySelector("base")?e:e.slice(m))+l:sO()+e+l;try{t[d?"replaceState":"pushState"](c,"",f),s.value=c}catch(p){console.error(p),n[d?"replace":"assign"](f)}}function i(l,c){const d=lt({},t.state,Qp(s.value.back,l,s.value.forward,!0),c,{position:s.value.position});o(l,d,!0),r.value=l}function a(l,c){const d=lt({},s.value,t.state,{forward:l,scroll:lu()});o(d.current,d,!0);const m=lt({},Qp(r.value,l,null),{position:d.position+1},c);o(l,m,!1),r.value=l}return{location:r,state:s,push:a,replace:i}}function aO(e){e=JT(e);const t=iO(e),n=oO(e,t.state,t.location,t.replace);function r(o,i=!0){i||n.pauseListeners(),history.go(o)}const s=lt({location:"",base:e,go:r,createHref:QT.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}function lO(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),aO(e)}function uO(e){return typeof e=="string"||e&&typeof e=="object"}function Qv(e){return typeof e=="string"||typeof e=="symbol"}const Or={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},e1=Symbol("");var eh;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(eh||(eh={}));function lo(e,t){return lt(new Error,{type:e,[e1]:!0},t)}function dr(e,t){return e instanceof Error&&e1 in e&&(t==null||!!(e.type&t))}const th="[^/]+?",cO={sensitive:!1,strict:!1,start:!0,end:!0},dO=/[.+*?^${}()[\]/\\]/g;function mO(e,t){const n=lt({},cO,t),r=[];let s=n.start?"^":"";const o=[];for(const c of e){const d=c.length?[]:[90];n.strict&&!c.length&&(s+="/");for(let m=0;mt.length?t.length===1&&t[0]===80?1:-1:0}function pO(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const hO={type:0,value:""},_O=/[a-zA-Z0-9_]/;function gO(e){if(!e)return[[]];if(e==="/")return[[hO]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(p){throw new Error(`ERR (${n})/"${c}": ${p}`)}let n=0,r=n;const s=[];let o;function i(){o&&s.push(o),o=[]}let a=0,l,c="",d="";function m(){c&&(n===0?o.push({type:0,value:c}):n===1||n===2||n===3?(o.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:c,regexp:d,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),c="")}function f(){c+=l}for(;a{i(w)}:Yo}function i(d){if(Qv(d)){const m=r.get(d);m&&(r.delete(d),n.splice(n.indexOf(m),1),m.children.forEach(i),m.alias.forEach(i))}else{const m=n.indexOf(d);m>-1&&(n.splice(m,1),d.record.name&&r.delete(d.record.name),d.children.forEach(i),d.alias.forEach(i))}}function a(){return n}function l(d){let m=0;for(;m=0&&(d.record.path!==n[m].record.path||!t1(d,n[m]));)m++;n.splice(m,0,d),d.record.name&&!sh(d)&&r.set(d.record.name,d)}function c(d,m){let f,p={},h,_;if("name"in d&&d.name){if(f=r.get(d.name),!f)throw lo(1,{location:d});_=f.record.name,p=lt(rh(m.params,f.keys.filter(w=>!w.optional).map(w=>w.name)),d.params&&rh(d.params,f.keys.map(w=>w.name))),h=f.stringify(p)}else if("path"in d)h=d.path,f=n.find(w=>w.re.test(h)),f&&(p=f.parse(h),_=f.record.name);else{if(f=m.name?r.get(m.name):n.find(w=>w.re.test(m.path)),!f)throw lo(1,{location:d,currentLocation:m});_=f.record.name,p=lt({},m.params,d.params),h=f.stringify(p)}const b=[];let C=f;for(;C;)b.unshift(C.record),C=C.parent;return{name:_,path:h,params:p,matched:b,meta:CO(b)}}return e.forEach(d=>o(d)),{addRoute:o,resolve:c,removeRoute:i,getRoutes:a,getRecordMatcher:s}}function rh(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function bO(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:zO(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function zO(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function sh(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function CO(e){return e.reduce((t,n)=>lt(t,n.meta),{})}function oh(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function t1(e,t){return t.children.some(n=>n===e||t1(e,n))}const n1=/#/g,wO=/&/g,kO=/\//g,xO=/=/g,EO=/\?/g,r1=/\+/g,SO=/%5B/g,$O=/%5D/g,s1=/%5E/g,AO=/%60/g,o1=/%7B/g,TO=/%7C/g,i1=/%7D/g,OO=/%20/g;function Cm(e){return encodeURI(""+e).replace(TO,"|").replace(SO,"[").replace($O,"]")}function DO(e){return Cm(e).replace(o1,"{").replace(i1,"}").replace(s1,"^")}function Qc(e){return Cm(e).replace(r1,"%2B").replace(OO,"+").replace(n1,"%23").replace(wO,"%26").replace(AO,"`").replace(o1,"{").replace(i1,"}").replace(s1,"^")}function PO(e){return Qc(e).replace(xO,"%3D")}function IO(e){return Cm(e).replace(n1,"%23").replace(EO,"%3F")}function FO(e){return e==null?"":IO(e).replace(kO,"%2F")}function Cl(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function RO(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;so&&Qc(o)):[r&&Qc(r)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+n,o!=null&&(t+="="+o))})}return t}function LO(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=Kn(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}const NO=Symbol(""),ah=Symbol(""),wm=Symbol(""),a1=Symbol(""),ed=Symbol("");function $o(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Mr(e,t,n,r,s){const o=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((i,a)=>{const l=m=>{m===!1?a(lo(4,{from:n,to:t})):m instanceof Error?a(m):uO(m)?a(lo(2,{from:t,to:m})):(o&&r.enterCallbacks[s]===o&&typeof m=="function"&&o.push(m),i())},c=e.call(r&&r.instances[s],t,n,l);let d=Promise.resolve(c);e.length<3&&(d=d.then(l)),d.catch(m=>a(m))})}function Wu(e,t,n,r){const s=[];for(const o of e)for(const i in o.components){let a=o.components[i];if(!(t!=="beforeRouteEnter"&&!o.instances[i]))if(MO(a)){const c=(a.__vccOpts||a)[t];c&&s.push(Mr(c,n,r,o,i))}else{let l=a();s.push(()=>l.then(c=>{if(!c)return Promise.reject(new Error(`Couldn't resolve component "${i}" at "${o.path}"`));const d=jT(c)?c.default:c;o.components[i]=d;const f=(d.__vccOpts||d)[t];return f&&Mr(f,n,r,o,i)()}))}}return s}function MO(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function lh(e){const t=jn(wm),n=jn(a1),r=Lt(()=>t.resolve(yn(e.to))),s=Lt(()=>{const{matched:l}=r.value,{length:c}=l,d=l[c-1],m=n.matched;if(!d||!m.length)return-1;const f=m.findIndex(ao.bind(null,d));if(f>-1)return f;const p=uh(l[c-2]);return c>1&&uh(d)===p&&m[m.length-1].path!==p?m.findIndex(ao.bind(null,l[c-2])):f}),o=Lt(()=>s.value>-1&&BO(n.params,r.value.params)),i=Lt(()=>s.value>-1&&s.value===n.matched.length-1&&Jv(n.params,r.value.params));function a(l={}){return UO(l)?t[yn(e.replace)?"replace":"push"](yn(e.to)).catch(Yo):Promise.resolve()}return{route:r,href:Lt(()=>r.value.href),isActive:o,isExactActive:i,navigate:a}}const VO=zr({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:lh,setup(e,{slots:t}){const n=mo(lh(e)),{options:r}=jn(wm),s=Lt(()=>({[ch(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[ch(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&t.default(n);return e.custom?o:tr("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}}),HO=VO;function UO(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function BO(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!Kn(s)||s.length!==r.length||r.some((o,i)=>o!==s[i]))return!1}return!0}function uh(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const ch=(e,t,n)=>e??t??n,jO=zr({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=jn(ed),s=Lt(()=>e.route||r.value),o=jn(ah,0),i=Lt(()=>{let c=yn(o);const{matched:d}=s.value;let m;for(;(m=d[c])&&!m.components;)c++;return c}),a=Lt(()=>s.value.matched[i.value]);jo(ah,Lt(()=>i.value+1)),jo(NO,a),jo(ed,s);const l=sr();return bn(()=>[l.value,a.value,e.name],([c,d,m],[f,p,h])=>{d&&(d.instances[m]=c,p&&p!==d&&c&&c===f&&(d.leaveGuards.size||(d.leaveGuards=p.leaveGuards),d.updateGuards.size||(d.updateGuards=p.updateGuards))),c&&d&&(!p||!ao(d,p)||!f)&&(d.enterCallbacks[m]||[]).forEach(_=>_(c))},{flush:"post"}),()=>{const c=s.value,d=e.name,m=a.value,f=m&&m.components[d];if(!f)return dh(n.default,{Component:f,route:c});const p=m.props[d],h=p?p===!0?c.params:typeof p=="function"?p(c):p:null,b=tr(f,lt({},h,t,{onVnodeUnmounted:C=>{C.component.isUnmounted&&(m.instances[d]=null)},ref:l}));return dh(n.default,{Component:b,route:c})||b}}});function dh(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const qO=jO;function WO(e){const t=vO(e.routes,e),n=e.parseQuery||RO,r=e.stringifyQuery||ih,s=e.history,o=$o(),i=$o(),a=$o(),l=Id(Or);let c=Or;Ns&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const d=ju.bind(null,W=>""+W),m=ju.bind(null,FO),f=ju.bind(null,Cl);function p(W,ue){let ie,ge;return Qv(W)?(ie=t.getRecordMatcher(W),ge=ue):ge=W,t.addRoute(ge,ie)}function h(W){const ue=t.getRecordMatcher(W);ue&&t.removeRoute(ue)}function _(){return t.getRoutes().map(W=>W.record)}function b(W){return!!t.getRecordMatcher(W)}function C(W,ue){if(ue=lt({},ue||l.value),typeof W=="string"){const O=qu(n,W,ue.path),H=t.resolve({path:O.path},ue),Y=s.createHref(O.fullPath);return lt(O,H,{params:f(H.params),hash:Cl(O.hash),redirectedFrom:void 0,href:Y})}let ie;if("path"in W)ie=lt({},W,{path:qu(n,W.path,ue.path).path});else{const O=lt({},W.params);for(const H in O)O[H]==null&&delete O[H];ie=lt({},W,{params:m(O)}),ue.params=m(ue.params)}const ge=t.resolve(ie,ue),Ve=W.hash||"";ge.params=d(f(ge.params));const Ke=GT(r,lt({},W,{hash:DO(Ve),path:ge.path})),A=s.createHref(Ke);return lt({fullPath:Ke,hash:Ve,query:r===ih?LO(W.query):W.query||{}},ge,{redirectedFrom:void 0,href:A})}function w(W){return typeof W=="string"?qu(n,W,l.value.path):lt({},W)}function v(W,ue){if(c!==W)return lo(8,{from:ue,to:W})}function z(W){return N(W)}function S(W){return z(lt(w(W),{replace:!0}))}function x(W){const ue=W.matched[W.matched.length-1];if(ue&&ue.redirect){const{redirect:ie}=ue;let ge=typeof ie=="function"?ie(W):ie;return typeof ge=="string"&&(ge=ge.includes("?")||ge.includes("#")?ge=w(ge):{path:ge},ge.params={}),lt({query:W.query,hash:W.hash,params:"path"in ge?{}:W.params},ge)}}function N(W,ue){const ie=c=C(W),ge=l.value,Ve=W.state,Ke=W.force,A=W.replace===!0,O=x(ie);if(O)return N(lt(w(O),{state:typeof O=="object"?lt({},Ve,O.state):Ve,force:Ke,replace:A}),ue||ie);const H=ie;H.redirectedFrom=ue;let Y;return!Ke&&KT(r,ge,ie)&&(Y=lo(16,{to:H,from:ge}),We(ge,ge,!0,!1)),(Y?Promise.resolve(Y):L(H,ge)).catch(K=>dr(K)?dr(K,2)?K:Je(K):oe(K,H,ge)).then(K=>{if(K){if(dr(K,2))return N(lt({replace:A},w(K.to),{state:typeof K.to=="object"?lt({},Ve,K.to.state):Ve,force:Ke}),ue||H)}else K=B(H,ge,!0,A,Ve);return Z(H,ge,K),K})}function D(W,ue){const ie=v(W,ue);return ie?Promise.reject(ie):Promise.resolve()}function P(W){const ue=pt.values().next().value;return ue&&typeof ue.runWithContext=="function"?ue.runWithContext(W):W()}function L(W,ue){let ie;const[ge,Ve,Ke]=GO(W,ue);ie=Wu(ge.reverse(),"beforeRouteLeave",W,ue);for(const O of ge)O.leaveGuards.forEach(H=>{ie.push(Mr(H,W,ue))});const A=D.bind(null,W,ue);return ie.push(A),Ne(ie).then(()=>{ie=[];for(const O of o.list())ie.push(Mr(O,W,ue));return ie.push(A),Ne(ie)}).then(()=>{ie=Wu(Ve,"beforeRouteUpdate",W,ue);for(const O of Ve)O.updateGuards.forEach(H=>{ie.push(Mr(H,W,ue))});return ie.push(A),Ne(ie)}).then(()=>{ie=[];for(const O of Ke)if(O.beforeEnter)if(Kn(O.beforeEnter))for(const H of O.beforeEnter)ie.push(Mr(H,W,ue));else ie.push(Mr(O.beforeEnter,W,ue));return ie.push(A),Ne(ie)}).then(()=>(W.matched.forEach(O=>O.enterCallbacks={}),ie=Wu(Ke,"beforeRouteEnter",W,ue),ie.push(A),Ne(ie))).then(()=>{ie=[];for(const O of i.list())ie.push(Mr(O,W,ue));return ie.push(A),Ne(ie)}).catch(O=>dr(O,8)?O:Promise.reject(O))}function Z(W,ue,ie){a.list().forEach(ge=>P(()=>ge(W,ue,ie)))}function B(W,ue,ie,ge,Ve){const Ke=v(W,ue);if(Ke)return Ke;const A=ue===Or,O=Ns?history.state:{};ie&&(ge||A?s.replace(W.fullPath,lt({scroll:A&&O&&O.scroll},Ve)):s.push(W.fullPath,Ve)),l.value=W,We(W,ue,ie,A),Je()}let q;function X(){q||(q=s.listen((W,ue,ie)=>{if(!ht.listening)return;const ge=C(W),Ve=x(ge);if(Ve){N(lt(Ve,{replace:!0}),ge).catch(Yo);return}c=ge;const Ke=l.value;Ns&&nO(Xp(Ke.fullPath,ie.delta),lu()),L(ge,Ke).catch(A=>dr(A,12)?A:dr(A,2)?(N(A.to,ge).then(O=>{dr(O,20)&&!ie.delta&&ie.type===gi.pop&&s.go(-1,!1)}).catch(Yo),Promise.reject()):(ie.delta&&s.go(-ie.delta,!1),oe(A,ge,Ke))).then(A=>{A=A||B(ge,Ke,!1),A&&(ie.delta&&!dr(A,8)?s.go(-ie.delta,!1):ie.type===gi.pop&&dr(A,20)&&s.go(-1,!1)),Z(ge,Ke,A)}).catch(Yo)}))}let pe=$o(),G=$o(),re;function oe(W,ue,ie){Je(W);const ge=G.list();return ge.length?ge.forEach(Ve=>Ve(W,ue,ie)):console.error(W),Promise.reject(W)}function Be(){return re&&l.value!==Or?Promise.resolve():new Promise((W,ue)=>{pe.add([W,ue])})}function Je(W){return re||(re=!W,X(),pe.list().forEach(([ue,ie])=>W?ie(W):ue()),pe.reset()),W}function We(W,ue,ie,ge){const{scrollBehavior:Ve}=e;if(!Ns||!Ve)return Promise.resolve();const Ke=!ie&&rO(Xp(W.fullPath,0))||(ge||!ie)&&history.state&&history.state.scroll||null;return fo().then(()=>Ve(W,ue,Ke)).then(A=>A&&tO(A)).catch(A=>oe(A,W,ue))}const Ue=W=>s.go(W);let dt;const pt=new Set,ht={currentRoute:l,listening:!0,addRoute:p,removeRoute:h,hasRoute:b,getRoutes:_,resolve:C,options:e,push:z,replace:S,go:Ue,back:()=>Ue(-1),forward:()=>Ue(1),beforeEach:o.add,beforeResolve:i.add,afterEach:a.add,onError:G.add,isReady:Be,install(W){const ue=this;W.component("RouterLink",HO),W.component("RouterView",qO),W.config.globalProperties.$router=ue,Object.defineProperty(W.config.globalProperties,"$route",{enumerable:!0,get:()=>yn(l)}),Ns&&!dt&&l.value===Or&&(dt=!0,z(s.location).catch(Ve=>{}));const ie={};for(const Ve in Or)Object.defineProperty(ie,Ve,{get:()=>l.value[Ve],enumerable:!0});W.provide(wm,ue),W.provide(a1,$d(ie)),W.provide(ed,l);const ge=W.unmount;pt.add(W),W.unmount=function(){pt.delete(W),pt.size<1&&(c=Or,q&&q(),q=null,l.value=Or,dt=!1,re=!1),ge()}}};function Ne(W){return W.reduce((ue,ie)=>ue.then(()=>P(ie)),Promise.resolve())}return ht}function GO(e,t){const n=[],r=[],s=[],o=Math.max(t.matched.length,e.matched.length);for(let i=0;iao(c,a))?r.push(a):n.push(a));const l=e.matched[i];l&&(t.matched.find(c=>ao(c,l))||s.push(l))}return[n,r,s]}const KO={name:"PageAbout",computed:{config(){return this.$store.state.config},library(){return this.$store.state.library}},methods:{showUpdateDialog(){this.$store.commit(bi,!0)}}},ZO={class:"section"},YO={class:"container"},JO={class:"columns is-centered"},XO={class:"column is-four-fifths has-text-centered-mobile"},QO=["textContent"],e3={class:"section"},t3={class:"container"},n3={class:"columns is-centered"},r3={class:"column is-four-fifths"},s3={class:"content"},o3={class:"level is-mobile"},i3={class:"level-left"},a3={class:"level-item"},l3=["textContent"],u3={class:"level-right"},c3={key:0},d3=["textContent"],m3={key:1},f3=["textContent"],p3={class:"table"},h3=["textContent"],_3=["textContent"],g3=["textContent"],y3=["textContent"],v3=["textContent"],b3=["textContent"],z3=["textContent"],C3=["textContent"],w3=["textContent"],k3={class:"has-text-right"},x3=["textContent"],E3=["textContent"],S3=["textContent"],$3={class:"has-text-right"},A3=["textContent"],T3=["textContent"],O3={class:"section"},D3={class:"container"},P3={class:"columns is-centered"},I3={class:"column is-four-fifths"},F3={class:"content has-text-centered-mobile"},R3=["textContent"],L3=["textContent"],N3=u("a",{href:"https://bulma.io"},"Bulma",-1),M3=u("a",{href:"https://pictogrammers.com/library/mdi/"},"Material Design Icons",-1),V3=u("a",{href:"https://vuejs.org/"},"Vue.js",-1),H3=u("a",{href:"https://github.com/mzabriskie/axios"},"axios",-1),U3=["textContent"];function B3(e,t,n,r,s,o){const i=$("i18n-t");return k(),T("div",null,[u("section",ZO,[u("div",YO,[u("div",JO,[u("div",XO,[u("h1",{class:"title is-4",textContent:g(o.config.library_name)},null,8,QO)])])])]),u("section",e3,[u("div",t3,[u("div",n3,[u("div",r3,[u("div",s3,[u("nav",o3,[u("div",i3,[u("div",a3,[u("h2",{class:"title is-5",textContent:g(e.$t("page.about.library"))},null,8,l3)])]),u("div",u3,[o.library.updating?(k(),T("div",c3,[u("a",{class:"button is-small is-loading",textContent:g(e.$t("page.about.update"))},null,8,d3)])):(k(),T("div",m3,[u("a",{class:"button is-small",onClick:t[0]||(t[0]=a=>o.showUpdateDialog()),textContent:g(e.$t("page.about.update"))},null,8,f3)]))])]),u("table",p3,[u("tbody",null,[u("tr",null,[u("th",{class:"has-text-left",textContent:g(e.$t("page.about.artists"))},null,8,h3),u("td",{class:"has-text-right",textContent:g(e.$filters.number(o.library.artists))},null,8,_3)]),u("tr",null,[u("th",{class:"has-text-left",textContent:g(e.$t("page.about.albums"))},null,8,g3),u("td",{class:"has-text-right",textContent:g(e.$filters.number(o.library.albums))},null,8,y3)]),u("tr",null,[u("th",{class:"has-text-left",textContent:g(e.$t("page.about.tracks"))},null,8,v3),u("td",{class:"has-text-right",textContent:g(e.$filters.number(o.library.songs))},null,8,b3)]),u("tr",null,[u("th",{class:"has-text-left",textContent:g(e.$t("page.about.total-playtime"))},null,8,z3),u("td",{class:"has-text-right",textContent:g(e.$filters.durationInDays(o.library.db_playtime*1e3))},null,8,C3)]),u("tr",null,[u("th",{class:"has-text-left",textContent:g(e.$t("page.about.updated"))},null,8,w3),u("td",k3,[u("span",{textContent:g(e.$t("page.about.updated-on",{time:e.$filters.timeFromNow(o.library.updated_at)}))},null,8,x3),gt(" ("),u("span",{class:"has-text-grey",textContent:g(e.$filters.datetime(o.library.updated_at))},null,8,E3),gt(") ")])]),u("tr",null,[u("th",{class:"has-text-left",textContent:g(e.$t("page.about.uptime"))},null,8,S3),u("td",$3,[u("span",{textContent:g(e.$filters.timeFromNow(o.library.started_at,!0))},null,8,A3),gt(" ("),u("span",{class:"has-text-grey",textContent:g(e.$filters.datetime(o.library.started_at))},null,8,T3),gt(") ")])])])])])])])])]),u("section",O3,[u("div",D3,[u("div",P3,[u("div",I3,[u("div",F3,[u("p",{class:"is-size-7",textContent:g(e.$t("page.about.version",{version:o.config.version}))},null,8,R3),u("p",{class:"is-size-7",textContent:g(e.$t("page.about.compiled-with",{options:o.config.buildoptions.join(", ")}))},null,8,L3),y(i,{tag:"p",class:"is-size-7",keypath:"page.about.built-with",scope:"global"},{bulma:E(()=>[N3]),mdi:E(()=>[M3]),vuejs:E(()=>[V3]),axios:E(()=>[H3]),others:E(()=>[u("a",{href:"https://github.com/owntone/owntone-server/network/dependencies",textContent:g(e.$t("page.about.more"))},null,8,U3)]),_:1})])])])])])])}const j3=te(KO,[["render",B3]]),q3={},W3={class:"hero is-light is-bold"},G3={class:"hero-body"},K3={class:"container"},Z3={class:"columns is-centered"},Y3={class:"column is-four-fifths"},J3={class:"columns is-flex-direction-row-reverse"},X3={class:"column fd-has-cover"},Q3={class:"column m-auto is-three-fifths has-text-centered-mobile"},e4={class:"section pt-0"},t4={class:"container"},n4={class:"columns is-centered"},r4={class:"column is-four-fifths"};function s4(e,t){return k(),T(we,null,[u("section",W3,[u("div",G3,[u("div",K3,[u("div",Z3,[u("div",Y3,[u("div",J3,[u("div",X3,[it(e.$slots,"heading-right")]),u("div",Q3,[it(e.$slots,"heading-left")])])])])])])]),u("section",e4,[u("div",t4,[u("div",n4,[u("div",r4,[it(e.$slots,"content"),it(e.$slots,"footer")])])])])],64)}const uu=te(q3,[["render",s4]]);var l1={exports:{}},o4=[{value:"#B0171F",name:"indian red"},{value:"#DC143C",css:!0,name:"crimson"},{value:"#FFB6C1",css:!0,name:"lightpink"},{value:"#FFAEB9",name:"lightpink 1"},{value:"#EEA2AD",name:"lightpink 2"},{value:"#CD8C95",name:"lightpink 3"},{value:"#8B5F65",name:"lightpink 4"},{value:"#FFC0CB",css:!0,name:"pink"},{value:"#FFB5C5",name:"pink 1"},{value:"#EEA9B8",name:"pink 2"},{value:"#CD919E",name:"pink 3"},{value:"#8B636C",name:"pink 4"},{value:"#DB7093",css:!0,name:"palevioletred"},{value:"#FF82AB",name:"palevioletred 1"},{value:"#EE799F",name:"palevioletred 2"},{value:"#CD6889",name:"palevioletred 3"},{value:"#8B475D",name:"palevioletred 4"},{value:"#FFF0F5",name:"lavenderblush 1"},{value:"#FFF0F5",css:!0,name:"lavenderblush"},{value:"#EEE0E5",name:"lavenderblush 2"},{value:"#CDC1C5",name:"lavenderblush 3"},{value:"#8B8386",name:"lavenderblush 4"},{value:"#FF3E96",name:"violetred 1"},{value:"#EE3A8C",name:"violetred 2"},{value:"#CD3278",name:"violetred 3"},{value:"#8B2252",name:"violetred 4"},{value:"#FF69B4",css:!0,name:"hotpink"},{value:"#FF6EB4",name:"hotpink 1"},{value:"#EE6AA7",name:"hotpink 2"},{value:"#CD6090",name:"hotpink 3"},{value:"#8B3A62",name:"hotpink 4"},{value:"#872657",name:"raspberry"},{value:"#FF1493",name:"deeppink 1"},{value:"#FF1493",css:!0,name:"deeppink"},{value:"#EE1289",name:"deeppink 2"},{value:"#CD1076",name:"deeppink 3"},{value:"#8B0A50",name:"deeppink 4"},{value:"#FF34B3",name:"maroon 1"},{value:"#EE30A7",name:"maroon 2"},{value:"#CD2990",name:"maroon 3"},{value:"#8B1C62",name:"maroon 4"},{value:"#C71585",css:!0,name:"mediumvioletred"},{value:"#D02090",name:"violetred"},{value:"#DA70D6",css:!0,name:"orchid"},{value:"#FF83FA",name:"orchid 1"},{value:"#EE7AE9",name:"orchid 2"},{value:"#CD69C9",name:"orchid 3"},{value:"#8B4789",name:"orchid 4"},{value:"#D8BFD8",css:!0,name:"thistle"},{value:"#FFE1FF",name:"thistle 1"},{value:"#EED2EE",name:"thistle 2"},{value:"#CDB5CD",name:"thistle 3"},{value:"#8B7B8B",name:"thistle 4"},{value:"#FFBBFF",name:"plum 1"},{value:"#EEAEEE",name:"plum 2"},{value:"#CD96CD",name:"plum 3"},{value:"#8B668B",name:"plum 4"},{value:"#DDA0DD",css:!0,name:"plum"},{value:"#EE82EE",css:!0,name:"violet"},{value:"#FF00FF",vga:!0,name:"magenta"},{value:"#FF00FF",vga:!0,css:!0,name:"fuchsia"},{value:"#EE00EE",name:"magenta 2"},{value:"#CD00CD",name:"magenta 3"},{value:"#8B008B",name:"magenta 4"},{value:"#8B008B",css:!0,name:"darkmagenta"},{value:"#800080",vga:!0,css:!0,name:"purple"},{value:"#BA55D3",css:!0,name:"mediumorchid"},{value:"#E066FF",name:"mediumorchid 1"},{value:"#D15FEE",name:"mediumorchid 2"},{value:"#B452CD",name:"mediumorchid 3"},{value:"#7A378B",name:"mediumorchid 4"},{value:"#9400D3",css:!0,name:"darkviolet"},{value:"#9932CC",css:!0,name:"darkorchid"},{value:"#BF3EFF",name:"darkorchid 1"},{value:"#B23AEE",name:"darkorchid 2"},{value:"#9A32CD",name:"darkorchid 3"},{value:"#68228B",name:"darkorchid 4"},{value:"#4B0082",css:!0,name:"indigo"},{value:"#8A2BE2",css:!0,name:"blueviolet"},{value:"#9B30FF",name:"purple 1"},{value:"#912CEE",name:"purple 2"},{value:"#7D26CD",name:"purple 3"},{value:"#551A8B",name:"purple 4"},{value:"#9370DB",css:!0,name:"mediumpurple"},{value:"#AB82FF",name:"mediumpurple 1"},{value:"#9F79EE",name:"mediumpurple 2"},{value:"#8968CD",name:"mediumpurple 3"},{value:"#5D478B",name:"mediumpurple 4"},{value:"#483D8B",css:!0,name:"darkslateblue"},{value:"#8470FF",name:"lightslateblue"},{value:"#7B68EE",css:!0,name:"mediumslateblue"},{value:"#6A5ACD",css:!0,name:"slateblue"},{value:"#836FFF",name:"slateblue 1"},{value:"#7A67EE",name:"slateblue 2"},{value:"#6959CD",name:"slateblue 3"},{value:"#473C8B",name:"slateblue 4"},{value:"#F8F8FF",css:!0,name:"ghostwhite"},{value:"#E6E6FA",css:!0,name:"lavender"},{value:"#0000FF",vga:!0,css:!0,name:"blue"},{value:"#0000EE",name:"blue 2"},{value:"#0000CD",name:"blue 3"},{value:"#0000CD",css:!0,name:"mediumblue"},{value:"#00008B",name:"blue 4"},{value:"#00008B",css:!0,name:"darkblue"},{value:"#000080",vga:!0,css:!0,name:"navy"},{value:"#191970",css:!0,name:"midnightblue"},{value:"#3D59AB",name:"cobalt"},{value:"#4169E1",css:!0,name:"royalblue"},{value:"#4876FF",name:"royalblue 1"},{value:"#436EEE",name:"royalblue 2"},{value:"#3A5FCD",name:"royalblue 3"},{value:"#27408B",name:"royalblue 4"},{value:"#6495ED",css:!0,name:"cornflowerblue"},{value:"#B0C4DE",css:!0,name:"lightsteelblue"},{value:"#CAE1FF",name:"lightsteelblue 1"},{value:"#BCD2EE",name:"lightsteelblue 2"},{value:"#A2B5CD",name:"lightsteelblue 3"},{value:"#6E7B8B",name:"lightsteelblue 4"},{value:"#778899",css:!0,name:"lightslategray"},{value:"#708090",css:!0,name:"slategray"},{value:"#C6E2FF",name:"slategray 1"},{value:"#B9D3EE",name:"slategray 2"},{value:"#9FB6CD",name:"slategray 3"},{value:"#6C7B8B",name:"slategray 4"},{value:"#1E90FF",name:"dodgerblue 1"},{value:"#1E90FF",css:!0,name:"dodgerblue"},{value:"#1C86EE",name:"dodgerblue 2"},{value:"#1874CD",name:"dodgerblue 3"},{value:"#104E8B",name:"dodgerblue 4"},{value:"#F0F8FF",css:!0,name:"aliceblue"},{value:"#4682B4",css:!0,name:"steelblue"},{value:"#63B8FF",name:"steelblue 1"},{value:"#5CACEE",name:"steelblue 2"},{value:"#4F94CD",name:"steelblue 3"},{value:"#36648B",name:"steelblue 4"},{value:"#87CEFA",css:!0,name:"lightskyblue"},{value:"#B0E2FF",name:"lightskyblue 1"},{value:"#A4D3EE",name:"lightskyblue 2"},{value:"#8DB6CD",name:"lightskyblue 3"},{value:"#607B8B",name:"lightskyblue 4"},{value:"#87CEFF",name:"skyblue 1"},{value:"#7EC0EE",name:"skyblue 2"},{value:"#6CA6CD",name:"skyblue 3"},{value:"#4A708B",name:"skyblue 4"},{value:"#87CEEB",css:!0,name:"skyblue"},{value:"#00BFFF",name:"deepskyblue 1"},{value:"#00BFFF",css:!0,name:"deepskyblue"},{value:"#00B2EE",name:"deepskyblue 2"},{value:"#009ACD",name:"deepskyblue 3"},{value:"#00688B",name:"deepskyblue 4"},{value:"#33A1C9",name:"peacock"},{value:"#ADD8E6",css:!0,name:"lightblue"},{value:"#BFEFFF",name:"lightblue 1"},{value:"#B2DFEE",name:"lightblue 2"},{value:"#9AC0CD",name:"lightblue 3"},{value:"#68838B",name:"lightblue 4"},{value:"#B0E0E6",css:!0,name:"powderblue"},{value:"#98F5FF",name:"cadetblue 1"},{value:"#8EE5EE",name:"cadetblue 2"},{value:"#7AC5CD",name:"cadetblue 3"},{value:"#53868B",name:"cadetblue 4"},{value:"#00F5FF",name:"turquoise 1"},{value:"#00E5EE",name:"turquoise 2"},{value:"#00C5CD",name:"turquoise 3"},{value:"#00868B",name:"turquoise 4"},{value:"#5F9EA0",css:!0,name:"cadetblue"},{value:"#00CED1",css:!0,name:"darkturquoise"},{value:"#F0FFFF",name:"azure 1"},{value:"#F0FFFF",css:!0,name:"azure"},{value:"#E0EEEE",name:"azure 2"},{value:"#C1CDCD",name:"azure 3"},{value:"#838B8B",name:"azure 4"},{value:"#E0FFFF",name:"lightcyan 1"},{value:"#E0FFFF",css:!0,name:"lightcyan"},{value:"#D1EEEE",name:"lightcyan 2"},{value:"#B4CDCD",name:"lightcyan 3"},{value:"#7A8B8B",name:"lightcyan 4"},{value:"#BBFFFF",name:"paleturquoise 1"},{value:"#AEEEEE",name:"paleturquoise 2"},{value:"#AEEEEE",css:!0,name:"paleturquoise"},{value:"#96CDCD",name:"paleturquoise 3"},{value:"#668B8B",name:"paleturquoise 4"},{value:"#2F4F4F",css:!0,name:"darkslategray"},{value:"#97FFFF",name:"darkslategray 1"},{value:"#8DEEEE",name:"darkslategray 2"},{value:"#79CDCD",name:"darkslategray 3"},{value:"#528B8B",name:"darkslategray 4"},{value:"#00FFFF",name:"cyan"},{value:"#00FFFF",css:!0,name:"aqua"},{value:"#00EEEE",name:"cyan 2"},{value:"#00CDCD",name:"cyan 3"},{value:"#008B8B",name:"cyan 4"},{value:"#008B8B",css:!0,name:"darkcyan"},{value:"#008080",vga:!0,css:!0,name:"teal"},{value:"#48D1CC",css:!0,name:"mediumturquoise"},{value:"#20B2AA",css:!0,name:"lightseagreen"},{value:"#03A89E",name:"manganeseblue"},{value:"#40E0D0",css:!0,name:"turquoise"},{value:"#808A87",name:"coldgrey"},{value:"#00C78C",name:"turquoiseblue"},{value:"#7FFFD4",name:"aquamarine 1"},{value:"#7FFFD4",css:!0,name:"aquamarine"},{value:"#76EEC6",name:"aquamarine 2"},{value:"#66CDAA",name:"aquamarine 3"},{value:"#66CDAA",css:!0,name:"mediumaquamarine"},{value:"#458B74",name:"aquamarine 4"},{value:"#00FA9A",css:!0,name:"mediumspringgreen"},{value:"#F5FFFA",css:!0,name:"mintcream"},{value:"#00FF7F",css:!0,name:"springgreen"},{value:"#00EE76",name:"springgreen 1"},{value:"#00CD66",name:"springgreen 2"},{value:"#008B45",name:"springgreen 3"},{value:"#3CB371",css:!0,name:"mediumseagreen"},{value:"#54FF9F",name:"seagreen 1"},{value:"#4EEE94",name:"seagreen 2"},{value:"#43CD80",name:"seagreen 3"},{value:"#2E8B57",name:"seagreen 4"},{value:"#2E8B57",css:!0,name:"seagreen"},{value:"#00C957",name:"emeraldgreen"},{value:"#BDFCC9",name:"mint"},{value:"#3D9140",name:"cobaltgreen"},{value:"#F0FFF0",name:"honeydew 1"},{value:"#F0FFF0",css:!0,name:"honeydew"},{value:"#E0EEE0",name:"honeydew 2"},{value:"#C1CDC1",name:"honeydew 3"},{value:"#838B83",name:"honeydew 4"},{value:"#8FBC8F",css:!0,name:"darkseagreen"},{value:"#C1FFC1",name:"darkseagreen 1"},{value:"#B4EEB4",name:"darkseagreen 2"},{value:"#9BCD9B",name:"darkseagreen 3"},{value:"#698B69",name:"darkseagreen 4"},{value:"#98FB98",css:!0,name:"palegreen"},{value:"#9AFF9A",name:"palegreen 1"},{value:"#90EE90",name:"palegreen 2"},{value:"#90EE90",css:!0,name:"lightgreen"},{value:"#7CCD7C",name:"palegreen 3"},{value:"#548B54",name:"palegreen 4"},{value:"#32CD32",css:!0,name:"limegreen"},{value:"#228B22",css:!0,name:"forestgreen"},{value:"#00FF00",vga:!0,name:"green 1"},{value:"#00FF00",vga:!0,css:!0,name:"lime"},{value:"#00EE00",name:"green 2"},{value:"#00CD00",name:"green 3"},{value:"#008B00",name:"green 4"},{value:"#008000",vga:!0,css:!0,name:"green"},{value:"#006400",css:!0,name:"darkgreen"},{value:"#308014",name:"sapgreen"},{value:"#7CFC00",css:!0,name:"lawngreen"},{value:"#7FFF00",name:"chartreuse 1"},{value:"#7FFF00",css:!0,name:"chartreuse"},{value:"#76EE00",name:"chartreuse 2"},{value:"#66CD00",name:"chartreuse 3"},{value:"#458B00",name:"chartreuse 4"},{value:"#ADFF2F",css:!0,name:"greenyellow"},{value:"#CAFF70",name:"darkolivegreen 1"},{value:"#BCEE68",name:"darkolivegreen 2"},{value:"#A2CD5A",name:"darkolivegreen 3"},{value:"#6E8B3D",name:"darkolivegreen 4"},{value:"#556B2F",css:!0,name:"darkolivegreen"},{value:"#6B8E23",css:!0,name:"olivedrab"},{value:"#C0FF3E",name:"olivedrab 1"},{value:"#B3EE3A",name:"olivedrab 2"},{value:"#9ACD32",name:"olivedrab 3"},{value:"#9ACD32",css:!0,name:"yellowgreen"},{value:"#698B22",name:"olivedrab 4"},{value:"#FFFFF0",name:"ivory 1"},{value:"#FFFFF0",css:!0,name:"ivory"},{value:"#EEEEE0",name:"ivory 2"},{value:"#CDCDC1",name:"ivory 3"},{value:"#8B8B83",name:"ivory 4"},{value:"#F5F5DC",css:!0,name:"beige"},{value:"#FFFFE0",name:"lightyellow 1"},{value:"#FFFFE0",css:!0,name:"lightyellow"},{value:"#EEEED1",name:"lightyellow 2"},{value:"#CDCDB4",name:"lightyellow 3"},{value:"#8B8B7A",name:"lightyellow 4"},{value:"#FAFAD2",css:!0,name:"lightgoldenrodyellow"},{value:"#FFFF00",vga:!0,name:"yellow 1"},{value:"#FFFF00",vga:!0,css:!0,name:"yellow"},{value:"#EEEE00",name:"yellow 2"},{value:"#CDCD00",name:"yellow 3"},{value:"#8B8B00",name:"yellow 4"},{value:"#808069",name:"warmgrey"},{value:"#808000",vga:!0,css:!0,name:"olive"},{value:"#BDB76B",css:!0,name:"darkkhaki"},{value:"#FFF68F",name:"khaki 1"},{value:"#EEE685",name:"khaki 2"},{value:"#CDC673",name:"khaki 3"},{value:"#8B864E",name:"khaki 4"},{value:"#F0E68C",css:!0,name:"khaki"},{value:"#EEE8AA",css:!0,name:"palegoldenrod"},{value:"#FFFACD",name:"lemonchiffon 1"},{value:"#FFFACD",css:!0,name:"lemonchiffon"},{value:"#EEE9BF",name:"lemonchiffon 2"},{value:"#CDC9A5",name:"lemonchiffon 3"},{value:"#8B8970",name:"lemonchiffon 4"},{value:"#FFEC8B",name:"lightgoldenrod 1"},{value:"#EEDC82",name:"lightgoldenrod 2"},{value:"#CDBE70",name:"lightgoldenrod 3"},{value:"#8B814C",name:"lightgoldenrod 4"},{value:"#E3CF57",name:"banana"},{value:"#FFD700",name:"gold 1"},{value:"#FFD700",css:!0,name:"gold"},{value:"#EEC900",name:"gold 2"},{value:"#CDAD00",name:"gold 3"},{value:"#8B7500",name:"gold 4"},{value:"#FFF8DC",name:"cornsilk 1"},{value:"#FFF8DC",css:!0,name:"cornsilk"},{value:"#EEE8CD",name:"cornsilk 2"},{value:"#CDC8B1",name:"cornsilk 3"},{value:"#8B8878",name:"cornsilk 4"},{value:"#DAA520",css:!0,name:"goldenrod"},{value:"#FFC125",name:"goldenrod 1"},{value:"#EEB422",name:"goldenrod 2"},{value:"#CD9B1D",name:"goldenrod 3"},{value:"#8B6914",name:"goldenrod 4"},{value:"#B8860B",css:!0,name:"darkgoldenrod"},{value:"#FFB90F",name:"darkgoldenrod 1"},{value:"#EEAD0E",name:"darkgoldenrod 2"},{value:"#CD950C",name:"darkgoldenrod 3"},{value:"#8B6508",name:"darkgoldenrod 4"},{value:"#FFA500",name:"orange 1"},{value:"#FF8000",css:!0,name:"orange"},{value:"#EE9A00",name:"orange 2"},{value:"#CD8500",name:"orange 3"},{value:"#8B5A00",name:"orange 4"},{value:"#FFFAF0",css:!0,name:"floralwhite"},{value:"#FDF5E6",css:!0,name:"oldlace"},{value:"#F5DEB3",css:!0,name:"wheat"},{value:"#FFE7BA",name:"wheat 1"},{value:"#EED8AE",name:"wheat 2"},{value:"#CDBA96",name:"wheat 3"},{value:"#8B7E66",name:"wheat 4"},{value:"#FFE4B5",css:!0,name:"moccasin"},{value:"#FFEFD5",css:!0,name:"papayawhip"},{value:"#FFEBCD",css:!0,name:"blanchedalmond"},{value:"#FFDEAD",name:"navajowhite 1"},{value:"#FFDEAD",css:!0,name:"navajowhite"},{value:"#EECFA1",name:"navajowhite 2"},{value:"#CDB38B",name:"navajowhite 3"},{value:"#8B795E",name:"navajowhite 4"},{value:"#FCE6C9",name:"eggshell"},{value:"#D2B48C",css:!0,name:"tan"},{value:"#9C661F",name:"brick"},{value:"#FF9912",name:"cadmiumyellow"},{value:"#FAEBD7",css:!0,name:"antiquewhite"},{value:"#FFEFDB",name:"antiquewhite 1"},{value:"#EEDFCC",name:"antiquewhite 2"},{value:"#CDC0B0",name:"antiquewhite 3"},{value:"#8B8378",name:"antiquewhite 4"},{value:"#DEB887",css:!0,name:"burlywood"},{value:"#FFD39B",name:"burlywood 1"},{value:"#EEC591",name:"burlywood 2"},{value:"#CDAA7D",name:"burlywood 3"},{value:"#8B7355",name:"burlywood 4"},{value:"#FFE4C4",name:"bisque 1"},{value:"#FFE4C4",css:!0,name:"bisque"},{value:"#EED5B7",name:"bisque 2"},{value:"#CDB79E",name:"bisque 3"},{value:"#8B7D6B",name:"bisque 4"},{value:"#E3A869",name:"melon"},{value:"#ED9121",name:"carrot"},{value:"#FF8C00",css:!0,name:"darkorange"},{value:"#FF7F00",name:"darkorange 1"},{value:"#EE7600",name:"darkorange 2"},{value:"#CD6600",name:"darkorange 3"},{value:"#8B4500",name:"darkorange 4"},{value:"#FFA54F",name:"tan 1"},{value:"#EE9A49",name:"tan 2"},{value:"#CD853F",name:"tan 3"},{value:"#CD853F",css:!0,name:"peru"},{value:"#8B5A2B",name:"tan 4"},{value:"#FAF0E6",css:!0,name:"linen"},{value:"#FFDAB9",name:"peachpuff 1"},{value:"#FFDAB9",css:!0,name:"peachpuff"},{value:"#EECBAD",name:"peachpuff 2"},{value:"#CDAF95",name:"peachpuff 3"},{value:"#8B7765",name:"peachpuff 4"},{value:"#FFF5EE",name:"seashell 1"},{value:"#FFF5EE",css:!0,name:"seashell"},{value:"#EEE5DE",name:"seashell 2"},{value:"#CDC5BF",name:"seashell 3"},{value:"#8B8682",name:"seashell 4"},{value:"#F4A460",css:!0,name:"sandybrown"},{value:"#C76114",name:"rawsienna"},{value:"#D2691E",css:!0,name:"chocolate"},{value:"#FF7F24",name:"chocolate 1"},{value:"#EE7621",name:"chocolate 2"},{value:"#CD661D",name:"chocolate 3"},{value:"#8B4513",name:"chocolate 4"},{value:"#8B4513",css:!0,name:"saddlebrown"},{value:"#292421",name:"ivoryblack"},{value:"#FF7D40",name:"flesh"},{value:"#FF6103",name:"cadmiumorange"},{value:"#8A360F",name:"burntsienna"},{value:"#A0522D",css:!0,name:"sienna"},{value:"#FF8247",name:"sienna 1"},{value:"#EE7942",name:"sienna 2"},{value:"#CD6839",name:"sienna 3"},{value:"#8B4726",name:"sienna 4"},{value:"#FFA07A",name:"lightsalmon 1"},{value:"#FFA07A",css:!0,name:"lightsalmon"},{value:"#EE9572",name:"lightsalmon 2"},{value:"#CD8162",name:"lightsalmon 3"},{value:"#8B5742",name:"lightsalmon 4"},{value:"#FF7F50",css:!0,name:"coral"},{value:"#FF4500",name:"orangered 1"},{value:"#FF4500",css:!0,name:"orangered"},{value:"#EE4000",name:"orangered 2"},{value:"#CD3700",name:"orangered 3"},{value:"#8B2500",name:"orangered 4"},{value:"#5E2612",name:"sepia"},{value:"#E9967A",css:!0,name:"darksalmon"},{value:"#FF8C69",name:"salmon 1"},{value:"#EE8262",name:"salmon 2"},{value:"#CD7054",name:"salmon 3"},{value:"#8B4C39",name:"salmon 4"},{value:"#FF7256",name:"coral 1"},{value:"#EE6A50",name:"coral 2"},{value:"#CD5B45",name:"coral 3"},{value:"#8B3E2F",name:"coral 4"},{value:"#8A3324",name:"burntumber"},{value:"#FF6347",name:"tomato 1"},{value:"#FF6347",css:!0,name:"tomato"},{value:"#EE5C42",name:"tomato 2"},{value:"#CD4F39",name:"tomato 3"},{value:"#8B3626",name:"tomato 4"},{value:"#FA8072",css:!0,name:"salmon"},{value:"#FFE4E1",name:"mistyrose 1"},{value:"#FFE4E1",css:!0,name:"mistyrose"},{value:"#EED5D2",name:"mistyrose 2"},{value:"#CDB7B5",name:"mistyrose 3"},{value:"#8B7D7B",name:"mistyrose 4"},{value:"#FFFAFA",name:"snow 1"},{value:"#FFFAFA",css:!0,name:"snow"},{value:"#EEE9E9",name:"snow 2"},{value:"#CDC9C9",name:"snow 3"},{value:"#8B8989",name:"snow 4"},{value:"#BC8F8F",css:!0,name:"rosybrown"},{value:"#FFC1C1",name:"rosybrown 1"},{value:"#EEB4B4",name:"rosybrown 2"},{value:"#CD9B9B",name:"rosybrown 3"},{value:"#8B6969",name:"rosybrown 4"},{value:"#F08080",css:!0,name:"lightcoral"},{value:"#CD5C5C",css:!0,name:"indianred"},{value:"#FF6A6A",name:"indianred 1"},{value:"#EE6363",name:"indianred 2"},{value:"#8B3A3A",name:"indianred 4"},{value:"#CD5555",name:"indianred 3"},{value:"#A52A2A",css:!0,name:"brown"},{value:"#FF4040",name:"brown 1"},{value:"#EE3B3B",name:"brown 2"},{value:"#CD3333",name:"brown 3"},{value:"#8B2323",name:"brown 4"},{value:"#B22222",css:!0,name:"firebrick"},{value:"#FF3030",name:"firebrick 1"},{value:"#EE2C2C",name:"firebrick 2"},{value:"#CD2626",name:"firebrick 3"},{value:"#8B1A1A",name:"firebrick 4"},{value:"#FF0000",vga:!0,name:"red 1"},{value:"#FF0000",vga:!0,css:!0,name:"red"},{value:"#EE0000",name:"red 2"},{value:"#CD0000",name:"red 3"},{value:"#8B0000",name:"red 4"},{value:"#8B0000",css:!0,name:"darkred"},{value:"#800000",vga:!0,css:!0,name:"maroon"},{value:"#8E388E",name:"sgi beet"},{value:"#7171C6",name:"sgi slateblue"},{value:"#7D9EC0",name:"sgi lightblue"},{value:"#388E8E",name:"sgi teal"},{value:"#71C671",name:"sgi chartreuse"},{value:"#8E8E38",name:"sgi olivedrab"},{value:"#C5C1AA",name:"sgi brightgray"},{value:"#C67171",name:"sgi salmon"},{value:"#555555",name:"sgi darkgray"},{value:"#1E1E1E",name:"sgi gray 12"},{value:"#282828",name:"sgi gray 16"},{value:"#515151",name:"sgi gray 32"},{value:"#5B5B5B",name:"sgi gray 36"},{value:"#848484",name:"sgi gray 52"},{value:"#8E8E8E",name:"sgi gray 56"},{value:"#AAAAAA",name:"sgi lightgray"},{value:"#B7B7B7",name:"sgi gray 72"},{value:"#C1C1C1",name:"sgi gray 76"},{value:"#EAEAEA",name:"sgi gray 92"},{value:"#F4F4F4",name:"sgi gray 96"},{value:"#FFFFFF",vga:!0,css:!0,name:"white"},{value:"#F5F5F5",name:"white smoke"},{value:"#F5F5F5",name:"gray 96"},{value:"#DCDCDC",css:!0,name:"gainsboro"},{value:"#D3D3D3",css:!0,name:"lightgrey"},{value:"#C0C0C0",vga:!0,css:!0,name:"silver"},{value:"#A9A9A9",css:!0,name:"darkgray"},{value:"#808080",vga:!0,css:!0,name:"gray"},{value:"#696969",css:!0,name:"dimgray"},{value:"#696969",name:"gray 42"},{value:"#000000",vga:!0,css:!0,name:"black"},{value:"#FCFCFC",name:"gray 99"},{value:"#FAFAFA",name:"gray 98"},{value:"#F7F7F7",name:"gray 97"},{value:"#F2F2F2",name:"gray 95"},{value:"#F0F0F0",name:"gray 94"},{value:"#EDEDED",name:"gray 93"},{value:"#EBEBEB",name:"gray 92"},{value:"#E8E8E8",name:"gray 91"},{value:"#E5E5E5",name:"gray 90"},{value:"#E3E3E3",name:"gray 89"},{value:"#E0E0E0",name:"gray 88"},{value:"#DEDEDE",name:"gray 87"},{value:"#DBDBDB",name:"gray 86"},{value:"#D9D9D9",name:"gray 85"},{value:"#D6D6D6",name:"gray 84"},{value:"#D4D4D4",name:"gray 83"},{value:"#D1D1D1",name:"gray 82"},{value:"#CFCFCF",name:"gray 81"},{value:"#CCCCCC",name:"gray 80"},{value:"#C9C9C9",name:"gray 79"},{value:"#C7C7C7",name:"gray 78"},{value:"#C4C4C4",name:"gray 77"},{value:"#C2C2C2",name:"gray 76"},{value:"#BFBFBF",name:"gray 75"},{value:"#BDBDBD",name:"gray 74"},{value:"#BABABA",name:"gray 73"},{value:"#B8B8B8",name:"gray 72"},{value:"#B5B5B5",name:"gray 71"},{value:"#B3B3B3",name:"gray 70"},{value:"#B0B0B0",name:"gray 69"},{value:"#ADADAD",name:"gray 68"},{value:"#ABABAB",name:"gray 67"},{value:"#A8A8A8",name:"gray 66"},{value:"#A6A6A6",name:"gray 65"},{value:"#A3A3A3",name:"gray 64"},{value:"#A1A1A1",name:"gray 63"},{value:"#9E9E9E",name:"gray 62"},{value:"#9C9C9C",name:"gray 61"},{value:"#999999",name:"gray 60"},{value:"#969696",name:"gray 59"},{value:"#949494",name:"gray 58"},{value:"#919191",name:"gray 57"},{value:"#8F8F8F",name:"gray 56"},{value:"#8C8C8C",name:"gray 55"},{value:"#8A8A8A",name:"gray 54"},{value:"#878787",name:"gray 53"},{value:"#858585",name:"gray 52"},{value:"#828282",name:"gray 51"},{value:"#7F7F7F",name:"gray 50"},{value:"#7D7D7D",name:"gray 49"},{value:"#7A7A7A",name:"gray 48"},{value:"#787878",name:"gray 47"},{value:"#757575",name:"gray 46"},{value:"#737373",name:"gray 45"},{value:"#707070",name:"gray 44"},{value:"#6E6E6E",name:"gray 43"},{value:"#666666",name:"gray 40"},{value:"#636363",name:"gray 39"},{value:"#616161",name:"gray 38"},{value:"#5E5E5E",name:"gray 37"},{value:"#5C5C5C",name:"gray 36"},{value:"#595959",name:"gray 35"},{value:"#575757",name:"gray 34"},{value:"#545454",name:"gray 33"},{value:"#525252",name:"gray 32"},{value:"#4F4F4F",name:"gray 31"},{value:"#4D4D4D",name:"gray 30"},{value:"#4A4A4A",name:"gray 29"},{value:"#474747",name:"gray 28"},{value:"#454545",name:"gray 27"},{value:"#424242",name:"gray 26"},{value:"#404040",name:"gray 25"},{value:"#3D3D3D",name:"gray 24"},{value:"#3B3B3B",name:"gray 23"},{value:"#383838",name:"gray 22"},{value:"#363636",name:"gray 21"},{value:"#333333",name:"gray 20"},{value:"#303030",name:"gray 19"},{value:"#2E2E2E",name:"gray 18"},{value:"#2B2B2B",name:"gray 17"},{value:"#292929",name:"gray 16"},{value:"#262626",name:"gray 15"},{value:"#242424",name:"gray 14"},{value:"#212121",name:"gray 13"},{value:"#1F1F1F",name:"gray 12"},{value:"#1C1C1C",name:"gray 11"},{value:"#1A1A1A",name:"gray 10"},{value:"#171717",name:"gray 9"},{value:"#141414",name:"gray 8"},{value:"#121212",name:"gray 7"},{value:"#0F0F0F",name:"gray 6"},{value:"#0D0D0D",name:"gray 5"},{value:"#0A0A0A",name:"gray 4"},{value:"#080808",name:"gray 3"},{value:"#050505",name:"gray 2"},{value:"#030303",name:"gray 1"},{value:"#F5F5F5",css:!0,name:"whitesmoke"}];(function(e){var t=o4,n=t.filter(function(s){return!!s.css}),r=t.filter(function(s){return!!s.vga});e.exports=function(s){var o=e.exports.get(s);return o&&o.value},e.exports.get=function(s){return s=s||"",s=s.trim().toLowerCase(),t.filter(function(o){return o.name.toLowerCase()===s}).pop()},e.exports.all=e.exports.get.all=function(){return t},e.exports.get.css=function(s){return s?(s=s||"",s=s.trim().toLowerCase(),n.filter(function(o){return o.name.toLowerCase()===s}).pop()):n},e.exports.get.vga=function(s){return s?(s=s||"",s=s.trim().toLowerCase(),r.filter(function(o){return o.name.toLowerCase()===s}).pop()):r}})(l1);var i4=l1.exports,a4=1/0,l4="[object Symbol]",u4=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,u1="\\ud800-\\udfff",c4="\\u0300-\\u036f\\ufe20-\\ufe23",d4="\\u20d0-\\u20f0",c1="\\u2700-\\u27bf",d1="a-z\\xdf-\\xf6\\xf8-\\xff",m4="\\xac\\xb1\\xd7\\xf7",f4="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",p4="\\u2000-\\u206f",h4=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",m1="A-Z\\xc0-\\xd6\\xd8-\\xde",_4="\\ufe0e\\ufe0f",f1=m4+f4+p4+h4,p1="['’]",mh="["+f1+"]",g4="["+c4+d4+"]",h1="\\d+",y4="["+c1+"]",_1="["+d1+"]",g1="[^"+u1+f1+h1+c1+d1+m1+"]",v4="\\ud83c[\\udffb-\\udfff]",b4="(?:"+g4+"|"+v4+")",z4="[^"+u1+"]",y1="(?:\\ud83c[\\udde6-\\uddff]){2}",v1="[\\ud800-\\udbff][\\udc00-\\udfff]",Ms="["+m1+"]",C4="\\u200d",fh="(?:"+_1+"|"+g1+")",w4="(?:"+Ms+"|"+g1+")",ph="(?:"+p1+"(?:d|ll|m|re|s|t|ve))?",hh="(?:"+p1+"(?:D|LL|M|RE|S|T|VE))?",b1=b4+"?",z1="["+_4+"]?",k4="(?:"+C4+"(?:"+[z4,y1,v1].join("|")+")"+z1+b1+")*",x4=z1+b1+k4,E4="(?:"+[y4,y1,v1].join("|")+")"+x4,S4=RegExp([Ms+"?"+_1+"+"+ph+"(?="+[mh,Ms,"$"].join("|")+")",w4+"+"+hh+"(?="+[mh,Ms+fh,"$"].join("|")+")",Ms+"?"+fh+"+"+ph,Ms+"+"+hh,h1,E4].join("|"),"g"),$4=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,A4=typeof un=="object"&&un&&un.Object===Object&&un,T4=typeof self=="object"&&self&&self.Object===Object&&self,O4=A4||T4||Function("return this")();function D4(e){return e.match(u4)||[]}function P4(e){return $4.test(e)}function I4(e){return e.match(S4)||[]}var F4=Object.prototype,R4=F4.toString,_h=O4.Symbol,gh=_h?_h.prototype:void 0,yh=gh?gh.toString:void 0;function L4(e){if(typeof e=="string")return e;if(M4(e))return yh?yh.call(e):"";var t=e+"";return t=="0"&&1/e==-a4?"-0":t}function N4(e){return!!e&&typeof e=="object"}function M4(e){return typeof e=="symbol"||N4(e)&&R4.call(e)==l4}function V4(e){return e==null?"":L4(e)}function H4(e,t,n){return e=V4(e),t=n?void 0:t,t===void 0?P4(e)?I4(e):D4(e):e.match(t)||[]}var U4=H4,B4=1/0,j4="[object Symbol]",q4=/^\s+/,km="\\ud800-\\udfff",C1="\\u0300-\\u036f\\ufe20-\\ufe23",w1="\\u20d0-\\u20f0",k1="\\ufe0e\\ufe0f",W4="["+km+"]",td="["+C1+w1+"]",nd="\\ud83c[\\udffb-\\udfff]",G4="(?:"+td+"|"+nd+")",x1="[^"+km+"]",E1="(?:\\ud83c[\\udde6-\\uddff]){2}",S1="[\\ud800-\\udbff][\\udc00-\\udfff]",$1="\\u200d",A1=G4+"?",T1="["+k1+"]?",K4="(?:"+$1+"(?:"+[x1,E1,S1].join("|")+")"+T1+A1+")*",Z4=T1+A1+K4,Y4="(?:"+[x1+td+"?",td,E1,S1,W4].join("|")+")",J4=RegExp(nd+"(?="+nd+")|"+Y4+Z4,"g"),X4=RegExp("["+$1+km+C1+w1+k1+"]"),Q4=typeof un=="object"&&un&&un.Object===Object&&un,e6=typeof self=="object"&&self&&self.Object===Object&&self,t6=Q4||e6||Function("return this")();function n6(e){return e.split("")}function r6(e,t,n,r){for(var s=e.length,o=n+(r?1:-1);r?o--:++o-1;);return n}function a6(e){return X4.test(e)}function vh(e){return a6(e)?l6(e):n6(e)}function l6(e){return e.match(J4)||[]}var u6=Object.prototype,c6=u6.toString,bh=t6.Symbol,zh=bh?bh.prototype:void 0,Ch=zh?zh.toString:void 0;function d6(e,t,n){var r=-1,s=e.length;t<0&&(t=-t>s?0:s+t),n=n>s?s:n,n<0&&(n+=s),s=t>n?0:n-t>>>0,t>>>=0;for(var o=Array(s);++r=r?e:d6(e,t,n)}function f6(e){return!!e&&typeof e=="object"}function p6(e){return typeof e=="symbol"||f6(e)&&c6.call(e)==j4}function h6(e){return e==null?"":O1(e)}function _6(e,t,n){if(e=h6(e),e&&(n||t===void 0))return e.replace(q4,"");if(!e||!(t=O1(t)))return e;var r=vh(e),s=i6(r,vh(t));return m6(r,s).join("")}var g6=_6,rd=1/0,y6=9007199254740991,v6=17976931348623157e292,wh=NaN,b6="[object Symbol]",z6=/^\s+|\s+$/g,C6=/^[-+]0x[0-9a-f]+$/i,w6=/^0b[01]+$/i,k6=/^0o[0-7]+$/i,xm="\\ud800-\\udfff",D1="\\u0300-\\u036f\\ufe20-\\ufe23",P1="\\u20d0-\\u20f0",I1="\\ufe0e\\ufe0f",x6="["+xm+"]",sd="["+D1+P1+"]",od="\\ud83c[\\udffb-\\udfff]",E6="(?:"+sd+"|"+od+")",F1="[^"+xm+"]",R1="(?:\\ud83c[\\udde6-\\uddff]){2}",L1="[\\ud800-\\udbff][\\udc00-\\udfff]",N1="\\u200d",M1=E6+"?",V1="["+I1+"]?",S6="(?:"+N1+"(?:"+[F1,R1,L1].join("|")+")"+V1+M1+")*",$6=V1+M1+S6,A6="(?:"+[F1+sd+"?",sd,R1,L1,x6].join("|")+")",id=RegExp(od+"(?="+od+")|"+A6+$6,"g"),T6=RegExp("["+N1+xm+D1+P1+I1+"]"),O6=parseInt,D6=typeof un=="object"&&un&&un.Object===Object&&un,P6=typeof self=="object"&&self&&self.Object===Object&&self,I6=D6||P6||Function("return this")(),F6=L6("length");function R6(e){return e.split("")}function L6(e){return function(t){return t==null?void 0:t[e]}}function Em(e){return T6.test(e)}function H1(e){return Em(e)?M6(e):F6(e)}function N6(e){return Em(e)?V6(e):R6(e)}function M6(e){for(var t=id.lastIndex=0;id.test(e);)t++;return t}function V6(e){return e.match(id)||[]}var H6=Object.prototype,U6=H6.toString,kh=I6.Symbol,B6=Math.ceil,j6=Math.floor,xh=kh?kh.prototype:void 0,Eh=xh?xh.toString:void 0;function Sh(e,t){var n="";if(!e||t<1||t>y6)return n;do t%2&&(n+=e),t=j6(t/2),t&&(e+=e);while(t);return n}function q6(e,t,n){var r=-1,s=e.length;t<0&&(t=-t>s?0:s+t),n=n>s?s:n,n<0&&(n+=s),s=t>n?0:n-t>>>0,t>>>=0;for(var o=Array(s);++r=r?e:q6(e,t,n)}function G6(e,t){t=t===void 0?" ":U1(t);var n=t.length;if(n<2)return n?Sh(t,e):t;var r=Sh(t,B6(e/H1(t)));return Em(t)?W6(N6(r),0,e).join(""):r.slice(0,e)}function $h(e){var t=typeof e;return!!e&&(t=="object"||t=="function")}function K6(e){return!!e&&typeof e=="object"}function B1(e){return typeof e=="symbol"||K6(e)&&U6.call(e)==b6}function Z6(e){if(!e)return e===0?e:0;if(e=J6(e),e===rd||e===-rd){var t=e<0?-1:1;return t*v6}return e===e?e:0}function Y6(e){var t=Z6(e),n=t%1;return t===t?n?t-n:t:0}function J6(e){if(typeof e=="number")return e;if(B1(e))return wh;if($h(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=$h(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=e.replace(z6,"");var n=w6.test(e);return n||k6.test(e)?O6(e.slice(2),n?2:8):C6.test(e)?wh:+e}function X6(e){return e==null?"":U1(e)}function Q6(e,t,n){e=X6(e),t=Y6(t);var r=t?H1(e):0;return t&&r{const s=(e+(r||"")).toString().includes("%");if(typeof e=="string"?[e,t,n,r]=e.match(/(0?\.?\d{1,3})%?\b/g).map(Number):r!==void 0&&(r=parseFloat(r)),typeof e!="number"||typeof t!="number"||typeof n!="number"||e>255||t>255||n>255)throw new TypeError("Expected three numbers below 256");if(typeof r=="number"){if(!s&&r>=0&&r<=1)r=Math.round(255*r);else if(s&&r>=0&&r<=100)r=Math.round(255*r/100);else throw new TypeError(`Expected alpha value (${r}) as a fraction or percentage`);r=(r|256).toString(16).slice(1)}else r="";return(n|t<<8|e<<16|1<<24).toString(16).slice(1)+r};const yi="a-f\\d",n5=`#?[${yi}]{3}[${yi}]?`,r5=`#?[${yi}]{6}([${yi}]{2})?`,s5=new RegExp(`[^#${yi}]`,"gi"),o5=new RegExp(`^${n5}$|^${r5}$`,"i");var i5=(e,t={})=>{if(typeof e!="string"||s5.test(e)||!o5.test(e))throw new TypeError("Expected a valid hex string");e=e.replace(/^#/,"");let n=1;e.length===8&&(n=Number.parseInt(e.slice(6,8),16)/255,e=e.slice(0,6)),e.length===4&&(n=Number.parseInt(e.slice(3,4).repeat(2),16)/255,e=e.slice(0,3)),e.length===3&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]);const r=Number.parseInt(e,16),s=r>>16,o=r>>8&255,i=r&255,a=typeof t.alpha=="number"?t.alpha:n;if(t.format==="array")return[s,o,i,a];if(t.format==="css"){const l=a===1?"":` / ${Number((a*100).toFixed(2))}%`;return`rgb(${s} ${o} ${i}${l})`}return{red:s,green:o,blue:i,alpha:a}},a5=i4,l5=U4,u5=g6,c5=e5,d5=t5,j1=i5;const Gu=.75,Ku=.25,Zu=16777215,m5=49979693;var f5=function(e){return"#"+_5(String(JSON.stringify(e)))};function p5(e){var t=l5(e),n=[];return t.forEach(function(r){var s=a5(r);s&&n.push(j1(u5(s,"#"),{format:"array"}))}),n}function h5(e){var t=[0,0,0];return e.forEach(function(n){for(var r=0;r<3;r++)t[r]+=n[r]}),[t[0]/e.length,t[1]/e.length,t[2]/e.length]}function _5(e){var t,n=p5(e);n.length>0&&(t=h5(n));var r=1,s=0,o=1;if(e.length>0)for(var i=0;is&&(s=e[i].charCodeAt(0)),o=parseInt(Zu/s),r=(r+e[i].charCodeAt(0)*o*m5)%Zu;var a=(r*e.length%Zu).toString(16);a=c5(a,6,a);var l=j1(a,{format:"array"});return t?d5(Ku*l[0]+Gu*t[0],Ku*l[1]+Gu*t[1],Ku*l[2]+Gu*t[2]):a}const g5=Ti(f5);function y5(e){const t=e.replace(/#/,""),n=parseInt(t.substr(0,2),16),r=parseInt(t.substr(2,2),16),s=parseInt(t.substr(4,2),16);return[.299*n,.587*r,.114*s].reduce((i,a)=>i+a)/255>.5}function v5(e){return y5(e)?"#000000":"#ffffff"}function b5(e){const t=` ${e.caption} `;return`data:image/svg+xml;charset=UTF-8,${encodeURIComponent(t)}`}function z5(e,t,n){const r=g5(t),s=v5(r),o={width:n.width,height:n.height,textColor:s,backgroundColor:r,caption:e,fontFamily:n.font_family,fontSize:n.font_size,fontWeight:n.font_weight};return b5(o)}const C5={name:"CoverArtwork",props:["artist","album","artwork_url","maxwidth","maxheight"],emits:["click"],data(){return{width:600,height:600,font_family:"sans-serif",font_size:200,font_weight:600,lazy_lifecycle:{error:e=>{e.src=this.dataURI()}}}},computed:{artwork_url_with_size(){return this.maxwidth>0&&this.maxheight>0?V.artwork_url_append_size_params(this.artwork_url,this.maxwidth,this.maxheight):V.artwork_url_append_size_params(this.artwork_url)},alt_text(){return`${this.artist} - ${this.album}`},caption(){return this.album?this.album.substring(0,2):this.artist?this.artist.substring(0,2):""}},methods:{dataURI(){return z5(this.caption,this.alt_text,{width:this.width,height:this.height,font_family:this.font_family,font_size:this.font_size,font_weight:this.font_weight})}}};function w5(e,t,n,r,s,o){const i=Md("lazy");return k(),T("figure",null,[yt(u("img",{onClick:t[0]||(t[0]=a=>e.$emit("click"))},null,512),[[i,{src:o.artwork_url_with_size,lifecycle:s.lazy_lifecycle}]])])}const Fn=te(C5,[["render",w5]]),{t:Yu,locale:Sm}=nu.global,q1="GROUP_KEY_NONE";function $m(){return{compareFn:null,groupKeyFn:e=>q1}}function Rn(e,t=!1,n="_"){return{compareFn:t?null:(r,s)=>{const o=r[e]||n,i=s[e]||n;return o.localeCompare(i,Sm.value)},groupKeyFn:r=>{const s=(r[e]||n).charAt(0);return s.match(new RegExp("\\p{Letter}","gu"))?s.toUpperCase():s.match(new RegExp("\\p{Number}","gu"))?"#":"⌘"}}}function Am(e,{direction:t="asc",defaultValue:n=0}){return{compareFn:(r,s)=>{const o=r[e]||n,i=s[e]||n,a=o-i;return t==="asc"?a:a*-1},groupKeyFn:r=>{const s=r[e]||n;return Math.floor(s/10)}}}function k5(e,t="asc",n=1){return{compareFn:(r,s)=>{const o=r[e]||n,i=s[e]||n,a=o-i;return t==="asc"?a:a*-1},groupKeyFn:r=>r[e]||n}}function wl(e,{direction:t="asc",defaultValue:n="0000"}){return{compareFn:(r,s)=>{const o=r[e]||n,i=s[e]||n,a=o.localeCompare(i,Sm.value);return t==="asc"?a:a*-1},groupKeyFn:r=>(r[e]||n).substring(0,4)}}function x5(e,t="0000"){return{compareFn:(n,r)=>{const s=n[e]||t;return(r[e]||t).localeCompare(s,Sm.value)},groupKeyFn:n=>{const r=n[e];if(!r)return t;const s=new Date().getTime()-new Date(r).getTime();return s<864e5?Yu("group-by-list.today"):s<6048e5?Yu("group-by-list.last-week"):s<2592e6?Yu("group-by-list.last-month"):r.substring(0,4)}}}class ve{constructor({items:t=[],total:n=0,offset:r=0,limit:s=-1}={}){this.items=t,this.total=n,this.offset=r,this.limit=s,this.count=t.length,this.indexList=[],this.group($m())}isEmpty(){return!this.items||this.items.length<=0}group(t,n=[]){const r=n?this.items.filter(o=>n.every(i=>i(o))):this.items;this.count=r.length;const s=t.compareFn?[...r].sort(t.compareFn):r;this.indexList=[...new Set(s.map(t.groupKeyFn))],this.itemsGrouped=s.reduce((o,i)=>{const a=t.groupKeyFn(i);return o[a]=[...o[a]||[],i],o},{})}*generate(){for(const t in this.itemsGrouped){t!==q1&&(yield{groupKey:t,itemId:t,isItem:!1,item:{}});for(const n of this.itemsGrouped[t])yield{groupKey:t,itemId:n.id,isItem:!0,item:n}}}[Symbol.iterator](){return this.generate()}}var W1={exports:{}};(function(e){var t=function(){var n="https://api.spotify.com/v1",r=null,s=null,o=function(f,p){return f.abort=p,f},i=function(f,p){var h;if(s!==null){var _=s.defer();f(function(b){_.resolve(b)},function(b){_.reject(b)}),h=_.promise}else window.Promise&&(h=new window.Promise(f));return h?new o(h,p):null},a=function(){var f=Array.prototype.slice.call(arguments),p=f[0],h=f.slice(1);return p=p||{},h.forEach(function(_){for(var b in _)_.hasOwnProperty(b)&&(p[b]=_[b])}),p},l=function(f,p){var h="";for(var _ in p)if(p.hasOwnProperty(_)){var b=p[_];h+=encodeURIComponent(_)+"="+encodeURIComponent(b)+"&"}return h.length>0&&(h=h.substring(0,h.length-1),f=f+"?"+h),f},c=function(f,p){var h=new XMLHttpRequest,_=function(b,C){function w(x){b&&b(x),p&&p(null,x)}function v(){C&&C(h),p&&p(h,null)}var z=f.type||"GET";if(h.open(z,l(f.url,f.params)),r&&h.setRequestHeader("Authorization","Bearer "+r),h.onreadystatechange=function(){if(h.readyState===4){var x=null;try{x=h.responseText?JSON.parse(h.responseText):""}catch(N){console.error(N)}h.status>=200&&h.status<300?w(x):v()}},z==="GET")h.send(null);else{var S=null;f.postData&&(f.contentType==="image/jpeg"?(S=f.postData,h.setRequestHeader("Content-Type",f.contentType)):(S=JSON.stringify(f.postData),h.setRequestHeader("Content-Type","application/json"))),h.send(S)}};return p?(_(),null):i(_,function(){h.abort()})},d=function(f,p,h,_){var b={},C=null;typeof p=="object"?(b=p,C=h):typeof p=="function"&&(C=p);var w=f.type||"GET";return w!=="GET"&&f.postData&&!_?f.postData=a(f.postData,b):f.params=a(f.params,b),c(f,C)},m=function(){};return m.prototype={constructor:t},m.prototype.getGeneric=function(f,p){var h={url:f};return d(h,p)},m.prototype.getMe=function(f,p){var h={url:n+"/me"};return d(h,f,p)},m.prototype.getMySavedTracks=function(f,p){var h={url:n+"/me/tracks"};return d(h,f,p)},m.prototype.addToMySavedTracks=function(f,p,h){var _={url:n+"/me/tracks",type:"PUT",postData:f};return d(_,p,h)},m.prototype.removeFromMySavedTracks=function(f,p,h){var _={url:n+"/me/tracks",type:"DELETE",postData:f};return d(_,p,h)},m.prototype.containsMySavedTracks=function(f,p,h){var _={url:n+"/me/tracks/contains",params:{ids:f.join(",")}};return d(_,p,h)},m.prototype.getMySavedAlbums=function(f,p){var h={url:n+"/me/albums"};return d(h,f,p)},m.prototype.addToMySavedAlbums=function(f,p,h){var _={url:n+"/me/albums",type:"PUT",postData:f};return d(_,p,h)},m.prototype.removeFromMySavedAlbums=function(f,p,h){var _={url:n+"/me/albums",type:"DELETE",postData:f};return d(_,p,h)},m.prototype.containsMySavedAlbums=function(f,p,h){var _={url:n+"/me/albums/contains",params:{ids:f.join(",")}};return d(_,p,h)},m.prototype.getMyTopArtists=function(f,p){var h={url:n+"/me/top/artists"};return d(h,f,p)},m.prototype.getMyTopTracks=function(f,p){var h={url:n+"/me/top/tracks"};return d(h,f,p)},m.prototype.getMyRecentlyPlayedTracks=function(f,p){var h={url:n+"/me/player/recently-played"};return d(h,f,p)},m.prototype.followUsers=function(f,p){var h={url:n+"/me/following/",type:"PUT",params:{ids:f.join(","),type:"user"}};return d(h,p)},m.prototype.followArtists=function(f,p){var h={url:n+"/me/following/",type:"PUT",params:{ids:f.join(","),type:"artist"}};return d(h,p)},m.prototype.followPlaylist=function(f,p,h){var _={url:n+"/playlists/"+f+"/followers",type:"PUT",postData:{}};return d(_,p,h)},m.prototype.unfollowUsers=function(f,p){var h={url:n+"/me/following/",type:"DELETE",params:{ids:f.join(","),type:"user"}};return d(h,p)},m.prototype.unfollowArtists=function(f,p){var h={url:n+"/me/following/",type:"DELETE",params:{ids:f.join(","),type:"artist"}};return d(h,p)},m.prototype.unfollowPlaylist=function(f,p){var h={url:n+"/playlists/"+f+"/followers",type:"DELETE"};return d(h,p)},m.prototype.isFollowingUsers=function(f,p){var h={url:n+"/me/following/contains",type:"GET",params:{ids:f.join(","),type:"user"}};return d(h,p)},m.prototype.isFollowingArtists=function(f,p){var h={url:n+"/me/following/contains",type:"GET",params:{ids:f.join(","),type:"artist"}};return d(h,p)},m.prototype.areFollowingPlaylist=function(f,p,h){var _={url:n+"/playlists/"+f+"/followers/contains",type:"GET",params:{ids:p.join(",")}};return d(_,h)},m.prototype.getFollowedArtists=function(f,p){var h={url:n+"/me/following",type:"GET",params:{type:"artist"}};return d(h,f,p)},m.prototype.getUser=function(f,p,h){var _={url:n+"/users/"+encodeURIComponent(f)};return d(_,p,h)},m.prototype.getUserPlaylists=function(f,p,h){var _;return typeof f=="string"?_={url:n+"/users/"+encodeURIComponent(f)+"/playlists"}:(_={url:n+"/me/playlists"},h=p,p=f),d(_,p,h)},m.prototype.getPlaylist=function(f,p,h){var _={url:n+"/playlists/"+f};return d(_,p,h)},m.prototype.getPlaylistTracks=function(f,p,h){var _={url:n+"/playlists/"+f+"/tracks"};return d(_,p,h)},m.prototype.getPlaylistCoverImage=function(f,p){var h={url:n+"/playlists/"+f+"/images"};return d(h,p)},m.prototype.createPlaylist=function(f,p,h){var _={url:n+"/users/"+encodeURIComponent(f)+"/playlists",type:"POST",postData:p};return d(_,p,h)},m.prototype.changePlaylistDetails=function(f,p,h){var _={url:n+"/playlists/"+f,type:"PUT",postData:p};return d(_,p,h)},m.prototype.addTracksToPlaylist=function(f,p,h,_){var b={url:n+"/playlists/"+f+"/tracks",type:"POST",postData:{uris:p}};return d(b,h,_,!0)},m.prototype.replaceTracksInPlaylist=function(f,p,h){var _={url:n+"/playlists/"+f+"/tracks",type:"PUT",postData:{uris:p}};return d(_,{},h)},m.prototype.reorderTracksInPlaylist=function(f,p,h,_,b){var C={url:n+"/playlists/"+f+"/tracks",type:"PUT",postData:{range_start:p,insert_before:h}};return d(C,_,b)},m.prototype.removeTracksFromPlaylist=function(f,p,h){var _=p.map(function(C){return typeof C=="string"?{uri:C}:C}),b={url:n+"/playlists/"+f+"/tracks",type:"DELETE",postData:{tracks:_}};return d(b,{},h)},m.prototype.removeTracksFromPlaylistWithSnapshotId=function(f,p,h,_){var b=p.map(function(w){return typeof w=="string"?{uri:w}:w}),C={url:n+"/playlists/"+f+"/tracks",type:"DELETE",postData:{tracks:b,snapshot_id:h}};return d(C,{},_)},m.prototype.removeTracksFromPlaylistInPositions=function(f,p,h,_){var b={url:n+"/playlists/"+f+"/tracks",type:"DELETE",postData:{positions:p,snapshot_id:h}};return d(b,{},_)},m.prototype.uploadCustomPlaylistCoverImage=function(f,p,h){var _={url:n+"/playlists/"+f+"/images",type:"PUT",postData:p.replace(/^data:image\/jpeg;base64,/,""),contentType:"image/jpeg"};return d(_,{},h)},m.prototype.getAlbum=function(f,p,h){var _={url:n+"/albums/"+f};return d(_,p,h)},m.prototype.getAlbumTracks=function(f,p,h){var _={url:n+"/albums/"+f+"/tracks"};return d(_,p,h)},m.prototype.getAlbums=function(f,p,h){var _={url:n+"/albums/",params:{ids:f.join(",")}};return d(_,p,h)},m.prototype.getTrack=function(f,p,h){var _={};return _.url=n+"/tracks/"+f,d(_,p,h)},m.prototype.getTracks=function(f,p,h){var _={url:n+"/tracks/",params:{ids:f.join(",")}};return d(_,p,h)},m.prototype.getArtist=function(f,p,h){var _={url:n+"/artists/"+f};return d(_,p,h)},m.prototype.getArtists=function(f,p,h){var _={url:n+"/artists/",params:{ids:f.join(",")}};return d(_,p,h)},m.prototype.getArtistAlbums=function(f,p,h){var _={url:n+"/artists/"+f+"/albums"};return d(_,p,h)},m.prototype.getArtistTopTracks=function(f,p,h,_){var b={url:n+"/artists/"+f+"/top-tracks",params:{country:p}};return d(b,h,_)},m.prototype.getArtistRelatedArtists=function(f,p,h){var _={url:n+"/artists/"+f+"/related-artists"};return d(_,p,h)},m.prototype.getFeaturedPlaylists=function(f,p){var h={url:n+"/browse/featured-playlists"};return d(h,f,p)},m.prototype.getNewReleases=function(f,p){var h={url:n+"/browse/new-releases"};return d(h,f,p)},m.prototype.getCategories=function(f,p){var h={url:n+"/browse/categories"};return d(h,f,p)},m.prototype.getCategory=function(f,p,h){var _={url:n+"/browse/categories/"+f};return d(_,p,h)},m.prototype.getCategoryPlaylists=function(f,p,h){var _={url:n+"/browse/categories/"+f+"/playlists"};return d(_,p,h)},m.prototype.search=function(f,p,h,_){var b={url:n+"/search/",params:{q:f,type:p.join(",")}};return d(b,h,_)},m.prototype.searchAlbums=function(f,p,h){return this.search(f,["album"],p,h)},m.prototype.searchArtists=function(f,p,h){return this.search(f,["artist"],p,h)},m.prototype.searchTracks=function(f,p,h){return this.search(f,["track"],p,h)},m.prototype.searchPlaylists=function(f,p,h){return this.search(f,["playlist"],p,h)},m.prototype.searchShows=function(f,p,h){return this.search(f,["show"],p,h)},m.prototype.searchEpisodes=function(f,p,h){return this.search(f,["episode"],p,h)},m.prototype.getAudioFeaturesForTrack=function(f,p){var h={};return h.url=n+"/audio-features/"+f,d(h,{},p)},m.prototype.getAudioFeaturesForTracks=function(f,p){var h={url:n+"/audio-features",params:{ids:f}};return d(h,{},p)},m.prototype.getAudioAnalysisForTrack=function(f,p){var h={};return h.url=n+"/audio-analysis/"+f,d(h,{},p)},m.prototype.getRecommendations=function(f,p){var h={url:n+"/recommendations"};return d(h,f,p)},m.prototype.getAvailableGenreSeeds=function(f){var p={url:n+"/recommendations/available-genre-seeds"};return d(p,{},f)},m.prototype.getMyDevices=function(f){var p={url:n+"/me/player/devices"};return d(p,{},f)},m.prototype.getMyCurrentPlaybackState=function(f,p){var h={url:n+"/me/player"};return d(h,f,p)},m.prototype.getMyCurrentPlayingTrack=function(f,p){var h={url:n+"/me/player/currently-playing"};return d(h,f,p)},m.prototype.transferMyPlayback=function(f,p,h){var _=p||{};_.device_ids=f;var b={type:"PUT",url:n+"/me/player",postData:_};return d(b,p,h)},m.prototype.play=function(f,p){f=f||{};var h="device_id"in f?{device_id:f.device_id}:null,_={};["context_uri","uris","offset","position_ms"].forEach(function(w){w in f&&(_[w]=f[w])});var b={type:"PUT",url:n+"/me/player/play",params:h,postData:_},C=typeof f=="function"?f:{};return d(b,C,p)},m.prototype.queue=function(f,p,h){p=p||{};var _="device_id"in p?{uri:f,device_id:p.device_id}:{uri:f},b={type:"POST",url:n+"/me/player/queue",params:_};return d(b,p,h)},m.prototype.pause=function(f,p){f=f||{};var h="device_id"in f?{device_id:f.device_id}:null,_={type:"PUT",url:n+"/me/player/pause",params:h};return d(_,f,p)},m.prototype.skipToNext=function(f,p){f=f||{};var h="device_id"in f?{device_id:f.device_id}:null,_={type:"POST",url:n+"/me/player/next",params:h};return d(_,f,p)},m.prototype.skipToPrevious=function(f,p){f=f||{};var h="device_id"in f?{device_id:f.device_id}:null,_={type:"POST",url:n+"/me/player/previous",params:h};return d(_,f,p)},m.prototype.seek=function(f,p,h){p=p||{};var _={position_ms:f};"device_id"in p&&(_.device_id=p.device_id);var b={type:"PUT",url:n+"/me/player/seek",params:_};return d(b,p,h)},m.prototype.setRepeat=function(f,p,h){p=p||{};var _={state:f};"device_id"in p&&(_.device_id=p.device_id);var b={type:"PUT",url:n+"/me/player/repeat",params:_};return d(b,p,h)},m.prototype.setVolume=function(f,p,h){p=p||{};var _={volume_percent:f};"device_id"in p&&(_.device_id=p.device_id);var b={type:"PUT",url:n+"/me/player/volume",params:_};return d(b,p,h)},m.prototype.setShuffle=function(f,p,h){p=p||{};var _={state:f};"device_id"in p&&(_.device_id=p.device_id);var b={type:"PUT",url:n+"/me/player/shuffle",params:_};return d(b,p,h)},m.prototype.getShow=function(f,p,h){var _={};return _.url=n+"/shows/"+f,d(_,p,h)},m.prototype.getShows=function(f,p,h){var _={url:n+"/shows/",params:{ids:f.join(",")}};return d(_,p,h)},m.prototype.getMySavedShows=function(f,p){var h={url:n+"/me/shows"};return d(h,f,p)},m.prototype.addToMySavedShows=function(f,p,h){var _={url:n+"/me/shows",type:"PUT",postData:f};return d(_,p,h)},m.prototype.removeFromMySavedShows=function(f,p,h){var _={url:n+"/me/shows",type:"DELETE",postData:f};return d(_,p,h)},m.prototype.containsMySavedShows=function(f,p,h){var _={url:n+"/me/shows/contains",params:{ids:f.join(",")}};return d(_,p,h)},m.prototype.getShowEpisodes=function(f,p,h){var _={url:n+"/shows/"+f+"/episodes"};return d(_,p,h)},m.prototype.getEpisode=function(f,p,h){var _={};return _.url=n+"/episodes/"+f,d(_,p,h)},m.prototype.getEpisodes=function(f,p,h){var _={url:n+"/episodes/",params:{ids:f.join(",")}};return d(_,p,h)},m.prototype.getAccessToken=function(){return r},m.prototype.setAccessToken=function(f){r=f},m.prototype.setPromiseImplementation=function(f){var p=!1;try{var h=new f(function(_){_()});typeof h.then=="function"&&typeof h.catch=="function"&&(p=!0)}catch(_){console.error(_)}if(p)s=f;else throw new Error("Unsupported implementation of Promises/A+")},m}();e.exports=t})(W1);var E5=W1.exports;const Yn=Ti(E5),S5={name:"ModalDialogTrack",props:["show","track"],emits:["close","play-count-changed"],data(){return{spotify_track:{}}},watch:{track(){if(this.track&&this.track.data_kind==="spotify"&&this.track.media_kind!=="podcast"){const e=new Yn;e.setAccessToken(this.$store.state.spotify.webapi_token),e.getTrack(this.track.path.slice(this.track.path.lastIndexOf(":")+1)).then(t=>{this.spotify_track=t})}else this.spotify_track={}}},methods:{mark_new(){V.library_track_update(this.track.id,{play_count:"reset"}).then(()=>{this.$emit("play-count-changed"),this.$emit("close")})},mark_played(){V.library_track_update(this.track.id,{play_count:"increment"}).then(()=>{this.$emit("play-count-changed"),this.$emit("close")})},open_album(){this.track.data_kind==="spotify"&&this.track.media_kind!=="podcast"?this.$router.push({name:"music-spotify-album",params:{id:this.spotify_track.album.id}}):this.track.media_kind==="podcast"?this.$router.push({name:"podcast",params:{id:this.track.album_id}}):this.track.media_kind==="audiobook"?this.$router.push({name:"audiobooks-album",params:{id:this.track.album_id}}):this.track.media_kind==="music"&&this.$router.push({name:"music-album",params:{id:this.track.album_id}})},open_album_artist(){this.track.data_kind==="spotify"?this.$router.push({name:"music-spotify-artist",params:{id:this.spotify_track.artists[0].id}}):this.track.media_kind==="music"||this.track.media_kind==="podcast"?this.$router.push({name:"music-artist",params:{id:this.track.album_artist_id}}):this.track.media_kind==="audiobook"&&this.$router.push({name:"audiobooks-artist",params:{id:this.track.album_artist_id}})},open_genre(){this.$router.push({name:"genre-albums",params:{name:this.track.genre},query:{media_kind:this.track.media_kind}})},play(){this.$emit("close"),V.player_play_uri(this.track.uri,!1)},queue_add(){this.$emit("close"),V.queue_add(this.track.uri)},queue_add_next(){this.$emit("close"),V.queue_add_next(this.track.uri)}}},$5={key:0,class:"modal is-active"},A5={class:"modal-content fd-modal-card"},T5={class:"card"},O5={class:"card-content"},D5=["textContent"],P5=["textContent"],I5={key:0,class:"buttons"},F5=["textContent"],R5=["textContent"],L5={class:"content is-small"},N5={key:0},M5=["textContent"],V5=["textContent"],H5={key:1},U5=["textContent"],B5=["textContent"],j5={key:2},q5=["textContent"],W5=["textContent"],G5={key:3},K5=["textContent"],Z5=["textContent"],Y5={key:4},J5=["textContent"],X5=["textContent"],Q5={key:5},eD=["textContent"],tD=["textContent"],nD={key:6},rD=["textContent"],sD=["textContent"],oD={key:7},iD=["textContent"],aD=["textContent"],lD=["textContent"],uD=["textContent"],cD=["textContent"],dD={class:"title is-6"},mD=["textContent"],fD={key:8},pD=["textContent"],hD={class:"title is-6"},_D=["textContent"],gD=["textContent"],yD=["textContent"],vD=["textContent"],bD=["textContent"],zD=["textContent"],CD=["textContent"],wD=["textContent"],kD={key:9},xD=["textContent"],ED=["textContent"],SD={class:"card-footer"},$D=["textContent"],AD=["textContent"],TD=["textContent"];function OD(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",$5,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",A5,[u("div",T5,[u("div",O5,[u("p",{class:"title is-4",textContent:g(n.track.title)},null,8,D5),u("p",{class:"subtitle",textContent:g(n.track.artist)},null,8,P5),n.track.media_kind==="podcast"?(k(),T("div",I5,[n.track.play_count>0?(k(),T("a",{key:0,class:"button is-small",onClick:t[1]||(t[1]=(...a)=>o.mark_new&&o.mark_new(...a)),textContent:g(e.$t("dialog.track.mark-as-new"))},null,8,F5)):M("",!0),n.track.play_count===0?(k(),T("a",{key:1,class:"button is-small",onClick:t[2]||(t[2]=(...a)=>o.mark_played&&o.mark_played(...a)),textContent:g(e.$t("dialog.track.mark-as-played"))},null,8,R5)):M("",!0)])):M("",!0),u("div",L5,[n.track.album?(k(),T("p",N5,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.album"))},null,8,M5),u("a",{class:"title is-6 has-text-link",onClick:t[3]||(t[3]=(...a)=>o.open_album&&o.open_album(...a)),textContent:g(n.track.album)},null,8,V5)])):M("",!0),n.track.album_artist&&n.track.media_kind!=="audiobook"?(k(),T("p",H5,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.album-artist"))},null,8,U5),u("a",{class:"title is-6 has-text-link",onClick:t[4]||(t[4]=(...a)=>o.open_album_artist&&o.open_album_artist(...a)),textContent:g(n.track.album_artist)},null,8,B5)])):M("",!0),n.track.composer?(k(),T("p",j5,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.composer"))},null,8,q5),u("span",{class:"title is-6",textContent:g(n.track.composer)},null,8,W5)])):M("",!0),n.track.date_released?(k(),T("p",G5,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.release-date"))},null,8,K5),u("span",{class:"title is-6",textContent:g(e.$filters.date(n.track.date_released))},null,8,Z5)])):n.track.year?(k(),T("p",Y5,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.year"))},null,8,J5),u("span",{class:"title is-6",textContent:g(n.track.year)},null,8,X5)])):M("",!0),n.track.genre?(k(),T("p",Q5,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.genre"))},null,8,eD),u("a",{class:"title is-6 has-text-link",onClick:t[5]||(t[5]=(...a)=>o.open_genre&&o.open_genre(...a)),textContent:g(n.track.genre)},null,8,tD)])):M("",!0),n.track.disc_number?(k(),T("p",nD,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.position"))},null,8,rD),u("span",{class:"title is-6",textContent:g([n.track.disc_number,n.track.track_number].join(" / "))},null,8,sD)])):M("",!0),n.track.length_ms?(k(),T("p",oD,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.duration"))},null,8,iD),u("span",{class:"title is-6",textContent:g(e.$filters.durationInHours(n.track.length_ms))},null,8,aD)])):M("",!0),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.path"))},null,8,lD),u("span",{class:"title is-6",textContent:g(n.track.path)},null,8,uD)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.type"))},null,8,cD),u("span",dD,[u("span",{textContent:g([e.$t("media.kind."+n.track.media_kind),e.$t("data.kind."+n.track.data_kind)].join(" - "))},null,8,mD)])]),n.track.samplerate?(k(),T("p",fD,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.quality"))},null,8,pD),u("span",hD,[u("span",{textContent:g(n.track.type)},null,8,_D),n.track.samplerate?(k(),T("span",{key:0,textContent:g(e.$t("dialog.track.samplerate",{rate:n.track.samplerate}))},null,8,gD)):M("",!0),n.track.channels?(k(),T("span",{key:1,textContent:g(e.$t("dialog.track.channels",{channels:e.$filters.channels(n.track.channels)}))},null,8,yD)):M("",!0),n.track.bitrate?(k(),T("span",{key:2,textContent:g(e.$t("dialog.track.bitrate",{rate:n.track.bitrate}))},null,8,vD)):M("",!0)])])):M("",!0),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.added-on"))},null,8,bD),u("span",{class:"title is-6",textContent:g(e.$filters.datetime(n.track.time_added))},null,8,zD)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.rating"))},null,8,CD),u("span",{class:"title is-6",textContent:g(e.$t("dialog.track.rating-value",{rating:Math.floor(n.track.rating/10)}))},null,8,wD)]),n.track.comment?(k(),T("p",kD,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.comment"))},null,8,xD),u("span",{class:"title is-6",textContent:g(n.track.comment)},null,8,ED)])):M("",!0)])]),u("footer",SD,[u("a",{class:"card-footer-item has-text-dark",onClick:t[6]||(t[6]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.track.add"))},null,8,$D)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[7]||(t[7]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.track.add-next"))},null,8,AD)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[8]||(t[8]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.track.play"))},null,8,TD)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[9]||(t[9]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const DD=te(S5,[["render",OD]]),PD={name:"ProgressBar",props:["max","value"]},ID=["value","max"];function FD(e,t,n,r,s,o){return n.value>0?(k(),T("progress",{key:0,class:"progress is-info",value:n.value,max:n.max},null,8,ID)):M("",!0)}const RD=te(PD,[["render",FD],["__scopeId","data-v-b2fd846d"]]),LD={name:"ListTracks",components:{ModalDialogTrack:DD,ProgressBar:RD},props:["tracks","uris","expression","show_progress","show_icon"],emits:["play-count-changed"],data(){return{show_details_modal:!1,selected_track:{}}},methods:{play_track(e){this.uris?V.player_play_uri(this.uris,!1,this.tracks.items.indexOf(e)):this.expression?V.player_play_expression(this.expression,!1,this.tracks.items.indexOf(e)):V.player_play_uri(e.uri,!1)},open_dialog(e){this.selected_track=e,this.show_details_modal=!0}}},ND={key:0,class:"mt-6 mb-5 py-2"},MD=["id","textContent"],VD=["onClick"],HD={key:0,class:"media-left is-clickable"},UD={class:"media-content is-clickable is-clipped"},BD=["textContent"],jD=["textContent"],qD=["textContent"],WD={class:"media-right"},GD=["onClick"];function KD(e,t,n,r,s,o){const i=$("mdicon"),a=$("progress-bar"),l=$("modal-dialog-track");return k(),T(we,null,[(k(!0),T(we,null,ct(n.tracks,c=>(k(),T(we,{key:c.itemId},[c.isItem?(k(),T("div",{key:1,class:Ee(["media is-align-items-center",{"with-progress":n.show_progress}]),onClick:d=>o.play_track(c.item)},[n.show_icon?(k(),T("figure",HD,[y(i,{class:"icon",name:"file-outline",size:"16"})])):M("",!0),u("div",UD,[u("h1",{class:Ee(["title is-6",{"has-text-grey":c.item.media_kind==="podcast"&&c.item.play_count>0}]),textContent:g(c.item.title)},null,10,BD),u("h2",{class:"subtitle is-7 has-text-grey has-text-weight-bold",textContent:g(c.item.artist)},null,8,jD),u("h2",{class:"subtitle is-7 has-text-grey",textContent:g(c.item.album)},null,8,qD),n.show_progress?(k(),_e(a,{key:0,max:c.item.length_ms,value:c.item.seek_ms},null,8,["max","value"])):M("",!0)]),u("div",WD,[u("a",{onClick:st(d=>o.open_dialog(c.item),["prevent","stop"])},[y(i,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,GD)])],10,VD)):(k(),T("div",ND,[u("span",{id:"index_"+c.groupKey,class:"tag is-info is-light is-small has-text-weight-bold",textContent:g(c.groupKey)},null,8,MD)]))],64))),128)),(k(),_e(Yr,{to:"#app"},[y(l,{show:s.show_details_modal,track:s.selected_track,onClose:t[0]||(t[0]=c=>s.show_details_modal=!1),onPlayCountChanged:t[1]||(t[1]=c=>e.$emit("play-count-changed"))},null,8,["show","track"])]))],64)}const Cn=te(LD,[["render",KD]]),ZD={name:"ModalDialogAlbum",components:{CoverArtwork:Fn},props:["show","album","media_kind","new_tracks"],emits:["close","remove-podcast","play-count-changed"],data(){return{artwork_visible:!1}},computed:{artwork_url(){return V.artwork_url_append_size_params(this.album.artwork_url)},media_kind_resolved(){return this.media_kind?this.media_kind:this.album.media_kind}},methods:{play(){this.$emit("close"),V.player_play_uri(this.album.uri,!1)},queue_add(){this.$emit("close"),V.queue_add(this.album.uri)},queue_add_next(){this.$emit("close"),V.queue_add_next(this.album.uri)},open_album(){this.$emit("close"),this.media_kind_resolved==="podcast"?this.$router.push({name:"podcast",params:{id:this.album.id}}):this.media_kind_resolved==="audiobook"?this.$router.push({name:"audiobooks-album",params:{id:this.album.id}}):this.$router.push({name:"music-album",params:{id:this.album.id}})},open_artist(){this.$emit("close"),this.media_kind_resolved==="audiobook"?this.$router.push({name:"audiobooks-artist",params:{id:this.album.artist_id}}):this.$router.push({name:"music-artist",params:{id:this.album.artist_id}})},mark_played(){V.library_album_track_update(this.album.id,{play_count:"played"}).then(({data:e})=>{this.$emit("play-count-changed"),this.$emit("close")})},artwork_loaded(){this.artwork_visible=!0},artwork_error(){this.artwork_visible=!1}}},YD={key:0,class:"modal is-active"},JD={class:"modal-content fd-modal-card"},XD={class:"card"},QD={class:"card-content"},eP={class:"title is-4"},tP=["textContent"],nP={key:0,class:"buttons"},rP=["textContent"],sP=["textContent"],oP={class:"content is-small"},iP={key:0},aP=["textContent"],lP=["textContent"],uP={key:1},cP=["textContent"],dP=["textContent"],mP={key:2},fP=["textContent"],pP=["textContent"],hP=["textContent"],_P=["textContent"],gP=["textContent"],yP=["textContent"],vP=["textContent"],bP=["textContent"],zP=["textContent"],CP=["textContent"],wP={class:"card-footer"},kP=["textContent"],xP=["textContent"],EP=["textContent"];function SP(e,t,n,r,s,o){const i=$("cover-artwork"),a=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",YD,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=l=>e.$emit("close"))}),u("div",JD,[u("div",XD,[u("div",QD,[y(i,{artwork_url:n.album.artwork_url,artist:n.album.artist,album:n.album.name,class:"fd-has-shadow fd-cover fd-cover-normal-image mb-5"},null,8,["artwork_url","artist","album"]),u("p",eP,[u("a",{class:"has-text-link",onClick:t[1]||(t[1]=(...l)=>o.open_album&&o.open_album(...l)),textContent:g(n.album.name)},null,8,tP)]),o.media_kind_resolved==="podcast"?(k(),T("div",nP,[u("a",{class:"button is-small",onClick:t[2]||(t[2]=(...l)=>o.mark_played&&o.mark_played(...l)),textContent:g(e.$t("dialog.album.mark-as-played"))},null,8,rP),n.album.data_kind==="url"?(k(),T("a",{key:0,class:"button is-small",onClick:t[3]||(t[3]=l=>e.$emit("remove-podcast")),textContent:g(e.$t("dialog.album.remove-podcast"))},null,8,sP)):M("",!0)])):M("",!0),u("div",oP,[n.album.artist?(k(),T("p",iP,[u("span",{class:"heading",textContent:g(e.$t("dialog.album.artist"))},null,8,aP),u("a",{class:"title is-6 has-text-link",onClick:t[4]||(t[4]=(...l)=>o.open_artist&&o.open_artist(...l)),textContent:g(n.album.artist)},null,8,lP)])):M("",!0),n.album.date_released?(k(),T("p",uP,[u("span",{class:"heading",textContent:g(e.$t("dialog.album.release-date"))},null,8,cP),u("span",{class:"title is-6",textContent:g(e.$filters.date(n.album.date_released))},null,8,dP)])):n.album.year>0?(k(),T("p",mP,[u("span",{class:"heading",textContent:g(e.$t("dialog.album.year"))},null,8,fP),u("span",{class:"title is-6",textContent:g(n.album.year)},null,8,pP)])):M("",!0),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.album.tracks"))},null,8,hP),u("span",{class:"title is-6",textContent:g(n.album.track_count)},null,8,_P)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.album.duration"))},null,8,gP),u("span",{class:"title is-6",textContent:g(e.$filters.durationInHours(n.album.length_ms))},null,8,yP)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.album.type"))},null,8,vP),u("span",{class:"title is-6",textContent:g([e.$t("media.kind."+n.album.media_kind),e.$t("data.kind."+n.album.data_kind)].join(" - "))},null,8,bP)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.album.added-on"))},null,8,zP),u("span",{class:"title is-6",textContent:g(e.$filters.datetime(n.album.time_added))},null,8,CP)])])]),u("footer",wP,[u("a",{class:"card-footer-item has-text-dark",onClick:t[5]||(t[5]=(...l)=>o.queue_add&&o.queue_add(...l))},[y(a,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.album.add"))},null,8,kP)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[6]||(t[6]=(...l)=>o.queue_add_next&&o.queue_add_next(...l))},[y(a,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.album.add-next"))},null,8,xP)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[7]||(t[7]=(...l)=>o.play&&o.play(...l))},[y(a,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.album.play"))},null,8,EP)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[8]||(t[8]=l=>e.$emit("close"))})])):M("",!0)]),_:1})])}const cu=te(ZD,[["render",SP]]),oa={load(e){return Promise.all([V.library_album(e.params.id),V.library_album_tracks(e.params.id)])},set(e,t){e.album=t[0].data,e.tracks=new ve(t[1].data),e.tracks.group(k5("disc_number")),e.tracks.indexList<=1&&e.tracks.group($m())}},$P={name:"PageAlbum",components:{ContentWithHero:uu,CoverArtwork:Fn,ListTracks:Cn,ModalDialogAlbum:cu},beforeRouteEnter(e,t,n){oa.load(e).then(r=>{n(s=>oa.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;oa.load(e).then(s=>{oa.set(r,s),n()})},data(){return{album:{},show_details_modal:!1,tracks:new ve}},methods:{open_artist(){this.show_details_modal=!1,this.$router.push({name:"music-artist",params:{id:this.album.artist_id}})},play(){V.player_play_uri(this.album.uri,!0)}}},AP=["textContent"],TP={class:"subtitle is-6 has-text-link"},OP=["textContent"],DP={class:"buttons fd-is-centered-mobile mt-5"},PP=["textContent"],IP=["textContent"];function FP(e,t,n,r,s,o){const i=$("mdicon"),a=$("cover-artwork"),l=$("list-tracks"),c=$("modal-dialog-album"),d=$("content-with-hero");return k(),T("div",null,[y(d,null,{"heading-left":E(()=>[u("h1",{class:"title is-5",textContent:g(s.album.name)},null,8,AP),u("h2",TP,[u("a",{class:"has-text-link",onClick:t[0]||(t[0]=(...m)=>o.open_artist&&o.open_artist(...m)),textContent:g(s.album.artist)},null,8,OP)]),u("div",DP,[u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...m)=>o.play&&o.play(...m))},[y(i,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.album.shuffle"))},null,8,PP)]),u("a",{class:"button is-small is-light is-rounded",onClick:t[2]||(t[2]=m=>s.show_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})])])]),"heading-right":E(()=>[y(a,{artwork_url:s.album.artwork_url,artist:s.album.artist,album:s.album.name,class:"is-clickable fd-has-shadow fd-cover fd-cover-medium-image",onClick:t[3]||(t[3]=m=>s.show_details_modal=!0)},null,8,["artwork_url","artist","album"])]),content:E(()=>[u("p",{class:"heading is-7 has-text-centered-mobile mt-5",textContent:g(e.$t("page.album.track-count",{count:s.album.track_count}))},null,8,IP),y(l,{tracks:s.tracks,uris:s.album.uri},null,8,["tracks","uris"]),y(c,{show:s.show_details_modal,album:s.album,onClose:t[4]||(t[4]=m=>s.show_details_modal=!1)},null,8,["show","album"])]),_:1})])}const RP=te($P,[["render",FP]]),LP={name:"ListItemTrackSpotify",props:["track","position","context_uri"],methods:{play(){this.track.is_playable&&V.player_play_uri(this.context_uri,!1,this.position)}}},NP={class:"media is-align-items-center"},MP=["textContent"],VP=["textContent"],HP={key:0,class:"subtitle is-7"},UP=["textContent"],BP=["textContent"],jP={class:"media-right"};function qP(e,t,n,r,s,o){return k(),T("div",NP,[u("div",{class:Ee(["media-content is-clipped",{"is-clickable":n.track.is_playable,"fd-is-not-allowed":!n.track.is_playable}]),onClick:t[0]||(t[0]=(...i)=>o.play&&o.play(...i))},[u("h1",{class:Ee(["title is-6",{"has-text-grey-light":!n.track.is_playable}]),textContent:g(n.track.name)},null,10,MP),u("h2",{class:Ee(["subtitle is-7",{"has-text-grey":n.track.is_playable,"has-text-grey-light":!n.track.is_playable}]),textContent:g(n.track.artists[0].name)},null,10,VP),n.track.is_playable?M("",!0):(k(),T("h2",HP,[gt(" ("),u("span",{textContent:g(e.$t("list.spotify.not-playable-track"))},null,8,UP),n.track.restrictions&&n.track.restrictions.reason?(k(),T("span",{key:0,textContent:g(e.$t("list.spotify.restriction-reason",{reason:n.track.restrictions.reason}))},null,8,BP)):M("",!0),gt(") ")]))],2),u("div",jP,[it(e.$slots,"actions")])])}const Tm=te(LP,[["render",qP]]),WP={name:"ModalDialogAlbumSpotify",components:{CoverArtwork:Fn},props:["show","album"],emits:["close"],data(){return{artwork_visible:!1}},computed:{artwork_url(){return this.album.images&&this.album.images.length>0?this.album.images[0].url:""}},methods:{play(){this.$emit("close"),V.player_play_uri(this.album.uri,!1)},queue_add(){this.$emit("close"),V.queue_add(this.album.uri)},queue_add_next(){this.$emit("close"),V.queue_add_next(this.album.uri)},open_album(){this.$emit("close"),this.$router.push({name:"music-spotify-album",params:{id:this.album.id}})},open_artist(){this.$emit("close"),this.$router.push({name:"music-spotify-artist",params:{id:this.album.artists[0].id}})},artwork_loaded(){this.artwork_visible=!0},artwork_error(){this.artwork_visible=!1}}},GP={key:0,class:"modal is-active"},KP={class:"modal-content fd-modal-card"},ZP={class:"card"},YP={class:"card-content"},JP={class:"title is-4"},XP=["textContent"],QP={class:"content is-small"},eI=["textContent"],tI=["textContent"],nI=["textContent"],rI=["textContent"],sI=["textContent"],oI=["textContent"],iI={class:"card-footer"},aI=["textContent"],lI=["textContent"],uI=["textContent"];function cI(e,t,n,r,s,o){const i=$("cover-artwork"),a=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",GP,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=l=>e.$emit("close"))}),u("div",KP,[u("div",ZP,[u("div",YP,[y(i,{artwork_url:o.artwork_url,artist:n.album.artist,album:n.album.name,class:"fd-has-shadow fd-cover fd-cover-normal-image mb-5",onLoad:o.artwork_loaded,onError:o.artwork_error},null,8,["artwork_url","artist","album","onLoad","onError"]),u("p",JP,[u("a",{class:"has-text-link",onClick:t[1]||(t[1]=(...l)=>o.open_album&&o.open_album(...l)),textContent:g(n.album.name)},null,8,XP)]),u("div",QP,[u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.album.album-artist"))},null,8,eI),u("a",{class:"title is-6 has-text-link",onClick:t[2]||(t[2]=(...l)=>o.open_artist&&o.open_artist(...l)),textContent:g(n.album.artists[0].name)},null,8,tI)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.album.release-date"))},null,8,nI),u("span",{class:"title is-6",textContent:g(e.$filters.date(n.album.release_date))},null,8,rI)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.album.type"))},null,8,sI),u("span",{class:"title is-6",textContent:g(n.album.album_type)},null,8,oI)])])]),u("footer",iI,[u("a",{class:"card-footer-item has-text-dark",onClick:t[3]||(t[3]=(...l)=>o.queue_add&&o.queue_add(...l))},[y(a,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.album.add"))},null,8,aI)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...l)=>o.queue_add_next&&o.queue_add_next(...l))},[y(a,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.album.add-next"))},null,8,lI)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[5]||(t[5]=(...l)=>o.play&&o.play(...l))},[y(a,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.album.play"))},null,8,uI)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[6]||(t[6]=l=>e.$emit("close"))})])):M("",!0)]),_:1})])}const Fi=te(WP,[["render",cI]]),dI={name:"ModalDialogTrackSpotify",props:["show","track","album"],emits:["close"],methods:{play(){this.$emit("close"),V.player_play_uri(this.track.uri,!1)},queue_add(){this.$emit("close"),V.queue_add(this.track.uri)},queue_add_next(){this.$emit("close"),V.queue_add_next(this.track.uri)},open_album(){this.$emit("close"),this.$router.push({name:"music-spotify-album",params:{id:this.album.id}})},open_artist(){this.$emit("close"),this.$router.push({name:"music-spotify-artist",params:{id:this.album.artists[0].id}})}}},mI={key:0,class:"modal is-active"},fI={class:"modal-content fd-modal-card"},pI={class:"card"},hI={class:"card-content"},_I=["textContent"],gI=["textContent"],yI={class:"content is-small"},vI=["textContent"],bI=["textContent"],zI=["textContent"],CI=["textContent"],wI=["textContent"],kI=["textContent"],xI=["textContent"],EI=["textContent"],SI=["textContent"],$I=["textContent"],AI=["textContent"],TI=["textContent"],OI={class:"card-footer"},DI=["textContent"],PI=["textContent"],II=["textContent"];function FI(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",mI,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",fI,[u("div",pI,[u("div",hI,[u("p",{class:"title is-4",textContent:g(n.track.name)},null,8,_I),u("p",{class:"subtitle",textContent:g(n.track.artists[0].name)},null,8,gI),u("div",yI,[u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.track.album"))},null,8,vI),u("a",{class:"title is-6 has-text-link",onClick:t[1]||(t[1]=(...a)=>o.open_album&&o.open_album(...a)),textContent:g(n.album.name)},null,8,bI)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.track.album-artist"))},null,8,zI),u("a",{class:"title is-6 has-text-link",onClick:t[2]||(t[2]=(...a)=>o.open_artist&&o.open_artist(...a)),textContent:g(n.album.artists[0].name)},null,8,CI)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.track.release-date"))},null,8,wI),u("span",{class:"title is-6",textContent:g(e.$filters.date(n.album.release_date))},null,8,kI)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.track.position"))},null,8,xI),u("span",{class:"title is-6",textContent:g([n.track.disc_number,n.track.track_number].join(" / "))},null,8,EI)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.track.duration"))},null,8,SI),u("span",{class:"title is-6",textContent:g(e.$filters.durationInHours(n.track.duration_ms))},null,8,$I)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.track.path"))},null,8,AI),u("span",{class:"title is-6",textContent:g(n.track.uri)},null,8,TI)])])]),u("footer",OI,[u("a",{class:"card-footer-item has-text-dark",onClick:t[3]||(t[3]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.track.add"))},null,8,DI)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.track.add-next"))},null,8,PI)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[5]||(t[5]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.track.play"))},null,8,II)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[6]||(t[6]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const Om=te(dI,[["render",FI]]),ia={load(e){const t=new Yn;return t.setAccessToken(He.state.spotify.webapi_token),t.getAlbum(e.params.id,{market:He.state.spotify.webapi_country})},set(e,t){e.album=t}},RI={name:"PageAlbumSpotify",components:{ContentWithHero:uu,CoverArtwork:Fn,ListItemTrackSpotify:Tm,ModalDialogAlbumSpotify:Fi,ModalDialogTrackSpotify:Om},beforeRouteEnter(e,t,n){ia.load(e).then(r=>{n(s=>ia.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;ia.load(e).then(s=>{ia.set(r,s),n()})},data(){return{album:{artists:[{}],tracks:{}},selected_track:{},show_details_modal:!1,show_track_details_modal:!1}},computed:{artwork_url(){return this.album.images&&this.album.images.length>0?this.album.images[0].url:""}},methods:{open_artist(){this.$router.push({name:"music-spotify-artist",params:{id:this.album.artists[0].id}})},play(){this.show_details_modal=!1,V.player_play_uri(this.album.uri,!0)},open_track_dialog(e){this.selected_track=e,this.show_track_details_modal=!0}}},LI=["textContent"],NI={class:"subtitle is-6 has-text-link"},MI=["textContent"],VI={class:"buttons fd-is-centered-mobile mt-5"},HI=["textContent"],UI=["textContent"],BI=["onClick"];function jI(e,t,n,r,s,o){const i=$("mdicon"),a=$("cover-artwork"),l=$("list-item-track-spotify"),c=$("modal-dialog-album-spotify"),d=$("modal-dialog-track-spotify"),m=$("content-with-hero");return k(),T("div",null,[y(m,null,{"heading-left":E(()=>[u("h1",{class:"title is-5",textContent:g(s.album.name)},null,8,LI),u("h2",NI,[u("a",{class:"has-text-link",onClick:t[0]||(t[0]=(...f)=>o.open_artist&&o.open_artist(...f)),textContent:g(s.album.artists[0].name)},null,8,MI)]),u("div",VI,[u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...f)=>o.play&&o.play(...f))},[y(i,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.spotify.album.shuffle"))},null,8,HI)]),u("a",{class:"button is-small is-light is-rounded",onClick:t[2]||(t[2]=f=>s.show_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})])])]),"heading-right":E(()=>[y(a,{artwork_url:o.artwork_url,artist:s.album.artist,album:s.album.name,class:"is-clickable fd-has-shadow fd-cover fd-cover-medium-image",onClick:t[3]||(t[3]=f=>s.show_details_modal=!0)},null,8,["artwork_url","artist","album"])]),content:E(()=>[u("p",{class:"heading is-7 has-text-centered-mobile mt-5",textContent:g(e.$t("page.spotify.album.track-count",{count:s.album.tracks.total}))},null,8,UI),(k(!0),T(we,null,ct(s.album.tracks.items,(f,p)=>(k(),_e(l,{key:f.id,track:f,position:p,context_uri:s.album.uri},{actions:E(()=>[u("a",{onClick:st(h=>o.open_track_dialog(f),["prevent","stop"])},[y(i,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,BI)]),_:2},1032,["track","position","context_uri"]))),128)),y(c,{show:s.show_details_modal,album:s.album,onClose:t[4]||(t[4]=f=>s.show_details_modal=!1)},null,8,["show","album"]),y(d,{show:s.show_track_details_modal,track:s.selected_track,album:s.album,onClose:t[5]||(t[5]=f=>s.show_track_details_modal=!1)},null,8,["show","track","album"])]),_:1})])}const qI=te(RI,[["render",jI]]),WI={name:"ContentWithHeading",data(){return{options_visible:!1}},computed:{icon_name(){return this.options_visible?"chevron-up":"chevron-down"},position(){return{hash:this.options_visible?"#top":"#app"}}},mounted(){this.$slots.options&&(this.observer=new IntersectionObserver(this.onElementObserved,{rootMargin:"-82px 0px 0px 0px",threshold:1}),this.observer.observe(this.$refs.options_ref))},methods:{onElementObserved(e){e.forEach(({target:t,isIntersecting:n})=>{this.options_visible=n})},visibilityChanged(e){this.options_visible=e}}},GI={class:"section"},KI={class:"container"},ZI={class:"columns is-centered"},YI={class:"column is-four-fifths"},JI={key:0},XI={ref:"options_ref",style:{height:"1px"}},QI={class:"buttons is-centered mt-4 mb-2"},eF={id:"top",class:"level is-clipped"},tF={class:"level-left is-flex-shrink-1"},nF={class:"level-item is-flex-shrink-1 has-text-centered-mobile"},rF={class:"level-right has-text-centered-mobile"},sF={class:"mt-4"};function oF(e,t,n,r,s,o){const i=$("mdicon"),a=$("router-link");return k(),T("section",GI,[u("div",KI,[u("div",ZI,[u("div",YI,[e.$slots.options?(k(),T("section",JI,[u("div",XI,null,512),it(e.$slots,"options"),u("nav",QI,[y(a,{class:"button is-small is-white",to:o.position},{default:E(()=>[y(i,{class:"icon is-small",name:o.icon_name,size:"16"},null,8,["name"])]),_:1},8,["to"])])])):M("",!0),u("div",{class:Ee({"is-full-height":e.$slots.options})},[u("nav",eF,[u("div",tF,[u("div",nF,[u("div",null,[it(e.$slots,"heading-left")])])]),u("div",rF,[it(e.$slots,"heading-right")])]),it(e.$slots,"content"),u("div",sF,[it(e.$slots,"footer")])],2)])])])])}const et=te(WI,[["render",oF]]),iF={name:"ControlDropdown",props:["value","options"],emits:["update:value"],data(){return{is_active:!1}},computed:{option:{get(){return this.options.find(e=>e.id===this.value)}}},methods:{onClickOutside(e){this.is_active=!1},select(e){this.is_active=!1,this.$emit("update:value",e.id)}}},aF={class:"dropdown-trigger"},lF=["textContent"],uF={id:"dropdown",class:"dropdown-menu",role:"menu"},cF={class:"dropdown-content"},dF=["onClick","textContent"];function mF(e,t,n,r,s,o){const i=$("mdicon"),a=Md("click-away");return yt((k(),T("div",{class:Ee(["dropdown",{"is-active":s.is_active}])},[u("div",aF,[u("button",{class:"button","aria-haspopup":"true","aria-controls":"dropdown",onClick:t[0]||(t[0]=l=>s.is_active=!s.is_active)},[u("span",{textContent:g(o.option.name)},null,8,lF),y(i,{class:"icon",name:"chevron-down",size:"16"})])]),u("div",uF,[u("div",cF,[(k(!0),T(we,null,ct(n.options,l=>(k(),T("a",{key:l.id,class:Ee(["dropdown-item",{"is-active":n.value===l.id}]),onClick:c=>o.select(l),textContent:g(l.name)},null,10,dF))),128))])])],2)),[[a,o.onClickOutside]])}const Ss=te(iF,[["render",mF]]),fF={name:"IndexButtonList",props:["index"]},pF={class:"buttons is-centered mb-4 fd-is-square"};function hF(e,t,n,r,s,o){const i=$("router-link");return k(),T("section",null,[u("nav",pF,[(k(!0),T(we,null,ct(n.index,a=>(k(),_e(i,{key:a,class:"button is-small",to:"#index_"+a},{default:E(()=>[gt(g(a),1)]),_:2},1032,["to"]))),128))])])}const Jn=te(fF,[["render",hF]]),_F={name:"ListAlbums",components:{CoverArtwork:Fn,ModalDialog:fm,ModalDialogAlbum:cu},props:["albums","media_kind","hide_group_title"],emits:["play-count-changed","podcast-deleted"],data(){return{show_details_modal:!1,selected_album:{},show_remove_podcast_modal:!1,rss_playlist_to_remove:{}}},computed:{is_visible_artwork(){return this.$store.getters.settings_option("webinterface","show_cover_artwork_in_album_lists").value},media_kind_resolved(){return this.media_kind?this.media_kind:this.selected_album.media_kind}},methods:{open_album(e){this.selected_album=e,this.media_kind_resolved==="podcast"?this.$router.push({name:"podcast",params:{id:e.id}}):this.media_kind_resolved==="audiobook"?this.$router.push({name:"audiobooks-album",params:{id:e.id}}):this.$router.push({name:"music-album",params:{id:e.id}})},open_dialog(e){this.selected_album=e,this.show_details_modal=!0},open_remove_podcast_dialog(){V.library_album_tracks(this.selected_album.id,{limit:1}).then(({data:e})=>{V.library_track_playlists(e.items[0].id).then(({data:t})=>{this.rss_playlist_to_remove=t.items.filter(n=>n.type==="rss")[0],this.show_remove_podcast_modal=!0,this.show_details_modal=!1})})},play_count_changed(){this.$emit("play-count-changed")},remove_podcast(){this.show_remove_podcast_modal=!1,V.library_playlist_delete(this.rss_playlist_to_remove.id).then(()=>{this.$emit("podcast-deleted")})}}},gF={key:0,class:"mt-6 mb-5 py-2"},yF=["id","textContent"],vF=["onClick"],bF={key:0,class:"media-left"},zF={class:"media-content is-clickable is-clipped"},CF=["textContent"],wF=["textContent"],kF=["textContent"],xF={class:"media-right"},EF=["onClick"],SF=["textContent"],$F={class:"is-size-7"},AF=["textContent"],TF=["textContent"];function OF(e,t,n,r,s,o){const i=$("cover-artwork"),a=$("mdicon"),l=$("modal-dialog-album"),c=$("modal-dialog");return k(),T(we,null,[(k(!0),T(we,null,ct(n.albums,d=>(k(),T(we,{key:d.itemId},[!d.isItem&&!n.hide_group_title?(k(),T("div",gF,[u("span",{id:"index_"+d.groupKey,class:"tag is-info is-light is-small has-text-weight-bold",textContent:g(d.groupKey)},null,8,yF)])):d.isItem?(k(),T("div",{key:1,class:"media is-align-items-center",onClick:m=>o.open_album(d.item)},[o.is_visible_artwork?(k(),T("div",bF,[y(i,{artwork_url:d.item.artwork_url,artist:d.item.artist,album:d.item.name,class:"is-clickable fd-has-shadow fd-cover fd-cover-small-image"},null,8,["artwork_url","artist","album"])])):M("",!0),u("div",zF,[u("div",null,[u("h1",{class:"title is-6",textContent:g(d.item.name)},null,8,CF),u("h2",{class:"subtitle is-7 has-text-grey has-text-weight-bold",textContent:g(d.item.artist)},null,8,wF),d.item.date_released&&d.item.media_kind==="music"?(k(),T("h2",{key:0,class:"subtitle is-7 has-text-grey",textContent:g(e.$filters.date(d.item.date_released))},null,8,kF)):M("",!0)])]),u("div",xF,[u("a",{onClick:st(m=>o.open_dialog(d.item),["prevent","stop"])},[y(a,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,EF)])],8,vF)):M("",!0)],64))),128)),(k(),_e(Yr,{to:"#app"},[y(l,{show:s.show_details_modal,album:s.selected_album,media_kind:n.media_kind,onRemovePodcast:t[0]||(t[0]=d=>o.open_remove_podcast_dialog()),onPlayCountChanged:t[1]||(t[1]=d=>o.play_count_changed()),onClose:t[2]||(t[2]=d=>s.show_details_modal=!1)},null,8,["show","album","media_kind"]),y(c,{show:s.show_remove_podcast_modal,title:e.$t("page.podcast.remove-podcast"),delete_action:e.$t("page.podcast.remove"),onClose:t[3]||(t[3]=d=>s.show_remove_podcast_modal=!1),onDelete:o.remove_podcast},{"modal-content":E(()=>[u("p",{textContent:g(e.$t("list.albums.info-1"))},null,8,SF),u("p",$F,[gt(" ("),u("span",{textContent:g(e.$t("list.albums.info-2"))},null,8,AF),u("b",{textContent:g(s.rss_playlist_to_remove.name)},null,8,TF),gt(") ")])]),_:1},8,["show","title","delete_action","onDelete"])]))],64)}const ur=te(_F,[["render",OF]]),DF={name:"TabsMusic",computed:{spotify_enabled(){return this.$store.state.spotify.webapi_token_valid}}},PF={class:"section fd-tabs-section"},IF={class:"container"},FF={class:"columns is-centered"},RF={class:"column is-four-fifths"},LF={class:"tabs is-centered is-small"},NF=["onClick","onKeypress"],MF=["textContent"],VF=["onClick","onKeypress"],HF=["textContent"],UF=["onClick","onKeypress"],BF=["textContent"],jF=["onClick","onKeypress"],qF=["textContent"],WF=["onClick","onKeypress"],GF=["textContent"],KF=["onClick","onKeypress"],ZF=["textContent"];function YF(e,t,n,r,s,o){const i=$("mdicon"),a=$("router-link");return k(),T("section",PF,[u("div",IF,[u("div",FF,[u("div",RF,[u("div",LF,[u("ul",null,[y(a,{to:{name:"music-history"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"history",size:"16"}),u("span",{textContent:g(e.$t("page.music.tabs.history"))},null,8,MF)],40,NF)],2)]),_:1}),y(a,{to:{name:"music-artists"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"account-music",size:"16"}),u("span",{textContent:g(e.$t("page.music.tabs.artists"))},null,8,HF)],40,VF)],2)]),_:1}),y(a,{to:{name:"music-albums"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"album",size:"16"}),u("span",{textContent:g(e.$t("page.music.tabs.albums"))},null,8,BF)],40,UF)],2)]),_:1}),y(a,{to:{name:"music-genres"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"speaker",size:"16"}),u("span",{textContent:g(e.$t("page.music.tabs.genres"))},null,8,qF)],40,jF)],2)]),_:1}),y(a,{to:{name:"music-composers"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"book-open-page-variant",size:"16"}),u("span",{textContent:g(e.$t("page.music.tabs.composers"))},null,8,GF)],40,WF)],2)]),_:1}),o.spotify_enabled?(k(),_e(a,{key:0,to:{name:"music-spotify"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"spotify",size:"16"}),u("span",{textContent:g(e.$t("page.music.tabs.spotify"))},null,8,ZF)],40,KF)],2)]),_:1})):M("",!0)])])])])])])}const cr=te(DF,[["render",YF]]),aa={load(e){return V.library_albums("music")},set(e,t){e.albums_list=new ve(t.data)}},JF={name:"PageAlbums",components:{ContentWithHeading:et,ControlDropdown:Ss,IndexButtonList:Jn,ListAlbums:ur,TabsMusic:cr},beforeRouteEnter(e,t,n){aa.load(e).then(r=>{n(s=>aa.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.albums_list.isEmpty()){n();return}const r=this;aa.load(e).then(s=>{aa.set(r,s),n()})},data(){return{albums_list:new ve,groupby_options:[{id:1,name:this.$t("page.albums.sort.name"),options:Rn("name_sort",!0)},{id:2,name:this.$t("page.albums.sort.recently-added"),options:wl("time_added",{direction:"desc"})},{id:3,name:this.$t("page.albums.sort.recently-released"),options:wl("date_released",{direction:"desc"})}]}},computed:{albums(){const e=this.groupby_options.find(t=>t.id===this.selected_groupby_option_id);return this.albums_list.group(e.options,[t=>!this.hide_singles||t.track_count>2,t=>!this.hide_spotify||t.data_kind!=="spotify"]),this.albums_list},selected_groupby_option_id:{get(){return this.$store.state.albums_sort},set(e){this.$store.commit(n_,e)}},spotify_enabled(){return this.$store.state.spotify.webapi_token_valid},hide_singles:{get(){return this.$store.state.hide_singles},set(e){this.$store.commit(Tl,e)}},hide_spotify:{get(){return this.$store.state.hide_spotify},set(e){this.$store.commit(vi,e)}}}},XF={class:"fd-page-with-tabs"},QF={class:"columns"},eR={class:"column"},tR=["textContent"],nR={class:"field"},rR={class:"control"},sR=["textContent"],oR=["textContent"],iR={key:0,class:"field"},aR={class:"control"},lR=["textContent"],uR=["textContent"],cR={class:"column"},dR=["textContent"],mR=["textContent"],fR=["textContent"];function pR(e,t,n,r,s,o){const i=$("tabs-music"),a=$("index-button-list"),l=$("control-dropdown"),c=$("list-albums"),d=$("content-with-heading");return k(),T("div",XF,[y(i),y(d,null,{options:E(()=>[y(a,{index:o.albums.indexList},null,8,["index"]),u("div",QF,[u("div",eR,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.albums.filter"))},null,8,tR),u("div",nR,[u("div",rR,[yt(u("input",{id:"switchHideSingles","onUpdate:modelValue":t[0]||(t[0]=m=>o.hide_singles=m),type:"checkbox",class:"switch is-rounded"},null,512),[[On,o.hide_singles]]),u("label",{for:"switchHideSingles",textContent:g(e.$t("page.albums.hide-singles"))},null,8,sR)]),u("p",{class:"help",textContent:g(e.$t("page.albums.hide-singles-help"))},null,8,oR)]),o.spotify_enabled?(k(),T("div",iR,[u("div",aR,[yt(u("input",{id:"switchHideSpotify","onUpdate:modelValue":t[1]||(t[1]=m=>o.hide_spotify=m),type:"checkbox",class:"switch is-rounded"},null,512),[[On,o.hide_spotify]]),u("label",{for:"switchHideSpotify",textContent:g(e.$t("page.albums.hide-spotify"))},null,8,lR)]),u("p",{class:"help",textContent:g(e.$t("page.albums.hide-spotify-help"))},null,8,uR)])):M("",!0)]),u("div",cR,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.albums.sort.title"))},null,8,dR),y(l,{value:o.selected_groupby_option_id,"onUpdate:value":t[2]||(t[2]=m=>o.selected_groupby_option_id=m),options:s.groupby_options},null,8,["value","options"])])])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.albums.title"))},null,8,mR),u("p",{class:"heading",textContent:g(e.$t("page.albums.count",{count:o.albums.count}))},null,8,fR)]),"heading-right":E(()=>[]),content:E(()=>[y(c,{albums:o.albums},null,8,["albums"])]),_:1})])}const hR=te(JF,[["render",pR]]),_R={name:"ModalDialogArtist",props:["show","artist"],emits:["close"],methods:{play(){this.$emit("close"),V.player_play_uri(this.artist.uri,!1)},queue_add(){this.$emit("close"),V.queue_add(this.artist.uri)},queue_add_next(){this.$emit("close"),V.queue_add_next(this.artist.uri)},open_artist(){this.$emit("close"),this.$router.push({name:"music-artist",params:{id:this.artist.id}})}}},gR={key:0,class:"modal is-active"},yR={class:"modal-content fd-modal-card"},vR={class:"card"},bR={class:"card-content"},zR={class:"title is-4"},CR=["textContent"],wR={class:"content is-small"},kR=["textContent"],xR=["textContent"],ER=["textContent"],SR=["textContent"],$R=["textContent"],AR=["textContent"],TR=["textContent"],OR=["textContent"],DR={class:"card-footer"},PR=["textContent"],IR=["textContent"],FR=["textContent"];function RR(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",gR,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",yR,[u("div",vR,[u("div",bR,[u("p",zR,[u("a",{class:"has-text-link",onClick:t[1]||(t[1]=(...a)=>o.open_artist&&o.open_artist(...a)),textContent:g(n.artist.name)},null,8,CR)]),u("div",wR,[u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.artist.albums"))},null,8,kR),u("span",{class:"title is-6",textContent:g(n.artist.album_count)},null,8,xR)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.artist.tracks"))},null,8,ER),u("span",{class:"title is-6",textContent:g(n.artist.track_count)},null,8,SR)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.artist.type"))},null,8,$R),u("span",{class:"title is-6",textContent:g(e.$t("data.kind."+n.artist.data_kind))},null,8,AR)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.artist.added-on"))},null,8,TR),u("span",{class:"title is-6",textContent:g(e.$filters.datetime(n.artist.time_added))},null,8,OR)])])]),u("footer",DR,[u("a",{class:"card-footer-item has-text-dark",onClick:t[2]||(t[2]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.artist.add"))},null,8,PR)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[3]||(t[3]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.artist.add-next"))},null,8,IR)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.artist.play"))},null,8,FR)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[5]||(t[5]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const du=te(_R,[["render",RR]]),la={load(e){return Promise.all([V.library_artist(e.params.id),V.library_artist_albums(e.params.id)])},set(e,t){e.artist=t[0].data,e.albums_list=new ve(t[1].data)}},LR={name:"PageArtist",components:{ContentWithHeading:et,ControlDropdown:Ss,ListAlbums:ur,ModalDialogArtist:du},beforeRouteEnter(e,t,n){la.load(e).then(r=>{n(s=>la.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;la.load(e).then(s=>{la.set(r,s),n()})},data(){return{artist:{},albums_list:new ve,groupby_options:[{id:1,name:this.$t("page.artist.sort.name"),options:Rn("name_sort",!0)},{id:2,name:this.$t("page.artist.sort.release-date"),options:wl("date_released",{direction:"asc"})}],show_details_modal:!1}},computed:{albums(){const e=this.groupby_options.find(t=>t.id===this.selected_groupby_option_id);return this.albums_list.group(e.options,[t=>!this.hide_spotify||t.data_kind!=="spotify"]),this.albums_list},hide_spotify:{get(){return this.$store.state.hide_spotify},set(e){this.$store.commit(vi,e)}},selected_groupby_option_id:{get(){return this.$store.state.artist_albums_sort},set(e){this.$store.commit(e_,e)}},spotify_enabled(){return this.$store.state.spotify.webapi_token_valid},track_count(){return[...this.albums].reduce((e,t)=>e+(t.isItem?t.item.track_count:0),0)}},methods:{open_tracks(){this.$router.push({name:"music-artist-tracks",params:{id:this.artist.id}})},play(){V.player_play_uri(this.albums.items.map(e=>e.uri).join(","),!0)}}},NR={class:"columns"},MR={class:"column"},VR=["textContent"],HR={key:0,class:"field"},UR={class:"control"},BR=["textContent"],jR=["textContent"],qR={class:"column"},WR=["textContent"],GR=["textContent"],KR={class:"buttons is-centered"},ZR=["textContent"],YR={class:"heading has-text-centered-mobile"},JR=["textContent"],XR=u("span",null," | ",-1),QR=["textContent"];function eL(e,t,n,r,s,o){const i=$("control-dropdown"),a=$("mdicon"),l=$("list-albums"),c=$("modal-dialog-artist"),d=$("content-with-heading");return k(),T("div",null,[y(d,null,{options:E(()=>[u("div",NR,[u("div",MR,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.artist.filter"))},null,8,VR),o.spotify_enabled?(k(),T("div",HR,[u("div",UR,[yt(u("input",{id:"switchHideSpotify","onUpdate:modelValue":t[0]||(t[0]=m=>o.hide_spotify=m),type:"checkbox",class:"switch is-rounded"},null,512),[[On,o.hide_spotify]]),u("label",{for:"switchHideSpotify",textContent:g(e.$t("page.artist.hide-spotify"))},null,8,BR)]),u("p",{class:"help",textContent:g(e.$t("page.artist.hide-spotify-help"))},null,8,jR)])):M("",!0)]),u("div",qR,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.artist.sort.title"))},null,8,WR),y(i,{value:o.selected_groupby_option_id,"onUpdate:value":t[1]||(t[1]=m=>o.selected_groupby_option_id=m),options:s.groupby_options},null,8,["value","options"])])])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(s.artist.name)},null,8,GR)]),"heading-right":E(()=>[u("div",KR,[u("a",{class:"button is-small is-light is-rounded",onClick:t[2]||(t[2]=m=>s.show_details_modal=!0)},[y(a,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[3]||(t[3]=(...m)=>o.play&&o.play(...m))},[y(a,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.artist.shuffle"))},null,8,ZR)])])]),content:E(()=>[u("p",YR,[u("span",{textContent:g(e.$t("page.artist.album-count",{count:o.albums.count}))},null,8,JR),XR,u("a",{class:"has-text-link",onClick:t[4]||(t[4]=(...m)=>o.open_tracks&&o.open_tracks(...m)),textContent:g(e.$t("page.artist.track-count",{count:o.track_count}))},null,8,QR)]),y(l,{albums:o.albums,hide_group_title:!0},null,8,["albums"]),y(c,{show:s.show_details_modal,artist:s.artist,onClose:t[5]||(t[5]=m=>s.show_details_modal=!1)},null,8,["show","artist"])]),_:1})])}const tL=te(LR,[["render",eL]]),nL={name:"ListItemAlbumSpotify",props:["album"]},rL={class:"media is-align-items-center"},sL={key:0,class:"media-left is-clickable"},oL={class:"media-content is-clickable is-clipped"},iL=["textContent"],aL=["textContent"],lL=["textContent"],uL={class:"media-right"};function cL(e,t,n,r,s,o){return k(),T("div",rL,[e.$slots.artwork?(k(),T("div",sL,[it(e.$slots,"artwork")])):M("",!0),u("div",oL,[u("h1",{class:"title is-6",textContent:g(n.album.name)},null,8,iL),u("h2",{class:"subtitle is-7 has-text-grey has-text-weight-bold",textContent:g(n.album.artists[0].name)},null,8,aL),u("h2",{class:"subtitle is-7 has-text-grey",textContent:g([n.album.album_type,e.$filters.date(n.album.release_date)].join(", "))},null,8,lL)]),u("div",uL,[it(e.$slots,"actions")])])}const mu=te(nL,[["render",cL]]),dL={name:"ModalDialogArtistSpotify",props:["show","artist"],emits:["close"],methods:{play(){this.$emit("close"),V.player_play_uri(this.artist.uri,!1)},queue_add(){this.$emit("close"),V.queue_add(this.artist.uri)},queue_add_next(){this.$emit("close"),V.queue_add_next(this.artist.uri)},open_artist(){this.$emit("close"),this.$router.push({name:"music-spotify-artist",params:{id:this.artist.id}})}}},mL={key:0,class:"modal is-active"},fL={class:"modal-content fd-modal-card"},pL={class:"card"},hL={class:"card-content"},_L={class:"title is-4"},gL=["textContent"],yL={class:"content is-small"},vL=["textContent"],bL=["textContent"],zL=["textContent"],CL=["textContent"],wL={class:"card-footer"},kL=["textContent"],xL=["textContent"],EL=["textContent"];function SL(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",mL,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",fL,[u("div",pL,[u("div",hL,[u("p",_L,[u("a",{class:"has-text-link",onClick:t[1]||(t[1]=(...a)=>o.open_artist&&o.open_artist(...a)),textContent:g(n.artist.name)},null,8,gL)]),u("div",yL,[u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.artist.popularity"))},null,8,vL),u("span",{class:"title is-6",textContent:g([n.artist.popularity,n.artist.followers.total].join(" / "))},null,8,bL)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.artist.genres"))},null,8,zL),u("span",{class:"title is-6",textContent:g(n.artist.genres.join(", "))},null,8,CL)])])]),u("footer",wL,[u("a",{class:"card-footer-item has-text-dark",onClick:t[2]||(t[2]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.artist.add"))},null,8,kL)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[3]||(t[3]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.artist.add-next"))},null,8,xL)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.artist.play"))},null,8,EL)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[5]||(t[5]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const G1=te(dL,[["render",SL]]);function $L(e){return e.scrollHeight}function AL(e){return e.scrollWidth}function TL(e,t){e.scrollTop=e.scrollHeight-t+e.scrollTop}function OL(e,t){e.scrollLeft=e.scrollWidth-t+e.scrollLeft}const DL=u("div",{class:"loading"},"Loading...",-1),PL=u("div",{class:"no-more"},"No more.",-1),IL=u("div",{class:"no-results"},"No results.",-1),FL=u("div",{class:"error"},"Error.",-1),Dm=zr({__name:"VueEternalLoading",props:{load:{required:!0,type:Function},isInitial:{required:!1,type:Boolean,default:!0},position:{required:!1,type:String,default:"default"},container:{required:!1,type:Object,default:null},margin:{required:!1,type:String,default:void 0}},emits:["update:isInitial"],setup(e,{emit:t}){const n=e,r=sr();let s=sr("loading"),o=sr(n.isInitial),i=0;function a(){fo(()=>{var v,z;n.position==="top"?TL((v=n.container)!=null?v:document.documentElement,i):n.position==="left"&&OL((z=n.container)!=null?z:document.documentElement,i)})}function l(v,z){return v===0?o.value?(d(),"no-results"):(c(),"no-more"):v!==void 0&&z!==void 0&&v{var z,S;v.isIntersecting&&(n.position==="top"?i=$L((z=n.container)!=null?z:document.documentElement):n.position==="left"&&(i=AL((S=n.container)!=null?S:document.documentElement)),_(),n.load({loaded:l,noMore:c,noResults:d,error:m},{isFirstLoad:o.value}))},{root:n.container,threshold:0,rootMargin:n.margin})}let w;return typeof IntersectionObserver<"u"&&V_(()=>{w&&_(),w=C(),b()},{flush:"post"}),bn(()=>n.isInitial,v=>{v&&f()}),bn(o,v=>{v||t("update:isInitial",!1)}),(v,z)=>(k(),T("div",{class:"vue-eternal-loading",ref_key:"rootRef",ref:r},[yn(s)==="loading"?it(v.$slots,"loading",Po(Hs({key:0},{isFirstLoad:yn(o)})),()=>[DL]):yn(s)==="no-more"?it(v.$slots,"no-more",Po(Hs({key:1},{retry:p})),()=>[PL]):yn(s)==="no-results"?it(v.$slots,"no-results",Po(Hs({key:2},{retry:p})),()=>[IL]):yn(s)==="error"?it(v.$slots,"error",Po(Hs({key:3},{retry:p})),()=>[FL]):M("",!0)],512))}}),ad=50,ua={load(e){const t=new Yn;return t.setAccessToken(He.state.spotify.webapi_token),Promise.all([t.getArtist(e.params.id),t.getArtistAlbums(e.params.id,{limit:ad,offset:0,include_groups:"album,single",market:He.state.spotify.webapi_country})])},set(e,t){e.artist=t[0],e.albums=[],e.total=0,e.offset=0,e.append_albums(t[1])}},RL={name:"PageArtistSpotify",components:{ContentWithHeading:et,CoverArtwork:Fn,ListItemAlbumSpotify:mu,ModalDialogAlbumSpotify:Fi,ModalDialogArtistSpotify:G1,VueEternalLoading:Dm},beforeRouteEnter(e,t,n){ua.load(e).then(r=>{n(s=>ua.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;ua.load(e).then(s=>{ua.set(r,s),n()})},data(){return{albums:[],artist:{},offset:0,selected_album:{},show_album_details_modal:!1,show_details_modal:!1,total:0}},computed:{is_visible_artwork(){return this.$store.getters.settings_option("webinterface","show_cover_artwork_in_album_lists").value}},methods:{load_next({loaded:e}){const t=new Yn;t.setAccessToken(this.$store.state.spotify.webapi_token),t.getArtistAlbums(this.artist.id,{limit:ad,offset:this.offset,include_groups:"album,single"}).then(n=>{this.append_albums(n),e(n.items.length,ad)})},append_albums(e){this.albums=this.albums.concat(e.items),this.total=e.total,this.offset+=e.limit},play(){this.show_album_details_modal=!1,V.player_play_uri(this.artist.uri,!0)},open_album(e){this.$router.push({name:"music-spotify-album",params:{id:e.id}})},open_dialog(e){this.selected_album=e,this.show_album_details_modal=!0},artwork_url(e){return e.images&&e.images.length>0?e.images[0].url:""}}},LL=["textContent"],NL={class:"buttons is-centered"},ML=["textContent"],VL=["textContent"],HL=["onClick"];function UL(e,t,n,r,s,o){const i=$("mdicon"),a=$("cover-artwork"),l=$("list-item-album-spotify"),c=$("VueEternalLoading"),d=$("modal-dialog-artist-spotify"),m=$("modal-dialog-album-spotify"),f=$("content-with-heading");return k(),T("div",null,[y(f,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(s.artist.name)},null,8,LL)]),"heading-right":E(()=>[u("div",NL,[u("a",{class:"button is-small is-light is-rounded",onClick:t[0]||(t[0]=p=>s.show_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...p)=>o.play&&o.play(...p))},[y(i,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.spotify.artist.shuffle"))},null,8,ML)])])]),content:E(()=>[u("p",{class:"heading has-text-centered-mobile",textContent:g(e.$t("page.spotify.artist.album-count",{count:s.total}))},null,8,VL),(k(!0),T(we,null,ct(s.albums,p=>(k(),_e(l,{key:p.id,album:p,onClick:h=>o.open_album(p)},Ei({actions:E(()=>[u("a",{onClick:st(h=>o.open_dialog(p),["prevent","stop"])},[y(i,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,HL)]),_:2},[o.is_visible_artwork?{name:"artwork",fn:E(()=>[y(a,{artwork_url:o.artwork_url(p),artist:p.artist,album:p.name,class:"is-clickable fd-has-shadow fd-cover fd-cover-small-image",maxwidth:64,maxheight:64},null,8,["artwork_url","artist","album"])]),key:"0"}:void 0]),1032,["album","onClick"]))),128)),s.offset[gt(" . ")]),_:1},8,["load"])):M("",!0),y(d,{show:s.show_details_modal,artist:s.artist,onClose:t[2]||(t[2]=p=>s.show_details_modal=!1)},null,8,["show","artist"]),y(m,{show:s.show_album_details_modal,album:s.selected_album,onClose:t[3]||(t[3]=p=>s.show_album_details_modal=!1)},null,8,["show","album"])]),_:1})])}const BL=te(RL,[["render",UL]]),jL={name:"ListArtists",components:{ModalDialogArtist:du},props:["artists","hide_group_title"],data(){return{show_details_modal:!1,selected_artist:{}}},methods:{open_artist(e){this.selected_artist=e;const t=e.media_kind==="audiobook"?"audiobooks-artist":"music-artist";this.$router.push({name:t,params:{id:e.id}})},open_dialog(e){this.selected_artist=e,this.show_details_modal=!0}}},qL={key:0,class:"mt-6 mb-5 py-2"},WL={class:"media-content is-clipped"},GL=["id","textContent"],KL=["onClick"],ZL={class:"media-content is-clickable is-clipped"},YL=["textContent"],JL={class:"media-right"},XL=["onClick"];function QL(e,t,n,r,s,o){const i=$("mdicon"),a=$("modal-dialog-artist");return k(),T(we,null,[(k(!0),T(we,null,ct(n.artists,l=>(k(),T(we,{key:l.itemId},[!l.isItem&&!n.hide_group_title?(k(),T("div",qL,[u("div",WL,[u("span",{id:"index_"+l.groupKey,class:"tag is-info is-light is-small has-text-weight-bold",textContent:g(l.groupKey)},null,8,GL)])])):l.isItem?(k(),T("div",{key:1,class:"media is-align-items-center",onClick:c=>o.open_artist(l.item)},[u("div",ZL,[u("h1",{class:"title is-6",textContent:g(l.item.name)},null,8,YL)]),u("div",JL,[u("a",{onClick:st(c=>o.open_dialog(l.item),["prevent","stop"])},[y(i,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,XL)])],8,KL)):M("",!0)],64))),128)),(k(),_e(Yr,{to:"#app"},[y(a,{artist:s.selected_artist,show:s.show_details_modal,onClose:t[0]||(t[0]=l=>s.show_details_modal=!1)},null,8,["artist","show"])]))],64)}const Pm=te(jL,[["render",QL]]),ca={load(e){return V.library_artists("music")},set(e,t){e.artists_list=new ve(t.data)}},eN={name:"PageArtists",components:{ContentWithHeading:et,ControlDropdown:Ss,IndexButtonList:Jn,ListArtists:Pm,TabsMusic:cr},beforeRouteEnter(e,t,n){ca.load(e).then(r=>{n(s=>ca.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.artists_list.isEmpty()){n();return}const r=this;ca.load(e).then(s=>{ca.set(r,s),n()})},data(){return{artists_list:new ve,groupby_options:[{id:1,name:this.$t("page.artists.sort.name"),options:Rn("name_sort",!0)},{id:2,name:this.$t("page.artists.sort.recently-added"),options:wl("time_added",{direction:"desc"})}]}},computed:{artists(){if(!this.artists_list)return[];const e=this.groupby_options.find(t=>t.id===this.selected_groupby_option_id);return this.artists_list.group(e.options,[t=>!this.hide_singles||t.track_count>t.album_count*2,t=>!this.hide_spotify||t.data_kind!=="spotify"]),this.artists_list},selected_groupby_option_id:{get(){return this.$store.state.artists_sort},set(e){this.$store.commit(Qh,e)}},spotify_enabled(){return this.$store.state.spotify.webapi_token_valid},hide_singles:{get(){return this.$store.state.hide_singles},set(e){this.$store.commit(Tl,e)}},hide_spotify:{get(){return this.$store.state.hide_spotify},set(e){this.$store.commit(vi,e)}}}},tN={class:"fd-page-with-tabs"},nN={class:"columns"},rN={class:"column"},sN=["textContent"],oN={class:"field"},iN={class:"control"},aN=["textContent"],lN=["textContent"],uN={key:0,class:"field"},cN={class:"control"},dN=["textContent"],mN=["textContent"],fN={class:"column"},pN=["textContent"],hN=["textContent"],_N=["textContent"];function gN(e,t,n,r,s,o){const i=$("tabs-music"),a=$("index-button-list"),l=$("control-dropdown"),c=$("list-artists"),d=$("content-with-heading");return k(),T("div",tN,[y(i),y(d,null,{options:E(()=>[y(a,{index:o.artists.indexList},null,8,["index"]),u("div",nN,[u("div",rN,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.artists.filter"))},null,8,sN),u("div",oN,[u("div",iN,[yt(u("input",{id:"switchHideSingles","onUpdate:modelValue":t[0]||(t[0]=m=>o.hide_singles=m),type:"checkbox",class:"switch is-rounded"},null,512),[[On,o.hide_singles]]),u("label",{for:"switchHideSingles",textContent:g(e.$t("page.artists.hide-singles"))},null,8,aN)]),u("p",{class:"help",textContent:g(e.$t("page.artists.hide-singles-help"))},null,8,lN)]),o.spotify_enabled?(k(),T("div",uN,[u("div",cN,[yt(u("input",{id:"switchHideSpotify","onUpdate:modelValue":t[1]||(t[1]=m=>o.hide_spotify=m),type:"checkbox",class:"switch is-rounded"},null,512),[[On,o.hide_spotify]]),u("label",{for:"switchHideSpotify",textContent:g(e.$t("page.artists.hide-spotify"))},null,8,dN)]),u("p",{class:"help",textContent:g(e.$t("page.artists.hide-spotify-help"))},null,8,mN)])):M("",!0)]),u("div",fN,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.artists.sort.title"))},null,8,pN),y(l,{value:o.selected_groupby_option_id,"onUpdate:value":t[2]||(t[2]=m=>o.selected_groupby_option_id=m),options:s.groupby_options},null,8,["value","options"])])])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.artists.title"))},null,8,hN),u("p",{class:"heading",textContent:g(e.$t("page.artists.count",{count:o.artists.count}))},null,8,_N)]),"heading-right":E(()=>[]),content:E(()=>[y(c,{artists:o.artists},null,8,["artists"])]),_:1})])}const yN=te(eN,[["render",gN]]),da={load(e){return Promise.all([V.library_artist(e.params.id),V.library_artist_tracks(e.params.id)])},set(e,t){e.artist=t[0].data,e.tracks_list=new ve(t[1].data.tracks)}},vN={name:"PageArtistTracks",components:{ContentWithHeading:et,ControlDropdown:Ss,IndexButtonList:Jn,ListTracks:Cn,ModalDialogArtist:du},beforeRouteEnter(e,t,n){da.load(e).then(r=>{n(s=>da.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;da.load(e).then(s=>{da.set(r,s),n()})},data(){return{artist:{},groupby_options:[{id:1,name:this.$t("page.artist.sort.name"),options:Rn("title_sort")},{id:2,name:this.$t("page.artist.sort.rating"),options:Am("rating",{direction:"desc"})}],show_details_modal:!1,tracks_list:new ve}},computed:{album_count(){return new Set([...this.tracks].filter(e=>e.isItem).map(e=>e.item.album_id)).size},hide_spotify:{get(){return this.$store.state.hide_spotify},set(e){this.$store.commit(vi,e)}},selected_groupby_option_id:{get(){return this.$store.state.artist_tracks_sort},set(e){this.$store.commit(t_,e)}},spotify_enabled(){return this.$store.state.spotify.webapi_token_valid},tracks(){const e=this.groupby_options.find(t=>t.id===this.selected_groupby_option_id);return this.tracks_list.group(e.options,[t=>!this.hide_spotify||t.data_kind!=="spotify"]),this.tracks_list},track_uris(){return this.tracks_list.items.map(e=>e.uri).join(",")}},methods:{open_artist(){this.show_details_modal=!1,this.$router.push({name:"music-artist",params:{id:this.artist.id}})},play(){V.player_play_uri(this.tracks_list.items.map(e=>e.uri).join(","),!0)}}},bN={class:"columns"},zN={class:"column"},CN=["textContent"],wN={key:0,class:"field"},kN={class:"control"},xN=["textContent"],EN=["textContent"],SN={class:"column"},$N=["textContent"],AN=["textContent"],TN={class:"buttons is-centered"},ON=["textContent"],DN={class:"heading has-text-centered-mobile"},PN=["textContent"],IN=u("span",null," | ",-1),FN=["textContent"];function RN(e,t,n,r,s,o){const i=$("index-button-list"),a=$("control-dropdown"),l=$("mdicon"),c=$("list-tracks"),d=$("modal-dialog-artist"),m=$("content-with-heading");return k(),T("div",null,[y(m,null,{options:E(()=>[y(i,{index:o.tracks.indexList},null,8,["index"]),u("div",bN,[u("div",zN,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.artist.filter"))},null,8,CN),o.spotify_enabled?(k(),T("div",wN,[u("div",kN,[yt(u("input",{id:"switchHideSpotify","onUpdate:modelValue":t[0]||(t[0]=f=>o.hide_spotify=f),type:"checkbox",class:"switch is-rounded"},null,512),[[On,o.hide_spotify]]),u("label",{for:"switchHideSpotify",textContent:g(e.$t("page.artist.hide-spotify"))},null,8,xN)]),u("p",{class:"help",textContent:g(e.$t("page.artist.hide-spotify-help"))},null,8,EN)])):M("",!0)]),u("div",SN,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.artist.sort.title"))},null,8,$N),y(a,{value:o.selected_groupby_option_id,"onUpdate:value":t[1]||(t[1]=f=>o.selected_groupby_option_id=f),options:s.groupby_options},null,8,["value","options"])])])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(s.artist.name)},null,8,AN)]),"heading-right":E(()=>[u("div",TN,[u("a",{class:"button is-small is-light is-rounded",onClick:t[2]||(t[2]=f=>s.show_details_modal=!0)},[y(l,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[3]||(t[3]=(...f)=>o.play&&o.play(...f))},[y(l,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.artist.shuffle"))},null,8,ON)])])]),content:E(()=>[u("p",DN,[u("a",{class:"has-text-link",onClick:t[4]||(t[4]=(...f)=>o.open_artist&&o.open_artist(...f)),textContent:g(e.$t("page.artist.album-count",{count:o.album_count}))},null,8,PN),IN,u("span",{textContent:g(e.$t("page.artist.track-count",{count:o.tracks.count}))},null,8,FN)]),y(c,{tracks:o.tracks,uris:o.track_uris},null,8,["tracks","uris"]),y(d,{show:s.show_details_modal,artist:s.artist,onClose:t[5]||(t[5]=f=>s.show_details_modal=!1)},null,8,["show","artist"])]),_:1})])}const LN=te(vN,[["render",RN]]),ma={load(e){return Promise.all([V.library_album(e.params.id),V.library_album_tracks(e.params.id)])},set(e,t){e.album=t[0].data,e.tracks=new ve(t[1].data)}},NN={name:"PageAudiobooksAlbum",components:{ContentWithHero:uu,CoverArtwork:Fn,ListTracks:Cn,ModalDialogAlbum:cu},beforeRouteEnter(e,t,n){ma.load(e).then(r=>{n(s=>ma.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;ma.load(e).then(s=>{ma.set(r,s),n()})},data(){return{album:{},show_details_modal:!1,tracks:new ve}},methods:{open_artist(){this.show_details_modal=!1,this.$router.push({name:"audiobooks-artist",params:{id:this.album.artist_id}})},play(){V.player_play_uri(this.album.uri,!1)}}},MN=["textContent"],VN={class:"subtitle is-6 has-text-link"},HN=["textContent"],UN={class:"buttons fd-is-centered-mobile mt-5"},BN=["textContent"],jN=["textContent"];function qN(e,t,n,r,s,o){const i=$("mdicon"),a=$("cover-artwork"),l=$("list-tracks"),c=$("modal-dialog-album"),d=$("content-with-hero");return k(),T("div",null,[y(d,null,{"heading-left":E(()=>[u("h1",{class:"title is-5",textContent:g(s.album.name)},null,8,MN),u("h2",VN,[u("a",{class:"has-text-link",onClick:t[0]||(t[0]=(...m)=>o.open_artist&&o.open_artist(...m)),textContent:g(s.album.artist)},null,8,HN)]),u("div",UN,[u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...m)=>o.play&&o.play(...m))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{textContent:g(e.$t("page.audiobooks.album.play"))},null,8,BN)]),u("a",{class:"button is-small is-light is-rounded",onClick:t[2]||(t[2]=m=>s.show_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})])])]),"heading-right":E(()=>[y(a,{artwork_url:s.album.artwork_url,artist:s.album.artist,album:s.album.name,class:"is-clickable fd-has-shadow fd-cover fd-cover-medium-image",onClick:t[3]||(t[3]=m=>s.show_details_modal=!0)},null,8,["artwork_url","artist","album"])]),content:E(()=>[u("p",{class:"heading is-7 has-text-centered-mobile mt-5",textContent:g(e.$t("page.audiobooks.album.track-count",{count:s.album.track_count}))},null,8,jN),y(l,{tracks:s.tracks,uris:s.album.uri},null,8,["tracks","uris"]),y(c,{show:s.show_details_modal,album:s.album,media_kind:"audiobook",onClose:t[4]||(t[4]=m=>s.show_details_modal=!1)},null,8,["show","album"])]),_:1})])}const WN=te(NN,[["render",qN]]),GN={name:"TabsAudiobooks"},KN={class:"section fd-tabs-section"},ZN={class:"container"},YN={class:"columns is-centered"},JN={class:"column is-four-fifths"},XN={class:"tabs is-centered is-small"},QN=["onClick","onKeypress"],eM=["textContent"],tM=["onClick","onKeypress"],nM=["textContent"],rM=["onClick","onKeypress"],sM=["textContent"];function oM(e,t,n,r,s,o){const i=$("mdicon"),a=$("router-link");return k(),T("section",KN,[u("div",ZN,[u("div",YN,[u("div",JN,[u("div",XN,[u("ul",null,[y(a,{to:{name:"audiobooks-artists"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"account-music",size:"16"}),u("span",{textContent:g(e.$t("page.audiobooks.tabs.authors"))},null,8,eM)],40,QN)],2)]),_:1}),y(a,{to:{name:"audiobooks-albums"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"album",size:"16"}),u("span",{textContent:g(e.$t("page.audiobooks.tabs.audiobooks"))},null,8,nM)],40,tM)],2)]),_:1}),y(a,{to:{name:"audiobooks-genres"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"speaker",size:"16"}),u("span",{textContent:g(e.$t("page.audiobooks.tabs.genres"))},null,8,sM)],40,rM)],2)]),_:1})])])])])])])}const Im=te(GN,[["render",oM]]),fa={load(e){return V.library_albums("audiobook")},set(e,t){e.albums=new ve(t.data),e.albums.group(Rn("name_sort",!0))}},iM={name:"PageAudiobooksAlbums",components:{TabsAudiobooks:Im,ContentWithHeading:et,IndexButtonList:Jn,ListAlbums:ur},beforeRouteEnter(e,t,n){fa.load(e).then(r=>{n(s=>fa.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.albums.isEmpty()){n();return}const r=this;fa.load(e).then(s=>{fa.set(r,s),n()})},data(){return{albums:new ve}}},aM={class:"fd-page-with-tabs"},lM=["textContent"],uM=["textContent"];function cM(e,t,n,r,s,o){const i=$("tabs-audiobooks"),a=$("index-button-list"),l=$("list-albums"),c=$("content-with-heading");return k(),T("div",aM,[y(i),y(c,null,{options:E(()=>[y(a,{index:s.albums.indexList},null,8,["index"])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.audiobooks.albums.title"))},null,8,lM),u("p",{class:"heading",textContent:g(e.$t("page.audiobooks.albums.count",{count:s.albums.count}))},null,8,uM)]),content:E(()=>[y(l,{albums:s.albums},null,8,["albums"])]),_:1})])}const dM=te(iM,[["render",cM]]),pa={load(e){return Promise.all([V.library_artist(e.params.id),V.library_artist_albums(e.params.id)])},set(e,t){e.artist=t[0].data,e.albums=new ve(t[1].data)}},mM={name:"PageAudiobooksArtist",components:{ContentWithHeading:et,ListAlbums:ur,ModalDialogArtist:du},beforeRouteEnter(e,t,n){pa.load(e).then(r=>{n(s=>pa.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.albums.isEmpty()){n();return}const r=this;pa.load(e).then(s=>{pa.set(r,s),n()})},data(){return{artist:{},albums:new ve,show_details_modal:!1}},methods:{play(){V.player_play_uri(this.albums.items.map(e=>e.uri).join(","),!1)}}},fM=["textContent"],pM={class:"buttons is-centered"},hM=["textContent"],_M=["textContent"];function gM(e,t,n,r,s,o){const i=$("mdicon"),a=$("list-albums"),l=$("modal-dialog-artist"),c=$("content-with-heading");return k(),T("div",null,[y(c,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(s.artist.name)},null,8,fM)]),"heading-right":E(()=>[u("div",pM,[u("a",{class:"button is-small is-light is-rounded",onClick:t[0]||(t[0]=d=>s.show_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...d)=>o.play&&o.play(...d))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{textContent:g(e.$t("page.audiobooks.artist.play"))},null,8,hM)])])]),content:E(()=>[u("p",{class:"heading has-text-centered-mobile",textContent:g(e.$t("page.audiobooks.artist.album-count",{count:s.artist.album_count}))},null,8,_M),y(a,{albums:s.albums},null,8,["albums"]),y(l,{show:s.show_details_modal,artist:s.artist,onClose:t[2]||(t[2]=d=>s.show_details_modal=!1)},null,8,["show","artist"])]),_:1})])}const yM=te(mM,[["render",gM]]),ha={load(e){return V.library_artists("audiobook")},set(e,t){e.artists_list=new ve(t.data)}},vM={name:"PageAudiobooksArtists",components:{ContentWithHeading:et,TabsAudiobooks:Im,IndexButtonList:Jn,ListArtists:Pm},beforeRouteEnter(e,t,n){ha.load(e).then(r=>{n(s=>ha.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.artists_list.isEmpty()){n();return}const r=this;ha.load(e).then(s=>{ha.set(r,s),n()})},data(){return{artists_list:new ve}},computed:{artists(){return this.artists_list?(this.artists_list.group(Rn("name_sort",!0)),this.artists_list):[]}}},bM={class:"fd-page-with-tabs"},zM=["textContent"],CM=["textContent"];function wM(e,t,n,r,s,o){const i=$("tabs-audiobooks"),a=$("index-button-list"),l=$("list-artists"),c=$("content-with-heading");return k(),T("div",bM,[y(i),y(c,null,{options:E(()=>[y(a,{index:o.artists.indexList},null,8,["index"])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.audiobooks.artists.title"))},null,8,zM),u("p",{class:"heading",textContent:g(e.$t("page.audiobooks.artists.count",{count:o.artists.count}))},null,8,CM)]),"heading-right":E(()=>[]),content:E(()=>[y(l,{artists:o.artists},null,8,["artists"])]),_:1})])}const kM=te(vM,[["render",wM]]),xM={name:"ModalDialogGenre",props:["genre","media_kind","show"],emits:["close"],computed:{expression(){return`genre is "${this.genre.name}" and media_kind is ${this.media_kind}`}},methods:{play(){this.$emit("close"),V.player_play_expression(this.expression,!1)},queue_add(){this.$emit("close"),V.queue_expression_add(this.expression)},queue_add_next(){this.$emit("close"),V.queue_expression_add_next(this.expression)},open_genre(){this.$emit("close"),this.$router.push({name:"genre-albums",params:{name:this.genre.name},query:{media_kind:this.media_kind}})}}},EM={key:0,class:"modal is-active"},SM={class:"modal-content fd-modal-card"},$M={class:"card"},AM={class:"card-content"},TM={class:"title is-4"},OM=["textContent"],DM={class:"content is-small"},PM=["textContent"],IM=["textContent"],FM=["textContent"],RM=["textContent"],LM=["textContent"],NM=["textContent"],MM={class:"card-footer"},VM=["textContent"],HM=["textContent"],UM=["textContent"];function BM(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",EM,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",SM,[u("div",$M,[u("div",AM,[u("p",TM,[u("a",{class:"has-text-link",onClick:t[1]||(t[1]=(...a)=>o.open_genre&&o.open_genre(...a)),textContent:g(n.genre.name)},null,8,OM)]),u("div",DM,[u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.genre.albums"))},null,8,PM),u("span",{class:"title is-6",textContent:g(n.genre.album_count)},null,8,IM)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.genre.tracks"))},null,8,FM),u("span",{class:"title is-6",textContent:g(n.genre.track_count)},null,8,RM)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.genre.duration"))},null,8,LM),u("span",{class:"title is-6",textContent:g(e.$filters.durationInHours(n.genre.length_ms))},null,8,NM)])])]),u("footer",MM,[u("a",{class:"card-footer-item has-text-dark",onClick:t[2]||(t[2]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.genre.add"))},null,8,VM)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[3]||(t[3]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.genre.add-next"))},null,8,HM)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.genre.play"))},null,8,UM)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[5]||(t[5]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const Fm=te(xM,[["render",BM]]),jM={name:"ListGenres",components:{ModalDialogGenre:Fm},props:["genres","hide_group_title","media_kind"],data(){return{show_details_modal:!1,selected_genre:{}}},methods:{open_genre(e){this.$router.push({name:"genre-albums",params:{name:e.name},query:{media_kind:this.media_kind}})},open_dialog(e){this.selected_genre=e,this.show_details_modal=!0}}},qM={key:0,class:"mt-6 mb-5 py-2"},WM={class:"media-content is-clipped"},GM=["id","textContent"],KM=["onClick"],ZM={class:"media-content is-clickable is-clipped"},YM=["textContent"],JM={class:"media-right"},XM=["onClick"];function QM(e,t,n,r,s,o){const i=$("mdicon"),a=$("modal-dialog-genre");return k(),T(we,null,[(k(!0),T(we,null,ct(n.genres,l=>(k(),T(we,{key:l.itemId},[!l.isItem&&!n.hide_group_title?(k(),T("div",qM,[u("div",WM,[u("span",{id:"index_"+l.groupKey,class:"tag is-info is-light is-small has-text-weight-bold",textContent:g(l.groupKey)},null,8,GM)])])):l.isItem?(k(),T("div",{key:1,class:"media is-align-items-center",onClick:c=>o.open_genre(l.item)},[u("div",ZM,[u("h1",{class:"title is-6",textContent:g(l.item.name)},null,8,YM)]),u("div",JM,[u("a",{onClick:st(c=>o.open_dialog(l.item),["prevent","stop"])},[y(i,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,XM)])],8,KM)):M("",!0)],64))),128)),(k(),_e(Yr,{to:"#app"},[y(a,{show:s.show_details_modal,genre:s.selected_genre,media_kind:n.media_kind,onClose:t[0]||(t[0]=l=>s.show_details_modal=!1)},null,8,["show","genre","media_kind"])]))],64)}const K1=te(jM,[["render",QM]]),_a={load(e){return V.library_genres("audiobook")},set(e,t){e.genres=t.data,e.genres=new ve(t.data),e.genres.group(Rn("name_sort"))}},e7={name:"PageAudiobooksGenres",components:{ContentWithHeading:et,IndexButtonList:Jn,ListGenres:K1,TabsAudiobooks:Im},beforeRouteEnter(e,t,n){_a.load(e).then(r=>{n(s=>_a.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;_a.load(e).then(s=>{_a.set(r,s),n()})},data(){return{genres:new ve}}},t7={class:"fd-page-with-tabs"},n7=["textContent"],r7=["textContent"];function s7(e,t,n,r,s,o){const i=$("tabs-audiobooks"),a=$("index-button-list"),l=$("list-genres"),c=$("content-with-heading");return k(),T("div",t7,[y(i),y(c,null,{options:E(()=>[y(a,{index:s.genres.indexList},null,8,["index"])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.genres.title"))},null,8,n7),u("p",{class:"heading",textContent:g(e.$t("page.genres.count",{count:s.genres.total}))},null,8,r7)]),content:E(()=>[y(l,{genres:s.genres,media_kind:"audiobook"},null,8,["genres"])]),_:1})])}const o7=te(e7,[["render",s7]]),ga={load(e){return Promise.all([V.search({type:"album",expression:"time_added after 8 weeks ago and media_kind is music having track_count > 3 order by time_added desc",limit:3}),V.search({type:"track",expression:"time_played after 8 weeks ago and media_kind is music order by time_played desc",limit:3})])},set(e,t){e.recently_added=new ve(t[0].data.albums),e.recently_played=new ve(t[1].data.tracks)}},i7={name:"PageMusic",components:{ContentWithHeading:et,ListAlbums:ur,ListTracks:Cn,TabsMusic:cr},beforeRouteEnter(e,t,n){ga.load(e).then(r=>{n(s=>ga.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;ga.load(e).then(s=>{ga.set(r,s),n()})},data(){return{recently_added:[],recently_played:{items:[]},selected_track:{}}}},a7={class:"fd-page-with-tabs"},l7=["textContent"],u7={class:"level"},c7={class:"level-item"},d7=["textContent"],m7={class:"level"},f7={class:"level-item"};function p7(e,t,n,r,s,o){const i=$("tabs-music"),a=$("list-albums"),l=$("router-link"),c=$("content-with-heading"),d=$("list-tracks");return k(),T("div",a7,[y(i),y(c,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.music.recently-added.title"))},null,8,l7)]),content:E(()=>[y(a,{albums:s.recently_added},null,8,["albums"])]),footer:E(()=>[u("nav",u7,[u("p",c7,[y(l,{class:"button is-light is-small is-rounded",to:{name:"music-recently-added"}},{default:E(()=>[gt(g(e.$t("page.music.show-more")),1)]),_:1})])])]),_:1}),y(c,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.music.recently-played.title"))},null,8,d7)]),content:E(()=>[y(d,{tracks:s.recently_played},null,8,["tracks"])]),footer:E(()=>[u("nav",m7,[u("p",f7,[y(l,{class:"button is-light is-small is-rounded",to:{name:"music-recently-played"}},{default:E(()=>[gt(g(e.$t("page.music.show-more")),1)]),_:1})])])]),_:1})])}const h7=te(i7,[["render",p7]]),ya={load(e){const t=He.getters.settings_option_recently_added_limit;return V.search({type:"album",expression:"media_kind is music having track_count > 3 order by time_added desc",limit:t})},set(e,t){e.recently_added=new ve(t.data.albums),e.recently_added.group(x5("time_added",{direction:"desc"}))}},_7={name:"PageMusicRecentlyAdded",components:{ContentWithHeading:et,TabsMusic:cr,ListAlbums:ur},beforeRouteEnter(e,t,n){ya.load(e).then(r=>{n(s=>ya.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.recently_added.isEmpty()){n();return}const r=this;ya.load(e).then(s=>{ya.set(r,s),n()})},data(){return{recently_added:new ve}}},g7={class:"fd-page-with-tabs"},y7=["textContent"];function v7(e,t,n,r,s,o){const i=$("tabs-music"),a=$("list-albums"),l=$("content-with-heading");return k(),T("div",g7,[y(i),y(l,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.music.recently-added.title"))},null,8,y7)]),content:E(()=>[y(a,{albums:s.recently_added},null,8,["albums"])]),_:1})])}const b7=te(_7,[["render",v7]]),va={load(e){return V.search({type:"track",expression:"time_played after 8 weeks ago and media_kind is music order by time_played desc",limit:50})},set(e,t){e.recently_played=new ve(t.data.tracks)}},z7={name:"PageMusicRecentlyPlayed",components:{ContentWithHeading:et,TabsMusic:cr,ListTracks:Cn},beforeRouteEnter(e,t,n){va.load(e).then(r=>{n(s=>va.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;va.load(e).then(s=>{va.set(r,s),n()})},data(){return{recently_played:{}}}},C7={class:"fd-page-with-tabs"},w7=["textContent"];function k7(e,t,n,r,s,o){const i=$("tabs-music"),a=$("list-tracks"),l=$("content-with-heading");return k(),T("div",C7,[y(i),y(l,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.music.recently-played.title"))},null,8,w7)]),content:E(()=>[y(a,{tracks:s.recently_played},null,8,["tracks"])]),_:1})])}const x7=te(z7,[["render",k7]]),E7={name:"ListItemPlaylistSpotify",props:["playlist"],methods:{open_playlist(){this.$router.push({name:"playlist-spotify",params:{id:this.playlist.id}})}}},S7={class:"media is-align-items-center"},$7=["textContent"],A7=["textContent"],T7={class:"media-right"};function O7(e,t,n,r,s,o){return k(),T("div",S7,[u("div",{class:"media-content is-clickable is-clipped",onClick:t[0]||(t[0]=(...i)=>o.open_playlist&&o.open_playlist(...i))},[u("h1",{class:"title is-6",textContent:g(n.playlist.name)},null,8,$7),u("h2",{class:"subtitle is-7",textContent:g(n.playlist.owner.display_name)},null,8,A7)]),u("div",T7,[it(e.$slots,"actions")])])}const Rm=te(E7,[["render",O7]]),D7={name:"ModalDialogPlaylistSpotify",props:["show","playlist"],emits:["close"],methods:{play(){this.$emit("close"),V.player_play_uri(this.playlist.uri,!1)},queue_add(){this.$emit("close"),V.queue_add(this.playlist.uri)},queue_add_next(){this.$emit("close"),V.queue_add_next(this.playlist.uri)},open_playlist(){this.$emit("close"),this.$router.push({name:"playlist-spotify",params:{id:this.playlist.id}})}}},P7={key:0,class:"modal is-active"},I7={class:"modal-content fd-modal-card"},F7={class:"card"},R7={class:"card-content"},L7={class:"title is-4"},N7=["textContent"],M7={class:"content is-small"},V7=["textContent"],H7=["textContent"],U7=["textContent"],B7=["textContent"],j7=["textContent"],q7=["textContent"],W7={class:"card-footer"},G7=["textContent"],K7=["textContent"],Z7=["textContent"];function Y7(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",P7,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",I7,[u("div",F7,[u("div",R7,[u("p",L7,[u("a",{class:"has-text-link",onClick:t[1]||(t[1]=(...a)=>o.open_playlist&&o.open_playlist(...a)),textContent:g(n.playlist.name)},null,8,N7)]),u("div",M7,[u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.playlist.owner"))},null,8,V7),u("span",{class:"title is-6",textContent:g(n.playlist.owner.display_name)},null,8,H7)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.playlist.tracks"))},null,8,U7),u("span",{class:"title is-6",textContent:g(n.playlist.tracks.total)},null,8,B7)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.playlist.path"))},null,8,j7),u("span",{class:"title is-6",textContent:g(n.playlist.uri)},null,8,q7)])])]),u("footer",W7,[u("a",{class:"card-footer-item has-text-dark",onClick:t[2]||(t[2]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.playlist.add"))},null,8,G7)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[3]||(t[3]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.playlist.add-next"))},null,8,K7)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.playlist.play"))},null,8,Z7)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[5]||(t[5]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const fu=te(D7,[["render",Y7]]),ba={load(e){if(He.state.spotify_new_releases.length>0&&He.state.spotify_featured_playlists.length>0)return Promise.resolve();const t=new Yn;return t.setAccessToken(He.state.spotify.webapi_token),Promise.all([t.getNewReleases({country:He.state.spotify.webapi_country,limit:50}),t.getFeaturedPlaylists({country:He.state.spotify.webapi_country,limit:50})])},set(e,t){t&&(He.commit(hd,t[0].albums.items),He.commit(_d,t[1].playlists.items))}},J7={name:"PageMusicSpotify",components:{ContentWithHeading:et,CoverArtwork:Fn,ListItemAlbumSpotify:mu,ListItemPlaylistSpotify:Rm,ModalDialogAlbumSpotify:Fi,ModalDialogPlaylistSpotify:fu,TabsMusic:cr},beforeRouteEnter(e,t,n){ba.load(e).then(r=>{n(s=>ba.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;ba.load(e).then(s=>{ba.set(r,s),n()})},data(){return{show_album_details_modal:!1,selected_album:{},show_playlist_details_modal:!1,selected_playlist:{}}},computed:{new_releases(){return this.$store.state.spotify_new_releases.slice(0,3)},featured_playlists(){return this.$store.state.spotify_featured_playlists.slice(0,3)},is_visible_artwork(){return this.$store.getters.settings_option("webinterface","show_cover_artwork_in_album_lists").value}},methods:{open_album(e){this.$router.push({name:"music-spotify-album",params:{id:e.id}})},open_album_dialog(e){this.selected_album=e,this.show_album_details_modal=!0},open_playlist_dialog(e){this.selected_playlist=e,this.show_playlist_details_modal=!0},artwork_url(e){return e.images&&e.images.length>0?e.images[0].url:""}}},X7={class:"fd-page-with-tabs"},Q7=["textContent"],e9=["onClick"],t9={class:"level"},n9={class:"level-item"},r9=["textContent"],s9=["onClick"],o9={class:"level"},i9={class:"level-item"};function a9(e,t,n,r,s,o){const i=$("tabs-music"),a=$("cover-artwork"),l=$("mdicon"),c=$("list-item-album-spotify"),d=$("modal-dialog-album-spotify"),m=$("router-link"),f=$("content-with-heading"),p=$("list-item-playlist-spotify"),h=$("modal-dialog-playlist-spotify");return k(),T("div",X7,[y(i),y(f,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.spotify.music.new-releases"))},null,8,Q7)]),content:E(()=>[(k(!0),T(we,null,ct(o.new_releases,_=>(k(),_e(c,{key:_.id,album:_,onClick:b=>o.open_album(_)},Ei({actions:E(()=>[u("a",{onClick:st(b=>o.open_album_dialog(_),["prevent","stop"])},[y(l,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,e9)]),_:2},[o.is_visible_artwork?{name:"artwork",fn:E(()=>[y(a,{artwork_url:o.artwork_url(_),artist:_.artist,album:_.name,class:"is-clickable fd-has-shadow fd-cover fd-cover-small-image",maxwidth:64,maxheight:64},null,8,["artwork_url","artist","album"])]),key:"0"}:void 0]),1032,["album","onClick"]))),128)),y(d,{show:s.show_album_details_modal,album:s.selected_album,onClose:t[0]||(t[0]=_=>s.show_album_details_modal=!1)},null,8,["show","album"])]),footer:E(()=>[u("nav",t9,[u("p",n9,[y(m,{to:{name:"music-spotify-new-releases"},class:"button is-light is-small is-rounded"},{default:E(()=>[gt(g(e.$t("page.spotify.music.show-more")),1)]),_:1})])])]),_:1}),y(f,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.spotify.music.featured-playlists"))},null,8,r9)]),content:E(()=>[(k(!0),T(we,null,ct(o.featured_playlists,_=>(k(),_e(p,{key:_.id,playlist:_},{actions:E(()=>[u("a",{onClick:st(b=>o.open_playlist_dialog(_),["prevent","stop"])},[y(l,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,s9)]),_:2},1032,["playlist"]))),128)),y(h,{show:s.show_playlist_details_modal,playlist:s.selected_playlist,onClose:t[1]||(t[1]=_=>s.show_playlist_details_modal=!1)},null,8,["show","playlist"])]),footer:E(()=>[u("nav",o9,[u("p",i9,[y(m,{to:{name:"music-spotify-featured-playlists"},class:"button is-light is-small is-rounded"},{default:E(()=>[gt(g(e.$t("page.spotify.music.show-more")),1)]),_:1})])])]),_:1})])}const l9=te(J7,[["render",a9]]),za={load(e){if(He.state.spotify_featured_playlists.length>0)return Promise.resolve();const t=new Yn;t.setAccessToken(He.state.spotify.webapi_token),t.getFeaturedPlaylists({country:He.state.spotify.webapi_country,limit:50})},set(e,t){t&&He.commit(_d,t.playlists.items)}},u9={name:"PageMusicSpotifyFeaturedPlaylists",components:{ContentWithHeading:et,ListItemPlaylistSpotify:Rm,ModalDialogPlaylistSpotify:fu,TabsMusic:cr},beforeRouteEnter(e,t,n){za.load(e).then(r=>{n(s=>za.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;za.load(e).then(s=>{za.set(r,s),n()})},data(){return{selected_playlist:{},show_details_modal:!1}},computed:{featured_playlists(){return this.$store.state.spotify_featured_playlists}},methods:{open_playlist_dialog(e){this.selected_playlist=e,this.show_details_modal=!0}}},c9={class:"fd-page-with-tabs"},d9=["textContent"],m9=["onClick"];function f9(e,t,n,r,s,o){const i=$("tabs-music"),a=$("mdicon"),l=$("list-item-playlist-spotify"),c=$("modal-dialog-playlist-spotify"),d=$("content-with-heading");return k(),T("div",c9,[y(i),y(d,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.spotify.music.featured-playlists"))},null,8,d9)]),content:E(()=>[(k(!0),T(we,null,ct(o.featured_playlists,m=>(k(),_e(l,{key:m.id,playlist:m},{actions:E(()=>[u("a",{onClick:st(f=>o.open_playlist_dialog(m),["prevent","stop"])},[y(a,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,m9)]),_:2},1032,["playlist"]))),128)),y(c,{show:s.show_details_modal,playlist:s.selected_playlist,onClose:t[0]||(t[0]=m=>s.show_details_modal=!1)},null,8,["show","playlist"])]),_:1})])}const p9=te(u9,[["render",f9]]),Ca={load(e){if(He.state.spotify_new_releases.length>0)return Promise.resolve();const t=new Yn;return t.setAccessToken(He.state.spotify.webapi_token),t.getNewReleases({country:He.state.spotify.webapi_country,limit:50})},set(e,t){t&&He.commit(hd,t.albums.items)}},h9={name:"PageMusicSpotifyNewReleases",components:{ContentWithHeading:et,CoverArtwork:Fn,ListItemAlbumSpotify:mu,ModalDialogAlbumSpotify:Fi,TabsMusic:cr},beforeRouteEnter(e,t,n){Ca.load(e).then(r=>{n(s=>Ca.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;Ca.load(e).then(s=>{Ca.set(r,s),n()})},data(){return{show_details_modal:!1,selected_album:{}}},computed:{new_releases(){return this.$store.state.spotify_new_releases},is_visible_artwork(){return this.$store.getters.settings_option("webinterface","show_cover_artwork_in_album_lists").value}},methods:{open_album(e){this.$router.push({name:"music-spotify-album",params:{id:e.id}})},open_album_dialog(e){this.selected_album=e,this.show_details_modal=!0},artwork_url(e){return e.images&&e.images.length>0?e.images[0].url:""}}},_9={class:"fd-page-with-tabs"},g9=["textContent"],y9=["onClick"];function v9(e,t,n,r,s,o){const i=$("tabs-music"),a=$("cover-artwork"),l=$("mdicon"),c=$("list-item-album-spotify"),d=$("modal-dialog-album-spotify"),m=$("content-with-heading");return k(),T("div",_9,[y(i),y(m,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.spotify.music.new-releases"))},null,8,g9)]),content:E(()=>[(k(!0),T(we,null,ct(o.new_releases,f=>(k(),_e(c,{key:f.id,album:f,onClick:p=>o.open_album(f)},Ei({actions:E(()=>[u("a",{onClick:st(p=>o.open_album_dialog(f),["prevent","stop"])},[y(l,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,y9)]),_:2},[o.is_visible_artwork?{name:"artwork",fn:E(()=>[y(a,{artwork_url:o.artwork_url(f),artist:f.artist,album:f.name,class:"is-clickable fd-has-shadow fd-cover fd-cover-small-image",maxwidth:64,maxheight:64},null,8,["artwork_url","artist","album"])]),key:"0"}:void 0]),1032,["album","onClick"]))),128)),y(d,{show:s.show_details_modal,album:s.selected_album,onClose:t[0]||(t[0]=f=>s.show_details_modal=!1)},null,8,["show","album"])]),_:1})])}const b9=te(h9,[["render",v9]]),z9={name:"ModalDialogComposer",props:["show","composer"],emits:["close"],methods:{play(){this.$emit("close"),V.player_play_expression(`composer is "${this.composer.name}" and media_kind is music`,!1)},queue_add(){this.$emit("close"),V.queue_expression_add(`composer is "${this.composer.name}" and media_kind is music`)},queue_add_next(){this.$emit("close"),V.queue_expression_add_next(`composer is "${this.composer.name}" and media_kind is music`)},open_albums(){this.$emit("close"),this.$router.push({name:"music-composer-albums",params:{name:this.composer.name}})},open_tracks(){this.$router.push({name:"music-composer-tracks",params:{name:this.composer.name}})}}},C9={key:0,class:"modal is-active"},w9={class:"modal-content fd-modal-card"},k9={class:"card"},x9={class:"card-content"},E9={class:"title is-4"},S9=["textContent"],$9=["textContent"],A9=["textContent"],T9=["textContent"],O9=["textContent"],D9=["textContent"],P9=["textContent"],I9={class:"card-footer"},F9=["textContent"],R9=["textContent"],L9=["textContent"];function N9(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",C9,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",w9,[u("div",k9,[u("div",x9,[u("p",E9,[u("a",{class:"has-text-link",onClick:t[1]||(t[1]=(...a)=>o.open_albums&&o.open_albums(...a)),textContent:g(n.composer.name)},null,8,S9)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.composer.albums"))},null,8,$9),u("a",{class:"has-text-link is-6",onClick:t[2]||(t[2]=(...a)=>o.open_albums&&o.open_albums(...a)),textContent:g(n.composer.album_count)},null,8,A9)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.composer.tracks"))},null,8,T9),u("a",{class:"has-text-link is-6",onClick:t[3]||(t[3]=(...a)=>o.open_tracks&&o.open_tracks(...a)),textContent:g(n.composer.track_count)},null,8,O9)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.composer.duration"))},null,8,D9),u("span",{class:"title is-6",textContent:g(e.$filters.durationInHours(n.composer.length_ms))},null,8,P9)])]),u("footer",I9,[u("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.composer.add"))},null,8,F9)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[5]||(t[5]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.composer.add-next"))},null,8,R9)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[6]||(t[6]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.composer.play"))},null,8,L9)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[7]||(t[7]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const Lm=te(z9,[["render",N9]]),wa={load(e){return Promise.all([V.library_composer(e.params.name),V.library_composer_albums(e.params.name)])},set(e,t){e.composer=t[0].data,e.albums_list=new ve(t[1].data.albums)}},M9={name:"PageComposerAlbums",components:{ContentWithHeading:et,ListAlbums:ur,ModalDialogComposer:Lm},beforeRouteEnter(e,t,n){wa.load(e).then(r=>{n(s=>wa.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;wa.load(e).then(s=>{wa.set(r,s),n()})},data(){return{albums_list:new ve,composer:{},show_details_modal:!1}},methods:{open_tracks(){this.$router.push({name:"music-composer-tracks",params:{name:this.composer.name}})},play(){V.player_play_expression(`composer is "${this.composer.name}" and media_kind is music`,!0)}}},V9=["textContent"],H9={class:"buttons is-centered"},U9=["textContent"],B9={class:"heading has-text-centered-mobile"},j9=["textContent"],q9=u("span",null," | ",-1),W9=["textContent"];function G9(e,t,n,r,s,o){const i=$("mdicon"),a=$("list-albums"),l=$("modal-dialog-composer"),c=$("content-with-heading");return k(),T("div",null,[y(c,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(s.composer.name)},null,8,V9)]),"heading-right":E(()=>[u("div",H9,[u("a",{class:"button is-small is-light is-rounded",onClick:t[0]||(t[0]=d=>s.show_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...d)=>o.play&&o.play(...d))},[y(i,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.composer.shuffle"))},null,8,U9)])])]),content:E(()=>[u("p",B9,[u("span",{textContent:g(e.$t("page.composer.album-count",{count:s.composer.album_count}))},null,8,j9),q9,u("a",{class:"has-text-link",onClick:t[2]||(t[2]=(...d)=>o.open_tracks&&o.open_tracks(...d)),textContent:g(e.$t("page.composer.track-count",{count:s.composer.track_count}))},null,8,W9)]),y(a,{albums:s.albums_list,hide_group_title:!0},null,8,["albums"]),y(l,{show:s.show_details_modal,composer:s.composer,onClose:t[3]||(t[3]=d=>s.show_details_modal=!1)},null,8,["show","composer"])]),_:1})])}const K9=te(M9,[["render",G9]]),ka={load(e){return Promise.all([V.library_composer(e.params.name),V.library_composer_tracks(e.params.name)])},set(e,t){e.composer=t[0].data,e.tracks_list=new ve(t[1].data.tracks)}},Z9={name:"PageComposerTracks",components:{ContentWithHeading:et,ControlDropdown:Ss,IndexButtonList:Jn,ListTracks:Cn,ModalDialogComposer:Lm},beforeRouteEnter(e,t,n){ka.load(e).then(r=>{n(s=>ka.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;ka.load(e).then(s=>{ka.set(r,s),n()})},data(){return{composer:{},groupby_options:[{id:1,name:this.$t("page.composer.sort.name"),options:Rn("title_sort")},{id:2,name:this.$t("page.composer.sort.rating"),options:Am("rating",{direction:"desc"})}],show_details_modal:!1,tracks_list:new ve}},computed:{expression(){return`composer is "${this.composer.name}" and media_kind is music`},selected_groupby_option_id:{get(){return this.$store.state.composer_tracks_sort},set(e){this.$store.commit(Jh,e)}},tracks(){const e=this.groupby_options.find(t=>t.id===this.selected_groupby_option_id);return this.tracks_list.group(e.options),this.tracks_list}},methods:{open_albums(){this.show_details_modal=!1,this.$router.push({name:"music-composer-albums",params:{name:this.composer.name}})},play(){V.player_play_expression(this.expression,!0)}}},Y9={class:"columns"},J9={class:"column"},X9=["textContent"],Q9=["textContent"],eV={class:"buttons is-centered"},tV=["textContent"],nV={class:"heading has-text-centered-mobile"},rV=["textContent"],sV=u("span",null," | ",-1),oV=["textContent"];function iV(e,t,n,r,s,o){const i=$("index-button-list"),a=$("control-dropdown"),l=$("mdicon"),c=$("list-tracks"),d=$("modal-dialog-composer"),m=$("content-with-heading");return k(),T("div",null,[y(m,null,{options:E(()=>[y(i,{index:o.tracks.indexList},null,8,["index"]),u("div",Y9,[u("div",J9,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.artist.sort.title"))},null,8,X9),y(a,{value:o.selected_groupby_option_id,"onUpdate:value":t[0]||(t[0]=f=>o.selected_groupby_option_id=f),options:s.groupby_options},null,8,["value","options"])])])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(s.composer.name)},null,8,Q9)]),"heading-right":E(()=>[u("div",eV,[u("a",{class:"button is-small is-light is-rounded",onClick:t[1]||(t[1]=f=>s.show_details_modal=!0)},[y(l,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[2]||(t[2]=(...f)=>o.play&&o.play(...f))},[y(l,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.composer.shuffle"))},null,8,tV)])])]),content:E(()=>[u("p",nV,[u("a",{class:"has-text-link",onClick:t[3]||(t[3]=(...f)=>o.open_albums&&o.open_albums(...f)),textContent:g(e.$t("page.composer.album-count",{count:s.composer.album_count}))},null,8,rV),sV,u("span",{textContent:g(e.$t("page.composer.track-count",{count:s.composer.track_count}))},null,8,oV)]),y(c,{tracks:o.tracks,expression:o.expression},null,8,["tracks","expression"]),y(d,{show:s.show_details_modal,composer:s.composer,onClose:t[4]||(t[4]=f=>s.show_details_modal=!1)},null,8,["show","composer"])]),_:1})])}const aV=te(Z9,[["render",iV]]),lV={name:"ListComposers",components:{ModalDialogComposer:Lm},props:["composers","media_kind","hide_group_title"],data(){return{show_details_modal:!1,selected_composer:{}}},methods:{open_composer(e){this.selected_composer=e,this.$router.push({name:"music-composer-albums",params:{name:e.name}})},open_dialog(e){this.selected_composer=e,this.show_details_modal=!0}}},uV={key:0,class:"mt-6 mb-5 py-2"},cV={class:"media-content is-clipped"},dV=["id","textContent"],mV=["onClick"],fV={class:"media-content is-clickable is-clipped"},pV=["textContent"],hV={class:"media-right"},_V=["onClick"];function gV(e,t,n,r,s,o){const i=$("mdicon"),a=$("modal-dialog-composer");return k(),T(we,null,[(k(!0),T(we,null,ct(n.composers,l=>(k(),T(we,{key:l.itemId},[!l.isItem&&!n.hide_group_title?(k(),T("div",uV,[u("div",cV,[u("span",{id:"index_"+l.groupKey,class:"tag is-info is-light is-small has-text-weight-bold",textContent:g(l.groupKey)},null,8,dV)])])):l.isItem?(k(),T("div",{key:1,class:"media is-align-items-center",onClick:c=>o.open_composer(l.item)},[u("div",fV,[u("h1",{class:"title is-6",textContent:g(l.item.name)},null,8,pV)]),u("div",hV,[u("a",{onClick:st(c=>o.open_dialog(l.item),["prevent","stop"])},[y(i,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,_V)])],8,mV)):M("",!0)],64))),128)),(k(),_e(Yr,{to:"#app"},[y(a,{show:s.show_details_modal,composer:s.selected_composer,media_kind:n.media_kind,onClose:t[0]||(t[0]=l=>s.show_details_modal=!1)},null,8,["show","composer","media_kind"])]))],64)}const Z1=te(lV,[["render",gV]]),xa={load(e){return V.library_composers("music")},set(e,t){e.composers=new ve(t.data),e.composers.group(Rn("name_sort"))}},yV={name:"PageComposers",components:{ContentWithHeading:et,IndexButtonList:Jn,ListComposers:Z1,TabsMusic:cr},beforeRouteEnter(e,t,n){xa.load(e).then(r=>{n(s=>xa.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.composers.isEmpty()){n();return}const r=this;xa.load(e).then(s=>{xa.set(r,s),n()})},data(){return{composers:new ve}}},vV={class:"fd-page-with-tabs"},bV=["textContent"],zV=["textContent"];function CV(e,t,n,r,s,o){const i=$("tabs-music"),a=$("index-button-list"),l=$("list-composers"),c=$("content-with-heading");return k(),T("div",vV,[y(i),y(c,null,{options:E(()=>[y(a,{index:s.composers.indexList},null,8,["index"])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.composers.title"))},null,8,bV),u("p",{class:"heading",textContent:g(e.$t("page.composers.count",{count:s.composers.total}))},null,8,zV)]),content:E(()=>[y(l,{composers:s.composers},null,8,["composers"])]),_:1})])}const wV=te(yV,[["render",CV]]),kV={name:"ModalDialogDirectory",props:["show","directory"],emits:["close"],methods:{play(){this.$emit("close"),V.player_play_expression(`path starts with "${this.directory}" order by path asc`,!1)},queue_add(){this.$emit("close"),V.queue_expression_add(`path starts with "${this.directory}" order by path asc`)},queue_add_next(){this.$emit("close"),V.queue_expression_add_next(`path starts with "${this.directory}" order by path asc`)}}},xV={key:0,class:"modal is-active"},EV={class:"modal-content fd-modal-card"},SV={class:"card"},$V={class:"card-content"},AV=["textContent"],TV={class:"card-footer"},OV=["textContent"],DV=["textContent"],PV=["textContent"];function IV(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",xV,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",EV,[u("div",SV,[u("div",$V,[u("p",{class:"title is-4",textContent:g(n.directory)},null,8,AV)]),u("footer",TV,[u("a",{class:"card-footer-item has-text-dark",onClick:t[1]||(t[1]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.directory.add"))},null,8,OV)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[2]||(t[2]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.directory.add-next"))},null,8,DV)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[3]||(t[3]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.directory.play"))},null,8,PV)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[4]||(t[4]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const Y1=te(kV,[["render",IV]]),FV={name:"ListDirectories",components:{ModalDialogDirectory:Y1},props:["directories"],data(){return{show_details_modal:!1,selected_directory:""}},computed:{current_directory(){return this.$route.query&&this.$route.query.directory?this.$route.query.directory:"/"}},methods:{open_parent_directory(){this.current_directory.slice(0,this.current_directory.lastIndexOf("/"))===""||this.$store.state.config.directories.includes(this.current_directory)?this.$router.push({name:"files"}):this.$router.push({name:"files",query:{directory:this.current_directory.slice(0,this.current_directory.lastIndexOf("/"))}})},open_directory(e){this.$router.push({name:"files",query:{directory:e.path}})},open_dialog(e){this.selected_directory=e.path,this.show_details_modal=!0}}},RV={class:"media-left is-clickable"},LV=u("div",{class:"media-content is-clickable is-clipped"},[u("h1",{class:"title is-6"},"..")],-1),NV={class:"media-right"},MV=["onClick"],VV={class:"media-left is-clickable"},HV={class:"media-content is-clickable is-clipped"},UV=["textContent"],BV=["textContent"],jV={class:"media-right"},qV=["onClick"];function WV(e,t,n,r,s,o){const i=$("mdicon"),a=$("modal-dialog-directory");return k(),T(we,null,[e.$route.query.directory?(k(),T("div",{key:0,class:"media is-align-items-center",onClick:t[0]||(t[0]=l=>o.open_parent_directory())},[u("figure",RV,[y(i,{class:"icon",name:"subdirectory-arrow-left",size:"16"})]),LV,u("div",NV,[it(e.$slots,"actions")])])):M("",!0),(k(!0),T(we,null,ct(n.directories,l=>(k(),T("div",{key:l.path,class:"media is-align-items-center",onClick:c=>o.open_directory(l)},[u("figure",VV,[y(i,{class:"icon",name:"folder",size:"16"})]),u("div",HV,[u("h1",{class:"title is-6",textContent:g(l.path.substring(l.path.lastIndexOf("/")+1))},null,8,UV),u("h2",{class:"subtitle is-7 has-text-grey-light",textContent:g(l.path)},null,8,BV)]),u("div",jV,[u("a",{onClick:st(c=>o.open_dialog(l),["prevent","stop"])},[y(i,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,qV)])],8,MV))),128)),(k(),_e(Yr,{to:"#app"},[y(a,{show:s.show_details_modal,directory:s.selected_directory,onClose:t[1]||(t[1]=l=>s.show_details_modal=!1)},null,8,["show","directory"])]))],64)}const GV=te(FV,[["render",WV]]),KV={name:"ModalDialogPlaylist",props:["show","playlist","uris"],emits:["close"],methods:{play(){this.$emit("close"),V.player_play_uri(this.uris?this.uris:this.playlist.uri,!1)},queue_add(){this.$emit("close"),V.queue_add(this.uris?this.uris:this.playlist.uri)},queue_add_next(){this.$emit("close"),V.queue_add_next(this.uris?this.uris:this.playlist.uri)},open_playlist(){this.$emit("close"),this.$router.push({name:"playlist",params:{id:this.playlist.id}})}}},ZV={key:0,class:"modal is-active"},YV={class:"modal-content fd-modal-card"},JV={class:"card"},XV={class:"card-content"},QV={class:"title is-4"},eH=["textContent"],tH={class:"content is-small"},nH=["textContent"],rH=["textContent"],sH=["textContent"],oH=["textContent"],iH={key:0},aH=["textContent"],lH=["textContent"],uH={key:0,class:"card-footer"},cH=["textContent"],dH=["textContent"],mH=["textContent"];function fH(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",ZV,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",YV,[u("div",JV,[u("div",XV,[u("p",QV,[u("a",{class:"has-text-link",onClick:t[1]||(t[1]=(...a)=>o.open_playlist&&o.open_playlist(...a)),textContent:g(n.playlist.name)},null,8,eH)]),u("div",tH,[u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.playlist.path"))},null,8,nH),u("span",{class:"title is-6",textContent:g(n.playlist.path)},null,8,rH)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.playlist.type"))},null,8,sH),u("span",{class:"title is-6",textContent:g(e.$t("playlist.type."+n.playlist.type))},null,8,oH)]),n.playlist.folder?M("",!0):(k(),T("p",iH,[u("span",{class:"heading",textContent:g(e.$t("dialog.playlist.track-count"))},null,8,aH),u("span",{class:"title is-6",textContent:g(n.playlist.item_count)},null,8,lH)]))])]),n.playlist.folder?M("",!0):(k(),T("footer",uH,[u("a",{class:"card-footer-item has-text-dark",onClick:t[2]||(t[2]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.playlist.add"))},null,8,cH)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[3]||(t[3]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.playlist.add-next"))},null,8,dH)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.playlist.play"))},null,8,mH)])]))])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[5]||(t[5]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const J1=te(KV,[["render",fH]]),pH={name:"ListPlaylists",components:{ModalDialogPlaylist:J1},props:["playlists"],data(){return{show_details_modal:!1,selected_playlist:{}}},methods:{open_playlist(e){e.type==="folder"?this.$router.push({name:"playlist-folder",params:{id:e.id}}):this.$router.push({name:"playlist",params:{id:e.id}})},open_dialog(e){this.selected_playlist=e,this.show_details_modal=!0},icon_name(e){return e.type==="folder"?"folder":e.type==="rss"?"rss":"music-box-multiple"}}},hH=["onClick"],_H={class:"media-left is-clickable"},gH={class:"media-content is-clickable is-clipped"},yH=["textContent"],vH={class:"media-right"},bH=["onClick"];function zH(e,t,n,r,s,o){const i=$("mdicon"),a=$("modal-dialog-playlist");return k(),T(we,null,[(k(!0),T(we,null,ct(n.playlists,l=>(k(),T("div",{key:l.itemId,class:"media is-align-items-center",onClick:c=>o.open_playlist(l.item)},[u("figure",_H,[y(i,{class:"icon",name:o.icon_name(l.item),size:"16"},null,8,["name"])]),u("div",gH,[u("h1",{class:"title is-6",textContent:g(l.item.name)},null,8,yH)]),u("div",vH,[u("a",{onClick:st(c=>o.open_dialog(l.item),["prevent","stop"])},[y(i,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,bH)])],8,hH))),128)),(k(),_e(Yr,{to:"#app"},[y(a,{show:s.show_details_modal,playlist:s.selected_playlist,onClose:t[0]||(t[0]=l=>s.show_details_modal=!1)},null,8,["show","playlist"])]))],64)}const Nm=te(pH,[["render",zH]]),Ea={load(e){return e.query.directory?V.library_files(e.query.directory):Promise.resolve()},set(e,t){t?(e.dirs=t.data.directories,e.playlists=new ve(t.data.playlists),e.tracks=new ve(t.data.tracks)):(e.dirs=e.$store.state.config.directories.map(n=>({path:n})),e.playlists=new ve,e.tracks=new ve)}},CH={name:"PageFiles",components:{ContentWithHeading:et,ListDirectories:GV,ListPlaylists:Nm,ListTracks:Cn,ModalDialogDirectory:Y1},beforeRouteEnter(e,t,n){Ea.load(e).then(r=>{n(s=>Ea.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;Ea.load(e).then(s=>{Ea.set(r,s),n()})},data(){return{dirs:[],playlists:new ve,tracks:new ve,show_details_modal:!1}},computed:{current_directory(){return this.$route.query&&this.$route.query.directory?this.$route.query.directory:"/"},play_expression(){return`path starts with "${this.current_directory}" order by path asc`}},methods:{play(){V.player_play_expression(this.play_expression,!1)}}},wH=["textContent"],kH=["textContent"],xH={class:"buttons is-centered"},EH=["textContent"];function SH(e,t,n,r,s,o){const i=$("mdicon"),a=$("list-directories"),l=$("list-playlists"),c=$("list-tracks"),d=$("modal-dialog-directory"),m=$("content-with-heading");return k(),T("div",null,[y(m,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.files.title"))},null,8,wH),u("p",{class:"title is-7 has-text-grey",textContent:g(o.current_directory)},null,8,kH)]),"heading-right":E(()=>[u("div",xH,[u("a",{class:"button is-small is-light is-rounded",onClick:t[0]||(t[0]=f=>s.show_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...f)=>o.play&&o.play(...f))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{textContent:g(e.$t("page.files.play"))},null,8,EH)])])]),content:E(()=>[y(a,{directories:s.dirs},null,8,["directories"]),y(l,{playlists:s.playlists},null,8,["playlists"]),y(c,{tracks:s.tracks,expression:o.play_expression,show_icon:!0},null,8,["tracks","expression"]),y(d,{show:s.show_details_modal,directory:o.current_directory,onClose:t[2]||(t[2]=f=>s.show_details_modal=!1)},null,8,["show","directory"])]),_:1})])}const $H=te(CH,[["render",SH]]),Sa={load(e){return Promise.all([V.library_genre(e.params.name,e.query.media_kind),V.library_genre_albums(e.params.name,e.query.media_kind)])},set(e,t){e.genre=t[0].data,e.albums_list=new ve(t[1].data.albums),e.albums_list.group(Rn("name_sort",!0))}},AH={name:"PageGenreAlbums",components:{ContentWithHeading:et,IndexButtonList:Jn,ListAlbums:ur,ModalDialogGenre:Fm},beforeRouteEnter(e,t,n){Sa.load(e).then(r=>{n(s=>Sa.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.albums_list.isEmpty()){n();return}const r=this;Sa.load(e).then(s=>{Sa.set(r,s),n()})},data(){return{albums_list:new ve,genre:{},media_kind:this.$route.query.media_kind,show_details_modal:!1}},methods:{open_tracks(){this.show_details_modal=!1,this.$router.push({name:"genre-tracks",params:{name:this.genre.name},query:{media_kind:this.media_kind}})},play(){V.player_play_expression(`genre is "${this.genre.name}" and media_kind is ${this.media_kind}`,!0)}}},TH=["textContent"],OH={class:"buttons is-centered"},DH=["textContent"],PH={class:"heading has-text-centered-mobile"},IH=["textContent"],FH=u("span",null," | ",-1),RH=["textContent"];function LH(e,t,n,r,s,o){const i=$("index-button-list"),a=$("mdicon"),l=$("list-albums"),c=$("modal-dialog-genre"),d=$("content-with-heading");return k(),T("div",null,[y(d,null,{options:E(()=>[y(i,{index:s.albums_list.indexList},null,8,["index"])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(s.genre.name)},null,8,TH)]),"heading-right":E(()=>[u("div",OH,[u("a",{class:"button is-small is-light is-rounded",onClick:t[0]||(t[0]=m=>s.show_details_modal=!0)},[y(a,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...m)=>o.play&&o.play(...m))},[y(a,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.genre.shuffle"))},null,8,DH)])])]),content:E(()=>[u("p",PH,[u("span",{textContent:g(e.$t("page.genre.album-count",{count:s.genre.album_count}))},null,8,IH),FH,u("a",{class:"has-text-link",onClick:t[2]||(t[2]=(...m)=>o.open_tracks&&o.open_tracks(...m)),textContent:g(e.$t("page.genre.track-count",{count:s.genre.track_count}))},null,8,RH)]),y(l,{albums:s.albums_list},null,8,["albums"]),y(c,{genre:s.genre,media_kind:s.media_kind,show:s.show_details_modal,onClose:t[3]||(t[3]=m=>s.show_details_modal=!1)},null,8,["genre","media_kind","show"])]),_:1})])}const NH=te(AH,[["render",LH]]),$a={load(e){return Promise.all([V.library_genre(e.params.name,e.query.media_kind),V.library_genre_tracks(e.params.name,e.query.media_kind)])},set(e,t){e.genre=t[0].data,e.tracks_list=new ve(t[1].data.tracks)}},MH={name:"PageGenreTracks",components:{ContentWithHeading:et,ControlDropdown:Ss,IndexButtonList:Jn,ListTracks:Cn,ModalDialogGenre:Fm},beforeRouteEnter(e,t,n){$a.load(e).then(r=>{n(s=>$a.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.tracks_list.isEmpty()){n();return}const r=this;$a.load(e).then(s=>{$a.set(r,s),n()})},data(){return{genre:{},groupby_options:[{id:1,name:this.$t("page.genre.sort.name"),options:Rn("title_sort")},{id:2,name:this.$t("page.genre.sort.rating"),options:Am("rating",{direction:"desc"})}],media_kind:this.$route.query.media_kind,show_details_modal:!1,tracks_list:new ve}},computed:{expression(){return`genre is "${this.genre.name}" and media_kind is ${this.media_kind}`},selected_groupby_option_id:{get(){return this.$store.state.genre_tracks_sort},set(e){this.$store.commit(Xh,e)}},tracks(){const e=this.groupby_options.find(t=>t.id===this.selected_groupby_option_id);return this.tracks_list.group(e.options),this.tracks_list}},methods:{open_genre(){this.show_details_modal=!1,this.$router.push({name:"genre-albums",params:{name:this.genre.name},query:{media_kind:this.media_kind}})},play(){V.player_play_expression(this.expression,!0)}}},VH={class:"columns"},HH={class:"column"},UH=["textContent"],BH=["textContent"],jH={class:"buttons is-centered"},qH=["textContent"],WH={class:"heading has-text-centered-mobile"},GH=["textContent"],KH=u("span",null," | ",-1),ZH=["textContent"];function YH(e,t,n,r,s,o){const i=$("index-button-list"),a=$("control-dropdown"),l=$("mdicon"),c=$("list-tracks"),d=$("modal-dialog-genre"),m=$("content-with-heading");return k(),T("div",null,[y(m,null,{options:E(()=>[y(i,{index:o.tracks.indexList},null,8,["index"]),u("div",VH,[u("div",HH,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.genre.sort.title"))},null,8,UH),y(a,{value:o.selected_groupby_option_id,"onUpdate:value":t[0]||(t[0]=f=>o.selected_groupby_option_id=f),options:s.groupby_options},null,8,["value","options"])])])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(s.genre.name)},null,8,BH)]),"heading-right":E(()=>[u("div",jH,[u("a",{class:"button is-small is-light is-rounded",onClick:t[1]||(t[1]=f=>s.show_details_modal=!0)},[y(l,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[2]||(t[2]=(...f)=>o.play&&o.play(...f))},[y(l,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.genre.shuffle"))},null,8,qH)])])]),content:E(()=>[u("p",WH,[u("a",{class:"has-text-link",onClick:t[3]||(t[3]=(...f)=>o.open_genre&&o.open_genre(...f)),textContent:g(e.$t("page.genre.album-count",{count:s.genre.album_count}))},null,8,GH),KH,u("span",{textContent:g(e.$t("page.genre.track-count",{count:s.genre.track_count}))},null,8,ZH)]),y(c,{tracks:o.tracks,expression:o.expression},null,8,["tracks","expression"]),y(d,{show:s.show_details_modal,genre:s.genre,media_kind:s.media_kind,onClose:t[4]||(t[4]=f=>s.show_details_modal=!1)},null,8,["show","genre","media_kind"])]),_:1})])}const JH=te(MH,[["render",YH]]),Aa={load(e){return V.library_genres("music")},set(e,t){e.genres=t.data,e.genres=new ve(t.data),e.genres.group(Rn("name_sort"))}},XH={name:"PageGenres",components:{ContentWithHeading:et,IndexButtonList:Jn,ListGenres:K1,TabsMusic:cr},beforeRouteEnter(e,t,n){Aa.load(e).then(r=>{n(s=>Aa.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;Aa.load(e).then(s=>{Aa.set(r,s),n()})},data(){return{genres:new ve}}},QH={class:"fd-page-with-tabs"},eU=["textContent"],tU=["textContent"];function nU(e,t,n,r,s,o){const i=$("tabs-music"),a=$("index-button-list"),l=$("list-genres"),c=$("content-with-heading");return k(),T("div",QH,[y(i),y(c,null,{options:E(()=>[y(a,{index:s.genres.indexList},null,8,["index"])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.genres.title"))},null,8,eU),u("p",{class:"heading",textContent:g(e.$t("page.genres.count",{count:s.genres.total}))},null,8,tU)]),content:E(()=>[y(l,{genres:s.genres,media_kind:"music"},null,8,["genres"])]),_:1})])}const rU=te(XH,[["render",nU]]),sU={name:"LyricsPane",data(){return this.lastIndex=-1,this.scrollingTimer=null,this.lastItemId=-1,{autoScrolling:!0}},computed:{is_playing(){return this.player.state==="play"},verse_index(){if(this.lyrics.length&&this.lyrics[0].time){const e=this.player.item_progress_ms/1e3,t=this.lyrics,n=this.player.item_id!==this.lastItemId,r=this.lastIndex>=0&&this.lastIndexe;if((n||r)&&this.reset_scrolling(),this.lastIndexe||this.lastIndex===t.length-1)return this.lastIndex;if(this.lastIndexe)return this.lastIndex+1;let s=0,o=t.length-1,i;for(;s<=o;){i=s+o>>1;const a=t[i],l=t[i+1];if(a.time<=e&&((l==null?void 0:l.time)>e||!l))return i;a.time{const o=n.exec(r);if(o&&o[4]){const i={text:o[4],time:o[2]*60+o[3]*1};t.push(i)}}),t.forEach((r,s,o)=>{const a=(s{const d=c.length*a;return l+=d,{duration:d,delay:l,text:c}})})}return t},player(){return this.$store.state.player}},watch:{verse_index(){this.autoScrolling&&this.scroll_to_verse(),this.lastIndex=this.verse_index}},methods:{reset_scrolling(){this.player.item_id!=this.lastItemId&&this.$refs.lyrics&&this.$refs.lyrics.scrollTo(0,0),this.lastItemId=this.player.item_id,this.lastIndex=-1},start_scrolling(e){(e.screenX||e.screenX!=0||e.screenY||e.screenY!=0)&&(this.autoScrolling=!1,this.scrollingTimer&&clearTimeout(this.scrollingTimer),this.scrollingTimer=setTimeout(this.autoScrolling=!0,2e3))},scroll_to_verse(){const e=this.$refs.lyrics;if(this.verse_index===-1){e.scrollTo(0,0);return}const t=e.children[this.verse_index];e.scrollBy({top:t.offsetTop-(e.offsetHeight>>1)+(t.offsetHeight>>1)-e.scrollTop,left:0,behavior:"smooth"})}}},oU=["textContent"],iU={key:1};function aU(e,t,n,r,s,o){return k(),T("div",{ref:"lyrics",class:"lyrics",onTouchstart:t[0]||(t[0]=i=>s.autoScrolling=!1),onTouchend:t[1]||(t[1]=i=>s.autoScrolling=!0),onScrollPassive:t[2]||(t[2]=(...i)=>o.start_scrolling&&o.start_scrolling(...i)),onWheelPassive:t[3]||(t[3]=(...i)=>o.start_scrolling&&o.start_scrolling(...i))},[(k(!0),T(we,null,ct(o.lyrics,(i,a)=>(k(),T(we,{key:a},[a===o.verse_index?(k(),T("div",{key:0,class:Ee({"is-highlighted":o.is_playing})},[(k(!0),T(we,null,ct(i.words,l=>(k(),T("span",{key:l,class:"has-text-weight-bold is-size-5"},[u("span",{style:Zr({"animation-duration":`${l.delay}s`}),textContent:g(l.text)},null,12,oU)]))),128))],2)):(k(),T("div",iU,g(i.text),1))],64))),128))],544)}const lU=te(sU,[["render",aU],["__scopeId","data-v-d4edaddb"]]),uU={name:"ModalDialogQueueItem",props:["show","item"],emits:["close"],data(){return{spotify_track:{}}},watch:{item(){if(this.item&&this.item.data_kind==="spotify"){const e=new Yn;e.setAccessToken(this.$store.state.spotify.webapi_token),e.getTrack(this.item.path.slice(this.item.path.lastIndexOf(":")+1)).then(t=>{this.spotify_track=t})}else this.spotify_track={}}},methods:{open_album(){this.item.data_kind==="spotify"?this.$router.push({name:"music-spotify-album",params:{id:this.spotify_track.album.id}}):this.item.media_kind==="podcast"?this.$router.push({name:"podcast",params:{id:this.item.album_id}}):this.item.media_kind==="audiobook"?this.$router.push({name:"audiobooks-album",params:{id:this.item.album_id}}):this.item.media_kind==="music"&&this.$router.push({name:"music-album",params:{id:this.item.album_id}})},open_album_artist(){this.item.data_kind==="spotify"?this.$router.push({name:"music-spotify-artist",params:{id:this.spotify_track.artists[0].id}}):this.item.media_kind==="music"||this.item.media_kind==="podcast"?this.$router.push({name:"music-artist",params:{id:this.item.album_artist_id}}):this.item.media_kind==="audiobook"&&this.$router.push({name:"audiobooks-artist",params:{id:this.item.album_artist_id}})},open_genre(){this.$router.push({name:"genre-albums",params:{name:this.item.genre},query:{media_kind:this.item.media_kind}})},play(){this.$emit("close"),V.player_play({item_id:this.item.id})},remove(){this.$emit("close"),V.queue_remove(this.item.id)}}},cU={key:0,class:"modal is-active"},dU={class:"modal-content fd-modal-card"},mU={class:"card"},fU={class:"card-content"},pU=["textContent"],hU=["textContent"],_U={class:"content is-small"},gU={key:0},yU=["textContent"],vU=["textContent"],bU={key:1},zU=["textContent"],CU=["textContent"],wU={key:2},kU=["textContent"],xU=["textContent"],EU={key:3},SU=["textContent"],$U=["textContent"],AU={key:4},TU=["textContent"],OU=["textContent"],DU={key:5},PU=["textContent"],IU=["textContent"],FU={key:6},RU=["textContent"],LU=["textContent"],NU=["textContent"],MU=["textContent"],VU=["textContent"],HU={class:"title is-6"},UU=["textContent"],BU={key:7},jU=["textContent"],qU={class:"title is-6"},WU=["textContent"],GU=["textContent"],KU=["textContent"],ZU=["textContent"],YU={class:"card-footer"},JU=["textContent"],XU=["textContent"];function QU(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",cU,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",dU,[u("div",mU,[u("div",fU,[u("p",{class:"title is-4",textContent:g(n.item.title)},null,8,pU),u("p",{class:"subtitle",textContent:g(n.item.artist)},null,8,hU),u("div",_U,[n.item.album?(k(),T("p",gU,[u("span",{class:"heading",textContent:g(e.$t("dialog.queue-item.album"))},null,8,yU),u("a",{class:"title is-6 has-text-link",onClick:t[1]||(t[1]=(...a)=>o.open_album&&o.open_album(...a)),textContent:g(n.item.album)},null,8,vU)])):M("",!0),n.item.album_artist?(k(),T("p",bU,[u("span",{class:"heading",textContent:g(e.$t("dialog.queue-item.album-artist"))},null,8,zU),u("a",{class:"title is-6 has-text-link",onClick:t[2]||(t[2]=(...a)=>o.open_album_artist&&o.open_album_artist(...a)),textContent:g(n.item.album_artist)},null,8,CU)])):M("",!0),n.item.composer?(k(),T("p",wU,[u("span",{class:"heading",textContent:g(e.$t("dialog.queue-item.composer"))},null,8,kU),u("span",{class:"title is-6",textContent:g(n.item.composer)},null,8,xU)])):M("",!0),n.item.year?(k(),T("p",EU,[u("span",{class:"heading",textContent:g(e.$t("dialog.queue-item.year"))},null,8,SU),u("span",{class:"title is-6",textContent:g(n.item.year)},null,8,$U)])):M("",!0),n.item.genre?(k(),T("p",AU,[u("span",{class:"heading",textContent:g(e.$t("dialog.queue-item.genre"))},null,8,TU),u("a",{class:"title is-6 has-text-link",onClick:t[3]||(t[3]=(...a)=>o.open_genre&&o.open_genre(...a)),textContent:g(n.item.genre)},null,8,OU)])):M("",!0),n.item.disc_number?(k(),T("p",DU,[u("span",{class:"heading",textContent:g(e.$t("dialog.queue-item.position"))},null,8,PU),u("span",{class:"title is-6",textContent:g([n.item.disc_number,n.item.track_number].join(" / "))},null,8,IU)])):M("",!0),n.item.length_ms?(k(),T("p",FU,[u("span",{class:"heading",textContent:g(e.$t("dialog.queue-item.duration"))},null,8,RU),u("span",{class:"title is-6",textContent:g(e.$filters.durationInHours(n.item.length_ms))},null,8,LU)])):M("",!0),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.queue-item.path"))},null,8,NU),u("span",{class:"title is-6",textContent:g(n.item.path)},null,8,MU)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.queue-item.type"))},null,8,VU),u("span",HU,[u("span",{textContent:g([e.$t("media.kind."+n.item.media_kind),e.$t("data.kind."+n.item.data_kind)].join(" - "))},null,8,UU)])]),n.item.samplerate?(k(),T("p",BU,[u("span",{class:"heading",textContent:g(e.$t("dialog.queue-item.quality"))},null,8,jU),u("span",qU,[u("span",{textContent:g(n.item.type)},null,8,WU),n.item.samplerate?(k(),T("span",{key:0,textContent:g(e.$t("dialog.queue-item.samplerate",{rate:n.item.samplerate}))},null,8,GU)):M("",!0),n.item.channels?(k(),T("span",{key:1,textContent:g(e.$t("dialog.queue-item.channels",{channels:e.$filters.channels(n.item.channels)}))},null,8,KU)):M("",!0),n.item.bitrate?(k(),T("span",{key:2,textContent:g(e.$t("dialog.queue-item.bitrate",{rate:n.item.bitrate}))},null,8,ZU)):M("",!0)])])):M("",!0)])]),u("footer",YU,[u("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...a)=>o.remove&&o.remove(...a))},[y(i,{class:"icon",name:"delete",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.queue-item.remove"))},null,8,JU)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[5]||(t[5]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.queue-item.play"))},null,8,XU)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[6]||(t[6]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const X1=te(uU,[["render",QU]]),Dr=1e3,eB={name:"PageNowPlaying",components:{ControlSlider:Jd,CoverArtwork:Fn,LyricsPane:lU,ModalDialogQueueItem:X1},data(){return{cursor:Gl,INTERVAL:Dr,interval_id:0,is_dragged:!1,selected_item:{},show_details_modal:!1}},computed:{is_live(){return this.track.length_ms===0},lyrics_visible(){return this.$store.getters.lyrics_pane},player(){return this.$store.state.player},track(){return this.$store.getters.now_playing},track_progress:{get(){return Math.floor(this.player.item_progress_ms/Dr)},set(e){this.player.item_progress_ms=e*Dr}},track_progress_max(){return this.is_live?1:Math.floor(this.track.length_ms/Dr)},track_elapsed_time(){return this.$filters.durationInHours(this.track_progress*Dr)},track_total_time(){return this.is_live?this.$t("page.now-playing.live"):this.$filters.durationInHours(this.track.length_ms)},settings_option_show_composer_now_playing(){return this.$store.getters.settings_option_show_composer_now_playing},settings_option_show_composer_for_genre(){return this.$store.getters.settings_option_show_composer_for_genre},composer(){return this.settings_option_show_composer_now_playing&&(!this.settings_option_show_composer_for_genre||this.track.genre&&this.settings_option_show_composer_for_genre.toLowerCase().split(",").findIndex(e=>this.track.genre.toLowerCase().indexOf(e.trim())>=0)>=0)?this.track.composer:null},settings_option_show_filepath_now_playing(){return this.$store.getters.settings_option_show_filepath_now_playing},filepath(){return this.settings_option_show_filepath_now_playing?this.track.path:null}},watch:{player(){this.interval_id>0&&(window.clearTimeout(this.interval_id),this.interval_id=0),this.player.state==="play"&&(this.interval_id=window.setInterval(this.tick,Dr))}},created(){V.player_status().then(({data:e})=>{this.$store.commit(pd,e),this.player.state==="play"&&(this.interval_id=window.setInterval(this.tick,Dr))})},unmounted(){this.interval_id>0&&(window.clearTimeout(this.interval_id),this.interval_id=0)},methods:{tick(){this.is_dragged||(this.track_progress+=1)},start_dragging(){this.is_dragged=!0},end_dragging(){this.is_dragged=!1},seek(){this.is_live||V.player_seek_to_pos(this.track_progress*Dr)},open_dialog(e){this.selected_item=e,this.show_details_modal=!0}}},tB={class:"hero is-full-height"},nB={key:0,class:"hero-body is-flex is-align-items-center"},rB={class:"container has-text-centered",style:{"max-width":"500px"}},sB={class:"is-flex is-justify-content-space-between"},oB=["textContent"],iB=["textContent"],aB=["textContent"],lB=["textContent"],uB=["textContent"],cB=["textContent"],dB=["textContent"],mB={key:1,class:"hero-body is-flex is-align-items-center"},fB={class:"container has-text-centered"},pB=["textContent"],hB=["textContent"];function _B(e,t,n,r,s,o){const i=$("cover-artwork"),a=$("lyrics-pane"),l=$("control-slider"),c=$("modal-dialog-queue-item");return k(),T("div",tB,[o.track.id>0?(k(),T("div",nB,[u("div",rB,[y(i,{artwork_url:o.track.artwork_url,artist:o.track.artist,album:o.track.album,class:Ee(["is-clickable fd-has-shadow fd-cover-big-image",{"is-masked":o.lyrics_visible}]),onClick:t[0]||(t[0]=d=>o.open_dialog(o.track))},null,8,["artwork_url","artist","album","class"]),o.lyrics_visible?(k(),_e(a,{key:0})):M("",!0),y(l,{value:o.track_progress,"onUpdate:value":t[1]||(t[1]=d=>o.track_progress=d),class:"mt-5",disabled:o.is_live,max:o.track_progress_max,cursor:s.cursor,onChange:o.seek,onMousedown:o.start_dragging,onMouseup:o.end_dragging},null,8,["value","disabled","max","cursor","onChange","onMousedown","onMouseup"]),u("div",sB,[u("p",{class:"subtitle is-7",textContent:g(o.track_elapsed_time)},null,8,oB),u("p",{class:"subtitle is-7",textContent:g(o.track_total_time)},null,8,iB)]),u("p",{class:"title is-5",textContent:g(o.track.title)},null,8,aB),u("p",{class:"title is-6",textContent:g(o.track.artist)},null,8,lB),o.composer?(k(),T("p",{key:1,class:"subtitle is-6 has-text-grey has-text-weight-bold",textContent:g(o.composer)},null,8,uB)):M("",!0),o.track.album?(k(),T("p",{key:2,class:"subtitle is-6",textContent:g(o.track.album)},null,8,cB)):M("",!0),o.filepath?(k(),T("p",{key:3,class:"subtitle is-6 has-text-grey",textContent:g(o.filepath)},null,8,dB)):M("",!0)])])):(k(),T("div",mB,[u("div",fB,[u("p",{class:"title is-5",textContent:g(e.$t("page.now-playing.title"))},null,8,pB),u("p",{class:"subtitle",textContent:g(e.$t("page.now-playing.info"))},null,8,hB)])])),y(c,{show:s.show_details_modal,item:s.selected_item,onClose:t[2]||(t[2]=d=>s.show_details_modal=!1)},null,8,["show","item"])])}const gB=te(eB,[["render",_B]]),Ta={load(e){return Promise.all([V.library_playlist(e.params.id),V.library_playlist_folder(e.params.id)])},set(e,t){e.playlist=t[0].data,e.playlists_list=new ve(t[1].data)}},yB={name:"PagePlaylistFolder",components:{ContentWithHeading:et,ListPlaylists:Nm},beforeRouteEnter(e,t,n){Ta.load(e).then(r=>{n(s=>Ta.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;Ta.load(e).then(s=>{Ta.set(r,s),n()})},data(){return{playlist:{},playlists_list:new ve}},computed:{playlists(){return this.playlists_list.group($m(),[e=>e.folder||this.radio_playlists||e.stream_count===0||e.item_count>e.stream_count]),this.playlists_list},radio_playlists(){return this.$store.state.config.radio_playlists}}},vB=["textContent"],bB=["textContent"];function zB(e,t,n,r,s,o){const i=$("list-playlists"),a=$("content-with-heading");return k(),T("div",null,[y(a,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(s.playlist.id===0?e.$t("page.playlists.title"):s.playlist.name)},null,8,vB),u("p",{class:"heading",textContent:g(e.$t("page.playlists.count",{count:o.playlists.count}))},null,8,bB)]),content:E(()=>[y(i,{playlists:o.playlists},null,8,["playlists"])]),_:1})])}const CB=te(yB,[["render",zB]]),Oa={load(e){return Promise.all([V.library_playlist(e.params.id),V.library_playlist_tracks(e.params.id)])},set(e,t){e.playlist=t[0].data,e.tracks=new ve(t[1].data)}},wB={name:"PagePlaylistTracks",components:{ContentWithHeading:et,ListTracks:Cn,ModalDialogPlaylist:J1},beforeRouteEnter(e,t,n){Oa.load(e).then(r=>{n(s=>Oa.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;Oa.load(e).then(s=>{Oa.set(r,s),n()})},data(){return{playlist:{},show_details_modal:!1,tracks:new ve}},computed:{uris(){return this.playlist.random?this.tracks.map(e=>e.uri).join(","):this.playlist.uri}},methods:{play(){V.player_play_uri(this.uris,!0)}}},kB=["textContent"],xB={class:"buttons is-centered"},EB=["textContent"],SB=["textContent"];function $B(e,t,n,r,s,o){const i=$("mdicon"),a=$("list-tracks"),l=$("modal-dialog-playlist"),c=$("content-with-heading");return k(),T("div",null,[y(c,null,{"heading-left":E(()=>[u("div",{class:"title is-4",textContent:g(s.playlist.name)},null,8,kB)]),"heading-right":E(()=>[u("div",xB,[u("a",{class:"button is-small is-light is-rounded",onClick:t[0]||(t[0]=d=>s.show_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...d)=>o.play&&o.play(...d))},[y(i,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.playlist.shuffle"))},null,8,EB)])])]),content:E(()=>[u("p",{class:"heading has-text-centered-mobile",textContent:g(e.$t("page.playlist.track-count",{count:s.tracks.count}))},null,8,SB),y(a,{tracks:s.tracks,uris:o.uris},null,8,["tracks","uris"]),y(l,{show:s.show_details_modal,playlist:s.playlist,uris:o.uris,onClose:t[2]||(t[2]=d=>s.show_details_modal=!1)},null,8,["show","playlist","uris"])]),_:1})])}const AB=te(wB,[["render",$B]]),ld=50,Da={load(e){const t=new Yn;return t.setAccessToken(He.state.spotify.webapi_token),Promise.all([t.getPlaylist(e.params.id),t.getPlaylistTracks(e.params.id,{limit:ld,offset:0,market:He.state.spotify.webapi_country})])},set(e,t){e.playlist=t[0],e.tracks=[],e.total=0,e.offset=0,e.append_tracks(t[1])}},TB={name:"PagePlaylistTracksSpotify",components:{ContentWithHeading:et,ListItemTrackSpotify:Tm,ModalDialogPlaylistSpotify:fu,ModalDialogTrackSpotify:Om,VueEternalLoading:Dm},beforeRouteEnter(e,t,n){Da.load(e).then(r=>{n(s=>Da.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;Da.load(e).then(s=>{Da.set(r,s),n()})},data(){return{playlist:{tracks:{}},tracks:[],total:0,offset:0,show_track_details_modal:!1,selected_track:{},show_playlist_details_modal:!1}},methods:{load_next({loaded:e}){const t=new Yn;t.setAccessToken(this.$store.state.spotify.webapi_token),t.getPlaylistTracks(this.playlist.id,{limit:ld,offset:this.offset,market:He.state.spotify.webapi_country}).then(n=>{this.append_tracks(n),e(n.items.length,ld)})},append_tracks(e){let t=Math.max(-1,...this.tracks.map(n=>n.position).filter(n=>n));e.items.forEach(n=>{const{track:r}=n;r&&(r.is_playable&&(r.position=++t),this.tracks.push(r))}),this.total=e.total,this.offset+=e.limit},play(){this.show_details_modal=!1,V.player_play_uri(this.playlist.uri,!0)},open_track_dialog(e){this.selected_track=e,this.show_track_details_modal=!0}}},OB=["textContent"],DB={class:"buttons is-centered"},PB=["textContent"],IB=["textContent"],FB=["onClick"];function RB(e,t,n,r,s,o){const i=$("mdicon"),a=$("list-item-track-spotify"),l=$("VueEternalLoading"),c=$("modal-dialog-track-spotify"),d=$("modal-dialog-playlist-spotify"),m=$("content-with-heading");return k(),T("div",null,[y(m,null,{"heading-left":E(()=>[u("div",{class:"title is-4",textContent:g(s.playlist.name)},null,8,OB)]),"heading-right":E(()=>[u("div",DB,[u("a",{class:"button is-small is-light is-rounded",onClick:t[0]||(t[0]=f=>s.show_playlist_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...f)=>o.play&&o.play(...f))},[y(i,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.spotify.playlist.shuffle"))},null,8,PB)])])]),content:E(()=>[u("p",{class:"heading has-text-centered-mobile",textContent:g(e.$t("page.spotify.playlist.count",{count:s.playlist.tracks.total}))},null,8,IB),(k(!0),T(we,null,ct(s.tracks,f=>(k(),_e(a,{key:f.id,track:f,position:f.position,context_uri:s.playlist.uri},{actions:E(()=>[u("a",{onClick:st(p=>o.open_track_dialog(f),["prevent","stop"])},[y(i,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,FB)]),_:2},1032,["track","position","context_uri"]))),128)),s.offset[gt(" . ")]),_:1},8,["load"])):M("",!0),y(c,{show:s.show_track_details_modal,track:s.selected_track,album:s.selected_track.album,onClose:t[2]||(t[2]=f=>s.show_track_details_modal=!1)},null,8,["show","track","album"]),y(d,{show:s.show_playlist_details_modal,playlist:s.playlist,onClose:t[3]||(t[3]=f=>s.show_playlist_details_modal=!1)},null,8,["show","playlist"])]),_:1})])}const LB=te(TB,[["render",RB]]),Pa={load(e){return Promise.all([V.library_album(e.params.id),V.library_podcast_episodes(e.params.id)])},set(e,t){e.album=t[0].data,e.tracks=new ve(t[1].data.tracks)}},NB={name:"PagePodcast",components:{ContentWithHero:uu,CoverArtwork:Fn,ListTracks:Cn,ModalDialog:fm,ModalDialogAlbum:cu},beforeRouteEnter(e,t,n){Pa.load(e).then(r=>{n(s=>Pa.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;Pa.load(e).then(s=>{Pa.set(r,s),n()})},data(){return{album:{},rss_playlist_to_remove:{},show_details_modal:!1,show_remove_podcast_modal:!1,tracks:new ve}},computed:{new_tracks(){return this.tracks.items.filter(e=>e.play_count===0).length}},methods:{open_remove_podcast_dialog(){V.library_track_playlists(this.tracks.items[0].id).then(({data:e})=>{[this.rss_playlist_to_remove]=e.items.filter(t=>t.type==="rss"),this.show_remove_podcast_modal=!0,this.show_details_modal=!1})},play(){V.player_play_uri(this.album.uri,!1)},reload_tracks(){V.library_podcast_episodes(this.album.id).then(({data:e})=>{this.tracks=new ve(e.tracks)})},remove_podcast(){this.show_remove_podcast_modal=!1,V.library_playlist_delete(this.rss_playlist_to_remove.id).then(()=>{this.$router.replace({name:"podcasts"})})}}},MB=["textContent"],VB=u("h2",{class:"subtitle is-6"}," ",-1),HB={class:"buttons fd-is-centered-mobile mt-5"},UB=["textContent"],BB=["textContent"],jB=["textContent"],qB={class:"is-size-7"},WB=["textContent"],GB=["textContent"];function KB(e,t,n,r,s,o){const i=$("mdicon"),a=$("cover-artwork"),l=$("list-tracks"),c=$("modal-dialog-album"),d=$("modal-dialog"),m=$("content-with-hero");return k(),T("div",null,[y(m,null,{"heading-left":E(()=>[u("h1",{class:"title is-5",textContent:g(s.album.name)},null,8,MB),VB,u("div",HB,[u("a",{class:"button is-small is-dark is-rounded",onClick:t[0]||(t[0]=(...f)=>o.play&&o.play(...f))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{textContent:g(e.$t("page.podcast.play"))},null,8,UB)]),u("a",{class:"button is-small is-light is-rounded",onClick:t[1]||(t[1]=f=>s.show_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})])])]),"heading-right":E(()=>[y(a,{artwork_url:s.album.artwork_url,artist:s.album.artist,album:s.album.name,class:"is-clickable fd-has-shadow fd-cover fd-cover-medium-image",onClick:t[2]||(t[2]=f=>s.show_details_modal=!0)},null,8,["artwork_url","artist","album"])]),content:E(()=>[u("p",{class:"heading is-7 has-text-centered-mobile mt-5",textContent:g(e.$t("page.podcast.track-count",{count:s.album.track_count}))},null,8,BB),y(l,{tracks:s.tracks,show_progress:!0,onPlayCountChanged:o.reload_tracks},null,8,["tracks","onPlayCountChanged"]),y(c,{show:s.show_details_modal,album:s.album,media_kind:"podcast",new_tracks:o.new_tracks,onClose:t[3]||(t[3]=f=>s.show_details_modal=!1),onPlayCountChanged:o.reload_tracks,onRemovePodcast:o.open_remove_podcast_dialog},null,8,["show","album","new_tracks","onPlayCountChanged","onRemovePodcast"]),y(d,{show:s.show_remove_podcast_modal,title:e.$t("page.podcast.remove-podcast"),delete_action:e.$t("page.podcast.remove"),onClose:t[4]||(t[4]=f=>s.show_remove_podcast_modal=!1),onDelete:o.remove_podcast},{"modal-content":E(()=>[u("p",{textContent:g(e.$t("page.podcast.remove-info-1"))},null,8,jB),u("p",qB,[gt(" ("),u("span",{textContent:g(e.$t("page.podcast.remove-info-2"))},null,8,WB),u("b",{textContent:g(s.rss_playlist_to_remove.name)},null,8,GB),gt(") ")])]),_:1},8,["show","title","delete_action","onDelete"])]),_:1})])}const ZB=te(NB,[["render",KB]]),YB={name:"ModalDialogAddRss",props:["show"],emits:["close","podcast-added"],data(){return{url:"",loading:!1}},watch:{show(){this.show&&(this.loading=!1,setTimeout(()=>{this.$refs.url_field.focus()},10))}},methods:{add_stream(){this.loading=!0,V.library_add(this.url).then(()=>{this.$emit("close"),this.$emit("podcast-added"),this.url=""}).catch(()=>{this.loading=!1})}}},JB={key:0,class:"modal is-active"},XB={class:"modal-content fd-modal-card"},QB={class:"card-content"},ej=["textContent"],tj={class:"field"},nj={class:"control is-expanded has-icons-left"},rj=["placeholder","disabled"],sj=["textContent"],oj={key:0,class:"card-footer"},ij={class:"card-footer-item has-text-dark"},aj=["textContent"],lj={key:1,class:"card-footer is-clipped"},uj=["textContent"],cj=["textContent"];function dj(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",JB,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",XB,[u("form",{class:"card",onSubmit:t[4]||(t[4]=st((...a)=>o.add_stream&&o.add_stream(...a),["prevent"]))},[u("div",QB,[u("p",{class:"title is-4",textContent:g(e.$t("dialog.add.rss.title"))},null,8,ej),u("div",tj,[u("p",nj,[yt(u("input",{ref:"url_field","onUpdate:modelValue":t[1]||(t[1]=a=>s.url=a),class:"input is-shadowless",type:"url",pattern:"http[s]?://.*",required:"",placeholder:e.$t("dialog.add.rss.placeholder"),disabled:s.loading},null,8,rj),[[dn,s.url]]),y(i,{class:"icon is-left",name:"rss",size:"16"})]),u("p",{class:"help",textContent:g(e.$t("dialog.add.rss.help"))},null,8,sj)])]),s.loading?(k(),T("footer",oj,[u("a",ij,[y(i,{class:"icon",name:"web",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.add.rss.processing"))},null,8,aj)])])):(k(),T("footer",lj,[u("a",{class:"card-footer-item has-text-dark",onClick:t[2]||(t[2]=a=>e.$emit("close"))},[y(i,{class:"icon",name:"cancel",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.add.rss.cancel"))},null,8,uj)]),u("a",{class:"card-footer-item has-background-info has-text-white has-text-weight-bold",onClick:t[3]||(t[3]=(...a)=>o.add_stream&&o.add_stream(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.add.rss.add"))},null,8,cj)])]))],32)]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[5]||(t[5]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const mj=te(YB,[["render",dj]]),Ia={load(e){return Promise.all([V.library_albums("podcast"),V.library_podcasts_new_episodes()])},set(e,t){e.albums=new ve(t[0].data),e.new_episodes=new ve(t[1].data.tracks)}},fj={name:"PagePodcasts",components:{ContentWithHeading:et,ListTracks:Cn,ListAlbums:ur,ModalDialogAddRss:mj},beforeRouteEnter(e,t,n){Ia.load(e).then(r=>{n(s=>Ia.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;Ia.load(e).then(s=>{Ia.set(r,s),n()})},data(){return{albums:[],new_episodes:{items:[]},show_url_modal:!1}},computed:{rss(){return this.$store.state.rss_count}},methods:{mark_all_played(){this.new_episodes.items.forEach(e=>{V.library_track_update(e.id,{play_count:"increment"})}),this.new_episodes.items={}},open_add_podcast_dialog(e){this.show_url_modal=!0},reload_new_episodes(){V.library_podcasts_new_episodes().then(({data:e})=>{this.new_episodes=new ve(e.tracks)})},reload_podcasts(){V.library_albums("podcast").then(({data:e})=>{this.albums=new ve(e),this.reload_new_episodes()})},update_rss(){this.$store.commit(yd,"rss"),this.$store.commit(bi,!0)}}},pj=["textContent"],hj={class:"buttons is-centered"},_j=["textContent"],gj=["textContent"],yj=["textContent"],vj={class:"buttons is-centered"},bj=["textContent"],zj=["textContent"];function Cj(e,t,n,r,s,o){const i=$("mdicon"),a=$("list-tracks"),l=$("content-with-heading"),c=$("list-albums"),d=$("modal-dialog-add-rss");return k(),T("div",null,[s.new_episodes.items.length>0?(k(),_e(l,{key:0},{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.podcasts.new-episodes"))},null,8,pj)]),"heading-right":E(()=>[u("div",hj,[u("a",{class:"button is-small",onClick:t[0]||(t[0]=(...m)=>o.mark_all_played&&o.mark_all_played(...m))},[y(i,{class:"icon",name:"pencil",size:"16"}),u("span",{textContent:g(e.$t("page.podcasts.mark-all-played"))},null,8,_j)])])]),content:E(()=>[y(a,{tracks:s.new_episodes,show_progress:!0,onPlayCountChanged:o.reload_new_episodes},null,8,["tracks","onPlayCountChanged"])]),_:1})):M("",!0),y(l,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.podcasts.title"))},null,8,gj),u("p",{class:"heading",textContent:g(e.$t("page.podcasts.count",{count:s.albums.total}))},null,8,yj)]),"heading-right":E(()=>[u("div",vj,[o.rss.tracks>0?(k(),T("a",{key:0,class:"button is-small",onClick:t[1]||(t[1]=(...m)=>o.update_rss&&o.update_rss(...m))},[y(i,{class:"icon",name:"refresh",size:"16"}),u("span",{textContent:g(e.$t("page.podcasts.update"))},null,8,bj)])):M("",!0),u("a",{class:"button is-small",onClick:t[2]||(t[2]=(...m)=>o.open_add_podcast_dialog&&o.open_add_podcast_dialog(...m))},[y(i,{class:"icon",name:"rss",size:"16"}),u("span",{textContent:g(e.$t("page.podcasts.add"))},null,8,zj)])])]),content:E(()=>[y(c,{albums:s.albums,onPlayCountChanged:t[3]||(t[3]=m=>o.reload_new_episodes()),onPodcastDeleted:t[4]||(t[4]=m=>o.reload_podcasts())},null,8,["albums"]),y(d,{show:s.show_url_modal,onClose:t[5]||(t[5]=m=>s.show_url_modal=!1),onPodcastAdded:t[6]||(t[6]=m=>o.reload_podcasts())},null,8,["show"])]),_:1})])}const wj=te(fj,[["render",Cj]]),Fa={load(e){return V.library_radio_streams()},set(e,t){e.tracks=new ve(t.data.tracks)}},kj={name:"PageRadioStreams",components:{ContentWithHeading:et,ListTracks:Cn},beforeRouteEnter(e,t,n){Fa.load(e).then(r=>{n(s=>Fa.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;Fa.load(e).then(s=>{Fa.set(r,s),n()})},data(){return{tracks:new ve}}},xj=["textContent"],Ej=["textContent"];function Sj(e,t,n,r,s,o){const i=$("list-tracks"),a=$("content-with-heading");return k(),T("div",null,[y(a,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.radio.title"))},null,8,xj),u("p",{class:"heading has-text-centered-mobile",textContent:g(e.$t("page.radio.count",{count:s.tracks.total}))},null,8,Ej)]),content:E(()=>[y(i,{tracks:s.tracks},null,8,["tracks"])]),_:1})])}const $j=te(kj,[["render",Sj]]);var Q1={exports:{}};/**! + */const Ns=typeof window<"u";function jT(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const lt=Object.assign;function ju(e,t){const n={};for(const r in t){const s=t[r];n[r]=Kn(s)?s.map(e):e(s)}return n}const Yo=()=>{},Kn=Array.isArray,qT=/\/$/,WT=e=>e.replace(qT,"");function qu(e,t,n="/"){let r,s={},o="",i="";const a=t.indexOf("#");let l=t.indexOf("?");return a=0&&(l=-1),l>-1&&(r=t.slice(0,l),o=t.slice(l+1,a>-1?a:t.length),s=e(o)),a>-1&&(r=r||t.slice(0,a),i=t.slice(a,t.length)),r=YT(r??t,n),{fullPath:r+(o&&"?")+o+i,path:r,query:s,hash:i}}function GT(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Yp(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function KT(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&ao(t.matched[r],n.matched[s])&&Jv(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function ao(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Jv(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!ZT(e[n],t[n]))return!1;return!0}function ZT(e,t){return Kn(e)?Jp(e,t):Kn(t)?Jp(t,e):e===t}function Jp(e,t){return Kn(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function YT(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let o=n.length-1,i,a;for(i=0;i1&&o--;else break;return n.slice(0,o).join("/")+"/"+r.slice(i-(i===r.length?1:0)).join("/")}var gi;(function(e){e.pop="pop",e.push="push"})(gi||(gi={}));var Jo;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Jo||(Jo={}));function JT(e){if(!e)if(Ns){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),WT(e)}const XT=/^[^#]+#/;function QT(e,t){return e.replace(XT,"#")+t}function eO(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const lu=()=>({left:window.pageXOffset,top:window.pageYOffset});function tO(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=eO(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function Xp(e,t){return(history.state?history.state.position-t:-1)+e}const Xc=new Map;function nO(e,t){Xc.set(e,t)}function rO(e){const t=Xc.get(e);return Xc.delete(e),t}let sO=()=>location.protocol+"//"+location.host;function Xv(e,t){const{pathname:n,search:r,hash:s}=t,o=e.indexOf("#");if(o>-1){let a=s.includes(e.slice(o))?e.slice(o).length:1,l=s.slice(a);return l[0]!=="/"&&(l="/"+l),Yp(l,"")}return Yp(n,e)+r+s}function oO(e,t,n,r){let s=[],o=[],i=null;const a=({state:f})=>{const p=Xv(e,location),h=n.value,_=t.value;let b=0;if(f){if(n.value=p,t.value=f,i&&i===h){i=null;return}b=_?f.position-_.position:0}else r(p);s.forEach(C=>{C(n.value,h,{delta:b,type:gi.pop,direction:b?b>0?Jo.forward:Jo.back:Jo.unknown})})};function l(){i=n.value}function c(f){s.push(f);const p=()=>{const h=s.indexOf(f);h>-1&&s.splice(h,1)};return o.push(p),p}function d(){const{history:f}=window;f.state&&f.replaceState(lt({},f.state,{scroll:lu()}),"")}function m(){for(const f of o)f();o=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",d)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",d,{passive:!0}),{pauseListeners:l,listen:c,destroy:m}}function Qp(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?lu():null}}function iO(e){const{history:t,location:n}=window,r={value:Xv(e,n)},s={value:t.state};s.value||o(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(l,c,d){const m=e.indexOf("#"),f=m>-1?(n.host&&document.querySelector("base")?e:e.slice(m))+l:sO()+e+l;try{t[d?"replaceState":"pushState"](c,"",f),s.value=c}catch(p){console.error(p),n[d?"replace":"assign"](f)}}function i(l,c){const d=lt({},t.state,Qp(s.value.back,l,s.value.forward,!0),c,{position:s.value.position});o(l,d,!0),r.value=l}function a(l,c){const d=lt({},s.value,t.state,{forward:l,scroll:lu()});o(d.current,d,!0);const m=lt({},Qp(r.value,l,null),{position:d.position+1},c);o(l,m,!1),r.value=l}return{location:r,state:s,push:a,replace:i}}function aO(e){e=JT(e);const t=iO(e),n=oO(e,t.state,t.location,t.replace);function r(o,i=!0){i||n.pauseListeners(),history.go(o)}const s=lt({location:"",base:e,go:r,createHref:QT.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}function lO(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),aO(e)}function uO(e){return typeof e=="string"||e&&typeof e=="object"}function Qv(e){return typeof e=="string"||typeof e=="symbol"}const Or={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},e1=Symbol("");var eh;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(eh||(eh={}));function lo(e,t){return lt(new Error,{type:e,[e1]:!0},t)}function dr(e,t){return e instanceof Error&&e1 in e&&(t==null||!!(e.type&t))}const th="[^/]+?",cO={sensitive:!1,strict:!1,start:!0,end:!0},dO=/[.+*?^${}()[\]/\\]/g;function mO(e,t){const n=lt({},cO,t),r=[];let s=n.start?"^":"";const o=[];for(const c of e){const d=c.length?[]:[90];n.strict&&!c.length&&(s+="/");for(let m=0;mt.length?t.length===1&&t[0]===80?1:-1:0}function pO(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const hO={type:0,value:""},_O=/[a-zA-Z0-9_]/;function gO(e){if(!e)return[[]];if(e==="/")return[[hO]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(p){throw new Error(`ERR (${n})/"${c}": ${p}`)}let n=0,r=n;const s=[];let o;function i(){o&&s.push(o),o=[]}let a=0,l,c="",d="";function m(){c&&(n===0?o.push({type:0,value:c}):n===1||n===2||n===3?(o.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:c,regexp:d,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),c="")}function f(){c+=l}for(;a{i(w)}:Yo}function i(d){if(Qv(d)){const m=r.get(d);m&&(r.delete(d),n.splice(n.indexOf(m),1),m.children.forEach(i),m.alias.forEach(i))}else{const m=n.indexOf(d);m>-1&&(n.splice(m,1),d.record.name&&r.delete(d.record.name),d.children.forEach(i),d.alias.forEach(i))}}function a(){return n}function l(d){let m=0;for(;m=0&&(d.record.path!==n[m].record.path||!t1(d,n[m]));)m++;n.splice(m,0,d),d.record.name&&!sh(d)&&r.set(d.record.name,d)}function c(d,m){let f,p={},h,_;if("name"in d&&d.name){if(f=r.get(d.name),!f)throw lo(1,{location:d});_=f.record.name,p=lt(rh(m.params,f.keys.filter(w=>!w.optional).map(w=>w.name)),d.params&&rh(d.params,f.keys.map(w=>w.name))),h=f.stringify(p)}else if("path"in d)h=d.path,f=n.find(w=>w.re.test(h)),f&&(p=f.parse(h),_=f.record.name);else{if(f=m.name?r.get(m.name):n.find(w=>w.re.test(m.path)),!f)throw lo(1,{location:d,currentLocation:m});_=f.record.name,p=lt({},m.params,d.params),h=f.stringify(p)}const b=[];let C=f;for(;C;)b.unshift(C.record),C=C.parent;return{name:_,path:h,params:p,matched:b,meta:CO(b)}}return e.forEach(d=>o(d)),{addRoute:o,resolve:c,removeRoute:i,getRoutes:a,getRecordMatcher:s}}function rh(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function bO(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:zO(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function zO(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function sh(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function CO(e){return e.reduce((t,n)=>lt(t,n.meta),{})}function oh(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function t1(e,t){return t.children.some(n=>n===e||t1(e,n))}const n1=/#/g,wO=/&/g,kO=/\//g,xO=/=/g,EO=/\?/g,r1=/\+/g,SO=/%5B/g,$O=/%5D/g,s1=/%5E/g,AO=/%60/g,o1=/%7B/g,TO=/%7C/g,i1=/%7D/g,OO=/%20/g;function Cm(e){return encodeURI(""+e).replace(TO,"|").replace(SO,"[").replace($O,"]")}function DO(e){return Cm(e).replace(o1,"{").replace(i1,"}").replace(s1,"^")}function Qc(e){return Cm(e).replace(r1,"%2B").replace(OO,"+").replace(n1,"%23").replace(wO,"%26").replace(AO,"`").replace(o1,"{").replace(i1,"}").replace(s1,"^")}function PO(e){return Qc(e).replace(xO,"%3D")}function IO(e){return Cm(e).replace(n1,"%23").replace(EO,"%3F")}function FO(e){return e==null?"":IO(e).replace(kO,"%2F")}function Cl(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function RO(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;so&&Qc(o)):[r&&Qc(r)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+n,o!=null&&(t+="="+o))})}return t}function LO(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=Kn(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}const NO=Symbol(""),ah=Symbol(""),wm=Symbol(""),a1=Symbol(""),ed=Symbol("");function $o(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Mr(e,t,n,r,s){const o=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((i,a)=>{const l=m=>{m===!1?a(lo(4,{from:n,to:t})):m instanceof Error?a(m):uO(m)?a(lo(2,{from:t,to:m})):(o&&r.enterCallbacks[s]===o&&typeof m=="function"&&o.push(m),i())},c=e.call(r&&r.instances[s],t,n,l);let d=Promise.resolve(c);e.length<3&&(d=d.then(l)),d.catch(m=>a(m))})}function Wu(e,t,n,r){const s=[];for(const o of e)for(const i in o.components){let a=o.components[i];if(!(t!=="beforeRouteEnter"&&!o.instances[i]))if(MO(a)){const c=(a.__vccOpts||a)[t];c&&s.push(Mr(c,n,r,o,i))}else{let l=a();s.push(()=>l.then(c=>{if(!c)return Promise.reject(new Error(`Couldn't resolve component "${i}" at "${o.path}"`));const d=jT(c)?c.default:c;o.components[i]=d;const f=(d.__vccOpts||d)[t];return f&&Mr(f,n,r,o,i)()}))}}return s}function MO(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function lh(e){const t=jn(wm),n=jn(a1),r=Lt(()=>t.resolve(yn(e.to))),s=Lt(()=>{const{matched:l}=r.value,{length:c}=l,d=l[c-1],m=n.matched;if(!d||!m.length)return-1;const f=m.findIndex(ao.bind(null,d));if(f>-1)return f;const p=uh(l[c-2]);return c>1&&uh(d)===p&&m[m.length-1].path!==p?m.findIndex(ao.bind(null,l[c-2])):f}),o=Lt(()=>s.value>-1&&BO(n.params,r.value.params)),i=Lt(()=>s.value>-1&&s.value===n.matched.length-1&&Jv(n.params,r.value.params));function a(l={}){return UO(l)?t[yn(e.replace)?"replace":"push"](yn(e.to)).catch(Yo):Promise.resolve()}return{route:r,href:Lt(()=>r.value.href),isActive:o,isExactActive:i,navigate:a}}const VO=zr({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:lh,setup(e,{slots:t}){const n=mo(lh(e)),{options:r}=jn(wm),s=Lt(()=>({[ch(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[ch(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&t.default(n);return e.custom?o:tr("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}}),HO=VO;function UO(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function BO(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!Kn(s)||s.length!==r.length||r.some((o,i)=>o!==s[i]))return!1}return!0}function uh(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const ch=(e,t,n)=>e??t??n,jO=zr({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=jn(ed),s=Lt(()=>e.route||r.value),o=jn(ah,0),i=Lt(()=>{let c=yn(o);const{matched:d}=s.value;let m;for(;(m=d[c])&&!m.components;)c++;return c}),a=Lt(()=>s.value.matched[i.value]);jo(ah,Lt(()=>i.value+1)),jo(NO,a),jo(ed,s);const l=sr();return bn(()=>[l.value,a.value,e.name],([c,d,m],[f,p,h])=>{d&&(d.instances[m]=c,p&&p!==d&&c&&c===f&&(d.leaveGuards.size||(d.leaveGuards=p.leaveGuards),d.updateGuards.size||(d.updateGuards=p.updateGuards))),c&&d&&(!p||!ao(d,p)||!f)&&(d.enterCallbacks[m]||[]).forEach(_=>_(c))},{flush:"post"}),()=>{const c=s.value,d=e.name,m=a.value,f=m&&m.components[d];if(!f)return dh(n.default,{Component:f,route:c});const p=m.props[d],h=p?p===!0?c.params:typeof p=="function"?p(c):p:null,b=tr(f,lt({},h,t,{onVnodeUnmounted:C=>{C.component.isUnmounted&&(m.instances[d]=null)},ref:l}));return dh(n.default,{Component:b,route:c})||b}}});function dh(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const qO=jO;function WO(e){const t=vO(e.routes,e),n=e.parseQuery||RO,r=e.stringifyQuery||ih,s=e.history,o=$o(),i=$o(),a=$o(),l=Id(Or);let c=Or;Ns&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const d=ju.bind(null,W=>""+W),m=ju.bind(null,FO),f=ju.bind(null,Cl);function p(W,ue){let ie,ge;return Qv(W)?(ie=t.getRecordMatcher(W),ge=ue):ge=W,t.addRoute(ge,ie)}function h(W){const ue=t.getRecordMatcher(W);ue&&t.removeRoute(ue)}function _(){return t.getRoutes().map(W=>W.record)}function b(W){return!!t.getRecordMatcher(W)}function C(W,ue){if(ue=lt({},ue||l.value),typeof W=="string"){const O=qu(n,W,ue.path),H=t.resolve({path:O.path},ue),Y=s.createHref(O.fullPath);return lt(O,H,{params:f(H.params),hash:Cl(O.hash),redirectedFrom:void 0,href:Y})}let ie;if("path"in W)ie=lt({},W,{path:qu(n,W.path,ue.path).path});else{const O=lt({},W.params);for(const H in O)O[H]==null&&delete O[H];ie=lt({},W,{params:m(O)}),ue.params=m(ue.params)}const ge=t.resolve(ie,ue),Ve=W.hash||"";ge.params=d(f(ge.params));const Ke=GT(r,lt({},W,{hash:DO(Ve),path:ge.path})),A=s.createHref(Ke);return lt({fullPath:Ke,hash:Ve,query:r===ih?LO(W.query):W.query||{}},ge,{redirectedFrom:void 0,href:A})}function w(W){return typeof W=="string"?qu(n,W,l.value.path):lt({},W)}function v(W,ue){if(c!==W)return lo(8,{from:ue,to:W})}function z(W){return N(W)}function S(W){return z(lt(w(W),{replace:!0}))}function x(W){const ue=W.matched[W.matched.length-1];if(ue&&ue.redirect){const{redirect:ie}=ue;let ge=typeof ie=="function"?ie(W):ie;return typeof ge=="string"&&(ge=ge.includes("?")||ge.includes("#")?ge=w(ge):{path:ge},ge.params={}),lt({query:W.query,hash:W.hash,params:"path"in ge?{}:W.params},ge)}}function N(W,ue){const ie=c=C(W),ge=l.value,Ve=W.state,Ke=W.force,A=W.replace===!0,O=x(ie);if(O)return N(lt(w(O),{state:typeof O=="object"?lt({},Ve,O.state):Ve,force:Ke,replace:A}),ue||ie);const H=ie;H.redirectedFrom=ue;let Y;return!Ke&&KT(r,ge,ie)&&(Y=lo(16,{to:H,from:ge}),We(ge,ge,!0,!1)),(Y?Promise.resolve(Y):L(H,ge)).catch(K=>dr(K)?dr(K,2)?K:Je(K):oe(K,H,ge)).then(K=>{if(K){if(dr(K,2))return N(lt({replace:A},w(K.to),{state:typeof K.to=="object"?lt({},Ve,K.to.state):Ve,force:Ke}),ue||H)}else K=B(H,ge,!0,A,Ve);return Z(H,ge,K),K})}function D(W,ue){const ie=v(W,ue);return ie?Promise.reject(ie):Promise.resolve()}function P(W){const ue=pt.values().next().value;return ue&&typeof ue.runWithContext=="function"?ue.runWithContext(W):W()}function L(W,ue){let ie;const[ge,Ve,Ke]=GO(W,ue);ie=Wu(ge.reverse(),"beforeRouteLeave",W,ue);for(const O of ge)O.leaveGuards.forEach(H=>{ie.push(Mr(H,W,ue))});const A=D.bind(null,W,ue);return ie.push(A),Ne(ie).then(()=>{ie=[];for(const O of o.list())ie.push(Mr(O,W,ue));return ie.push(A),Ne(ie)}).then(()=>{ie=Wu(Ve,"beforeRouteUpdate",W,ue);for(const O of Ve)O.updateGuards.forEach(H=>{ie.push(Mr(H,W,ue))});return ie.push(A),Ne(ie)}).then(()=>{ie=[];for(const O of Ke)if(O.beforeEnter)if(Kn(O.beforeEnter))for(const H of O.beforeEnter)ie.push(Mr(H,W,ue));else ie.push(Mr(O.beforeEnter,W,ue));return ie.push(A),Ne(ie)}).then(()=>(W.matched.forEach(O=>O.enterCallbacks={}),ie=Wu(Ke,"beforeRouteEnter",W,ue),ie.push(A),Ne(ie))).then(()=>{ie=[];for(const O of i.list())ie.push(Mr(O,W,ue));return ie.push(A),Ne(ie)}).catch(O=>dr(O,8)?O:Promise.reject(O))}function Z(W,ue,ie){a.list().forEach(ge=>P(()=>ge(W,ue,ie)))}function B(W,ue,ie,ge,Ve){const Ke=v(W,ue);if(Ke)return Ke;const A=ue===Or,O=Ns?history.state:{};ie&&(ge||A?s.replace(W.fullPath,lt({scroll:A&&O&&O.scroll},Ve)):s.push(W.fullPath,Ve)),l.value=W,We(W,ue,ie,A),Je()}let q;function X(){q||(q=s.listen((W,ue,ie)=>{if(!ht.listening)return;const ge=C(W),Ve=x(ge);if(Ve){N(lt(Ve,{replace:!0}),ge).catch(Yo);return}c=ge;const Ke=l.value;Ns&&nO(Xp(Ke.fullPath,ie.delta),lu()),L(ge,Ke).catch(A=>dr(A,12)?A:dr(A,2)?(N(A.to,ge).then(O=>{dr(O,20)&&!ie.delta&&ie.type===gi.pop&&s.go(-1,!1)}).catch(Yo),Promise.reject()):(ie.delta&&s.go(-ie.delta,!1),oe(A,ge,Ke))).then(A=>{A=A||B(ge,Ke,!1),A&&(ie.delta&&!dr(A,8)?s.go(-ie.delta,!1):ie.type===gi.pop&&dr(A,20)&&s.go(-1,!1)),Z(ge,Ke,A)}).catch(Yo)}))}let pe=$o(),G=$o(),re;function oe(W,ue,ie){Je(W);const ge=G.list();return ge.length?ge.forEach(Ve=>Ve(W,ue,ie)):console.error(W),Promise.reject(W)}function Be(){return re&&l.value!==Or?Promise.resolve():new Promise((W,ue)=>{pe.add([W,ue])})}function Je(W){return re||(re=!W,X(),pe.list().forEach(([ue,ie])=>W?ie(W):ue()),pe.reset()),W}function We(W,ue,ie,ge){const{scrollBehavior:Ve}=e;if(!Ns||!Ve)return Promise.resolve();const Ke=!ie&&rO(Xp(W.fullPath,0))||(ge||!ie)&&history.state&&history.state.scroll||null;return fo().then(()=>Ve(W,ue,Ke)).then(A=>A&&tO(A)).catch(A=>oe(A,W,ue))}const Ue=W=>s.go(W);let dt;const pt=new Set,ht={currentRoute:l,listening:!0,addRoute:p,removeRoute:h,hasRoute:b,getRoutes:_,resolve:C,options:e,push:z,replace:S,go:Ue,back:()=>Ue(-1),forward:()=>Ue(1),beforeEach:o.add,beforeResolve:i.add,afterEach:a.add,onError:G.add,isReady:Be,install(W){const ue=this;W.component("RouterLink",HO),W.component("RouterView",qO),W.config.globalProperties.$router=ue,Object.defineProperty(W.config.globalProperties,"$route",{enumerable:!0,get:()=>yn(l)}),Ns&&!dt&&l.value===Or&&(dt=!0,z(s.location).catch(Ve=>{}));const ie={};for(const Ve in Or)Object.defineProperty(ie,Ve,{get:()=>l.value[Ve],enumerable:!0});W.provide(wm,ue),W.provide(a1,$d(ie)),W.provide(ed,l);const ge=W.unmount;pt.add(W),W.unmount=function(){pt.delete(W),pt.size<1&&(c=Or,q&&q(),q=null,l.value=Or,dt=!1,re=!1),ge()}}};function Ne(W){return W.reduce((ue,ie)=>ue.then(()=>P(ie)),Promise.resolve())}return ht}function GO(e,t){const n=[],r=[],s=[],o=Math.max(t.matched.length,e.matched.length);for(let i=0;iao(c,a))?r.push(a):n.push(a));const l=e.matched[i];l&&(t.matched.find(c=>ao(c,l))||s.push(l))}return[n,r,s]}const KO={name:"PageAbout",computed:{config(){return this.$store.state.config},library(){return this.$store.state.library}},methods:{showUpdateDialog(){this.$store.commit(bi,!0)}}},ZO={class:"section"},YO={class:"container"},JO={class:"columns is-centered"},XO={class:"column is-four-fifths has-text-centered-mobile"},QO=["textContent"],e3={class:"section"},t3={class:"container"},n3={class:"columns is-centered"},r3={class:"column is-four-fifths"},s3={class:"content"},o3={class:"level is-mobile"},i3={class:"level-left"},a3={class:"level-item"},l3=["textContent"],u3={class:"level-right"},c3={key:0},d3=["textContent"],m3={key:1},f3=["textContent"],p3={class:"table"},h3=["textContent"],_3=["textContent"],g3=["textContent"],y3=["textContent"],v3=["textContent"],b3=["textContent"],z3=["textContent"],C3=["textContent"],w3=["textContent"],k3={class:"has-text-right"},x3=["textContent"],E3=["textContent"],S3=["textContent"],$3={class:"has-text-right"},A3=["textContent"],T3=["textContent"],O3={class:"section"},D3={class:"container"},P3={class:"columns is-centered"},I3={class:"column is-four-fifths"},F3={class:"content has-text-centered-mobile"},R3=["textContent"],L3=["textContent"],N3=u("a",{href:"https://bulma.io"},"Bulma",-1),M3=u("a",{href:"https://pictogrammers.com/library/mdi/"},"Material Design Icons",-1),V3=u("a",{href:"https://vuejs.org/"},"Vue.js",-1),H3=u("a",{href:"https://github.com/mzabriskie/axios"},"axios",-1),U3=["textContent"];function B3(e,t,n,r,s,o){const i=$("i18n-t");return k(),T("div",null,[u("section",ZO,[u("div",YO,[u("div",JO,[u("div",XO,[u("h1",{class:"title is-4",textContent:g(o.config.library_name)},null,8,QO)])])])]),u("section",e3,[u("div",t3,[u("div",n3,[u("div",r3,[u("div",s3,[u("nav",o3,[u("div",i3,[u("div",a3,[u("h2",{class:"title is-5",textContent:g(e.$t("page.about.library"))},null,8,l3)])]),u("div",u3,[o.library.updating?(k(),T("div",c3,[u("a",{class:"button is-small is-loading",textContent:g(e.$t("page.about.update"))},null,8,d3)])):(k(),T("div",m3,[u("a",{class:"button is-small",onClick:t[0]||(t[0]=a=>o.showUpdateDialog()),textContent:g(e.$t("page.about.update"))},null,8,f3)]))])]),u("table",p3,[u("tbody",null,[u("tr",null,[u("th",{class:"has-text-left",textContent:g(e.$t("page.about.artists"))},null,8,h3),u("td",{class:"has-text-right",textContent:g(e.$filters.number(o.library.artists))},null,8,_3)]),u("tr",null,[u("th",{class:"has-text-left",textContent:g(e.$t("page.about.albums"))},null,8,g3),u("td",{class:"has-text-right",textContent:g(e.$filters.number(o.library.albums))},null,8,y3)]),u("tr",null,[u("th",{class:"has-text-left",textContent:g(e.$t("page.about.tracks"))},null,8,v3),u("td",{class:"has-text-right",textContent:g(e.$filters.number(o.library.songs))},null,8,b3)]),u("tr",null,[u("th",{class:"has-text-left",textContent:g(e.$t("page.about.total-playtime"))},null,8,z3),u("td",{class:"has-text-right",textContent:g(e.$filters.durationInDays(o.library.db_playtime*1e3))},null,8,C3)]),u("tr",null,[u("th",{class:"has-text-left",textContent:g(e.$t("page.about.updated"))},null,8,w3),u("td",k3,[u("span",{textContent:g(e.$t("page.about.updated-on",{time:e.$filters.timeFromNow(o.library.updated_at)}))},null,8,x3),gt(" ("),u("span",{class:"has-text-grey",textContent:g(e.$filters.datetime(o.library.updated_at))},null,8,E3),gt(") ")])]),u("tr",null,[u("th",{class:"has-text-left",textContent:g(e.$t("page.about.uptime"))},null,8,S3),u("td",$3,[u("span",{textContent:g(e.$filters.timeFromNow(o.library.started_at,!0))},null,8,A3),gt(" ("),u("span",{class:"has-text-grey",textContent:g(e.$filters.datetime(o.library.started_at))},null,8,T3),gt(") ")])])])])])])])])]),u("section",O3,[u("div",D3,[u("div",P3,[u("div",I3,[u("div",F3,[u("p",{class:"is-size-7",textContent:g(e.$t("page.about.version",{version:o.config.version}))},null,8,R3),u("p",{class:"is-size-7",textContent:g(e.$t("page.about.compiled-with",{options:o.config.buildoptions.join(", ")}))},null,8,L3),y(i,{tag:"p",class:"is-size-7",keypath:"page.about.built-with",scope:"global"},{bulma:E(()=>[N3]),mdi:E(()=>[M3]),vuejs:E(()=>[V3]),axios:E(()=>[H3]),others:E(()=>[u("a",{href:"https://github.com/owntone/owntone-server/network/dependencies",textContent:g(e.$t("page.about.more"))},null,8,U3)]),_:1})])])])])])])}const j3=te(KO,[["render",B3]]),q3={},W3={class:"hero is-light is-bold"},G3={class:"hero-body"},K3={class:"container"},Z3={class:"columns is-centered"},Y3={class:"column is-four-fifths"},J3={class:"columns is-flex-direction-row-reverse"},X3={class:"column fd-has-cover"},Q3={class:"column m-auto is-three-fifths has-text-centered-mobile"},e4={class:"section pt-0"},t4={class:"container"},n4={class:"columns is-centered"},r4={class:"column is-four-fifths"};function s4(e,t){return k(),T(we,null,[u("section",W3,[u("div",G3,[u("div",K3,[u("div",Z3,[u("div",Y3,[u("div",J3,[u("div",X3,[it(e.$slots,"heading-right")]),u("div",Q3,[it(e.$slots,"heading-left")])])])])])])]),u("section",e4,[u("div",t4,[u("div",n4,[u("div",r4,[it(e.$slots,"content"),it(e.$slots,"footer")])])])])],64)}const uu=te(q3,[["render",s4]]);var l1={exports:{}},o4=[{value:"#B0171F",name:"indian red"},{value:"#DC143C",css:!0,name:"crimson"},{value:"#FFB6C1",css:!0,name:"lightpink"},{value:"#FFAEB9",name:"lightpink 1"},{value:"#EEA2AD",name:"lightpink 2"},{value:"#CD8C95",name:"lightpink 3"},{value:"#8B5F65",name:"lightpink 4"},{value:"#FFC0CB",css:!0,name:"pink"},{value:"#FFB5C5",name:"pink 1"},{value:"#EEA9B8",name:"pink 2"},{value:"#CD919E",name:"pink 3"},{value:"#8B636C",name:"pink 4"},{value:"#DB7093",css:!0,name:"palevioletred"},{value:"#FF82AB",name:"palevioletred 1"},{value:"#EE799F",name:"palevioletred 2"},{value:"#CD6889",name:"palevioletred 3"},{value:"#8B475D",name:"palevioletred 4"},{value:"#FFF0F5",name:"lavenderblush 1"},{value:"#FFF0F5",css:!0,name:"lavenderblush"},{value:"#EEE0E5",name:"lavenderblush 2"},{value:"#CDC1C5",name:"lavenderblush 3"},{value:"#8B8386",name:"lavenderblush 4"},{value:"#FF3E96",name:"violetred 1"},{value:"#EE3A8C",name:"violetred 2"},{value:"#CD3278",name:"violetred 3"},{value:"#8B2252",name:"violetred 4"},{value:"#FF69B4",css:!0,name:"hotpink"},{value:"#FF6EB4",name:"hotpink 1"},{value:"#EE6AA7",name:"hotpink 2"},{value:"#CD6090",name:"hotpink 3"},{value:"#8B3A62",name:"hotpink 4"},{value:"#872657",name:"raspberry"},{value:"#FF1493",name:"deeppink 1"},{value:"#FF1493",css:!0,name:"deeppink"},{value:"#EE1289",name:"deeppink 2"},{value:"#CD1076",name:"deeppink 3"},{value:"#8B0A50",name:"deeppink 4"},{value:"#FF34B3",name:"maroon 1"},{value:"#EE30A7",name:"maroon 2"},{value:"#CD2990",name:"maroon 3"},{value:"#8B1C62",name:"maroon 4"},{value:"#C71585",css:!0,name:"mediumvioletred"},{value:"#D02090",name:"violetred"},{value:"#DA70D6",css:!0,name:"orchid"},{value:"#FF83FA",name:"orchid 1"},{value:"#EE7AE9",name:"orchid 2"},{value:"#CD69C9",name:"orchid 3"},{value:"#8B4789",name:"orchid 4"},{value:"#D8BFD8",css:!0,name:"thistle"},{value:"#FFE1FF",name:"thistle 1"},{value:"#EED2EE",name:"thistle 2"},{value:"#CDB5CD",name:"thistle 3"},{value:"#8B7B8B",name:"thistle 4"},{value:"#FFBBFF",name:"plum 1"},{value:"#EEAEEE",name:"plum 2"},{value:"#CD96CD",name:"plum 3"},{value:"#8B668B",name:"plum 4"},{value:"#DDA0DD",css:!0,name:"plum"},{value:"#EE82EE",css:!0,name:"violet"},{value:"#FF00FF",vga:!0,name:"magenta"},{value:"#FF00FF",vga:!0,css:!0,name:"fuchsia"},{value:"#EE00EE",name:"magenta 2"},{value:"#CD00CD",name:"magenta 3"},{value:"#8B008B",name:"magenta 4"},{value:"#8B008B",css:!0,name:"darkmagenta"},{value:"#800080",vga:!0,css:!0,name:"purple"},{value:"#BA55D3",css:!0,name:"mediumorchid"},{value:"#E066FF",name:"mediumorchid 1"},{value:"#D15FEE",name:"mediumorchid 2"},{value:"#B452CD",name:"mediumorchid 3"},{value:"#7A378B",name:"mediumorchid 4"},{value:"#9400D3",css:!0,name:"darkviolet"},{value:"#9932CC",css:!0,name:"darkorchid"},{value:"#BF3EFF",name:"darkorchid 1"},{value:"#B23AEE",name:"darkorchid 2"},{value:"#9A32CD",name:"darkorchid 3"},{value:"#68228B",name:"darkorchid 4"},{value:"#4B0082",css:!0,name:"indigo"},{value:"#8A2BE2",css:!0,name:"blueviolet"},{value:"#9B30FF",name:"purple 1"},{value:"#912CEE",name:"purple 2"},{value:"#7D26CD",name:"purple 3"},{value:"#551A8B",name:"purple 4"},{value:"#9370DB",css:!0,name:"mediumpurple"},{value:"#AB82FF",name:"mediumpurple 1"},{value:"#9F79EE",name:"mediumpurple 2"},{value:"#8968CD",name:"mediumpurple 3"},{value:"#5D478B",name:"mediumpurple 4"},{value:"#483D8B",css:!0,name:"darkslateblue"},{value:"#8470FF",name:"lightslateblue"},{value:"#7B68EE",css:!0,name:"mediumslateblue"},{value:"#6A5ACD",css:!0,name:"slateblue"},{value:"#836FFF",name:"slateblue 1"},{value:"#7A67EE",name:"slateblue 2"},{value:"#6959CD",name:"slateblue 3"},{value:"#473C8B",name:"slateblue 4"},{value:"#F8F8FF",css:!0,name:"ghostwhite"},{value:"#E6E6FA",css:!0,name:"lavender"},{value:"#0000FF",vga:!0,css:!0,name:"blue"},{value:"#0000EE",name:"blue 2"},{value:"#0000CD",name:"blue 3"},{value:"#0000CD",css:!0,name:"mediumblue"},{value:"#00008B",name:"blue 4"},{value:"#00008B",css:!0,name:"darkblue"},{value:"#000080",vga:!0,css:!0,name:"navy"},{value:"#191970",css:!0,name:"midnightblue"},{value:"#3D59AB",name:"cobalt"},{value:"#4169E1",css:!0,name:"royalblue"},{value:"#4876FF",name:"royalblue 1"},{value:"#436EEE",name:"royalblue 2"},{value:"#3A5FCD",name:"royalblue 3"},{value:"#27408B",name:"royalblue 4"},{value:"#6495ED",css:!0,name:"cornflowerblue"},{value:"#B0C4DE",css:!0,name:"lightsteelblue"},{value:"#CAE1FF",name:"lightsteelblue 1"},{value:"#BCD2EE",name:"lightsteelblue 2"},{value:"#A2B5CD",name:"lightsteelblue 3"},{value:"#6E7B8B",name:"lightsteelblue 4"},{value:"#778899",css:!0,name:"lightslategray"},{value:"#708090",css:!0,name:"slategray"},{value:"#C6E2FF",name:"slategray 1"},{value:"#B9D3EE",name:"slategray 2"},{value:"#9FB6CD",name:"slategray 3"},{value:"#6C7B8B",name:"slategray 4"},{value:"#1E90FF",name:"dodgerblue 1"},{value:"#1E90FF",css:!0,name:"dodgerblue"},{value:"#1C86EE",name:"dodgerblue 2"},{value:"#1874CD",name:"dodgerblue 3"},{value:"#104E8B",name:"dodgerblue 4"},{value:"#F0F8FF",css:!0,name:"aliceblue"},{value:"#4682B4",css:!0,name:"steelblue"},{value:"#63B8FF",name:"steelblue 1"},{value:"#5CACEE",name:"steelblue 2"},{value:"#4F94CD",name:"steelblue 3"},{value:"#36648B",name:"steelblue 4"},{value:"#87CEFA",css:!0,name:"lightskyblue"},{value:"#B0E2FF",name:"lightskyblue 1"},{value:"#A4D3EE",name:"lightskyblue 2"},{value:"#8DB6CD",name:"lightskyblue 3"},{value:"#607B8B",name:"lightskyblue 4"},{value:"#87CEFF",name:"skyblue 1"},{value:"#7EC0EE",name:"skyblue 2"},{value:"#6CA6CD",name:"skyblue 3"},{value:"#4A708B",name:"skyblue 4"},{value:"#87CEEB",css:!0,name:"skyblue"},{value:"#00BFFF",name:"deepskyblue 1"},{value:"#00BFFF",css:!0,name:"deepskyblue"},{value:"#00B2EE",name:"deepskyblue 2"},{value:"#009ACD",name:"deepskyblue 3"},{value:"#00688B",name:"deepskyblue 4"},{value:"#33A1C9",name:"peacock"},{value:"#ADD8E6",css:!0,name:"lightblue"},{value:"#BFEFFF",name:"lightblue 1"},{value:"#B2DFEE",name:"lightblue 2"},{value:"#9AC0CD",name:"lightblue 3"},{value:"#68838B",name:"lightblue 4"},{value:"#B0E0E6",css:!0,name:"powderblue"},{value:"#98F5FF",name:"cadetblue 1"},{value:"#8EE5EE",name:"cadetblue 2"},{value:"#7AC5CD",name:"cadetblue 3"},{value:"#53868B",name:"cadetblue 4"},{value:"#00F5FF",name:"turquoise 1"},{value:"#00E5EE",name:"turquoise 2"},{value:"#00C5CD",name:"turquoise 3"},{value:"#00868B",name:"turquoise 4"},{value:"#5F9EA0",css:!0,name:"cadetblue"},{value:"#00CED1",css:!0,name:"darkturquoise"},{value:"#F0FFFF",name:"azure 1"},{value:"#F0FFFF",css:!0,name:"azure"},{value:"#E0EEEE",name:"azure 2"},{value:"#C1CDCD",name:"azure 3"},{value:"#838B8B",name:"azure 4"},{value:"#E0FFFF",name:"lightcyan 1"},{value:"#E0FFFF",css:!0,name:"lightcyan"},{value:"#D1EEEE",name:"lightcyan 2"},{value:"#B4CDCD",name:"lightcyan 3"},{value:"#7A8B8B",name:"lightcyan 4"},{value:"#BBFFFF",name:"paleturquoise 1"},{value:"#AEEEEE",name:"paleturquoise 2"},{value:"#AEEEEE",css:!0,name:"paleturquoise"},{value:"#96CDCD",name:"paleturquoise 3"},{value:"#668B8B",name:"paleturquoise 4"},{value:"#2F4F4F",css:!0,name:"darkslategray"},{value:"#97FFFF",name:"darkslategray 1"},{value:"#8DEEEE",name:"darkslategray 2"},{value:"#79CDCD",name:"darkslategray 3"},{value:"#528B8B",name:"darkslategray 4"},{value:"#00FFFF",name:"cyan"},{value:"#00FFFF",css:!0,name:"aqua"},{value:"#00EEEE",name:"cyan 2"},{value:"#00CDCD",name:"cyan 3"},{value:"#008B8B",name:"cyan 4"},{value:"#008B8B",css:!0,name:"darkcyan"},{value:"#008080",vga:!0,css:!0,name:"teal"},{value:"#48D1CC",css:!0,name:"mediumturquoise"},{value:"#20B2AA",css:!0,name:"lightseagreen"},{value:"#03A89E",name:"manganeseblue"},{value:"#40E0D0",css:!0,name:"turquoise"},{value:"#808A87",name:"coldgrey"},{value:"#00C78C",name:"turquoiseblue"},{value:"#7FFFD4",name:"aquamarine 1"},{value:"#7FFFD4",css:!0,name:"aquamarine"},{value:"#76EEC6",name:"aquamarine 2"},{value:"#66CDAA",name:"aquamarine 3"},{value:"#66CDAA",css:!0,name:"mediumaquamarine"},{value:"#458B74",name:"aquamarine 4"},{value:"#00FA9A",css:!0,name:"mediumspringgreen"},{value:"#F5FFFA",css:!0,name:"mintcream"},{value:"#00FF7F",css:!0,name:"springgreen"},{value:"#00EE76",name:"springgreen 1"},{value:"#00CD66",name:"springgreen 2"},{value:"#008B45",name:"springgreen 3"},{value:"#3CB371",css:!0,name:"mediumseagreen"},{value:"#54FF9F",name:"seagreen 1"},{value:"#4EEE94",name:"seagreen 2"},{value:"#43CD80",name:"seagreen 3"},{value:"#2E8B57",name:"seagreen 4"},{value:"#2E8B57",css:!0,name:"seagreen"},{value:"#00C957",name:"emeraldgreen"},{value:"#BDFCC9",name:"mint"},{value:"#3D9140",name:"cobaltgreen"},{value:"#F0FFF0",name:"honeydew 1"},{value:"#F0FFF0",css:!0,name:"honeydew"},{value:"#E0EEE0",name:"honeydew 2"},{value:"#C1CDC1",name:"honeydew 3"},{value:"#838B83",name:"honeydew 4"},{value:"#8FBC8F",css:!0,name:"darkseagreen"},{value:"#C1FFC1",name:"darkseagreen 1"},{value:"#B4EEB4",name:"darkseagreen 2"},{value:"#9BCD9B",name:"darkseagreen 3"},{value:"#698B69",name:"darkseagreen 4"},{value:"#98FB98",css:!0,name:"palegreen"},{value:"#9AFF9A",name:"palegreen 1"},{value:"#90EE90",name:"palegreen 2"},{value:"#90EE90",css:!0,name:"lightgreen"},{value:"#7CCD7C",name:"palegreen 3"},{value:"#548B54",name:"palegreen 4"},{value:"#32CD32",css:!0,name:"limegreen"},{value:"#228B22",css:!0,name:"forestgreen"},{value:"#00FF00",vga:!0,name:"green 1"},{value:"#00FF00",vga:!0,css:!0,name:"lime"},{value:"#00EE00",name:"green 2"},{value:"#00CD00",name:"green 3"},{value:"#008B00",name:"green 4"},{value:"#008000",vga:!0,css:!0,name:"green"},{value:"#006400",css:!0,name:"darkgreen"},{value:"#308014",name:"sapgreen"},{value:"#7CFC00",css:!0,name:"lawngreen"},{value:"#7FFF00",name:"chartreuse 1"},{value:"#7FFF00",css:!0,name:"chartreuse"},{value:"#76EE00",name:"chartreuse 2"},{value:"#66CD00",name:"chartreuse 3"},{value:"#458B00",name:"chartreuse 4"},{value:"#ADFF2F",css:!0,name:"greenyellow"},{value:"#CAFF70",name:"darkolivegreen 1"},{value:"#BCEE68",name:"darkolivegreen 2"},{value:"#A2CD5A",name:"darkolivegreen 3"},{value:"#6E8B3D",name:"darkolivegreen 4"},{value:"#556B2F",css:!0,name:"darkolivegreen"},{value:"#6B8E23",css:!0,name:"olivedrab"},{value:"#C0FF3E",name:"olivedrab 1"},{value:"#B3EE3A",name:"olivedrab 2"},{value:"#9ACD32",name:"olivedrab 3"},{value:"#9ACD32",css:!0,name:"yellowgreen"},{value:"#698B22",name:"olivedrab 4"},{value:"#FFFFF0",name:"ivory 1"},{value:"#FFFFF0",css:!0,name:"ivory"},{value:"#EEEEE0",name:"ivory 2"},{value:"#CDCDC1",name:"ivory 3"},{value:"#8B8B83",name:"ivory 4"},{value:"#F5F5DC",css:!0,name:"beige"},{value:"#FFFFE0",name:"lightyellow 1"},{value:"#FFFFE0",css:!0,name:"lightyellow"},{value:"#EEEED1",name:"lightyellow 2"},{value:"#CDCDB4",name:"lightyellow 3"},{value:"#8B8B7A",name:"lightyellow 4"},{value:"#FAFAD2",css:!0,name:"lightgoldenrodyellow"},{value:"#FFFF00",vga:!0,name:"yellow 1"},{value:"#FFFF00",vga:!0,css:!0,name:"yellow"},{value:"#EEEE00",name:"yellow 2"},{value:"#CDCD00",name:"yellow 3"},{value:"#8B8B00",name:"yellow 4"},{value:"#808069",name:"warmgrey"},{value:"#808000",vga:!0,css:!0,name:"olive"},{value:"#BDB76B",css:!0,name:"darkkhaki"},{value:"#FFF68F",name:"khaki 1"},{value:"#EEE685",name:"khaki 2"},{value:"#CDC673",name:"khaki 3"},{value:"#8B864E",name:"khaki 4"},{value:"#F0E68C",css:!0,name:"khaki"},{value:"#EEE8AA",css:!0,name:"palegoldenrod"},{value:"#FFFACD",name:"lemonchiffon 1"},{value:"#FFFACD",css:!0,name:"lemonchiffon"},{value:"#EEE9BF",name:"lemonchiffon 2"},{value:"#CDC9A5",name:"lemonchiffon 3"},{value:"#8B8970",name:"lemonchiffon 4"},{value:"#FFEC8B",name:"lightgoldenrod 1"},{value:"#EEDC82",name:"lightgoldenrod 2"},{value:"#CDBE70",name:"lightgoldenrod 3"},{value:"#8B814C",name:"lightgoldenrod 4"},{value:"#E3CF57",name:"banana"},{value:"#FFD700",name:"gold 1"},{value:"#FFD700",css:!0,name:"gold"},{value:"#EEC900",name:"gold 2"},{value:"#CDAD00",name:"gold 3"},{value:"#8B7500",name:"gold 4"},{value:"#FFF8DC",name:"cornsilk 1"},{value:"#FFF8DC",css:!0,name:"cornsilk"},{value:"#EEE8CD",name:"cornsilk 2"},{value:"#CDC8B1",name:"cornsilk 3"},{value:"#8B8878",name:"cornsilk 4"},{value:"#DAA520",css:!0,name:"goldenrod"},{value:"#FFC125",name:"goldenrod 1"},{value:"#EEB422",name:"goldenrod 2"},{value:"#CD9B1D",name:"goldenrod 3"},{value:"#8B6914",name:"goldenrod 4"},{value:"#B8860B",css:!0,name:"darkgoldenrod"},{value:"#FFB90F",name:"darkgoldenrod 1"},{value:"#EEAD0E",name:"darkgoldenrod 2"},{value:"#CD950C",name:"darkgoldenrod 3"},{value:"#8B6508",name:"darkgoldenrod 4"},{value:"#FFA500",name:"orange 1"},{value:"#FF8000",css:!0,name:"orange"},{value:"#EE9A00",name:"orange 2"},{value:"#CD8500",name:"orange 3"},{value:"#8B5A00",name:"orange 4"},{value:"#FFFAF0",css:!0,name:"floralwhite"},{value:"#FDF5E6",css:!0,name:"oldlace"},{value:"#F5DEB3",css:!0,name:"wheat"},{value:"#FFE7BA",name:"wheat 1"},{value:"#EED8AE",name:"wheat 2"},{value:"#CDBA96",name:"wheat 3"},{value:"#8B7E66",name:"wheat 4"},{value:"#FFE4B5",css:!0,name:"moccasin"},{value:"#FFEFD5",css:!0,name:"papayawhip"},{value:"#FFEBCD",css:!0,name:"blanchedalmond"},{value:"#FFDEAD",name:"navajowhite 1"},{value:"#FFDEAD",css:!0,name:"navajowhite"},{value:"#EECFA1",name:"navajowhite 2"},{value:"#CDB38B",name:"navajowhite 3"},{value:"#8B795E",name:"navajowhite 4"},{value:"#FCE6C9",name:"eggshell"},{value:"#D2B48C",css:!0,name:"tan"},{value:"#9C661F",name:"brick"},{value:"#FF9912",name:"cadmiumyellow"},{value:"#FAEBD7",css:!0,name:"antiquewhite"},{value:"#FFEFDB",name:"antiquewhite 1"},{value:"#EEDFCC",name:"antiquewhite 2"},{value:"#CDC0B0",name:"antiquewhite 3"},{value:"#8B8378",name:"antiquewhite 4"},{value:"#DEB887",css:!0,name:"burlywood"},{value:"#FFD39B",name:"burlywood 1"},{value:"#EEC591",name:"burlywood 2"},{value:"#CDAA7D",name:"burlywood 3"},{value:"#8B7355",name:"burlywood 4"},{value:"#FFE4C4",name:"bisque 1"},{value:"#FFE4C4",css:!0,name:"bisque"},{value:"#EED5B7",name:"bisque 2"},{value:"#CDB79E",name:"bisque 3"},{value:"#8B7D6B",name:"bisque 4"},{value:"#E3A869",name:"melon"},{value:"#ED9121",name:"carrot"},{value:"#FF8C00",css:!0,name:"darkorange"},{value:"#FF7F00",name:"darkorange 1"},{value:"#EE7600",name:"darkorange 2"},{value:"#CD6600",name:"darkorange 3"},{value:"#8B4500",name:"darkorange 4"},{value:"#FFA54F",name:"tan 1"},{value:"#EE9A49",name:"tan 2"},{value:"#CD853F",name:"tan 3"},{value:"#CD853F",css:!0,name:"peru"},{value:"#8B5A2B",name:"tan 4"},{value:"#FAF0E6",css:!0,name:"linen"},{value:"#FFDAB9",name:"peachpuff 1"},{value:"#FFDAB9",css:!0,name:"peachpuff"},{value:"#EECBAD",name:"peachpuff 2"},{value:"#CDAF95",name:"peachpuff 3"},{value:"#8B7765",name:"peachpuff 4"},{value:"#FFF5EE",name:"seashell 1"},{value:"#FFF5EE",css:!0,name:"seashell"},{value:"#EEE5DE",name:"seashell 2"},{value:"#CDC5BF",name:"seashell 3"},{value:"#8B8682",name:"seashell 4"},{value:"#F4A460",css:!0,name:"sandybrown"},{value:"#C76114",name:"rawsienna"},{value:"#D2691E",css:!0,name:"chocolate"},{value:"#FF7F24",name:"chocolate 1"},{value:"#EE7621",name:"chocolate 2"},{value:"#CD661D",name:"chocolate 3"},{value:"#8B4513",name:"chocolate 4"},{value:"#8B4513",css:!0,name:"saddlebrown"},{value:"#292421",name:"ivoryblack"},{value:"#FF7D40",name:"flesh"},{value:"#FF6103",name:"cadmiumorange"},{value:"#8A360F",name:"burntsienna"},{value:"#A0522D",css:!0,name:"sienna"},{value:"#FF8247",name:"sienna 1"},{value:"#EE7942",name:"sienna 2"},{value:"#CD6839",name:"sienna 3"},{value:"#8B4726",name:"sienna 4"},{value:"#FFA07A",name:"lightsalmon 1"},{value:"#FFA07A",css:!0,name:"lightsalmon"},{value:"#EE9572",name:"lightsalmon 2"},{value:"#CD8162",name:"lightsalmon 3"},{value:"#8B5742",name:"lightsalmon 4"},{value:"#FF7F50",css:!0,name:"coral"},{value:"#FF4500",name:"orangered 1"},{value:"#FF4500",css:!0,name:"orangered"},{value:"#EE4000",name:"orangered 2"},{value:"#CD3700",name:"orangered 3"},{value:"#8B2500",name:"orangered 4"},{value:"#5E2612",name:"sepia"},{value:"#E9967A",css:!0,name:"darksalmon"},{value:"#FF8C69",name:"salmon 1"},{value:"#EE8262",name:"salmon 2"},{value:"#CD7054",name:"salmon 3"},{value:"#8B4C39",name:"salmon 4"},{value:"#FF7256",name:"coral 1"},{value:"#EE6A50",name:"coral 2"},{value:"#CD5B45",name:"coral 3"},{value:"#8B3E2F",name:"coral 4"},{value:"#8A3324",name:"burntumber"},{value:"#FF6347",name:"tomato 1"},{value:"#FF6347",css:!0,name:"tomato"},{value:"#EE5C42",name:"tomato 2"},{value:"#CD4F39",name:"tomato 3"},{value:"#8B3626",name:"tomato 4"},{value:"#FA8072",css:!0,name:"salmon"},{value:"#FFE4E1",name:"mistyrose 1"},{value:"#FFE4E1",css:!0,name:"mistyrose"},{value:"#EED5D2",name:"mistyrose 2"},{value:"#CDB7B5",name:"mistyrose 3"},{value:"#8B7D7B",name:"mistyrose 4"},{value:"#FFFAFA",name:"snow 1"},{value:"#FFFAFA",css:!0,name:"snow"},{value:"#EEE9E9",name:"snow 2"},{value:"#CDC9C9",name:"snow 3"},{value:"#8B8989",name:"snow 4"},{value:"#BC8F8F",css:!0,name:"rosybrown"},{value:"#FFC1C1",name:"rosybrown 1"},{value:"#EEB4B4",name:"rosybrown 2"},{value:"#CD9B9B",name:"rosybrown 3"},{value:"#8B6969",name:"rosybrown 4"},{value:"#F08080",css:!0,name:"lightcoral"},{value:"#CD5C5C",css:!0,name:"indianred"},{value:"#FF6A6A",name:"indianred 1"},{value:"#EE6363",name:"indianred 2"},{value:"#8B3A3A",name:"indianred 4"},{value:"#CD5555",name:"indianred 3"},{value:"#A52A2A",css:!0,name:"brown"},{value:"#FF4040",name:"brown 1"},{value:"#EE3B3B",name:"brown 2"},{value:"#CD3333",name:"brown 3"},{value:"#8B2323",name:"brown 4"},{value:"#B22222",css:!0,name:"firebrick"},{value:"#FF3030",name:"firebrick 1"},{value:"#EE2C2C",name:"firebrick 2"},{value:"#CD2626",name:"firebrick 3"},{value:"#8B1A1A",name:"firebrick 4"},{value:"#FF0000",vga:!0,name:"red 1"},{value:"#FF0000",vga:!0,css:!0,name:"red"},{value:"#EE0000",name:"red 2"},{value:"#CD0000",name:"red 3"},{value:"#8B0000",name:"red 4"},{value:"#8B0000",css:!0,name:"darkred"},{value:"#800000",vga:!0,css:!0,name:"maroon"},{value:"#8E388E",name:"sgi beet"},{value:"#7171C6",name:"sgi slateblue"},{value:"#7D9EC0",name:"sgi lightblue"},{value:"#388E8E",name:"sgi teal"},{value:"#71C671",name:"sgi chartreuse"},{value:"#8E8E38",name:"sgi olivedrab"},{value:"#C5C1AA",name:"sgi brightgray"},{value:"#C67171",name:"sgi salmon"},{value:"#555555",name:"sgi darkgray"},{value:"#1E1E1E",name:"sgi gray 12"},{value:"#282828",name:"sgi gray 16"},{value:"#515151",name:"sgi gray 32"},{value:"#5B5B5B",name:"sgi gray 36"},{value:"#848484",name:"sgi gray 52"},{value:"#8E8E8E",name:"sgi gray 56"},{value:"#AAAAAA",name:"sgi lightgray"},{value:"#B7B7B7",name:"sgi gray 72"},{value:"#C1C1C1",name:"sgi gray 76"},{value:"#EAEAEA",name:"sgi gray 92"},{value:"#F4F4F4",name:"sgi gray 96"},{value:"#FFFFFF",vga:!0,css:!0,name:"white"},{value:"#F5F5F5",name:"white smoke"},{value:"#F5F5F5",name:"gray 96"},{value:"#DCDCDC",css:!0,name:"gainsboro"},{value:"#D3D3D3",css:!0,name:"lightgrey"},{value:"#C0C0C0",vga:!0,css:!0,name:"silver"},{value:"#A9A9A9",css:!0,name:"darkgray"},{value:"#808080",vga:!0,css:!0,name:"gray"},{value:"#696969",css:!0,name:"dimgray"},{value:"#696969",name:"gray 42"},{value:"#000000",vga:!0,css:!0,name:"black"},{value:"#FCFCFC",name:"gray 99"},{value:"#FAFAFA",name:"gray 98"},{value:"#F7F7F7",name:"gray 97"},{value:"#F2F2F2",name:"gray 95"},{value:"#F0F0F0",name:"gray 94"},{value:"#EDEDED",name:"gray 93"},{value:"#EBEBEB",name:"gray 92"},{value:"#E8E8E8",name:"gray 91"},{value:"#E5E5E5",name:"gray 90"},{value:"#E3E3E3",name:"gray 89"},{value:"#E0E0E0",name:"gray 88"},{value:"#DEDEDE",name:"gray 87"},{value:"#DBDBDB",name:"gray 86"},{value:"#D9D9D9",name:"gray 85"},{value:"#D6D6D6",name:"gray 84"},{value:"#D4D4D4",name:"gray 83"},{value:"#D1D1D1",name:"gray 82"},{value:"#CFCFCF",name:"gray 81"},{value:"#CCCCCC",name:"gray 80"},{value:"#C9C9C9",name:"gray 79"},{value:"#C7C7C7",name:"gray 78"},{value:"#C4C4C4",name:"gray 77"},{value:"#C2C2C2",name:"gray 76"},{value:"#BFBFBF",name:"gray 75"},{value:"#BDBDBD",name:"gray 74"},{value:"#BABABA",name:"gray 73"},{value:"#B8B8B8",name:"gray 72"},{value:"#B5B5B5",name:"gray 71"},{value:"#B3B3B3",name:"gray 70"},{value:"#B0B0B0",name:"gray 69"},{value:"#ADADAD",name:"gray 68"},{value:"#ABABAB",name:"gray 67"},{value:"#A8A8A8",name:"gray 66"},{value:"#A6A6A6",name:"gray 65"},{value:"#A3A3A3",name:"gray 64"},{value:"#A1A1A1",name:"gray 63"},{value:"#9E9E9E",name:"gray 62"},{value:"#9C9C9C",name:"gray 61"},{value:"#999999",name:"gray 60"},{value:"#969696",name:"gray 59"},{value:"#949494",name:"gray 58"},{value:"#919191",name:"gray 57"},{value:"#8F8F8F",name:"gray 56"},{value:"#8C8C8C",name:"gray 55"},{value:"#8A8A8A",name:"gray 54"},{value:"#878787",name:"gray 53"},{value:"#858585",name:"gray 52"},{value:"#828282",name:"gray 51"},{value:"#7F7F7F",name:"gray 50"},{value:"#7D7D7D",name:"gray 49"},{value:"#7A7A7A",name:"gray 48"},{value:"#787878",name:"gray 47"},{value:"#757575",name:"gray 46"},{value:"#737373",name:"gray 45"},{value:"#707070",name:"gray 44"},{value:"#6E6E6E",name:"gray 43"},{value:"#666666",name:"gray 40"},{value:"#636363",name:"gray 39"},{value:"#616161",name:"gray 38"},{value:"#5E5E5E",name:"gray 37"},{value:"#5C5C5C",name:"gray 36"},{value:"#595959",name:"gray 35"},{value:"#575757",name:"gray 34"},{value:"#545454",name:"gray 33"},{value:"#525252",name:"gray 32"},{value:"#4F4F4F",name:"gray 31"},{value:"#4D4D4D",name:"gray 30"},{value:"#4A4A4A",name:"gray 29"},{value:"#474747",name:"gray 28"},{value:"#454545",name:"gray 27"},{value:"#424242",name:"gray 26"},{value:"#404040",name:"gray 25"},{value:"#3D3D3D",name:"gray 24"},{value:"#3B3B3B",name:"gray 23"},{value:"#383838",name:"gray 22"},{value:"#363636",name:"gray 21"},{value:"#333333",name:"gray 20"},{value:"#303030",name:"gray 19"},{value:"#2E2E2E",name:"gray 18"},{value:"#2B2B2B",name:"gray 17"},{value:"#292929",name:"gray 16"},{value:"#262626",name:"gray 15"},{value:"#242424",name:"gray 14"},{value:"#212121",name:"gray 13"},{value:"#1F1F1F",name:"gray 12"},{value:"#1C1C1C",name:"gray 11"},{value:"#1A1A1A",name:"gray 10"},{value:"#171717",name:"gray 9"},{value:"#141414",name:"gray 8"},{value:"#121212",name:"gray 7"},{value:"#0F0F0F",name:"gray 6"},{value:"#0D0D0D",name:"gray 5"},{value:"#0A0A0A",name:"gray 4"},{value:"#080808",name:"gray 3"},{value:"#050505",name:"gray 2"},{value:"#030303",name:"gray 1"},{value:"#F5F5F5",css:!0,name:"whitesmoke"}];(function(e){var t=o4,n=t.filter(function(s){return!!s.css}),r=t.filter(function(s){return!!s.vga});e.exports=function(s){var o=e.exports.get(s);return o&&o.value},e.exports.get=function(s){return s=s||"",s=s.trim().toLowerCase(),t.filter(function(o){return o.name.toLowerCase()===s}).pop()},e.exports.all=e.exports.get.all=function(){return t},e.exports.get.css=function(s){return s?(s=s||"",s=s.trim().toLowerCase(),n.filter(function(o){return o.name.toLowerCase()===s}).pop()):n},e.exports.get.vga=function(s){return s?(s=s||"",s=s.trim().toLowerCase(),r.filter(function(o){return o.name.toLowerCase()===s}).pop()):r}})(l1);var i4=l1.exports,a4=1/0,l4="[object Symbol]",u4=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,u1="\\ud800-\\udfff",c4="\\u0300-\\u036f\\ufe20-\\ufe23",d4="\\u20d0-\\u20f0",c1="\\u2700-\\u27bf",d1="a-z\\xdf-\\xf6\\xf8-\\xff",m4="\\xac\\xb1\\xd7\\xf7",f4="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",p4="\\u2000-\\u206f",h4=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",m1="A-Z\\xc0-\\xd6\\xd8-\\xde",_4="\\ufe0e\\ufe0f",f1=m4+f4+p4+h4,p1="['’]",mh="["+f1+"]",g4="["+c4+d4+"]",h1="\\d+",y4="["+c1+"]",_1="["+d1+"]",g1="[^"+u1+f1+h1+c1+d1+m1+"]",v4="\\ud83c[\\udffb-\\udfff]",b4="(?:"+g4+"|"+v4+")",z4="[^"+u1+"]",y1="(?:\\ud83c[\\udde6-\\uddff]){2}",v1="[\\ud800-\\udbff][\\udc00-\\udfff]",Ms="["+m1+"]",C4="\\u200d",fh="(?:"+_1+"|"+g1+")",w4="(?:"+Ms+"|"+g1+")",ph="(?:"+p1+"(?:d|ll|m|re|s|t|ve))?",hh="(?:"+p1+"(?:D|LL|M|RE|S|T|VE))?",b1=b4+"?",z1="["+_4+"]?",k4="(?:"+C4+"(?:"+[z4,y1,v1].join("|")+")"+z1+b1+")*",x4=z1+b1+k4,E4="(?:"+[y4,y1,v1].join("|")+")"+x4,S4=RegExp([Ms+"?"+_1+"+"+ph+"(?="+[mh,Ms,"$"].join("|")+")",w4+"+"+hh+"(?="+[mh,Ms+fh,"$"].join("|")+")",Ms+"?"+fh+"+"+ph,Ms+"+"+hh,h1,E4].join("|"),"g"),$4=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,A4=typeof un=="object"&&un&&un.Object===Object&&un,T4=typeof self=="object"&&self&&self.Object===Object&&self,O4=A4||T4||Function("return this")();function D4(e){return e.match(u4)||[]}function P4(e){return $4.test(e)}function I4(e){return e.match(S4)||[]}var F4=Object.prototype,R4=F4.toString,_h=O4.Symbol,gh=_h?_h.prototype:void 0,yh=gh?gh.toString:void 0;function L4(e){if(typeof e=="string")return e;if(M4(e))return yh?yh.call(e):"";var t=e+"";return t=="0"&&1/e==-a4?"-0":t}function N4(e){return!!e&&typeof e=="object"}function M4(e){return typeof e=="symbol"||N4(e)&&R4.call(e)==l4}function V4(e){return e==null?"":L4(e)}function H4(e,t,n){return e=V4(e),t=n?void 0:t,t===void 0?P4(e)?I4(e):D4(e):e.match(t)||[]}var U4=H4,B4=1/0,j4="[object Symbol]",q4=/^\s+/,km="\\ud800-\\udfff",C1="\\u0300-\\u036f\\ufe20-\\ufe23",w1="\\u20d0-\\u20f0",k1="\\ufe0e\\ufe0f",W4="["+km+"]",td="["+C1+w1+"]",nd="\\ud83c[\\udffb-\\udfff]",G4="(?:"+td+"|"+nd+")",x1="[^"+km+"]",E1="(?:\\ud83c[\\udde6-\\uddff]){2}",S1="[\\ud800-\\udbff][\\udc00-\\udfff]",$1="\\u200d",A1=G4+"?",T1="["+k1+"]?",K4="(?:"+$1+"(?:"+[x1,E1,S1].join("|")+")"+T1+A1+")*",Z4=T1+A1+K4,Y4="(?:"+[x1+td+"?",td,E1,S1,W4].join("|")+")",J4=RegExp(nd+"(?="+nd+")|"+Y4+Z4,"g"),X4=RegExp("["+$1+km+C1+w1+k1+"]"),Q4=typeof un=="object"&&un&&un.Object===Object&&un,e6=typeof self=="object"&&self&&self.Object===Object&&self,t6=Q4||e6||Function("return this")();function n6(e){return e.split("")}function r6(e,t,n,r){for(var s=e.length,o=n+(r?1:-1);r?o--:++o-1;);return n}function a6(e){return X4.test(e)}function vh(e){return a6(e)?l6(e):n6(e)}function l6(e){return e.match(J4)||[]}var u6=Object.prototype,c6=u6.toString,bh=t6.Symbol,zh=bh?bh.prototype:void 0,Ch=zh?zh.toString:void 0;function d6(e,t,n){var r=-1,s=e.length;t<0&&(t=-t>s?0:s+t),n=n>s?s:n,n<0&&(n+=s),s=t>n?0:n-t>>>0,t>>>=0;for(var o=Array(s);++r=r?e:d6(e,t,n)}function f6(e){return!!e&&typeof e=="object"}function p6(e){return typeof e=="symbol"||f6(e)&&c6.call(e)==j4}function h6(e){return e==null?"":O1(e)}function _6(e,t,n){if(e=h6(e),e&&(n||t===void 0))return e.replace(q4,"");if(!e||!(t=O1(t)))return e;var r=vh(e),s=i6(r,vh(t));return m6(r,s).join("")}var g6=_6,rd=1/0,y6=9007199254740991,v6=17976931348623157e292,wh=NaN,b6="[object Symbol]",z6=/^\s+|\s+$/g,C6=/^[-+]0x[0-9a-f]+$/i,w6=/^0b[01]+$/i,k6=/^0o[0-7]+$/i,xm="\\ud800-\\udfff",D1="\\u0300-\\u036f\\ufe20-\\ufe23",P1="\\u20d0-\\u20f0",I1="\\ufe0e\\ufe0f",x6="["+xm+"]",sd="["+D1+P1+"]",od="\\ud83c[\\udffb-\\udfff]",E6="(?:"+sd+"|"+od+")",F1="[^"+xm+"]",R1="(?:\\ud83c[\\udde6-\\uddff]){2}",L1="[\\ud800-\\udbff][\\udc00-\\udfff]",N1="\\u200d",M1=E6+"?",V1="["+I1+"]?",S6="(?:"+N1+"(?:"+[F1,R1,L1].join("|")+")"+V1+M1+")*",$6=V1+M1+S6,A6="(?:"+[F1+sd+"?",sd,R1,L1,x6].join("|")+")",id=RegExp(od+"(?="+od+")|"+A6+$6,"g"),T6=RegExp("["+N1+xm+D1+P1+I1+"]"),O6=parseInt,D6=typeof un=="object"&&un&&un.Object===Object&&un,P6=typeof self=="object"&&self&&self.Object===Object&&self,I6=D6||P6||Function("return this")(),F6=L6("length");function R6(e){return e.split("")}function L6(e){return function(t){return t==null?void 0:t[e]}}function Em(e){return T6.test(e)}function H1(e){return Em(e)?M6(e):F6(e)}function N6(e){return Em(e)?V6(e):R6(e)}function M6(e){for(var t=id.lastIndex=0;id.test(e);)t++;return t}function V6(e){return e.match(id)||[]}var H6=Object.prototype,U6=H6.toString,kh=I6.Symbol,B6=Math.ceil,j6=Math.floor,xh=kh?kh.prototype:void 0,Eh=xh?xh.toString:void 0;function Sh(e,t){var n="";if(!e||t<1||t>y6)return n;do t%2&&(n+=e),t=j6(t/2),t&&(e+=e);while(t);return n}function q6(e,t,n){var r=-1,s=e.length;t<0&&(t=-t>s?0:s+t),n=n>s?s:n,n<0&&(n+=s),s=t>n?0:n-t>>>0,t>>>=0;for(var o=Array(s);++r=r?e:q6(e,t,n)}function G6(e,t){t=t===void 0?" ":U1(t);var n=t.length;if(n<2)return n?Sh(t,e):t;var r=Sh(t,B6(e/H1(t)));return Em(t)?W6(N6(r),0,e).join(""):r.slice(0,e)}function $h(e){var t=typeof e;return!!e&&(t=="object"||t=="function")}function K6(e){return!!e&&typeof e=="object"}function B1(e){return typeof e=="symbol"||K6(e)&&U6.call(e)==b6}function Z6(e){if(!e)return e===0?e:0;if(e=J6(e),e===rd||e===-rd){var t=e<0?-1:1;return t*v6}return e===e?e:0}function Y6(e){var t=Z6(e),n=t%1;return t===t?n?t-n:t:0}function J6(e){if(typeof e=="number")return e;if(B1(e))return wh;if($h(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=$h(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=e.replace(z6,"");var n=w6.test(e);return n||k6.test(e)?O6(e.slice(2),n?2:8):C6.test(e)?wh:+e}function X6(e){return e==null?"":U1(e)}function Q6(e,t,n){e=X6(e),t=Y6(t);var r=t?H1(e):0;return t&&r{const s=(e+(r||"")).toString().includes("%");if(typeof e=="string"?[e,t,n,r]=e.match(/(0?\.?\d{1,3})%?\b/g).map(Number):r!==void 0&&(r=parseFloat(r)),typeof e!="number"||typeof t!="number"||typeof n!="number"||e>255||t>255||n>255)throw new TypeError("Expected three numbers below 256");if(typeof r=="number"){if(!s&&r>=0&&r<=1)r=Math.round(255*r);else if(s&&r>=0&&r<=100)r=Math.round(255*r/100);else throw new TypeError(`Expected alpha value (${r}) as a fraction or percentage`);r=(r|256).toString(16).slice(1)}else r="";return(n|t<<8|e<<16|1<<24).toString(16).slice(1)+r};const yi="a-f\\d",n5=`#?[${yi}]{3}[${yi}]?`,r5=`#?[${yi}]{6}([${yi}]{2})?`,s5=new RegExp(`[^#${yi}]`,"gi"),o5=new RegExp(`^${n5}$|^${r5}$`,"i");var i5=(e,t={})=>{if(typeof e!="string"||s5.test(e)||!o5.test(e))throw new TypeError("Expected a valid hex string");e=e.replace(/^#/,"");let n=1;e.length===8&&(n=Number.parseInt(e.slice(6,8),16)/255,e=e.slice(0,6)),e.length===4&&(n=Number.parseInt(e.slice(3,4).repeat(2),16)/255,e=e.slice(0,3)),e.length===3&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]);const r=Number.parseInt(e,16),s=r>>16,o=r>>8&255,i=r&255,a=typeof t.alpha=="number"?t.alpha:n;if(t.format==="array")return[s,o,i,a];if(t.format==="css"){const l=a===1?"":` / ${Number((a*100).toFixed(2))}%`;return`rgb(${s} ${o} ${i}${l})`}return{red:s,green:o,blue:i,alpha:a}},a5=i4,l5=U4,u5=g6,c5=e5,d5=t5,j1=i5;const Gu=.75,Ku=.25,Zu=16777215,m5=49979693;var f5=function(e){return"#"+_5(String(JSON.stringify(e)))};function p5(e){var t=l5(e),n=[];return t.forEach(function(r){var s=a5(r);s&&n.push(j1(u5(s,"#"),{format:"array"}))}),n}function h5(e){var t=[0,0,0];return e.forEach(function(n){for(var r=0;r<3;r++)t[r]+=n[r]}),[t[0]/e.length,t[1]/e.length,t[2]/e.length]}function _5(e){var t,n=p5(e);n.length>0&&(t=h5(n));var r=1,s=0,o=1;if(e.length>0)for(var i=0;is&&(s=e[i].charCodeAt(0)),o=parseInt(Zu/s),r=(r+e[i].charCodeAt(0)*o*m5)%Zu;var a=(r*e.length%Zu).toString(16);a=c5(a,6,a);var l=j1(a,{format:"array"});return t?d5(Ku*l[0]+Gu*t[0],Ku*l[1]+Gu*t[1],Ku*l[2]+Gu*t[2]):a}const g5=Ti(f5);function y5(e){const t=e.replace(/#/,""),n=parseInt(t.substr(0,2),16),r=parseInt(t.substr(2,2),16),s=parseInt(t.substr(4,2),16);return[.299*n,.587*r,.114*s].reduce((i,a)=>i+a)/255>.5}function v5(e){return y5(e)?"#000000":"#ffffff"}function b5(e){const t=` ${e.caption} `;return`data:image/svg+xml;charset=UTF-8,${encodeURIComponent(t)}`}function z5(e,t,n){const r=g5(t),s=v5(r),o={width:n.width,height:n.height,textColor:s,backgroundColor:r,caption:e,fontFamily:n.font_family,fontSize:n.font_size,fontWeight:n.font_weight};return b5(o)}const C5={name:"CoverArtwork",props:["artist","album","artwork_url","maxwidth","maxheight"],emits:["click"],data(){return{width:600,height:600,font_family:"sans-serif",font_size:200,font_weight:600,lazy_lifecycle:{error:e=>{e.src=this.dataURI()}}}},computed:{artwork_url_with_size(){return this.maxwidth>0&&this.maxheight>0?V.artwork_url_append_size_params(this.artwork_url,this.maxwidth,this.maxheight):V.artwork_url_append_size_params(this.artwork_url)},alt_text(){return`${this.artist} - ${this.album}`},caption(){return this.album?this.album.substring(0,2):this.artist?this.artist.substring(0,2):""}},methods:{dataURI(){return z5(this.caption,this.alt_text,{width:this.width,height:this.height,font_family:this.font_family,font_size:this.font_size,font_weight:this.font_weight})}}};function w5(e,t,n,r,s,o){const i=Md("lazy");return k(),T("figure",null,[yt(u("img",{onClick:t[0]||(t[0]=a=>e.$emit("click"))},null,512),[[i,{src:o.artwork_url_with_size,lifecycle:s.lazy_lifecycle}]])])}const Fn=te(C5,[["render",w5]]),{t:Yu,locale:Sm}=nu.global,q1="GROUP_KEY_NONE";function $m(){return{compareFn:null,groupKeyFn:e=>q1}}function Rn(e,t=!1,n="_"){return{compareFn:t?null:(r,s)=>{const o=r[e]||n,i=s[e]||n;return o.localeCompare(i,Sm.value)},groupKeyFn:r=>{const s=(r[e]||n).charAt(0);return s.match(new RegExp("\\p{Letter}","gu"))?s.toUpperCase():s.match(new RegExp("\\p{Number}","gu"))?"#":"⌘"}}}function Am(e,{direction:t="asc",defaultValue:n=0}){return{compareFn:(r,s)=>{const o=r[e]||n,i=s[e]||n,a=o-i;return t==="asc"?a:a*-1},groupKeyFn:r=>{const s=r[e]||n;return Math.floor(s/10)}}}function k5(e,t="asc",n=1){return{compareFn:(r,s)=>{const o=r[e]||n,i=s[e]||n,a=o-i;return t==="asc"?a:a*-1},groupKeyFn:r=>r[e]||n}}function wl(e,{direction:t="asc",defaultValue:n="0000"}){return{compareFn:(r,s)=>{const o=r[e]||n,i=s[e]||n,a=o.localeCompare(i,Sm.value);return t==="asc"?a:a*-1},groupKeyFn:r=>(r[e]||n).substring(0,4)}}function x5(e,t="0000"){return{compareFn:(n,r)=>{const s=n[e]||t;return(r[e]||t).localeCompare(s,Sm.value)},groupKeyFn:n=>{const r=n[e];if(!r)return t;const s=new Date().getTime()-new Date(r).getTime();return s<864e5?Yu("group-by-list.today"):s<6048e5?Yu("group-by-list.last-week"):s<2592e6?Yu("group-by-list.last-month"):r.substring(0,4)}}}class ve{constructor({items:t=[],total:n=0,offset:r=0,limit:s=-1}={}){this.items=t,this.total=n,this.offset=r,this.limit=s,this.count=t.length,this.indexList=[],this.group($m())}isEmpty(){return!this.items||this.items.length<=0}group(t,n=[]){const r=n?this.items.filter(o=>n.every(i=>i(o))):this.items;this.count=r.length;const s=t.compareFn?[...r].sort(t.compareFn):r;this.indexList=[...new Set(s.map(t.groupKeyFn))],this.itemsGrouped=s.reduce((o,i)=>{const a=t.groupKeyFn(i);return o[a]=[...o[a]||[],i],o},{})}*generate(){for(const t in this.itemsGrouped){t!==q1&&(yield{groupKey:t,itemId:t,isItem:!1,item:{}});for(const n of this.itemsGrouped[t])yield{groupKey:t,itemId:n.id,isItem:!0,item:n}}}[Symbol.iterator](){return this.generate()}}var W1={exports:{}};(function(e){var t=function(){var n="https://api.spotify.com/v1",r=null,s=null,o=function(f,p){return f.abort=p,f},i=function(f,p){var h;if(s!==null){var _=s.defer();f(function(b){_.resolve(b)},function(b){_.reject(b)}),h=_.promise}else window.Promise&&(h=new window.Promise(f));return h?new o(h,p):null},a=function(){var f=Array.prototype.slice.call(arguments),p=f[0],h=f.slice(1);return p=p||{},h.forEach(function(_){for(var b in _)_.hasOwnProperty(b)&&(p[b]=_[b])}),p},l=function(f,p){var h="";for(var _ in p)if(p.hasOwnProperty(_)){var b=p[_];h+=encodeURIComponent(_)+"="+encodeURIComponent(b)+"&"}return h.length>0&&(h=h.substring(0,h.length-1),f=f+"?"+h),f},c=function(f,p){var h=new XMLHttpRequest,_=function(b,C){function w(x){b&&b(x),p&&p(null,x)}function v(){C&&C(h),p&&p(h,null)}var z=f.type||"GET";if(h.open(z,l(f.url,f.params)),r&&h.setRequestHeader("Authorization","Bearer "+r),h.onreadystatechange=function(){if(h.readyState===4){var x=null;try{x=h.responseText?JSON.parse(h.responseText):""}catch(N){console.error(N)}h.status>=200&&h.status<300?w(x):v()}},z==="GET")h.send(null);else{var S=null;f.postData&&(f.contentType==="image/jpeg"?(S=f.postData,h.setRequestHeader("Content-Type",f.contentType)):(S=JSON.stringify(f.postData),h.setRequestHeader("Content-Type","application/json"))),h.send(S)}};return p?(_(),null):i(_,function(){h.abort()})},d=function(f,p,h,_){var b={},C=null;typeof p=="object"?(b=p,C=h):typeof p=="function"&&(C=p);var w=f.type||"GET";return w!=="GET"&&f.postData&&!_?f.postData=a(f.postData,b):f.params=a(f.params,b),c(f,C)},m=function(){};return m.prototype={constructor:t},m.prototype.getGeneric=function(f,p){var h={url:f};return d(h,p)},m.prototype.getMe=function(f,p){var h={url:n+"/me"};return d(h,f,p)},m.prototype.getMySavedTracks=function(f,p){var h={url:n+"/me/tracks"};return d(h,f,p)},m.prototype.addToMySavedTracks=function(f,p,h){var _={url:n+"/me/tracks",type:"PUT",postData:f};return d(_,p,h)},m.prototype.removeFromMySavedTracks=function(f,p,h){var _={url:n+"/me/tracks",type:"DELETE",postData:f};return d(_,p,h)},m.prototype.containsMySavedTracks=function(f,p,h){var _={url:n+"/me/tracks/contains",params:{ids:f.join(",")}};return d(_,p,h)},m.prototype.getMySavedAlbums=function(f,p){var h={url:n+"/me/albums"};return d(h,f,p)},m.prototype.addToMySavedAlbums=function(f,p,h){var _={url:n+"/me/albums",type:"PUT",postData:f};return d(_,p,h)},m.prototype.removeFromMySavedAlbums=function(f,p,h){var _={url:n+"/me/albums",type:"DELETE",postData:f};return d(_,p,h)},m.prototype.containsMySavedAlbums=function(f,p,h){var _={url:n+"/me/albums/contains",params:{ids:f.join(",")}};return d(_,p,h)},m.prototype.getMyTopArtists=function(f,p){var h={url:n+"/me/top/artists"};return d(h,f,p)},m.prototype.getMyTopTracks=function(f,p){var h={url:n+"/me/top/tracks"};return d(h,f,p)},m.prototype.getMyRecentlyPlayedTracks=function(f,p){var h={url:n+"/me/player/recently-played"};return d(h,f,p)},m.prototype.followUsers=function(f,p){var h={url:n+"/me/following/",type:"PUT",params:{ids:f.join(","),type:"user"}};return d(h,p)},m.prototype.followArtists=function(f,p){var h={url:n+"/me/following/",type:"PUT",params:{ids:f.join(","),type:"artist"}};return d(h,p)},m.prototype.followPlaylist=function(f,p,h){var _={url:n+"/playlists/"+f+"/followers",type:"PUT",postData:{}};return d(_,p,h)},m.prototype.unfollowUsers=function(f,p){var h={url:n+"/me/following/",type:"DELETE",params:{ids:f.join(","),type:"user"}};return d(h,p)},m.prototype.unfollowArtists=function(f,p){var h={url:n+"/me/following/",type:"DELETE",params:{ids:f.join(","),type:"artist"}};return d(h,p)},m.prototype.unfollowPlaylist=function(f,p){var h={url:n+"/playlists/"+f+"/followers",type:"DELETE"};return d(h,p)},m.prototype.isFollowingUsers=function(f,p){var h={url:n+"/me/following/contains",type:"GET",params:{ids:f.join(","),type:"user"}};return d(h,p)},m.prototype.isFollowingArtists=function(f,p){var h={url:n+"/me/following/contains",type:"GET",params:{ids:f.join(","),type:"artist"}};return d(h,p)},m.prototype.areFollowingPlaylist=function(f,p,h){var _={url:n+"/playlists/"+f+"/followers/contains",type:"GET",params:{ids:p.join(",")}};return d(_,h)},m.prototype.getFollowedArtists=function(f,p){var h={url:n+"/me/following",type:"GET",params:{type:"artist"}};return d(h,f,p)},m.prototype.getUser=function(f,p,h){var _={url:n+"/users/"+encodeURIComponent(f)};return d(_,p,h)},m.prototype.getUserPlaylists=function(f,p,h){var _;return typeof f=="string"?_={url:n+"/users/"+encodeURIComponent(f)+"/playlists"}:(_={url:n+"/me/playlists"},h=p,p=f),d(_,p,h)},m.prototype.getPlaylist=function(f,p,h){var _={url:n+"/playlists/"+f};return d(_,p,h)},m.prototype.getPlaylistTracks=function(f,p,h){var _={url:n+"/playlists/"+f+"/tracks"};return d(_,p,h)},m.prototype.getPlaylistCoverImage=function(f,p){var h={url:n+"/playlists/"+f+"/images"};return d(h,p)},m.prototype.createPlaylist=function(f,p,h){var _={url:n+"/users/"+encodeURIComponent(f)+"/playlists",type:"POST",postData:p};return d(_,p,h)},m.prototype.changePlaylistDetails=function(f,p,h){var _={url:n+"/playlists/"+f,type:"PUT",postData:p};return d(_,p,h)},m.prototype.addTracksToPlaylist=function(f,p,h,_){var b={url:n+"/playlists/"+f+"/tracks",type:"POST",postData:{uris:p}};return d(b,h,_,!0)},m.prototype.replaceTracksInPlaylist=function(f,p,h){var _={url:n+"/playlists/"+f+"/tracks",type:"PUT",postData:{uris:p}};return d(_,{},h)},m.prototype.reorderTracksInPlaylist=function(f,p,h,_,b){var C={url:n+"/playlists/"+f+"/tracks",type:"PUT",postData:{range_start:p,insert_before:h}};return d(C,_,b)},m.prototype.removeTracksFromPlaylist=function(f,p,h){var _=p.map(function(C){return typeof C=="string"?{uri:C}:C}),b={url:n+"/playlists/"+f+"/tracks",type:"DELETE",postData:{tracks:_}};return d(b,{},h)},m.prototype.removeTracksFromPlaylistWithSnapshotId=function(f,p,h,_){var b=p.map(function(w){return typeof w=="string"?{uri:w}:w}),C={url:n+"/playlists/"+f+"/tracks",type:"DELETE",postData:{tracks:b,snapshot_id:h}};return d(C,{},_)},m.prototype.removeTracksFromPlaylistInPositions=function(f,p,h,_){var b={url:n+"/playlists/"+f+"/tracks",type:"DELETE",postData:{positions:p,snapshot_id:h}};return d(b,{},_)},m.prototype.uploadCustomPlaylistCoverImage=function(f,p,h){var _={url:n+"/playlists/"+f+"/images",type:"PUT",postData:p.replace(/^data:image\/jpeg;base64,/,""),contentType:"image/jpeg"};return d(_,{},h)},m.prototype.getAlbum=function(f,p,h){var _={url:n+"/albums/"+f};return d(_,p,h)},m.prototype.getAlbumTracks=function(f,p,h){var _={url:n+"/albums/"+f+"/tracks"};return d(_,p,h)},m.prototype.getAlbums=function(f,p,h){var _={url:n+"/albums/",params:{ids:f.join(",")}};return d(_,p,h)},m.prototype.getTrack=function(f,p,h){var _={};return _.url=n+"/tracks/"+f,d(_,p,h)},m.prototype.getTracks=function(f,p,h){var _={url:n+"/tracks/",params:{ids:f.join(",")}};return d(_,p,h)},m.prototype.getArtist=function(f,p,h){var _={url:n+"/artists/"+f};return d(_,p,h)},m.prototype.getArtists=function(f,p,h){var _={url:n+"/artists/",params:{ids:f.join(",")}};return d(_,p,h)},m.prototype.getArtistAlbums=function(f,p,h){var _={url:n+"/artists/"+f+"/albums"};return d(_,p,h)},m.prototype.getArtistTopTracks=function(f,p,h,_){var b={url:n+"/artists/"+f+"/top-tracks",params:{country:p}};return d(b,h,_)},m.prototype.getArtistRelatedArtists=function(f,p,h){var _={url:n+"/artists/"+f+"/related-artists"};return d(_,p,h)},m.prototype.getFeaturedPlaylists=function(f,p){var h={url:n+"/browse/featured-playlists"};return d(h,f,p)},m.prototype.getNewReleases=function(f,p){var h={url:n+"/browse/new-releases"};return d(h,f,p)},m.prototype.getCategories=function(f,p){var h={url:n+"/browse/categories"};return d(h,f,p)},m.prototype.getCategory=function(f,p,h){var _={url:n+"/browse/categories/"+f};return d(_,p,h)},m.prototype.getCategoryPlaylists=function(f,p,h){var _={url:n+"/browse/categories/"+f+"/playlists"};return d(_,p,h)},m.prototype.search=function(f,p,h,_){var b={url:n+"/search/",params:{q:f,type:p.join(",")}};return d(b,h,_)},m.prototype.searchAlbums=function(f,p,h){return this.search(f,["album"],p,h)},m.prototype.searchArtists=function(f,p,h){return this.search(f,["artist"],p,h)},m.prototype.searchTracks=function(f,p,h){return this.search(f,["track"],p,h)},m.prototype.searchPlaylists=function(f,p,h){return this.search(f,["playlist"],p,h)},m.prototype.searchShows=function(f,p,h){return this.search(f,["show"],p,h)},m.prototype.searchEpisodes=function(f,p,h){return this.search(f,["episode"],p,h)},m.prototype.getAudioFeaturesForTrack=function(f,p){var h={};return h.url=n+"/audio-features/"+f,d(h,{},p)},m.prototype.getAudioFeaturesForTracks=function(f,p){var h={url:n+"/audio-features",params:{ids:f}};return d(h,{},p)},m.prototype.getAudioAnalysisForTrack=function(f,p){var h={};return h.url=n+"/audio-analysis/"+f,d(h,{},p)},m.prototype.getRecommendations=function(f,p){var h={url:n+"/recommendations"};return d(h,f,p)},m.prototype.getAvailableGenreSeeds=function(f){var p={url:n+"/recommendations/available-genre-seeds"};return d(p,{},f)},m.prototype.getMyDevices=function(f){var p={url:n+"/me/player/devices"};return d(p,{},f)},m.prototype.getMyCurrentPlaybackState=function(f,p){var h={url:n+"/me/player"};return d(h,f,p)},m.prototype.getMyCurrentPlayingTrack=function(f,p){var h={url:n+"/me/player/currently-playing"};return d(h,f,p)},m.prototype.transferMyPlayback=function(f,p,h){var _=p||{};_.device_ids=f;var b={type:"PUT",url:n+"/me/player",postData:_};return d(b,p,h)},m.prototype.play=function(f,p){f=f||{};var h="device_id"in f?{device_id:f.device_id}:null,_={};["context_uri","uris","offset","position_ms"].forEach(function(w){w in f&&(_[w]=f[w])});var b={type:"PUT",url:n+"/me/player/play",params:h,postData:_},C=typeof f=="function"?f:{};return d(b,C,p)},m.prototype.queue=function(f,p,h){p=p||{};var _="device_id"in p?{uri:f,device_id:p.device_id}:{uri:f},b={type:"POST",url:n+"/me/player/queue",params:_};return d(b,p,h)},m.prototype.pause=function(f,p){f=f||{};var h="device_id"in f?{device_id:f.device_id}:null,_={type:"PUT",url:n+"/me/player/pause",params:h};return d(_,f,p)},m.prototype.skipToNext=function(f,p){f=f||{};var h="device_id"in f?{device_id:f.device_id}:null,_={type:"POST",url:n+"/me/player/next",params:h};return d(_,f,p)},m.prototype.skipToPrevious=function(f,p){f=f||{};var h="device_id"in f?{device_id:f.device_id}:null,_={type:"POST",url:n+"/me/player/previous",params:h};return d(_,f,p)},m.prototype.seek=function(f,p,h){p=p||{};var _={position_ms:f};"device_id"in p&&(_.device_id=p.device_id);var b={type:"PUT",url:n+"/me/player/seek",params:_};return d(b,p,h)},m.prototype.setRepeat=function(f,p,h){p=p||{};var _={state:f};"device_id"in p&&(_.device_id=p.device_id);var b={type:"PUT",url:n+"/me/player/repeat",params:_};return d(b,p,h)},m.prototype.setVolume=function(f,p,h){p=p||{};var _={volume_percent:f};"device_id"in p&&(_.device_id=p.device_id);var b={type:"PUT",url:n+"/me/player/volume",params:_};return d(b,p,h)},m.prototype.setShuffle=function(f,p,h){p=p||{};var _={state:f};"device_id"in p&&(_.device_id=p.device_id);var b={type:"PUT",url:n+"/me/player/shuffle",params:_};return d(b,p,h)},m.prototype.getShow=function(f,p,h){var _={};return _.url=n+"/shows/"+f,d(_,p,h)},m.prototype.getShows=function(f,p,h){var _={url:n+"/shows/",params:{ids:f.join(",")}};return d(_,p,h)},m.prototype.getMySavedShows=function(f,p){var h={url:n+"/me/shows"};return d(h,f,p)},m.prototype.addToMySavedShows=function(f,p,h){var _={url:n+"/me/shows",type:"PUT",postData:f};return d(_,p,h)},m.prototype.removeFromMySavedShows=function(f,p,h){var _={url:n+"/me/shows",type:"DELETE",postData:f};return d(_,p,h)},m.prototype.containsMySavedShows=function(f,p,h){var _={url:n+"/me/shows/contains",params:{ids:f.join(",")}};return d(_,p,h)},m.prototype.getShowEpisodes=function(f,p,h){var _={url:n+"/shows/"+f+"/episodes"};return d(_,p,h)},m.prototype.getEpisode=function(f,p,h){var _={};return _.url=n+"/episodes/"+f,d(_,p,h)},m.prototype.getEpisodes=function(f,p,h){var _={url:n+"/episodes/",params:{ids:f.join(",")}};return d(_,p,h)},m.prototype.getAccessToken=function(){return r},m.prototype.setAccessToken=function(f){r=f},m.prototype.setPromiseImplementation=function(f){var p=!1;try{var h=new f(function(_){_()});typeof h.then=="function"&&typeof h.catch=="function"&&(p=!0)}catch(_){console.error(_)}if(p)s=f;else throw new Error("Unsupported implementation of Promises/A+")},m}();e.exports=t})(W1);var E5=W1.exports;const Yn=Ti(E5),S5={name:"ModalDialogTrack",props:["show","track"],emits:["close","play-count-changed"],data(){return{spotify_track:{}}},watch:{track(){if(this.track&&this.track.data_kind==="spotify"&&this.track.media_kind!=="podcast"){const e=new Yn;e.setAccessToken(this.$store.state.spotify.webapi_token),e.getTrack(this.track.path.slice(this.track.path.lastIndexOf(":")+1)).then(t=>{this.spotify_track=t})}else this.spotify_track={}}},methods:{mark_new(){V.library_track_update(this.track.id,{play_count:"reset"}).then(()=>{this.$emit("play-count-changed"),this.$emit("close")})},mark_played(){V.library_track_update(this.track.id,{play_count:"increment"}).then(()=>{this.$emit("play-count-changed"),this.$emit("close")})},open_album(){this.track.data_kind==="spotify"&&this.track.media_kind!=="podcast"?this.$router.push({name:"music-spotify-album",params:{id:this.spotify_track.album.id}}):this.track.media_kind==="podcast"?this.$router.push({name:"podcast",params:{id:this.track.album_id}}):this.track.media_kind==="audiobook"?this.$router.push({name:"audiobooks-album",params:{id:this.track.album_id}}):this.track.media_kind==="music"&&this.$router.push({name:"music-album",params:{id:this.track.album_id}})},open_album_artist(){this.track.data_kind==="spotify"?this.$router.push({name:"music-spotify-artist",params:{id:this.spotify_track.artists[0].id}}):this.track.media_kind==="music"||this.track.media_kind==="podcast"?this.$router.push({name:"music-artist",params:{id:this.track.album_artist_id}}):this.track.media_kind==="audiobook"&&this.$router.push({name:"audiobooks-artist",params:{id:this.track.album_artist_id}})},open_genre(){this.$router.push({name:"genre-albums",params:{name:this.track.genre},query:{media_kind:this.track.media_kind}})},play(){this.$emit("close"),V.player_play_uri(this.track.uri,!1)},queue_add(){this.$emit("close"),V.queue_add(this.track.uri)},queue_add_next(){this.$emit("close"),V.queue_add_next(this.track.uri)}}},$5={key:0,class:"modal is-active"},A5={class:"modal-content fd-modal-card"},T5={class:"card"},O5={class:"card-content"},D5=["textContent"],P5=["textContent"],I5={key:0,class:"buttons"},F5=["textContent"],R5=["textContent"],L5={class:"content is-small"},N5={key:0},M5=["textContent"],V5=["textContent"],H5={key:1},U5=["textContent"],B5=["textContent"],j5={key:2},q5=["textContent"],W5=["textContent"],G5={key:3},K5=["textContent"],Z5=["textContent"],Y5={key:4},J5=["textContent"],X5=["textContent"],Q5={key:5},eD=["textContent"],tD=["textContent"],nD={key:6},rD=["textContent"],sD=["textContent"],oD={key:7},iD=["textContent"],aD=["textContent"],lD=["textContent"],uD=["textContent"],cD=["textContent"],dD={class:"title is-6"},mD=["textContent"],fD={key:8},pD=["textContent"],hD={class:"title is-6"},_D=["textContent"],gD=["textContent"],yD=["textContent"],vD=["textContent"],bD=["textContent"],zD=["textContent"],CD=["textContent"],wD=["textContent"],kD={key:9},xD=["textContent"],ED=["textContent"],SD={class:"card-footer"},$D=["textContent"],AD=["textContent"],TD=["textContent"];function OD(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",$5,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",A5,[u("div",T5,[u("div",O5,[u("p",{class:"title is-4",textContent:g(n.track.title)},null,8,D5),u("p",{class:"subtitle",textContent:g(n.track.artist)},null,8,P5),n.track.media_kind==="podcast"?(k(),T("div",I5,[n.track.play_count>0?(k(),T("a",{key:0,class:"button is-small",onClick:t[1]||(t[1]=(...a)=>o.mark_new&&o.mark_new(...a)),textContent:g(e.$t("dialog.track.mark-as-new"))},null,8,F5)):M("",!0),n.track.play_count===0?(k(),T("a",{key:1,class:"button is-small",onClick:t[2]||(t[2]=(...a)=>o.mark_played&&o.mark_played(...a)),textContent:g(e.$t("dialog.track.mark-as-played"))},null,8,R5)):M("",!0)])):M("",!0),u("div",L5,[n.track.album?(k(),T("p",N5,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.album"))},null,8,M5),u("a",{class:"title is-6 has-text-link",onClick:t[3]||(t[3]=(...a)=>o.open_album&&o.open_album(...a)),textContent:g(n.track.album)},null,8,V5)])):M("",!0),n.track.album_artist&&n.track.media_kind!=="audiobook"?(k(),T("p",H5,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.album-artist"))},null,8,U5),u("a",{class:"title is-6 has-text-link",onClick:t[4]||(t[4]=(...a)=>o.open_album_artist&&o.open_album_artist(...a)),textContent:g(n.track.album_artist)},null,8,B5)])):M("",!0),n.track.composer?(k(),T("p",j5,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.composer"))},null,8,q5),u("span",{class:"title is-6",textContent:g(n.track.composer)},null,8,W5)])):M("",!0),n.track.date_released?(k(),T("p",G5,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.release-date"))},null,8,K5),u("span",{class:"title is-6",textContent:g(e.$filters.date(n.track.date_released))},null,8,Z5)])):n.track.year?(k(),T("p",Y5,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.year"))},null,8,J5),u("span",{class:"title is-6",textContent:g(n.track.year)},null,8,X5)])):M("",!0),n.track.genre?(k(),T("p",Q5,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.genre"))},null,8,eD),u("a",{class:"title is-6 has-text-link",onClick:t[5]||(t[5]=(...a)=>o.open_genre&&o.open_genre(...a)),textContent:g(n.track.genre)},null,8,tD)])):M("",!0),n.track.disc_number?(k(),T("p",nD,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.position"))},null,8,rD),u("span",{class:"title is-6",textContent:g([n.track.disc_number,n.track.track_number].join(" / "))},null,8,sD)])):M("",!0),n.track.length_ms?(k(),T("p",oD,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.duration"))},null,8,iD),u("span",{class:"title is-6",textContent:g(e.$filters.durationInHours(n.track.length_ms))},null,8,aD)])):M("",!0),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.path"))},null,8,lD),u("span",{class:"title is-6",textContent:g(n.track.path)},null,8,uD)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.type"))},null,8,cD),u("span",dD,[u("span",{textContent:g([e.$t("media.kind."+n.track.media_kind),e.$t("data.kind."+n.track.data_kind)].join(" - "))},null,8,mD)])]),n.track.samplerate?(k(),T("p",fD,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.quality"))},null,8,pD),u("span",hD,[u("span",{textContent:g(n.track.type)},null,8,_D),n.track.samplerate?(k(),T("span",{key:0,textContent:g(e.$t("dialog.track.samplerate",{rate:n.track.samplerate}))},null,8,gD)):M("",!0),n.track.channels?(k(),T("span",{key:1,textContent:g(e.$t("dialog.track.channels",{channels:e.$filters.channels(n.track.channels)}))},null,8,yD)):M("",!0),n.track.bitrate?(k(),T("span",{key:2,textContent:g(e.$t("dialog.track.bitrate",{rate:n.track.bitrate}))},null,8,vD)):M("",!0)])])):M("",!0),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.added-on"))},null,8,bD),u("span",{class:"title is-6",textContent:g(e.$filters.datetime(n.track.time_added))},null,8,zD)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.rating"))},null,8,CD),u("span",{class:"title is-6",textContent:g(e.$t("dialog.track.rating-value",{rating:Math.floor(n.track.rating/10)}))},null,8,wD)]),n.track.comment?(k(),T("p",kD,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.comment"))},null,8,xD),u("span",{class:"title is-6",textContent:g(n.track.comment)},null,8,ED)])):M("",!0)])]),u("footer",SD,[u("a",{class:"card-footer-item has-text-dark",onClick:t[6]||(t[6]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.track.add"))},null,8,$D)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[7]||(t[7]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.track.add-next"))},null,8,AD)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[8]||(t[8]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.track.play"))},null,8,TD)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[9]||(t[9]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const DD=te(S5,[["render",OD]]),PD={name:"ProgressBar",props:["max","value"]},ID=["value","max"];function FD(e,t,n,r,s,o){return n.value>0?(k(),T("progress",{key:0,class:"progress is-info",value:n.value,max:n.max},null,8,ID)):M("",!0)}const RD=te(PD,[["render",FD],["__scopeId","data-v-b2fd846d"]]),LD={name:"ListTracks",components:{ModalDialogTrack:DD,ProgressBar:RD},props:["tracks","uris","expression","show_progress","show_icon"],emits:["play-count-changed"],data(){return{show_details_modal:!1,selected_track:{}}},methods:{play_track(e){this.uris?V.player_play_uri(this.uris,!1,this.tracks.items.indexOf(e)):this.expression?V.player_play_expression(this.expression,!1,this.tracks.items.indexOf(e)):V.player_play_uri(e.uri,!1)},open_dialog(e){this.selected_track=e,this.show_details_modal=!0}}},ND={key:0,class:"mt-6 mb-5 py-2"},MD=["id","textContent"],VD=["onClick"],HD={key:0,class:"media-left is-clickable"},UD={class:"media-content is-clickable is-clipped"},BD=["textContent"],jD=["textContent"],qD=["textContent"],WD={class:"media-right"},GD=["onClick"];function KD(e,t,n,r,s,o){const i=$("mdicon"),a=$("progress-bar"),l=$("modal-dialog-track");return k(),T(we,null,[(k(!0),T(we,null,ct(n.tracks,c=>(k(),T(we,{key:c.itemId},[c.isItem?(k(),T("div",{key:1,class:Ee(["media is-align-items-center",{"with-progress":n.show_progress}]),onClick:d=>o.play_track(c.item)},[n.show_icon?(k(),T("figure",HD,[y(i,{class:"icon",name:"file-outline",size:"16"})])):M("",!0),u("div",UD,[u("h1",{class:Ee(["title is-6",{"has-text-grey":c.item.media_kind==="podcast"&&c.item.play_count>0}]),textContent:g(c.item.title)},null,10,BD),u("h2",{class:"subtitle is-7 has-text-grey has-text-weight-bold",textContent:g(c.item.artist)},null,8,jD),u("h2",{class:"subtitle is-7 has-text-grey",textContent:g(c.item.album)},null,8,qD),n.show_progress?(k(),_e(a,{key:0,max:c.item.length_ms,value:c.item.seek_ms},null,8,["max","value"])):M("",!0)]),u("div",WD,[u("a",{onClick:st(d=>o.open_dialog(c.item),["prevent","stop"])},[y(i,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,GD)])],10,VD)):(k(),T("div",ND,[u("span",{id:"index_"+c.groupKey,class:"tag is-info is-light is-small has-text-weight-bold",textContent:g(c.groupKey)},null,8,MD)]))],64))),128)),(k(),_e(Yr,{to:"#app"},[y(l,{show:s.show_details_modal,track:s.selected_track,onClose:t[0]||(t[0]=c=>s.show_details_modal=!1),onPlayCountChanged:t[1]||(t[1]=c=>e.$emit("play-count-changed"))},null,8,["show","track"])]))],64)}const Cn=te(LD,[["render",KD]]),ZD={name:"ModalDialogAlbum",components:{CoverArtwork:Fn},props:["show","album","media_kind","new_tracks"],emits:["close","remove-podcast","play-count-changed"],data(){return{artwork_visible:!1}},computed:{artwork_url(){return V.artwork_url_append_size_params(this.album.artwork_url)},media_kind_resolved(){return this.media_kind?this.media_kind:this.album.media_kind}},methods:{play(){this.$emit("close"),V.player_play_uri(this.album.uri,!1)},queue_add(){this.$emit("close"),V.queue_add(this.album.uri)},queue_add_next(){this.$emit("close"),V.queue_add_next(this.album.uri)},open_album(){this.$emit("close"),this.media_kind_resolved==="podcast"?this.$router.push({name:"podcast",params:{id:this.album.id}}):this.media_kind_resolved==="audiobook"?this.$router.push({name:"audiobooks-album",params:{id:this.album.id}}):this.$router.push({name:"music-album",params:{id:this.album.id}})},open_artist(){this.$emit("close"),this.media_kind_resolved==="audiobook"?this.$router.push({name:"audiobooks-artist",params:{id:this.album.artist_id}}):this.$router.push({name:"music-artist",params:{id:this.album.artist_id}})},mark_played(){V.library_album_track_update(this.album.id,{play_count:"played"}).then(({data:e})=>{this.$emit("play-count-changed"),this.$emit("close")})},artwork_loaded(){this.artwork_visible=!0},artwork_error(){this.artwork_visible=!1}}},YD={key:0,class:"modal is-active"},JD={class:"modal-content fd-modal-card"},XD={class:"card"},QD={class:"card-content"},eP={class:"title is-4"},tP=["textContent"],nP={key:0,class:"buttons"},rP=["textContent"],sP=["textContent"],oP={class:"content is-small"},iP={key:0},aP=["textContent"],lP=["textContent"],uP={key:1},cP=["textContent"],dP=["textContent"],mP={key:2},fP=["textContent"],pP=["textContent"],hP=["textContent"],_P=["textContent"],gP=["textContent"],yP=["textContent"],vP=["textContent"],bP=["textContent"],zP=["textContent"],CP=["textContent"],wP={class:"card-footer"},kP=["textContent"],xP=["textContent"],EP=["textContent"];function SP(e,t,n,r,s,o){const i=$("cover-artwork"),a=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",YD,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=l=>e.$emit("close"))}),u("div",JD,[u("div",XD,[u("div",QD,[y(i,{artwork_url:n.album.artwork_url,artist:n.album.artist,album:n.album.name,class:"fd-has-shadow fd-cover fd-cover-normal-image mb-5"},null,8,["artwork_url","artist","album"]),u("p",eP,[u("a",{class:"has-text-link",onClick:t[1]||(t[1]=(...l)=>o.open_album&&o.open_album(...l)),textContent:g(n.album.name)},null,8,tP)]),o.media_kind_resolved==="podcast"?(k(),T("div",nP,[u("a",{class:"button is-small",onClick:t[2]||(t[2]=(...l)=>o.mark_played&&o.mark_played(...l)),textContent:g(e.$t("dialog.album.mark-as-played"))},null,8,rP),n.album.data_kind==="url"?(k(),T("a",{key:0,class:"button is-small",onClick:t[3]||(t[3]=l=>e.$emit("remove-podcast")),textContent:g(e.$t("dialog.album.remove-podcast"))},null,8,sP)):M("",!0)])):M("",!0),u("div",oP,[n.album.artist?(k(),T("p",iP,[u("span",{class:"heading",textContent:g(e.$t("dialog.album.artist"))},null,8,aP),u("a",{class:"title is-6 has-text-link",onClick:t[4]||(t[4]=(...l)=>o.open_artist&&o.open_artist(...l)),textContent:g(n.album.artist)},null,8,lP)])):M("",!0),n.album.date_released?(k(),T("p",uP,[u("span",{class:"heading",textContent:g(e.$t("dialog.album.release-date"))},null,8,cP),u("span",{class:"title is-6",textContent:g(e.$filters.date(n.album.date_released))},null,8,dP)])):n.album.year>0?(k(),T("p",mP,[u("span",{class:"heading",textContent:g(e.$t("dialog.album.year"))},null,8,fP),u("span",{class:"title is-6",textContent:g(n.album.year)},null,8,pP)])):M("",!0),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.album.tracks"))},null,8,hP),u("span",{class:"title is-6",textContent:g(n.album.track_count)},null,8,_P)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.album.duration"))},null,8,gP),u("span",{class:"title is-6",textContent:g(e.$filters.durationInHours(n.album.length_ms))},null,8,yP)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.album.type"))},null,8,vP),u("span",{class:"title is-6",textContent:g([e.$t("media.kind."+n.album.media_kind),e.$t("data.kind."+n.album.data_kind)].join(" - "))},null,8,bP)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.album.added-on"))},null,8,zP),u("span",{class:"title is-6",textContent:g(e.$filters.datetime(n.album.time_added))},null,8,CP)])])]),u("footer",wP,[u("a",{class:"card-footer-item has-text-dark",onClick:t[5]||(t[5]=(...l)=>o.queue_add&&o.queue_add(...l))},[y(a,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.album.add"))},null,8,kP)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[6]||(t[6]=(...l)=>o.queue_add_next&&o.queue_add_next(...l))},[y(a,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.album.add-next"))},null,8,xP)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[7]||(t[7]=(...l)=>o.play&&o.play(...l))},[y(a,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.album.play"))},null,8,EP)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[8]||(t[8]=l=>e.$emit("close"))})])):M("",!0)]),_:1})])}const cu=te(ZD,[["render",SP]]),oa={load(e){return Promise.all([V.library_album(e.params.id),V.library_album_tracks(e.params.id)])},set(e,t){e.album=t[0].data,e.tracks=new ve(t[1].data),e.tracks.group(k5("disc_number")),e.tracks.indexList<=1&&e.tracks.group($m())}},$P={name:"PageAlbum",components:{ContentWithHero:uu,CoverArtwork:Fn,ListTracks:Cn,ModalDialogAlbum:cu},beforeRouteEnter(e,t,n){oa.load(e).then(r=>{n(s=>oa.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;oa.load(e).then(s=>{oa.set(r,s),n()})},data(){return{album:{},show_details_modal:!1,tracks:new ve}},methods:{open_artist(){this.show_details_modal=!1,this.$router.push({name:"music-artist",params:{id:this.album.artist_id}})},play(){V.player_play_uri(this.album.uri,!0)}}},AP=["textContent"],TP={class:"subtitle is-6 has-text-link"},OP=["textContent"],DP={class:"buttons fd-is-centered-mobile mt-5"},PP=["textContent"],IP=["textContent"];function FP(e,t,n,r,s,o){const i=$("mdicon"),a=$("cover-artwork"),l=$("list-tracks"),c=$("modal-dialog-album"),d=$("content-with-hero");return k(),T("div",null,[y(d,null,{"heading-left":E(()=>[u("h1",{class:"title is-5",textContent:g(s.album.name)},null,8,AP),u("h2",TP,[u("a",{class:"has-text-link",onClick:t[0]||(t[0]=(...m)=>o.open_artist&&o.open_artist(...m)),textContent:g(s.album.artist)},null,8,OP)]),u("div",DP,[u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...m)=>o.play&&o.play(...m))},[y(i,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.album.shuffle"))},null,8,PP)]),u("a",{class:"button is-small is-light is-rounded",onClick:t[2]||(t[2]=m=>s.show_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})])])]),"heading-right":E(()=>[y(a,{artwork_url:s.album.artwork_url,artist:s.album.artist,album:s.album.name,class:"is-clickable fd-has-shadow fd-cover fd-cover-medium-image",onClick:t[3]||(t[3]=m=>s.show_details_modal=!0)},null,8,["artwork_url","artist","album"])]),content:E(()=>[u("p",{class:"heading is-7 has-text-centered-mobile mt-5",textContent:g(e.$t("page.album.track-count",{count:s.album.track_count}))},null,8,IP),y(l,{tracks:s.tracks,uris:s.album.uri},null,8,["tracks","uris"]),y(c,{show:s.show_details_modal,album:s.album,onClose:t[4]||(t[4]=m=>s.show_details_modal=!1)},null,8,["show","album"])]),_:1})])}const RP=te($P,[["render",FP]]),LP={name:"ListItemTrackSpotify",props:["track","position","context_uri"],methods:{play(){this.track.is_playable&&V.player_play_uri(this.context_uri,!1,this.position)}}},NP={class:"media is-align-items-center"},MP=["textContent"],VP=["textContent"],HP={key:0,class:"subtitle is-7"},UP=["textContent"],BP=["textContent"],jP={class:"media-right"};function qP(e,t,n,r,s,o){return k(),T("div",NP,[u("div",{class:Ee(["media-content is-clipped",{"is-clickable":n.track.is_playable,"fd-is-not-allowed":!n.track.is_playable}]),onClick:t[0]||(t[0]=(...i)=>o.play&&o.play(...i))},[u("h1",{class:Ee(["title is-6",{"has-text-grey-light":!n.track.is_playable}]),textContent:g(n.track.name)},null,10,MP),u("h2",{class:Ee(["subtitle is-7",{"has-text-grey":n.track.is_playable,"has-text-grey-light":!n.track.is_playable}]),textContent:g(n.track.artists[0].name)},null,10,VP),n.track.is_playable?M("",!0):(k(),T("h2",HP,[gt(" ("),u("span",{textContent:g(e.$t("list.spotify.not-playable-track"))},null,8,UP),n.track.restrictions&&n.track.restrictions.reason?(k(),T("span",{key:0,textContent:g(e.$t("list.spotify.restriction-reason",{reason:n.track.restrictions.reason}))},null,8,BP)):M("",!0),gt(") ")]))],2),u("div",jP,[it(e.$slots,"actions")])])}const Tm=te(LP,[["render",qP]]),WP={name:"ModalDialogAlbumSpotify",components:{CoverArtwork:Fn},props:["show","album"],emits:["close"],data(){return{artwork_visible:!1}},computed:{artwork_url(){return this.album.images&&this.album.images.length>0?this.album.images[0].url:""}},methods:{play(){this.$emit("close"),V.player_play_uri(this.album.uri,!1)},queue_add(){this.$emit("close"),V.queue_add(this.album.uri)},queue_add_next(){this.$emit("close"),V.queue_add_next(this.album.uri)},open_album(){this.$emit("close"),this.$router.push({name:"music-spotify-album",params:{id:this.album.id}})},open_artist(){this.$emit("close"),this.$router.push({name:"music-spotify-artist",params:{id:this.album.artists[0].id}})},artwork_loaded(){this.artwork_visible=!0},artwork_error(){this.artwork_visible=!1}}},GP={key:0,class:"modal is-active"},KP={class:"modal-content fd-modal-card"},ZP={class:"card"},YP={class:"card-content"},JP={class:"title is-4"},XP=["textContent"],QP={class:"content is-small"},eI=["textContent"],tI=["textContent"],nI=["textContent"],rI=["textContent"],sI=["textContent"],oI=["textContent"],iI={class:"card-footer"},aI=["textContent"],lI=["textContent"],uI=["textContent"];function cI(e,t,n,r,s,o){const i=$("cover-artwork"),a=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",GP,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=l=>e.$emit("close"))}),u("div",KP,[u("div",ZP,[u("div",YP,[y(i,{artwork_url:o.artwork_url,artist:n.album.artist,album:n.album.name,class:"fd-has-shadow fd-cover fd-cover-normal-image mb-5",onLoad:o.artwork_loaded,onError:o.artwork_error},null,8,["artwork_url","artist","album","onLoad","onError"]),u("p",JP,[u("a",{class:"has-text-link",onClick:t[1]||(t[1]=(...l)=>o.open_album&&o.open_album(...l)),textContent:g(n.album.name)},null,8,XP)]),u("div",QP,[u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.album.album-artist"))},null,8,eI),u("a",{class:"title is-6 has-text-link",onClick:t[2]||(t[2]=(...l)=>o.open_artist&&o.open_artist(...l)),textContent:g(n.album.artists[0].name)},null,8,tI)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.album.release-date"))},null,8,nI),u("span",{class:"title is-6",textContent:g(e.$filters.date(n.album.release_date))},null,8,rI)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.album.type"))},null,8,sI),u("span",{class:"title is-6",textContent:g(n.album.album_type)},null,8,oI)])])]),u("footer",iI,[u("a",{class:"card-footer-item has-text-dark",onClick:t[3]||(t[3]=(...l)=>o.queue_add&&o.queue_add(...l))},[y(a,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.album.add"))},null,8,aI)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...l)=>o.queue_add_next&&o.queue_add_next(...l))},[y(a,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.album.add-next"))},null,8,lI)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[5]||(t[5]=(...l)=>o.play&&o.play(...l))},[y(a,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.album.play"))},null,8,uI)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[6]||(t[6]=l=>e.$emit("close"))})])):M("",!0)]),_:1})])}const Fi=te(WP,[["render",cI]]),dI={name:"ModalDialogTrackSpotify",props:["show","track","album"],emits:["close"],methods:{play(){this.$emit("close"),V.player_play_uri(this.track.uri,!1)},queue_add(){this.$emit("close"),V.queue_add(this.track.uri)},queue_add_next(){this.$emit("close"),V.queue_add_next(this.track.uri)},open_album(){this.$emit("close"),this.$router.push({name:"music-spotify-album",params:{id:this.album.id}})},open_artist(){this.$emit("close"),this.$router.push({name:"music-spotify-artist",params:{id:this.album.artists[0].id}})}}},mI={key:0,class:"modal is-active"},fI={class:"modal-content fd-modal-card"},pI={class:"card"},hI={class:"card-content"},_I=["textContent"],gI=["textContent"],yI={class:"content is-small"},vI=["textContent"],bI=["textContent"],zI=["textContent"],CI=["textContent"],wI=["textContent"],kI=["textContent"],xI=["textContent"],EI=["textContent"],SI=["textContent"],$I=["textContent"],AI=["textContent"],TI=["textContent"],OI={class:"card-footer"},DI=["textContent"],PI=["textContent"],II=["textContent"];function FI(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",mI,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",fI,[u("div",pI,[u("div",hI,[u("p",{class:"title is-4",textContent:g(n.track.name)},null,8,_I),u("p",{class:"subtitle",textContent:g(n.track.artists[0].name)},null,8,gI),u("div",yI,[u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.track.album"))},null,8,vI),u("a",{class:"title is-6 has-text-link",onClick:t[1]||(t[1]=(...a)=>o.open_album&&o.open_album(...a)),textContent:g(n.album.name)},null,8,bI)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.track.album-artist"))},null,8,zI),u("a",{class:"title is-6 has-text-link",onClick:t[2]||(t[2]=(...a)=>o.open_artist&&o.open_artist(...a)),textContent:g(n.album.artists[0].name)},null,8,CI)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.track.release-date"))},null,8,wI),u("span",{class:"title is-6",textContent:g(e.$filters.date(n.album.release_date))},null,8,kI)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.track.position"))},null,8,xI),u("span",{class:"title is-6",textContent:g([n.track.disc_number,n.track.track_number].join(" / "))},null,8,EI)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.track.duration"))},null,8,SI),u("span",{class:"title is-6",textContent:g(e.$filters.durationInHours(n.track.duration_ms))},null,8,$I)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.track.path"))},null,8,AI),u("span",{class:"title is-6",textContent:g(n.track.uri)},null,8,TI)])])]),u("footer",OI,[u("a",{class:"card-footer-item has-text-dark",onClick:t[3]||(t[3]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.track.add"))},null,8,DI)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.track.add-next"))},null,8,PI)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[5]||(t[5]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.track.play"))},null,8,II)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[6]||(t[6]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const Om=te(dI,[["render",FI]]),ia={load(e){const t=new Yn;return t.setAccessToken(He.state.spotify.webapi_token),t.getAlbum(e.params.id,{market:He.state.spotify.webapi_country})},set(e,t){e.album=t}},RI={name:"PageAlbumSpotify",components:{ContentWithHero:uu,CoverArtwork:Fn,ListItemTrackSpotify:Tm,ModalDialogAlbumSpotify:Fi,ModalDialogTrackSpotify:Om},beforeRouteEnter(e,t,n){ia.load(e).then(r=>{n(s=>ia.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;ia.load(e).then(s=>{ia.set(r,s),n()})},data(){return{album:{artists:[{}],tracks:{}},selected_track:{},show_details_modal:!1,show_track_details_modal:!1}},computed:{artwork_url(){return this.album.images&&this.album.images.length>0?this.album.images[0].url:""}},methods:{open_artist(){this.$router.push({name:"music-spotify-artist",params:{id:this.album.artists[0].id}})},play(){this.show_details_modal=!1,V.player_play_uri(this.album.uri,!0)},open_track_dialog(e){this.selected_track=e,this.show_track_details_modal=!0}}},LI=["textContent"],NI={class:"subtitle is-6 has-text-link"},MI=["textContent"],VI={class:"buttons fd-is-centered-mobile mt-5"},HI=["textContent"],UI=["textContent"],BI=["onClick"];function jI(e,t,n,r,s,o){const i=$("mdicon"),a=$("cover-artwork"),l=$("list-item-track-spotify"),c=$("modal-dialog-album-spotify"),d=$("modal-dialog-track-spotify"),m=$("content-with-hero");return k(),T("div",null,[y(m,null,{"heading-left":E(()=>[u("h1",{class:"title is-5",textContent:g(s.album.name)},null,8,LI),u("h2",NI,[u("a",{class:"has-text-link",onClick:t[0]||(t[0]=(...f)=>o.open_artist&&o.open_artist(...f)),textContent:g(s.album.artists[0].name)},null,8,MI)]),u("div",VI,[u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...f)=>o.play&&o.play(...f))},[y(i,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.spotify.album.shuffle"))},null,8,HI)]),u("a",{class:"button is-small is-light is-rounded",onClick:t[2]||(t[2]=f=>s.show_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})])])]),"heading-right":E(()=>[y(a,{artwork_url:o.artwork_url,artist:s.album.artist,album:s.album.name,class:"is-clickable fd-has-shadow fd-cover fd-cover-medium-image",onClick:t[3]||(t[3]=f=>s.show_details_modal=!0)},null,8,["artwork_url","artist","album"])]),content:E(()=>[u("p",{class:"heading is-7 has-text-centered-mobile mt-5",textContent:g(e.$t("page.spotify.album.track-count",{count:s.album.tracks.total}))},null,8,UI),(k(!0),T(we,null,ct(s.album.tracks.items,(f,p)=>(k(),_e(l,{key:f.id,track:f,position:p,context_uri:s.album.uri},{actions:E(()=>[u("a",{onClick:st(h=>o.open_track_dialog(f),["prevent","stop"])},[y(i,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,BI)]),_:2},1032,["track","position","context_uri"]))),128)),y(c,{show:s.show_details_modal,album:s.album,onClose:t[4]||(t[4]=f=>s.show_details_modal=!1)},null,8,["show","album"]),y(d,{show:s.show_track_details_modal,track:s.selected_track,album:s.album,onClose:t[5]||(t[5]=f=>s.show_track_details_modal=!1)},null,8,["show","track","album"])]),_:1})])}const qI=te(RI,[["render",jI]]),WI={name:"ContentWithHeading",data(){return{options_visible:!1}},computed:{icon_name(){return this.options_visible?"chevron-up":"chevron-down"},position(){return{hash:this.options_visible?"#top":"#app"}}},mounted(){this.$slots.options&&(this.observer=new IntersectionObserver(this.onElementObserved,{rootMargin:"-82px 0px 0px 0px",threshold:1}),this.observer.observe(this.$refs.options_ref))},methods:{onElementObserved(e){e.forEach(({target:t,isIntersecting:n})=>{this.options_visible=n})},visibilityChanged(e){this.options_visible=e}}},GI={class:"section"},KI={class:"container"},ZI={class:"columns is-centered"},YI={class:"column is-four-fifths"},JI={key:0},XI={ref:"options_ref",style:{height:"1px"}},QI={class:"buttons is-centered mt-4 mb-2"},eF={id:"top",class:"level is-clipped"},tF={class:"level-left is-flex-shrink-1"},nF={class:"level-item is-flex-shrink-1 has-text-centered-mobile"},rF={class:"level-right has-text-centered-mobile"},sF={class:"mt-4"};function oF(e,t,n,r,s,o){const i=$("mdicon"),a=$("router-link");return k(),T("section",GI,[u("div",KI,[u("div",ZI,[u("div",YI,[e.$slots.options?(k(),T("section",JI,[u("div",XI,null,512),it(e.$slots,"options"),u("nav",QI,[y(a,{class:"button is-small is-white",to:o.position},{default:E(()=>[y(i,{class:"icon is-small",name:o.icon_name,size:"16"},null,8,["name"])]),_:1},8,["to"])])])):M("",!0),u("div",{class:Ee({"is-full-height":e.$slots.options})},[u("nav",eF,[u("div",tF,[u("div",nF,[u("div",null,[it(e.$slots,"heading-left")])])]),u("div",rF,[it(e.$slots,"heading-right")])]),it(e.$slots,"content"),u("div",sF,[it(e.$slots,"footer")])],2)])])])])}const et=te(WI,[["render",oF]]),iF={name:"ControlDropdown",props:["value","options"],emits:["update:value"],data(){return{is_active:!1}},computed:{option:{get(){return this.options.find(e=>e.id===this.value)}}},methods:{onClickOutside(e){this.is_active=!1},select(e){this.is_active=!1,this.$emit("update:value",e.id)}}},aF={class:"dropdown-trigger"},lF=["textContent"],uF={id:"dropdown",class:"dropdown-menu",role:"menu"},cF={class:"dropdown-content"},dF=["onClick","textContent"];function mF(e,t,n,r,s,o){const i=$("mdicon"),a=Md("click-away");return yt((k(),T("div",{class:Ee(["dropdown",{"is-active":s.is_active}])},[u("div",aF,[u("button",{class:"button","aria-haspopup":"true","aria-controls":"dropdown",onClick:t[0]||(t[0]=l=>s.is_active=!s.is_active)},[u("span",{textContent:g(o.option.name)},null,8,lF),y(i,{class:"icon",name:"chevron-down",size:"16"})])]),u("div",uF,[u("div",cF,[(k(!0),T(we,null,ct(n.options,l=>(k(),T("a",{key:l.id,class:Ee(["dropdown-item",{"is-active":n.value===l.id}]),onClick:c=>o.select(l),textContent:g(l.name)},null,10,dF))),128))])])],2)),[[a,o.onClickOutside]])}const Ss=te(iF,[["render",mF]]),fF={name:"IndexButtonList",props:["index"]},pF={class:"buttons is-centered mb-4 fd-is-square"};function hF(e,t,n,r,s,o){const i=$("router-link");return k(),T("section",null,[u("nav",pF,[(k(!0),T(we,null,ct(n.index,a=>(k(),_e(i,{key:a,class:"button is-small",to:"#index_"+a},{default:E(()=>[gt(g(a),1)]),_:2},1032,["to"]))),128))])])}const Jn=te(fF,[["render",hF]]),_F={name:"ListAlbums",components:{CoverArtwork:Fn,ModalDialog:fm,ModalDialogAlbum:cu},props:["albums","media_kind","hide_group_title"],emits:["play-count-changed","podcast-deleted"],data(){return{show_details_modal:!1,selected_album:{},show_remove_podcast_modal:!1,rss_playlist_to_remove:{}}},computed:{is_visible_artwork(){return this.$store.getters.settings_option("webinterface","show_cover_artwork_in_album_lists").value},media_kind_resolved(){return this.media_kind?this.media_kind:this.selected_album.media_kind}},methods:{open_album(e){this.selected_album=e,this.media_kind_resolved==="podcast"?this.$router.push({name:"podcast",params:{id:e.id}}):this.media_kind_resolved==="audiobook"?this.$router.push({name:"audiobooks-album",params:{id:e.id}}):this.$router.push({name:"music-album",params:{id:e.id}})},open_dialog(e){this.selected_album=e,this.show_details_modal=!0},open_remove_podcast_dialog(){V.library_album_tracks(this.selected_album.id,{limit:1}).then(({data:e})=>{V.library_track_playlists(e.items[0].id).then(({data:t})=>{this.rss_playlist_to_remove=t.items.filter(n=>n.type==="rss")[0],this.show_remove_podcast_modal=!0,this.show_details_modal=!1})})},play_count_changed(){this.$emit("play-count-changed")},remove_podcast(){this.show_remove_podcast_modal=!1,V.library_playlist_delete(this.rss_playlist_to_remove.id).then(()=>{this.$emit("podcast-deleted")})}}},gF={key:0,class:"mt-6 mb-5 py-2"},yF=["id","textContent"],vF=["onClick"],bF={key:0,class:"media-left"},zF={class:"media-content is-clickable is-clipped"},CF=["textContent"],wF=["textContent"],kF=["textContent"],xF={class:"media-right"},EF=["onClick"],SF=["textContent"],$F={class:"is-size-7"},AF=["textContent"],TF=["textContent"];function OF(e,t,n,r,s,o){const i=$("cover-artwork"),a=$("mdicon"),l=$("modal-dialog-album"),c=$("modal-dialog");return k(),T(we,null,[(k(!0),T(we,null,ct(n.albums,d=>(k(),T(we,{key:d.itemId},[!d.isItem&&!n.hide_group_title?(k(),T("div",gF,[u("span",{id:"index_"+d.groupKey,class:"tag is-info is-light is-small has-text-weight-bold",textContent:g(d.groupKey)},null,8,yF)])):d.isItem?(k(),T("div",{key:1,class:"media is-align-items-center",onClick:m=>o.open_album(d.item)},[o.is_visible_artwork?(k(),T("div",bF,[y(i,{artwork_url:d.item.artwork_url,artist:d.item.artist,album:d.item.name,class:"is-clickable fd-has-shadow fd-cover fd-cover-small-image"},null,8,["artwork_url","artist","album"])])):M("",!0),u("div",zF,[u("div",null,[u("h1",{class:"title is-6",textContent:g(d.item.name)},null,8,CF),u("h2",{class:"subtitle is-7 has-text-grey has-text-weight-bold",textContent:g(d.item.artist)},null,8,wF),d.item.date_released&&d.item.media_kind==="music"?(k(),T("h2",{key:0,class:"subtitle is-7 has-text-grey",textContent:g(e.$filters.date(d.item.date_released))},null,8,kF)):M("",!0)])]),u("div",xF,[u("a",{onClick:st(m=>o.open_dialog(d.item),["prevent","stop"])},[y(a,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,EF)])],8,vF)):M("",!0)],64))),128)),(k(),_e(Yr,{to:"#app"},[y(l,{show:s.show_details_modal,album:s.selected_album,media_kind:n.media_kind,onRemovePodcast:t[0]||(t[0]=d=>o.open_remove_podcast_dialog()),onPlayCountChanged:t[1]||(t[1]=d=>o.play_count_changed()),onClose:t[2]||(t[2]=d=>s.show_details_modal=!1)},null,8,["show","album","media_kind"]),y(c,{show:s.show_remove_podcast_modal,title:e.$t("page.podcast.remove-podcast"),delete_action:e.$t("page.podcast.remove"),onClose:t[3]||(t[3]=d=>s.show_remove_podcast_modal=!1),onDelete:o.remove_podcast},{"modal-content":E(()=>[u("p",{textContent:g(e.$t("list.albums.info-1"))},null,8,SF),u("p",$F,[gt(" ("),u("span",{textContent:g(e.$t("list.albums.info-2"))},null,8,AF),u("b",{textContent:g(s.rss_playlist_to_remove.name)},null,8,TF),gt(") ")])]),_:1},8,["show","title","delete_action","onDelete"])]))],64)}const ur=te(_F,[["render",OF]]),DF={name:"TabsMusic",computed:{spotify_enabled(){return this.$store.state.spotify.webapi_token_valid}}},PF={class:"section fd-tabs-section"},IF={class:"container"},FF={class:"columns is-centered"},RF={class:"column is-four-fifths"},LF={class:"tabs is-centered is-small"},NF=["onClick","onKeypress"],MF=["textContent"],VF=["onClick","onKeypress"],HF=["textContent"],UF=["onClick","onKeypress"],BF=["textContent"],jF=["onClick","onKeypress"],qF=["textContent"],WF=["onClick","onKeypress"],GF=["textContent"],KF=["onClick","onKeypress"],ZF=["textContent"];function YF(e,t,n,r,s,o){const i=$("mdicon"),a=$("router-link");return k(),T("section",PF,[u("div",IF,[u("div",FF,[u("div",RF,[u("div",LF,[u("ul",null,[y(a,{to:{name:"music-history"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"history",size:"16"}),u("span",{textContent:g(e.$t("page.music.tabs.history"))},null,8,MF)],40,NF)],2)]),_:1}),y(a,{to:{name:"music-artists"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"account-music",size:"16"}),u("span",{textContent:g(e.$t("page.music.tabs.artists"))},null,8,HF)],40,VF)],2)]),_:1}),y(a,{to:{name:"music-albums"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"album",size:"16"}),u("span",{textContent:g(e.$t("page.music.tabs.albums"))},null,8,BF)],40,UF)],2)]),_:1}),y(a,{to:{name:"music-genres"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"speaker",size:"16"}),u("span",{textContent:g(e.$t("page.music.tabs.genres"))},null,8,qF)],40,jF)],2)]),_:1}),y(a,{to:{name:"music-composers"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"book-open-page-variant",size:"16"}),u("span",{textContent:g(e.$t("page.music.tabs.composers"))},null,8,GF)],40,WF)],2)]),_:1}),o.spotify_enabled?(k(),_e(a,{key:0,to:{name:"music-spotify"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"spotify",size:"16"}),u("span",{textContent:g(e.$t("page.music.tabs.spotify"))},null,8,ZF)],40,KF)],2)]),_:1})):M("",!0)])])])])])])}const cr=te(DF,[["render",YF]]),aa={load(e){return V.library_albums("music")},set(e,t){e.albums_list=new ve(t.data)}},JF={name:"PageAlbums",components:{ContentWithHeading:et,ControlDropdown:Ss,IndexButtonList:Jn,ListAlbums:ur,TabsMusic:cr},beforeRouteEnter(e,t,n){aa.load(e).then(r=>{n(s=>aa.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.albums_list.isEmpty()){n();return}const r=this;aa.load(e).then(s=>{aa.set(r,s),n()})},data(){return{albums_list:new ve,groupby_options:[{id:1,name:this.$t("page.albums.sort.name"),options:Rn("name_sort",!0)},{id:2,name:this.$t("page.albums.sort.recently-added"),options:wl("time_added",{direction:"desc"})},{id:3,name:this.$t("page.albums.sort.recently-released"),options:wl("date_released",{direction:"desc"})}]}},computed:{albums(){const e=this.groupby_options.find(t=>t.id===this.selected_groupby_option_id);return this.albums_list.group(e.options,[t=>!this.hide_singles||t.track_count>2,t=>!this.hide_spotify||t.data_kind!=="spotify"]),this.albums_list},selected_groupby_option_id:{get(){return this.$store.state.albums_sort},set(e){this.$store.commit(n_,e)}},spotify_enabled(){return this.$store.state.spotify.webapi_token_valid},hide_singles:{get(){return this.$store.state.hide_singles},set(e){this.$store.commit(Tl,e)}},hide_spotify:{get(){return this.$store.state.hide_spotify},set(e){this.$store.commit(vi,e)}}}},XF={class:"fd-page-with-tabs"},QF={class:"columns"},eR={class:"column"},tR=["textContent"],nR={class:"field"},rR={class:"control"},sR=["textContent"],oR=["textContent"],iR={key:0,class:"field"},aR={class:"control"},lR=["textContent"],uR=["textContent"],cR={class:"column"},dR=["textContent"],mR=["textContent"],fR=["textContent"];function pR(e,t,n,r,s,o){const i=$("tabs-music"),a=$("index-button-list"),l=$("control-dropdown"),c=$("list-albums"),d=$("content-with-heading");return k(),T("div",XF,[y(i),y(d,null,{options:E(()=>[y(a,{index:o.albums.indexList},null,8,["index"]),u("div",QF,[u("div",eR,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.albums.filter"))},null,8,tR),u("div",nR,[u("div",rR,[yt(u("input",{id:"switchHideSingles","onUpdate:modelValue":t[0]||(t[0]=m=>o.hide_singles=m),type:"checkbox",class:"switch is-rounded"},null,512),[[On,o.hide_singles]]),u("label",{for:"switchHideSingles",textContent:g(e.$t("page.albums.hide-singles"))},null,8,sR)]),u("p",{class:"help",textContent:g(e.$t("page.albums.hide-singles-help"))},null,8,oR)]),o.spotify_enabled?(k(),T("div",iR,[u("div",aR,[yt(u("input",{id:"switchHideSpotify","onUpdate:modelValue":t[1]||(t[1]=m=>o.hide_spotify=m),type:"checkbox",class:"switch is-rounded"},null,512),[[On,o.hide_spotify]]),u("label",{for:"switchHideSpotify",textContent:g(e.$t("page.albums.hide-spotify"))},null,8,lR)]),u("p",{class:"help",textContent:g(e.$t("page.albums.hide-spotify-help"))},null,8,uR)])):M("",!0)]),u("div",cR,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.albums.sort.title"))},null,8,dR),y(l,{value:o.selected_groupby_option_id,"onUpdate:value":t[2]||(t[2]=m=>o.selected_groupby_option_id=m),options:s.groupby_options},null,8,["value","options"])])])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.albums.title"))},null,8,mR),u("p",{class:"heading",textContent:g(e.$t("page.albums.count",{count:o.albums.count}))},null,8,fR)]),"heading-right":E(()=>[]),content:E(()=>[y(c,{albums:o.albums},null,8,["albums"])]),_:1})])}const hR=te(JF,[["render",pR]]),_R={name:"ModalDialogArtist",props:["show","artist"],emits:["close"],methods:{play(){this.$emit("close"),V.player_play_uri(this.artist.uri,!1)},queue_add(){this.$emit("close"),V.queue_add(this.artist.uri)},queue_add_next(){this.$emit("close"),V.queue_add_next(this.artist.uri)},open_artist(){this.$emit("close"),this.$router.push({name:"music-artist",params:{id:this.artist.id}})}}},gR={key:0,class:"modal is-active"},yR={class:"modal-content fd-modal-card"},vR={class:"card"},bR={class:"card-content"},zR={class:"title is-4"},CR=["textContent"],wR={class:"content is-small"},kR=["textContent"],xR=["textContent"],ER=["textContent"],SR=["textContent"],$R=["textContent"],AR=["textContent"],TR=["textContent"],OR=["textContent"],DR={class:"card-footer"},PR=["textContent"],IR=["textContent"],FR=["textContent"];function RR(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",gR,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",yR,[u("div",vR,[u("div",bR,[u("p",zR,[u("a",{class:"has-text-link",onClick:t[1]||(t[1]=(...a)=>o.open_artist&&o.open_artist(...a)),textContent:g(n.artist.name)},null,8,CR)]),u("div",wR,[u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.artist.albums"))},null,8,kR),u("span",{class:"title is-6",textContent:g(n.artist.album_count)},null,8,xR)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.artist.tracks"))},null,8,ER),u("span",{class:"title is-6",textContent:g(n.artist.track_count)},null,8,SR)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.artist.type"))},null,8,$R),u("span",{class:"title is-6",textContent:g(e.$t("data.kind."+n.artist.data_kind))},null,8,AR)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.artist.added-on"))},null,8,TR),u("span",{class:"title is-6",textContent:g(e.$filters.datetime(n.artist.time_added))},null,8,OR)])])]),u("footer",DR,[u("a",{class:"card-footer-item has-text-dark",onClick:t[2]||(t[2]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.artist.add"))},null,8,PR)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[3]||(t[3]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.artist.add-next"))},null,8,IR)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.artist.play"))},null,8,FR)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[5]||(t[5]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const du=te(_R,[["render",RR]]),la={load(e){return Promise.all([V.library_artist(e.params.id),V.library_artist_albums(e.params.id)])},set(e,t){e.artist=t[0].data,e.albums_list=new ve(t[1].data)}},LR={name:"PageArtist",components:{ContentWithHeading:et,ControlDropdown:Ss,ListAlbums:ur,ModalDialogArtist:du},beforeRouteEnter(e,t,n){la.load(e).then(r=>{n(s=>la.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;la.load(e).then(s=>{la.set(r,s),n()})},data(){return{artist:{},albums_list:new ve,groupby_options:[{id:1,name:this.$t("page.artist.sort.name"),options:Rn("name_sort",!0)},{id:2,name:this.$t("page.artist.sort.release-date"),options:wl("date_released",{direction:"asc"})}],show_details_modal:!1}},computed:{albums(){const e=this.groupby_options.find(t=>t.id===this.selected_groupby_option_id);return this.albums_list.group(e.options,[t=>!this.hide_spotify||t.data_kind!=="spotify"]),this.albums_list},hide_spotify:{get(){return this.$store.state.hide_spotify},set(e){this.$store.commit(vi,e)}},selected_groupby_option_id:{get(){return this.$store.state.artist_albums_sort},set(e){this.$store.commit(e_,e)}},spotify_enabled(){return this.$store.state.spotify.webapi_token_valid},track_count(){return[...this.albums].reduce((e,t)=>e+(t.isItem?t.item.track_count:0),0)}},methods:{open_tracks(){this.$router.push({name:"music-artist-tracks",params:{id:this.artist.id}})},play(){V.player_play_uri(this.albums.items.map(e=>e.uri).join(","),!0)}}},NR={class:"columns"},MR={class:"column"},VR=["textContent"],HR={key:0,class:"field"},UR={class:"control"},BR=["textContent"],jR=["textContent"],qR={class:"column"},WR=["textContent"],GR=["textContent"],KR={class:"buttons is-centered"},ZR=["textContent"],YR={class:"heading has-text-centered-mobile"},JR=["textContent"],XR=u("span",null," | ",-1),QR=["textContent"];function eL(e,t,n,r,s,o){const i=$("control-dropdown"),a=$("mdicon"),l=$("list-albums"),c=$("modal-dialog-artist"),d=$("content-with-heading");return k(),T("div",null,[y(d,null,{options:E(()=>[u("div",NR,[u("div",MR,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.artist.filter"))},null,8,VR),o.spotify_enabled?(k(),T("div",HR,[u("div",UR,[yt(u("input",{id:"switchHideSpotify","onUpdate:modelValue":t[0]||(t[0]=m=>o.hide_spotify=m),type:"checkbox",class:"switch is-rounded"},null,512),[[On,o.hide_spotify]]),u("label",{for:"switchHideSpotify",textContent:g(e.$t("page.artist.hide-spotify"))},null,8,BR)]),u("p",{class:"help",textContent:g(e.$t("page.artist.hide-spotify-help"))},null,8,jR)])):M("",!0)]),u("div",qR,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.artist.sort.title"))},null,8,WR),y(i,{value:o.selected_groupby_option_id,"onUpdate:value":t[1]||(t[1]=m=>o.selected_groupby_option_id=m),options:s.groupby_options},null,8,["value","options"])])])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(s.artist.name)},null,8,GR)]),"heading-right":E(()=>[u("div",KR,[u("a",{class:"button is-small is-light is-rounded",onClick:t[2]||(t[2]=m=>s.show_details_modal=!0)},[y(a,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[3]||(t[3]=(...m)=>o.play&&o.play(...m))},[y(a,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.artist.shuffle"))},null,8,ZR)])])]),content:E(()=>[u("p",YR,[u("span",{textContent:g(e.$t("page.artist.album-count",{count:o.albums.count}))},null,8,JR),XR,u("a",{class:"has-text-link",onClick:t[4]||(t[4]=(...m)=>o.open_tracks&&o.open_tracks(...m)),textContent:g(e.$t("page.artist.track-count",{count:o.track_count}))},null,8,QR)]),y(l,{albums:o.albums,hide_group_title:!0},null,8,["albums"]),y(c,{show:s.show_details_modal,artist:s.artist,onClose:t[5]||(t[5]=m=>s.show_details_modal=!1)},null,8,["show","artist"])]),_:1})])}const tL=te(LR,[["render",eL]]),nL={name:"ListItemAlbumSpotify",props:["album"]},rL={class:"media is-align-items-center"},sL={key:0,class:"media-left is-clickable"},oL={class:"media-content is-clickable is-clipped"},iL=["textContent"],aL=["textContent"],lL=["textContent"],uL={class:"media-right"};function cL(e,t,n,r,s,o){return k(),T("div",rL,[e.$slots.artwork?(k(),T("div",sL,[it(e.$slots,"artwork")])):M("",!0),u("div",oL,[u("h1",{class:"title is-6",textContent:g(n.album.name)},null,8,iL),u("h2",{class:"subtitle is-7 has-text-grey has-text-weight-bold",textContent:g(n.album.artists[0].name)},null,8,aL),u("h2",{class:"subtitle is-7 has-text-grey",textContent:g([n.album.album_type,e.$filters.date(n.album.release_date)].join(", "))},null,8,lL)]),u("div",uL,[it(e.$slots,"actions")])])}const mu=te(nL,[["render",cL]]),dL={name:"ModalDialogArtistSpotify",props:["show","artist"],emits:["close"],methods:{play(){this.$emit("close"),V.player_play_uri(this.artist.uri,!1)},queue_add(){this.$emit("close"),V.queue_add(this.artist.uri)},queue_add_next(){this.$emit("close"),V.queue_add_next(this.artist.uri)},open_artist(){this.$emit("close"),this.$router.push({name:"music-spotify-artist",params:{id:this.artist.id}})}}},mL={key:0,class:"modal is-active"},fL={class:"modal-content fd-modal-card"},pL={class:"card"},hL={class:"card-content"},_L={class:"title is-4"},gL=["textContent"],yL={class:"content is-small"},vL=["textContent"],bL=["textContent"],zL=["textContent"],CL=["textContent"],wL={class:"card-footer"},kL=["textContent"],xL=["textContent"],EL=["textContent"];function SL(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",mL,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",fL,[u("div",pL,[u("div",hL,[u("p",_L,[u("a",{class:"has-text-link",onClick:t[1]||(t[1]=(...a)=>o.open_artist&&o.open_artist(...a)),textContent:g(n.artist.name)},null,8,gL)]),u("div",yL,[u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.artist.popularity"))},null,8,vL),u("span",{class:"title is-6",textContent:g([n.artist.popularity,n.artist.followers.total].join(" / "))},null,8,bL)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.artist.genres"))},null,8,zL),u("span",{class:"title is-6",textContent:g(n.artist.genres.join(", "))},null,8,CL)])])]),u("footer",wL,[u("a",{class:"card-footer-item has-text-dark",onClick:t[2]||(t[2]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.artist.add"))},null,8,kL)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[3]||(t[3]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.artist.add-next"))},null,8,xL)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.artist.play"))},null,8,EL)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[5]||(t[5]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const G1=te(dL,[["render",SL]]);function $L(e){return e.scrollHeight}function AL(e){return e.scrollWidth}function TL(e,t){e.scrollTop=e.scrollHeight-t+e.scrollTop}function OL(e,t){e.scrollLeft=e.scrollWidth-t+e.scrollLeft}const DL=u("div",{class:"loading"},"Loading...",-1),PL=u("div",{class:"no-more"},"No more.",-1),IL=u("div",{class:"no-results"},"No results.",-1),FL=u("div",{class:"error"},"Error.",-1),Dm=zr({__name:"VueEternalLoading",props:{load:{required:!0,type:Function},isInitial:{required:!1,type:Boolean,default:!0},position:{required:!1,type:String,default:"default"},container:{required:!1,type:Object,default:null},margin:{required:!1,type:String,default:void 0}},emits:["update:isInitial"],setup(e,{emit:t}){const n=e,r=sr();let s=sr("loading"),o=sr(n.isInitial),i=0;function a(){fo(()=>{var v,z;n.position==="top"?TL((v=n.container)!=null?v:document.documentElement,i):n.position==="left"&&OL((z=n.container)!=null?z:document.documentElement,i)})}function l(v,z){return v===0?o.value?(d(),"no-results"):(c(),"no-more"):v!==void 0&&z!==void 0&&v{var z,S;v.isIntersecting&&(n.position==="top"?i=$L((z=n.container)!=null?z:document.documentElement):n.position==="left"&&(i=AL((S=n.container)!=null?S:document.documentElement)),_(),n.load({loaded:l,noMore:c,noResults:d,error:m},{isFirstLoad:o.value}))},{root:n.container,threshold:0,rootMargin:n.margin})}let w;return typeof IntersectionObserver<"u"&&V_(()=>{w&&_(),w=C(),b()},{flush:"post"}),bn(()=>n.isInitial,v=>{v&&f()}),bn(o,v=>{v||t("update:isInitial",!1)}),(v,z)=>(k(),T("div",{class:"vue-eternal-loading",ref_key:"rootRef",ref:r},[yn(s)==="loading"?it(v.$slots,"loading",Po(Hs({key:0},{isFirstLoad:yn(o)})),()=>[DL]):yn(s)==="no-more"?it(v.$slots,"no-more",Po(Hs({key:1},{retry:p})),()=>[PL]):yn(s)==="no-results"?it(v.$slots,"no-results",Po(Hs({key:2},{retry:p})),()=>[IL]):yn(s)==="error"?it(v.$slots,"error",Po(Hs({key:3},{retry:p})),()=>[FL]):M("",!0)],512))}}),ad=50,ua={load(e){const t=new Yn;return t.setAccessToken(He.state.spotify.webapi_token),Promise.all([t.getArtist(e.params.id),t.getArtistAlbums(e.params.id,{limit:ad,offset:0,include_groups:"album,single",market:He.state.spotify.webapi_country})])},set(e,t){e.artist=t[0],e.albums=[],e.total=0,e.offset=0,e.append_albums(t[1])}},RL={name:"PageArtistSpotify",components:{ContentWithHeading:et,CoverArtwork:Fn,ListItemAlbumSpotify:mu,ModalDialogAlbumSpotify:Fi,ModalDialogArtistSpotify:G1,VueEternalLoading:Dm},beforeRouteEnter(e,t,n){ua.load(e).then(r=>{n(s=>ua.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;ua.load(e).then(s=>{ua.set(r,s),n()})},data(){return{albums:[],artist:{},offset:0,selected_album:{},show_album_details_modal:!1,show_details_modal:!1,total:0}},computed:{is_visible_artwork(){return this.$store.getters.settings_option("webinterface","show_cover_artwork_in_album_lists").value}},methods:{load_next({loaded:e}){const t=new Yn;t.setAccessToken(this.$store.state.spotify.webapi_token),t.getArtistAlbums(this.artist.id,{limit:ad,offset:this.offset,include_groups:"album,single"}).then(n=>{this.append_albums(n),e(n.items.length,ad)})},append_albums(e){this.albums=this.albums.concat(e.items),this.total=e.total,this.offset+=e.limit},play(){this.show_album_details_modal=!1,V.player_play_uri(this.artist.uri,!0)},open_album(e){this.$router.push({name:"music-spotify-album",params:{id:e.id}})},open_dialog(e){this.selected_album=e,this.show_album_details_modal=!0},artwork_url(e){return e.images&&e.images.length>0?e.images[0].url:""}}},LL=["textContent"],NL={class:"buttons is-centered"},ML=["textContent"],VL=["textContent"],HL=["onClick"],UL={class:"columns is-centered"},BL={class:"column has-text-centered"};function jL(e,t,n,r,s,o){const i=$("mdicon"),a=$("cover-artwork"),l=$("list-item-album-spotify"),c=$("VueEternalLoading"),d=$("modal-dialog-artist-spotify"),m=$("modal-dialog-album-spotify"),f=$("content-with-heading");return k(),T("div",null,[y(f,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(s.artist.name)},null,8,LL)]),"heading-right":E(()=>[u("div",NL,[u("a",{class:"button is-small is-light is-rounded",onClick:t[0]||(t[0]=p=>s.show_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...p)=>o.play&&o.play(...p))},[y(i,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.spotify.artist.shuffle"))},null,8,ML)])])]),content:E(()=>[u("p",{class:"heading has-text-centered-mobile",textContent:g(e.$t("page.spotify.artist.album-count",{count:s.total}))},null,8,VL),(k(!0),T(we,null,ct(s.albums,p=>(k(),_e(l,{key:p.id,album:p,onClick:h=>o.open_album(p)},Ei({actions:E(()=>[u("a",{onClick:st(h=>o.open_dialog(p),["prevent","stop"])},[y(i,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,HL)]),_:2},[o.is_visible_artwork?{name:"artwork",fn:E(()=>[y(a,{artwork_url:o.artwork_url(p),artist:p.artist,album:p.name,class:"is-clickable fd-has-shadow fd-cover fd-cover-small-image",maxwidth:64,maxheight:64},null,8,["artwork_url","artist","album"])]),key:"0"}:void 0]),1032,["album","onClick"]))),128)),s.offset[u("div",UL,[u("div",BL,[y(i,{class:"icon mdi-spin",name:"loading"})])])]),"no-more":E(()=>[gt(" ")]),_:1},8,["load"])):M("",!0),y(d,{show:s.show_details_modal,artist:s.artist,onClose:t[2]||(t[2]=p=>s.show_details_modal=!1)},null,8,["show","artist"]),y(m,{show:s.show_album_details_modal,album:s.selected_album,onClose:t[3]||(t[3]=p=>s.show_album_details_modal=!1)},null,8,["show","album"])]),_:1})])}const qL=te(RL,[["render",jL]]),WL={name:"ListArtists",components:{ModalDialogArtist:du},props:["artists","hide_group_title"],data(){return{show_details_modal:!1,selected_artist:{}}},methods:{open_artist(e){this.selected_artist=e;const t=e.media_kind==="audiobook"?"audiobooks-artist":"music-artist";this.$router.push({name:t,params:{id:e.id}})},open_dialog(e){this.selected_artist=e,this.show_details_modal=!0}}},GL={key:0,class:"mt-6 mb-5 py-2"},KL={class:"media-content is-clipped"},ZL=["id","textContent"],YL=["onClick"],JL={class:"media-content is-clickable is-clipped"},XL=["textContent"],QL={class:"media-right"},eN=["onClick"];function tN(e,t,n,r,s,o){const i=$("mdicon"),a=$("modal-dialog-artist");return k(),T(we,null,[(k(!0),T(we,null,ct(n.artists,l=>(k(),T(we,{key:l.itemId},[!l.isItem&&!n.hide_group_title?(k(),T("div",GL,[u("div",KL,[u("span",{id:"index_"+l.groupKey,class:"tag is-info is-light is-small has-text-weight-bold",textContent:g(l.groupKey)},null,8,ZL)])])):l.isItem?(k(),T("div",{key:1,class:"media is-align-items-center",onClick:c=>o.open_artist(l.item)},[u("div",JL,[u("h1",{class:"title is-6",textContent:g(l.item.name)},null,8,XL)]),u("div",QL,[u("a",{onClick:st(c=>o.open_dialog(l.item),["prevent","stop"])},[y(i,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,eN)])],8,YL)):M("",!0)],64))),128)),(k(),_e(Yr,{to:"#app"},[y(a,{artist:s.selected_artist,show:s.show_details_modal,onClose:t[0]||(t[0]=l=>s.show_details_modal=!1)},null,8,["artist","show"])]))],64)}const Pm=te(WL,[["render",tN]]),ca={load(e){return V.library_artists("music")},set(e,t){e.artists_list=new ve(t.data)}},nN={name:"PageArtists",components:{ContentWithHeading:et,ControlDropdown:Ss,IndexButtonList:Jn,ListArtists:Pm,TabsMusic:cr},beforeRouteEnter(e,t,n){ca.load(e).then(r=>{n(s=>ca.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.artists_list.isEmpty()){n();return}const r=this;ca.load(e).then(s=>{ca.set(r,s),n()})},data(){return{artists_list:new ve,groupby_options:[{id:1,name:this.$t("page.artists.sort.name"),options:Rn("name_sort",!0)},{id:2,name:this.$t("page.artists.sort.recently-added"),options:wl("time_added",{direction:"desc"})}]}},computed:{artists(){if(!this.artists_list)return[];const e=this.groupby_options.find(t=>t.id===this.selected_groupby_option_id);return this.artists_list.group(e.options,[t=>!this.hide_singles||t.track_count>t.album_count*2,t=>!this.hide_spotify||t.data_kind!=="spotify"]),this.artists_list},selected_groupby_option_id:{get(){return this.$store.state.artists_sort},set(e){this.$store.commit(Qh,e)}},spotify_enabled(){return this.$store.state.spotify.webapi_token_valid},hide_singles:{get(){return this.$store.state.hide_singles},set(e){this.$store.commit(Tl,e)}},hide_spotify:{get(){return this.$store.state.hide_spotify},set(e){this.$store.commit(vi,e)}}}},rN={class:"fd-page-with-tabs"},sN={class:"columns"},oN={class:"column"},iN=["textContent"],aN={class:"field"},lN={class:"control"},uN=["textContent"],cN=["textContent"],dN={key:0,class:"field"},mN={class:"control"},fN=["textContent"],pN=["textContent"],hN={class:"column"},_N=["textContent"],gN=["textContent"],yN=["textContent"];function vN(e,t,n,r,s,o){const i=$("tabs-music"),a=$("index-button-list"),l=$("control-dropdown"),c=$("list-artists"),d=$("content-with-heading");return k(),T("div",rN,[y(i),y(d,null,{options:E(()=>[y(a,{index:o.artists.indexList},null,8,["index"]),u("div",sN,[u("div",oN,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.artists.filter"))},null,8,iN),u("div",aN,[u("div",lN,[yt(u("input",{id:"switchHideSingles","onUpdate:modelValue":t[0]||(t[0]=m=>o.hide_singles=m),type:"checkbox",class:"switch is-rounded"},null,512),[[On,o.hide_singles]]),u("label",{for:"switchHideSingles",textContent:g(e.$t("page.artists.hide-singles"))},null,8,uN)]),u("p",{class:"help",textContent:g(e.$t("page.artists.hide-singles-help"))},null,8,cN)]),o.spotify_enabled?(k(),T("div",dN,[u("div",mN,[yt(u("input",{id:"switchHideSpotify","onUpdate:modelValue":t[1]||(t[1]=m=>o.hide_spotify=m),type:"checkbox",class:"switch is-rounded"},null,512),[[On,o.hide_spotify]]),u("label",{for:"switchHideSpotify",textContent:g(e.$t("page.artists.hide-spotify"))},null,8,fN)]),u("p",{class:"help",textContent:g(e.$t("page.artists.hide-spotify-help"))},null,8,pN)])):M("",!0)]),u("div",hN,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.artists.sort.title"))},null,8,_N),y(l,{value:o.selected_groupby_option_id,"onUpdate:value":t[2]||(t[2]=m=>o.selected_groupby_option_id=m),options:s.groupby_options},null,8,["value","options"])])])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.artists.title"))},null,8,gN),u("p",{class:"heading",textContent:g(e.$t("page.artists.count",{count:o.artists.count}))},null,8,yN)]),"heading-right":E(()=>[]),content:E(()=>[y(c,{artists:o.artists},null,8,["artists"])]),_:1})])}const bN=te(nN,[["render",vN]]),da={load(e){return Promise.all([V.library_artist(e.params.id),V.library_artist_tracks(e.params.id)])},set(e,t){e.artist=t[0].data,e.tracks_list=new ve(t[1].data.tracks)}},zN={name:"PageArtistTracks",components:{ContentWithHeading:et,ControlDropdown:Ss,IndexButtonList:Jn,ListTracks:Cn,ModalDialogArtist:du},beforeRouteEnter(e,t,n){da.load(e).then(r=>{n(s=>da.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;da.load(e).then(s=>{da.set(r,s),n()})},data(){return{artist:{},groupby_options:[{id:1,name:this.$t("page.artist.sort.name"),options:Rn("title_sort")},{id:2,name:this.$t("page.artist.sort.rating"),options:Am("rating",{direction:"desc"})}],show_details_modal:!1,tracks_list:new ve}},computed:{album_count(){return new Set([...this.tracks].filter(e=>e.isItem).map(e=>e.item.album_id)).size},hide_spotify:{get(){return this.$store.state.hide_spotify},set(e){this.$store.commit(vi,e)}},selected_groupby_option_id:{get(){return this.$store.state.artist_tracks_sort},set(e){this.$store.commit(t_,e)}},spotify_enabled(){return this.$store.state.spotify.webapi_token_valid},tracks(){const e=this.groupby_options.find(t=>t.id===this.selected_groupby_option_id);return this.tracks_list.group(e.options,[t=>!this.hide_spotify||t.data_kind!=="spotify"]),this.tracks_list},track_uris(){return this.tracks_list.items.map(e=>e.uri).join(",")}},methods:{open_artist(){this.show_details_modal=!1,this.$router.push({name:"music-artist",params:{id:this.artist.id}})},play(){V.player_play_uri(this.tracks_list.items.map(e=>e.uri).join(","),!0)}}},CN={class:"columns"},wN={class:"column"},kN=["textContent"],xN={key:0,class:"field"},EN={class:"control"},SN=["textContent"],$N=["textContent"],AN={class:"column"},TN=["textContent"],ON=["textContent"],DN={class:"buttons is-centered"},PN=["textContent"],IN={class:"heading has-text-centered-mobile"},FN=["textContent"],RN=u("span",null," | ",-1),LN=["textContent"];function NN(e,t,n,r,s,o){const i=$("index-button-list"),a=$("control-dropdown"),l=$("mdicon"),c=$("list-tracks"),d=$("modal-dialog-artist"),m=$("content-with-heading");return k(),T("div",null,[y(m,null,{options:E(()=>[y(i,{index:o.tracks.indexList},null,8,["index"]),u("div",CN,[u("div",wN,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.artist.filter"))},null,8,kN),o.spotify_enabled?(k(),T("div",xN,[u("div",EN,[yt(u("input",{id:"switchHideSpotify","onUpdate:modelValue":t[0]||(t[0]=f=>o.hide_spotify=f),type:"checkbox",class:"switch is-rounded"},null,512),[[On,o.hide_spotify]]),u("label",{for:"switchHideSpotify",textContent:g(e.$t("page.artist.hide-spotify"))},null,8,SN)]),u("p",{class:"help",textContent:g(e.$t("page.artist.hide-spotify-help"))},null,8,$N)])):M("",!0)]),u("div",AN,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.artist.sort.title"))},null,8,TN),y(a,{value:o.selected_groupby_option_id,"onUpdate:value":t[1]||(t[1]=f=>o.selected_groupby_option_id=f),options:s.groupby_options},null,8,["value","options"])])])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(s.artist.name)},null,8,ON)]),"heading-right":E(()=>[u("div",DN,[u("a",{class:"button is-small is-light is-rounded",onClick:t[2]||(t[2]=f=>s.show_details_modal=!0)},[y(l,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[3]||(t[3]=(...f)=>o.play&&o.play(...f))},[y(l,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.artist.shuffle"))},null,8,PN)])])]),content:E(()=>[u("p",IN,[u("a",{class:"has-text-link",onClick:t[4]||(t[4]=(...f)=>o.open_artist&&o.open_artist(...f)),textContent:g(e.$t("page.artist.album-count",{count:o.album_count}))},null,8,FN),RN,u("span",{textContent:g(e.$t("page.artist.track-count",{count:o.tracks.count}))},null,8,LN)]),y(c,{tracks:o.tracks,uris:o.track_uris},null,8,["tracks","uris"]),y(d,{show:s.show_details_modal,artist:s.artist,onClose:t[5]||(t[5]=f=>s.show_details_modal=!1)},null,8,["show","artist"])]),_:1})])}const MN=te(zN,[["render",NN]]),ma={load(e){return Promise.all([V.library_album(e.params.id),V.library_album_tracks(e.params.id)])},set(e,t){e.album=t[0].data,e.tracks=new ve(t[1].data)}},VN={name:"PageAudiobooksAlbum",components:{ContentWithHero:uu,CoverArtwork:Fn,ListTracks:Cn,ModalDialogAlbum:cu},beforeRouteEnter(e,t,n){ma.load(e).then(r=>{n(s=>ma.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;ma.load(e).then(s=>{ma.set(r,s),n()})},data(){return{album:{},show_details_modal:!1,tracks:new ve}},methods:{open_artist(){this.show_details_modal=!1,this.$router.push({name:"audiobooks-artist",params:{id:this.album.artist_id}})},play(){V.player_play_uri(this.album.uri,!1)}}},HN=["textContent"],UN={class:"subtitle is-6 has-text-link"},BN=["textContent"],jN={class:"buttons fd-is-centered-mobile mt-5"},qN=["textContent"],WN=["textContent"];function GN(e,t,n,r,s,o){const i=$("mdicon"),a=$("cover-artwork"),l=$("list-tracks"),c=$("modal-dialog-album"),d=$("content-with-hero");return k(),T("div",null,[y(d,null,{"heading-left":E(()=>[u("h1",{class:"title is-5",textContent:g(s.album.name)},null,8,HN),u("h2",UN,[u("a",{class:"has-text-link",onClick:t[0]||(t[0]=(...m)=>o.open_artist&&o.open_artist(...m)),textContent:g(s.album.artist)},null,8,BN)]),u("div",jN,[u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...m)=>o.play&&o.play(...m))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{textContent:g(e.$t("page.audiobooks.album.play"))},null,8,qN)]),u("a",{class:"button is-small is-light is-rounded",onClick:t[2]||(t[2]=m=>s.show_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})])])]),"heading-right":E(()=>[y(a,{artwork_url:s.album.artwork_url,artist:s.album.artist,album:s.album.name,class:"is-clickable fd-has-shadow fd-cover fd-cover-medium-image",onClick:t[3]||(t[3]=m=>s.show_details_modal=!0)},null,8,["artwork_url","artist","album"])]),content:E(()=>[u("p",{class:"heading is-7 has-text-centered-mobile mt-5",textContent:g(e.$t("page.audiobooks.album.track-count",{count:s.album.track_count}))},null,8,WN),y(l,{tracks:s.tracks,uris:s.album.uri},null,8,["tracks","uris"]),y(c,{show:s.show_details_modal,album:s.album,media_kind:"audiobook",onClose:t[4]||(t[4]=m=>s.show_details_modal=!1)},null,8,["show","album"])]),_:1})])}const KN=te(VN,[["render",GN]]),ZN={name:"TabsAudiobooks"},YN={class:"section fd-tabs-section"},JN={class:"container"},XN={class:"columns is-centered"},QN={class:"column is-four-fifths"},eM={class:"tabs is-centered is-small"},tM=["onClick","onKeypress"],nM=["textContent"],rM=["onClick","onKeypress"],sM=["textContent"],oM=["onClick","onKeypress"],iM=["textContent"];function aM(e,t,n,r,s,o){const i=$("mdicon"),a=$("router-link");return k(),T("section",YN,[u("div",JN,[u("div",XN,[u("div",QN,[u("div",eM,[u("ul",null,[y(a,{to:{name:"audiobooks-artists"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"account-music",size:"16"}),u("span",{textContent:g(e.$t("page.audiobooks.tabs.authors"))},null,8,nM)],40,tM)],2)]),_:1}),y(a,{to:{name:"audiobooks-albums"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"album",size:"16"}),u("span",{textContent:g(e.$t("page.audiobooks.tabs.audiobooks"))},null,8,sM)],40,rM)],2)]),_:1}),y(a,{to:{name:"audiobooks-genres"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"speaker",size:"16"}),u("span",{textContent:g(e.$t("page.audiobooks.tabs.genres"))},null,8,iM)],40,oM)],2)]),_:1})])])])])])])}const Im=te(ZN,[["render",aM]]),fa={load(e){return V.library_albums("audiobook")},set(e,t){e.albums=new ve(t.data),e.albums.group(Rn("name_sort",!0))}},lM={name:"PageAudiobooksAlbums",components:{TabsAudiobooks:Im,ContentWithHeading:et,IndexButtonList:Jn,ListAlbums:ur},beforeRouteEnter(e,t,n){fa.load(e).then(r=>{n(s=>fa.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.albums.isEmpty()){n();return}const r=this;fa.load(e).then(s=>{fa.set(r,s),n()})},data(){return{albums:new ve}}},uM={class:"fd-page-with-tabs"},cM=["textContent"],dM=["textContent"];function mM(e,t,n,r,s,o){const i=$("tabs-audiobooks"),a=$("index-button-list"),l=$("list-albums"),c=$("content-with-heading");return k(),T("div",uM,[y(i),y(c,null,{options:E(()=>[y(a,{index:s.albums.indexList},null,8,["index"])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.audiobooks.albums.title"))},null,8,cM),u("p",{class:"heading",textContent:g(e.$t("page.audiobooks.albums.count",{count:s.albums.count}))},null,8,dM)]),content:E(()=>[y(l,{albums:s.albums},null,8,["albums"])]),_:1})])}const fM=te(lM,[["render",mM]]),pa={load(e){return Promise.all([V.library_artist(e.params.id),V.library_artist_albums(e.params.id)])},set(e,t){e.artist=t[0].data,e.albums=new ve(t[1].data)}},pM={name:"PageAudiobooksArtist",components:{ContentWithHeading:et,ListAlbums:ur,ModalDialogArtist:du},beforeRouteEnter(e,t,n){pa.load(e).then(r=>{n(s=>pa.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.albums.isEmpty()){n();return}const r=this;pa.load(e).then(s=>{pa.set(r,s),n()})},data(){return{artist:{},albums:new ve,show_details_modal:!1}},methods:{play(){V.player_play_uri(this.albums.items.map(e=>e.uri).join(","),!1)}}},hM=["textContent"],_M={class:"buttons is-centered"},gM=["textContent"],yM=["textContent"];function vM(e,t,n,r,s,o){const i=$("mdicon"),a=$("list-albums"),l=$("modal-dialog-artist"),c=$("content-with-heading");return k(),T("div",null,[y(c,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(s.artist.name)},null,8,hM)]),"heading-right":E(()=>[u("div",_M,[u("a",{class:"button is-small is-light is-rounded",onClick:t[0]||(t[0]=d=>s.show_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...d)=>o.play&&o.play(...d))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{textContent:g(e.$t("page.audiobooks.artist.play"))},null,8,gM)])])]),content:E(()=>[u("p",{class:"heading has-text-centered-mobile",textContent:g(e.$t("page.audiobooks.artist.album-count",{count:s.artist.album_count}))},null,8,yM),y(a,{albums:s.albums},null,8,["albums"]),y(l,{show:s.show_details_modal,artist:s.artist,onClose:t[2]||(t[2]=d=>s.show_details_modal=!1)},null,8,["show","artist"])]),_:1})])}const bM=te(pM,[["render",vM]]),ha={load(e){return V.library_artists("audiobook")},set(e,t){e.artists_list=new ve(t.data)}},zM={name:"PageAudiobooksArtists",components:{ContentWithHeading:et,TabsAudiobooks:Im,IndexButtonList:Jn,ListArtists:Pm},beforeRouteEnter(e,t,n){ha.load(e).then(r=>{n(s=>ha.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.artists_list.isEmpty()){n();return}const r=this;ha.load(e).then(s=>{ha.set(r,s),n()})},data(){return{artists_list:new ve}},computed:{artists(){return this.artists_list?(this.artists_list.group(Rn("name_sort",!0)),this.artists_list):[]}}},CM={class:"fd-page-with-tabs"},wM=["textContent"],kM=["textContent"];function xM(e,t,n,r,s,o){const i=$("tabs-audiobooks"),a=$("index-button-list"),l=$("list-artists"),c=$("content-with-heading");return k(),T("div",CM,[y(i),y(c,null,{options:E(()=>[y(a,{index:o.artists.indexList},null,8,["index"])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.audiobooks.artists.title"))},null,8,wM),u("p",{class:"heading",textContent:g(e.$t("page.audiobooks.artists.count",{count:o.artists.count}))},null,8,kM)]),"heading-right":E(()=>[]),content:E(()=>[y(l,{artists:o.artists},null,8,["artists"])]),_:1})])}const EM=te(zM,[["render",xM]]),SM={name:"ModalDialogGenre",props:["genre","media_kind","show"],emits:["close"],computed:{expression(){return`genre is "${this.genre.name}" and media_kind is ${this.media_kind}`}},methods:{play(){this.$emit("close"),V.player_play_expression(this.expression,!1)},queue_add(){this.$emit("close"),V.queue_expression_add(this.expression)},queue_add_next(){this.$emit("close"),V.queue_expression_add_next(this.expression)},open_genre(){this.$emit("close"),this.$router.push({name:"genre-albums",params:{name:this.genre.name},query:{media_kind:this.media_kind}})}}},$M={key:0,class:"modal is-active"},AM={class:"modal-content fd-modal-card"},TM={class:"card"},OM={class:"card-content"},DM={class:"title is-4"},PM=["textContent"],IM={class:"content is-small"},FM=["textContent"],RM=["textContent"],LM=["textContent"],NM=["textContent"],MM=["textContent"],VM=["textContent"],HM={class:"card-footer"},UM=["textContent"],BM=["textContent"],jM=["textContent"];function qM(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",$M,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",AM,[u("div",TM,[u("div",OM,[u("p",DM,[u("a",{class:"has-text-link",onClick:t[1]||(t[1]=(...a)=>o.open_genre&&o.open_genre(...a)),textContent:g(n.genre.name)},null,8,PM)]),u("div",IM,[u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.genre.albums"))},null,8,FM),u("span",{class:"title is-6",textContent:g(n.genre.album_count)},null,8,RM)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.genre.tracks"))},null,8,LM),u("span",{class:"title is-6",textContent:g(n.genre.track_count)},null,8,NM)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.genre.duration"))},null,8,MM),u("span",{class:"title is-6",textContent:g(e.$filters.durationInHours(n.genre.length_ms))},null,8,VM)])])]),u("footer",HM,[u("a",{class:"card-footer-item has-text-dark",onClick:t[2]||(t[2]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.genre.add"))},null,8,UM)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[3]||(t[3]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.genre.add-next"))},null,8,BM)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.genre.play"))},null,8,jM)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[5]||(t[5]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const Fm=te(SM,[["render",qM]]),WM={name:"ListGenres",components:{ModalDialogGenre:Fm},props:["genres","hide_group_title","media_kind"],data(){return{show_details_modal:!1,selected_genre:{}}},methods:{open_genre(e){this.$router.push({name:"genre-albums",params:{name:e.name},query:{media_kind:this.media_kind}})},open_dialog(e){this.selected_genre=e,this.show_details_modal=!0}}},GM={key:0,class:"mt-6 mb-5 py-2"},KM={class:"media-content is-clipped"},ZM=["id","textContent"],YM=["onClick"],JM={class:"media-content is-clickable is-clipped"},XM=["textContent"],QM={class:"media-right"},e7=["onClick"];function t7(e,t,n,r,s,o){const i=$("mdicon"),a=$("modal-dialog-genre");return k(),T(we,null,[(k(!0),T(we,null,ct(n.genres,l=>(k(),T(we,{key:l.itemId},[!l.isItem&&!n.hide_group_title?(k(),T("div",GM,[u("div",KM,[u("span",{id:"index_"+l.groupKey,class:"tag is-info is-light is-small has-text-weight-bold",textContent:g(l.groupKey)},null,8,ZM)])])):l.isItem?(k(),T("div",{key:1,class:"media is-align-items-center",onClick:c=>o.open_genre(l.item)},[u("div",JM,[u("h1",{class:"title is-6",textContent:g(l.item.name)},null,8,XM)]),u("div",QM,[u("a",{onClick:st(c=>o.open_dialog(l.item),["prevent","stop"])},[y(i,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,e7)])],8,YM)):M("",!0)],64))),128)),(k(),_e(Yr,{to:"#app"},[y(a,{show:s.show_details_modal,genre:s.selected_genre,media_kind:n.media_kind,onClose:t[0]||(t[0]=l=>s.show_details_modal=!1)},null,8,["show","genre","media_kind"])]))],64)}const K1=te(WM,[["render",t7]]),_a={load(e){return V.library_genres("audiobook")},set(e,t){e.genres=t.data,e.genres=new ve(t.data),e.genres.group(Rn("name_sort"))}},n7={name:"PageAudiobooksGenres",components:{ContentWithHeading:et,IndexButtonList:Jn,ListGenres:K1,TabsAudiobooks:Im},beforeRouteEnter(e,t,n){_a.load(e).then(r=>{n(s=>_a.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;_a.load(e).then(s=>{_a.set(r,s),n()})},data(){return{genres:new ve}}},r7={class:"fd-page-with-tabs"},s7=["textContent"],o7=["textContent"];function i7(e,t,n,r,s,o){const i=$("tabs-audiobooks"),a=$("index-button-list"),l=$("list-genres"),c=$("content-with-heading");return k(),T("div",r7,[y(i),y(c,null,{options:E(()=>[y(a,{index:s.genres.indexList},null,8,["index"])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.genres.title"))},null,8,s7),u("p",{class:"heading",textContent:g(e.$t("page.genres.count",{count:s.genres.total}))},null,8,o7)]),content:E(()=>[y(l,{genres:s.genres,media_kind:"audiobook"},null,8,["genres"])]),_:1})])}const a7=te(n7,[["render",i7]]),ga={load(e){return Promise.all([V.search({type:"album",expression:"time_added after 8 weeks ago and media_kind is music having track_count > 3 order by time_added desc",limit:3}),V.search({type:"track",expression:"time_played after 8 weeks ago and media_kind is music order by time_played desc",limit:3})])},set(e,t){e.recently_added=new ve(t[0].data.albums),e.recently_played=new ve(t[1].data.tracks)}},l7={name:"PageMusic",components:{ContentWithHeading:et,ListAlbums:ur,ListTracks:Cn,TabsMusic:cr},beforeRouteEnter(e,t,n){ga.load(e).then(r=>{n(s=>ga.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;ga.load(e).then(s=>{ga.set(r,s),n()})},data(){return{recently_added:[],recently_played:{items:[]},selected_track:{}}}},u7={class:"fd-page-with-tabs"},c7=["textContent"],d7={class:"level"},m7={class:"level-item"},f7=["textContent"],p7={class:"level"},h7={class:"level-item"};function _7(e,t,n,r,s,o){const i=$("tabs-music"),a=$("list-albums"),l=$("router-link"),c=$("content-with-heading"),d=$("list-tracks");return k(),T("div",u7,[y(i),y(c,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.music.recently-added.title"))},null,8,c7)]),content:E(()=>[y(a,{albums:s.recently_added},null,8,["albums"])]),footer:E(()=>[u("nav",d7,[u("p",m7,[y(l,{class:"button is-light is-small is-rounded",to:{name:"music-recently-added"}},{default:E(()=>[gt(g(e.$t("page.music.show-more")),1)]),_:1})])])]),_:1}),y(c,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.music.recently-played.title"))},null,8,f7)]),content:E(()=>[y(d,{tracks:s.recently_played},null,8,["tracks"])]),footer:E(()=>[u("nav",p7,[u("p",h7,[y(l,{class:"button is-light is-small is-rounded",to:{name:"music-recently-played"}},{default:E(()=>[gt(g(e.$t("page.music.show-more")),1)]),_:1})])])]),_:1})])}const g7=te(l7,[["render",_7]]),ya={load(e){const t=He.getters.settings_option_recently_added_limit;return V.search({type:"album",expression:"media_kind is music having track_count > 3 order by time_added desc",limit:t})},set(e,t){e.recently_added=new ve(t.data.albums),e.recently_added.group(x5("time_added",{direction:"desc"}))}},y7={name:"PageMusicRecentlyAdded",components:{ContentWithHeading:et,TabsMusic:cr,ListAlbums:ur},beforeRouteEnter(e,t,n){ya.load(e).then(r=>{n(s=>ya.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.recently_added.isEmpty()){n();return}const r=this;ya.load(e).then(s=>{ya.set(r,s),n()})},data(){return{recently_added:new ve}}},v7={class:"fd-page-with-tabs"},b7=["textContent"];function z7(e,t,n,r,s,o){const i=$("tabs-music"),a=$("list-albums"),l=$("content-with-heading");return k(),T("div",v7,[y(i),y(l,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.music.recently-added.title"))},null,8,b7)]),content:E(()=>[y(a,{albums:s.recently_added},null,8,["albums"])]),_:1})])}const C7=te(y7,[["render",z7]]),va={load(e){return V.search({type:"track",expression:"time_played after 8 weeks ago and media_kind is music order by time_played desc",limit:50})},set(e,t){e.recently_played=new ve(t.data.tracks)}},w7={name:"PageMusicRecentlyPlayed",components:{ContentWithHeading:et,TabsMusic:cr,ListTracks:Cn},beforeRouteEnter(e,t,n){va.load(e).then(r=>{n(s=>va.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;va.load(e).then(s=>{va.set(r,s),n()})},data(){return{recently_played:{}}}},k7={class:"fd-page-with-tabs"},x7=["textContent"];function E7(e,t,n,r,s,o){const i=$("tabs-music"),a=$("list-tracks"),l=$("content-with-heading");return k(),T("div",k7,[y(i),y(l,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.music.recently-played.title"))},null,8,x7)]),content:E(()=>[y(a,{tracks:s.recently_played},null,8,["tracks"])]),_:1})])}const S7=te(w7,[["render",E7]]),$7={name:"ListItemPlaylistSpotify",props:["playlist"],methods:{open_playlist(){this.$router.push({name:"playlist-spotify",params:{id:this.playlist.id}})}}},A7={class:"media is-align-items-center"},T7=["textContent"],O7=["textContent"],D7={class:"media-right"};function P7(e,t,n,r,s,o){return k(),T("div",A7,[u("div",{class:"media-content is-clickable is-clipped",onClick:t[0]||(t[0]=(...i)=>o.open_playlist&&o.open_playlist(...i))},[u("h1",{class:"title is-6",textContent:g(n.playlist.name)},null,8,T7),u("h2",{class:"subtitle is-7",textContent:g(n.playlist.owner.display_name)},null,8,O7)]),u("div",D7,[it(e.$slots,"actions")])])}const Rm=te($7,[["render",P7]]),I7={name:"ModalDialogPlaylistSpotify",props:["show","playlist"],emits:["close"],methods:{play(){this.$emit("close"),V.player_play_uri(this.playlist.uri,!1)},queue_add(){this.$emit("close"),V.queue_add(this.playlist.uri)},queue_add_next(){this.$emit("close"),V.queue_add_next(this.playlist.uri)},open_playlist(){this.$emit("close"),this.$router.push({name:"playlist-spotify",params:{id:this.playlist.id}})}}},F7={key:0,class:"modal is-active"},R7={class:"modal-content fd-modal-card"},L7={class:"card"},N7={class:"card-content"},M7={class:"title is-4"},V7=["textContent"],H7={class:"content is-small"},U7=["textContent"],B7=["textContent"],j7=["textContent"],q7=["textContent"],W7=["textContent"],G7=["textContent"],K7={class:"card-footer"},Z7=["textContent"],Y7=["textContent"],J7=["textContent"];function X7(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",F7,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",R7,[u("div",L7,[u("div",N7,[u("p",M7,[u("a",{class:"has-text-link",onClick:t[1]||(t[1]=(...a)=>o.open_playlist&&o.open_playlist(...a)),textContent:g(n.playlist.name)},null,8,V7)]),u("div",H7,[u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.playlist.owner"))},null,8,U7),u("span",{class:"title is-6",textContent:g(n.playlist.owner.display_name)},null,8,B7)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.playlist.tracks"))},null,8,j7),u("span",{class:"title is-6",textContent:g(n.playlist.tracks.total)},null,8,q7)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.playlist.path"))},null,8,W7),u("span",{class:"title is-6",textContent:g(n.playlist.uri)},null,8,G7)])])]),u("footer",K7,[u("a",{class:"card-footer-item has-text-dark",onClick:t[2]||(t[2]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.playlist.add"))},null,8,Z7)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[3]||(t[3]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.playlist.add-next"))},null,8,Y7)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.playlist.play"))},null,8,J7)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[5]||(t[5]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const fu=te(I7,[["render",X7]]),ba={load(e){if(He.state.spotify_new_releases.length>0&&He.state.spotify_featured_playlists.length>0)return Promise.resolve();const t=new Yn;return t.setAccessToken(He.state.spotify.webapi_token),Promise.all([t.getNewReleases({country:He.state.spotify.webapi_country,limit:50}),t.getFeaturedPlaylists({country:He.state.spotify.webapi_country,limit:50})])},set(e,t){t&&(He.commit(hd,t[0].albums.items),He.commit(_d,t[1].playlists.items))}},Q7={name:"PageMusicSpotify",components:{ContentWithHeading:et,CoverArtwork:Fn,ListItemAlbumSpotify:mu,ListItemPlaylistSpotify:Rm,ModalDialogAlbumSpotify:Fi,ModalDialogPlaylistSpotify:fu,TabsMusic:cr},beforeRouteEnter(e,t,n){ba.load(e).then(r=>{n(s=>ba.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;ba.load(e).then(s=>{ba.set(r,s),n()})},data(){return{show_album_details_modal:!1,selected_album:{},show_playlist_details_modal:!1,selected_playlist:{}}},computed:{new_releases(){return this.$store.state.spotify_new_releases.slice(0,3)},featured_playlists(){return this.$store.state.spotify_featured_playlists.slice(0,3)},is_visible_artwork(){return this.$store.getters.settings_option("webinterface","show_cover_artwork_in_album_lists").value}},methods:{open_album(e){this.$router.push({name:"music-spotify-album",params:{id:e.id}})},open_album_dialog(e){this.selected_album=e,this.show_album_details_modal=!0},open_playlist_dialog(e){this.selected_playlist=e,this.show_playlist_details_modal=!0},artwork_url(e){return e.images&&e.images.length>0?e.images[0].url:""}}},e9={class:"fd-page-with-tabs"},t9=["textContent"],n9=["onClick"],r9={class:"level"},s9={class:"level-item"},o9=["textContent"],i9=["onClick"],a9={class:"level"},l9={class:"level-item"};function u9(e,t,n,r,s,o){const i=$("tabs-music"),a=$("cover-artwork"),l=$("mdicon"),c=$("list-item-album-spotify"),d=$("modal-dialog-album-spotify"),m=$("router-link"),f=$("content-with-heading"),p=$("list-item-playlist-spotify"),h=$("modal-dialog-playlist-spotify");return k(),T("div",e9,[y(i),y(f,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.spotify.music.new-releases"))},null,8,t9)]),content:E(()=>[(k(!0),T(we,null,ct(o.new_releases,_=>(k(),_e(c,{key:_.id,album:_,onClick:b=>o.open_album(_)},Ei({actions:E(()=>[u("a",{onClick:st(b=>o.open_album_dialog(_),["prevent","stop"])},[y(l,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,n9)]),_:2},[o.is_visible_artwork?{name:"artwork",fn:E(()=>[y(a,{artwork_url:o.artwork_url(_),artist:_.artist,album:_.name,class:"is-clickable fd-has-shadow fd-cover fd-cover-small-image",maxwidth:64,maxheight:64},null,8,["artwork_url","artist","album"])]),key:"0"}:void 0]),1032,["album","onClick"]))),128)),y(d,{show:s.show_album_details_modal,album:s.selected_album,onClose:t[0]||(t[0]=_=>s.show_album_details_modal=!1)},null,8,["show","album"])]),footer:E(()=>[u("nav",r9,[u("p",s9,[y(m,{to:{name:"music-spotify-new-releases"},class:"button is-light is-small is-rounded"},{default:E(()=>[gt(g(e.$t("page.spotify.music.show-more")),1)]),_:1})])])]),_:1}),y(f,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.spotify.music.featured-playlists"))},null,8,o9)]),content:E(()=>[(k(!0),T(we,null,ct(o.featured_playlists,_=>(k(),_e(p,{key:_.id,playlist:_},{actions:E(()=>[u("a",{onClick:st(b=>o.open_playlist_dialog(_),["prevent","stop"])},[y(l,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,i9)]),_:2},1032,["playlist"]))),128)),y(h,{show:s.show_playlist_details_modal,playlist:s.selected_playlist,onClose:t[1]||(t[1]=_=>s.show_playlist_details_modal=!1)},null,8,["show","playlist"])]),footer:E(()=>[u("nav",a9,[u("p",l9,[y(m,{to:{name:"music-spotify-featured-playlists"},class:"button is-light is-small is-rounded"},{default:E(()=>[gt(g(e.$t("page.spotify.music.show-more")),1)]),_:1})])])]),_:1})])}const c9=te(Q7,[["render",u9]]),za={load(e){if(He.state.spotify_featured_playlists.length>0)return Promise.resolve();const t=new Yn;t.setAccessToken(He.state.spotify.webapi_token),t.getFeaturedPlaylists({country:He.state.spotify.webapi_country,limit:50})},set(e,t){t&&He.commit(_d,t.playlists.items)}},d9={name:"PageMusicSpotifyFeaturedPlaylists",components:{ContentWithHeading:et,ListItemPlaylistSpotify:Rm,ModalDialogPlaylistSpotify:fu,TabsMusic:cr},beforeRouteEnter(e,t,n){za.load(e).then(r=>{n(s=>za.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;za.load(e).then(s=>{za.set(r,s),n()})},data(){return{selected_playlist:{},show_details_modal:!1}},computed:{featured_playlists(){return this.$store.state.spotify_featured_playlists}},methods:{open_playlist_dialog(e){this.selected_playlist=e,this.show_details_modal=!0}}},m9={class:"fd-page-with-tabs"},f9=["textContent"],p9=["onClick"];function h9(e,t,n,r,s,o){const i=$("tabs-music"),a=$("mdicon"),l=$("list-item-playlist-spotify"),c=$("modal-dialog-playlist-spotify"),d=$("content-with-heading");return k(),T("div",m9,[y(i),y(d,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.spotify.music.featured-playlists"))},null,8,f9)]),content:E(()=>[(k(!0),T(we,null,ct(o.featured_playlists,m=>(k(),_e(l,{key:m.id,playlist:m},{actions:E(()=>[u("a",{onClick:st(f=>o.open_playlist_dialog(m),["prevent","stop"])},[y(a,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,p9)]),_:2},1032,["playlist"]))),128)),y(c,{show:s.show_details_modal,playlist:s.selected_playlist,onClose:t[0]||(t[0]=m=>s.show_details_modal=!1)},null,8,["show","playlist"])]),_:1})])}const _9=te(d9,[["render",h9]]),Ca={load(e){if(He.state.spotify_new_releases.length>0)return Promise.resolve();const t=new Yn;return t.setAccessToken(He.state.spotify.webapi_token),t.getNewReleases({country:He.state.spotify.webapi_country,limit:50})},set(e,t){t&&He.commit(hd,t.albums.items)}},g9={name:"PageMusicSpotifyNewReleases",components:{ContentWithHeading:et,CoverArtwork:Fn,ListItemAlbumSpotify:mu,ModalDialogAlbumSpotify:Fi,TabsMusic:cr},beforeRouteEnter(e,t,n){Ca.load(e).then(r=>{n(s=>Ca.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;Ca.load(e).then(s=>{Ca.set(r,s),n()})},data(){return{show_details_modal:!1,selected_album:{}}},computed:{new_releases(){return this.$store.state.spotify_new_releases},is_visible_artwork(){return this.$store.getters.settings_option("webinterface","show_cover_artwork_in_album_lists").value}},methods:{open_album(e){this.$router.push({name:"music-spotify-album",params:{id:e.id}})},open_album_dialog(e){this.selected_album=e,this.show_details_modal=!0},artwork_url(e){return e.images&&e.images.length>0?e.images[0].url:""}}},y9={class:"fd-page-with-tabs"},v9=["textContent"],b9=["onClick"];function z9(e,t,n,r,s,o){const i=$("tabs-music"),a=$("cover-artwork"),l=$("mdicon"),c=$("list-item-album-spotify"),d=$("modal-dialog-album-spotify"),m=$("content-with-heading");return k(),T("div",y9,[y(i),y(m,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.spotify.music.new-releases"))},null,8,v9)]),content:E(()=>[(k(!0),T(we,null,ct(o.new_releases,f=>(k(),_e(c,{key:f.id,album:f,onClick:p=>o.open_album(f)},Ei({actions:E(()=>[u("a",{onClick:st(p=>o.open_album_dialog(f),["prevent","stop"])},[y(l,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,b9)]),_:2},[o.is_visible_artwork?{name:"artwork",fn:E(()=>[y(a,{artwork_url:o.artwork_url(f),artist:f.artist,album:f.name,class:"is-clickable fd-has-shadow fd-cover fd-cover-small-image",maxwidth:64,maxheight:64},null,8,["artwork_url","artist","album"])]),key:"0"}:void 0]),1032,["album","onClick"]))),128)),y(d,{show:s.show_details_modal,album:s.selected_album,onClose:t[0]||(t[0]=f=>s.show_details_modal=!1)},null,8,["show","album"])]),_:1})])}const C9=te(g9,[["render",z9]]),w9={name:"ModalDialogComposer",props:["show","composer"],emits:["close"],methods:{play(){this.$emit("close"),V.player_play_expression(`composer is "${this.composer.name}" and media_kind is music`,!1)},queue_add(){this.$emit("close"),V.queue_expression_add(`composer is "${this.composer.name}" and media_kind is music`)},queue_add_next(){this.$emit("close"),V.queue_expression_add_next(`composer is "${this.composer.name}" and media_kind is music`)},open_albums(){this.$emit("close"),this.$router.push({name:"music-composer-albums",params:{name:this.composer.name}})},open_tracks(){this.$router.push({name:"music-composer-tracks",params:{name:this.composer.name}})}}},k9={key:0,class:"modal is-active"},x9={class:"modal-content fd-modal-card"},E9={class:"card"},S9={class:"card-content"},$9={class:"title is-4"},A9=["textContent"],T9=["textContent"],O9=["textContent"],D9=["textContent"],P9=["textContent"],I9=["textContent"],F9=["textContent"],R9={class:"card-footer"},L9=["textContent"],N9=["textContent"],M9=["textContent"];function V9(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",k9,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",x9,[u("div",E9,[u("div",S9,[u("p",$9,[u("a",{class:"has-text-link",onClick:t[1]||(t[1]=(...a)=>o.open_albums&&o.open_albums(...a)),textContent:g(n.composer.name)},null,8,A9)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.composer.albums"))},null,8,T9),u("a",{class:"has-text-link is-6",onClick:t[2]||(t[2]=(...a)=>o.open_albums&&o.open_albums(...a)),textContent:g(n.composer.album_count)},null,8,O9)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.composer.tracks"))},null,8,D9),u("a",{class:"has-text-link is-6",onClick:t[3]||(t[3]=(...a)=>o.open_tracks&&o.open_tracks(...a)),textContent:g(n.composer.track_count)},null,8,P9)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.composer.duration"))},null,8,I9),u("span",{class:"title is-6",textContent:g(e.$filters.durationInHours(n.composer.length_ms))},null,8,F9)])]),u("footer",R9,[u("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.composer.add"))},null,8,L9)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[5]||(t[5]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.composer.add-next"))},null,8,N9)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[6]||(t[6]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.composer.play"))},null,8,M9)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[7]||(t[7]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const Lm=te(w9,[["render",V9]]),wa={load(e){return Promise.all([V.library_composer(e.params.name),V.library_composer_albums(e.params.name)])},set(e,t){e.composer=t[0].data,e.albums_list=new ve(t[1].data.albums)}},H9={name:"PageComposerAlbums",components:{ContentWithHeading:et,ListAlbums:ur,ModalDialogComposer:Lm},beforeRouteEnter(e,t,n){wa.load(e).then(r=>{n(s=>wa.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;wa.load(e).then(s=>{wa.set(r,s),n()})},data(){return{albums_list:new ve,composer:{},show_details_modal:!1}},methods:{open_tracks(){this.$router.push({name:"music-composer-tracks",params:{name:this.composer.name}})},play(){V.player_play_expression(`composer is "${this.composer.name}" and media_kind is music`,!0)}}},U9=["textContent"],B9={class:"buttons is-centered"},j9=["textContent"],q9={class:"heading has-text-centered-mobile"},W9=["textContent"],G9=u("span",null," | ",-1),K9=["textContent"];function Z9(e,t,n,r,s,o){const i=$("mdicon"),a=$("list-albums"),l=$("modal-dialog-composer"),c=$("content-with-heading");return k(),T("div",null,[y(c,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(s.composer.name)},null,8,U9)]),"heading-right":E(()=>[u("div",B9,[u("a",{class:"button is-small is-light is-rounded",onClick:t[0]||(t[0]=d=>s.show_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...d)=>o.play&&o.play(...d))},[y(i,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.composer.shuffle"))},null,8,j9)])])]),content:E(()=>[u("p",q9,[u("span",{textContent:g(e.$t("page.composer.album-count",{count:s.composer.album_count}))},null,8,W9),G9,u("a",{class:"has-text-link",onClick:t[2]||(t[2]=(...d)=>o.open_tracks&&o.open_tracks(...d)),textContent:g(e.$t("page.composer.track-count",{count:s.composer.track_count}))},null,8,K9)]),y(a,{albums:s.albums_list,hide_group_title:!0},null,8,["albums"]),y(l,{show:s.show_details_modal,composer:s.composer,onClose:t[3]||(t[3]=d=>s.show_details_modal=!1)},null,8,["show","composer"])]),_:1})])}const Y9=te(H9,[["render",Z9]]),ka={load(e){return Promise.all([V.library_composer(e.params.name),V.library_composer_tracks(e.params.name)])},set(e,t){e.composer=t[0].data,e.tracks_list=new ve(t[1].data.tracks)}},J9={name:"PageComposerTracks",components:{ContentWithHeading:et,ControlDropdown:Ss,IndexButtonList:Jn,ListTracks:Cn,ModalDialogComposer:Lm},beforeRouteEnter(e,t,n){ka.load(e).then(r=>{n(s=>ka.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;ka.load(e).then(s=>{ka.set(r,s),n()})},data(){return{composer:{},groupby_options:[{id:1,name:this.$t("page.composer.sort.name"),options:Rn("title_sort")},{id:2,name:this.$t("page.composer.sort.rating"),options:Am("rating",{direction:"desc"})}],show_details_modal:!1,tracks_list:new ve}},computed:{expression(){return`composer is "${this.composer.name}" and media_kind is music`},selected_groupby_option_id:{get(){return this.$store.state.composer_tracks_sort},set(e){this.$store.commit(Jh,e)}},tracks(){const e=this.groupby_options.find(t=>t.id===this.selected_groupby_option_id);return this.tracks_list.group(e.options),this.tracks_list}},methods:{open_albums(){this.show_details_modal=!1,this.$router.push({name:"music-composer-albums",params:{name:this.composer.name}})},play(){V.player_play_expression(this.expression,!0)}}},X9={class:"columns"},Q9={class:"column"},eV=["textContent"],tV=["textContent"],nV={class:"buttons is-centered"},rV=["textContent"],sV={class:"heading has-text-centered-mobile"},oV=["textContent"],iV=u("span",null," | ",-1),aV=["textContent"];function lV(e,t,n,r,s,o){const i=$("index-button-list"),a=$("control-dropdown"),l=$("mdicon"),c=$("list-tracks"),d=$("modal-dialog-composer"),m=$("content-with-heading");return k(),T("div",null,[y(m,null,{options:E(()=>[y(i,{index:o.tracks.indexList},null,8,["index"]),u("div",X9,[u("div",Q9,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.artist.sort.title"))},null,8,eV),y(a,{value:o.selected_groupby_option_id,"onUpdate:value":t[0]||(t[0]=f=>o.selected_groupby_option_id=f),options:s.groupby_options},null,8,["value","options"])])])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(s.composer.name)},null,8,tV)]),"heading-right":E(()=>[u("div",nV,[u("a",{class:"button is-small is-light is-rounded",onClick:t[1]||(t[1]=f=>s.show_details_modal=!0)},[y(l,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[2]||(t[2]=(...f)=>o.play&&o.play(...f))},[y(l,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.composer.shuffle"))},null,8,rV)])])]),content:E(()=>[u("p",sV,[u("a",{class:"has-text-link",onClick:t[3]||(t[3]=(...f)=>o.open_albums&&o.open_albums(...f)),textContent:g(e.$t("page.composer.album-count",{count:s.composer.album_count}))},null,8,oV),iV,u("span",{textContent:g(e.$t("page.composer.track-count",{count:s.composer.track_count}))},null,8,aV)]),y(c,{tracks:o.tracks,expression:o.expression},null,8,["tracks","expression"]),y(d,{show:s.show_details_modal,composer:s.composer,onClose:t[4]||(t[4]=f=>s.show_details_modal=!1)},null,8,["show","composer"])]),_:1})])}const uV=te(J9,[["render",lV]]),cV={name:"ListComposers",components:{ModalDialogComposer:Lm},props:["composers","media_kind","hide_group_title"],data(){return{show_details_modal:!1,selected_composer:{}}},methods:{open_composer(e){this.selected_composer=e,this.$router.push({name:"music-composer-albums",params:{name:e.name}})},open_dialog(e){this.selected_composer=e,this.show_details_modal=!0}}},dV={key:0,class:"mt-6 mb-5 py-2"},mV={class:"media-content is-clipped"},fV=["id","textContent"],pV=["onClick"],hV={class:"media-content is-clickable is-clipped"},_V=["textContent"],gV={class:"media-right"},yV=["onClick"];function vV(e,t,n,r,s,o){const i=$("mdicon"),a=$("modal-dialog-composer");return k(),T(we,null,[(k(!0),T(we,null,ct(n.composers,l=>(k(),T(we,{key:l.itemId},[!l.isItem&&!n.hide_group_title?(k(),T("div",dV,[u("div",mV,[u("span",{id:"index_"+l.groupKey,class:"tag is-info is-light is-small has-text-weight-bold",textContent:g(l.groupKey)},null,8,fV)])])):l.isItem?(k(),T("div",{key:1,class:"media is-align-items-center",onClick:c=>o.open_composer(l.item)},[u("div",hV,[u("h1",{class:"title is-6",textContent:g(l.item.name)},null,8,_V)]),u("div",gV,[u("a",{onClick:st(c=>o.open_dialog(l.item),["prevent","stop"])},[y(i,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,yV)])],8,pV)):M("",!0)],64))),128)),(k(),_e(Yr,{to:"#app"},[y(a,{show:s.show_details_modal,composer:s.selected_composer,media_kind:n.media_kind,onClose:t[0]||(t[0]=l=>s.show_details_modal=!1)},null,8,["show","composer","media_kind"])]))],64)}const Z1=te(cV,[["render",vV]]),xa={load(e){return V.library_composers("music")},set(e,t){e.composers=new ve(t.data),e.composers.group(Rn("name_sort"))}},bV={name:"PageComposers",components:{ContentWithHeading:et,IndexButtonList:Jn,ListComposers:Z1,TabsMusic:cr},beforeRouteEnter(e,t,n){xa.load(e).then(r=>{n(s=>xa.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.composers.isEmpty()){n();return}const r=this;xa.load(e).then(s=>{xa.set(r,s),n()})},data(){return{composers:new ve}}},zV={class:"fd-page-with-tabs"},CV=["textContent"],wV=["textContent"];function kV(e,t,n,r,s,o){const i=$("tabs-music"),a=$("index-button-list"),l=$("list-composers"),c=$("content-with-heading");return k(),T("div",zV,[y(i),y(c,null,{options:E(()=>[y(a,{index:s.composers.indexList},null,8,["index"])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.composers.title"))},null,8,CV),u("p",{class:"heading",textContent:g(e.$t("page.composers.count",{count:s.composers.total}))},null,8,wV)]),content:E(()=>[y(l,{composers:s.composers},null,8,["composers"])]),_:1})])}const xV=te(bV,[["render",kV]]),EV={name:"ModalDialogDirectory",props:["show","directory"],emits:["close"],methods:{play(){this.$emit("close"),V.player_play_expression(`path starts with "${this.directory}" order by path asc`,!1)},queue_add(){this.$emit("close"),V.queue_expression_add(`path starts with "${this.directory}" order by path asc`)},queue_add_next(){this.$emit("close"),V.queue_expression_add_next(`path starts with "${this.directory}" order by path asc`)}}},SV={key:0,class:"modal is-active"},$V={class:"modal-content fd-modal-card"},AV={class:"card"},TV={class:"card-content"},OV=["textContent"],DV={class:"card-footer"},PV=["textContent"],IV=["textContent"],FV=["textContent"];function RV(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",SV,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",$V,[u("div",AV,[u("div",TV,[u("p",{class:"title is-4",textContent:g(n.directory)},null,8,OV)]),u("footer",DV,[u("a",{class:"card-footer-item has-text-dark",onClick:t[1]||(t[1]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.directory.add"))},null,8,PV)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[2]||(t[2]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.directory.add-next"))},null,8,IV)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[3]||(t[3]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.directory.play"))},null,8,FV)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[4]||(t[4]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const Y1=te(EV,[["render",RV]]),LV={name:"ListDirectories",components:{ModalDialogDirectory:Y1},props:["directories"],data(){return{show_details_modal:!1,selected_directory:""}},computed:{current_directory(){return this.$route.query&&this.$route.query.directory?this.$route.query.directory:"/"}},methods:{open_parent_directory(){this.current_directory.slice(0,this.current_directory.lastIndexOf("/"))===""||this.$store.state.config.directories.includes(this.current_directory)?this.$router.push({name:"files"}):this.$router.push({name:"files",query:{directory:this.current_directory.slice(0,this.current_directory.lastIndexOf("/"))}})},open_directory(e){this.$router.push({name:"files",query:{directory:e.path}})},open_dialog(e){this.selected_directory=e.path,this.show_details_modal=!0}}},NV={class:"media-left is-clickable"},MV=u("div",{class:"media-content is-clickable is-clipped"},[u("h1",{class:"title is-6"},"..")],-1),VV={class:"media-right"},HV=["onClick"],UV={class:"media-left is-clickable"},BV={class:"media-content is-clickable is-clipped"},jV=["textContent"],qV=["textContent"],WV={class:"media-right"},GV=["onClick"];function KV(e,t,n,r,s,o){const i=$("mdicon"),a=$("modal-dialog-directory");return k(),T(we,null,[e.$route.query.directory?(k(),T("div",{key:0,class:"media is-align-items-center",onClick:t[0]||(t[0]=l=>o.open_parent_directory())},[u("figure",NV,[y(i,{class:"icon",name:"subdirectory-arrow-left",size:"16"})]),MV,u("div",VV,[it(e.$slots,"actions")])])):M("",!0),(k(!0),T(we,null,ct(n.directories,l=>(k(),T("div",{key:l.path,class:"media is-align-items-center",onClick:c=>o.open_directory(l)},[u("figure",UV,[y(i,{class:"icon",name:"folder",size:"16"})]),u("div",BV,[u("h1",{class:"title is-6",textContent:g(l.path.substring(l.path.lastIndexOf("/")+1))},null,8,jV),u("h2",{class:"subtitle is-7 has-text-grey-light",textContent:g(l.path)},null,8,qV)]),u("div",WV,[u("a",{onClick:st(c=>o.open_dialog(l),["prevent","stop"])},[y(i,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,GV)])],8,HV))),128)),(k(),_e(Yr,{to:"#app"},[y(a,{show:s.show_details_modal,directory:s.selected_directory,onClose:t[1]||(t[1]=l=>s.show_details_modal=!1)},null,8,["show","directory"])]))],64)}const ZV=te(LV,[["render",KV]]),YV={name:"ModalDialogPlaylist",props:["show","playlist","uris"],emits:["close"],methods:{play(){this.$emit("close"),V.player_play_uri(this.uris?this.uris:this.playlist.uri,!1)},queue_add(){this.$emit("close"),V.queue_add(this.uris?this.uris:this.playlist.uri)},queue_add_next(){this.$emit("close"),V.queue_add_next(this.uris?this.uris:this.playlist.uri)},open_playlist(){this.$emit("close"),this.$router.push({name:"playlist",params:{id:this.playlist.id}})}}},JV={key:0,class:"modal is-active"},XV={class:"modal-content fd-modal-card"},QV={class:"card"},eH={class:"card-content"},tH={class:"title is-4"},nH=["textContent"],rH={class:"content is-small"},sH=["textContent"],oH=["textContent"],iH=["textContent"],aH=["textContent"],lH={key:0},uH=["textContent"],cH=["textContent"],dH={key:0,class:"card-footer"},mH=["textContent"],fH=["textContent"],pH=["textContent"];function hH(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",JV,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",XV,[u("div",QV,[u("div",eH,[u("p",tH,[u("a",{class:"has-text-link",onClick:t[1]||(t[1]=(...a)=>o.open_playlist&&o.open_playlist(...a)),textContent:g(n.playlist.name)},null,8,nH)]),u("div",rH,[u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.playlist.path"))},null,8,sH),u("span",{class:"title is-6",textContent:g(n.playlist.path)},null,8,oH)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.playlist.type"))},null,8,iH),u("span",{class:"title is-6",textContent:g(e.$t("playlist.type."+n.playlist.type))},null,8,aH)]),n.playlist.folder?M("",!0):(k(),T("p",lH,[u("span",{class:"heading",textContent:g(e.$t("dialog.playlist.track-count"))},null,8,uH),u("span",{class:"title is-6",textContent:g(n.playlist.item_count)},null,8,cH)]))])]),n.playlist.folder?M("",!0):(k(),T("footer",dH,[u("a",{class:"card-footer-item has-text-dark",onClick:t[2]||(t[2]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.playlist.add"))},null,8,mH)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[3]||(t[3]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.playlist.add-next"))},null,8,fH)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.playlist.play"))},null,8,pH)])]))])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[5]||(t[5]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const J1=te(YV,[["render",hH]]),_H={name:"ListPlaylists",components:{ModalDialogPlaylist:J1},props:["playlists"],data(){return{show_details_modal:!1,selected_playlist:{}}},methods:{open_playlist(e){e.type==="folder"?this.$router.push({name:"playlist-folder",params:{id:e.id}}):this.$router.push({name:"playlist",params:{id:e.id}})},open_dialog(e){this.selected_playlist=e,this.show_details_modal=!0},icon_name(e){return e.type==="folder"?"folder":e.type==="rss"?"rss":"music-box-multiple"}}},gH=["onClick"],yH={class:"media-left is-clickable"},vH={class:"media-content is-clickable is-clipped"},bH=["textContent"],zH={class:"media-right"},CH=["onClick"];function wH(e,t,n,r,s,o){const i=$("mdicon"),a=$("modal-dialog-playlist");return k(),T(we,null,[(k(!0),T(we,null,ct(n.playlists,l=>(k(),T("div",{key:l.itemId,class:"media is-align-items-center",onClick:c=>o.open_playlist(l.item)},[u("figure",yH,[y(i,{class:"icon",name:o.icon_name(l.item),size:"16"},null,8,["name"])]),u("div",vH,[u("h1",{class:"title is-6",textContent:g(l.item.name)},null,8,bH)]),u("div",zH,[u("a",{onClick:st(c=>o.open_dialog(l.item),["prevent","stop"])},[y(i,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,CH)])],8,gH))),128)),(k(),_e(Yr,{to:"#app"},[y(a,{show:s.show_details_modal,playlist:s.selected_playlist,onClose:t[0]||(t[0]=l=>s.show_details_modal=!1)},null,8,["show","playlist"])]))],64)}const Nm=te(_H,[["render",wH]]),Ea={load(e){return e.query.directory?V.library_files(e.query.directory):Promise.resolve()},set(e,t){t?(e.dirs=t.data.directories,e.playlists=new ve(t.data.playlists),e.tracks=new ve(t.data.tracks)):(e.dirs=e.$store.state.config.directories.map(n=>({path:n})),e.playlists=new ve,e.tracks=new ve)}},kH={name:"PageFiles",components:{ContentWithHeading:et,ListDirectories:ZV,ListPlaylists:Nm,ListTracks:Cn,ModalDialogDirectory:Y1},beforeRouteEnter(e,t,n){Ea.load(e).then(r=>{n(s=>Ea.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;Ea.load(e).then(s=>{Ea.set(r,s),n()})},data(){return{dirs:[],playlists:new ve,tracks:new ve,show_details_modal:!1}},computed:{current_directory(){return this.$route.query&&this.$route.query.directory?this.$route.query.directory:"/"},play_expression(){return`path starts with "${this.current_directory}" order by path asc`}},methods:{play(){V.player_play_expression(this.play_expression,!1)}}},xH=["textContent"],EH=["textContent"],SH={class:"buttons is-centered"},$H=["textContent"];function AH(e,t,n,r,s,o){const i=$("mdicon"),a=$("list-directories"),l=$("list-playlists"),c=$("list-tracks"),d=$("modal-dialog-directory"),m=$("content-with-heading");return k(),T("div",null,[y(m,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.files.title"))},null,8,xH),u("p",{class:"title is-7 has-text-grey",textContent:g(o.current_directory)},null,8,EH)]),"heading-right":E(()=>[u("div",SH,[u("a",{class:"button is-small is-light is-rounded",onClick:t[0]||(t[0]=f=>s.show_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...f)=>o.play&&o.play(...f))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{textContent:g(e.$t("page.files.play"))},null,8,$H)])])]),content:E(()=>[y(a,{directories:s.dirs},null,8,["directories"]),y(l,{playlists:s.playlists},null,8,["playlists"]),y(c,{tracks:s.tracks,expression:o.play_expression,show_icon:!0},null,8,["tracks","expression"]),y(d,{show:s.show_details_modal,directory:o.current_directory,onClose:t[2]||(t[2]=f=>s.show_details_modal=!1)},null,8,["show","directory"])]),_:1})])}const TH=te(kH,[["render",AH]]),Sa={load(e){return Promise.all([V.library_genre(e.params.name,e.query.media_kind),V.library_genre_albums(e.params.name,e.query.media_kind)])},set(e,t){e.genre=t[0].data,e.albums_list=new ve(t[1].data.albums),e.albums_list.group(Rn("name_sort",!0))}},OH={name:"PageGenreAlbums",components:{ContentWithHeading:et,IndexButtonList:Jn,ListAlbums:ur,ModalDialogGenre:Fm},beforeRouteEnter(e,t,n){Sa.load(e).then(r=>{n(s=>Sa.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.albums_list.isEmpty()){n();return}const r=this;Sa.load(e).then(s=>{Sa.set(r,s),n()})},data(){return{albums_list:new ve,genre:{},media_kind:this.$route.query.media_kind,show_details_modal:!1}},methods:{open_tracks(){this.show_details_modal=!1,this.$router.push({name:"genre-tracks",params:{name:this.genre.name},query:{media_kind:this.media_kind}})},play(){V.player_play_expression(`genre is "${this.genre.name}" and media_kind is ${this.media_kind}`,!0)}}},DH=["textContent"],PH={class:"buttons is-centered"},IH=["textContent"],FH={class:"heading has-text-centered-mobile"},RH=["textContent"],LH=u("span",null," | ",-1),NH=["textContent"];function MH(e,t,n,r,s,o){const i=$("index-button-list"),a=$("mdicon"),l=$("list-albums"),c=$("modal-dialog-genre"),d=$("content-with-heading");return k(),T("div",null,[y(d,null,{options:E(()=>[y(i,{index:s.albums_list.indexList},null,8,["index"])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(s.genre.name)},null,8,DH)]),"heading-right":E(()=>[u("div",PH,[u("a",{class:"button is-small is-light is-rounded",onClick:t[0]||(t[0]=m=>s.show_details_modal=!0)},[y(a,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...m)=>o.play&&o.play(...m))},[y(a,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.genre.shuffle"))},null,8,IH)])])]),content:E(()=>[u("p",FH,[u("span",{textContent:g(e.$t("page.genre.album-count",{count:s.genre.album_count}))},null,8,RH),LH,u("a",{class:"has-text-link",onClick:t[2]||(t[2]=(...m)=>o.open_tracks&&o.open_tracks(...m)),textContent:g(e.$t("page.genre.track-count",{count:s.genre.track_count}))},null,8,NH)]),y(l,{albums:s.albums_list},null,8,["albums"]),y(c,{genre:s.genre,media_kind:s.media_kind,show:s.show_details_modal,onClose:t[3]||(t[3]=m=>s.show_details_modal=!1)},null,8,["genre","media_kind","show"])]),_:1})])}const VH=te(OH,[["render",MH]]),$a={load(e){return Promise.all([V.library_genre(e.params.name,e.query.media_kind),V.library_genre_tracks(e.params.name,e.query.media_kind)])},set(e,t){e.genre=t[0].data,e.tracks_list=new ve(t[1].data.tracks)}},HH={name:"PageGenreTracks",components:{ContentWithHeading:et,ControlDropdown:Ss,IndexButtonList:Jn,ListTracks:Cn,ModalDialogGenre:Fm},beforeRouteEnter(e,t,n){$a.load(e).then(r=>{n(s=>$a.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.tracks_list.isEmpty()){n();return}const r=this;$a.load(e).then(s=>{$a.set(r,s),n()})},data(){return{genre:{},groupby_options:[{id:1,name:this.$t("page.genre.sort.name"),options:Rn("title_sort")},{id:2,name:this.$t("page.genre.sort.rating"),options:Am("rating",{direction:"desc"})}],media_kind:this.$route.query.media_kind,show_details_modal:!1,tracks_list:new ve}},computed:{expression(){return`genre is "${this.genre.name}" and media_kind is ${this.media_kind}`},selected_groupby_option_id:{get(){return this.$store.state.genre_tracks_sort},set(e){this.$store.commit(Xh,e)}},tracks(){const e=this.groupby_options.find(t=>t.id===this.selected_groupby_option_id);return this.tracks_list.group(e.options),this.tracks_list}},methods:{open_genre(){this.show_details_modal=!1,this.$router.push({name:"genre-albums",params:{name:this.genre.name},query:{media_kind:this.media_kind}})},play(){V.player_play_expression(this.expression,!0)}}},UH={class:"columns"},BH={class:"column"},jH=["textContent"],qH=["textContent"],WH={class:"buttons is-centered"},GH=["textContent"],KH={class:"heading has-text-centered-mobile"},ZH=["textContent"],YH=u("span",null," | ",-1),JH=["textContent"];function XH(e,t,n,r,s,o){const i=$("index-button-list"),a=$("control-dropdown"),l=$("mdicon"),c=$("list-tracks"),d=$("modal-dialog-genre"),m=$("content-with-heading");return k(),T("div",null,[y(m,null,{options:E(()=>[y(i,{index:o.tracks.indexList},null,8,["index"]),u("div",UH,[u("div",BH,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.genre.sort.title"))},null,8,jH),y(a,{value:o.selected_groupby_option_id,"onUpdate:value":t[0]||(t[0]=f=>o.selected_groupby_option_id=f),options:s.groupby_options},null,8,["value","options"])])])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(s.genre.name)},null,8,qH)]),"heading-right":E(()=>[u("div",WH,[u("a",{class:"button is-small is-light is-rounded",onClick:t[1]||(t[1]=f=>s.show_details_modal=!0)},[y(l,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[2]||(t[2]=(...f)=>o.play&&o.play(...f))},[y(l,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.genre.shuffle"))},null,8,GH)])])]),content:E(()=>[u("p",KH,[u("a",{class:"has-text-link",onClick:t[3]||(t[3]=(...f)=>o.open_genre&&o.open_genre(...f)),textContent:g(e.$t("page.genre.album-count",{count:s.genre.album_count}))},null,8,ZH),YH,u("span",{textContent:g(e.$t("page.genre.track-count",{count:s.genre.track_count}))},null,8,JH)]),y(c,{tracks:o.tracks,expression:o.expression},null,8,["tracks","expression"]),y(d,{show:s.show_details_modal,genre:s.genre,media_kind:s.media_kind,onClose:t[4]||(t[4]=f=>s.show_details_modal=!1)},null,8,["show","genre","media_kind"])]),_:1})])}const QH=te(HH,[["render",XH]]),Aa={load(e){return V.library_genres("music")},set(e,t){e.genres=t.data,e.genres=new ve(t.data),e.genres.group(Rn("name_sort"))}},eU={name:"PageGenres",components:{ContentWithHeading:et,IndexButtonList:Jn,ListGenres:K1,TabsMusic:cr},beforeRouteEnter(e,t,n){Aa.load(e).then(r=>{n(s=>Aa.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;Aa.load(e).then(s=>{Aa.set(r,s),n()})},data(){return{genres:new ve}}},tU={class:"fd-page-with-tabs"},nU=["textContent"],rU=["textContent"];function sU(e,t,n,r,s,o){const i=$("tabs-music"),a=$("index-button-list"),l=$("list-genres"),c=$("content-with-heading");return k(),T("div",tU,[y(i),y(c,null,{options:E(()=>[y(a,{index:s.genres.indexList},null,8,["index"])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.genres.title"))},null,8,nU),u("p",{class:"heading",textContent:g(e.$t("page.genres.count",{count:s.genres.total}))},null,8,rU)]),content:E(()=>[y(l,{genres:s.genres,media_kind:"music"},null,8,["genres"])]),_:1})])}const oU=te(eU,[["render",sU]]),iU={name:"LyricsPane",data(){return this.lastIndex=-1,this.scrollingTimer=null,this.lastItemId=-1,{autoScrolling:!0}},computed:{is_playing(){return this.player.state==="play"},verse_index(){if(this.lyrics.length&&this.lyrics[0].time){const e=this.player.item_progress_ms/1e3,t=this.lyrics,n=this.player.item_id!==this.lastItemId,r=this.lastIndex>=0&&this.lastIndexe;if((n||r)&&this.reset_scrolling(),this.lastIndexe||this.lastIndex===t.length-1)return this.lastIndex;if(this.lastIndexe)return this.lastIndex+1;let s=0,o=t.length-1,i;for(;s<=o;){i=s+o>>1;const a=t[i],l=t[i+1];if(a.time<=e&&((l==null?void 0:l.time)>e||!l))return i;a.time{const o=n.exec(r);if(o&&o[4]){const i={text:o[4],time:o[2]*60+o[3]*1};t.push(i)}}),t.forEach((r,s,o)=>{const a=(s{const d=c.length*a;return l+=d,{duration:d,delay:l,text:c}})})}return t},player(){return this.$store.state.player}},watch:{verse_index(){this.autoScrolling&&this.scroll_to_verse(),this.lastIndex=this.verse_index}},methods:{reset_scrolling(){this.player.item_id!=this.lastItemId&&this.$refs.lyrics&&this.$refs.lyrics.scrollTo(0,0),this.lastItemId=this.player.item_id,this.lastIndex=-1},start_scrolling(e){(e.screenX||e.screenX!=0||e.screenY||e.screenY!=0)&&(this.autoScrolling=!1,this.scrollingTimer&&clearTimeout(this.scrollingTimer),this.scrollingTimer=setTimeout(this.autoScrolling=!0,2e3))},scroll_to_verse(){const e=this.$refs.lyrics;if(this.verse_index===-1){e.scrollTo(0,0);return}const t=e.children[this.verse_index];e.scrollBy({top:t.offsetTop-(e.offsetHeight>>1)+(t.offsetHeight>>1)-e.scrollTop,left:0,behavior:"smooth"})}}},aU=["textContent"],lU={key:1};function uU(e,t,n,r,s,o){return k(),T("div",{ref:"lyrics",class:"lyrics",onTouchstart:t[0]||(t[0]=i=>s.autoScrolling=!1),onTouchend:t[1]||(t[1]=i=>s.autoScrolling=!0),onScrollPassive:t[2]||(t[2]=(...i)=>o.start_scrolling&&o.start_scrolling(...i)),onWheelPassive:t[3]||(t[3]=(...i)=>o.start_scrolling&&o.start_scrolling(...i))},[(k(!0),T(we,null,ct(o.lyrics,(i,a)=>(k(),T(we,{key:a},[a===o.verse_index?(k(),T("div",{key:0,class:Ee({"is-highlighted":o.is_playing})},[(k(!0),T(we,null,ct(i.words,l=>(k(),T("span",{key:l,class:"has-text-weight-bold is-size-5"},[u("span",{style:Zr({"animation-duration":`${l.delay}s`}),textContent:g(l.text)},null,12,aU)]))),128))],2)):(k(),T("div",lU,g(i.text),1))],64))),128))],544)}const cU=te(iU,[["render",uU],["__scopeId","data-v-d4edaddb"]]),dU={name:"ModalDialogQueueItem",props:["show","item"],emits:["close"],data(){return{spotify_track:{}}},watch:{item(){if(this.item&&this.item.data_kind==="spotify"){const e=new Yn;e.setAccessToken(this.$store.state.spotify.webapi_token),e.getTrack(this.item.path.slice(this.item.path.lastIndexOf(":")+1)).then(t=>{this.spotify_track=t})}else this.spotify_track={}}},methods:{open_album(){this.item.data_kind==="spotify"?this.$router.push({name:"music-spotify-album",params:{id:this.spotify_track.album.id}}):this.item.media_kind==="podcast"?this.$router.push({name:"podcast",params:{id:this.item.album_id}}):this.item.media_kind==="audiobook"?this.$router.push({name:"audiobooks-album",params:{id:this.item.album_id}}):this.item.media_kind==="music"&&this.$router.push({name:"music-album",params:{id:this.item.album_id}})},open_album_artist(){this.item.data_kind==="spotify"?this.$router.push({name:"music-spotify-artist",params:{id:this.spotify_track.artists[0].id}}):this.item.media_kind==="music"||this.item.media_kind==="podcast"?this.$router.push({name:"music-artist",params:{id:this.item.album_artist_id}}):this.item.media_kind==="audiobook"&&this.$router.push({name:"audiobooks-artist",params:{id:this.item.album_artist_id}})},open_genre(){this.$router.push({name:"genre-albums",params:{name:this.item.genre},query:{media_kind:this.item.media_kind}})},play(){this.$emit("close"),V.player_play({item_id:this.item.id})},remove(){this.$emit("close"),V.queue_remove(this.item.id)}}},mU={key:0,class:"modal is-active"},fU={class:"modal-content fd-modal-card"},pU={class:"card"},hU={class:"card-content"},_U=["textContent"],gU=["textContent"],yU={class:"content is-small"},vU={key:0},bU=["textContent"],zU=["textContent"],CU={key:1},wU=["textContent"],kU=["textContent"],xU={key:2},EU=["textContent"],SU=["textContent"],$U={key:3},AU=["textContent"],TU=["textContent"],OU={key:4},DU=["textContent"],PU=["textContent"],IU={key:5},FU=["textContent"],RU=["textContent"],LU={key:6},NU=["textContent"],MU=["textContent"],VU=["textContent"],HU=["textContent"],UU=["textContent"],BU={class:"title is-6"},jU=["textContent"],qU={key:7},WU=["textContent"],GU={class:"title is-6"},KU=["textContent"],ZU=["textContent"],YU=["textContent"],JU=["textContent"],XU={class:"card-footer"},QU=["textContent"],eB=["textContent"];function tB(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",mU,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",fU,[u("div",pU,[u("div",hU,[u("p",{class:"title is-4",textContent:g(n.item.title)},null,8,_U),u("p",{class:"subtitle",textContent:g(n.item.artist)},null,8,gU),u("div",yU,[n.item.album?(k(),T("p",vU,[u("span",{class:"heading",textContent:g(e.$t("dialog.queue-item.album"))},null,8,bU),u("a",{class:"title is-6 has-text-link",onClick:t[1]||(t[1]=(...a)=>o.open_album&&o.open_album(...a)),textContent:g(n.item.album)},null,8,zU)])):M("",!0),n.item.album_artist?(k(),T("p",CU,[u("span",{class:"heading",textContent:g(e.$t("dialog.queue-item.album-artist"))},null,8,wU),u("a",{class:"title is-6 has-text-link",onClick:t[2]||(t[2]=(...a)=>o.open_album_artist&&o.open_album_artist(...a)),textContent:g(n.item.album_artist)},null,8,kU)])):M("",!0),n.item.composer?(k(),T("p",xU,[u("span",{class:"heading",textContent:g(e.$t("dialog.queue-item.composer"))},null,8,EU),u("span",{class:"title is-6",textContent:g(n.item.composer)},null,8,SU)])):M("",!0),n.item.year?(k(),T("p",$U,[u("span",{class:"heading",textContent:g(e.$t("dialog.queue-item.year"))},null,8,AU),u("span",{class:"title is-6",textContent:g(n.item.year)},null,8,TU)])):M("",!0),n.item.genre?(k(),T("p",OU,[u("span",{class:"heading",textContent:g(e.$t("dialog.queue-item.genre"))},null,8,DU),u("a",{class:"title is-6 has-text-link",onClick:t[3]||(t[3]=(...a)=>o.open_genre&&o.open_genre(...a)),textContent:g(n.item.genre)},null,8,PU)])):M("",!0),n.item.disc_number?(k(),T("p",IU,[u("span",{class:"heading",textContent:g(e.$t("dialog.queue-item.position"))},null,8,FU),u("span",{class:"title is-6",textContent:g([n.item.disc_number,n.item.track_number].join(" / "))},null,8,RU)])):M("",!0),n.item.length_ms?(k(),T("p",LU,[u("span",{class:"heading",textContent:g(e.$t("dialog.queue-item.duration"))},null,8,NU),u("span",{class:"title is-6",textContent:g(e.$filters.durationInHours(n.item.length_ms))},null,8,MU)])):M("",!0),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.queue-item.path"))},null,8,VU),u("span",{class:"title is-6",textContent:g(n.item.path)},null,8,HU)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.queue-item.type"))},null,8,UU),u("span",BU,[u("span",{textContent:g([e.$t("media.kind."+n.item.media_kind),e.$t("data.kind."+n.item.data_kind)].join(" - "))},null,8,jU)])]),n.item.samplerate?(k(),T("p",qU,[u("span",{class:"heading",textContent:g(e.$t("dialog.queue-item.quality"))},null,8,WU),u("span",GU,[u("span",{textContent:g(n.item.type)},null,8,KU),n.item.samplerate?(k(),T("span",{key:0,textContent:g(e.$t("dialog.queue-item.samplerate",{rate:n.item.samplerate}))},null,8,ZU)):M("",!0),n.item.channels?(k(),T("span",{key:1,textContent:g(e.$t("dialog.queue-item.channels",{channels:e.$filters.channels(n.item.channels)}))},null,8,YU)):M("",!0),n.item.bitrate?(k(),T("span",{key:2,textContent:g(e.$t("dialog.queue-item.bitrate",{rate:n.item.bitrate}))},null,8,JU)):M("",!0)])])):M("",!0)])]),u("footer",XU,[u("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...a)=>o.remove&&o.remove(...a))},[y(i,{class:"icon",name:"delete",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.queue-item.remove"))},null,8,QU)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[5]||(t[5]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.queue-item.play"))},null,8,eB)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[6]||(t[6]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const X1=te(dU,[["render",tB]]),Dr=1e3,nB={name:"PageNowPlaying",components:{ControlSlider:Jd,CoverArtwork:Fn,LyricsPane:cU,ModalDialogQueueItem:X1},data(){return{cursor:Gl,INTERVAL:Dr,interval_id:0,is_dragged:!1,selected_item:{},show_details_modal:!1}},computed:{is_live(){return this.track.length_ms===0},lyrics_visible(){return this.$store.getters.lyrics_pane},player(){return this.$store.state.player},track(){return this.$store.getters.now_playing},track_progress:{get(){return Math.floor(this.player.item_progress_ms/Dr)},set(e){this.player.item_progress_ms=e*Dr}},track_progress_max(){return this.is_live?1:Math.floor(this.track.length_ms/Dr)},track_elapsed_time(){return this.$filters.durationInHours(this.track_progress*Dr)},track_total_time(){return this.is_live?this.$t("page.now-playing.live"):this.$filters.durationInHours(this.track.length_ms)},settings_option_show_composer_now_playing(){return this.$store.getters.settings_option_show_composer_now_playing},settings_option_show_composer_for_genre(){return this.$store.getters.settings_option_show_composer_for_genre},composer(){return this.settings_option_show_composer_now_playing&&(!this.settings_option_show_composer_for_genre||this.track.genre&&this.settings_option_show_composer_for_genre.toLowerCase().split(",").findIndex(e=>this.track.genre.toLowerCase().indexOf(e.trim())>=0)>=0)?this.track.composer:null},settings_option_show_filepath_now_playing(){return this.$store.getters.settings_option_show_filepath_now_playing},filepath(){return this.settings_option_show_filepath_now_playing?this.track.path:null}},watch:{player(){this.interval_id>0&&(window.clearTimeout(this.interval_id),this.interval_id=0),this.player.state==="play"&&(this.interval_id=window.setInterval(this.tick,Dr))}},created(){V.player_status().then(({data:e})=>{this.$store.commit(pd,e),this.player.state==="play"&&(this.interval_id=window.setInterval(this.tick,Dr))})},unmounted(){this.interval_id>0&&(window.clearTimeout(this.interval_id),this.interval_id=0)},methods:{tick(){this.is_dragged||(this.track_progress+=1)},start_dragging(){this.is_dragged=!0},end_dragging(){this.is_dragged=!1},seek(){this.is_live||V.player_seek_to_pos(this.track_progress*Dr)},open_dialog(e){this.selected_item=e,this.show_details_modal=!0}}},rB={class:"hero is-full-height"},sB={key:0,class:"hero-body is-flex is-align-items-center"},oB={class:"container has-text-centered",style:{"max-width":"500px"}},iB={class:"is-flex is-justify-content-space-between"},aB=["textContent"],lB=["textContent"],uB=["textContent"],cB=["textContent"],dB=["textContent"],mB=["textContent"],fB=["textContent"],pB={key:1,class:"hero-body is-flex is-align-items-center"},hB={class:"container has-text-centered"},_B=["textContent"],gB=["textContent"];function yB(e,t,n,r,s,o){const i=$("cover-artwork"),a=$("lyrics-pane"),l=$("control-slider"),c=$("modal-dialog-queue-item");return k(),T("div",rB,[o.track.id>0?(k(),T("div",sB,[u("div",oB,[y(i,{artwork_url:o.track.artwork_url,artist:o.track.artist,album:o.track.album,class:Ee(["is-clickable fd-has-shadow fd-cover-big-image",{"is-masked":o.lyrics_visible}]),onClick:t[0]||(t[0]=d=>o.open_dialog(o.track))},null,8,["artwork_url","artist","album","class"]),o.lyrics_visible?(k(),_e(a,{key:0})):M("",!0),y(l,{value:o.track_progress,"onUpdate:value":t[1]||(t[1]=d=>o.track_progress=d),class:"mt-5",disabled:o.is_live,max:o.track_progress_max,cursor:s.cursor,onChange:o.seek,onMousedown:o.start_dragging,onMouseup:o.end_dragging},null,8,["value","disabled","max","cursor","onChange","onMousedown","onMouseup"]),u("div",iB,[u("p",{class:"subtitle is-7",textContent:g(o.track_elapsed_time)},null,8,aB),u("p",{class:"subtitle is-7",textContent:g(o.track_total_time)},null,8,lB)]),u("p",{class:"title is-5",textContent:g(o.track.title)},null,8,uB),u("p",{class:"title is-6",textContent:g(o.track.artist)},null,8,cB),o.composer?(k(),T("p",{key:1,class:"subtitle is-6 has-text-grey has-text-weight-bold",textContent:g(o.composer)},null,8,dB)):M("",!0),o.track.album?(k(),T("p",{key:2,class:"subtitle is-6",textContent:g(o.track.album)},null,8,mB)):M("",!0),o.filepath?(k(),T("p",{key:3,class:"subtitle is-6 has-text-grey",textContent:g(o.filepath)},null,8,fB)):M("",!0)])])):(k(),T("div",pB,[u("div",hB,[u("p",{class:"title is-5",textContent:g(e.$t("page.now-playing.title"))},null,8,_B),u("p",{class:"subtitle",textContent:g(e.$t("page.now-playing.info"))},null,8,gB)])])),y(c,{show:s.show_details_modal,item:s.selected_item,onClose:t[2]||(t[2]=d=>s.show_details_modal=!1)},null,8,["show","item"])])}const vB=te(nB,[["render",yB]]),Ta={load(e){return Promise.all([V.library_playlist(e.params.id),V.library_playlist_folder(e.params.id)])},set(e,t){e.playlist=t[0].data,e.playlists_list=new ve(t[1].data)}},bB={name:"PagePlaylistFolder",components:{ContentWithHeading:et,ListPlaylists:Nm},beforeRouteEnter(e,t,n){Ta.load(e).then(r=>{n(s=>Ta.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;Ta.load(e).then(s=>{Ta.set(r,s),n()})},data(){return{playlist:{},playlists_list:new ve}},computed:{playlists(){return this.playlists_list.group($m(),[e=>e.folder||this.radio_playlists||e.stream_count===0||e.item_count>e.stream_count]),this.playlists_list},radio_playlists(){return this.$store.state.config.radio_playlists}}},zB=["textContent"],CB=["textContent"];function wB(e,t,n,r,s,o){const i=$("list-playlists"),a=$("content-with-heading");return k(),T("div",null,[y(a,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(s.playlist.id===0?e.$t("page.playlists.title"):s.playlist.name)},null,8,zB),u("p",{class:"heading",textContent:g(e.$t("page.playlists.count",{count:o.playlists.count}))},null,8,CB)]),content:E(()=>[y(i,{playlists:o.playlists},null,8,["playlists"])]),_:1})])}const kB=te(bB,[["render",wB]]),Oa={load(e){return Promise.all([V.library_playlist(e.params.id),V.library_playlist_tracks(e.params.id)])},set(e,t){e.playlist=t[0].data,e.tracks=new ve(t[1].data)}},xB={name:"PagePlaylistTracks",components:{ContentWithHeading:et,ListTracks:Cn,ModalDialogPlaylist:J1},beforeRouteEnter(e,t,n){Oa.load(e).then(r=>{n(s=>Oa.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;Oa.load(e).then(s=>{Oa.set(r,s),n()})},data(){return{playlist:{},show_details_modal:!1,tracks:new ve}},computed:{uris(){return this.playlist.random?this.tracks.map(e=>e.uri).join(","):this.playlist.uri}},methods:{play(){V.player_play_uri(this.uris,!0)}}},EB=["textContent"],SB={class:"buttons is-centered"},$B=["textContent"],AB=["textContent"];function TB(e,t,n,r,s,o){const i=$("mdicon"),a=$("list-tracks"),l=$("modal-dialog-playlist"),c=$("content-with-heading");return k(),T("div",null,[y(c,null,{"heading-left":E(()=>[u("div",{class:"title is-4",textContent:g(s.playlist.name)},null,8,EB)]),"heading-right":E(()=>[u("div",SB,[u("a",{class:"button is-small is-light is-rounded",onClick:t[0]||(t[0]=d=>s.show_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...d)=>o.play&&o.play(...d))},[y(i,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.playlist.shuffle"))},null,8,$B)])])]),content:E(()=>[u("p",{class:"heading has-text-centered-mobile",textContent:g(e.$t("page.playlist.track-count",{count:s.tracks.count}))},null,8,AB),y(a,{tracks:s.tracks,uris:o.uris},null,8,["tracks","uris"]),y(l,{show:s.show_details_modal,playlist:s.playlist,uris:o.uris,onClose:t[2]||(t[2]=d=>s.show_details_modal=!1)},null,8,["show","playlist","uris"])]),_:1})])}const OB=te(xB,[["render",TB]]),ld=50,Da={load(e){const t=new Yn;return t.setAccessToken(He.state.spotify.webapi_token),Promise.all([t.getPlaylist(e.params.id),t.getPlaylistTracks(e.params.id,{limit:ld,offset:0,market:He.state.spotify.webapi_country})])},set(e,t){e.playlist=t[0],e.tracks=[],e.total=0,e.offset=0,e.append_tracks(t[1])}},DB={name:"PagePlaylistTracksSpotify",components:{ContentWithHeading:et,ListItemTrackSpotify:Tm,ModalDialogPlaylistSpotify:fu,ModalDialogTrackSpotify:Om,VueEternalLoading:Dm},beforeRouteEnter(e,t,n){Da.load(e).then(r=>{n(s=>Da.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;Da.load(e).then(s=>{Da.set(r,s),n()})},data(){return{playlist:{tracks:{}},tracks:[],total:0,offset:0,show_track_details_modal:!1,selected_track:{},show_playlist_details_modal:!1}},methods:{load_next({loaded:e}){const t=new Yn;t.setAccessToken(this.$store.state.spotify.webapi_token),t.getPlaylistTracks(this.playlist.id,{limit:ld,offset:this.offset,market:He.state.spotify.webapi_country}).then(n=>{this.append_tracks(n),e(n.items.length,ld)})},append_tracks(e){let t=Math.max(-1,...this.tracks.map(n=>n.position).filter(n=>n));e.items.forEach(n=>{const{track:r}=n;r&&(r.is_playable&&(r.position=++t),this.tracks.push(r))}),this.total=e.total,this.offset+=e.limit},play(){this.show_details_modal=!1,V.player_play_uri(this.playlist.uri,!0)},open_track_dialog(e){this.selected_track=e,this.show_track_details_modal=!0}}},PB=["textContent"],IB={class:"buttons is-centered"},FB=["textContent"],RB=["textContent"],LB=["onClick"],NB={class:"columns is-centered"},MB={class:"column has-text-centered"};function VB(e,t,n,r,s,o){const i=$("mdicon"),a=$("list-item-track-spotify"),l=$("VueEternalLoading"),c=$("modal-dialog-track-spotify"),d=$("modal-dialog-playlist-spotify"),m=$("content-with-heading");return k(),T("div",null,[y(m,null,{"heading-left":E(()=>[u("div",{class:"title is-4",textContent:g(s.playlist.name)},null,8,PB)]),"heading-right":E(()=>[u("div",IB,[u("a",{class:"button is-small is-light is-rounded",onClick:t[0]||(t[0]=f=>s.show_playlist_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...f)=>o.play&&o.play(...f))},[y(i,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.spotify.playlist.shuffle"))},null,8,FB)])])]),content:E(()=>[u("p",{class:"heading has-text-centered-mobile",textContent:g(e.$t("page.spotify.playlist.count",{count:s.playlist.tracks.total}))},null,8,RB),(k(!0),T(we,null,ct(s.tracks,f=>(k(),_e(a,{key:f.id,track:f,position:f.position,context_uri:s.playlist.uri},{actions:E(()=>[u("a",{onClick:st(p=>o.open_track_dialog(f),["prevent","stop"])},[y(i,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,LB)]),_:2},1032,["track","position","context_uri"]))),128)),s.offset[u("div",NB,[u("div",MB,[y(i,{class:"icon mdi-spin",name:"loading"})])])]),"no-more":E(()=>[gt(" ")]),_:1},8,["load"])):M("",!0),y(c,{show:s.show_track_details_modal,track:s.selected_track,album:s.selected_track.album,onClose:t[2]||(t[2]=f=>s.show_track_details_modal=!1)},null,8,["show","track","album"]),y(d,{show:s.show_playlist_details_modal,playlist:s.playlist,onClose:t[3]||(t[3]=f=>s.show_playlist_details_modal=!1)},null,8,["show","playlist"])]),_:1})])}const HB=te(DB,[["render",VB]]),Pa={load(e){return Promise.all([V.library_album(e.params.id),V.library_podcast_episodes(e.params.id)])},set(e,t){e.album=t[0].data,e.tracks=new ve(t[1].data.tracks)}},UB={name:"PagePodcast",components:{ContentWithHero:uu,CoverArtwork:Fn,ListTracks:Cn,ModalDialog:fm,ModalDialogAlbum:cu},beforeRouteEnter(e,t,n){Pa.load(e).then(r=>{n(s=>Pa.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;Pa.load(e).then(s=>{Pa.set(r,s),n()})},data(){return{album:{},rss_playlist_to_remove:{},show_details_modal:!1,show_remove_podcast_modal:!1,tracks:new ve}},computed:{new_tracks(){return this.tracks.items.filter(e=>e.play_count===0).length}},methods:{open_remove_podcast_dialog(){V.library_track_playlists(this.tracks.items[0].id).then(({data:e})=>{[this.rss_playlist_to_remove]=e.items.filter(t=>t.type==="rss"),this.show_remove_podcast_modal=!0,this.show_details_modal=!1})},play(){V.player_play_uri(this.album.uri,!1)},reload_tracks(){V.library_podcast_episodes(this.album.id).then(({data:e})=>{this.tracks=new ve(e.tracks)})},remove_podcast(){this.show_remove_podcast_modal=!1,V.library_playlist_delete(this.rss_playlist_to_remove.id).then(()=>{this.$router.replace({name:"podcasts"})})}}},BB=["textContent"],jB=u("h2",{class:"subtitle is-6"}," ",-1),qB={class:"buttons fd-is-centered-mobile mt-5"},WB=["textContent"],GB=["textContent"],KB=["textContent"],ZB={class:"is-size-7"},YB=["textContent"],JB=["textContent"];function XB(e,t,n,r,s,o){const i=$("mdicon"),a=$("cover-artwork"),l=$("list-tracks"),c=$("modal-dialog-album"),d=$("modal-dialog"),m=$("content-with-hero");return k(),T("div",null,[y(m,null,{"heading-left":E(()=>[u("h1",{class:"title is-5",textContent:g(s.album.name)},null,8,BB),jB,u("div",qB,[u("a",{class:"button is-small is-dark is-rounded",onClick:t[0]||(t[0]=(...f)=>o.play&&o.play(...f))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{textContent:g(e.$t("page.podcast.play"))},null,8,WB)]),u("a",{class:"button is-small is-light is-rounded",onClick:t[1]||(t[1]=f=>s.show_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})])])]),"heading-right":E(()=>[y(a,{artwork_url:s.album.artwork_url,artist:s.album.artist,album:s.album.name,class:"is-clickable fd-has-shadow fd-cover fd-cover-medium-image",onClick:t[2]||(t[2]=f=>s.show_details_modal=!0)},null,8,["artwork_url","artist","album"])]),content:E(()=>[u("p",{class:"heading is-7 has-text-centered-mobile mt-5",textContent:g(e.$t("page.podcast.track-count",{count:s.album.track_count}))},null,8,GB),y(l,{tracks:s.tracks,show_progress:!0,onPlayCountChanged:o.reload_tracks},null,8,["tracks","onPlayCountChanged"]),y(c,{show:s.show_details_modal,album:s.album,media_kind:"podcast",new_tracks:o.new_tracks,onClose:t[3]||(t[3]=f=>s.show_details_modal=!1),onPlayCountChanged:o.reload_tracks,onRemovePodcast:o.open_remove_podcast_dialog},null,8,["show","album","new_tracks","onPlayCountChanged","onRemovePodcast"]),y(d,{show:s.show_remove_podcast_modal,title:e.$t("page.podcast.remove-podcast"),delete_action:e.$t("page.podcast.remove"),onClose:t[4]||(t[4]=f=>s.show_remove_podcast_modal=!1),onDelete:o.remove_podcast},{"modal-content":E(()=>[u("p",{textContent:g(e.$t("page.podcast.remove-info-1"))},null,8,KB),u("p",ZB,[gt(" ("),u("span",{textContent:g(e.$t("page.podcast.remove-info-2"))},null,8,YB),u("b",{textContent:g(s.rss_playlist_to_remove.name)},null,8,JB),gt(") ")])]),_:1},8,["show","title","delete_action","onDelete"])]),_:1})])}const QB=te(UB,[["render",XB]]),ej={name:"ModalDialogAddRss",props:["show"],emits:["close","podcast-added"],data(){return{url:"",loading:!1}},watch:{show(){this.show&&(this.loading=!1,setTimeout(()=>{this.$refs.url_field.focus()},10))}},methods:{add_stream(){this.loading=!0,V.library_add(this.url).then(()=>{this.$emit("close"),this.$emit("podcast-added"),this.url=""}).catch(()=>{this.loading=!1})}}},tj={key:0,class:"modal is-active"},nj={class:"modal-content fd-modal-card"},rj={class:"card-content"},sj=["textContent"],oj={class:"field"},ij={class:"control is-expanded has-icons-left"},aj=["placeholder","disabled"],lj=["textContent"],uj={key:0,class:"card-footer"},cj={class:"card-footer-item has-text-dark"},dj=["textContent"],mj={key:1,class:"card-footer is-clipped"},fj=["textContent"],pj=["textContent"];function hj(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",tj,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",nj,[u("form",{class:"card",onSubmit:t[4]||(t[4]=st((...a)=>o.add_stream&&o.add_stream(...a),["prevent"]))},[u("div",rj,[u("p",{class:"title is-4",textContent:g(e.$t("dialog.add.rss.title"))},null,8,sj),u("div",oj,[u("p",ij,[yt(u("input",{ref:"url_field","onUpdate:modelValue":t[1]||(t[1]=a=>s.url=a),class:"input is-shadowless",type:"url",pattern:"http[s]?://.*",required:"",placeholder:e.$t("dialog.add.rss.placeholder"),disabled:s.loading},null,8,aj),[[dn,s.url]]),y(i,{class:"icon is-left",name:"rss",size:"16"})]),u("p",{class:"help",textContent:g(e.$t("dialog.add.rss.help"))},null,8,lj)])]),s.loading?(k(),T("footer",uj,[u("a",cj,[y(i,{class:"icon",name:"web",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.add.rss.processing"))},null,8,dj)])])):(k(),T("footer",mj,[u("a",{class:"card-footer-item has-text-dark",onClick:t[2]||(t[2]=a=>e.$emit("close"))},[y(i,{class:"icon",name:"cancel",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.add.rss.cancel"))},null,8,fj)]),u("a",{class:"card-footer-item has-background-info has-text-white has-text-weight-bold",onClick:t[3]||(t[3]=(...a)=>o.add_stream&&o.add_stream(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.add.rss.add"))},null,8,pj)])]))],32)]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[5]||(t[5]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const _j=te(ej,[["render",hj]]),Ia={load(e){return Promise.all([V.library_albums("podcast"),V.library_podcasts_new_episodes()])},set(e,t){e.albums=new ve(t[0].data),e.new_episodes=new ve(t[1].data.tracks)}},gj={name:"PagePodcasts",components:{ContentWithHeading:et,ListTracks:Cn,ListAlbums:ur,ModalDialogAddRss:_j},beforeRouteEnter(e,t,n){Ia.load(e).then(r=>{n(s=>Ia.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;Ia.load(e).then(s=>{Ia.set(r,s),n()})},data(){return{albums:[],new_episodes:{items:[]},show_url_modal:!1}},computed:{rss(){return this.$store.state.rss_count}},methods:{mark_all_played(){this.new_episodes.items.forEach(e=>{V.library_track_update(e.id,{play_count:"increment"})}),this.new_episodes.items={}},open_add_podcast_dialog(e){this.show_url_modal=!0},reload_new_episodes(){V.library_podcasts_new_episodes().then(({data:e})=>{this.new_episodes=new ve(e.tracks)})},reload_podcasts(){V.library_albums("podcast").then(({data:e})=>{this.albums=new ve(e),this.reload_new_episodes()})},update_rss(){this.$store.commit(yd,"rss"),this.$store.commit(bi,!0)}}},yj=["textContent"],vj={class:"buttons is-centered"},bj=["textContent"],zj=["textContent"],Cj=["textContent"],wj={class:"buttons is-centered"},kj=["textContent"],xj=["textContent"];function Ej(e,t,n,r,s,o){const i=$("mdicon"),a=$("list-tracks"),l=$("content-with-heading"),c=$("list-albums"),d=$("modal-dialog-add-rss");return k(),T("div",null,[s.new_episodes.items.length>0?(k(),_e(l,{key:0},{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.podcasts.new-episodes"))},null,8,yj)]),"heading-right":E(()=>[u("div",vj,[u("a",{class:"button is-small",onClick:t[0]||(t[0]=(...m)=>o.mark_all_played&&o.mark_all_played(...m))},[y(i,{class:"icon",name:"pencil",size:"16"}),u("span",{textContent:g(e.$t("page.podcasts.mark-all-played"))},null,8,bj)])])]),content:E(()=>[y(a,{tracks:s.new_episodes,show_progress:!0,onPlayCountChanged:o.reload_new_episodes},null,8,["tracks","onPlayCountChanged"])]),_:1})):M("",!0),y(l,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.podcasts.title"))},null,8,zj),u("p",{class:"heading",textContent:g(e.$t("page.podcasts.count",{count:s.albums.total}))},null,8,Cj)]),"heading-right":E(()=>[u("div",wj,[o.rss.tracks>0?(k(),T("a",{key:0,class:"button is-small",onClick:t[1]||(t[1]=(...m)=>o.update_rss&&o.update_rss(...m))},[y(i,{class:"icon",name:"refresh",size:"16"}),u("span",{textContent:g(e.$t("page.podcasts.update"))},null,8,kj)])):M("",!0),u("a",{class:"button is-small",onClick:t[2]||(t[2]=(...m)=>o.open_add_podcast_dialog&&o.open_add_podcast_dialog(...m))},[y(i,{class:"icon",name:"rss",size:"16"}),u("span",{textContent:g(e.$t("page.podcasts.add"))},null,8,xj)])])]),content:E(()=>[y(c,{albums:s.albums,onPlayCountChanged:t[3]||(t[3]=m=>o.reload_new_episodes()),onPodcastDeleted:t[4]||(t[4]=m=>o.reload_podcasts())},null,8,["albums"]),y(d,{show:s.show_url_modal,onClose:t[5]||(t[5]=m=>s.show_url_modal=!1),onPodcastAdded:t[6]||(t[6]=m=>o.reload_podcasts())},null,8,["show"])]),_:1})])}const Sj=te(gj,[["render",Ej]]),Fa={load(e){return V.library_radio_streams()},set(e,t){e.tracks=new ve(t.data.tracks)}},$j={name:"PageRadioStreams",components:{ContentWithHeading:et,ListTracks:Cn},beforeRouteEnter(e,t,n){Fa.load(e).then(r=>{n(s=>Fa.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;Fa.load(e).then(s=>{Fa.set(r,s),n()})},data(){return{tracks:new ve}}},Aj=["textContent"],Tj=["textContent"];function Oj(e,t,n,r,s,o){const i=$("list-tracks"),a=$("content-with-heading");return k(),T("div",null,[y(a,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.radio.title"))},null,8,Aj),u("p",{class:"heading has-text-centered-mobile",textContent:g(e.$t("page.radio.count",{count:s.tracks.total}))},null,8,Tj)]),content:E(()=>[y(i,{tracks:s.tracks},null,8,["tracks"])]),_:1})])}const Dj=te($j,[["render",Oj]]);var Q1={exports:{}};/**! * Sortable 1.14.0 * @author RubaXa * @author owenm * @license MIT - */function Ah(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function ar(e){for(var t=1;t=0)&&(n[s]=e[s]);return n}function Oj(e,t){if(e==null)return{};var n=Tj(e,t),r,s;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(s=0;s=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Dj(e){return Pj(e)||Ij(e)||Fj(e)||Rj()}function Pj(e){if(Array.isArray(e))return ud(e)}function Ij(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Fj(e,t){if(e){if(typeof e=="string")return ud(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ud(e,t)}}function ud(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n"&&(t=t.substring(1)),e)try{if(e.matches)return e.matches(t);if(e.msMatchesSelector)return e.msMatchesSelector(t);if(e.webkitMatchesSelector)return e.webkitMatchesSelector(t)}catch{return!1}return!1}}function Mj(e){return e.host&&e!==document&&e.host.nodeType?e.host:e.parentNode}function Hn(e,t,n,r){if(e){n=n||document;do{if(t!=null&&(t[0]===">"?e.parentNode===n&&kl(e,t):kl(e,t))||r&&e===n)return e;if(e===n)break}while(e=Mj(e))}return null}var Oh=/\s+/g;function wt(e,t,n){if(e&&t)if(e.classList)e.classList[n?"add":"remove"](t);else{var r=(" "+e.className+" ").replace(Oh," ").replace(" "+t+" "," ");e.className=(r+(n?" "+t:"")).replace(Oh," ")}}function Ce(e,t,n){var r=e&&e.style;if(r){if(n===void 0)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(e,""):e.currentStyle&&(n=e.currentStyle),t===void 0?n:n[t];!(t in r)&&t.indexOf("webkit")===-1&&(t="-webkit-"+t),r[t]=n+(typeof n=="string"?"":"px")}}function _s(e,t){var n="";if(typeof e=="string")n=e;else do{var r=Ce(e,"transform");r&&r!=="none"&&(n=r+" "+n)}while(!t&&(e=e.parentNode));var s=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return s&&new s(n)}function nb(e,t,n){if(e){var r=e.getElementsByTagName(t),s=0,o=r.length;if(n)for(;s=o:i=s<=o,!i)return r;if(r===or())break;r=Br(r,!1)}return!1}function uo(e,t,n,r){for(var s=0,o=0,i=e.children;o2&&arguments[2]!==void 0?arguments[2]:{},s=r.evt,o=Oj(r,Wj);Li.pluginEvent.bind(Oe)(t,n,ar({dragEl:ce,parentEl:kt,ghostEl:Me,rootEl:vt,nextEl:is,lastDownEl:Ja,cloneEl:xt,cloneHidden:Ur,dragStarted:No,putSortable:Ht,activeSortable:Oe.active,originalEvent:s,oldIndex:Bs,oldDraggableIndex:ei,newIndex:pn,newDraggableIndex:Vr,hideGhostForTarget:lb,unhideGhostForTarget:ub,cloneNowHidden:function(){Ur=!0},cloneNowShown:function(){Ur=!1},dispatchSortableEvent:function(a){Yt({sortable:n,name:a,originalEvent:s})}},o))};function Yt(e){Lo(ar({putSortable:Ht,cloneEl:xt,targetEl:ce,rootEl:vt,oldIndex:Bs,oldDraggableIndex:ei,newIndex:pn,newDraggableIndex:Vr},e))}var ce,kt,Me,vt,is,Ja,xt,Ur,Bs,pn,ei,Vr,Ra,Ht,Vs=!1,xl=!1,El=[],ss,Mn,ec,tc,Fh,Rh,No,Is,ti,ni=!1,La=!1,Xa,Bt,nc=[],cd=!1,Sl=[],pu=typeof document<"u",Na=eb,Lh=Ri||wr?"cssFloat":"float",Gj=pu&&!Nj&&!eb&&"draggable"in document.createElement("div"),ob=function(){if(pu){if(wr)return!1;var e=document.createElement("x");return e.style.cssText="pointer-events:auto",e.style.pointerEvents==="auto"}}(),ib=function(t,n){var r=Ce(t),s=parseInt(r.width)-parseInt(r.paddingLeft)-parseInt(r.paddingRight)-parseInt(r.borderLeftWidth)-parseInt(r.borderRightWidth),o=uo(t,0,n),i=uo(t,1,n),a=o&&Ce(o),l=i&&Ce(i),c=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+bt(o).width,d=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+bt(i).width;if(r.display==="flex")return r.flexDirection==="column"||r.flexDirection==="column-reverse"?"vertical":"horizontal";if(r.display==="grid")return r.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(o&&a.float&&a.float!=="none"){var m=a.float==="left"?"left":"right";return i&&(l.clear==="both"||l.clear===m)?"vertical":"horizontal"}return o&&(a.display==="block"||a.display==="flex"||a.display==="table"||a.display==="grid"||c>=s&&r[Lh]==="none"||i&&r[Lh]==="none"&&c+d>s)?"vertical":"horizontal"},Kj=function(t,n,r){var s=r?t.left:t.top,o=r?t.right:t.bottom,i=r?t.width:t.height,a=r?n.left:n.top,l=r?n.right:n.bottom,c=r?n.width:n.height;return s===a||o===l||s+i/2===a+c/2},Zj=function(t,n){var r;return El.some(function(s){var o=s[Wt].options.emptyInsertThreshold;if(!(!o||Mm(s))){var i=bt(s),a=t>=i.left-o&&t<=i.right+o,l=n>=i.top-o&&n<=i.bottom+o;if(a&&l)return r=s}}),r},ab=function(t){function n(o,i){return function(a,l,c,d){var m=a.options.group.name&&l.options.group.name&&a.options.group.name===l.options.group.name;if(o==null&&(i||m))return!0;if(o==null||o===!1)return!1;if(i&&o==="clone")return o;if(typeof o=="function")return n(o(a,l,c,d),i)(a,l,c,d);var f=(i?a:l).options.group.name;return o===!0||typeof o=="string"&&o===f||o.join&&o.indexOf(f)>-1}}var r={},s=t.group;(!s||Ya(s)!="object")&&(s={name:s}),r.name=s.name,r.checkPull=n(s.pull,!0),r.checkPut=n(s.put),r.revertClone=s.revertClone,t.group=r},lb=function(){!ob&&Me&&Ce(Me,"display","none")},ub=function(){!ob&&Me&&Ce(Me,"display","")};pu&&document.addEventListener("click",function(e){if(xl)return e.preventDefault(),e.stopPropagation&&e.stopPropagation(),e.stopImmediatePropagation&&e.stopImmediatePropagation(),xl=!1,!1},!0);var os=function(t){if(ce){t=t.touches?t.touches[0]:t;var n=Zj(t.clientX,t.clientY);if(n){var r={};for(var s in t)t.hasOwnProperty(s)&&(r[s]=t[s]);r.target=r.rootEl=n,r.preventDefault=void 0,r.stopPropagation=void 0,n[Wt]._onDragOver(r)}}},Yj=function(t){ce&&ce.parentNode[Wt]._isOutsideThisEl(t.target)};function Oe(e,t){if(!(e&&e.nodeType&&e.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(e));this.el=e,this.options=t=Pn({},t),e[Wt]=this;var n={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(e.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return ib(e,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(i,a){i.setData("Text",a.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:Oe.supportPointer!==!1&&"PointerEvent"in window&&!Xo,emptyInsertThreshold:5};Li.initializePlugins(this,e,n);for(var r in n)!(r in t)&&(t[r]=n[r]);ab(t);for(var s in this)s.charAt(0)==="_"&&typeof this[s]=="function"&&(this[s]=this[s].bind(this));this.nativeDraggable=t.forceFallback?!1:Gj,this.nativeDraggable&&(this.options.touchStartThreshold=1),t.supportPointer?Ge(e,"pointerdown",this._onTapStart):(Ge(e,"mousedown",this._onTapStart),Ge(e,"touchstart",this._onTapStart)),this.nativeDraggable&&(Ge(e,"dragover",this),Ge(e,"dragenter",this)),El.push(this.el),t.store&&t.store.get&&this.sort(t.store.get(this)||[]),Pn(this,Bj())}Oe.prototype={constructor:Oe,_isOutsideThisEl:function(t){!this.el.contains(t)&&t!==this.el&&(Is=null)},_getDirection:function(t,n){return typeof this.options.direction=="function"?this.options.direction.call(this,t,n,ce):this.options.direction},_onTapStart:function(t){if(t.cancelable){var n=this,r=this.el,s=this.options,o=s.preventOnFilter,i=t.type,a=t.touches&&t.touches[0]||t.pointerType&&t.pointerType==="touch"&&t,l=(a||t).target,c=t.target.shadowRoot&&(t.path&&t.path[0]||t.composedPath&&t.composedPath()[0])||l,d=s.filter;if(sq(r),!ce&&!(/mousedown|pointerdown/.test(i)&&t.button!==0||s.disabled)&&!c.isContentEditable&&!(!this.nativeDraggable&&Xo&&l&&l.tagName.toUpperCase()==="SELECT")&&(l=Hn(l,s.draggable,r,!1),!(l&&l.animated)&&Ja!==l)){if(Bs=St(l),ei=St(l,s.draggable),typeof d=="function"){if(d.call(this,t,l,this)){Yt({sortable:n,rootEl:c,name:"filter",targetEl:l,toEl:r,fromEl:r}),tn("filter",n,{evt:t}),o&&t.cancelable&&t.preventDefault();return}}else if(d&&(d=d.split(",").some(function(m){if(m=Hn(c,m.trim(),r,!1),m)return Yt({sortable:n,rootEl:m,name:"filter",targetEl:l,fromEl:r,toEl:r}),tn("filter",n,{evt:t}),!0}),d)){o&&t.cancelable&&t.preventDefault();return}s.handle&&!Hn(c,s.handle,r,!1)||this._prepareDragStart(t,a,l)}}},_prepareDragStart:function(t,n,r){var s=this,o=s.el,i=s.options,a=o.ownerDocument,l;if(r&&!ce&&r.parentNode===o){var c=bt(r);if(vt=o,ce=r,kt=ce.parentNode,is=ce.nextSibling,Ja=r,Ra=i.group,Oe.dragged=ce,ss={target:ce,clientX:(n||t).clientX,clientY:(n||t).clientY},Fh=ss.clientX-c.left,Rh=ss.clientY-c.top,this._lastX=(n||t).clientX,this._lastY=(n||t).clientY,ce.style["will-change"]="all",l=function(){if(tn("delayEnded",s,{evt:t}),Oe.eventCanceled){s._onDrop();return}s._disableDelayedDragEvents(),!Th&&s.nativeDraggable&&(ce.draggable=!0),s._triggerDragStart(t,n),Yt({sortable:s,name:"choose",originalEvent:t}),wt(ce,i.chosenClass,!0)},i.ignore.split(",").forEach(function(d){nb(ce,d.trim(),rc)}),Ge(a,"dragover",os),Ge(a,"mousemove",os),Ge(a,"touchmove",os),Ge(a,"mouseup",s._onDrop),Ge(a,"touchend",s._onDrop),Ge(a,"touchcancel",s._onDrop),Th&&this.nativeDraggable&&(this.options.touchStartThreshold=4,ce.draggable=!0),tn("delayStart",this,{evt:t}),i.delay&&(!i.delayOnTouchOnly||n)&&(!this.nativeDraggable||!(Ri||wr))){if(Oe.eventCanceled){this._onDrop();return}Ge(a,"mouseup",s._disableDelayedDrag),Ge(a,"touchend",s._disableDelayedDrag),Ge(a,"touchcancel",s._disableDelayedDrag),Ge(a,"mousemove",s._delayedDragTouchMoveHandler),Ge(a,"touchmove",s._delayedDragTouchMoveHandler),i.supportPointer&&Ge(a,"pointermove",s._delayedDragTouchMoveHandler),s._dragStartTimer=setTimeout(l,i.delay)}else l()}},_delayedDragTouchMoveHandler:function(t){var n=t.touches?t.touches[0]:t;Math.max(Math.abs(n.clientX-this._lastX),Math.abs(n.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){ce&&rc(ce),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;je(t,"mouseup",this._disableDelayedDrag),je(t,"touchend",this._disableDelayedDrag),je(t,"touchcancel",this._disableDelayedDrag),je(t,"mousemove",this._delayedDragTouchMoveHandler),je(t,"touchmove",this._delayedDragTouchMoveHandler),je(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,n){n=n||t.pointerType=="touch"&&t,!this.nativeDraggable||n?this.options.supportPointer?Ge(document,"pointermove",this._onTouchMove):n?Ge(document,"touchmove",this._onTouchMove):Ge(document,"mousemove",this._onTouchMove):(Ge(ce,"dragend",this),Ge(vt,"dragstart",this._onDragStart));try{document.selection?Qa(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(t,n){if(Vs=!1,vt&&ce){tn("dragStarted",this,{evt:n}),this.nativeDraggable&&Ge(document,"dragover",Yj);var r=this.options;!t&&wt(ce,r.dragClass,!1),wt(ce,r.ghostClass,!0),Oe.active=this,t&&this._appendGhost(),Yt({sortable:this,name:"start",originalEvent:n})}else this._nulling()},_emulateDragOver:function(){if(Mn){this._lastX=Mn.clientX,this._lastY=Mn.clientY,lb();for(var t=document.elementFromPoint(Mn.clientX,Mn.clientY),n=t;t&&t.shadowRoot&&(t=t.shadowRoot.elementFromPoint(Mn.clientX,Mn.clientY),t!==n);)n=t;if(ce.parentNode[Wt]._isOutsideThisEl(t),n)do{if(n[Wt]){var r=void 0;if(r=n[Wt]._onDragOver({clientX:Mn.clientX,clientY:Mn.clientY,target:t,rootEl:n}),r&&!this.options.dragoverBubble)break}t=n}while(n=n.parentNode);ub()}},_onTouchMove:function(t){if(ss){var n=this.options,r=n.fallbackTolerance,s=n.fallbackOffset,o=t.touches?t.touches[0]:t,i=Me&&_s(Me,!0),a=Me&&i&&i.a,l=Me&&i&&i.d,c=Na&&Bt&&Ph(Bt),d=(o.clientX-ss.clientX+s.x)/(a||1)+(c?c[0]-nc[0]:0)/(a||1),m=(o.clientY-ss.clientY+s.y)/(l||1)+(c?c[1]-nc[1]:0)/(l||1);if(!Oe.active&&!Vs){if(r&&Math.max(Math.abs(o.clientX-this._lastX),Math.abs(o.clientY-this._lastY))=0&&(Yt({rootEl:kt,name:"add",toEl:kt,fromEl:vt,originalEvent:t}),Yt({sortable:this,name:"remove",toEl:kt,originalEvent:t}),Yt({rootEl:kt,name:"sort",toEl:kt,fromEl:vt,originalEvent:t}),Yt({sortable:this,name:"sort",toEl:kt,originalEvent:t})),Ht&&Ht.save()):pn!==Bs&&pn>=0&&(Yt({sortable:this,name:"update",toEl:kt,originalEvent:t}),Yt({sortable:this,name:"sort",toEl:kt,originalEvent:t})),Oe.active&&((pn==null||pn===-1)&&(pn=Bs,Vr=ei),Yt({sortable:this,name:"end",toEl:kt,originalEvent:t}),this.save()))),this._nulling()},_nulling:function(){tn("nulling",this),vt=ce=kt=Me=is=xt=Ja=Ur=ss=Mn=No=pn=Vr=Bs=ei=Is=ti=Ht=Ra=Oe.dragged=Oe.ghost=Oe.clone=Oe.active=null,Sl.forEach(function(t){t.checked=!0}),Sl.length=ec=tc=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":ce&&(this._onDragOver(t),Jj(t));break;case"selectstart":t.preventDefault();break}},toArray:function(){for(var t=[],n,r=this.el.children,s=0,o=r.length,i=this.options;sr.right+s||e.clientX<=r.right&&e.clientY>r.bottom&&e.clientX>=r.left:e.clientX>r.right&&e.clientY>r.top||e.clientX<=r.right&&e.clientY>r.bottom+s}function tq(e,t,n,r,s,o,i,a){var l=r?e.clientY:e.clientX,c=r?n.height:n.width,d=r?n.top:n.left,m=r?n.bottom:n.right,f=!1;if(!i){if(a&&Xad+c*o/2:lm-Xa)return-ti}else if(l>d+c*(1-s)/2&&lm-c*o/2)?l>d+c/2?1:-1:0}function nq(e){return St(ce)1&&(Re.forEach(function(a){o.addAnimationState({target:a,rect:nn?bt(a):i}),Xu(a),a.fromRect=i,r.removeAnimationState(a)}),nn=!1,uq(!this.options.removeCloneOnHide,s))},dragOverCompleted:function(n){var r=n.sortable,s=n.isOwner,o=n.insertion,i=n.activeSortable,a=n.parentEl,l=n.putSortable,c=this.options;if(o){if(s&&i._hideClone(),To=!1,c.animation&&Re.length>1&&(nn||!s&&!i.options.sort&&!l)){var d=bt(_t,!1,!0,!0);Re.forEach(function(f){f!==_t&&(Ih(f,d),a.appendChild(f))}),nn=!0}if(!s)if(nn||Ha(),Re.length>1){var m=Va;i._showClone(r),i.options.animation&&!Va&&m&&fn.forEach(function(f){i.addAnimationState({target:f,rect:Oo}),f.fromRect=Oo,f.thisAnimationDuration=null})}else i._showClone(r)}},dragOverAnimationCapture:function(n){var r=n.dragRect,s=n.isOwner,o=n.activeSortable;if(Re.forEach(function(a){a.thisAnimationDuration=null}),o.options.animation&&!s&&o.multiDrag.isMultiDrag){Oo=Pn({},r);var i=_s(_t,!0);Oo.top-=i.f,Oo.left-=i.e}},dragOverAnimationComplete:function(){nn&&(nn=!1,Ha())},drop:function(n){var r=n.originalEvent,s=n.rootEl,o=n.parentEl,i=n.sortable,a=n.dispatchSortableEvent,l=n.oldIndex,c=n.putSortable,d=c||this.sortable;if(r){var m=this.options,f=o.children;if(!Fs)if(m.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),wt(_t,m.selectedClass,!~Re.indexOf(_t)),~Re.indexOf(_t))Re.splice(Re.indexOf(_t),1),Ao=null,Lo({sortable:i,rootEl:s,name:"deselect",targetEl:_t,originalEvt:r});else{if(Re.push(_t),Lo({sortable:i,rootEl:s,name:"select",targetEl:_t,originalEvt:r}),r.shiftKey&&Ao&&i.el.contains(Ao)){var p=St(Ao),h=St(_t);if(~p&&~h&&p!==h){var _,b;for(h>p?(b=p,_=h):(b=h,_=p+1);b<_;b++)~Re.indexOf(f[b])||(wt(f[b],m.selectedClass,!0),Re.push(f[b]),Lo({sortable:i,rootEl:s,name:"select",targetEl:f[b],originalEvt:r}))}}else Ao=_t;Vn=d}if(Fs&&this.isMultiDrag){if(nn=!1,(o[Wt].options.sort||o!==s)&&Re.length>1){var C=bt(_t),w=St(_t,":not(."+this.options.selectedClass+")");if(!To&&m.animation&&(_t.thisAnimationDuration=null),d.captureAnimationState(),!To&&(m.animation&&(_t.fromRect=C,Re.forEach(function(z){if(z.thisAnimationDuration=null,z!==_t){var S=nn?bt(z):C;z.fromRect=S,d.addAnimationState({target:z,rect:S})}})),Ha(),Re.forEach(function(z){f[w]?o.insertBefore(z,f[w]):o.appendChild(z),w++}),l===St(_t))){var v=!1;Re.forEach(function(z){if(z.sortableIndex!==St(z)){v=!0;return}}),v&&a("update")}Re.forEach(function(z){Xu(z)}),d.animateAll()}Vn=d}(s===o||c&&c.lastPutMode!=="clone")&&fn.forEach(function(z){z.parentNode&&z.parentNode.removeChild(z)})}},nullingGlobal:function(){this.isMultiDrag=Fs=!1,fn.length=0},destroyGlobal:function(){this._deselectMultiDrag(),je(document,"pointerup",this._deselectMultiDrag),je(document,"mouseup",this._deselectMultiDrag),je(document,"touchend",this._deselectMultiDrag),je(document,"keydown",this._checkKeyDown),je(document,"keyup",this._checkKeyUp)},_deselectMultiDrag:function(n){if(!(typeof Fs<"u"&&Fs)&&Vn===this.sortable&&!(n&&Hn(n.target,this.options.draggable,this.sortable.el,!1))&&!(n&&n.button!==0))for(;Re.length;){var r=Re[0];wt(r,this.options.selectedClass,!1),Re.shift(),Lo({sortable:this.sortable,rootEl:this.sortable.el,name:"deselect",targetEl:r,originalEvt:n})}},_checkKeyDown:function(n){n.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(n){n.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},Pn(e,{pluginName:"multiDrag",utils:{select:function(n){var r=n.parentNode[Wt];!r||!r.options.multiDrag||~Re.indexOf(n)||(Vn&&Vn!==r&&(Vn.multiDrag._deselectMultiDrag(),Vn=r),wt(n,r.options.selectedClass,!0),Re.push(n))},deselect:function(n){var r=n.parentNode[Wt],s=Re.indexOf(n);!r||!r.options.multiDrag||!~s||(wt(n,r.options.selectedClass,!1),Re.splice(s,1))}},eventProperties:function(){var n=this,r=[],s=[];return Re.forEach(function(o){r.push({multiDragElement:o,index:o.sortableIndex});var i;nn&&o!==_t?i=-1:nn?i=St(o,":not(."+n.options.selectedClass+")"):i=St(o),s.push({multiDragElement:o,index:i})}),{items:Dj(Re),clones:[].concat(fn),oldIndicies:r,newIndicies:s}},optionListeners:{multiDragKey:function(n){return n=n.toLowerCase(),n==="ctrl"?n="Control":n.length>1&&(n=n.charAt(0).toUpperCase()+n.substr(1)),n}}})}function uq(e,t){Re.forEach(function(n,r){var s=t.children[n.sortableIndex+(e?Number(r):0)];s?t.insertBefore(n,s):t.appendChild(n)})}function Mh(e,t){fn.forEach(function(n,r){var s=t.children[n.sortableIndex+(e?Number(r):0)];s?t.insertBefore(n,s):t.appendChild(n)})}function Ha(){Re.forEach(function(e){e!==_t&&e.parentNode&&e.parentNode.removeChild(e)})}Oe.mount(new oq);Oe.mount(Um,Hm);const cq=Object.freeze(Object.defineProperty({__proto__:null,MultiDrag:lq,Sortable:Oe,Swap:iq,default:Oe},Symbol.toStringTag,{value:"Module"})),dq=jy(cq);(function(e,t){(function(r,s){e.exports=s(Yv,dq)})(typeof self<"u"?self:un,function(n,r){return function(s){var o={};function i(a){if(o[a])return o[a].exports;var l=o[a]={i:a,l:!1,exports:{}};return s[a].call(l.exports,l,l.exports,i),l.l=!0,l.exports}return i.m=s,i.c=o,i.d=function(a,l,c){i.o(a,l)||Object.defineProperty(a,l,{enumerable:!0,get:c})},i.r=function(a){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(a,"__esModule",{value:!0})},i.t=function(a,l){if(l&1&&(a=i(a)),l&8||l&4&&typeof a=="object"&&a&&a.__esModule)return a;var c=Object.create(null);if(i.r(c),Object.defineProperty(c,"default",{enumerable:!0,value:a}),l&2&&typeof a!="string")for(var d in a)i.d(c,d,(function(m){return a[m]}).bind(null,d));return c},i.n=function(a){var l=a&&a.__esModule?function(){return a.default}:function(){return a};return i.d(l,"a",l),l},i.o=function(a,l){return Object.prototype.hasOwnProperty.call(a,l)},i.p="",i(i.s="fb15")}({"00ee":function(s,o,i){var a=i("b622"),l=a("toStringTag"),c={};c[l]="z",s.exports=String(c)==="[object z]"},"0366":function(s,o,i){var a=i("1c0b");s.exports=function(l,c,d){if(a(l),c===void 0)return l;switch(d){case 0:return function(){return l.call(c)};case 1:return function(m){return l.call(c,m)};case 2:return function(m,f){return l.call(c,m,f)};case 3:return function(m,f,p){return l.call(c,m,f,p)}}return function(){return l.apply(c,arguments)}}},"057f":function(s,o,i){var a=i("fc6a"),l=i("241c").f,c={}.toString,d=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],m=function(f){try{return l(f)}catch{return d.slice()}};s.exports.f=function(p){return d&&c.call(p)=="[object Window]"?m(p):l(a(p))}},"06cf":function(s,o,i){var a=i("83ab"),l=i("d1e7"),c=i("5c6c"),d=i("fc6a"),m=i("c04e"),f=i("5135"),p=i("0cfb"),h=Object.getOwnPropertyDescriptor;o.f=a?h:function(b,C){if(b=d(b),C=m(C,!0),p)try{return h(b,C)}catch{}if(f(b,C))return c(!l.f.call(b,C),b[C])}},"0cfb":function(s,o,i){var a=i("83ab"),l=i("d039"),c=i("cc12");s.exports=!a&&!l(function(){return Object.defineProperty(c("div"),"a",{get:function(){return 7}}).a!=7})},"13d5":function(s,o,i){var a=i("23e7"),l=i("d58f").left,c=i("a640"),d=i("ae40"),m=c("reduce"),f=d("reduce",{1:0});a({target:"Array",proto:!0,forced:!m||!f},{reduce:function(h){return l(this,h,arguments.length,arguments.length>1?arguments[1]:void 0)}})},"14c3":function(s,o,i){var a=i("c6b6"),l=i("9263");s.exports=function(c,d){var m=c.exec;if(typeof m=="function"){var f=m.call(c,d);if(typeof f!="object")throw TypeError("RegExp exec method returned something other than an Object or null");return f}if(a(c)!=="RegExp")throw TypeError("RegExp#exec called on incompatible receiver");return l.call(c,d)}},"159b":function(s,o,i){var a=i("da84"),l=i("fdbc"),c=i("17c2"),d=i("9112");for(var m in l){var f=a[m],p=f&&f.prototype;if(p&&p.forEach!==c)try{d(p,"forEach",c)}catch{p.forEach=c}}},"17c2":function(s,o,i){var a=i("b727").forEach,l=i("a640"),c=i("ae40"),d=l("forEach"),m=c("forEach");s.exports=!d||!m?function(p){return a(this,p,arguments.length>1?arguments[1]:void 0)}:[].forEach},"1be4":function(s,o,i){var a=i("d066");s.exports=a("document","documentElement")},"1c0b":function(s,o){s.exports=function(i){if(typeof i!="function")throw TypeError(String(i)+" is not a function");return i}},"1c7e":function(s,o,i){var a=i("b622"),l=a("iterator"),c=!1;try{var d=0,m={next:function(){return{done:!!d++}},return:function(){c=!0}};m[l]=function(){return this},Array.from(m,function(){throw 2})}catch{}s.exports=function(f,p){if(!p&&!c)return!1;var h=!1;try{var _={};_[l]=function(){return{next:function(){return{done:h=!0}}}},f(_)}catch{}return h}},"1d80":function(s,o){s.exports=function(i){if(i==null)throw TypeError("Can't call method on "+i);return i}},"1dde":function(s,o,i){var a=i("d039"),l=i("b622"),c=i("2d00"),d=l("species");s.exports=function(m){return c>=51||!a(function(){var f=[],p=f.constructor={};return p[d]=function(){return{foo:1}},f[m](Boolean).foo!==1})}},"23cb":function(s,o,i){var a=i("a691"),l=Math.max,c=Math.min;s.exports=function(d,m){var f=a(d);return f<0?l(f+m,0):c(f,m)}},"23e7":function(s,o,i){var a=i("da84"),l=i("06cf").f,c=i("9112"),d=i("6eeb"),m=i("ce4e"),f=i("e893"),p=i("94ca");s.exports=function(h,_){var b=h.target,C=h.global,w=h.stat,v,z,S,x,N,D;if(C?z=a:w?z=a[b]||m(b,{}):z=(a[b]||{}).prototype,z)for(S in _){if(N=_[S],h.noTargetGet?(D=l(z,S),x=D&&D.value):x=z[S],v=p(C?S:b+(w?".":"#")+S,h.forced),!v&&x!==void 0){if(typeof N==typeof x)continue;f(N,x)}(h.sham||x&&x.sham)&&c(N,"sham",!0),d(z,S,N,h)}}},"241c":function(s,o,i){var a=i("ca84"),l=i("7839"),c=l.concat("length","prototype");o.f=Object.getOwnPropertyNames||function(m){return a(m,c)}},"25f0":function(s,o,i){var a=i("6eeb"),l=i("825a"),c=i("d039"),d=i("ad6d"),m="toString",f=RegExp.prototype,p=f[m],h=c(function(){return p.call({source:"a",flags:"b"})!="/a/b"}),_=p.name!=m;(h||_)&&a(RegExp.prototype,m,function(){var C=l(this),w=String(C.source),v=C.flags,z=String(v===void 0&&C instanceof RegExp&&!("flags"in f)?d.call(C):v);return"/"+w+"/"+z},{unsafe:!0})},"2ca0":function(s,o,i){var a=i("23e7"),l=i("06cf").f,c=i("50c4"),d=i("5a34"),m=i("1d80"),f=i("ab13"),p=i("c430"),h="".startsWith,_=Math.min,b=f("startsWith"),C=!p&&!b&&!!function(){var w=l(String.prototype,"startsWith");return w&&!w.writable}();a({target:"String",proto:!0,forced:!C&&!b},{startsWith:function(v){var z=String(m(this));d(v);var S=c(_(arguments.length>1?arguments[1]:void 0,z.length)),x=String(v);return h?h.call(z,x,S):z.slice(S,S+x.length)===x}})},"2d00":function(s,o,i){var a=i("da84"),l=i("342f"),c=a.process,d=c&&c.versions,m=d&&d.v8,f,p;m?(f=m.split("."),p=f[0]+f[1]):l&&(f=l.match(/Edge\/(\d+)/),(!f||f[1]>=74)&&(f=l.match(/Chrome\/(\d+)/),f&&(p=f[1]))),s.exports=p&&+p},"342f":function(s,o,i){var a=i("d066");s.exports=a("navigator","userAgent")||""},"35a1":function(s,o,i){var a=i("f5df"),l=i("3f8c"),c=i("b622"),d=c("iterator");s.exports=function(m){if(m!=null)return m[d]||m["@@iterator"]||l[a(m)]}},"37e8":function(s,o,i){var a=i("83ab"),l=i("9bf2"),c=i("825a"),d=i("df75");s.exports=a?Object.defineProperties:function(f,p){c(f);for(var h=d(p),_=h.length,b=0,C;_>b;)l.f(f,C=h[b++],p[C]);return f}},"3bbe":function(s,o,i){var a=i("861d");s.exports=function(l){if(!a(l)&&l!==null)throw TypeError("Can't set "+String(l)+" as a prototype");return l}},"3ca3":function(s,o,i){var a=i("6547").charAt,l=i("69f3"),c=i("7dd0"),d="String Iterator",m=l.set,f=l.getterFor(d);c(String,"String",function(p){m(this,{type:d,string:String(p),index:0})},function(){var h=f(this),_=h.string,b=h.index,C;return b>=_.length?{value:void 0,done:!0}:(C=a(_,b),h.index+=C.length,{value:C,done:!1})})},"3f8c":function(s,o){s.exports={}},4160:function(s,o,i){var a=i("23e7"),l=i("17c2");a({target:"Array",proto:!0,forced:[].forEach!=l},{forEach:l})},"428f":function(s,o,i){var a=i("da84");s.exports=a},"44ad":function(s,o,i){var a=i("d039"),l=i("c6b6"),c="".split;s.exports=a(function(){return!Object("z").propertyIsEnumerable(0)})?function(d){return l(d)=="String"?c.call(d,""):Object(d)}:Object},"44d2":function(s,o,i){var a=i("b622"),l=i("7c73"),c=i("9bf2"),d=a("unscopables"),m=Array.prototype;m[d]==null&&c.f(m,d,{configurable:!0,value:l(null)}),s.exports=function(f){m[d][f]=!0}},"44e7":function(s,o,i){var a=i("861d"),l=i("c6b6"),c=i("b622"),d=c("match");s.exports=function(m){var f;return a(m)&&((f=m[d])!==void 0?!!f:l(m)=="RegExp")}},4930:function(s,o,i){var a=i("d039");s.exports=!!Object.getOwnPropertySymbols&&!a(function(){return!String(Symbol())})},"4d64":function(s,o,i){var a=i("fc6a"),l=i("50c4"),c=i("23cb"),d=function(m){return function(f,p,h){var _=a(f),b=l(_.length),C=c(h,b),w;if(m&&p!=p){for(;b>C;)if(w=_[C++],w!=w)return!0}else for(;b>C;C++)if((m||C in _)&&_[C]===p)return m||C||0;return!m&&-1}};s.exports={includes:d(!0),indexOf:d(!1)}},"4de4":function(s,o,i){var a=i("23e7"),l=i("b727").filter,c=i("1dde"),d=i("ae40"),m=c("filter"),f=d("filter");a({target:"Array",proto:!0,forced:!m||!f},{filter:function(h){return l(this,h,arguments.length>1?arguments[1]:void 0)}})},"4df4":function(s,o,i){var a=i("0366"),l=i("7b0b"),c=i("9bdd"),d=i("e95a"),m=i("50c4"),f=i("8418"),p=i("35a1");s.exports=function(_){var b=l(_),C=typeof this=="function"?this:Array,w=arguments.length,v=w>1?arguments[1]:void 0,z=v!==void 0,S=p(b),x=0,N,D,P,L,Z,B;if(z&&(v=a(v,w>2?arguments[2]:void 0,2)),S!=null&&!(C==Array&&d(S)))for(L=S.call(b),Z=L.next,D=new C;!(P=Z.call(L)).done;x++)B=z?c(L,v,[P.value,x],!0):P.value,f(D,x,B);else for(N=m(b.length),D=new C(N);N>x;x++)B=z?v(b[x],x):b[x],f(D,x,B);return D.length=x,D}},"4fad":function(s,o,i){var a=i("23e7"),l=i("6f53").entries;a({target:"Object",stat:!0},{entries:function(d){return l(d)}})},"50c4":function(s,o,i){var a=i("a691"),l=Math.min;s.exports=function(c){return c>0?l(a(c),9007199254740991):0}},5135:function(s,o){var i={}.hasOwnProperty;s.exports=function(a,l){return i.call(a,l)}},5319:function(s,o,i){var a=i("d784"),l=i("825a"),c=i("7b0b"),d=i("50c4"),m=i("a691"),f=i("1d80"),p=i("8aa5"),h=i("14c3"),_=Math.max,b=Math.min,C=Math.floor,w=/\$([$&'`]|\d\d?|<[^>]*>)/g,v=/\$([$&'`]|\d\d?)/g,z=function(S){return S===void 0?S:String(S)};a("replace",2,function(S,x,N,D){var P=D.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,L=D.REPLACE_KEEPS_$0,Z=P?"$":"$0";return[function(X,pe){var G=f(this),re=X==null?void 0:X[S];return re!==void 0?re.call(X,G,pe):x.call(String(G),X,pe)},function(q,X){if(!P&&L||typeof X=="string"&&X.indexOf(Z)===-1){var pe=N(x,q,this,X);if(pe.done)return pe.value}var G=l(q),re=String(this),oe=typeof X=="function";oe||(X=String(X));var Be=G.global;if(Be){var Je=G.unicode;G.lastIndex=0}for(var We=[];;){var Ue=h(G,re);if(Ue===null||(We.push(Ue),!Be))break;var dt=String(Ue[0]);dt===""&&(G.lastIndex=p(re,d(G.lastIndex),Je))}for(var pt="",ht=0,Ne=0;Ne=ht&&(pt+=re.slice(ht,ue)+A,ht=ue+W.length)}return pt+re.slice(ht)}];function B(q,X,pe,G,re,oe){var Be=pe+q.length,Je=G.length,We=v;return re!==void 0&&(re=c(re),We=w),x.call(oe,We,function(Ue,dt){var pt;switch(dt.charAt(0)){case"$":return"$";case"&":return q;case"`":return X.slice(0,pe);case"'":return X.slice(Be);case"<":pt=re[dt.slice(1,-1)];break;default:var ht=+dt;if(ht===0)return Ue;if(ht>Je){var Ne=C(ht/10);return Ne===0?Ue:Ne<=Je?G[Ne-1]===void 0?dt.charAt(1):G[Ne-1]+dt.charAt(1):Ue}pt=G[ht-1]}return pt===void 0?"":pt})}})},5692:function(s,o,i){var a=i("c430"),l=i("c6cd");(s.exports=function(c,d){return l[c]||(l[c]=d!==void 0?d:{})})("versions",[]).push({version:"3.6.5",mode:a?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},"56ef":function(s,o,i){var a=i("d066"),l=i("241c"),c=i("7418"),d=i("825a");s.exports=a("Reflect","ownKeys")||function(f){var p=l.f(d(f)),h=c.f;return h?p.concat(h(f)):p}},"5a34":function(s,o,i){var a=i("44e7");s.exports=function(l){if(a(l))throw TypeError("The method doesn't accept regular expressions");return l}},"5c6c":function(s,o){s.exports=function(i,a){return{enumerable:!(i&1),configurable:!(i&2),writable:!(i&4),value:a}}},"5db7":function(s,o,i){var a=i("23e7"),l=i("a2bf"),c=i("7b0b"),d=i("50c4"),m=i("1c0b"),f=i("65f0");a({target:"Array",proto:!0},{flatMap:function(h){var _=c(this),b=d(_.length),C;return m(h),C=f(_,0),C.length=l(C,_,_,b,0,1,h,arguments.length>1?arguments[1]:void 0),C}})},6547:function(s,o,i){var a=i("a691"),l=i("1d80"),c=function(d){return function(m,f){var p=String(l(m)),h=a(f),_=p.length,b,C;return h<0||h>=_?d?"":void 0:(b=p.charCodeAt(h),b<55296||b>56319||h+1===_||(C=p.charCodeAt(h+1))<56320||C>57343?d?p.charAt(h):b:d?p.slice(h,h+2):(b-55296<<10)+(C-56320)+65536)}};s.exports={codeAt:c(!1),charAt:c(!0)}},"65f0":function(s,o,i){var a=i("861d"),l=i("e8b5"),c=i("b622"),d=c("species");s.exports=function(m,f){var p;return l(m)&&(p=m.constructor,typeof p=="function"&&(p===Array||l(p.prototype))?p=void 0:a(p)&&(p=p[d],p===null&&(p=void 0))),new(p===void 0?Array:p)(f===0?0:f)}},"69f3":function(s,o,i){var a=i("7f9a"),l=i("da84"),c=i("861d"),d=i("9112"),m=i("5135"),f=i("f772"),p=i("d012"),h=l.WeakMap,_,b,C,w=function(P){return C(P)?b(P):_(P,{})},v=function(P){return function(L){var Z;if(!c(L)||(Z=b(L)).type!==P)throw TypeError("Incompatible receiver, "+P+" required");return Z}};if(a){var z=new h,S=z.get,x=z.has,N=z.set;_=function(P,L){return N.call(z,P,L),L},b=function(P){return S.call(z,P)||{}},C=function(P){return x.call(z,P)}}else{var D=f("state");p[D]=!0,_=function(P,L){return d(P,D,L),L},b=function(P){return m(P,D)?P[D]:{}},C=function(P){return m(P,D)}}s.exports={set:_,get:b,has:C,enforce:w,getterFor:v}},"6eeb":function(s,o,i){var a=i("da84"),l=i("9112"),c=i("5135"),d=i("ce4e"),m=i("8925"),f=i("69f3"),p=f.get,h=f.enforce,_=String(String).split("String");(s.exports=function(b,C,w,v){var z=v?!!v.unsafe:!1,S=v?!!v.enumerable:!1,x=v?!!v.noTargetGet:!1;if(typeof w=="function"&&(typeof C=="string"&&!c(w,"name")&&l(w,"name",C),h(w).source=_.join(typeof C=="string"?C:"")),b===a){S?b[C]=w:d(C,w);return}else z?!x&&b[C]&&(S=!0):delete b[C];S?b[C]=w:l(b,C,w)})(Function.prototype,"toString",function(){return typeof this=="function"&&p(this).source||m(this)})},"6f53":function(s,o,i){var a=i("83ab"),l=i("df75"),c=i("fc6a"),d=i("d1e7").f,m=function(f){return function(p){for(var h=c(p),_=l(h),b=_.length,C=0,w=[],v;b>C;)v=_[C++],(!a||d.call(h,v))&&w.push(f?[v,h[v]]:h[v]);return w}};s.exports={entries:m(!0),values:m(!1)}},"73d9":function(s,o,i){var a=i("44d2");a("flatMap")},7418:function(s,o){o.f=Object.getOwnPropertySymbols},"746f":function(s,o,i){var a=i("428f"),l=i("5135"),c=i("e538"),d=i("9bf2").f;s.exports=function(m){var f=a.Symbol||(a.Symbol={});l(f,m)||d(f,m,{value:c.f(m)})}},7839:function(s,o){s.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"7b0b":function(s,o,i){var a=i("1d80");s.exports=function(l){return Object(a(l))}},"7c73":function(s,o,i){var a=i("825a"),l=i("37e8"),c=i("7839"),d=i("d012"),m=i("1be4"),f=i("cc12"),p=i("f772"),h=">",_="<",b="prototype",C="script",w=p("IE_PROTO"),v=function(){},z=function(P){return _+C+h+P+_+"/"+C+h},S=function(P){P.write(z("")),P.close();var L=P.parentWindow.Object;return P=null,L},x=function(){var P=f("iframe"),L="java"+C+":",Z;return P.style.display="none",m.appendChild(P),P.src=String(L),Z=P.contentWindow.document,Z.open(),Z.write(z("document.F=Object")),Z.close(),Z.F},N,D=function(){try{N=document.domain&&new ActiveXObject("htmlfile")}catch{}D=N?S(N):x();for(var P=c.length;P--;)delete D[b][c[P]];return D()};d[w]=!0,s.exports=Object.create||function(L,Z){var B;return L!==null?(v[b]=a(L),B=new v,v[b]=null,B[w]=L):B=D(),Z===void 0?B:l(B,Z)}},"7dd0":function(s,o,i){var a=i("23e7"),l=i("9ed3"),c=i("e163"),d=i("d2bb"),m=i("d44e"),f=i("9112"),p=i("6eeb"),h=i("b622"),_=i("c430"),b=i("3f8c"),C=i("ae93"),w=C.IteratorPrototype,v=C.BUGGY_SAFARI_ITERATORS,z=h("iterator"),S="keys",x="values",N="entries",D=function(){return this};s.exports=function(P,L,Z,B,q,X,pe){l(Z,L,B);var G=function(Ne){if(Ne===q&&We)return We;if(!v&&Ne in Be)return Be[Ne];switch(Ne){case S:return function(){return new Z(this,Ne)};case x:return function(){return new Z(this,Ne)};case N:return function(){return new Z(this,Ne)}}return function(){return new Z(this)}},re=L+" Iterator",oe=!1,Be=P.prototype,Je=Be[z]||Be["@@iterator"]||q&&Be[q],We=!v&&Je||G(q),Ue=L=="Array"&&Be.entries||Je,dt,pt,ht;if(Ue&&(dt=c(Ue.call(new P)),w!==Object.prototype&&dt.next&&(!_&&c(dt)!==w&&(d?d(dt,w):typeof dt[z]!="function"&&f(dt,z,D)),m(dt,re,!0,!0),_&&(b[re]=D))),q==x&&Je&&Je.name!==x&&(oe=!0,We=function(){return Je.call(this)}),(!_||pe)&&Be[z]!==We&&f(Be,z,We),b[L]=We,q)if(pt={values:G(x),keys:X?We:G(S),entries:G(N)},pe)for(ht in pt)(v||oe||!(ht in Be))&&p(Be,ht,pt[ht]);else a({target:L,proto:!0,forced:v||oe},pt);return pt}},"7f9a":function(s,o,i){var a=i("da84"),l=i("8925"),c=a.WeakMap;s.exports=typeof c=="function"&&/native code/.test(l(c))},"825a":function(s,o,i){var a=i("861d");s.exports=function(l){if(!a(l))throw TypeError(String(l)+" is not an object");return l}},"83ab":function(s,o,i){var a=i("d039");s.exports=!a(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})},8418:function(s,o,i){var a=i("c04e"),l=i("9bf2"),c=i("5c6c");s.exports=function(d,m,f){var p=a(m);p in d?l.f(d,p,c(0,f)):d[p]=f}},"861d":function(s,o){s.exports=function(i){return typeof i=="object"?i!==null:typeof i=="function"}},8875:function(s,o,i){var a,l,c;(function(d,m){l=[],a=m,c=typeof a=="function"?a.apply(o,l):a,c!==void 0&&(s.exports=c)})(typeof self<"u"?self:this,function(){function d(){var m=Object.getOwnPropertyDescriptor(document,"currentScript");if(!m&&"currentScript"in document&&document.currentScript||m&&m.get!==d&&document.currentScript)return document.currentScript;try{throw new Error}catch(N){var f=/.*at [^(]*\((.*):(.+):(.+)\)$/ig,p=/@([^@]*):(\d+):(\d+)\s*$/ig,h=f.exec(N.stack)||p.exec(N.stack),_=h&&h[1]||!1,b=h&&h[2]||!1,C=document.location.href.replace(document.location.hash,""),w,v,z,S=document.getElementsByTagName("script");_===C&&(w=document.documentElement.outerHTML,v=new RegExp("(?:[^\\n]+?\\n){0,"+(b-2)+"}[^<]*